IBM Books

解説書

FFI 組み込み関数

DTWF_APPEND


AIX HP-UX Linux OS/2 OS/390 OS/400 SCO SUN Win NT
X

X X X
X X

目的

Net.Data 表の内容をテキスト・ファイルの終わりに書き込みます。

構文

@DTWF_APPEND(filename, transform, delimiter, table, retry, rows)

@DTWF_APPEND(filename, transform, delimiter, table, retry)

@DTWF_APPEND(filename, transform, delimiter, table)


表 167. DTWF_APPEND のパラメーター
データ型 パラメーター 用途 説明
ストリング filename INOUT 変数の内容を追加するファイルの名前。呼び出しが正常終了すると、 このパラメーターは完全修飾ファイル名を戻します。
ストリング transform IN ファイルの形式。

  • ASCIITEXT - 列値間に改行文字を入れて表をファイルに書き込み、 delimiter パラメーターを無視します。

  • DELIMITED - 区切り文字を delimiter パラメーターに指定して表をファイルに書き込みます。
ASCIITEXT および DELIMITED 変形の場合、 ファイル内の改行文字は、Net.Data マクロ表の行の終わりを示します。
ストリング delimiter IN 値の終わりを示す文字ストリング。このパラメーターでは、大文字小文字が区別されます。 transform が ASCIITEXT であれば、無視されます。
table IN レコードが読み取られた表変数。

OS/400 以外のユーザー: FFI 表の行の最大長は 16383 文字です。 この長さには、Net.Data マクロ表の各列のヌル文字も含まれます。

整数 retry IN ファイルを即時に付加できない場合に再試行する回数。デフォルトでは、再試行されません。
整数 rows IN table から付加する行の最大数。 デフォルトでは、すべての行が付加されます。0 を指定すると、すべての行が付加されます。

戻りコード

表 168. DTWF_APPEND の戻りコード
戻りコード 説明
-1001 サーバーがメモリーを割り当てるための Net.Data 要求を処理できませんでした。
1001 入力パラメーターにヌル値が含まれています。
1002 入力パラメーターに、 ヌルで終わる文字からなるストリング値が含まれています。
1003 関数呼び出しで渡されたパラメーターの数が、 許可される最大数を超えた、 または関数が必要とする最小数より少ない。
1004 関数呼び出しで渡されたパラメーター (Net.Data マクロ表変数とするために必須) が異なる変数型です。
1005 関数呼び出しで渡されたパラメーター (ストリング変数とするために必須) が異なる変数型です。
1006 関数呼び出しにおいて、出力パラメーターとするために必須であるパラメーターにリテラル・ストリングが渡されました。
1007 パラメーターに無効な値が含まれています。
2000 フラット・ファイル・インターフェース組み込み関数が指定ファイルを検出できませんでした。
2001 フラット・ファイル・インターフェース組み込み関数が指定ファイルをオープンできませんでした。 このファイルは該当または他のプロセスにより使用中で、指定モードでは共用できません。
2003 フラット・ファイル・インターフェース組み込み関数が、データ行を表変数に読み込めません。 行内のバイト数が、サポートされる最大バイト数を超えています。
2004 フラット・ファイル・インターフェース組み込み関数がファイルを検出しようとしましたが、 FFI_PATH 構成ファイル変数にあるパスが、 サポートされる最大バイト数 (4095) を超えています。
2005 システム機能の呼び出しが失敗しました。
2006 フラット・ファイル・インターフェース組み込み関数が指定ファイルにアクセスできません。 このファイルは該当または他のプロセスにより使用中で、 指定モードでは共用できません。

使用上の注意

ファイルの現行内容 (特に、最終行の最終列の内容) は、DTWF_APPEND の使用結果に影響を与えます。 ファイルの最終行の最終列の値の後に改行文字が続いている場合、 追加されたデータは新規行に入ります。 それ以外の場合には、追加されたデータはファイルの最終行の一部になります。

例 1:

%DEFINE {
   myFile = "c:/private/myfile"
   myTable = %TABLE
%}
@DTWF_APPEND(myFile, "DELIMITED", " ;", myTable)

例 2:

%DEFINE {
   myFile = "c:/private/myfile"
   myTable = %TABLE
%}
@DTWF_APPEND(myFile, "ASCIITEXT", " ;", myTable)

例 3:

%DEFINE {
   myFile = "c:/private/myfile"
   myTable = %TABLE
%}
@DTWF_APPEND(myFile, "ASCIITEXT", " ;", myTable, "0", "10")

DTWF_CLOSE


AIX HP-UX Linux OS/2 OS/390 OS/400 SCO SUN Win NT
X

X X X
X X

目的

DTWF_OPEN によってオープンされたファイルをクローズします。

構文

@DTWF_CLOSE(filename, retry)

@DTWF_CLOSE(filename)


表 169. DTWF_CLOSE のパラメーター
データ型 パラメーター 用途 説明
ストリング filename INOUT クローズするファイルの名前。呼び出しが正常終了すると、 このパラメーターは完全修飾ファイル名を戻します。
整数 retry IN ファイルを即時にクローズできない場合に再試行する回数。デフォルトでは、再試行されません。

