問題タブ [edifact]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
biztalk - Biztalk EDIFACT 処理
Biztalk を使用して edifact ファイルを処理しようとしています。送信ポートに適用される非常に単純なマップをセットアップしました。ただし、Biztalk はメッセージについて不平を言います。ネットで検索してみましたが、結果はありませんでした。ここでediファイルを見ることができます。EDIFACT プロトコルを使用してパーティと契約をセットアップしましたが、どれだけ正しく行ったかはわかりません。そのメッセージを Biztalk に提供しようとすると、イベント ログに次のメッセージが表示されます。
URI "C:\Temp*.edi" の受信場所 "Receive Location1" でアダプター "FILE" によって受信されたメッセージは中断されます。エラーの詳細: 受信パイプライン "Microsoft.BizTalk.Edi.DefaultPipelines.EdiReceive, Microsoft.BizTalk.Edi.EdiPipelines, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" のコンポーネント "Unknown " の出力メッセージが中断されました次のエラーが原因です: エラー: 1 (フィールド レベル エラー) セグメント ID: TS 内の UNB 位置: 1 データ要素 ID: UNB5 セグメント内の位置: 5 データ値: 37: データ要素に無効な文字が見つかりました。中断されたメッセージのシーケンス番号は 1 です。
意味がわかりません。どんな助け、指示も大歓迎です。
ありがとう。
biztalk - セグメントの順序付けの検証を無効にする方法は?
Biztalkを使用して処理する必要があるEDIFACTメッセージを受信しています。Biztalkがファイルを取得すると、イベントログにエラーエントリが記録されます。
エラー:2(セグメントレベルエラー)SegmentID:TSでのMEA位置:5442 15:この位置でサポートされていないセグメント、データ型、またはセグメントの使用
問題を調査しましたが、MEAセグメントが正しくない場所にあることがわかりました。Stylus Studioを使用してこのEDIファイルを変換しようとしましたが、セグメントの順序の検証を無効にするまで同じ問題が発生しました。その後、StylusはファイルをXMLに正常に変換しました。では、Biztalkでもセグメントの順序付けの検証を無効にできる方法はありますか?受信パイプラインでEdiDataValidationとXmlSchemaValidationを無効にしましたが、それでもエラーが発生します。何か案が?
ありがとう
c# - 特定の文字(?)をフォローしていないときに、正規表現を使用して文字(')と一致させるにはどうすればよいですか?
疑問符が前に付いていない限り、特定の区切り文字で文字列を分割する正規表現パターンを作成するにはどうすればよいですか?
EDIFACTメッセージをセグメント、コンポジット、および要素に分割するパーサーを作成しました。ただし、EDI標準では、疑問符はエスケープ文字です。したがって、この文字列を分割するには:
string.Split('\'')、次にstring.split(' +')、次にstring.split(':')を使用して、PRI、2.005、1、9022.5などを取得できます。疑問符でエスケープされます:
これは、PRI、2.005 + 3.2、1、9022.5、RAD'R、RRHANB97になります。
誰かが「?」ではなく「」に一致する正規表現を手伝ってもらえますか?
ありがとう
regex - 正規表現を使用した二重改行のマッチング
私は、EDIFACTUNコードリストからさまざまな情報を抽出する正規表現を書いています。何万ものコードがあるので、それらをすべて入力したくないので、正規表現を使用してテキストファイルを解析し、必要なビットを抽出することにしました。テキストファイルは、必要なビットを簡単に識別できるように構成されています。
Regex Heroを使用して次の正規表現を作成しましたが、 codeCommentグループの2つの改行まですべてを一致させることができません。文字クラス[^\n \ n]を使用してみましたが、それでも二重改行とは一致しません。
注: RegexHeroで[マルチライン]オプションを選択しました。
これは、私が照合に使用しているテキストの例です。
-------------------------------------------------- --------------------
1073ドキュメント行アクションコード[B]
説明:ドキュメントの行に関連付けられたアクションを示すコード 。担当者:an..3
1ドキュメント/トランザクション
に含まれるドキュメント行は
ドキュメント/トランザクションに含まれます。
これもキャプチャする必要があります。2ドキュメント/トランザクションから
除外ドキュメント行は
ドキュメント/トランザクションから除外されます。
私が欲しいのは、codeCommentに以下を含めることです。
しかし、それは最初の行を抽出しているだけです:
biztalk - パーティ契約でのEDIFACT区切り文字の設定
現在、BizTalkServer2010にEDIソリューションを実装しています。これはシナリオです。
BizTalkは、X.400メールボックスと顧客のERPソフトウェア間の正しいメッセージルーティングを担当します。また、SharePoint Webサービスを使用して、交換されたメッセージに関する情報をSharePointサイトに配置するためにも使用されます。
ロールリンクとBizTalkパーティ管理を使用して、正しい設定(送信ポート、UNB6セグメントのパスワードなど)を適用しています。
ここで、次の質問があります。
顧客のERPシステムから発信INVOICメッセージをフェッチし、オーケストレーションで関連情報を抽出してSharePointサイトに書き込もうとすると、EDI受信パイプラインを使用する受信ポートが次のように中断されます。エラーメッセージ:
これは、メッセージが各セグメント区切り文字の後にサフィックスとしてCRとLFを使用するために発生します。これで、CRとLFのASCII 16進コードをパイプラインの「EfactDelimiters」設定に追加できましたが、問題は、CRとLFのない他のメッセージがあり、同じパイプラインを使用して受信できなかったことです。ちなみに、 CRとLFを区切り文字として設定せずに、パイプラインを使用してCRとLFなしでこれらのメッセージのいずれかをフェッチすると、受信ポートも一時停止されます。今回は、コンマの代わりにドットを使用した結果としてエラーメッセージが表示されます。小数点記号(パイプラインで「UseDotAsDecimalSeparator」オプションを有効にしましたが)。繰り返しますが、EfactDelimitersを変更するだけで役立ちます。
パーティー契約の「文字セットと区切り文字」ページは、まさにそれを可能にするはずだと思いました。ビジネスパーティーごとに個別に区切り文字を設定することです。しかし、これらの設定で行った変更は、まったく効果がないようです。「UNA6サフィックス」を「CRLF」に設定し、「Decimal Notation(UNA3)」を「。(Decimal)」に設定して、ホストインスタンスを再起動します...同じ問題。
誰か助けてもらえますか?
xpath - 最後の要素を見つける方法
biztalk - オーケストレーションで xpath を使用して、edifact ファイルの最後の Line 要素で IMD を見つけようとしています。これは私のxpathです:
そして、これは私のedifatファイルです:
戻り値:
無効なトークンがあります
c# - Amadeus航空券ファイルの解析方法
Amadeus は、フライトの予約ごとに以下のような AIR ファイルを生成します。このファイルから予約番号と出発地と目的地の空港を読み取る必要があります。
Google で「Amadeus air format」を検索しましたが、フォーマットの説明が見つかりませんでした。EDIFACt に関するウィキペディアのエントリは少し異なり、この内容については説明していません。
ファイル構造に関する情報はどこにありますか? このファイルを解析する方法は? ファイル構造についてはわかりません.SQLテーブルのようなレコードが含まれていますか、それともポストスクリプトファイルのような予約プロトコル命令ですか?
アプリケーションは Microsoft Windows で動作し、できれば Visual FoxPro または C# 言語で動作する必要があります。FoxPro または Microsoft Visual Studio 2012 Express をプログラミング環境として使用可能
Google は、コメントや
http://www.amadeusschweiz.com/en/documentation/usermanuals.html
それらはユーザーマニュアルです。最も有望なAmadeus Airユーザーガイドは、次のとおりです。
私が受け取ったファイルの名前は air.txt で、ファイル内の最初のトークンは AIR-BLK206 である可能性があります。Google はこれを使用して私のようなドキュメントを返すので、一般的に使用されているようです。
このファイルは、air.txt ファイルを生成するチケットの予約方法を記述したものと思われます。
これと BLK のチケット ユーザー ガイドを検索しましたが、それらにはこの略語が含まれていません。
ユーザー マニュアルのコマンドは、このファイルのコマンドとは異なって見えます。この情報を使用して、このファイルから予約番号と目的地の空港を抽出するにはどうすればよいですか? Google を使用した形式の説明が見つかりませんでした。あなたが投稿した同様のAmadeusユーザーガイド、チュートリアル、およびクイックリファレンスファイルがありますが、それらを使用してこのファイルを解析する方法がわかりません.
1 つのメッセージは、これが EDIFACT の形式であることを示しています。ただし、ウィキペディアの EDIFACT メッセージ サンプルも異なります。これらのファイルを読み取れることを示す簡単なプロトタイプを顧客に作成する必要があります。
たぶん、人間が読める形式で表示するために使用できるプログラムがいくつかありますか?
biztalk - BizTalk XML から EDIFACT EDI アセンブラへの例外のヒット
現在、XSLT を使用して XML ファイルを EDIFACT 形式のファイルに変換しようとしています。翻訳フェーズは問題ないようです。パススルー送信ポートを使用することで、EDIFACT ファイルを XML 形式で取得できます。ただし、ファイルを EDISend パイプラインに渡そうとすると、例外が発生します
エラーの詳細: 「デリミタ セットをインターチェンジから読み取ることができませんでした。属性 DelimiterSetSerializedData がルート ノードにありません」
この特定の翻訳では、EdifactInterchangeXml をターゲット スキーマとして使用しています。
XSLT 自体の中で、次のセグメントも宣言しました。
上記のエラーの原因となった可能性のある提案はありますか?
oracle - EDIFACT ファイルを分割するには?
Oracle SOA Suite B2B コンポーネントを使用して EDIFACT ファイルを処理しています。+2Gb のファイルを処理する必要がありますが、一度にすべて処理することはできません。ファイルを小さなファイルに分割してから、それらすべてを処理する必要があります。この分割の問題を解決する Java アプリケーションはありますか?? ..
または、それを開発しようとすると、小さい EDIFACT ファイルを前処理できるようにするには、どのようにフォーマットする必要がありますか?.
ありがとう、