cancel
Showing results for 
Search instead for 
Did you mean: 

EHS WWI coding

holger_hartung
Contributor
1,190

Hi,

i create these WWI logic but something isn't correct:

Only if BIF000 and BIF001 are valid, phrase and BUQ should be present...

<100DYNTXT(4,7)><11BRG088(D;*)><15BIF000(OR:02Z_LGL_MANU(;1) NE "Externer rechtli. Hersteller")><15BIF001(OR:02Z_PROD_TYP(;1) LK "010",02Z_PROD_TYP(;1) LK "020")><03LABEL_TEXT(EHSXP-000000000002221)[D:Qty]> <02GCG_BUQ[D:Basismenge]><02GCG_BUQ(M:ZEHS_SET_GCG_BUQ)[D:Basismenge]> <11BRG001(G,T:REGION,L:EN;*)><02Z_BME[D:Basismengeneinheit (BME)]><11ERG001><13BNG000(*:02EHS_MATNR(M:ZEHS_GET_AME_UMRECHNUNG_ST))> (<02EHS_MATNR(M:ZEHS_GET_AME_UMRECHNUNG_ST)[D:Materialnummer]>)<13ENG000><15EIF001><15EIF000><11ERG088>

Thanks

Accepted Solutions (1)

Accepted Solutions (1)

Mark-Pfister
Active Contributor
0 Kudos

Hi Holger,

Add "debugging" out-put to your template:

  • Output/print the symbols that you are using in your if statements  ("02Z_PROD_TYP(;1)" and "02Z_LGL_MANU(;1)")
  • Output/print text like - "First IF true" or "Second IF true"  (and an ELSE part as well to be extra sure 🙂 )

this will give you more insight into why it is not working as you expect.

It could be wrong formatting - i.e things are hidden that shouldn't be etc.

Or the text is not always German - i.e. Z_LGL_MANU <> "Externer rechtli. Hersteller" if you use English as report language etc... Or the discrete repeating group doesn't work as you expect it to...

 

<100DYNTXT(4,7)>
<11BRG088(D;*)>
<15BIF000(OR:02Z_LGL_MANU(;1) NE "Externer rechtli. Hersteller")>
  <15BIF001(OR:02Z_PROD_TYP(;1) LK "010",02Z_PROD_TYP(;1) LK "020")>

    <03LABEL_TEXT(EHSXP-000000000002221)[D:
Qty]>
    <02GCG_BUQ[D:Basismenge]>
    <02GCG_BUQ(M:ZEHS_SET_GCG_BUQ)[D:Basismenge]>

    <11BRG001(G,T:REGION,L:EN;*)>
       <02Z_BME[D:Basismengeneinheit (BME)]>
    <11ERG001>
    <13BNG000(*:02EHS_MATNR(M:ZEHS_GET_AME_UMRECHNUNG_ST))>
      (<02EHS_MATNR(M:ZEHS_GET_AME_UMRECHNUNG_ST)[D:Materialnummer]>)
    <13ENG000>

  <
15EIF001>
<15EIF000>
<11ERG088>

Mark-Pfister
Active Contributor
0 Kudos

Hi Holger,

You need to put the G - repeating group on the outside of all other repeating groups and if statements.

 

Best Regards

Mark

Answers (2)

Answers (2)

holger_hartung
Contributor
0 Kudos

Hello @ral 

thanks,

It seems that 11BRG001 type G dosn't allowed on that position. 

holger_hartung
Contributor
0 Kudos

Hello Marc,

thx as always.

a) my fault, it is gml label not wwi report

b) how doesit works with the "debugging"?

c) as seperated, the first if and the second if  / BUQ works fine but in combination something unusual

d) see attached: 3 errors go to 2 red framed conditions

thx

Mark-Pfister
Active Contributor

Hi Holger,

GLM or SDS - still WWI and shouldn't matter - at least in theory...

The "debugging" trick is to just put plain text - i.e. "First IF Statement is True" into your WWI template - and/or by displaying values of symbols that you check for. This can help you understand why something is happening - or not happening.

If you already have a syntax error in the template you need to fix that first.

In your case try re-naming the Symbol numbers - ie 001 -> 879 (For the Begin and End Symbols.)
I think you would have to but the Region/Language repeating group as the most outer one...

Hope that helps

Mark

 

 

Ralph_P
Product and Topic Expert
Product and Topic Expert

Hello Holger,

in linne 4 you open a BIF with number 001 which is still open when you open, in line 8, a BRG also with number 001. That doesn't work, numbering needs to be unique. The same is true for BIF000 (line 3) and BNG000 (line 11).

The second error is because you started a G-repeating group within a discrete repeating group (BRG001 within BRG088). I don't think that is allowed.

 

Best regards,


Ralph

holger_hartung
Contributor
0 Kudos
Hi Marc, "In your case try re-naming the Symbol numbers - ie 001 -> 879 " -> these is solving two of the errors but region/language seems not supported on that position