cancel
Showing results for 
Search instead for 
Did you mean: 
Subscribe

Hi,

I am trying to make simple conversion logic following one blog on SCN. The problem is that the value for last variable in LOOKUP Rates is always overwriting the previous. In the examples below are with EUR and USD. What should be the correct code?



LGX:

*XDIM_MEMBERSET ENTITY = DE

*XDIM_MEMBERSET CATEGORY = Actual

*XDIM_MEMBERSET TIME = 2015.01

*XDIM_MEMBERSET RPTCURRENCY = LC

*LOOKUP Rates

*DIM R_ENTITY = "Global"

*DIM SOURCECUR:INPUTCURRENCY = ENTITY.CURRENCY

*DIM DESTCURR1:INPUTCURRENCY = USD

*DIM DESTCURR2:INPUTCURRENCY = EUR

*DIM R_ACCOUNT = ACCOUNT.RATETYPE

*ENDLOOKUP

*WHEN ACCOUNT.RATETYPE

*IS AVG,CLO

*REC(FACTOR = LOOKUP(DESTCURR1),RPTCURRENCY = USD)

*REC(FACTOR = LOOKUP(DESTCURR2),RPTCURRENCY = EUR)

*ENDWHEN

*COMMIT

-------------------------------------------------------------------------------------------------------------------------------------

LOG:

LOG BEGIN TIME:2015-05-26 10:34:32

FILE:\ROOT\WEBFOLDERS\TEST_CONSOL \ADMINAPP\Consolidation\TEST.LGF

USER:BPC

APPSET:TEST_CONSOL

APPLICATION:Consolidation

[INFO] GET_DIM_LIST(): I_APPL_ID="Consolidation", #dimensions=10

ACCOUNT,AUDITTRAIL,CATEGORY,ENTITY,FLOW,INTERCO,MEASURES,RPTCURRENCY,SCOPE,TIME

#dim_memberset=4

ENTITY:DE,1 in total.

CATEGORY:Actual,1 in total.

TIME:2015.01,1 in total.

RPTCURRENCY:LC,1 in total.

REC :%value%*(LOOKUP(DESTCURR1))

REC :%value%*(LOOKUP(DESTCURR2))

CALCULATION BEGIN:

QUERY PROCESSING DATA

QUERY TIME : 0.00 ms. 14  RECORDS QUERIED OUT.

QUERY REFERENCE DATA

QUERY LOOKUP DATA FROM APPLICATION: Rates

QUERY TIME : 0.00 ms. 2  RECORDS QUERIED OUT.

CALCULATION TIME IN TOTAL :0.00 ms.

28  RECORDS ARE GENERATED.

CALCULATION END.

ENDWHEN ACCUMULATION: 28  RECORDS ARE GENERATED.

DATA TO WRITE BACK:

ACCOUNT AUDITTRAIL CATEGORY ENTITY FLOW INTERCO RPTCURRENCY SCOPE TIME SIGNEDDATA

BS111 Input Actual DE Balance ThirdParty USD S_None 2015.01 0.00

BS121 Input Actual DE Balance ThirdParty USD S_None 2015.01 0.00

BS122 Input Actual DE Balance ThirdParty USD S_None 2015.01 0.00

BS211 Input Actual DE Balance ThirdParty USD S_None 2015.01 0.00

BS212 Input Actual DE Balance ThirdParty USD S_None 2015.01 0.00

BS213 Input Actual DE Balance ThirdParty USD S_None 2015.01 0.00

BS214 Input Actual DE Balance ThirdParty USD S_None 2015.01 0.00

PL010 Input Actual DE Balance ThirdParty USD S_None 2015.01 0.00

PL020 Input Actual DE Balance ThirdParty USD S_None 2015.01 0.00

PL110 Input Actual DE Balance ThirdParty USD S_None 2015.01 0.00

PL120 Input Actual DE Balance ThirdParty USD S_None 2015.01 0.00

PL310 Input Actual DE Balance ThirdParty USD S_None 2015.01 0.00

PL320 Input Actual DE Balance ThirdParty USD S_None 2015.01 0.00

PL330 Input Actual DE Balance ThirdParty USD S_None 2015.01 0.00

BS111 Input Actual DE Balance ThirdParty EUR S_None 2015.01 0.00

BS121 Input Actual DE Balance ThirdParty EUR S_None 2015.01 138.75

BS122 Input Actual DE Balance ThirdParty EUR S_None 2015.01 0.00

BS211 Input Actual DE Balance ThirdParty EUR S_None 2015.01 0.00

BS212 Input Actual DE Balance ThirdParty EUR S_None 2015.01 - 138.75

BS213 Input Actual DE Balance ThirdParty EUR S_None 2015.01 0.00

