di SBO_SP_TransactionNotification (SAP B1 HANA)


1️⃣ Tentukan Database yang Akan Diubah

Pastikan TIDAK SALAH DATABASE (ini penting ⚠)

Lingkungan

Schema

LIVE / Production

MJG_LIVE

TEST / UAT

MJG_TEST_xxx

? Di HANA Studio cek di panel kiri:

Catalog → NDB (B1ONE) → MJG_LIVE → Procedures


⚠ Pastikan kamu berada di MJG_LIVE jika ingin update database LIVE.


2️⃣ Cari Procedure Transaction Notification

Masuk ke:

Catalog → MJG_LIVE → Procedures


Cari:

SBO_SP_TransactionNotification


Klik kanan → Open Definition


3️⃣ Filter Isi Procedure (Biar Mudah Cari)

Karena isi SBO_SP_TransactionNotification sangat panjang, gunakan fitur pencarian untuk mempermudah mencari rule atau blockingan tertentu.

Tekan:

CTRL + F


atau klik icon ? pada toolbar editor.


? Filter Berdasarkan Jenis Dokumen

Mau Cari

Ketik di Find

Purchase Order

'22'

GRPO

'20'

A/P Invoice

'18'

Goods Issue

'60'

Delivery

'15'


? Filter Berdasarkan Jenis Transaksi

Kebutuhan

Ketik

Rule Add

transaction_type = 'A'

Rule Update

transaction_type = 'U'

Rule Cancel

transaction_type = 'C'

Rule Delete

transaction_type = 'D'



? Filter Berdasarkan Blockingan yang Terkena (Pesan Error)

Jika user SAP menampilkan pesan error, contoh:

User ini tidak berhak untuk cancel PO

Gunakan potongan pesan error tersebut sebagai keyword pencarian, misalnya:

Error di SAP

Ketik di Find

User ini tidak berhak untuk cancel PO

cancel PO

Tidak boleh add AP Invoice

AP Invoice

Wajib isi divisi

divisi

Belum upload dokumen

upload

➡ Dengan cara ini, admin bisa langsung menemukan rule yang menyebabkan blocking, tanpa harus menebak-nebak object type.


4️⃣ Pindahkan Script ke SQL Console

⚠ JANGAN EDIT langsung di Open Definition

  1. Klik SQL Console (kosong)

  2. Copy semua isi procedure

  3. Paste ke SQL Console

Ganti baris:

CREATE PROCEDURE SBO_SP_TransactionNotification


menjadi:

ALTER PROCEDURE SBO_SP_TransactionNotification




5️⃣ Cari Rule / Blockingan yang Mau Diubah

Tekan:

CTRL + F


Cari teks error atau nama rule, contoh:

User ini tidak berhak untuk cancel PO


Atau:

object_type = '22'



6️⃣ Menonaktifkan (Close) Blockingan

Kalau mau menonaktifkan sementara, tutup rule pakai komentar:

Tambahkan:

/*


di awal rule
 dan:

*/


di akhir rule

Contoh:

/*

IF (:transaction_type = 'C') AND (:object_type = '22')

THEN

   ...

END IF;

*/



7️⃣ Menambah Rule Baru

Tambahkan di bagian bawah sesuai template:

IF (:transaction_type = 'A') AND (:object_type = '18')

THEN

   error := :error + 1;

   error_message := 'Blok Add AP Invoice';

END IF;



8️⃣ Simpan Perubahan

Klik ▶ Execute / Run

Jika muncul:

Procedure altered successfully


Berarti perubahan aktif.