Tabelle in Adobe Forms ausgeben

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

Tabelle in Adobe Forms ausgeben

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

ich würde gerne eine interne Tabelle, welche mehrere Positionen beinhaltet auf einem Adobe Forms ausgeben. Ich dachte, dass ich dort einfach ein Textfeld anlegen kann und die Bindung auf die interne Tabelle beziehen kann (Siehe Bild). Leider funktioniert es so nicht. Es wird immer nur der erste Datensatz gedruckt.

Weiß jemand vielleicht wie so etwas funktioniert?

Vielen Dank im Voraus.

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


Re: Tabelle in Adobe Forms ausgeben

Beitrag von a-dead-trousers (Top Expert / 4395 / 223 / 1182 ) »
Wenn du im Formularkontext einen Tabellenknoten hast, kannst du aus der Datensicht (links in deinem Screenshot, letzter Karteireiter) den Tabellenknoten in dein Formular ziehen und der Livecycle Designer übernimmt die korrekten Einstellungen.
Ansonsten kannst du auch eine Tabelle aus der Objektbibliothek in dein Formular ziehen. Dann bist du aber selbst für das korrekte Binding zur Datentabelle verantwortlich, kannst diese aber auch viel detailierter konfigurieren.

Ich würde empfehlen, du versuchst es zuerst mal über die Datensicht, dann siehst du auch wie die Hierarchie des Bindings aufgebaut werden muss (welche Knoten auf "wiederholen" gestellt werden müssen usw.) und kannst es dann auch "manuel" nachbauen bzw. auch ohne "Tabelle" nur mit Teilformularen implementieren und somit die ultimative "Freiheit" genießen. 🧐
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Tabelle in Adobe Forms ausgeben

Beitrag von a-dead-trousers (Top Expert / 4395 / 223 / 1182 ) »
Ich sehe gerade, dass du eventuell eher ein Problem mit einer Texttabelle hast (TLINETAB oder ähnliches). In diesem Fall musst du im Formularkontext einen Textknoten erstellen und diesen anstatt des Tabellenfeldes verwenden.

Das schaut dann ungefähr so aus:
Textknoten.png
Die Datentabelle "LINES" besitzt ein Feld "TX" das aus dem Kontext ausgeblendet wird und dessen Inhalt stattdessen im Feld "TEXT" des Kontext ausgegeben wird (mit Aufbereitung der Formatierung)
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Tabelle in Adobe Forms ausgeben

Beitrag von Sebastian82 (ForumUser / 79 / 10 / 12 ) »
Schau dir mal das Programm FP_TEST_03 an.
Das Programm ruft das Form FP_TEST_03_TABLE auf.

Hier siehst du, dass dem Form bereits eine interne Tabelle übergeben wird.
Anschließend kannst du die einfach aufs Form ziehen.
SO10 Texte können in einem Textknoten aufgelöst werden.

Viele Erfolg,

Sebastian
2022-05-12 15_38_56-DV1(8)_100 Form Builder_ Display Form FP_TEST_03_TABLE.png
2022-05-12 15_39_49-DV1(8)_100 Form Builder_ Display Form FP_TEST_03_TABLE.png

Re: Tabelle in Adobe Forms ausgeben

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

okay, vielen Dank schon mal für die Antworten.

Leider hat es bisher noch nicht funktioniert : /. Ich habe auch schon versucht die Tabelle aus der Datenanalyse rauszuziehen, aber auch da wurde nur der erste Datensatz gedruckt.

Leider erscheint auch bei mir nicht diese Auswahl (Siehe Bild1). Ich kann bei mir leider nicht anhaken "Tabelle für jedes Datenelement wiederholen". Dies erscheint bei mir leider gar nicht : / (Siehe Bild 2).

Weiß jemand was man da einstellen muss, dass diese Auswahl erscheint. Ich denke, dass könnte die Lösung sein.

Vielen Dank im Voraus.

Re: Tabelle in Adobe Forms ausgeben

Beitrag von L0w-RiDer (Expert / 535 / 83 / 2 ) »
hmm okay, ich habe es nun auch versucht wie in dem Programm FP_TEST_03 mit dem Formular FP_TEST_03_TABLE. Alles leider ohne Erfolg.

Ich selektiere jetzt derzeit in meinem Druckprogramm die Daten für die interne Tabelle, deren Positionen ich auf dem Formular ausgeben möchte.

Code: Alles auswählen.


    loop at gt_pos_teil INTO gs_pos_teil.
            lv_nr = lv_nr + 1.
            gs_pos_teil-posnr = lv_nr.
            shift gs_pos_teil-posnr LEFT DELETING LEADING '0'.
            modify gt_pos_teil FROM gs_pos_teil.

      SELECT SINGLE IDNRK
      FROM ( MAST AS MS INNER JOIN STPO AS SP ON MS~STLNR = SP~STLNR )
      INTO GV_IDNRK
      WHERE MS~MATNR = gs_pos_teil-matnr
      And   SP~MEINS = 'KG'.

      SELECT SINGLE MAKTX
        FROM MAKT
        INTO GV_MAKTX
        WHERE MATNR = GV_IDNRK.

        gs_pos_teil-maktx = gv_maktX.

      MODIFY gt_pos_teil FROM gs_pos_teil.

    ENDLOOP.
und übergebe es dem Formular mit dem Fuba:

Code: Alles auswählen.

 CALL FUNCTION fm_name
 EXPORTING
   /1bcdwb/docparams = fp_docparams
   gt_pos_teil = gt_pos_teil
   is_nast  = gv_nast
   gs_lips  = gs_lips
   EXCEPTIONS
     usage_error = 1
     system_error = 2
     internal_error = 3.
IF sy-subrc <> 0.
ENDIF.

Das wäre der Kontext (Siehe Bild 1).

Und hier auf dem Formular (Siehe Bild2).

Ich probiere hier schon alles mögliche, bloß es klappt einfach nicht....

Wäre für jeden Ratschlag dankbar.

Re: Tabelle in Adobe Forms ausgeben

Beitrag von a-dead-trousers (Top Expert / 4395 / 223 / 1182 ) »
L0w-RiDer hat geschrieben:
16.05.2022 10:29
Leider hat es bisher noch nicht funktioniert : /. Ich habe auch schon versucht die Tabelle aus der Datenanalyse rauszuziehen, aber auch da wurde nur der erste Datensatz gedruckt.

Leider erscheint auch bei mir nicht diese Auswahl (Siehe Bild1). Ich kann bei mir leider nicht anhaken "Tabelle für jedes Datenelement wiederholen". Dies erscheint bei mir leider gar nicht : / (Siehe Bild 2).
So wie ich deine Screenshots interpretieren würde, würde ich sagen, du hast nur das eine Feld ARKTX aus der Datenanalyse reingezogen und nicht die ganze Tabelle.
Ansonsten würde in der Bindung nämlich nur *.ARKTX stehen.
Die Einstellung für die Wiederholung ist im übergordneten Formularknoten (entweder Tabellenzeile oder Teilformular) einzustellen, wo in der Bindung *.DATA[*] drinnenstehen muss.
Darüber braucht es dann einen weiteren Knoten, der die Tabelle repräsentiert, mit der Bindung *.GT_POS_TEIL oder $.FOLDER.GT_POS_TEIL

Der Aufbau im Formular ist dann im Grunde so:
Knoten mit Bindung $.FOLDER.GT_POS_TEIL
- Knoten mit Bindung *.DATA[*] (Wiederholung)
- - Knoten mit Bindung *.ARKTX
- - Knoten mit Bindung *.MATNR
- - usw.

EDIT: Vom Aufbau her, wie du laut den Screenshots dein Formular gestalten willst (mehrzeilig) würde ich anstatt mit einer Tabelle, immer mit Teilformularen arbeiten. Darin kann man die Positionierung nach eigenen Wünschen gestalten.

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
L0w-RiDer

Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Tabelle in Adobe Forms ausgeben

Beitrag von L0w-RiDer (Expert / 535 / 83 / 2 ) »
Hmm ich glaube, da muss man mit mir Schritt für Schritt durchgehen. Ich stehe gerade nach zig Versuchen völlig auf dem Schlauch.

Wie meinst du aus der Datenanalyse gezogen? Wo würde sich diese befinden und wo müsste ich die Tabelle den hinziehen?

Das wäre übrigens in der Schnittstelle die Tabelle, welche ich ausgeben möchte (Siehe Bild1).

Und das der Tabellentyp für die Tabelle (Siehe Bild2).


Nun habe ich die Tabelle in der Schnittstelle drin und habe sie in den Kontext gezogen (Siehe Bild3).

Wäre dies soweit korrekt? Oder wäre mir hier vielleicht schon ein Fehler unterlaufen? Sieht da jemand vielleicht schon Fehler bis zu diesem Schritt?

