Übergabe Druckparameter von Rahmenprogramm an Smartforms
Aus SAP-Wiki
Zur Navigation springenZur Suche springen
Siehe Smart Forms.
Die Druckparameter werden beim Aufruf des Smart Forms vom Rahmenprogramm an das Formular übergeben. Dies betrifft Punkte wie:
- Druckerdialog ja/nein
- Drucker
- Druck-/Ausgabesprache
- Spoolerzeugung ja/nein
- Name für Spool
- Lebenszeit des Spool-Auftrages
- Sofortdruck ja/nein
Drucker
- Im Coding wird mit dem Parameter LS_PARAMS1-TDDEST = 'LOCL' der Drucker übergeben. Zu beachten ist hier allerdings, dass diese Übergabe nur das Ausgabegerät beeinflusst, wenn man gleichzeitig den Parameter USER_SETTINGS = SPACE setzt. Ansonsten würde das Ausgabegerät, der Sofortdruck und das Löschen des Spool-Auftrages aus dem Benutzerstamm gezogen. Hier ist im Formular der Default auf USER_SETTINGS = X gesetzt. Wenn man also diesen Parameter nicht explizit auf space setzt, würde die Übergabe eines Druckers zu keiner Änderung bei der Druckausgabe führen.
Ausgabesprache
- Gewöhnlich wird ein Formular gedruckt, die in der NAST-SPRAS steht. Dieser Wert wird der Smart Forms Struktur SSFCTRLOP übergeben und in das Feld LANGU geschrieben. Neben dem Feld LANGU gibt es noch die Felder für Ersatzsprachen REPLANGU1, REPLANGU2 und REPLANGU3. Die Ersatzsprachen greifen dann, wenn eine Übersetzung z. B eines Textbausteins in der Formularsprache LANGU nicht vorhanden ist.
Der Parameter WA_CONTR ist hier vom Typ SSFCTRLOP.
data: wa_contr type ssfctrlop.
Die Formularausgabe erfolgt in der Sprache, die in das Feld LANGU eingetragen wird. Wurde das Formular in diese Sprache nicht übersetzt, dann werden die Ersatzsprachen herangezogen. Werden alle Sprachfelder LANGU und die Ersatzsprachen nicht gefüllt, wird das Smart Forms in der Anmeldesprache des Users ausgegeben.
Screenshot aus der SAP-Hilfe:
Coding für Aufruf Smart Forms
DATA: ls_document_output_info TYPE ssfcrespd, ls_job_output_info TYPE ssfcrescl, ls_job_output_options TYPE ssfcresop. DATA: lv_fm_name TYPE rs38l_fnam. CONSTANTS: con_form TYPE ssfscreen-fname VALUE 'ZREBTEST'. * Es wird der von Smartforms generierte Fkt. ermittelt CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME' EXPORTING formname = con_form IMPORTING fm_name = lv_fm_name EXCEPTIONS no_form = 1 no_function_module = 2 OTHERS = 3. IF sy-subrc <> 0. * Ermittlung technische Bezeichnung Smartforms nicht erfolgreich MESSAGE i531(0u) WITH text-096. EXIT. ENDIF. DATA: ls_params1 TYPE ssfcompop. * Füllen der Druckparameter * ls_params2-no_dialog = 'X'. * ls_params1-tdnoprev = 'X'. ls_params1-tddest = 'LOCL'. "Spool: Output device ls_params1-tddataset = 'INV'. "Spool request: Name ls_params1-tdlifetime = '5'. "Spool Retention Period (Print Parameters) * ls_params1-tdsuffix1 = 'suff1'. "Spool request: Suffix 1 ls_params1-tdsuffix2 = sy-uname. "Spool request: Suffix 2 ls_params1-tdnewid = 'X'. "New Spool Request (Print Parameters) ls_params1-tdimmed = space. "Print Immediately (Print Parameters) * CALL FUNCTION lv_fm_name EXPORTING output_options = ls_params1 "Printoptions user_settings = space "Space --> Usage print parameters from coding. Otherwise print parameters will be set in user profile it_data = gt_data "itab table IMPORTING document_output_info = ls_document_output_info job_output_info = ls_job_output_info job_output_options = ls_job_output_options EXCEPTIONS formatting_error = 1 internal_error = 2 send_error = 3 user_canceled = 4 OTHERS = 5. IF sy-subrc <> 0. MESSAGE ID sy-msgid TYPE 'W' NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF.
Druckerdialog
- Im Druckerdialog können diverse Druckparameter wie Ausgabegerät, Name Spool-Auftrag, Sofortdruck etc. eingestellt werden, falls beim Aufruf des Smart Forms der entsprechende Parameter übergeben wird LS_PARAMS2-NO_DIALOG = SPACE oder dieser Parameter nicht gefüllt ist.
- Default ist, dass der Druckerdialog aufgerufen wird.