You are on page 1of 22

RELEASE PROCEDURE

Attachments:16 Added by Guest, last edited by Guest on Jun 05, 2009 (view change)

RELEASE PROCEDURE
Contents:

o o o o o o o o o o o o o o o o o o

RELEASE PROCEDURE CHARACTERISTICS Initial screen: Basic Data screen: Description screen: Allowed Values screen: Additional Data screen: Restriction To Class Types screen: CLASS Initial screen: Basic data screen: Keywords screen: Characteristics screen: TABLES USED FOR RELEASE PROCEDURES RELEASE PROCEDURE SETUP RELEASE PROCEDURE SETUP Settings on the 'Release Strategies' Detail Screen TIPPS TO REMEMBER Debugging

CHARACTERISTICS
Path: Logistics > Central Functions > Classification > Characteristic (old transaction: CT01, please use CT04 for maintenance of characteristics)

Initial screen:

Characteristic name

Basic Data screen:


An example fort the characteristic CEBAN-KOSTL (requisition cost center)

o o o o o o o o o o o o o o

Description Charactistics Group optional, can be used to group together characteristics setup is done in configuration (transaction O042) Status mandatory , specifies if the characteristic can be used set up is done in configuration (transaction O042) Data type mandatory a pop-up will display after a value for the format of the data type was entered Heading will be defaulted from description editable Value assignment single values multiple values restrictable object dependencies can be maintained on an extra screen (separate button) Control entry Entry required (can force a value to be entered) Intervals allowed (cannot be used for data type char)

Description screen:

Enter descriptions and column heading in different languages

Allowed Values screen:

o o o o o

