Bagikan melalui


Ekstrak data dari UI SAP GUI dengan Power Automate

Saat Anda membuat atau memperbarui rekaman di SAP, ini menghasilkan informasi status yang mencakup ID rekaman yang baru dibuat. SAP menampilkan informasi status ini di bagian bawah UI SAP.

Berikut adalah contoh pesan status yang ditampilkan SAP setelah Anda membuat pemberitahuan SAP PM.

Screenshot ID Pemberitahuan SAP yang telah dihasilkan setelah menyimpan catatan baru.

Informasi status ini mungkin berguna untuk langkah-langkah proses otomatisasi nanti. Oleh karena itu, Anda harus mengekstrak dan menetapkan data status ini ke variabel untuk pemrosesan data hilir.

Kami memiliki beberapa cara untuk mencapai ini, tergantung pada pendekatan pengembangan Anda. Kedua pendekatan tersebut adalah teknik low-code atau pro-code .

Pendekatan pro-kode

Pendekatan pro-kode menggunakan perintah VBScript untuk mengekstrak informasi dari elemen UI SAP.

Untuk mengekstrak data status SAP, seperti permintaan pembelian yang baru dibuat atau nomor pemberitahuan pemeliharaan pabrik, Anda memerlukan akses ke elemen UI bilah status.

Berikut cara Anda mengakses elemen UI bilah status.

session.findById("wnd\[0\]/sbar/pane\[0\]").Text

Mari kita telusuri pengalaman end-to-end. Kami akan mencatat cara membuat Pemberitahuan PM SAP dan memodifikasi kode yang dihasilkan untuk mengembalikan Id yang baru dibuat ke Power Automate Desktop.

Jika Anda belum pernah mendengar tentang Pemberitahuan PM SAP atau Anda tidak memiliki akses ke sana, jangan khawatir Anda masih dapat memahami langkah-langkah yang diperlukan untuk mengekstrak data tersebut untuk skenario Anda sendiri.

Berikut langkah-langkahnya:

  1. Konfirmasikan bahwa semua konfigurasi skrip SAP GUI telah selesai.

  2. Buka SAP Logon dan pilih sistem SAP yang ingin Anda masuki.

    Tangkapan layar dari SAP Login 760.

  3. Pilih Sesuaikan Tata Letak Lokal (Alt+F12), lalu pilih Perekaman dan Pemutaran Skrip....

    Tangkapan layar dari sistem SAP Easy Access.

  4. Pilih Lainnya.

  5. Di bagian Simpan Ke, berikan jalur file dan nama file tempat Anda ingin menyimpan interaksi pengguna yang diambil.

    Tangkapan layar menyimpan file rekaman di Rekam dan Pemutaran dialog.

  6. Pilih tombol Rekam Skrip untuk memulai proses pengambilan layar. Setiap interaksi yang Anda lakukan sekarang di SAP ditangkap sebagai perintah VBScript yang dapat diulang.

    Catatan

    Jika Anda mencatat langkah-langkah dan menyimpan ke file ini sebelumnya, Anda harus mengonfirmasi apakah Anda ingin menimpa file tersebut.

  7. Masukkan kode transaksi IW21, lalu pilih Enter.

  8. Berikan jenis Pemberitahuan , lalu pilihEnter .

  9. Masukkan Teks Pendek, Grup Perencana, Pekerjaan Utama, dan bidang lain yang Anda butuhkan.

    Cuplikan layar rekaman Pemberitahuan SAP yang sudah selesai yang siap disimpan.

  10. Pilih Simpan (Ctrl+S) pada toolbar.

  11. Kembali ke formulir awalBuat Pemberitahuan PM, Anda akan melihat pesan status baru di bilah status di sudut kiri bawah UI.

    Cuplikan layar ID Pemberitahuan SAP yang dihasilkan setelah menyimpan rekaman baru.

  12. Pilih Keluar ( Shift+F3) pada toolbar, lalu hentikan perekaman.

  13. Secara opsional, keluar dari SAP dan tutup semua jendela SAP.

Mari kita periksa kode VBScript yang dihasilkan:

