From: jacodeguy on
Hi everyone.

I have a cobol file (from microfocus) (.mst and .idx about 6 meg
uncompressed). and the header:

$SET REMOVE(LENGTH) NOTRUNC
INPUT-OUTPUT SECTION.
FILE-CONTROL.

SELECT NOT OPTIONAL IL-BLDG-SKETCH
ASSIGN "B-SKETCH.MST"
ORGANIZATION INDEXED
ACCESS MODE DYNAMIC
LOCK MODE MANUAL
RECORD KEY TABLE-NAME OF SKETCH-RECORD
FILE STATUS SKETCH-STATUS.

FILE SECTION.

FD IL-BLDG-SKETCH.
01 PT-REC.
03 PT-KEY.
05 PT-PROP-NO PIC X(20).
05 PT-SEQ PIC X.
03 PT-GRAPHICS.
05 PT-TABLE OCCURS 200 TIMES.
07 PT-X PIC S9(4) COMP.
07 PT-Y PIC S9(4) COMP.
03 PT-END PIC S9(4) COMP.
03 PT-SCALE PIC 9V9(4) COMP.


I am not a cobol programmer, so I'd like to hire someone to convert
this file to CSV for me. I'd like the source and be able to run it
myself, if possible. I do not own microfocus cobol, so I am wondering
if there is a free alternative (I have both windows and linux boxes
available). I'm hoping tiny/open/free/gnu Cobol will be able to read
microfocus files.

This is a one time data conversion, but we might get a "newer" file
right before the official convert, so I might have to run this more
than once.

Please email me directly at andy at camavision.com (or this newgroup,
I'll try to watch it for a while), if you are interested.

Please include a price quote (I'm thinking in the $100 range).

Thanks,

-Andy

From: Richard on
On Feb 22, 6:40 am, jacode...(a)gmail.com wrote:
> Hi everyone.
>
> I have a cobol file (from microfocus) (.mst and .idx about 6 meg
> uncompressed). and the header:
>
> $SET REMOVE(LENGTH) NOTRUNC
> INPUT-OUTPUT SECTION.
> FILE-CONTROL.
>
> SELECT NOT OPTIONAL IL-BLDG-SKETCH
> ASSIGN "B-SKETCH.MST"
> ORGANIZATION INDEXED
> ACCESS MODE DYNAMIC
> LOCK MODE MANUAL
> RECORD KEY TABLE-NAME OF SKETCH-RECORD
> FILE STATUS SKETCH-STATUS.
>
> FILE SECTION.
>
> FD IL-BLDG-SKETCH.
> 01 PT-REC.
> 03 PT-KEY.
> 05 PT-PROP-NO PIC X(20).
> 05 PT-SEQ PIC X.
> 03 PT-GRAPHICS.
> 05 PT-TABLE OCCURS 200 TIMES.
> 07 PT-X PIC S9(4) COMP.
> 07 PT-Y PIC S9(4) COMP.
> 03 PT-END PIC S9(4) COMP.
> 03 PT-SCALE PIC 9V9(4) COMP.
>
> I am not a cobol programmer, so I'd like to hire someone to convert
> this file to CSV for me. I'd like the source and be able to run it
> myself, if possible. I do not own microfocus cobol, so I am wondering
> if there is a free alternative (I have both windows and linux boxes
> available). I'm hoping tiny/open/free/gnu Cobol will be able to read
> microfocus files.

Microfocus Cobol can write several different formats of INDEXED
files. If the file is 'Level II' format then it may be readable as a
sequential file by many systems as it will be fixed records in the
data file. If the file is C2 or other then this may be more difficult
to get another system to read it.

> This is a one time data conversion, but we might get a "newer" file
> right before the official convert, so I might have to run this more
> than once.
>
> Please email me directly at andy at camavision.com (or this newgroup,
> I'll try to watch it for a while), if you are interested.
>
> Please include a price quote (I'm thinking in the $100 range).
>
> Thanks,

It seems to me that PT-END may indicate the number of PT-TABLE used
and thus should be in the range 1 - 200. Or perhaps to the next
available 2-201.


From: jacodeguy on

> > available). I'm hoping tiny/open/free/gnu Cobol will be able to read
> > microfocus files.
>
> Microfocus Cobol can write several different formats of INDEXED
> files. If the file is 'Level II' format then it may be readable as a
> sequential file by many systems as it will be fixed records in the
> data file. If the file is C2 or other then this may be more difficult
> to get another system to read it.

I got this from the rebuild program:

b-sketch.mst /i
Rebuild successful - records read = 7396

File : B-SKETCH.MST
Record length - 826
Organization - Indexed
Recording mode - Fixed
Record length - 826
Keys description :
Key Start Length
0: 1 +21

Does that help? It says fixed "recording length", I'm hoping thats a
fixed length record of 826 bytes. And.. hopefully.. a Level II file
that will be useable.

>
> It seems to me that PT-END may indicate the number of PT-TABLE used
> and thus should be in the range 1 - 200. Or perhaps to the next
> available 2-201.

I have other documentation about what the different fields mean. If I
can get the data into csv I can use it from there.

What would be an easy way to test this. I can zip up the files and
put them some place if anyone wanted to write a test program to see if
they can be read. Or, with a little help, I'd be happy to install
tiny/open cobol and try something myself. (Or whatever cobol you
prefer... I know nothing :-) )

Thanks for your time,

-Andy

From: Richard on
On Feb 22, 3:44 pm, jacode...(a)gmail.com wrote:
> > > available). I'm hoping tiny/open/free/gnu Cobol will be able to read
> > > microfocus files.
>
> > Microfocus Cobol can write several different formats of INDEXED
> > files. If the file is 'Level II' format then it may be readable as a
> > sequential file by many systems as it will be fixed records in the
> > data file. If the file is C2 or other then this may be more difficult
> > to get another system to read it.
>
> I got this from the rebuild program:
>
> b-sketch.mst /i
> Rebuild successful - records read = 7396
>
> File : B-SKETCH.MST
> Record length - 826
> Organization - Indexed
> Recording mode - Fixed
> Record length - 826
> Keys description :
> Key Start Length
> 0: 1 +21
>
> Does that help? It says fixed "recording length", I'm hoping thats a
> fixed length record of 826 bytes. And.. hopefully.. a Level II file
> that will be useable.

A hexdump of the first couple of Kb would show the format. What OS is
this on, what version of Microfocus ?


> > It seems to me that PT-END may indicate the number of PT-TABLE used
> > and thus should be in the range 1 - 200. Or perhaps to the next
> > available 2-201.
>
> I have other documentation about what the different fields mean. If I
> can get the data into csv I can use it from there.
>
> What would be an easy way to test this. I can zip up the files and
> put them some place if anyone wanted to write a test program to see if
> they can be read. Or, with a little help, I'd be happy to install
> tiny/open cobol and try something myself. (Or whatever cobol you
> prefer... I know nothing :-) )

