Hallo Bilal,
...gern:
über einen Perform im Formular
SAP-Doku:
ABAP-Unterprogramme aufrufen: PERFORM
Mit PERFORM können Sie von jedem Programm aus ein ABAP-Unterprogramm aufrufen; dabei gelten die regulären ABAP-Laufzeitberechtigungen. Sie können Unterprogramme beispielsweise für die folgenden Zwecke aufrufen: Berechnungen durchführen, Daten, die bei der Anzeige oder Ausgabe benötigt werden, aus Datenbanken laden, Daten aufbereiten etc.
Wie alle Steuerkommandos werden auch die PERFORM-Kommandos ausgeführt, wenn ein Dokument für die Ausgabe oder Anzeige aufbereitet wird. Die Kommunikation zwischen dem aufgerufenen Unterprogramm und dem Dokument erfolgt über Symbole, deren Werte im Unterprogramm gesetzt werden.
Das PERFORM-Kommando wird nicht innerhalb von SAPscript Replace-Bausteinen, z.B. TEXT_SYMBOL_REPLACE oder TEXT_INCLUDE_REPLACE, ausgeführt. Die Replace-Bausteine können lediglich Symbolwerte ersetzen bzw. Include-Texte auflösen, aber nicht SAPscript Steuerkommandos interpretieren.
Syntax in einem Formularfenster:
Code: Alles auswählen.
/: PERFORM <form> IN PROGRAM <prog>
/: USING &INVAR1&
/: USING &INVAR2&
......
/: CHANGING &OUTVAR1&
/: CHANGING &OUTVAR2&
......
/: ENDPERFORM
INVAR1 und INVAR2 sind variable Symbole. Es kann sich dabei um eine der vier SAPscript -Symbolarten handeln.
OUTVAR1 und OUTVAR2 sind lokale Textsymbole, d. h. Zeichenfolgen.
Die Form-Routine im ABAP, die über die oben aufgeführten Kommandozeilen aufgerufen wird, muß dann im ABAP-Report prog folgendermaßen definiert sein:
Code: Alles auswählen.
FORM <form> TABLES IN_TAB STRUCTURE ITCSY
OUT_TAB STRUCTURE ITCSY.
...
ENDFORM.
In der Formroutine musst Du dann anhand der Belegdaten die entsprechde Faktura nachlesen (z.B. über BKPF-AWKEY). Beispiele findest Du ebenfalls in
der SAP-Doku
Weiterhin viel Freude mit SAP...
Cheers
MrB.