ページの先頭行へ戻る
DP/Cライブラリ ソフトウェア開発キット V7.2 使用手引書L10

2.3.4 DPCDBCONVERT

【機能】

DPCFEXPORTでホストに送信したファイルを、ホスト側のデータベースに変換、またはホスト側のデータベースからDPCFIMPORTで受信可能なファイルに変換するための情報を、ホスト側に通知します。本機能は、DB変換とも呼びます。
本機能を使用するために、以下の関数を提供しています。運用形態によって、どちらを使用するか決定してください。
(1) XDpc_DBconvert( )
(2) XDpc_DBconvreq( )、XDpc_DBconvrsp( )
(1)は、他の機能で提供している関数と同じく完了復帰型です。(2)は、即時復帰型の関数を2つ使用します。(2)は(1)に比べて、以下の機能が追加されています。

(1) XDpc_DBconvert( )を使用する場合

【書式】

unsigned int WINAPI XDpc_DBconvert(dpcdbcom,dpcdbfct,apl_id)
    struct    dpcdbcom    *dpcdbcom    ;
    struct    dpcdbfct    *dpcdbfct    ;
    unsigned short         apl_id      ;

◆構造体の説明◆

dpcdbcom

リターンコード等が通知されます。

struct  dpcdbcom {
    long db_convrec               ;
    unsigned short db_retcode     ;
    unsigned short db_detail      ;
    char db_reserve[16]           ;
    }
dpcdbfct              :DB変換のための情報を指定します。
struct  dpcdbfct {
    char db_sysname[8]      ;
    char db_fid[8]          ;
    long db_prime           ;
    long db_second          ;
    long db_recsize         ;
    char db_vol[6]          ;
    char db_reserve[16]     ;
    }

【入力】

char db_sysname[8]

DPCCONNECTで指定した相手システム名を8バイトで指定します。7バイト以内で指定する場合は、有効な名前の直後に空白文字かNULLを指定してください。

char db_fid[8]

DB変換対象となるホストのファイル識別名(一時名)を8バイトで指定します。ホストのファイル識別名を7バイト以内で指定する場合は、有効な名前の直後に空白文字かNULLを指定してください。

long db_prime

ホストのファイルが必要とする初期容量を、レコード数で指定します。ホスト側の設定によっては省略可能です。省略する場合は、ボリューム通し番号も省略するようにしてください。
範囲:1~65535

long db_second

ホストのファイルが必要とする二次容量をレコード数で指定します。ホスト側の設定によっては省略可能です。省略する場合は、ボリューム通し番号も省略するようにしてください。
範囲:0~65535

long db_recsize

ホストのファイルのレコード長を指定します。
範囲:1~32760バイト
また、Lotus形式のファイル、CSV形式およびSDF形式のファイルは、次のレコード長を指定します。

  • CSV、Excel、Lotus形式:4096バイト

  • SDF形式:各カラム長の総和+2

ホスト側の設定によっては省略可能です。省略する場合は、ボリューム通し番号も省略するようにしてください。

char db_vol[6]

ホストのファイルを新規に作成する場合に、ファイルを作成するボリューム通し番号を6バイトで指定します。ホスト側の設定によっては省略可能です。省略する場合は、6バイトすべてに空白文字を入れるか、1バイト目にNULLを入れてください。本パラメータを省略した場合、初期容量、二次容量、レコード長パラメータも省略したものとして扱われます。

char db_reserve[16]

システム予約領域です。NULLを指定してください。

unsigned short apl_id

DPCOPENで通知されたアプリケーションの識別子を指定します。

【関数返却値】

リターンコードと同じ値が返されます。

【出力】

long db_convrec

変換レコード数が通知されます。

unsigned short db_retcode

リターンコードが返されます。詳細は、「DP/Cライブラリ V7.2 使用手引書 付録C リターンコード」を参照してください。

unsigned short db_detail

ローカルエラーコードが返されます。詳細は、「DP/Cライブラリ V7.2 使用手引書 付録C リターンコード」を参照してください。

char db_reserve[16]

