Skip to Content
avatar image
-1
Former Member

Customize COPY Package in SAP BPC 10.0 NW

Hi Team,

My requirement is to customize COPY package which can be used to COPY Source Months for e.g. 2 Months data (Jan 2016 and Feb 2016) to Target for e.g. 1 Month (March 2016).

Currently, I am using a script logic to COPY but this is only COPY One Month to Another month but I would require to COPY ONE Month to Multiple Months.

Please see my existing script logic which I am using now. Can something be changed here to COPY Data from one month to multiple months. E.g. COPY data of JAN and FEB to Mar at the same time.

*XDIM_MEMBERSET KIT=BAS(ALL_KI)

*XDIM_MEMBERSET COMPONENT=BAS(ALL_COM)

*XDIM_MEMBERSET INGREDIENT=BAS(ALL_ING)

*XDIM_MEMBERSET CURRENCY=USD

*XDIM_MEMBERSET DATASRC=INPUT

*XDIM_MEMBERSET MATG4=BAS(ALL_MATG4),NO_MATG4

*XDIM_MEMBERSET BRAND=BAS(ALL_BRAND),NO_BRAND

*XDIM_MEMBERSET LOCATION=%LOCATION_SET%

*XDIM_MEMBERSET TIME=$SOURCETIME$

*XDIM_MEMBERSET VERSION=A100

*XDIM_MEMBERSET COUNTRY=BAS(ALL_COUNTRIES),NO_COUNTRY

*XDIM_MEMBERSET KEYFIGURE=FOREX_PL,INV_IMP_PL

*WHEN TIME *IS * *REC(EXPRESSION=%VALUE%,TIME=$TARGETTIME$) *ENDWHEN

Any ideas pls?

Please let me know if you need any information from my end.

Best Regards,

Venkat

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

