Beruflich Dokumente
Kultur Dokumente
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.
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.
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.
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.
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.
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.