F4 編集マクロの終了
FMNSRCHK exec から呼び出す REXX 編集マクロを指定することで、拡張検索キーの処理を拡張します。
exit (終了) は、次のいずれかの値をファンクション・キーに割り当てることで呼び出すことができます。
- LIBDEF 呼び出し:
-
FMNELIBD KEY X(exec_name) - 非 LIBDEF 呼び出し:
-
FMNSRCHK X(exec_name
- 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 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