BS214 Input Actual DE Balance ThirdParty EUR S_None 2015.01 0.00

PL010 Input Actual DE Balance ThirdParty EUR S_None 2015.01 0.00

PL020 Input Actual DE Balance ThirdParty EUR S_None 2015.01 - 133.20

PL110 Input Actual DE Balance ThirdParty EUR S_None 2015.01 0.00

PL120 Input Actual DE Balance ThirdParty EUR S_None 2015.01 0.00

PL310 Input Actual DE Balance ThirdParty EUR S_None 2015.01 0.00

PL320 Input Actual DE Balance ThirdParty EUR S_None 2015.01 133.20

PL330 Input Actual DE Balance ThirdParty EUR S_None 2015.01 0.00

28  RECORDS HAVE BEEN WRITTEN BACK.

WRITING TIME :1.00  ms.

SCRIPT RUNNING TIME IN TOTAL:1.00 s.

LOG END TIME:2015-05-26 10:34:33

--------------------------------

LGX:

*XDIM_MEMBERSET ENTITY = DE

*XDIM_MEMBERSET CATEGORY = Actual

*XDIM_MEMBERSET TIME = 2015.01

*XDIM_MEMBERSET RPTCURRENCY = LC

*LOOKUP Rates

*DIM R_ENTITY = "Global"

*DIM SOURCECUR:INPUTCURRENCY = ENTITY.CURRENCY

*DIM DESTCURR2:INPUTCURRENCY = EUR

*DIM DESTCURR1:INPUTCURRENCY = USD

*DIM R_ACCOUNT = ACCOUNT.RATETYPE

*ENDLOOKUP

*WHEN ACCOUNT.RATETYPE

*IS AVG,CLO

*REC(FACTOR = LOOKUP(DESTCURR1),RPTCURRENCY = USD)

*REC(FACTOR = LOOKUP(DESTCURR2),RPTCURRENCY = EUR)

*ENDWHEN

*COMMIT

-------------------------------------------------------------------------------------------------------------------------------------

LOG:

LOG BEGIN TIME:2015-05-26 10:39:51

FILE:\ROOT\WEBFOLDERS\TEST_CONSOL \ADMINAPP\Consolidation\TEST.LGF

USER:BPC

APPSET:TEST_CONSOL

APPLICATION:Consolidation

[INFO] GET_DIM_LIST(): I_APPL_ID="Consolidation", #dimensions=10

ACCOUNT,AUDITTRAIL,CATEGORY,ENTITY,FLOW,INTERCO,MEASURES,RPTCURRENCY,SCOPE,TIME

#dim_memberset=4

ENTITY:DE,1 in total.

CATEGORY:Actual,1 in total.

TIME:2015.01,1 in total.

RPTCURRENCY:LC,1 in total.

REC :%value%*(LOOKUP(DESTCURR1))

REC :%value%*(LOOKUP(DESTCURR2))

CALCULATION BEGIN:

QUERY PROCESSING DATA

QUERY TIME : 0.00 ms. 14  RECORDS QUERIED OUT.

QUERY REFERENCE DATA

QUERY LOOKUP DATA FROM APPLICATION: Rates

QUERY TIME : 0.00 ms. 2  RECORDS QUERIED OUT.

CALCULATION TIME IN TOTAL :0.00 ms.

28  RECORDS ARE GENERATED.

CALCULATION END.

ENDWHEN ACCUMULATION: 28  RECORDS ARE GENERATED.

DATA TO WRITE BACK:

ACCOUNT AUDITTRAIL CATEGORY ENTITY FLOW INTERCO RPTCURRENCY SCOPE TIME SIGNEDDATA

BS111 Input Actual DE Balance ThirdParty USD S_None 2015.01 0.00

BS121 Input Actual DE Balance ThirdParty USD S_None 2015.01 133.20

BS122 Input Actual DE Balance ThirdParty USD S_None 2015.01 0.00

BS211 Input Actual DE Balance ThirdParty USD S_None 2015.01 0.00

BS212 Input Actual DE Balance ThirdParty USD S_None 2015.01 - 133.20

BS213 Input Actual DE Balance ThirdParty USD S_None 2015.01 0.00

BS214 Input Actual DE Balance ThirdParty USD S_None 2015.01 0.00

PL010 Input Actual DE Balance ThirdParty USD S_None 2015.01 0.00

PL020 Input Actual DE Balance ThirdParty USD S_None 2015.01 - 144.30

PL110 Input Actual DE Balance ThirdParty USD S_None 2015.01 0.00

PL120 Input Actual DE Balance ThirdParty USD S_None 2015.01 0.00

PL310 Input Actual DE Balance ThirdParty USD S_None 2015.01 0.00

