cancel
Showing results for 
Search instead for 
Did you mean: 

Light Optimize DMP not getting triggered in SAP BPC 10.1

balaji_p5
Participant
0 Kudos

Hi All,

Light Optimization DMP is used to trigger automatically based on ZLIGHT_OPT package but now when we run ZLIGHT_OPT dmp the Light Optimization chain/package is not getting triggered. When we checked in UJD PACKAGES2 table Light Optimization package unique id got changed(It looks someone removed the light optimization DMP and created new one)

Please find below for DMP details:

ZLIGHT_OPT:

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,TAB,%TAB%)

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,EQU,%EQU%)

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,SUSER,%USER%)

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,SAPPSET,%APPSET%)

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,SAPP,%APP%)

INFO(%EQU%,=)

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,REPLACEPARAM,EXEC%EQU%%EXEC%)

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,LOGICFILENAME,ZCHECK_STATUS.LGF)

DEBUG(ON)

former_member186338
Active Contributor
0 Kudos

ZCHECK_STATUS.LGF - post contents!

balaji_p5
Participant
0 Kudos

Script details:

*START_BADI ZCHECK_STATUS

TYPE = Model name

QUERY = OFF

DEBUG = ON

WRITE = OFF

*END_BADI

balaji_p5
Participant
0 Kudos

BADI Details(ZCHECK_STATUS):

METHOD if_uj_custom_logic~execute.

*

DATA: gs_messages TYPE uj0_s_message,

gt_messages TYPE uj0_t_message.

*

DATA: gt_log TYPE TABLE OF rspc_s_msg,

gs_log LIKE LINE OF gt_log.

*

DATA: gt_status_list TYPE TABLE OF ujd_status,

gs_status_list LIKE LINE OF gt_status_list.

*

DATA: gs_param TYPE ujk_s_script_logic_hashentry.

*

DATA: gv_check TYPE char01 VALUE 'Y',

gv_process TYPE i,

gv_devkey TYPE zdevkey,

gv_log TYPE string.

*

DATA: gv_variant_name TYPE ztexx005-value.

*

break name.

*

WHILE gv_check EQ 'Y'.

*

REFRESH gt_status_list.

CLEAR gv_process.

*

SELECT *

FROM ujd_status

INTO TABLE gt_status_list

WHERE appset_id = i_appset_id AND

application_id = i_appl_id AND

status = '0'.

*

IF NOT gt_status_list[] IS INITIAL.

DESCRIBE TABLE gt_status_list LINES gv_process.

IF gv_process > 1.

gv_check = 'Y'.

ELSE.

gv_check = 'N'.

ENDIF.

ENDIF.

*

ENDWHILE.

*

CONCATENATE 'ZCHECK_STATUS_VARIANT_'

i_appl_id

INTO gv_devkey.

*

TRANSLATE gv_devkey TO UPPER CASE.

*

* Getting the TVARVC Name

CALL METHOD zcl_ztexx001=>dcc_read_single_value

EXPORTING

devid = 'BADI_ZCHECK_STATUS'

devkey = gv_devkey

IMPORTING

result = gv_variant_name.

*

IF NOT gv_variant_name IS INITIAL.

*

SUBMIT ztebr002

USING SELECTION-SET gv_variant_name

AND RETURN.

*

ELSE.

*

* Checking the source of the call

READ TABLE it_param WITH KEY hashkey = 'TYPE' INTO gs_param.

IF sy-subrc EQ 0.

CLEAR gv_log.

MESSAGE e021(zepm) INTO gv_log WITH gs_param-hashvalue.

cl_ujk_logger=>log( i_object = gv_log ).

RAISE EXCEPTION TYPE cx_uj_custom_logic.

ELSE.

MESSAGE e021(zepm) INTO gv_log WITH ''.

cl_ujk_logger=>log( i_object = gv_log ).

RAISE EXCEPTION TYPE cx_uj_custom_logic.

ENDIF.

*

ENDIF.

*

ENDMETHOD.

former_member186338
Active Contributor
0 Kudos

What do you mean by:

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,REPLACEPARAM,EXEC%EQU%%EXEC%)

%EXEC% variable is not defined...
former_member186338
Active Contributor
0 Kudos

Same for:

READ TABLE it_param WITH KEY hashkey = 'TYPE' INTO gs_param.

TYPE is not defined

balaji_p5
Participant
0 Kudos

Hi Vadim,

Regarding below

%EXEC% variable is not defined...

I am also not sure where it is defined. zlight-log.png Please find the DMP log for reference.

balaji_p5
Participant
0 Kudos

Regarding READ TABLE it_param WITH KEY hashkey = 'TYPE' INTO gs_param.

TYPE is defined in BADI. type.pngPlease check the attachment

former_member186338
Active Contributor
0 Kudos

"TYPE is defined in BADI. type.pngPlease check the attachment"

No, it has to be in it_param table containing parameters from DM Advanced script. But in the script I can see only empty EXEC parameter, not TYPE parameter

Accepted Solutions (0)

Answers (2)

Answers (2)

balaji_p5
Participant
0 Kudos

Yes John

balaji_p5
Participant
0 Kudos

Hi John,

Thanks for your response. Yes, we are also using standard process chain /CPMB/LIGHT_OPTIMIZE for Lite Optimization but it triggers based on the other DMP(ZLIGHT_OPT).

ZLIGHT_OPT is a package which we are using to check any package is running or not in the model then it will trigger standard process chain /CPMB/LIGHT_OPTIMIZE . For example, if any package is not running in the model then it will trigger process chain /CPMB/LIGHT_OPTIMIZE and if any package is running in the model then it will wait for the package to complete then it will trigger process chain /CPMB/LIGHT_OPTIMIZE .

johnnbc
Explorer

so you have a DMP ZLIGHT_OPT which calls script logics ZCHECK_STATUS.LGF which calls a process chain and then the standard process chain /CPMB/LIGHT_OPTIMIZE?