You are on page 1of 12

Operation Codes ACQ (Acquire) ADD (Add) ADDDUR (Add Duration) ALLOC (Allocate Storage) ANDxx (And) BEGSR

(Beginning of Subroutine) BITOFF (Set Bits Off) BITON (Set Bits On) CABxx (Compare and Branch) CALL (Call a Program) CALLB (Call a Bound Procedure) CALLP (Call a Prototyped Procedure or Program) CASxx (Conditionally Invoke Subroutine) CAT (Concatenate Two Strings) CHAIN (Random Retrieval from a File) CHECK (Check Characters) CHECKR (Check Reverse) CLEAR (Clear) CLOSE (Close Files) COMMIT (Commit) COMP (Compare) DEALLOC (Free Storage) DEFINE (Field Definition) DEFINE (Field Definition) DELETE (Delete Record) DIV (Divide) DO (Do) DOU (Do Until) DOUxx (Do Until) DOW (Do While) DOWxx (Do While) DSPLY (Display Function) DUMP (Program Dump) ELSE (Else) ELSEIF (Else If)

Code ACQ (E) ADD (H) ADDDUR (E) ALLOC (E) ANDxx BEGSR BITOFF BITON CABxx CALL (E) CALLB (D E) CALLP (E M/R) CASxx CAT (P) CHAIN (E N) CHECK (E) CHECKR (E) CLEAR CLOSE (E) COMMIT (E) COMP DEALLOC(E/N) DEFINE DEFINE DELETE (E) DIV (H) DO DOU (M/R) DOUxx DOW (M/R) DOWxx DSPLY (E) DUMP (A) ELSE ELSEIF (M/R) END ENDCS ENDDO ENDFOR ENDIF ENDMON ENDSL ENDSR EVAL (Evaluate expression) EVALR (M/R)

ENDyy (End a Structured Group)

ENDSR (End of Subroutine) EVAL (Evaluate expression) EVALR (Evaluate expression, right adjust)

EXCEPT (Calculation Time Output) EXFMT (Write/Then Read Format) EXSR (Invoke Subroutine) EXTRCT (Extract Date/Time/Timestamp) FEOD (Force End of Data) FOR (For) FORCE (Force a Certain File to Be Read Next Cycle) GOTO (Go To) IF (If) IFxx (If) IN (Retrieve a Data Area) ITER (Iterate) KFLD (Define Parts of a Key) KLIST (Define a Composite Key) LEAVE (Leave a Do/For Group) LEAVESR (Leave a Subroutine) LOOKUP (Look Up a Table Element) LOOKUP (Look Up a Array Element) MHHZO (Move High to High Zone) MHLZO (Move High to Low Zone) MLHZO (Move Low to High Zone) MLLZO (Move Low to Low Zone) MONITOR (Begin a Monitor Group) MOVE (Move) MOVEA (Move Array)

EXCEPT EXFMT (E) EXSR EXTRCT (E) FEOD (E) FOR FORCE GOTO IF (M/R) Ifxx IN (E) ITER KFLD KLIST LEAVE LEAVESR LOOKUP LOOKUP MHHZO MHLZO MLHZO MLLZO MONITOR MOVE (P) MOVEA (P)

MOVEL (Move Left) MOVEL (P) MULT (Multiply) MULT (H) MVR (Move Remainder) MVR NEXT (Next) NEXT (E) OCCUR (Set/Get Occurrence of a Data Structure)OCCUR (Set/Get Occurrence of a Data Structure) OCCUR (E) ON-ERROR (On Error) ON-ERROR OPEN (Open File for Processing) OPEN (E) ORxx (Or) Orxx OTHER (Otherwise Select) OTHER OUT (Write a Data Area) OUT (E) PARM (Identify Parameters) PARM PLIST (Identify a Parameter List) PLIST POST (Post) POST (E) READ (Read a Record) READ (E N) READC (Read Next Changed Record) READC (E) READE (Read Equal Key) READE (E N) READP (Read Prior Record) READP (E N) READPE (Read Prior Equal) READPE (E N) REALLOC (Reallocate Storage with New Length) REALLOC (E) REL (Release) REL (E)