Did you want each CSV record to have 200 X and Y fields, less
depending on PT-END or one line per X/Y pair ?


From: jacodeguy on
On Feb 21, 9:48 pm, "Richard" <rip...(a)Azonic.co.nz> wrote:
> On Feb 22, 3:44 pm, jacode...(a)gmail.com wrote:
>
>
>
> > > > available). I'm hoping tiny/open/free/gnu Cobol will be able to read
> > > > microfocus files.
>
> > > Microfocus Cobol can write several different formats of INDEXED
> > > files. If the file is 'Level II' format then it may be readable as a
> > > sequential file by many systems as it will be fixed records in the
> > > data file. If the file is C2 or other then this may be more difficult
> > > to get another system to read it.
>
> > I got this from the rebuild program:
>
> > b-sketch.mst /i
> > Rebuild successful - records read = 7396
>
> > File : B-SKETCH.MST
> > Record length - 826
> > Organization - Indexed
> > Recording mode - Fixed
> > Record length - 826
> > Keys description :
> > Key Start Length
> > 0: 1 +21
>
> > Does that help? It says fixed "recording length", I'm hoping thats a
> > fixed length record of 826 bytes. And.. hopefully.. a Level II file
> > that will be useable.
>
> A hexdump of the first couple of Kb would show the format. What OS is
> this on, what version of Microfocus ?
>
> > > It seems to me that PT-END may indicate the number of PT-TABLE used
> > > and thus should be in the range 1 - 200. Or perhaps to the next
> > > available 2-201.
>
> > I have other documentation about what the different fields mean. If I
> > can get the data into csv I can use it from there.
>
> > What would be an easy way to test this. I can zip up the files and
> > put them some place if anyone wanted to write a test program to see if
> > they can be read. Or, with a little help, I'd be happy to install
> > tiny/open cobol and try something myself. (Or whatever cobol you
> > prefer... I know nothing :-) )
>
> Did you want each CSV record to have 200 X and Y fields, less
> depending on PT-END or one line per X/Y pair ?

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.

