cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

How to Clear select data in Logic Script

Former Member
0 Likes
661

Hi Experts,

My question is very basic, so please excuse my knowledge on Scripts.

At present we have 2 separate DM packages for YTD calculation (which calls Logic Script) and another package that clears the data.

Logic Script for YTD: (With Vadim's help)

*XDIM_MEMBERSET AUDITTRAIL = INPUT_PERIP
*XDIM_MEMBERSET FLOW = F_NONE
*XDIM_MEMBERSET CATEGORY = FORECAST_IP
*XDIM_MEMBERSET RPTCURRENCY = LC
*XDIM_MEMBERSET INTERCO = I_3RD
*SELECT(%Y%,[YEAR],TIME,[ID]=%TIME_SET%)
*SELECT(%M01%,[ID],TIME,[YEAR]=%Y% AND [MONTHNUM]=1 AND [CALC]=N) 
*SELECT(%M02%,[ID],TIME,[YEAR]=%Y% AND [MONTHNUM]=2 AND [CALC]=N)
*SELECT(%M03%,[ID],TIME,[YEAR]=%Y% AND [MONTHNUM]=3 AND [CALC]=N)
*SELECT(%M04%,[ID],TIME,[YEAR]=%Y% AND [MONTHNUM]=4 AND [CALC]=N)
*SELECT(%M05%,[ID],TIME,[YEAR]=%Y% AND [MONTHNUM]=5 AND [CALC]=N)
*SELECT(%M06%,[ID],TIME,[YEAR]=%Y% AND [MONTHNUM]=6 AND [CALC]=N)
*SELECT(%M07%,[ID],TIME,[YEAR]=%Y% AND [MONTHNUM]=7 AND [CALC]=N)
*SELECT(%M08%,[ID],TIME,[YEAR]=%Y% AND [MONTHNUM]=8 AND [CALC]=N)
*SELECT(%M09%,[ID],TIME,[YEAR]=%Y% AND [MONTHNUM]=9 AND [CALC]=N)
*SELECT(%M10%,[ID],TIME,[YEAR]=%Y% AND [MONTHNUM]=10 AND [CALC]=N)
*SELECT(%M11%,[ID],TIME,[YEAR]=%Y% AND [MONTHNUM]=11 AND [CALC]=N)
*SELECT(%M12%,[ID],TIME,[YEAR]=%Y% AND [MONTHNUM]=12 AND [CALC]=N)
*XDIM_MEMBERSET TIME = %M01%,%M02%,%M03%,%M04%,%M05%,%M06%,%M07%,%M08%,%M09%,%M10%,%M11%,%M12%
*WHEN TIME
*IS *
*REC(EXPRESSION = %VALUE%,TIME = %M12%, AUDITTRAIL = INPUT_YTDIP)
*ENDWHEN
*XDIM_MEMBERSET TIME = %M01%,%M02%,%M03%,%M04%,%M05%,%M06%,%M07%,%M08%,%M09%,%M10%,%M11%
*WHEN TIME
*IS *
*REC(EXPRESSION = %VALUE%,TIME = %M11%,AUDITTRAIL = INPUT_YTDIP)
*ENDWHEN ... 
and so ON

Our DM package for YTD has selection of only ENTITY and TIME. (Please see attached)

Now, we run the Clear package right after this, where we want to Clear the data for the SAME entity and TIME but with AUDIT TRAIL = INPUT_PERIP

My question is:

Can I include this clear steps within the YTD script,i.e. after the YTD calculation; instead or running the Clear Package?

Please see Advance Script for both

YTD package

PROMPT(SELECT,,,"Select Entity and Select Calendar Year/Period for first Forecast period","%ENTITY_DIM%,%TIME_DIM%")
TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,SUSER,%USER%)
TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,SAPPSET,%APPSET%)
TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,SAPP,%APP%)
TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,SELECTION,%SELECTION%)
TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,LOGICFILENAME,YTD_PERIOD.LGF)

Clear Package

PROMPT(SELECT,,,"Select Entity and Time Range (Calendar Year/Per) to Clear","%ENTITY_DIM%,%TIME_DIM%")
INFO(%HARDCODEDDIM1%,|DIMENSION:AUDITTRAIL|INPUT_PERIP)
INFO(%HARDCODEDDIM2%,|DIMENSION:CATEGORY|FORECAST_IP)
TASK(/CPMB/CLEAR_CUBE,CHECKLCK,1)
TASK(/CPMB/CLEAR_CUBE,SELECTION,%SELECTION%%HARDCODEDDIM1%%HARDCODEDDIM2%)
TASK(/CPMB/CLEAR_CUBE,DUMPLOADMODE,3)
TASK(/CPMB/CLEAR_CUBE,KEYDATE,%SELECTION_KEYDATE%)
TASK(/CPMB/CLEAR_COMMENTS_FOR_CLEAR,SELECTION,%SELECTION%%HARDCODEDDIM1%%HARDCODEDDIM2%)
TASK(/CPMB/CLEAR_COMMENTS_FOR_CLEAR,ENABLETASK,0)
TASK(/CPMB/CLEAR_COMMENTS_FOR_CLEAR,CHECKLCK,1)

Please also find attached prompts for both packages.

Thank you.

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Likes

Hi Vadim,

Thank you for your timely reply. I tried it this way, but it only clears Data for 2018.04 (start of calendar year) and leaves the rest of the periods as it is...

former_member186338
Active Contributor
0 Likes

Because you have to scope TIME before clearing!

For example:

*XDIM_MEMBERSET TIME = %M01%,%M02%,%M03%,%M04%,%M05%,%M06%,%M07%,%M08%,%M09%,%M10%,%M11%,%M12%

In my answer I have told about it:

//Scope area to clear
...
former_member186338
Active Contributor
0 Likes

P.S. Please read:

https://blogs.sap.com/2014/01/31/how-to-ask-questions-about-script-logic-issues/

to provide full required info in future!

former_member186338
Active Contributor
0 Likes

Use script logic to clear data after the code of the YTD script!

...
//Existing YTD script

//Scope area to clear
*XDIM_MEMBERSET AUDITTRAIL=INPUT_PERIP
*XDIM_MEMBERSET CATEGORY=FORECAST_IP
*XDIM_MEMBERSET ...
...
//Clear scope
*WHEN TIME
*IS *
*REC(EXPRESSION=0) //Clear!
*ENDWHEN