PL320 Input Actual DE Balance ThirdParty USD S_None 2015.01 144.30

PL330 Input Actual DE Balance ThirdParty USD S_None 2015.01 0.00

BS111 Input Actual DE Balance ThirdParty EUR S_None 2015.01 0.00

BS121 Input Actual DE Balance ThirdParty EUR S_None 2015.01 0.00

BS122 Input Actual DE Balance ThirdParty EUR S_None 2015.01 0.00

BS211 Input Actual DE Balance ThirdParty EUR S_None 2015.01 0.00

BS212 Input Actual DE Balance ThirdParty EUR S_None 2015.01 0.00

BS213 Input Actual DE Balance ThirdParty EUR S_None 2015.01 0.00

BS214 Input Actual DE Balance ThirdParty EUR S_None 2015.01 0.00

PL010 Input Actual DE Balance ThirdParty EUR S_None 2015.01 0.00

PL020 Input Actual DE Balance ThirdParty EUR S_None 2015.01 0.00

PL110 Input Actual DE Balance ThirdParty EUR S_None 2015.01 0.00

PL120 Input Actual DE Balance ThirdParty EUR S_None 2015.01 0.00

PL310 Input Actual DE Balance ThirdParty EUR S_None 2015.01 0.00

PL320 Input Actual DE Balance ThirdParty EUR S_None 2015.01 0.00

PL330 Input Actual DE Balance ThirdParty EUR S_None 2015.01 0.00

28  RECORDS HAVE BEEN WRITTEN BACK.

WRITING TIME :1.00  ms.

SCRIPT RUNNING TIME IN TOTAL:1.00 s.

LOG END TIME:2015-05-26 10:39:52

0 Likes
View Entire Topic
former_member192555
Participant
0 Likes

I am also having troubles to set Dynamic variable in For/Next and then use it in REC.

*XDIM_MEMBERSET COMPANY = %COMPANY_SET%

*XDIM_MEMBERSET C_CATEGORY = %C_CATEGORY_SET%

*XDIM_MEMBERSET TIME = %TIME_SET%

*XDIM_MEMBERSET RPTCURRENCY = %RPTCURRENCY_SET%

*LOOKUP Rates

      *DIM R_ENTITY = "Global"

      *FOR %CUR% = USD,EUR

      *DIM C_%CUR%:INPUTCURRENCY = %CUR%                

                 *NEXT

      *DIM R_ACCT = C_ACCT.RATETYPE

                *DIM MEASURES=PERIODIC

*ENDLOOKUP

*WHEN C_ACCT.RATETYPE

  *IS "AVG","ENDFLOW"

             *REC(FACTOR = LOOKUP(C_%CUR%),RPTCURRENCY = "%CUR%")

*ENDWHEN

It gives me:

UJK_VALIDATION_EXCEPTION:LOOKUP ID "C_%CUR%" not found

former_member186338
Active Contributor
0 Likes

You have to use second FOR/NEXT loop with different loop variable - like:

*WHEN C_ACCT.RATETYPE

  *IS "AVG","ENDFLOW"

         *FOR %C% = USD,EUR   

         *REC(FACTOR = LOOKUP(C_%C%),RPTCURRENCY = "%C%")

         *NEXT

*ENDWHEN

Vadim

P.S. And scope currency to LC...

former_member192555
Participant
0 Likes

Thank you Vadim. Now the script runs, but I get the same problem as without FOR/NEXT loop. If I change the order of currencies in - *FOR %CUR% = EUR,USD, then USD is translated, but EUR is nulled.

Code:

*XDIM_MEMBERSET COMPANY = %COMPANY_SET%

*XDIM_MEMBERSET C_CATEGORY = %C_CATEGORY_SET%

*XDIM_MEMBERSET TIME = %TIME_SET%

*XDIM_MEMBERSET RPTCURRENCY = %RPTCURRENCY_SET%

*LOOKUP Rates

      *DIM R_ENTITY = "Global"

      *FOR %CUR% = USD,EUR

      *DIM C_%CUR%:INPUTCURRENCY = "%CUR%"               

      *NEXT

      *DIM R_ACCT = C_ACCT.RATETYPE

                 *DIM MEASURES = PERIODIC

*ENDLOOKUP

*WHEN C_ACCT.RATETYPE

  *IS "AVG","ENDFLOW"

                    *FOR %C% = USD,EUR

              *REC(FACTOR = LOOKUP(C_%C%),RPTCURRENCY = "%C%")

                    *NEXT

*ENDWHEN

LOG

LGX:

*XDIM_MEMBERSET COMPANY = <All>

*XDIM_MEMBERSET C_CATEGORY = ACTUAL

*XDIM_MEMBERSET TIME = 2011.12

