Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**************************************************************************************
- -- 1. Jika parameter PPengelompokanPeriodeId = % maka create semua kelompok yang belum ada
- **************************************************************************************/
- IF PPengelompokanPeriodeId IS NULL THEN
- INSERT INTO hm_apy004
- ( id, pengelompokan_periode_id, jenis_tunjangan, periode_bayar,
- tanggal_awal, tanggal_akhir, tahun_bulan,
- version, user_create, creation_time, user_modify, modification_time )
- SELECT public.SYS_GUID(), A.pengelompokan_periode_id, null, ''Bulanan'',
- CASE WHEN LEFT(A.kode_tanggal_awal, 1) = ''B'' THEN TO_DATE(PTahunBulan || SUBSTR(A.kode_tanggal_awal,2,2), ''YYYYMMDD'')
- ELSE TO_DATE(PTahunBulan || SUBSTR(A.kode_tanggal_awal,2,2), ''YYYYMMDD'') - INTERVAL ''1 MONTH''
- END,
- CASE WHEN LEFT(A.kode_tanggal_awal, 1) = ''B'' THEN TO_DATE(PTahunBulan || SUBSTR(A.kode_tanggal_awal,2,2), ''YYYYMMDD'') + INTERVAL ''1 MONTH'' - INTERVAL ''1 DAY''
- ELSE TO_DATE(PTahunBulan || SUBSTR(A.kode_tanggal_awal,2,2), ''YYYYMMDD'') - INTERVAL ''1 DAY''
- END, PTahunBulan,
- 1, PUserName, CURRENT_TIMESTAMP, PUserName, CURRENT_TIMESTAMP
- FROM hm_mpy016 A
- LEFT JOIN hm_apy004 B on A.pengelompokan_periode_id = B.pengelompokan_periode_id and B.tahun_bulan = PTahunBulan
- WHERE B.id is null;
- /**************************************************************************************
- -- 2. jika tidak maka create data untuk periode gaji bulan yang dikirim dari parameter jika belum ada
- **************************************************************************************/
- ELSE
- SELECT COUNT(*)
- INTO VCount
- FROM hm_apy004
- WHERE pengelompokan_periode_id = PPengelompokanPeriodeId AND
- tahun_bulan = PTahunBulan;
- IF VCount = 0 THEN
- INSERT INTO hm_apy004
- ( id, pengelompokan_periode_id, jenis_tunjangan, periode_bayar,
- tanggal_awal, tanggal_akhir, tahun_bulan,
- version, user_create, creation_time, user_modify, modification_time )
- SELECT public.SYS_GUID(), PPengelompokanPeriodeId, null, ''Bulanan'',
- CASE WHEN LEFT(kode_tanggal_awal, 1) = ''B'' THEN TO_DATE(PTahunBulan || SUBSTR(kode_tanggal_awal,2,2), ''YYYYMMDD'')
- ELSE TO_DATE(PTahunBulan || SUBSTR(kode_tanggal_awal,2,2), ''YYYYMMDD'') - INTERVAL ''1 MONTH''
- END,
- CASE WHEN LEFT(kode_tanggal_awal, 1) = ''B'' THEN TO_DATE(PTahunBulan || SUBSTR(kode_tanggal_awal,2,2), ''YYYYMMDD'') + INTERVAL ''1 MONTH'' - INTERVAL ''1 DAY''
- ELSE TO_DATE(PTahunBulan || SUBSTR(kode_tanggal_awal,2,2), ''YYYYMMDD'') - INTERVAL ''1 DAY''
- END, PTahunBulan,
- 1, PUserName, CURRENT_TIMESTAMP, PUserName, CURRENT_TIMESTAMP
- FROM hm_mpy016
- WHERE pengelompokan_periode_id = PPengelompokanPeriodeId;
- END IF;
- END IF;
Advertisement
Add Comment
Please, Sign In to add comment