Ansicht
Dokumentation

RFBIBL00 - Batch Input Belege

RFBIBL00 - Batch Input Belege

ABAP Short Reference   ABAP Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Verwendung

Das Programm RFBIBL00 dient zur Erfassung von Buchhaltungsbelegen und zum Ausgleichen von offenen Posten. Dies erfolgt dadurch, daß eine UNIX-Datei mit der unten beschriebenen Struktur eingelesen und verarbeitet wird.

Das Programm ist in erster Linie dafür gedacht, Batch-Input-Mappen zu erzeugen. Durch den Parameter 'Art der Datenübernahme' können Belege aber auch sofort mit 'Call Transaction' oder 'Direct-Input' erzeugt werden. Diese beiden Verfahren bringen Performance-Verbesserungen bei der Übernahme von großen Datenmengen (mehr als 10000 Transaktionen).

Der Unterschied von Call Transaction zu Batch-Input besteht darin, daß die Belege sofort durch das Aufrufen der entsprechenden Transaktionen gebucht werden. Dabei werden die gleichen Dynpros wie bei Batch-Input prozessiert.

Auch bei Direct-Input werden die Belege sofort gebucht. Die Performance-Verbesserung zu Call Transaction wird dadurch erreicht, daß keine Dynpros prozessiert werden sondern die Belege durch den Aufruf von Funktionsbausteinen direkt gebucht werden. Direct-Input steht nur für eine Teilmenge der Buchungsmöglichkeiten zur Verfügung. Es können keine FB05-Buchungen (Buchen mit Ausgleichen), FBS1-Buchungen (Abgrenzungsbelege), FBV1 (Beleg vorerfassen) und Buchungen mit Sonderhauptbuchvorgängen erzeugt werden.

Restart-Mechanismus

Da bei 'Call Transaction' oder 'Direct Input' die Belege sofort in das SAP-System gebucht werden, müssen Vorkehrungen getroffen werden, die ein Wiederaufsetzen des Programms nach einem Programmabbruch ermöglichen. Dieses Wiederaufsetzen, im folgenden Restart-Mechanismus genannt, dient dazu, ein doppeltes Buchen von Belegen bei einem erneuten Programmstart zu verhindern.

Falls der Call Transaction oder Direct-Input Modus gewählt wird, ist deshalb unbedingt der Restart-Mechanismus zu verwenden. Führen Sie dazu folgende Schritte durch:

Voraussetzungen für den Restart-Mechanismus:

  • Die Eingabedatei darf keine formalen Fehler enthalten. Dies kann durch den Parameter 'Datei prüfen' festgestellt werden. Bei einem Abbruch aufgrund eines formalen Fehlers kann das Restart-Verfahren nicht genutzt werden. Sie müssen dann selbst herausfinden, welche Belege bis zu dem Abbruch gebucht wurden und die Datei dann entsprechend verkleinern.
    Falls eine Datei, die mit Direct-Input verarbeitet werden soll, FB05-Transaktionen enthält, erfolgt ein Abbruch ohne Restartmöglichkeit.
  • Das Programm darf nur über den oben beschriebenen Weg eingelesen werden.
  • Fehlerhafte Transaktionen werden in einer Batch-Input-Mappe gesammelt. Dabei wird immer der Mappenname des ersten BGR00-Statzes verwendet.

Für Testzwecke kann Direct-Input oder Call Transaction auch ohne Restart-Mechanismus genutzt werden. In diesem Fall darf aber die Eingabedatei nicht mehr als 20 Transaktionen enthalten. Ein Wiederaufsetzen nach einem Programmabsturz ist dann aber nicht möglich.

Hinweis

Strukturen:

  • Informationen, welche die ganze Batch-Input-Mappe betreffen, sind im Mappenvorsatz definiert.
  • Informationen, welche für einen ganzen Beleg gelten, sind im Kopfsatz definiert.
  • Die Belegfelder, für die Batch-Input möglich sein soll, sind in eigenen Data-Dictionary-Strukturen definiert.

Jede Struktur wird durch Satztyp und evtl. Tabellenname identifiziert.

