1. 対象のスプールの属性を調べて、1ページ当たりの行数を確認します。下の画面の例では、"66 行" になります。
スプールの属性 66行/1ページ |
2. 次の “3” で指定する、スプールに無いデータが、上の ”1” で確認した行数 +1 行目に追加されることを前提に、MapDraw 上で帳票設計します。下の画面の例では、67 行目に 10 桁のデータが追加されることを想定し、”DATETIME” というゾーンを設定しています。
追加のゾーンの指定 |
3. プロジェクトの生成 → 取り込みを行った後、次のコマンドを実行して、"QTEMP" というライブラリー内に、"MAPUSRDTA" というデータ・エリアを作成します。この例では、YYYY/MM/DDという文字をデータエリア内に作成します。
CRTDTAARA DTAARA(QTEMP/MAPUSRDTA) TYPE(*CHAR)
LEN(2000) VALUE('YYYY/MM/DD’)
データ・エリア作成コマンド |
4.MAPCPYSPLFコマンドを使用して、PDFファイルを生成します。
MAPCPYSPLF コマンド 1 画面目 |
MAPCPYSPLF コマンド 2 画面目 |
MAPCPYSPLF コマンド 3 画面目 |
5. 生成された PDF ファイルを表示すると、”2” で指定した箇所に、”3” で追加したデータが表示されたことを確認できます。
追加された文字 |
データ・エリアとは、プログラム間、ジョブ間の制御情報として使用されるディスク上の記憶域を表すオブジェクトの一つで、OS/400 の機能の一つです。ユーザー定義のデータ・エリアとローカル・データ・エリアがありますが、ここで使用するのは、ユーザーが作成するデータ・エリアです。任意のライブラリーに作成でき、複数のジョブで利用可能です。
ここでは、MAPCPYSPLF コマンドを実行する際に、67 行目にデータ・エリアの内容を取り込んで処理するために、事前に "*.pag" ファイルとして表示することができません。ただ、データ・エリア内の値を表示するには、次のコマンドを実行します。
WRKDTAARA DTAARA(QTEMP/MAPUSRDTA)
次の画面が表示されますので、"5= 表示" を実行します。
データ・エリアの表示 |
次の画面のように、データ・エリア内のデータが表示されます。
データ・エリアの内容の表示 |
この例では追加する文字は固定値でしたが、実際には日付や時刻等の変数を追加する方が多いと考えられます。日付や時刻の追加の場合のCLの例を次に示します。
DCL VAR(&SYSTME) TYPE(*CHAR)
LEN(20)
RTVJOBA DATETIME(&SYSTME)
CRTDTAARA DTAARA(QTEMP/MAPUSRDTA)
TYPE(*CHAR) LEN(2000) VALUE(&SYSTME)
MAPCPYSPLF…
これによって、データエリア (QTEMP/MAPUSRDTA) に YYYYMMDDHHNNSSXXXXXX がセットされます。
0 件のコメント:
コメントを投稿