TRANS ( [DICT] filename, record.ID, field#, control.code)
TRANS 関数を使用すると、InfoSphere® DataStage® ファイルにあるフィールドまたはレコードの内容を返すことができます。 TRANS 関数はファイルを開き、レコードを読み取り、指定されたデータを抽出します。
filename は、リモート・ファイルの名前として評価される式です。TRANS 関数がファイルを開けない場合は、ランタイム・エラーが発生し、TRANS は空白ストリングを返します。
record.ID は、アクセスされるレコードの ID として評価される式です。record.ID が複数値の場合、各レコード ID に対して変換が起こり、結果は複数値になります (システム区切り文字で各レコードから変換されたデータが区切られます)。
field# は、データが抽出されるフィールドの数として評価される式です。field# が -1 の場合、レコード ID を除いたレコード全体が戻ります。
control.code は、データが見つからないか、NULL 値である場合に取られるアクションを指定するコードとして評価される式です。指定できる制御コードは、次のとおりです。
返された値は低いレベルで処理されます。 例えば、元がフィールドの値マークであれば、戻り値ではサブ値マークになります。詳しくは、LOWER 関数を参照してください。
filename、record.ID、または field# が NULL 値として評価されると、TRANS 関数は正しく実行されずプログラムはランタイム・エラー・メッセージを出力して終了します。control.code が NULL 値として評価される場合、NULL は無視されて X が使用されます。
TRANS 関数は、XLATE 関数と同様です。
X=TRANS("VOC","EX.BASIC",1,"X")
PRINT "X= ":X
*
FIRST=TRANS("SUN.MEMBER","6100",2,"X")
LAST=TRANS("SUN.MEMBER","6100",1,"X")
PRINT "NAME IS ":FIRST:" ":LAST
次のプログラム出力が得られます。
X= F BASIC examples file
NAME IS BOB MASTERS