Die Strukturen sind im einzelnen:

  • BGR00 Satztyp 0 Mappenvorsatz
  • BBKPF Satztyp 1 Kopfdaten
  • BBSEG Satztyp 2 Belegsegmentdaten (incl. CpD-Daten, COBL-Daten)
  • BBTAX Satztyp 2 Belegsteuern (siehe Absatz 'Neue Erfassungstechnik für
    Steuerbeträge)
  • BWITH Satztyp 2 Belegquellensteuerdaten (erweiterte
    Quellensteuerfunktionalität; nur FB01, FBV1)
  • BSELK Satztyp 2 Selektionskopfdaten (nur FB05)
  • BSELP Satztyp 2 Selektionspositionen (nur FB05)

Für jedes Feld, welches in der Batch-Input-Struktur übergeben wird, muß entschieden werden können, ob der Wert des Feldes initial ist (z.B. Feld soll auf Initialwert zurückgesetzt werden), oder ob überhaupt kein Batch-Input für dieses Feld notwendig ist.

D.h., es muß ein Sonderzeichen vereinbart werden, welches die Funktion hat: 'Kein Batch-Input für dieses Feld'.

Dieses Sonderzeichen ist defaultmäßig das Zeichen '/'.

Wenn nicht das Sonderzeichen '/' benutzt werden soll, so kann im Mappenvorsatz im Feld BGR00-NODATA übergeben werden, welches andere Sonderzeichen diese Funktion erfüllen soll.

Vor dem Füllen der Batch-Input-Struktur muß jedes Feld der Strukturen (mit Ausnahme des Mappenvorsatzes BGR00) auf Feldanfang mit diesem Sonderzeichen 'vorbereitet' werden.

Die Felder der Strukturen verweisen auf die Datenelemente der Felder der Originaltabellen. Eine Ausnahme bilden jedoch numerische und gepackte Felder. Diese brauchen für den Batch-Input eigene Datenelemente vom Typ CHAR, da gepackte Felder nicht mit einem Sonderzeichen 'initialisiert' werden können.

Das bedeutet, daß Beträge mit Dezimalkomma an die Schnittstelle übergeben werden können.

Satzendekennzeichen:

Wenn eine Batch-Input-Struktur nachträglich verlängert wird, so wird das neue Ende der Struktur durch ein spezielles Feld (SENDE) gekennzeichnet. Wenn Sie schon mit der neuen, verlängerten Struktur arbeiten, dann füllen Sie dieses Feld beim 'Initialisieren' der Struktur mit dem Sonderzeichen NODATA. Dadurch kann beim Einlesen der Struktur erkannt werden, ob den Daten die alte oder die neue Struktur zu Grunde liegt.

Spezielle Felder im Mappenvorsatz:

Im Mappenvorsatz muß der Mappenname mitgegeben werden (BGR00-GROUP). Das Senden eines weiteren Mappenvorsatzes bewirkt das Schließen der aktuellen Mappe und das Öffnen einer weiteren Mappe.

Im Mappenvorsatz kann das Sonderzeichen BGR00-NODATA übergeben werden.

Im Mappenvorsatz kann ein Sperrdatum übergeben werden (BGR00-START). Das Sperrdatum gibt an, bis zu welchem Tag eine Batch-Input-Mappe gesperrt wird. Falls dieses Datum gesetzt wird, muß es das Format 'JJJJMMTT' haben.

Kundeneigene Batch-Input Strukturen:

Falls Sie Felder der ausgelieferten Batch-Input Strukturen nicht benötigen und Sie diese nicht jedesmal mit dem Sonderzeichen NODATA füllen möchten, können Sie sich eigene Strukturen definieren, welche nur diejenigen Felder beinhalten, die Sie wirklich benutzen.

Folgende Strukturen sind möglich:

  • ZBSEG Satztyp 2 Belegsegmentdaten
  • ZSELP Satztyp 2 Selectionspositionen ( nur FB05)

Die mit 'Z' beginnenden kundeneigenen Strukturen dürfen sich von den mit 'B' beginnenden Standardstrukturen nur dadurch unterscheiden, daß in ihnen ein Teil der Felder nicht enthalten sind. Die Felder Satztyp (-STYPE) sowie Tabellenname (-TBNAM) dürfen jedoch nicht weggelassen werden.

