命令コード

以下の表では、それぞれの命令コードごとに自由形式構文を示します。
  • 拡張
    (A)
    DEBUG(*NO) が指定されている場合であっても、必ずダンプを実行する
    (A)
    昇順ソート
    (D)
    バインド呼び出し時に操作記述子を渡す
    (D)
    日付フィールド
    (D)
    降順ソート
    (E)
    エラー処理
    (H)
    四捨五入 (数値の結果の丸め)
    (M)
    デフォルトの精度規則
    (N)
    レコードをロックしない
    (N)
    DEALLOC が正常に行われた後、ポインターを *NULL に設定する
    (N)
    データを不揮発性の記憶域に強制的に入れない
    (P)
    結果にブランクまたはゼロの埋め込みを行う
    (R)
    "結果の小数点以下の桁数" 精度規則
    (T)
    時刻フィールド
    (Z)
    タイム・スタンプ・フィールド
表 1. 自由形式構文における命令コード
コード 自由形式構文
ACQ1 ACQ{(E) } 装置名 ワークステーション・ファイル
BEGSR BEGSR サブルーチン名
CALLP {CALLP{(EMR) } } 名前( {パラメーター1 {:パラメーター2... } } )
CHAIN CHAIN {(ENHMR) } 検索引数 ファイルまたはレコード名 {データ構造 }
CLEAR CLEAR {*NOKEY } {*ALL } 名前
CLOSE CLOSE {(E) } ファイル名
COMMIT COMMIT {(E) } {境界 }
DEALLOC 1 DEALLOC {(EN) } ポインター名
DELETE DELETE {(EHMR) } {検索引数 } ファイルまたはレコード名
DOU DOU {(MR) } 標識式
DOW DOW {(MR) } 標識式
DSPLY DSPLY {(E) } {メッセージ {メッセージ待ち行列 {応答 } } }
DUMP1 DUMP {(A) } {識別コード }
ELSE ELSE
ELSEIF ELSEIF {(MR) } 標識式
ENDDO ENDDO
ENDFOR ENDFOR
ENDIF ENDIF
ENDMON ENDMON
ENDSL ENDSL
ENDSR ENDSR {戻り点 }
EVAL {EVAL {(HMR) } } 結果 =
EVALR EVALR {(MR) } 結果 =
EVAL-CORR EVAL-CORR {(EH) } ターゲット・データ構造 = ソース・データ構造
EXCEPT EXCEPT {例外名 }
EXFMT EXFMT {(E) } 形式名 {データ構造 }
EXSR EXSR サブルーチン名
FEOD FEOD {(EN) } ファイル名
FOR FOR {(MR) } 索引 {= 開始 } {BY 増分 } {TO|DOWNTO 限界 }
FORCE FORCE ファイル名
IF IF {(MR) } 標識式
IN 1 IN {(E) } {*LOCK } データ域名
ITER ITER
LEAVE LEAVE
LEAVESR LEAVESR
MONITOR MONITOR
NEXT1 NEXT {(E) } プログラム装置 ファイル名
ON-ERROR ON-ERROR {例外識別コード1 {:例外識別コード2… } }
OPEN OPEN {(E) } ファイル名
OTHER OTHER
OUT1 OUT {(E) } {*LOCK } データ域名
POST 1 POST {(E) } {プログラム装置 } ファイル名
READ READ {(EN) } ファイルまたはレコード名 {データ構造 }
READC READC {(E) } レコード名 {データ構造 }
READE READE {(ENHMR) } 検索引数|*KEY ファイルまたはレコード名 {データ構造 }
READP READP {(EN) } 名前 {データ構造 }
READPE READPE {(ENHMR) } 検索引数|*KEY ファイルまたはレコード名 {データ構造 }
REL 1 REL {(E) } プログラム装置 ファイル名
RESET 1 RESET {(E) } {*NOKEY } {*ALL } 名前
RETURN RETURN {(HMR) }
ROLBK ROLBK {(E) }
SELECT SELECT
SETGT SETGT {(EHMR) } 検索引数 ファイルまたはレコード名
SETLL SETLL {(EHMR) } 検索引数 ファイルまたはレコード名
SORTA SORTA {(AD) } 配列名 またはキー付きデータ構造配列
TEST 1 TEST {(EDTZ) } {dtz 形式 } フィールド名
UNLOCK 1 UNLOCK {(E) } 名前
UPDATE UPDATE {(E) } ファイルまたはレコード名 {データ構造 | %FIELDS(名前 {:名前... }) }
WHEN WHEN {(MR) } 標識式
WRITE WRITE {(E) } ファイルまたはレコード名 {データ構造 }
XML-INTO XML-INTO {(EH) } ターゲットまたはハンドラー XML 文書
XML-SAX XML-SAX {(E) } ハンドラー XML 文書
注:
  1. この命令コードでは複合修飾名を使用できません。