システム予約領域です。

注意

DPCDBCONVERTの入力パラメータである、初期容量、二次容量、レコード長、ボリューム通し番号について、省略する場合はこれら4つのパラメータをすべて省略し、設定する場合はすべて設定してください。また、ボリューム通し番号を省略すると、他の3つのパラメータもすべて省略されたものとして、ホストと通信します。

参考

初期容量、二次容量、レコード長、ボリューム通し番号の設定値について

RDBII/SymfoWAREに格納する場合は省略可能です(AP/JOIN V11以降)。
RDBII/SymfoWAREから抽出する場合は端末側からの設定がなければ、AP/JOIN内でそれぞれの引数を用意しています(AP/JOIN V12以降)。
最新版のAP/JOINでは格納/抽出ともに省略可能です。

(2) XDpc_DBconvreq( )XDpc_DBconvrsp( )を使用する場合

●依頼関数

【書式】

unsigned int WINAPI XDpc_DBconvreq(dbconv_id, dpccom2, dpcconc2, apl_id)
    long                   *dbconv_id   ;
    struct    dpcdbcom2    *dpccom2     ;
    struct    dpcdbfct2    *dpcconc2    ;
    unsigned   short        apl_id      ;

◆構造体の説明◆

dpccom2

リターンコード等が通知されます。

struct    dpcdbcom2 {
    long db_convrec              ;
    unsigned short db_retcode    ;
    unsigned short db_detail     ;
    long db_hostdetail           ;
    char db_reserve[12]          ;
    }

dpcconc2

ホストデータベースへの変換、パソコンへ受信可能なファイルへの変換のための情報を指定します。

struct  dpcdbfct2 {
    char db_sysname[8]           ;
    char db_fid[8]               ;
    long db_prime                ;
    long db_second               ;
    long db_recsize              ;
    char db_vol[6]               ;
    short db_clistleng           ;
    char *db_clist               ;
    char db_reserve[16]          ;
    }

【入力】

char db_sysname[8]

DPCCONNECTで使用した相手システム名を8バイトで指定します。7バイト以内で指定する場合は、有効な名前の直後に空白文字かNULLを指定してください。

char db_fid[8]

変換対象となるホストのファイル識別名(一時名)を8バイトで指定します。7バイト以内で指定する場合は、有効な名前の直後に空白文字かNULLを指定してください。

long db_prime

ホストのファイルが必要とする初期容量をレコード数で指定します。ホスト側の設定によっては省略可能です。省略する場合はボリューム通し番号も省略するようにしてください。
範囲:1~65535バイト

long db_second

ホストのファイルが必要とする二次容量をレコード数で指定します。ホスト側の設定によっては省略可能です。省略する場合はボリューム通し番号も省略するようにしてください。
範囲:0~65535バイト

long db_recsize

ホストのファイルのレコード長を指定します。
範囲:1~32760バイト
また、Lotus形式のファイル、CSV形式およびSDF形式のファイルは、次のレコード長を指定します。

  • CSV、Excel、Lotus形式:4096バイト

  • SDF形式:各カラム長の総和+2

ホスト側の設定によっては省略可能です。省略する場合はボリューム通し番号も省略するようにしてください。

char db_vol[6]

ホストのファイルを新規に作成する場合に、ファイルを作成するボリューム通し番号を6バイトで指定します。ホスト側の設定によっては省略可能です。本パラメータを省略した場合、初期容量、二次容量、レコード長パラメータも省略したものとして扱われます。

short db_clistleng

条件式の長さを指定します。
範囲:0~4096

char *db_clist

変換を行う際に必要なデータを選択する条件式を指定します。また、条件式を記述したテキストファイルを指定することもできます。テキストファイルを指定する場合はファイル名をシングルクォートで囲んで指定してください。条件式は、最大4096まで指定できますが、条件式に記述できるバイト数は次の式により求めてください。また、ホスト側の設定によっては省略可能です。

《式》
条件式で記述できるバイト数≦4096-(ホストユーザCLIST内のLOAD/UNLOAD文長+34)
(+34は、LOAD/UNLOADコマンド文作成時に必要なWORK領域の長さ)