12 Answers

  • Best Answer
    Nov 09, 2016 at 04:21 PM

    The new correct DM script will be (COPYMOVEINPUT replaced by 2 SELECTINPUT):

    PROMPT(SELECTINPUT,%SOURCETIME%,,"Select Source Time","%TIME_DIM%") 
    PROMPT(SELECTINPUT,%TARGETTIME%,,"Select Target Time","%TIME_DIM%") 
    PROMPT(SELECTINPUT,%SELECTION%,,"Select Target Entity","%ENTITY_DIM%") 
    INFO(%EQU%,=) 
    INFO(%TAB%,;) 
    TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,EQU,%EQU%) 
    TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,TAB,%TAB%) 
    TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,MEMBERSELECTION,SOURCETIME%EQU%%SOURCETIME%%TAB%TARGETTIME%EQU%%TARGETTIME%) 
    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,COPY_VARIANCES.LGF)
    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Nov 09, 2016 at 04:01 PM
    -1

    Hi Vadim,

    Thanks again..

    Please refer to the below link on our discussion earlier.

    https://archive.sap.com/discussions/thread/3906049

    Please see my DM advanced script below;

    PROMPT(COPYMOVEINPUT,%SOURCETIME%,%TARGETTIME%,"Select the TIME members from to","%TIME_DIM%") PROMPT(SELECTINPUT,%SELECTION%,,"Select Target Entity","%ENTITY_DIM%") INFO(%EQU%,=) INFO(%TAB%,;) TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,EQU,%EQU%) TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,TAB,%TAB%) TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,MEMBERSELECTION,SOURCETIME%EQU%%SOURCETIME%%TAB%TARGETTIME%EQU%%TARGETTIME%) 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,COPY_VARIANCES.LGF)

    Please advise..

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Nov 09, 2016 at 04:08 PM
    -1

    Sorry Vadim,

    please see below;

    PROMPT(COPYMOVEINPUT,%SOURCETIME%,%TARGETTIME%,"Select the TIME members from to","%TIME_DIM%") PROMPT(SELECTINPUT,%SELECTION%,,"Select Target Entity","%ENTITY_DIM%") INFO(%EQU%,=) INFO(%TAB%,;) TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,EQU,%EQU%) TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,TAB,%TAB%) TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,MEMBERSELECTION,SOURCETIME%EQU%%SOURCETIME%%TAB%TARGETTIME%EQU%%TARGETTIME%) 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,COPY_VARIANCES.LGF)

    Add comment
    10|10000 characters needed characters exceeded

  • Nov 09, 2016 at 03:38 PM

    First of all - incorrect primary tag! Please change it to

    SAP BusinessObjects Planning and Consolidation, version for SAP NetWeaver

    Second:

    Your statements don't match each other:

    "e.g. 2 Months data (Jan 2016 and Feb 2016) to Target for e.g. 1 Month (March 2016)"

    And

    "require to COPY ONE Month to Multiple Months"

    Please explain once again!

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Nov 09, 2016 at 03:47 PM

    Hi Vadim,

    Thanks for your quick response. Apologies, my requirement is to COPY data from Multiple months to a single Month.

    example. COPY Jan 2016 and Feb 2016 to MAR 2016 at the same time.

    My script which I use currently which only can COPY Month to Month. Would it be possible to change something below to accommodate the above requirement pls?

    *XDIM_MEMBERSET KIT=BAS(ALL_KI)

    *XDIM_MEMBERSET COMPONENT=BAS(ALL_COM)

    *XDIM_MEMBERSET INGREDIENT=BAS(ALL_ING)

    *XDIM_MEMBERSET CURRENCY=USD

    *XDIM_MEMBERSET DATASRC=INPUT

    *XDIM_MEMBERSET MATG4=BAS(ALL_MATG4),NO_MATG4

    *XDIM_MEMBERSET BRAND=BAS(ALL_BRAND),NO_BRAND

    *XDIM_MEMBERSET LOCATION=%LOCATION_SET%

    *XDIM_MEMBERSET TIME=$SOURCETIME$

    *XDIM_MEMBERSET VERSION=A100

    *XDIM_MEMBERSET COUNTRY=BAS(ALL_COUNTRIES),NO_COUNTRY

    *XDIM_MEMBERSET KEYFIGURE=FOREX_PL,INV_IMP_PL

    *WHEN TIME *IS * *REC(EXPRESSION=%VALUE%,TIME=$TARGETTIME$)

    *ENDWHEN

    Add comment
    10|10000 characters needed characters exceeded

  • Nov 09, 2016 at 03:56 PM

    You have to select source TIME dimension members using SELECTINPUT prompt in the DM advanced script.

    The members will be passed to %TIME_SET% variable. Then:

    *XDIM_MEMBERSET TIME=%TIME_SET%

    Add comment
    10|10000 characters needed characters exceeded

  • Nov 09, 2016 at 04:13 PM

    Have you seen it? IT'S NOT FINE!

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Nov 09, 2016 at 04:12 PM

    Hi Vadim,

    So sorry again, hope it is fine now..

    PROMPT(COPYMOVEINPUT,%SOURCETIME%,%TARGETTIME%,"Select the TIME members from to","%TIME_DIM%") PROMPT(SELECTINPUT,%SELECTION%,,"Select Target Entity","%ENTITY_DIM%") INFO(%EQU%,=) INFO(%TAB%,;) TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,EQU,%EQU%) TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,TAB,%TAB%) TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,MEMBERSELECTION,SOURCETIME%EQU%%SOURCETIME%%TAB%TARGETTIME%EQU%%TARGETTIME%) 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,COPY_VARIANCES.LGF)

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Nov 09, 2016 at 04:18 PM

    Sorry again, Please see below the right one now;

    PROMPT(COPYMOVEINPUT,%SOURCETIME%,%TARGETTIME%,"Select the TIME members from to","%TIME_DIM%") PROMPT(SELECTINPUT,%SELECTION%,,"Select Target Entity","%ENTITY_DIM%")

    INFO(%EQU%,=)

    INFO(%TAB%,;)

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

    TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,TAB,%TAB%) TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,MEMBERSELECTION,SOURCETIME%EQU%%SOURCETIME%%TAB%TARGETTIME%EQU%%TARGETTIME%) 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,COPY_VARIANCES.LGF)

    Add comment
    10|10000 characters needed characters exceeded

  • Nov 09, 2016 at 05:24 PM

    The script will correctly copy multiple months into SINGLE month!

    ...
    //PROMPT(SELECTINPUT,%SOURCETIME%,,"Select Source Time","%TIME_DIM%")
    *XDIM_MEMBERSET TIME=$SOURCETIME$ //$SOURCETIME$=multiple months selected
    ...
    
    *WHEN TIME 
    *IS * 
    *REC(EXPRESSION=%VALUE%,TIME=$TARGETTIME$) //$TARGETTIME$=SINGLE month selected
    *ENDWHEN
    
    Add comment
    10|10000 characters needed characters exceeded