持ち回りで使用するデータ項目の内容を更新しないでください。
アプリケーション識別子、会話識別子などは、DPCライブラリから返却された数値を、そのまま使用します。ACCEPTなどを用いて、数値を更新しないでください。
送受信に使用する可変な領域の大きさは最大で確保します。
LOGON文字列、メッセージデータなどは、領域の大きさが可変です。しかし、COBOLは言語仕様上、領域を可変で獲得することができません。領域の大きさは、最大で確保するようにしてください。
桁溢れが発生する数値は転記して利用します。
以下のパラメータ値は、そのままCOBOLで利用すると桁溢れが発生します。パラメータ値を利用する場合、より大きい桁を扱うデータ項目に値を転記してください。そして、より大きい桁を扱うデータ項目を利用してください。
localerr(DFOPEN,DFCLOSE,DPCFEXPORT,DPCFIMPORT,DPCDISPLAY,DPCDELETEのパラメータ)
db-retcode(DPCDBCONVERTのパラメータ)
db-detail(DPCDBCONVERTのパラメータ)
文字列の設定はパソコン側のコード体系で行います。
文字列はASCIIコード、シフトJISで指定します。
翻訳時には、翻訳オプション“BINARY(BYTE),NOALPHAL”が必要です。
パラメータには、1バイトの大きさの数値を扱うものがあります。また、DPCライブラリSDKの言語インタフェースの関数名には、大文字、小文字が混在します。
COBOLプログラムを翻訳する時、翻訳オプション“BINARY(BYTE),NOALPHAL”を指定してください。
翻訳オプション"DLOAD"を指定し、作成したアプリケーションを実行する場合、利用するDPCライブラリSDKの言語インタフェースの関数がどのDLLに格納されているかを示すエントリ情報が必要になります。エントリ情報の詳細については、COBOLの使用手引書の「副プログラムのエントリ情報」を参照してください。また、DPCライブラリSDKの言語インタフェースの関数が、どのDLLに格納されているのかについては「1.2 インストール」の表に記載されている関数ライブラリの名前「~.lib」を「~.dll」と置き換えることによって確認できます。
例)XDpc_Openをエントリ情報に記述する。
[ENTRY] XDpc_Open = f3azdpc.dll
・プログラムのヒント
a) 文字列の終端にNULLを設定する
文字列を指定するパラメータがあります。このパラメータに、文字列の終端を示すNULL(X"00")を設定する場合があります。COBOLは言語仕様上、文字列の終端を示すNULLを設定しません。したがって、明示的に文字列の終端を示すNULLを設定する必要があります。
以下に、文字列の終端を示すNULLを設定する方法を示します。
MOVE "ABC" TO PRIVATE-NAME MOVE X"00" TO PRIVATE-NAME(4:1)
PRIVATE-NAMEには、バイナリ値「0x41,0x42,0x43,0x00」が設定されます。
b) 領域の大きさを求める
領域の大きさを指定するパラメータがあります。以下に示すCOBOLの組み込み関数を利用すると便利です。この関数は、指定された領域の大きさをバイト数で返却します。
MOVE FUNCTION LENG(MSG) TO MSGLEN