SAP システムに転送されるデータは、順次ファイルに準備されます。1 つのファイルには、同一の転送プログラムのデータしか保存できません。つまりファイルには、異なるマスタレコード ( 得意先や仕入先など) のデータを保存できません。このファイルから、プログラムによってバッチインプットセッションが登録されます。
各ファイルは、3 種類の構造からなります。
キ セッションヘッダレコード
この構造には、登録されるセッションに適用されるデータが含まれます。ここでは、バッチインプットセッション名やクライアントキー、ユーザ名などの情報を入力します。ロック日付を入力することにより、処理されるセッションの最遅日付を設定することができます。
キ ヘッダデータ
この構造には、1 つのトランザクションに適用されるデータのみが含まれます。ここでは、トランザクションをマニュアルで選択する際に第一画面で入力する必要のあるデータを指定します。ここでは特に、 勘定グループ、会社コードキー、勘定コード、購買組織、または 部門など、トランザクションコード項目とキー項目を指定します。
キ 追加データ
これらの構造には、マスタレコードからのデータが含まれます。たとえば、得意先/ 仕入先の住所データ、会社コードデータ、または販売エリアデータなどがあります。
各構造は、レコードタイプによって区別されます。追加データについては、レコードタイプに加えて構造名も指定する必要があります。
バッチインプットに使用される構造は、データディクショナリで定義されます。データディクショナリ情報システムを使用して、個別構造を参照することができます。
マスタレコード転送の際には、必ず最初にセッションヘッダレコードを転送してからヘッダデータと追加データを転送してください。
追加のマスタレコードについては、追加ヘッダデータと追加データをファイルに追加することができます。
状況によっては、標準画面順序とは異なる特別画面が呼び出されることがあります。たとえば、銀行詳細の銀行マスタデータが登録されていない場合などがこれに該当します。銀行マスタデータ登録のための画面が表示されます。これらの特定画面は、バッチインプットの実行中に呼び出すこともできます。バッチインプットセッションを正しく処理するための前提条件として、これらの画面のデータが転送される必要があります。
外部システムからSAP システムに転送するデータは、SAP システム内の項目と互換性がある必要があります。
キ データは、バッチインプットプログラムで必要とされる書式、つまり文字書式か日付書式でなければなりません。
キ 外部項目内容は、対応する SAP システムの項目よりも短くなければなりません。
データ転送は、常にデータのオンライン入力と同じように行ってください。たとえば、ドイツでは小数点以下金額はコンマで入力しますが、アメリカではピリオドで入力します。
日付の入力書式も、国によって異なります。たとえば、ドイツでは、データは DDMMYYYY 書式で転送されます。
これらの項目はユーザ指定の設定を含むことがあるので、項目への入力が正しいことをオンラインでチェックしてください。
新規項目
SAP では、構造データの拡張が可能です。この情報は、リリース情報に含まれています。データ読込のプログラムを使用して新規項目にデータを入力しない場合は、これらの項目は自動的に空の項目としてマークされます。
バッチインプットログには、構造に新規項目が含まれていることが記録されます。新規項目に転送するデータがある場合、データ読込ができるようにプログラムを変更する必要があります。
特殊文字NODATA
( その項目を使用しないなどの理由で) 項目の値を転送しない場合は、その項目を特殊文字でマークする必要があります。この特殊文字は、SAP システム内の項目の現在値がそのまま適用されると解釈されます。現在値は、初期値、指定して入力された値、またはシステムの初期値である可能性があります。
特殊文字"/" はバッチインプットプログラムで使用されます。別の特殊文字を使用するには、セッション接頭辞のBGR00-NODATA 項目にその文字を指定します。
可能であれば、構造の転送を開始するときに、すべての項目にこの特殊文字が入力されるようにプログラムを定義してください。このように準備された構造では、結果として SAP システムに転送される値を項目に入力するだけで済みます。
レコード終了フラグ
バッチインプット構造(KNA1 など) は、常に、NODATA 特殊文字 を含むレコード終了フラグである単一文字項目 SENDE で終了します。転送プログラムでは、以前の R/3 リリースで使用された項目の少ない短い構造のデータを順次ファイルに使用するかどうか決定されます。
番号割当
R/3 システムでは、古い得意先コードや仕入先コードを保持することができ、システムによって割り当てられた新規コードでマスタレコードを登録することができます。
新規コードでマスタレコードを登録する場合は、新規コードへの古いコードの割当をディレクトリに保存してください。
古いコードを保持する場合は、マスタレコードの転送時にこれらのコードを入力します。外部採番の勘定グループを選択します。付随する番号範囲には、適切な番号範囲がなければなりません。データが転送された後、番号割当を変更して、内部割当を選択することができます。これを行うには、勘定グループに新規番号範囲を割り当てます。
ただし、古いコードの転送は、レガシシステムが完全かつ最新である場合に限り、行うようにしてください。
追加住所項目
得意先および仕入先マスタとそれぞれの取引先担当者が共通アドレス管理にリンクしているため、追加の住所項目があります。この追加住所情報は、実際のマスタテーブル ( 得意先マスタは KNA1 、仕入先マスタは LFA1 、取引先担当者は KNVK) に保存されるのではなく、共通アドレス管理自身のテーブルに保存されます。
この追加情報を転送するために、ALE インタフェースによる別の転送実行が必要になります。この実行は、マスタデータの転送実行の前に行ってください。
新規得意先マスタと仕入先マスタの登録時に内部採番の番号範囲を使用する場合、住所情報とマスタデータは別々に転送されるので、マスタオブジェクトの識別に使用される番号を事前に決定しておく必要があります。
番号は、以下のBAPI を使用して設定することができます。
キ BAPI_VENDOR_GETINTNUMBER ( 仕入先マスタ)
キ BAPI_CUSTOMER_GETINTNUMBER ( 得意先マスタ)
キ BAPI_PARTNEREMPLOYEE_GETINTNUM ( 取引先担当者)
共通アドレス管理に取引相手があるマスタデータ項目 ( 名称、番地、電話番号など) は、実際のマスタテーブルで引き続き入力されます。共通アドレス管理におけるこれらの項目の書式設定は、共通アドレス管理へのリンクがない当初の項目の書式設定とは異なります。そのため、このようなデータの転送は、共通アドレス管理の住所情報の転送が完了したときにのみ行うことをお奨めします。
システムでは、常にマスタデータの共通トランザクションがサポートされています。そのため、マスタレコードの一般データ領域、会社コード依存領域、販売エリア依存領域をバッチインプットを使用して更新することができます。特定の領域のみを登録する場合は、その領域に属するデータだけを転送すれば十分です。仕入先マスタレコードでは、バッチインプットによって在庫/ 購買管理データの登録と変更も行うことができます。
レコードタイプや構造など、管理項目のみが入力される構造は転送しないでください。場合によっては転送の際に問題が発生することがあるためです。