戻りコード

表 170. DTWF_CLOSE の戻りコード
戻りコード 説明
-1001 サーバーがメモリーを割り当てるための Net.Data 要求を処理できませんでした。
1001 入力パラメーターにヌル値が含まれています。
1002 入力パラメーターに、 ヌルで終わる文字からなるストリング値が含まれています。
1003 関数呼び出しで渡されたパラメーターの数が、 許可される最大数を超えた、 または関数が必要とする最小数より少ない。
1005 関数呼び出しで渡されたパラメーター (ストリング変数とするために必須) が異なる変数型です。
1007 パラメーターに無効な値が含まれています。
2002 フラット・ファイル・インターフェース組み込み関数が指定ファイルをクローズできません。 このファイルはマクロ起動時にオープンされていません。

例 1:

@DTWF_CLOSE(myFile, "5")

DTWF_DELETE


AIX HP-UX Linux OS/2 OS/390 OS/400 SCO SUN Win NT
X

X X X
X X

目的

テキスト・ファイルから行を削除します。

構文

@DTWF_DELETE(filename, transform, delimiter, retry, rows, startrow)

@DTWF_DELETE(filename, transform, delimiter, retry, rows)

@DTWF_DELETE(filename, transform, delimiter, retry)

@DTWF_DELETE(filename, transform, delimiter)


表 171. DTW_DELETE のパラメーター
データ型 パラメーター 用途 説明
ストリング filename INOUT レコードが削除されるファイルの名前。呼び出しが正常終了すると、 このパラメーターは完全修飾ファイル名を戻します。
ストリング transform IN ファイルの形式。

  • ASCIITEXT - 列値間に改行文字を入れて表をファイルに書き込み、 delimiter パラメーターを無視します。

  • DELIMITED - 区切り文字を delimiter パラメーターに指定して表をファイルに書き込みます。
ASCIITEXT および DELIMITED 変形の場合、 ファイル内の改行文字は、Net.Data マクロ表の行の終わりを示します。
ストリング delimiter IN 値の終わりを示す文字ストリング。このパラメーターでは、大文字小文字が区別されます。 transform が ASCIITEXT であれば、無視されます。
整数 retry IN ファイルを即時に削除できない場合に再試行する回数。デフォルトでは、再試行されません。
整数 rows IN 削除する行の最大数。 デフォルトでは、すべての行が削除されます。0 を指定すると、すべての行が削除されます。
整数 startrow INOUT 削除を開始する行番号。 1 の値は、最初の行から削除を開始することを意味します。この値がファイルの行数よりも大きい場合は、 この値は最終レコードに変更され、エラーが戻されます。デフォルトでは、1 から開始されます。

戻りコード

表 172. DTWF_DELETE の戻りコード
戻りコード 説明
-1001 サーバーがメモリーを割り当てるための Net.Data 要求を処理できませんでした。
1001 入力パラメーターにヌル値が含まれています。
1002 入力パラメーターに、 ヌルで終わる文字からなるストリング値が含まれています。
1003 関数呼び出しで渡されたパラメーターの数が、 許可される最大数を超えた、 または関数が必要とする最小数より少ない。
1005 関数呼び出しで渡されたパラメーター (ストリング変数とするために必須) が異なる変数型です。
1006 関数呼び出しにおいて、出力パラメーターとするために必須であるパラメーターにリテラル・ストリングが渡されました。
1007 パラメーターに無効な値が含まれています。
2000 フラット・ファイル・インターフェース組み込み関数が指定ファイルを検出できませんでした。
2001 フラット・ファイル・インターフェース組み込み関数が指定ファイルをオープンできませんでした。 このファイルは該当または他のプロセスにより使用中で、指定モードでは共用できません。
2003 フラット・ファイル・インターフェース組み込み関数が、データ行を表変数に読み込めません。 行内のバイト数が、サポートされる最大バイト数を超えています。
2004 フラット・ファイル・インターフェース組み込み関数がファイルを検出しようとしましたが、 FFI_PATH 構成ファイル変数にあるパスが、 サポートされる最大バイト数 (4095) を超えています。
2005 システム機能の呼び出しが失敗しました。
2006 フラット・ファイル・インターフェース組み込み関数が指定ファイルにアクセスできません。 このファイルは該当または他のプロセスにより使用中で、 指定モードでは共用できません。

例 1:

%DEFINE {
   myFile = "c:/private/myfile"
   myTable = %TABLE
   myWait = "5000"
   myRows = "2"
%}
@DTWF_DELETE(myFile, "Delimited", "|", myWait, myRows)

例 2:

%DEFINE {
   myFile = "c:/private/myfile"
   myTable = %TABLE
   myStart = "1"
   myRows = "2"
%}
@DTWF_DELETE(myFile, "Asciitext", "|", "0", myRows, myStart)

DTWF_INSERT


