| # 変換設定定義 (ecedi5111s000) セッションの目的: 受信メッセージの変換のためのフィールド、順序およびオプションを記録します。 注意 このセッションは、このセッションの動作を阻害する他のセッション、または、このセッションが妨害する可能性のある他のセッションと同時に実行されないよう、保護されています。 関連トピック 変換設定の使用 (定義) 組織 EDI 通信で使用する標準 (ANSI X12、UN/EDIFACT、VDAなど) のセットを表すコード EDI メッセージ アプリケーションによってサポートされる受信メッセージまたは発信メッセージ。これらのメッセージは有効 (会社内で実際に使用) または無効にできます。 関連トピック サポート EDI メッセージの使用 方向 EDI メッセージの方向 フィールドタイプ ASCII ファイル形式 注意 変換設定は、フィールドがフィールド区切り記号で区切られているファイル、または固定長のフィールドを持つファイルに対して作成することができます。 変換設定コード 変換設定を識別するコード 宛先 変換設定 (関係) (ecedi5112m000) セッションで定義された、受信メッセージ内のフィールドの宛先 フィールド フィールド名。例: tdsls400.ofbp 連番 フィールドの連番。同じフィールドを複数回含めることができます。変換設定にフィールドが一度しか表示されない場合、このフィールドを 0 か 1 に設定することができます。フィールドが変換設定定義に複数回表示される場合、変換設定定義でフィールドが発生するたびに、連番を増分1として増加させることができます。 処理順序 フィールドが処理される順序 レベル 変換設定 (関係) (ecedi5112m000) セッションで定義されたレベル 開始位置 ラインにおけるフィールドの位置 注意 ネットワーク (ecedi0120s000) セッションの [フィールドタイプ] フィールドが ｢固定長｣ である場合は、フィールドの物理的な開始位置を入力する必要があります。ネットワーク (ecedi0120s000) セッションの [フィールドタイプ] フィールドが ｢区切り｣ である場合は、1 から始まるフィールド番号を入力する必要があります。 要素 インデックスフィールドのインデックス要素、または文字列変数の文字列における開始位置 インデックスフィールドの例 文字列変数の場合、文字列における開始位置を指定することができます。このフィールドは、[長さ] フィールドと組み合わせることにより、部分文字列を指定することができます (例: ｢ABCDEFGHIJKLMNOP｣ という文字列について、長さ 5 を持つ 3 という値により ｢CDEFG｣ が出力されます)。
フィールド tdsls400.disc (標準の階層数 = 5 レベル)
レベル | 1 | 10
| 2 | 15
| 3 | 8
| 4 | 5
| 5 | 7
値を 0 にすると、全フィールド: 010015008005007 が出力されます。このオプションは、内部通信用にのみ使用します。値を 1 および 3 にすると、要素: 010 および 008 のみが出力されます。この出力は、このフィールドが外部通信にも使用できることを意味します。 長さ フィールドの物理的な長さ 次レコードを読取 このチェックボックスがオンの場合、受信メッセージに対してはこのレベルで新規レコードが読み取られ、送信メッセージに対してはフィールドに属するテーブルの新規レコードが読み取られます。このチェックボックスがオフの場合、新規レコードは読み取られず、現在のレコードが引き続き有効となります。 注意 このフィールドには、フィールドの内容を処理するために新規レコードを読み取る必要があるかどうかが示されます。ユーザは、このフィールドの値に基づき、同じファイルから新しいラインを読み取る時期を決定することができます。 反復レベル フィールド処理後のカーソル移動位置を示す連番。このフィールドが使用されるのは、このレコードが反復レベルの最終フィールドに対するもの、または変換設定の最終フィールドに対するものである場合のみです。 例 たとえば、ASCII ファイルのデータを含むテキストフィールドを、オーダヘッダに反復して入力したいとします。最後のテキストフィールドへの入力が完了すると、カーソルは [連番] フィールドを使って、連番が 3 のフィールドに戻ります。キーと 3 つのテキストフィールドが、レベル 2 の各ラインに入ります。
フィールド | レベル | 連番 | 反復レベル
オーダ No. | 1 | 1 |
参照 | 1 | 2 |
テキストフィールド | 2 | 3 |
テキストフィールド | 2 | 4 |
テキストフィールド | 2 | 5 | 3
適合しないキー キーが有効でない場合、またはキーが変更された場合のカーソルの移動位置を示す連番。このフィールドは、新規レコードが ｢Yes｣ になっている場合のみ記入します。 例 1 - 反復処理 すべてのテキストフィールドの処理が終わると、顧客番号が読み取られます。レベル 2 は反復です。
フィールド | レベル | 順序 | 戻り | 戻り | 新規
反復 | キーレコード |  |  |  |
オーダ No. | 1 | 1 |  |  |
参照 | 1 | 2 |  |  |
テキストフィールド | 2 | 3 |  | 6 | yes
テキストフィールド | 2 | 4 |  |  |
テキストフィールド | 2 | 5 | 3 |  |
顧客 | 1 | 6 |  |  |
例 2 - 連続処理 すべてのオーダラインの記入後に (レベル 2)、新規オーダを挿入することができます (レベル 1)。
フィールド | レベル | 順序 | 戻り | 戻り | 新規
反復 | キーレコード |  |  |  |
オーダ No. | 1 | 1 |  |  | yes
参照 | 1 | 2 |  |  |
顧客 | 1 | 3 |  |  |
品目 | 2 | 4 |  | 1 | yes
数量 | 2 | 5 |  |  |
納期 | 2 | 6 | 4 |  |
レコード書込 このチェックボックスがオンの場合、出力式の結果に応じて、受信メッセージ用のフィールドの処理後に、関連するテーブルにレコードを追加する必要があります。フィールドの宛先 (オーバーヘッド、ヘッダ、ライン) により、メッセージを保存するテーブルが決定されます。 例 1
フィールド | 宛先 | レコード書込
オーダ No. | ヘッダ |
参照 | ヘッダ |
顧客 | ヘッダ | yes
品目 | ライン |
数量 | ライン |
納期 | ライン | yes
同じ宛先に対する書き込みアクション後に処理されたフィールドは、関連テーブルには追加されません。同じレコード (たとえばオーダライン) について複数の書き込みアクションを開始することはできません。宛先は階層構造になっているため、LN は、上位の宛先がすべて書き込まれたかどうかを確認します。上位の宛先が書き込まれていない場合は、指定された宛先 (より下位の宛先) に書き込む前に、該当する宛先 (書き込みのないその上位の宛先) に書き込まれます。階層構造は次のとおりです。 オーバーヘッド ヘッダ ライン 例 2
フィールド | 宛先 | レコード書込
オーダ No. | ヘッダ |
参照 | ヘッダ |
顧客 | ヘッダ |
品目 | ライン |
数量 | ライン |
納期 | ライン | yes
まだヘッダが書き込まれていないので、ヘッダが最初に書き込まれ、その後にラインが続きます。オーバヘッドがない場合は、ヘッダの前にラインに書き込まれます。 評価 評価式のコード。この式は、そのフィールドをメッセージに含めるかどうかを決定します。この式は論理式で、結果は真または偽で表されます。このフィールドのデフォルト値は 1 で、真です。この式は、そのフィールドがメッセージに配置される前に実行されます。つまり、関連する読み取り、書き込みアクションは常に実行されます。実際には、この式は等式です。たとえば購買オーダ上の [倉庫] フィールドの場合、式は次のようになるでしょう: strip((tdpur400.cwar) <> "" この式は、倉庫フィールドが記入されていない場合は、真です。この式では、次の演算子を使用できます。 以下は優先順位の高い順での、演算子の一覧です。 () - (reverse sign) * / \ & + - (add subtract) = > < <> <= >= NOT AND OR ?: 式には、次の定数を使うことができます。
PI | 3.1415926535..
TRUE | 常に真
FALSE | 常に偽
式には、関数を使うことができます。 次のような数値範囲を使用することもできます。a IN [10,20] は、a>=20 AND a<=30 に等しく、a IN [10,20][30,40][50,60] は、a>=10 AND a<=20 OR a>=30 AND a<=40 OR a>=50 AND a<=60 に等しい。 算術例
() | 括弧 (優先順位) |
| 反転記号 (引数が必要) | a=-b
* | 乗算 | 3*5=15
/ | 除算 | 6/2=3
\ | 除算後の余り | 8\3=2
& | 文字列の連結 | "A"&"B"="AB"
+ | 加算 | 2+3=5
| 引き算 | 3-2=1
関係式の (比較用) 例
= or EQ | 等しい | 3=5 は偽
<> or NE | 等しくない | 3<>5 は真
> or GT | より大きい | 3>5 は偽
< or LT | より小さい | 3<5 は真
>= or GE | より大きいまたは等しい | 3>=5 は偽
<= or LE | より小さいまたは等しい | 3<=5 は真
論理式の例
AND | and (ともに真) | a=b AND b=c
OR | or (いずれかが真) | a=b OR a=c
NOT | not (真ではない) | NOT (a=b AND b=c)
その他の演算子 condition?true:false <condition> が真の場合、<true> が実行され、その他の場合は <false> が実行されます (<condition> の優先順位は最も低いので、必ず括弧で囲みます)。 関数
abs(N) | N の絶対値を算出します。
acos(N) | N がコサインである角度 (ラジアン) を算出します。
asc(S) | S の文字の ASCII 値の合計を算出します。asc("ABC")=65+66+67=198
asin(N) | N がサインである角度 (ラジアン) を算出します。
atan(N) | N がタンジェントである角度 (ラジアン) を算出します。
chr(N) | N が ASCII 値である文字を生成します。chr(65)="A"
cos(N) | 角度 N(ラジアン) に対するコサインを算出します。
cosh(N) | 角度 N(ラジアン) に対する双曲線を生成します。
date() | 現在の日付番号を生成します。
date(J,M,D) | D、M および J で表される日付における日付番号を生成します。
exp(N) | 2.718128.. の N 乗を算出します。
int(N) | N の整数 (切り捨て) を算出します。
len(S) | S における文字数を算出します。len("ABC")=3
log(N) | N の自然対数を算出します。
log10(N) | N の 10-対数を算出します。
max(N,M) | N または M の大きい方の値を算出します。
min(N,M) | N または M の小さい方の値を算出します。
pos(S,T) | S において T が発現する最初の位置を求めます。pos("ABCDEFEF","EF")=5
pow(N,M) | N の M 乗を算出します。
round(N,D,M) | D 十進数に丸めた N の値を求めます。M=0 の場合、N は切り捨てられます。round(1.99,2,0)=1.00 M=1 の場合､N は四捨五入されます。round(1.49,2,1)=1.00、round(1.50,2,1)=2.00 M=2 の場合、N は切り上げられます。round(1.01,2,2)=2.00
rpos(S,T) | S において T が発現する最後の位置を求めます。rpos("ABCDEFEF,"EF")=7
sin(N) | 角度 N(ラジアン) に対するサインを算出します。
sinh(N) | 角度 N(ラジアン) に対する双曲線を生成します。
sqrt(N) | N の非負平方根を求めます。
str(N) | N の文字列を作成します。str(1.04)="1.04"
strip(S) | 後にスペースを付けずに S を返します。
tan(N) | 角度 N(ラジアン) に対するタンジェントを算出します。
tanh(N) | 角度 N(ラジアン) に対する双曲正接を生成します。
time() | UUMM のフォーマットで現在の時刻を算出します。
val(S) | S の数値を生成します。val("1.04")=1.04
割当 割当式のコード。式の結果は ASCII ファイル (送信メッセージ) に書き込まれ、そのファイルは LN アプリケーション (受信メッセージ) 内に更新されます。たとえば、計画納期を計画入庫日の 2 日前の値に設定したい場合、次の割当式を計画納期フィールドに割り当てることができます: tdsls400.prdt - 172800 注意 日付は内部で UTC 日付として処理されるため、秒単位で表示する必要があります。したがって、172800 は 2 日を表します。 割当式で参照するテーブルフィールドは、割当式を適用するフィールドより先に処理する必要があります。割当式で参照するフィールドは、変換設定定義で定義したとおり、より低い処理順序である必要があります。たとえば先述の例では、フィールド tdsls400.prdt は、変換設定定義で定義したとおり、フィールド tdsls400.ddat より低い処理順序でなければなりません。 変換フィールド このチェックボックスがオンの場合、該当する変換テーブルを使用してフィールドが変換されます。このチェックボックスがオフの場合、コードが LN 内の対応コードと一致するため、変換の必要はありません。 注意 受信メッセージに含められるフィールドはすべて変換することができます。このチェックボックスがオフの場合は、メッセージ内のコードが LN 内のコードと一致するため、変換の必要はありません。 変換エラーのアクション 受信メッセージの変換中にエラーが発生した場合にとるアクション 注意 選択された値は処理セッションでサポートされている必要があります。 コードテーブル ユーザがメッセージに含めるコード。たとえば、コードをテキストフィールドに入力したいとします。そのテーブルにはコード A と記述 ｢付加費用｣ が入っています。この場合、テキストフィールドは、｢記述: 付加費用｣ となります。そのコードが見つからない場合、テキストフィールドには記述ではなくコードが入ります。 注意 このフィールドは、レコードがテキストフィールド用の場合のみ、アクセスできます。 フィールド記述 フィールドがテキストフィールドの場合、テキストフィールドの実際のフィールド内容の前に表示するテキストの文字列を入力します。たとえばこのフィールドに ｢記述｣ を入力し、テキストフィールドの内容が ｢ディーゼルエンジンバルブ｣ の場合、結果としてテキストフィールドは ｢記述: ディーゼルエンジンバルブ｣ となります。 フィールドアクション 受信メッセージフィールドの処理方法 空白に入れる値 EDI メッセージの空フィールドの置換に使用する値 開始位置測定子 最初の測定子の開始位置。ERP の EDI におけるコード変換では、コード ID が必要な場合があります。コード ID は、付加的なデータ仕様の変換を可能にする、コード変換で使用する測定子です。コード ID は、変換設定定義の最初の測定子の位置内に転送されます。 注意 ネットワーク (ecedi0120s000) セッションの [フィールドタイプ] フィールドが ｢固定長｣ である場合は、フィールドの物理的な開始位置を入力する必要があります。ネットワーク (ecedi0120s000) セッションの [フィールドタイプ] フィールドが ｢区切り｣ である場合は、1 から始まるフィールド番号を入力する必要があります。 測定子の長さ 測定子の物理的な長さ 注意 この値は、ネットワーク (ecedi0520m000) セッションで、フィールドタイプが ｢固定長｣ と定義されている場合にのみ入力できます。 測定子変換なし 結果として変換が行われない測定子の値。たとえば、値 ｢SC｣ をここで指定するとします。メッセージに値が ｢SC｣ である測定子が含まれている場合、変換は行われません。メッセージに他の値が含まれている場合は、その値は変換されます。 注意 読み取られた値が測定子の値に等しい場合、変換テーブルは適用されず、読み取られたファイルが使用されます。このような状況は、両方が EAN 品目コードを使っている場合に起こる可能性があります。 デフォルト測定子 メッセージで測定子が受信されなかった場合に使用する値 フィールド この記述フィールドおよび対応する EDI メッセージ内のデータ要素に対するマッピング情報。この記述フィールドは、参考用およびレポート用にのみ使用します。 測定子 1 最初の測定子および対応する EDI メッセージ内のデータ要素に対するマッピング情報 測定子 2 2 番目の測定子および対応する EDI メッセージ内のデータ要素に対するマッピング情報 |