Validate and build a text unit for a keyword operand and subparameters

After the application validates the keyword operand CHARS, it calls VERIFY to process the CHARS keyword operand with the subparameter GT10. The pointers are set as in Figure 1.
  • Obtain 1K of storage for the SJF Verify text unit output area.
  • Clear the SJF Verify parameter list SJVEP (set to zeros).
  • Set the id field, SJVEID, to 'SJVE'.
  • Set the parameter list version number to SJVECVER.
  • Set the parameter list length equal to the length of SJVELGTH.
  • Set the no-cleanup bit, SJVENOCU, on. Continue to save the SJF environment across calls.
  • Set the unauthorized-caller bit, SJVEUNAU, on if appropriate for your application.
  • Set the statement name field, SJVECMND, to 'OUTDES ' from the statement above.
  • Set the operand pointer field, SJVEOPEP, to OPER_PTR.
  • Set the operand length field, SJVEOPEL, to 5.
  • Set the subparameter number field, SJVEPARM, to 1 to indicate first subparameter being processed.
  • Set the subparameter pointer field, SJVEPRMP, to PARM_PTR.
  • Set the subparameter length field, SJVEPRML, to 4 (length of 'GT10')
  • Set the VERIFY text unit output area length field, SJVETUBL, to 1024 (1K obtained above in this example).
  • Set the VERIFY text unit output area pointer field, SJVETUBP, to the address of the obtained storage.
  • Issue SJFREQ REQUEST=VERIFY,PARM=SJVEP.
VERIFY returns with a return and reason code of zero. The application updates PARM_PTR to point to GB10. The adjusted pointers are as follows:
Figure 1. OUTDES Statement with New Pointers Indicating Values To Be Processed
OUTDES out1  CHARS(GT10,GB10) COPIES(1,(2,4,5))
             |          |
             |          PARM_PTR
             OPER_PTR
 
The IEFSJVEP parameter list still contains the results from the previous VERIFY call. Call VERIFY again to validate subparameter GB10 and build a text unit in the text unit output area for the entire CHARS keyword operand. Note that we are still processing the same keyword operand, so the value in SJVETUBP in this example contains the same value passed for all previous subparameters of the keyword operand, CHARS.
  • Set the subparameter number field, SJVEPARM, to SJVEPARM +1 (which is now 2).
  • Set the subparameter pointer field, SJVEPRMP, to PARM_PTR.
  • Set the subparameter length field, SJVEPRML, to 4 (length of 'GB10').
  • Issue SJFREQ REQUEST=VERIFY,PARM=SJVEP.

VERIFY returns with a return and reason code of zero.