Several options available (please refer to the F1 help fort he characteristics value' field): single value multiple values restrictable (e.g., to validity intervals) Values maybe set as default, Value hierarchies are possible. Default values check Dependencies exist check Subordinate values check

Additional Data screen:

The table name the characteristic is referring to: - CEBAN for requisitions - CEKKO for purchasing documents - CESSR for service entrysheets

Field names of the referring tables

Restriction To Class Types screen:

the processed characteristic can be restricted to specific class types, e.g., 032 ('release strategies')

CLASS
Path: Logistics > Central Functions > Classification > Class (transaction CL01/CL02/CL03)

Initial screen:

Class Class type E.g., type 032 is used for release strategy

Basic data screen:


An example for the class FRG_EBAN which is used for the release of purchase requisitions:

Description Status o mandatory, specifies if the class can be used already Class group o optional, can be used to group related classes o set up in configuration (transaction O043)

o o o

Organization area o optional Valid from / valid to Same classification radio button no check: system does not check for duplicate classifications warning message: the system issues a warning if duplicate classifications are stored in the system already error message: an error occurs if duplicate classifications are found Authorizations

determines whether a user is allowed to maintain this class

Keywords screen:

User may enter keywords which may help him to find the referring class via search tools

Characteristics screen:

o o

Enter the characteristics associated with this class data from this screen maybe changed manually if such data is changed, any further modifications of the characteristic itself using transaction CT02 will NOT be reflected in this class.

TABLES USED FOR RELEASE PROCEDURES


To get an overview regarding the definition and field content of the following tables, please use transaction SE11.

T16FG - Release Groups T16FC - Release Codes T16FB - Release Indicator: Purchasing documents T161S - Release Indicator, Purchase Requisition T16FE - Description of Release Indicators: Purchasing Documents T16FS - Release Strategies T16FV - Release Prerequisites T16FK - Release Statuses Using transaction SE16, it is sometimes possible to detect a problem by checking the data in tables T16FS, T16FV and T16FK, and comparing what is displayed in the corresponding tables of the release configuration.

RELEASE PROCEDURE SETUP


For purchase requisitions: Path: IMG > Material Management > Purchasing > Purchase Requisition > Release Procedure > Set up procedure with classification

For service entrysheets: Path: IMG > Material Management > External Services Management > Define release procedure for service entry sheet

Please note that purchase orders, contracts , scheduling agreements, and RFQs/Quotations all use the same release strategy. Purchase orders: Path: IMG > Material Management > Purchasing > Purchase Order Processing > Define release procedure

Contracts: Path: IMG > Material Management > Purchasing > Contract > Set up release procedure

Scheduling agreements: Path: IMG > Material Management > Purchasing > Schedule Agreement > Set up release procedure

RFQs/Quotations: Path: IMG > Material Management > Purchasing > RFQ/Quotation > Define release procedure

Normally, purchase requisitions are released on ITEM level. From release 4.0 onwards, the document can also be released on HEADER level. For this, the referring flag must be set under

IMG > Materials Management > Purchasing > Purchase Requisition> Release Procedure > Procedure with Classification > Set Up Procedure with Classification > Release Groups > Flag 'Overall Release of Purchase Requisition'

All other purchasing documents are always released on header level.

RELEASE PROCEDURE SETUP


To properly set up a consistent release procedure, the following subitems have to be processed in appropriate order:

o o
1. 2. 3.

Release Group: Release group: 2 digit code which combined with a 2 digit strategy code makes up the final release strategy Release object: - used for purchase requisitions - used for purchase orders & other purchasing documents - used for the acceptance of service entrysheets Class: Only one release class can be used for a certain release object. E.g., requisitions can use class FRG_EBAN, other purchasing documents class FRG_EKKO, while the release of service entrysheets may refer to class FRG_ESSR. As mentioned, with release 4.0, there was a change with respect to the release of purchase requisitions. Now, overall release on header level and item-wise release are both possible. To use BOTH kinds of release strategy in a system, two different classes must be created. One class will use the field CEBAN-GFWRT as characteristic for the overall release. The other class to be used for the item-based release will use the field CEBAN-GSWRT instead. Note that you can only use ONE type of release for each specific document type. To assign this correctly during the configuration of a system, the document type to be used for overall releases must have the overall release flag set (as depicted above). After having set this flag, this document type will only look at the overall release strategy, otherwise, the item-based release strategy will be used. Secondly, in the release strategy configuration the two different classes to be used have to be set up as well: one for overall releases, the other will again be used for the item-based strategies.

o o o o

Release code: The release code is a two-character ID allowing a certain user to release (or approve) a requisition item or an external purchasing document. Release codes are always assigned to a release group Workflows can also be assigned to a release group / a release code Release indicator: For purchase requisitions: Provides information whether the referring document / item may be changed by , e.g., purchasing or material planning runs and control after the start of the release procedure, whether an RFQ or a PO may be created with reference to the PR item, whether a new strategy is determined, or whether already existing releases have to be revoked when certain changes are performed to the document.

For other purchasing documents: Provides information whether the document maybe changed by purchasing functionalities after the start of the release procedure, or whether a new strategy is determined, or whether existing releases have to be cancelled in the event of changes.

o o o

Release strategy: The complete strategy is the combination of the release group and the release code itself, each of them consisting of a 2 digit code. Example: XX YY, here XX denotes the release group while YY indicates the release code. On the details screen, the release code(s) assigned to this strategy can be entered. In addition, the release prerequisites must be set as well as the release statuses and the values for the characteristics of the assigned release class. Workflow: Using this option, roles maybe assigned to any of the release group/code combinations.

Settings on the 'Release Strategies' Detail Screen

Release prerequisites: An example for a two-step release procedure is given below in the attached screenshot. Release codes are 01 and 02 with 01 as prerequisites for the setting of code 02.

The release prerequisites indicate the sequence in which a purchase requisition (item) or purchasing document must be approved via different release codes.

Another example is the following three-step release procedure which makes use of release codes 10, 20, and 30: 10 20 30 10 20 30 x x x

In this example, release code 10 must be applied before release codes 20 and 30, and the release with code 20 must be executed before finally applying code 30. Release statuses:

The release status of a document is further specified by the release indicator. This indicator may specify whether a document is, e.g., blocked, fixed against MRP runs, or whether follow-on documents maybe created. This is illustrated by another example for the three-step release procedure: 10 20 30 Release Indicator S - Blocked x x x x x x S - Blocked Q - Released for Quote R - Released for ordering

Classification:

Based on the characteristics which have been assigned to a certain release class, the user may enter the specific field values which he wants to be considered when a certain release strategy shall be found for a purchasing document.

Example: Class: Characteristics: CEBAN-GSWRT CEBAN-EKGRP FRG_EBAN Value 100.00 USD - 500.00 USD 001

Release simulation:

The screenshot given below illustrates the simulation of a two-step release strategy which was performed successfully.

Every release strategy can be tested by simulating the approval of each of the defined release codes.

TIPPS TO REMEMBER

A release strategy cannot be used WITHOUT classification and WITH classification at the same time. If there is any entry present in Release Group table (T16FGFRGOT), only releases WITH classification can be used. Do not use hyphens for class names, instead, it is better to use an underscore. When setting up the release indicators on the 'status' screen, the sequence should start with a BLOCKED status and end with 'RELEASED for ORDER'. If there is no 'RELEASED for ORDER' as last status, the user will be prompted the warning message ME167: 'Please check release statuses'. Cost centers (CEBAN-KOSTL) and vendors (CEBAN-LIFNR) in a release strategy should be entered with leading zeros, even though they are defined as CHAR fields. This holds for structures CEKKO & CESSR as well. (see note 52225 which - despite its limited validity - is still fully relevant for higher releases, too) In the case of contracts, the target value is used for the release strategy determination instead of the contract net value. With note 116685, this logic has been enhanced considerably: If you maintain a target value in the contract header, this value is set in field CEKKO-GNETW to determine a possible release strategy. If no target value exists on header level, an aggregation of the target values of the items is carried out instead.

Since most purchasing documents (except for requisitions) are evaluated on header level, the release strategy is not assigned until the document is saved. There is a check function which can be used to determine the strategy before the document is saved. Once a release strategy has been determined for purchasing documents (other than requisitions) without any approval yet, any output conditions assigned to the document will not be displayed on the message screen until the release is approved. This is due to the fact that these documents are blocked for printing intentionally.

If the error message ME179 is prompted by the system ('error in classification class XXXXX class type 032'), the strategy is already assigned to another class. The user therefore has to remove this strategy from the old class before it can be assigned to another class. For purchasing documents other than requisitions, item level fields such as plant and material group which are used for strategy determination, will be aggregated to the header level. E.g., for a certain release scenario, the user wants to use the plant as one of the characteristics. If all items do NOT belong to the same plant, one has to have a blank value as one of the allowed values for a strategy to be selected. In addition, if all items belong to the SAME plant, then this plant will aggregate to the header, if they are not identical, a blank value will be passed to the header (please cf. note 47089 for further information).

If the customer exits EXIT_SAPLEBND_001 or EXIT_SAPLEBND_004 are used, at least the following statement must be included in the code: E_CEBAN = I_CEBAN. Similarly, for customer exit EXIT_SAPLEBND_002, the statement E_CEKKO = I_CEKKO has to be added. If interval values shall be used for a certain characteristics, the 'multiple value' flag must be set accordingly.

Regarding releases, there are differences between transaction ME54N & ME55: ME54N is meant to be used for the interactive release OR change of a requisition within the same one-screen-transaction environment as for ME51N/ME52N/ME53N, while ME55 is meant for release purposes only. If you only want to see requisitions which are subject to a particular release, please use ME55.

Regarding the transport of release strategies / classes, please refer to notes 86900 and 45951. Note 116685 contains an advance correction for lower mature releases (<45A) to allow the system to use the total item value of a contract or scheduling agreement for the determination of a release strategy if the target value is blank. Note 70009 - removal of a release strategy. Note 117391 and 326380 - release strategy not found (random occurrence). Note 329898 - Customer exit revised for purchase order release process. Note 303426 - Release strategy wrongly determined for purchasing documents. Note 186809 - OMGQ/CL24: Inconsistency for release strategy class Note 200204 - Release of purchasing documents: Problem with customer exit Note 209470 - Purchasing documents: Release strategy for exchange rate chances Note 365604 - FAQ note: release strategies in purchasing Note 493900 - FAQ note: release strategy

Debugging
Purchase requisitions: Program LEBNDU04 Function: ME_REL_STRATEGY_REQUISITION Determines whether an item-based release or an overall release is used.\
IF NOT I_EBAN_NEW-BSART IS INITIAL. IF T161-BSART NE I_EBAN_NEW-BSART. *... Nur einmal pro Banf lesen .......................................* SELECT SINGLE * FROM T161 WHERE BSTYP EQ 'B' AND "128075 BSART EQ I_EBAN_NEW-BSART. "128075 ENDIF. IF T161-GSFRG IS INITIAL. *... Positionsweise Strategieermittlung ..............................* CHECK I_EVENT NE REL_GEN. CALL FUNCTION 'ME_REL_STRATEGIE_EBAN' EXPORTING I_EBAN_NEW = I_EBAN_NEW I_EBAN_OLD = I_EBAN_OLD I_EBKN_NEW = I_EBKN_NEW I_EBKN_OLD = I_EBKN_OLD I_XCLASS = I_XCLASS I_CHANGE_OK = I_CHANGE_OK IMPORTING E_EBAN = E_EBAN E_RESET = E_RESET EXCEPTIONS OTHERS = 0. ELSE. IF I_EVENT EQ REL_POS. E_EBAN = I_EBAN_NEW. "?????????? ELSE. IF NOT I_EBAN_NEW IS INITIAL AND T_GEBAN_NEW[] IS INITIAL. *... I_EBAN_NEW wird bei automatischen Banfen, z.B. aus der Dispo, ...* *... nicht gefllt, da nur eine Position bergeben wird ..............* T_GEBAN_NEW = I_EBAN_NEW. APPEND T_GEBAN_NEW. IF NOT I_EBKN_NEW IS INITIAL AND "128075 T_GEBKN_NEW[] IS INITIAL. "128075 T_GEBKN_NEW = I_EBKN_NEW. "128075 APPEND T_GEBKN_NEW. "128075 ENDIF. "128075 ENDIF. *... Strategieermittlung fr Gesamtwerte der Banf - Gesamtfreigabe ...* CALL FUNCTION 'ME_REL_GENERAL_STRATEGY_EBAN' EXPORTING I_CHANGE_OK = I_CHANGE_OK I_XCLASS = I_XCLASS IMPORTING E_RESET = E_RESET E_EBAN = E_EBAN TABLES T_GEBAN_NEW = T_GEBAN_NEW T_GEBAN_OLD = T_GEBAN_OLD T_GEBKN_NEW = T_GEBKN_NEW T_GEBKN_OLD = T_GEBKN_OLD EXCEPTIONS OTHERS = 0.

Program: LEBNDU01 - ME_REL_STRATEGIE_EBAN (for item-based releases)


*- Verfahren bestimmen ------------------------------------------------CLEAR xclass. IF i_xclass NE space. SELECT * FROM t16fg WHERE frgot EQ '1' AND frgfg EQ space. xclass = 'X'. EXIT. ENDSELECT. ENDIF. IF xclass EQ space. * *... Prfen, ob sich an der Banf berhaupt was ge?ndert hat ..........* CHECK e_eban NE i_eban_old OR "H101541 i_ebkn_new NE i_ebkn_old. "H101541 * CLEAR *ceban. IF xchange NE space. f1 = i_eban_old-menge * i_eban_old-preis / i_eban_old-peinh / 1000. *ceban-gswrt = f1. ENDIF. PERFORM strategie_alt USING i_eban_new e_eban-frggr e_eban-frgst. ELSE. PERFORM ceban_aufbauen USING i_eban_new i_eban_old <----- Fills CEBAN table i_ebkn_new i_ebkn_old. IF ceban EQ *ceban. IF i_eban_new-waers EQ i_eban_old-waers. "H EXIT. ENDIF. "H ENDIF. *- Userexit zur Ver?nderung der Kommunikationsstruktur ----------------CALL CUSTOMER-FUNCTION '001' EXPORTING i_ceban = ceban IMPORTING e_ceban = ceban. <----- Put a breakpoint here to determine if the userexit is active and also to find the values in CEBAN table. comm = 'CEBAN'. PERFORM strategie_neu USING e_eban-frggr e_eban-frgst.

Program: LEBNDU06 - ME_REL_GENERAL_STRATEGY_EBAN (for overall releases.i.e., releases on header level)


*... Klasse bestimmen ................................................* SELECT * FROM t16fg WHERE frgot EQ '1' AND frgfg NE space. EXIT. ENDSELECT. PERFORM ceban_aufbauen_gesamtfrg TABLES t_geban_new t_geban_old <--- (Fills Ceban Table) t_gebkn_new t_gebkn_old. *- Userexit zur Ver?nderung der Kommunikationsstruktur ----------------CALL CUSTOMER-FUNCTION '004' EXPORTING i_ceban = ceban IMPORTING e_ceban = ceban TABLES c_eban = t_geban_new c_ebkn = t_gebkn_new. <----- breakpoint again to check if userexit is active and contents of CEBAN) IF ceban EQ *ceban. EXIT. ENDIF. comm = 'CEBAN'. PERFORM strategie_neu USING e_eban-frggr e_eban-frgst.

Program: LEBNDF01 - this program is used for requisitions


CALL FUNCTION 'CLSC_SELECT_OBJECTS' EXPORTING imp_klah = xklah imp_language = l_langu i_no_auth_check = 'X' TABLES exp_objects = xclobj exp_values = xausp imp_features = merkmale imp_seltab = xcomw EXCEPTIONS no_objects_found = 01 one_object_found = 02. IF sy-subrc EQ 01. EXIT. ENDIF.

<--- Breakpoint to determine if and how many release strategies are found.

Purchase Orders: Program MM06EF0S_STRATEGIE_CEKKO: (if note 329898 is applied)


if sy-subrc eq 0 and not l_active is initial. call function 'EXIT_SAPLEBND_002' exporting i_cekko = cekko it_bekpo = pot[] it_beket = ett[] it_ekknu = knt[] importing e_cekko = cekko. <--- Breakpoint here to determine if userexit is active and values in CEKKO. endif.

Program LEBNDU02 - if note 329898 has not been applied.


*- Userexit zur Ver?nderung der Kommunikationsstruktur ----------------IF NOT *cekko IS INITIAL. CALL CUSTOMER-FUNCTION '002' EXPORTING i_cekko = *cekko IMPORTING e_cekko = *cekko. ENDIF. CALL CUSTOMER-FUNCTION '002' EXPORTING i_cekko = cekko IMPORTING e_cekko = cekko.

