Sie sind auf Seite 1von 18

RELEASE PROCEDURE

CHARACTERISTICS CLASS TABLES USED FOR RELEASE PROCEDURE RELEASE PROCEDURE SET UP TIPS TO REMEMBER Debugging

CHARACTERISTICS
Path: Logistics > Central Functions > Classification > Characteristic (CT01) Initial screen Characteristic name Basic Date screen Description Charact. Group - optional, can be used to group together characteristics - set up in configuration (O042) Status - required , specifies if the characteristic can be used - set up in configuration (O041) Date type - required - a pop-up will display after entering a value to enter the format of the data type Heading - will default from description, you can format Value assignment - single value - multiple value - restrictable - can be set on the format screen (Extras > format) Control entry - entry required (can force a value to be entered)
intervals allowed (cannot be used for data char)

Description screen enter descriptions and column heading in different languages Allowed Values screen additional values flag allowed values other values check Interface Control screen settings for how characteristic data will be displayed

Additional Data screen table name - CEBAN used for requisitoins - CEKKO used for purchasing documents - CESSR used for service entry sheets field names Restr. To Class Types screen can restrict this characteristic to specific class types

CLASS
Path: Logistics > Central Functions > Classification > Class (CL01) Initial screen Class Class type - 032 is used for release strategy Basic data screen description status - required, specifies if the class can be used class group - optional, can be used to group together classes - set up in configuration (O043) organization area - optional valid from and to same classification - no check - do not check for duplicate classification - warning message - give a warning if duplicate classification - error message - give a error if duplicate classification authorizations - determines whether a user is allowed to maintain this class Catchwords screen can enter catchwords you can use to find you class Characteristics screen enter the characteristics associated with this class - you can overwrite characteristic data from this screen - if characteristic data is changed, then any changes made later in the characteristic (CT02) is not reflected in this class.

TABLES USED FOR RELEASE PROCEDURES


T16FG - Release Group T16FC - Release Code

T16FB - Release Indicator, Purchasing documents T161S - Release Indicator, Requisitions

T16FE - Description of Release Indicators T16FS - Release Strategies

T16FV - Release Prerequisite T16FK - Release Statuses

Using SE16 you can sometimes find a problem by checking the data in tables T16FS, T16FV and T16FK and comparing what is in the tables to the release configuration data displayed. See note 70009. This note has recently been updated. If someone has the problem describe in this note and says they have already applied the note, have them reapply it. See referring 40169 1998, 81600 1998 from note 70009 for examples.

RELEASE PROCEDURE SET UP


Requisitions Path: IMG > Material Management > Purchasing > Purchase Requisition > Release Procedure > Set up procedure with classification (OMGQ) Service Entry Sheets Path: IMG > Material Management > Purchasing > Procurement of External Services > Define release procedure for service entry sheet (ML60) Purchase Orders, Contracts , Schedule Agreements, and RFQ/Quotation use the same Release Strategy Purchase Orders Path: IMG > Material Management > Purchasing > Purchase Order Processing > Define release procedure (OMGS) Contracts Path: IMG > Material Management > Purchasing > Contract > Set up release procedure (OMGS) Schedule Agreements Path: IMG > Material Management > Purchasing > Schedule Agreement > Set up release procedure (OMGS) RFQ/Quotation Path: IMG > Material Management > Purchasing > RFQ/Quotation > Define release procedure (OMGS) Requisitions are released on the item level. In release 4.0 the release can also be made on the header level. All other purchasing documents are released on the header level.

RELEASE PROCEDURE SET UP


Release Group - Rel. group 2 digit code which combined with a 2 digit strategy code make up the release strategy - Rel. object 1 used for Purchase requisitions 2 used for Purchase orders & other purchasing documents 3 used for Service acceptance - Class Only one class can be used for a Release Object Requisitions can use for example class FRG_EBAN Purchasing Documents can use for example class FRG_EKKO Service acceptance can use for example class FRG_ESSR With release 4.0 there is a change with Requisitions. For requisitions you can have item releases and overall releases. To use both types of releases you must first create two different classes. One class will use characteristic with the field CEBAN-GFWRT for the overall release. The other class to be used for the item release will use characteristic with the field CEBAN-GSWRT. You can only use one type of release for a specific document type. To do this in configuration you must flag the document type (OMEB) to be used for overall releases by clicking on the overall release flag. After clicking on the flag then this document type will only look at the overall release strategy. If the document type does not have the overall release strategy indicator on then this document type will only look at item release strategies. In the release strategy configuration you must set up the two classes to be used for the release strategies. One will be for overall releases and the other will be used for the item release strategies. The document type determines with type of release strategy will be used, overall release or item release. Release Code - The release code (denoting a release point) is a two-character ID allowing a person to release (clear, or approve) a requisition item or an external purchasing document. - Release codes are assigned to a release group - Workflow can also be assigned to the release group/release code Release Indicator - For requisitions Whether the item may be changed by Purchasing or Materials Planning and Control after the start of the release procedure

Whether an RFQ or a PO may be created with reference to the item. Whether a new strategy is determined and whether existing releases must be canceled in the event of changes For Purchasing documents Whether the document may be changed by Purchasing after the start of the release procedure. Whether a new strategy is determined and whether existing releases must be canceled in the event of changes. Whether the purchasing document is release for transmission Release Strategy - The complete strategy is the combination of release group and strategy, each is a 2 digit code. Example MD 01. - On the details screen you enter the release codes assigned to this strategy, set the release prerequisites, set the release statuses, and set the values for the characteristics of the assigned class. Workflow - For requisitions you determine any workflow you may be using. - As of 4.0 or 4.5 workflow is on Purchase orders as well.

