Hallo zusammen,
ich stehe gerade vor dem Problem, eine Seite eines Adobe Formulares in Abhängigkeit einer aus dem SAP-Anwendungsformular gelieferten Variable entweder anzudrucken oder zu unterdrücken.
Die Variable gv_info wird mir über die SAP-Schnittstelle geliefert. Die Variable bewirkt, dass eine Grafik nur unter bestimmten Bedingungen angedruckt wird, das funktioniert auch soweit. Allerdings wird, wenn die Bedingung nicht erfüllt wird, also die Grafik nicht gedruckt wird,eine weitere leere Seite angedruckt. Und das sollte nicht sein. Die Seite sollte dann auch unterdrückt werden.
Ich denke mal, das geht nur mit einem Skript, das ich an die Seite dran hänge. Allerding kenne ich mich mit Java-Skript überhaupt nicht aus.
Ich habe folgendes Skript zusammengebastelt, funktioniert aber leider nicht. Wie oder wo muss ich die Variable gv_info an das Skript übergeben, damit diese richtig übergeben wird ?
Das Script habe ich unter die Seite gehängt.
Das ist der Einstiegspunkt von dem aus das Script ausgeführt wird. Willst du nun auf eine Variable zugreifen die sich in deinem Formular irgendwoanders befindet musst den Pfad dorthin richtig angeben.
Sagen wir mal unter STRUCTURE gibt es zwei Felder TEST1 und TEST2 und du möchtest TEST1 unter Abhängigkeit von TEST2 ausblenden, dann schaut das Script in etwa so aus:
if (this.parent.TEST2.rawValue != "X") this.presence = "hidden";
"this" verweist also auf das Element "data.MAIN.STRUCTURE.TEST1" und um "TEST2" zu erreichen, muss man den "parent"-Knoten abfragen. In diesem Kontext wäre es somit "STRUCTURE". Alternativ kann man auch den absoluten Pfad "data.MAIN.STRUCTURE.TEST2" verwenden. Um auf den tatsächlichen Wert zu kommen dient das Attribut "rawValue".
Beide Felder müssen im Layout des Formulars vorhanden sein. Die Datensicht reicht nicht aus. Das zweite Feld muss aber nicht unbedingt "sichtbar" sein.
lg ADT
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.