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);
..
}親トピック: prepro-ims.pl