Settings on Release Strategy Detail Screen


Release prerequisite The release prerequisites indicate the sequence in which a purchase requisition item or purchasing document must be approved via the release codes. Example: 10 20 30 10 20 30 x x x

In this example release code 10 must approve before release code 20 or 30, and 20 must approve before 30. Release statues According to the prerequisites you have set the system arranges the different combinations of release possibilities. On the status pop-up you decide the release indicator that should be used at each release. Example: 10 20 30 x x x x x Release Indicator S - Blocked S - Blocked Q - Released for Quote R - Released for ordering

Classification Based on the characteristics you have assigned to your class you now enter the specific values you wish to use to assign a release strategy to your purchasing document. Example: Class: FRG_EBAN Characteristics: Value CEBAN-GSWRT 100.00 USD 500.00 USD CEBAN-EKGRP 001

Release simulation You can test your release strategy by simulating the approval of your release codes. You can check if the approval prerequisites are in the correct order and the release indicators are as you desired.

TIPS TO REMEMBER
You can not use Release without classification and Release with classification at the same time. If there is an entry present in Release Group table (T16FG-FRGOT) only release with classification can be used. Do not use hypen for class names. It is better to use an underscore. When setting up your release indicators in the status pop-up you should have a BLOCKED status to start and a RELEASE for ORDER as the last status. If you do not have a RELEASE for ORDER as the last status you will get the warning message ME167: Please check release statuses. Cost Center values (CEBAN-KOSTL) and Vendor values (CEBAN-LIFNR) in release strategy should be entered with leading zeros, even though these are CHAR fields. This is true for the other structures as well CEKKO & CESSR. (see note 52225, still relevant for later releases) In contracts, the target value is used for the release strategy determination and not the net contract value. As of 4.5 or with application of note 116685 this logic has been enhanced. If you maintain a target value in the contract header, this value is set in field CEKKO-GNETW to determine the strategy. If no target value exists on header level, a cumulation of the target values of the items is carried out. Because purchasing documents other than requisitions are evaluated on the header level the release strategy is not assigned until the document is saved. There is a check function that can be used to determine the strategy before the document is saved. For purchasing documents other than requisitions once a release strategy has been assigned but not approved any output conditions assigned to the document will not be displayed on the message screen until the release is approved. This is because these documents are blocked for printing. If error message ME179 Error in classification (class XXXXX class type 032), the strategy is assigned to another class. You need to unallocate 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, MATERIAL GROUP used for strategy determination will be aggregated to the header level. For example you use PLANT as one of your characteristics. If all the items do not belong to the same plant then you will need to have a blank value as one of your allowed values for a strategy to be selected. If all items belong to the same PLANT then that PLANT will aggregate to the header, if one or more is different then a BLANK will aggregate to the header. See note 47089 release procedure for purchasing docs Aggregation

If someone is using user exit EXIT_SAPLEBND_001 or EXIT_SAPLEBND_004 at least the following statement must be in the code E_CEBAN = I_CEBAN. This holds true for user exits for purchasing documents EXIT_SAPLEBND_002. There the statement would be E_CEKKO = I_CEKKO. If someone wants to use intervals values for their characteristic they must also have the Multiple Value flag on. See note 85499 concerning this. Differences between transaction ME54 & ME55. ME54 is meant for release or change of a requisition. ME55 is meant for release only. If you only want to see requisitions subject to a particular release use ME55. Transport notes 86900 & 45951 Note 116685 - advance correction to allow program to total item value of contract or schedule agreement to be used for release strategy if target value is blank. Note 70009 & 88109 incomplete removal of release strategy. See message 322819 98. Note 117391 and 326380 used if the customer complains of release strategy not found randomly. Note 117391 is the primary note. Note 329898 - User exit revised for purchase order release. Moved where the user exit is located in the program. Note 303426 - Release strategy determined wrongly for purch. Docs. Note 186809 OMGQ/CL24: Inconsistency for release strategy class Note 200204 Release of PDs: Problem with user exit Note 209470 Purchasing docs: Release strategy for rate change Note 365604 Check list for release strategy Note 106817 - Release procedure for multiple account assignment 3.1X

Debugging
Requisitions: Program LEBNDU04 Function: ME_REL_STRATEGY_REQUISITION Determines if item release or 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 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 gendert 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 Vernderung 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)


*... 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 Vernderung 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 and Pos


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. - Breakpoint to determine if and how many release strategies are found. EXIT. ENDIF.

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 Vernderung 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
*- Whrungsabhngiges 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 *- Fremdwhrung -> Hauswhrung ----------------------------------------* 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. *- Hauswhrung -> Merkmalswhrung -------------------------------------* 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. "120688 ENDIF. *- Bestellanforderungen ohne Werk "145354 IF fwaers NE space AND hwaers EQ space. IF fwaers NE cwaers. * Banfwhrung -> Merkmalswhrung CALL FUNCTION 'CONVERT_TO_FOREIGN_CURRENCY' EXPORTING date = sy-datum foreign_currency = cwaers local_amount = refefw local_currency = fwaers IMPORTING foreign_amount = refew. refefw = refew. ENDIF. ENDIF. "145354 *- Bestellanforderungen, die der Gesamtfreigabe unterliegen -----------* IF fwaers EQ space AND hwaers NE space. IF hwaers NE cwaers.

*------- Hauswhrung -> Merkmalswhrung ------------------------------* 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.

Das könnte Ihnen auch gefallen