🌍 Global / Region & Policy Module (rg_*)
Modul Global menyimpan konfigurasi region, mata uang, kurs, dan policy yang digunakan lintas modul.
1. Module Purpose
- Menyimpan master region (negara/wilayah).
- Menyimpan master currency.
- Menyimpan exchange rate per tanggal.
- Menyimpan kebijakan (policy) dan assignment-nya.
2. Tables & Structure
| Tabel | Deskripsi singkat |
|---|---|
rg_region | Master region (negara, provinsi, dsb.) |
rg_currency | Master mata uang |
rg_rate | Kurs antar mata uang per tanggal |
rg_policy | Master policy (SOX, GDPR, internal policy) |
rg_policy_assign | Assignment policy ke entity/objek tertentu |
3. Key Fields & Relationships
3.1 Region & Currency
-
rg_region:- Fields:
code,name,type(country, state, city),parent_region_id(optional self-FK).
- Fields:
-
rg_currency:- Fields:
code(ISO),name,symbol,is_default.
- Fields:
-
rg_rate:- Fields:
from_currency,to_currency,rate_date,rate. from_currency,to_currency→rg_currency.code(logical FK).
- Fields:
3.2 Policy & Assignment
-
rg_policy:- Fields:
code,name,description,category.
- Fields:
-
rg_policy_assign:- Fields:
policy_id,target_type,target_id,effective_start,effective_end. - FK:
policy_id→rg_policy.id.
- Fields:
4. Business Flows
4.1 Konversi Mata Uang (Konseptual)
- Transaksi dicatat dalam currency transaksi (mis. USD).
- Laporan konsolidasi membutuhkan currency lain (mis. IDR).
- Aplikasi menggunakan
rg_rateuntuk konversi saat reporting.
4.2 Policy Assignment
- Policy dibuat di
rg_policy(mis.POLICY_APPROVAL_LIMIT). - Policy di-assign ke target tertentu (company/branch/role) lewat
rg_policy_assign.
5. Example Reports (SQL)
Contoh SELECT untuk kebutuhan global config.