それでは具体的なパネル・グループによるヘルプの例を
紹介しよう。
次の5250画面は受注入力の画面でのヘルプの様子を
示している。
[解説]
この画面では「商品コード」の欄にカーソルを合わせて
F1キーを押すと上記のようなヘルプ解説が表示される。
WindowsアプリやWebアプリではGUI化されているので
エンド・ユーザーは説明を受けなくても操作方法は
理解できるのだが5250エミュレータ画面では
GUIコントロールがないので操作を推測することができない。
しかし、このように十分なヘルプを用意しておくと
5250画面でもエンド・ユーザーにも操作をわかりやすくすることが
できる。
それではこの画面のDSPFソースから紹介しよう。
[DSPF: PGM201FM ]
ソースはこちらから
0001.00 A*%%TS SD 20070731 210529 QTR REL-V5R4M0 5722-WDS 0002.00 A*-----------------------------------------------* 0003.00 A* SFLENT : サブ・ファイル入力 0004.00 A* 0005.00 A* 受注の入力 0006.00 A* 0007.00 A* CRTEXDSPF QTROBJ/PGM201FM + 0008.00 A* SRCFILE(QTRSRC/QDSPSRC) LVLCHK(*NO) AUT(*ALL) 0009.00 A*-----------------------------------------------* 0010.00 A DSPSIZ(27 132 *DS4 24 80 *DS3) 0011.00 A *DS4 MSGLOC(27) 0012.00 A *DS3 MSGLOC(24) 0013.00 A PRINT 0014.00 A HELP 0015.00 A ALTHELP(CA01) 0016.00 A HLPPNLGRP(PGM201H QTROBJ/PGM201H) 0017.00 A HLPTITLE(' 受注の入力 ') 0018.00 A R DSPHEAD 0019.00 A TEXT(' 初期画面 ') 0020.00 A CF03(03 ' 終了 ') 0021.00 A SETOF(99) 0022.00 A BLINK 0023.00 A H HLPARA(2 12 2 17) 0024.00 A HLPPNLGRP('PGM201/JUCNO' - 0025.00 A QTROBJ/PGM201H) 0026.00 A 1 27' 受注の入力 ' 0027.00 A DSPATR(HI) 0028.00 A* COLOR(PNK) 0029.00 A 2 2' 受注№ ' 0030.00 A JUCNO 5Y 0B 2 12TEXT(' 受注№ ') 0031.00 A CHECK(RZ) 0032.00 A CHECK(ER) 0033.00 A 11 15' 必要な項目を打鍵して実行キーを押 + 0034.00 A して下さい。 ' 0035.00 A* DSPATR(HI) 0036.00 A 11 63HTML('') 0038.00 A 23 2'F3= 終了 ' 0039.00 A COLOR(BLU) 0040.00 A 24 2' これはメッセージ・テストです ' 0041.00 A R SFREC01 SFL 0042.00 A TEXT(' SFLレコード ') 0043.00 A 20 0044.00 AO 99 SFLNXTCHG 0045.00 A GYO 4A B 9 2TEXT(' № ') 0046.00 A 03 DSPATR(UL) 0047.00 A JHCODE R B 9 7REFFLD(SHOHINR/SHCODE QTRFIL/SHOHIN) 0048.00 A TEXT('*POPUP SHCODE,SHNAME,SHTANK') 0049.00 A 66 DSPATR(PC) 0050.00 A 66 DSPATR(RI) 0051.00 A SHNAME R O 9 18REFFLD(SHOHINR/SHNAME QTRFIL/SHOHIN) 0052.00 A TEXT(' 商品名 ') 0053.00 A JUSUR 3Y 0B 9 48TEXT(' 受注数 ') 0054.00 A EDTCDE(Z) 0055.00 A CHECK(RB) 0056.00 A DSPATR(CS) 0057.00 A 71 DSPATR(PC) 0058.00 A JUTANK R 7Y 0B 9 55REFFLD(SHOHINR/SHTANK QTRFIL/SHOHIN) 0059.00 A TEXT(' 単価 ') 0060.00 A EDTCDE(K) 0061.00 A CHECK(RB) 0062.00 A DSPATR(CS) 0063.00 A JUKING 7Y 0B 9 67TEXT(' 受注金額 ') 0064.00 A EDTCDE(K) 0065.00 A CHECK(RB) 0066.00 A DSPATR(CS) 0067.00 A ZKSU 5Y 0O 9 82TEXT(' 在庫数 ') 0068.00 A EDTCDE(K) 0069.00 A THSU 5Y 0O 9 92TEXT(' 手配数 ') 0070.00 A EDTCDE(K) 0071.00 A* 0072.00 A R SFCTL01 SFLCTL(SFREC01) 0073.00 A*%%TS SD 20070731 174853 QTR REL-V5R4M0 5722-WDS 0074.00 A SFLSIZ(0013) 0075.00 A *DS3 SFLSIZ(0011) 0076.00 A SFLPAG(0012) 0077.00 A *DS3 SFLPAG(0010) 0078.00 A TEXT(' SFLコントロール ') 0079.00 A ROLLUP(14 ' 次頁 ') 0080.00 A ROLLDOWN(15 ' 前頁 ') 0081.00 A CF03(03 ' 終了 ') 0082.00 A CF04(04 'プロンプト') 0083.00 A CF05(05 ' 照会 ') 0084.00 A CF10(10 ' 更新 ') 0085.00 A CF23(23 ' 削除 ') 0086.00 A CF12(12 ' 前画面 ') 0087.00 A SETOF(99) 0088.00 A BLINK 0089.00 A OVERLAY 0090.00 A 42 SFLDSP 0091.00 A 41 SFLDSPCTL 0092.00 A 43 SFLINZ 0093.00 A 46 SFLDLT 0094.00 A 44 SFLCLR 0095.00 A 45 SFLEND(*MORE) 0096.00 A* 45 SFLEND(*SCRBAR) 0097.00 A* SFLDROP(CF11) 0098.00 A MOUBTN(*ULP CF04) 0099.00 A 61 SFLMSGID(EDT0411 QPDA/QEDTMSG 61) 0100.00 A 62 SFLMSGID(EDT0410 QPDA/QEDTMSG 62) 0101.00 A 66 SFLMSGID(CPF9897 QSYS/QCPFMSG + 0102.00 A 66 &MSGDTA) 0103.00 A 67 SFLMSGID(CPD6A6D QSYS/QCPFMSG 67) 0104.00 A RTNCSRLOC(&RCD &FLD &CSRP) 0105.00 A H HLPARA(2 12 2 17) 0106.00 A HLPPNLGRP('PGM201/JUCNO' - 0107.00 A QTROBJ/PGM201H) 0108.00 A H HLPARA(4 17 4 20) 0109.00 A HLPPNLGRP('PGM201/JUTKCD' - 0110.00 A QTROBJ/PGM201H) 0111.00 A H HLPARA(3 71 3 78) 0112.00 A HLPPNLGRP('PGM201/JUDATE' - 0113.00 A QTROBJ/PGM201H) 0114.00 A H HLPARA(4 71 4 78) 0115.00 A HLPPNLGRP('PGM201/JUNOKI' - 0116.00 A QTROBJ/PGM201H) 0117.00 A H HLPARA(6 13 6 14) 0118.00 A HLPPNLGRP('PGM201/JUKBN' - 0119.00 A QTROBJ/PGM201H) 0120.00 A H HLPARA(6 45 6 46) 0121.00 A HLPPNLGRP('PGM201/JUSHOR' - 0122.00 A QTROBJ/PGM201H) 0123.00 A H HLPARA(6 68 6 71) 0124.00 A HLPPNLGRP('PGM201/JUTANT' - 0125.00 A QTROBJ/PGM201H) 0126.00 A H HLPARA(9 7 18 16) 0127.00 A HLPPNLGRP('PGM201/JHCODE' - 0128.00 A QTROBJ/PGM201H) 0129.00 A H HLPARA(9 48 18 50) 0130.00 A HLPPNLGRP('PGM201/JUSUR' - 0131.00 A QTROBJ/PGM201H) 0132.00 A H HLPARA(9 55 18 61) 0133.00 A HLPPNLGRP('PGM201/JUTANK' - 0134.00 A QTROBJ/PGM201H) 0135.00 A H HLPARA(9 67 18 73) 0136.00 A HLPPNLGRP('PGM201/JUKING' - 0137.00 A QTROBJ/PGM201H) 0138.00 A DSPREC 4S 0H SFLRCDNBR(CURSOR) 0139.00 A RCD 10A H 0140.00 A FLD 10A H 0141.00 A CSRP 4S 0H TEXT('SFL 表示 レコード № ') 0142.00 A MSGDTA 60A P 0143.00 A 1 27' 受注の入力 ' 0144.00 A DSPATR(HI) 0145.00 A* COLOR(PNK) 0146.00 A DSPMOD 6A O 1 72DSPATR(HI) 0147.00 A 2 2' 受注№ ' 0148.00 A JUCNO 5Y 0O 2 12TEXT(' 受注№ ') 0149.00 A 3 80' 受注日 ' 0150.00 A *DS3 3 62 0151.00 A JUDATE 8Y 0B 3 89TEXT(' 受注日 ') 0152.00 A *DS3 3 71 0153.00 A 64 ERRMSG(' 受注日の誤りです。 - 0154.00 A ' 64) 0155.00 A* 編集コード :W を日付のフィールドとみなしてカレンダーを追加します。 0156.00 A EDTCDE(W) 0157.00 A 4 2' 得意先コード ' 0158.00 A JUTKCD R 4A B 4 17TEXT('*POPUP TKCODE, TKNMJ, TKNM, - 0159.00 A TKKBN') 0160.00 A REFFLD(TOKMASR/TKCODE QTRFIL/TOKMAS) 0161.00 A 63 ERRMSG(' 得意先コードの誤りです。 - 0162.00 A ' 63) 0163.00 A TKNAME R O 4 22REFFLD(TOKMASR/TKNMJ QTRFIL/TOKMAS) 0164.00 A 4 80' 納期 ' 0165.00 A *DS3 4 62 0166.00 A JUNOKI 8Y 0B 4 89TEXT(' 納期 ') 0167.00 A *DS3 4 71 0168.00 A 65 ERRMSG(' 納期の誤りです。 - 0169.00 A ' 65) 0170.00 A* 編集コード :W を日付のフィールドとみなしてカレンダーを追加します。 0171.00 A EDTCDE(W) 0172.00 A 6 2' 受注区分 ' 0173.00 A JUKBN 2 B 6 13 0174.00 A VALUES('01' '02') 0175.00 A TEXT('" 売上 " " 返品 "') 0176.00 A JUNAME 6A O 6 16 0177.00 A 08 DSPATR(ND) 0178.00 A 6 34' 処理区分 ' 0179.00 A JUSHOR 2 B 6 45 0180.00 A VALUES('01' '02') 0181.00 A TEXT('" 今月 " " 来勘 "') 0182.00 A JSNAME 6A O 6 48 0183.00 A 08 DSPATR(ND) 0184.00 A 6 57' 担当者 ' 0185.00 A JUTANT R 4A B 6 66REFFLD(TANTOMR/TACODE QTRFIL/TANTO) 0186.00 A TEXT('*COMBO *KEY') 0187.00 A TTNAM R 8A O 6 71REFFLD(TANTOMR/TTNAM QTRFIL/TANTO) 0188.00 A TEXT('*COMBO *DATA') 0189.00 A 68 ERRMSG(' 担当者コードの誤りです。 '- 0190.00 A 68) 0191.00 A 8 2' № ' 0192.00 A DSPATR(HI) 0193.00 A 8 7' 商品コード ' 0194.00 A DSPATR(HI) 0195.00 A 8 21' 商品名 ' 0196.00 A DSPATR(HI) 0197.00 A 8 45' 受注数 ' 0198.00 A DSPATR(HI) 0199.00 A 8 57' 単価 ' 0200.00 A DSPATR(HI) 0201.00 A 8 67' 受注金額 ' 0202.00 A DSPATR(HI) 0203.00 A 8 81' 現在庫数 ' 0204.00 A DSPATR(HI) 0205.00 A 8 92' 手配数 ' 0206.00 A DSPATR(HI) 0207.00 A* 0208.00 A R DSPEND01 0209.00 A*%%TS SD 20070731 210529 QTR REL-V5R4M0 5722-WDS 0210.00 A TEXT(' 機能キーの表示 ') 0211.00 A OVERLAY 0212.00 A* PUTRETAIN 0213.00 A 23 2'F3= 終了 ' 0214.00 A COLOR(BLU) 0215.00 A 23 17'F4= プロンプト ' 0216.00 A COLOR(BLU) 0217.00 A 23 34'F10= 更新 ' 0218.00 A COLOR(BLU) 0219.00 A 23 51'F23= 削除 ' 0220.00 A COLOR(BLU) 0221.00 A 23 68'F12= 前画面 ' 0222.00 A COLOR(BLU) 0223.00 A R ENDOPT 0224.00 A*%%TS SD 19930612 150356 NIK REL-V2R1M0 5738-PW1 0225.00 A TEXT(' 終了画面 ') 0226.00 A* CF03(03 ' 終了 ') 0227.00 A CSRLOC(LIN POS) 0228.00 A 1 34' 終了 ' 0229.00 A COLOR(PNK) 0230.00 A DSPATR(HI) 0231.00 A 3 2' 処理されたレコード数 ' 0232.00 A 5 10' 追加 . . . . . :' 0233.00 A ADDREC 5Y 0O 5 35EDTCDE(4) 0234.00 A 6 10' 変更 . . . . . :' 0235.00 A CHGREC 5Y 0O 6 35EDTCDE(4) 0236.00 A 7 10' 削除 . . . . . :' 0237.00 A DLTREC 5Y 0O 7 35EDTCDE(4) 0238.00 A 11 2' 選択項目を打鍵して,実行キーを押 + 0239.00 A してください。 ' 0240.00 A COLOR(BLU) 0241.00 A 13 5' データ入力の終了 . . . . . .' 0242.00 A ANS 1A B 13 39VALUES('Y' 'N') 0243.00 A 13 53'Y=YES, N=NO' 0244.00 A 23 2'F3= 終了 ' 0245.00 A COLOR(BLU) 0246.00 A 23 15'F12= 前画面 ' 0247.00 A COLOR(BLU) 0248.00 A LIN 3S 0H 0249.00 A POS 3S 0H
[解説]
赤字で示している部分がヘルプ・パネル・グループに対する記述である。
・ファイル・レベルの定義
最初にファイル・レベルで次のようにヘルプ・パネル・グループの使用を宣言する。
0014.00 A HELP 0015.00 A ALTHELP(CA01) 0016.00 A HLPPNLGRP(PGM201H QTROBJ/PGM201H) 0017.00 A HLPTITLE(' 受注の入力 ')
ALTHELP(CA01) とは F1キーをヘルプに代替することを意味している。
HLPPNLGRP(PGM201H QTROBJ/PGM201H) でパル・グループ QTROBJ/PGM201H の
ヘルプ PGM201H を使うことを宣言している。
・レコード・レベルの定義
サンプルで紹介した商品コードのヘルプは
0126.00 A H HLPARA(9 7 18 16) 0127.00 A HLPPNLGRP('PGM201/JHCODE' - 0128.00 A QTROBJ/PGM201H)
のようにして(行、桁)の (9,7)-(18,16) の位置でヘルプが要求された場合(F1キーが押されたとき)は
ヘルプ識別 PGM201/JHCODE を表示するように指示している。
それではこれらのヘルプのパネル・グループを紹介する。
[PNLGRP:PGM201H ]
ソースはこちらから
0001.00 .******************************************************************* 0002.00 .* 0003.00 .* PANEL GRP NAME: PGM201H 0004.00 .* 0005.00 .* TEXT : 受注入力 0006.00 .* 0007.00 .* TYPE : ヘルプ・パネル 0008.00 .* 0009.00 .* 作成日 : 2015/01/08 12:39:15 0010.00 .* 0011.00 .* 作成ユーザー : QTR QPADEV000J 0012.00 .* 0013.00 .* 変更日 : 2015/01/08 12:39:15 0014.00 .* 0015.00 .* 変更ユーザー : QTR QPADEV000J 0016.00 .* 0017.00 .******************************************************************* 0018.00 0019.00 :PNLGRP HLPSHELF=LIST. 0020.00 .* ------------------------- 0021.00 .* ヘルプの定義 0022.00 .* ------------------------- 0023.00 :HELP NAME=PGM201. 受注の入力 0024.00 :P. 0025.00 :PC. この適用業務は受注の入力 / 変更を行うために使用します。 0026.00 :PC. 新しい受注には受注№を自動発生させて入力することができますし 0027.00 :PC. 既存の受注№を指定して受注内容を変更することもできます。 0028.00 :PC. 0029.00 :EHELP. 0030.00 :HELP NAME='PGM201/JUCNO'. 受注№ 0031.00 :XH3. 受注№ 0032.00 :P. 0033.00 :PC. 受注№をブランクで入力すれば受注№は自動生成されます。 0034.00 :PC. このとき最後の受注№ +1 の番号が与えられます。 0035.00 :PC. 受注の入力が途中でキャンセルされた場合はその受注№は空き番号に 0036.00 なります。 0037.00 :EHELP. 0038.00 :HELP NAME='PGM201/JUTKCD'. 得意先コード 0039.00 :XH3. 得意先コード 0040.00 :P. 0041.00 :PC. 得意先コードを入力してください。 0042.00 :PC. 得意先コードが不明な場合は、得意先コードの右端にマウス・カーソル 0043.00 合わせれば虫眼鏡アイコンが表示されます。 0044.00 :PC. この虫眼鏡アイコンをクリックすると得意先コードを検索すめための 0045.00 :PC. POPUP ウィンドウが表示されます。 0046.00 :PC. 得意先は名前や名前の一部で検索することができます。 0047.00 :EHELP. 0048.00 :HELP NAME='PGM201/JUDATE'. 受注日 0049.00 :XH3. 受注日 0050.00 :P. 0051.00 :PC. 受注伝票に書かれている本日の日付を入力します。 0052.00 :PC. 受注日の右端にあるカレンダー・アイコンをクリックすると 0053.00 :PC. カレンダー・コントロールを表示して、その中から日付をクリックして 0054.00 :PC. 選択することができます。 0055.00 :EHELP. 0056.00 :HELP NAME='PGM201/JUNOKI'. 納期 0057.00 :XH3. 納期 0058.00 :P. 0059.00 :PC. 受注伝票に書かれている受注の納期を入力します。 0060.00 :PC. 納期の右端にあるカレンダー・アイコンをクリックすると 0061.00 :PC. カレンダー・コントロールを表示して、その中から日付をクリックして 0062.00 :PC. 選択することができます。 0063.00 :EHELP. 0064.00 :HELP NAME='PGM201/JUKBN'. 受注区分 0065.00 :XH3. 受注区分 0066.00 :P. 0067.00 :PC. 受注区分は受注の種類を示す区分です。 0068.00 :PC. コンボボックスの中から次のいずれかを選択してください。 0069.00 :H2.01: 売上 0070.00 :PC. 通常の売上を示します。 0071.00 :H2.02: 返品 0072.00 :PC. 返品となった処理を示します。 0073.00 :EHELP. 0074.00 :HELP NAME='PGM201/JUSHOR'. 処理区分 0075.00 :XH3. 処理区分 0076.00 :P. 0077.00 :PC. 請求処理の方法を示します。 0078.00 :H2.01= 通常 0079.00 :PC. 今月の処理とします。 0080.00 :H2.02= 来勘 0081.00 :PC. 来月分の処理として繰越します。 0082.00 :EHELP. 0083.00 :HELP NAME='PGM201/JUTANT'. 担当者 0084.00 :XH3. 担当者 0085.00 :P. 0086.00 :PC. 受注伝票に書かれている担当者コードを入力してください。 0087.00 :PC. 担当者コードが不明な場合は担当者コード欄の右端の虫眼鏡アイコンを 0088.00 :PC. クリックすれだ担当者マスターを検索することができます。 0089.00 :EHELP. 0090.00 :HELP NAME='PGM201/JHCODE'. 商品コード 0091.00 :XH3. 商品コード 0092.00 :P. 0093.00 :PC. 商品コードを入力してください。 0094.00 :PC. 商品コードが不明な場合は商品コード欄の右端の虫眼鏡アイコンを 0095.00 :PC. クリックすれだ商品マスターを検索することができます。 0096.00 :EHELP. 0097.00 :HELP NAME='PGM201/JUSUR'. 受注数 0098.00 :XH3. 受注数 0099.00 :P. 0100.00 :PC. 受注伝票に書かれている受注数を入力してください。 0101.00 :EHELP. 0102.00 :HELP NAME='PGM201/JUTANK'. 単価 0103.00 :XH3. 単価 0104.00 :P. 0105.00 :PC. 受注伝票に書かれている単価を入力してください。 0106.00 :PC. 何も入力しない場合は商品マスターから単価が引用されて表示されます。 0107.00 :EHELP. 0108.00 :HELP NAME='PGM201/JUKING'. 受注金額 0109.00 :XH3. 受注金額 0110.00 :P. 0111.00 :PC. 受注伝票に書かれている受注金額を入力してください。 0112.00 :PC. 何も入力しない場合は商品マスターから単価が引用されて表示されます。 0113.00 :EHELP. 0114.00 :EPNLGRP.
[コンパイル]
CRTPNLGRP PNLGRP(QTROBJ/PGM201H) SRCFILE(QTRSRC/QPNLSRC) AUT(*ALL)
[解説]
次の部分が商品コードに対するヘルプである。
0090.00 :HELP NAME='PGM201/JHCODE'. 商品コード 0091.00 :XH3. 商品コード 0092.00 :P. 0093.00 :PC. 商品コードを入力してください。 0094.00 :PC. 商品コードが不明な場合は商品コード欄の右端の虫眼鏡アイコンを 0095.00 :PC. クリックすれだ商品マスターを検索することができます。 0096.00 :EHELP.
これでDSPFに対するヘルプの組込み方法を理解して頂けたと思う。
入力項目が多い適用業務や説明が必要な適用業務にはヘルプを組み込むようにすれば
エンド・ユーザーにとってもわかりやすくなるのでお試し頂きたい。