Teilformular ausblenden wenn Feldinhalt 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
Lucyalison
Beiträge: 12
Registriert: 01.03.2017, 15:15

Teilformular ausblenden wenn Feldinhalt leer

Beitrag von Lucyalison » 09.03.2017, 14:01

Hallo zusammen,

ich weiss dass meine Frage eigentlich einfach zu beantworten ist, ich hab zich Beispiele bei Google gefunden aber ich bin zu dusselig das auf mein Formular zu übertragen.

Ich möchte gerne über den Positionen meiner Tabelle einen Text ausgeben, sobald ein bestimmtes Feld in der Tabellenzeile gefüllt ist. Das gelingt mir ohne Probleme. Allerdings wird der Platz dafür erhalten wenn das Feld leer ist und ich möchte natürlich dass dann die Positionszeile eins nach oben rutscht.

Also habe ich diesen Text in ein Teilformular gepackt und versuche jetzt das Teilformular auszublenden. Und das gelingt mir nicht.

Das Feld heisst row_header und im Teilformular habe ich bei initialize* folgendes eingegeben:

Code: Alles auswählen

if (DATA[*].ROW_HEADER.value == '') {
this.presence = "hidden";
}
Mein Teilformular hat keine Bindung und steht auf Textfluss 'von oben nach unten'. Das übergeordnete Teilformular hat die gleiche Textfluss Einstellung und als Bindung

Code: Alles auswählen

DATA[*]
Ich wäre super froh wenn Ihr mir weiterhelfen könntet.

Viele Grüsse
Nicola
[*]
[/*]

Andreas H.
Beiträge: 533
Registriert: 14.04.2015, 11:10

Teilformular ausblenden wenn Feldinhalt leer

Beitrag von Andreas H. » 09.03.2017, 15:23

Hallo Nicola,

ab welchem Zeitpunkt soll die Zeile Row_Header zu sehen sein bevor sie unausgefüllt ausgeblendet wird?

Beschreibe das Problem genau und lade die Datei für ein besseres Verständnis hoch.

Viele Grüße
Andreas

Lucyalison
Beiträge: 12
Registriert: 01.03.2017, 15:15

Teilformular ausblenden wenn Feldinhalt leer

Beitrag von Lucyalison » 09.03.2017, 15:34

Hallo Andreas,

die Zeile soll immer dann erscheinen, wenn in der Tabelle der Positionen der Inhalt eines Feldes wechselt (Equipmentnummer). D.h. bei der ersten Positionszeile erscheint der Text und dann erst wieder, wenn die Equipmentnummer wechselt.

Das Ausblenden des Teilformulars funktioniert einwandfrei, wenn ich die Bedingung weglasse; d.h. es liegt eindeutig an meiner If-Abfrage und ich nehme an dass ich das Feld, auf das ich abfrage, nicht richtig definiere.

Entschuldige die für Euch vielleicht blöde Frage - welche Datei soll ich hochladen?

Viele Grüsse
Nicola

Andreas H.
Beiträge: 533
Registriert: 14.04.2015, 11:10

Teilformular ausblenden wenn Feldinhalt leer

Beitrag von Andreas H. » 09.03.2017, 16:04

Wenn Du in dem Dialogfenster "Antworten" drin bist, dort hast Du die Möglichkeit, die Datei (PDF) die Du bearbeitest anzuhängen. Klick auf den Button "Durchsuchen ..." der Rest ergibt sich für Dich.

Lucyalison
Beiträge: 12
Registriert: 01.03.2017, 15:15

Teilformular ausblenden wenn Feldinhalt leer

Beitrag von Lucyalison » 09.03.2017, 16:06

Danke für die Erklärung - aber eine PDF-Datei mit den Kundendaten würde ich ungern veröffentlichen.

Andreas H.
Beiträge: 533
Registriert: 14.04.2015, 11:10

Teilformular ausblenden wenn Feldinhalt leer

Beitrag von Andreas H. » 09.03.2017, 16:15

Der Tabelenaufbau ... ein "Dummy" ohne Daten?!

Lucyalison
Beiträge: 12
Registriert: 01.03.2017, 15:15

Teilformular ausblenden wenn Feldinhalt leer

Beitrag von Lucyalison » 09.03.2017, 16:24

Hallo Andreas,

nach Stunden rumprobieren konnte ich es selbst lösen.
Ich habe jetzt in dem Feld Row_header (ist nur gefüllt wenn sich die Equipmentnummer ändert) folgendes Coding eingegeben (FormCalc):

Code: Alles auswählen

if ( HasValue($) == 0 ) then
$.parent.presence = "hidden"
endif
Tut mir leid dass ich Dich damit beschäftigt habe, ich bin zwar ein erfahrener SAP-Entwickler, habe aber keine Ahnung von FormCalc oder JavaScript. Mir waren die Bedeutung von $ und parent überhaupt nicht klar, bis ich auf einen Auszug des Buches Adobe LifeCycle Designer ES2 bei Google gestossen bin, wo genau das erklärt wurde.

Viele Grüsse und noch einmal vielen Dank!
Nicola


Antworten