cancel
Showing results for 
Search instead for 
Did you mean: 

Destination_APP transfer values to different version from Source model

Former Member
0 Kudos

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

Accepted Solutions (1)

Accepted Solutions (1)

former_member186338
Active Contributor
0 Kudos

Hi Tej,

Do you want the user to select source and target VERSION?

Vadim

former_member186338
Active Contributor
0 Kudos

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

Former Member
0 Kudos

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

Former Member
0 Kudos

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

former_member186338
Active Contributor
0 Kudos

Don't you see that in this 2 lines you are using different variables? Typo mistake:

PROMPT(COPYMOVEINPUT,%SELECTION%,%TO_SELECTION%,"Select the desired range","%CATEGORY_DIM%")

TASK(/CPMB/ICDATA_LOGIC,MEMBERSELECTION,TARGETVERSION%EQU%%TOSELECTION%)

Vadim

Former Member
0 Kudos

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

former_member186338
Active Contributor
0 Kudos

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

Former Member
0 Kudos

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

former_member186338
Active Contributor
0 Kudos

"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

Former Member
0 Kudos

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

former_member186338
Active Contributor
0 Kudos

Sorry Tej

But tell me - what is the difference between this and my original

Not talking about TIME scope selection...

Vadim

Former Member
0 Kudos

Hi Vadim,

You are right, there is no change, the solution you provided at the first is the same code i used.

Might be some cache or something else created error.

Thanks for your help.

Regards,


Tej

Answers (0)