cancel
Showing results for 
Search instead for 
Did you mean: 

LOGIC SCRIPT ERROR - INVALID MEMBER

0 Kudos

Dear Experts,


Question:

Can anyone please tell me what is the issue with the logic file(FXTRANS) when we select <ALL> for DATASOURCE in Data Manager Package? I believe it has to do something with the line OTHER = [ENTITY=.............] .

Also what is the use of OTHER in logic scripts , tried to find it but couldn't find it?


Details:
I'm trying to execute FXTRANS.LGF. The error arises when the package is executed via DMP and AUDIT(DATASOURCE) is selected as ALL from the dropdown box then package results in error- Member "xyz" does not exist in the dimension DATASOURCE.

Where "xyz" is a Entity member

Selections-
CATEGORY = ACTUAL

TIME=2017.OCT
ENTITY = <ALL> (selected from drop down)

DATASOURCE(AUDIT)= <ALL> (selected from drop down)


Now when the DATASOURCE is selected via member selection - any member or member and descendants then the package is finished successfully.

MODEL - FINANCE

Script:




Attached screenshot of DMP failure and UJKT.




SYSTEM DETAILS:-
BW - 740 SP 13
BPC - 810 SP 08

0 Kudos

made the requested changes. Hope question is clear now.

former_member186338
Active Contributor
0 Kudos

Have to repeat: "Please post a text of advanced DM script for this package."

former_member544285
Participant
0 Kudos

Can you show your 'DATASOURCE' dimension member?

Following property is checked for standard currency translation logic:

DATASOURCE_TYPE = I/M/A
IS_CONVERTED = Y/<blank> 

No need to specify the datasource member, just make sure properties above are correctly maintained.

Accepted Solutions (1)

Accepted Solutions (1)

former_member186338
Active Contributor
0 Kudos

Try to add the following code at the beginning:

*SELECT(%DS%,[ID],DATASOURCE,[ID]=%DATASOURCE_SET% AND [ID]=CALC AND [CALC]=N)

"AND" between same property (ID) is working like "OR"

And change OTHER line to:

OTHER=[ENTITY =%ENTITY_SET%; DATASOURCE =%DS%]
former_member186338
Active Contributor
0 Kudos

Just tested on my system:

Script:

*SELECT(%DS%,[ID],AUDIT_TRAIL,[ID]=%AUDIT_TRAIL_SET% AND [ID]=AT_BW_GL_SOURCE AND CALC=N)
*XDIM_MEMBERSET AUDIT_TRAIL=%DS%
*XDIM_MEMBERSET CATEGORY=ACT

*WHEN CATEGORY
*IS *
*REC(EXPRESSION=%VALUE%)
*ENDWHEN

AT_BW_GL_SOURCE is analog of your "CALC" member.

Resulting logs:

When I select single AUDIT_TRAIL Member:

SELECTION = /GMC_Copy_20160620/PLANNING/PRIVATEPUBLICATIONS/KALININV_EXT/TempFiles/FROM.TMP@@@SAVE@@@@@@EXPAND@@@|DIMENSION:AUDIT_TRAIL|AT_EQUITY|DIMENSION:TIME|2016.03

Formula log:

#dim_memberset=11
AUDIT_TRAIL:AT_BW_GL_SOURCE,AT_EQUITY,2 in total.

When I select ALL for AUDIT_TRAIL:

SELECTION = /GMC_Copy_20160620/PLANNING/PRIVATEPUBLICATIONS/KALININV_EXT/TempFiles/FROM.TMP@@@SAVE@@@@@@EXPAND@@@|DIMENSION:AUDIT_TRAIL||DIMENSION:TIME|2016.03

Formula log:

#dim_memberset=11
AUDIT_TRAIL:AT_BPC_CALC,AT_BPC_INPUT,AT_BW_GL_SOURCE,AT_COPY_FROM_ACTUAL,AT_EDS_ADJ,...12 in total.

"ALL" is working fine!

0 Kudos

*SELECT(%DS%,[ID],DATASOURCE,[ID]=%DATASOURCE_SET%AND[ID]=CALC AND[CALC]=N)

==> Thanks for the suggestion. Just wanted to understand why we need [CALC]=N ? There is no property defined as CALC in DATASOURCE, its a DATASOURCE member and that is already inserted using [ID]=CALC in the above code.