AIX HP-UX Linux OS/2 OS/390 OS/400 SCO SUN Win NT
X

X X X
X X

目的

テキスト・ファイルに行を挿入します。

構文

@DTWF_INSERT(filename, transform, delimiter, table, retry, rows, startrow)

@DTWF_INSERT(filename, transform, delimiter, table, retry, rows)

@DTWF_INSERT(filename, transform, delimiter, table, retry)

@DTWF_INSERT(filename, transform, delimiter, table)


表 173. DTWF_INSERT のパラメーター
データ型 パラメーター 用途 説明
ストリング filename INOUT レコードが挿入されるファイルの名前。呼び出しが正常終了すると、 このパラメーターは完全修飾ファイル名を戻します。
ストリング transform IN ファイルの形式。

  • ASCIITEXT - 列値間に改行文字を入れて表をファイルに書き込み、 delimiter パラメーターを無視します。

  • DELIMITED - 区切り文字を delimiter パラメーターに指定して表をファイルに書き込みます。
ASCIITEXT および DELIMITED 変形の場合、 ファイル内の改行文字は、Net.Data マクロ表の行の終わりを示します。
ストリング delimiter IN 値の終わりを示す文字ストリング。このパラメーターでは、大文字小文字が区別されます。 transform が ASCIITEXT であれば、無視されます。
table IN ファイルに挿入するレコードが含まれている表変数。

OS/400 以外のユーザー: FFI 表の行の最大長は 16383 文字です。この長さには、Net.Data マクロ表の各列のヌル文字も含まれます。

整数 retry IN ファイルを即時に書き込めない場合に再試行する回数。デフォルトでは、再試行されません。
整数 rows IN table から挿入する行の最大数。 デフォルトでは、すべての行が挿入されます。0 の値は、すべての行を挿入します。
整数 startrow INOUT 挿入を開始する行番号。 値がファイルの行数よりも大きい場合は、 この値は最終レコードに変更され、エラーが戻されます。0 を指定すると、 ファイルの先頭の後ろに挿入されます。デフォルトでは、1 から開始されます。

戻りコード

表 174. DTWF_INSERT の戻りコード
戻りコード 説明
-1001 サーバーがメモリーを割り当てるための Net.Data 要求を処理できませんでした。
1001 入力パラメーターにヌル値が含まれています。
1002 入力パラメーターに、 ヌルで終わる文字からなるストリング値が含まれています。
1003 関数呼び出しで渡されたパラメーターの数が、 許可される最大数を超えた、 または関数が必要とする最小数より少ない。
1004 関数呼び出しで渡されたパラメーター (Net.Data マクロ表変数とするために必須) が異なる変数型です。
1005 関数呼び出しで渡されたパラメーター (ストリング変数とするために必須) が異なる変数型です。
1006 関数呼び出しにおいて、出力パラメーターとするために必須であるパラメーターにリテラル・ストリングが渡されました。
1007 パラメーターに無効な値が含まれています。
2000 フラット・ファイル・インターフェース組み込み関数が指定ファイルを検出できませんでした。
2001 フラット・ファイル・インターフェース組み込み関数が指定ファイルをオープンできませんでした。 このファイルは該当または他のプロセスにより使用中で、指定モードでは共用できません。
2003 フラット・ファイル・インターフェース組み込み関数が、データ行を表変数に読み込めません。 行内のバイト数が、サポートされる最大バイト数を超えています。
2004 フラット・ファイル・インターフェース組み込み関数がファイルを検出しようとしましたが、 FFI_PATH 構成ファイル変数にあるパスが、 サポートされる最大バイト数 (4095) を超えています。
2005 システム機能の呼び出しが失敗しました。
2006 フラット・ファイル・インターフェース組み込み関数が指定ファイルにアクセスできません。 このファイルは該当または他のプロセスにより使用中で、 指定モードでは共用できません。

例 1:

%DEFINE {
   myFile = "c:/private/myfile"
   myTable = %TABLE
   myWait = "3000"
%}
@DTWF_INSERT(myFile, "Delimited", "|", myTable, myWait)

例 2:

%DEFINE {
   myFile = "c:/private/myfile"
   myTable = %TABLE
   myStart = "1"
   myRows = "2"
%}
@DTWF_INSERT(myFile, "Asciitext", "|", myTable, "0", myRows, myStart)

DTWF_OPEN


AIX HP-UX Linux OS/2 OS/390 OS/400 SCO SUN Win NT
X

X X X
X X

目的

テキスト・ファイルをオープンします。

構文

@DTWF_OPEN(filename, mode, retry)

@DTWF_OPEN(filename, mode)


