Quantcast
Channel: mind-forms » SAPscript
Viewing all articles
Browse latest Browse all 31

Kopie Kennzeichen auf Rechnungen

$
0
0

Bekommen Sie Rechnungen aus dem Ausland, bei denen oben rechts „Original“ bzw. „Kopie“ angedruckt und teilweise sogar eine Nummerierung des Exemplars angegeben ist? Zumindest kennen Sie das übliche Kopie Kennzeichen auf Rechnungen, ob es sich um eine Kopie oder ein Original handelt. Selbstverständlich muss auch im SAP System beim Erzeugen von Rechnungen darauf geachtet werden, dass die gesetzlichen Vorschriften des jeweiligen Landes eingehalten werden. In diesem Blogbeitrag möchte ich Ihnen vorstellen, nach welcher Logik der SAP Standard (am Beispiel von SAPScript) das Kennzeichen für einen Wiederholungsdruck setzt.

SAP Standard Druckprogramm RVADIN01

Am Beispiel des SAP Standard-Druckprogramms RVADIN01 für SAPScript-Formulare und dem zugehörigen Formular RVINVOICE01 möchte ich Ihnen das übliche Verhalten erklären. Grundsätzlich gibt es auf dem Formular ein Fenster
repeat, welches entsprechend im Layout platziert ist. In diesem Fenster gibt es das Element repeat, welches bei SAPScript nur ausgegeben wird, wenn es explizit im Druckprogramm angesteuert wird. Zu der Besonderheit für Ungarn (IF-Statement im Element) kommen wir später.

Seitenfenster Repeat

Seitenfenster Repeat im Formular RVINVOICE01

Deswegen ist die zugehörige Logik im Druckprogramm zu suchen, die dieses Verhalten steuert. In der Routine form_title_print ist der entsprechende Abschnitt, der angesteuert wird, wenn das Feld
repeat den Wert „X“ hat.

Routine form_title_print

Routine form_title_print im Druckprogramm RVADIN01

Das Feld repeat wird in der Routine check_repeat gesetzt, die bei jedem Aufruf des Druckprogramms einmalig aufgerufen wird. Im Prinzip wird dort in der Datenbanktabelle
NAST nach bereits verarbeiteten Nachrichten mit denselben Parametern gesucht, bei gefundenen Einträgen die Variable
repeat auf „X“ gesetzt und die Anzahl gezählt.

Routine check_repeat

Routine check_repeat im Druckprogramm RVADIN01

Der eigentliche Aufbau des Formulars bzw. das Drucken der Formulare sieht wie folgt aus. In der Routine
get_data werden die Daten gelesen und die Routine check_repeat aufgerufen. Im Anschluss wird pro zu druckendes Exemplar aus der Nachricht ein Durchlauf der Schleife ausgeführt. Durch die Abfragen in Zeile 311 und Zeile 315 wird sichergestellt, dass pro Nachricht maximal einmal archiviert wird und dass auch bei Erstverarbeitung für den Beleg nur bei einem Exemplar dieser Nachricht kein Kennzeichen für Wiederholungsdruck angedruckt wird.

Formularaufruf

Formularaufruf

Optimierungspotential

Die Logik zum Aufbauen des Formulars hat Optimierungspotential. Beispielsweise können Sie beim Formularaufruf die Anzahl in der Struktur NAST (nast-anzal) so belassen. Dadurch würden im Ergebnis direkt nast-anzal Exemplare ausgegeben werden. Damit Sie trotzdem nach wie vor Original und Kopien unterscheiden können, müssten Sie für den Fall der Erstverarbeitung den Formularaufruf zwei Mal durchlaufen lassen, einmal für das Original und dann erneut mit (nast-anzal = nast-anzal – 1).

 

Sonderfälle

Wie bereits oben im Fenster repeat zu sehen, gibt es eine Sonderlogik für Ungarn und auch in anderen Ländern. In Ungarn werden sämtliche Exemplare durchnummeriert, was natürlich eine Sonderprogrammierung im Druckprogramm bedeutet, die durch eine eigene Routine entry_hungary realisiert ist. Ein Beispiel für eine solche Nummerierung könnte wie folgt aussehen.

Nummerierung Ungarn

Nummerierung Ungarn

 

Fazit

Ich hoffe ich konnte Ihnen damit das Verhalten vom SAP Standard näher bringen und Ihnen einen Einblick in mögliche Sonderfälle geben. Der SAP Standard verhält sich bei dem Einsatz von SAP Smart Forms und SAP Interactive Forms by Adobe ähnlich. Wenn Sie neue Anforderungen in dem Umfeld umsetzen möchten, oder noch nicht durch den SAP Standard erfüllte gesetzliche Vorschriften umsetzen müssen, dann wissen Sie nun, wo Sie starten können. Ich würde mich sehr über Ihre Fragen oder Kommentare freuen!

Der Beitrag Kopie Kennzeichen auf Rechnungen erschien zuerst auf mind-forms.


Viewing all articles
Browse latest Browse all 31