cancel
Showing results for 
Search instead for 
Did you mean: 

Custom Copy Package

sap_user62
Active Participant
0 Kudos

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.

Accepted Solutions (1)

Accepted Solutions (1)

former_member186338
Active Contributor
0 Kudos

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!

Answers (6)

Answers (6)

sap_user62
Active Participant
0 Kudos

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

former_member186338
Active Contributor
0 Kudos

This script is a full equivalent of my simple script - no reason to test simple script! Test with ALLOCATION!

P.S. ACCOUNT - no difference!

former_member186338
Active Contributor
0 Kudos

And for simple script you can play with RUNLOGIC_PH badi - to perform parallel execution!

former_member186338
Active Contributor
0 Kudos

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

former_member186338
Active Contributor
0 Kudos

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
former_member186338
Active Contributor
0 Kudos

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
sap_user62
Active Participant
0 Kudos

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.

former_member186338
Active Contributor
0 Kudos

There is NO way to customize standard copy package.

But the script has to work without timeout.

Please post the script you have tested, I will look on it.

former_member186338
Active Contributor
0 Kudos

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.