Sie erzeugen sich eine eigene Batch-Input Struktur, indem Sie unter dem vorgegebenem Namen eine neue Struktur anlegen und die von Ihnen benötigten Felder aus der Vorlagestruktur hineinkopieren. Danach aktivieren Sie die Struktur.
Sie gelangen in die Pflege von Strukturen über den Menüleistenpunkt Entwicklung -> Data-Dictionary -> Pflege in der Entwicklungsumgebung. Alternativ können Sie direkt von hier aus in die Pflege springen Funktion ausführen.

Programme:

  • RFBIBL00 startet RFBIBL01 und evtl. RFBIBLG0
  • RFBIBL01 enthält die Ablauflogik und includiert RFBIBL02
  • RFBIBLG0 Generierungsprogramm

Das Generierungsprogramm RFBIBLG0 generiert das ABAP-Coding des RFBIBL02, welcher in den RFBIBL01 includiert wird. Das Generierungsprogramm wird automatisch gestartet, wenn der RFBIBL02 nicht auf dem neuesten Stand ist. Dies ist insbesondere dann der Fall, wenn Sie die kundenspezifischen Strukturen ZBSEG oder ZSELP angelegt oder gelöscht haben.

Das Generierungsprogramm sollte auch dann gestartet werden, wenn der Report RFBIBL01 Syntaxfehler enthalten sollte.

Unterstützte Transaktionen:

  • FB01 Beleg buchen
  • FBB1 Fremdwährungsbewertung
  • FBS1 Abgrenzungsbeleg erfassen
  • FBV1 Beleg vorerfassen
  • FB05 Buchen mit Ausgleichen

Für die Transaktion FB01 muß je Beleg ein Belegkopf (BBKPF) und je Belegzeile eine BBSEG-Struktur übergeben werden.

Es sind maximal 950 Belegzeilen erlaubt, die restlichen Belegzeilen sind für die automatisch erzeugten Positionen (z.B. für Steuerangaben) reserviert.

Die Struktur BBSEG enthält auch die Felder für die Zusatzbilder. Die Zusatzbilder werden beim Abspielen der Mappe nur ausgegeben, falls Batch-Input-Daten dafür übergeben wurden.

Die Struktur BBSEG enthält auch die Felder für die CpD-Daten und die Daten für den Kontierungsblock. Das Bild für die CpD-Daten wird ausgegeben, wenn auf ein CpD-Konto gebucht werden soll, bzw. wenn ein abweichender Zahlungsempfänger im Beleg angegeben werden soll. Die Daten für den Kontierungsblock werden im Batch-Input generell auf einem gesonderten Dynpro ausgegeben. Dabei sind folgende Namensungleichheiten zu beachten:

COBL-KDAUF   = BBSEG-VBEL2 Kundenauftragsnummer
  COBL-KDPOS   = BBSEG-POSN2 Position im Kundenauftrag
  COBL-RMVCT   = BBSEG-BEWAR Bewegungsart
  COBL-PS_PSP_PNR = BBSEG-PROJK Kontierung Project
  COBL-PPRCTR   = BBSEG-PPRCT Partner Proficenter
  COBL-KDEIN   = BBSEG-ETEN2 Einteilung im Kundenauftrag

Ab 3.0D können die Merkmale der Ergebnisrechnung in der Struktur BBSEG mitgegeben werden. Das Programm RFBIBL00 erzeugt dann automatisch einen Batch-Input für FB01 mit Kontierung auf Ergebnisobjekt (inklusive Vergabe der Ergebnisobjektnummer, Merkmalsableitung und aller Verprobungen, die auch bei einer Buchung im Dialog ablaufen.) Falls eine Fortschreibung der Ergebnisrechnung gewünscht ist, ist zu beachten, dass das Feld 'RKE_BUKRS' gefüllt werden muss, damit der zugehörige Ergebnisbereich ermittelt werden kann.

Übergabe der Finanzposition

Im Standard ist das Feld BBSEG-FIPOS für die Übergabe der Finanzposition vorgesehen. Eine Ausnahme gilt für die Branchenlösung IS-PS (Industry Solution-Public Sector). Hier ist anstelle BBSEG-FIPOS das Feld BBSEG-FIPEX für die Finanzposition zu verwenden.

Buchen mit Ausgleichen (FB05)

