Sie wollen bei der Auswahl von einer Belegart gewisse Werte setzen können

Bei der Auswahl von Radiobutton ist es nicht möglich ein Inputscript anzustossen. Anstatt der Darstellung der verschiedenen Auftragsarten mit Radiobutton’s kann man das ganze mittels Pushbutton definieren.

Der grosse Vorteil von dieser Lösung ist, dass man ein InputScript anstossen kann. Im vorliegenden Beispiel wird die Versandbedingung abhängig von der Auswahl gesetzt. Die Anzahl der möglichen Felder resp. Variablen die gesetzt werden können sind unbegrenzt.

SAPMV45A.D0101.txt

// Beispiel Pushbutton anstatt Radiobutton
// Versandbedingung soll geändert hat.
// 02.03.2004 / Gérald Koehn / Koehn Consulting / www.GuiXT.ch

// Löschen sämtlicher Felder auf Screen
del (0,0) (20,120)

// eigendefinierte Felder
Box (5,0) (9,60) "Versanddaten"
Inputfield (6,1) "Versandbedingung" (6,20) Name="VA01_VSBED" Size="2" -Required -Uppercase TechName="VBAK-VSBED" shname1="VTEXT" shdest1=V[VA01_VSBED_T] SearchHelpProcess="Return.txt"
Text (6,25) "&V[VA01_VSBED_T]"

// Verlinkung von OriginalFeld und Variable
link F[Auftragsart] V[VA01_Auftragsart]

// Steuerung des Gutzeichens
if V[VA01_Auftragsart=TA]
  Text (1,30) "@0V@"
endif
if V[VA01_Auftragsart=SO]
  Text (2,30) "@0V@"
endif
if V[VA01_Auftragsart=RE]
  Text (3,30) "@0V@"
endif

// Drucktasten für die unterschiedlichen Auftragsarten
Pushbutton (1,35) "Terminauftrag TA" "process=VA01_Auftragsart.txt"
using VA01_Auftragsart = "TA"
Pushbutton (2,35) "Sofortauftrag SO" "process=VA01_Auftragsart.txt"
using VA01_Auftragsart = "SO"
Pushbutton (3,35) "Retoure RE" "process=VA01_Auftragsart.txt"
using VA01_Auftragsart = "RE"

VA01_Auftragsart.txt

// Beispiel Pushbutton anstatt Radiobutton     
// Wenn Auftragsart über drücken eines Pushbutton gewechselt wird, 
// so müssen  gewisse Felder, welche davon abhängen
// neu ermittelt werden                                                                                          
// 03.03.2004 / Gérald Koehn / Koehn Consulting / www.guixt.ch                
// 
Parameter VA01_Auftragsart

// Setzen der Auftragsart
set V[VA01_Auftragsart] "&U[VA01_Auftragsart]"

// Setzen von Feldern abhängig von der Auswahl der Auftragsart
if V[VA01_Auftragsart=TA]      // Terminauftrag
   Set V[VA01_VSBED] "02" 
   Set V[VA01_VSBED_T] "Standard"  
//   ....       hier könnten noch x-beliebig mehr Felder gesetzt werden
endif
if V[VA01_Auftragsart=SO]      // Sofortauftrag
   Set V[VA01_VSBED] "10" 
   Set V[VA01_VSBED_T] "Sofort"     
endif
if V[VA01_Auftragsart=RE]      // Retoure
   Set V[VA01_VSBED] "02"  
   Set V[VA01_VSBED_T] "Standard"    
endif

Return   // Dieses Return ist wichtig. Ansonsten, Enter ausgelöst würde

Empfehlen