SAP IDoc ファイルの概要

SAP IDoc (Intermediate Document) ファイルは、複数のセグメントにグループ化されたデータのフィールドで構成されています。セグメントは相互に関係のある階層構造になっています。

SAP は、SAP Aktiengesellschaft (SAP AG) の商標です。

Closed階層構造の例

医師が入院患者に出す処方箋を院内の薬局に転送する場合を考えてみます。この転送は、病床プログラムから薬局のプログラムに送信される IDoc を使用して行うことができます。

IDoc に次のような 4 レベルのセグメントの階層構造があると想定します。

患者名:Johnson

診断:クループ

診断: 脛骨の骨折

診察タイプ: 入院

医薬品: コデイン

医薬品: アドミール

診察タイプ: 再診

医薬品: ナプロシン

レベル 1:患者の名前や住所など、長年にわたり変更されないデータが含まれます。

レベル 2:特定の疾病期間中は変らないものの、病気に応じて変化するデータ (主治医や診断など) が含まれます。患者には複数のレベル 2 セグメントを設定できます。

レベル 3:特定の外来診察の間のみ変化せず、診察ごとに異なるデータ (入院や再診などの診察タイプ、担当医など) が含まれます。患者は疾病期間中、複数の診察を受ける場合もあります。

レベル 4:各処方箋に応じて変化するデータ (処方箋を出している医師、医薬品、服用量) が含まれています。患者は 1 回の診察で複数の医薬品を受け取ることがあります。

ClosedSAP との統合

SAP (Systems, Applications and Products in Data Processing) は、サードパーティ製アプリケーションおよび互換性のないデータベースが情報を交換し、大企業の注文処理、納品、顧客サービス、サプライチェーン管理、在庫管理システム自動化するためにデザインされたワークフローアプリケーションです。BarTender は、IDoc を使用して、印刷する項目に SAP データベースのデータを移動します。

SAP を使用してデザインする場合、BarTender と SAP のどちらを使用して印刷するかを選択できます。BarTender を使用して項目を印刷する場合、情報は SAP から BarTender に送信されます。SAP では、次の方法を使用してデータを送信できます。

SAP システムを使用して項目を印刷する場合、BarTender は、プリンタコードテンプレートと呼ばれる一連の書式設定コマンドを SAP に送信します。テンプレートは、データと組み合わされ、プリンタに送信されます。

ClosedIDoc ファイルの操作

IDoc は、相互に階層関係を持つセグメントにデータのフィールドをグループ化する方法です。SAP では、ファイル種類のライブラリが維持されますが、必要に応じてカスタム IDoc ファイル種類を作成できます。IDoc ファイルは、SAP に接続されたプログラムから BarTender に送信されるデータを含んだメッセージです。[データベース設定ウィザード] を使用して IDoc ファイルを BarTender ドキュメントに追加し、[データベースの設定] ダイアログを使用して接続を管理できます。Administration Console の [データベース接続] セクションの [SAP IDoc 定義] ページを使用してカスタム IDoc 定義を作成することもできます。

ClosedIDoc タイプとセグメントの定義

IDoc はメッセージなので、送信側プログラムと受信側プログラムの両方で IDoc 内での各データの配置に関する共通の規則に準拠する必要があります。したがって、SAP AG は数百種の IDoc と多数のセグメント種類を定義しています。

送信側プログラムは、これらの定義に従って、特定の種類の IDoc を構築する必要があります。受信側プログラムは、IDoc を解析する際に、これらの定義に準拠する必要があります。つまり、パーザー ファイルの識別は、IDoc からのデータを使用できるよう BarTender を設定する手順のひとつなのです。

IDoc 種類には、6 つの文字と 2 つの数字で構成された名前が付いています。たとえば、SHPMNT01 は、出荷 (Shipment) に関するメッセージを含む IDoc です。IDoc の定義は SAP によって改訂されることがあります。名前の最後に付けられた 2 つの数字が改訂を示します。

セグメント名は、3 桁のバージョン番号で終了することがあります。たとえば、E2KNA1M001 は DEBMAS02 (カスタマーマスター) IDoc 種類のセグメントです。

SAP オーナーは、独自のカスタム IDoc タイプとセグメント タイプを作成で��ます。

SAP AG によって定義されるセグメントの名前は常に "E" で始まり、カスタムデザインされたセグメントの名前は常に "Z" で始まります。

Closedパーサファイル

IDoc 用のパーサファイルには、BarTender が IDoc を解析する際に必要な情報 (表示するセグメント、繰り返すことができるセグメント、各セグメントに表示されるデータフィールド、フィールドの順序、各フィールドの長さなど) が含まれています。

パーサファイルを特定の IDoc 種類に関連付けるには、Administration Console の [データベース接続] セクションの [SAP IDoc 定義] ページを使用します。

ClosedIDoc 階層データをフラット レコードに変換

子セグメントのデータは常に親セグメントのデータに関連付けられているため、最上部のノードから最下部のノードにいたるまで IDoc のツリーを通る非分枝パスは、テーブル形式のデータソースのレコードと同じようなレコードとみなされます。

Closed

各セグメントに 1 つのフィールドが含まれている次のデータ階層を考えてみます。

患者名:Johnson

診断:クループ

診断: 脛骨の骨折

診察タイプ: 入院

医薬品: コデイン

医薬品: アドミール

診察タイプ: 再診

医薬品: ナプロシン

Johnson という名前の患者は、喉頭炎や脛骨の骨折で何度か治療を受けています(最初の病気の詳細は記載されていません)。骨折の初診で、医師はコデインとアミドールを処方しました。再診の際には、ナプロシンが処方されました。

脛骨の骨折からナプロシンの処方までのパスは、次のようなフラットレコードに圧縮できます。

患者名

診断

診察

医薬品

Johnson

脛骨の骨折

再診

ナプロシン

他の 2 つの完全なパスも次のフラットレコードのように圧縮できます。

患者名

診断

診察

医薬品

Johnson

脛骨の骨折

入院

コデイン

Johnson

脛骨の骨折

入院

アドミール

BarTender が IDoc を読み取ると、データツリーはフラットレコードに圧縮されます。これらのレコードから、テンプレート上のオブジェクトに必要なフィールドを選択できます。

Closedマスターセグメント

IDoc のデータ階層から生成できる各レコードの項目を印刷する必要がない場合があります。印刷時に一部のレコードだけを選択するよう BarTender を設定できますが、一般的なケースでも IDoc からデータを取得するいくつかのドキュメントではすべてのレコードは必要ありません。BarTender では、マスターセグメントの概念を使用して、IDoc から必要なレコードだけを生成することができます。

「マスターセグメント」は、デザインのニーズに関連のあるデータのみに絞り込まれたセグメントです。BarTender は、マスターセグメントとして指定された IDoc 内の各セグメントに対して 1 つのレコードを生成します。

Closed

最初の例で使用したデータツリーを考えてみます。処方されたすべての医薬品のラベルが必要な場合、レベル 4 でマスターセグメントを設定します。その結果、BarTender によって次のような 3 つのレコードが生成されます。

患者名

診断

診察

医薬品

Johnson

脛骨の骨折

入院

コデイン

Johnson

脛骨の骨折

入院

アドミール

Johnson

脛骨の骨折

再診

ナプロシン

病院では診察 1 回ごとに別個のファイルを維持しており、ファイルフォルダ用のラベルを作成するとします。診察 1 回につき 1 枚のラベルが必要です。マスターセグメントはレベル 3 に設定され、BarTender によって次のような 2 つのレコードが生成されます。

患者名

診断

診察

医薬品

Johnson

脛骨の骨折

入院

コデインアミドール

Johnson

脛骨の骨折

再診

ナプロシン

BarTender では、最初のレコードにマスターセグメントの下のレベルの「医薬品」フィールドが含められ、その下のレベルのセグメントのすべてのデータが連結されます。

BarTender では、マスターセグメントの各インスタンスに対して 1 つのレコードを生成するので、次のステートメントを完了することによってマスターセグメントとして使用する項目を決定できます。

この IDoc から構築された項目の標準的な実行では、個々の_____________に 1 つの項目を印刷します

この例では、「診察」がステートメントの空欄に入る場合、マスターセグメントレベルではレベル 3 が最適な選択と思われます。空欄に「処方薬」が入る場合、レベル 4 が最適な選択となります。

ClosedSAP IDoc 定義ファイル

SAP IDoc 定義ファイルは、現在 BarTender で使用できる IDoc 種類、および各種類に現在関連付けられている既定の IDoc ファイル、エイリアス、およびパーサファイルのリストです。

IDoc 種類を追加、変更、または削除する度に、SAP IDoc 定義ファイルは修正されます。Administration Console の [データベース接続] セクションの [SAP IDoc 定義] ページでカスタム IDoc 定義ファイルを作成できます。

BarTender をインストールする際、定義ファイルは <インストールディレクトリ>\SAP\default.itd に設定されます。Administration Console の [ファイルの保存場所] ページから別の IDoc 定義ファイルに切り替えることができます。

BarTender を別のコンピュータにインストールし、BarTender を実行している別のコンピュータと同じ SAP IDoc 定義ファイルを使用する必要がある場合は、SAP IDoc 定義ファイルを変更します。