Re: Cobol convert program Job Request



On Feb 23, 4:06 am, jacode...@xxxxxxxxx wrote:

The program was written for windows/dos, I'm not sure of the version.
from the rebuild util I get this header:
XM V1.4.6 - The Micro Focus DOS Extender Copyright (c) 1987-1996 Micro
Focus Ltd
URN AXCPA/000000000 [Protocol:
DPMI] Ref 022
Micro Focus COBOL File Management Utility
Version 3.4.23 Copyright (C) 1985-1996 Micro Focus Ltd.

So does 3.4.23 sound right? I can run on windows or linux (I'd prefer
linux) however.

3.4.xx is DOS compiler. It can do Windows 3.1 and OS/2
16 bit.

The first 128 bytes is a file header. This indicates C2 format which
is the default for version 3.4. This makes it harder to deal with in
other systems.

No problem for a Microfocus program, and I could send one that does
not require a runtime licence, but I doubt that other Cobol would
access it, not free ones anyway.


==========================================================================
0000: 30 7E 00 00 00 00 00 00 30 31 31 30 31 38 31 34 | 0~......
01101814
0010: 30 30 31 36 31 36 30 31 31 30 31 38 31 34 30 30 |
0016160110181400
0020: 31 36 31 36 00 3E 00 02 00 00 00 00 00 00 00 00 |
1616.>..........
[snip]
0070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................

This is a data record. Two byte record header. Prop-No of
01-000-001-00, Seq A.

The record header needs to be interpreted. The first 4 bits give
record type (0100=user record). Then 12 bit length.

0080: 43 3A 30 31 2D 30 30 30 2D 30 30 31 2D 30 30 20 | C:
01-000-001-00
0090: 20 20 20 20 20 20 41 FF D8 00 10 00 01 00 09 00 |
A.Ø.......
00A0: 21 00 0D 00 21 00 35 00 37 00 35 00 37 00 25 FF | !...!.
5.7.5.7.%.
[snip]

END is 2 bytes 0038 Scale 3 bytes 004E20. Two byte header, Prop-No
01-000-006-00 Seq A.

03B0: 00 00 00 00 00 00 00 00 38 00 4E 20 43 3A 30 31 | ........8.N
C:01
03C0: 2D 30 30 30 2D 30 30 36 2D 30 30 20 20 20 20 20 |
-000-006-00
03D0: 20 20 41 FF D8 00 10 00 01 00 0B 00 0D 00 21 00 |
A.Ø.........!.

This could be relatively easy in C, at least it is fixed length and
uncompressed. Just byte switch the COMP fields.


.