次の表には、従来型の構文における各命令コードの仕様をまとめてあります。

表 2. 従来型の構文における命令コード
コード 演算項目 1 演算項目 2 結果フィールド 結果標識
71 から 72 73 から 74 75-76
ACQ (E7) 装置名 ワークステーション・ファイル     ER  
ADD (H) 加数 加数 + - Z
ADDDUR (E) 日付/時刻 期間: 期間コード 日付/時刻   ER  
ALLOC (E)   長さ ポインター   ER  
ANDxx 被比較値 被比較値        
BEGSR サブルーチン名          
BITOFF   ビット番号 文字フィールド      
BITON   ビット番号 文字フィールド      
CABxx 被比較値 被比較値 ラベル HI LO EQ
CALL (E)   プログラム名 PLIST 名   ER LR
CALLB (D E)   プロシージャー名またはプロシージャー・ポインター PLIST 名   ER LR
CALLP (E M/R)   名前 { (パラメーター1 {:パラメーター2… }) }
CASxx 被比較値 被比較値 サブルーチン名 HI LO EQ
CAT (P) ソース・ストリング 1 ソース・ストリング 2: ブランクの数 ターゲット・ストリング      
CHAIN (E N) 検索引数 名前 (ファイルまたはレコード様式) データ構造 NR2 ER  
CHECK (E) 比較ストリング 基本ストリング: 開始 左端の位置 (複数の場合もある)   ER FD2
CHECKR (E) 比較ストリング 基本ストリング: 開始 右端の位置 (複数の場合もある)   ER FD2
CLEAR *NOKEY *ALL 名前 (変数またはレコード様式)      
CLOSE (E)   ファイル名 または *ALL     ER  
COMMIT (E) 境界       ER  
COMP1 被比較値 被比較値   HI LO EQ
DEALLOC (E/N)     ポインター名   ER  
DEFINE *LIKE 被参照フィールド 定義されるフィールド      
DEFINE *DTAARA 外部データ区域 内部フィールド      
DELETE (E) 検索引数 名前 (ファイルまたはレコード様式)   NR2 ER  
DIV (H) 被除数 除数 + - Z
DO 開始値 限界値 指標値      
DOU (M/R)   標識式
DOUxx 被比較値 被比較値        
DOW (M/R)   標識式
DOWxx 被比較値 被比較値        
DSPLY (E)4 メッセージ メッセージ待ち行列 応答   ER  
DUMP (A) 識別コード          
ELSE            
ELSEIF (M/R)   標識式
END   増分値        
ENDCS            
ENDDO   増分値        
ENDFOR            
ENDIF            
ENDMON            
ENDSL            
ENDSR ラベル 戻り点        
EVAL (H M/R)   結果 = 式
EVALR (M/R)   結果 = 式
EVAL-CORR   EVAL-CORR ターゲット・データ構造 = ソース・データ構造
EXCEPT   例外名        
EXFMT (E)   レコード様式名 データ構造   ER  
EXSR   サブルーチン名        
EXTRCT (E)   日付/時刻:期間コード 転送先フィールド   ER  
FEOD (EN)   ファイル名     ER  
FOR   索引名 = 開始値 BY 増分 TO|DOWNTO 限界
FORCE   ファイル名        
GOTO   ラベル        
IF (M/R)   標識式
IFxx 被比較値 被比較値        
IN (E) *LOCK データ域名     ER  
ITER            
KFLD     キー・フィールド      
KLIST KLIST 名          
LEAVE            
LEAVESR            
LOOKUP1 (配列) 検索引数 配列名   HI LO EQ6
LOOKUP1 (テーブル) 検索引数 テーブル名 テーブル名 HI LO EQ6
MHHZO   ソース・フィールド ターゲット・フィールド      
MHLZO   ソース・フィールド ターゲット・フィールド      
MLHZO   ソース・フィールド ターゲット・フィールド      
MLLZO   ソース・フィールド ターゲット・フィールド      
MONITOR            
MOVE(P) データ属性 ソース・フィールド ターゲット・フィールド + - ZB
MOVEA (P)   ソース ターゲット + - ZB
MOVEL(P) データ属性 ソース・フィールド ターゲット・フィールド + - ZB
MULT (H) 被乗数 乗数 + - Z
MVR     剰余 + - Z
NEXT (E) ファイル名     ER  
OCCUR (E) オカレンス値 データ構造 オカレンス値   ER  
ON-ERROR   状況コード
OPEN (E)   ファイル名     ER  
ORxx 被比較値 被比較値        
OTHER            
OUT (E) *LOCK データ域名     ER  
PARM ターゲット・フィールド ソース・フィールド パラメーター      
PLIST PLIST 名          
POST (E)3   ファイル名 INFDS 名   ER  
READ (E N)   名前 (ファイルまたはレコード様式)

