0

MapForce 2013 でマッピングを作成し、MFX ファイルをエクスポートしました。ここで、MapForce Server を使用してマッピングを実行できるようにする必要があります。問題は、入力 EDI ファイルと出力ファイルの両方を指定する必要があることです。私が知る限り、使用パターンは、MFX 自体の入力/出力構成を使用して MapForce サーバーでマッピングを実行することであり、コマンド ラインで渡されることはありません。

入力/出力を標準のファイル名に変更し、マッピングを実行する前に入力ファイルをそのパスに書き込み、マッピングが完了したら標準出力ファイルパスから出力を取得できると思います。

しかし、私は次のようなことができるようにしたいと思います:

MapForceServer run -in=MyInputFile.txt -out=MyOutputFile.xml MyMapping.mfx > MyLogFile.txt

このようなことは可能ですか?おそらくマッピング内でパラメーターを使用していますか?

4

1 に答える 1

0

同様の状況に対処する際に私が遭遇した2つのオプションがあります。

オプション 1 - コンポーネント設定で入力 XML ファイルを *.xml に設定すると、mapforceserver.exe は、ソースが xml であると仮定して、ディレクトリ内のすべての txt を自動的に処理します (これは、テキストに対しても同じように機能するはずです)。以下の例のように、クリーンアップ ルーチンを設定して、処理後にファイルを別のフォルダーに移動できます。

注: スキーマ ファイルが配置されているフォルダーを検索します。

オプション 2 - 出力が XML であるため、Altova の raptorxml を使用できます (別のライセンス料金を負担してください)。XSLT 2.0 でコードを生成し、バッチ ファイルを使用して自動的に実行できるようになりました。

::@echo off
for %%f IN (*.xml) DO (RaptorXML xslt --xslt-version=2 --input="%%f" --output="out/%%f" %* "mymapping.xslt"

if NOT errorlevel 1 move "%%f" processed 
if errorlevel 1 move "%%f" error)
sleep 15
mymapping.bat

スリープ コマンドを投入して、15 秒ごとに再チェックするためにバッチをループさせました。残念ながら、出力ターゲットがデータベースの場合、これは機能しません。

于 2014-10-13T14:53:20.827 に答える