ブックタイトルTET5
- ページ
- 45/228
このページは TET5 の電子ブックに掲載されている45ページの概要です。
秒後に電子ブックの対象ページへ移動します。
「ブックを開く」ボタンをクリックすると今すぐブックを開きます。
このページは TET5 の電子ブックに掲載されている45ページの概要です。
秒後に電子ブックの対象ページへ移動します。
「ブックを開く」ボタンをクリックすると今すぐブックを開きます。
TET5
3.13 RPGバインディングTETは、TET関数群を埋め込んでILE-RPGプログラム群をコンパイルするために必要なすべてのプロトタイプといくつかの有用な定数を定義する/copyモジュールを提供しています。Unicode文字列処理TET関数はすべて可変長のUnicode文字列を引数として用いますので、%ucs2ビルトイン関数を用いてシングルバイト文字列をUnicode文字列へ変換する必要があります。TET関数が返す文字列はすべて可変長のUnicode文字列です。このUnicode文字列をシングルバイト文字列へ変換するには%charビルトイン関数を用います。注記%CHAR・%UCS2関数は、カレントジョブのCCSIDを用いてUnicodeとの文字列相互変換を行います。TETとともに提供されている作成例は、CCSID 37(US EBCDIC)をベースとしています。他のコードページでこれらの作成例を走らせた場合には、オプションリスト内のいくつかの特殊キャラクタ({ [ ] }等)が正しく翻訳されない可能性があります。文字列はすべて可変長文字列として渡されますので、明示的な文字列長をとる関数にlength引数を渡してはいけません(可変長文字列の長さは文字列の先頭2バイトに格納されています)。TETに対するRPGプログラムをコンパイル・バインドRPGでTETの関数を利用するには、コンパイルされたTETサービスプログラムが必要です。TETの定義群をコンパイル時にインクルードするには、ILE-RPGプログラムのDスペック内でその名前を指定する必要があります:d/copy QRPGLESRC,TETLIBTETのソースファイルライブラリがライブラリリストのトップにない場合は、ライブラリも指定する必要があります:d/copy tetsrclib/QRPGLESRC,TETLIBILE-RPGプログラムのコンパイルの際には、開始前にバインディングディレクトリを作成し、そこにTET付属のTETLIBサービスプログラムを入れておく必要があります。たとえば、ライブラリTETLIBの中にTETLIBというバインディングディレクトリを作成したいときは、次のように指定します:CRTBNDDIR BNDDIR(TETLIB/TETLIB) TEXT('TETlib Binding Directory')バインディングディレクトリを作成したら、TETLIBサービスプログラムをバインディングディレクトリに追加する必要があります。たとえば、ライブラリTETLIBの中のサービスプログラムTETLIBを、さきに作成したバインディングディレクトリに追加したいときは、次のように指定します:ADDBNDDIRE BNDDIR(TETLIB/TETLIB) OBJ((TETLIB/TETLIB *SRVPGM))そして、CRTBNDRPGコマンドを用いて(またはPDMでオプション14を用いて)プログラムをコンパイルすれば完了です:CRTBNDRPG PGM(TETLIB/EXTRACTOR) SRCFILE(TETLIB/QRPGLESRC) SRCMBR(*PGM) DFTACTGRP(*NO)BNDDIR(TETLIB/TETLIB)3.13 RPGバインディング45