Tangkapan layar VBScript yang dihasilkan selama pembuatan Pemberitahuan SAP.

Tangkapan layar VBScript yang dihasilkan selama pembuatan Pemberitahuan SAP Jika Bukan aplikasi IsObject Kemudian Atur SapGuiAuto GetObject quot SAPGUI quot Atur aplikasi SapGuiAuto GetScriptingEngine Berakhir Jika Tidak Koneksi IsObject Kemudian Atur aplikasi koneksi Anak 0 Akhir Jika Tidak Sesi IsObject Kemudian Atur koneksi sesi Anak 0 Akhir Jika IsObject Kemudian WScript ConnectObject sesi quot pada quot WScript ConnectObject aplikasi quot pada quot Berakhir Jika sesi findById quot wnd 0 quot maksimalkan sesi findById quot wnd 0 tbar 0 okcd quot teks quot IW21 quot sesi findById quot wnd 0 quot sendVKey 0 sesi findById quot wnd 0 usr ctxtRIWO00 QMART quot teks quot M2 quot sesi findById quot wnd 0 usr ctxtRIWO00 QMART quot caretPosition 2 sesi findById quot wnd 0 quot sendVKey 0 sesi findById quot wnd 0 usr subSCREE perintah singkat quot teks quot pemberitahuan saya kuota sesi findById quot wnd 0 usr tabsTAB_ perintah pendek quot teks quot 010 quot sesi findById quot wnd 0 usr tabsTAB_ perintah pendek quot teks quot 0001 quot sesi findById quot wnd 0 usr tabsTAB_ perintah pendek quot teks quot MAIN quot sesi findById quot wnd 0 usr tabsTAB_ perintah singkat quot setFocus session findById quot wnd 0 usr tabsTAB_ perintah pendek quot caretPosition 4 sesi findById quot wnd 0 tbar 0 btn 11 quot tekan sesi findById quot wnd 0 tbar 0 btn 15 quot tekan.

Sekarang, mari kita sesuaikan kode yang dihasilkan untuk menyertakan langkah yang mengekstrak, memangkas, dan kemudian mengembalikan ID pemberitahuan baru ke tindakan Jalankan VBScript .

Cuplikan layar VBScript yang disesuaikan yang mengembalikan Pemberitahuan SAP ke Power Automate Desktop melalui variabel.

Cuplikan layar VBScript yang disesuaikan yang mengembalikan Pemberitahuan SAP ke Power Automate Desktop melalui variabel 39 Ini adalah sesi tombol Simpan findById quot wnd 0 tbar 0 btn 11 quot tekan 39 Ini adalah teks Bilah Status lengkap yang berisi data yang akan diekstraksi sesi statusBarMessage findById quot wnd 0 sbar pane 0 quot text 39 Memangkas dan menghapus teks apa pun di sekitar pemberitahuan baru kami Id notificationID Trim Replace Replace StatusBarMessage quot Notification quot quot quot quot disimpan quot quot quot 39 Ini adalah sesi tombol keluar findById quot wnd 0 tbar 0 btn 15 quot tekan 39 Ini menulis Id yang baru dibuat ke variabel output Run VBScript di Power Automate Desktop WScript Echo notificationID.

Ini mengatur variabel VBScriptOutput dari tindakan Jalankan VBScript ke ID pemberitahuan yang baru dibuat.

Cuplikan layar yang menunjukkan dialog tindakan Jalankan VBScript dengan skrip yang disorot yang memungkinkan ekstraksi teks bilah status SAP.

Jika Anda ingin melihat konten VBScriptOutput, Anda dapat menggunakan tindakan pesan tampilan, mirip dengan output pada gambar berikut.

Cuplikan layar yang menunjukkan pesan tampilan debug dengan konten VBScriptOutput.

Cuplikan layar yang menunjukkan tindakan pesan tampilan dan parameternya.

Pendekatan low-code

Pendekatan low-code menggunakan tindakan dan pemilih kustom untuk mengekstrak ID rekaman yang baru dibuat atau pesan status lain yang penting untuk pemrosesan alur hilir.

