Smart Forms Formularaufruf und Spool-Aufträge
Aus SAP-Wiki
(Weitergeleitet von Smart Forms Formularaufruf und Spoolaufträge)
Zur Navigation springenZur Suche springen
Siehe Smart Forms.
Beim Aufruf des Smart Forms ist es optional explizit einen Spool-Auftrag über Funktionsbausteine zu öffnen und zu schließen. Dies kann auch beim Aufruf des Smart Forms-Funktionsbausteins geschehen.
Siehe Spool-Auftrag.
Demoprogramm SF_EXAMPLE_03
Im SAP-Demo-Programm SF_EXAMPLE_03 wird die Verwendung der Funktionsbausteine SSF_OPEN und SSF_CLOSE gezeigt, die explizit einen Spool-Auftrag öffnen, bzw. schließen.
Deklarationen
report sf_example_03.
data: carr_id type sbook-carrid,
cust_id type scustom-id,
fm_name type rs38l_fnam,
control type ssfctrlop,
errtab type tsferror.
select-options: s_custid for cust_id default 50 to 60,
s_carrid for carr_id default 'LH' to 'LH'.
parameter: p_form type tdsfname default 'SF_EXAMPLE_03'.
data: customers type ty_customers,
bookings type ty_bookings,
connections type ty_connections,
customer type scustom.
Datenselektion
************************ DATA RETRIEVAL ************************
* get data of bookings
select * from scustom into table customers
where id in s_custid
order by primary key.
Ermittlung Funktionsbaustein mit SSF_FUNCTION_MODULE_NAME
************************ PRINTING OF DATA **********************
* get the name of the generated function module using the logical
* Smart Forms name
call function 'SSF_FUNCTION_MODULE_NAME'
exporting formname = p_form
* variant = ' '
* direct_call = ' '
importing fm_name = fm_name
exceptions no_form = 1
no_function_module = 2
others = 3.
if sy-subrc <> 0.
* error handling
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
exit.
endif.
control-langu = 'D'.
control-no_dialog = 'X'.
control-preview = 'X'.
control-no_open = 'X'.
control-no_close = 'X'.
Funktionsbaustein 'SSF_OPEN'
call function 'SSF_OPEN'
exporting
* ARCHIVE_PARAMETERS =
* USER_SETTINGS = 'X'
* MAIL_SENDER =
* MAIL_RECIPIENT =
* MAIL_APPL_OBJ =
* OUTPUT_OPTIONS =
control_parameters = control
* IMPORTING
* JOB_OUTPUT_OPTIONS =
exceptions
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
others = 5.
if sy-subrc <> 0.
* error handling
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
exit.
endif.
Aufruf Formular mit Funktionsbaustein
* print all the bookings of different customers
loop at customers into customer.
clear: bookings[], connections[].
select * from sbook into table bookings
where customid = customer-id
and carrid in s_carrid
order by primary key.
select * from spfli into table connections
for all entries in bookings
where carrid = bookings-carrid
and connid = bookings-connid
order by primary key.
* now call the generated function module
call function fm_name
exporting
* archive_index =
* archive_parameters =
control_parameters = control
* mail_appl_obj =
* mail_recipient =
* mail_sender =
* output_options =
* user_settings = 'X'
customer = customer
bookings = bookings
connections = connections
* importing document_output_info =
* job_output_info =
* job_output_options =
exceptions formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
others = 5.
if sy-subrc <> 0.
* error handling
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
endloop.
Funktionsbaustein 'SSF_CLOSE'
call function 'SSF_CLOSE'
* IMPORTING
* JOB_OUTPUT_INFO =
exceptions
formatting_error = 1
internal_error = 2
send_error = 3
others = 4.
if sy-subrc <> 0.
* error handling
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
* analyse internal error table of Smart Forms
call function 'SSF_READ_ERRORS'
importing
errortab = errtab.
if not errtab is initial.
* add your handling
endif.
Control-Sprachparameter in Methode setzen
Die Sprachparameter werden in den meisten Formularen bei einem Kunden gleich gefüllt. Dann bietet es sich auch an dieses Füllen der Sprachparameter in einer Methode zu kapseln.
Control Param-Sprachparameter füllen
Web-Links
Literatur
- SAP Smart Forms - Das umfassende Handbuch, von Werner Hertleif, Christoph Wachter, Rinaldo Heck, Tobias Trapp, Thomas Karas; 3. Auflage, S. 627