Arg1
ベースを解析するために DataStage で C 関数/ルーチンが必要でありArg2
、結果の値を返す必要があります。ここで、Arg1
は Transformlogic に他ならず、Arg2
の入力値ですArg1
。以下は機能です:
char* TransformParsing(char* Arg1, char* Arg2)
{
.....
parsing..
...
....
return result;
}
そして、以下のように区切られた4つの列を持つ入力レコードがあり|
ます:
KeyCol | TransformLogic1|TransformLogic2|TransformLogic3
100|"if Col49[1,4]=COMM then I else P"|"if Col49[1,4]=COMM then Commission else Polo"|"if Col49[1,4]=COMM then ABC else xyz"
101|TfL1|TfL2|TfL3
102|TfL1|TfL2|TfL3
ここでは、1 行目に 3 つの TransformLogic があります (つまり、KeyCol=100
)。ここで、行全体を同時に処理したいと考えています。上記のルーチンは、以下のように、残りの 2 列をダミーとして、1 列で使用すると結果を返すことができます。
KeyCol, TransformParse(Arg1, Arg2), "Dummy", "Dummy" --->is executing perfectly.
行全体を処理したい場合は、3 つの場所で同時にルーチンを呼び出す必要があります。関数を何度も呼び出すと、実行中/ハングアップし続けるだけです。それが私がマルチスレッドに行きたいことです。
以下のように:
KeyCol, TransformParse(Arg1, Arg2), TransformParse(Arg1, Arg2), TransformParsing(Arg1, Arg2).---> Is not executing perfectly
これで、自分の目的が非常に明確になったことを願っています。誰かが私の仕事を理解し、同じように助けてくれませんか?