表 175. DTWF_OPEN のパラメーター
データ型 パラメーター 用途 説明
ストリング filename INOUT オープンするファイルの名前。呼び出しが正常終了すると、 このパラメーターは完全修飾ファイル名を戻します。
ストリング mode IN 要求されるアクセスの型。

  • r - 読み取りのための既存のファイルをオープンします。

  • w - 書き込みのためのファイルを作成します。(同じ名前の既存のファイルが存在する場合は、それを破棄します。)

  • a - 付加のためのファイルをオープンします。そのファイルが見付からないと、 Net.Data はそれを作成します。

  • r+ - 読み取りと書き込みのための既存のファイルをオープンします。

  • w+ - 読み取りと書き込みのための既存のファイルを作成します。 (同じ名前の既存のファイルが存在する場合は、それを破棄します。)

  • a+ - 読み取りと付加のためのファイルを付加モードでオープンします。そのファイルが見付からないと、 Net.Data はそれを作成します。
整数 retry IN ファイルを即時にオープンできない場合に再試行する回数。デフォルトでは、再試行されません。

戻りコード

表 176. DTWF_OPEN の戻りコード
戻りコード 説明
-1001 サーバーがメモリーを割り当てるための Net.Data 要求を処理できませんでした。
1001 入力パラメーターにヌル値が含まれています。
1002 入力パラメーターに、 ヌルで終わる文字からなるストリング値が含まれています。
1003 関数呼び出しで渡されたパラメーターの数が、 許可される最大数を超えた、 または関数が必要とする最小数より少ない。
1005 関数呼び出しで渡されたパラメーター (ストリング変数とするために必須) が異なる変数型です。
1006 関数呼び出しにおいて、出力パラメーターとするために必須であるパラメーターにリテラル・ストリングが渡されました。
1007 パラメーターに無効な値が含まれています。
2000 フラット・ファイル・インターフェース組み込み関数が指定ファイルを検出できませんでした。
2001 フラット・ファイル・インターフェース組み込み関数が指定ファイルをオープンできませんでした。 このファイルは該当または他のプロセスにより使用中で、指定モードでは共用できません。
2006 フラット・ファイル・インターフェース組み込み関数が指定ファイルにアクセスできません。 このファイルは該当または他のプロセスにより使用中で、 指定モードでは共用できません。

使用上の注意

  1. ファイルが存在しない場合には、ファイル名として絶対パスを指定する必要があり、 そのファイルが作成されるディレクトリーは、 FFI_PATH で指定されたディレクトリーと一致しなければなりません。絶対パスを使用しないと、そのファイルは現行作業ディレクトリーにオープンされます。

  2. DTWF_OPEN はファイルをオープン状態にします。 オープン状態が解けると、ファイルは各フラット・ファイル操作の後でクローズされます。

  3. DTWF_OPEN を使用して、ファイルをオープンする回数を減らしてください。DTWF_OPEN を使用しないと、 ファイルは各フラット・ファイル操作の後でクローズされます。ファイルは、DTWF_CLOSE でクローズされるまで、 またはマクロ処理が終了するまでオープン状態になっています。

例 1:

%DEFINE {
   myFile = "c:/private/myfile"
  myMode = "r+"
%}
@DTWF_OPEN(myFile, myMode, "1000")

DTWF_READ


AIX HP-UX Linux OS/2 OS/390 OS/400 SCO SUN Win NT
X

X X X
X X

目的

テキスト・ファイルの行を Net.Data 表に読み取ります。

構文

@DTWF_READ(filename, transform, delimiter, table, retry, rows, startrow, columns)

@DTWF_READ(filename, transform, delimiter, table, retry, rows, startrow)

@DTWF_READ(filename, transform, delimiter, table, retry, rows)

@DTWF_READ(filename, transform, delimiter, table, retry)

@DTWF_READ(filename, transform, delimiter, table)


表 177. DTWF_READ のパラメーター
データ型 パラメーター 用途 説明
ストリング filename INOUT レコードが表変数に読み取られるファイルの名前。呼び出しが正常終了すると、 このパラメーターは完全修飾ファイル名を戻します。
ストリング transform IN ファイルの形式。

  • ASCIITEXT - 列値間に改行文字を入れて表をファイルに書き込み、 delimiter パラメーターを無視します。

  • DELIMITED - 区切り文字を delimiter パラメーターに指定して表をファイルに書き込みます。
ASCIITEXT および DELIMITED 変形の場合、 ファイル内の改行文字は、Net.Data マクロ表の行の終わりを示します。
ストリング delimiter IN 値の終わりを示す文字ストリング。このパラメーターでは、大文字小文字が区別されます。 transform が ASCIITEXT であれば、無視されます。
table OUT ファイル・レコードが読み取られる表変数。

OS/400 以外のユーザー: FFI 表の行の最大長は 16383 文字です。 この長さには、Net.Data マクロ表の各列のヌル文字も含まれます。

整数 retry IN ファイルを即時に読み取れない場合に再試行する回数。デフォルトでは、再試行されません。
整数 rows INOUT 表へ読み取るファイル・レコードの最大数。デフォルトでは、すべてのレコードが読み取られるか、 あるいは表がいっぱいになるまで読み取られます。0 の値は、ファイルの終わりまで読み取ることを意味します。 結果表の行数が戻されます。
整数 startrow IN 読み取りが開始されるファイル・レコード。デフォルトでは、最初のレコードから読み取りが開始されます。
整数 columns OUT 表内の列数を戻します。

