Skip to main content

There is a incompatibility between the directive ZEROSEQ and the directive for the precompiler p(prexml)   to use  XML files

000001$SET ans85   p(prexml)  endp  charset"ASCII"

000004 IDENTIFICATION DIVISION.

000020 ENVIRONMENT DIVISION.

000023 INPUT-OUTPUT SECTION.

000024 FILE-CONTROL.

000025

000026 select factura-XML assign to ID-ARCHIVO-FAC *>"factura.xml"

000027                      organization is XML

000030

000031                      document-type is

000032               "www.sat.gob.mx/.../cfdv22.xsd"

000036                      file status is file-status-spec,

000038                       FILE STATUS IS ID-STAT.

I have the following file in the project directory:  

COBOL.DIR  which contains:

ANS85

NOOSVS

mf

LIST()

NOFORM

ZEROSEQ

SPZERO

AUTOLOCK

NOCOPYLIST

If I compile the program and the COBOL.DIR file is present, all the COPY statements in my program  are not translated as they should with the obvious consequences. (COPY-FILE NOT FOUND)  

If I delete the COBOL.DIR file or just the line ZEROSEQ  everything works OK.

Conclusion I must remove the ZEROSEQ directive or remove all COPY statements and include the whole copyfiles in the program.

Is there a way to use all of them together:  ZEROSEQ,  p(prexml)  and COPY files?

Thanks

Rolf

There is a incompatibility between the directive ZEROSEQ and the directive for the precompiler p(prexml)   to use  XML files

000001$SET ans85   p(prexml)  endp  charset"ASCII"

000004 IDENTIFICATION DIVISION.

000020 ENVIRONMENT DIVISION.

000023 INPUT-OUTPUT SECTION.

000024 FILE-CONTROL.

000025

000026 select factura-XML assign to ID-ARCHIVO-FAC *>"factura.xml"

000027                      organization is XML

000030

000031                      document-type is

000032               "www.sat.gob.mx/.../cfdv22.xsd"

000036                      file status is file-status-spec,

000038                       FILE STATUS IS ID-STAT.

I have the following file in the project directory:  

COBOL.DIR  which contains:

ANS85

NOOSVS

mf

LIST()

NOFORM

ZEROSEQ

SPZERO

AUTOLOCK

NOCOPYLIST

If I compile the program and the COBOL.DIR file is present, all the COPY statements in my program  are not translated as they should with the obvious consequences. (COPY-FILE NOT FOUND)  

If I delete the COBOL.DIR file or just the line ZEROSEQ  everything works OK.

Conclusion I must remove the ZEROSEQ directive or remove all COPY statements and include the whole copyfiles in the program.

Is there a way to use all of them together:  ZEROSEQ,  p(prexml)  and COPY files?

Thanks

Rolf

This does appear to be a bug in the preprocessor which should be reported in an RPI.

If you create a support incident and reference my name in the description then I would be happy to do this for you.

As a workaround, I find that if I set the zeroseq directive in the source prior to the xml preprocessor then it works correctly.

$set zeroseq preprocess(prexml) endp

Thanks.