このトピックでは、業務共通としてSAPが提供したテキスト処理のコンセプトや仕組みを取り上げて説明します。
概要
SAPでは、購買や販売、会計といった伝票を起票したり、品目や仕入先、得意先といったマスタオブジェクトを登録する際に、補足的なテキスト情報を入力する場合がよくあります。フォーマットフリーで業務ロジックに関わりがないテキスト情報を処理するために、SAPが共通的な仕組みを提供しております。 纏めておくと、仕組みのコンセプトは以下になります。
- テキスト情報は各業務固有のテーブルではなく、共通のテーブルに纏めて格納されます
- 業務オブジェクトを内部に一意的なIDを識別し、テキストとリンクさせます
- 専用のAPIでテキストの読み書きを行います
テキストの識別
テキストはテキストオブジェクト、テキストID、テキスト名前によって管理されます。
テキストオブジェクト
キストはそれ自体では完結せず、他の業務アプリケーションオブジェクトにリンクしています。たとえば、ある品目について詳細に説明したテキストもあれば、受注の特別契約に関するテキストもあります。
テキストオブジェクトは、そのアプリケーションオブジェクトのタイプを示すものとなります。
例:
テキストオブジェクト | アプリケーションオブジェクト |
---|---|
EINA | 購買情報(一般データ) |
EKNE | 購買情報(購買組織) |
EKKO | 購買伝票(ヘッダ) |
EKPO | 購買伝票(明細) |
LFA1 | 仕入先(一般) |
LFB1 | 仕入先(会社コード) |
LFM1 | 仕入先(購買組織) |
業務テーブルの名前をそのままテキストオブジェクトとして利用されるのはほとんどです。
使用可能なテキストオブジェクトとそれぞれの属性は、テーブルTTXOB で定義されていますので、そのテーブルから調査することができます。
テキスト名
テキスト名は、テキストがリンクするアプリケーションオブジェクトを特定します。 テキスト名のフォーマットは、テキストオブジェクトに依存します。
例:
テキストオブジェクト | テキスト名 |
---|---|
EINA | 10桁(購買情報伝票番号) |
EKNE | 10桁(購買情報伝票番号)+4桁(購買組織)+1桁(固定:'0')[+4桁(プラント)] |
EKKO | 10桁(購買伝票番号) |
EKPO | 10桁(購買伝票番号)+5桁(明細番号) |
テキストID
通常、1 つのアプリケーションオブジェクトに 1 つのテキストでは不十分です。アプリケーションオブジェクトの個々の特性をすべて記述するには、複数のテキストが必要です。たとえば、購買発注明細の情報を保存するために、複数のテキストが必要になる場合もあります。
例:
テキストオブジェクト | テキストID | 内容 |
---|---|---|
EKPO | F11 | 依頼課コード |
EKPO | F12 | 依頼課名称 |
EKPO | F13 | 依頼者 |
EKPO | F14 | 依頼連絡先 |
EKPO | L05 | 購買情報注記 |
1つのオブジェクトに対する複数のテキストを区別するには、別の分類属性が 1 つ必要です。 SAPscript は、この属性テキストID を呼び出します。このテキストID を使用して同一のテキストオブジェクトを説明する様々なテキストを識別します。 テキストID とその属性は、テーブル TTXID で定義する必要があります。