cancel
Showing results for 
Search instead for 
Did you mean: 

RUNLOGIC_PH: Using a $Variable$ with *FOR in a called Script

alberto_rojas2
Explorer
0 Kudos

Hi everyone,

I'm having a issue with a script called by another script with RUNLOGIC_PH. Here is the context:

Model_A and Model_C haves a Dimension "Grupo" but Model_B hasn't. Then, Script_A (belongs to Model_A) makes a call to "Script_B" (From "Model_B") and this Script_B write on a Model_C. In order to manage the dimension "Grupo" i used the variable $VAR_GRUPO_SEL$. So the issue comes in Script_B with the FOR Statement, because it seems to execute the FOR before to do the replacement of the values of $VAR_GRUPO_SEL$.

SCRIPT_A:

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

*XDIM_MEMBERSET TIEMPO = 2016.12

*XDIM_MEMBERSET GRUPO = $VAR_GRUPO_SEL$  

.

.

.

// some other stuff

*START_BADI RUNLOGIC_PH

  QUERY = OFF

  WRITE = ON

  LOGIC = LS_ENVIO_FE.LGX

  APPSET = CONSOLIDACION

  APP = MODEL_B

  DIMENSION TIPORATIO = TRATIO_NA

  DIMENSION CATEGORIA = CATEGORIA_NA

  DIMENSION PAISVENTA = PAISVENTA_NA

  DIMENSION ORIGEN = ANEXOS

  DIMENSION MOVIMIENTOS = MOV_NA

  DIMENSION SEGMENTO = <ALL>

  DIMENSION AUDITORIA = <NONE>

  DIMENSION INTERCOMPANIA = <NONE>

  DIMENSION SEGMENTO = <NONE>

  DIMENSION GRUPO = <NONE>

  DEBUG = OFF

*END_BADI

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

SCRIPT_B:

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

*XDIM_MEMBERSET FLUJO = FL_040

*FOR %ITERATOR% = $VAR_GRUPO_SEL$

  *DESTINATION_APP = MODEL_C

  *SKIP_DIM = CATEGORIA,MOVIMIENTOS,PAISVENTA,TIPORATIO,SEGMENTO

  *ADD_DIM CUENTA_FE = CUENTAFE_NA

  *ADD_DIM GRUPO = %ITERATOR%

  *WHEN CUENTA

       *IS *

       *REC(FACTOR = 1)

  *ENDWHEN

*NEXT

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

Result of execution with: $VAR_GRUPO_SEL$ = GR_TVBC,GR_ALICORP,GR_ARGENTINA  <===(From the Data Manager)

LOG BEGIN TIME:2015-05-26 11:52:55

FILE:\ROOT\WEBFOLDERS\CONSOLIDACION\ADMINAPP\LEGAL\SCRIPT_A.LGF

USER:AROJASV

APPSET:CONSOLIDACION

APPLICATION:MODEL_B

*ADD_DIM no válido: *ADD_DIM GRUPO = GR_TVBC,GR_ALICORP,GR_ARGENTINA

Error in RUNLOGIC call.

BADI EXECUTION TIME IN TOTAL :0.00 ms.

PS:

If I execute the same code of Script_B in the UJKT, the FOR statement is executed after the replacement of the $VAR_GRUPO_SEL$ variable and works perfect.

View Entire Topic
former_member186338
Active Contributor
0 Kudos

Hi Alberto,

I see no issues with the scripts, but

*ADD_DIM GRUPO = GR_TVBC,GR_ALICORP,GR_ARGENTINA


means that something wrong is going with *FOR %ITERATOR% = $VAR_GRUPO_SEL$


Can you test with single member?


Vadim

alberto_rojas2
Explorer
0 Kudos

Sure,

When i choose only one single member it works perfect ($VAR_GRUPO_SEL$=GR_TVBC).

DATA TO WRITE BACK:

CUENTA CUENTA_FE FLUJO GRUPO MONEDA ORIGEN SOCIEDAD TIEMPO VERSION SIGNEDDATA

CV_00001 CUENTAFE_NA FL_015 GR_TVBC PEN ANEXO_CONS CONSO 2016.12 REAL 100.00

CV_00003 CUENTAFE_NA FL_015 GR_TVBC PEN ANEXO_CONS CONSO 2016.12 REAL 200.00

CV_00002 CUENTAFE_NA FL_015 GR_TVBC PEN ANEXO_CONS CONSO 2016.12 REAL 100.00

3  RECORDS HAVE BEEN WRITTEN BACK.

WRITING TIME :1.00  ms.

It seems like %ITERATOR% tooks the value of "$VAR_GRUPO_SEL$" (like a string). Then put *ADD_DIM GRUPO = $VAR_GRUPO_SEL$ and then make the replacement of $VAR_GRUPO_SEL$ = GR_TVBC,GR_ARGENTINA,...

Also tried to put a SELECT before the FOR:

*XDIM_MEMBERSET FLUJO = FL_040

*SELECT(%V_SEL%,ID,GRUPO,ID=$VAR_GRUPO_SEL$)

*FOR %ITERADOR% = %V_SEL%

  *DESTINATION_APP = MODEL_C

  *SKIP_DIM = CATEGORIA,MOVIMIENTOS,PAISVENTA,TIPORATIO,SEGMENTO

  *ADD_DIM CUENTA_FE = CUENTAFE_NA

  *ADD_DIM GRUPO = %ITERADOR%

  *WHEN CUENTA

  *IS *

  *REC(FACTOR = 1)

  *ENDWHEN

*NEXT

RESULT:

ENDWHEN ACCUMULATION: 3  RECORDS ARE GENERATED.

Not Valid Members [GRUPO]=%V_SEL%

3 RECORDS ARE Rejected:

CUENTA CUENTA_FE FLUJO GRUPO MONEDA ORIGEN SOCIEDAD TIEMPO VERSION SIGNEDDATA ERROR MESSAGE

CV_00003 CUENTAFE_NA FL_015 %V_SEL% PEN ANEXO_CONS CONSO 2016.12 REAL 200.00

CV_00002 CUENTAFE_NA FL_015 %V_SEL% PEN ANEXO_CONS CONSO 2016.12 REAL 100.00

CV_00001 CUENTAFE_NA FL_015 %V_SEL% PEN ANEXO_CONS CONSO 2016.12 REAL 100.00

0  RECORDS HAVE BEEN WRITTEN BACK.

WRITING TIME :0.00  ms.

former_member186338
Active Contributor
0 Kudos

First - test the calling script in UJKT with VAR_GRUPO_SEL set to multiple members in PARAM field (look here )

VAR_GRUPO_SEL=GR_TVBC,GR_ALICORP,GR_ARGENTINA


Is it correct?


Vadim

former_member186338
Active Contributor
0 Kudos

P.S. And what about VALIDATION RUNLOGIC_PH parameter?

Try VALIDATION = ON

Vadim

alberto_rojas2
Explorer
0 Kudos

Hi Vadim,

Here is the results from two executes:

first one is SCRIPT_A in UJKT (including the VALIDATION=ON) with

"VAR_GRUPO_SEL=GR_ALICORP,GR_ARGENTINA,GR_TVBC,GR_ECUADOR":

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

LGX:

*XDIM_MEMBERSET TIEMPO = 2016.12

*XDIM_MEMBERSET GRUPO = GR_ALICORP,GR_ARGENTINA,GR_TVBC,GR_ECUADOR

*START_BADI RUNLOGIC_PH

QUERY = OFF

WRITE = ON

