Movex Spoolfiles and StreamFiles

When Movex (M3 today) was introduced the Output files available was Spoolfles, an data file stored in a database for later printout. It was created by the Movex RPG programs and the program name was using a prefix PF to the program that created the Output File,

e.g. the customer order invoice printer program in Movex was called OIS199PF. The program that created the Spoolfile was OIS180 and that used a program called OIS199 to create the Spoolfile. The Spoolfiles can still be used in older versions of Movex/M3 (RPG and Java). The Spoolfiles was page orientated ASCII files, and difficult and costly to change since the pages where coded using IBM RPG programming language to code the files.

Spoolfile OIS199PF

In Movex version 11.1 RPG (and converted to Java) a StreamFile was developed to replace the Spoolfiles, C program (CMNGSTMF). This made it possible to use files with Movex filelds and data (tab separated in a file) creted as a sequenzal ASCII file instead of the Spoolfiles (page oriented). The Page oriented output was replaced with a ASCII file that incliuded fields and data tab separated with some information about the attributes that was used creating the Output from M3. The files where created as single document files or v´batch files, depending on which program in Movex that created the file. There was about 800 programs that created files from over 4000 databases in Movex. At that moment a software calles StreamServe was sold together with Movex (a third party solution). StreamServe had a Tool for receiving and decoding the StreamFiles using a Agent driver created for Movex files. This made it possible for the StreamServe Service, called Movex Output Server, MOS at that time, to decode the StreamFile and know that it was a tab separated file with field and data. There was also Movex variables (starting with an asterisk *) in the StreamFIle and they could be used in StreamServe as variabkes (using $Mvx as a prefix to get the variable, i.e. the variable *DIVI was fetched using *Mvx_DIVI).