on 06-25-2015 8:24 AM
Hi,
I have the belwo requirement:
*SELECT(%YEAR%,[YEAR],VERSION,"[ID] = '%VERSION_SET%')
*XDIM_MEMBERSET CHANGE_LEDGER = CL_020
*XDIM_MEMBERSET LOCATION = LO_NONE
*XDIM_MEMBERSET PROJECT = PJ_NONE
*XDIM_MEMBERSET RPTCURRENCY = LC
*XDIM_MEMBERSET TIME <> %YEAR%.INPUT
*XDIM_MEMBERSET VERSION = %VERSION_SET%
*XDIM_MEMBERSET COSTCENTRE <> CC_NONE
*XDIM_MEMBERSET EST_POSITION <> NO_EMP
*XDIM_MEMBERSET GRADE <> NO_GRADE
*DESTINATION_APP = APPLICATIONX
*SKIP_DIM = EST_POSITION,GRADE
*ADD_DIM FLOW = FL_CLO, FUND_TYPE = FT_FTNA, DATASOURCE = DS_INPUT
*RENAME_DIM ACCOUNTHR = ACCOUNTG
*WHEN ACCOUNTHR
*IS BAS(AC_ACOA0000NETSAL),AC_ACOA0000000FTE
*REC(EXPRESSION = %VALUE%,PROJECT = PJ_PROJNA, LOCATION = LO_LONA)
*ENDWHEN
Now my requiremetn is, logic to post to user specified Version as Destination version.
I have changed the datamager for user to input source and destination version.
TASKCOPYCOLOUMS("SELECTION","%CATEGORY_DIM%","%CATEGORY_DIM%")
*REC(EXPRESSION = %VALUE%,PROJECT = PJ_PROJNA, LOCATION = LO_LONA, VERSION = ????????)
I have only %VERSION_SET% to determine the version input my user?
How to specify in *REC statment with destination version value?
Regards,
Tej
Hi Tej,
Do you want the user to select source and target VERSION?
Vadim
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
If yes, then your advanced script have to be:
PROMPT(COPYMOVEINPUT,%SELECTION%,%TOSELECTION%,"Select the desired range",”%CATEGORY_DIM%”,)
TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,SUSER,%USER%)
TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,SAPPSET,%APPSET%)
TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,SAPP,%APP%)
INFO(%EQU%,=)
INFO(%TAB%,;)
TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,TAB,%TAB%)
TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,EQU,%EQU%)
TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,SELECTION,%SELECTION%)
TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,MEMBERSELECTION,TARGETVERSION%EQU%%TOSELECTION%)
TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,LOGICFILENAME,TEST.LGF)
And TEST.LGF:
*SELECT(%YEAR%,[YEAR],VERSION,"[ID] = '%VERSION_SET%')
*XDIM_MEMBERSET CHANGE_LEDGER = CL_020
*XDIM_MEMBERSET LOCATION = LO_NONE
*XDIM_MEMBERSET PROJECT = PJ_NONE
*XDIM_MEMBERSET RPTCURRENCY = LC
*XDIM_MEMBERSET TIME <> %YEAR%.INPUT //Very strange!!! What do you mean?
*XDIM_MEMBERSET VERSION = %VERSION_SET%
*XDIM_MEMBERSET COSTCENTRE <> CC_NONE
*XDIM_MEMBERSET EST_POSITION <> NO_EMP
*XDIM_MEMBERSET GRADE <> NO_GRADE
*XDIM_MEMBERSET ACCOUNTHR = BAS(AC_ACOA0000NETSAL)
*XDIM_ADDMEMBERSET ACCOUNTHR = AC_ACOA0000000FTE
*DESTINATION_APP = APPLICATIONX
*SKIP_DIM = EST_POSITION,GRADE
*ADD_DIM FLOW = FL_CLO, FUND_TYPE = FT_FTNA, DATASOURCE = DS_INPUT
*RENAME_DIM ACCOUNTHR = ACCOUNTG
*WHEN ACCOUNTHR
*IS *
*REC(EXPRESSION = %VALUE%,PROJECT = PJ_PROJNA, LOCATION = LO_LONA, VERSION = $TARGETVERSION$)
*ENDWHEN
Vadim
Hi Vadim,
Thanks for the reply,
*XDIM_MEMBERSET TIME <> %YEAR%.INPUT //Very strange!!! What do you mean?
Here i have time dimension with values like
2016.01, 2016.02, 2016.03 .......... 2016.12 and 2016.INPUT.
I want to take all the values for the year 2016 except 2016.INPUT, so i wrote the above code.
As you can see YEAR is a property in my Version dimension, For Time Dimension i am using SELECT statement to filter "YEAR" value from Version dimension. So user has to input version only and system picks the respective year for the version and periods.
Regards,
Tej
Hi Vadim,
I have changed the script and Data Manager a mentioned by you.
'PROMPT(SELECTINPUT,"FROM_SELECTION",,,"%CATEGORY_DIM%")
PROMPT(COPYMOVEINPUT,%SELECTION%,%TO_SELECTION%,"Select the desired range","%CATEGORY_DIM%")
TASK(/CPMB/ICDATA_LOGIC,SUSER,%USER%)
TASK(/CPMB/ICDATA_LOGIC,SAPPSET,%APPSET%)
TASK(/CPMB/ICDATA_LOGIC,SAPP,%APP%)
INFO(%EQU%,=)
INFO(%TAB%,;)
TASK(/CPMB/ICDATA_LOGIC,TAB,%TAB%)
TASK(/CPMB/ICDATA_LOGIC,TAB,%EQU%)
TASK(/CPMB/ICDATA_LOGIC,SELECTION,%SELECTION%)
TASK(/CPMB/ICDATA_LOGIC,MEMBERSELECTION,TARGETVERSION%EQU%%TOSELECTION%)
TASK(/CPMB/ICDATA_LOGIC,LOGICFILENAME,TRANSFER_ESTBCOST.LGF)
)
Here is the Logic Scipt:
*SELECT(%YEAR%,[YEAR],VERSION,"[ID] = '%VERSION_SET%')
*XDIM_MEMBERSET CHANGE_LEDGER = CL_020
*XDIM_MEMBERSET LOCATION = LO_NONE
*XDIM_MEMBERSET PROJECT = PJ_NONE
*XDIM_MEMBERSET RPTCURRENCY = LC
*XDIM_MEMBERSET TIME <> %YEAR%.INPUT
*XDIM_MEMBERSET VERSION = %VERSION_SET%
*XDIM_MEMBERSET COSTCENTRE <> CC_NONE
*XDIM_MEMBERSET EST_POSITION <> NO_EMP
*XDIM_MEMBERSET GRADE <> NO_GRADE
*DESTINATION_APP = ApplicationX
*SKIP_DIM = EST_POSITION,GRADE
*ADD_DIM FLOW = FL_CLO, FUND_TYPE = FT_FTNA, DATASOURCE = DS_INPUT
*RENAME_DIM ACCOUNTHR = ACCOUNTG
*WHEN ACCOUNTHR
*IS BAS(AC_ACOA0000NETSAL),AC_ACOA0000000FTE
*REC(EXPRESSION = %VALUE%,PROJECT = PJ_PROJNA, LOCATION = LO_LONA,VERSION = $TARGETVERSION$)
*ENDWHEN
System si showing as Status as Success but ot posted any records in APPLICATIONX becuase it didnt find the VERSION.
VERSION for *REC is picking as %TOSELECTION%.
Full list of package status is in attachment, please let me know the syntax to resolve the error.
Regards,
Tej
Hi Vadim,
Thanks, i missed it.
I am getting this error:
/CPMB/MODIFY completed in 0 seconds
/CPMB/ICDATA_LOGIC completed in 4 seconds
/CPMB/CLEAR completed in 0 seconds
[Selection]
SELECTION = /Test123/ESTB_COSTING/PRIVATEPUBLICATIONS/RTEJ0/TempFiles/FROM.TMP@@@SAVE@@@@@@EXPAND@@@|DIMENSION:VERSION|VE_FORECAST_P01
TOSELECTION = /Test123/ESTB_COSTING/PRIVATEPUBLICATIONS/RTEJ0/TempFiles/TO.TMP@@@SAVE@@@@@@EXPAND@@@|DIMENSION:VERSION|VE_FORECAST_P02
[Message]
RUN_LOGIC:Member "/Test123/ESTB_COSTING/PRIVATEPUB" not exist
model: ESTB_COSTING. Package status: ERROR
LOG BEGIN TIME:2015-06-26 16:14:07
FILE:\ROOT\WEBFOLDERS\Test123\ADMINAPP\ESTB_COSTING\TRANSFER_ESTBCOST.LGF
USER:RTEJ0
APPSET:Test123
APPLICATION:ESTB_COSTING
[INFO] GET_DIM_LIST(): I_APPL_ID="ESTB_COSTING", #dimensions=11
ACCOUNTHR,CHANGE_LEDGER,COSTCENTRE,EST_POSITION,GRADE,LOCATION,MEASURES,PROJECT,RPTCURRENCY,TIME,VERSION
#dim_memberset=10
CHANGE_LEDGER:CL_020,1 in total.
LOCATION:LO_NONE,1 in total.
PROJECT:PJ_NONE,1 in total.
RPTCURRENCY:LC,1 in total.
TIME:2006.01,2006.02,2006.03,2006.04,2006.05,...243 in total. System should pick only 12 periods.
VERSION:VE_FORECAST_P01,1 in total.
COSTCENTRE:CC_001,CC_002,CC_003,CC_004,CC_005,...507 in total.
EST_POSITION:10000002,10000003,10000004,10000005,10000006,...6449 in total.
GRADE:1,10,100,101,102,...723 in total.
ACCOUNTHR:AC_ACOA0000500000,AC_ACOA0000500160,AC_ACOA0000500180,AC_ACOA0000500190,AC_ACOA0000500300,...14 in total.
LOG END TIME:2015-06-26 16:14:11
File path: \ROOT\WEBFOLDERS\Test123\ESTB_COSTING\PRIVATEPUBLICATIONS\RTEJ0\tempfiles\20150626161407\TRANSFER_ESTBCOST.LOG
Regards,
Tej
I have already told you that:
*XDIM_MEMBERSET TIME <> %YEAR%.INPUT
is strange!
It will select ALL TIME members excluding only 2015.INPUT
%YEAR% is the reserved variable containing current year!
<> %YEAR%.INPUT is equivalent to <>2015.INPUT
If you want to select 12 months you have to write something like:
*SELECT(%Y%,[YEAR],VERSION,"[ID] = '%VERSION_SET%')
*XDIM_MEMBERSET TIME=%Y%.01,%Y%.02,%Y%.03,%Y%.04,%Y%.05,...,%Y%.12
You also have error in the advanced script - MEMBERSELECTION is not working!
What is your BPC core SP?
Vadim
Hi Vadim,
You are right, so i changed the script like this and now system is picking 2016 --> 12 periods.
*SELECT(%FYEAR%,[YEAR],VERSION,"[ID] = '%VERSION_SET%')
*SELECT(%PERS%,[ID],TIME,"[YEAR] = '%FYEAR%' AND LEVEL = 'MONTH'")
*XDIM_MEMBERSET CHANGE_LEDGER = CL_020
*XDIM_MEMBERSET LOCATION = LO_NONE
*XDIM_MEMBERSET PROJECT = PJ_NONE
*XDIM_MEMBERSET RPTCURRENCY = LC
*XDIM_MEMBERSET TIME = %PERS%
*XDIM_MEMBERSET VERSION = %VERSION_SET%
*XDIM_MEMBERSET COSTCENTRE <> CC_NONE
*XDIM_MEMBERSET EST_POSITION <> NO_EMP
*XDIM_MEMBERSET GRADE <> NO_GRADE
*XDIM_MEMBERSET ACCOUNTHR = BAS(AC_ACOA0000NETSAL)
*XDIM_ADDMEMBERSET ACCOUNTHR = AC_ACOA0000000FTE
*DESTINATION_APP = Recurrent_Activities
*SKIP_DIM = EST_POSITION,GRADE
*ADD_DIM FLOW = FL_CLO, FUND_TYPE = FT_FTNA, DATASOURCE = DS_INPUT
*RENAME_DIM ACCOUNTHR = ACCOUNTG
*WHEN ACCOUNTHR
*IS *
*REC(EXPRESSION = %VALUE%,PROJECT = PJ_PROJNA, LOCATION = LO_LONA, VERSION = $TARGETVERSION$)
*ENDWHEN
You mentioned MEMBERSELECTION is not working!
LOG BEGIN TIME:2015-06-26 16:48:09
FILE:\ROOT\WEBFOLDERS\Test123\ADMINAPP\ESTB_COSTING\TRANSFER_ESTBCOST.LGF
USER:RTEJ0
APPSET:Test123
APPLICATION:ESTB_COSTING
[INFO] GET_DIM_LIST(): I_APPL_ID="ESTB_COSTING", #dimensions=11
ACCOUNTHR,CHANGE_LEDGER,COSTCENTRE,EST_POSITION,GRADE,LOCATION,MEASURES,PROJECT,RPTCURRENCY,TIME,VERSION
#dim_memberset=10
CHANGE_LEDGER:CL_020,1 in total.
LOCATION:LO_NONE,1 in total.
PROJECT:PJ_NONE,1 in total.
RPTCURRENCY:LC,1 in total.
TIME:2016.01,2016.02,2016.03,2016.04,2016.05,...12 in total.
VERSION:VE_FORECAST_P01,1 in total.
COSTCENTRE:CC_001,CC_002,CC_003,CC_004,CC_005,...507 in total.
EST_POSITION:10000002,10000003,10000004,10000005,10000006,...6449 in total.
GRADE:1,10,100,101,102,...723 in total.
ACCOUNTHR:AC_ACOA0000500000,AC_ACOA0000500160,AC_ACOA0000500180,AC_ACOA0000500190,AC_ACOA0000500300,...14 in total.
LOG END TIME:2015-06-26 16:48:12
File path: \ROOT\WEBFOLDERS\Test123\ESTB_COSTING\PRIVATEPUBLICATIONS\RTEJ0\tempfiles\20150626164809\TRANSFER_ESTBCOST.LOG
I am in SAP BPC SP level
Compmment Release SP LEVEL Support Package
CPMBPC 800 0010 SAPK-80010INCPMBPC
If MEMBERSELECTION is not working is there any alternative?
Regards,
Tej
"UN_LOGIC:Member "/Test123/ESTB_COSTING/PRIVATEPUB" - I am talking about this error from your prev post!
"If MEMBERSELECTION is not working is there any alternative?" - No alternative!
SAPK-80010INCPMBPC - very old, install at least SP14 or later
I remember some issues with MEMBERSELECTION in old SP's
Vadim
P.S. TIME is fine but what LEVEL do you have for .INPUT members? Please show the screenshot of your TIME dimension
Hi Vadim,
It is working, i have rewritten the whole codes and script logic and it is working .
'PROMPT(SELECTINPUT,,,,"%CATEGORY_DIM%")
PROMPT(COPYMOVEINPUT,%SELECTION%,%TOSELECTION%,"Select the desired range","%CATEGORY_DIM%",)
TASK(/CPMB/ICBOOKING_LOGIC,SUSER,%USER%)
TASK(/CPMB/ICBOOKING_LOGIC,SAPPSET,%APPSET%)
TASK(/CPMB/ICBOOKING_LOGIC,SAPP,%APP%)
INFO(%EQU%,=)
INFO(%TAB%,;)
TASK(/CPMB/ICBOOKING_LOGIC,TAB,%TAB%)
TASK(/CPMB/ICBOOKING_LOGIC,EQU,%EQU%)
TASK(/CPMB/ICBOOKING_LOGIC,SELECTION,%SELECTION%)
TASK(/CPMB/ICBOOKING_LOGIC,MEMBERSELECTION,TARGETVERSION%EQU%%TOSELECTION%)
TASK(/CPMB/ICBOOKING_LOGIC,LOGICFILENAME,TRANSFER_ESTBCOST.LGF)
And this is the script:
*SELECT(%FYEAR%,[YEAR],VERSION,"[ID] = '%VERSION_SET%')
*SELECT(%PERS%,[ID],TIME,"[YEAR] = '%FYEAR%' AND LEVEL = 'MONTH'")
*XDIM_MEMBERSET CHANGE_LEDGER = CL_020
*XDIM_MEMBERSET LOCATION = LO_NONE
*XDIM_MEMBERSET PROJECT = PJ_NONE
*XDIM_MEMBERSET RPTCURRENCY = LC
*XDIM_MEMBERSET TIME = %PERS%
*XDIM_MEMBERSET VERSION = %VERSION_SET%
*XDIM_MEMBERSET COSTCENTRE <> CC_NONE
*XDIM_MEMBERSET EST_POSITION <> NO_EMP
*XDIM_MEMBERSET GRADE <> NO_GRADE
*XDIM_MEMBERSET ACCOUNTHR = BAS(AC_ACOA0000NETSAL)
*XDIM_ADDMEMBERSET ACCOUNTHR = AC_ACOA0000000FTE
*DESTINATION_APP = APPLICATIONX
*SKIP_DIM = EST_POSITION,GRADE
*ADD_DIM FLOW = FL_CLO, FUND_TYPE = FT_FTNA, DATASOURCE = DS_INPUT
*RENAME_DIM ACCOUNTHR = ACCOUNTG
*WHEN ACCOUNTHR
*IS *
*REC(EXPRESSION = %VALUE%,PROJECT = PJ_PROJNA, LOCATION = LO_LONA, VERSION = $TARGETVERSION$)
*ENDWHEN
Attached is the package status results
Thanks for your help.
Regards,
Tej
User | Count |
---|---|
16 | |
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.