char db_reserve[16]

システム予約領域です。NULLを指定してください。

unsigned short apl_id

DPCOPENで通知されたアプリケーションの識別子を指定します。

【関数返却値】

リターンコードと同じ値が返されます。

【出力】

long db_convec

現在未使用です。

unsigned short db_retcode

リターンコードが返されます。詳細は、「DP/Cライブラリ V7.2 使用手引書 付録C リターンコード」を参照してください。

unsigned short db_detail

ローカルエラーコードが返されます。詳細は、「DP/Cライブラリ V7.2 使用手引書 付録C リターンコード」を参照してください。

long db_hostdetail

現在未使用です。

char db_reserve[12]

システム予約領域です。NULLを指定してください。

long *dbconv_id

正常終了した場合、DB変換の識別子が通知されます。通知されたDB変換の識別子を受信関数で指定してください。


●受信関数

【書式】

unsigned int WINAPI XDpc_DBconvrsp(dbconv_id,complete,dpccom2,apl_id)
    long                   dbconv_id    ;
    unsigned    short     *complete     ;
    struct    dpcdbcom2   *dpccom2      ;
    unsigned  short        apl_id       ;

◆構造体の説明◆

dpccom2
struct    dpcdbcom2 {
    long db_convrec              ;
    unsigned short db_retcode    ;
    unsigned short db_detail     ;
    long db_hostdetail           ;
    char db_reserve[12]          ;
    }

【入力】

long dbconv_id

依頼関数で通知されたDB変換の識別子を指定します。

unsigned short apl_id

DPCOPENで通知されたアプリケーションの識別子を指定します。

【関数返却値】

リターンコードと同じ値が返されます。

【出力】

unsigned short *complete

変換処理が終了したかどうかが通知されます。

  • 0x0000:変換処理が終了していません。

  • 0x0001:変換処理が終了しています。

long db_convrec

受信関数を発行した時点での変換レコード数が通知されます。

注意

ホストがPG6000/GP6000/Kシリーズの場合は、変換処理がすべて終了した後にのみ変換レコード数が通知されます。

unsigned short db_retcode

リターンコードが返されます。詳細は、「DP/Cライブラリ V7.2 使用手引書 付録C リターンコード」を参照してください。

unsigned short db_detail

ローカルエラーコードが返されます。詳細は、「DP/Cライブラリ V7.2 使用手引書 付録C リターンコード」を参照してください。

long db_hostdetail

ホスト詳細コードが返されます。

注意

ホストがGS/PRIMEFORCE/Mシリーズの場合は、通知されるホスト詳細コードは、AP/JOINが出力するメッセージの下線部分になります。詳細は、AP/JOINのマニュアルを参照してください。
また、AP/JOINのメッセージの出力元の種類はDB変換になりますので、KZEのあとは「D」となります。

例)

AP/JOINが出力するメッセージ

ホスト詳細コード

KZED502E

0x0502

ホストがPG6000/GP6000/Kシリーズの場合は、通知されるホスト詳細コードは、ASPシステムメッセージ集のメッセージ番号になります。詳細は、ASPシステムメッセージ集のマニュアルを参照してください。

char db_reserve[12]

システム予約領域です。NULLを指定してください。

注意

DPCDBCONVERTの入力パラメータである、初期容量、二次容量、レコード長、ボリューム通し番号について、省略する場合はこれら4つのパラメータをすべて省略し、設定する場合はすべて設定してください。また、ボリューム通し番号を省略すると、他の3つのパラメータもすべて省略されたものとして、ホストと通信します。

参考

初期容量、二次容量、レコード長、ボリューム通し番号の設定値について

RDBII/SymfoWAREに格納する場合は省略可能です(AP/JOIN V11以降)。RDBII/SymfoWAREから抽出する場合は端末側からの設定がなければ、AP/JOIN内でそれぞれの引数を用意しています(AP/JOIN V12以降)。最新版のAP/JOINでは格納/抽出ともに省略可能です。