//
you're reading...
Software

[SAP] Otomatisasi Pekerjaan Dengan Script Recording And Playback

Jadi begini ceritanya. Saya dimintai tolong untuk meng-update data master barang di SAP. Tidak main-main, sekitar 200an item! Dan itu beberapa field, yang tersebar di beberapa view. (FYI, di material master SAP ada sekitar belasan view). So, just imagine how much time I will need if I enter the values manually. Eww! Bisa keriting nih jari :p

Terus?

Terus, saya pakek sihir standard programmer: automation script. Hehehe,. Dengan script ini, saya gak perlu repot-repot update data manual. Hmm, tapi script ini bukan script yang main backend/background. Jangan dibayangkan script ini semacam SQL buat update massal di database.

BUKAN! Script ini bukan script semacam itu, tapi cuma script untuk membuat “bot”. Bot ini yang nantinya menggantikan kita untuk entry data. Kalau tadinya kita yang melakukan klik, ketik, dan enter, nantinya si bot ini yang melakukan itu semua, setelah kita “ajari” dia. Jadi tetap ada yang namanya perpindahan layar, fokus pada field tertentu, tekan enter, dll. Hanya saja, semua itu dilakukan oleh bot🙂

How does it work?

Pertama-tama, kita update satu record secara manual. Rekam aktivitas kita pada layar. Lalu, script hasil rekaman ini nanti kita modifikasi dengan batch data yang akan diupdate. Selanjutnya, kita jalankan script yang sudah dimodifikasi itu. Viola! Semua PR kita dikerjakan oleh bot yg baik hati😀

Kira-kira ngerti kan konsepnya? Nah, kalo udah ngerti, mari kita praktek.

A.  REKAM AKTIVITAS PADA LAYAR

  1. Buka SAP Logon. Pilih server, login dengan kredensial yang diperlukan.
  2. Masuk ke layar transaksi yang akan dilakukan, misal T-Code MM02
  3. Nyalakan fitur untuk merekam aktivitas kita. Pilih menu Customize Local Layout à Script Recording and Playback
  4. Pilih nama file untuk script hasil rekaman layar.
  5. Tekan tombol Record Script. Setelah ini, semua aktifitas kita pada layar SAP GUI akan direkam ke dalam file *.vbs
  6. Lakukan update data secara manual untuk sebuah material. Isi field-field yang diperlukan.
  7. Setelah selesai, tekan tombol Stop Recording.

B. MODIFIKASI SCRIPT

Nah, kita sudah selesai merekam aktivitas kita. Kita sudah tahu field apa diisi apa. Selanjutnya, tugas kita adalah memodifikasi script hasil rekaman tadi, agar bisa melakukan update data secara massal. Sebelum itu, mari kita lihat contoh script hasil rekaman tadi. Field-field yang diupdate saya highlight.

If Not IsObject(application) Then
Set SapGuiAuto  = GetObject("SAPGUI")
Set application = SapGuiAuto.GetScriptingEngine
End If

If Not IsObject(connection) Then
Set connection = application.Children(0)
End If

If Not IsObject(session) Then
Set session    = connection.Children(0)
End If

If IsObject(WScript) Then
WScript.ConnectObject session, "on"
WScript.ConnectObject application, "on"
End If

session.findById("wnd[0]").maximize
session.findById("wnd[0]/usr/ctxtRMMG1-MATNR").text = "M1"
session.findById("wnd[0]/usr/ctxtRMMG1-MATNR").caretPosition = 17
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[1]").sendVKey 0
session.findById("wnd[1]").sendVKey 0
session.findById("wnd[0]/usr/tabsTABSPR1/tabpSP12/ssubTABFRA1:SAPLMGMM:2000/subSUB4:SAPLMGD1:2483/txtMARC-BSTMI").text = "10"
session.findById("wnd[0]/usr/tabsTABSPR1/tabpSP12/ssubTABFRA1:SAPLMGMM:2000/subSUB4:SAPLMGD1:2483/txtMARC-BSTRF").text = "10"
session.findById("wnd[0]/usr/tabsTABSPR1/tabpSP12/ssubTABFRA1:SAPLMGMM:2000/subSUB4:SAPLMGD1:2483/txtMARC-BSTRF").setFocus
session.findById("wnd[0]/usr/tabsTABSPR1/tabpSP12/ssubTABFRA1:SAPLMGMM:2000/subSUB4:SAPLMGD1:2483/txtMARC-BSTRF").caretPosition = 1
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/usr/tabsTABSPR1/tabpSP13/ssubTABFRA1:SAPLMGMM:2000/subSUB4:SAPLMGD1:2486/txtMARC-EISBE").text = "71"
session.findById("wnd[0]/usr/tabsTABSPR1/tabpSP13/ssubTABFRA1:SAPLMGMM:2000/subSUB4:SAPLMGD1:2486/ctxtMARC-RWPRO").text = "015"
session.findById("wnd[0]/usr/tabsTABSPR1/tabpSP13/ssubTABFRA1:SAPLMGMM:2000/subSUB4:SAPLMGD1:2486/ctxtMARC-RWPRO").caretPosition = 3
session.findById("wnd[0]").sendVKey 0

session.findById("wnd[1]/usr/btnSPOP-OPTION1").press

Mulai dari baris ke-20, kode di atas akan kita perbanyak, sesuai dengan jumlah record yang akan diupdate, dan dengan nilai-nilai field yang sesuai kebutuhan. Bagaimana caranya? Kita bisa dayagunakan Ms EXCEL. yup, I love Excel! :p

Biar tidak bingung, di sini ada contoh file excel yang saya gunakan untuk memodifikasi script tersebut. Di file itu ada master data (200an record yang hendak diupdate), master code, dan kode hasil modifikasi yang nantinya akan disave menjadi file vbs yang baru.

C. JALANKAN SCRIPT YANG SUDAH DIMODIFIKASI

Kita sudah punya script baru, yang akan menggantikan tugas kita mengupdate data. Sekarang tinggal eksekusi saja script tersebut.

  1. Login dan buka kembali T-Code MM02
  2. Jalankan lagi fitur Script Recording and Playback
  3. Tekan tombol Playback Script, lalu pilih script yang baru tadi, dan ENJOY!

That’s it! Now the let bot work for you!😀

Diskusi

Belum ada komentar.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: