Rollouts uns Global Template für SAP Formulare

Anlegen eines Steuerindikators Export in SAP Vertriebsbelegen

In SAP Vertriebsbelegen (Auftrag – Lieferung – Faktura) hängen Inhalt vieler Felder im Beleg, die Logik vieler Felder und Texte in Formularen und auch Folgeaktionen davon ab, ob der Vorgang innerstaatlich ist oder mit einem Export ins Ausland vorhanden ist.

Häufig muss folgende Fallunterscheidung getroffen werden:

–        Kein Export

–        Export aus EU in ein EU-Land

–        Export aus EU in ein Drittland

–        Export aus Drittland in EU

–        Export von Drittland in ein Drittland

Damit diese Fälle nicht jedes Mal in Bedingungen und Formeln oder in jedem Formular und Programm neu ermittelt werden müssen, bietet es sich an, in einem Userexit im Kundenauftrag einen „Steuerindikator Export“ zu ermitteln und diesen als ZZ-Feld an die Tabelle VBAK zu hängen. Über eine Datenübernahmeroutine in der Kopiersteuerung kann dann dieser „Steuerindikator Export“ als ZZ-Feld in die Lieferung (Tabelle LIKP) und die Faktura (Tabelle VBRK) übernommen werden.

Über einen solchen „Steuerindikator Export“ können dann bequem Konditionen, Nachrichten und Vorgänge für Intercompany per Customizing gesteuert werden.

Im folgenden wird das Coding eines Funktionsbausteins zur Ermittlung eines „Steuerindikators Export“ vorgestellt.

Anlegen einer Domäne ZZTAXEL_DOM

  • Länge CHAR 1
Domäne ZZTAXEL_DOM

Anlegen eines Datenelements ZZTAXEL_D

Datenelement ZZTAXEL_D

Erweitern der Tabelle VBAK um das Feld ZZTAXEL

– Append an Tabelle VBAK

Anlegen eines Funktionsbausteins Z_SD_DETERMINE_TAXEL

FUNCTION Z_SD_DETERMINE_TAXEL.
*“———————————————————————-
„Lokale Schnittstelle:
*“ IMPORTING
*“ VALUE(IV_ALAND) TYPE ALAND OPTIONAL
*“ VALUE(IV_LLAND) TYPE LLAND OPTIONAL
*“ EXPORTING
*“ VALUE(EV_TAXEL) TYPE ZZTAXEL_D
*“———————————————————————-

  • Deklarationen —————————————————— *
    DATA: lv_xegld_aland TYPE xegld,
    lv_xegld_lland TYPE xegld.
  • Fall 1) Kein Export ———————————————— *
    IF iv_aland = iv_lland.
    ev_taxel = ‚0‘.
    EXIT.
    ENDIF.
  • Ermittlung der EU-Kennzeichen für die Länder ———————– *
    SELECT SINGLE xegld INTO lv_xegld_aland
    FROM t005
    WHERE land1 = iv_aland.
    SELECT SINGLE xegld INTO lv_xegld_lland
    FROM t005
    WHERE land1 = iv_lland.
  • Fall 2) Export in EU ———————————————– *
    IF iv_aland NE iv_lland.
    IF lv_xegld_aland NE space AND lv_xegld_lland NE space.
    ev_taxel = ‚2‘.
    EXIT.
    ENDIF.
    ENDIF.
  • Fall 3) Export EU – Drittland ————————————– *
    IF iv_aland NE iv_lland.
    IF lv_xegld_aland NE space AND lv_xegld_lland = space.
    ev_taxel = ‚1‘.
    EXIT.
    ENDIF.
    ENDIF.
  • Fall 4) Export aus einem Drittland in EU ————————— *
    IF iv_aland NE iv_lland.
    IF lv_xegld_aland = space AND lv_xegld_lland NE space.
    ev_taxel = ‚4‘.
    EXIT.
    ENDIF.
    ENDIF.
  • Fall 5) Export aus einem Drittland in Drittland ——————– *
    IF iv_aland NE iv_lland.
    ev_taxel = ‚5‘.
    ENDIF.

ENDFUNCTION.

Einbauen des Funktionsbausteins in den Userexit SAVE_DOCUMENT_PREPARE im Programm MV45AFZZ

IF t180-trtyp = ‚H‘. „Anlegen
IF z_ca_cl_ue_control=>aktiv( ‚SD_FILL_LIKP_ZZTAXEL‘ ) = ‚X‘.
CALL FUNCTION ‚Z_SD_DETERMINE_TAXEL‘
EXPORTING
iv_aland = t001-land1
iv_lland = kuwev-land1
IMPORTING
ev_taxel = vbak-zztaxel.
ENDIF.
ENDIF.

Anzeigen des Feldes VBAK-ZZTAXEL im Kundenauftrag in den Zusatzdaten B

– Dynpro

Ergänzen der Datenübernahmeroutinen für Lieferung und Faktura

  • Erweitern der Tabellen LIKP und VBRK um das Feld ZZTAXEL
  • Ergänzen der Datenübernahmeroutinen Kopf Lieferung und Kopf Faktura, um das Feld LIKP-ZZTAXEL bzw.VBRK-ZZTAXEL zu füllen

Weitere Informationen

Spezialthemen zu SAP Formularen
SAP Formulare zum Festpreis
SAP Formularentwicklung