Currency conversion Purchasing documents: Header currency converted to company code currency. Company currency converted to characteristic currency.
LEBNDF01: Rel_strategie_werte *- Wahrungsabhangiges Merkmal -----------------------------------------* IF merkmale-atfor EQ 'CURR'. cwaers = xcabn-msehi. "ob das so bleibt ? MOVE <f1> TO refefw. IF fwaers NE space AND hwaers NE space. *- Bestellanforderungen, die nicht der Gesamtfreigabe unterliegen -----* * IF fwaers NE hwaers. "120688 *- Fremdw?hrung -> Hausw?hrung ----------------------------------------* IF fwaers NE hwaers. CALL FUNCTION 'CONVERT_TO_LOCAL_CURRENCY' EXPORTING * date = bbedat date = sy-datum foreign_amount = refefw foreign_currency = fwaers local_currency = hwaers rate = bwkurs IMPORTING local_amount = refew. refefw = refew. ENDIF. IF hwaers NE cwaers. *------- Hauswahrung -> Merkmalswahrung ------------------------------* CALL FUNCTION 'CONVERT_TO_FOREIGN_CURRENCY' EXPORTING date = sy-datum foreign_currency = cwaers local_amount = refefw local_currency = hwaers IMPORTING foreign_amount = refew. refefw = refew. ENDIF. ENDIF. *- Nachkommastellen der Whrung bercksichtigen -----------------------* IF tcurx-currkey NE cwaers. SELECT SINGLE * FROM tcurx WHERE currkey EQ cwaers. IF sy-subrc NE 0. tcurx-currkey = cwaers. "106107 tcurx-currdec = 2. ENDIF. ENDIF. MOVE refefw TO xcomw-atflv. MOVE refefw TO xcomw-slflv. DO tcurx-currdec TIMES. xcomw-atflv = xcomw-atflv / 10. xcomw-slflv = xcomw-slflv / 10. ENDDO. APPEND xcomw.

ELSE. *- Datum --------------------------------------------------------------* IF merkmale-atfor EQ 'DATE'. MOVE <f1> TO hdat-date. MOVE hdat TO xcomw-atflv. MOVE hdat TO xcomw-slflv. APPEND xcomw. *- sonstiges numerisches Merkmal --------------------------------------* ELSE. MOVE <f1> TO xcomw-atflv. xcomw-atflv = xcomw-atflv. MOVE <f1> TO xcomw-slflv. xcomw-slflv = xcomw-slflv. APPEND xcomw. ENDIF. ENDIF.

Labels
mm-pur-gf-rel


Follow SCN
Contact Us SAP Help Portal Privacy Terms of Use

You might also like