Re: Tabelle in Adobe Forms ausgeben

Beitrag von a-dead-trousers (Top Expert / 4395 / 223 / 1182 ) »
Das Wort "Datenanalyse" hast du selber ins Spiel gebracht. Bei mir heißt das "Datenansicht".

Deine Schnittstelle und dein Kontext passen soweit.
Interessant wird es wie gesagt im Formular.
Die Daten werden in einem Tree Format (XML-Knoten) übertragen und auch das Formular ist genauso aufgebaut. Damit man die Daten nun im Formular nutzern kann gibt es eine eigene Syntax für die Datenbindung.
Im Grunde kann man bei jeden Teilformular (Menge von Knoten) eine Datenbindung abgeben.
"$" ist der Wurzelknoten.
Mit "." wird auf die nächste tiefere Ebene verwiesen.
"*" steht für die aktuelle Ebene (ausgehend vom übergeordneten Knoten).
"[*]" steht für eine Sammlung von Knoten, in diesem Fall alle.

Ausgehend von der "Hierachie"-sicht musst du folgendes anlegen:
Ein Teilformular dient als Wurzelknoten für die Seite. Dieses verknüpfst du mit "$.FOLDER". Darunter erzeugst du ein weiteres Teilformular und verknüpfst es mit "*.GT_POS_TEIL" (* bezieht sich wie gesagt auf den übergeordneten Knoten, also auf "$.FOLDER").
Dann ein weiteres Teilformular mit Bindung "*.DATA[*]" und hier wird die Wiederholung eingestellt, weil man mehrere Knoten hat die gleich lauten (= Tabellenzeilen in der internen Tabelle).
Schließlich kannst du unter diesem letzten Teilformular nun deine Felder einfügen die du ausgeben möchtest und mit "*.<Feldname>" verknüpfen. Diese lassen sich dann auch auf dem "Layout" ausrichten. Du musst nur aufpassen, dass du die Felder immer innerhalb der umgebenden Teilformulare platzierst, sonst funktioniert die Ausgabe nicht korrekt.

Wenn du die Tabelle direkt aus der "Datenansicht" in dein Formular ziehst, übernimmt der LCD die ganze Arbeit mit der Datenbindung aber du hast dan eine "echte" Tabelle mit Zeilen/Spalten/Linien und keine (oder nur eine sehr eingeschränkte Möglichkeit) für eine mehrzeilige Ausgabe, so wie du auf deinen ersten Screenshots dargestellt hast.

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
L0w-RiDer

Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Tabelle in Adobe Forms ausgeben

Beitrag von L0w-RiDer (Expert / 535 / 83 / 2 ) »
Super, jetzt hat es endlich geklappt.

Vielen Dank : )

Seite 1 von 1

Vergleichbare Themen

4
Antw.
2280
Views
Adobe Forms - Formatierten Text in Tabelle ausgeben
von agarchow » 27.03.2018 13:52 • Verfasst in ABAP® Core
0
Antw.
2205
Views
Adobe Forms Etiketten mehrfach ausgeben und nur 1x anpassen
von gago » 08.03.2018 14:26 • Verfasst in ABAP® Core
3
Antw.
1985
Views
Adobe Forms: 2 Tabellen ausgeben, mit jeweils den gleichen Positionen auf einer Seite
von dpz » 04.12.2019 19:16 • Verfasst in ABAP® Core
3
Antw.
1428
Views
Adobe Forms Tabelle Kopfzeile wiederholen
von tm987456 » 02.11.2020 14:46 • Verfasst in ABAP® für Anfänger
3
Antw.
2483
Views
Adobe Interactive Forms, Tabelle lesen
von ali0013 » 05.09.2008 13:43 • Verfasst in ABAP® für Anfänger

Aktuelle Forenbeiträge

Dialog-Container mit Toolbar/Status
vor 3 Stunden von DeathAndPain gelöst 20 / 2446
Zeilenumbrüche ersetzen
vor 23 Stunden von ralf.wenzel 6 / 235
SAP Trial Version für SAP Fiori
vor 2 Tagen von tar 2 / 1605

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

Dialog-Container mit Toolbar/Status
vor 3 Stunden von DeathAndPain gelöst 20 / 2446
Zeilenumbrüche ersetzen
vor 23 Stunden von ralf.wenzel 6 / 235
SAP Trial Version für SAP Fiori
vor 2 Tagen von tar 2 / 1605

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
vor 2 Tagen von Bright4.5 1 / 669
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2299
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8883