Quantcast
Channel: SCN: Message List
Viewing all articles
Browse latest Browse all 8944

Logic Scripts - transfer data from destination model

$
0
0

Hi experts,

 

I need to copy data from destination model to specific accounts of current model. From Rates to Planning model. Script runs in Planning using DP. I have tried several ways to achieve it and all of them are not correct. We use BPC 10.0 NW level 10.

 

What is the best way to transfer data from destination model?

1. Using LOOKUP for destination model and then For/Next

2. Using LOOKUP for destination model and then REC to current model inside Lookup;

3. Using LOOKUP for destination model and then Select operator and For/Next statement

4, Using LOOKUP for destination model and then When/Endwhen with variables

5. Using LOOKUP for destination model and then ordinary When/Endwhen

 

Example 1, using For/Next:

*XDIM_MEMBERSET RPTCURRENCY = LC

*XDIM_MEMBERSET CAR = CAR1_NA

// Also dims: Version, Time, Account, AuditTrail, Entity, Funds, Project

*LOOKUP Rates

*DIM ENTITY = "E1.S000"

*DIM INPUTCURRENCY = "LC"

*DIM RA301:R_ACCOUNT = "RA.301"

*DIM RA302:R_ACCOUNT = "RA.302"

*DIM RA303:R_ACCOUNT = "RA.303"

*DIM RA304:R_ACCOUNT = "RA.304"

*ENDLOOKUP

*FOR %ACC% = "A1.591","A1.592","A1.593","A1.594" AND %RACC% = LOOKUP(RA301),LOOKUP(RA302),LOOKUP(RA303),LOOKUP(RA304)

  *REC(EXPRESSION = %RA%, ACCOUNT = %ACC%, AUDITTRAIL = "DS1.811", ENTITY = "E1.S000", FUNDS = "F1_NA", PROJECT = "P1_NA")

*NEXT

Result of validation:

UJK_VALIDATION_EXCEPTION:Line 16: Unknown or unimplemented keyword "*REC(EXPRESSION = LOOKUP(RA301), ACCOUNT = "A1.591"

 

Example 2, using REC inside Lookup:

*XDIM_MEMBERSET RPTCURRENCY = LC

*XDIM_MEMBERSET CAR = CAR1_NA

// Account, AuditTrail, Entity, Funds, Project

*FOR %ACC% = A1.591,"A1.592","A1.593","A1.594" AND %RACC% = "RA.301","RA.302","RA.303","RA.304"

*LOOKUP Rates

*DIM ENTITY = "E1.S000"

*DIM INPUTCURRENCY = "LC"

*DIM RA:R_ACCOUNT = %RACC%

*ENDLOOKUP

*REC(EXPRESSION = LOOKUP(RA), ACCOUNT = %ACC%, AUDITTRAIL = "DS1.811", ENTITY = "E1.S000", FUNDS = "F1_NA", PROJECT = "P1_NA")

*NEXT

Result of validation:

UJK_VALIDATION_EXCEPTION:Line 6: Unknown or unimplemented keyword "*REC(EXPRESSION = LOOKUP(RA), ACCOUNT = A1.591, AU"

 

Example 3, using Select and For/Next:

*XDIM_MEMBERSET RPTCURRENCY = LC
*XDIM_MEMBERSET CAR = CAR1_NA
// Account, AuditTrail, Entity, Funds, Project

*LOOKUP Rates
*DIM ENTITY = "E1.S000"
*DIM INPUTCURRENCY = "LC"
*DIM RA301:R_ACCOUNT = "RA.301"
*DIM RA302:R_ACCOUNT = "RA.302"
*DIM RA303:R_ACCOUNT = "RA.303"
*DIM RA304:R_ACCOUNT = "RA.304"
*ENDLOOKUP