*XDIM_MEMBERSET RPTCURRENCY = LC

*LOOKUP Rates

*DIM R_ENTITY = "Global"

*DIM C_USD:INPUTCURRENCY = "USD"

*DIM C_EUR:INPUTCURRENCY = "EUR"

*DIM R_ACCT = C_ACCT.RATETYPE

*DIM MEASURES = PERIODIC

*ENDLOOKUP

*WHEN C_ACCT.RATETYPE

*IS AVG,ENDFLOW

*REC(FACTOR = LOOKUP(C_USD),RPTCURRENCY = USD)

*REC(FACTOR = LOOKUP(C_EUR),RPTCURRENCY = EUR)

*ENDWHEN

-------------------------------------------------------------------------------------------------------------------------------------

LOG:

LOG BEGIN TIME:2015-05-31 22:53:43

FILE:\ROOT\WEBFOLDERS\BPC440_TEST \ADMINAPP\LEGAL\TEST.LGF

USER:BPC

APPSET:BPC440_TEST

APPLICATION:LEGAL

[INFO] GET_DIM_LIST(): I_APPL_ID="LEGAL", #dimensions=10

COMPANY,CONSGROUP,C_ACCT,C_CATEGORY,C_DATASRC,FLOW,INTCO,MEASURES,RPTCURRENCY,TIME

#dim_memberset=3

C_CATEGORY:ACTUAL,1 in total.

TIME:2011.12,1 in total.

RPTCURRENCY:LC,1 in total.

REC :%value%*(LOOKUP(C_USD))

REC :%value%*(LOOKUP(C_EUR))

CALCULATION BEGIN:

QUERY PROCESSING DATA

QUERY TIME : 0.00 ms. 35  RECORDS QUERIED OUT.

QUERY REFERENCE DATA

QUERY LOOKUP DATA FROM APPLICATION: Rates

QUERY TIME : 0.00 ms. 3  RECORDS QUERIED OUT.

CALCULATION TIME IN TOTAL :0.00 ms.

70  RECORDS ARE GENERATED.

CALCULATION END.

ENDWHEN ACCUMULATION: 70  RECORDS ARE GENERATED.

DATA TO WRITE BACK:

COMPANY CONSGROUP C_ACCT C_CATEGORY C_DATASRC FLOW INTCO RPTCURRENCY TIME SIGNEDDATA

C3000 G_NONE 11112000 ACTUAL INPUT F_CB I_NONE USD 2011.12 0.00

C9000 G_NONE 11112000 ACTUAL INPUT F_CB I_NONE USD 2011.12 0.00

C5100 G_NONE 11112000 ACTUAL INPUT F_CB I_NONE USD 2011.12 0.00

C1000 G_NONE CF001 ACTUAL INPUT F_CB I_NONE USD 2011.12 0.00

C2000 G_NONE 30311000 ACTUAL INPUT F_CB I_NONE USD 2011.12 0.00

C4000 G_NONE 11112000 ACTUAL INPUT F_CB I_NONE USD 2011.12 0.00

C2000 G_NONE 12120300 ACTUAL INPUT F_CB I_NONE USD 2011.12 0.00

C2000 G_NONE 11112000 ACTUAL INPUT F_CB I_NONE USD 2011.12 0.00

C5000 G_NONE 11112000 ACTUAL INPUT F_CB I_NONE USD 2011.12 0.00

C2000 G_NONE 11211000 ACTUAL INPUT F_CB I_NONE USD 2011.12 0.00

C2000 G_NONE 12110300 ACTUAL INPUT F_ACQ I_NONE USD 2011.12 0.00

C2000 G_NONE 12110300 ACTUAL INPUT F_CB I_NONE USD 2011.12 0.00

C1000 G_NONE 11112000 ACTUAL INPUT F_CB I_NONE USD 2011.12 0.00

C1000 G_NONE CF002 ACTUAL INPUT F_CB I_NONE USD 2011.12 0.00

C1000 G_NONE 30120000 ACTUAL INPUT F_CB I_C2000 USD 2011.12 0.00

C2000 G_NONE 39000000 ACTUAL INPUT F_CB I_NONE USD 2011.12 0.00

C1000 G_NONE 12110300 ACTUAL INPUT F_ACQ I_NONE USD 2011.12 0.00

C1000 G_NONE 11301100 ACTUAL INPUT F_CB I_C2000 USD 2011.12 0.00

C1000 G_NONE 21121000 ACTUAL INPUT F_CB I_NONE USD 2011.12 0.00

C1000 G_NONE 30527140 ACTUAL INPUT F_CB I_NONE USD 2011.12 0.00

C1000 G_NONE 12110300 ACTUAL INPUT F_OB I_NONE USD 2011.12 0.00

