サンプルプログラムを作る
-
画面フォーマット生成を使うにはまず「画面フォーマット定義パラメータ」で画面イメージを作る必要があります。
そのほかに画面フォーマット生成で作ったCUとリンクするCOBOLのプログラムも必要です。
- ■画面フォーマット
-
画面フォーマット生成で使用する「画面フォーマット」というものを作ります。
「画面フォーマット定義パラメータ」というもので作ります。
ここで「画面フォーマット画面パラメータ」の命令の1つ1つを説明すると厖大になるので、省略します。「互換操作法ガイドブック<パラメータ編>」の「6.5 画面フォーマット生成」−「6.5.2 機能」を見てください。
#TEDITで「画面フォーマット」を作るときは、TEXT TYPEは「7.SCREEN」を選びます。
下のような画面を出すように作ります。
上半分は「互換操作法ガイドブック」のサンプルを参考に作りました。下半分はいろいろな表示パターンを試すためのものです。
SCREEN URIDEN MOD K25 ARE(1,20)_ ********************************************* * 伝票入力っぽい画面を表示 * ********************************************* * * ヘッダ部 * BOX(1,22)(,55)_ CON(1,28) NC"売 上 伝 票 入 力"_ CON(3,5) NC"伝票区分"_CON(3,17) NC":"_ CON(4,5) NC"得意先コード"_CON(4,17) NC":"_ CON(5,5) NC"得意先名"_CON(5,17) NC":"_ CON(4,32) NC"伝票番号"_CON(4,40) NC":"_ CON(4,54)NC"作成日:"_CON(4,66) NC"年"_CON(4,70) NC"月"_CON(4,74)NC"日"_ * * 明細、合計部 * BOX(7,2)(13,79)_UND(07,02)(12,79)_ VER(7,8)(13)_VER(7,20)(13)_VER(7,45)(12)_ VER(7,52)(12)_VER(7,65)(14)_ VER(13,32)_VER(13,38)_VER(13,50)_ VER(14,60)_VER(14,79)_ UND(14,60)(14,79)_ CON(7,3)NK"NO"_ CON(7,9)NC"商品"_CON(7,13)NK"コード"_ CON(7,27)NC"商 品 名"_ CON(7,47) NC"数量"_ CON(7,56)NC"単 価"_ CON(7,69)NC"金 額"_ CON(8,3)NC"01"_ CON(9,3)NK"02"_ CON(10,3)NX"23302333"_ CON(11,3)NC"04"_ CON(12,3)NC"05"_ CON(13,3)NC"99"_ CON(13,11)NC"梱包費"_ CON(13,33)NC"運賃"_ CON(13,54)NC"附帯費計"_ CON(14,61)NC"合計"_ ********************************************* * いろいろな出力 * ********************************************* ! 罫線関係 BOX(16,1)(18,3)_ * 囲線 VER(16,5)(19,5)_ * 縦線 OVE(16,5)(16,10)_ * 上横線 UND(19,5)(19,10)_ * 下横線 VER(16,10)(19,10)_ ! 表示文字に属性を付ける CON (16,20)NC"赤 緑 黄 青 紫 水 白"_ RED(16,20)(,21)_ * 赤色を付ける GRE(16,24)(,25)_ * 緑色を付ける YEL(16,28)(,29)_ * 黄色を付ける BLU(16,32)(,33)_ * 青色を付ける MAG(16,36)(,37)_ * 紫色を付ける CYA(16,40)(,41)_ * 水色を付ける WHI(16,44)(,45)_ * 白色を付ける CON(17,20)NC"点滅"_ BLI(17,20)(,23)_ * 文字を点滅 CON(17,30)NC"反転"_ REV(17,30)(,33)_ * 文字を反転 CON(17,40)NC"非表示"_ SEC(17,41)(,44)_ * 文字を非表示 ! 複数の属性を付けるのもOK CON(19,20)NC"赤+点滅 黄+反転 青+点滅+反転"_ RED(19,20)(,27)_BLI(19,20)(,27)_ ! 赤+点滅 YEL(19,30)(,37)_REV(19,30)(,37)_ ! 黄+反転 BLU(19,40)(,53)_BLI(19,40)(,53)_REV(19,40)(,53)_ ! 青+点滅+反転 RED(19,5)(19,7)_ * 色は罫線には付かない CON(19,6)NC"あ"_ * 後から文字書いても属性は付く ! その他 CON(20,40)"ABC"_ CON(21,5)NC"表示した?"_ * AREAからはみ出す位置はどうなる? END_
出来たらSULに仕舞います。
COBOLで作ったプログラムと同じSULに入れてもいいですし、別のSULに分けて入れてもいいです。
- ■画面フォーマットを呼び出すCOBOLプログラム
-
画面フォーマットは単に画面イメージを作るだけなので、それを呼び出すCOBOLプログラムが必要となります。
下のプログラムの20行目のCALL文で画面を表示しています。
000010************************************************** 000020* SAMPLE PROGRAM (NAME:GIFU) * 000030* SFGEN 画面表示 * 000040************************************************** 000050 IDENTIFICATION DIVISION. 000060 PROGRAM-ID. GIFU. 000070* 000080 ENVIRONMENT DIVISION. 000090* 000100 DATA DIVISION. 000110 WORKING-STORAGE SECTION. 000120 01 KEY-IN PIC X(01). 000130 SCREEN SECTION. 000140 SD GAMEN END STATUS IS ENDSTS. 000150 01 ACPT-IN. 000160 05 LINE 24 COLUMN 40 PIC X(01) USING KEY-IN. 000170 PROCEDURE DIVISION. 000180 MPRG. 000190*画面表示 000200 CALL "URIDEN". 000210 ACCEPT ACPT-IN. 000220 MPRG-E. 000230 EXIT.
COBOLで作ったプログラムは、コンパイルしてCU化しておきます。
例えば下のような感じ。
/RUN CBL85; SUD=MSD_SUF=TESTAPSUL_LBD=MSD_LBF=SYS@SUL_ CUD=MSD_CUF=TESTAPCUL_ WKD=TEMPORARY_WSZ=1000_ PRD=PRN999_ PRG=GIFU_MOD=REPLACE_ COD=SOURCE_LIST=YES_HAT=NO_DBG=SOURCE_ OPT=NO_ NXT=NO_ /> ;