RESET (Reset) RETURN (Return to Caller) ROLBK (Roll Back) SCAN (Scan String) SELECT (Begin a Select Group) SETGT (Set Greater Than) SETLL (Set Lower Limit) SETOFF (Set Indicator Off) SETON (Set Indicator On) SHTDN (Shut Down) SORTA (Sort an Array) SQRT (Square Root) SUB (Subtract) SUBDUR (Subtract Duration) SUBDUR (Subtract Duration) SUBST (Substring) TAG (Tag) TEST (Test Date/Time/Timestamp) TEST (Test Date/Time/Timestamp) TEST (Test Date/Time/Timestamp) TEST (Test Date/Time/Timestamp) TESTB (Test Bit) TESTN (Test Numeric) TESTZ (Test Zone) TIME (Retrieve Time and Date) UNLOCK (Unlock a Data Area or Release a Record) UPDATE (Modify Existing Record) WHEN (When True Then Select) WHENxx (When True Then Select) WRITE (Create New Records) XFOOT (Summing the Elements of an Array) XLATE (Translate) Z-ADD (Zero and Add) Z-SUB (Zero and Subtract)

RESET (E) RETURN (HM/R) ROLBK (E) SCAN (E) SELECT SETGT (E) SETLL (E) SETOFF SETON (Set Indicator On) SHTDN SORTA SQRT (H) SUB (H) SUBDUR (E) (Subtract Duration) SUBDUR (E) (new date) SUBST (E P) TAG TEST (E) TEST (D E) TEST (E T) TEST (E Z) TESTB TESTN TESTZ TIME UNLOCK (Unlock a Data Area or Release a Record) UPDATE (E) WHEN (M/R) WHENxx WRITE (E) XFOOT (H) XLATE (E P) Z-ADD (H) Z-SUB (H)

Factor 1 device- name Addend Date/Time Comparand subroutine-name

Factor 2 workstn-file Addend Duration:Duration Code Length Comparand Bit numbers Bit numbers Comparand Program name Procedure name or procedure pointer name{ (parm1 {:parm2...}) } Comparand Source string 2: number of blanks name (file or record format) Base string:start Base string:start *ALL file-name or *ALL Comparand Referenced field External data area name (file or record format) Divisor Limit value indicator-expression Comparand indicator-expression Comparand output-queue

Comparand

Comparand Source string 1 search-arg Comparator string Comparator string *NOKEY boundary Comparand *LIKE *DTAARA search-arg Dividend Starting value Comparand Comparand message identifier Blank

indicator-expression increment-value increment-value

label

return-point Assignment Statement Assignment Statement

Blank Comparand *LOCK

except-name format-name subroutine-name Date/Time: Duration Code file-name index-name = start-value BY increment TO | DOWNTO limit file-name Label indicator-expression Comparand data-area-name Indicator

KLIST name

Search argument Search argument

Array name Table name Source field Source field Source field Source field

Source field Source Data Attributes Multiplicand program-device Occurrence value Source field Multiplicand file-name Data structure file-name Comparand data-area-name Source field file-name name (file or record format) record-name name (file or record format) name (file or record format) name (file or record format) Length file-name

Comparand *LOCK Target field PLIST name program-device

search-arg search-arg program-device

*NOKEY

*ALL expression Base string:start name (file or record format) name (file or record format)

Compare string:length search-arg search-arg

Minuend Date/Time/ Timestamp Duration:Duration Code Length to extract Label Date Format Time Format Timestamp Format

array-name Value Subtrahend Duration:Duration code Date/Time/Timestamp Base string:start

Bit numbers

ata Area or Release a Record)

Comparand

From:To

name (file or data area) UPDATE (E) indicator-expression Comparand name (file or record format) XFOOT (H) Source-String:start Addend Subtrahend

Result Field Sum Date/Time Pointer

Indicators LO EQ ER + Z ER ER HI

Character field Character field Label Plist name Plist name Subroutine name Target string data-structure Leftposition Rightposition name (variableor recordformat)

HI

LO EQ ER LR ER LR LO EQ

HI

NR ER ER FD ER FD ER HI LO EQ ER

pointer-name Defined field Internal field Quotient Index value

NR ER + Z

response

ER

ER Target ER ER

ER Key field

Table name Target field Target field Target field Target field

HI HI

LO EQ LO EQ

Target field Target Target field Product Remainder Occurrence value List of exception IDs

+ + + + +

ZB ZB

ZB Z Z ER ER ER

ER Parameter INFDS name data-structure data-structure data-structure data-structure Pointer ER ER ER ER ER ER ER ER

EOF EOF EOF EOF EOF

name (variable or recordformat)

ER ER ER FD NR NR OF ON ON ER ER EQ OF OF ON ON

Left-most position

Root Difference

Target string Date/Time or Timestamp Field Character or Numeric field Character or Numeric field Character or Numeric field Character field Character field Character field Target field data-structure

Z ER ER ER

ER ER ER ER OF ON EQ NU EN BL AI JR XX ER ER

data-structure Sum Target String Sum Difference

+ + +

ER ER -

EOF Z Z Z