戻りコード

表 178. DTWF_READ の戻りコード
戻りコード 説明
-1001 サーバーがメモリーを割り当てるための Net.Data 要求を処理できませんでした。
1001 入力パラメーターにヌル値が含まれています。
1002 入力パラメーターに、 ヌルで終わる文字からなるストリング値が含まれています。
1003 関数呼び出しで渡されたパラメーターの数が、 許可される最大数を超えた、 または関数が必要とする最小数より少ない。
1004 関数呼び出しで渡されたパラメーター (Net.Data マクロ表変数とするために必須) が異なる変数型です。
1005 関数呼び出しで渡されたパラメーター (ストリング変数とするために必須) が異なる変数型です。
1006 関数呼び出しにおいて、出力パラメーターとするために必須であるパラメーターにリテラル・ストリングが渡されました。
1007 パラメーターに無効な値が含まれています。
1010 データは表がいっぱいになるまで書き込まれ、 余分なデータは廃棄されます。
2000 フラット・ファイル・インターフェース組み込み関数が指定ファイルを検出できませんでした。
2001 フラット・ファイル・インターフェース組み込み関数が指定ファイルをオープンできませんでした。 このファイルは該当または他のプロセスにより使用中で、指定モードでは共用できません。
2003 フラット・ファイル・インターフェース組み込み関数が、データ行を表変数に読み込めません。 行内のバイト数が、サポートされる最大バイト数を超えています。
2004 フラット・ファイル・インターフェース組み込み関数がファイルを検出しようとしましたが、 FFI_PATH 構成ファイル変数にあるパスが、 サポートされる最大バイト数 (4095) を超えています。
2005 システム機能の呼び出しが失敗しました。
2006 フラット・ファイル・インターフェース組み込み関数が指定ファイルにアクセスできません。 このファイルは該当または他のプロセスにより使用中で、 指定モードでは共用できません。

例 1:

%DEFINE {
   myFile = "c:/private/myfile"
   myTable = %TABLE
  myWait = "1000"
%}
@DTWF_READ(myFile, "DELIMITED", ";", myTable, myWait)

例 2:

%DEFINE {
   myFile = "c:/private/myfile"
   myTable = %TABLE
  myWait = "0"
  myRows = "0"
  myStartrow = "1"
  myColumns = ""
%}
@DTWF_READ(myFile, "DELIMITED", ";", myTable, myWait, myRows,
             myStartrow, myColumns)

例 3:

%DEFINE {
   myFile = "c:/private/myfile"
   myTable = %TABLE
%}
@DTWF_READ(myFile, "ASCIITEXT", ";", myTable)
@DTW_TB_TABLE(myTable,"BORDER","")

DTWF_REMOVE


AIX HP-UX Linux OS/2 OS/390 OS/400 SCO SUN Win NT
X

X X X
X X

目的

ファイル全体を削除します。

構文

@DTWF_REMOVE(filename, retry)

@DTWF_REMOVE(filename)


表 179. DTW_REMOVE のパラメーター
データ型 パラメーター 用途 説明
ストリング filename INOUT 削除ファイルの名前。 呼び出しが正常終了すると、 このパラメーターは完全修飾ファイル名を戻します。
整数 retry IN ファイルを即時に削除できない場合に再試行する回数。デフォルトでは、再試行されません。

戻りコード

表 180. DTWF_REMOVE の戻りコード
戻りコード 説明
-1001 サーバーがメモリーを割り当てるための Net.Data 要求を処理できませんでした。
1001 入力パラメーターにヌル値が含まれています。
1002 入力パラメーターに、 ヌルで終わる文字からなるストリング値が含まれています。
1003 関数呼び出しで渡されたパラメーターの数が、 許可される最大数を超えた、 または関数が必要とする最小数より少ない。
1005 関数呼び出しで渡されたパラメーター (ストリング変数とするために必須) が異なる変数型です。
1006 関数呼び出しにおいて、出力パラメーターとするために必須であるパラメーターにリテラル・ストリングが渡されました。
1007 パラメーターに無効な値が含まれています。
2000 フラット・ファイル・インターフェース組み込み関数が指定ファイルを検出できませんでした。
2006 フラット・ファイル・インターフェース組み込み関数が指定ファイルにアクセスできません。 このファイルは該当または他のプロセスにより使用中で、 指定モードでは共用できません。

例 1:

%DEFINE myFile = "c:/private/myfile"
@DTWF_REMOVE(myFile)

例 2:

%DEFINE {
   myFile = "c:/private/myfile"
  myWait = "2000"
%}
@DTWF_REMOVE(myFile, myWait)

DTWF_SEARCH


AIX HP-UX Linux OS/2 OS/390 OS/400 SCO SUN Win NT
X

X X X
X X

目的

テキスト・ファイルのストリングを検索し、 結果を Net.Data 表に戻します。

構文

