LIBDEF を使用した File Manager の呼び出し

FMNELIBD は、File Manager のフィーチャーおよび機能の LIBDEF 呼び出しを提供する多目的の REXX exec です。これにより、File Manager のフィーチャーまたは機能を呼び出す前に LIBDEF を実行する、ユーザーがコーディングしたさまざまな EXEC が不要になります。exec は以下のように実行されます。

説明
FM
File Manager の基本オプション・メニューを起動します。
F1
FM/IMS の基本オプション・メニューを起動します。
F2
FM/Db2 の基本オプション・メニューを起動します。
FND
File Manager の拡張検索機能を起動します。
LST
File Manager の拡張参照リストを起動します。
FUN
入力パネルにデータを設定するデータ・セット名を使用して、サポートされる File Manager サポート機能を起動します。FUN パラメーター構文 を参照してください。
DEF
File Manager 機能をキーワード・モードで呼び出す REXX によって File Manager ライブラリーの LIBDEF を実行します。
DROP
FMNELIBD DEF コマンドによって LIBDEF セットアップをクリアします。
INV
ISPF 構成テーブルで指定されている FMNINV と同等の機能を実行します。
  • FMNELIBD INV DSE / は FMNINV DSE / と等価の LIBDEF です。
  • FMNELIBD INV DSB / は FMNINV DSB / と等価の LIBDEF です。
  • FMNELIBD INV DSV / は FMNINV DSV / と等価の LIBDEF です。
詳しくは、File Manager をデフォルトの VSAM エディターにする を参照してください。
MENU
FMNR exec と同等の短縮メニューの LIBDEF 呼び出しを提供します。
詳しくは、ISPF 3.4 またはデータ・セット・リストからの File Manager の起動 を参照してください。
注: 使いやすくするために、次のように短縮名の中間 exec を作成します。
Example. Create member LFM in a data set in the SYSPROC or SYSEXEC concatenations.
	/* REXX – LIBDEF invocation of File Manager from ISPF 3.4 */
	ARG DSN
	CALL FMNELIBD ‘MENU ‘dsn
	EXIT 
この場合、LFM は、ISPF 3.4 またはデータ・セット・リストから File Manager 短縮メニューを呼び出すコマンドです。

FUN パラメーター構文

FUN を指定すると、次の構文が適用されます。
FMNELIBD FUN function 'dsn1(mbr1)' 'dsn2(mbr2)' 'dsn3(mbr3)' 'dsn4(mbr4)'

function は、サポートされる以下の機能のいずれかでなければなりません。

説明
CLM
ロード・モジュールの比較
DSB
データ・セットのブラウズ
DSC
データ・セットのコピー
DSE
データ・セットの編集
DSG
データ・セットの作成
DSM
データ・セットの比較
DSV
データ・セットの表示
PBK
コピーブックまたはテンプレートの印刷と表示
SCS
カタログ・サービス
TPIMP
テンプレートのインポート
TPEXP
テンプレートのエクスポート
TPED
テンプレートの編集
TPUP
テンプレートの更新
VLM
ロード・モジュールの表示

'dsn1(mbr1)' は、入力データ・セットまたはパス名です。

'dsn2(mbr2)' は入力テンプレートです (迂回する場合は「-」を指定してください)。

'dsn3(mbr3)' は、出力データ・セットまたはパス名です。

'dsn4(mbr4)' は、出力テンプレートです。

注: FMNELIBD REXX exec を使用して、機能 DSC、DSE、および DSV を呼び出し、適切な形式を使用してデータ・セット、CICS リソース、および MQ キューをコピー、編集、および表示できます。例えば、機能 DSE に対して FMNELIBD を呼び出す形式は次のとおりです。
データ・セット
call FMNELIBD FUN DSE 'data.set.name(memname)'
CICS リソース
call FMNELIBD FUN DSE 'rt:applid:rname'
MQ キュー
call FMNELIBD FUN DSE 'MQ:managerid:queuename'
これらのリソースの指定について詳しくは、CICS リソースの指定およびMQ マネージャーまたはキューの指定を参照してください。

