PowerFX V1.0 運用説明書 - Microsoft(R) Windows(R) -
目次 索引 前ページ次ページ

第5章 COBOLシステムサブルーチン> 5.4 XTSOBHDL(バイトアクセスサブルーチン)

5.4.2 呼出し形式

CALL "XTSOBHDL" USING 一意名-1 一意名-2 一意名-3 一意名-4.

一意名-1から一意名-4のパラメーターは連絡領域として、作業場所節で以下に示すような定義をしてください。

01  BHDL-PARA.  ------------------------------------------- 1)
     02  BHDL-MODE       PIC X(8). ------------------------ 1-1)  ※
     02  BHDL-ACCMODE    PIC 9(2). ------------------------ 1-2)  ※
     02  BHDL-ACCADR     PIC 9(10)   BINARY. -------------- 1-3)  ※
     02  BHDL-NACCADR    PIC 9(10)   BINARY. -------------- 1-4)  ☆
     02  BHDL-ACCSIZ     PIC 9(5)    BINARY. -------------- 1-5)  ※
     02  BHDL-EXLMODE    PIC X(1). ------------------------ 1-6)  ※
     02  BHDL-PCHK       PIC X(1). ------------------------ 1-7)  ※
     02  FILLER          PIC X(16)   VALUE LOW-VALUE. ----- 1-8)
     02  FILLER          PIC X(8)    VALUE LOW-VALUE. ------1-9)
     02  FILLER          PIC X(8)    VALUE LOW-VALUE. ------1-10)
     02  BHDL-ESIZ       PIC 9(10)   BINARY. ---------------1-11) ☆
     02  BHDL-RTNCD1     PIC 9(4)    BINARY. ---------------1-12) ☆
     02  BHDL-RTNCD2     PIC 9(4)    BINARY. ---------------1-13) ☆
     02  FILLER          PIC X(16)   VALUE LOW-VALUE. ------1-14)
01  BHDL-PATAREA.  -----------------------------------------2)
     02  BHDL-PATLNG     PIC 9(5)    BINARY. ---------------2-1)  ※
     02  BHDL-ENTKIND    PIC X(8). -------------------------2-2)  ※
     02  BHDL-PATNM      PIC X(m). -------------------------2-3)  ※
01  BHDL-WORK.  --------------------------------------------3)
     02  FILLER          PIC X(256)  VALUE LOW-VALUE. ------3-1)
     02  FILLER          PIC X(16)   VALUE LOW-VALUE. ------3-2)
     02  FILLER          PIC X(32)   VALUE LOW-VALUE. ------3-3)
     02  FILLER          PIC X(512)  VALUE LOW-VALUE. ------3-4)
01  BHDL-RWBUF.  -------------------------------------------4)
     02  FILLER          PIC X(n)    VALUE LOW-VALUE. ------4-1)  ※☆

※:設定項目 ☆:通知項目

パラメーターの説明

1)一意名-1:機能詳細パラメーター領域
XTSOBHDL(バイトアクセスサブルーチン)の処理の内容を設定します。

 

1-1)処理種別
XTSOBHDL(バイトアクセスサブルーチン)の処理種別を"表5.7 処理モード"に示す処理モードで設定します。
処理モードは、大文字で設定する必要があります。

[表5.7 処理モード]

処理モード

意味

OPEN

ファイルをオープンします。

READ

指定に従ってファイルの内容をデータ領域に読み出します。

WRITE

指定に従ってデータ領域の内容をファイルに書き込みます。

FLUSH

WRITE指定の書込み要求でディスク書込みの同期をとります。

CLOSE

ファイルをクローズします。

 

1-2)アクセスモード
1-1)処理種別で処理モードが"OPEN"の場合に設定する項目であり、"表5.8 アクセスモード"に示すアクセスモードで設定します。
作成処理時、同名ファイルが既に存在する場合、既存ファイルに対してOPENを行います。
なお、本領域の内容をOPENからCLOSEの間で変更してはなりません。
また、アクセスモードは、1-6)獲得モードとの組合せにより、ファイルの排他制御が行われます。アクセスモードと獲得モードの指定による排他関係の詳細については、"5.4.6 注意事項"を参照してください。

