Drucken aus Dynpro, Aufruf des Formulares

Zu diesem Dokument gehören auch:

Eingabe-Dynpro für Tabelleneinträge

Fortsetzung Eingabe-Dynpro mit Sperrverwaltung

Dynprofelder als Druck ausgeben

 

Nun soll das im Artikel “Dynprofelder als Druck ausgeben” beschriebene Formular aufgerufen werden.

Als erstes sollten wir den Druckbutton in der Symbolleiste aktivieren und mit einem Funktionscode belegen. Hier werden wir einfach (im GUI-Status D902 unseres Beispiels) den Code “PRINT” eintragen. Dies bewirkt bereits die Aktivierung in der Symbolleiste.

image

Im PAI-Module “USER_COMMAND_0902” wird dieser Code ausgewertet und in ein Unterprogramm verzweigt.

 

image

Das Formular aus Smartforms wird aufgerufen wie ein Funktionsbaustein. Der Name des Formulares ist bekannt aber wie kommt man an die Bezeichnung des Funktionsbausteins? Dazu gibt es einen weiteren Funktionsbaustein, dieser bekommt als Einagbeparameter den Formularnamen mitgegeben und man erhält dafür den Namen des Funktionsbausteins des Formulars.

FORM P_PRINT .  * Aufruf des Formulars * holen des Namen des generierten FB zum Formular und lesen der Parameterdefinitionen
  CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
    EXPORTING       FORMNAME           = 'ZINVEST_EINZ' *     VARIANT            = ' ' *     DIRECT_CALL        = ' '     IMPORTING       FM_NAME            = FM_NAME     EXCEPTIONS       NO_FORM            = 1       NO_FUNCTION_MODULE = 2       OTHERS             = 3.   IF SY-SUBRC  0.     MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.   ENDIF.
Hier folgt nun der eigentliche Aufruf des Formulars
  CALL FUNCTION FM_NAME     EXPORTING *   ARCHIVE_INDEX              = *   ARCHIVE_INDEX_TAB          = *   ARCHIVE_PARAMETERS         = *   CONTROL_PARAMETERS         = *   MAIL_APPL_OBJ              = *   MAIL_RECIPIENT             = *   MAIL_SENDER                = *   OUTPUT_OPTIONS             = *   USER_SETTINGS              = 'X'       INVEST_PLAN                = ZMM_INVEST_PLAN       KSTXT                      = KSTXT       HERST                      = HERST       EKTXT                      = EKTXT * 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. * Implement suitable error handling here   ENDIF.  ENDFORM.                    " P_PRINT

So, das war’s auch schon mit dem Aufruf.

Dieser Eintrag wurde veröffentlicht in SAP/ABAP von . Setze ein Lesezeichen zum Permalink.

Schreibe einen Kommentar