複数の出力コンポーネントの定義
この例では、3つのtLogRowコンポーネントを使用して、未処理レコード、承認されたレコード、およびリジェクトされたレコードをそれぞれテーブル形式で表示し、tJavaコンポーネントを使用して要約情報を表示します。これらのコンポーネントを定義するには、以下の手順に従います。
手順
-
次のスクリプトコードを入力して、最初のtLogRowコンポーネントを追加および定義します。
このコンポーネントは、tReplicateコンポーネントと同じスキーマ構造を持つ必要があります。
// print unprocessed records addComponent { setComponentDefinition { TYPE: "tLogRow", NAME: "tLogRow_1", POSITION: 512, 160 } setSettings { BASIC_MODE : "false", TABLE_PRINT : "true", VERTICAL : "false", PRINT_UNIQUE : "true", LABEL : "unprocessed_records" } addSchema { NAME: "tLogRow_1", CONNECTOR: "FLOW" addColumn { NAME: "name", TYPE: "id_String" } addColumn { NAME: "gender", TYPE: "id_String" } addColumn { NAME: "age", TYPE: "id_Integer", LENGTH: 2 } addColumn { NAME: "city", TYPE: "id_String" } addColumn { NAME: "marriageStatus", TYPE: "id_String" } } }
-
次のスクリプトコードを入力して、2番目のtLogRowコンポーネントを追加および定義します。
このコンポーネントは、tFilterRowコンポーネントのACCEPTフローと同じスキーマ構造を持つ必要があります。
// print accepted records addComponent { setComponentDefinition { TYPE: "tLogRow", NAME: "tLogRow_2", POSITION: 832, 224 } setSettings { BASIC_MODE : "false", TABLE_PRINT : "true", VERTICAL : "false", PRINT_UNIQUE : "true", LABEL : "accepted_records" } addSchema { NAME: "tLogRow_2", CONNECTOR: "FLOW" addColumn { NAME: "name", TYPE: "id_String" } addColumn { NAME: "gender", TYPE: "id_String" } addColumn { NAME: "age", TYPE: "id_Integer", LENGTH: 2 } addColumn { NAME: "city", TYPE: "id_String" } } }
-
次のスクリプトコードを入力して、3番目のtLogRowコンポーネントを追加および定義します。
このコンポーネントは、tFilterRowコンポーネントのREJECTEDフローと同じスキーマ構造を持つ必要があります。
// print rejected records addComponent { setComponentDefinition { TYPE: "tLogRow", NAME: "tLogRow_3", POSITION: 832, 288 } setSettings { BASIC_MODE : "false", TABLE_PRINT : "true", VERTICAL : "false", PRINT_UNIQUE : "true", LABEL : "rejected_records" } addSchema { NAME: "tLogRow_3", CONNECTOR: "FLOW" addColumn { NAME: "name", TYPE: "id_String" } addColumn { NAME: "gender", TYPE: "id_String" } addColumn { NAME: "age", TYPE: "id_Integer", LENGTH: 2 } addColumn { NAME: "city", TYPE: "id_String" } addColumn { NAME: "errorMessage", TYPE: "id_String", NULLABLE: true, LENGTH: 255, PRECISION: 0 } } }
情報メモ警告:errorMessageカラムが必須です。REJECTED出力フローの固定プロパティを含みます。
-
次のスクリプトコードを入力して、tJavaコンポーネントを追加および定義します。
このコンポーネントはtLogRowコンポーネントのグローバル変数を呼び出して、それぞれが処理した行数を表示します。このコンポーネントに対してはスキーマカラムを定義する必要はありませんが、実行するJavaコードをsetSettings {}関数に指定する必要があります。
// print summary addComponent { setComponentDefinition { TYPE: "tJava", NAME: "tJava_1", POSITION: 160, 416 } setSettings { CODE : "System.out.println(\"\\n\" + \"Total number of records : \"+globalMap.get(\"tLogRow_1_NB_LINE\") + \"\\n\" + \"Number of records accepted : \"+globalMap.get(\"tLogRow_2_NB_LINE\") + \"\\n\" + \"Number of records rejected : \"+globalMap.get(\"tLogRow_3_NB_LINE\") + \"\\n\" + \"\\n\" );", LABEL : "print_summary" } addSchema { NAME: "tJava_1", CONNECTOR: "FLOW" } }
情報メモ警告:メタ文字を指定する場合、必ずバックスラッシュ(\)を使用してください。