[表5.8 アクセスモード]

アクセスモード

意味

01

ファイルに対して読出し処理のみを行います。

02

ファイルに対して読出し/書込み処理を行います。

03

ファイルに対して書込み処理のみを行います。

42

既存ファイルを初期化後、読出し/書込み処理を行います。

43

既存ファイルを初期化後、書込み処理のみを行います。

82

ファイル生成後、読出し/書込み処理を行います。同名ファイルが既に存在する場合、既存ファイルに対して処理を行います。

83

ファイル生成後、書込み処理のみを行います。同名ファイルが既に存在する場合、既存ファイルに対して処理を行います。

92

ファイル生成後、読出し/書込み処理を行います。同名ファイルが既に存在する場合、既存ファイルを初期化後、処理を行います。

93

ファイル生成後、書込み処理のみを行います。同名ファイルが既に存在する場合、既存ファイルを初期化後、処理を行います。

 

1-3)処理対象アドレス1
1-1)処理種別で処理モードが"READ"または"WRITE"の場合に設定する項目であり、利用者が処理を行いたい位置を、ファイルの先頭からの相対バイトアドレスで指定します。
指定可能範囲は0〜2147483647です。
READ時に、指定したアドレスがファイルのサイズを超えている場合は、復帰コードに0001が通知され、指定したアドレスは1-4)処理対象アドレス2に設定されます。
WRITE時に、指定したアドレスがファイルのサイズを超えている場合は、書込み前のファイルの終わりから、指定したアドレスの前までの間に内容が不定のデータが書き込まれ、指定したアドレス以降に4-1)データ領域で設定したデータが書き込まれます。
READまたはWRITE時に、指定したアドレスと1-5)バイト長を加算した値が指定可能範囲を超えた場合は、復帰コードに9900が通知されます。

 

1-4)処理対象アドレス2
1-1)処理種別で処理モードが"READ"または"WRITE"の場合に通知される項目であり、1-3)処理対象アドレス1に1-5)バイト長を加えた値が通知されます。ただし、READ時にファイルの終わり"EOF"を検出した場合、データは読み出され、データの最終アドレスが通知され、復帰コードに0001が通知されます。

 

1-5)バイト長
1-1)処理種別で処理モードが"READ"または"WRITE"の場合に設定する項目であり、利用者が行いたい処理のバイト長を1〜32768の範囲で指定します。

 

1-6)獲得モード
1-1)処理種別で処理モードが"OPEN"の場合に設定する項目です。
"表5.9 獲得モード"のとおり、対象ファイルのオープン時の獲得モードを指定します。
獲得モードは、大文字で設定する必要があります。
また、獲得モードは、1-2)アクセスモードとの組合せにより、ファイルの排他制御が行われます。獲得モードとアクセスモードの指定による排他関係の詳細については、"5.4.6 注意事項"を参照してください。

[表5.9 獲得モード]

獲得モード

意味

S または
LOW-VALUE指定

当モードでオープンしているファイルに対して、書込みオープンまたは削除しようとした場合、排他エラーが通知され使用できません。
また、既に書込みオープンしているファイルに対して、当モードでオープンしようとした場合、排他エラーが通知され使用できません。

E

当モードでオープンしているファイルに対して、オープンしようとした場合、排他エラーが通知され使用できません。
また、既にオープンしているファイルに対して、当モードでオープンしようとした場合、排他エラーが通知され使用できません。

R

獲得モードにSが指定された場合に同じです。
また、既に読出しオープンしているファイルに対して、当モードでオープンしようとした場合、排他エラーが通知され使用できません。

W

当モードでオープンしているファイルに対して、読出しオープンまたは削除しようとした場合、排他エラーが通知され使用できません。
また、既に読出しオープンしているファイルに対して、当モードでオープンしようとした場合、排他エラーが通知され使用できません。

D

当モードでオープンしているファイルに対して、読出しオープンまたは書込みオープンしようとした場合、排他エラーが通知され使用できません。
また、既に読出しオープンまたは書込みオープンしているファイルに対して、当モードでオープンしようとした場合、排他エラーが通知され使用できません。

