PANEL グループ

28. UIMで選択項目だけのメニューを作成するには

UIM(=パネル・グループ)でコマンド入力を許さない選択項目だけの
メニューの作成方法を紹介する。
これまでコマンド入力を許すパネル・グループのメニューばかり作っていたので
選択項目だけのメニューは作ったことがなかった。
AIに訊いてみるとこれがいい加減な答えばかりで
正しい回答をいつまで経ってもできない。
そこでIBMマニュアルを抜粋してそのまま表示するようにといっても
回りくどい回答ばかりで回答できなかった。
そこで自分自身でAIの助力は得ずに実現したので
下記のメニューである。

ATTNREQ                       ATTN 要求メニュー                    
                                                         システム :
次の中から1つを選んでください。                                   
                                                                   
     1. ジョブのサイン・オフ                                       
     2. この AI の要求の終了                                       
     3. 現行ジョブの表示                                           
                                                                 
                                                                   
選択項目 _                                                           
                                                                  

[解説:]
1桁だけの選択項目を入力するだけのメニューである。

[ ATTNREQ ]

ソースはこちらから

0001.00 .*******************************************************************        
0002.00 .*                                                                          
0003.00 .*  PANEL GRP NAME:   ATTNREQ                                               
0004.00 .*                                                                          
0005.00 .*  TEXT          :   ATTN 要求メニュー                                     
0006.00 .*                                                                          
0007.00 .*  TYPE          :    単一メニュー・パネル                                 
0008.00 .*                                                                          
0009.00 .*  SRCF          :   R710SRC/QMNUSRC(INSTALL)                              
0010.00 .*                                                                          
0011.00 .*   作成日       :   2026/10/08       10:13:00                             
0012.00 .*                                                                          
0013.00 .*   作成ユーザー :   QTR              THINKCENTR                           
0014.00 .*                                                                          
0015.00 .*   変更日       :   2026/10/08       10:13:00                             
0016.00 .*                                                                          
0017.00 .*   変更ユーザー :   QTR              THINKCENTR                           
0018.00 .*                                                                          
0019.00 .*******************************************************************        
0020.00                                                                             
0021.00 :PNLGRP.                                                                    
0022.00 :COPYR.                                                                     
0023.00                                           (C) COPYRIGHT OFFICE QUATTRO 2026.
0024.00 :IMPORT  NAME='*'                                 
0025.00          PNLGRP=CMDMNU.                           
0026.00 .*            -------------------------           
0027.00 .*                 クラスの定義                   
0028.00 .*            -------------------------           
0029.00 .*            -------------------------           
0030.00 .*                 変数の定義                     
0031.00 .*            -------------------------           
0032.00 :VAR     NAME=ZMENU.                              
0033.00 .*            -------------------------           
0034.00 .*                 レコードの定義                 
0035.00 .*            -------------------------           
0036.00 .*            -------------------------           
0037.00 .*                 条件の定義                     
0038.00 .*            -------------------------           
0039.00 .*            -------------------------           
0040.00 .*                 機能キーの定義                 
0041.00 .*            -------------------------           
0042.00 :KEYL    NAME=MNUKEYL.                            
0043.00 :KEYI    KEY=ENTER                                
0044.00          HELP=ENTER                               
0045.00          ACTION=ENTER.                            
0046.00 :KEYI    KEY=HELP                                 
0047.00          HELP=HELP                                
0048.00          ACTION=HELP.             
0049.00 :KEYI    KEY=F3                   
0050.00          HELP=F3                  
0051.00          ACTION='EXIT SET'        
0052.00          VARUPD=NO.               
0053.00 F3= 終了                          
0054.00 :KEYI    KEY=F4                   
0055.00          HELP=F4                  
0056.00          ACTION='PROMPT'          
0057.00          VARUPD=NO.               
0058.00 F4= プロンプト                    
0059.00 :KEYI    KEY=F5                   
0060.00          HELP=F5                  
0061.00          ACTION='CMD WRKACTJOB'   
0062.00          VARUPD=NO.               
0063.00 F5= 活動状況                      
0064.00 :KEYI    KEY=F6                   
0065.00          HELP=F6                  
0066.00          ACTION='CMD DSPMSG'      
0067.00          VARUPD=NO.               
0068.00 F6= メッセージ                    
0069.00 :KEYI    KEY=F9                   
0070.00          HELP=F9                  
0071.00          ACTION='RETRIEVE'        
0072.00          VARUPD=NO.                    
0073.00 F9= コマンドの複写                     
0074.00 :KEYI    KEY=F10                       
0075.00          HELP=F10                      
0076.00          ACTION='CMD CALL QCMD'        
0077.00          VARUPD=NO.                    
0078.00 F10= コマンド入力                      
0079.00 :KEYI    KEY=F12                       
0080.00          HELP=F12                      
0081.00          ACTION='CANCEL SET'           
0082.00          VARUPD=NO.                    
0083.00 F12= 取消し                            
0084.00 :KEYI    KEY=F13                       
0085.00          HELP=F13                      
0086.00          ACTION='CMD OPMENUJ'          
0087.00          VARUPD=NO.                    
0088.00 F13= 印刷制御                          
0089.00 :KEYI    KEY=PAGEUP                    
0090.00          HELP=PAGEUP                   
0091.00          ACTION=PAGEUP.                
0092.00 :KEYI    KEY=PAGEDOWN                  
0093.00          HELP=PAGEDOWN                 
0094.00          ACTION=PAGEDOWN.              
0095.00 :EKEYL.                                
0096.00 .*            -------------------------                        
0097.00 .*                 ヘルプの定義                                
0098.00 .*            -------------------------                        
0099.00 .* STRHLPDFN      :  DO NOT REMOVE THIS LINE                   
0100.00 :HELP    NAME=PROVIDERH..AI プロバイダー登録                   
0101.00 :XH3.AI プロバイダー登録                                       
0102.00 :P.                                                            
0103.00 :PC.AI モデルを提供している AI プロバイダーを登録します。      
0104.00 :EHELP.                                                        
0105.00 :HELP    NAME=MODELH.AI モデルの登録                           
0106.00 :XH3.AI モデルの登録                                           
0107.00 :P.                                                            
0108.00 :PC.AI すなわち AI モデルを登録します。                        
0109.00 :EHELP.                                                        
0110.00 :HELP    NAME=RESTURLH.REST URL の登録                         
0111.00 :XH3.REST URL の登録                                           
0112.00 :P.                                                            
0113.00 :PC.AI モデルに接続するための URL を登録します。               
0114.00 :EHELP.                                                        
0115.00 :HELP    NAME=APILEYH.API KEY の登録                           
0116.00 :XH3.API KEY の登録                                            
0117.00 :P.                                                            
0118.00 :PC.API モデルと接続するための認証コードを登録します。         
0119.00 :EHELP.                                                        
0120.00 :HELP    NAME=STRAIH. 生成 AI                                
0121.00 :XH3. 生成 AI                                                
0122.00 :PC.RPG や COBOL などのソース・コードを AI で生成します。    
0123.00 :EHELP.                                                      
0124.00 :HELP    NAME=CHATAIH.AI との対話                            
0125.00 :XH3.AI との対話                                             
0126.00 :P.                                                          
0127.00 :PC.AI と IBM i の対話を行います。                           
0128.00 :EHELP.                                                      
0129.00 :HELP    NAME=CHGAIDFTH. 初期値のセットおよび変更            
0130.00 :XH3. 初期値のセットおよび変更                               
0131.00 :P.                                                          
0132.00 :PC. このメニューで使うコマンドのパラメータの初期値を        
0133.00  セットしたり変更を行います。                                
0134.00 :EHELP.                                                      
0135.00 :HELP    NAME=DSPLICH. ライセンスの表示                      
0136.00 :XH3. ライセンスの表示                                       
0137.00 :P.                                                          
0138.00 :PC. この製品のライセンスを表示します。                      
0139.00 :EHELP.                                                      
0140.00 :HELP    NAME=SETUPH. 導入後のセットアップ                   
0141.00 :XH3. 導入後のセットアップ                                   
0142.00 :PC.                                                         
0143.00 :PC. 製品導入直後のセットアップを行います。                  
0144.00 :EHELP.                                                     
0145.00 .*            -------------------------                     
0146.00 .*               表 示 パ ネ ル                         
0147.00 .*            -------------------------                     
0148.00 :PANEL   NAME=DSPMNU   HELP='MENU'                          
0149.00          KEYL=MNUKEYL                                       
0150.00          PANELID=ZMENU                                      
0151.00          ENTER='MSG CPD9817 QCPFMSG'                        
0152.00          TOPSEP=SYSNAM.                                     
0153.00 ATTN 要求メニュー                                           
0154.00 :MENU    DEPTH='*'                                          
0155.00          SCROLL=YES                                         
0156.00          BOTSEP=SPACE.                                      
0157.00 :TOPINST. 次の中から1つを選んでください。                  
0158.00 :MENUI   OPTION=01                                          
0159.00          ACTION='CMD RUN CMD(''SIGNOFF'')'                  
0160.00          HELP='PROVIDERH'.                                  
0161.00  ジョブのサイン・オフ                                       
0162.00 :MENUI   OPTION=02                                          
0163.00          ACTION='CMD RUN CMD(''CALL CHAO.COM/ENDAI'')'      
0164.00          HELP='MODELH'.                                     
0165.00  この AI の要求の終了                                       
0166.00 :MENUI   OPTION=03                                          
0167.00          ACTION='CMD RUN CMD(''WRKACTJOB'')'                
0168.00          HELP='PROVIDERH'.                        
0169.00  現行ジョブの表示                                 
0170.00 :EMENU.                                           
0171.00 :OPTLINE VAR=OPT. 選択項目                        
0172.00 :EPANEL.                                          
0173.00                                                   
0174.00 :EPNLGRP.                                         
0175.00 .*      * * *    END   OF   PANEL GROUP     * * * 


  

[解説]

選択項目だけの入力として指定するのは

0171.00 :OPTLINE VAR=OPT. 選択項目

だけである。変数OPTは定義する必要もない。
たったこれだけの回答にCopilotは何時間もかって堂々巡りばかりして
誤った回答ばかり出してきて時間の無駄であった。