0% found this document useful (0 votes)
98 views6 pages

Classification in APO

The document provides an overview of classification in APO (CDP), detailing important classes, methods, functions, and buffers used in the classification system. It also discusses the conversion of float values, sales order processing, and the CIF of material variants, including how configuration data updates the LC. Additionally, it lists special tables related to CDP and provides useful links for further information.

Uploaded by

alexej.usachev
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
98 views6 pages

Classification in APO

The document provides an overview of classification in APO (CDP), detailing important classes, methods, functions, and buffers used in the classification system. It also discusses the conversion of float values, sales order processing, and the CIF of material variants, including how configuration data updates the LC. Additionally, it lists special tables related to CDP and provides useful links for further information.

Uploaded by

alexej.usachev
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 6

Classification in APO (CDP)

1. General overview:
A general overview of the classification landscape can be found in the following presentation:
\\Dwdf050\ims\IMS1\APO\PPDS\CDP_INFO_Collection.ppt
Usage of table INOB:
- evaluation of PPMs and requirements
- block definition / block planning

2. Important classes, methods, functions and buffers:


- Class /SAPAPO/CL_MC01_CLCU: encapsulation of calls into the classification
system / configuration
- Class cl_mc01_ccv: buffers characteristic evaluation of objects:
 gt_val: characteristic evaluation
Speciality: The entry for charact_id = 0 shows you the class ID to which the
characteristics belong to (field quan_value = class_id)
POSITION_NO LINE_NO CHARACT_ID BLOCK_COUNT CHAR_VALUE QUAN_VALUE
000010 0001 0 0 1214.000 <
000010 0001 3238 0 HEU 0.000 <
000010 0001 3239 0 100.000 <

 gt_req: requirements
 gt_compkey: index table for object key and reference to values (order positions)
- Function /SAPAPO/MC01_CCD_EDIT: display and maintenance of
characteristic values and requirements
- Function /SAPAPO/IBRT_GET_INSTANCE: Instances of product configuration

/SAPAPO/CL_MC01_CLCU==========CP METHOD IBRT_GET_INSTANCE


/SAPAPO/CL_MC01_CLCU==========CP METHOD COMP_FETCH
/SAPAPO/CL_MC01_CLCU==========CP METHOD DATA_PULL
/SAPAPO/CL_MC01_CLCU==========CP METHOD PREREAD
/SAPAPO/CL_MC01_CCV===========CP METHOD FETCH
/SAPAPO/SAPLMC01_C03 FORM PV_CCV_MAINTAIN
/SAPAPO/SAPLMC01_C03 FORM PRODUCT_CONFIGURATE
/SAPAPO/SAPLMC01_C03 FUNCTION /SAPAPO/MC01_C03_FCODE_HANDLE
/SAPAPO/SAPLMAT_MASTER FORM MC01_M03
/SAPAPO/SAPLMAT_MASTER MODULE (PAI) USER_COMMAND_150
/SAPAPO/SAPLMAT_MASTER FORM MATERIAL_SHOW
/SAPAPO/SAPLMAT_MASTER MODULE (PAI) INITIAL_SCREEN_INPUT
3. Conversion of FLOAT:
Numeric values might be stored in float format on the DB however the LC can only handle
integer values for which the last 3 digits are interpreted as decimals. Method ibrtt_as_val
converts float values to a value with only three decimals (e.g. for display purposes)
In the following you can see a call stack of such a conversion during a CIF inbound
of products.
/SAPAPO/SAPLMC01_C01 FORM CHANGE_MATS_DET_LC
/SAPAPO/SAPLMC01_C01 FUNCTION /SAPAPO/MC01_C01_PV_CLASS
/SAPAPO/SAPLMC01_C01 FUNCTION /SAPAPO/MC01_C01_PV_CLASS_CFGS
/SAPAPO/SAPLCONFR_MAT FUNCTION /SAPAPO/CONFR_MAT_MATKEY_SET
/SAPAPO/SAPLDM_MATERIAL FORM MAINTAIN_MATCLASS
/SAPAPO/SAPLDM_MATERIAL FUNCTION /SAPAPO/DM_PRODUCTS_MAINTAIN
/SAPAPO/SAPLCIF_PROD FUNCTION /SAPAPO/CIF_PROD_INBOUND

4. Where to check if CDP or VC scenario:


a. Online:
SPRO  Advanced Planning and Optimization  Classification and
Configuration  Define Configuration Schema (CDP or Variant Configuration)
b. Database table: /SAPAPO/TCLSYS
c. During debugging (e.g. product inbound):
In the structure IT_CIF_MATKEY[] you can find a field CFGSYS which indicates
if it is a CDP or VC-scenario:
5. Sales order processing – CIF of sales orders
In the following you can find some information and call stacks regarding sales order
processing / CIF of sales orders:

1. CIF sales order creation: transcoding and conversion of characteristic values


before updating LC

/SAPAPO/SAPLMC01_CIF METHOD EXT_AS_CCV_DATA


