User-Exit zur Druckerfindung

Bei der Definition einer Nachricht können verschiedene Parameter zum gewünschten Drucker führen. Unter anderem gibt es beim Druckparameter die Option “User-Exit”. Hier erklären wir Ihnen, wie sie diesen Parameter nutzen können.

Bei der Definition der Nachrichtenfindung können Sie im Tabellenreiter “Druck” den Druckparameter “User-Exit” eingeben. Die Ermittlung des Druckers wird dann durch den Funktionsbaustein EXIT_SAPLV61B_002 vorgenommen.

So ist eine komplexe Druckerermittlung möglich.

Hierzu müssen Sie jedoch erst ein Erweiterungsprojekt (Transaktion CMOD) anlegen oder ein vorhandenes erweitern. Tragen Sie den Exit VN000001 in der Komponentensicht ein, machen Sie Ihre Anpassungen und aktivieren Sie den Exit.

Beachten Sie noch, dass in den Nachrichten-Konditionssätzen kein Drucker eingetragen werden darf, damit der User-Exit angesprungen wird.

Ein Coding zum Druck bei einzelnen Kunden könnte in etwa so aussehen:

*———————————————————————-*
*   INCLUDE ZXWM1U02                                                   *
*———————————————————————-*
*FUNCTION EXIT_SAPLV61B_002.
*”———————————————————————-
*”*”Lokale Schnittstelle:
*”       IMPORTING
*”             VALUE(PI_KAPPL) LIKE  T681A-KAPPL
*”             VALUE(PI_KSCHL) LIKE  T685-KSCHL
*”             VALUE(PI_HD_NAME) LIKE  T681Z-KOPTB
*”             VALUE(PI_HD_DATA)
*”             VALUE(PI_POS_NAME) LIKE  T681Z-POSTB OPTIONAL
*”             VALUE(PI_POS_DATA) OPTIONAL
*”             REFERENCE(PI_SPOOL) LIKE  WFMC_SPOOL
*”         STRUCTURE  WFMC_SPOOL OPTIONAL
*”       EXPORTING
*”             VALUE(PE_SPOOL) LIKE  WFMC_SPOOL STRUCTURE  WFMC_SPOOL
*”———————————————————————-

DATA: zz_komkbv1 LIKE komkbv1.
CLEAR zz_komkbv1.

pe_spool = pi_spool.

CASE pi_kappl.
  WHEN ‘V1’.
    IF pi_hd_name = ‘KOMKBV1’.
      zz_komkbv1 = pi_hd_data.
      CASE pi_kschl.
        WHEN ‘AX01’ OR ‘AU01’.
*– Druckort zum Kunden anhand einer Tabelle ermitteln
          SELECT SINGLE drucker FROM ztab1
            INTO pe_spool-ldest
           WHERE kunnr = zz_komkbv1-kunnr.
          IF sy-subrc <> 0.
*– Default-Drucker setzen
            pe_spool-ldest = ‘P001’.
          ENDIF.
      ENDCASE.
    ENDIF.
ENDCASE.

 

 

Enno Wulff