1.1.10.6 パラメータ

次の各表に、prepro-ims.plのパラメータ、終了コードおよびサポート・モードをそれぞれ示します。

表1-4 prepro-ims.plのパラメータ

オプション名 値の範囲 コメント
-i 既存のファイルまたはディレクトリ IBM IMSアプリケーション・プロジェクトからの元のCプログラム・ファイルです。ファイル名の接尾辞は、.cまたは.hである必要があります。また、*や?などの単純なワイルドカードもサポートされています。
-o ファイルまたはディレクトリ 書込み先の宛先ファイルまたはディレクトリです。ディレクトリが存在しない場合は作成されます。
-m ファイル 宛先プログラム用に生成されたMakefileです。宛先ディレクトリ内に配置されています。このファイル名は、相対パスまたは絶対パスであってはなりません。

表1-5 終了コード

終了コード 意味 コメント
0 成功  
1 失敗 一般的なエラー
2 失敗 無効な引数

表1-6 サポート・モード

-i -o サポート
directory directory Y
dir1/file1 dir2/file2 Y
dir1/file1 dir2 Y
dir2/file2 … dir3 Y ソース・ファイルのディレクトリは、ディレクトリ3とは異なる必要があります。

ソース・プログラムは次のリストに類似したものになります。

ソース・プログラムのリスト
/* #pragma runopts(env(IMS), plist(IMS)) */
#include <ims.h>
#include <stdio.h>
#define n 20   /* I/O area size - Application dependent */
typedef struct {PCB_STRUCT(10)} PCB_10_TYPE;

int main() 
{
static const char func_GU[4] = "GU ";
static const char func_ISRT[4] = "ISRT";

char ssa_name[] = "ORDER ORDER (ORDERKEY = 666666)";

int rc;
char msg_seg_io_area[n];
char db_seg_io_area[n];
char alt_msg_seg_out[n];

PCB_STRUCT_8_TYPE *alt_pcb;
PCB_10_TYPE *db_pcb;
IO_PCB_TYPE *io_pcb;

io_pcb = (IO_PCB_TYPE *)__pcblist[0];
alt_pcb = __pcblist[1];
db_pcb = (PCB_10_TYPE *)__pcblist[2];

..
/* get first message segment from message area */
rc = ctdli(func_GU, io_pcb, msg_seg_io_area, NULL);
..
/* get the data from the database having the specified key value */
rc = ctdli(func_GU, db_pcb, db_seg_io_area, ssa_name, NULL);
..
/* build output message in program's I/O area */
rc = ctdli(func_ISRT, alt_pcb, alt_msg_seg_out, NULL);
..
}