*SELECT(%BASTIME%,"[ID]",TIME,"[YEAR] = '$YEAR_TOTAL$'")
*FOR %LOOP_TIME% = %BASTIME%
*REC(EXPRESSION = LOOKUP(RA301), TIME = %LOOP_TIME%, ACCOUNT = "A1.591", AUDITTRAIL = "DS1.811", ENTITY = "E1.S000", PROJECT = "P1_NA", FUNDS = "F1_NA")
*REC(EXPRESSION = LOOKUP(RA302), TIME = %LOOP_TIME%, ACCOUNT = "A1.592", AUDITTRAIL = "DS1.811", ENTITY = "E1.S000", PROJECT = "P1_NA", FUNDS = "F1_NA")
*REC(EXPRESSION = LOOKUP(RA303), TIME = %LOOP_TIME%, ACCOUNT = "A1.593", AUDITTRAIL = "DS1.811", ENTITY = "E1.S000", PROJECT = "P1_NA", FUNDS = "F1_NA")
*REC(EXPRESSION = LOOKUP(RA304), TIME = %LOOP_TIME%, ACCOUNT = "A1.594", AUDITTRAIL = "DS1.811", ENTITY = "E1.S000", PROJECT = "P1_NA", FUNDS = "F1_NA")
*NEXT

Result of validation:

UJK_VALIDATION_EXCEPTION:Line 15: Unknown or unimplemented keyword "*REC(EXPRESSION = LOOKUP(RA301), TIME = %BASTIME%,"

 

Example 4, using When/Endwhen with variables:

*XDIM_MEMBERSET RPTCURRENCY = LC
*XDIM_MEMBERSET CAR = CAR1_NA
// Account, AuditTrail, Entity, Funds, Project

*LOOKUP Rates
*DIM ENTITY = "E1.S000"
*DIM INPUTCURRENCY = "LC"
*DIM RA301:R_ACCOUNT = "RA.301"

*DIM RA302:R_ACCOUNT = "RA.302"

*DIM RA303:R_ACCOUNT = "RA.303"

*DIM RA304:R_ACCOUNT = "RA.304"

*ENDLOOKUP

*WHEN LOOKUP(RA301)
*IS > 0
*REC(EXPRESSION = LOOKUP(RA301), ACCOUNT = "A1.591", AUDITTRAIL = "DS1.811", ENTITY = "E1.S000", PROJECT = "P1_NA", FUNDS = "F1_NA")
*ENDWHEN

Result of validation:

UJK_VALIDATION_EXCEPTION:Invalid dimension "LOOKUP(RA301)" in model "Planning"

 

Example 5, using ordinary When/Endwhen:

*XDIM_MEMBERSET RPTCURRENCY = LC
*XDIM_MEMBERSET CAR = CAR1_NA
// Account, AuditTrail, Entity, Funds, Project

*LOOKUP Rates
*DIM ENTITY = "E1.S000"
*DIM INPUTCURRENCY = "LC"
*DIM RA301:R_ACCOUNT = "RA.301"

*DIM RA302:R_ACCOUNT = "RA.302"

*DIM RA303:R_ACCOUNT = "RA.303"

*DIM RA304:R_ACCOUNT = "RA.304"

*ENDLOOKUP

*WHEN ACCOUNT

*IS A1.591

*WHEN PROJECT

*IS P1_NA

*REC(EXPRESSION = LOOKUP(RA301), ACCOUNT = "A1.591", AUDITTRAIL = "DS1.811", PROJECT = "P1_NA", FUNDS = "F1_NA")

*REC(EXPRESSION = LOOKUP(RA302), ACCOUNT = "A1.592", AUDITTRAIL = "DS1.811", PROJECT = "P1_NA", FUNDS = "F1_NA")

*REC(EXPRESSION = LOOKUP(RA303), ACCOUNT = "A1.593", AUDITTRAIL = "DS1.811", PROJECT = "P1_NA", FUNDS = "F1_NA")

*REC(EXPRESSION = LOOKUP(RA304), ACCOUNT = "A1.594", AUDITTRAIL = "DS1.811", PROJECT = "P1_NA", FUNDS = "F1_NA")

*ENDWHEN

*ENDWHEN

Result of validation:

OK.

But It will work only if there is existing one and only one record in scope When A1.591 and P1_NA.


Viewing all articles
Browse latest Browse all 8944

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>