LOGIC = LS_ENVIO_FE.LGX

APPSET = CONSOLIDACION

APP = MODEL_B

DIMENSION TIPORATIO = TRATIO_NA

DIMENSION CATEGORIA = CATEGORIA_NA

DIMENSION PAISVENTA = PAISVENTA_NA

DIMENSION ORIGEN = ANEXOS

DIMENSION MOVIMIENTOS = MOV_NA

DIMENSION SEGMENTO = <ALL>

DIMENSION AUDITORIA = <NONE>

DIMENSION INTERCOMPANIA = <NONE>

DIMENSION SEGMENTO = <NONE>

DIMENSION GRUPO = <NONE>

DEBUG = OFF

VALIDATION = ON

*END_BADI

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

LOG:

LOG BEGIN TIME:2015-05-27 10:52:36

FILE:\ROOT\WEBFOLDERS\CONSOLIDACION \ADMINAPP\MODEL_A\TEST.LGF

USER:AROJASV

APPSET:CONSOLIDACION

APPLICATION:LEGAL

[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:AUDITORIA WILL QUERY ON ALL BASE MEMBERS.

[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:CUENTA WILL QUERY ON ALL BASE MEMBERS.

[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:FLUJO WILL QUERY ON ALL BASE MEMBERS.

[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:INTERCOMPANIA WILL QUERY ON ALL BASE MEMBERS.

[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:SEGMENTO WILL QUERY ON ALL BASE MEMBERS.

[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:SOCIEDAD WILL QUERY ON ALL BASE MEMBERS.

[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:VERSION WILL QUERY ON ALL BASE MEMBERS.

EXECUTION BADI:RUNLOGIC_PH

QUERY: OFF

WRITE: ON

LOG BEGIN TIME:2015-05-27 10:52:36

FILE:\ROOT\WEBFOLDERS\CONSOLIDACION\ADMINAPP\MODEL_A\TEST.LGF

USER:AROJASV

APPSET:CONSOLIDACION

APPLICATION:MODEL_B

[INFO] GET_DIM_LIST(): I_APPL_ID="MODEL_B", #dimensions=13

CATEGORIA,CUENTA,FLUJO,MEASURES,MONEDA,MOVIMIENTOS,ORIGEN,PAISVENTA,SEGMENTO,SOCIEDAD,TIEMPO,TIPORATIO,VERSION

#dim_memberset=7

TIEMPO:2016.12,1 in total.

TIPORATIO:TRATIO_NA,1 in total.

CATEGORIA:CATEGORIA_NA,1 in total.

PAISVENTA:PAISVENTA_NA,1 in total.

ORIGEN:ANEXOS,1 in total.

MOVIMIENTOS:MOV_NA,1 in total.

FLUJO:FL_040,1 in total.

REC :%value%*(1)

CALCULATION BEGIN:

QUERY PROCESSING DATA

QUERY TIME : 0.00 ms. 3  RECORDS QUERIED OUT.

QUERY REFERENCE DATA

CALCULATION TIME IN TOTAL :0.00 ms.

3  RECORDS ARE GENERATED.

CALCULATION END.

ENDWHEN ACCUMULATION: 3  RECORDS ARE GENERATED.

Invalid Members [GRUPO]=$VAR_GRUPO_SEL$

3 RECORDS ARE Rejected:

CUENTA CUENTA_FE FLUJO GRUPO MONEDA ORIGEN SOCIEDAD TIEMPO VERSION SIGNEDDATA ERROR MESSAGE

CV_00001 CUENTAFE_NA FL_015 $VAR_GRUPO_SEL$ PEN ANEXO_CONS CONSO 2016.12 REAL 100.00

CV_00003 CUENTAFE_NA FL_015 $VAR_GRUPO_SEL$ PEN ANEXO_CONS CONSO 2016.12 REAL 200.00

CV_00002 CUENTAFE_NA FL_015 $VAR_GRUPO_SEL$ PEN ANEXO_CONS CONSO 2016.12 REAL 100.00

0  RECORDS HAVE BEEN WRITTEN BACK.

WRITING TIME :0.00  ms.

SCRIPT RUNNING TIME IN TOTAL:1.00 s.

LOG END TIME:2015-05-27 10:52:36

Amount of time to run script:                                            915.42 ms

BADI EXECUTION TIME IN TOTAL :1.00 ms.

SCRIPT RUNNING TIME IN TOTAL:1.00 s.

LOG END TIME:2015-05-27 10:52:36

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

Second one is SCRIPT_B in UJKT with "VAR_GRUPO_SEL=GR_ALICORP,GR_ARGENTINA,GR_TVBC,GR_ECUADOR":

LGX:

*XDIM_MEMBERSET FLUJO = FL_040

*DESTINATION_APP = MODEL_C

*SKIP_DIM = CATEGORIA,MOVIMIENTOS,PAISVENTA,TIPORATIO,SEGMENTO

*ADD_DIM CUENTA_FE = CUENTAFE_NA

*ADD_DIM GRUPO = GR_ALICORP

*WHEN CUENTA

*IS *

*REC(FACTOR = 1)

*ENDWHEN

*DESTINATION_APP = MODEL_C

*SKIP_DIM = CATEGORIA,MOVIMIENTOS,PAISVENTA,TIPORATIO,SEGMENTO

*ADD_DIM CUENTA_FE = CUENTAFE_NA

*ADD_DIM GRUPO = GR_ARGENTINA

*WHEN CUENTA

*IS *

*REC(FACTOR = 1)

*ENDWHEN

*DESTINATION_APP = MODEL_C

*SKIP_DIM = CATEGORIA,MOVIMIENTOS,PAISVENTA,TIPORATIO,SEGMENTO

*ADD_DIM CUENTA_FE = CUENTAFE_NA

*ADD_DIM GRUPO = GR_TVBC

*WHEN CUENTA

*IS *

*REC(FACTOR = 1)

*ENDWHEN

*DESTINATION_APP = MODEL_C

*SKIP_DIM = CATEGORIA,MOVIMIENTOS,PAISVENTA,TIPORATIO,SEGMENTO

*ADD_DIM CUENTA_FE = CUENTAFE_NA

*ADD_DIM GRUPO = GR_ECUADOR

*WHEN CUENTA

*IS *

*REC(FACTOR = 1)

*ENDWHEN

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

LOG:

LOG BEGIN TIME:2015-05-27 11:04:05

FILE:\ROOT\WEBFOLDERS\CONSOLIDACION \ADMINAPP\MODEL_B\TEST.LGF

USER:AROJASV

APPSET:CONSOLIDACION

APPLICATION:MODEL_B

[INFO] GET_DIM_LIST(): I_APPL_ID="MODEL_B", #dimensions=13

CATEGORIA,CUENTA,FLUJO,MEASURES,MONEDA,MOVIMIENTOS,ORIGEN,PAISVENTA,SEGMENTO,SOCIEDAD,TIEMPO,TIPORATIO,VERSION

#dim_memberset=1

FLUJO:FL_040,1 in total.

REC :%value%*(1)

CALCULATION BEGIN:

QUERY PROCESSING DATA

QUERY TIME : 0.00 ms. 3  RECORDS QUERIED OUT.

QUERY REFERENCE DATA

CALCULATION TIME IN TOTAL :0.00 ms.

3  RECORDS ARE GENERATED.

CALCULATION END.

ENDWHEN ACCUMULATION: 3  RECORDS ARE GENERATED.

DATA TO WRITE BACK:

CUENTA CUENTA_FE FLUJO GRUPO MONEDA ORIGEN SOCIEDAD TIEMPO VERSION SIGNEDDATA

CV_00002 CUENTAFE_NA FL_040 GR_ALICORP MF ANEXOS 101 2016.12 REAL 100.00

CV_00003 CUENTAFE_NA FL_040 GR_ALICORP MF ANEXOS 101 2016.12 REAL 200.00

CV_00001 CUENTAFE_NA FL_040 GR_ALICORP MF ANEXOS 101 2016.12 REAL 100.00

3  RECORDS HAVE BEEN WRITTEN BACK.

WRITING TIME :0.00  ms.

[INFO] GET_DIM_LIST(): I_APPL_ID="MODEL_B", #dimensions=13

CATEGORIA,CUENTA,FLUJO,MEASURES,MONEDA,MOVIMIENTOS,ORIGEN,PAISVENTA,SEGMENTO,SOCIEDAD,TIEMPO,TIPORATIO,VERSION

#dim_memberset=1

FLUJO:FL_040,1 in total.

REC :%value%*(1)

CALCULATION BEGIN:

QUERY PROCESSING DATA

QUERY TIME : 1.00 ms. 3  RECORDS QUERIED OUT.

QUERY REFERENCE DATA

CALCULATION TIME IN TOTAL :0.00 ms.

3  RECORDS ARE GENERATED.

CALCULATION END.

ENDWHEN ACCUMULATION: 3  RECORDS ARE GENERATED.

DATA TO WRITE BACK:

CUENTA CUENTA_FE FLUJO GRUPO MONEDA ORIGEN SOCIEDAD TIEMPO VERSION SIGNEDDATA

CV_00002 CUENTAFE_NA FL_040 GR_ARGENTINA MF ANEXOS 101 2016.12 REAL 100.00

CV_00003 CUENTAFE_NA FL_040 GR_ARGENTINA MF ANEXOS 101 2016.12 REAL 200.00

CV_00001 CUENTAFE_NA FL_040 GR_ARGENTINA MF ANEXOS 101 2016.12 REAL 100.00

3  RECORDS HAVE BEEN WRITTEN BACK.

WRITING TIME :0.00  ms.

[INFO] GET_DIM_LIST(): I_APPL_ID="MODEL_B", #dimensions=13

CATEGORIA,CUENTA,FLUJO,MEASURES,MONEDA,MOVIMIENTOS,ORIGEN,PAISVENTA,SEGMENTO,SOCIEDAD,TIEMPO,TIPORATIO,VERSION

#dim_memberset=1

FLUJO:FL_040,1 in total.

REC :%value%*(1)

CALCULATION BEGIN:

QUERY PROCESSING DATA

QUERY TIME : 0.00 ms. 3  RECORDS QUERIED OUT.

QUERY REFERENCE DATA

CALCULATION TIME IN TOTAL :0.00 ms.

3  RECORDS ARE GENERATED.

CALCULATION END.

ENDWHEN ACCUMULATION: 3  RECORDS ARE GENERATED.

DATA TO WRITE BACK:

CUENTA CUENTA_FE FLUJO GRUPO MONEDA ORIGEN SOCIEDAD TIEMPO VERSION SIGNEDDATA

CV_00002 CUENTAFE_NA FL_040 GR_TVBC MF ANEXOS 101 2016.12 REAL 100.00

CV_00003 CUENTAFE_NA FL_040 GR_TVBC MF ANEXOS 101 2016.12 REAL 200.00

CV_00001 CUENTAFE_NA FL_040 GR_TVBC MF ANEXOS 101 2016.12 REAL 100.00

3  RECORDS HAVE BEEN WRITTEN BACK.

WRITING TIME :0.00  ms.

[INFO] GET_DIM_LIST(): I_APPL_ID="MODEL_B", #dimensions=13

CATEGORIA,CUENTA,FLUJO,MEASURES,MONEDA,MOVIMIENTOS,ORIGEN,PAISVENTA,SEGMENTO,SOCIEDAD,TIEMPO,TIPORATIO,VERSION

#dim_memberset=1

FLUJO:FL_040,1 in total.

REC :%value%*(1)

CALCULATION BEGIN:

QUERY PROCESSING DATA

QUERY TIME : 1.00 ms. 3  RECORDS QUERIED OUT.

QUERY REFERENCE DATA

CALCULATION TIME IN TOTAL :0.00 ms.

3  RECORDS ARE GENERATED.

CALCULATION END.

ENDWHEN ACCUMULATION: 3  RECORDS ARE GENERATED.

DATA TO WRITE BACK:

CUENTA CUENTA_FE FLUJO GRUPO MONEDA ORIGEN SOCIEDAD TIEMPO VERSION SIGNEDDATA

CV_00002 CUENTAFE_NA FL_040 GR_ECUADOR MF ANEXOS 101 2016.12 REAL 100.00

CV_00003 CUENTAFE_NA FL_040 GR_ECUADOR MF ANEXOS 101 2016.12 REAL 200.00

CV_00001 CUENTAFE_NA FL_040 GR_ECUADOR MF ANEXOS 101 2016.12 REAL 100.00

3  RECORDS HAVE BEEN WRITTEN BACK.

WRITING TIME :0.00  ms.

SCRIPT RUNNING TIME IN TOTAL:2.00 s.

LOG END TIME:2015-05-27 11:04:06

former_member186338
Active Contributor
0 Kudos

As you can see the second test is fine!

Something is wrong with RUNLOGIC_PH badi! Try to download latest and reinstall! Also, debug the badi execution!

Vadim

alberto_rojas2
Explorer
0 Kudos

Sorry about my ignorance but, where i can find the latest version of the RUNLOGIC_PH?

Thanks for your help.

former_member186338
Active Contributor
former_member200327
Active Contributor
0 Kudos

You can find the latest version here scn.sap.com/docs/DOC-35152.

Unfortunately this is not a valid test in UJKT. I don't see you passing $VAR_GRUPO_SEL$ from SCRIPT_A to SCRIPT_B in that test. I'm even not sure if you can test it in UJKT because RUNLOGIC_PH can't read $...$ variables from UJKT.

If you have authorization to debug I can suggest where to put a break point and we can try to find out why that parameter is not getting passed over.

Regards,

Gersh

former_member186338
Active Contributor
0 Kudos

Just curios - why? "RUNLOGIC_PH can't read $...$ variables from UJKT"

former_member200327
Active Contributor
0 Kudos

I failed to convince developers to deliver a Method that does this:(. They created one for DM Package, but not for UJKT.

I can create a post on ideas.com and if it has enough support maybe it will be developed, but for now - no way.

-Gersh

former_member186338
Active Contributor
0 Kudos

Strange, but OK! Valuable info!

Vadim

alberto_rojas2
Explorer
0 Kudos

Hi Gersh,

The original post shows the results of the execution of the script in DM Package. Works fine about the passing of the variable. The issue is the way of the execution of the called script (SCRIPT_B), because it shows a different order of execution between UJKT Test (where the "FOR" statement is executed after the $VAR_GRUPO_SEL$ replacement) and the RUNLOGIC_PH called execution (Where it seems that is executed the "FOR" before the $VAR_GRUPO_SEL$ replacement). I posted the execution in UJKT because i think Vadim wanted to verify the execution of the script itself was correct.

About the version of the RUNLOGIC_PH, it seems i already have the version of the link. (the files inside the attachements are from July 19th, 2014).

Thank you for your help,

Alberto Rojas

former_member200327
Active Contributor
0 Kudos

It's impossible for RUNLOGIC_PH to process any part of the script differently than DM Package or UJKT. All of them are calling same Class CL_UJK_RUN_LOGIC that processes scripts.

So, it should be something other than different sequence of processing.

Can you create a simple example which has just a couple statements in scripts A and B?

Like in A only FOR/NEXT loop with XDIM inside the loop and call of RUNLOGIC. In B something that can use each member of $...$ separately.

Regards,

Gersh

alberto_rojas2
Explorer
0 Kudos

Ok, here is two tests (both called from a DM Package):

Test1: Script_A with FOR and inside one XDIM_MEMBERSET with $Variable$ and then RUNLOGIC to Script_B (Script B just do a *REC changing a flow dimension):

Variable from DM Package:

VAR_ACCOUNT_SEL = CV00001,CV00002,CV00003

Script_A:

*XDIM_MEMBERSET TIEMPO = 2016.12

*XDIM_MEMBERSET VERSION = REAL

*FOR %ITERATOR% = $VAR_ACCOUNT_SEL$

  *XDIM_MEMBERSET CUENTA = %ITERADOR%

 

  *START_BADI RUNLOGIC_PH

       QUERY = OFF

       WRITE = ON

       LOGIC = LS_ENVIO_FE.LGX

       APPSET = CONSOLIDACION

       APP = ANEXO

       DIMENSION TIPORATIO = TRATIO_NA

       DIMENSION CATEGORIA = CATEGORIA_NA

       DIMENSION PAISVENTA = PAISVENTA_NA

       DIMENSION ORIGEN = ANEXOS

       DIMENSION MOVIMIENTOS = MOV_NA

       DIMENSION SEGMENTO = <ALL>

       DIMENSION AUDITORIA = <NONE>

       DIMENSION INTERCOMPANIA = <NONE>

       DIMENSION SEGMENTO = <NONE>

       DIMENSION GRUPO = <NONE>

       DEBUG = ON

  *END_BADI

*NEXT

Script_B:

*XDIM_MEMBERSET FLUJO = FL_040

*WHEN CUENTA

  *IS *

  *REC(FACTOR = 1, FLUJO = FL_070)

*ENDWHEN

Results:

LOG BEGIN TIME:2015-05-27 17:18:00

FILE:\ROOT\WEBFOLDERS\CONSOLIDACION\ADMINAPP\LEGAL\LS_ENVIO_FE_2.LGF

USER:AROJASV

APPSET:CONSOLIDACION

APPLICATION:LEGAL

[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:AUDITORIA WILL QUERY ON ALL BASE MEMBERS.

[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:FLUJO WILL QUERY ON ALL BASE MEMBERS.

[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:GRUPO WILL QUERY ON ALL BASE MEMBERS.

[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:INTERCOMPANIA WILL QUERY ON ALL BASE MEMBERS.

[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:SEGMENTO WILL QUERY ON ALL BASE MEMBERS.

[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:SOCIEDAD WILL QUERY ON ALL BASE MEMBERS.

EXECUTION BADI:RUNLOGIC_PH

QUERY: OFF

WRITE: ON

LOG BEGIN TIME:2015-05-27 17:17:59

FILE:\ROOT\WEBFOLDERS\CONSOLIDACION\ADMINAPP\LEGAL\LS_ENVIO_FE_2.LGF

USER:AROJASV

APPSET:CONSOLIDACION

APPLICATION:ANEXO

[INFO] GET_DIM_LIST(): I_APPL_ID="ANEXO", #dimensions=13

CATEGORIA,CUENTA,FLUJO,MEASURES,MONEDA,MOVIMIENTOS,ORIGEN,PAISVENTA,SEGMENTO,SOCIEDAD,TIEMPO,TIPORATIO,VERSION


#dim_memberset=9

TIEMPO:2016.12,1 in total.

VERSION:REAL,1 in total.

CUENTA:CV_00001,1 in total.

TIPORATIO:TRATIO_NA,1 in total.

CATEGORIA:CATEGORIA_NA,1 in total.

PAISVENTA:PAISVENTA_NA,1 in total.

ORIGEN:ANEXOS,1 in total.

MOVIMIENTOS:MOV_NA,1 in total.

FLUJO:FL_040,1 in total.

REC :%value%*(1)

CALCULATION BEGIN:

QUERY PROCESSING DATA

QUERY TIME : 0.00 ms. 1  RECORDS QUERIED OUT.

QUERY REFERENCE DATA

CALCULATION TIME IN TOTAL :0.00 ms.

1  RECORDS ARE GENERATED.

CALCULATION END.

ENDWHEN ACCUMULATION: 1  RECORDS ARE GENERATED.

DATA TO WRITE BACK:

CATEGORIA CUENTA FLUJO MONEDA MOVIMIENTOS ORIGEN PAISVENTA SEGMENTO SOCIEDAD TIEMPO TIPORATIO VERSION SIGNEDDATA

CATEGORIA_NA CV_00001 FL_070 MF MOV_NA ANEXOS PAISVENTA_NA 01 101 2016.12 TRATIO_NA REAL 100.00

1  RECORDS HAVE BEEN WRITTEN BACK.

WRITING TIME :1.00  ms.

SCRIPT RUNNING TIME IN TOTAL:1.00 s.

LOG END TIME:2015-05-27 17:17:59

Amount of time to run script:                                            584.21 ms

BADI EXECUTION TIME IN TOTAL :1.00 ms.

[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:AUDITORIA WILL QUERY ON ALL BASE MEMBERS.

[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:FLUJO WILL QUERY ON ALL BASE MEMBERS.

[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:GRUPO WILL QUERY ON ALL BASE MEMBERS.

[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:INTERCOMPANIA WILL QUERY ON ALL BASE MEMBERS.

[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:SEGMENTO WILL QUERY ON ALL BASE MEMBERS.

[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:SOCIEDAD WILL QUERY ON ALL BASE MEMBERS.

[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:TIEMPO WILL QUERY ON ALL BASE MEMBERS.

[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:VERSION WILL QUERY ON ALL BASE MEMBERS.

EXECUTION BADI:RUNLOGIC_PH

QUERY: OFF

WRITE: ON

LOG BEGIN TIME:2015-05-27 17:18:00

FILE:\ROOT\WEBFOLDERS\CONSOLIDACION\ADMINAPP\LEGAL\LS_ENVIO_FE_2.LGF

USER:AROJASV

APPSET:CONSOLIDACION

APPLICATION:ANEXO

[INFO] GET_DIM_LIST(): I_APPL_ID="ANEXO", #dimensions=13

CATEGORIA,CUENTA,FLUJO,MEASURES,MONEDA,MOVIMIENTOS,ORIGEN,PAISVENTA,SEGMENTO,SOCIEDAD,TIEMPO,TIPORATIO,VERSION

#dim_memberset=7

CUENTA:CV_00002,1 in total.

TIPORATIO:TRATIO_NA,1 in total.

CATEGORIA:CATEGORIA_NA,1 in total.

PAISVENTA:PAISVENTA_NA,1 in total.

ORIGEN:ANEXOS,1 in total.

MOVIMIENTOS:MOV_NA,1 in total.

FLUJO:FL_040,1 in total.

REC :%value%*(1)

CALCULATION BEGIN:

QUERY PROCESSING DATA

QUERY TIME : 0.00 ms. 1  RECORDS QUERIED OUT.

QUERY REFERENCE DATA

CALCULATION TIME IN TOTAL :0.00 ms.

1  RECORDS ARE GENERATED.

CALCULATION END.

ENDWHEN ACCUMULATION: 1  RECORDS ARE GENERATED.

DATA TO WRITE BACK:

CATEGORIA CUENTA FLUJO MONEDA MOVIMIENTOS ORIGEN PAISVENTA SEGMENTO SOCIEDAD TIEMPO TIPORATIO VERSION SIGNEDDATA

CATEGORIA_NA CV_00002 FL_070 MF MOV_NA ANEXOS PAISVENTA_NA 01 101 2016.12 TRATIO_NA REAL 100.00

1  RECORDS HAVE BEEN WRITTEN BACK.

WRITING TIME :0.00  ms.

SCRIPT RUNNING TIME IN TOTAL:0.00 s.

LOG END TIME:2015-05-27 17:18:00

Amount of time to run script:                                            456.11 ms

BADI EXECUTION TIME IN TOTAL :0.00 ms.

[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:AUDITORIA WILL QUERY ON ALL BASE MEMBERS.

[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:FLUJO WILL QUERY ON ALL BASE MEMBERS.

[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:GRUPO WILL QUERY ON ALL BASE MEMBERS.

[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:INTERCOMPANIA WILL QUERY ON ALL BASE MEMBERS.

[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:SEGMENTO WILL QUERY ON ALL BASE MEMBERS.

[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:SOCIEDAD WILL QUERY ON ALL BASE MEMBERS.

[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:TIEMPO WILL QUERY ON ALL BASE MEMBERS.

[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:VERSION WILL QUERY ON ALL BASE MEMBERS.

EXECUTION BADI:RUNLOGIC_PH

QUERY: OFF

WRITE: ON

LOG BEGIN TIME:2015-05-27 17:18:00

FILE:\ROOT\WEBFOLDERS\CONSOLIDACION\ADMINAPP\LEGAL\LS_ENVIO_FE_2.LGF

USER:AROJASV

APPSET:CONSOLIDACION

APPLICATION:ANEXO

[INFO] GET_DIM_LIST(): I_APPL_ID="ANEXO", #dimensions=13

CATEGORIA,CUENTA,FLUJO,MEASURES,MONEDA,MOVIMIENTOS,ORIGEN,PAISVENTA,SEGMENTO,SOCIEDAD,TIEMPO,TIPORATIO,VERSION

#dim_memberset=7

CUENTA:CV_00003,1 in total.

TIPORATIO:TRATIO_NA,1 in total.

CATEGORIA:CATEGORIA_NA,1 in total.

PAISVENTA:PAISVENTA_NA,1 in total.

ORIGEN:ANEXOS,1 in total.

MOVIMIENTOS:MOV_NA,1 in total.

FLUJO:FL_040,1 in total.

REC :%value%*(1)

CALCULATION BEGIN:

QUERY PROCESSING DATA

QUERY TIME : 0.00 ms. 1  RECORDS QUERIED OUT.

QUERY REFERENCE DATA

CALCULATION TIME IN TOTAL :1.00 ms.

1  RECORDS ARE GENERATED.

CALCULATION END.

ENDWHEN ACCUMULATION: 1  RECORDS ARE GENERATED.

DATA TO WRITE BACK:

CATEGORIA CUENTA FLUJO MONEDA MOVIMIENTOS ORIGEN PAISVENTA SEGMENTO SOCIEDAD TIEMPO TIPORATIO VERSION SIGNEDDATA

CATEGORIA_NA CV_00003 FL_070 MF MOV_NA ANEXOS PAISVENTA_NA 01 101 2016.12 TRATIO_NA REAL 200.00

1  RECORDS HAVE BEEN WRITTEN BACK.

WRITING TIME :0.00  ms.

SCRIPT RUNNING TIME IN TOTAL:1.00 s.

LOG END TIME:2015-05-27 17:18:00

Amount of time to run script:                                            440.29 ms

BADI EXECUTION TIME IN TOTAL :1.00 ms.

SCRIPT RUNNING TIME IN TOTAL:3.00 s.

LOG END TIME:2015-05-27 17:18:00

Ruta del archivo: \ROOT\WEBFOLDERS\CONSOLIDACION\LEGAL\PRIVATEPUBLICATIONS\AROJASV\tempfiles\20150527171758\LS_ENVIO_FE_2.LOG

Test2: Script_A with only the RUNLOGIC to Script_B (Now this have the FOR with the $Variable$ and inside there is *XDIM_MEMBERSET😞

Variable from DM Package:

VAR_ACCOUNT_SEL = CV00001,CV00002,CV00003


Script_A:

*XDIM_MEMBERSET TIEMPO = 2016.12

*XDIM_MEMBERSET VERSION = REAL

  *START_BADI RUNLOGIC_PH

       QUERY = OFF

       WRITE = ON

       LOGIC = LS_ENVIO_FE.LGX

       APPSET = CONSOLIDACION

       APP = ANEXO

       DIMENSION TIPORATIO = TRATIO_NA

       DIMENSION CATEGORIA = CATEGORIA_NA

       DIMENSION PAISVENTA = PAISVENTA_NA

       DIMENSION ORIGEN = ANEXOS

       DIMENSION MOVIMIENTOS = MOV_NA

       DIMENSION SEGMENTO = <ALL>

       DIMENSION AUDITORIA = <NONE>

       DIMENSION INTERCOMPANIA = <NONE>

       DIMENSION SEGMENTO = <NONE>

       DIMENSION GRUPO = <NONE>

       DEBUG = ON

  *END_BADI


Script_B:


*FOR %ITERATOR% = $VAR_ACCOUNT_SEL$

       *XDIM_MEMBERSET CUENTA = %ITERADOR%

       *XDIM_MEMBERSET FLUJO = FL_040


       *WHEN CUENTA

            *IS *

            *REC(FACTOR = 1, FLUJO = FL_070)

       *ENDWHEN

*NEXT


Results:


LOG BEGIN TIME:2015-05-27 17:28:40

FILE:\ROOT\WEBFOLDERS\CONSOLIDACION\ADMINAPP\LEGAL\LS_ENVIO_FE_2.LGF

USER:AROJASV

APPSET:CONSOLIDACION

APPLICATION:LEGAL

[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:AUDITORIA WILL QUERY ON ALL BASE MEMBERS.

[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:CUENTA WILL QUERY ON ALL BASE MEMBERS.

[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:FLUJO WILL QUERY ON ALL BASE MEMBERS.

[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:GRUPO WILL QUERY ON ALL BASE MEMBERS.

[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:INTERCOMPANIA WILL QUERY ON ALL BASE MEMBERS.

[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:SEGMENTO WILL QUERY ON ALL BASE MEMBERS.

[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:SOCIEDAD WILL QUERY ON ALL BASE MEMBERS.

EXECUTION BADI:RUNLOGIC_PH

QUERY: OFF

WRITE: ON

LOG BEGIN TIME:2015-05-27 17:28:40

FILE:\ROOT\WEBFOLDERS\CONSOLIDACION\ADMINAPP\LEGAL\LS_ENVIO_FE_2.LGF

USER:AROJASV

APPSET:CONSOLIDACION

APPLICATION:ANEXO

[INFO] GET_DIM_LIST(): I_APPL_ID="ANEXO", #dimensions=13

CATEGORIA,CUENTA,FLUJO,MEASURES,MONEDA,MOVIMIENTOS,ORIGEN,PAISVENTA,SEGMENTO,SOCIEDAD,TIEMPO,TIPORATIO,VERSION

#dim_memberset=9

TIEMPO:2016.12,1 in total.

VERSION:REAL,1 in total.

TIPORATIO:TRATIO_NA,1 in total.

CATEGORIA:CATEGORIA_NA,1 in total.

PAISVENTA:PAISVENTA_NA,1 in total.

ORIGEN:ANEXOS,1 in total.

MOVIMIENTOS:MOV_NA,1 in total.

FLUJO:FL_040,1 in total.

CUENTA:CV_00001,CV_00002,CV_00003,3 in total.   <=======(  ONLY ONE ITERATION WITH *XDIM_MEMBERSET CUENTA = CV00001,CV00002,CV00003)

REC :%value%*(1)

CALCULATION BEGIN:

QUERY PROCESSING DATA

QUERY TIME : 0.00 ms. 3  RECORDS QUERIED OUT.

QUERY REFERENCE DATA

CALCULATION TIME IN TOTAL :1.00 ms.

3  RECORDS ARE GENERATED.

CALCULATION END.

ENDWHEN ACCUMULATION: 3  RECORDS ARE GENERATED.

DATA TO WRITE BACK:

CATEGORIA CUENTA FLUJO MONEDA MOVIMIENTOS ORIGEN PAISVENTA SEGMENTO SOCIEDAD TIEMPO TIPORATIO VERSION SIGNEDDATA

CATEGORIA_NA CV_00002 FL_070 MF MOV_NA ANEXOS PAISVENTA_NA 01 101 2016.12 TRATIO_NA REAL 100.00

CATEGORIA_NA CV_00001 FL_070 MF MOV_NA ANEXOS PAISVENTA_NA 01 101 2016.12 TRATIO_NA REAL 100.00

CATEGORIA_NA CV_00003 FL_070 MF MOV_NA ANEXOS PAISVENTA_NA 01 101 2016.12 TRATIO_NA REAL 200.00

3  RECORDS HAVE BEEN WRITTEN BACK.

WRITING TIME :0.00  ms.             

^

||

(ONLY ONE "WHEN/ENDWHEN" EXECUTION)

SCRIPT RUNNING TIME IN TOTAL:1.00 s.

LOG END TIME:2015-05-27 17:28:40

Amount of time to run script:                                            672.64 ms

BADI EXECUTION TIME IN TOTAL :1.00 ms.

SCRIPT RUNNING TIME IN TOTAL:2.00 s.

LOG END TIME:2015-05-27 17:28:40

Ruta del archivo: \ROOT\WEBFOLDERS\CONSOLIDACION\LEGAL\PRIVATEPUBLICATIONS\AROJASV\tempfiles\20150527172839\LS_ENVIO_FE_2.LOG

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

P.S.:

If I modify the second test in the SCRIPT_B with "FOR %ITERATOR = CV00001,CV00002,CV00003" (hardcoded), see what happens:

LOG BEGIN TIME:2015-05-27 17:30:09

FILE:\ROOT\WEBFOLDERS\CONSOLIDACION\ADMINAPP\LEGAL\LS_ENVIO_FE_2.LGF

USER:AROJASV

APPSET:CONSOLIDACION

APPLICATION:LEGAL

[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:AUDITORIA WILL QUERY ON ALL BASE MEMBERS.

[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:CUENTA WILL QUERY ON ALL BASE MEMBERS.

[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:FLUJO WILL QUERY ON ALL BASE MEMBERS.

[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:GRUPO WILL QUERY ON ALL BASE MEMBERS.

[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:INTERCOMPANIA WILL QUERY ON ALL BASE MEMBERS.

[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:SEGMENTO WILL QUERY ON ALL BASE MEMBERS.

[WARNING!] NO MEMBER SPECIFIED FOR DIMENSION:SOCIEDAD WILL QUERY ON ALL BASE MEMBERS.

EXECUTION BADI:RUNLOGIC_PH

QUERY: OFF

WRITE: ON

LOG BEGIN TIME:2015-05-27 17:30:08

FILE:\ROOT\WEBFOLDERS\CONSOLIDACION\ADMINAPP\LEGAL\LS_ENVIO_FE_2.LGF

USER:AROJASV

APPSET:CONSOLIDACION

APPLICATION:ANEXO

[INFO] GET_DIM_LIST(): I_APPL_ID="ANEXO", #dimensions=13

CATEGORIA,CUENTA,FLUJO,MEASURES,MONEDA,MOVIMIENTOS,ORIGEN,PAISVENTA,SEGMENTO,SOCIEDAD,TIEMPO,TIPORATIO,VERSION

#dim_memberset=9

TIEMPO:2016.12,1 in total.

VERSION:REAL,1 in total.

TIPORATIO:TRATIO_NA,1 in total.

CATEGORIA:CATEGORIA_NA,1 in total.

PAISVENTA:PAISVENTA_NA,1 in total.

ORIGEN:ANEXOS,1 in total.

MOVIMIENTOS:MOV_NA,1 in total.

FLUJO:FL_040,1 in total.

CUENTA:CV_00001,1 in total.

REC :%value%*(1)

CALCULATION BEGIN:

QUERY PROCESSING DATA

QUERY TIME : 0.00 ms. 1  RECORDS QUERIED OUT.

QUERY REFERENCE DATA

CALCULATION TIME IN TOTAL :0.00 ms.

1  RECORDS ARE GENERATED.

CALCULATION END.

ENDWHEN ACCUMULATION: 1  RECORDS ARE GENERATED.

DATA TO WRITE BACK:

CATEGORIA CUENTA FLUJO MONEDA MOVIMIENTOS ORIGEN PAISVENTA SEGMENTO SOCIEDAD TIEMPO TIPORATIO VERSION SIGNEDDATA

CATEGORIA_NA CV_00001 FL_070 MF MOV_NA ANEXOS PAISVENTA_NA 01 101 2016.12 TRATIO_NA REAL 100.00

1  RECORDS HAVE BEEN WRITTEN BACK.

WRITING TIME :0.00  ms.

[INFO] GET_DIM_LIST(): I_APPL_ID="ANEXO", #dimensions=13

CATEGORIA,CUENTA,FLUJO,MEASURES,MONEDA,MOVIMIENTOS,ORIGEN,PAISVENTA,SEGMENTO,SOCIEDAD,TIEMPO,TIPORATIO,VERSION

#dim_memberset=9

TIEMPO:2016.12,1 in total.

VERSION:REAL,1 in total.

TIPORATIO:TRATIO_NA,1 in total.

CATEGORIA:CATEGORIA_NA,1 in total.

PAISVENTA:PAISVENTA_NA,1 in total.

ORIGEN:ANEXOS,1 in total.

MOVIMIENTOS:MOV_NA,1 in total.

FLUJO:FL_040,1 in total.

CUENTA:CV_00002,1 in total.

REC :%value%*(1)

CALCULATION BEGIN:

QUERY PROCESSING DATA

QUERY TIME : 0.00 ms. 1  RECORDS QUERIED OUT.

QUERY REFERENCE DATA

CALCULATION TIME IN TOTAL :1.00 ms.

1  RECORDS ARE GENERATED.

CALCULATION END.

ENDWHEN ACCUMULATION: 1  RECORDS ARE GENERATED.

DATA TO WRITE BACK:

CATEGORIA CUENTA FLUJO MONEDA MOVIMIENTOS ORIGEN PAISVENTA SEGMENTO SOCIEDAD TIEMPO TIPORATIO VERSION SIGNEDDATA

CATEGORIA_NA CV_00002 FL_070 MF MOV_NA ANEXOS PAISVENTA_NA 01 101 2016.12 TRATIO_NA REAL 100.00

1  RECORDS HAVE BEEN WRITTEN BACK.

WRITING TIME :0.00  ms.

[INFO] GET_DIM_LIST(): I_APPL_ID="ANEXO", #dimensions=13

CATEGORIA,CUENTA,FLUJO,MEASURES,MONEDA,MOVIMIENTOS,ORIGEN,PAISVENTA,SEGMENTO,SOCIEDAD,TIEMPO,TIPORATIO,VERSION

#dim_memberset=9

TIEMPO:2016.12,1 in total.

VERSION:REAL,1 in total.

TIPORATIO:TRATIO_NA,1 in total.

CATEGORIA:CATEGORIA_NA,1 in total.

PAISVENTA:PAISVENTA_NA,1 in total.

ORIGEN:ANEXOS,1 in total.

MOVIMIENTOS:MOV_NA,1 in total.

FLUJO:FL_040,1 in total.

CUENTA:CV_00003,1 in total.

REC :%value%*(1)

CALCULATION BEGIN:

QUERY PROCESSING DATA

QUERY TIME : 0.00 ms. 1  RECORDS QUERIED OUT.

QUERY REFERENCE DATA

CALCULATION TIME IN TOTAL :0.00 ms.

1  RECORDS ARE GENERATED.

CALCULATION END.

ENDWHEN ACCUMULATION: 1  RECORDS ARE GENERATED.

DATA TO WRITE BACK:

CATEGORIA CUENTA FLUJO MONEDA MOVIMIENTOS ORIGEN PAISVENTA SEGMENTO SOCIEDAD TIEMPO TIPORATIO VERSION SIGNEDDATA

CATEGORIA_NA CV_00003 FL_070 MF MOV_NA ANEXOS PAISVENTA_NA 01 101 2016.12 TRATIO_NA REAL 200.00

1  RECORDS HAVE BEEN WRITTEN BACK.

WRITING TIME :0.00  ms.

SCRIPT RUNNING TIME IN TOTAL:1.00 s.

LOG END TIME:2015-05-27 17:30:09

Amount of time to run script:                                           1604.24 ms

BADI EXECUTION TIME IN TOTAL :2.00 ms.

SCRIPT RUNNING TIME IN TOTAL:2.00 s.

LOG END TIME:2015-05-27 17:30:09

Ruta del archivo: \ROOT\WEBFOLDERS\CONSOLIDACION\LEGAL\PRIVATEPUBLICATIONS\AROJASV\tempfiles\20150527173007\LS_ENVIO_FE_2.LOG

Three Iterations of FOR with three WHEN/ENDWHEN.

What could be the explanation?

Thanks,

Alberto Rojas

former_member200327
Active Contributor
0 Kudos

Hi Alberto,

Can you please send your DM package script?

Thank you,

Gersh

alberto_rojas2
Explorer
0 Kudos

Hi Gersh,

Sure, here is the code:

PROMPT(SELECTINPUT, %CUENTA%, ,,CUENTA,,1)

INFO(%EQU%,=)

INFO(%TAB%,;)

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,SUSER,%USER%)

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,SAPPSET,%APPSET%)

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,SAPP,%APP%)

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,LOGICFILENAME,LS_ENVIO_FE_2.LGF)

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,EQU,%EQU%)

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,TAB,%TAB%)

TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,MEMBERSELECTION,VAR_ACCOUNT_SEL%EQU%%CUENTA%)

Best Regards,

Alberto Rojas

former_member186338
Active Contributor
0 Kudos

Hi Alberto,

Nothing wrong with the advanced DM script...

It's better to start RUNLOGIC_PH badi debug. Just insert the endless loop in the badi code...

Vadim

former_member200327
Active Contributor
0 Kudos

Hi Alberto,

I hope you know how to debug DM Package. If you don't, please take a look at www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/25434.

Please put a break-point in Class ZCL_BPC_RUNLOGIC_PH Method IF_UJ_CUSTOM_LOGIC~EXECUTE line 178 that starts from LOOP AT LT_TAB ... .

Can you please post what table LT_TAB has?

Next go to line 201 and send contents of table LT_PARA_ALL and structure field P_PACK_PARAM-PARAMETER.

This should clarify why parameter is passed incorrectly.

Thank you,

Gersh

alberto_rojas2
Explorer
0 Kudos

Hi Gersh,

Here are the values:

LT_TAB[1x1(8)]Standard TableStandard Table[1x1(8)]\TYPE=STRING_TABLE
<L_TAB>VAR_ACCOUNT_SEL=/CONSOLIDACION/LEGAL/PRIVATEPUBLICATIONS/AROJASV/TempFiles/FROM.TMP@@@SAVE@@@@@@EXPAND@@@|DIMENSION:CUENTA|CV_00001,CV_00002,CV_00003CString{149}\TYPE=UJ_STRING
LT_PARA_ALL[1x1(8)]Standard TableStandard Table[1x1(8)]\TYPE=STRING_TABLE
P_PACK_PARAM-PARAMETERVAR_ACCOUNT_SEL=CV_00001,CV_00002,CV_00003005600410052005F004100430043004F0055004E0054005F00530045004C003D00430056005F00300030003000300031002C00430056005F00300030003000300032002C00430056005F00300030003000300033CString{42}\TYPE=%_T00004S00000607O0000001440


This is the code, Starts at line 178 and ends at line 190 and the LT_PARA_ALL and P_PACK_PARAM-PARAMETER were'nt in line 201, there were in line 188:


LOOP AT LT_TAB ASSIGNING <L_TAB>.

       SPLIT <L_TAB> AT p_pack_param-EQUAL INTO L_DIMSTR L_MEMSTR.

       LO_MANAGER->GET_MEMBER_LIST_STR( EXPORTING I_SELECTION = L_MEMSTR

                                        IMPORTING E_SELECTION = L_NEW_SELECTION ).

       CONCATENATE L_DIMSTR p_pack_param-EQUAL L_NEW_SELECTION INTO L_TABNEW.

*      ls_tabnew = l_new_selection.

       APPEND L_TABNEW TO LT_TABNEW.

     endloop.

     APPEND LINES OF LT_TABNEW TO LT_PARA_ALL.         "begin frp240712

     CONCATENATE LINES OF LT_PARA_ALL INTO p_pack_param-PARAMETER SEPARATED BY p_pack_param-SPLITTER.

   endif.

former_member200327
Active Contributor
0 Kudos

Hi Alberto,

I said "go to line 201" to be sure that line 188 is executed.

From what you've sent it looks like $...$ variable is parsed correctly. After that RUNLOGIC just calls standard BPC programs.

If you still want to continue this investigation can you put a break-point at line 274 of same Method and check what is in P_PACK_PARAM (I don't need hexadecimal values). If field PARAMETER still have value VAR_ACCOUNT_SEL=CV_00001,CV_00002,CV_00003

then we need a break-point in line  82 of Class CL_UJK_DO_REPLACE Method CONSTRUCTOR. If LS_ENTRY-HACHKEY = $VAR_ACCOUNT_SEL$ and

LS_ENTRY-HASHVALUE = CV_00001,CV_00002,CV_00003

then everything is fine so far. Then we need a break-point at line 85 of Class CL_UJK_RUN_LOGIC Method GENERATE_LGX. It's inside a loop and you have to execute that loop until you come to statement *FOR %ITERATOR% = $VAR_ACCOUNT_SEL$. Then in line 319 you have to check if that variable is replaced correctly.

If everything is okay up to that point you have to go out of GENERATE_LGX and check what is the content of the table DT_LGX.

Thank you,

Gersh

alberto_rojas2
Explorer
0 Kudos

Hi Gersh,

Here i send you the values:

----

P_PACK_PARAM = Structure: deep

P_PACK_PARAM-PARAMETER = VAR_ACCOUNT_SEL=CV_00001,CV_00002,CV_00003

----

LS_ENTRY-HACHKEY = $VAR_ACCOUNT_SEL$

LS_ENTRY-HASHVALUE = CV_00001,CV_00002,CV_00003

----

Then when looping "<L_RECORD>-CONTENT" i never found the "FOR" statement, but instead i found this:

<L_RECORD>-CONTENT = *XDIM_MEMBERSET CUENTA = $VAR_ACCOUNT_SEL$

<L_RECORD>-ORIGINAL_LINE = 2


This is the SCRIPT_B:


*FOR %ITERATOR% = $VAR_ACCOUNT_SEL$

  *XDIM_MEMBERSET FLUJO = FL_040

  *XDIM_MEMBERSET CUENTA = %ITERATOR% (line 3 in script)

  *WHEN CUENTA

  *IS *

  *REC(FACTOR = 1, FLUJO = FL_070)

  *ENDWHEN

*NEXT

Thanks,

Alberto Rojas

former_member200327
Active Contributor
0 Kudos

Hi Alberto,

Is last 8 lines what you have in DT_LGX after you got out of GENERATE_LGX?

Thanks,

Gersh

alberto_rojas2
Explorer
0 Kudos

Hi Gersh,

No no, is the script_B as it was saved.

Let me see how to get that "DT_LGX" after go out of GENERATE_LGX

alberto_rojas2
Explorer
0 Kudos

Ok here is the DT_LGX:

1*XDIM_MEMBERSET FLUJO = FL_040
2*XDIM_MEMBERSET CUENTA = CV_00001,CV_00002,CV_00003
3*WHEN CUENTA
4*IS *
5*REC(FACTOR = 1, FLUJO = FL_070)
6*ENDWHEN
former_member200327
Active Contributor
0 Kudos

let's try now Class CL_UJK_TEMP_FOR_NEXT method CHECK_FOR line 62 starts with APPEND ls_for...

What does L_FOR and table LT_STRING have?

alberto_rojas2
Explorer
0 Kudos

Hi Gersh,

I've tried putting a breakpoint to that line of the method, but never stops there.

Then i tried putting the breakpoint in the beginning of the method and in this part never find the "FOR" statement:

code line 25:

     FIND REGEX '^\*for .+=' IN i_statement IGNORING CASE RESULTS ls_search_result.

When i loop, i found that I_STATEMENT is never "*FOR...." and there is a moment when I_STATEMENT = *XDIM_MEMBERSET CUENTA = CV_00001,CV_00002,CV_00003.

Thanks,

Alberto Rojas

former_member200327
Active Contributor
0 Kudos

So, you are saying that *FOR never comes to that method, i.e. it's not in DT_LOGIC.

Then let's take a step back and check what is in table DT_LOGIC in Class CL_UJK_RUN_LOGIC method GENERATE_LGX in line 76.

If you don't have *FOR statement there in line 1 then we have to go one step back and check if that statement is in line 1 of same table in method CONSTRUCTOR of same Class.

-Gersh

alberto_rojas2
Explorer
0 Kudos

Hi Gersh,

So i putted the breakpoint in GENERATE_LGX at line 76 and this was the results:

ME->DT_LOGIC:

1*XDIM_MEMBERSET FLUJO = FL_040
2*XDIM_MEMBERSET CUENTA = $VAR_ACCOUNT_SEL$
3*WHEN CUENTA
4*IS *
5*REC(FACTOR = 1, FLUJO = FL_070)
6*ENDWHEN

So i tried with the CONSTRUCTOR line 35 and this was the results:

ME->DT_LOGIC:

1*XDIM_MEMBERSET FLUJO = FL_040
2*XDIM_MEMBERSET CUENTA = $VAR_ACCOUNT_SEL$
3*WHEN CUENTA
4*IS *
5*REC(FACTOR = 1, FLUJO = FL_070)
6*ENDWHEN

Thanks,

Alberto Rojas

former_member200327
Active Contributor
0 Kudos

It looks like 1st line got lost somewhere, but I still don't see where this happened.

Can you put a break-point back in same Method of RUNLOGIC line 274 and check content of table LT_TH_LGX? If it doesn't have that *FOR statement we have to go back to Method PROCESS_PARAMETERS. There we can check table ET_LGX after statement in line 449 is executed and after 491.

Thank you,

Gersh

alberto_rojas2
Explorer
0 Kudos

Hi Gersh,

Here are the values:

LT_TH_LGX:

1*XDIM_MEMBERSET FLUJO = FL_040
2*XDIM_MEMBERSET CUENTA = $VAR_ACCOUNT_SEL$
3*WHEN CUENTA
4*IS *
5*REC(FACTOR = 1, FLUJO = FL_070)
6*ENDWHEN

ET_LGX  after 449:

1*XDIM_MEMBERSET FLUJO = FL_040
2*XDIM_MEMBERSET CUENTA = $VAR_ACCOUNT_SEL$
3*WHEN CUENTA
4*IS *
5*REC(FACTOR = 1, FLUJO = FL_070)
6*ENDWHEN

ET_LGX after 491:

1*XDIM_MEMBERSET FLUJO = FL_040
2*XDIM_MEMBERSET CUENTA = $VAR_ACCOUNT_SEL$
3*WHEN CUENTA
4*IS *
5*REC(FACTOR = 1, FLUJO = FL_070)
6*ENDWHEN

Thanks,

Alberto Rojas

former_member200327
Active Contributor
0 Kudos

Hi Alberto,

Line 449 reads your script from UJFS. Are you sure that you providing the right script name? You can see the script name in variable L_FILENAME in same statement.

You can download that file from UJFS and check what is there.

Regards,

Gersh

alberto_rojas2
Explorer
0 Kudos

Hi Gersh,

Check this:

L_FILENAME:

\ROOT\WEBFOLDERS\CONSOLIDACION\ADMINAPP\ANEXO\LS_ENVIO_FE.LGX

LS_ENVIO_FE.LGX:

*XDIM_MEMBERSET FLUJO = FL_040

*XDIM_MEMBERSET CUENTA = $VAR_ACCOUNT_SEL$

*WHEN CUENTA

*IS *

*REC(FACTOR = 1, FLUJO = FL_070)

*ENDWHEN

But there is also this file

LS_ENVIO_FE.LGF:

*FOR %ITERATOR% = $VAR_ACCOUNT_SEL$

  *XDIM_MEMBERSET FLUJO = FL_040

  *XDIM_MEMBERSET CUENTA = %ITERATOR%

  *WHEN CUENTA

  *IS *

  *REC(FACTOR = 1, FLUJO = FL_070)

  *ENDWHEN

*NEXT

Thanks,

Alberto Rojas

former_member200327
Active Contributor
0 Kudos

Found it.

In RUNLOGIC call you have LOGIC = LS_ENVIO_FE.LGX. You should have LOGIC = LS_ENVIO_FE.LGF.

Took too much time to find it:(.

-Gersh

alberto_rojas2
Explorer
0 Kudos

OMG!

Thank you very much! it tooks a lot to time to find that haha.

-Alberto Rojas