legsem / legstar

Automatically exported from code.google.com/p/legstar
0 stars 2 forks source link

Marshaling redefines alternatives or different length fails #162

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Use this COBOL copybook:
       01  DFHCOMMAREA.
           10 GTM-515-CONF-PRTY.
              15  GTM-515-CONFPRTY-TYPE       PIC X(01).
              15  GTM-515-CONFPRTY-QUAL       PIC X(04).
              15  GTM-515-CONFPRTY-FRMTQ.
                  20 GTM-515-CONFPRTY-DATA OCCURS 4 TIMES PIC X(35).
              15  GTM-515-CONFPRTY-FRMTR 
                  REDEFINES GTM-515-CONFPRTY-FRMTQ.
                  20  GTM-515-CONFPRTY-DSS    PIC X(08).
                  20  GTM-515-CONFPRTY-PC     PIC X(34).
              15  GTM-515-CONFPRTY-FRMTP
                  REDEFINES GTM-515-CONFPRTY-FRMTQ.
                  20  GTM-515-CONFPRTY-BIC-BEI    PIC X(11).
           10 GTM-515-ALTE-PRTY.
              15  GTM-515-ALTE-PRTY-QUAL      PIC X(04).
              15  GTM-515-ALTE-PRTY-DSS       PIC X(08).
              15  GTM-515-ALTE-PRTY-TYPEID    PIC X(04).
              15  GTM-515-ALTE-PRTY-CTYCD     PIC X(02).
              15  GTM-515-ALTE-PRTY-ALTID     PIC X(30).
2. Generate transformers
3. Create a test that sets alternative GTM-515-CONFPRTY-FRMTP

What is the expected output? What do you see instead?

The total host data size should be 193, it is 64 instead. Furthermore, if you 
set GTM-515-ALTE-PRTY-QUAL, its value is not located at offset 145 where it 
should be.

A work around is to add FILLERs to shorter alternatives so that all 
alternatives have the same size as the largest (in this case 140).

Original issue reported on code.google.com by fady.mou...@gmail.com on 20 Dec 2011 at 6:26

GoogleCodeExporter commented 9 years ago

Original comment by fady.mou...@gmail.com on 25 Dec 2011 at 7:44

GoogleCodeExporter commented 9 years ago

Original comment by fady.mou...@gmail.com on 30 Dec 2011 at 3:43