Skip to Content
0

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

May 02 at 12:48 PM

70

avatar image

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

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

5 Answers

Vadim Kalinin May 03 at 07:27 AM
0

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.

Share
10 |10000 characters needed characters left characters exceeded
Mark Dean May 08 at 09:43 AM
0

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

Share
10 |10000 characters needed characters left characters exceeded
Vadim Kalinin May 08 at 06:00 PM
0

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.

Share
10 |10000 characters needed characters left characters exceeded
Mark Dean May 11 at 10:15 AM
0

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

Share
10 |10000 characters needed characters left characters exceeded
Vadim Kalinin May 11 at 11:18 AM
0

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%)


debug.png (93.6 kB)
convert.png (80.6 kB)
Share
10 |10000 characters needed characters left characters exceeded