データ
構造

  ER EOF5
READC (E)   レコード名

データ
構造

  ER EOF5
READE (E N) 検索引数 名前 (ファイルまたはレコード様式)

データ
構造

  ER EOF5
READP (E N)   名前 (ファイルまたはレコード様式)

データ
構造

  ER BOF5
READPE (E N) 検索引数 名前 (ファイルまたはレコード様式)

データ
構造

  ER BOF5
REALLOC (E)   長さ ポインター   ER  
REL (E) ファイル名     ER  
RESET (E) *NOKEY *ALL 名前 (変数またはレコード様式)   ER  
RETURN (H M/R)  
ROLBK (E)         ER  
SCAN (E) 比較ストリング:長さ 基本ストリング: 開始 左端の位置 (複数の場合もある)   ER FD2
SELECT            
SETGT (E) 検索引数 名前 (ファイルまたはレコード様式)   NR2 ER  
SETLL (E) 検索引数 名前 (ファイルまたはレコード様式)   NR2 ER EQ6
SETOFF1       OF OF OF
SETON1       ON ON ON
SHTDN       ON    
SORTA(A/D)   配列名またはキー付きデータ構造配列        
SQRT (H)   平方根      
SUB (H) 被減数 減数 + - Z
SUBDUR (E) (期間) 日付/時刻/タイム・スタンプ 日付/時刻/タイム・スタンプ 期間: 期間コード   ER  
SUBDUR (E) (新しい日付) 日付/時刻/タイム・スタンプ 期間: 期間コード 日付/時刻/タイム・スタンプ   ER  
SUBST (E P) 取り出す長さ 基本ストリング: 開始 ターゲット・ストリング   ER  
TAG ラベル          
TEST (E)8     日付/時刻または タイム・スタンプ・フィールド   ER  
TEST (D E)8 日付形式   文字または 数値フィールド   ER  
TEST (E T)8 時刻の形式   文字または 数値フィールド   ER  
TEST (E Z)8 タイム・スタンプ形式   文字または 数値フィールド   ER  
TESTB1   ビット番号 文字フィールド OF ON EQ
TESTN1     文字フィールド NU BN BL
TESTZ1     文字フィールド AI JR XX
TIME     ターゲット・フィールド      
UNLOCK (E)   名前 (ファイルまたはデータ域)     ER  
UPDATE (E)   名前 (ファイルまたはレコード様式)

データ
構造

  ER  
WHEN (M/R)   標識式
WHENxx 被比較値 被比較値        
WRITE (E)   名前 (ファイルまたはレコード様式)

データ
構造

  ER EOF5
XFOOT (H)   配列名 + - Z
XLATE (E P) 変換元:変換先 ストリング:開始 ターゲット・ストリング   ER  
XML-INTO   XML-INTO ターゲットまたはハンドラー XML 文書
XML-SAX   XML-SAX {(E) } ハンドラー XML 文書
Z-ADD (H)   加数 + - Z
Z-SUB (H)   減数 + - Z
注:
  1. 少なくとも 1 つの結果の標識を指定しなければなりません。
  2. NR または FD 結果標識を指定する代わりに、%FOUND 組み込み関数 を使用することができます。
  3. 演算項目 2 または結果のフィールドを指定しなければなりません。 両方を指定することもできます。
  4. 演算項目 1 または結果のフィールドを指定しなければなりません。 両方を指定することもできます。
  5. EOF または BOF 結果標識を指定する代わりに、%EOF 組み込み関数 を使用することができます。
  6. SETLL および LOOKUP 命令をテストするために %EQUAL 組み込み関数 を使用することができます。
  7. 拡張 'E' が付いているすべての命令コードでは、拡張 'E' また は ER エラー標識を指定することができますが、両方を指定することはできません。
  8. TEST 命令の場合は、拡張 'E' またはエラー標識を指定する 必要があります。