Adobe Forms Generierter Formular-Funktionsbaustein (SFP-Schnittstelle und Kontext)
Siehe Adobe Interactive Forms.
Wie bei Smart Forms wird bei Adobe Forms für die Formularausgabe ein Funktionsbaustein generiert, der letztlich für die Ausgabe des Formulars verantwortlich ist. Der genierierte Funktionsbaustein hat die gleichen Import- und Exportparameter wie die SFP-Schnittstelle zum Formular. Die Objekte des Kontexts lassen sich auch alle im generierten Funktionsbaustein wiederfinden.
Der Name des Funktionsbausteins wird von SAP automatisch generiert und ist vom System abhängig.
Daher wird der Funktionsbausteinname auch nicht direkt angegeben, sondern mittels des Funktionsbausteins FP_FUNCTION_MODULE_NAME ermittelt im Coding.
Parameter des generierten Funktionsbausteins
- Die Parameter des generierten Funktionsbausteins ergeben sich aus dem Objekt "Schnittstelle" in der Transaktion SFP.
Aufruf Funktionsbaustein im Rahmenprogramm
Im Rahmenprogramm wird der Funktionsbaustein aufgerufen.
Data: lv_form type tdsfname. call function lv_fm_name "z. B. /1BCDWB/SM00000005 EXPORTING /1bcdwb/docparams = ls_docparams bil_prt_com = gs_interface is_nast = nast IMPORTING /1bcdwb/formoutput = ls_pdf_file EXCEPTIONS usage_error = 1 system_error = 2 internal_error = 3 others = 4.
Ermittlung Funktionsbaustein im Debugger
Im Debugger erkennt man den Namen des Funktionsbausteins "/1BCDWB/SM00000005"
Ermittlung Funktionsbaustein über Formular
Ist man im Einstiegsbildschirm der Transaktion SFP und gibt das Adobe Forms-Formular SFP ein und F8, so wird der Funktionsbaustein angezeigt, der die SFP-Schnittstelle und den Kontext repräsentiert.
Nun F8 klicken.
Der vom Adobe Forms und vom System abhängig generierte Funktionsbausteinname 1BCDWB/SM00000020 wird angezeigt.
Aufruf Funktionsbaustein mit Transaktion SE37
Hier ist das Coding zu sehen, was im Funktionsbaustein enthalten ist
Suche nach Knotenelementen
Es ist möglich nach Knotenelementen im Funktionsbaustein zu suchen. Wichtig ist hier "global im Rahmenprogramm" zu markieren, da der größte Teil des Codings in einem Include sich befindet, der in den Funktionsbaustein eingebunden ist.
Knotenelemente debuggen
Setzt man nun an ein Knotenelement (z. B. ZZTEL_NUMBER_SB) einen Breakpoint, wird diese Stelle bei der Anzeige des Formularbelegs (in diesem Fall Rechnung) angesprungen im Debugger
Rechnungsformular wird in Druckvorschau angezeigt
Die Codingstelle wird im Debugger angesprungen