PDA

Ver la Versión Completa : Numero de lineas en una matriz de datos


Khamus
23/09/19, 14:32:40
Buenos dias.
Estoy brabajando en un script para cancelar Reservas desde un listado excel utilizando la transaccion MB22.
El excel contiene los numeros de reserva en la coluna C y los numeros de material en la A. El código recorre el listado excel celda por celda y abre en SAP cada reserva. Una vez dentro de la reserva, recorre todas las filas en busca del numero de material que se quiere cancelar...


For n = 4 To lastrow
Range("A" & n & ",C" & n).Select

session.findById("wnd[0]/tbar[0]/okcd").Text = "/N"
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/tbar[0]/okcd").Text = "MB22"
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/usr/ctxtRM07M-RSNUM").Text = Range("C" & n).Value
session.findById("wnd[0]").sendVKey 0

If session.findById("wnd[0]/sbar").Text <> "" Then
Range("D" & n).Value = session.findById("wnd[0]/sbar").Text
Else
For fila = 0 To 15
If session.findById("wnd[0]/usr/sub:SAPMM07R:0521/ctxtRESB-MATNR[" & fila & ",7]").Text = Range("C" & n).Value Then
session.findById("wnd[0]/usr/sub:SAPMM07R:0521/chkRESB-XLOEK[" & fila & ",83]").Selected = True
End If
Next fila
End If

session.findById("wnd[0]/tbar[0]/btn[11]").press
Next n


El problema lo tengo en el bucle For fila=0 to 15. He asignado 15 para las pruebas, pero necesito una forma de averiguar cuantos materiales hay en esa reserva para definir el bucle correctamante.

He probado:
session.findById("wnd[0]/usr/sub:SAPMM07R:0521/ctxtRESB-MATNR").rowcount
,session.findById("wnd[0]/usr/sub:SAPMM07R:0521/ctxtRESB").rowcount...
y otras por el estilo, pero nada parece funcionarme..
¿Podria alguien explicarme como puedo averiguar el numero de elementos que contiene una matriz en las transacciones en las que se presentan elementos de este tipo?
Como por ejemplo el session.findById("wnd[0]/usr/sub:SAPMM07R:0521/ctxtRESB-MATNR[0,7]").Text

Un saludo y gracias a la comunidad.