Das vorliegende InputScript zeigt auf, wie man Variablen verändern kann, so dass man eine Blätterfunktion erhält.
InputScript zum Blättern in einer durch GuiXT dargestellten Liste. Da die Anzahl der auf einem Screen darstellbaren Elemente limitiert ist (sonst erhält man Memory Fehler) muss zwischen den einzelnen Elementen geblättert werden können, damit die max. Anzahl der Elemente nicht überschritten wird.
// 26.03.2010 / Gérald Koehn / Koehn Consulting / www.guixt.ch Parameter Blaettern // abhängig, wie geblättert wird werden die steuernden Variablen verändert // dazu gehören: V[Anz_Zeilen], V[Anz_Zeilen_pro_Blatt], V[Start_Zeile] , V[Ende_Zeile] // wobei die Variablen in vorliegenden Scripten gesetzt werden (GuiXT Script mit Anzeige der Zeilen oder im InputScript // welche die Daten liest z.B. mit Call und RFC Zugriff) // Genauere Beschreibung der Variablen // V[Anz_Zeilen] // Beinhaltet das Total der Zeilen (z.B. 2323) // V[Anz_Zeilen_pro_Blatt] // Wieviele Zeilen jeweils pro Blättern angezeigt werden soll (z.B. 40) // V[Start_Zeile] // Zeilennummer der ersten anzuzeigenden Zeile (kann zwischen 1 und V[Anz_Zeilen] minus V[Anz_Zeilen_pro_Blatt] liegen) // V[Ende_Zeile] // Zeilenummer der letzten anzuzeigenden Zeile // Blättern auf erste Seite if U[Blaettern=Erste_Seite] set V[Start_Zeile] 1 if V[Anz_Zeilen_pro_Blatt>&[Anz_Zeilen]] set V[Ende_Zeile] &[Anz_Zeilen] else set V[Ende_Zeile] &[Anz_Zeilen_pro_Blatt] endif endif // Blättern auf letzte Seite if U[Blaettern=Letzte_Seite] set V[Ende_Zeile] &[Anz_Zeilen] set V[Start_Zeile] &[Ende_Zeile] - &[Anz_Zeilen_pro_Blatt] set V[Start_Zeile] &[Start_Zeile] + 1 if V[Start_Zeile<1] // wenn erste Zeile kleiner als 1 würde, dann setzen wir die erste Zeile auf 1 set V[Start_Zeile] 1 endif endif // Blättern auf vorige Seite if U[Blaettern=Vorige_Seite] set V[Start_Zeile] &[Start_Zeile] - &[Anz_Zeilen_pro_Blatt] if V[Start_Zeile<1] // wenn erste Zeile kleiner als 1 würde, dann setzen wir die erste Zeile auf 1 set V[Start_Zeile] 1 endif set V[Ende_Zeile] &[Ende_Zeile] - &[Anz_Zeilen_pro_Blatt] if V[Ende_Zeile<&[Anz_Zeilen_pro_Blatt]] // wenn die Letzte anzuzeigende Zeile kleiner wäre als der Defaultwert der anzuzeigenden // dann setzten wir die letzte Zeile auf den Defaultwert if V[Anz_Zeilen_pro_Blatt<&[Anz_Zeilen]] set V[Ende_Zeile] &[Anz_Zeilen_pro_Blatt] else set V[Ende_Zeile] &[Anz_Zeilen] endif endif endif // Blättern auf nächste Seite if U[Blaettern=Naechste_Seite] set V[Ende_Zeile] &[Ende_Zeile] + &[Anz_Zeilen_pro_Blatt] if V[Ende_Zeile>&[Anz_Zeilen]] // Ende wäre grösser als die max. Materialien set V[Ende_Zeile] &[Anz_Zeilen] set V[Start_Zeile] &[Ende_Zeile] - &[Anz_Zeilen_pro_Blatt] set V[Start_Zeile] &[Start_Zeile] + 1 if V[Start_Zeile<1] set V[Start_Zeile] 1 endif else set V[Start_Zeile] &[Start_Zeile] + &[Anz_Zeilen_pro_Blatt] endif endif Return
siehe auch Beispiel Anzeigen von Kunden incl. Blätterfunktion
http://www.koehn.ch/anzeigekundenberbapi.html