on 06-25-2015 2:46 PM
Hi,
I am on bpc 10 nw.
I have source data of [2010.Jan, 2010.Feb, 2010.Mar] = [null, 1,2] in Category = Actual.
And target data of [2010.Jan, 2010.Feb, 2010.Mar] = [100, 200, 300] in Category = Budget.
With the standard copy package,
if i copy from
[2010.Jan, 2010.Feb, 2010.Mar] in Actual -->
[2010.Jan, 2010.Feb, 2010.Mar] in Budget,
the end result becomes
[2010.Jan, 2010.Feb, 2010.Mar] = [0, 1, 2] in Category = Budget.
What parameter can i change in 'Modify Script' or 'Process Chain', such that source = null is ignored, while source = 0 is used?
So instead of the results becoming
[2010.Jan, 2010.Feb, 2010.Mar] = [0, 1, 2] in Category = Budget,
i want the results to be
[2010.Jan, 2010.Feb, 2010.Mar] = [100, 1, 2] in Category = Budget.
Thanks,
LC
Hi Lip,
Have you tested "Merge data values" instead of "Replace and clear data values"?
Vadim
P.S. For sure script will also do the job.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Vadim,
After selecting "Merge data values" to run the copy package, source = blank (i.e. not zero) is nullifying target with value.
I have added the DMP parameters below, my colleague said it might have been changed by another person who's since left. Can you help verify if all the parameters are standard?
Thanks,
LC
PROMPT(RADIOBUTTON,%TARGETMODE%,"Handling of records",0,{"Copy records with match key","Copy by replacing data in same data region of Entity, Category, Time and Audit ID"},{"0","2"})
PROMPT(RADIOBUTTON,%RUNLOGIC%,"Select whether to run default logic for stored values after copying",0,{"Yes","No"},{"1","0"})
PROMPT(RADIOBUTTON,%CHECKLCK%,"Select whether to check work status settings when importing data.",1,{"Yes, check for work status settings before importing","No, do not check work status settings"},{"1","0"})
PROMPT(COPYMOVEINPUT,%SELECTION%,%TOSELECTION%,"Select the members to COPY and where to",%DIMS%,0)
INFO(%TEMPNO1%,%INCREASENO%)
INFO(%ACTNO%,%INCREASENO%)
INFO(%SELECTION_KEYDATE%,)
TASK(/CPMB/CM_CONVERT,OUTPUTNO,%TEMPNO1%)
TASK(/CPMB/CM_CONVERT,ACT_FILE_NO,%ACTNO%)
TASK(/CPMB/CM_CONVERT,SAPPSET,%APPSET%)
TASK(/CPMB/CM_CONVERT,SAPP,%APP%)
TASK(/CPMB/CM_CONVERT,SELECTION,%SELECTION%)
TASK(/CPMB/CM_CONVERT,TOSELECTION,%TOSELECTION%)
TASK(/CPMB/CM_CONVERT,KEYDATE,%SELECTION_KEYDATE%)
TASK(/CPMB/CLEAR_SOURCE_CUBE,CHECKLCK,%CHECKLCK%)
TASK(/CPMB/CLEAR_SOURCE_CUBE,SELECTION,%TOSELECTION%)
TASK(/CPMB/CLEAR_SOURCE_CUBE,KEYDATE,%SELECTION_KEYDATE%)
TASK(/CPMB/CLEAR_SOURCE_CUBE,DUMPLOADMODE,3)
TASK(/CPMB/APPEND_LOAD,PREPROCESSMODE,0)
TASK(/CPMB/APPEND_LOAD,TARGETMODE,%TARGETMODE%)
TASK(/CPMB/APPEND_LOAD,INPUTNO,%TEMPNO1%)
TASK(/CPMB/APPEND_LOAD,ACT_FILE_NO,%ACTNO%)
TASK(/CPMB/APPEND_LOAD,RUNLOGIC,%RUNLOGIC%)
TASK(/CPMB/APPEND_LOAD,CHECKLCK,%CHECKLCK%)
TASK(/CPMB/APPEND_LOAD,KEYDATE,%SELECTION_KEYDATE%)
Ups, tested myself! Standard copy package will always clear data!
Then script logic is the only option:
"Any idea on how to refer to %SELECTION% and do a N-to-N copy to %TOSELECTION% in script logic?"
N-to-SAME N is not an issue - just the scope!
N-to-Different N - using FOR/NEXT (but I don't see this requirement in the sample)
Vadim
But what's an issue?
Have you tried to write a simple script?
For example let's assume that for some dimension - TIME we have 2 variables containing source and target member lists:
%TLS% and %TLT%
Then:
*FOR %TS%=%TLS% AND %TT%=%TLT%
*XDIM_MEMBERSET TIME=%TS%
*WHEN TIME
*IS *
REC(EXPRESSION=%VALUE%, TIME=%TT%)
*ENDWHEN
*NEXT
Vadim
Hi Vadim,
Assuming i'm trying to copy the values from the yellow box to the green box, such that 1, 2, 3, 4, 5, 6 in the yellow box is also sent as 1, 2, 3, 4, 5, 6 in the green box.
I tried with the script logic below, but it's not working. Any suggestions?
Thanks,
LCS
*XDIM_MEMBERSET TIME = $FROM_TIME$
*XDIM_MEMBERSET ENTITY = $FROM_ENT$
*FOR %FE%=$FROM_ENT$ AND %TE%=$TO_ENT$
*FOR %FT%=$FROM_TIME$ AND %TT%=$TO_TIME$
*WHEN TIME
*IS *
*REC(EXPRESSION=%VALUE%, ENTITY=%TE%,TIME=%TT%)
*ENDWHEN
*NEXT
*NEXT
*COMMIT
Hi Vadim,
I noticed your XDIM_MEMBERSET being inside the For loop, and i previously tried the following, but the logic still produces 21 in all the green cells.
Thanks,
LipChean
*FOR %FE%=$FROM_ENT$ AND %TE%=$TO_ENT$
*FOR %FT%=$FROM_TIME$ AND %TT%=$TO_TIME$
*XDIM_MEMBERSET TIME = $FROM_TIME$
*XDIM_MEMBERSET ENTITY = $FROM_ENT$
*WHEN TIME
*IS *
*REC(EXPRESSION=%VALUE%, ENTITY=%TE%,TIME=%TT%)
*ENDWHEN
*NEXT
*NEXT
*COMMIT
Hello,
Please explain what you mean by "[2010.Jan, 2010.Feb, 2010.Mar] = [null, 1,2] in Category = Actual" and "[2010.Jan, 2010.Feb, 2010.Mar] = [100, 200, 300] in Category = Budget". Are you referring to values that you are selecting when prompted through DM package? Can you provide screen prints?
Regards,
Leila
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
I think for this scenario, you may have to write a script to do the copy. By default, script logic ignores records with zero values. So this will satisfy your requirement.
Prat
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
14 | |
4 | |
2 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.