Für die Transaktion FB05 müssen zusätzlich zum Kopfsatz (BBKPF) und evtl. Belegpositionen (BBSEG) die Selektionskopfdaten (BSELK) und die Selektionspositionen (BSELP) übergeben werden. Aus technischen Gründen müssen die Daten für BBSEG vor BSELK und BSELP übergeben werden.

In einer BSELP-Struktur können bis zu 18 Selektionspositionen übergeben werden. Reicht das nicht aus, so können weitere BSELP-Strukturen übergeben werden.

Mit der Struktur BSELP kann man auch gezielt eine Belegposition in der Form selektieren.

Die Belegnummer muß 10-stellig, die Belegposition 3-stellig, mit führenden Nullen eingegeben werden.

Bsp.: Selektieren der 3. Zeile des Beleges 0000222222 aus dem Geschäftsjahr jjjj.

BSELP-FELDN_1 = 'BELNR'
BSELP-SLVON_1 = '0000222222jjjj003'

Neue Erfassungstechnik für Steuerbeträge

Ab Release 2.2A hat sich die Erfassungstechnik für Steuern grundlegend geändert. Die Steuern sind ab diesem Release nicht mehr in den Sachkontenzeilen anzugeben. Sie haben bei den Transaktionen FB01 und FB05 jetzt grundsätzlich folgende Möglichkeiten für die Eingabe der Steuern:

  • Steuern automatisch rechnen
  • Steuern auf einem separaten Steuerbild eingeben
  • Steuerbeträge in Summe auf dem Debitoren bzw. Kreditorenbild eingeben

Für den RFBIBL00 ergeben sich daraus folgende Neuerungen:

  • Einfache Buchungen mit Steuern sind aufwärtskompatibel, d.h. die Daten können weiterhin in der bisherigen Form übergeben werden. Dies ist in folgenden Fällen der Fall:
  • Buchungen bei denen alle Steuerbeträge einer Transaktion durch Eingabe von '*' in das Feld WMWST errechnet werden.

  • Buchungen bei denen alle Steuerbeträge einer Transaktion explizit im Feld WMWST angegeben werden.

  • Grundsätzlich gibt es jetzt folgende Möglichkeiten die Steuern zu übergeben:
  • Automatisches Errechnen der Steuern wird dadurch erreicht, daß das Feld BBKPF-XMWST mit dem Wert 'X' übergeben wird.

  • Die steuerrelevanten Daten sind in der Struktur BBTAX zu übergeben. Für jedes zu einem Buchungsschlüssel gehörende Steuerkennzeichen muß eine BBTAX-Struktur geliefert werden. Es ist auch möglich zu jeder steuerrelevanten Buchungszeile eine BBTAX-Struktur zu senden. Bitte übergeben Sie die Struktur BBTAX nach den BBSEG-Einträgen. Falls Sie die Direct-Input-Methode der Datenübernahme benutzen, können Sie die Steuern nur auf diese Art übergeben. Bei Transaktion FB05 darf diese Art jedoch nicht verwendet werden.

  • Der Gesamtsteuerbetrag kann auf dem Debitoren- bzw. Kreditiorenbild eingegeben werden.

  • Die Steuern sind entweder in der alten oder in der neuen Form zu übergeben. Mischformen führen zu einem Abbruch.

Erweiterte Quellensteuerfunktionalität:

Für die erweiterte Quellensteuerfunktionalität werden nur die Transaktionen FB01 und FBV1 unterstützt. Direct-Input ist nicht unterstützt.

Für jede Debitor/Kreditor-Position müssen die Quellensteuerdaten für BWITH übergeben werden. Die Quellensteuerdaten müssen den BBSEG-Daten folgen. Pro Quellensteuertyp ist eine BWITH Struktur zu übergeben.

Folgende Vorgänge sind z.Zt. noch nicht unterstützt:

Sonderhauptbuchvorgänge, die nicht mit den üblichen Dynpros für FB01 gebucht werden können.

Generieren von Satzbetten:

Dieses Tool generiert Struktur-Beschreibungen von Tabellen oder Strukturen aus dem ABAP/4 Dictionary in einer höheren Programmiersprache (z.B. COBOL).

Sie können direkt von hier aus in das Tool springen Funktion ausführen.






General Material Data   Fill RESBD Structure from EBP Component Structure  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 18598 Date: 20240520 Time: 122651     sap01-206 ( 258 ms )