I'd like one record to be one line of text. (all 200 pairs on one
line). And just dump them all.

Here is a hex dump. I hope the wrapping doesnt kill it

==========================================================================
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.>..........
0030: 01 00 00 00 00 00 00 00 03 3A 00 00 03 3A 00 00
| .........:...:..
0040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
0060: 00 00 00 00 00 00 00 00 00 00 00 00 41 00 20 2E
| ............A. .
0070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
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.%.
00B0: CD 00 25 00 33 00 0D 00 21 00 0D FF FC 00 06 FF | Í.%.
3...!...ü...
00C0: D8 00 0E 00 02 00 07 00 21 00 19 00 0F 00 19 00 |
Ø.......!.......
00D0: 0F 00 25 FF DF 00 25 FF DF 00 19 00 02 00 02 FF | ..%.ß.
%.ß.......
00E0: D8 00 09 00 04 00 07 00 21 00 0D 00 15 00 0D 00 |
Ø.......!.......
00F0: 15 00 19 FF DF 00 19 FF DF 00 0D 00 03 00 03 FF
| ....ß...ß.......
0100: D8 00 09 00 05 00 07 00 33 00 0D 00 3F 00 0D 00 | Ø.......
3...?...
0110: 3F 00 25 FF CD 00 25 FF CD 00 0D FF D8 00 09 00 | ?.%.Í.
%.Í...Ø...
0120: 06 00 07 00 21 00 35 FF DF 00 3B 00 39 00 3B 00 | ....!.5.ß.;.
9.;.
0130: 39 00 35 FF DF 00 35 FF F8 00 00 FF D8 00 0E 00 | 9.5.ß.
5.ø...Ø...
0140: 07 00 07 00 37 00 25 00 39 00 25 FF C7 00 35 FF | ....7.%.
9.%.Ç.5.
0150: C9 00 35 FF C9 00 25 00 04 00 00 FF D8 00 05 00 | ..
5...%.....Ø...
0160: 0B 00 07 00 21 00 25 00 09 00 25 00 09 00 3B FF | ....!.%...
%...;.
0170: DF 00 3B FF DF 00 25 00 00 00 00 00 00 00 00 00 | ß.;.ß.
%.........
0180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
0190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
01A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
01B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
01C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
01D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
01E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
01F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
0200: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
0210: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
0220: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
0230: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
0240: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
0250: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
0260: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
0270: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
0280: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
0290: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
02A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
02B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
02C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
02D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
02E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
02F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
0300: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
0310: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
0320: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
0330: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
0340: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
0350: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
0360: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
0370: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
0380: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
0390: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
03A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
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.Ø.........!.
03E0: 0D 00 31 00 1F 00 31 00 1F 00 35 00 2F 00 35 00 | ..
1...1...5./.5.
03F0: 2F 00 1B 00 17 00 1B 00 17 00 21 00 0D 00 21 00
| /.........!...!.
0400: 00 FF FE FF D8 00 0E 00 02 00 07 00 1F 00 1B FF
| ....Ø...........
0410: CF 00 1B 00 31 00 09 00 1F 00 09 FF E1 00 1B 00 | ....
1...........
0420: 00 00 03 FF D8 00 0E 00 04 00 07 00 1F 00 35 00
| ....Ø.........5.
0430: 1F 00 47 00 35 00 47 FF CB 00 35 FF E1 00 35 00 | ..G.5.G.Ë.
5...5.
0440: 04 FF FE FF D8 00 09 00 06 00 07 00 1F 00 31 FF
| ....Ø.........1.
0450: E1 00 36 00 0D 00 36 00 0D 00 31 FF E1 00 31 00 | ..
6...6...1...1.
0460: 00 FF FF FF D8 00 02 00 07 00 0B 00 1F 00 15 00
| ....Ø...........
0470: 1F 00 1B FF E9 00 1B FF E9 00 21 FF F3 00 21 FF
| ..........!.ó.!.
0480: F3 00 15 FF EC 00 12 FF E7 00 15 FF E1 00 15 FF |
ó...ì...ç.......
0490: FE FF FE 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
04A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
04B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
04C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
04D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
04E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
04F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
0500: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
0510: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
0520: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
0530: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
0540: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
0550: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
0560: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................
0570: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
| ................


Thanks much

-Andy