@DTWF_SEARCH(filename, transform, delimiter, table, searchFor, retry, rows, startrow)

@DTWF_SEARCH(filename, transform, delimiter, table, searchFor, retry, rows)

@DTWF_SEARCH(filename, transform, delimiter, table, searchFor, retry)

@DTWF_SEARCH(filename, transform, delimiter, table, searchFor)


表 181. DTWF_SEARCH のパラメーター
データ型 パラメーター 用途 説明
ストリング filename INOUT 検索ファイルの名前。 呼び出しが正常終了すると、 このパラメーターは完全修飾ファイル名を戻します。
ストリング transform IN ファイルの形式。

  • ASCIITEXT - 列値間に改行文字を入れて表をファイルに書き込み、 delimiter パラメーターを無視します。

  • DELIMITED - 区切り文字を delimiter パラメーターに指定して表をファイルに書き込みます。
ASCIITEXT および DELIMITED 変形の場合、 ファイル内の改行文字は、Net.Data マクロ表の行の終わりを示します。
ストリング delimiter IN 値の終わりを示す文字ストリング。このパラメーターでは、大文字小文字が区別されます。 transform が ASCIITEXT であれば、無視されます。
table OUT 検索結果を入れる表変数。transform が DELIMITED であれば、 次の 3 つの列が戻されます。

  • 一致が検出されなかった列。

  • 一致が検出された列。

  • ファイルで一致した列。

OS/400 以外のユーザー: FFI 表の行の最大長は 16383 文字です。この長さには、Net.Data マクロ表の各列のヌル文字も含まれます。

ストリング searchFor IN 検索対象の文字ストリング。
整数 retry IN ファイルを即時に検索できない場合に再試行する回数。デフォルトでは、再試行されません。
整数 rows INOUT table に読み取る行の最大数。デフォルトでは、すべての行が読み取られるか、 または table がいっぱいになるまで読み取られます。0 を指定すると、 ファイルの終わりまで読み取られます。 このパラメーターによって結果表の行数が戻されます。
整数 startrow IN 検索が開始されるファイル・レコード。デフォルトは 1 です。つまり、検索は最初のレコードから開始されます。

戻りコード

表 182. DTWF_SEARCH の戻りコード
戻りコード 説明
-1001 サーバーがメモリーを割り当てるための Net.Data 要求を処理できませんでした。
1001 入力パラメーターにヌル値が含まれています。
1002 入力パラメーターに、 ヌルで終わる文字からなるストリング値が含まれています。
1003 関数呼び出しで渡されたパラメーターの数が、 許可される最大数を超えた、 または関数が必要とする最小数より少ない。
1004 関数呼び出しで渡されたパラメーター (Net.Data マクロ表変数とするために必須) が異なる変数型です。
1005 関数呼び出しで渡されたパラメーター (ストリング変数とするために必須) が異なる変数型です。
1006 関数呼び出しにおいて、出力パラメーターとするために必須であるパラメーターにリテラル・ストリングが渡されました。
1007 パラメーターに無効な値が含まれています。
1010 データは表がいっぱいになるまで書き込まれ、 余分なデータは廃棄されます。
2000 フラット・ファイル・インターフェース組み込み関数が指定ファイルを検出できませんでした。
2001 フラット・ファイル・インターフェース組み込み関数が指定ファイルをオープンできませんでした。 このファイルは該当または他のプロセスにより使用中で、指定モードでは共用できません。
2003 フラット・ファイル・インターフェース組み込み関数が、データ行を表変数に読み込めません。 行内のバイト数が、サポートされる最大バイト数を超えています。
2004 フラット・ファイル・インターフェース組み込み関数がファイルを検出しようとしましたが、 FFI_PATH 構成ファイル変数にあるパスが、 サポートされる最大バイト数 (4095) を超えています。
2005 システム機能の呼び出しが失敗しました。
2006 フラット・ファイル・インターフェース組み込み関数が指定ファイルにアクセスできません。 このファイルは該当または他のプロセスにより使用中で、 指定モードでは共用できません。

使用上の注意

  1. DTWF_SEARCH で戻される表には、3 つの列が含まれます。 最初の 2 列には、一致した行と列の番号が入り、 最後の列には、SearchFor パラメーターで指定された文字を含む列値が入ります。 たとえば、 ファイルの 4 番目の行の列 3 に、一致する文字が含まれている場合、 戻される表の行の最初の列には番号 4 が入り、それらの文字があったファイルの行を示します。 2 番目の列には番号 3 が入り、 一致する文字がファイルのどの列に含まれているのかを示します。 そして、3 番目の列には列値全体が入ります。

  2. SearchFor パラメーターには、delimiter パラメーターの内容を含めることはできません。

例 1:

