Professional Documents
Culture Documents
15.10.2002
Gerhard Fuchs
15.10.2002
Integration Aspects............................................................................................................7
Purchasing Documents.................................................................................................................................7 Requisitions..................................................................................................................................................7 Old style transactions ME51 ff.................................................................................................................7 Collective Release....................................................................................................................................8 External requisitions.................................................................................................................................8 MRP generated requisitions......................................................................................................................8 Enjoy transactions ME51Nff, ME54N.....................................................................................................8
15.10.2002
References
A sound online documentation, newly created as of release 4.6C can be found in the SAP info portal.
Introduction
Release procedures in purchasing are used to add a state to the business object, which allows some kind of monitoring on what can be done with the document. Two different kinds of release strategies have to be distinguished: Release strategy determination without classification. The old style strategy determination known from R/2 and R/3 Release < 3.X. Used only for requisition item release. Release strategy determination with classification. Used in purchasing documents (header level), requisition item release and requisition overall release and service entry sheets. Also important: workflow features are only available in this procedure. The following aspects are covered in this document Persistency The determination of the release procedures based on information of the business object. Here only the strategy determination with classification is considered. The old style method is trivial and not covered here. The sequence of release codes which define the release state of an object and thus the allowed follow-on processes. Release procedures are flexible and can be configured in customizing Integration aspects User interface Workflow interface
Persistency Layer
Release strategy attributes are part of the corresponding business object. Two cases have to be considered, requisition items and purchasing document headers.
One important aspect here: in the case of overall release no header information is available in requisitions. The release information is shared over all items.
15.10.2002
Overview
The release strategy determination is based on the classification system. A class type 032 was defined and shipped, which allows a release strategy consisting of a join of release group and release strategy to be classified. The characteristics used here have to be defined with a reference to a table field which is noting else but a component of the relevant communication structure CEBAN ( requisitions ) or CEKKO ( purchasing documents ). Whenever a business object is processed the relevant communication structure is filled (see below) and the release strategy determination gets called. The link between a characteristic and the corresponding value of the communication structure component is established and a class search is executed automatically via function module CLSC_SELECT_OBJECTS. The search result is filtered. This is because the classification system handles a search characteristic value SPACE as a wild card, but our business logic treats space as a valid value. The filtered result contains no, one or more than one search result. In the case of a non-unique result usually a configuration problem exist. In that case we take any of the hits. The result of character length 4 is split into release group and release strategy. Example: Characteristic FRG_EBAN_KNTTP with label Account Assignment Category stands for the account assignment category and points the table field CEBAN-KNTTP. When a requisition is checked for a release strategy, CEBAN-KNTTP gets filled with the value of component KNTTP of the requisition. The search is carried out with FRG_EBAN_KNTTP = CEBAN-KNTTP. As a result we obtain GFS1 which is split into release group GF and release strategy S1. Note: The object search can be carried out also manually via transaction CL24N. This is very helpful for trouble shooting purposes.
Customizing/Master Data
Release strategy determination is based on the following customizing/master data tables.
Without classification
T161I. Account assignment category, material group, plant and value of the item are used for the strategy determination.
With classification
Customizing tables: T161 Document type. In the case of requisitions T161-GSFRG specifies whether overall or item release has to be carried out. T16FG Release groups. Contains a link to the class. Also whether release group is used for overall or item release. For each of these two categories exactly one class can be specified. 4
Release Procedure for Purchasing Documents T16FS Release strategies Master data: Class as defined in T16FG Characteristics, each with the important link to a reference table component. Classification data linked to joined release group/release strategie.
15.10.2002
CEKKO
The communication structure CEKKO is filled outside of the release strategy determination in the responsible business object. Form STRATEGIE_CEKKO(MM06EF0S_STRATEGIE_CEKKO). An aggregation over all items is carried out and the total net value is stored in CEKKO-GNETW in the case of purchase orders. In the case of outline agreements, the header Target value is used if filled, otherwise the sum of the item target values. Since a note we have a reasonable CFC EXIT_SAPLEBND_002, which receives nearly all of the relevant information form the business object.
CESSR
The communication structure CESSR is filled outside of the release strategy determination in the responsible business object. Form FILL_CESSR(LMLSRF3K). CESSR is filled from ESSR and some purchase order header data linked to the entry sheet. CFC EXIT_SAPLEBND_003 is available to manipulate the data.
Programs
Function group EBND Strategy determination requisition item: Function module ME_REL_STRATEGIE_EBAN. Form CEBAN_AUFBAUEN to fill CEBAN from item/accounting data. Form STRATEGIE_NEU in order to execute the object search Strategy determination requisition overall release: Function module ME_REL_GENERAL_STRATEGY_EBAN. Form CEBAN_AUFBAUEN_GESAMT_FRG to fill CEBAN. Form STRATEGIE_NEU in order to execute the object search. Strategy determination purchasing document: Function module ME_REL_STRATEGIE_EKKO. Form STRATEGIE_CEKKO(MM06EF0S_STRATEGIE_CEKKO) to fill CEKKO from header/item data. Form STRATEGIE_NEU in order to execute the object search Strategy determination service entry sheet: Function module ME_REL_STRATEGIE_ESSR. Form FILL_CESSR(LMLSRF3K) to fill CESSR from ESSR and EKKO data. Form STRATEGIE_NEU in order to execute the object search.
15.10.2002
1. 2. 3.
15.10.2002
With this very simple ( and very ugly ) pattern a very flexible release strategy determination can be carried out. The drawbacks of the game are obvious and causes customer complains from time to time: changes in customizing are fatal. Old strategy: prerequisites and all possible assignments to release states have to be maintained manually. Very error-prone.
Integration Aspects
Purchasing Documents
The release strategy determination takes place during the check. Form PRUEFEN calls form STRATEGIE_ERMITTELN(MM06EF0S_STRATEGIE_ERMITTELN) where the communication structure is build and function module ME_REL_STRATEGIE_EKKO is called. A modification of the messages have to be carried out after that (i.e. no output when release is active). The release process is carried out via ME28, ME35K, ME35L, ME45. form FRG_SET(FM06LFFR_FRG_SET) and FRG_RESET(FM06LFFR_FRG_RESET). Update takes place in form FRG_UPDATE_FB(FM06LFFR_FRG_UPDATE_FB). Technically function modules are used for that which are placed in function group EINI. When posting the documents, the check/update runs via pruefen/buchen of module pool SAPMM06E. Therefore one single update module is used for purchasing documents. Enjoy Transactions. Exactly as above. The interface to the release view is IF_RELEASABLE_MM which is implemented on header level in class CL_PO_HEADER_HANDLE_MM. As of release 4.7 this interface is also able to release Pos vio interface methods INITIATE_RELEASE. Also rejection of the document is possible via method REJECT.
Requisitions
Generally much more complicated since several programs exist and two release methods ( item and overall release) have to be supported.
15.10.2002
Set/Reset release (ME54) is done via forms OKCODE_SETF/OKCODE_DELF.for both, item and overall release.
Collective Release
Form UCOMM_BUFR sets the release and updates the requisition in a special branch of form AENDERN_BANFS.
External requisitions
Function group EBNE. Release strategy determination for item release in form GET_STRATEGY(LEBNEF0I). See note 322250. This is done when an item is processed via ME_REQUISITION_EXT Overall release via form GESAMTFREIGABE(LEBNEF0I). See note 111599. This is done during final checks via function module ME_CREATE_REQUISITION_EXT.
Workflow Interface
BOR Integration
Events have to be defined on the level of the relevant BOR Object. BUS2105, for example stands for the purchase requisition header ( used for overall release) BU2014 is the RFQ etc. The following events are relevant for the release procedure system released reset releaseStepCreated significantlyChanged rejection_start rejection_stop Rejected 8 Released purchase requisition Not used Requisition release step generated Requisition changed significantly Requisition rejected Cancel rejection Release of purchase requisition refused. Old style
Release Procedure for Purchasing Documents event which is no longer used by Enjoy Transactions.
15.10.2002
Check module
Terminating events for workflow instances have to be filtered because the workflow instance itself does not contain the release code, just the object key. The function module for that is ME_REL_CHECK_EVENT_PARAM
Role resolution
Role resolution is done via standard role which uses function module ME_REL_GET_RESPONSIBLE.
Customizing Purchasing
T16FC Release code. Field FRGWF monitors whether a standard role resolution has to be carried out ( via Table T16FW) or a user defined resolution via exit in function module ME_REL_GET_RESPONSIBLE has to be used Role resolution table for standard resolution
T16FW
Workflow System
Event Linkage SWE2 Instance Linkage SWE3 Workflow Templates Workflow components Connection Workflow and Events Configuration workflow instances against events. The check function module descrived above is very, very important here Make sure a proper user assignment to the workflow is correctly defined. Or make the workflow a general task Make sure that all relevant components have a proper user assignment. Or make the general.