on 05-24-2014 7:31 AM
Hi experts,
Can anyone help in areas of APO need to concentrate by a technical person or abaper. ?
Which functional area should one needs to concentrate to learn and understand APO.
Thanks,
Pradeep
For doing ABAP within APO, some useful things would be.
1. Pulling data from Livecache/Memory - best ways to do this. ie which BAPI's and Function modules, and wether it is order series of time series from DP. (below is an example of some test code with some hard coded numbers to pull some PPDS orders out for testing)
2. Find out what areas the business are using the most / struggling the most and dig into what is possible. There is often a mix of configuration changes or code which could do the same thing.
Code example with specific hard coded material and exact order ID to review results.
*&---------------------------------------------------------------------*
*& Report ZZZ__TESTORDERGET
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZZZ__TESTORDERGET.
*TYPES: LT_ORDER TYPE /SAPAPO/OM_ORDID_TAB.
DATA:
IV_MATNR TYPE /SAPAPO/MATNR,
LV_MATID TYPE /SAPAPO/MATID.
IV_MATNR = '0000000000000000000000000000000000400038'.
CALL FUNCTION '/SAPAPO/DM_MATERIAL_GET_MATID'
EXPORTING
IV_MATNR = IV_MATNR
IMPORTING
EV_MATID = LV_MATID
EXCEPTIONS
MATID_NOT_FOUND = 1
OTHERS = 2.
* ABOVE IS GET MATERIAL ID example.
* Below is create SIM Session to use in order
DATA:LS_GEN_PARAMS TYPE /SAPAPO/OM_GEN_PARAMS,
* LT_MATLOC_ID TYPE /SAPAPO/DM_MATLOC_ID_TAB,
* LS_MATLOC_ID TYPE /SAPAPO/DM_MATLOC_ID,
* GC_MINTIME TYPE /SAPAPO/STARTTI VALUE '20070723000000',
* GC_MAXTIME TYPE /SAPAPO/STARTTI VALUE '20070729235959',
* LV_NOW TYPE TIMESTAMP,
* lt_tds TYPE /sapapo/ctm_tds_tab,
LV_CHK(1),
LT_ORDER TYPE /SAPAPO/OM_ORDID_TAB,
LT_ORDERS TYPE /SAPAPO/OM_ORDER_EXT_TAB,
LT_ORDKEYS TYPE /SAPAPO/OM_ORDKEY_TAB,
lt_rc TYPE /SAPAPO/OM_LC_RC_TAB,
* LT_ORDER-TABLE_LINE TYPE /SAPAPO/OM_ORDERUID.
* WA_ORDER LIKE line of LT_ORDER.
ls_exclude_fields TYPE /SAPAPO/OM_EXCLUDE_FIELDS,
ls_exclude_exports TYPE /SAPAPO/OM_GETDATA_OPTIONS.
FIELD-SYMBOLS:
* <ls_ordkey> TYPE /sapapo/ordkey.
<ls_ordkey> TYPE /SAPAPO/OM_ORDERUID,
<ls_ordkey2> LIKE LINE OF LT_ORDER.
*For version Id
DATA : GV_SIMS TYPE /SAPAPO/OM_SIMSESSION,
GV_PARAMS TYPE /SAPAPO/OM_GEN_PARAMS.
GV_PARAMS-SIMVERSION = 'K5e29RSL8g3X08002W099m'.
*Get the current sim session
CALL FUNCTION '/SAPAPO/RRP_SIMSESSION_GET'
IMPORTING
EV_SIMSESSION = GV_SIMS
ES_GEN_PARAMS = GV_PARAMS.
*Creat the sim session if not available
IF GV_SIMS IS INITIAL.
LV_CHK = 'X'.
GV_PARAMS-SIMVERSION = 'K5e29RSL8g3X08002W099m'.
CALL FUNCTION '/SAPAPO/RRP_SIMSESSION_CREATE'
EXPORTING
iv_simid = GV_PARAMS-SIMVERSION
IMPORTING
EV_SIMSESSION = GV_SIMS.
CALL FUNCTION '/SAPAPO/RRP_SIMSESSION_GET'
IMPORTING
EV_SIMSESSION = GV_SIMS
ES_GEN_PARAMS = GV_PARAMS.
ENDIF.
*ORDER NUMBERS TRIED TEST
ASSIGN 'KCewR5hH5I3X08002W099m' TO <ls_ordkey2>.
APPEND <ls_ordkey2> TO LT_ORDER.
ASSIGN 'KC66l37Z903X08002W099m' TO <ls_ordkey2>.
APPEND <ls_ordkey2> TO LT_ORDER.
ASSIGN 'KC66lZ7Z903X08002W099m' TO <ls_ordkey2>.
APPEND <ls_ordkey2> TO LT_ORDER.
ls_exclude_fields = 'xx'.
ls_exclude_exports = ' xxxxxxxxxxxxxxxxxxxxxxxxx '.
LS_GEN_PARAMS = GV_PARAMS.
CALL FUNCTION '/SAPAPO/OM_ORDER_GET_DATA'
EXPORTING
IS_GEN_PARAMS = ls_gen_params
IV_SIMSESSION = GV_SIMS
IT_ORDER = lt_order
IS_EXCLUDE_FIELDS = ls_exclude_fields
IS_EXCLUDE_EXPORTS = ls_exclude_exports
IMPORTING
ET_ORDERS = lt_orders
ET_RC = lt_rc
ET_ORDKEYS = lt_ordkeys
EXCEPTIONS
LC_CONNECT_FAILED = 1
LC_COM_ERROR = 2
LC_APPL_ERROR = 3
OTHERS = 4.
*** THE BELOW AT LEAST CALLS THE TRANSACTION - come back to this
Data: lv_RRP3Code(12) value '/SAPAPO/RRP3'.
CALL TRANSACTION lv_RRP3Code AND SKIP FIRST SCREEN.
*Just calling material ID again for an easy place to debug.
CALL FUNCTION '/SAPAPO/DM_MATERIAL_GET_MATID'
EXPORTING
IV_MATNR = IV_MATNR
IMPORTING
EV_MATID = LV_MATID
EXCEPTIONS
MATID_NOT_FOUND = 1
OTHERS = 2.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Pradeep,
Basically am an abaper and have come across similar situation when i joined the new project as there was lot of APO customizations were needed.
I can suggest you following things.
1.Scope of automationg CCR,CIF Postprocessing,SMQ1/Q2 status checking.
2.We follows daily processchains for updating the PB and master tables.lot of scope of abap is required.
3.Specific macros and bapis are available for fetching data as discussed above.Lot of customizations scopes .
4.Tlanes,Routines,Forecast translations,Promotions, list is endless..
SNP is a good choice.
Regards,
Kannan
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
For this question response will vary from person to person. In my personal opinion, you can focus on APO's integration with ECC system (i.e. CIF - interface and data transfer). As well as data load into DP Info Cubes and 'release' of demand plan from DP to SNP. There are areas which I can suggest from my experience.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Pradeep,
Do you mean which Functional Area in APO should Learn by an Abaper? Better learn SNP which got lot of scope for development.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
9 | |
4 | |
3 | |
2 | |
2 | |
1 | |
1 | |
1 | |
1 | |
1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.