ich stehe auf dem Schlauch oder sehe den Wald vor lauter Bäumen nicht
Kann ich in der Formulardefinition über eine Variable abfragen, auf welcher Formularseite ich mich befinde?
Also keinen Zähler abfragen, sondern 'FIRST' oder 'NEXT' zurückbekommen (wenn denn meine Formularseiten so heißen)?
So ungefähr:
/: IF &FORMULARSEITE& = 'FIRST'
...mach irgend etwas
/: ENDIF
Ganz grob, ohne ins Detail zu gehen, baue ich im Druckprogramm eine Tabelle auf:
Spalten sind Formularseite/Print_logo/logo_object/logo_id/logo_name/logo_type
Wenn ich Formularseite maskiere '*' drucke ich generell auf jeder Formularseite, will ich auseinandersteuern, trage ich den Seitennamen qualifiziert ein:
FIRST X logoobject logoid logoname logotype
Das klappt im SMARTFORM sehr gut, weil ich da im Loop die Bedingung gestalten kann mit SFSY-PAGENAME.
Diese Logik verwenden wir mehr oder weniger in allen Smartforms, zumal auch der Logoname noch nach verschiedenen Kriterien (z.B. VTWEG / SPART oder EKORG) ermittelt wird.
Und jetzt stolpere ich gerade über ein (altes) SAPScriptformular (ich hasse...), wo jetzt auch ein Logo gedruckt werden soll.
Hier muss ich eh mit der Struktur arbeiten statt mit der Tabelle, wenn ich keinen Absprung ins ABAP machen möchte.
Ich habe also auf beiden Formularseiten das Fenster LOGO und würde also im Fall dass nur auf FIRST gedruckt werden soll, gerne den Seitennamen abfragen.
IF &GS_LOGO-FORMPAGE& = '*' OR &GS_LOGO-FORMPAGE& = &PAGE& "klappt nicht
IF &GS_LOGO-PRINT_LOGO& = 'X'
BITMAP &GS_LOGO-NAME& OBJECT &GS_LOGO-OBJECT& ID &GS_LOGO-ID& TYPE &GS_.....
ENDIF
ENDIF
Im SAPScriptdebugger ist das System ja auch in der Lage, den Seitennamen zu ermitteln und meine Hoffnung war, dass das in SAPScript auch geht.
Ich werde wahrscheinlich für jede Seite ein eigenes Logofenster basteln.
In der Hilfe stehen übrigens auch ein paar Tipps und Tricks drinnen. So zum Beispiel auch bzgl. Summenübertrag. http://help.sap.com/saphelp_erp60_sp/he ... ontent.htm
Da wird mit dem TOP-Bereich herumgespielt. Das könnte man IMHO auch für die Erkennung, welche Seite gerade aktiv ist, verwenden.
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.