Skip to Content

Custom Copy Package

Hi Friends,

Env bpc 10.1

We are currently exploring the possibility of customising a copy package.

We need to copy data from category actual to different forecast periods based on the working forecast. The source would be "actual" and the destination would be Q1, Q2, Q3 or Q4 forecast. The destination is determined by a flag which points to the working forecast period. (prior months of the working forecast need to be filled by actual data) (category and time need to be dynamic selections based on properties of category and time dimension)

Is it possible to customise a standard copy package for this requirement.

Currently i am using script logic for this requirement.

Thanks

Ed.

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

7 Answers

  • Best Answer
    Mar 03, 2017 at 08:39 PM

    Also if you still require standard COPY process - then copy UJD_TEST_PACKAGE to Z version and add abap code to read required members from dimension and generate answer prompt!

    Add comment
    10|10000 characters needed characters exceeded

  • Mar 03, 2017 at 07:40 PM

    You have to use script logic copy!

    But detailed description with real dimension members and properties required!

    "The destination is determined by a flag which points to the working forecast period." - not clear without detailed sample.

    Add comment
    10|10000 characters needed characters exceeded

  • Mar 03, 2017 at 08:01 PM

    Thanks Vadim for your reply.

    Category

    id working_forecast ......................................

    Actual

    Plan

    Q1Forecast

    Q2Forecast

    Q3Forecast Y

    Q4Forecast

    Time

    ID Copy_flag ...........................................

    2017.01 Y

    2017.02 Y

    2017.03 Y

    2017.04 Y

    2017.05

    ...........

    2017.012

    copy--

    source category - Actual destination category - working_forecast ="Y"

    source time - copy_flag ="Y" destination time - copy_flag ="Y"

    The script times out if the data is huge, but if i run the regular standard copy package with the same amount of data it runs successfully.

    Add comment
    10|10000 characters needed characters exceeded

  • Mar 03, 2017 at 08:28 PM

    Simple script sample:

    *SELECT(%CATTARGET%,[ID],CATEGORY,[working_forecast]=Y)
    *SELECT(%TIMECOPY%,[ID],TIME,[Copy_flag]=Y)
    *XDIM_MEMBERSET TIME=%TIMECOPY%
    *XDIM_MEMBERSET CATEGORY=Actual
    *WHEN TIME
    *IS *
    *REC(EXPRESSION=%VALUE%,CATEGORY=%CATTARGET%)
    *ENDWHEN
    Add comment
    10|10000 characters needed characters exceeded

  • Mar 03, 2017 at 08:32 PM

    And this one can be faster:

    *SELECT(%CATTARGET%,[ID],CATEGORY,[working_forecast]=Y)
    *SELECT(%TIMECOPY%,[ID],TIME,[Copy_flag]=Y)
    *XDIM_MEMBERSET TIME=%TIMECOPY%
    *RUNALLOCATION
    *FACTOR=1
    *DIM CATEGORY WHAT=Actual; WHERE=%CATTARGET%
    *ENDALLOCATION
    Add comment
    10|10000 characters needed characters exceeded

  • Mar 03, 2017 at 08:35 PM

    And by the way, it's a good idea to perform Light Optimization of the cube before copy!

    Add comment
    10|10000 characters needed characters exceeded

  • Mar 03, 2017 at 08:39 PM

    Thanks Vadim, I will try both your options. Following is the script that we are using currently and its failing for large data (short dumps). The difference in the script , we are using account in when statement and you are using time. Should that be a problem in terms of performance?

    *SELECT(%WORK_FCST%, "ID", CATEGORY, "WORKING_FORECAST='Y'")

    *SELECT(%PERIODS%, "ID", TIME, "copy_flag='Y'")

    *XDIM_MEMBERSET CATEGORY = ACTUAL

    *XDIM_MEMBERSET TIME = %PERIODS%

    *XDIM_MEMBERSET RPTCURRENCY = LC, USD

    *WHEN ACCOUNT

    *IS *

    *REC(FACTOR=1, CATEGORY=%WORK_FCST%)

    *ENDWHEN

    Add comment
    10|10000 characters needed characters exceeded