C1000 G_NONE 30110000 ACTUAL INPUT F_CB I_NONE USD 2011.12 0.00

C1000 G_NONE 30311000 ACTUAL INPUT F_CB I_NONE USD 2011.12 0.00

C2000 G_NONE 30312000 ACTUAL INPUT F_CB I_C1000 USD 2011.12 0.00

C2000 G_NONE 21171000 ACTUAL INPUT F_CB I_C1000 USD 2011.12 0.00

C2000 G_NONE 30110000 ACTUAL INPUT F_CB I_NONE USD 2011.12 0.00

C2000 G_NONE CF001 ACTUAL INPUT F_CB I_NONE USD 2011.12 0.00

C1000 G_NONE 11211000 ACTUAL INPUT F_CB I_NONE USD 2011.12 0.00

C1000 G_NONE 12120300 ACTUAL INPUT F_CB I_NONE USD 2011.12 0.00

C2000 G_NONE CF002 ACTUAL INPUT F_CB I_NONE USD 2011.12 0.00

C2000 G_NONE 30527140 ACTUAL INPUT F_CB I_NONE USD 2011.12 0.00

C2000 G_NONE 21121000 ACTUAL INPUT F_CB I_NONE USD 2011.12 0.00

C2000 G_NONE 12110300 ACTUAL INPUT F_OB I_NONE USD 2011.12 0.00

C1000 G_NONE 39000000 ACTUAL INPUT F_CB I_NONE USD 2011.12 0.00

C1000 G_NONE 12110300 ACTUAL INPUT F_CB I_NONE USD 2011.12 0.00

C3000 G_NONE 11112000 ACTUAL INPUT F_CB I_NONE EUR 2011.12 91000.00

C9000 G_NONE 11112000 ACTUAL INPUT F_CB I_NONE EUR 2011.12 91000.00

C5100 G_NONE 11112000 ACTUAL INPUT F_CB I_NONE EUR 2011.12 65000.00

C1000 G_NONE CF001 ACTUAL INPUT F_CB I_NONE EUR 2011.12 26000.00

C2000 G_NONE 30311000 ACTUAL INPUT F_CB I_NONE EUR 2011.12 117000.00

C4000 G_NONE 11112000 ACTUAL INPUT F_CB I_NONE EUR 2011.12 65000.00

C2000 G_NONE 12120300 ACTUAL INPUT F_CB I_NONE EUR 2011.12 - 2600.00

C2000 G_NONE 11112000 ACTUAL INPUT F_CB I_NONE EUR 2011.12 49299.90

C5000 G_NONE 11112000 ACTUAL INPUT F_CB I_NONE EUR 2011.12 91000.00

C2000 G_NONE 11211000 ACTUAL INPUT F_CB I_NONE EUR 2011.12 15600.00

C2000 G_NONE 12110300 ACTUAL INPUT F_ACQ I_NONE EUR 2011.12 78000.00

C2000 G_NONE 12110300 ACTUAL INPUT F_CB I_NONE EUR 2011.12 104000.00

C1000 G_NONE 11112000 ACTUAL INPUT F_CB I_NONE EUR 2011.12 115700.00

C1000 G_NONE CF002 ACTUAL INPUT F_CB I_NONE EUR 2011.12 6500.00

C1000 G_NONE 30120000 ACTUAL INPUT F_CB I_C2000 EUR 2011.12 - 36346.50

C2000 G_NONE 39000000 ACTUAL INPUT F_CB I_NONE EUR 2011.12 30000.00

C1000 G_NONE 12110300 ACTUAL INPUT F_ACQ I_NONE EUR 2011.12 26000.00

C1000 G_NONE 11301100 ACTUAL INPUT F_CB I_C2000 EUR 2011.12 27300.00

C1000 G_NONE 21121000 ACTUAL INPUT F_CB I_NONE EUR 2011.12 - 13000.00

C1000 G_NONE 30527140 ACTUAL INPUT F_CB I_NONE EUR 2011.12 7500.00

C1000 G_NONE 12110300 ACTUAL INPUT F_OB I_NONE EUR 2011.12 130000.00

C1000 G_NONE 30110000 ACTUAL INPUT F_CB I_NONE EUR 2011.12 - 187500.00

C1000 G_NONE 30311000 ACTUAL INPUT F_CB I_NONE EUR 2011.12 150000.00

C2000 G_NONE 30312000 ACTUAL INPUT F_CB I_C1000 EUR 2011.12 36346.50

C2000 G_NONE 21171000 ACTUAL INPUT F_CB I_C1000 EUR 2011.12 - 27300.00

C2000 G_NONE 30110000 ACTUAL INPUT F_CB I_NONE EUR 2011.12 - 150000.00

