Ansicht
Dokumentation

EXIT_SAPLKAUF_004 - Customer Exit für Steuerung des Drucks von Innenauftragsstammdaten

EXIT_SAPLKAUF_004 - Customer Exit für Steuerung des Drucks von Innenauftragsstammdaten

General Data in Customer Master   BAL Application Log Documentation  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Die CO-Auftragsdaten (Stammdaten und Abrechnungsvorschriften) werden mit Hilfe eines SapScript-Formulars ausgedruckt.

Im Standardfall wird das Formular 'CO_ORDER' zum Druck verwendet. Wollen Sie ein anderes Formular verwenden, so können Sie pro Auftragsart ein Formular hinterlegen. Benötigen Sie eine weitere Differenzierung der Formulare, so können Sie in dieser Erweiterung eigene Routinen zur Ermittlung eines Formulars einbauen.

Verwenden Sie in der Tabelle der Aufträge (Tabelle AUFK) kundeneigene Felder, so können Sie in dieser Erweiterung die Prüftexte für diese Felder füllen. Danauch müssen Sie eigene Formulare anlegen und in dem entsprechenden Textelement die Bezeichnungen, Felder und Prüftexte einarbeiten.

Parameter

  • Auftragsdaten I_ORPRINT(Import)
  • Dem Funktionsbaustein werden alle Auftragsstammdaten mit den dazugehörenden Texten in der Struktur ORPRINT übergeben.

  • Formular I_FORMULAR(Export)
  • Aus den übergebenen Daten, sowie anderen Tabelleneinträgen kann ein neues Formular ermittelt werden. Dieser Name wird von dem Funktionsbaustein zurückgegeben.

  • Um dieses Formular verwenden zu können, muß das Formular in der richtigen Sprache angelegt und aktiviert worden sein. SapScript-Formular aktivieren

  • Es kann sowohl ein von SAP vordefiniertes Formular verwendet werden, als auch ein neues selbst angelegtes. Bitte beachten Sie die richtige Schreibweise des Formularnamens (Groß/Kleinschreibung) in dem Funktionsbaustein.

  • Prüftexte I_TEXT(Export)
  • Zu den übergebenen Userdaten (CI_AUFK) können Sie eigene Prüftexte ermitteln, um diese im Formular mit auszudrucken. Die Textfindung können Sie frei programmieren. Die ermittelten Texte werden in der Struktur I_TEXT zurückgegeben.

Beispiel

1. Ausgabe eines Benutzer-spezifischen Formular mit Tabelle SYS

In Abhängigkeit vom Benutername sollen abweichende Formulare genutzt werden:

  case sy-uname.

    when 'MEIER'.    i_formular = 'MY_FORMULAR_1'.

    when 'SCHMIDT'.  i_formular = 'MY_FORMULAR_2'.

    when others.     " Alle anderen User benutzen das Standardformular

  endcase.

2. Ausgabe eines Benutzer-spezifischen Formular mit ParameterID

Bei den Benutzerparametern kann unter der ID 'TTX' ein Formular hinterlegt werden, das beim Druck verwendet werden soll:

   data : t_formular like orprint-formular.

   get parameter id 'TTX' field t_formular.

   if not t_formular is initial.

     i_formular = t_formular.

   endif.

3. Ausgabe eines Status-spezifischen Formular

In Abhängigkeit vom Auftragsstatus soll ein anderes Formular für eine bestimmte Auftragsart verwendet werden:

   if i_orprint-auart = '0100'.      " Gilt nur für Auftragsart 0100

     if i_iorprint-phas0 = 'X'.      " Phase 'Auftrag eröffnet'

        i_formular = 'MY_FORMULAR_1'.

     endif.

     if i_iorprint-phas1 = 'X'.      " Phase 'Auftrag freigegeben'

        i_formular = 'MY_FORMULAR_2'.

     endif.

     if i_iorprint-phas2 = 'X'.      " Phase 'Auftrag technisch abges.'

        i_formular = 'MY_FORMULAR_3'.

     endif.

     if i_iorprint-phas3 = 'X'.      " Phase 'Auftrag abgeschlossen'

        i_formular = 'MY_FORMULAR_4'.

     endif.

   endif.

4. Füllen eigener Prüftexte

Die Struktur CI_AUFK enthält die Felder Z_FELD1 und Z_FELD2. Die Struktur CI_TX_AUFK enthält die Felder Z_TX_FELD1 und Z_TX_FELD2. Die Tabelle ZTABLE enthält die Prüftexte zum Feld Z_FELD1.

   tables: ztable.

   clear i_text-z_tx_feld1.

   clear i_text-z_tx_feld2.

   select single * from ztable where z_feld1 = i_orprint-z_feld1.

   if sy-subrc = 0.

     i_text-z_tx_feld1 = ztable-z_tx_feld1.

   endif.

   case i_orprint-z_feld2.

     when '1' : i_text-z_tx_feld2 = 'My Text 1'.

     when '2' : i_text-z_tx_feld2 = 'My Text 2'.

   endcase.

Hinweise

Bitte beachten Sie:

  • Formular immer in GROSSBUCHSTABEN schreiben
  • Formular muß im SapScript angelegt und aktiviert werden
  • Dieser Funktionsbaustein wird für jeden zu druckenden Auftrag erneut aufgerufen. Aus diesem Grunde sind performanceintensive Datenbankselektionen zu vermeiden !
  • Dieser Funktionsbaustein kann ausschliesslich zur Findung des Formular und zum Füllen der Prüftexte zu den Kundenfelder genutzt werden.
  • Ein Messagehandling, Berechtigungsprüfungen und ähnliche Dinge sollten hier auf keinen Fall codiert werden.

Weiterführende Informationen





Parameter

I_FORMULAR
I_ORPRINT
I_TEXT

Ausnahmen

Funktionsgruppe

XAUF

rdisp/max_wprun_time - Maximum work process run time   Addresses (Business Address Services)  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 8226 Date: 20240523 Time: 111602     sap01-206 ( 106 ms )