1

I have been given the task of seeing if there is a way to directly read RM/COBOL ISAM files in Delphi 2007 so the data can be Sync'd to our on-line billing website. The Delphi sync program already has connections to Advantage and DBF databases and the hope was we could use the same sync program to read and send the ISAM data as well.

What my research has found so far. I found a site called MicroFocus which distributes the product the COBOL program is written in. Any utilities/Data bridge products are very expensive so they were deemed not feasible. There was a site called EasySoft which has ISAM ODBC drivers but on sending some COBOL sample files they do not support our format. There was also a product called DBISAM but again they do not support the COBOL format our application uses. I have also sent an email out to Embarcadero but while I am waiting I figured I would check here as well.

RBA
  • 12,337
  • 16
  • 79
  • 126
  • Have you looked at some samples of the files? I had to work with ISAM files a long time back and the data was stored mostly in plain text with an odd indicator to say that a record was deleted. It was only the indexes that were in a binary format so you may be able to get around without using any libraries. – Graymatter Jan 29 '14 at 20:08
  • Yes and unfortunately most of the file is pretty cryptic. You eventually find the data that represents what our programmer added in an separate word doc but there is a lot of binary characters throughout and there is no consistency to the patterns. Not really sure what the RM/COBOL format is but if it was C or D ISAM I would be in better shape. – user3249290 Jan 30 '14 at 12:54

1 Answers1

1

I did a bit of research. Someone has built an application in Delphi to convert RM COBOL files to flat files:

http://www.janes.demon.co.uk/

The application and source is here http://www.janes.demon.co.uk/rm-decode.zip

I don't have any samples of the files so you will need to test this with your files. There are different versions of RM COBOL but at least this should be able to give you a starting point.

Graymatter
  • 6,529
  • 2
  • 30
  • 50
  • Cool, I will give that a try and see what happens. I will try anything at this point. Thanks! – user3249290 Jan 31 '14 at 15:02
  • Well that is close and hopefully good enough. It brings in a bunch of the data correctly but still have some issues with the end of each record where some data is missing. I will run some tests with larger datasets to see what I get. – user3249290 Jan 31 '14 at 18:29