cancel
Showing results for 
Search instead for 
Did you mean: 

SAP APO for abaper

ppan4705
Explorer
0 Kudos

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

Accepted Solutions (1)

Accepted Solutions (1)

former_member584840
Participant
0 Kudos

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.

Answers (3)

Answers (3)

Former Member
0 Kudos

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

Former Member
0 Kudos

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.

Former Member
0 Kudos

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.

ppan4705
Explorer
0 Kudos

Hi Ravi ,
Thanks for your suggestion.  My doubt is in my current company I can face issue realted to SNP, DP ,alerts monitor ,cif ,automation of ccr etc.
So as a abaper one needs to concentrate on which things --> functional prospective or  any other thing.