C2000 G_NONE CF001 ACTUAL INPUT F_CB I_NONE EUR 2011.12 26000.00

C1000 G_NONE 11211000 ACTUAL INPUT F_CB I_NONE EUR 2011.12 13000.00

C1000 G_NONE 12120300 ACTUAL INPUT F_CB I_NONE EUR 2011.12 - 6500.00

C2000 G_NONE CF002 ACTUAL INPUT F_CB I_NONE EUR 2011.12 2600.00

C2000 G_NONE 30527140 ACTUAL INPUT F_CB I_NONE EUR 2011.12 3000.00

C2000 G_NONE 21121000 ACTUAL INPUT F_CB I_NONE EUR 2011.12 - 13000.00

C2000 G_NONE 12110300 ACTUAL INPUT F_OB I_NONE EUR 2011.12 26000.00

C1000 G_NONE 39000000 ACTUAL INPUT F_CB I_NONE EUR 2011.12 30000.00

C1000 G_NONE 12110300 ACTUAL INPUT F_CB I_NONE EUR 2011.12 156000.00

70  RECORDS HAVE BEEN WRITTEN BACK.

WRITING TIME :0.00  ms.

SCRIPT RUNNING TIME IN TOTAL:1.00 s.

LOG END TIME:2015-05-31 22:53:44

former_member192555
Participant
0 Likes

btw. The code is for different model than the one in the first post, but the logic applies.

Well, this code is working

DATA Region

COMPANY = <All>

C_CATEGORY = ACTUAL

Time = 2011.12

RPTCURRENCY = USD,EUR

Code:

*XDIM_MEMBERSET COMPANY = %COMPANY_SET%

*XDIM_MEMBERSET C_CATEGORY = %C_CATEGORY_SET%

*XDIM_MEMBERSET TIME = %TIME_SET%

*XDIM_MEMBERSET RPTCURRENCY = LC

*LOOKUP Rates

      *DIM R_ENTITY = "Global"

      *FOR %CUR% = %RPTCURRENCY_SET%

          *DIM C_%CUR%:INPUTCURRENCY = "%CUR%"             

      *NEXT

      *DIM CLC:INPUTCURRENCY = COMPANY.CURRENCY

      *DIM R_ACCT = C_ACCT.RATETYPE

       *DIM MEASURES = PERIODIC

*ENDLOOKUP

*WHEN C_ACCT.RATETYPE

  *IS "AVG","ENDFLOW"

                    *FOR %C% = %RPTCURRENCY_SET%

                          *REC(FACTOR = LOOKUP(C_%C%)/LOOKUP(CLC),RPTCURRENCY = "%C%")

                    *NEXT

*ENDWHEN

LOG

LGX:

*XDIM_MEMBERSET COMPANY = <All>

*XDIM_MEMBERSET C_CATEGORY = ACTUAL

*XDIM_MEMBERSET TIME = 2011.12

*XDIM_MEMBERSET RPTCURRENCY = LC

*LOOKUP Rates

*DIM R_ENTITY = "Global"

*DIM C_USD:INPUTCURRENCY = "USD"

*DIM C_EUR:INPUTCURRENCY = "EUR"

*DIM CLC:INPUTCURRENCY = COMPANY.CURRENCY

*DIM R_ACCT = C_ACCT.RATETYPE

*DIM MEASURES = PERIODIC

*ENDLOOKUP

*WHEN C_ACCT.RATETYPE

*IS AVG,ENDFLOW

*REC(FACTOR = LOOKUP(C_USD)/LOOKUP(CLC),RPTCURRENCY = USD)

*REC(FACTOR = LOOKUP(C_EUR)/LOOKUP(CLC),RPTCURRENCY = EUR)

*ENDWHEN

-------------------------------------------------------------------------------------------------------------------------------------

LOG:

LOG BEGIN TIME:2015-06-01 09:40:32

FILE:\ROOT\WEBFOLDERS\BPC440_TEST \ADMINAPP\LEGAL\TEST.LGF

USER:BPC

APPSET:BPC440_TEST

APPLICATION:LEGAL

[INFO] GET_DIM_LIST(): I_APPL_ID="LEGAL", #dimensions=10

COMPANY,CONSGROUP,C_ACCT,C_CATEGORY,C_DATASRC,FLOW,INTCO,MEASURES,RPTCURRENCY,TIME

#dim_memberset=3

C_CATEGORY:ACTUAL,1 in total.

TIME:2011.12,1 in total.

RPTCURRENCY:LC,1 in total.

REC :%value%*(LOOKUP(C_USD)/LOOKUP(CLC))

REC :%value%*(LOOKUP(C_EUR)/LOOKUP(CLC))

CALCULATION BEGIN:

QUERY PROCESSING DATA