F

当モードでオープンしているファイルに対して、削除しようとした場合、排他エラーが通知され使用できません。

G

当モードでオープンしているファイルに対して、書込みオープンしようとした場合、排他エラーが通知され使用できません。
また、既に書込みオープンしているファイルに対して、当モードでオープンしようとした場合、排他エラーが通知され使用できません。

H

当モードでオープンしているファイルに対して、読出しオープンしようとした場合、排他エラーが通知され使用できません。
また、既に読出しオープンしているファイルに対して、当モードでオープンしようとした場合、排他エラーが通知され使用できません。

A

当モードでオープンしているファイルに対して、読出しオープンまたは書込みオープンまたは削除が可能です。

 

1-7)パラメーターチェックモード
1-1)処理種別で処理モードが"OPEN"の場合に設定する項目です。
フラグは、必ず大文字で設定してください。
ASPのXTSOBHDL(バイトアクセスサブルーチン)との互換を保つために設定が必要となります。いずれを設定しても動作に違いはありません。

[表5.10 パラメーターチェックモード]

フラグ

意味

Y

パラメーターチェックを行います。

N またはLOW-VALUE指定

パラメーターチェックを行います。

 

1-8)保留域
保留域です。

 

1-9)保留域
保留域です。

 

1-10)保留域
保留域です。
本領域の内容は、"OPEN"から"CLOSE"の間で更新しないでください。

 

1-11)ファイルサイズ
1-1)処理種別で処理モードが"OPEN"、"READ"または"WRITE"の場合に通知される項目であり、ファイルのサイズがバイト単位で通知されます。

 

1-12)復帰コード
復帰コードが通知されます。内容については、"5.4.3 復帰コード"を参照してください。

 

1-13)詳細復帰コード
1-12)復帰コードが"9900"の場合、詳細復帰コードが通知されます。内容については、"5.4.3 復帰コード"の詳細復帰コードを参照してください。

 

1-14)作業領域
XTSOBHDL(バイトアクセスサブルーチン)の作業領域です。

 

2)一意名-2:パス名指定領域
1-1)処理種別で処理モードが"OPEN"の場合に設定する項目です。
本領域の内容は、"OPEN"から"CLOSE"の間で更新しないでください。

 

2-1)パス名長
処理対象となるファイルのパス名長を1〜259の範囲で指定します。

 

2-2)ファイル種別
"TFILE"を大文字で設定します。

 

2-3)パス名領域
処理対象となるファイルのパス名を指定します。
ファイルのパス名は半角英数字で指定してください。日本語のパス名を指定した場合、誤動作することがあります。

 

3)一意名-3:システム作業領域
ASPのXTSOBHDL(バイトアクセスサブルーチン)と同様の呼出し形式となるよう指定します。

 

3-1)保留域
保留域です。
本領域の内容は、"OPEN"から"CLOSE"の間で更新しないでください。

 

3-2)保留域
保留域です。
本領域の内容は、"OPEN"から"CLOSE"の間で更新しないでください。

 

3-3)保留域
保留域です。
本領域の内容は、"OPEN"から"CLOSE"の間で更新しないでください。

 

3-4)保留域
保留域です。
本領域の内容は、"OPEN"から"CLOSE"の間で更新しないでください。

 

4)一意名-4:データ領域
書き込むデータを設定する、または、読み出されたデータが通知される領域です。

 

4-1)データ領域
1-1)処理種別で処理モードが"WRITE"の場合には、ファイルに書き込むデータを設定します。
1-1)処理種別で処理モードが"READ"の場合には、ファイルから読み出されたデータが通知されます。
なお、"READ"の場合には、1-5)バイト長以上の領域サイズを確保してください。

ASPのXTSOBHDL(バイトアクセスサブルーチン)では、OPEN、CLOSEまたはFLUSH時の一意名-4(データ領域)は不要ですが、PowerFXでは必須です。
一意名-4(データ領域)を省略した場合の動作は保証しません。


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005