Free-Form Syntax ACQ{(E)} device-name workstn-file (not allowed - use the + operator) (not allowed - use the + operator with duration functions such as %YEARS and%MONTHS) (not allowed - use the %ALLOC built-in function) (not allowed - use the AND operator) BEGSR subroutine-name (not allowed) (not allowed) (not allowed - use other operation codes, such as LEAVE, ITER, and RETURN) (not allowed - use the CALLP operation code) (not allowed - use the CALLP operation code) CALLP{(EMR)}} name( {parm1{:parm2...}} ) (not allowed - use the IF and EXSR operation codes) (not allowed - use the + operator) CHAIN{(EN)} search-arg name {data-structure} (not allowed - use the %CHECK built-in function) (not allowed - use the %CHECKR built-in function) CLEAR {*NOKEY} {*ALL} name CLOSE{(E)} file-name|*ALL COMMIT{(E)} {boundary} (not allowed - use the =, <, >, <=, >=, or <> operator) (not allowed - use the LIKE or DTAARA keyword on the definition specification) (not allowed - use the LIKE or DTAARA keyword on the definition specification) DELETE{(E)} {search-arg} name (not allowed - use the / operator or the %DIV built-in function) (not allowed - use the FOR operation code) DOU{(MR)} indicator-expression (not allowed - use the DOU operation code) DOW{(MR)} indicator-expression (not allowed - use the DOW operation code) DSPLY{(E)} {message {output-queue {response}}} DUMP{(A)} {identifier} ELSE ELSEIF{(MR)} indicator-expression Not allowed Not allowed ENDDO ENDFOR ENDIF ENDMON ENDSL ENDSR {return-point} EVAL{(HMR)}} result = expression EVALR{(MR)} result = expression

except-name EXFMT{(E)} format-name EXSR subroutine-name (not allowed - use the %SUBDT built-in function) FEOD{(E)} file-name FOR{(MR)} index-name {= start-value} {BY increment} {TO|DOWNTO limit} FORCE file-name (not allowed - use other operation codes, such as LEAVE, ITER, and RETURN) IF{(MR)} indicator-expression (not allowed - use the IF operation code) IN{(E)} {*LOCK} data-area-name ITER (not allowed) (not allowed) LEAVE LEAVESR (not allowed - use the %LOOKUPxx or %TLOOKUPxx built-in function) (not allowed - use the %LOOKUPxx or %TLOOKUPxx built-in function) (not allowed) (not allowed) (not allowed) (not allowed) MONITOR (not allowed - use the EVALR operation code, or built-in functions such as %DATE, %TIME, %TIMESTAMP, %CHAR, %UCS2, or %GRAPH) (not allowed) (not allowed - use the EVAL operation code, or built-in functions such as %DATE, %TIME, %TIMESTAMP, %CHAR, %UCS2, or %GRAPH) (not allowed - use the * operator) (not allowed - use the %REM built-in function) NEXT{(E)} program-device file-name (not allowed - use the %OCCUR built-in function) ON-ERROR {exception-id1 {:exception-id2...}} OPEN{(E)} file-name ORxx (Or) OTHER OUT{(E)} {*LOCK} data-area-name (not allowed - use the PR definition specification) (not allowed - use the PR definition specification) POST{(E)} {program-device} file-name READ (Read a Record) READC{(E)} record-name READE{(EN)} search-arg|*KEY name {data-structure} READP{(EN)} name {data-structure} READPE{(EN)} search-arg|*KEY name {data-structure} (not allowed - use the %REALLOC built-in function)

RESET{(E)} {*NOKEY} {*ALL} name RETURN{(HMR)} expression ROLBK{(E)} (not allowed - use the %SCAN built-in function) SELECT SETLL{(E)} search-arg name (not allowed - use EVAL *INxx = *OFF) (not allowed - use EVAL *INxx = *ON) (not allowed - use the %SHTDN built-in function) SORTA array-name (not allowed - use the %SQRT built-in function) SUB (Subtract) (not allowed - use the - operator or the %DIFF built-in function) (not allowed - use the - operator or the %DIFF built-in function) (not allowed - use the %SUBST built-in function) (not allowed - use other operation codes, such as LEAVE, ITER, and RETURN) TEST{(EDTZ)} {dtz-format} field-name TEST{(EDTZ)} {dtz-format} field-name TEST{(EDTZ)} {dtz-format} field-name TEST{(EDTZ)} {dtz-format} field-name (not allowed) (not allowed) (not allowed) (not allowed - use the %DATE, %TIME, or %TIMESTAMP built-in function) UNLOCK{(E)} name UPDATE{(E)} name {data-structure} WHEN{(MR)} indicator-expression (not allowed - use the WHEN operation code) WRITE{(E)} name {data-structure} (not allowed - use the %XFOOT built-in function) (not allowed - use the %XLATE built-in function) (not allowed) (not allowed)