Summary:
This article describes how to convert a VISION:Forms program to VISION:Report.
Background:
VISION:Forms is an add-on to VISION:Report, but has been stabilized so the natural conversion is to VISION:Report. This article provides a basic instruction set to convert a VISION:Forms program to VISION:Report. Note this is a basic template and your application may need further modifications.
Environment:
z/OS
Instructions:
1) Create VISION:Report source
Execute existing VISION:Forms job changing only the //QWPRINT DD to point to a permanent dataset:
//****QWPRINT DD SYSOUT=*
//QWPRINT DD DSN=captured.source,
// DISP=(NEW,CATLG),UNIT=xxxxx,SPACE=(TRK,5,,CONTIG)
2) Copy the captured dataset to a new dataset with DCB FB 80 80.
The captured dataset will be FBA 133 133 which is not acceptable for a dataset to be used as SYSIN.
3) Edit the 80 byte dataset:
A) Delete the line ‘PRECEDING IS PROOF COPY OF REPORT FORMAT.’ and all lines before it.
B) Delete all lines after 999 END
C) Remove all page break groupings of 4 lines: 1JOBNAME=… and the 3 lines that follow
D) Shift the remaining source 1 byte to the left so it all starts in column 1
Place ((1 in first line and (( in last line and hit <ENTER>
Sample before
-note blanks in column 1:
****** ***************************** Top of Data *************
((1001 OPTION NOSEQ,PFLEOPT=YES,SAVAREA=0073,RPTDD=QWLLIST
000002 OFATAPE00800080SSYS000 BF=N
000003 EQU QW-SAVE-FILENM SAV0031-0038
000004 EQU QW-BROWSE-FLAG SAV0039-0039
((0005 EQU QW-MATCH-FILE1 SAV0040-0040
Sample After
– all lines shifted left 1 byte:
****** ***************************** Top of Data **********
000001 OPTION NOSEQ,PFLEOPT=YES,SAVAREA=0073,RPTDD=QWLLIST
000002 OFATAPE00800080SSYS000 BF=N
000003 EQU QW-SAVE-FILENM SAV0031-0038
000004 EQU QW-BROWSE-FLAG SAV0039-0039
000005 EQU QW-MATCH-FILE1 SAV0040-0040
E) Place an * in column 1 of the second line that starts with OFATAPE
000002 *OFATAPE00800080SSYS000 BF=N
F) And SAVE
4) Copy existing VISION:Forms job to test member
5) Edit the JCL:
A) Change EXEC statement to specify PGM=QUIKJOB
B) Delete //QWSYSIN DD statement, and if instream, all lines following through the /*
(all information in the data dictionary has been incorporated into the VISION:Report source program)
C) Change //SYSIN DD UNIT=SYSDA,SPACE=(CYL,(2,2))
to //SYSIN DD DISP=SHR,DSN=your.edited.80.byte.source.file.from.step.3
D) Change DDname //QWINF which points to your input data to //SYSUT1
E) Add //SYSUT2 DD SYSOUT=*
F) You may delete
//QWPLIST DD SYSOUT=*
//QWPRINT DD SYSOUT=*
//QWOFA DD UNIT=SYSDA,SPACE=(CYL,(10,10))
//QWUDICT DD UNIT=SYSDA,SPACE=(CYL,(2,2))
//QWWORK DD UNIT=SYSDA,SPACE=(CYL,(2,2))
//QWPUNCH DD UNIT=SYSDA,SPACE=(CYL,(2,2))
Do not delete or change //QWLLIST DD statement.
This is the report DDname specifiedin the VISION:Report source
OPTION NOSEQ,PFLEOPT=YES,SAVAREA=0074,RPTDD=QWLLIST
G) If JOBLIB or STEPLIB is used, you may remove all VISION:Forms loadlibs: PCP, patch and base