QUERY TIME : 0.00 ms. 35  RECORDS QUERIED OUT.

QUERY REFERENCE DATA

QUERY LOOKUP DATA FROM APPLICATION: Rates

QUERY TIME : 0.00 ms. 21  RECORDS QUERIED OUT.

CALCULATION TIME IN TOTAL :0.00 ms.

70  RECORDS ARE GENERATED.

CALCULATION END.

ENDWHEN ACCUMULATION: 70  RECORDS ARE GENERATED.

DATA TO WRITE BACK:

COMPANY CONSGROUP C_ACCT C_CATEGORY C_DATASRC FLOW INTCO RPTCURRENCY TIME SIGNEDDATA

C3000 G_NONE 11112000 ACTUAL INPUT F_CB I_NONE USD 2011.12 70000.00

C9000 G_NONE 11112000 ACTUAL INPUT F_CB I_NONE USD 2011.12 70000.00

C5100 G_NONE 11112000 ACTUAL INPUT F_CB I_NONE USD 2011.12 38461.54

C1000 G_NONE CF001 ACTUAL INPUT F_CB I_NONE USD 2011.12 15384.62

C2000 G_NONE 30311000 ACTUAL INPUT F_CB I_NONE USD 2011.12 52000.00

C4000 G_NONE 11112000 ACTUAL INPUT F_CB I_NONE USD 2011.12 38461.54

C2000 G_NONE 12120300 ACTUAL INPUT F_CB I_NONE USD 2011.12 - 1538.46

C2000 G_NONE 11112000 ACTUAL INPUT F_CB I_NONE USD 2011.12 29171.54

C5000 G_NONE 11112000 ACTUAL INPUT F_CB I_NONE USD 2011.12 53846.15

C2000 G_NONE 11211000 ACTUAL INPUT F_CB I_NONE USD 2011.12 9230.77

C2000 G_NONE 12110300 ACTUAL INPUT F_ACQ I_NONE USD 2011.12 46153.85

C2000 G_NONE 12110300 ACTUAL INPUT F_CB I_NONE USD 2011.12 61538.46

C1000 G_NONE 11112000 ACTUAL INPUT F_CB I_NONE USD 2011.12 68461.54

C1000 G_NONE CF002 ACTUAL INPUT F_CB I_NONE USD 2011.12 3846.15

C1000 G_NONE 30120000 ACTUAL INPUT F_CB I_C2000 USD 2011.12 - 16154.00

C2000 G_NONE 39000000 ACTUAL INPUT F_CB I_NONE USD 2011.12 13333.33

C1000 G_NONE 12110300 ACTUAL INPUT F_ACQ I_NONE USD 2011.12 15384.62

C1000 G_NONE 11301100 ACTUAL INPUT F_CB I_C2000 USD 2011.12 16153.85

C1000 G_NONE 21121000 ACTUAL INPUT F_CB I_NONE USD 2011.12 - 7692.31

C1000 G_NONE 30527140 ACTUAL INPUT F_CB I_NONE USD 2011.12 3333.33

C1000 G_NONE 12110300 ACTUAL INPUT F_OB I_NONE USD 2011.12 76923.08

C1000 G_NONE 30110000 ACTUAL INPUT F_CB I_NONE USD 2011.12 - 83333.33

C1000 G_NONE 30311000 ACTUAL INPUT F_CB I_NONE USD 2011.12 66666.67

C2000 G_NONE 30312000 ACTUAL INPUT F_CB I_C1000 USD 2011.12 16154.00

C2000 G_NONE 21171000 ACTUAL INPUT F_CB I_C1000 USD 2011.12 - 16153.85

C2000 G_NONE 30110000 ACTUAL INPUT F_CB I_NONE USD 2011.12 - 66666.67

C2000 G_NONE CF001 ACTUAL INPUT F_CB I_NONE USD 2011.12 15384.62

C1000 G_NONE 11211000 ACTUAL INPUT F_CB I_NONE USD 2011.12 7692.31

C1000 G_NONE 12120300 ACTUAL INPUT F_CB I_NONE USD 2011.12 - 3846.15

C2000 G_NONE CF002 ACTUAL INPUT F_CB I_NONE USD 2011.12 1538.46

C2000 G_NONE 30527140 ACTUAL INPUT F_CB I_NONE USD 2011.12 1333.33

C2000 G_NONE 21121000 ACTUAL INPUT F_CB I_NONE USD 2011.12 - 7692.31

C2000 G_NONE 12110300 ACTUAL INPUT F_OB I_NONE USD 2011.12 15384.62

C1000 G_NONE 39000000 ACTUAL INPUT F_CB I_NONE USD 2011.12 13333.33

C1000 G_NONE 12110300 ACTUAL INPUT F_CB I_NONE USD 2011.12 92307.69

