プログラム呼び出しのネスト・エレメント

プログラムは、fte:presrcfte:predstfte:postdstfte:postsrc、およびfte:commandの 5 つのネストされたエレメントのいずれかを使用して開始できます。 これらのネストされたエレメントは、エージェントにその処理の一部で外部プログラムを呼び出すように指示します。 プログラムを開始するには、その前に、コマンドを実行するエージェントの agent.properties ファイル内の commandPath プロパティーで指定されている場所にコマンドがあることを確認する必要があります。

プログラム呼び出しの各エレメントは異なる名前を持っても、同じ属性セットおよび同じネストされたエレメントのセットを共用します。 プログラムは、 fte:filecopyfte:filemove、および fte:command の Ant タスクによって開始することができます。

Connect:Direct® ブリッジ・エージェントからプログラムを呼び出すことはできません。

プログラムを呼び出すことのできる Ant タスクは、以下のとおりです。

  • fte:filecopy タスクは、ネストされたfte:predstfte:postdstfte:presrc、およびfte:postsrcエレメントを使用して、プログラム呼び出しパラメーターをネストします。
  • fte:filemove タスクは、ネストされたfte:predstfte:postdstfte:presrc、およびfte:postsrcエレメントを使用して、プログラム呼び出しパラメーターをネストします。
  • fte:call タスクは、fte:commandネスト・エレメントを使用してプログラム呼び出しパラメーターをネストします。

属性

コマンド
必須。 呼び出すプログラムの名前を示します。 エージェントがコマンドを実行できるようにするには、コマンドは、エージェントの agent.properties ファイル内の commandPath プロパティーで指定されたロケーションになければなりません。 詳しくは、 commandPath MFT プロパティーを参照してください。 command属性で指定されたパス情報は、commandPath プロパティーで指定されたロケーションに対する相対パスと見なされます。 typeexecutableの場合、実行可能プログラムが予期されます。そうでない場合は、呼び出しタイプに適したスクリプトが予期されます。
retrycount
オプション。 プログラムが成功を示す戻りコードを戻さなかった場合に、プログラムの呼び出しを再試行する回数。 command属性によって指定されたプログラムは、この回数まで呼び出されます。 この属性に指定する値は、負数以外でなければなりません。 retrycount 属性を指定しない場合は、デフォルト値のゼロが使用されます。
retrywait
オプション。 プログラム呼び出しを再度試行するまでの待機時間 (秒数)。 command属性で指定されたプログラムが成功を示す戻りコードを返さず、retrycount属性にゼロ以外の値が指定されている場合、このパラメーターは再試行間の待機時間を決定します。 この属性に指定する値は、負数以外でなければなりません。 retrywait 属性を指定しない場合は、デフォルト値のゼロが使用されます。
successrc
オプション。 この属性の値は、プログラム呼び出しが正常に実行される条件を決定するために使用されます。 コマンドの処理戻りコードは、この式を使用して評価されます。 この値は、1 つ以上の式を組み合わせ、ブールの OR を意味する垂直バー文字 (|) 、またはブールの AND を意味するアンパサンド文字 (&) で構成することができます。 各式は、以下のいずれかのタイプの式とすることができます。
  • 処理戻りコードとの等価テストを示す数値。
  • 処理戻りコードとの大なりテストを示す、接頭部に > 文字が付いた数値。
  • 数値とプロセスの戻りコードとの間のより小さいテストを示すために、先頭に < 文字が付いた数値です。
  • ! の接頭部が付いた数値 数値とプロセスの戻りコードとの間の不等号テストを示す文字。
