cancel
Showing results for 
Search instead for 
Did you mean: 

Script Logic is not working Properly in BPC 10.0

Former Member
0 Kudos

Hi ,


*XDIM_MEMBERSET MEASURES = YTD
*XDIM_MEMBERSET DATASRC = BAS(EXTERNAL_DATASRC)
*XDIM_MEMBERSET CATEGORY = %CATEGORY_SET%
*XDIM_MEMBERSET TIME = %TIME_SET%
*XDIM_MEMBERSET ENTITY = %ENTITY_SET%

*DESTINATION_APP = MGMT_INPUT
*SKIP_DIM = INTCO
*SKIP_DIM = FLOW
*ADD_DIM PRODUCT = NO_PRD, PRODUCTSRC = NO_PS, PRODUCTTYPE = NO_PRD_TYPE, MARKET = M_NO_MKT

//PART 1: TRANSFER G_NONE AND LC

*WHEN GROUPS
*IS G_NONE
*WHEN RPTCURRENCY
*IS LC
*WHEN CATEGORY.DATA_TO_MGMT_INPUT
*IS "CAT_TO_MOVE"
//*WHEN ACCOUNT.DATA_TO_MGMT_INPUT
//*IS "ACC_TO_MOVE"
*WHEN DATASRC.DATA_TO_MGMT_INPUT
*IS<>""
*WHEN ACCOUNT.ACCTYPE
*IS INC,LEQ
*REC(FACTOR = -1,DATASRC = DATASRC.DATA_TO_MGMT_INPUT)
*IS AST,EXP
*REC(FACTOR = 1,DATASRC = DATASRC.DATA_TO_MGMT_INPUT)
*ENDWHEN
*ENDWHEN
*ENDWHEN
*ENDWHEN
*ENDWHEN
//*ENDWHEN
*COMMIT

The part highlighted in red is not working properly.could someone suggest any other solution.

Thanks in Advance.

Thanks,

Ranjan

Accepted Solutions (0)

Answers (1)

Answers (1)

former_member186338
Active Contributor
0 Kudos

Hi Ranjan,

Test for empty in *IS is not working. The workaround can be like:

*SELECT(%MGMTINPUT%,"[DATA_TO_MGMT_INPUT]",DATASRC,"[DATA_TO_MGMT_INPUT]<>''")

*WHEN DATASRC.DATA_TO_MGMT_INPUT

*IS %MGMTINPUT%

...

Or simply put "No" instead of empty value in DATA_TO_MGMT_INPUT and use:

*IS <> "No"

B.R. Vadim

P.S. And please, remove COMMIT from your code - useless with WHEN/ENDWHEN

Former Member
0 Kudos

Hi Vadim,

Thanks for the quick respone.

Tried with both the option but getting the same error.

error : Value of Property (DATA_TO_MGMT_INPUT) for member (HYP_HIST_INP) in dimension (DATASRC) is empty

i tried with *SELECT(%DSC02%,"[ID]",DATASRC,"[DATA_TO_MGMT_INPUT]<>' '") and am getting some records

But dont kow whether its right or not.kindly help.

Thanks,

Ranjan

former_member186338
Active Contributor
0 Kudos

Hi,

The second option means, that you edit DATASRC dimension members with empty DATA_TO_MGMT_INPUT property and fill it with "No" or any other unique text. Only after doing it you can use line:

*IS <> "No"

If you have not a lot of members in DATASRC dimension it's OK (not a huge maintenance).

But if you want to keep the existing way of providing DATA_TO_MGMT_INPUT property (only were this property is useful and empty in other cases) then you have to use option 1. I can see error in your line:

*SELECT(%DSC02%,"[ID]",DATASRC,"[DATA_TO_MGMT_INPUT]<>' '")

No space between ' and '. Correct line was provided in my first post (adjusted to select DATASRC members ID's):

*SELECT(%DSC02%,"[ID]",DATASRC,"[DATA_TO_MGMT_INPUT]<>''")

*WHEN DATASRC

*IS %DSC02%

...

To ensure that it's right you have to test it on the sample data using UJKT transaction. But I don't see any mistakes.

B.R. Vadim

former_member186338
Active Contributor
0 Kudos

P.S. Provide the UJKT log if you have some questions...

former_member186338
Active Contributor
0 Kudos

To test the line you can validate in UJKT the following:

*SELECT(%DSC02%,"[ID]",DATASRC,"[DATA_TO_MGMT_INPUT]<>''")

*XDIM_MEMBERSET DATASRC=%DSC02%

A a result of validation you will see the line like:

*XDIM_MEMBERSET DATASRC=MEMBER1,MEMBER2,...

And you can check this list against the property values.

But, because you have the line: *XDIM_MEMBERSET DATASRC = BAS(EXTERNAL_DATASRC), then you can't use ID's, you have to use list of properties and compare properties.

Your final script will be like:

*SELECT(%DSCMGMT%,"[DATA_TO_MGMT_INPUT]",DATASRC,"[DATA_TO_MGMT_INPUT]<>''") //List of non empty property values - ensure that it contains only valid DATASRC member ID's

*XDIM_MEMBERSET DATASRC = BAS(EXTERNAL_DATASRC)

*XDIM_MEMBERSET CATEGORY = %CATEGORY_SET%

*XDIM_MEMBERSET TIME = %TIME_SET%

*XDIM_MEMBERSET ENTITY = %ENTITY_SET%

*XDIM_MEMBERSET RPTCURRENCY = LC

*XDIM_MEMBERSET GROUPS = G_NONE

*DESTINATION_APP = MGMT_INPUT
*SKIP_DIM = INTCO
*SKIP_DIM = FLOW
*ADD_DIM PRODUCT = NO_PRD, PRODUCTSRC = NO_PS, PRODUCTTYPE = NO_PRD_TYPE, MARKET = M_NO_MKT

*WHEN CATEGORY.DATA_TO_MGMT_INPUT

*IS "CAT_TO_MOVE"

  *WHEN DATASRC.DATA_TO_MGMT_INPUT

  *IS %DSCMGMT% //List of non empty properties from SELECT

    *WHEN ACCOUNT.ACCTYPE

    *IS INC,LEQ

      *REC(FACTOR = -1,DATASRC = DATASRC.DATA_TO_MGMT_INPUT)

    *ELSE

      *REC(FACTOR = 1,DATASRC = DATASRC.DATA_TO_MGMT_INPUT)

    *ENDWHEN

  *ENDWHEN

*ENDWHEN


B.R. Vadim

JohnL
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi Ranjan,

What do you have for the DATA_TO_MGMT_INPUT property for the member: HYP_HIST_INP ?

Thanks,

John