C3000 G_NONE 11112000 ACTUAL INPUT F_CB I_NONE EUR 2011.12 91000.00

C9000 G_NONE 11112000 ACTUAL INPUT F_CB I_NONE EUR 2011.12 91000.00

C5100 G_NONE 11112000 ACTUAL INPUT F_CB I_NONE EUR 2011.12 50000.00

C1000 G_NONE CF001 ACTUAL INPUT F_CB I_NONE EUR 2011.12 20000.00

C2000 G_NONE 30311000 ACTUAL INPUT F_CB I_NONE EUR 2011.12 78000.00

C4000 G_NONE 11112000 ACTUAL INPUT F_CB I_NONE EUR 2011.12 50000.00

C2000 G_NONE 12120300 ACTUAL INPUT F_CB I_NONE EUR 2011.12 - 2000.00

C2000 G_NONE 11112000 ACTUAL INPUT F_CB I_NONE EUR 2011.12 37923.00

C5000 G_NONE 11112000 ACTUAL INPUT F_CB I_NONE EUR 2011.12 70000.00

C2000 G_NONE 11211000 ACTUAL INPUT F_CB I_NONE EUR 2011.12 12000.00

C2000 G_NONE 12110300 ACTUAL INPUT F_ACQ I_NONE EUR 2011.12 60000.00

C2000 G_NONE 12110300 ACTUAL INPUT F_CB I_NONE EUR 2011.12 80000.00

C1000 G_NONE 11112000 ACTUAL INPUT F_CB I_NONE EUR 2011.12 89000.00

C1000 G_NONE CF002 ACTUAL INPUT F_CB I_NONE EUR 2011.12 5000.00

C1000 G_NONE 30120000 ACTUAL INPUT F_CB I_C2000 EUR 2011.12 - 24231.00

C2000 G_NONE 39000000 ACTUAL INPUT F_CB I_NONE EUR 2011.12 20000.00

C1000 G_NONE 12110300 ACTUAL INPUT F_ACQ I_NONE EUR 2011.12 20000.00

C1000 G_NONE 11301100 ACTUAL INPUT F_CB I_C2000 EUR 2011.12 21000.00

C1000 G_NONE 21121000 ACTUAL INPUT F_CB I_NONE EUR 2011.12 - 10000.00

C1000 G_NONE 30527140 ACTUAL INPUT F_CB I_NONE EUR 2011.12 5000.00

C1000 G_NONE 12110300 ACTUAL INPUT F_OB I_NONE EUR 2011.12 100000.00

C1000 G_NONE 30110000 ACTUAL INPUT F_CB I_NONE EUR 2011.12 - 125000.00

C1000 G_NONE 30311000 ACTUAL INPUT F_CB I_NONE EUR 2011.12 100000.00

C2000 G_NONE 30312000 ACTUAL INPUT F_CB I_C1000 EUR 2011.12 24231.00

C2000 G_NONE 21171000 ACTUAL INPUT F_CB I_C1000 EUR 2011.12 - 21000.00

C2000 G_NONE 30110000 ACTUAL INPUT F_CB I_NONE EUR 2011.12 - 100000.00

C2000 G_NONE CF001 ACTUAL INPUT F_CB I_NONE EUR 2011.12 20000.00

C1000 G_NONE 11211000 ACTUAL INPUT F_CB I_NONE EUR 2011.12 10000.00

C1000 G_NONE 12120300 ACTUAL INPUT F_CB I_NONE EUR 2011.12 - 5000.00

C2000 G_NONE CF002 ACTUAL INPUT F_CB I_NONE EUR 2011.12 2000.00

C2000 G_NONE 30527140 ACTUAL INPUT F_CB I_NONE EUR 2011.12 2000.00

C2000 G_NONE 21121000 ACTUAL INPUT F_CB I_NONE EUR 2011.12 - 10000.00

C2000 G_NONE 12110300 ACTUAL INPUT F_OB I_NONE EUR 2011.12 20000.00

C1000 G_NONE 39000000 ACTUAL INPUT F_CB I_NONE EUR 2011.12 20000.00

C1000 G_NONE 12110300 ACTUAL INPUT F_CB I_NONE EUR 2011.12 120000.00

70  RECORDS HAVE BEEN WRITTEN BACK.

WRITING TIME :0.00  ms.

SCRIPT RUNNING TIME IN TOTAL:1.00 s.

LOG END TIME:2015-06-01 09:40:32

former_member186338
Active Contributor
0 Likes

If you want to understand how it works - then use simple test with single record in LC and 2 exchange rates. Ensure that you have records and records are correct (using RSA1). Test in UJKT. Also look on resulting records in RSA1.

Vadim