Well, yes, to do it right you have to fix BOTH programs. You can make it
work by fixing just the printing program, but it's a bit of a dirty fix.
Fix ONE program method: (assume cobol?)
add a file: SELECT MPEMSGS ASSIGN TO "MPEMSGS".
FD MPEMSGS-FILE.
01 MPEMSGS-RECORD PIC X(256).
in WS, add...
01 MPE-COMMAND-STRING.
05 MPE-COMMAND-TEXT PIC X(128).
05 MPE-COMMAND-CR PIC X VALUE %13.
in Proc Div add...
MOVE "LISTEQ > MPEMSGS" TO MPE-COMMAND-TEXT
CALL INTRINSIC "HPCICOMMAND" USING MPE-COMMAND-STRING,
ERRR, PARM, LVL
OPEN INPUT MPEMSGS-FILE
READ MPEMSGS-FILE
AT END
MOVE HIGH-VALUES TO MPEMSGS-RECORD
DISPLAY "SHUCKS; CAN'T FIND THE RIGHT EQUATION!"
CALL INTRINSIC 'QUIT' USING 666
END-READ
PERFORM UNTIL MPEMSGS-RECORD = HIGH-VALUES
OR MYDEV-FOUND
... WRITE A BUNCH OF CODE TO TAKE IT APART, LOOK FOR
APPROPRIATE FORMAL FILENAME, PARSE ACTUAL
DESIGNATOR,
END-PERFORM
CLOSE MPEMSGS-FILE
...NOW you get to decide whether to use 8lpi.
The MUCHO better 2-program fix:
1)In your PRSET subprogram which issues the equation in the firstplace,
add
(similar working storage stuff to handle OS interface), and
MOVE "SETVAR MYLDEV LP1" TO MPE-COMMAND-TEXT
CALL INTRINSIC "HPCICOMMAND" USING MPECOMMAND-STRING,ERRR,PARM,LVL
2)in your PRINT program add
WS: 01 varname pic x(8).
01 getvarstatus pic s9(4) comp.
01 getvaritemnum pic s9(4) comp.
01 getvaritemvalue (pic varies depending on value
of getvaritemnum).
see p 4-286 of intrinsics manual for details, or
since we're using "LP1" we want alpha, so just
PD: MOVE 2 TO GETVARITEMNUM
MOVE "MYLDEV" TO VARNAME
CALL INTRINSIC 'HPCIGETVAR' USING VARNAME
GETVARSTATUS GETVARITEMNUM
GETVARITEMVALUE
IF GETVARITEMVALUE = whatever you want for 8-lpi decision,
MOVE 84 TO LINES-ON-PAGE
ELSE
MOVE 60 TO LINES-ON-PAGE
See, you DO wanna fix em both, it's much cleaner.
K Tracy Pierce
Systems Programmer
Golden Gate Bridge Highway & Transportation District
San Francisco, CA 94129-0601
|