例えば、 >2&<7&!5|0|14は、0、3、4、6、14 の戻りコードが成功したと解釈されます。 これ以外の戻りコードは、すべて失敗と解釈されます。 successrc 属性を指定しない場合は、デフォルト値のゼロが使用されます。 これは、ゼロの戻りコードを戻した場合にのみ、コマンドは正常に実行されたと判断されるという意味です。
タイプ
オプション。 この属性の値は、呼び出されているプログラムのタイプを指定します。 以下のいずれかのオプションを指定します。
executable
タスクは、実行可能プログラムを呼び出します。 arg ネスト・エレメントを使用して追加の引数を指定することができます。 プログラムは、commandPath 上、および実行許可が設定されている適切な場所においてアクセス可能であると想定されます。 UNIXスクリプトは、シェル・プログラムを指定する限り呼び出すことができます (例えば、シェル・スクリプト・ファイルの最初の行は#!/bin/shです)。stderr または stdout に書き込まれるコマンド出力は、その呼び出しのManaged File Transferログに送信されます。 ただし、そのデータ出力量は、エージェントの構成によって制限されます。 デフォルトでは、10K バイトのデータまでですが、エージェントのプロパティー maxCommandOutput を使用してこのデフォルトを指定変更することができます。
antscript
タスクは、 fteAnt コマンドを使用して、指定された Ant スクリプトを実行します。 プロパティーは、property ネスト・エレメントを使用して指定できます。 Ant ターゲットは、 target ネスト・エレメントを使用して指定できます。 Ant スクリプトは、 commandPathでアクセスできることが予期されています。 stderr または stdout に書き込まれる Ant 出力は、その呼び出しの Managed File Transfer ログに送られます。 ただし、そのデータ出力量は、エージェントの構成によって制限されます。 デフォルトでは、10K バイトのデータまでですが、エージェントのプロパティー maxCommandOutput を使用してこのデフォルトを指定変更することができます。
[z/OS]jcl
jclz/OS®でのみサポートされ、指定されたz/OS JCL スクリプトを実行します。 JCL はジョブとして実行依頼され、ジョブ・カードがあることが必要です。 ジョブが正常にサブミットされると、'Managed File Transferログに書き込まれるJCLコマンド出力には、以下のテキストが含まれます:JOBjob_name(job_id) where:
  • job_name は、JCL のジョブ・カードによって特定されるジョブの名前です。
  • job_id は、z/OS システムが生成したジョブ ID です。
ジョブを正常に実行依頼できないと JCL スクリプト・コマンドは失敗し、失敗の理由 (例えば、ジョブ・カードが無い、など) を示すメッセージをログに書き込みます。 ジョブが実行されたか、あるいは正常に完了したかどうかを認識するには、SDSF などのシステム・サービスを使用します。 Managed File Transfer は、ジョブの実行依頼のみを行うため、情報を提供しません。システムは、ジョブをいつ実行するか、およびジョブ出力の表示方法を決定します。 JCL スクリプトはバッチ・ジョブとして実行依頼されるため、presrcまたはpredstネスト・エレメントにjclを指定することはお勧めしません。これは、ジョブが正常に実行依頼されたことのみが分かっており、転送の開始前に正常に実行されたかどうかは分からないためです。 タイプがjclの場合、有効なネストされたエレメントはありません。
以下の例は、JCL ジョブを示しています。
//MYJOB JOB
//*
//MYJOB EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=H
//SYSUT1 DD DSN=FRED.DEMO.TXT,DISP=SHR
//SYSUT2 DD DSN=BOB.DEMO.TXT,DISP=(NEW,CATLG),
// RECFM=VB,LRECL=133,BLKSIZE=2048,
// SPACE=(TRK,(30,5),RLSE)
//SYSIN DD DUMMY 

ネスト・エレメントとして指定するパラメーター

fte:arg
type属性の値が実行可能の場合にのみ有効です。 ネストされたfte:argエレメントを使用して、プログラム呼び出しの一部として呼び出されるプログラムへの引数を指定します。 プログラム引数は、fte:argエレメントが検出された順序で、fte:argエレメントによって指定された値から作成されます。 プログラム呼び出しのネストされたエレメントとして、ゼロ個以上のfte:argエレメントを指定することができます。
fte:property
type属性の値が antscript の場合にのみ有効です。 ネストされたfte:propertyエレメントのname属性とvalue属性を使用して、名前と値のペアをAntスクリプトに渡します。 プログラム呼び出しのネストされたエレメントとして、ゼロ個以上のfte:propertyエレメントを指定することができます。
fte:target
type属性の値が antscript の場合にのみ有効です。 呼び出す Ant スクリプトにターゲットを指定します。 プログラム呼び出しのネストされたエレメントとして、ゼロ個以上のfte:targetエレメントを指定することができます。

Arg 属性

必須。 呼び出されるプログラムに渡される引数の値。

プロパティー属性

名前
必須。 Ant スクリプトに渡すプロパティの名前です。
必須。 Ant スクリプトに渡されるプロパティー名に関連付けられる値。

この例は、fte:filecopy タスクの一部として指定されているfte:postsrcプログラム呼び出しを示しています。 プログラム呼び出しは、 post.sh というプログラムのためのもので、 /home/fteuser2/file.bin. の単一の引数を提供します。
<fte:filecopy 
cmdqm="qm0@localhost@1414@SYSTEM.DEF.SVRCONN" 
 src=agent1@qm1 dst="agent2@qm2"
 rcproperty="copy.result">                    
<fte:filespec srcfilespec="/home/fteuser1/file.bin" dstfile="/home/fteuser2/file.bin"/>
<fte:postsrc command="post.sh" successrc=1 >         
	<fte:arg value="/home/fteuser2/file.bin"/>
</fte:postsrc>
</fte:filecopy>
この例は、fte:call タスクの一部として指定されるfte:commandプログラム呼び出しを示しています。 このプログラム呼び出しは、コマンド行引数を渡さない command.sh という名前の実行可能プログラム用です。 command.sh が成功の戻りコード 1 を戻さない場合は、 30 秒後にコマンドが再試行されます。
<fte:call 
cmdqm="qm0@localhost@1414@SYSTEM.DEF.SVRCONN"
 agent="agent1@qm1" 
 rcproperty="call.rc" 
 origuser="bob" 
 jobname="${job.id}">                
<fte:command command="command.sh" successrc=1 retrycount="5" retrywait="30"/>		
</fte:call>
この例は、fte:call タスクの一部として指定されるfte:commandプログラム呼び出しを示しています。 プログラム呼び出しは、 script.xml という Ant スクリプト内のコピーおよび圧縮ターゲットに対して行われます。このスクリプトには 2 つのプロパティーが渡されます。
<fte:call 
cmdqm="qm0@localhost@1414@SYSTEM.DEF.SVRCONN"
 agent="agent1@qm1" 
 rcproperty="call.rc" 
 origuser="bob" 
 jobname="${job.id}">                
<fte:command command="script.xml" type="antscript">
  <property name="src" value="AGENT5@QM5"/>
  <property name="dst" value="AGENT3@QM3"/>
  <target name="copy"/>	
  <target name="compress"/>
</fte:command>	
</fte:call>