COBOL ファイルアクセスルーチン使用手引書
|
|
|
- ともあき たもん
- 9 years ago
- Views:
Transcription
1 Microsoft Windows Server 2003 Microsoft Windows Server 2008 B1WD133101Z0(00) NetCOBOL V10.0 COBOL ファイルアクセスルーチン 使 用 手 引 書
2
3 まえがき COBOLファイルアクセスルーチンは COBOLファイルを 操 作 するためのC 言 語 用 のAPI(Application Program Interface) 関 数 群 です この 関 数 群 を 利 用 することによって COBOLファイルをアクセスする64ビットアプリケーション の 開 発 / 運 用 を 行 うことができます 製 品 の 呼 び 名 について 本 書 では 各 製 品 を 次 のように 略 記 しています あらかじめご 了 承 ください 正 式 名 称 略 称 Microsoft(R) Windows(R) 2000 Professional operating system Windows 2000 Microsoft(R) Windows(R) 2000 Server operating system Microsoft(R) Windows(R) 2000 Advanced Server operating system Microsoft(R) Windows(R) XP Home Edition operating system Microsoft(R) Windows(R) XP Professional operating system Microsoft(R) Windows Server(R) 2003, Standard Edition Microsoft(R) Windows Server(R) 2003 R2, Standard Edition Microsoft(R) Windows Server(R) 2003, Standard x64 Edition Microsoft(R) Windows Server(R) 2003, Enterprise Edition Microsoft(R) Windows Server(R) 2003 R2, Enterprise Edition Microsoft(R) Windows Server(R) 2003, Enterprise x64 Edition Microsoft(R) Windows Server(R) 2003, Enterprise Edition for Itaniumbased Systems Microsoft(R) Windows Server(R) 2003, Datacenter Edition for Itaniumbased Systems Microsoft(R) Windows Vista(R) Home Basic Microsoft(R) Windows Vista(R) Home Premium Microsoft(R) Windows Vista(R) Business Microsoft(R) Windows Vista(R) Enterprise Microsoft(R) Windows Vista(R) Ultimate Microsoft(R) Windows Server(R) 2008 Standard Microsoft(R) Windows Server(R) 2008 Standard without HyperV Microsoft(R) Windows Server(R) 2008 Enterprise Microsoft(R) Windows Server(R) 2008 Enterprise without HyperV Microsoft(R) Windows Server(R) 2008 for ItaniumBased Systems Microsoft(R) Visual C++(R) development system Windows XP Windows Server 2003 Windows Server 2003(Itanium) Windows Vista Windows Server 2008 Windows Server 2008(Itanium) Visual C++ Windows Server 2003(Itanium) および Windows Server 2008(Itanium) をすべて 指 す 場 合 は Windows と 表 記 します i
4 本 書 の 目 的 本 書 はCOBOLのファイル 入 出 力 機 能 の 知 識 と C 言 語 を 用 いたプログラミングについての 知 識 があ る 方 を 対 象 としています 本 書 ではCOBOLファイルアクセスルーチンを 利 用 したCソースプログラムの 作 成 と プログラムの リンク 実 行 方 法 について 説 明 しています COBOLのファイル 入 出 力 機 能 については 以 下 のマ ニュアルを 参 照 してください COBOL 文 法 書 NetCOBOL 使 用 手 引 書 登 録 商 標 について 本 書 に 記 載 している 登 録 商 標 を 以 下 に 示 します Microsoft Windows Windows Server Windows Vista Visual C++は 米 国 Microsoft Corporation の 米 国 およびその 他 の 国 における 登 録 商 標 または 商 標 です 2008 年 6 月 Copyright FUJITSU LIMITED ii
5 目 次 第 1 章 COBOLファイルアクセスルーチンを 利 用 する 前 に COBOLファイルアクセスルーチンとは 準 備 するもの 環 境 設 定... 4 第 2 章 使 い 方 Cソースプログラムの 作 成 Cソースプログラムの 翻 訳 オブジェクトファイルのリンク プログラムの 実 行... 9 第 3 章 API 関 数 と 構 造 体 ファイルのオープン cobfa_open() ファイルのクローズ cobfa_close() レコードの 読 込 み cobfa_rdkey() cobfa_rdnext() cobfa_rdrec() レコードの 書 出 し cobfa_wrkey() cobfa_wrnext() cobfa_wrrec() レコードの 削 除 cobfa_delcurr() cobfa_delkey() cobfa_delrec() レコードの 書 換 え cobfa_rewcurr() cobfa_rewkey() cobfa_rewrec() レコードの 位 置 決 め cobfa_stkey() cobfa_strec() レコードロックの 解 除 cobfa_release() ファイル 情 報 の 取 得 cobfa_indexinfo() エラー 番 号 の 取 得 cobfa_errno() 入 出 力 状 態 の 取 得 cobfa_stat() 読 込 みレコード 長 の 取 得 cobfa_reclen() 相 対 レコード 番 号 の 取 得 cobfa_recnum() マルチスレッド 環 境 下 での 排 他 制 御 LOCK_cobfa() UNLOCK_cobfa() 使 用 する 構 造 体 struct fa_keydesc iii
6 struct fa_keylist struct fa_dictinfo ダミーファイル 第 4 章 エラー 番 号 と 入 出 力 状 態 エラー 番 号 入 出 力 状 態 第 5 章 サンプルプログラム 行 順 ファイルの 読 込 み 行 順 ファイルの 読 込 みと 索 引 ファイルの 書 出 し 索 引 ファイルの 情 報 の 取 得 第 6 章 注 意 事 項 制 限 事 項 留 意 事 項 付 録 A リファレンス A.1 API 関 数 A.2 API 関 数 で 使 用 する 構 造 体 索 引 iv
7 第 1 章 COBOLファイルアクセスルーチンを 利 用 す る 前 に ここでは COBOLファイルアクセスルーチンの 紹 介 と 準 備 するもの 環 境 設 定 について 説 明 し ます 1.1 COBOLファイルアクセスルーチンとは 1.2 準 備 するもの 1.3 環 境 設 定
8 第 1 章 COBOLファイルアクセスルーチンを 利 用 する 前 に 1.1 COBOLファイルアクセスルーチンとは COBOLファイルアクセスルーチンは COBOLファイルを 操 作 するためのC 言 語 用 のAPI(Application Program Interface) 関 数 群 です これらの 関 数 は COBOLランタイムシステムを 呼 び 出 すことに よって ファイルの 操 作 を 行 います COBOLファイルアクセスルーチンを 使 用 することにより 以 下 の 操 作 が 実 現 できます COBOLアプリケーションで 作 成 したファイルの 読 込 み/ 書 換 えなどの 既 存 資 産 への 入 出 力 COBOLで 扱 う 以 下 の 編 成 のファイルの 創 成 行 順 ファイル レコード 順 ファイル 相 対 ファイル 索 引 ファイル COBOLアプリケーションとのファイル/レコードの 排 他 / 共 用 既 存 の 索 引 ファイルのファイル 属 性 /レコードキー 構 成 の 解 析 2
9 1.2 準 備 するもの 1.2 準 備 するもの 開 発 言 語 として64ビット(IA64) 対 応 Cコンパイラを 用 意 します Cコンパイラのインストールと その 動 作 環 境 の 設 定 を 行 っておいてください 3
10 第 1 章 COBOLファイルアクセスルーチンを 利 用 する 前 に 1.3 環 境 設 定 NetCOBOLをインストールすると COBOLファイルアクセスルーチンはNetCOBOLと 同 じフォルダに 格 納 されます NetCOBOLをインストールした 後 環 境 変 数 PATHと 環 境 変 数 LIBにNetCOBOLのインストールフォル ダが 設 定 されていることを 確 認 してください 設 定 されていなければ これらの 環 境 変 数 に NetCOBOLのインストールフォルダを 追 加 してください 環 境 変 数 の 設 定 については NetCOBOL 使 用 手 引 書 の 環 境 変 数 の 設 定 を 参 照 してください 4
11 第 2 章 使 い 方 ここでは Cソースプログラムの 作 成 翻 訳 オブジェクトファイルのリンク プログラムの 実 行 について 説 明 します 2.1 Cソースプログラムの 作 成 2.2 Cソースプログラムの 翻 訳 2.3 オブジェクトファイルのリンク 2.4 プログラムの 実 行
12 第 2 章 使 い 方 2.1 Cソースプログラムの 作 成 COBOLファイルアクセスルーチンを 用 いたCソースプログラムをテキストエディタなどで 作 成 し ます 当 アクセスルーチンを 使 う 上 での 注 意 事 項 については 第 6 章 注 意 事 項 を 参 照 してく ださい Cソースプログラムには 以 下 の 記 述 を 入 れ ヘッダファイルをインクルードすることを 明 示 しま す #include "f6agfcfa.h" 6
13 2.2 Cソースプログラムの 翻 訳 2.2 Cソースプログラムの 翻 訳 Cソースプログラムを 翻 訳 します Cコンパイラに インクルードファイルを 検 索 するパスを 指 定 する 翻 訳 オプションを 指 定 してく ださい この 翻 訳 オプションに NetCOBOLをインストールしたフォルダを 指 定 します 以 下 に Visual C++での 翻 訳 オプションを 示 します /I directory directoryには NetCOBOLをインストールしたフォルダを 指 定 します [ 例 ] /I C:\COBOL 7
14 第 2 章 使 い 方 2.3 オブジェクトファイルのリンク オブジェクトファイルをリンクし 実 行 可 能 プログラムを 作 成 します オブジェクトファイルをリンクするときは NetCOBOLをインストールしたフォルダの 中 にある 以 下 のファイルを 結 合 します F6AGFCFA.lib 8
15 2.4 プログラムの 実 行 2.4 プログラムの 実 行 作 成 したアプリケーションプログラムを 実 行 します このとき 特 に 考 慮 すべきことはありません プログラムは COBOLアプリケーションとファイ ル/レコードを 排 他 / 共 用 できます 9
16 第 2 章 使 い 方 10
17 第 3 章 API 関 数 と 構 造 体 ここでは 以 下 について 説 明 します 3.1 ファイルのオープン 3.2 ファイルのクローズ 3.3 レコードの 読 込 み 3.4 レコードの 書 出 し 3.5 レコードの 削 除 3.6 レコードの 書 換 え 3.7 レコードの 位 置 決 め 3.8 レコードロックの 解 除 3.9 ファイル 情 報 の 取 得 3.10 エラー 番 号 の 取 得 3.11 入 出 力 状 態 の 取 得 3.12 読 込 みレコード 長 の 取 得 3.13 相 対 レコード 番 号 の 取 得 3.14 マルチスレッド 環 境 下 での 排 他 制 御 3.15 使 用 する 構 造 体 3.16 ダミーファイル
18 第 3 章 API 関 数 と 構 造 体 3.1 ファイルのオープン ここでは 入 出 力 機 能 のAPI 関 数 のうち ファイルをオープンするAPI 関 数 について 説 明 します cobfa_open() cobfa_open() ファイルをオープンします long cobfa_open ( const char *fname, /* ファイル 名 */ long openflgs, /* オープン 属 性 */ const struct fa_keylist *keylist, /* レコードキーリスト */ long reclen /* レコード 長 */ ); 説 明 ファイル 名 fnameが 指 すファイルを オープン 属 性 openflgs レコード 長 reclen レコードキー リストkeylistの 情 報 をもとにオープンします COBOLアプリケーションのダミーファイルと 同 等 の 機 能 を 実 現 させたい 場 合 ファイル 名 の 末 尾 に,DUMMY を 付 加 するか またはファイル 名 として,DUMMY を 指 定 します 詳 細 は 3.16 ダ ミーファイル を 参 照 してください オープン 属 性 openflgsの 指 定 値 には 以 下 のa.からi.までの9つのカテゴリがあり これらをビッ トの 論 理 和 で 結 合 して 指 定 します カテゴリb.からi.までは 省 略 可 能 です (*は 省 略 値 ) a. オープンモード 記 号 定 数 意 味 対 応 するCOBOL 構 文 FA_INPUT INPUTモード OPEN INPUT FA_OUTPUT OUTPUTモード OPEN OUTPUT FA_INOUT IOモード OPEN IO FA_EXTEND EXTENDモード OPEN EXTEND ファイル 編 成 が 行 順 ファイル(FA_LSEQFILE)の 場 合 オープンモードにIOモード (FA_INOUT)を 指 定 することはできません 指 定 した 場 合 はエラーになります b. ファイル 編 成 記 号 定 数 意 味 対 応 するCOBOL 構 文 * FA_SEQFILE レコード 順 ファイル ORGANIZATION IS SEQUENTIAL FA_LSEQFILE 行 順 ファイル ORGANIZATION IS LINE SEQUENTIAL FA_RELFILE 相 対 ファイル ORGANIZATION IS RELATIVE FA_IDXFILE 索 引 ファイル ORGANIZATION IS INDEXED 12
19 3.1 ファイルのオープン c. レコード 形 式 記 号 定 数 意 味 対 応 するCOBOL 構 文 * FA_FIXLEN 固 定 長 形 式 RECORD CONTAINS integer CHARACTERS FA_VARLEN 可 変 長 形 式 RECORD IS VARYING IN SIZE d. 呼 出 し 法 記 号 定 数 意 味 対 応 するCOBOL 構 文 * FA_SEQACC 順 呼 出 し ACCESS MODE IS SEQUENTIAL FA_RNDACC 乱 呼 出 し ACCESS MODE IS RANDOM FA_DYNACC 動 的 呼 出 し ACCESS MODE IS DYNAMIC ファイル 編 成 が 以 下 のどちらかの 場 合 呼 出 し 法 に 順 呼 出 し(FA_SEQACC) 以 外 を 指 定 することはできません 指 定 した 場 合 はエラーになります 行 順 ファイル(FA_LSEQFILE) または レコード 順 ファイル(FA_SEQFILE) e. ロックモード 記 号 定 数 意 味 対 応 するCOBOL 構 文 FA_AUTOLOCK 自 動 ロック LOCK MODE IS AUTOMATIC FA_MANULOCK 手 動 ロック LOCK MODE IS MANUAL FA_EXCLLOCK 排 他 ロック LOCK MODE IS EXCLUSIVE または OPEN WITH LOCK オープンモードがOUTPUTモード(FA_OUTPUT)の 場 合 ロックモードに 排 他 ロック (FA_EXCLLOCK)を 指 定 したものとして 扱 います オープンモードがINPUTモード(FA_INPUT)の 場 合 ロックモードに 自 動 ロック (FA_AUTOLOCK)または 手 動 ロック(FA_MANULOCK)を 指 定 することはできません 指 定 した 場 合 は 無 効 になります オープンモードがINPUTモード(FA_INPUT)の 場 合 ロックモードのデフォルト 値 と して 共 用 モードでファイルをオープンします 読 込 み 時 は レコードロックの 指 定 が 無 効 になります オープンモードがINPUTモード(FA_INPUT) 以 外 の 場 合 ロックモードのデフォルト 値 は 排 他 ロック(FA_EXCLLOCK)になります ファイル 編 成 が 以 下 のどちらかの 場 合 ロックモードに 手 動 ロック(FA_MANULOCK) を 指 定 することはできません 指 定 した 場 合 はエラーになります 行 順 ファイル(FA_LSEQFILE) または レコード 順 ファイル(FA_SEQFILE) f. 不 定 ファイル 記 号 定 数 意 味 対 応 するCOBOL 構 文 * FA_NOTOPT 不 定 ファイルでない SELECT filename FA_OPTIONAL 不 定 ファイル SELECT OPTIONAL filename 13
20 第 3 章 API 関 数 と 構 造 体 g. 動 作 コード 系 記 号 定 数 意 味 * FA_ASCII ファイルはSJISまたはJIS8でエンコードした 文 字 データを 持 つ FA_UCS2 ファイルはUCS2でエンコードした 文 字 データを 持 つ ( 注 ) FA_UTF8 ファイルはUTF8でエンコードした 文 字 データを 持 つ FA_UCS2BE ファイルはUCS2(ビッグエンディアン)でエンコードした 文 字 データを 持 つ FA_UCS2LE ファイルはUCS2(リトルエンディアン)でエンコードした 文 字 データを 持 つ 注 :エンディアンはシステムに 依 存 し リトルエンディアンとなります 動 作 コード 系 は 行 順 ファイルが 持 つ 文 字 データのエンコード 種 別 を 指 定 するもの です 行 順 ファイルは ファイルの 構 造 がエンコード 種 別 により 異 なるため この 指 定 が 必 要 になります 動 作 コード 系 は ファイル 編 成 が 行 順 ファイル(FA_LSEQFILE)のときだけ 指 定 する ことができます その 他 のファイル 編 成 は ファイルの 構 造 がエンコード 種 別 に 依 存 しないため 動 作 コード 系 を 指 定 する 必 要 はありません 動 作 モードがUnicodeのCOBOLアプリケーションで 扱 う 行 順 ファイルで レコードの データ 項 目 が 日 本 語 項 目 の 場 合 にはFA_UCS2 FA_UCS2BE またはFA_UCS2LEを レ コードのデータ 項 目 が 日 本 語 項 目 以 外 の 場 合 にはFA_UTF8を 指 定 します 動 作 モードがUnicodeでないCOBOLアプリケーションで 扱 う 行 順 ファイルには FA_ASCIIを 指 定 します h. キーパートフラグ 使 用 指 定 記 号 定 数 FA_USEKPFLAGS 意 味 struct fa_keypart 型 の 構 造 体 のkp_flagsメンバの 指 定 値 を 有 効 とする キーパートフラグ 使 用 指 定 は レコードキーリストkeylistが 包 含 するstruct fa_keypart 型 の 構 造 体 のメンバkp_flagsの 指 定 値 を 有 効 とするときに 設 定 します struct fa_keypart 型 については struct fa_keydesc を 参 照 してくだ さい キーパートフラグ 使 用 指 定 は ファイル 編 成 が 索 引 ファイル(FA_IDXFILE)のときだ け 指 定 することができます 当 指 定 は 動 作 モードがUnicodeのCOBOLアプリケーションで 扱 う 索 引 ファイルを 使 用 する 場 合 に 必 要 です 当 指 定 の 省 略 時 は メンバkp_flagsの 指 定 値 を 無 視 します 14
21 3.1 ファイルのオープン i. BSAM 指 定 ( 高 速 処 理 およびファイルの 最 大 サイズ 拡 張 ) 記 号 定 数 FA_BSAM 意 味 BSAM(ファイルの 高 速 処 理 ) 指 定 で 操 作 する COBOLアプリケーションによる ファイルの 高 速 処 理 で 作 成 されたCOBOLファイル を 参 照 する 場 合 や COBOLアプリケーションによる ファイルの 高 速 処 理 で 参 照 されるファイルを 作 成 する 場 合 に 指 定 します フ ァ イ ル 編 成 が レ コ ー ド 順 フ ァ イ ル (FA_SEQFILE) ま た は 行 順 フ ァ イ ル (FA_LSEQFILE)の 場 合 にのみ 利 用 できます FA_BSAMを 指 定 することにより ファイルの 高 速 処 理 と 同 じファイル 最 大 サイズ の 拡 張 制 限 注 意 事 項 が 発 生 します 詳 しくは NetCOBOL 使 用 手 引 書 の ファイルの 高 速 処 理 を 参 照 してください レコード 形 式 が 固 定 長 形 式 (FA_FIXLEN)の 場 合 レコード 長 reclenを 固 定 レコード 長 として 扱 い ます レコード 形 式 が 可 変 長 形 式 (FA_VARLEN)の 場 合 レコード 長 reclenを 最 大 レコード 長 とし て 扱 います レコード 長 はFA_NRECSIZE(32760)を 超 えてはいけません レコードキーリストkeylistは ファイル 編 成 が 索 引 ファイル(FA_IDXFILE)である 場 合 にだけ 意 味 を 持 ちます この 場 合 keylistはオープンするファイルの 主 レコードキー 副 レコードキー の 構 成 として 有 効 になります struct fa_keylist 型 については struct fa_keylist を 参 照 してください 索 引 ファイルのオープンで keylistにnullポインタを 指 定 した 場 合 当 関 数 は 既 存 のファイル の 索 引 構 成 とレコード 形 式 レコード 長 を 認 識 してオープンします このとき レコード 形 式 の 指 定 とレコード 長 の 指 定 は 無 効 になります 実 行 可 能 な 条 件 当 関 数 の 機 能 を 実 行 することができるファイル 編 成 オープンモードおよび 呼 出 し 法 は それぞ れ 下 表 のとおりです オープン 属 性 種 別 実 行 の 可 否 ファイル 編 成 行 順 ファイル レコード 順 ファイル 相 対 ファイル オープンモード 呼 出 し 法 索 引 ファイル INPUTモード OUTPUTモード IOモード EXTENDモード 順 呼 出 し 乱 呼 出 し 動 的 呼 出 し : 当 関 数 の 実 行 が 可 能 です : 当 関 数 の 実 行 はできません 15
22 第 3 章 API 関 数 と 構 造 体 復 帰 値 当 関 数 の 復 帰 値 は 下 表 のようになります 復 帰 値 状 態 説 明 1 以 上 成 功 当 関 数 の 実 行 が 成 功 しました 入 出 力 状 態 が 状 況 を 示 すコードを 保 持 していることがあります この 復 帰 値 は オープンに 成 功 したファイルのファイル ディスクリプタの 値 です ただし ファイルディスクリ プタはファイルのオープン 時 にOSが 返 却 したファイル ハンドルの 値 ではありませんので 注 意 してください 1 失 敗 当 関 数 の 実 行 が 失 敗 しました エラー 番 号 と 入 出 力 状 態 が 状 況 を 示 すコードを 保 持 しています 発 生 するステータス 当 関 数 の 呼 出 しによって 発 生 するステータスは 下 表 のようになります 関 数 の 実 行 の 成 功 時 エラー 番 号 入 出 力 状 態 説 明 FA_ENOERR 0 関 数 の 実 行 は 成 功 しました FA_ENOERR 5 不 定 ファイルが 存 在 しなかったため 仮 想 的 にファイル をオープンしました または オープンモードがINPUTモ ード(FA_INPUT) 以 外 である 場 合 ファイルを 新 規 に 創 成 しました 関 数 の 実 行 の 失 敗 時 ( 注 ) エラー 番 号 入 出 力 状 態 説 明 FA_EBADACC 90 指 定 したファイル 編 成 呼 出 し 法 オープンモードの 組 合 せでは 実 行 することができません FA_EFNAME 35 ファイルが 存 在 しません FA_EFLOCKED 93 ファイルはすでに 排 他 でオープンされています FA_EFNAME 90 ファイル 名 が 正 しくありませんでした または ファイ ルへのアクセスが 失 敗 しました FA_EFNAME 91 ファイル 名 を 指 定 していません FA_EBADFLAG 39 指 定 したファイル 編 成 やレコード 形 式 などの 属 性 と 既 存 ファイルの 構 成 が 異 なっています FA_EBADKEY 39 指 定 したレコードキーの 情 報 と 既 存 の 索 引 ファイルの キーの 構 成 が 異 なっています FA_EBADKEY 90 指 定 したレコードキーの 情 報 が 正 しくありません FA_EBADLENG 39 指 定 したレコード 長 と 既 存 ファイルのレコード 長 が 異 なっています FA_EBADFILE 90 指 定 した 索 引 ファイルは 内 部 情 報 が 破 壊 しています または ファイル 編 成 が 索 引 ファイルではありません 注 これらは 代 表 的 なステータスです これ 以 外 のステータスについては 4.1 エラー 番 号 と 4.2 入 出 力 状 態 を 参 照 してください 16
23 3.2 ファイルのクローズ 3.2 ファイルのクローズ ここでは 入 出 力 機 能 のAPI 関 数 のうち ファイルをクローズするAPI 関 数 について 説 明 します cobfa_close() cobfa_close() ファイルをクローズします long cobfa_close ( long fd /* ファイルディスクリプタ */ ); 説 明 ファイルディスクリプタfdが 指 すファイルをクローズします 実 行 可 能 な 条 件 当 関 数 の 機 能 を 実 行 することができるファイル 編 成 オープンモードおよび 呼 出 し 法 は それぞ れ 下 表 のとおりです オープン 属 性 種 別 実 行 の 可 否 ファイル 編 成 行 順 ファイル レコード 順 ファイル 相 対 ファイル オープンモード 呼 出 し 法 索 引 ファイル INPUTモード OUTPUTモード IOモード EXTENDモード 順 呼 出 し 乱 呼 出 し 動 的 呼 出 し : 当 関 数 の 実 行 が 可 能 です : 当 関 数 の 実 行 はできません 復 帰 値 当 関 数 の 復 帰 値 は 下 表 のようになります 復 帰 値 状 態 説 明 0 成 功 当 関 数 の 実 行 が 成 功 しました 1 失 敗 当 関 数 の 実 行 が 失 敗 しました 発 生 するステータス 当 関 数 の 呼 出 しによって 発 生 するステータスは 下 表 のようになります 17
24 第 3 章 API 関 数 と 構 造 体 関 数 の 実 行 の 成 功 時 エラー 番 号 入 出 力 状 態 説 明 FA_ENOERR 0 関 数 の 実 行 は 成 功 しました 関 数 の 実 行 の 失 敗 時 ( 注 ) エラー 番 号 入 出 力 状 態 説 明 FA_ENOTOPEN 42 不 正 なファイルディスクリプタを 指 定 しています 注 これらは 代 表 的 なステータスです これ 以 外 のステータスについては 4.1 エラー 番 号 と 4.2 入 出 力 状 態 を 参 照 してください 18
25 3.3 レコードの 読 込 み 3.3 レコードの 読 込 み ここでは 入 出 力 機 能 のAPI 関 数 のうち ファイルが 持 つレコードを 読 み 込 むAPI 関 数 について 説 明 します cobfa_rdkey() cobfa_rdnext() cobfa_rdrec() cobfa_rdkey() 任 意 のレコードキーの 値 で 示 すレコードを 読 み 込 みます ( 乱 読 込 み) long cobfa_rdkey ( long fd, /* ファイルディスクリプタ */ long readflgs, /* 読 込 み 属 性 */ char *recarea, /* レコード 域 */ const struct fa_keydesc *keydesc, /* レコードキー 構 成 指 定 */ long keynum /* レコードキー 番 号 指 定 */ ); 説 明 ファイルディスクリプタfdが 指 すファイルに 対 して レコード 域 recareaの 任 意 のレコードキー の 値 でレコードを 指 定 します 指 定 されたレコードを 読 み 込 み レコード 域 recareaに 格 納 しま す 読 込 み 属 性 readflgsの 指 定 値 には 以 下 の2つのカテゴリがあり これらをビットの 論 理 和 で 結 合 して 指 定 します これらは 省 略 可 能 です (*は 省 略 値 ) a. 読 込 みモード 記 号 定 数 意 味 * FA_EQUAL 指 定 したレコードキーの 値 に 該 当 するレコードを 読 み 込 む b. レコードロックフラグ 記 号 定 数 意 味 対 応 するCOBOL 構 文 FA_LOCK ロックありで 読 み 込 む READ WITH LOCK FA_NOLOCK ロックなしで 読 み 込 む READ WITH NO LOCK レコードロックフラグのデフォルト 値 は オープン 時 のロックモードの 指 定 により 異 なります ロックモードが 自 動 ロック(FA_AUTOLOCK)である 場 合 はデフォルト 値 がロックあり(FA_LOCK)となり それ 以 外 の 場 合 のデフォルト 値 はロックなし (FA_NOLOCK)となります 任 意 のレコードキーの 指 定 は レコードキー 構 成 指 定 keydescで 行 います struct fa_keydesc 型 については struct fa_keydesc を 参 照 してください このレコードキー 構 成 指 定 にNULLを 指 定 した 場 合 は 任 意 のレコードキーの 指 定 としてレコード キー 番 号 指 定 keynumが 有 効 になります 主 レコードキーを 指 定 するには レコードキー 番 号 指 定 に1を 指 定 します 副 レコードキーを 指 定 するには レコードキー 番 号 指 定 に2 以 上 の 値 を 指 定 し 19
26 第 3 章 API 関 数 と 構 造 体 ます この 値 は 索 引 ファイルを 創 成 したときの 副 レコードキーを 宣 言 したときの 並 びの 順 番 に 対 応 しています 最 初 の 副 レコードキーなら2を 2 番 目 の 副 レコードキーなら3を それ 以 降 もこ れらと 同 様 に 指 定 します 実 行 可 能 な 条 件 当 関 数 の 機 能 を 実 行 することができるファイル 編 成 オープンモードおよび 呼 出 し 法 は 下 表 の とおりです オープン 属 性 種 別 実 行 の 可 否 ファイル 編 成 行 順 ファイル レコード 順 ファイル 相 対 ファイル オープンモード 呼 出 し 法 索 引 ファイル INPUTモード OUTPUTモード IOモード EXTENDモード 順 呼 出 し 乱 呼 出 し 動 的 呼 出 し : 当 関 数 の 実 行 が 可 能 です : 当 関 数 の 実 行 はできません 復 帰 値 当 関 数 の 復 帰 値 は 下 表 のようになります 復 帰 値 状 態 説 明 0 成 功 当 関 数 の 実 行 が 成 功 しました 入 出 力 状 態 が 状 況 を 示 すコードを 保 持 していることがあります 1 失 敗 当 関 数 の 実 行 が 失 敗 しました エラー 番 号 と 入 出 力 状 態 が 状 況 を 示 すコードを 保 持 しています 発 生 するステータス 当 関 数 の 呼 出 しによって 発 生 するステータスは 下 表 のようになります 関 数 の 実 行 の 成 功 時 エラー 番 号 入 出 力 状 態 説 明 FA_ENOERR 0 関 数 の 実 行 は 成 功 しました FA_ENOERR 2 読 み 込 んだレコードの 参 照 キーの 値 が 次 に 続 くレコー ドの 参 照 キーの 値 と 同 じです 20
27 3.3 レコードの 読 込 み 関 数 の 実 行 の 失 敗 時 ( 注 ) エラー 番 号 入 出 力 状 態 説 明 FA_ENOTOPEN 47 指 定 したファイルは INPUTモード 以 外 かつ IOモー ド 以 外 でオープンしてあります または 不 正 なファイ ルディスクリプタを 指 定 しています FA_EBADACC 90 当 関 数 を 実 行 することができないファイル 編 成 または 呼 出 し 法 でファイルがオープンしてあります FA_EBADFLAG 90 当 関 数 を 実 行 することができない 読 込 みモードを 指 定 し ています または その 他 のフラグの 指 定 が 正 しくあり ません FA_ENOREC 23 任 意 のレコードキーの 値 が 示 すレコードが 存 在 しませ ん FA_EBADKEY 90 指 定 したレコードキー 構 成 またはレコードキー 番 号 は 存 在 しません または 正 しくありません FA_ELOCKED 99 主 レコードキーの 値 で 指 定 したレコードはロックされて います 注 これらは 代 表 的 なステータスです これ 以 外 のステータスについては 4.1 エラー 番 号 と 4.2 入 出 力 状 態 を 参 照 してください cobfa_rdnext() レコードを 順 に 読 み 込 みます ( 順 読 込 み) long cobfa_rdnext ( long fd, /* ファイルディスクリプタ */ long readflgs, /* 読 込 み 属 性 */ char *recarea /* レコード 域 */ ); 説 明 ファイルディスクリプタfdが 示 すファイルで 位 置 付 けられているレコードの 次 (または 前 )のレ コードを 読 み 込 み レコード 域 recareaに 格 納 します 読 込 み 属 性 readflgsの 指 定 値 には 以 下 の2つのカテゴリがあり これらをビットの 論 理 和 で 結 合 して 指 定 します これらは 省 略 可 能 です (*は 省 略 値 ) a. 読 込 みモード 記 号 定 数 意 味 対 応 するCOBOL 構 文 * FA_NEXT 次 のレコードを 読 み 込 む READ NEXT RECORD FA_PREV 前 のレコードを 読 み 込 む READ PREVIOUS RECORD ファイル 編 成 が 以 下 のどちらかの 場 合 読 込 みモードに 前 のレコード(FA_PREV)を 指 定 することはできません 行 順 ファイル(FA_LSEQFILE) または レコード 順 ファイル(FA_SEQFILE) 21
28 第 3 章 API 関 数 と 構 造 体 b. レコードロックフラグ 記 号 定 数 意 味 対 応 するCOBOL 構 文 FA_LOCK ロックありで 読 み 込 む READ WITH LOCK FA_NOLOCK ロックなしで 読 み 込 む READ WITH NO LOCK レコードロックフラグのデフォルト 値 は オープン 時 のロックモードの 指 定 により 異 なります ロックモードが 自 動 ロック(FA_AUTOLOCK)の 場 合 は デフォルト 値 が ロックあり(FA_LOCK)となり それ 以 外 の 場 合 のデフォルト 値 はロックなし (FA_NOLOCK)となります 実 行 可 能 な 条 件 当 関 数 の 機 能 を 実 行 することができるファイル 編 成 オープンモードおよび 呼 出 し 法 は それぞ れ 下 表 のとおりです オープン 属 性 種 別 実 行 の 可 否 ファイル 編 成 行 順 ファイル レコード 順 ファイル 相 対 ファイル オープンモード 呼 出 し 法 索 引 ファイル INPUTモード OUTPUTモード IOモード EXTENDモード 順 呼 出 し 乱 呼 出 し 動 的 呼 出 し : 当 関 数 の 実 行 が 可 能 です ただし ファイルの 位 置 付 けが 不 定 でないことが 必 須 条 件 とな ります : 当 関 数 の 実 行 はできません 復 帰 値 当 関 数 の 復 帰 値 は 下 表 のようになります 復 帰 値 状 態 説 明 0 成 功 当 関 数 の 実 行 が 成 功 しました 入 出 力 状 態 が 状 況 を 示 すコードを 保 持 していることがあります 1 失 敗 当 関 数 の 実 行 が 失 敗 しました エラー 番 号 と 入 出 力 状 態 が 状 況 を 示 すコードを 保 持 しています 発 生 するステータス 当 関 数 の 呼 出 しによって 発 生 するステータスは 下 表 のようになります 関 数 の 実 行 の 成 功 時 エラー 番 号 入 出 力 状 態 説 明 FA_ENOERR 0 関 数 の 実 行 は 成 功 しました FA_ENOERR 2 読 み 込 んだレコードの 参 照 キーの 値 が 次 に 続 くレコー ドの 参 照 キーの 値 と 同 じです 22
29 3.3 レコードの 読 込 み 関 数 の 実 行 の 失 敗 時 ( 注 ) エラー 番 号 入 出 力 状 態 説 明 FA_ENOTOPEN 47 指 定 したファイルは INPUTモード 以 外 かつ IOモー ド 以 外 でオープンしてあります または 不 正 なファイ ルディスクリプタを 指 定 しています FA_EBADACC 90 当 関 数 を 実 行 することができない 呼 出 し 法 で ファイル がオープンしてあります FA_EENDFILE 10 ファイル 終 了 条 件 が 発 生 しました FA_EBADFLAG 90 当 関 数 を 実 行 することができない 読 込 みモードを 指 定 し ています または その 他 のフラグの 指 定 が 正 しくあり ません FA_ENOCURR 46 レコードへの 位 置 付 けが 不 定 でした FA_ELOCKED 99 順 読 込 みによって 位 置 付 けようとしたレコードはすでに ロックされています 注 これらは 代 表 的 なステータスです これ 以 外 のステータスについては 4.1 エラー 番 号 と 4.2 入 出 力 状 態 を 参 照 してください cobfa_rdrec() 相 対 レコード 番 号 が 示 すレコードを 読 み 込 みます ( 乱 読 込 み) long cobfa_rdrec ( long fd, /* ファイルディスクリプタ */ long readflgs, /* 読 込 み 属 性 */ char *recarea, /* レコード 域 */ unsigned long recnum /* 相 対 レコード 番 号 */ ); 説 明 ファイルディスクリプタfdが 示 すファイルで 相 対 レコード 番 号 recnumが 指 すレコードを 読 み 込 み レコード 域 recareaに 格 納 します 読 込 み 属 性 readflgsの 指 定 値 には 以 下 の2つのカテゴリがあり これらをビットの 論 理 和 で 結 合 して 指 定 します これらは 省 略 可 能 です (*は 省 略 値 ) a. 読 込 みモード 記 号 定 数 意 味 * FA_EQUAL 指 定 した 相 対 レコード 番 号 のレコードを 読 み 込 む 23
30 第 3 章 API 関 数 と 構 造 体 b. レコードロックフラグ 記 号 定 数 意 味 対 応 するCOBOL 構 文 FA_LOCK ロックありで 読 み 込 む READ WITH LOCK FA_NOLOCK ロックなしで 読 み 込 む READ WITH NO LOCK レコードロックフラグのデフォルト 値 は オープン 時 のロックモードの 指 定 により 異 なります ロックモードが 自 動 ロック(FA_AUTOLOCK)の 場 合 は デフォルト 値 が ロックあり(FA_LOCK)となり それ 以 外 の 場 合 のデフォルト 値 はロックなし (FA_NOLOCK)となります 実 行 可 能 な 条 件 当 関 数 の 機 能 を 実 行 することができるファイル 編 成 オープンモードおよび 呼 出 し 法 は 下 表 の とおりです オープン 属 性 種 別 実 行 の 可 否 ファイル 編 成 行 順 ファイル レコード 順 ファイル 相 対 ファイル オープンモード 呼 出 し 法 索 引 ファイル INPUTモード OUTPUTモード IOモード EXTENDモード 順 呼 出 し 乱 呼 出 し 動 的 呼 出 し : 当 関 数 の 実 行 が 可 能 です : 当 関 数 の 実 行 はできません 復 帰 値 当 関 数 の 復 帰 値 は 下 表 のようになります 復 帰 値 状 態 説 明 0 成 功 当 関 数 の 実 行 が 成 功 しました 1 失 敗 当 関 数 の 実 行 が 失 敗 しました エラー 番 号 と 入 出 力 状 態 が 状 況 を 示 すコードを 保 持 しています 発 生 するステータス 当 関 数 の 呼 出 しによって 発 生 するステータスは 下 表 のようになります 関 数 の 実 行 の 成 功 時 エラー 番 号 入 出 力 状 態 説 明 FA_ENOERR 0 関 数 の 実 行 は 成 功 しました 24
31 3.3 レコードの 読 込 み ( 注 ) 関 数 の 実 行 の 失 敗 時 エラー 番 号 入 出 力 状 態 説 明 FA_ENOTOPEN 47 指 定 したファイルは INPUTモード 以 外 かつ IOモー ド 以 外 でオープンしてあります または 不 正 なファイ ルディスクリプタを 指 定 しています FA_EBADACC 90 当 関 数 を 実 行 することができないファイル 編 成 または 呼 出 し 法 で ファイルがオープンしてあります FA_EBADFLAG 90 当 関 数 を 実 行 することができない 読 込 みモードを 指 定 し ています または その 他 のフラグの 指 定 が 正 しくあり ません FA_ENOREC 23 相 対 レコード 番 号 が 示 すレコードが 存 在 しません FA_ELOCKED 99 相 対 レコード 番 号 で 指 定 したレコードはロックされてい ます 注 これらは 代 表 的 なステータスです これ 以 外 のステータスについては 4.1 エラー 番 号 と 4.2 入 出 力 状 態 を 参 照 してください 25
32 第 3 章 API 関 数 と 構 造 体 3.4 レコードの 書 出 し ここでは 入 出 力 機 能 のAPI 関 数 のうち ファイルにレコードを 書 き 出 すAPI 関 数 について 説 明 しま す cobfa_wrkey() cobfa_wrnext() cobfa_wrrec() cobfa_wrkey() 主 レコードキーの 値 で 指 定 したレコードを 書 き 出 します ( 乱 書 出 し) long cobfa_wrkey ( long fd, /* ファイルディスクリプタ */ const char *recarea, /* レコード 域 */ long reclen /* 書 出 しレコード 長 */ ); 説 明 ファイルディスクリプタfdが 示 すファイルで レコード 域 recareaが 持 つ 主 レコードキーの 値 が 指 すレコードを レコード 域 が 持 つ 内 容 で 書 き 出 します ファイルが 可 変 長 形 式 であるときだけ 書 出 しレコード 長 reclenが 有 効 になります 実 行 可 能 な 条 件 当 関 数 の 機 能 を 実 行 することができるファイル 編 成 オープンモードおよび 呼 出 し 法 は それぞ れ 下 表 のとおりです オープン 属 性 種 別 実 行 の 可 否 ファイル 編 成 行 順 ファイル レコード 順 ファイル 相 対 ファイル オープンモード 呼 出 し 法 索 引 ファイル INPUTモード OUTPUTモード IOモード EXTENDモード 順 呼 出 し 乱 呼 出 し 動 的 呼 出 し : 当 関 数 の 実 行 が 可 能 です : 当 関 数 の 実 行 はできません 復 帰 値 当 関 数 の 復 帰 値 は 下 表 のようになります 復 帰 値 状 態 説 明 0 成 功 当 関 数 の 実 行 が 成 功 しました 1 失 敗 当 関 数 の 実 行 が 失 敗 しました エラー 番 号 と 入 出 力 状 態 が 状 況 を 示 すコードを 保 持 しています 26
33 3.4 レコードの 書 出 し 発 生 するステータス 当 関 数 の 呼 出 しによって 発 生 するステータスは 下 表 のようになります 関 数 の 実 行 の 成 功 時 エラー 番 号 入 出 力 状 態 説 明 FA_ENOERR 0 関 数 の 実 行 は 成 功 しました ( 注 ) 関 数 の 実 行 の 失 敗 時 エラー 番 号 入 出 力 状 態 説 明 FA_EDUPL 22 書 出 ししようとしたレコードの 主 レコードキーまたは 副 レコードキーの 値 が すでにファイル 中 に 存 在 していま す しかし 主 レコードキーまたは 副 レコードキーは 重 複 を 許 可 していません FA_EBADLENG 44 指 定 した 書 出 しレコード 長 の 値 が 指 定 可 能 な 範 囲 を 超 え ています FA_ENOTOPEN 48 指 定 したファイルは OUTPUTモード 以 外 かつ IOモー ド 以 外 でオープンしてあります または 不 正 なファイ ルディスクリプタを 指 定 しています 注 これらは 代 表 的 なステータスです これ 以 外 のステータスについては 4.1 エラー 番 号 と 4.2 入 出 力 状 態 を 参 照 してください cobfa_wrnext() レコードを 順 に 書 き 出 します ( 順 書 出 し) long cobfa_wrnext ( long fd, /* ファイルディスクリプタ */ const char *recarea, /* レコード 域 */ long reclen /* 書 出 しレコード 長 */ ); 説 明 ファイルディスクリプタfdが 示 すファイルで レコード 域 recareaが 持 つ 内 容 で レコードを 順 に 書 き 出 します ファイルが 可 変 長 形 式 の 場 合 だけ 書 出 しレコード 長 reclenが 有 効 になります 27
34 第 3 章 API 関 数 と 構 造 体 実 行 可 能 な 条 件 当 関 数 の 機 能 を 実 行 することができるファイル 編 成 オープンモードおよび 呼 出 し 法 は それぞ れ 下 表 のとおりです オープン 属 性 種 別 実 行 の 可 否 ファイル 編 成 行 順 ファイル レコード 順 ファイル 相 対 ファイル オープンモード 呼 出 し 法 索 引 ファイル INPUTモード OUTPUTモード IOモード EXTENDモード 順 呼 出 し 乱 呼 出 し 動 的 呼 出 し : 当 関 数 の 実 行 が 可 能 です : 当 関 数 の 実 行 はできません 復 帰 値 当 関 数 の 復 帰 値 は 下 表 のようになります 復 帰 値 状 態 説 明 0 成 功 当 関 数 の 実 行 が 成 功 しました 1 失 敗 当 関 数 の 実 行 が 失 敗 しました エラー 番 号 と 入 出 力 状 態 が 状 況 を 示 すコードを 保 持 しています 発 生 するステータス 当 関 数 の 呼 出 しによって 発 生 するステータスは 下 表 のようになります 関 数 の 実 行 の 成 功 時 エラー 番 号 入 出 力 状 態 説 明 FA_ENOERR 0 関 数 の 実 行 は 成 功 しました 関 数 の 実 行 の 失 敗 時 ( 注 ) エラー 番 号 入 出 力 状 態 説 明 FA_EDUPL 22 書 き 出 そうとしたレコードの 主 レコードキーまたは 副 レ コードキーの 値 がすでにファイル 中 に 存 在 しています しかし 主 レコードキーまたは 副 レコードキーは 重 複 を 許 可 していません FA_EBADLENG 44 指 定 した 書 出 しレコード 長 の 値 が 指 定 可 能 な 範 囲 を 超 え ています FA_ENOTOPEN 48 指 定 したファイルは OUTPUTモード 以 外 かつ EXTEND モード 以 外 でオープンしてあります または 不 正 なフ ァイルディスクリプタを 指 定 しています 注 これらは 代 表 的 なステータスです これ 以 外 のステータスについては 4.1 エラー 番 号 と 4.2 入 出 力 状 態 を 参 照 してください 28
35 3.4 レコードの 書 出 し cobfa_wrrec() 相 対 レコード 番 号 で 指 定 したレコードを 書 き 出 します ( 乱 書 出 し) long cobfa_wrrec ( long fd, /* ファイルディスクリプタ */ const char *recarea, /* レコード 域 */ long reclen, /* 書 出 しレコード 長 */ unsigned long recnum /* 相 対 レコード 番 号 */ ); 説 明 ファイルディスクリプタfdが 示 すファイルで 相 対 レコード 番 号 recnumが 指 すレコードを レコ ード 域 recareaが 持 つ 内 容 で 書 き 出 します ファイルが 可 変 長 形 式 の 場 合 だけ 書 出 しレコード 長 reclenが 有 効 になります 実 行 可 能 な 条 件 当 関 数 の 機 能 を 実 行 することができるファイル 編 成 オープンモードおよび 呼 出 し 法 は それぞ れ 下 表 のとおりです オープン 属 性 種 別 実 行 の 可 否 ファイル 編 成 行 順 ファイル レコード 順 ファイル 相 対 ファイル オープンモード 呼 出 し 法 索 引 ファイル INPUTモード OUTPUTモード IOモード EXTENDモード 順 呼 出 し 乱 呼 出 し 動 的 呼 出 し : 当 関 数 の 実 行 が 可 能 です : 当 関 数 の 実 行 はできません 復 帰 値 当 関 数 の 復 帰 値 は 下 表 のようになります 復 帰 値 状 態 説 明 0 成 功 当 関 数 の 実 行 が 成 功 しました 1 失 敗 当 関 数 の 実 行 が 失 敗 しました エラー 番 号 と 入 出 力 状 態 が 状 況 を 示 すコードを 保 持 しています 発 生 するステータス 当 関 数 の 呼 出 しによって 発 生 するステータスは 下 表 のようになります 関 数 の 実 行 の 成 功 時 エラー 番 号 入 出 力 状 態 説 明 FA_ENOERR 0 関 数 の 実 行 は 成 功 しました 29
36 第 3 章 API 関 数 と 構 造 体 ( 注 ) 関 数 の 実 行 の 失 敗 時 エラー 番 号 入 出 力 状 態 説 明 FA_EDUPL 22 すでに 存 在 する 相 対 レコード 番 号 を 使 って 書 出 しを 行 お うとしました FA_EBADLENG 44 指 定 した 書 出 しレコード 長 の 値 が 指 定 可 能 な 範 囲 を 超 え ています FA_ENOTOPEN 48 指 定 したファイルは OUTPUTモード 以 外 かつ IOモー ド 以 外 でオープンしてあります または 不 正 なファイ ルディスクリプタを 指 定 しています 注 これらは 代 表 的 なステータスです これ 以 外 のステータスについては 4.1 エラー 番 号 と 4.2 入 出 力 状 態 を 参 照 してください 30
37 3.5 レコードの 削 除 3.5 レコードの 削 除 ここでは 入 出 力 機 能 のAPI 関 数 のうち ファイルが 持 つレコードを 削 除 するAPI 関 数 について 説 明 します cobfa_delcurr() cobfa_delkey() cobfa_delrec() cobfa_delcurr() 順 読 込 みしたレコードを 削 除 します ( 順 削 除 ) long cobfa_delcurr ( long fd /* ファイルディスクリプタ */ ); 説 明 ファイルディスクリプタfdが 示 すファイルで 順 読 込 みによって 位 置 付 けられているレコード (カレントレコード)を 削 除 します 実 行 可 能 な 条 件 当 関 数 の 機 能 を 実 行 することができるファイル 編 成 オープンモードおよび 呼 出 し 法 は それぞ れ 下 表 のとおりです オープン 属 性 種 別 実 行 の 可 否 ファイル 編 成 行 順 ファイル レコード 順 ファイル 相 対 ファイル オープンモード 呼 出 し 法 索 引 ファイル INPUTモード OUTPUTモード IOモード EXTENDモード 順 呼 出 し 乱 呼 出 し 動 的 呼 出 し : 当 関 数 の 実 行 が 可 能 です ただし レコードが 順 読 込 みによって 位 置 付 けら れていること が 必 須 条 件 となります : 当 関 数 の 実 行 はできません 復 帰 値 当 関 数 の 復 帰 値 は 下 表 のようになります 復 帰 値 状 態 説 明 0 成 功 当 関 数 の 実 行 が 成 功 しました 1 失 敗 当 関 数 の 実 行 が 失 敗 しました エラー 番 号 と 入 出 力 状 態 が 状 況 を 示 すコードを 保 持 しています 31
38 第 3 章 API 関 数 と 構 造 体 発 生 するステータス 当 関 数 の 呼 出 しによって 発 生 するステータスは 下 表 のようになります 関 数 の 実 行 の 成 功 時 エラー 番 号 入 出 力 状 態 説 明 FA_ENOERR 0 関 数 の 実 行 は 成 功 しました 関 数 の 実 行 の 失 敗 時 ( 注 ) エラー 番 号 入 出 力 状 態 説 明 FA_ENOTOPEN 49 指 定 したファイルは IOモード 以 外 でオープンしてあり ます または 不 正 なファイルディスクリプタを 指 定 し ています FA_EBADACC 90 当 関 数 を 実 行 することができないファイル 編 成 または 呼 出 し 法 でファイルがオープンしてあります FA_ELOCKED 99 順 読 込 みによって 位 置 付 けられているレコードはロック されています FA_ENOCURR 43 指 定 したファイルでの 順 読 込 みが 成 功 していませんでし た 注 これらは 代 表 的 なステータスです これ 以 外 のステータスについては 4.1 エラー 番 号 と 4.2 入 出 力 状 態 を 参 照 してください cobfa_delkey() 主 レコードキーの 値 が 示 すレコードを 削 除 します ( 乱 削 除 ) long cobfa_delkey ( long fd, /* ファイルディスクリプタ */ const char *recarea /* レコード 域 */ ); 説 明 ファイルディスクリプタfdが 示 すファイルで レコード 域 recareaの 内 容 が 持 つ 主 レコードキー の 値 が 指 すレコードを 削 除 します 32
39 3.5 レコードの 削 除 実 行 可 能 な 条 件 当 関 数 の 機 能 を 実 行 することができるファイル 編 成 オープンモードおよび 呼 出 し 法 は それぞ れ 下 表 のとおりです オープン 属 性 種 別 実 行 の 可 否 ファイル 編 成 行 順 ファイル レコード 順 ファイル 相 対 ファイル オープンモード 呼 出 し 法 索 引 ファイル INPUTモード OUTPUTモード IOモード EXTENDモード 順 呼 出 し 乱 呼 出 し 動 的 呼 出 し : 当 関 数 の 実 行 が 可 能 です : 当 関 数 の 実 行 はできません 復 帰 値 当 関 数 の 復 帰 値 は 下 表 のようになります 復 帰 値 状 態 説 明 0 成 功 当 関 数 の 実 行 が 成 功 しました 1 失 敗 当 関 数 の 実 行 が 失 敗 しました エラー 番 号 と 入 出 力 状 態 が 状 況 を 示 すコードを 保 持 しています 発 生 するステータス 当 関 数 の 呼 出 しによって 発 生 するステータスは 下 表 のようになります 関 数 の 実 行 の 成 功 時 エラー 番 号 入 出 力 状 態 説 明 FA_ENOERR 0 関 数 の 実 行 は 成 功 しました ( 注 ) 関 数 の 実 行 の 失 敗 時 エラー 番 号 入 出 力 状 態 説 明 FA_ENOTOPEN 49 指 定 したファイルは IOモード 以 外 でオープンしてあり ます または 不 正 なファイルディスクリプタを 指 定 し ています FA_EBADACC 90 当 関 数 を 実 行 することができないファイル 編 成 または 呼 出 し 法 でファイルがオープンしてあります FA_ELOCKED 99 主 レコードキーの 値 で 指 定 したレコードはロックされて います FA_ENOREC 23 主 レコードキーの 値 で 指 定 したレコードは 存 在 しませ ん 注 これらは 代 表 的 なステータスです これ 以 外 のステータスについては 4.1 エラー 番 号 と 4.2 入 出 力 状 態 を 参 照 してください 33
40 第 3 章 API 関 数 と 構 造 体 cobfa_delrec() 相 対 レコード 番 号 が 示 すレコードを 削 除 します ( 乱 削 除 ) long cobfa_delrec ( long fd, /* ファイルディスクリプタ */ unsigned long recnum /* 相 対 レコード 番 号 */ ); 説 明 ファイルディスクリプタfdが 示 すファイルで 相 対 レコード 番 号 recnumが 指 すレコードを 削 除 し ます 実 行 可 能 な 条 件 当 関 数 の 機 能 を 実 行 することができるファイル 編 成 オープンモードおよび 呼 出 し 法 は それぞ れ 下 表 のとおりです オープン 属 性 種 別 実 行 の 可 否 ファイル 編 成 行 順 ファイル レコード 順 ファイル 相 対 ファイル オープンモード 呼 出 し 法 索 引 ファイル INPUTモード OUTPUTモード IOモード EXTENDモード 順 呼 出 し 乱 呼 出 し 動 的 呼 出 し : 当 関 数 の 実 行 が 可 能 です : 当 関 数 の 実 行 はできません 復 帰 値 当 関 数 の 復 帰 値 は 下 表 のようになります 復 帰 値 状 態 説 明 0 成 功 当 関 数 の 実 行 が 成 功 しました 1 失 敗 当 関 数 の 実 行 が 失 敗 しました エラー 番 号 と 入 出 力 状 態 が 状 況 を 示 すコードを 保 持 しています 発 生 するステータス 当 関 数 の 呼 出 しによって 発 生 するステータスは 下 表 のようになります 関 数 の 実 行 の 成 功 時 エラー 番 号 入 出 力 状 態 説 明 FA_ENOERR 0 関 数 の 実 行 は 成 功 しました 34
41 3.5 レコードの 削 除 関 数 の 実 行 の 失 敗 時 ( 注 ) エラー 番 号 入 出 力 状 態 説 明 FA_ENOTOPEN 49 指 定 したファイルは IOモード 以 外 でオープンしてあり ます または 不 正 なファイルディスクリプタを 指 定 し ています FA_EBADACC 90 当 関 数 を 実 行 することができないファイル 編 成 または 呼 出 し 法 でファイルがオープンしてあります FA_ELOCKED 99 相 対 レコード 番 号 で 指 定 したレコードはロックされてい ます FA_ENOREC 23 相 対 レコード 番 号 で 指 定 したレコードは 存 在 しません 注 これらは 代 表 的 なステータスです これ 以 外 のステータスについては 4.1 エラー 番 号 と 4.2 入 出 力 状 態 を 参 照 してください 35
42 第 3 章 API 関 数 と 構 造 体 3.6 レコードの 書 換 え ここでは 入 出 力 機 能 のAPI 関 数 のうち ファイルが 持 つレコードを 書 き 換 えるAPI 関 数 について 説 明 します cobfa_rewcurr() cobfa_rewkey() cobfa_rewrec() cobfa_rewcurr() 順 読 込 みしたレコードを 書 き 換 えます ( 順 更 新 ) long cobfa_rewcurr ( long fd, /* ファイルディスクリプタ */ const char *recarea, /* レコード 域 */ long reclen /* 書 換 えレコード 長 */ ); 説 明 ファイルディスクリプタfdが 示 すファイルで 順 読 込 みによって 位 置 付 けられているレコード (カレントレコード)を レコード 域 recareaの 内 容 で 書 き 換 えます ファイルが 可 変 長 形 式 であるときだけ 書 換 えレコード 長 reclenの 指 定 が 有 効 になります ファ イル 編 成 がレコード 順 ファイル(FA_SEQFILE)のときは 元 のレコード 長 を 変 えることはできませ ん 実 行 可 能 な 条 件 当 関 数 の 機 能 を 実 行 することができるファイル 編 成 オープンモードおよび 呼 出 し 法 は それぞ れ 下 表 のとおりです オープン 属 性 種 別 実 行 の 可 否 ファイル 編 成 行 順 ファイル レコード 順 ファイル 相 対 ファイル オープンモード 呼 出 し 法 索 引 ファイル INPUTモード OUTPUTモード IOモード EXTENDモード 順 呼 出 し 乱 呼 出 し 動 的 呼 出 し : 当 関 数 の 実 行 が 可 能 です ただし レコードが 順 読 込 みによって 位 置 付 けら れていること が 必 須 条 件 となります : 当 関 数 の 実 行 はできません 36
43 3.6 レコードの 書 換 え 復 帰 値 当 関 数 の 復 帰 値 は 下 表 のようになります 復 帰 値 状 態 説 明 0 成 功 当 関 数 の 実 行 が 成 功 しました 1 失 敗 当 関 数 の 実 行 が 失 敗 しました エラー 番 号 と 入 出 力 状 態 が 状 況 を 示 すコードを 保 持 しています 発 生 するステータス 当 関 数 の 呼 出 しによって 発 生 するステータスは 下 表 のようになります 関 数 の 実 行 の 成 功 時 エラー 番 号 入 出 力 状 態 説 明 FA_ENOERR 0 関 数 の 実 行 は 成 功 しました ( 注 ) 関 数 の 実 行 の 失 敗 時 エラー 番 号 入 出 力 状 態 説 明 FA_EDUPL 22 書 き 換 えようとしたレコードの 主 レコードキーまたは 副 レコードキーの 値 がすでにファイル 中 に 存 在 していま す しかし 主 レコードキーまたは 副 レコードキーは 重 複 を 許 可 していません FA_EBADLENG 44 指 定 した 書 換 えレコード 長 の 値 が 指 定 可 能 な 範 囲 を 超 え ています 注 この 表 にあるステータス 以 外 に 発 生 するものは cobfa_delcurr() の 発 生 する ステータスを 参 照 してください cobfa_rewkey() 主 レコードキーの 値 が 示 すレコードを 書 き 換 えます ( 乱 更 新 ) long cobfa_rewkey ( long fd, /* ファイルディスクリプタ */ const char *recarea, /* レコード 域 */ long reclen /* 書 換 えレコード 長 */ ); 説 明 ファイルディスクリプタfdが 示 すファイルの レコード 域 recareaの 中 に 持 つ 主 レコードキーの 値 が 指 すレコードを レコード 域 recareaの 内 容 で 書 き 換 えます ファイルが 可 変 長 形 式 であるときだけ 書 換 えレコード 長 reclenの 指 定 が 有 効 になります 37
44 第 3 章 API 関 数 と 構 造 体 実 行 可 能 な 条 件 当 関 数 の 機 能 を 実 行 することができるファイル 編 成 オープンモードおよび 呼 出 し 法 は それぞ れ 下 表 のとおりです オープン 属 性 種 別 実 行 の 可 否 ファイル 編 成 行 順 ファイル レコード 順 ファイル 相 対 ファイル オープンモード 呼 出 し 法 索 引 ファイル INPUTモード OUTPUTモード IOモード EXTENDモード 順 呼 出 し 乱 呼 出 し 動 的 呼 出 し : 当 関 数 の 実 行 が 可 能 です : 当 関 数 の 実 行 はできません 復 帰 値 当 関 数 の 復 帰 値 は 下 表 のようになります 復 帰 値 状 態 説 明 0 成 功 当 関 数 の 実 行 が 成 功 しました 1 失 敗 当 関 数 の 実 行 が 失 敗 しました エラー 番 号 と 入 出 力 状 態 が 状 況 を 示 すコードを 保 持 しています 発 生 するステータス 当 関 数 の 呼 出 しによって 発 生 するステータスは 下 表 のようになります 関 数 の 実 行 の 成 功 時 エラー 番 号 入 出 力 状 態 説 明 FA_ENOERR 0 関 数 の 実 行 は 成 功 しました 関 数 の 実 行 の 失 敗 時 ( 注 ) エラー 番 号 入 出 力 状 態 説 明 FA_EDUPL 22 重 複 を 許 可 していないレコードキーに 対 して すでに 存 在 するレコードキーの 値 を 持 つレコード 内 容 で 書 き 換 え ようとしました FA_EBADLENG 44 指 定 した 書 換 えレコード 長 の 値 が 指 定 可 能 な 範 囲 を 超 え ています 注 この 表 にあるステータス 以 外 に 発 生 するものは cobfa_delkey() の 発 生 するス テータスを 参 照 してください 38
45 3.6 レコードの 書 換 え cobfa_rewrec() 相 対 レコード 番 号 が 示 すレコードを 書 き 換 えます ( 乱 更 新 ) long cobfa_rewrec ( long fd, /* ファイルディスクリプタ */ const char *recarea, /* レコード 域 */ long reclen, /* 書 換 えレコード 長 */ unsigned long recnum /* 相 対 レコード 番 号 */ ); 説 明 ファイルディスクリプタfdが 示 すファイルの 相 対 レコード 番 号 recnumのレコードを レコード 域 recareaの 内 容 で 書 き 換 えます ファイルが 可 変 長 形 式 であるときだけ 書 換 えレコード 長 reclenの 指 定 が 有 効 になります 実 行 可 能 な 条 件 当 関 数 の 機 能 を 実 行 することができるファイル 編 成 オープンモードおよび 呼 出 し 法 は それぞ れ 下 表 のとおりです オープン 属 性 種 別 実 行 の 可 否 ファイル 編 成 行 順 ファイル レコード 順 ファイル 相 対 ファイル オープンモード 呼 出 し 法 索 引 ファイル INPUTモード OUTPUTモード IOモード EXTENDモード 順 呼 出 し 乱 呼 出 し 動 的 呼 出 し : 当 関 数 の 実 行 が 可 能 です : 当 関 数 の 実 行 はできません 復 帰 値 当 関 数 の 復 帰 値 は 下 表 のようになります 復 帰 値 状 態 説 明 0 成 功 当 関 数 の 実 行 が 成 功 しました 1 失 敗 当 関 数 の 実 行 が 失 敗 しました エラー 番 号 と 入 出 力 状 態 が 状 況 を 示 すコードを 保 持 しています 39
46 第 3 章 API 関 数 と 構 造 体 発 生 するステータス 当 関 数 の 呼 出 しによって 発 生 するステータスは 下 表 のようになります 関 数 の 実 行 の 成 功 時 エラー 番 号 入 出 力 状 態 説 明 FA_ENOERR 0 関 数 の 実 行 は 成 功 しました ( 注 ) 関 数 の 実 行 の 失 敗 時 エラー 番 号 入 出 力 状 態 説 明 FA_EBADLENG 44 指 定 した 書 換 えレコード 長 の 値 が 指 定 可 能 な 範 囲 を 超 え ています 注 この 表 にあるステータス 以 外 に 発 生 するものは cobfa_delrec() の 発 生 するス テータスを 参 照 してください 40
47 3.7 レコードの 位 置 決 め 3.7 レコードの 位 置 決 め ここでは 入 出 力 機 能 のAPI 関 数 のうち ファイルが 持 つレコードをアクセスする 位 置 を 決 めるAPI 関 数 について 説 明 します cobfa_stkey() cobfa_strec() cobfa_stkey() 任 意 のレコードキーの 値 が 示 すレコードに 位 置 付 けます long cobfa_stkey ( long fd, /* ファイルディスクリプタ */ long stflgs, /* 位 置 付 け 属 性 */ const char *recarea, /* レコード 域 */ const struct fa_keydesc *keydesc, /* レコードキー 構 成 指 定 */ long keynum, /* レコードキー 番 号 指 定 */ long keyleng /* 有 効 キー 長 */ ); 説 明 ファイルディスクリプタfdが 示 すファイルで レコード 域 recareaの 中 に 持 つ 任 意 のレコードキ ーの 値 に 関 連 するレコードに 位 置 付 けを 行 います また 指 定 した 任 意 のレコードキーを 以 降 の 順 読 込 みでの 参 照 キーとして 宣 言 します 位 置 付 け 属 性 stflgsの 指 定 値 には 以 下 の2つのカテゴリがあり これらをビットの 論 理 和 で 結 合 して 指 定 します これらは 省 略 可 能 です (*は 省 略 値 ) a. 位 置 付 けモード 記 号 定 数 意 味 対 応 するCOBOL 構 文 FA_FIRST 先 頭 レコード START FIRST RECORD * FA_EQUAL レコードキーの 値 と START KEY IS = 等 しいレコード FA_GREAT レコードキーの 値 を START KEY IS > 超 えるレコード FA_GTEQ レコードキーの 値 以 START KEY IS >= 上 のレコード FA_LESS レコードキーの 値 よ START KEY IS < り 小 さいレコード FA_LTEQ レコードキーの 値 以 下 のレコード START KEY IS <= 41
48 第 3 章 API 関 数 と 構 造 体 b. 逆 順 読 込 みフラグ 記 号 定 数 意 味 対 応 するCOBOL 構 文 * なし 順 読 込 み 時 に 論 理 的 に 順 方 向 に 読 み 込 む FA_REVORD 順 読 込 み 時 に 論 理 的 に 逆 方 向 に 読 み 込 む START WITH REVERSED ORDER 逆 順 読 込 みフラグのデフォルト 値 は 正 順 読 込 みになります 位 置 付 けモードがレコードキーの 値 を 超 過 (FA_GREAT)またはレコードキーの 値 以 上 (FA_GTEQ)の 場 合 逆 順 読 込 みフラグ(FA_REVORD)を 指 定 することはできません 逆 順 読 込 みフラグの 指 定 は 乱 読 込 み 位 置 付 け ファイルのクローズを 行 ったり ファイル 終 了 条 件 が 発 生 したりすることで 無 効 になります 任 意 のレコードキーの 指 定 は レコードキー 構 成 指 定 keydescで 行 います struct fa_keydesc 型 については struct fa_keydesc を 参 照 してください このレコードキー 構 成 指 定 にNULLを 指 定 した 場 合 は 任 意 のレコードキーの 指 定 としてレコード キー 番 号 指 定 keynumが 有 効 になります 主 レコードキーを 指 定 するには レコードキー 番 号 指 定 に1を 指 定 します 副 レコードキーを 指 定 するには レコードキー 番 号 指 定 に2 以 上 の 値 を 指 定 し ます この 値 は 索 引 ファイルを 創 成 したときの 副 レコードキーを 宣 言 したときの 並 びの 順 番 に 対 応 しています 最 初 の 副 レコードキーなら2を 2 番 目 の 副 レコードキーなら3を それ 以 上 もこ れらと 同 様 に 指 定 します 有 効 キー 長 keylengは 有 効 な 参 照 キーの 長 さを 短 くするために 使 います 有 効 な 参 照 キーの 長 さを 短 くしない 通 常 の 場 合 は 0を 指 定 します この 場 合 任 意 のレコードキーの 全 体 が 参 照 キ ーとなります 有 効 な 参 照 キーの 長 さを 短 くする 場 合 は 1 以 上 の 値 を 指 定 します この 値 は キーパートの 並 びを 連 続 した 先 頭 からのキーの 長 さをバイト 単 位 で 指 定 します 実 行 可 能 な 条 件 当 関 数 の 機 能 を 実 行 することができるファイル 編 成 オープンモードおよび 呼 出 し 法 は それぞ れ 下 表 のとおりです オープン 属 性 種 別 実 行 の 可 否 ファイル 編 成 行 順 ファイル レコード 順 ファイル 相 対 ファイル オープンモード 呼 出 し 法 索 引 ファイル INPUTモード OUTPUTモード IOモード EXTENDモード 順 呼 出 し 乱 呼 出 し 動 的 呼 出 し : 当 関 数 の 実 行 が 可 能 です : 当 関 数 の 実 行 はできません 42
49 3.7 レコードの 位 置 決 め 復 帰 値 当 関 数 の 復 帰 値 は 下 表 のようになります 復 帰 値 状 態 説 明 0 成 功 当 関 数 の 実 行 が 成 功 しました 1 失 敗 当 関 数 の 実 行 が 失 敗 しました エラー 番 号 と 入 出 力 状 態 が 状 況 を 示 すコードを 保 持 しています 発 生 するステータス 当 関 数 の 呼 出 しによって 発 生 するステータスは 下 表 のようになります 関 数 の 実 行 の 成 功 時 エラー 番 号 入 出 力 状 態 説 明 FA_ENOERR 0 関 数 の 実 行 は 成 功 しました ( 注 ) 関 数 の 実 行 の 失 敗 時 エラー 番 号 入 出 力 状 態 説 明 FA_ENOTOPEN 47 指 定 したファイルは INPUTモード 以 外 かつ IOモー ド 以 外 でオープンしてあります または 不 正 なファイ ルディスクリプタを 指 定 しています FA_EBADACC 90 当 関 数 を 実 行 することができないファイル 編 成 または 呼 出 し 法 でファイルがオープンしてあります FA_EBADFLAG 90 当 関 数 を 実 行 することができない 位 置 付 けモードを 指 定 しています または その 他 のフラグの 指 定 が 正 しくあ りません FA_ENOREC 23 指 定 した 条 件 に 該 当 するレコードが 存 在 しませんでし た FA_EBADKEY 90 指 定 したレコードキー 構 成 またはレコードキー 番 号 は 存 在 しません または 正 しくありません 注 これらは 代 表 的 なステータスです これ 以 外 のステータスについては 4.1 エラー 番 号 と 4.2 入 出 力 状 態 を 参 照 してください cobfa_strec() 相 対 レコード 番 号 が 示 すレコードに 位 置 付 けます long cobfa_strec ( long fd, /* ファイルディスクリプタ */ long stflgs, /* 位 置 付 け 属 性 */ unsigned long recnum /* 相 対 レコード 番 号 */ ); 43
50 第 3 章 API 関 数 と 構 造 体 説 明 ファイルディスクリプタfdが 示 すファイルで 相 対 レコード 番 号 recnumの 値 に 関 連 するレコード に 位 置 付 けを 行 います 位 置 付 け 属 性 stflgsの 指 定 値 には 以 下 の1つのカテゴリがあります これは 省 略 可 能 です (*は 省 略 値 ) a. 位 置 付 けモード 記 号 定 数 意 味 対 応 するCOBOL 構 文 * FA_EQUAL recnumと 等 しいレコード START KEY IS = FA_GREAT recnumを 超 えるレコード START KEY IS > FA_GTEQ recnum 以 上 のレコード START KEY IS >= FA_LESS recnumより 小 さいレコード START KEY IS < FA_LTEQ recnum 以 下 のレコード START KEY IS <= 実 行 可 能 な 条 件 当 関 数 の 機 能 を 実 行 することができるファイル 編 成 オープンモードおよび 呼 出 し 法 は それぞ れ 下 表 のとおりです オープン 属 性 種 別 実 行 の 可 否 ファイル 編 成 行 順 ファイル レコード 順 ファイル 相 対 ファイル オープンモード 呼 出 し 法 索 引 ファイル INPUTモード OUTPUTモード IOモード EXTENDモード 順 呼 出 し 乱 呼 出 し 動 的 呼 出 し : 当 関 数 の 実 行 が 可 能 です : 当 関 数 の 実 行 はできません 復 帰 値 当 関 数 の 復 帰 値 は 下 表 のようになります 復 帰 値 状 態 説 明 0 成 功 当 関 数 の 実 行 が 成 功 しました 1 失 敗 当 関 数 の 実 行 が 失 敗 しました エラー 番 号 と 入 出 力 状 態 が 状 況 を 示 すコードを 保 持 しています 発 生 するステータス 当 関 数 の 呼 出 しによって 発 生 するステータスは 下 表 のようになります 関 数 の 実 行 の 成 功 時 エラー 番 号 入 出 力 状 態 説 明 FA_ENOERR 0 関 数 の 実 行 は 成 功 しました 44
51 3.7 レコードの 位 置 決 め ( 注 ) 関 数 の 実 行 の 失 敗 時 エラー 番 号 入 出 力 状 態 説 明 FA_ENOTOPEN 47 指 定 したファイルは INPUTモード 以 外 かつ IOモー ド 以 外 でオープンしてあります または 不 正 なファイ ルディスクリプタを 指 定 しています FA_EBADACC 90 当 関 数 を 実 行 することができないファイル 編 成 または 呼 出 し 法 でファイルがオープンしてあります FA_EBADFLAG 90 当 関 数 を 実 行 することができない 位 置 付 けモードを 指 定 しています または その 他 のフラグの 指 定 が 正 しくあ りません FA_ENOREC 23 指 定 した 条 件 に 該 当 するレコードが 存 在 しませんでし た 注 これらは 代 表 的 なステータスです これ 以 外 のステータスについては 4.1 エラー 番 号 と 4.2 入 出 力 状 態 を 参 照 してください 45
52 第 3 章 API 関 数 と 構 造 体 3.8 レコードロックの 解 除 ここでは 入 出 力 機 能 のAPI 関 数 のうち ファイルが 持 つロック 中 のレコードをロック 解 除 するAPI 関 数 について 説 明 します cobfa_release() cobfa_release() 指 定 するファイルのすべてのレコードロックを 解 除 します long cobfa_release ( long fd /* ファイルディスクリプタ */ ); 説 明 ファイルディスクリプタfdが 示 すファイルで すべてのレコードロックを 解 除 します 実 行 可 能 な 条 件 当 関 数 の 機 能 を 実 行 することができるファイル 編 成 オープンモードおよび 呼 出 し 法 は それぞ れ 下 表 のとおりです オープン 属 性 種 別 実 行 の 可 否 ファイル 編 成 行 順 ファイル レコード 順 ファイル 相 対 ファイル オープンモード 呼 出 し 法 索 引 ファイル INPUTモード OUTPUTモード IOモード EXTENDモード 順 呼 出 し 乱 呼 出 し 動 的 呼 出 し : 当 関 数 の 実 行 が 可 能 です : 当 関 数 の 実 行 はできません 復 帰 値 当 関 数 の 復 帰 値 は 下 表 のようになります 復 帰 値 状 態 説 明 0 成 功 当 関 数 の 実 行 が 成 功 しました 1 失 敗 当 関 数 の 実 行 が 失 敗 しました エラー 番 号 と 入 出 力 状 態 が 状 況 を 示 すコードを 保 持 しています 46
53 3.8 レコードロックの 解 除 発 生 するステータス 当 関 数 の 呼 出 しによって 発 生 するステータスは 下 表 のようになります 関 数 の 実 行 の 成 功 時 エラー 番 号 入 出 力 状 態 説 明 FA_ENOERR 0 関 数 の 実 行 は 成 功 しました ( 注 ) 関 数 の 実 行 の 失 敗 時 エラー 番 号 入 出 力 状 態 説 明 FA_ENOTOPEN 90 ファイルのオープン 時 に 取 得 したものでない 不 正 なファ イルディスクリプタを 指 定 しています 注 これらは 代 表 的 なステータスです これ 以 外 のステータスについては 4.1 エラー 番 号 と 4.2 入 出 力 状 態 を 参 照 してください 47
54 第 3 章 API 関 数 と 構 造 体 3.9 ファイル 情 報 の 取 得 ここでは ファイルの 情 報 を 取 得 する 機 能 を 持 つAPI 関 数 について 説 明 します cobfa_indexinfo() cobfa_indexinfo() 索 引 ファイルの 属 性 またはレコードキーの 構 成 を 取 得 します long cobfa_indexinfo ( long fd, /* ファイルディスクリプタ */ struct fa_keydesc *buffer, /* 取 得 結 果 の 格 納 域 */ long funccode /* 機 能 コード */ ); 説 明 ファイルディスクリプタfdが 示 す 索 引 ファイルに 関 する 情 報 を 取 得 結 果 の 格 納 域 buffer 内 に 設 定 します 取 得 する 情 報 の 種 類 は 機 能 コードfunccodeへの 指 定 で 選 択 します 機 能 コードに0を 指 定 すると 取 得 結 果 の 格 納 域 にstruct fa_dictinfo 型 でファイルの 属 性 を 格 納 します struct fa_dictinfo 型 については struct fa_dictinfo を 参 照 してくだ さい 機 能 コードに1 以 上 を 指 定 すると 取 得 結 果 の 格 納 域 にstruct fa_keydesc 型 で 主 レコードキーま たは 副 レコードキーの 構 成 を 格 納 します 機 能 コードの 値 に1を 指 定 するとき 主 レコードキーの 構 成 を 取 得 し 2 以 上 では 副 レコードキーの 構 成 を 取 得 します この 値 は 索 引 ファイルを 創 成 したときの 副 レコードキーを 宣 言 したときの 並 びの 順 番 に 対 応 し ています 最 初 の 副 レコードキーなら2を 2 番 目 の 副 レコードキーなら3を これ 以 降 もこれら と 同 様 に 指 定 します struct fa_keydesc 型 については struct fa_keydesc を 参 照 してください 実 行 可 能 な 条 件 当 関 数 の 機 能 を 実 行 することができるファイル 編 成 オープンモードおよび 呼 出 し 法 は それぞ れ 下 表 のとおりです オープン 属 性 種 別 実 行 の 可 否 ファイル 編 成 行 順 ファイル レコード 順 ファイル 相 対 ファイル オープンモード 呼 出 し 法 索 引 ファイル INPUTモード OUTPUTモード IOモード EXTENDモード 順 呼 出 し 乱 呼 出 し 動 的 呼 出 し : 当 関 数 の 実 行 が 可 能 です : 当 関 数 の 実 行 はできません 48
55 3.9 ファイル 情 報 の 取 得 復 帰 値 当 関 数 の 復 帰 値 は 下 表 のようになります 復 帰 値 状 態 説 明 0 成 功 当 関 数 の 実 行 が 成 功 しました 1 失 敗 当 関 数 の 実 行 が 失 敗 しました エラー 番 号 と 入 出 力 状 態 が 状 況 を 示 すコードを 保 持 しています 発 生 するステータス 当 関 数 の 呼 出 しによって 発 生 するステータスは 下 表 のようになります 関 数 の 実 行 の 成 功 時 エラー 番 号 入 出 力 状 態 説 明 FA_ENOERR 0 関 数 の 実 行 は 成 功 しました 関 数 の 実 行 の 失 敗 時 エラー 番 号 入 出 力 状 態 説 明 FA_ENOTOPEN 90 不 正 なファイルディスクリプタを 指 定 しています FA_EBADACC 90 指 定 したファイルは 索 引 ファイルでありません 49
56 第 3 章 API 関 数 と 構 造 体 3.10 エラー 番 号 の 取 得 ここでは 入 出 力 の 状 況 を 取 得 する 機 能 のAPIのうち エラー 番 号 の 取 得 を 行 うAPI 関 数 について 説 明 します cobfa_errno() cobfa_errno() エラー 番 号 を 返 却 します long cobfa_errno ( void /* 引 数 なし */ ); 説 明 入 出 力 のAPI 関 数 またはファイル 情 報 取 得 のAPI 関 数 を 実 行 した 結 果 起 こったエラーを 識 別 する 番 号 を 返 却 します 実 行 可 能 な 条 件 つねに 呼 出 し 可 能 復 帰 値 当 関 数 の 復 帰 値 は 下 表 のようになります 復 帰 値 状 態 説 明 FA_ENOERR 成 功 入 出 力 機 能 の 実 行 またはファイル 情 報 取 得 の 実 行 が 成 功 したことを 意 味 します FA_ENOERR 以 外 失 敗 入 出 力 機 能 の 実 行 またはファイル 情 報 取 得 の 実 行 が 失 敗 したことを 意 味 します ( 注 1) 注 1 復 帰 値 の 詳 細 については 4.1 エラー 番 号 を 参 照 してください 50
57 3.11 入 出 力 状 態 の 取 得 3.11 入 出 力 状 態 の 取 得 ここでは 入 出 力 の 状 況 を 取 得 する 機 能 のAPIのうち 入 出 力 状 態 の 取 得 を 行 うAPI 関 数 について 説 明 します cobfa_stat() cobfa_stat() 入 出 力 状 態 を 返 却 します long cobfa_stat ( void /* 引 数 なし */ ); 説 明 入 出 力 のAPI 関 数 またはファイル 情 報 取 得 のAPI 関 数 を 実 行 した 結 果 の 入 出 力 状 態 を 返 却 します 実 行 可 能 な 条 件 つねに 呼 出 し 可 能 復 帰 値 入 出 力 状 態 を 返 却 します 入 出 力 状 態 の 種 類 とその 詳 細 については NetCOBOL 使 用 手 引 書 の 付 録 B 入 出 力 状 態 一 覧 を 参 照 してください 51
58 第 3 章 API 関 数 と 構 造 体 3.12 読 込 みレコード 長 の 取 得 ここでは 入 出 力 の 状 況 を 取 得 する 機 能 のAPIのうち 読 込 みレコード 長 の 取 得 を 行 うAPI 関 数 に ついて 説 明 します cobfa_reclen() cobfa_reclen() レコード 長 を 返 却 します long cobfa_reclen ( void /* 引 数 なし */ ); 説 明 レコード 形 式 が 可 変 長 であるファイルを 扱 うとき 入 出 力 のAPI 関 数 のうち 以 下 の 関 数 の 実 行 が 成 功 したあと 読 み 込 んだレコードの 実 際 の 長 さを 返 却 します 読 込 み 失 敗 や 他 の 入 出 力 機 能 の 実 行 後 は 不 定 な 値 を 返 却 します cobfa_rdnext() cobfa_rdrec() cobfa_rdkey() 実 行 可 能 な 条 件 つねに 呼 出 し 可 能 復 帰 値 読 み 込 んだレコードの 長 さ(バイト 数 ) 52
59 3.13 相 対 レコード 番 号 の 取 得 3.13 相 対 レコード 番 号 の 取 得 ここでは 入 出 力 の 状 況 を 取 得 する 機 能 のAPIのうち 相 対 レコード 番 号 の 取 得 を 行 うAPI 関 数 に ついて 説 明 します cobfa_recnum() cobfa_recnum() 相 対 レコード 番 号 を 返 却 します unsigned long cobfa_recnum ( void /* 引 数 なし */ ); 説 明 相 対 ファイルで 入 出 力 のAPI 関 数 のうち 以 下 の 関 数 の 実 行 が 成 功 したあと 現 在 位 置 付 けら れているレコードの 相 対 レコード 番 号 を 返 却 します cobfa_rdnext() cobfa_rdrec() 読 込 みが 失 敗 した 後 や 相 対 ファイル 以 外 のファイル 編 成 での 入 出 力 機 能 の 実 行 後 には 不 定 な 値 を 返 却 します 実 行 可 能 な 条 件 つねに 呼 出 し 可 能 復 帰 値 相 対 ファイルで 現 在 位 置 付 けられている 相 対 レコード 番 号 53
60 第 3 章 API 関 数 と 構 造 体 3.14 マルチスレッド 環 境 下 での 排 他 制 御 マルチスレッド 環 境 下 では 複 数 のスレッドが 同 時 にCOBOLランタイムシステムによるファイル アクセスを 行 わないように 排 他 制 御 する 必 要 があります ここでは その 排 他 制 御 を 行 うため の 以 下 の 関 数 について 説 明 します LOCK_cobfa() UNLOCK_cobfa() LOCK_cobfa() マルチスレッド 環 境 下 でのCOBOLファイルアクセスに 排 他 ロックをかけます long LOCK_cobfa ( const unsigned long *timeout, /* 待 ち 時 間 */ unsigned long *errcode /* エラーコード */ ); 説 明 他 のスレッドが 同 時 にCOBOLファイルへのアクセスを 行 わないように COBOLランタイムシステム が 行 うファイルアクセスに 対 して 排 他 ロックをかけます マルチスレッド 環 境 下 でファイルへの アクセスを 行 う 場 合 競 合 による 問 題 を 発 生 させないために この 関 数 を 呼 び 出 す 必 要 がありま す 待 ち 時 間 timeoutにはミリ 秒 単 位 の 値 を 持 つ 長 整 数 型 へのポインタを 指 定 します もし 他 のスレ ッドが 先 に 排 他 ロックをかけているとき 当 スレッドでの 関 数 の 呼 出 しからtimeoutまでの 間 に 排 他 ロックが 解 除 されないと 関 数 の 実 行 は 失 敗 します timeoutにnullを 指 定 した 場 合 待 ち 時 間 は 無 制 限 となります 当 関 数 の 復 帰 値 が1であるとき エラーコード*errcodeにWindowsシステムエラーコードを 設 定 します ただし errcodeにnullを 設 定 した 場 合 には エラーコードを 設 定 しません 当 関 数 の 復 帰 値 が1でない 場 合 の 値 は 不 定 です 実 行 可 能 な 条 件 つねに 呼 出 し 可 能 復 帰 値 関 数 の 復 帰 値 は 下 表 のようになります 復 帰 値 状 態 説 明 0 成 功 COBOLファイルアクセスの 排 他 ロックが 成 功 しました 1 COBOLファイルアクセスの 排 他 ロックが 成 功 しました 排 他 ロックをしていた 他 のスレッドがロックを 解 除 しない で 終 了 したため 代 わりに 当 スレッドがロック 制 御 権 を 得 ました 他 のスレッドが 異 常 な 終 了 をしている 可 能 性 がありますので 処 理 を 継 続 する 際 には 十 分 な 注 意 が 必 要 です 1 失 敗 システムエラーが 発 生 しました この 場 合 エラーコー ド*errcodeにWindowsシステムエラーコードが 設 定 され ます 2 待 ち 時 間 timeoutを 超 えました 排 他 ロックをかけません でした 54
61 3.14 マルチスレッド 環 境 下 での 排 他 制 御 使 い 方 当 関 数 は 入 出 力 機 能 を 持 つAPI 関 数 か ファイルの 情 報 を 取 得 するAPI 関 数 の 前 に 呼 びます API 関 数 呼 出 し に 続 け て 状 況 を 取 得 す る API 関 数 を 必 要 に 応 じ て 呼 ん だ 後 UNLOCK_cobfa() を 呼 びます 状 況 を 取 得 する 関 数 の 呼 出 しは 入 出 力 かファイル 情 報 の 取 得 のAPI 関 数 呼 出 しとともに 必 ず 一 回 の 排 他 ロック 中 に 行 ってください 数 回 の 排 他 制 御 に 分 けて 状 況 を 取 得 すると 状 況 を 示 す 値 が 他 のスレッドで 上 書 きされ 正 しくない 可 能 性 があります 以 下 に1つの 入 出 力 ごとに 排 他 制 御 を 行 う 例 を 示 します long ret, fd, eno, stat, recnum; ret = LOCK_cobfa ( NULL, NULL ); /* ファイルアクセスを 排 他 ロックする */ if ( ret < 0 ) {... /* エラー 処 理 */ } fd = cobfa_open ( "file.rel", FA_INPUT FA_RELFILE FA_FIXED, 10 ); stat = cobfa_stat ( ); eno = cobfa_errno ( ); UNLOCK_cobfa ( NULL ); /* ファイルアクセスの 排 他 ロックを 解 除 する */ if ( eno == FA_EFNAME ) { printf ( "errno: %d, stat: %d\n", eno, stat );... }... /* ファイル 入 出 力 に 関 係 のないさまざまな 処 理 を 行 う */ ret = LOCK_cobfa ( NULL, NULL ); /* ファイルアクセスを 排 他 ロックする */ if ( ret < 0 ) {... /* エラー 処 理 */ } cobfa_rdnext ( fd, FA_NEXT, buff ); recnum = cobfa_recnum ( ); UNLOCK_cobfa ( NULL ); /* ファイルアクセスの 排 他 ロックを 解 除 する */ num = recnum;... /* ファイル 入 出 力 に 関 係 のないさまざまな 処 理 を 行 う */ ret = LOCK_cobfa ( NULL, NULL ); /* ファイルアクセスを 排 他 ロックする */ if ( ret < 0 ) {... /* エラー 処 理 */ } cobfa_close ( fd ); UNLOCK_cobfa ( NULL ); /* ファイルアクセスの 排 他 ロックを 解 除 する */ また 最 初 にCOBOLファイルへのアクセスを 始 めてから 最 後 にアクセスが 終 わるまでの 間 排 他 制 御 をすることもできます このように 排 他 制 御 を 行 う 範 囲 は 任 意 に 広 げることができます 55
62 第 3 章 API 関 数 と 構 造 体 以 下 の 図 に まとめて 排 他 制 御 を 行 う 例 を 示 します long ret, fd; ret = LOCK_cobfa ( NULL, NULL ); /* ファイルアクセスを 排 他 ロックする */ if ( ret < 0 ) {... /* エラー 処 理 */ } fd = cobfa_open ( "file.seq", FA_OUTPUT FA_SEQFILE FA_FIXED, 10 ); cobfa_wrnext ( fd, buffer, 10 );... /* その 他 ファイルに 対 する 入 出 力 を 行 う */ cobfa_close ( fd ); UNLOCK_cobfa ( NULL ); /* ファイルアクセスの 排 他 ロックを 解 除 する */ UNLOCK_cobfa() マルチスレッド 環 境 下 でのファイルアクセスに 排 他 ロックを 解 除 します long UNLOCK_cobfa ( unsigned long *errcode /* エラーコード */ ); 説 明 COBOLランタイムシステムのファイルアクセスにかけていた 排 他 ロックを 解 除 します 当 関 数 の 復 帰 値 が1であるとき エラーコード*errcodeにWindowsシステムエラーコードを 設 定 します ただし errcodeにnullを 設 定 した 場 合 エラーコードを 設 定 しません 当 関 数 の 復 帰 値 が1でない 場 合 の 値 は 不 定 です 実 行 可 能 な 条 件 つねに 呼 び 出 し 可 能 復 帰 値 関 数 の 復 帰 値 は 下 表 のようになります 復 帰 値 状 態 説 明 0 成 功 COBOLファイルアクセスの 排 他 ロックの 解 除 が 成 功 しま した 1 失 敗 システムエラーが 発 生 しました この 場 合 エラーコー ド*errcodeにWindowsシステムエラーコードが 設 定 され ます 56
63 3.15 使 用 する 構 造 体 3.15 使 用 する 構 造 体 ここでは API 関 数 が 使 用 する 構 造 体 について 説 明 します struct fa_keydesc struct fa_keylist struct fa_dictinfo struct fa_keydesc cobfa_rdkey() 関 数 とcobfa_stkey() 関 数 では 任 意 のレコードキーの 選 択 をstruct fa_keydesc 型 で 指 定 できます cobfa_indexinfo() 関 数 は オープンしてある 索 引 ファイルの 任 意 のレコードキーの 構 成 を 知 る ことができます ここでは レコードキーの 構 成 を 与 えるstruct fa_keydesc 型 のメンバと 設 定 する/ 格 納 される 値 について 説 明 します #define FA_NPARTS 254u /* max number of key parts */ struct fa_keydesc { long k_flags; /* flags (duplicatable or not) */ long k_nparts; /* number of parts in key */ struct fa_keypart k_part [FA_NPARTS]; /* each key part */ }; レコードキーの 属 性 を 示 すk_flagsには 以 下 の 値 が 入 ります FA_DUPS: このレコードキーは 重 複 可 能 FA_NODUPS: このレコードキーは 重 複 を 許 可 しない k_npartsには レコードキーの 中 のパート(キーパート)の 数 が 入 ります キーパート 数 の 最 小 値 は1で 最 大 値 はFA_NPARTS(254)です 個 々のキーパートの 情 報 を 持 つk_partは struct fa_keypart 型 の 配 列 で 宣 言 しています 以 下 で 説 明 します #define FA_NRECSIZE 32760u /* max number of bytes in a record */ #define FA_NKEYSIZE 254u /* max number of bytes in a key */ struct fa_keypart { short kp_start; /* starting byte of key part */ short kp_leng; /* length in bytes */ long kp_flags; /* flags (UCS2 key part or not) */ }; kp_startには レコードの 先 頭 位 置 を0とするバイト 単 位 の 変 位 を 設 定 します この 変 位 の 最 大 値 はFA_NRECSIZE1(32759)です 57
64 第 3 章 API 関 数 と 構 造 体 kp_lengには キーパートの 長 さを 設 定 します この 長 さの 最 小 値 は1で 上 位 制 限 値 は FA_NKEYSIZE(254)です 変 位 と 長 さの 和 がFA_NRECSIZE(32760)を 超 えてはいけません kp_flagsには 以 下 の1つのカテゴリの 情 報 を 設 定 します このメンバへの 設 定 値 は ファイル のオープン(cobfa_open() 関 数 )のオープン 属 性 引 数 にキーパートフラグ 使 用 指 定 (FA_USEKPFLAGS)を 指 定 したときだけ 有 効 になります キーパートのコード 系 種 別 記 号 定 数 説 明 FA_UCS2KPCODE キーパートのコード 系 種 別 はUCS2(リトルエンディアン)である FA_ANYKPCODE キーパートのコード 系 種 別 は 上 記 以 外 である 動 作 モードがUnicodeのCOBOLアプリケーションで 扱 う 索 引 ファイルで キーパートがUCS2(リト ルエンディアン)の 日 本 語 項 目 であるときに FA_UCS2KPCODEを 設 定 します キーパートが UCS2(リトルエンディアン)の 日 本 語 項 目 でないときや 動 作 モードがUnicodeでないときには FA_ANYKPCODEを 指 定 します レコードキーの 構 成 の 取 得 (cobfa_indexinfo() 関 数 )でkp_flagsを 参 照 するときには マスク 値 FA_KPCODEMASKを 用 いてキーパートのコード 系 種 別 を 取 り 出 してください FA_KPCODEMASKの 使 用 例 #include "f6agfcfa.h" #define GET_PRIM_KEY 1 struct fa_keydesc keydesc1; : ret = cobfa_indexinfo ( fd, &keydesc1, GET_PRIM_KEY ); for ( i = 0; i < keydesc1.k_nparts; i ++ ) { : switch ( keydesc1.k_part[i].kp_flags & FA_KPCODEMASK ) { case FA_UCS2KPCODE: : break; case FA_ANYKPCODE: : break; } : } 設 定 例 具 体 的 な 設 定 例 としてa.とb.の2つを 挙 げます 58
65 3.15 使 用 する 構 造 体 a. 具 体 的 な 設 定 例 主 レコードキーは 重 複 可 能 キーパートは2つ 最 初 のキーパートは 先 頭 から5バイト 目 にあり 長 さは3 次 のキーパートは 先 頭 から11バイト 目 にあり 長 さは5 バイト 目 変 位 ============================================================ 最 初 のパート 次 のパート part1 part2 COBOLで 記 述 した 場 合 の 参 考 例 : : ENVIRONMENT DIVISION CONFIGURATION SECTION INPUTOUTPUT SECTION FILECONTROL SELECT FILENAME1 ASSIGN TO SYS ORGANIZATION IS INDEXED RECORD KEY IS PART1 PART2 WITH DUPLICATES DATA DIVISION FILE SECTION FD FILENAME RECORD FILLER PIC X(4) PART1 PIC X(3) FILLER PIC X(3) PART2 PIC X(5). : Cソースプログラム 例 : #include "f6agfcfa.h" struct fa_keydesc keydesc1; keydesc1.k_flags = FA_DUPS; keydesc1.k_nparts = 2; /* number of key parts: 2 */ keydesc1.k_part[0].kp_start = 4; /* part_1: 5 1 == 4 */ keydesc1.k_part[0].kp_leng = 3; keydesc1.k_part[0].kp_flags = FA_ANYKPCODE; keydesc1.k_part[1].kp_start = 10; /* part_2: 11 1 == 10 */ keydesc1.k_part[1].kp_leng = 5; keydesc1.k_part[1].kp_flags = FA_ANYKPCODE; 59
66 第 3 章 API 関 数 と 構 造 体 b. 具 体 的 な 設 定 例 主 レコードキーは 重 複 を 許 可 しない キーパートは3つ 1 番 目 のキーパートは 先 頭 から1バイト 目 にあり 長 さは3 2 番 目 のキーパートは 先 頭 から9バイト 目 にあり 長 さは2 3 番 目 のキーパートは 先 頭 から5バイト 目 にあり 長 さは4 バイト 目 変 位 ============================================================ 番 目 のパート 3 番 目 のパート 2 番 目 のパート part1 part3 part2 COBOLで 記 述 した 場 合 の 参 考 例 : : ENVIRONMENT DIVISION CONFIGURATION SECTION INPUTOUTPUT SECTION FILECONTROL SELECT FILENAME1 ASSIGN TO SYS ORGANIZATION IS INDEXED RECORD KEY IS PART1 PART2 PART DATA DIVISION FILE SECTION FD FILENAME RECORD PART1 PIC X(3) FILLER PIC X(1) PART3 PIC X(4) PART2 PIC X(2). : 60
67 3.15 使 用 する 構 造 体 Cソースプログラム 例 : #include "f6agfcfa.h" struct fa_keydesc keydesc2; keydesc2.k_flags = FA_NODUPS; keydesc2.k_nparts = 3; /* number of key parts: 3 */ keydesc2.k_part[0].kp_start = 0; /* part_1: 1 1 == 0 */ keydesc2.k_part[0].kp_leng = 3; keydesc2.k_part[0].kp_flags = FA_ANYKPCODE; keydesc2.k_part[1].kp_start = 8; /* part_2: 9 1 == 8 */ keydesc2.k_part[1].kp_leng = 2; keydesc2.k_part[1].kp_flags = FA_ANYKPCODE; keydesc2.k_part[2].kp_start = 4; /* part_3: 5 1 == 4 */ keydesc2.k_part[2].kp_leng = 4; keydesc2.k_part[2].kp_flags = FA_ANYKPCODE; struct fa_keylist cobfa_open() 関 数 では オープンする 索 引 ファイルのすべてのレコードキーの 構 成 をstruct fa_keylist 型 で 指 定 します ここでは レコードキー 全 体 の 構 成 を 指 定 するstruct fa_keylist 型 のメンバに 設 定 する 値 につ いて 説 明 します #define FA_NKEYS 126u /* max number of all keys */ struct fa_keylist { long kl_nkeys; /* number of keydesc */ struct fa_keydesc *kl_key [FA_NKEYS]; /* keydesc address of each key */ }; レコードキーの 総 数 を 示 すkl_nkeysには レコードキーの 総 数 を 設 定 します 索 引 ファイルは 主 レコードキーを 必 ず 含 むので レコードキーの 総 数 は 必 ず1 以 上 になります なお レコードキ ーの 総 数 の 最 大 値 は FA_NKEYS(126)です 個 々のレコードキーの 情 報 を 持 つkl_keyは struct fa_keydesc 型 のポインタの 配 列 で 宣 言 して います struct fa_keydesc 型 については struct fa_keydesc を 参 照 してください なお すべてのレコードキーが 持 つキーパート 数 の 合 計 は FA_NALLPARTS(255)を 超 えてはいけ ません また すべてのレコードキーが 持 つ 各 キーパートの 長 さの 合 計 がFA_NALLKEYSIZE(255) を 超 えてはいけません 設 定 例 具 体 的 な 設 定 例 としてa.を 挙 げます 61
68 第 3 章 API 関 数 と 構 造 体 a. 具 体 的 な 設 定 例 索 引 ファイルのレコードキーの 構 成 は 主 レコードキーと 副 レコードキーが1つず つ 合 計 2 個 ある 主 レコードキーは 重 複 を 許 可 しない 主 レコードキーのキーパートは2つ 最 初 のキーパートは 先 頭 から1バイト 目 にあり 長 さは4 次 のキーパートは 先 頭 から7バイト 目 にあり 長 さは2 副 レコードキーは 重 複 可 能 副 レコードキーのキーパートは1つ キーパートは 先 頭 から12バイト 目 にあり 長 さは3 バイト 目 変 位 ============================================================ 主 キーの 最 初 のパート 主 キーの 次 のパート 副 キーのパート part1 part2 subpart COBOLで 記 述 した 場 合 の 参 考 例 : : ENVIRONMENT DIVISION CONFIGURATION SECTION INPUTOUTPUT SECTION FILECONTROL SELECT FILENAME1 ASSIGN TO SYS ORGANIZATION IS INDEXED RECORD KEY IS PART1 PART ALTERNATE RECORD KEY IS SUBPART WITH DUPLICATES DATA DIVISION FILE SECTION FD FILENAME RECORD PART1 PIC X(4) FILLER PIC X(2) PART2 PIC X(2) FILLER PIC X(3) SUBPART PIC X(3). : 62
69 3.15 使 用 する 構 造 体 Cソースプログラム 例 : #include "f6agfcfa.h" struct fa_keylist keylist; /* for all keys structure */ struct fa_keydesc keydesc1; /* for prime record key */ struct fa_keydesc keydesc2; /* for alternate record key */ keylist.kl_nkeys = 2; /* number of keys: 2 (prim & alt) */ keylist.kl_key[0] = &keydesc1; /* prime key address */ keylist.kl_key[1] = &keydesc2; /* alternate key address */ keydesc1.k_flags = FA_NODUPS; keydesc1.k_nparts = 2; /* number of key parts: 2 */ keydesc1.k_part[0].kp_start = 0; /* 1 1 == 0 */ keydesc1.k_part[0].kp_leng = 4; keydesc1.k_part[0].kp_flags = FA_ANYKPCODE; keydesc1.k_part[1].kp_start = 6; /* 7 1 == 6 */ keydesc1.k_part[1].kp_leng = 2; keydesc1.k_part[1].kp_flags = FA_ANYKPCODE; keydesc2.k_flags = FA_DUPS; keydesc2.k_nparts = 1; /* number of key parts: 1 */ keydesc2.k_part[0].kp_start = 11; /* 12 1 == 11 */ keydesc2.k_part[0].kp_leng = 3; keydesc2.k_part[0].kp_flags = FA_ANYKPCODE; struct fa_dictinfo cobfa_indexinfo() 関 数 は オープンしてある 索 引 ファイルの 情 報 をstruct fa_dictinfo 型 で 返 却 することができます ここでは 索 引 ファイルの 情 報 を 取 得 するstruct fa_dictinfo 型 のメンバに 格 納 される 値 につい て 説 明 します struct fa_dictinfo { long di_nkeys; /* number of keys defined */ long di_recsize; /* max or fixed data record size */ long di_idxsize; /* size of indexes */ long di_flags; /* other flags (fixed or variable) */ }; di_nkeysには 索 引 ファイル 中 のレコードキーの 総 数 が 設 定 されます ファイルのレコード 長 を 示 すdi_recsizeには 固 定 レコード 長 または 最 大 レコード 長 が 設 定 され ます なお 当 アクセスルーチンでは 最 小 レコード 長 を 取 得 することはできません すべてのレコードキーの 長 さの 合 計 を 示 すdi_idxsizeには レコードキーの 総 長 が 設 定 されます ファイルの 属 性 を 示 すdi_flagsは 以 下 の1つのカテゴリの 情 報 を 持 ちます 63
70 第 3 章 API 関 数 と 構 造 体 レコード 形 式 記 号 定 数 説 明 FA_FIXLEN レコード 形 式 が 固 定 長 であることを 示 す FA_VARLEN レコード 形 式 が 可 変 長 であることを 示 す 指 定 した 索 引 ファイルが 上 記 のどの 属 性 に 該 当 するかは di_flagsの 値 と 上 記 のどちらかの 値 と の 論 理 積 を 求 めることによって 知 ることができます Cソースプログラム 例 : #include "f6agfcfa.h" struct fa_dictinfo di; long fd, ret; : ret = cobfa_indexinfo(fd, &di, 0); /* to get indexed file info */ if (di.di_flags & FA_FIXLEN) { /* process for fixed length record type */ : } 64
71 3.16 ダミーファイル 3.16 ダミーファイル ダミーファイルは 実 体 が 存 在 しない 架 空 のファイルです API 関 数 を 実 行 する 対 象 がダミーファイルの 場 合 物 理 的 なファイル 操 作 は 行 われません 例 え ば OUTPUTモードのcobfa_open 関 数 を 実 行 した 場 合 通 常 はオープンが 成 功 するとファイルが 生 成 されて 書 き 込 み 可 能 な 状 態 になりますが ダミーファイルを 指 定 した 場 合 オープンは 成 功 し ますが ファイルは 生 成 されません ダミーファイルは 以 下 のような 場 合 に 使 用 すると 便 利 です 出 力 ファイルが 不 要 な 場 合 プログラムの 開 発 途 中 で 入 力 ファイルがない 場 合 出 力 ファイルが 不 要 な 場 合 の 例 として トラブル 発 生 時 のログファイルを 出 力 する 場 合 がありま す 通 常 の 運 用 時 はダミーファイルとしてファイルの 生 成 を 抑 止 し トラブル 発 生 時 にダミーフ ァイルとしての 扱 いを 外 して ログファイルを 出 力 するという 使 い 方 があります また プログラム 開 発 途 中 では 入 力 ファイルがない 場 合 があります 通 常 は 空 のファイルを 用 意 してテストを 進 めますが ダミーファイルとすることで 空 のファイルを 用 意 する 手 間 が 省 け 作 業 の 効 率 を 向 上 させることができます 使 用 方 法 cobfa_open 関 数 に 指 定 するファイル 名 の 末 尾 に,DUMMY を 付 加 するか またはファイル 名 を 省 略 して,DUMMY だけを 指 定 します fname = [ファイル 名 ],DUMMY ; 文 字 列 DUMMY の 前 にコンマ(,)が 必 要 です コンマ(,)がない 場 合 文 字 列 DUMMY を ファイル 名 としてみなして 通 常 のファイルと 同 じ 動 作 をします エラーにはならないこ とに 注 意 してください ファイル 名 の 指 定 の 有 無 による 動 作 の 違 いはありません 指 定 したファイル 名 は 意 味 を 持 ちません 指 定 したファイルが 存 在 した 場 合 も 既 存 ファイルに 対 する 操 作 は 行 われませ ん 65
72 第 3 章 API 関 数 と 構 造 体 ダミーファイルに 対 する 動 作 入 出 力 機 能 の 各 API 関 数 でダミーファイルを 使 用 する 場 合 ダミーファイルに 対 する 動 作 は 以 下 のとおりです 入 出 力 機 能 API 関 数 復 帰 値 状 態 エラー 番 号 入 出 力 状 態 ファイルのオープン cobfa_open() 1 以 上 成 功 FA_ENOERR 0 ファイルのクローズ cobfa_close() 0 成 功 FA_ENOERR 0 レコードの 書 き 出 し レコードの 位 置 決 め レコードロックの 解 除 cobfa_wrnext() cobfa_wrrec() cobfa_wrkey() cobfa_strec() cobfa_stkey() cobfa_release() レコードの 読 込 み cobfa_rdnext() 1 失 敗 FA_EENDFILE 10 cobfa_rdrec() 1 失 敗 FA_ENOREC 23 cobfa_rdkey() レコードの 削 除 cobfa_delcurr() 1 失 敗 FA_ENOCURR 43 レコードの 書 換 え cobfa_rewcurr() cobfa_delrec() cobfa_delkey() cobfa_rewrec() 1 失 敗 FA_ENOREC 23 cobfa_rewkey() ファイルアクセスルーチンでは 索 引 ファイルのオープンでレコードキーの 指 定 を 省 略 すること ができます この 場 合 既 存 ファイルの 索 引 構 成 とレコード 形 式 レコード 長 を 認 識 してオープ ンします ダミーファイル 機 能 を 指 定 した 場 合 も 同 様 に レコードキーの 指 定 を 省 略 することができます た だ し フ ァ イ ル 情 報 の 取 得 を 行 う cobfa_indexinfo 関 数 は 失 敗 し ま す エ ラ ー 番 号 は FA_EUNDEFKEY 入 出 力 状 態 は90になります 66
73 第 4 章 エラー 番 号 と 入 出 力 状 態 ここでは エラー 番 号 と 入 出 力 状 態 について 説 明 します 4.1 エラー 番 号 4.2 入 出 力 状 態
74 第 4 章 エラー 番 号 と 入 出 力 状 態 4.1 エラー 番 号 エラー 番 号 はAPI 関 数 のエラーの 種 別 を 返 却 します これには 入 出 力 状 態 だけでは 表 現 できない COBOLの 翻 訳 エラーに 相 当 する 情 報 も 含 まれます 詳 細 については cobfa_errno() を 参 照 してください 以 下 にエラー 番 号 とその 意 味 について 説 明 します エラー 番 号 説 明 FA_ENOERR(0) 入 出 力 機 能 の 実 行 またはファイル 情 報 取 得 の 実 行 が 成 功 したことを 意 味 し ます FA_ENOSPC(28) ディスク 容 量 が 不 足 しています FA_EDUPL(100) キーの 重 複 に 関 するエラーです 以 下 のどちらかの 状 態 です レコードキーに 指 定 した 値 を 持 つレコードが すでにファイルに 存 在 します レコードキーは 重 複 を 許 していません 相 対 レコード 番 号 が 既 存 のものと 重 複 します FA_ENOTOPEN(101) ファイルのオープンに 関 するエラーです 以 下 のどちらかの 状 態 です まだオープンしていないファイルです ファイルは この 機 能 を 実 行 することができないオープンモード でオ ープンしています FA_EBADARG(102) 引 数 に 関 するエラーです 以 下 のいずれかの 状 態 です レコード 域 引 数 がNULLポインタです ファイル 情 報 の 取 得 関 数 で 機 能 番 号 が 範 囲 外 です ファイル 情 報 の 取 得 関 数 で 構 造 体 ポインタがNULLです FA_EBADKEY(103) 索 引 ファイルのレコードキー 指 定 に 関 するエラーです 以 下 のいずれかの 状 態 です 与 えたレコードキー 構 成 リストに 矛 盾 があります 与 えたレコードキー 構 成 はファイルのキー 構 成 と 一 致 するものがあり ません 与 えたレコードキー 番 号 はファイルが 持 つキーの 数 を 超 えています FA_ETOOMANY(104) OSまたは 当 アクセスルーチンの 制 限 値 を 超 える 数 のファイルのオープンを 行 おうとしました FA_EBADFILE(105) ファイルの 内 部 構 成 に 関 するエラーです 以 下 のいずれかの 状 態 です ファイルの 内 部 情 報 が 正 しくないか 破 壊 されています 正 しいファイル 編 成 を 指 定 していません 動 作 コード 系 の 指 定 と 行 順 ファイルのエンコード 形 式 (シフトJIS UCS2 UTF8)が 一 致 していません FA_ELOCKED(107) レコードはすでにロックされています FA_EENDFILE(110) ファイル 終 了 条 件 が 発 生 しました FA_ENOREC(111) 指 定 したレコードは 存 在 しません FA_ENOCURR(112) レコードへの 位 置 付 けが 不 定 です FA_EFLOCKED(113) ファイルはすでに 排 他 オープンされています FA_EFNAME(114) オープン 時 に 与 えたファイル 名 に 関 するエラーです 以 下 のいずれかの 状 態 です ファイルが 存 在 しません ファイルにはアクセスすることができません ファイル 名 がNULLポインタまたは 空 文 字 列 です ファイル 名 の 構 成 が 正 しくありません 読 み 込 み 専 用 属 性 のファイルをINPUTモード 以 外 のモードでオープン しようとしました FA_EBADMEM(116) 機 能 を 実 行 するために 必 要 なメモリの 獲 得 が 失 敗 しました 68
75 4.1 エラー 番 号 エラー 番 号 説 明 FA_EKEYSEQ(117) キーの 順 序 誤 りまたは 変 更 誤 りです 以 下 のどちらかの 状 態 です 順 書 出 しで 主 レコードキー 値 が 昇 順 でありません 順 書 換 えで 主 レコードキー 値 を 変 更 しようとしました FA_EBADACC(118) 実 行 不 可 能 な 組 合 せが 発 生 しました 以 下 のいずれかの 状 態 です 呼 出 し 法 に 違 反 する 機 能 の 実 行 を 要 求 しました このファイル 編 成 では 実 行 できない 機 能 です オープン 時 のフラグの 組 合 せが 正 しくありません FA_EBADFLAG(120) フラグの 指 定 値 が 正 しくありません 以 下 のどちらかの 状 態 です オープンモード 読 込 みモード 位 置 付 けモードに 使 用 できないモー ドを 指 定 しています その 他 受 け 入 れることができない 値 をフラグに 指 定 しています FA_EBADLENG(121) 長 さに 関 するエラーです 以 下 のどちらかの 状 態 です レコード 長 がファイルの 定 量 制 限 を 超 えています 6.2 留 意 事 項 の ファイル 機 能 全 般 を 参 照 してください 位 置 付 け 時 の 有 効 キー 長 が ファイルが 持 つキーパートの 長 さの 合 計 を 超 えています FA_EUNDEFKEY(122) 索 引 ファイル 情 報 を 取 得 できません ダミーファイル 機 能 を 指 定 して ファイルのオープン 時 にレコードキーの 指 定 を 省 略 した 場 合 索 引 ファイル 情 報 は 取 得 できません 詳 細 は 3.16 ダミーファイル を 参 照 してください FA_EOTHER(999) 上 記 以 外 のエラーが 発 生 しました この 場 合 cobfa_stat() 関 数 の 復 帰 値 を 取 得 して 状 況 を 判 断 してください cobfa_stat() 関 数 については cobfa_stat() を 参 照 してください 69
76 第 4 章 エラー 番 号 と 入 出 力 状 態 4.2 入 出 力 状 態 当 アクセスルーチンでは 入 出 力 状 態 を 取 得 するとき cobfa_stat() 関 数 を 呼 び 出 します cobfa_stat() 関 数 については cobfa_stat() を 参 照 してください 入 出 力 状 態 の 種 類 とその 詳 細 については NetCOBOL 使 用 手 引 書 の 付 録 B 入 出 力 状 態 一 覧 を 参 照 してください 70
77 第 5 章 サンプルプログラム ここでは 提 供 する 例 題 プログラムについて 説 明 します 5.1 行 順 ファイルの 読 込 み 5.2 行 順 ファイルの 読 込 みと 索 引 ファイルの 書 出 し 5.3 索 引 ファイルの 情 報 の 取 得
78 第 5 章 サンプルプログラム 5.1 行 順 ファイルの 読 込 み 概 要 このサンプルプログラムは 指 定 したファイルを 行 順 ファイルとしてINPUTモードでオープンし 読 み 込 んだレコードの 内 容 を 表 示 します 提 供 プログラム fcfa01.c (Cソースプログラム) fcfa01.mak (MAKEファイル) fcfa01.txt (プログラム 説 明 書 ) 使 用 しているCOBOLファイルアクセスルーチンの 関 数 cobfa_open() 関 数 cobfa_rdnext() 関 数 cobfa_stat() 関 数 cobfa_errno() 関 数 cobfa_reclen() 関 数 cobfa_close() 関 数 プログラムの 翻 訳 とリンク MAKEファイルの CDIR = と 書 かれている 行 の 右 側 の 内 容 が Cコンパイラをインストールした フォルダ 名 となるように 修 正 してください また COBDIR = と 書 かれている 行 の 右 側 の 内 容 が COBOLコンパイラをインストールしたフォルダ 名 となるように 修 正 してください MAKEファイルを 修 正 した 後 以 下 のコマンドを 入 力 します > nmake f fcfa01.mak プログラムの 実 行 適 当 なテキストファイルをコマンドライン 引 数 にしてプログラムを 実 行 します ここではfcfa01 自 身 のソースプログラムを 入 力 します > fcfa01 fcfa01.c 格 納 フォルダ C:\COBOL\SAMPLES\FCFA01 (C:\COBOLは NetCOBOLをインストールしたフォルダです ) 72
79 5.2 行 順 ファイルの 読 込 みと 索 引 ファイルの 書 出 し 5.2 行 順 ファイルの 読 込 みと 索 引 ファイルの 書 出 し 概 要 このサンプルプログラムは 特 定 の 行 順 ファイル(fcfa02.inp)をINPUTモードでオープンし そ のレコードの 内 容 を 索 引 ファイル(fcfa02.idx)のレコードとして 書 き 出 します 最 後 に その 索 引 ファイルをINPUTモードでオープンし 主 キーの 順 で 画 面 に 表 示 します 提 供 プログラム fcfa02.c (Cソースプログラム) fcfa02.inp ( 入 力 用 行 順 ファイル) fcfa02.mak (MAKEファイル) fcfa02.txt (プログラム 説 明 書 ) 使 用 しているCOBOLファイルアクセスルーチンの 関 数 cobfa_open() 関 数 cobfa_rdnext() 関 数 cobfa_wrkey() 関 数 cobfa_stkey() 関 数 cobfa_close() 関 数 プログラムの 翻 訳 とリンク MAKEファイルの CDIR = と 書 かれている 行 の 右 側 の 内 容 が Cコンパイラをインストールした フォルダ 名 となるように 修 正 してください また COBDIR = と 書 かれている 行 の 右 側 の 内 容 が COBOLコンパイラをインストールしたフォルダ 名 となるように 修 正 してください MAKEファイルを 修 正 した 後 以 下 のコマンドを 入 力 します > nmake f fcfa02.mak プログラムの 実 行 コマンドライン 引 数 を 付 けずに 実 行 します > fcfa02 格 納 フォルダ C:\COBOL\SAMPLES\FCFA02 (C:\COBOLは NetCOBOLをインストールしたフォルダです ) 73
80 第 5 章 サンプルプログラム 5.3 索 引 ファイルの 情 報 の 取 得 概 要 このサンプルプログラムは 指 定 したファイルを 索 引 ファイルとしてINPUTモードでオープンし ファイル 自 体 の 属 性 と レコードキーの 各 構 成 を 表 示 します 提 供 プログラム ラム) fcfa03.mak (MAKEファイル) fcfa03.txt (プログラム 説 明 書 ) 使 用 しているCOBOLファイルアクセスルーチンの 関 数 cobfa_open() 関 数 cobfa_indexinfo() 関 数 cobfa_stat() 関 数 cobfa_errno() 関 数 cobfa_close() 関 数 プログラムの 翻 訳 とリンク MAKEファイルの CDIR = と 書 かれている 行 の 右 側 の 内 容 が Cコンパイラをインストールした フォルダ 名 となるように 修 正 してください また COBDIR = と 書 かれている 行 の 右 側 の 内 容 が COBOLコンパイラをインストールしたフォルダ 名 となるように 修 正 してください MAKEファイルを 修 正 した 後 以 下 のコマンドを 入 力 します > nmake f fcfa03.mak プログラムの 実 行 適 当 な 索 引 ファイルをコマンドライン 引 数 にしてプログラムを 実 行 します ここではfcfa02を 実 行 して 生 成 した 索 引 ファイルを 指 定 します > fcfa03..\fcfa02\fcfa02.idx 格 納 フォルダ C:\COBOL\SAMPLES\FCFA03 (C:\COBOLは NetCOBOLをインストールしたフォルダです ) 74
81 第 6 章 注 意 事 項 ここでは COBOLファイルアクセスルーチンの 制 限 事 項 と 留 意 事 項 について 説 明 します
82 第 6 章 注 意 事 項 6.1 制 限 事 項 索 引 ファイル 動 的 呼 出 し 法 (FA_DYNACC)でオープンしたファイルが 以 下 のどちらかの 条 件 のとき 順 読 込 みで 位 置 付 けられているレコードに 対 して 順 書 換 え/ 順 削 除 を 実 行 する 方 法 はあり ません cobfa_stkey() 関 数 で 逆 順 読 込 み(FA_REVORD)を 指 定 した 場 合 主 レコードキーの 属 性 が 重 複 可 能 (FA_DUPS)である 場 合 76
83 6.2 留 意 事 項 6.2 留 意 事 項 ファイル 機 能 全 般 アプリケーションプログラムでオープンしたファイルは 必 ず すべてをクローズしてか ら 処 理 を 終 了 してください この 操 作 を 行 わないとファイルの 内 容 の 破 壊 システムリソ ースのリークなどの 問 題 が 発 生 します 同 一 プロセス 内 で 同 一 ファイルをオープンしても 二 重 オープンエラー( 入 出 力 状 態 :41) は 発 生 しません この 場 合 別 のファイルディスクリプタが 割 り 当 てられます なお 同 一 プロセス 内 で 同 時 にオープンできるファイルディスクリプタの 最 大 数 は1,024です API 関 数 の 実 行 時 にエラーが 複 数 重 なる 場 合 には COBOLアプリケーションとは 異 なった 入 出 力 状 態 を 返 却 する 場 合 があります COBOLでは 同 じ 入 出 力 文 を 使 っても 異 なる 呼 出 し 法 を 扱 えますが APIによる 入 出 力 では 呼 出 し 法 によって 使 用 する 関 数 が 異 なります 適 切 な 関 数 を 使 用 してください 入 出 力 の 状 況 (cobfa_errno() cobfa_stat() cobfa_reclen() cobfa_recnum()の 各 関 数 の 復 帰 値 )はファイルごとに 情 報 を 保 持 しません これらの 値 はプロセス 単 位 で 保 持 する ので 実 行 した 入 出 力 機 能 の 状 況 値 が 必 要 な 場 合 は 次 の 入 出 力 機 能 を 実 行 する 前 までに 値 を 変 数 などに 保 存 してください 以 前 の 入 出 力 の 状 況 の 値 は 次 の 入 出 力 機 能 の 実 行 に よって 上 書 きされます レコードの 読 込 み/ 書 出 し/ 書 換 え/ 位 置 付 けを 行 う 場 合 データ 受 渡 し 用 のレコード 域 は ファイルをオープンするときの 最 大 / 固 定 レコード 長 以 上 の 大 きさを 持 つ 領 域 をあらかじ め 確 保 しておく 必 要 があります COBOLでは 翻 訳 時 にエラーが 検 出 できる 場 合 でも API 関 数 では 実 行 時 にしかエラーを 検 出 できないので 注 意 してください 具 体 的 には 呼 出 し 法 の 不 一 致 や 正 しくない 索 引 キー 指 定 などがこれに 該 当 します ファイルに 関 する 定 量 制 限 は NetCOBOL 使 用 手 引 書 の 表 65 ファイルシステムの 機 能 および COBOL 文 法 書 の 付 録 B.4 順 ファイル 付 録 B.5 相 対 ファイル 付 録 B.6 索 引 ファイル を 参 照 してください COBOLのデータ 型 とC 言 語 のデータ 型 の 対 応 については NetCOBOL 使 用 手 引 書 の データ 型 の 対 応 を 参 照 してください また 2 進 項 目 のCOMP5とBINARYは 内 部 表 現 が 異 なるため 扱 いに 注 意 してください 行 順 ファイル 0バイトの 長 さのレコードを 書 き 出 すことはできません レコード 順 ファイル 印 刷 ファイルを 扱 えません したがって 以 下 の 仕 様 となります COBOL 構 文 のLINAGE 句 に 相 当 するものはありません COBOL 構 文 のWRITE 文 の 改 行 制 御 /ページ 制 御 に 相 当 するものはありません 相 対 ファイル 以 下 の 関 数 では 相 対 レコード 番 号 を 引 数 で 明 に 指 定 する 必 要 があります cobfa_delrec() 関 数 ( 乱 削 除 ) cobfa_rewrec() 関 数 ( 乱 書 換 え) cobfa_rdrec() 関 数 ( 乱 読 込 み) cobfa_strec() 関 数 ( 位 置 決 め) 以 下 の 関 数 でアクセスしたレコードの 相 対 レコード 番 号 は cobfa_recnum() 関 数 で 取 得 す ることができます cobfa_rdnext() 関 数 ( 順 読 込 み) cobfa_wrnext() 関 数 ( 順 書 出 し) 77
84 第 6 章 注 意 事 項 索 引 ファイル 既 存 ファイルのオープン 時 に レコードキー 構 成 を 指 定 しないでオープンすることができ ます この 場 合 ファイルアクセスルーチンは 既 存 ファイル 内 部 のレコードキー 構 成 を 調 査 してオープンします オープン 中 の 索 引 ファイルの 属 性 (レコード 長 レコード 形 式 )とレコードキー 構 成 を 調 べ る 機 能 (cobfa_indexinfo() 関 数 )があります マルチスレッド マルチスレッド 機 能 は サーバ 向 け 運 用 環 境 製 品 固 有 の 機 能 です COBOLファイルアクセスの 排 他 制 御 ( 排 他 ロック/ 排 他 ロック 解 除 )には 必 ず 以 下 の 関 数 を 使 ってください 詳 細 については 各 API 関 数 の 説 明 を 参 照 してください LOCK_cobfa() UNLOCK_cobfa() マルチスレッド 環 境 下 では COBOLファイルをアクセスする 際 に 必 ず 排 他 制 御 を 行 うよう にしてください 排 他 制 御 を 行 わないと 競 合 によって 以 下 のような 問 題 が 発 生 する 可 能 性 があります ファイル 入 出 力 の 不 正 な 実 行 結 果 スレッドの 異 常 終 了 ファイル 内 容 の 破 壊 Unicode Unicodeを 扱 う 場 合 の 留 意 事 項 を 以 下 にあげます 動 作 モードがUnicodeのCOBOLアプリケーションで 扱 う 索 引 ファイルのキーパート 長 kp_lengは バイト 数 を 設 定 してください 動 作 モードがUnicodeのCOBOLアプリケーションで 扱 う 行 順 ファイルのレコード 長 には バ イト 数 を 指 定 してください 78
85 付 録 A リファレンス A.1 API 関 数 当 アクセスルーチンは 以 下 の4つのカテゴリに 分 かれ 合 計 24 個 のAPI 関 数 を 持 ちます 入 出 力 関 数 名 機 能 の 概 要 補 足 (*1) ファイルをクローズする cobfa_close() 順 読 込 みしたレコードを 削 除 する S cobfa_delcurr() 主 レコードキーの 値 によって 示 されるレコードを 削 除 する RD cobfa_delkey() 相 対 レコード 番 号 によって 示 されるレコードを 削 除 する RD cobfa_delrec() cobfa_open() ファイルをオープンする 指 定 したファイルのレコードロックをすべて 解 除 する cobfa_release() 順 読 込 みしたレコードを 書 き 換 える SD cobfa_rewcurr() 主 レコードキーの 値 によって 示 されるレコードを 書 き 換 え RD cobfa_rewkey() る 相 対 レコード 番 号 によって 示 されるレコードを 書 き 換 える RD cobfa_rewrec() 任 意 のレコードキーの 値 によって 示 されるレコードを 読 み RD cobfa_rdkey() 込 む レコードを 順 に 読 み 込 む S cobfa_rdnext() 相 対 レコード 番 号 によって 示 されるレコードを 読 み 込 む RD cobfa_rdrec() 任 意 のレコードキーの 値 によって 示 されるレコードに 位 置 SD cobfa_stkey() 付 ける 相 対 レコード 番 号 によって 示 されるレコードに 位 置 付 ける SD cobfa_strec() 指 定 した 主 レコードキーの 値 を 持 つレコードを 書 き 出 す RD cobfa_wrkey() レコードを 順 に 書 き 出 す S cobfa_wrnext() 指 定 した 相 対 レコード 番 号 を 持 つレコードを 書 き 出 す RD cobfa_wrrec() *1: 関 数 の 使 用 範 囲 を 記 号 で 示 しています 各 記 号 の 意 味 は 以 下 のとおりです 記 号 説 明 RD オープンモードが 乱 呼 出 し または 動 的 呼 出 しで 使 用 できる 関 数 SD オープンモードが 順 呼 出 し または 動 的 呼 出 しで 使 用 できる 関 数 S オープンモードが 順 呼 出 しのときにだけ 使 用 できる 関 数
86 付 録 A リファレンス ファイルの 情 報 を 取 得 関 数 名 cobfa_indexinfo() 機 能 の 概 要 索 引 ファイルが 持 つファイルの 属 性 またはレコードキーの 構 成 を 取 得 する 入 出 力 の 状 況 を 取 得 関 数 名 cobfa_errno() cobfa_reclen() cobfa_recnum() cobfa_stat() 機 能 の 概 要 エラー 番 号 を 取 得 する 読 み 込 んだレコードの 長 さを 取 得 する 位 置 付 けられたレコードの 相 対 レコード 番 号 を 取 得 する 入 出 力 状 態 を 取 得 する マルチスレッド 環 境 下 での 排 他 制 御 関 数 名 機 能 の 概 要 他 のスレッドのCOBOLファイルへのアクセスに 対 して 排 他 ロックをかけ LOCK_cobfa() る 他 のスレッドのCOBOLファイルへのアクセスに 対 して 排 他 ロックを 解 除 UNLOCK_cobfa() する A.2 API 関 数 で 使 用 する 構 造 体 いくつかのAPI 関 数 は 以 下 に 示 す 構 造 体 型 へのポインタ 型 を 用 います 構 造 体 名 struct fa_dictinfo struct fa_keydesc struct fa_keylist 機 能 の 概 要 索 引 ファイルの 属 性 を 取 得 するための 構 造 体 任 意 のレコードキーを 指 定 するための 構 造 体 指 定 した 任 意 のレコードキーの 構 造 を 取 得 するためにも 使 用 する すべてのレコードキーを 指 定 するための 構 造 体 80
87 索 引 A ACCESS MODE IS DYNAMIC...13 ACCESS MODE IS RANDOM...13 ACCESS MODE IS SEQUENTIAL...13 API 関 数...79 API 関 数 で 使 用 する 構 造 体...80 API 関 数 と 構 造 体...11 B BSAM 指 定...15 C cobfa_close()...17 cobfa_delcurr()...31 cobfa_delkey()...32 cobfa_delrec()...34 cobfa_errno()...50 cobfa_indexinfo()...48 cobfa_open()...12 cobfa_rdkey()...19 cobfa_rdnext()...21 cobfa_rdrec()...23 cobfa_reclen()...52 cobfa_recnum()...53 cobfa_release()...46 cobfa_rewcurr()...36 cobfa_rewkey()...37 cobfa_rewrec()...39 cobfa_stat()...51 cobfa_stkey()...41 cobfa_strec()...43 cobfa_wrkey()...26 cobfa_wrnext()...27 cobfa_wrrec()...29 COBOLファイルアクセスルーチンとは...2 COBOLファイルアクセスルーチンを 利 用 する 前 に...1 Cソースプログラムの 作 成...6 Cソースプログラムの 翻 訳...7 E EXTENDモード...12 F FAOUTPUT...12 FA_ASCII...14 FA_AUTOLOCK...13 FA_DYNACC...13 FA_EQUAL...19, 23, 41, 44 FA_EXCLLOCK...13 FA_EXTEND...12 FA_FIRST...41 FA_FIXLEN...13 FA_GREAT...41, 44 FA_GTEQ... 41, 44 FA_IDXFILE FA_INOUT FA_INPUT FA_LESS... 41, 44 FA_LOCK... 19, 22, 24 FA_LSEQFILE FA_LTEQ... 41, 44 FA_MANULOCK FA_NEXT FA_NOLOCK... 19, 22, 24 FA_NOTOPT FA_OPTIONAL FA_PREV FA_RELFILE FA_REVORD FA_RNDACC FA_SEQACC FA_SEQFILE FA_UCS FA_USEKPFLAGS... 14, 15 FA_UTF FA_VARLEN I INPUTモード IOモード J JIS L LOCK MODE IS EXCLUSIVE LOCK_cobfa() LOCK MODE IS AUTOMATIC LOCK MODE IS MANUAL O OPEN EXTEND OPEN INPUT OPEN IO OPEN OUTPUT OPEN WITH LOCK ORGANIZATION IS LINE SEQUENTIAL ORGANIZATION IS INDEXED ORGANIZATION IS RELATIVE ORGANIZATION IS SEQUENTIAL OUTPUTモード R READ NEXT RECORD READ PREVIOUS RECORD READ WITH LOCK... 19, 22, 24 READ WITH NO LOCK... 19, 22, 24 RECORD CONTAINS integer CHARACTERS... 13
88 索 引 RECORD IS VARYING IN SIZE...13 S SELECT filename...13 SELECT OPTIONAL filename...13 SJIS...14 START FIRST RECORD...41 START KEY IS <...41, 44 START KEY IS <=...41, 44 START KEY IS =...41, 44 START KEY IS >...41, 44 START KEY IS >=...41, 44 START WITH REVERSED...42 struct fa_dictinfo...63 struct fa_keydesc...57 struct fa_keylist...61 U UCS Unicode...14, 78 UNLOCK_cobfa()...56 UTF い 位 置 付 け 属 性...41, 43 位 置 付 けモード...41, 44 え エラーコード...54, 56 エラー 番 号...68 エラー 番 号 と 入 出 力 状 態...67 エラー 番 号 の 取 得...50 エンコード 種 別...14 お オープン 属 性...12 オープンモード...12 オブジェクトファイルのリンク...8 か 書 換 えレコード 長...36, 37, 39 書 出 しレコード 長...26, 27, 29 可 変 長 形 式...13 環 境 設 定...4 き キーパートフラグ 使 用 指 定...14 機 能 コード...48 逆 順 読 込 みフラグ...42 行 順 ファイル...12, 77 行 順 ファイルの 読 込 み...72 行 順 ファイルの 読 込 みと 索 引 ファイルの 書 出 し...73 こ 固 定 長 形 式...13 さ 索 引 ファイル...12, 76, 78 索 引 ファイルの 情 報 の 取 得...74 サンプルプログラム...71 し 自 動 ロック 手 動 ロック 取 得 結 果 の 格 納 域 準 備 するもの... 3 順 呼 出 し 使 用 する 構 造 体 せ 制 限 事 項 そ 相 対 ファイル... 12, 77 相 対 レコード 番 号... 23, 29, 34, 39, 43 相 対 レコード 番 号 の 取 得 た ダミーファイル ち 注 意 事 項 つ 使 い 方... 5 と 動 作 コード 系 動 的 呼 出 し に 入 出 力 状 態 入 出 力 状 態 の 取 得 は 排 他 ロック ふ ファイル 機 能 全 般 ファイル 情 報 の 取 得 ファイルディスクリプタ... 16, 17, 19, 21, 23, 26, 27, 29, 31, 32, 34, 36, 37, 39, 41, 43, 46, 48 ファイルのオープン ファイルのクローズ ファイルハンドル ファイル 編 成 ファイル 名 不 定 ファイル プログラムの 実 行... 9 ま 待 ち 時 間 マルチスレッド 環 境 下 での 排 他 制 御 ゆ 有 効 キー 長 よ 呼 出 し 法 読 込 み 属 性... 19, 21, 23 読 込 みモード... 19, 21, 23 読 込 みレコード 長 の 取 得 ら 乱 呼 出 し
89 索 引 り リファレンス...79 留 意 事 項...77 れ レコード 域... 19, 21, 23, 26, 27, 29, 32, 36, 37, 39, 41 レコードキー 構 成 指 定...19, 41 レコードキー 番 号 指 定...19, 41 レコードキーリスト...12 レコード 形 式...13 レコード 順 ファイル...12, 77 レコード 長...12 レコードの 位 置 決 め レコードの 書 換 え レコードの 書 出 し レコードの 削 除 レコードの 読 込 み レコードロックの 解 除 レコードロックフラグ... 19, 22, 24 ろ ロックあり... 19, 22, 24 ロックなし... 19, 22, 24 ロックモード
NetCOBOL V10.1 COBOLファイルアクセスルーチン使用手引書
NetCOBOL V10.1 COBOL ファイルアクセスルーチン使用手引書 Linux(64) J2UL117401Z0(00) 2009 年 10 月 まえがき COBOL ファイルアクセスルーチンは COBOL ファイルを操作するための C 言語用の API(Application Program Interface) 関数群です この関数群を利用して COBOL ファイルをアクセスするアプリケーションの開発
NetCOBOL V10.2 COBOL ファイルアクセスルーチン 使用手引書
NetCOBOL V10.2 COBOL ファイルアクセスルーチン使用手引書 Linux(64) J2UL117402Z0(00) 2011 年 4 月 まえがき COBOL ファイルアクセスルーチンは COBOL ファイルを操作するための C 言語用の API(Application Program Interface) 関数群です この関数群を利用して COBOL ファイルをアクセスするアプリケーションの開発
COBOL ファイルアクセスルーチン使用手引書
J2S2143001Z0(A) NetCOBOL V10.0 COBOL ファイルアクセスルーチン使用手引書 まえがき COBOLファイルアクセスルーチンは COBOLファイルを操作するためのC 言語用のAPI(Application Program Interface) 関数群です この関数群を利用して COBOLファイルをアクセスするアプリケーションの開発 / 運用を行うことができます 製品の呼び名について本書では
MetaMoJi ClassRoom/ゼミナール 授業実施ガイド
本 書 では 管 理 者 向 けに MetaMoJi ClassRoom/ゼミナールで 年 度 更 新 を 実 施 する 手 順 について 説 明 して います 管 理 者 ガイドと 合 わせてご 覧 ください Excelは 米 国 Microsoft Corporationの 米 国 およびその 他 の 国 における 登 録 商 標 または 商 標 です Apache OpenOffice Apache
iStorage ソフトウェア VMware vSphere Web Client Plug-in インストールガイド
istorage ソフトウェア VMware vsphere Web Client Plug-in インストールガイド はじめに このインストールガイドでは WebSAM Storage VMware vsphere Web Client Plug-in のインストールに 関 して 説 明 しています 本 製 品 は VMware vcenter Server VMware vsphere Web
文科省様式3-2集計オプションマニュアル
文 科 省 様 式 3-2 集 計 オプション 利 用 マニュアル 平 成 25 年 3 月 8 日 日 本 加 除 出 版 株 式 会 社 1 文 科 省 様 式 3-2 集 計 オプション とは 文 科 省 様 式 3-2 集 計 オプションは 日 本 加 除 出 版 株 式 会 社 発 行 の 小 学 校 理 科 教 育 等 設 備 台 帳 ( 平 成 23 年 度 ~ 平 成 34 年 度
研究者情報データベース
研 究 者 情 報 管 理 システム 研 究 者 向 けデータ 一 括 登 録 機 能 操 作 マニュアル 2013 年 6 月 4 日 目 次 1. はじめに... 1 1.1 本 マニュアルの 注 意 事 項... 1 2. 操 作 手 順... 2 2.1 データ 登 録 手 順... 2 2.2 データ 読 み 込 みエラー 時 の 対 応 手 順... 13 3. 登 録 データ 一 覧...
「1 所得税及び復興特別所得税の確定申告書データをお持ちの方」からの更正の請求書・修正申告書作成編
既 に 提 出 した 所 得 税 及 び 復 興 特 別 所 得 税 の 確 定 申 告 の 申 告 額 に 誤 り があった 場 合 で 納 める 税 金 が 多 すぎた 場 合 や 還 付 される 税 金 が 少 なす ぎた 場 合 に 提 出 する 更 正 の 請 求 書 や 申 告 をした 税 額 等 が 実 際 より 少 な すぎた 場 合 や 還 付 される 税 金 が 多 すぎた 場
KINGSOFT Office 2016 動 作 環 境 対 応 日 本 語 版 版 共 通 利 用 上 記 動 作 以 上 以 上 空 容 量 以 上 他 接 続 環 境 推 奨 必 要 2
目 次 動 作 環 境 特 長 方 法 方 法 起 動 終 了 方 法 方 法 操 作 方 法 使 方 使 方 使 方 詳 細 設 定 使 方 KINGSOFT Office 2016 動 作 環 境 対 応 日 本 語 版 版 共 通 利 用 上 記 動 作 以 上 以 上 空 容 量 以 上 他 接 続 環 境 推 奨 必 要 2 KINGSOFT Office 2016 特 長 主 特 長 以
目 次 1. 大 学 情 報 データベースシステムの 使 用 方 法 について... 1 1.1.EXCEL 一 括 登 録... 1 1.2.EXCEL ダウンロード... 2 1.2.1. 検 索 条 件 の 指 定 プレビュー... 3 1.2.2.EXCEL ダウンロード(データ 抽 出 あ
大 学 情 報 データベースシステム EXCEL 一 括 登 録 マニュアル 目 次 1. 大 学 情 報 データベースシステムの 使 用 方 法 について... 1 1.1.EXCEL 一 括 登 録... 1 1.2.EXCEL ダウンロード... 2 1.2.1. 検 索 条 件 の 指 定 プレビュー... 3 1.2.2.EXCEL ダウンロード(データ 抽 出 あり)... 5 1.2.3.EXCEL
目 次 1. 積 算 内 訳 書 に 関 する 留 意 事 項 1 ページ 2. 積 算 内 訳 書 のダウンロード 3 ページ 3. 積 算 内 訳 書 の 作 成 (Excel 2003の 場 合 ) 6 ページ 4. 積 算 内 訳 書 の 作 成 (Excel 2007の 場 合 ) 13
積 算 内 訳 書 の 作 成 マニュアル 平 成 26 年 1 形 県 県 整 備 部 建 設 企 画 課 目 次 1. 積 算 内 訳 書 に 関 する 留 意 事 項 1 ページ 2. 積 算 内 訳 書 のダウンロード 3 ページ 3. 積 算 内 訳 書 の 作 成 (Excel 2003の 場 合 ) 6 ページ 4. 積 算 内 訳 書 の 作 成 (Excel 2007の 場 合 )
C.1 共 有 フォルダ 接 続 操 作 の 概 要 アクセスが 許 可 されている 研 究 データ 交 換 システムの 個 人 用 共 有 フォルダまたは メーリングリストの 共 有 フォルダに 接 続 して フォルダを 作 成 したり ファイル をアップロードまたはダウンロードしたりすることがで
C.1 共 有 フォルダ 接 続 操 作 の 概 要 C.2 Windows から 接 続 操 作 する C.3 Mac OS X から 接 続 操 作 する 67 C.1 共 有 フォルダ 接 続 操 作 の 概 要 アクセスが 許 可 されている 研 究 データ 交 換 システムの 個 人 用 共 有 フォルダまたは メーリングリストの 共 有 フォルダに 接 続 して フォルダを 作 成 したり
以 下 に 手 順 の 流 れを 記 載 します 3ページ 以 降 で 各 項 目 の 手 順 を 説 明 します ( をクリックすると 該 当 ページにジャンプします ) また 15ページに 汎 用 データ 受 入 に 関 する よくあるお 問 い 合 わせをご 紹 介 しています Step1 (
勘 定 奉 行 i8/iシリーズ 汎 用 データ 受 入 の 手 順 書 汎 用 データの 作 成 方 法 を 知 りたい 汎 用 データのフォーマットがわからない 汎 用 データ 受 入 をしたら 受 入 エラーが 発 生 した について 仕 訳 伝 票 データの 受 入 を 例 に 説 明 します 本 手 順 書 では OBC 受 入 形 式 ( ) の 汎 用 データの 受 入 を 受 入 フォーマットに
アプリケーション補足説明書(Office2003)
目 次 はじめに................................................... 2 1 Office 2003 について...................................... 4 プレインストールソフトウェア................................. 4 プレインストールソフトウェアの 起 動 について....................
以 下 に 手 順 の 流 れを 記 載 します 3ページ 以 降 で 各 項 目 の 手 順 を 説 明 します ( をクリックすると 該 当 ページにジャンプします ) また 4ページに 汎 用 データ 受 入 に 関 するよくあるお 問 い 合 わせをご 紹 介 しています Step (3ペー
人 事 奉 行 iシリーズ 汎 用 データ 受 入 の 手 順 書 汎 用 データの 作 成 方 法 を 知 りたい 汎 用 データのフォーマットがわからない 汎 用 データ 受 入 をしたら 受 入 エラーが 発 生 した について 社 員 情 報 データの 受 入 を 例 に 説 明 します 本 手 順 書 では OBC 受 入 形 式 ( ) の 汎 用 データの 受 入 を 受 入 フォーマットに
CSV_Backup_Guide
ActiveImage Protector による クラスター 共 有 ボリュームのバックアップ 運 用 ガイド 第 5 版 - 2015 年 4 月 20 日 Copyright NetJapan, Inc. All Rights Reserved. 無 断 複 写 転 載 を 禁 止 します 本 ソフトウェアと 付 属 ドキュメントは 株 式 会 社 ネットジャパンに 所 有 権 および 著 作
V-CUBE One
V-CUBE One Office 365 連 携 マニュアル ブイキューブ 2016/06/03 この 文 書 は V-CUBE One の Office 365 連 携 用 ご 利 用 マニュアルです 更 新 履 歴 更 新 日 内 容 2016/02/09 新 規 作 成 2016/03/11 Office 365 ID を 既 存 の One 利 用 者 と 紐 付 ける 機 能 に 関 する
POWER EGG V2.01 ユーザーズマニュアル ファイル管理編
POWER EGG V2.0 ユーザーズマニュアル ファイル 管 理 編 Copyright 2009 D-CIRCLE,INC. All Rights Reserved 2009.4 はじめに 本 書 では POWER EGG 利 用 者 向 けに 以 下 の POWER EGG のファイル 管 理 機 能 に 関 する 操 作 を 説 明 しま す なお 当 マニュアルでは ファイル 管 理 機
目 次 目 次 1 ログイン ログアウト...1 1.1 ログインする...1 ログイン 画 面 が 表 示 されないときは?... 1 初 めてログインするときのパスワードは?... 2 初 期 パスワードを 忘 れてしまったときは?... 2 変 更 したパスワードを 忘 れてしまったときは?.
よこしん 外 為 インターネットバンキング 基 本 操 作 編 最 終 更 新 日 :2014 年 12 月 25 日 目 次 目 次 1 ログイン ログアウト...1 1.1 ログインする...1 ログイン 画 面 が 表 示 されないときは?... 1 初 めてログインするときのパスワードは?... 2 初 期 パスワードを 忘 れてしまったときは?... 2 変 更 したパスワードを 忘 れてしまったときは?...
ファイルサーバー(NFS) 構築ガイド
CLUSTERPRO D for Linux ファイルサーバー(NFS) 構 築 ガイド 改 版 履 歴 版 数 改 版 日 付 内 容 1 2016/04/20 新 規 作 成 i 目 次 第 1 章 はじめに... 1 1.1 対 象 読 者 と 目 的...2 1.2 適 用 範 囲...2 1.3 表 記 規 則...2 1.4 免 責 事 項...2 1.5 商 標 情 報...3 1.6
目 次 機 能 -------------------- 3 運 用 上 の 注 意 -------------------- 4 処 理 手 順 -------------------- 5 画 面 説 明 ログイン -------------------- 6 直 送 先 選 択 1 -----
DONKEL order system 御 利 用 ガイド お 得 意 様 : 様 電 話 : ご 担 当 者 様 : お 得 意 様 ID: パスワード: * 変 更 希 望 の 方 はP4をご 覧 ください ドンケル 株 式 会 社 目 次 機 能 -------------------- 3 運 用 上 の 注 意 -------------------- 4 処 理 手 順 --------------------
ソフトウェア説明書
人 事 給 与 給 与 基 本 ソフトウェア 説 明 書 サポートサービス 製 品 平 成 28 年 度 保 険 料 額 表 対 応 プログラム まえがき このソフトウェア 説 明 書 ( 以 降 本 書 と 略 記 )は GLOVIA smart 人 事 給 与 BP 給 与 基 本 サポートサービス 製 品 : 平 成 28 年 度 保 険 料 額 表 対 応 プログラム V36L01 の 導
01_07_01 データのインポート_エクスポート_1
データのインポート/エクスポートについて 概 要 スタッフエクスプレスでは 他 のソフトウェアで 作 成 されたスタッフデータ 得 意 先 データなどを 取 り 込 む(インポートする)ことができます また スタッフエクスプレスに 登 録 済 みのデータを Excel 形 式 CSV 形 式 で 出 力 (エクスポート)す ることができます 注 意 インポートできるデータは 次 の 条 件 を 満
<4D6963726F736F667420576F7264202D208169959F93878CA797708F4390B3816A819A95CA8B4C976C8EAE91E682538B4C8DDA97E12E646F6378>
( 別 様 式 第 4の1-1/3-) 復 興 産 業 集 積 区 域 における 研 究 開 発 税 制 の 特 例 等 ( 法 第 39 条 ) 指 定 を 行 った 認 定 地 方 公 共 法 人 の 場 合 事 業 年 度 又 は 連 結 事 業 年 度 終 了 後 団 体 の 長 の 氏 名 を 載 してく 1か 月 以 内 に 提 出 し ださい 個 人 の 場 合 事 業 年 度 ( 暦
ファクス送信用変換ソフト 操作説明書_VA
ファクス 送 信 用 変 換 ソフト 操 作 説 明 書 ファクス 送 信 用 変 換 ソフトのインストールから 操 作 までを 説 明 します 本 書 では ファクス 送 信 用 変 換 ソフトを 本 ソフト と 表 記 している 場 合 があります ファクス 送 信 用 変 換 ソフトについて...2 ファクス 送 信 用 変 換 ソフトをインストールする...3 ファクス 送 信 用 変 換
治 験 実 施 管 理 システム NMGCP 向 け Excel 形 式 プロトコール 作 成 手 順 書 V4.0.3 対 応 版 第 1 版 株 式 会 社 富 士 通 アドバンストエンジニアリング All Rights Reserved,Copyright 株 式 会 社 富 士 通 アドバン
2014 年 1 月 7 日 治 験 依 頼 者 各 位 新 潟 市 民 病 院 治 験 管 理 室 Excel 形 式 の 電 子 プロトコール 提 出 の 御 依 頼 当 院 では 効 率 的 で 正 確 な 治 験 の 実 施 のため 電 子 カルテ 内 に 専 用 の Excel 形 式 による 電 子 プロトコールを 導 入 しております つきましては 治 験 依 頼 の 際 に 下 記
<82C582F182B382A2322E3594C5837D836A83858341838B2E786C73>
機 能 追 加 一 覧 項 番 機 能 名 機 能 概 要 1 複 数 発 生 記 録 請 求 ( 画 面 入 力 ) 機 能 企 業 ユーザによる 発 生 記 録 について 発 生 記 録 メニュー 画 面 や 取 引 先 グ ループ 選 択 画 面 過 去 請 求 データからの 再 利 用 等 から 複 数 債 権 の 仮 登 録 情 報 を 入 力 し 一 度 に 大 量 の 発 生 記 録
Microsݯft Word - 91 forܠ2009November.docx
特 集 : Query & Analysis の 仕 訳 転 送 機 能 SunSystems と 連 携 し て 使 用 す る こ と が で き る Infor Performance Management Query&Analysis( 以 下 Q&A) ( 旧 : SunSystems Vision ) と い う 製 品 が あ り ま す Q&A は Microsoft Excel の
<4D6963726F736F667420576F7264202D20457863656C97F195CF8AB72091808DEC90E096BE8F912091E6312E313294C52E646F63>
Excel 列 変 換 Ver.1.0.3 操 作 説 明 書 第 1.1 版 Copyright (C) 2008 株 式 会 社 恒 河 沙 変 更 履 歴 版 作 成 日 作 成 者 主 な 変 更 点 第 1.0 版 2008/10/29 ( 株 ) 恒 河 沙 東 野 貴 行 新 規 作 成 第 1.1 版 2008/11/04 ( 株 ) 恒 河 沙 東 野 貴 行 - 2 - 目 次
同 期 を 開 始 する( 初 期 設 定 ) 2 1 Remote Link PC Sync を 起 動 する 2 1 接 続 機 器 の [PIN コード ] [ ユーザー 名 ] [ パスワード ] を 入 力 する [PIN コード ] などの 情 報 は 接 続 機 器 の 設 定 画 面
画 面 で 見 る マ ニ ュ ア ル Remote Link 3 対 応 自 動 同 期 アプリ Remote Link PC Sync Remote Link PC Sync は 接 続 機 器 とパソコンとの 間 でファイルの 自 動 同 期 をするアプリです 本 アプリサイトの 対 応 製 品 型 番 に 記 載 された 機 器 動 作 環 境 機 種 OS Windows 8.1(32/64
03_主要処理画面.xlsx
見 積 受 注 入 力 見 積 と 受 注 は 同 じ 画 面 で 入 力 します 基 本 情 報 の 状 況 欄 で 見 積 か 受 注 かを 選 択 して 登 録 します 見 積 から 受 注 にかわったときは 見 積 伝 票 を 修 正 で 開 き 状 況 を 受 注 に 変 更 して 登 録 します 出 荷 する 倉 庫 や 納 期 は 明 細 行 ごとに 指 定 できます 受 注 の 場
目 次 1.はじめに 1-1. はじめに 2. 操 作 2-1. 概 要 2-2. 操 作 方 法 ( 調 査 依 頼 の 確 認 ) 2-3. 操 作 方 法 ( 回 答 登 録 ) 2-4. 操 作 方 法 (ワークシート 出 力 ) 2-5. 操 作 方 法 (ワークシート 取 込 ) 3.
カシオグリーン 調 達 調 査 (ProChemist) カシオ 調 査 票 回 答 マニュアル Ver.20131116 カシオ 計 算 機 株 式 会 社 目 次 1.はじめに 1-1. はじめに 2. 操 作 2-1. 概 要 2-2. 操 作 方 法 ( 調 査 依 頼 の 確 認 ) 2-3. 操 作 方 法 ( 回 答 登 録 ) 2-4. 操 作 方 法 (ワークシート 出 力 ) 2-5.
<4D6963726F736F667420576F7264202D20819C486F70658F6F93588ED297708AC7979D89E696CA837D836A83858341838B8169342E33566572816A2E646F63>
商 品 管 理 商 品 管 理 を 行 うためのメニューです 4.1 商 品 管 理 のサイドメニュー 商 品 管 理 には 以 下 のサイドメニューがあります 商 品 一 覧 登 録 済 みの 商 品 の 一 覧 を 表 示 します 既 に 登 録 済 みの 商 品 の 検 索 検 索 した 商 品 を 編 集 する 際 に 使 用 します 新 規 作 成 商 品 を 新 規 登 録 する 画 面
5-2.操作説明書(支店連携)_xlsx
お 客 さま 向 け 送 り 状 発 行 システム 5-2. 操 作 説 明 書 ( 支 店 連 携 ) ゆうパックプリントR は 日 本 郵 便 株 式 会 社 がお 客 さまに 無 料 で 提 供 する ゆうパックや 郵 便 商 品 の 送 り 状 をパソコンで 印 刷 するためのソフトウェアです ゆうパックプリントRを 以 降 ゆうプリR と 表 記 します 本 マニュアルは 支 店 連 携
スライド 1
Android 版 目 視 録 運 用 操 作 マニュアル 作 成 2012/03/22 更 新 2014/09/26 目 視 録 とは 携 帯 またはパソコンで 施 工 写 真 を 登 録 確 認 できるシステムです ご 利 用 の 為 にはIDとパスワードが 必 要 です TEG ログインID ( ) パスワード ( ) https://teg.mokusiroku.com/
(Microsoft PowerPoint - Ver12\203o\201[\203W\203\207\203\223\203A\203b\203v\216\221\227\277.ppt)
ACAD-DENKI DENKI Ver.12 新 機 能 / 改 善 機 能 アルファテック 株 式 会 社 1 新 機 能 改 善 機 能 一 覧 ACAD-DENKI/EL Ver.12 新 機 能 と 改 善 機 能 新 メニュー/ 新 機 能 拡 張 プロジェクト 管 理 外 部 端 子 コネクタ 端 子 ネット 分 割 化 リアルタイム 線 番 挿 入 改 善 項 目 図 題 情 報 編
Mac OS Xでの利用設定 マニュアル
Enterprise Architect on Mac OS X setup guide by SparxSystems Japan Mac OS X 環 境 での 利 用 設 定 マニュアル (2015/12/01 最 終 更 新 ) 1. はじめに このドキュメントでは Enterprise Architect を Mac OS X で 動 作 させるための 設 定 につ いて 説 明 したドキュメントです
目 次 1. Web メールのご 利 用 について... 2 2. Web メール 画 面 のフロー 図... 3 3. Web メールへのアクセス... 4 4. ログイン 画 面... 5 5. ログイン 後 (メール 一 覧 画 面 )... 6 6. 画 面 共 通 項 目... 7 7.
Web メール 操 作 説 明 書 京 都 与 謝 野 町 有 線 テレビ 0 目 次 1. Web メールのご 利 用 について... 2 2. Web メール 画 面 のフロー 図... 3 3. Web メールへのアクセス... 4 4. ログイン 画 面... 5 5. ログイン 後 (メール 一 覧 画 面 )... 6 6. 画 面 共 通 項 目... 7 7. メール 一 覧 画 面...
購買ポータルサイトyOASIS簡易説明書 b
購 買 ポータルサイト yoasis 簡 易 説 明 書 横 河 電 機 株 式 会 社 本 書 は 購 買 ポータルサイト yoasis の 簡 易 的 な 基 本 操 作 について 記 載 してあります 詳 細 な 操 作 方 法 については 別 冊 の 購 買 ポータルサイト yoasis 操 作 説 明 書 をご 覧 下 さい 本 書 の 内 容 は 性 能 / 機 能 の 向 上 などにより
TIPS - 棚 割 りを 開 始 するまで Liteを 起 動 し 企 業 情 報 の 追 加 を 行 い 棚 割 を 行 う 企 業 の 追 加 をして 下 さい 企 業 情 報 の 追 加 時 に エラーメッセージが 表 示 された 場 合 別 途 TIPS トラブルが 発 生 した 場 合
TIPS 目 次 TIPS 項 目 棚 割 りを 開 始 するまで 商 品 画 像 の 追 加 方 法 商 品 情 報 の 一 括 更 新 登 録 方 法 棚 割 情 報 の 連 携 方 法 小 売 様 棚 割 ソフトとの 棚 割 情 報 連 携 について 他 棚 割 ソフトとの 棚 割 情 報 連 携 について 棚 割 情 報 のExcel 取 込 について 棚 板 設 定 の 詳 細 商 品 設
目 次. WEB メールへのログイン.... メール 送 信 手 順.... メール 受 信 手 順... 6. アドレス 帳 の 操 作 手 順... 8 5. フォルダーの 操 作 手 順... 8 6. メール 発 信 者 登 録 署 名 登 録 手 順... 0 7. 基 本 的 な 設 定
Web メール 手 順 書 目 次. WEB メールへのログイン.... メール 送 信 手 順.... メール 受 信 手 順... 6. アドレス 帳 の 操 作 手 順... 8 5. フォルダーの 操 作 手 順... 8 6. メール 発 信 者 登 録 署 名 登 録 手 順... 0 7. 基 本 的 な 設 定... 8. 参 考 情 報... 9 . WEB メールへのログイン 概
目 次 JAVIS Appli の 基 本 機 能... 3 JAVIS Appli について... 3 音 声 確 認 機 能 JAVIS Appli( 有 償 版 )の 機 能... 4 音 声 で 読 みの 確 認 をする... 4 辞 書 機 能... 5 単 語 を 登 録 する... 5
アドイン 版 ********************************************* 操 作 説 明 書 ********************************************* 目 次 JAVIS Appli の 基 本 機 能... 3 JAVIS Appli について... 3 音 声 確 認 機 能 JAVIS Appli( 有 償 版 )の 機 能...
計算式の取り扱い
4.データ 入 力 と 表 計 算 4-1 計 算 式 の 取 り 扱 い 1) 数 式 の 基 本 Excelのような 表 計 算 ソフトでは セルに 入 力 されたデータ( 定 数 )を 計 算 式 ( 数 式 )によって 計 算 することで さまざまな 処 理 が 行 えます 数 式 バーには 数 式 の 内 容 が 表 示 されます セルには 計 算 結 果 が 表 示 されます 数 式 の
MapDK3のインストール
ExifEditor Version 4.6 サポートアドレス:[email protected] 目 次 1. メイン 画 面... 3 1.1. 画 像 表 示... 6 2. Exif 情 報 編 集... 8 2.1. 付 帯 情 報 の 編 集... 10 2.2. 日 付 データの 一 括 編 集... 10 2.3. タイムスタンプ... 11 2.3.1. タイムスタンプ
DN6(R04).vin
page 1 / 2 DataNature6(R04)リリースノート 新 機 能 機 能 改 良 (1) 期 間 項 目 への 締 め 日 の 反 映 年 度 上 期 / 下 期 四 半 期 において 設 定 した 締 め 日 を 反 映 させるかどうかの 設 定 を 追 加 (2) 週 の 設 定 方 法 の 追 加 日 付 から 期 間 の 設 定 で 週 を 追 加 する 場 合 に 週 の"
一般競争入札について
( 一 般 競 争 入 札 ) 総 合 評 価 落 札 方 式 ガイドライン 平 成 21 年 4 月 ( 独 ) 工 業 所 有 権 情 報 研 修 館 1.はじめに 現 在 公 共 調 達 の 透 明 性 公 正 性 をより 一 層 めることが 喫 緊 の 課 題 とな っており 独 立 行 政 法 人 も 含 めた 政 府 全 体 で 随 意 契 約 の 見 直 しに 取 り 組 んで おります
データコピーとは データコピーは 古 い NAS のデータを 新 しい HDL-Z シリーズに 簡 単 にコピーできます 環 境 例 本 製 品 は 以 下 の 用 途 の 際 に 最 適 です 古 い HDL-Z シリーズから 新 しい HDL-Z シリーズへのコピー 古 い HDL-Z シリーズ
HDL-Z シリーズへデータコピーする データコピー for Windows 画 面 で 見 るマニュアル データコピー for Windows( 以 下 データコピー)は 古 い NAS のデータを 新 しい 弊 社 製 HDL-Z シリーズにコピーするためのアプリです データコピーは インストール 不 要 です そのまま 実 行 できます 対 応 OS Windows Storage Server
事前チェック提出用現況報告書作成ツール入力マニュアル(法人用)
事 前 チェック 提 出 用 現 況 報 告 書 作 成 ツール 入 力 マニュアル ( 法 人 用 ) 平 成 26 年 7 月 一 般 社 団 法 人 日 本 補 償 コンサルタント 協 会 目 次 1. ツールの 概 要 1 2. 動 作 環 境 1 3. マクロの 設 定 (1) Excel のバージョンの 確 認 2 (2) マクロの 設 定 3 4. 現 況 報 告 書 の 作 成 (1)
TeleOffice 3.0 Lync 2 TO
ユーザーガイド ideep Solutions Corporation Document Date: 2015.01.30 Document Version: 3.0.001rc 1 目 次 1 目 次... 2 2 初 めに... 3 3 Lync 2 TO とは... 3 4 インストール... 3 5 TeleOffice の 会 議 を 作 成 する... 5 6 TeleOffice の
<4D6963726F736F667420576F7264202D20819B93FC97CD835683588365838082CC91808DEC95FB964081693230313589FC92F994C5816A>
岡 山 大 学 情 報 データベースシステムの 操 作 方 法 1 インターネットブラウザの 設 定 まず ご 利 用 のブラウザ 環 境 に 応 じて 以 下 URL に 記 載 されている 設 定 を 行 ってください この 設 定 をしていない 場 合 岡 山 大 学 情 報 データベースシステムを 利 用 できない 場 合 があります Windows の Internet Explorer7.0
Microsoft Word - サンプル _データベースアクセス_.doc
データベースアクセスコンポーネント 1. 概 要 データベースアクセスコンポーネントとは SQL データベースにアクセスして SQL 文 を 実 行 することによりデータベース 検 索 を 行 う 機 能 を 提 供 するコ ンポーネントです また データベースアクセスコンポーネントでは データベースの 構 成 情 報 接 続 情 報 エラー 情 報 等 を 取 得 することも 可 能 です デ ータベースアクセスコンポーネントは
ATOK Syncの設定方法と使い方(Mac用)
ATOK Sync ア ド バ ン ス 設 定 方 法 と 使 い 方 ~ Mac 版 を お 使 い の 方 へ ~ ATOK Sync ア ド バ ン ス と は 単 語 登 録 や 学 習 し た 内 容 を 保 存 す る ユ ー ザ ー 辞 書 や お 気 に 入 り 文 書 省 入 力 デ ー タ 確 定 履 歴 の デ ー タ な ど を イ ン タ ー ネ ッ ト 上 の サ ー バ
あいち電子調達共同システム
(2) 提 出 依 頼 書 の 確 認 提 出 依 頼 書 が 発 行 されると 利 用 者 登 録 で 指 定 したメールアドレスへお 知 らせが 送 信 されま すので 提 出 依 頼 書 を 確 認 します 調 達 案 件 一 覧 画 面 で 案 件 情 報 を 確 認 し 提 出 依 頼 書 を 表 示 します 操 作 1 調 達 案 件 検 索 画 面 で 検 索 条 件 を 入 力 し
Microsoft Word - 操作マニュアル(石油コンビナート_オフラインソフト編)_v0.2.doc
総 務 省 消 防 庁 統 計 調 査 系 システム 操 作 マニュアル 石 油 コンビナート 等 実 態 調 査 業 務 (オフライン オフラインソフト 編 ) 第 0.2 版 平 成 25 年 3 月 総 務 省 消 防 庁 改 訂 履 歴 版 改 訂 日 改 訂 内 容 第 0.1 版 平 成 24 年 1 月 24 日 新 規 作 成 第 0.2 版 平 成 24 年 3 月 2 日 第 4
Microsoft PowerPoint - 130522_リビジョンアップ案内_最終.pptx
WaWaOfficeシリーズ バージョン8.2リビジョンアップ 2013 年 6 月 18 日 リリース 予 定 株 式 会 社 アイアットOEC ローカル 機 能 の 改 善 プレビュー 表 追 加 の 覧 表 にプレビュー 表 を 設 定 可 能 にしました 1 表 2 表 1 +プレビュー 表 から 選 択 設 定 法 個 設 定 個 設 定 基 本 設 定 PC 専 パラメータの 覧 表 時
1
Excelファイルアクセス 1. 概 要 Excel ファイルアクセスコンポーネントは Microsoft Excel のファイルを 開 いてセルの 値 や 書 式 を 取 得 変 更 したり テーブル 全 体 を 新 しいファイルと して 保 存 したりするために 用 います Excel ファイルアクセスコンポーネントは アプリケーションビルダーのメニューから 以 下 のように 選 びます [コンポーネント
