F4 編集マクロの終了

FMNSRCHK exec から呼び出す REXX 編集マクロを指定することで、拡張検索キーの処理を拡張します。

exit (終了) は、次のいずれかの値をファンクション・キーに割り当てることで呼び出すことができます。
LIBDEF 呼び出し:
FMNELIBD KEY X(exec_name)
非 LIBDEF 呼び出し:
FMNSRCHK X(exec_name
exec_name は、編集マクロとして実行できる REXX exec の名前です。
CRZXDSN
これには、カンマで区切られた 1 つ以上のデータ・セットとメンバー名のリストが含まれます。

カーソルがコマンド行上に置かれている場合、そのメンバー内で参照されるすべてのデータ・セット名が表示されます。

カーソルが JCLLIB または DD ステートメント上に置かれている場合は、関連付けられているすべてのデータ・セット名が表示されます。

カーソルが exec プロシージャー名上に置かれている場合、元のプロシージャー・データ・セット名に、括弧で囲まれたプロシージャー名が連結されて表示されます。

カーソルが EXEC PGM=name 上に置かれている場合、このプログラムのロード元であるロード・ライブラリーに、括弧で囲まれたプログラム名が連結されて表示されます。

CRZXCSRW
カーソルが現在置かれている語です。カーソルがコマンド行上にある場合、この値は ‘’ または null になります。

現在の編集または表示セクションのさまざまな値を表示するように、サンプル REXX MYEKEY を設定します。

.

F16      FMNELIBD KEY X(MYEKEY)
次の exec MYEKEY について考えてみましょう。
/* REXX  Sample EXEC - Exit values for the Edit or View key */
address ISPEXEC 'CONTROL ERRORS RETURN'                       
address ISPEXEC 'VGET (CRZXDSN CRZXCSRW) SHARED'              
say 'exit CRZXDSN   =' CRZXDSN         /* Data set names */                       
say 'exit CRZXCSRW  =' CRZXCSRW        /* Word at cursor */                       
address ISREDIT                                               
'(LNO,LPOS) = CURSOR '                                        
'(lval) = LINE 'lno                                           
say 'current line number = 'lno                               
say 'current line pos    = 'lpos                              
say 'current line value  = 'lval                              
return                                                        
編集セッション - &SYSID.DEMOGSE.CNTL にカーソルを配置して F16 (shift + F4) を押します。

   File  Edit  Edit_Settings  Menu  Utilities  Compilers  Test  Help
                                                                                        
  VIEW       FMN.DEMOGSE.REFS(DEMO1) - 01.02                 Columns 00001 00072 
 Command ===>                                                  Scroll ===> CSR    
 000010 &SYSUID..DEMOGSE.CNTL(CBLPROC) ! Option 2  Variable substitution        
 000011 &SYSUID..DEMOGSE.CNTL(PRINT)   ! Option 3  SELECT                       
 000012 &SYSUID..DEMOGSE               ! Option 4  DSLIST                       
 000013 &SYSUID..DEMOGSE.NEWDSN        ! Option 13 Create/allocate Use 6 Try GR 
 000014 &SYSUID..DEMOGSE.CNTL          ! Option 13 change - convert to a PDSE 2 
 000015 &SYSUID..DEMOGSE.CNTL          ! Option 12 PDSE2  workbench             
 000016 &SYSUID..DEMOGSE.KSDS          ! Option 13 LIST   Catalog services      
 000017 &SYSUID..DEMOGSE.**                                                     
 000018 &SYSUID..DEMOGSE.SEARCH.**     ! Option 11 Search the data set          
 ****** **************************** Bottom of Data ****************************
exit (終了) に渡される値を示す次のメッセージが MYEXEC によって生成されます。
  exit CRZXDSN   = MYUSER.DEMOGSE.CNTL(CBLPROC)                                 
 exit CRZXCSRW  = &SYSUID..DEMOGSE.CNTL                                         
 current line number = 00000010                                                 
 current line pos    = 00014                                                    
 current line value  = &SYSUID..DEMOGSE.CNTL(CBLPROC) ! Option 2  Variable substitution