-
H OPTION(*Srcstmt : *Nodebugio)
-
A**********************************************************************
-
A* program name IS cv2 *
-
A* this program will WRITE the program needed TO convert the file *
-
A* TO CSV format *
-
A**********************************************************************
-
A*
-
fCvfileo IF e Disk Prefix(x_) Usropn
-
fCvpgm uf a f 114 Disk
-
A*
-
d Rspec Ds
-
d Rrec 112
-
A*
-
d @File s 10
-
d @Length s 5
-
d @Dem s 1
-
d @Char5 s 5
-
d @Char2 s 2
-
d @Cvfield s LIKE(x_Cvfield)
-
A*
-
A* output the first d spec record
-
c Eval %Subst(Rrec:18:1) = ‘d’
-
c Eval %Subst(Rrec:20:18) = ‘Key S ‘
-
c Eval %Subst(Rrec:50:2) = ‘10′
-
c Except Drecadd
-
c Eval %Subst(Rrec:19:93) = *Blanks
-
A* output the first d spec record
-
c Eval %Subst(Rrec:20:18) = ‘FlatDs Ds’
-
c Except Drecadd
-
c Eval %Subst(Rrec:19:93) = *Blanks
-
A*
-
A* open the file AND output the rest of the d spec
-
c Open Cvfileo
-
c DoU %Eof(Cvfileo)
-
c READ Cvfileo
-
c IF NOT %Eof(Cvfileo)
-
A*
-
c IF x_Cvtype = ‘A’
-
c Eval %Subst(Rrec:51:13) = ‘1a Inz(’‘"’‘)’
-
c Except Drecadd
-
c Eval %Subst(Rrec:19:93) = *Blanks
-
c EndIf
-
A* IF there IS a decimal then increase the length BY 2
-
A* this IS TO allow FOR the decimal IN the flat file
-
A* AND FOR the sign
-
c IF x_Cvdec > *Zeros
-
c Eval x_Cvlength = x_Cvlength + 2
-
c** Eval %Subst(Rrec:56:9) = ‘Inz ‘
-
c EndIf
-
A* the FIELD name IN the program can NOT be the same
-
A* AS the file name.
-
c IF x_Cvfield = x_Cvformat
-
c Eval x_Cvfield = ‘xx ‘
-
c EndIf
-
A*
-
c Move x_Cvlength @Char5
-
c Eval %Subst(Rrec:19:18) = x_Cvfield
-
c Eval %Subst(Rrec:47:5) = @Char5
-
c* Eval %Subst(Rrec:52:1) = x_Cvtype
-
c Eval %Subst(Rrec:52:1) = ‘a’
-
*
-
c* IF x_Cvtype = ‘S’
-
c* Move x_Cvdec @Char2
-
c* Eval %Subst(Rrec:53:2) = @Char2
-
c* Else
-
c Eval %Subst(Rrec:53:2) = ‘ ‘
-
c* EndIf
-
A*
-
c Except Drecadd
-
c Eval %Subst(Rrec:19:93) = *Blanks
-
A*
-
c IF x_Cvtype = ‘A’
-
c Eval %Subst(Rrec:51:13) = ‘1a Inz(’‘"’‘)’
-
c Except Drecadd
-
c Eval %Subst(Rrec:19:93) = *Blanks
-
c EndIf
-
A* SET the delimiter
-
c Eval %Subst(Rrec:51:13) = ‘1a Inz(’‘ ‘‘)’
-
c Eval %Subst(Rrec:61:1) = @Dem
-
c Except Drecadd
-
c Eval %Subst(Rrec:19:93) = *Blanks
-
A*
-
c EndIf
-
c EndDo
-
A* close the file FOR the c spce
-
c Close Cvfileo
-
A****************************************************************************
-
A*
-
A* output the first c spec record
-
c Eval %Subst(Rrec:18:1) = ‘c’
-
c Eval %Subst(Rrec:38:3) = ‘DoU’
-
c Eval %Subst(Rrec:48:16) = ‘%Eof( )’
-
c Eval %Subst(Rrec:53:10) = @File
-
A*
-
c Except Crecadd
-
c Eval %Subst(Rrec:19:93) = *Blanks
-
A*
-
c Eval %Subst(Rrec:38:18) = ‘ ‘
-
c Eval %Subst(Rrec:38:4) = ‘Read’
-
c Eval %Subst(Rrec:48:10) = @File
-
A*
-
c Except Crecadd
-
c Eval %Subst(Rrec:19:93) = *Blanks
-
A*
-
c Eval %Subst(Rrec:38:18) = ‘ ‘
-
c Eval %Subst(Rrec:38:3) = ‘If ‘
-
c Eval %Subst(Rrec:48:20) = ‘Not %Eof( )’
-
c Eval %Subst(Rrec:57:10) = @File
-
A*
-
c Except Crecadd
-
c Eval %Subst(Rrec:19:93) = *Blanks
-
A*
-
A* open the file AND output the rest of the c specs
-
c Open Cvfileo
-
c DoU %Eof(Cvfileo)
-
c READ Cvfileo
-
c IF NOT %Eof(Cvfileo)
-
A* save FIELD name
-
c Eval @Cvfield = x_Cvfield
-
A* the FIELD name IN the program can NOT be the same
-
A* AS the file name.
-
c IF x_Cvfield = x_Cvfname
-
c Eval x_Cvfield = ‘xx ‘
-
c EndIf
-
A*
-
A* SET up the KEY AND the chain TO CHECK FOR decimals
-
c IF x_Cvdec > *Zeros
-
A*
-
c Eval %Subst(Rrec:38:6) = ‘Clear ‘
-
c Eval %Subst(Rrec:62:10) = ‘Key ’
-
c Except Crecadd
-
c Eval %Subst(Rrec:38:6) = ‘MoveL ‘
-
c Eval %Subst(Rrec:48:1) = ””
-
c Eval %Subst(Rrec:49:10) = %subst(x_Cvfield:1:10)
-
c Eval %Subst(Rrec:59:1) = ””
-
c Eval %Subst(Rrec:62:10) = ‘Key ’
-
c Except Crecadd
-
c Eval %Subst(Rrec:19:93) = *Blanks
-
A*
-
A* do the chain
-
c Eval %Subst(Rrec:24:10) = ‘Key ’
-
c Eval %Subst(Rrec:38:6) = ‘Chain ‘
-
c Eval %Subst(Rrec:48:7) = ‘Cvfileo’
-
c Except Crecadd
-
c Eval %Subst(Rrec:19:93) = *Blanks
-
c Eval %Subst(Rrec:38:6) = ‘If ‘
-
c Eval %Subst(Rrec:48:17) = ‘Z_Cvdec <> *Zeros’
-
c Except Crecadd
-
c Eval %Subst(Rrec:19:93) = *Blanks
-
c Eval %Subst(Rrec:38:6) = ‘Eval ‘
-
c*************** Eval %Subst(Rrec:48:2) = ‘x_’
-
c Eval %Subst(Rrec:48:10) = x_Cvfield
-
c Eval %Subst(Rrec:60:9) = ‘= %Editc(’
-
c Eval %Subst(Rrec:69:2) = ‘x_’
-
c Eval %Subst(Rrec:71:10) = x_Cvfield
-
c Eval %Subst(Rrec:81:5) = ‘:’‘P’‘)’
-
c Except Crecadd
-
c Eval %Subst(Rrec:19:93) = *Blanks
-
c Eval %Subst(Rrec:38:6) = ‘Else ‘
-
c Except Crecadd
-
c Eval %Subst(Rrec:19:93) = *Blanks
-
A*
-
c EndIf
-
A*
-
c Eval %Subst(Rrec:38:6) = ‘Move ‘
-
c Eval %Subst(Rrec:48:2) = ‘x_’
-
c Eval %Subst(Rrec:50:10) = @Cvfield
-
c Eval %Subst(Rrec:62:10) = x_Cvfield
-
c Except Crecadd
-
c Eval %Subst(Rrec:19:93) = *Blanks
-
A*
-
c IF x_Cvdec > *Zeros
-
A*
-
c Eval %Subst(Rrec:38:6) = ‘EndIf ‘
-
c Except Crecadd
-
c Eval %Subst(Rrec:19:93) = *Blanks
-
c EndIf
-
A*
-
c EndIf
-
c EndDo
-
A* close the file
-
c Close Cvfileo
-
A*
-
c Eval %Subst(Rrec:38:6) = ‘Except’
-
c Eval %Subst(Rrec:48:7) = ‘Flatout’
-
c Except Crecadd
-
c Eval %Subst(Rrec:19:93) = *Blanks
-
A*
-
c Eval %Subst(Rrec:38:5) = ‘EndIf’
-
c Except Crecadd
-
c Eval %Subst(Rrec:19:93) = *Blanks
-
A*
-
c Eval %Subst(Rrec:38:5) = ‘EndDo’
-
c Except Crecadd
-
c Eval %Subst(Rrec:19:93) = *Blanks
-
A*
-
c Eval %Subst(Rrec:38:4) = ‘Eval’
-
c Eval %Subst(Rrec:48:11) = ‘*Inlr = *On’
-
c Except Crecadd
-
c Eval %Subst(Rrec:19:93) = *Blanks
-
A****************************************************************************
-
A*
-
A* output the o specs
-
c Eval %Subst(Rrec:18:1) = ‘o’
-
c Eval %Subst(Rrec:19:10) = ‘Cvflat ‘
-
c Eval %Subst(Rrec:29:4) = ‘eadd’
-
c Eval %Subst(Rrec:42:7) = ‘Flatout’
-
c Except Orecadd
-
c Eval %Subst(Rrec:19:93) = *Blanks
-
A*
-
c Eval %Subst(Rrec:19:10) = ‘ ‘
-
c Eval %Subst(Rrec:29:4) = ‘ ‘
-
c Eval %Subst(Rrec:42:7) = ‘Flatds ‘
-
c Except Orecadd
-
c Eval %Subst(Rrec:19:93) = *Blanks
-
A*
-
c Eval *Inlr = *ON
-
A*******************************************************
-
A* first time processing *
-
A*******************************************************
-
c *Inzsr Begsr
-
-
c *Entry Plist
-
c Parm @File
-
c Parm @Length
-
c Parm @Dem
-
A*
-
A* output the h spec record
-
c Eval %Subst(Rrec:18:1) = ‘h’
-
c* Eval %Subst(Rrec:20:29) =
-
c* ‘Option(*Srcstmt : *Nodebugio)’
-
c Except Hrecadd
-
c Eval %Subst(Rrec:19:93) = *Blanks
-
A*
-
A* open the file AND CHECK FOR formant name
-
c Open Cvfileo
-
c READ Cvfileo
-
c Close Cvfileo
-
A* output the f spec record
-
c Eval %Subst(Rrec:18:1) = ‘f’
-
c Eval %Subst(Rrec:19:10) = @File
-
c Eval %Subst(Rrec:29:6) = ‘if e’
-
c Eval %Subst(Rrec:48:4) = ‘Disk’
-
c Eval %Subst(Rrec:56:10) = ‘Prefix(x_)’
-
c Except Frecadd
-
c Eval %Subst(Rrec:19:93) = *Blanks
-
A*
-
c IF x_Cvfname = x_Cvformat
-
c Eval %Subst(Rrec:56:7) = ‘Rename(’
-
c Eval %Subst(Rrec:63:10) = x_Cvformat
-
c Eval %Subst(Rrec:73:3) = ‘:x)’
-
c Except Frecadd
-
c Eval %Subst(Rrec:19:93) = *Blanks
-
c EndIf
-
A*
-
A* output the f spec record
-
c Eval %Subst(Rrec:18:1) = ‘f’
-
c Eval %Subst(Rrec:19:10) = ‘Cvflat ‘
-
c Eval %Subst(Rrec:29:6) = ‘uf a f’
-
c Eval %Subst(Rrec:35:5) = @Length
-
c Eval %Subst(Rrec:48:4) = ‘Disk’
-
c Except Frecadd
-
c Eval %Subst(Rrec:19:93) = *Blanks
-
A* output the last f spec record
-
c Eval %Subst(Rrec:18:1) = ‘f’
-
c Eval %Subst(Rrec:19:10) = ‘Cvfileo ’
-
c Eval %Subst(Rrec:29:6) = ‘if e’
-
c Eval %Subst(Rrec:46:6) = ‘k Disk’
-
c Eval %Subst(Rrec:56:10) = ‘Prefix(z_)’
-
c Except Frecadd
-
c Eval %Subst(Rrec:19:93) = *Blanks
-
A*
-
A*
-
c #Inzsr Endsr
-
A*
-
oCvpgm eadd Hrecadd
-
o Rrec
-
A*
-
o eadd Frecadd
-
o Rrec
-
A*
-
o eadd Drecadd
-
o Rrec
-
A*
-
o eadd Crecadd
-
o Rrec
-
A*
-
o eadd Orecadd
-
o Rrec