SAP システムに転送されるデータは、順次ファイルに準備されます。1 つのファイルには、同一の転送プログラムのデータしか保存できません。このファイルから、プログラムによってバッチインプットセッションが登録されます。
各ファイルは、3 種類の構造からなります。
キ セッションヘッダレコード
この構造には、登録されるセッションに適用されるデータが含まれます。ここでは、バッチインプットセッション名やクライアントキー、ユーザ名などの情報を入力します。ロック日付を入力することにより、処理されるセッションの最遅日付を設定することができます。1 つのファイルには、同一プログラムで処理されるデータしか保存できません。
キ ヘッダデータ
この構造には、1 つのトランザクションに適用されるデータのみが含まれます。ここでは、トランザクションをマニュアルで選択する際に第一画面で入力する必要のあるデータを指定します。ここでは特に、 勘定グループ、会社コードキー、伝票タイプ、勘定コード、または 伝票番号など、トランザクションコード項目とキー項目を指定します。
キ 追加データ
これらの構造には、マスタレコードからのデータと明細が含まれます。たとえば、明細額などがあります。
各構造は、レコードタイプによって区別されます。追加データについては、レコードタイプに加えて構造名も指定する必要があります。
バッチインプットに使用される構造は、データディクショナリで定義されます。データディクショナリ情報システムを使用して、個別構造を参照することができます。
以下の表は、会計伝票に利用できる構造とレコードタイプの概要を示しています。
構造名 |
レコードタイプ |
説明 |
BGR00 |
0 |
セッションヘッダレコード |
BBKPF |
1 |
ヘッダデータ |
BBSEG |
2 |
伝票セグメントデータ ( ワンタイム勘定データと COBL データを含む) |
BBTAX |
2 |
伝票税 |
BWITH |
2 |
伝票源泉徴収税データ |
BSELK |
2 |
選択ヘッダデータ (FB05 のみ) |
BSELP |
2 |
選択明細 (FB05 のみ) |
データ転送の際には、必ず最初にセッションヘッダレコードを転送してから、ヘッダデータと追加データを転送してください。
状況によっては、標準画面順序とは異なる特別画面が呼び出されることがあります。ワンタイム勘定または代理受取人のある勘定に転記を行うと、住所データを入力するための画面が表示されます。これらの特定画面は、バッチインプットの実行中に呼び出すこともできます。そのためには、これらの画面のデータが転送されることが前提条件になります。
外部システムからSAP システムに転送するデータは、SAP システム内の項目と互換性がある必要があります。
キ データは、バッチインプットプログラムで必要とされる書式、つまり文字書式か日付書式でなければなりません。
キ 外部項目内容は、対応する SAP システムの項目よりも短くなければなりません。
データ転送は、常にデータのオンライン入力と同じように行ってください。たとえば、ドイツでは小数点以下金額はコンマで入力しますが、アメリカではピリオドで入力します。
日付の入力書式も、国によって異なります。たとえば、ドイツでは、データは DDMMYYYY 書式で転送されます。
これらの項目はユーザ指定の設定を含むことがあるので、項目への入力が正しいことをオンラインでチェックしてください。
新規項目
SAP では、構造データの拡張が可能です。この情報は、リリース情報に含まれています。データ読込のプログラムを使用して新規項目にデータを入力しない場合は、これらの項目は自動的に空の項目としてマークされます。
バッチインプットログには、構造に新規項目が含まれていることが記録されます。新規項目に転送するデータがある場合、データ読込ができるようにプログラムを変更する必要があります。
特殊文字NODATA
( その項目を使用しないなどの理由で) 項目の値を転送しない場合は、その項目を特殊文字でマークする必要があります。この特殊文字は、SAP システム内の項目の現在値がそのまま適用されると解釈されます。現在値は、初期値、指定して入力された値、またはシステムの初期値である可能性があります。
伝票の転記時には、支払条件キーと、得意先 / 仕入先マスタレコードに入力した対応する支払条件が初期値設定されます。これらの項目のデータをバッチインプット構造で転送すると、初期値が上書きされます。ただし、マスタレコードからの初期値を転送する場合には、バッチインプット構造でこれらの項目に特殊文字を入力する必要があります。
特殊文字"/" はバッチインプットプログラムで使用されます。別の特殊文字を使用するには、セッション接頭辞のBGR00-NODATA 項目にその文字を指定します。
初期化の際にこの特殊文字を内部構造で提供している場合には、その後は転送する項目値を入力するだけで済みます。
レコード終了フラグ
バッチインプット構造は、常にレコード終了フラグである単一文字項目 SENDE で終了します。この項目には、特殊文字 NODATA (/) が入力されている必要があります。転送プログラムでは、以前の R/3 リリースで使用された項目の少ない短い構造のデータを順次ファイルに使用するかどうか決定されます。
会計伝票における (SAP システム以外からの) データ移行日
転記は以下の時期に行うことができます。
キ レガシシステムでデータを照合した後の月末
キ 貸借対照表基準日の後
データ転送の転記日付として、レガシシステムの会計期間の最終日を使用します。転送後、SAP システムでこの会計期間を保留します。
以下のトランザクションは、同一プログラムRFBIBL00 を使用して処理されます。これらは、セッションヘッダレコードの 1 つのファイルで一緒に転送することができます。
キ FB01 伝票転記
キ FB05 消込転記
キ FBB1 外貨評価の転記
キ FBS1 見越/ 繰延伝票の入力
キ FBV1 未転記伝票保持伝票
トランザクションFB01 ( 伝票転記) では、各明細の伝票ヘッダ(BBKPF) と BBSEG 構造が、各伝票に対して転送される必要があります。
BBSEG 構造には、補足画面の項目も含まれています。補足画面は、バッチインプットデータが転送されたセッションの処理中にのみ表示されます。
BBSEG 構造には、ワンタイム勘定データとコーディングブロックのデータも含まれています。ワンタイム勘定を転記する場合や、伝票で代理受取人を指定する場合には、ワンタイム勘定データの画面が表示されます。多くの場合、コーディングブロックのデータはバッチインプットで別の画面に表示されます。
BBSEG 構造には、収益性分析特性を入力することができます。続いて、RFBIBL00 プログラムでは自動的に FB01 のバッチインプットと収益性セグメントへの勘定割当が生成されます。
トランザクションFB05 ( 消込転記) では、ヘッダレコード(BBKPF) と任意の明細 (BBSEG) に加え、選択ヘッダデータ(BSELK) と選択明細 (BSELP) も転送されます。
BSELP 構造では、最大 18 までの選択明細を転送することができます。複数の順次 BSELP 構造を転送することができます。
BSELP 構造では、書式で特定の明細を選択することもできます。
< 伝票番号>< 会計年度>< 明細番号>
伝票番号には10 文字、明細には 3 文字を左ゼロ詰めで入力してください。
会計年度 1997 の伝票 0000222222 から 3 番目の明細を選択するには、以下のように行います。
BSELP-FELDN_1 = BELNR
BSELP-SLVON_1 = 00002222221997003
拡張源泉徴収税機能
システムでは、トランザクションFB01 ( 伝票転記) と FBV1 ( 未転記伝票保持伝票) の拡張源泉徴収税機能のみがサポートされています。ダイレクトインプットを使用したデータ転送はサポートされていません。
各得意先/ 仕入先明細の BWITH の源泉徴収税データを転送する必要があります。源泉徴収税データは、BBSEG データに従う必要があります。各源泉徴収税タイプに対する BWITH 構造を転送してください。
ユーザ定義バッチインプット構造
標準バッチインプット構造に不要な項目があり、かつNODATA 特殊文字を毎回入力したくない場合には、実際に使用する項目のみを含む独自の構造を定義することができます。
以下の構造を使用することができます。
キ ZBSEG レコードタイプ 2 伝票セグメントデータ
キ ZSELP レコードタイプ 2 選択明細 (FB05 のみ)
“Z” で始まる得意先別の構造は、“B” で始まる標準構造に含まれている項目の一部が含まれていないという点だけが異なることがあります。ただし、レコードタイプ (STYPE) 項目またはテーブル名 (TBNAM) 項目を省略することはできません。得意先別の構造はレポジトリに存在し、有効化されている必要があります。
標準構造にない項目を得意先別の項目に含めた場合、それを実行するとバッチインプットの転送プログラムが強制終了します。
参照構造から必要な項目をコピーして、指定された名称を使用して新たな構造を登録することにより、独自のバッチインプット構造を生成することができます。次に、この構造を有効化してください。
バッチインプット構造の登録または変更後、 RFBIBLG0 生成プログラムを実行して RFBIBL00 メインプログラムの構文エラーをチェックします。
構造を編集するには、ツール → ABAP ワークベンチ → 開発 → ディクショナリ を選択します。