[SAP] Adobe Forms Administration

Transaktionen

SFP (Form Builder)
SM59 (RFC Destinations (Display/Edit))

  1. HTTP-Verbindungen zu ext. Server
  2. Doppelklick auf ADS
  3. Button „Verbindungstest“

SICF (Pflege des HTTP-Service-Baums)

  1. Hierarchietyp SERVICE
  2. Button „Ausführen“
  3. default_host/sap/bc/fp und default_host/sap/bc/fpads

Reports

FP_CHECK_DESTINATION_SERVICE (Testprogramm, ob der Destination-Service für Templates funktioniert)

  1. This report checks the configuration of the destination service and the ICF service sap/bc/fp

FP_CHECK_HTTP_DATA_TRANSFER (Test Program for HTTP Communication)

  1. This report checks the configuration of the destination service and the ICF service sap/bc/fpads
  2. You only need this service, if AS ABAP and AS Java (with ADS) are installed in different systems

RSPO_TEST_MERGE_PDF_FILES (Beispielreport zum Aufruf des PDF-Merge ABAP-Interfaces)
FP_TEST_00 (Form Processing – Zentrales Testprogramm)
FP_TEST_01 (Form Processing – Zentrales Testprogramm mit Archivierung)
FP_PDF_TEST_00 (Versionsinformation (nur zur Analyse))
FP_PDF_TEST_01 (PDF Erzeugung)

Funktionsbausteine

FP_FUNCTION_MODULE_NAME (Namen des Funktionsbausteins für ein Formular bestimmen)
FP_JOB_OPEN (Formularprozessierung: Job beginnen)
FP_JOB_CLOSE (Formularprozessierung: Job beenden)
FP_GET_LAST_ADS_ERRSTR (Letzten Fehlerstring der Adobe-Dokument-Services/SOAP ermitteln)
ADS_SR_OPEN (Öffnen eines ADS Spoolauftrags zum Schreiben)
ADS_SR_CLOSE (Schliessen eines ADS Spoolauftrags)
ADS_GET_PATH (Liefert Speicherort für ADS Spoolaufträge)
ADS_SR_CONFIRM (Schreiben einer Zeile in einen offenen ADS Spoolauftrag)

Tabellen

FPCONTEXT (Formularobjekte: Kontext)
FPCONTEXTI (Formularobjekte: Kontext – interne Informationen)
FPCONTEXTR (Formularobjekte: Kontext – Laufzeitobjekte)
FPCONTEXTT (Formularobjekte: Kontext – textuelle Beschreibung)
FPINTERFACE (Formularobjekte: Schnittstelle)
FPINTERFACET (Formularobjekte: Schnittstelle – textuelle Beschreibung)
FPLAYOUT (Formularobjekte: Layout)
FPLAYOUTT (Formularobjekte: Layout – textuelle Beschreibung)
FPNUMBERLEVEL (Formularobjekte: Nummernstand)

Klassen

CL_RSPO_PDF_MERGE (PDF merger)

Links

[ABAP] Adobe Forms Formular aufrufen und als xstring weiterverarbeiten

* https://www.berater-wiki.de/Aufruf_des_Adobe_Formulars_im_Rahmenprogramm
* https://wiki.scn.sap.com/wiki/display/ABAP/Adobe+Forms+from+Scratch

* Hilfsfunktionen für Adobe Forms
INCLUDE fp_utilities.

* Formularname
DATA(lv_form) = CONV fpname( 'ZADOBE_FORM_NAME' ).
* Name für generierten Funktionsbaustein
DATA: lv_funcname TYPE funcname.
DATA: lv_interface_type TYPE fpinterfacetype.

TRY.
* Namen des Funktionsbausteins für ein Formular bestimmen
  CALL FUNCTION 'FP_FUNCTION_MODULE_NAME'
    EXPORTING
      i_name           = lv_form
    IMPORTING
      e_funcname       = lv_funcname
      e_interface_type = lv_interface_type.

  DATA: lv_outputparams TYPE sfpoutputparams.

** Output Parameter für neues Interface
** Druckerdialog ausblenden
*  lv_outputparams-nodialog = 'X'.
** Druckvorschau
*  lv_outputparams-preview  = 'X'.
** Druckbutton ausblenden
*  lv_outputparams-noprint  = 'X'.
** Druckvorschaubutton ausblenden
*  lv_outputparams-nopreview   = 'X'.
** Name Ausgabegerät (Drucker)
*  lv_outputparams-dest     = 'LP01'.
*  lv_outputparams-nopdf    =
** Spoolsteuerung
** Neuen Spoolrequest anlegen
*  lv_outputparams-reqnew   = 'X'.
** Spoolrequest schließen
*  lv_outputparams-reqfinal = 'X'.

* PDF XSTRING anfordern
   lv_outputparams-getpdf   = 'X'.


** XFP Settings für Externes Interface
*  lv_outputparams-xfp       =
** Context
*  lv_outputparams-xfptype   =
*  lv_outputparams-xfpoutdev =

* Formularprozessierung: Job beginnen
  CALL FUNCTION 'FP_JOB_OPEN'
    CHANGING
      ie_outputparams = lv_outputparams
    EXCEPTIONS
      cancel          = 1
      usage_error     = 2
      system_error    = 3
      internal_error  = 4
      OTHERS          = 5.

  IF sy-subrc = 0.

    DATA(lv_docparams) = VALUE sfpdocparams( langu = 'D' country  = 'DE' ).
    DATA: lv_formout TYPE fpformoutput.

* Funtionsbaustein aufrufen
    CALL FUNCTION lv_funcname
      EXPORTING
        /1bcdwb/docparams  = lv_docparams
* ggf. spez. Parameter für Funktionsaufruf hier aufführen
* siehe Transaktion SFP (Form Builder)
      IMPORTING
        /1bcdwb/formoutput = lv_formout
      EXCEPTIONS
        usage_error        = 1
        system_error       = 2
        internal_error     = 3
        OTHERS             = 4.

    IF sy-subrc = 0.
* xstring mit PDF-Daten
      DATA(lv_pdf_raw) = lv_formout-pdf.
* hier weitere Verarbeitung
      ...
    ELSE.
* wenn Fehler beim ADS-Aufruf
      DATA: lv_error_string TYPE string.

      CALL FUNCTION 'FP_GET_LAST_ADS_ERRSTR'
        IMPORTING
          e_adserrstr = lv_error_string.

      IF NOT lv_error_string IS INITIAL.
* detaillierte Fehlermeldung ausgeben
        WRITE: / lv_error_string COLOR COL_NEGATIVE.
      ELSE.
* sonst nur eine unspezifische Fehlermeldung ausgeben
        WRITE: / 'Error within Form Call : ', sy-subrc COLOR COL_NEGATIVE.
      ENDIF.

    ENDIF.

    DATA: lv_result TYPE sfpjoboutput.

* Formularprozessierung: Job beenden
    CALL FUNCTION 'FP_JOB_CLOSE'
      IMPORTING
        e_result       = lv_result
      EXCEPTIONS
        usage_error    = 1
        system_error   = 2
        internal_error = 3
        OTHERS         = 4.

    IF sy-subrc <> 0.
* Fehler beim Beenden der Formprozessierung
      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
  ELSE.
* Formprozessierung kann nicht gestartet werden
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

CATCH cx_root.
  WRITE : / 'Fehler beim Ermitteln des Funktionsbausteinnamens.'.
ENDTRY.