Langkah-langkah berikut tidak akan membahas secara rinci tentang cara merekam atau menggunakan desain tindakan manual untuk membuat rekaman Pemberitahuan SAP PM baru. Silakan tinjau RPA low-code atau No-code dengan SAP GUI di Power Automate Desktop jika Anda memerlukan penyegaran tentang cara melakukannya.

Ikuti langkah-langkah berikut untuk pendekatan low-code:

  1. Gunakan Perekam desktop atau desain tindakan manual untuk menangkap semua kontrol yang Anda perlukan untuk proses Pemberitahuan PM SAP.

  2. Buat rekaman pemberitahuan, dan tangkap teks status yang muncul setelah Anda memilih Simpan pada toolbar layar Buat Pemberitahuan PM.

    Cuplikan layar yang menunjukkan rekaman Pemberitahuan yang telah selesai dengan tombol Simpan yang disorot.

    Setelah item disimpan, Anda akan diarahkan ke layar sebelumnya di mana Anda akan melihat nomor notifikasi baru di teks bilah status.

  3. Sekarang, kembali ke Power Automate Desktop, cari tindakan bernama Dapatkan detail elemen UI di jendela, dan tambahkan ke kanvas penulisan Anda.

  4. Pilih menu dropdown elemen UI, lalu pilih Tambahkan tombol elemen UI baru.

    Cuplikan layar yang menunjukkan Dapatkan detail elemen UI dalam dialog tindakan jendela. Dialog memiliki menu dropdown elemen UI yang diperluas, menunggu input.

  5. Pilih jendela SAP Easy Access dan arahkan kursor ke bilah status hingga batas merah berlabel Gui Statusbar muncul. Saat batas aktif, tahan Ctrl lalu klik untuk memilih bilah status.

    Cuplikan layar yang memperlihatkan layar SAP dengan pesan status yang mencantumkan Id Pemberitahuan dan Power Automate sesi Pelacakan Desktop dengan kontrol yang dipilih.

  6. Pilih Simpan.

    Cuplikan layar yang menunjukkan dialog tindakan Dapatkan detail elemen UI di jendela dengan elemen UI yang dipilih.

  7. Cari tindakan Ganti teks di panel Tindakan , dan seret ke kanvas desain.

  8. Di Teks untuk menemukan, masukkan Pemberitahuan. Di bawah Ganti dengan, masukkan string kosong dengan memasukkan karakter berikut: %''%

    Cuplikan layar yang menunjukkan dialog tindakan Ganti teks dengan parameternya yang ditentukan.

  9. Tambahkan tindakan Ganti teks lainnya , dan ganti nama Variabel yang dihasilkan ke. %NotificationId% Di Teks untuk menemukan, masukkan simpan, dan di bawah Ganti dengan, masukkan string kosong (%''%).

    Cuplikan layar yang menunjukkan dialog tindakan Ganti teks lainnya dengan parameternya yang ditentukan.

  10. Cari tindakan Pangkas teks di panel Tindakan , seret ke kanvas desain, pilih sebagai Nilai Teks untuk dipangkas %NotificationId% dan ganti nama Variabel yang dihasilkan . %TrimmedNotificationID%

    Cuplikan layar yang menunjukkan dialog tindakan Pangkas teks dengan parameternya yang ditentukan.

  11. Cari tindakan Tampilkan pesan di panel Tindakan , dan seret ke kanvas desain. Atur Judul kotak pesan dan Pesan yang akan ditampilkan sesuai dengan kebutuhan Anda.

    Cuplikan layar yang memperlihatkan dialog tindakan Tampilkan pesan dengan parameternya yang ditentukan.

  12. Jalankan otomatisasi yang membuat Pemberitahuan SAP PM baru dan mengekstrak ID pemberitahuan yang baru dibuat yang dapat ditampilkan seperti yang ditunjukkan pada gambar berikut.

    Cuplikan layar yang menunjukkan skrip Desktop yang sedang berjalan Power Automate yang menghasilkan ID pemberitahuan yang baru dibuat melalui pesan tampilan.