SAP GUI Scripting: membaca nilai sel dalam kontrol tabel

Saya ingin membaca nilai sel pada tabel - contoh pada transaksi C202 di bawah.

Saya dapat menggunakan SAP GUI Scripting Recorder ke "check" atau "select" (row = 5, column = 1), yang berada di sebelah "0122" dan (row = 5, column = 1), yang berada di sebelah "0125".

Ini memberi saya kode sederhana:

''' selects 0122
session.findById("wnd[0]/usr/tabsTABSTRIP_RECIPE/tabpVOUE/ssubSUBSCREEN_RECIPE:SAPLCPDI:4401/tblSAPLCPDITCTRL_4401").getAbsoluteRow(4).selected = true

'''selects 0125
session.findById("wnd[0]/usr/tabsTABSTRIP_RECIPE/tabpVOUE/ssubSUBSCREEN_RECIPE:SAPLCPDI:4401/tblSAPLCPDITCTRL_4401").getAbsoluteRow(7).selected = true

Namun, ini memvariasikan baris yang tersedia.

Terkadang akan ada:

0100, 0110, 0120, 0121, 0122, 0123, 0124, 0125, 0130, 0140
-sometimes there will be 0100, 0110, 0122, 0123, 0124, 0125, 0140
-sometimes there will be 0100, 0121, 0122, 0123, 0124, 0125, 0140
-sometimes there will be 0100, 0122, 0123, 0125, 0130, 0140
etc

Saya ingin membaca kolom = 2 jadi saya tahu apakah itu 0122 atau 0125 lalu memeriksanya.

Bagaimana saya bisa memasukkan nilai ini ke dalam variabel dan menggunakan kotak pesan untuk menampilkannya?

PSEUDO CODE

dim readVariable as string

for row = 1 to NumberOfRows
      readVariable = Table.Read (row,2)
         if readVariable = 0122
            msgbox "row = " & row " & " is 0122"
         end if
         if readVariable = 0125
            msgbox "row = " & row " & " is 0125"
         end if
next

Saya mencoba mengikuti Tautan tetapi saya tidak dapat mencapainya bekerja.

Terima kasih banyak!!!

masukkan deskripsi gambar di sini


person Eduardo GS    schedule 19.12.2019    source sumber
comment
Dengan perekam, jika Anda memposisikan tanda sisipan (kursor teks) di kolom, misalnya pada karakter pertama, file VBS yang dihasilkan akan berisi sesuatu seperti session.findById("<the field ID>").caretPosition = 1 sehingga VBS Anda sendiri dapat menggunakan ID ini: msgbox session.findById("<the field ID>").text   -  person Sandra Rossi    schedule 19.12.2019
comment
Terima kasih banyak, Sandra Rossi! Itu berhasil! Bunyinya 0110. Membandingkan msgbox *** = 0110, msgbox *** = 110 dan msgbox *** = 0110 menghasilkan TRUE (hanya msgbox *** = 110 yang mengembalikan FALSE). Terima kasih! Apakah itu diakui sebagai NILAI, bukan? Karena msgbox *** + 1 mengembalikan 111. Bagaimana cara membacanya sebagai string? @SandraRossi   -  person Eduardo GS    schedule 19.12.2019
comment
Properti text selalu berupa String. Menambahkan 1 menyiratkan konversi tipe, sesuai model tipe VBScript, saya kira.   -  person Sandra Rossi    schedule 20.12.2019


Jawaban (1)


Gunakan '&' alih-alih + dan Anda akan mendapatkan 01101 karena VBS akan berasumsi bahwa konversi akan diarahkan ke tipe string dan akan menggabungkan string Anda dengan "1" alih-alih menguraikan string Anda ke tipe digit variabel untuk sekadar menambahkan 1 .

person Kacper Witos    schedule 27.12.2019