/SAPAPO/SAPLMC01_CIF FORM EXT_2_GENERIC_2_MC01DATA
/SAPAPO/SAPLMC01_CIF FUNCTION /SAPAPO/MC01_CIF_CUORD
/SAPAPO/SAPLCONF_INB FUNCTION (#00011) (PROGRAM SWAPPED)
/SAPAPO/SAPLDM_CUST_ORDER FORM CU_CDP_CHAR_COLLECT
/SAPAPO/SAPLDM_CUST_ORDER FORM CU_ORDER_UPDATE
/SAPAPO/SAPLDM_CUST_ORDER FUNCTION /SAPAPO/DM_SLS_REQ

2. Process when using batch characteristic search

/SAPAPO/SAPLCONF_INB METHOD SLDOC_REKEY


/SAPAPO/SAPLCONF_INB FUNCTION /SAPAPO/CONF_INB_CIF_CUORD
/SAPAPO/SAPLDM_CUST_ORDER FORM CU_CDP_CHAR_COLLECT
/SAPAPO/SAPLDM_CUST_ORDER FORM CU_ORDER_UPDATE
/SAPAPO/SAPLDM_CUST_ORDER FUNCTION /SAPAPO/DM_SLS_REQ
/SAPAPO/SAPLDM_CUST_ORDER FUNCTION /SAPAPO/DM_SL_DOC_INBOUND
3. Read from CDP buffer
/SAPAPO/CL_MC01_CCV===========CP METHOD GET_OM_BY_SCHED
/SAPAPO/SAPLCONFR_LC FUNCTION /SAPAPO/CONFR_LC_FILL_BY_SCHED
/SAPAPO/SAPLDM_CUST_ORDER FORM CU_CDP_CHAR_COLLECT
/SAPAPO/SAPLDM_CUST_ORDER FORM CU_ORDER_UPDATE
/SAPAPO/SAPLDM_CUST_ORDER FUNCTION /SAPAPO/DM_SLS_REQ
/SAPAPO/SAPLDM_CUST_ORDER FUNCTION /SAPAPO/DM_SL_DOC_INBOUND
/SAPAPO/SAPLCIF_SLS FUNCTION /SAPAPO/CIF_SL_DOC_INBOUND

When changing configuration of sales order 2 data sets are sent to APO. One set for deleting
the current configuration data and the second one for inserting the new values. The data can
be found in ct_value[] during the CIF process

4. Miscellaneous

When having Temporary demands CTP/ATP check is performed during creation of order.

Planned orders with own configuration are immediately converted to production orders as no
configuration of planned order is possible in R/3.
6. CIF of material variants – LC update

RFC1  configuration data (/SAPAPO/CIF_CBASE_INB)


RFC2  material master data (/SAPAPO/CIF_PROD_INBOUND)
1. only configuration data has been changed  LC is updated in
/SAPAPO/CIF_CBASE_INB
/SAPAPO/SAPLDM_PEGAREA FUNCTION /SAPAPO/DM_PEGAREA_UPDATE
/SAPAPO/SAPLMC01_CIF FORM ADJUST_ON_MERGE_MATKEY
/SAPAPO/SAPLMC01_CIF METHOD FLUSH_ON_MERGE
/SAPAPO/CL_MC01_REKEY_GEN=====CP METHOD NOTIFY_MERGE_LAST
/SAPAPO/SAPLDM_PURCHASE FUNCTION /SAPAPO/DM_MERGE_WHEN_LAST
/SAPAPO/SAPLCIF_CHR30 FUNCTION /SAPAPO/CIF_CBASE_INB

2. configuration data and LC-relevant material master data changed  LC is


updated after DB has been updated...
/SAPAPO/SAPLDM_PEGAREA FUNCTION /SAPAPO/DM_PEGAREA_UPDATE
/SAPAPO/SAPLDM_MATERIAL FUNCTION /SAPAPO/DM_PEGAREA_UPD_MODULE
/SAPAPO/SAPLDM_MATERIAL FORM /SAPAPO/DM_PEGAREA_UPD_MODULE
RSM13000 FORM VB_CALL_FUNC
RSM13000 FORM VB_V1_EXEC
RSM13000 FORM VB_V1_NORMAL
RSM13000 MODULE (PBO) VBEXEC
/SAPAPO/DM_PEGAREA_UPD_MODULE

3. configuration data and LC-irrelevant material master data changed

/SAPAPO/CIF_CBASE_INB  no LC update as the product queue has still to be processed

/SAPAPO/CIF_PROD_INBOUND  new check routine on buffer if there is any configuration


change in the buffer as material master changes in this case will not be sufficient to trigger LC
update.

7. Special Tables
/SAPAPO/TMC01C0 : Assignment: Component -> Container, Component Classification
/SAPAPO/TMC01CL : Class CDP Extensions to Table KLAH
/SAPAPO/TMC01CC : Characteristic for Class CDP Extensions to Table KSML

/SAPAPO/TMC01* : many other tables but most of them already obsolete

8. Useful links:
TREX: http://pwdf6311.wdf.sap.corp:1080/trex/TREXPortal/index.psp?section=sap_api

You might also like