TRANS 関数

構文

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 値である場合に取られるアクションを指定するコードとして評価される式です。指定できる制御コードは、次のとおりです。

X
(デフォルト) レコードが存在しないか、データが見つからない場合には空白ストリングを返します。
V
レコードが存在しないか、データが見つからない場合には空白ストリングを返してエラー・メッセージを生成します。
C
レコードが存在しないか、データが見つからない場合に record.ID の値を返します。
N
NULL 値が見つかった場合に record.ID の値を返します。

返された値は低いレベルで処理されます。 例えば、元がフィールドの値マークであれば、戻り値ではサブ値マークになります。詳しくは、LOWER 関数を参照してください。

filenamerecord.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