| 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- |
ER | EOF5 | ||
| READC (E) | record-name | data- |
ER | EOF5 | ||
| READE (E N) | search-arg | name (file or record format) | data- |
ER | EOF5 | |
| READP (E N) | name (file or record format) | data- |
ER | BOF5 | ||
| READPE (E N) | search-arg | name (file or record format) | data- |
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- |
ER | |||
| WHEN (M/R) | indicator-expression | |||||
| WHENxx | Comparand | Comparand | ||||
| WRITE (E) | name (file or record format) | data- |
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 | |
Note:
|
||||||