例 1選択パネルからの File ManagerFM/IMS、および FM/Db2 基本オプションの呼び出し

⋮)BODY CMD(ZCMD) ...
9       IBM                     Products IBM program development products
10      SCLM                    SW Configuration Library Manager
11      Workplace               ISPF Object/Action Workplace
FM      File Manager            File Manager for z/OS                 NEW
F1      FM/IMS                  File Manager/IMS for z/OS             NEW
F2      FM/DB2                  File Manager/DB2 for z/OS             NEW
⋮
)PROC  
⋮
&ZSEL = TRANS( TRUNC (&ZCMD,'.')  
⋮
9,'PANEL(ISRDIIS) ADDPOP'
10,'PGM(ISRSCLM) SCRNAME(SCLM) NOCHECK'
11,'PGM(ISRUDA) PARM(ISRWORK) SCRNAME(WORK)'
FM,'CMD(FMNELIBD FM)'   /* File Manager */                             Ⓝⓔⓦ
F1,'CMD(FMNELIBD F1)'   /* FM/IMS       */                             Ⓝⓔⓦ
F2,'CMD(FMNELIBD F2)'   /* FM/DB2       */                             Ⓝⓔⓦ

例 2.LIBDEF 呼び出しの ISPF コマンド・テーブル

     Verb      T  Action  
____ FM        2  SELECT CMD(%FMNELIBD FM &ZPARM)       <= File Manager Base  
____ F1        2  SELECT CMD(%FMNELIBD F1 &ZPARM)       <= FM/IMS     
____ F2        2  SELECT CMD(%FMNELIBD F2 &ZPARM)       <= FM/DB2  
____ ELIST     2  SELECT CMD(%FMNELIBD LST &ZPARM)      <= Enhanced reference list  
____ EFIND     2  SELECT CMD(%FMNELIBD FND &ZPARM)      <= Enhanced search

例 3.REXX を使用した VLM 機能の呼び出し (ロード・モジュールの表示)

この例では、File Manager オプション 3.10.1 を実行し、入力データ・セット・フィールドに 'FMN.LOAD' を追加します。

/* REXX */ 
call FMNELIBD FUN VLM 'FMN.LOAD'

例 4.REXX を使用した DSE 機能の呼び出し (データ・セットの編集)

この例では、File Manager オプション 2 を実行し、入力データ・セット・フィールドおよびテンプレート・フィールドにデータを設定します。

/* REXX */ 
call FMNELIBD FUN DSE 'FMN.FMDATA'  'FMN.TEMPLATE(SAMPLE)'

例 5.REXX を使用した DSE 機能の呼び出し (MQ キューの編集)

この例では、File Manager オプション 2 を実行し、入力データ・セット・フィールドに MQ キューを追加します。

{{/* REXX */ 
call FMNELIBD FUN DSE 'MQ:MQ91:FMN.QUEUE.TEST'}}

例 6.DEF パラメーターおよび DROP パラメーターを使用した REXX ロード・モジュール・レポート

/* REXX - VIEW LOAD MODULE - XML REPORT    */                  
/*                                         */                  
CALL FMNELIBD DEF                                              
ADDRESS TSO                                                    
  "ALLOC FI(SYSPRINT) DUMMY REUSE"                             
  'ALLOC FI(FMNXMLO) NEW SP(1,5) TRACKS,                       
        LRECL(1024) BLKSIZE(32720) RECFM( V B )'               
ADDRESS ISPEXEC                                                
  "SELECT CMD(FILEMGR $VLM DSNIN='FMN.LOAD'",                  
      "MEMBER=TURBO1,FUNCTION=PRINT,DATEFORM=YYMMDD,XML=YES)"  
ADDRESS TSO                                                    
  'EXECIO * DISKR FMNXMLO (STEM XMLO. FINIS'                   
  IF RC = 0 THEN DO                                            
    DO I = 1 TO XMLO.0                                         
      SAY XMLO.I                                               
    END                                                        
  END                                                          
  "FREE FI(FMNXMLO)"                                           
  "FREE FI(SYSPRINT)"                                          
CALL FMNELIBD DROP                                             
EXIT 0;