Adobe Formular

Getting started ... Alles für einen gelungenen Start.
4 Beiträge • Seite 1 von 1
4 Beiträge Seite 1 von 1

Adobe Formular

Beitrag von L0w-RiDer (Expert / 535 / 83 / 2 ) »
Hallo zusammen,

ich wäre gerade dabei mein erstes Adobe Formular zu erstellen.

Das Layout, die Schnittstelle usw. hätte ich alles gemacht. Nun habe ich auch das Treiberprogramm angelegt. Es soll über die VL71 laufen. Nun hätte ich mir hier einige Tutorials dazu angeschaut und dann danach das Druckprogramm erstellt:

Code: Alles auswählen.

START-OF-SELECTION.

DATA: form TYPE tdsfname VALUE 'ZAF_ADOBE_FORM_2',
      cntry TYPE c LENGTH 2,
      lx_fp_api TYPE REF TO cx_fp_api,
      fm_name TYPE c LENGTH 30,
      fp_docparams TYPE sfpdocparams,
      fp_outputparams TYPE sfpoutputparams.

fp_outputparams-preview = 'X'.

CALL FUNCTION 'FP_JOB_OPEN'
  CHANGING
    ie_outputparams       = fp_outputparams
 EXCEPTIONS
   CANCEL                = 1
   USAGE_ERROR           = 2
   SYSTEM_ERROR          = 3
   INTERNAL_ERROR        = 4
   OTHERS                = 5
          .
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.

TRY.
  CALL FUNCTION 'FP_FUNCTION_MODULE_NAME'
    EXPORTING
      i_name                     = form
    IMPORTING
      E_FUNCNAME                 = fm_name.
  CATCH cx_fp_api INTO lx_fp_api.
*    MESSAGE ID lx_fp_api->msgid TYPE lx_fp_api->msgty
*      NUMBER lx_fp_api->msgno
*        WITH lx_fp_api->msgv1 lx_fp_api->msgv2
*             lx_fp_api->msgv3 lx_fp_api->msgv4

    EXIT.
ENDTRY.

fp_docparams-langu = sy-langu.
SELECT SINGLE laiso
  FROM t002
  INTO cntry
  WHERE spras EQ sy-langu.
 fp_docparams-country = cntry.

 CALL FUNCTION fm_name
 EXPORTING
   /1bcdwb/docparams = fp_docparams
   EXCEPTIONS
     usage_error = 1
     system_error = 2
     internal_error = 3.
if sy-subrc <> 0.
endif.

CALL FUNCTION 'FP_JOB_CLOSE'
* IMPORTING
*   E_RESULT             =
 EXCEPTIONS
   USAGE_ERROR          = 1
   SYSTEM_ERROR         = 2
   INTERNAL_ERROR       = 3
   OTHERS               = 4
          .
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
Ich wollte nun frage, ob nicht in diesem Druckprogramm auch irgendwo angegeben werden muss, dass dieses über die Transaktion VL71 laufen soll? Oder reicht das, wenn man das später einfach über das Customizing regelt?

Eine andere Frage wäre: Könnte mir jemand sagen, was bei dem Funktionsbaustein 'FP_JOB_OPEN' und 'FP_FUNCTION_MODULE_NAME' und 'FP_JOB_CLOSE' genau abläuft und für was diese sind. Das wurde in dem Video nicht so wirklich erklärt und ich würde es gerne verstehen.

Meint ihr das sollte mit dem Coding so laufen?

Vielen Dank im Voraus.

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Adobe Formular

Beitrag von Lukas Sanders (ForumUser / 64 / 7 / 33 ) »
Hallo,

durch den Eintrag im Customizing sollte es funktionieren. Am besten einfach ausprobieren (oder mit einem SAP-Druckprogramm abgleichen), vielleicht die Parameter nochmal ansehen.

FP_JOB_OPEN öffnet einen Druckauftrag im Spool, FP_JOB_CLOSE schließt den Druckauftrag nach der Erzeugung des Formulars ab. Der genaue Ablauf wird hier sehr gut erklärt mit Details zu den einzelnen Parametern: https://www.berater-wiki.de/Adobe_Forms ... P_JOB_OPEN

Zu jedem PDF-Formular gibt es einen Funktionsbaustein, welcher das Formular generiert bzw. ausgibt. Dieser Funktionsbaustein wird allerdings in jedem System neu generiert und hat daher keinen statischen Namen. Würde man den Namen des generierten Funktionsbausteins im Entwicklungssystem ermitteln und dort fest hinterlegen, würde das Druckprogramm im Test- und Produktivsystem nicht mehr funktionieren. Damit das nicht passiert, ermittelt FP_FUNCTION_MODULE_NAME den Namen dieses generierten Funktionsbausteins im aktuellen System.

Re: Adobe Formular

Beitrag von Sebastian82 (ForumUser / 75 / 9 / 11 ) »
Hallo LowRider,
was ist das denn für ein Video, was du dir dazu angeschaut hast?

Was die VL71 angeht, ist das ja ein SAP Programm zum Druck von Nachrichten.
Aus meiner Sicht bräuchtest du jetzt noch folgendes:
1.) Lege in der NACE für die Applikation V2 einen Z-Output Type an. Wenn möglich kopiere einen bestehenden
2.) Bei diesem musst du anschließend dein Durckprogramm hinterlegen
3.) Und wenn du willst, dass deinen Nachricht automatisch erzeugt wird, musst du wahrscheinlich noch was an den Prozeduren in der NACE machen. Wenn ihr gute Berater habt, sollten die wissen wie das geht.

Dein "CALL FUNCTION fm_name" sieht übrigens noch sehr leer aus. DAs sollte ehr so aussehen wie das hier:

**********************************************************************
* Call print programm
**********************************************************************
  CALL FUNCTION fm_name
    EXPORTING
      /1bcdwb/docparams  = ls_document_printout_parameter
      it_table       = my_table
      is_structure      = my_structure
    IMPORTING
      /1bcdwb/formoutput = ls_pdf_file_output
    EXCEPTIONS
      usage_error        = 1
      system_error       = 2
      internal_error     = 3
      OTHERS             = 4.

Viele Grüße,

Sebastian

Re: Adobe Formular

Beitrag von gregor84 (ForumUser / 9 / 1 / 1 ) »
Normalerweise trägt man das Druckprogramm und die Form-Routine ein.
Das geschieht in der NACE->Application->Nachrichtenart->Verarbeitungsroutine

Packe den Aufruf des Formulares in ein Unterprogramm (Gebräuchlich ist der Name entry / Entry_pdf für Druckaufrufe) und trage das entsprechend in die NACE ein. Dort müsstest du auch dein ADOBE Formular hinterlegt haben.


FORM entry_pdf
*dein Code
ENDFORM

Seite 1 von 1

Vergleichbare Themen

9
Antw.
703
Views
Adobe Formular erstellen
von L0w-RiDer » 31.05.2021 09:19 • Verfasst in ABAP® für Anfänger
20
Antw.
1044
Views
Adobe Formular mehrmals
von L0w-RiDer » 25.08.2021 14:13 • Verfasst in ABAP® für Anfänger
8
Antw.
2989
Views
Adobe formular Daten finden
von Bright4.5 » 18.11.2020 16:53 • Verfasst in ABAP® für Anfänger
2
Antw.
1287
Views
Adobe Formular per Coding Aktivieren?
von Ichse2 » 26.03.2020 11:06 • Verfasst in ABAP Objects®
1
Antw.
878
Views
Adobe Formular PDF Rückgabe und Druckdialog
von Aba » 27.03.2018 11:59 • Verfasst in ABAP® für Anfänger

Aktuelle Forenbeiträge

Zwischensumme Adobe Forms
vor 2 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 254

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Zwischensumme Adobe Forms
vor 2 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 254

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 2 Tagen von Lucyalison 1 / 64
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 107
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 140