Hallo zusammen,
hätte da jetzt wieder mal ein Thema.
Wir müssen in der Transaktion vk12 Preise aktualisieren. Das ist immer aus den Materialstammdaten der aktuelle Wert * 1,25. Dieser Wert ändert sich immer monatlich und muss zzt. für fast 1000 Materialien somit auch monatlich aktualisiert werden.
Ich habe dazu ein query erstellt, das ein kompl. Liste zu einem Kunden anzeigt mit Materialnr. und neuem Wert (errechnet aus Stammdaten in einem lokalen Feld) - sieht dann verkürzt in etwa so aus.
Matnr Wert_neu
X0123 523,80
X0222 212,25
..
Danach springe ich aus dem query in die Transaktion (Berichtszuordnung im query). Die Schleife ist jetzt nicht das große Problem sondern eher wie kann ich die Materialnr. und den Wert aus der ALV-Grid mit den aktuellen Werten je Zeile auslesen und in die VK12 übertragen.
Kann ev. notwendig sein den Wert erst im script errechnen zu lassen, da ein lokales Feld nicht über ein Datenelement in der grid definiert ist.
Hier das script mal ohne Variablen.
LastLine = session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell").rowCount
For Count = 0 to LastLine
session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell").CurrentCellRow = Count
session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell").doubleClickCurrentCell
'--------------Anfang --------------------------------
session.findById("wnd[1]/usr/sub:SAPLV14A:0100/radRV130-SELKZ[7,0]").select
session.findById("wnd[1]/usr/sub:SAPLV14A:0100/radRV130-SELKZ[7,0]").setFocus
session.findById("wnd[1]").sendVKey 0
session.findById("wnd[0]/usr/ctxtF003-LOW").text = "X0123" -> Materialnummer
session.findById("wnd[0]/usr/ctxtF003-LOW").setFocus
session.findById("wnd[0]/usr/ctxtF003-LOW").caretPosition = 11
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]").sendVKey 8
session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/txtKONP-KBETR[2,0]").text = "523,80" -> Wert neu
session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/txtKONP-KBETR[2,0]").setFocus
session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/txtKONP-KBETR[2,0]").caretPosition = 16
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/tbar[0]/btn[11]").press
'-------------Ende --------------------------------------
next
Hoffe, die Anforderung ist soweit halbwegs verständlich. Ev. muss auch ein Teil über guixt erfolgen, darum hab ich es auch hier eingestellt.
mfg
newgui