:PROCESS... :TERM_PROCESS... :ENDPROCESS
The :PROCESS and :END PROCESS script statements define the beginning and end of a loop for processing a data sequence line by line. Data sequences are contents of a sequential file, or the text result of a command. A new line is read in each cycle until the loop finishes or is explicitly terminated with the :TERM_PROCESS statement.
Use the following script functions to create data sequences:
- PREP_PROCESS
- PREP_PROCESS_AGENTGROUP
- PREP_PROCESS_COMMENTS
- PREP_PROCESS_DOCU
- PREP_PROCESS_FILE
- PREP_PROCESS_FILENAME
- PREP_PROCESS_PROMPTSET
- PREP_PROCESS_REPORT
- PREP_PROCESS_REPORTLIST
- PREP_PROCESS_VAR and PREP_PROCESS_VAR_XML
Syntax
:PROCESS Data sequence reference
[Statement]
:TERM_PROCESS
:ENDPROCESS
:CLOSE_PROCESS
Parameters
-
:PROCESS
Begins the processing loop -
Data sequence reference
Reference to the data sequence to process -
Statements
One or more script statements that are processed during every cycle -
:TERM_PROCESS
Exits the processing loop -
:END_PROCESS
Ends the processing loop -
:CLOSE_PROCESS
Discards the data sequence
Important! An empty data sequence means that the processing in the loop (between the :PROCESS and :ENDPROCESS statements) is not performed. You do not receive an error message.
Note: To reuse the script variable that contains the data sequence reference, discard the data sequence with the :CLOSE_PROCESS script statement before you assign a new value to the script variable.
Tip: Use the GET_PROCESS_LINE script function to retrieve the content of a particular line in the process.
Example
The following example retrieves the directories of a disk drive and writes the results to the activation report. This script includes a condition that terminates the loop if the &USER# script variable has a particular value.
:SET &HND# = PREP_PROCESS("PC01","WINCMD","*DIR*","CMD=DIR C:")
:PROCESS &HND#
: IF &USER# = "TSOS"
: TERM_PROCESS
: ENDIF
: PRINT &LINE#
:ENDPROCESS
:CLOSE_PROCESs &HND#
See also: