Formularnamen dynamisch ermitteln mit Smartforms oder AIF

Bei der Entwicklung von Formularen mit Smartforms oder Adobe Interactive Forms (AIF, auch bekannt unter SAP Interactive Forms by Adobe), wird jeweils ein eindeutiger Name für das Formular bei der Erstellung vergeben. Über diesen eindeutigen Name kann das Formular immer zur Bearbeitung geöffnet werden. Zum Aufruf im Druckprogramm wird jedoch ein anderer Name benötigt, nennen wir ihn den internen Name des Formulars.

Beim Transport des Formulars in andere Systeme und auch schon bei jeder Änderung am Formular die gespeichert wird, ändert sich allerdings der interne Name und das Formular kann nicht mehr durch das Druckprogramm aufgerufen werden. In diesem Beitrag erklären wir Ihnen deshlab, wie Sie Formularnamen dynamisch ermitteln lassen und das Problem lösen.

Projektleitung, Projektbegleitung oder einfach nur Unterstützung in der Entwicklung. Unsere Mitarbeiter haben langjährige Erfahrungen in der SAP Formulargestaltung und Sie können von unserem gesamten Knowhow profitieren. Unser passendes Angebot finden sie hier: Formular-Experten von MINDFORMS buchen

E-Book Smartforms

E-Book: SmartForms

Eine plattformunabhängige, mehrsprachige und mandatenübergreifende Formulartechnologie klingt für Sie nach Utopie? Nicht, wenn Sie SAP Smartforms kennen.

Kontaktieren Sie mich: Telefon 0211 946 285 72-35 oder per E-Mail info@mindforms.de
In einem unverbindlichen Gespräch kann ich mit Ihnen über Ihre Ausgangslage sprechen und Ihnen Möglichkeiten aufzeigen. Selbstverständlich können wir danach auch ein unverbindliches Angebot unterbreiten.

Formularnamen dynamisch ermitteln

Nachdem das Formular erstellt wurde, soll es natürlich über ein Druckprogramm auch aufgerufen werden. Der Aufruf des Formulars erfolgt normalerweise wie der eines Funktionsbausteins mit “CALL FUNCTION ‘<Formularname>'”. Genau an dieser Stelle kommt es nach dem Transport aber zu Fehlern, da der interne Name des Formulars sich ändert und es dadurch nicht mehr gefunden wird.
Formularnamen dynamisch ermitteln
Dieser Fehler ist einfach zu Umgehen, indem der interne Formularname dynamisch ermittelt wird. Dazu gibt es den Funktionsbaustein “FP_FUNCTION_MODULE_NAME”. Diesem übergibt man den Formularname, also den Name, der genutzt wird um das Formular für die Bearbeitung zu öffnen. Er gibt dann den internen Name des Formulars zurück. Diesen kann man anschließend zum Aufrufen des Formulars verwenden.

* Formularaufruf
CALL FUNCTION ‘FP_FUNCTION_MODULE_NAME’
  EXPORTING
    i_name                     ‘ZAIF_FORM_UEBUNG1_MM’
 IMPORTING
   e_funcname                 lv_fmname
          .

CALL FUNCTION lv_fmname
  EXPORTING
    /1bcdwb/docparams  ls_docpar
    lt_buchungen       lt_buchungen
    lv_gesellschaft    lv_gesellschaft
    lv_url             lv_url
    lv_fldatum         lv_fldatum
  IMPORTING
    /1bcdwb/formoutput ls_form
  EXCEPTIONS
    usage_error        1

    system_error       2

    internal_error     3

    OTHERS             4.

IF sysubrc <> 0.

  MESSAGE ID symsgid TYPE symsgty NUMBER symsgno

          WITH symsgv1 symsgv2 symsgv3 symsgv4.

ENDIF.

Sicherlich kann hier nun die Frage aufkommen, ob die gesamte Schnittstelle selber geschrieben werden muss. Das ist nicht der Fall, denn dort hilft ein einfacher Trick:

Über Muster kann der Funktionsbaustein im Entwicklungssystem mit dem bekannten internen Name aufgerufen werden. Dadurch wird der Aufruf samt Schnittstelle eingefügt. Nun kann der interne Name durch das Datenfeld mit dem, über “FP_FUNCTION_MODULE_NAME” ermittelten, Name ersetzt werden.

Ihre Meinung zum Thema ‘Formularnamen dynamisch ermitteln’

Haben auch Sie sich schon einmal gewundert, warum ein Formular nach dem Transport auf einmal nicht mehr funktionierte? Mit welchen Problemen haben Sie sonst noch beim Transport von Formularen zu kämpfen? Schreiben Sie einen Kommentar und wir werden Ihnen weiterhelfen.

Alex Wiefel

Alex Wiefel

Als Management & Technologieberater im Bereich Formulare, Archivierung und E-Rechnung verbinde ich tiefgehende fachliche Expertise mit langjährigem Projektleitungs-Know-How. Diese Kombination liefert mir die Grundlage, meine Kunden-Projekte zum Erfolg zu führen. Gerne unterstütze ich Sie dabei, Ihre Formularlandschaft auf den neusten Stand zu bringen, Daten konform zu archivieren sowie Rechnungen zu digitalisieren.

Sie haben Fragen? Kontaktieren Sie mich!



Das könnte Sie auch interessieren

„Die SAP und Adobe beenden ihre gemeinsame Zusammenarbeit im Bereich der SAP Adobe Forms“. Dieses Gerücht befindet sich seit einiger Zeit im Umlauf und hält sich vehement am Markt.Ein Blick […]

weiterlesen

Nach meinem letzten Blogbeitrag (letzter Blogbeitrag), habe ich viele Nachrichten bekommen, dass es gut sei zu wissen, wie der SAP ADS aufgebaut ist, aber wie kann dieses Wissen genutzt werden […]

weiterlesen

Häufig ist nicht klar, welches SAP Druckprogramm zum SAP Formular genutzt wird. Um trotzdem immer schnell zum Ziel zu kommen, möchte ich Ihnen hier 3 Möglichkeiten vorstellen, wie Sie das Druckprogramm […]

weiterlesen

Ein Kommentar zu "Formularnamen dynamisch ermitteln mit Smartforms oder AIF"

Ich habe ein Problem damit, dass meine Standardvariablen und -texte von der Quellsprache nicht in die Zielsprache kopiert werden, können sie mir da einen Tipp geben?

Antworten

Schreiben Sie einen Kommentar

Bitte füllen Sie alle mit * gekennzeichneten Felder aus. Ihre E-Mail Adresse wird nicht veröffentlicht.





Kontaktieren Sie uns!
Julia Buecker
Julia Bücker Kundenservice