The following table shows the free-form syntax for each operation code.
Code | Free-Form Syntax |
---|---|
ACQ1 | ACQ{(E)} device-name workstn-file |
BEGSR | BEGSR subroutine-name |
CALLP | {CALLP{(EMR)}} name( {parm1{:parm2...}} ) |
CHAIN | CHAIN{(ENHMR)} search-arg file-or-record-name {data-structure} |
CLEAR | CLEAR {*NOKEY} {*ALL} name |
CLOSE | CLOSE{(E)} file-name |
COMMIT | COMMIT{(E)} {boundary} |
DEALLOC 1 | DEALLOC{(EN)} pointer-name |
DELETE | DELETE{(EHMR)} {search-arg} file-or-record-name |
DOU | DOU{(MR)} indicator-expression |
DOW | DOW{(MR)} indicator-expression |
DSPLY | DSPLY{(E)} {message {message-queue {response}}} |
DUMP1 | DUMP{(A)} {identifier} |
ELSE | ELSE |
ELSEIF | ELSEIF{(MR)} indicator-expression |
ENDDO | ENDDO |
ENDFOR | ENDFOR |
ENDIF | ENDIF |
ENDMON | ENDMON |
ENDSL | ENDSL |
ENDSR | ENDSR {return-point} |
EVAL | {EVAL{(HMR)}} result = expression |
EVALR | EVALR{(MR)} result = expression |
EVAL-CORR | EVAL-CORR{(EH)} target-ds = source-ds |
EXCEPT | EXCEPT {except-name} |
EXFMT | EXFMT{(E)} format-name {data-structure} |
EXSR | EXSR subroutine-name |
FEOD | FEOD{(EN)} file-name |
FOR | FOR{(MR)} index {= start} {BY increment} {TO|DOWNTO limit} |
FORCE | FORCE file-name |
IF | IF{(MR)} indicator-expression |
IN 1 | IN{(E)} {*LOCK} data-area-name |
ITER | ITER |
LEAVE | LEAVE |
LEAVESR | LEAVESR |
MONITOR | MONITOR |
NEXT1 | NEXT{(E)} program-device file-name |
ON-ERROR | ON-ERROR {exception-id1 {:exception-id2...}} |
OPEN | OPEN{(E)} file-name |
OTHER | OTHER |
OUT1 | OUT{(E)} {*LOCK} data-area-name |
POST 1 | POST{(E)} {program-device} file-name |
READ | READ{(EN)} file-or-record-name {data-structure} |
READC | READC{(E)} record-name {data-structure} |
READE | READE{(ENHMR)} search-arg|*KEY file-or-record-name {data-structure} |
READP | READP{(EN)} name {data-structure} |
READPE | READPE{(ENHMR)} search-arg|*KEY file-or-record-name {data-structure} |
REL 1 | REL{(E)} program-device file-name |
RESET 1 | RESET{(E)} {*NOKEY} {*ALL} name |
RETURN | RETURN{(HMR)} expression |
ROLBK | ROLBK{(E)} |
SELECT | SELECT |
SETGT | SETGT{(EHMR)} search-arg file-or-record-name |
SETLL | SETLL{(EHMR)} search-arg file-or-record-name |
SORTA | SORTA{(AD)} array-name or keyed-ds-array |
TEST 1 | TEST{(EDTZ)} {dtz-format} field-name |
UNLOCK 1 | UNLOCK{(E)} name |
UPDATE | UPDATE{(E)} file-or-record-name {data-structure|%FIELDS(name{:name...})} |
WHEN | WHEN{(MR)} indicator-expression |
WRITE | WRITE{(E)} file-or-record-name {data-structure} |
XML-INTO | XML-INTO{(EH)} target-or-handler xml-document |
XML-SAX | XML-SAX{(E)} handler xml-document |
The next table is a summary of the specifications for each operation code in traditional syntax.
Codes | Factor 1 | Factor 2 | Result Field | Resulting Indicators | ||
---|---|---|---|---|---|---|
71-72 | 73-74 | 75-76 | ||||
ACQ (E7) | device-name | workstn-file | ER | |||
ADD (H) | Addend | Addend | Sum | + | - | Z |
ADDDUR (E) | Date/Time | Duration:Duration Code | Date/Time | ER | ||
ALLOC (E) | Length | Pointer | ER | |||
ANDxx | Comparand | Comparand | ||||
BEGSR | subroutine-name | |||||
BITOFF | Bit numbers | Character field | ||||
BITON | Bit numbers | Character field | ||||
CABxx | Comparand | Comparand | Label | HI | LO | EQ |
CALL (E) | Program name | Plist name | ER | LR | ||
CALLB (D E) | Procedure name or Procedure pointer | Plist name | ER | LR | ||
CALLP (E M/R) | name{ (parm1 {:parm2...}) } | |||||
CASxx | Comparand | Comparand | Subroutine name | HI | LO | EQ |
CAT (P) | Source string 1 | Source string 2:number of blanks | Target string | |||
CHAIN (E N) | search-arg | name (file or record format) | data-structure | NR2 | ER | |
CHECK (E) | Comparator String | Base String:start | Left-most Position(s) | ER | FD2 | |
CHECKR (E) | Comparator String | Base String:start | Right-most Position(s) | ER | FD2 | |
CLEAR | *NOKEY | *ALL | name (variable or record format) | |||
CLOSE (E) | file-name or *ALL | ER | ||||
COMMIT (E) | boundary | ER | ||||
COMP1 | Comparand | Comparand | HI | LO | EQ | |
DEALLOC (E/N) | pointer-name | ER | ||||
DEFINE | *LIKE | Referenced field | Defined field | |||
DEFINE | *DTAARA | External data area | Internal field | |||
DELETE (E) | search-arg | name (file or record format) | NR2 | ER | ||
DIV (H) | Dividend | Divisor | Quotient | + | - | Z |
DO | Starting value | Limit value | Index value | |||
DOU (M/R) | indicator-expression | |||||
DOUxx | Comparand | Comparand | ||||
DOW (M/R) | indicator-expression | |||||
DOWxx | Comparand | Comparand | ||||
DSPLY (E)4 | message | message-queue | response | ER | ||
DUMP (A) | identifier | |||||
ELSE | ||||||
ELSEIF (M/R) | indicator-expression | |||||
END | Increment value | |||||
ENDCS | ||||||
ENDDO | Increment value | |||||
ENDFOR | ||||||
ENDIF | ||||||
ENDMON | ||||||
ENDSL | ||||||
ENDSR | label | return-point | ||||
EVAL (H M/R) | Result = Expression | |||||
EVALR (M/R) | Result = Expression | |||||
EVAL-CORR | EVAL-CORR target-ds = source-ds | |||||
EXCEPT | except-name | |||||
EXFMT (E) | Record format-name | data-structure | ER | |||
EXSR | subroutine-name | |||||
EXTRCT (E) | Date/Time:Duration Code | Target Field | ER | |||
FEOD (EN) | file-name | ER | ||||
FOR | Index-name = start-value BY increment TO|DOWNTO limit | |||||
FORCE | file-name | |||||
GOTO | Label | |||||
IF (M/R) | indicator-expression | |||||
IFxx | Comparand | Comparand | ||||
IN (E) | *LOCK | data-area-name | ER | |||
ITER | ||||||
KFLD | Key field | |||||
KLIST | KLIST name | |||||
LEAVE | ||||||
LEAVESR | ||||||
LOOKUP1 (array) | Search argument | Array name | HI | LO | EQ6 | |
LOOKUP1 (table) | Search argument | Table name | Table name | HI | LO | EQ6 |
MHHZO | Source field | Target field | ||||
MHLZO | Source field | Target field | ||||
MLHZO | Source field | Target field | ||||
MLLZO | Source field | Target field | ||||
MONITOR | ||||||
MOVE (P) | Data Attributes | Source field | Target field | + | - | ZB |
MOVEA (P) | Source | Target | + | - | ZB | |
MOVEL (P) | Data Attributes | Source field | Target field | + | - | ZB |
MULT (H) | Multiplicand | Multiplier | Product | + | - | Z |
MVR | Remainder | + | - | Z | ||
NEXT (E) | program-device | file-name | ER | |||
OCCUR (E) | Occurrence value | Data structure | Occurrence value | ER | ||
ON-ERROR | Status codes | |||||
OPEN (E) | file-name | ER | ||||
ORxx | Comparand | Comparand | ||||
OTHER | ||||||
OUT (E) | *LOCK | data-area-name | ER | |||
PARM | Target field | Source field | Parameter | |||
PLIST | PLIST name | |||||
POST (E)3 | program-device | file-name | INFDS name | ER | ||
READ (E N) | name (file or record format) |
data- structure |
ER | EOF5 | ||
READC (E) | record-name |
data- structure |
ER | EOF5 | ||
READE (E N) | search-arg | name (file or record format) |
data- structure |
ER | EOF5 | |
READP (E N) | name (file or record format) |
data- structure |
ER | BOF5 | ||
READPE (E N) | search-arg | name (file or record format) |
data- structure |
ER | BOF5 | |
REALLOC (E) | Length | Pointer | ER | |||
REL (E) | program-device | file-name | ER | |||
RESET (E) | *NOKEY | *ALL | name (variable or record format) | ER | ||
RETURN (H M/R) | Expression | |||||
ROLBK (E) | ER | |||||
SCAN (E) | Comparator string:length | Base string:start | Left-most position(s) | ER | FD2 | |
SELECT | ||||||
SETGT (E) | search-arg | name (file or record format) | NR2 | ER | ||
SETLL (E) | search-arg | name (file or record format) | NR2 | ER | EQ6 | |
SETOFF1 | OF | OF | OF | |||
SETON1 | ON | ON | ON | |||
SHTDN | ON | |||||
SORTA (A/D) | array-name or keyed-ds-array | |||||
SQRT (H) | Value | Root | ||||
SUB (H) | Minuend | Subtrahend | Difference | + | - | Z |
SUBDUR (E) (duration) | Date/Time/ Timestamp | Date/Time/Timestamp | Duration: Duration Code | ER | ||
SUBDUR (E) (new date) | Date/Time/ Timestamp | Duration:Duration Code | Date/Time/ Timestamp | ER | ||
SUBST (E P) | Length to extract | Base string:start | Target string | ER | ||
TAG | Label | |||||
TEST (E)8 | Date/Time or Timestamp Field | ER | ||||
TEST (D E)8 | Date Format | Character or Numeric field | ER | |||
TEST (E T)8 | Time Format | Character or Numeric field | ER | |||
TEST (E Z)8 | Timestamp Format | Character or Numeric field | ER | |||
TESTB1 | Bit numbers | Character field | OF | ON | EQ | |
TESTN1 | Character field | NU | BN | BL | ||
TESTZ1 | Character field | AI | JR | XX | ||
TIME | Target field | |||||
UNLOCK (E) | name (file or data area) | ER | ||||
UPDATE (E) | name (file or record format) |
data- structure |
ER | |||
WHEN (M/R) | indicator-expression | |||||
WHENxx | Comparand | Comparand | ||||
WRITE (E) | name (file or record format) |
data- structure |
ER | EOF5 | ||
XFOOT (H) | Array name | Sum | + | - | Z | |
XLATE (E P) | From:To | String:start | Target String | ER | ||
XML-INTO | XML-INTO target-or-handler xml-document | |||||
XML-SAX | XML-SAX{(E)} handler xml-document | |||||
Z-ADD (H) | Addend | Sum | + | - | Z | |
Z-SUB (H) | Subtrahend | Difference | + | - | Z | |
Notes:
|