%DEFINE {
  myFile = "c:/private/myfile"
  myTable = %TABLE
  myWait = "1000"
  mySearch = "0123456789abcdef"
@DTWF_SEARCH(myFile, "DELIMITED", ";",
               myTable, mySearch, myWait)

例 2:

%DEFINE {
  myFile = "c:/private/myfile"
  myTable = %TABLE
  mySearch = "answer:"
  myWait = "0"
  myRows = "0"
  myStartrow = "1"
%}
@DTWF_SEARCH(myFile, "DELIMITED", ";", myTable,
               mySearch, myWait, myRows, myStartrow)

DTWF_UPDATE


AIX HP-UX Linux OS/2 OS/390 OS/400 SCO SUN Win NT
X

X X X
X X

目的

テキスト・ファイルの行を、Net.Data 表のデータで更新します。

構文

@DTWF_UPDATE(filename, transform, delimiter, table, retry, rows, startrow)

@DTWF_UPDATE(filename, transform, delimiter, table, retry, rows)

@DTWF_UPDATE(filename, transform, delimiter, table, retry)

@DTWF_UPDATE(filename, transform, delimiter, table)


表 183. DTWF_UPDATE のパラメーター
データ型 パラメーター 用途 説明
ストリング filename INOUT レコードが表変数から更新されるファイルの名前。呼び出しが正常終了すると、 このパラメーターは完全修飾ファイル名を戻します。
ストリング transform IN ファイルの形式。

  • ASCIITEXT - 列値間に改行文字を入れて表をファイルに書き込み、 delimiter パラメーターを無視します。

  • DELIMITED - 区切り文字を delimiter パラメーターに指定して表をファイルに書き込みます。
ASCIITEXT および DELIMITED 変形の場合、 ファイル内の改行文字は、Net.Data マクロ表の行の終わりを示します。
ストリング delimiter IN 値の終わりを示す文字ストリング。このパラメーターでは、大文字小文字が区別されます。 transform が ASCIITEXT であれば、無視されます。
table IN ファイル・レコードが更新される表変数。

OS/400 以外のユーザー: FFI 表の行の最大長は 16383 文字です。 この長さには、Net.Data マクロ表の各列のヌル文字も含まれます。

整数 retry IN ファイルを即時に書き込めない場合に再試行する回数。デフォルトでは、再試行されません。
整数 rows IN table から更新されるレコードの最大数。 デフォルトでは、すべてのレコードが更新されます。0 の値は、ファイルのすべての行を更新することを意味します。
整数 startrow INOUT 更新する最初のファイル・レコード。デフォルトは 1 です。つまり、更新はファイルの先頭から開始されます。 この値がファイルのレコード数よりも大きい場合は、 この値はファイルの最終レコードの番号を示すように変更され、エラーが戻されます。

戻りコード

表 184. DTWF_UPDATE の戻りコード
戻りコード 説明
-1001 サーバーがメモリーを割り当てるための Net.Data 要求を処理できませんでした。
1001 入力パラメーターにヌル値が含まれています。
1002 入力パラメーターに、 ヌルで終わる文字からなるストリング値が含まれています。
1003 関数呼び出しで渡されたパラメーターの数が、 許可される最大数を超えた、 または関数が必要とする最小数より少ない。
1004 関数呼び出しで渡されたパラメーター (Net.Data マクロ表変数とするために必須) が異なる変数型です。
1005 関数呼び出しで渡されたパラメーター (ストリング変数とするために必須) が異なる変数型です。
1006 関数呼び出しにおいて、出力パラメーターとするために必須であるパラメーターにリテラル・ストリングが渡されました。
1007 パラメーターに無効な値が含まれています。
2000 フラット・ファイル・インターフェース組み込み関数が指定ファイルを検出できませんでした。
2001 フラット・ファイル・インターフェース組み込み関数が指定ファイルをオープンできませんでした。 このファイルは該当または他のプロセスにより使用中で、指定モードでは共用できません。
2003 フラット・ファイル・インターフェース組み込み関数が、データ行を表変数に読み込めません。 行内のバイト数が、サポートされる最大バイト数を超えています。
2004 フラット・ファイル・インターフェース組み込み関数がファイルを検出しようとしましたが、 FFI_PATH 構成ファイル変数にあるパスが、 サポートされる最大バイト数 (4095) を超えています。
2005 システム機能の呼び出しが失敗しました。
2006 フラット・ファイル・インターフェース組み込み関数が指定ファイルにアクセスできません。 このファイルは該当または他のプロセスにより使用中で、 指定モードでは共用できません。

使用上の注意

ファイルが存在しない場合には、ファイル名として絶対パスを指定する必要があり、 そのファイルが作成されるディレクトリーは、 FFI_PATH で指定されたディレクトリーと一致しなければなりません。絶対パスを使用しないと、そのファイルは現行作業ディレクトリーにオープンされます。

例 1:

%DEFINE {
   myFile = "c:/private/myfile"
   myTable = %TABLE
   myWait = "1500"
   myRows = "2"
%}
@DTWF_UPDATE(myFile, "Delimited", "|", myTable, myWait, myRows)

例 2:

%DEFINE {
   myFile = "c:/private/myfile"
   myTable = %TABLE
   myStart = "1"
   myRows = "2"
%}
@DTWF_UPDATE(myFile, "Asciitext", "|", myTable, "0", myRows, myStart)

DTWF_WRITE


AIX HP-UX Linux OS/2 OS/390 OS/400 SCO SUN Win NT
X

X X X
X X

目的

Net.Data 表の内容をテキスト・ファイルに書き込みます。

構文

@DTWF_WRITE(filename, transform, delimiter, table, retry, rows, startrow)

@DTWF_WRITE(filename, transform, delimiter, table, retry, rows)

@DTWF_WRITE(filename, transform, delimiter, table, retry)

@DTWF_WRITE(filename, transform, delimiter, table)


表 185. DTWF_WRITE のパラメーター
データ型 パラメーター 用途 説明
ストリング filename INOUT 表変数のレコードが書き込まれるファイルの名前。呼び出しが正常終了すると、 このパラメーターは完全修飾ファイル名を戻します。
ストリング transform IN ファイルの形式。

  • ASCIITEXT - 列値間に改行文字を入れて表をファイルに書き込み、 delimiter パラメーターを無視します。

  • DELIMITED - 区切り文字を delimiter パラメーターに指定して表をファイルに書き込みます。
ASCIITEXT および DELIMITED 変形の場合、 ファイル内の改行文字は、Net.Data マクロ表の行の終わりを示します。
ストリング delimiter IN 値の終わりを示す文字ストリング。このパラメーターでは、大文字小文字が区別されます。 transform が ASCIITEXT であれば、無視されます。
table IN 行をファイルにエクスポートするために使用する表変数。

OS/400 以外のユーザー: FFI 表の行の最大長は 16383 文字です。 この長さには、Net.Data マクロ表の各列のヌル文字も含まれます。

整数 retry IN ファイルを即時に書き込めない場合に再試行する回数。 デフォルトでは、再試行は行われません。
整数 rows IN 書き込むファイル・レコードの最大数。 デフォルトでは、表全体が書き込まれます。 0 の値は、すべてのレコードをファイルの終わりまで書き込むことを意味します。
整数 startrow INOUT 書き込みを開始する、ファイルのレコード番号。 デフォルトは 1 です。つまり、最初のレコードから開始されます。 ファイルの終わりを超えた値が指定されている場合は、 ファイルの最終行が戻され、エラーが示されます。

戻りコード

表 186. DTWF_WRITE の戻りコード
戻りコード 説明
-1001 サーバーがメモリーを割り当てるための Net.Data 要求を処理できませんでした。
1001 入力パラメーターにヌル値が含まれています。
1002 入力パラメーターに、 ヌルで終わる文字からなるストリング値が含まれています。
1003 関数呼び出しで渡されたパラメーターの数が、 許可される最大数を超えた、 または関数が必要とする最小数より少ない。
1004 関数呼び出しで渡されたパラメーター (Net.Data マクロ表変数とするために必須) が異なる変数型です。
1005 関数呼び出しで渡されたパラメーター (ストリング変数とするために必須) が異なる変数型です。
1006 関数呼び出しにおいて、出力パラメーターとするために必須であるパラメーターにリテラル・ストリングが渡されました。
1007 パラメーターに無効な値が含まれています。
2000 フラット・ファイル・インターフェース組み込み関数が指定ファイルを検出できませんでした。
2001 フラット・ファイル・インターフェース組み込み関数が指定ファイルをオープンできませんでした。 このファイルは該当または他のプロセスにより使用中で、指定モードでは共用できません。
2003 フラット・ファイル・インターフェース組み込み関数が、データ行を表変数に読み込めません。 行内のバイト数が、サポートされる最大バイト数を超えています。
2004 フラット・ファイル・インターフェース組み込み関数がファイルを検出しようとしましたが、 FFI_PATH 構成ファイル変数にあるパスが、 サポートされる最大バイト数 (4095) を超えています。
2005 システム機能の呼び出しが失敗しました。
2006 フラット・ファイル・インターフェース組み込み関数が指定ファイルにアクセスできません。 このファイルは該当または他のプロセスにより使用中で、 指定モードでは共用できません。

使用上の注意

ファイルが存在しない場合には、ファイル名として絶対パスを指定する必要があり、 そのファイルが作成されるディレクトリーは、 FFI_PATH で指定されたディレクトリーと一致しなければなりません。絶対パスを使用しないと、そのファイルは現行作業ディレクトリーにオープンされます。

例 1:

%DEFINE {
   myFile = "c:/private/myfile"
   myTable = %TABLE
%}
@DTWF_WRITE(myFile, "DELIMITED", ";", myTable)

例 2:

%DEFINE {
   myFile = "c:/private/myfile"
   myTable = %TABLE
%}
@DTWF_WRITE(myFile, "ASCIITEXT", ";", myTable, "5000")

例 3:

%DEFINE {
   myFile = "c:/private/myfile"
   myTable = %TABLE
%}
@DTWF_WRITE(myFile, "ASCIITEXT", ";", myTable, "5000", "10", "50")


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]