former_member186338
Active Contributor
0 Kudos

Sorry, but you need to learn some basic things about bpc dimensions. CALC property is available for all dimensions but not shown in the interface. CALC=N for base members without dimension member formula. Used to select only base members.

former_member186338
Active Contributor
0 Kudos

P.S. By the way, it's not a good idea to have a member with I'd "CALC" - can be errors due to reserved word for property name.

Answers (2)

Answers (2)

former_member186338
Active Contributor
0 Kudos

Corrected script without strange and useless lines:

//Step #1 - TC to FC
*XDIM_MEMBERSET FXCURRENCY = BAS(TC)  
*XDIM_MEMBERSET DATASOURCE = TC.INPUT
*START_BADI CURR_TRAN
QUERY = ON
WRITE = ON
*END_BADI

//Step #2 - FC to USD
*FOR %CATS% = %CATEGORY_SET%
*RUN_PROGRAM CURR_CONVERSION
CATEGORY = %CATS%
CURRENCY = USD
TID_RA = %TIME_SET%
OTHER = [ENTITY = %ENTITY_SET%; DATASOURCE = %DATASOURCE_SET%,CALC] //OK, looks like you always want to convert CALC datasource
RATEENTITY = Global
*ENDRUN_PROGRAM
*NEXT

//Step #3 - Inflation Inputs
*XDIM_MEMBERSET DATASOURCE = INF.CALCCOMP,INF.INPUT
*XDIM_MEMBERSET INTERCO = I.NA
*XDIM_MEMBERSET LINEITEM = LI.001
*XDIM_MEMBERSET LOCALCC = CC.NA
*XDIM_MEMBERSET SCENARIO = S.NA
*XDIM_MEMBERSET FXCURRENCY = FC
*WHEN DATASOURCE
*IS *
*REC(EXPRESSION = %VALUE%, FXCURRENCY = USD)
*ENDWHEN
former_member186338
Active Contributor
0 Kudos

"Now, when I select DATASOURCE as well in data region in UJKT,"

For sure you have to select DATASOURCE when testing in UJKT

Without DATASOURCE selection the line OTHER will be incorrect!

%DATASOURCE_SET% - empty:

OTHER = [ENTITY = %ENTITY_SET%; DATASOURCE = ,CALC] - invalid comma before CALC

0 Kudos

OTHER = [ENTITY = %ENTITY_SET%; DATASOURCE = CALC] --> But this will hard code DATASOURCE, which customer doesn't want.


Package result - Failed (When <ALL> is selected for most dimensions)



Package result - Success (when Member & Descendants is selected for DATASOURCE , which serves the same purpose as <ALL>. )


What I don't understand is that why the package fails to consider DATASOURCE selection when <ALL> is selected and selects Entity member instead.
former_member186338
Active Contributor
0 Kudos

"when <ALL> selected and selects Entity member instead." - it's side effect of incorrect logic!

Try my answer with SELECTION - have you read it?

0 Kudos

trying that..

former_member186338
Active Contributor
0 Kudos

Just provided a real sample!

former_member186338
Active Contributor
0 Kudos

Strange script! Look on my comments:

*XDIM_MEMBERSET FXCURRENCY = FC // No effect on CURR_CONVERSION - useless!
*XDIM_FILTER DATASOURCE = [DATASOURCE].Properties("IS_CONVERTED") = Y  // No effect on CURR_CONVERSION - useless!
*XDIM_FILTER LOCALACCOUNT = [LOCALACCOUNT].Properties("CALC") = N  // No effect on CURR_CONVERSION - useless!
*XDIM_ADDMEMBERSET DATASOURCE = BAS(DS.SUBTOTAL)  // No effect on CURR_CONVERSION - useless!
*FOR %CATS% = %CATEGORY_SET%
*RUN_PROGRAM CURR_CONVERSION
CATEGORY = %CATS%
FXCURRENCY = USD //INCORRECT line, has to be: CURRENCY = USD
TID_RA = %TIME_SET%
OTHER = [ENTITY = %ENTITY_SET%; DATASOURCE = %DATASOURCE_SET%,CALC] //INCORRECT line ",CALC" - to be removed
RATEENTITY = GLOBAL //Not GLOBAL but Global (case!)
*ENDRUN_PROGRAM
*NEXT

Please post a text of advanced DM script for this package.