Sei sulla pagina 1di 17

RELEASE PROCEDURE

Skip to end of metadata

Attachments:16
Added by Guest, last edited by Guest on Jun 05, 2009 (view
change)
show comment
Go to start of metadata

RELEASE PROCEDURE
Contents:

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)

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:


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
Statuso mandatory, specifies if the class can be used already
Class groupo optional, can be used to group related classeso set up in
configuration (transaction O043)

Organization areao 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:
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:

Release Group:

Release group: 2 digit code which combined with a 2 digit strategy code
makes up the final release strategy

1.
2.
3.

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 itembased 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.

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.

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

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

x
x

30

Release Indicator

S - Blocked
x

S - Blocked
x

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:
EKGRP

ValueCEBAN-GSWRT

FRG_EBAN
100.00 USD - 500.00 USDCEBAN-

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 (T16FG-FRGOT), 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_ebanfrgst.
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.
<--- 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 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 conversionPurchasing 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.

Potrebbero piacerti anche