Ausblenden von Teilformular wenn Tabelle leer

SFP..SAPscript (Transaktion SE71)..Smartforms (TA Smartforms).. Interactive Forms..Transaktion EFRM)..SIFBA..IAF..AIF..SIFBA - SAP_Interactive_Forms_based_on_Adobe // LÖSUNGSANSÄTZE aber AUCH FÜR "NORMALE" PDFs VERWENDBAR ;-)
Antworten
Padde85
Beiträge: 1
Registriert: 27.12.2022, 16:31

Ausblenden von Teilformular wenn Tabelle leer

Beitrag von Padde85 » 27.12.2022, 16:52

Hallo zusammen,

ich habe folgendes Problem:
Ich habe in den Positionsdaten eine interne Tabelle, die entweder gefüllt sein kann oder auch nicht.

Abhängig davon möchte ich gerne ein Teilformular ausblenden.

Das hier ist die Ansicht des Kontext-Knotens (man muss sich innerhalb des DATA-Teils eine Tabelle mit Namen QUANCONDITIONS vorstellen):
Kontext.jpg
Diese Tabelle wird dann im Layout in einem Teilformular zugewiesen:
Layout.jpg
Jetzt kommt die Schwierigkeit: wie kann ich nun das übergeordnete Teilformular (also das Scales) ausblenden, wenn in der gebundenen Tabelle zu der Position keine Daten drin stehen?

Ich habe bisher folgendes probiert, aber leider ohne Erfolg:
Script.jpg
Damit sin die Daten leider immer verschwunden. Drehe ich visible und hidden um, dann wird das in der zweiten Position so angedruckt, wie ich es erwarten würde, nur dass in den anderen beiden Positionen die Überschriften sinnfrei in der Welt herumstehen
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

mazu
Beiträge: 11
Registriert: 06.11.2013, 16:46

Re: Ausblenden von Teilformular wenn Tabelle leer

Beitrag von mazu » 08.05.2024, 11:09

Obwohl die Frage schon eine Zeit zurückliegt:
Du baust Dir ein EInzelfeld A im SAP-Programm (oder eine Struktur mit dem Feld A), als boolscher Wert. Wenn deine interne Tabelle 0 Einträge hat, bekommt A den Wert ABAP_FALSE. Wenn EInträge vorhanden sind, dann den Wert ABAP_TRUE (X). Das Feld musst du via dem Kontextknoten auch in das Formular übergeben, und dort einbauen (z.b. am Ende, aber unsichtbar).
Das Feld kannst Du dann im Teilformularknoten von SCALES dann im Ereignis ready.form z.b. via FormCalc abfragen: genau wie du es unten machst: Wenn X, dann visible; sonst hidden. Dann sollte alles unter dem Knoten ausgeblendet werden.

Antworten