Sil_90
Thành viên chính thức


- Tham gia
- 22/5/17
- Bài viết
- 94
- Được thích
- 13
- Giới tính
- Nữ
hi cả nhà,
em có viết logic thêm một mã vào trong SAP, trước khi thêm nó sẽ tìm kiếm bằng item và đoạn mã đó trong SAP. sau đó nó sẽ so sánh với chính đoạn mã em muốn thêm vào SAP. nếu nó giống nhau thì em lưu nó lại và không làm gì cả, nó sẽ cập nhật trạng thái là đã tồn tại. Nếu khác nhau thì nó sẽ thêm đoạn mã ấy vào SAP.
nhưng logic của SAP có một vài điểm không thống nhất do hạn chế của version SAP bọn em dùng. một số mã nó hiển thị không tìm thấy trong BOM và một số mã nó không hiển thị. với mã có hiển thị thì em thêm đoạn code double click để loại bỏ hiển thị và làm các bước tiếp theo như bên dưới. nhưng nó chỉ làm được 1 lần.
tức là nếu nó hiển thị ko có tồn tại trong BOM lần đầu thì nó sẽ go to nxt được. nhưng lần 2 lỗi nó lại không go to nxt được mà chỏ thẳng vào đoạn code compare này. session.findById("wnd[0]/usr/tabsTS_ITOV/tabpTCMA/ssubSUBPAGE:SAPLCSDI:0152/tblSAPLCSDITCMAT/txtRC29P-POSNR[0,0]").SetFocus. các bác cao kiến giúp em làm thế nào để cứ hiển thị không tồn tại trong BOM thì nó sẽ go to nxt được với ạ
On Error GoTo nxt
session.findById("wnd[0]/usr/tabsTS_ITOV/tabpTCMA/ssubSUBPAGE:SAPLCSDI:0152/tblSAPLCSDITCMAT/txtRC29P-POSNR[0,0]").SetFocus
strMat = session.findById("wnd[0]/usr/tabsTS_ITOV/tabpTCMA/ssubSUBPAGE:SAPLCSDI:0152/tblSAPLCSDITCMAT/ctxtRC29P-IDNRK[2,0]").Text
On Error GoTo 0
If ThisWorkbook.Sheets(1).Cells(i, 8) = strMat Then
session.findById("wnd[0]/tbar[0]/btn[11]").press
ThisWorkbook.Sheets(1).Cells(i, 12) = "Already exist"
Else
GoTo nnx:
nxt:
Sheets(1).Cells(i, 12) = "No item " & vItem & " for component " & vMaterial & " could be selected"
session.findById("wnd[2]/tbar[0]/btn[0]").press
session.findById("wnd[1]/tbar[0]/btn[12]").press
nnx:
em có viết logic thêm một mã vào trong SAP, trước khi thêm nó sẽ tìm kiếm bằng item và đoạn mã đó trong SAP. sau đó nó sẽ so sánh với chính đoạn mã em muốn thêm vào SAP. nếu nó giống nhau thì em lưu nó lại và không làm gì cả, nó sẽ cập nhật trạng thái là đã tồn tại. Nếu khác nhau thì nó sẽ thêm đoạn mã ấy vào SAP.
nhưng logic của SAP có một vài điểm không thống nhất do hạn chế của version SAP bọn em dùng. một số mã nó hiển thị không tìm thấy trong BOM và một số mã nó không hiển thị. với mã có hiển thị thì em thêm đoạn code double click để loại bỏ hiển thị và làm các bước tiếp theo như bên dưới. nhưng nó chỉ làm được 1 lần.
tức là nếu nó hiển thị ko có tồn tại trong BOM lần đầu thì nó sẽ go to nxt được. nhưng lần 2 lỗi nó lại không go to nxt được mà chỏ thẳng vào đoạn code compare này. session.findById("wnd[0]/usr/tabsTS_ITOV/tabpTCMA/ssubSUBPAGE:SAPLCSDI:0152/tblSAPLCSDITCMAT/txtRC29P-POSNR[0,0]").SetFocus. các bác cao kiến giúp em làm thế nào để cứ hiển thị không tồn tại trong BOM thì nó sẽ go to nxt được với ạ
On Error GoTo nxt
session.findById("wnd[0]/usr/tabsTS_ITOV/tabpTCMA/ssubSUBPAGE:SAPLCSDI:0152/tblSAPLCSDITCMAT/txtRC29P-POSNR[0,0]").SetFocus
strMat = session.findById("wnd[0]/usr/tabsTS_ITOV/tabpTCMA/ssubSUBPAGE:SAPLCSDI:0152/tblSAPLCSDITCMAT/ctxtRC29P-IDNRK[2,0]").Text
On Error GoTo 0
If ThisWorkbook.Sheets(1).Cells(i, 8) = strMat Then
session.findById("wnd[0]/tbar[0]/btn[11]").press
ThisWorkbook.Sheets(1).Cells(i, 12) = "Already exist"
Else
GoTo nnx:
nxt:
Sheets(1).Cells(i, 12) = "No item " & vItem & " for component " & vMaterial & " could be selected"
session.findById("wnd[2]/tbar[0]/btn[0]").press
session.findById("wnd[1]/tbar[0]/btn[12]").press
nnx: