ステップ5. 処理シーケンスを作成する

LANSA Composer

ステップ5. 処理シーケンスを作成する


このステップでは、以下の処理を行う処理シーケンスを作成します。

  • Assign 変数 = OK
  • While 変数 = OK
  • MAIL_RECEIVEを使って、1つの電子メールを取り出す
  • If FROMADDRESSがブランクでない(電子メールが見つかった)場合

           -  電子メールの添付ファイル(リスト)の間ループ

           -  パス名とファイル名からCONCATで出力パス/ファイル名を作成

           -  電子メール添付ファイルからEMPNOを選択し、PSLMSTファイルをXMLに変換

           -  XMLファイルをリモート・ホストにFTP送信

     Else

           -  変数= END - 次回While loopを終了

           -  Terminate

1.  [ナビゲータ][定義]/[処理シーケンス]を選択します。

2.  ツールバーのボタンを使用して、新しい処理シーケンスを作成します。

3.  左側のパネルで[命令]タブを選択し、[Assign]命令を右側の[詳細]パネルにドラッグ・アンド・ドロップします。

4.  [Assign]命令の[式]の入力フィールドに以下をタイプします。
   &FLAG_WHILE = 'OK'

5.  左側のパネルの[命令]タブから[While]命令を処理シーケンスの最後にドラッグ・アンド・ドロップします。
[条件]フィールドに&FLAG_WHILE = 'OK'とタイプします。

6.  左側の[アクティビティ]タブから[MAIL_RECEIVE]アクティビティを処理シーケンスの最後にドラッグ・アンド・ドロップします。
必要であれば、[レベルを上げる/下げる]ボタンを使って、[While]ループ内にアクティビティが位置付けられるようにします。

7.  左側の[構成]タブから[iii_TUTPOP3]をドラッグし、[MAIL_RECEIVE]の[POP3CONFIG]パラメータにドロップするか、もしくはタイプします。

8.  [命令]タブから[If]命令を処理シーケンスの最後にドラッグ・アンド・ドロップします。 これが、[While]ループ内に入っていることを確認してください。

9.  [変数]タブから[FROMADDRESS]をドラッグし、[If]条件フィールド内にドロップします。そして、条件には*NE '' (単一引用符を2つ、スペースなし)とタイプして完成させます。

     注: 受け取る電子メールがない時は、[FROMADDRESS]はブランクになります。 この条件は後ほど変更して、ループを終了させるためのフラグとして使用します。

     [If]条件が真の場合、電子メールの添付の内容をループし(1件以上の添付があった時のために)、変換マップに添付を送信し、結果をFTP送信します。

10. 左側のパネルの[命令]タブから[Loop]命令を処理シーケンスの最後にドラッグ・アンド・ドロップします。 これは[If]条件のブロック内でなければなりません。

11.[変数]タブから[ATTACHMENTLIST]をドラッグ・アンド・ドロップして[Loop]フィールドを埋め、他のフィールドはタイプします。

12. [アクティビティ]タブから[CONCAT]アクティビティを処理シーケンスの最後にドラッグ・アンド・ドロップします。 これは[Loop]ブロック内でなければなりません。 必要であれば、[レベルを上げる/下げる]ボタンを使用して、調整してください。

 このアクティビティを使って、以下のような応答XMLファイルのファイル名を生成します。

STRING 1

ファイル・パス

'/Lansa_Composer_k12pgmlib/lic/Tutorial/iiiFTPOUT'

STRING 2

ファイル名

'/iiiEmployeeDetails'

STRING 3

添付カウント

&ATTLOOPINDEX

STRING 4

ファイル・タイプ

'.xml'

STRINGOUT

結果の文字列

&RESPONSEFILENAME

 

13.左側のパネルの[変換マップ]タブから[iiiTUTMAP03]を処理シーケンスの最後にドラッグ・アンド・ドロップします。 これは[Loop]ブロック内でなければなりません。 必要であれば、[レベルを上げる/下げる]ボタンを使用して、調整してください。

14.変換マップのインバウンド・パラメータを[変数]タブからドラッグ・アンド・ドロップするか、もしくはタイプして埋めます。

15. 変換マップが実行された後、FTPを使って送信します。
左側の[アクティビティ]タブから[FTP_OUTBOUND]アクティビティをドラッグします。 [構成]タブからドラッグ・アンド・ドロップ、または直接タイプして、[FTPCONFIG]パラメータにiiiTUTFTPOUTを設定します。

処理シーケンスは次のようになります。

16.[命令]タブから[Else]を処理シーケンスの最後にドラッグ・アンド・ドロップします。 これは[If]ブロックと同じレベルでなければなりません。

17. これ以上処理する電子メールがない時に、[Else]ブロックに辿り着きます。 ここには[While]ブロックを終了するロジックを追加します。

     [命令]タブから[Assign]を処理シーケンスの最後にドラッグ・アンド・ドロップします。 これは[Else]ブロック内でなければなりません。

     割り当て式を次のようにタイプします。 &FLAG_WHILE = 'END'

     これにより、次の反復でWhile条件が評価され、ループが終了します。

18.[命令]タブから[Terminate]を処理シーケンスの最後にドラッグ・アンド・ドロップします。 [レベルを上げる]ボタンを使って、[Terminate]が一番上のレベルになるようにします。

     完成した処理シーケンスは次のようになります。

19.処理シーケンスを以下の通り保存します。

[名前]

iiiTUTSEQ07

[記述]

社員リストCSV要求処理 - LIC009

[状態]

アクティブ