Skip to Content

BPC Master Data Load - need selection variables for UJD_ROUTINE Start - where are they

Hi guys,

I am currently loading time dependent Master data to BPC dimension from a BW InfoObject (0EMPLOYEE).

I want to filter this object using various criteria, no problem, except that I need to know the key date that was entered in the Data Manager package, because for example I only want to load those employees that fall within a HRPOSITION time dependent hierarchy and for that I need the key date.

For transaction data loads from BW, in the variable IT_PACKAGE_PARAS this shows all selections, however for loading Master data, not only can I not find the attribute filters if any applied, I cannot find the key date.

There are no global variables to retrieve this data from. The standard parameters passed to the available importing variables such as I_SOURCE_INFO, IT_PACKAGE_PARAS & I_TCFILE_CONTENT do not hold any of the user selection filter values specified in the data manager package.

They MUST be somewhere. All is ok when loading Transaction data but for Master Data from a BW InfoObject where are they?

Please help.

Thanks

Mark

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

5 Answers

  • May 03 at 07:27 AM

    Unable to look on the test system to check (I am travelling), but you can always create your own loading code inside custom logic badi. This badi will have all required parameters.

    Add comment
    10|10000 characters needed characters exceeded

  • May 08 at 09:43 AM

    Thanks Vadim for taking the time to answer this post about parameters being passed from the Data Manage package Frontend to the UJD_ROUTINE BAdI.

    I have treble checked and cannot find where the Parameters are passed that use the Import Master data from a BW InfoObject i.e. using the Process Chain /CPMB/IMPORT_IOBJ_MASTER.

    There are Importing parameters passed to the BAdI implementing class namely:

    I_MORE_DATA (only a 1C flag

    I_SOURCE_INFO contains stuff like Package name, Package GUID, Process Chain etc.

    IT_PACKAGE_PARAS - this is where I would expect the passed parameters - Note: that when running a transaction dataload from a BW InfoProvider this DOES contain data manager package parameters, but it does not contain any such e.g. as Hierarchy name as specified in the DMP, Key date (which is what I want) etc.

    I_TCFILE_CONTENT - THE excel details of the Transformation file, the Mapping fields, Conversion file etc.

    Note: There is 2 parameters in the IT _PACKAGE_PARAS which may help me. These are OUTPUTNO & INPUT NO, 2 32C long ID'S of something?

    If you can shed any light on this, thanks

    Kind regards

    Mark

    Add comment
    10|10000 characters needed characters exceeded

  • May 08 at 06:00 PM

    IT_PACKAGE_PARAS

    You can pass any parameters to this badi!

    Sample:

    TASK(/CPMB/BADI_TARGET,SELECTION,%SELECTION%%SUF1%%CAT%%SUF2%)
    TASK(/CPMB/BADI_TARGET,DBCONAME,POWERBIDEV)

    First line will pass SELECTION

    Second line will pass connection name to badi

      READ TABLE IT_PACKAGE_PARAS WITH KEY FIELDNAME = 'SELECTION' INTO ls_param.
      IF sy-subrc NE 0.
        EXIT.
      ENDIF.
      l_selection = ls_param-value.
      READ TABLE IT_PACKAGE_PARAS WITH KEY FIELDNAME = 'DBCONAME' INTO ls_param.
      IF sy-subrc NE 0.
        EXIT.
      ENDIF.
      l_dbconame = ls_param-value.
      db = l_dbconame.

    Add comment
    10|10000 characters needed characters exceeded

  • May 11 at 10:15 AM

    Thanks Vadim,

    I used the IT_PACKAGE_PARAS successfully for the UJD_ROUTINE BAdI when Loading Transaction data.

    For Master data, I looked everywhere in the IT_PACKAGE_PARAS for the user entered selections with no luck. However, I did solve the problem by running a static method GET_RUNTIME_PARA_LIST of the Class CL_UJD_PACKAGE_CONTEXT i.e.

    cl_ujd_package_context=>get_runtime_para_list( IMPORTING et_runtime_para = lt_runtime_para ).

    I was looking for the Key date Entry for Time Dependent Master Data Loads, and found it using this after the above code:

    CLEAR: ls_runtime_para, l_date_sel.LOOP AT lt_runtime_para INTO ls_runtime_para.

    IF ls_runtime_para-name = 'MASTERDATA_SELECTION'.

    SEARCH ls_runtime_para-value FOR 'KeyDate>'.

    IF sy-subrc = '0'.
    l_tabix = sy-fdpos + 8.
    l_date_sel = ls_runtime_para-value+l_tabix(8).

    EXIT.

    ENDIF.

    ENDIF.

    ENDLOOP.

    IF l_date_sel IS INITIAL.
    l_date_sel = sy-datum.

    ENDIF.

    Thanks again Vadim for you valuable contributions to the SAP BPC community

    Regards

    Mark

    Add comment
    10|10000 characters needed characters exceeded

  • May 11 at 11:18 AM

    Just tested! Yes, I don't see selection parameters in debug:

    Looks like it's related to the CONVERT step of process chain:

    You can try to add SELECTION or any other field to CONVERT parameters list and try to pass required info in the advanced script:

    TASK(/CPMB/IOBJ_SOURCE_MD_CONVERT,SELECTION,%SELECTION%)

    Add comment
    10|10000 characters needed characters exceeded