Path: utzoo!attcan!uunet!thinc!ethan From: ethan@thinc.UUCP (Ethan A. Lish of THINC) Newsgroups: comp.databases Subject: Re: Progress (DOS) <--> Progress (UNIX) Portability? Summary: Progress Porting is *EASY* Message-ID: <80@thinc.UUCP> Date: 16 Sep 90 14:08:44 GMT References: <530@oss670.UUCP> Organization: Tomorrow's Horizons, Inc. -- THINC Lines: 77 In article <530@oss670.UUCP>, tkevans@oss670.UUCP (Tim Evans) writes: > Are Progress database application and data files created under > UNIX (specifically, Interactive's 386/ix) portable to DOS? That is, > can I use Interactive's doscp utility to move these file from a > UNIX host to a DOS host and have them be usable? Is any sort of > conversion necessary? Does Progress itself have conversion utilities? > > -- > cc:Mail Tim K. Evans at ~OSS > UUCP ...!{rutgers|ames|uunet}!mimsy!woodb!tkevans Greetings - Lets talk about the "porting" effort in two stages; Stage One: The Physical transmission of the files from system A to systems B. This may be accomplished through any file transfer protocal. (uucp,kermit,doscp,...) Progress "source" code is just flat acsii files. Progress developers talk about the source code files as; Here are the various "basic" standard parts to a Progress Application; Application Code ================ "p code" -- ascii: "programs" source files "i code" -- ascii: "include" files "r code" -- binary: "compiled" run-time files "executive code" -- misc: c code, shell scripts.... Database Structure ================== "d files" -- ascii: database files (dump/load usage *only*) "df file" -- ascii: database def file (db rebuild usage *only*) "db file" -- binary: "THE" database file NOTE: "r code" and the "db file" are much like machine binaries, portable to machines with the same CPU. Yet useless on any machines of different CPU types. 2) The conversions of the source code from system A's environment to B's ===================================================================== My run of thumb is that any well written Progress application is 95% portable to *ANY* of Progress over 200 machines. ===================================================================== Having said that the other 5% may take a while to locate and convert. This 5% is "machine/OS" specific calls; OS Calls, Printer Output, File/ Process Input/Output. (Eg: UN*X/DOS/OUTPUT/INPUT) A simple recursive pattern search routine can locate these calls. So what you need to do: >>> System A: <<< 1) Export data ("db file" => "d files") 2) Export data schema ( "db file" => "df file") 3) Transfer files ( "df file","d files","p code","i code" => System B) >>> System B: <<< 4) Build a database (prodb command => New empty "db file") 5) Import data ("db file" <= "d files") 6) Import data schema ( "db file" <= "df file") 7) Convert Machine Specific Calls ("p code","i code" ,"executive code") 8) Compile files ( "p code","i code" => "r code") ******************************************************************* *OR What you can do is call and have us do the port for you * ******************************************************************* - GOOD LUCK -- Ethan A. Lish ---- 301.652.0651 ---- {uunet}!thinc!ethan Tomorrow's Horizons, Inc.,4807 Bethesda Ave, #330, Bethesda, MD 20814 -- Ethan A. Lish ---- 301.652.0651 ---- {uunet}!thinc!ethan Tomorrow's Horizons, Inc.,4807 Bethesda Ave, #330, Bethesda, MD 20814