Problem mit if-Anweisung

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
Pearthy
Beiträge: 10
Registriert: 14.02.2013, 16:40

Problem mit if-Anweisung

Beitrag von Pearthy » 05.11.2013, 11:00

Hallo Acronauten,
ich kenn mich nicht ganz so gut mit dem LCD aus und hab bei meinem Formular ein Problem mit einer if-Anweisung in einem berechneten Feld. Das Feld ist ganz normal ohne Standardbindung und hat folgendes Skript in der Sprache FormCalc im layout:ready:

if ($record.STAR_SACHBEARBEITER.DATA[0].PAYROLL_ADMIN_NAME == null) then
  $ = "Telefonnummer1"
else
  $ = "Telefonnummer2"
endif

Nur kommt keine dieser beiden Telefonnummern, sondern eine dritte aus einem anderen Datenfeld! Wie kann das passieren? Dachte bei einer if-Anweisung kann nur das eine oder das andere ausgegeben werden?

Vielleicht kennt jemand dieses Problem und kann mir bitte helfen!
Ciao Pearthy

P.S. Übrigens in anderen Feldern funktioniert genau diese if-Anweisung!

Pearthy
Beiträge: 10
Registriert: 14.02.2013, 16:40

Problem mit if-Anweisung

Beitrag von Pearthy » 05.11.2013, 21:18

Okay, irgendwie läuft es bei mir jetzt richtig ohne das ich daran direkt was verändert habe. Ich hab nur den ganzen Tag am restlichen Formular weiter gebastelt und so ganz nebenbei läuft jetzt diese Prüfung richtig.

Doch ich hab nun ein neues Problem!

Code: Alles auswählen

if ($record.G_INPERIOD == $record.DIM_FORPERIOD.DATA[*].KEY.END_DATE) then
  $ = "Aktueller Abrechnungsmonat:"
else
  $ = "Rückrechnungsmonat:"
endif
G_INPERIOD ist eine globale Variable mit dem Wert aus DIM_INPERIOD.DATA.KEY.END_DATE, sollte also mindestens in der letzten Periode gleich sein, es kommt aber trotzdem immer nur der Text aus der else-Anweisung!
Wieso? Wo liegt mein Fehler?
Ich bitte um Hilfe!!!

Pearthy
Beiträge: 10
Registriert: 14.02.2013, 16:40

Problem mit if-Anweisung

Beitrag von Pearthy » 06.11.2013, 16:22

Gut, leider immer noch keine Antwort, dafür schon wieder eine neue Erkenntnis!
Bei mehreren Tabelleneinträgen wird immer der else-Zweig ausgegeben und bei nur einem Eintrag kommt der Eintrag aus der if-Anweisung.

Kann es sein das er im MasterPageSet immer auf alle Einträge prüft? Wie kann ich nur gegen den aktuellen Monat prüfen?
Ich erhoffe Hilfe zu dieser für mich schwierigen Frage!

Antworten