Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE OR REPLACE FUNCTION spHAT_Get_Inq_Data_Rekap_Penghasilan_Karyawan (REFCURSOR, -- PHasil
- VARCHAR, -- PSessionId
- VARCHAR, -- PTanggalProses
- VARCHAR, -- PJamProses
- VARCHAR, -- PGridFields
- VARCHAR, -- PGroupBy
- VARCHAR, -- PTahunBulanGajiAwal
- VARCHAR, -- PTahunBulanGajiAkhir
- VARCHAR, -- PKelompokPayrollId
- VARCHAR, -- PNik
- VARCHAR, -- PNama
- VARCHAR, -- PNpwpId
- VARCHAR, -- PStatusKaryawanId
- VARCHAR, -- PDepartemenId
- VARCHAR, -- PJabatanId
- VARCHAR, -- PLevelJabatanId
- VARCHAR, -- PAttribute1Id
- VARCHAR, -- PAttribute1value
- VARCHAR, -- PAttribute2Id
- VARCHAR, -- PAttribute2value
- VARCHAR, -- PAttribute3Id
- VARCHAR, -- PAttribute3value
- VARCHAR, -- PAttribute4Id
- VARCHAR, -- PAttribute4value
- VARCHAR, -- PAttribute5Id
- VARCHAR, -- PAttribute5value
- VARCHAR, -- PAttribute6Id
- VARCHAR, -- PAttribute6value
- VARCHAR, -- PAttribute7Id
- VARCHAR, -- PAttribute7value
- VARCHAR, -- PAttribute8Id
- VARCHAR, -- PAttribute8value
- VARCHAR, -- PAttribute9Id
- VARCHAR, -- PAttribute9value
- VARCHAR, -- PAttribute10Id
- VARCHAR) -- PAttribute10value
- RETURNS REFCURSOR
- AS
- $BODY$
- DECLARE
- PHasil ALIAS FOR $1;
- PSessionID ALIAS FOR $2;
- PTanggalProses ALIAS FOR $3;
- PJamProses ALIAS FOR $4;
- PGridFields ALIAS FOR $5;
- PGroupBy ALIAS FOR $6;
- PTahunBulanGajiAwal ALIAS FOR $7;
- PTahunBulanGajiAkhir ALIAS FOR $8;
- PKelompokPayrollId ALIAS FOR $9;
- PNik ALIAS FOR $10;
- PNama ALIAS FOR $11;
- PNpwpId ALIAS FOR $12;
- PStatusKaryawanId ALIAS FOR $13;
- PDepartemenId ALIAS FOR $14;
- PJabatanId ALIAS FOR $15;
- PLevelJabatanId ALIAS FOR $16;
- PAttribute1Id ALIAS FOR $17;
- PAttribute1value ALIAS FOR $18;
- PAttribute2Id ALIAS FOR $19;
- PAttribute2value ALIAS FOR $20;
- PAttribute3Id ALIAS FOR $21;
- PAttribute3value ALIAS FOR $22;
- PAttribute4Id ALIAS FOR $23;
- PAttribute4value ALIAS FOR $24;
- PAttribute5Id ALIAS FOR $25;
- PAttribute5value ALIAS FOR $26;
- PAttribute6Id ALIAS FOR $27;
- PAttribute6value ALIAS FOR $28;
- PAttribute7Id ALIAS FOR $29;
- PAttribute7value ALIAS FOR $30;
- PAttribute8Id ALIAS FOR $31;
- PAttribute8value ALIAS FOR $32;
- PAttribute9Id ALIAS FOR $33;
- PAttribute9value ALIAS FOR $34;
- PAttribute10Id ALIAS FOR $35;
- PAttribute10value ALIAS FOR $36;
- VStmt VARCHAR (100000);
- BEGIN
- VStmt := 'SELECT ';
- VStmt := VStmt || PGridFields ;
- VStmt := VStmt || ' FROM public.spHPY_Data_Inq_Rekap_Penghasilan_Kry_001 A';
- VStmt := VStmt || ' LEFT JOIN hm_opy009 B ON B.hm_msy012_ref_byr_trx_id = B.byrtrxid AND
- B.ref_byr_trx_number = A.byrtrxnumber AND
- B.ref_byr_trx_date = A.byrtrxdate AND
- B.hm_oem001_karyawan_id = A.idkry AND
- B.tahun_bulan_gaji = A.thnblngaji';
- VStmt := VStmt || ' WHERE A.sessid = ' || chr(39) || PSessionId || chr(39) || ' AND
- A.tanggalproses = ' || chr(39) || PTanggalProses || chr(39) || ' AND
- A.jamproses = ' || chr(39) || PJamProses || chr(39);
- IF (TRIM(PTahunBulanGajiAwal) <> '' AND TRIM(PTahunBulanGajiAkhir) <> '') THEN
- VStmt := VStmt || ' AND A.thnblngaji BETWEEN ' || TRIM(PTahunBulanGajiAwal) || ' AND ' || TRIM(PTahunBulanGajiAkhir);
- END IF;
- IF (TRIM(PKelompokPayrollId) <> '' AND PKelompokPayrollId IS NOT NULL) THEN
- VStmt := VStmt || ' AND A.idkelpayroll = ' || chr(39) || PKelompokPayrollId || chr(39);
- END IF;
- IF (TRIM(PNik) <> '' AND PNik IS NOT NULL) THEN
- VStmt := VStmt || ' AND A.nik LIKE ' || chr(39) || chr(37) || PNik || chr(37) || chr(39);
- END IF;
- IF (TRIM(PNama) <> '' AND PNama IS NOT NULL) THEN
- VStmt := VStmt || ' AND A.nmkry LIKE ' || chr(39) || chr(37) || PNama || chr(37) || chr(39);
- END IF;
- IF (TRIM(PNpwpId) <> '' AND PNpwpId IS NOT NULL) THEN
- VStmt := VStmt || ' AND A.idnpwpperush = ' || chr(39) || PNpwpId || chr(39);
- END IF;
- IF (TRIM(PStatusKaryawanId) <> '' AND PStatusKaryawanId IS NOT NULL) THEN
- VStmt := VStmt || ' AND A.idstatuskry = ' || chr(39) || PStatusKaryawanId || chr(39);
- END IF;
- IF (TRIM(PDepartemenId) <> '' AND PDepartemenId IS NOT NULL) THEN
- VStmt := VStmt || ' AND A.iddepartemen = ' || chr(39) || PDepartemenId || chr(39);
- END IF;
- IF (TRIM(PJabatanId) <> '' AND PJabatanId IS NOT NULL) THEN
- VStmt := VStmt || ' AND A.idjabatan = ' || chr(39) || PJabatanId || chr(39);
- END IF;
- IF (TRIM(PLevelJabatanId) <> '' AND PLevelJabatanId IS NOT NULL) THEN
- VStmt := VStmt || ' AND A.idleveljabatan = ' || chr(39) || PLevelJabatanId || chr(39);
- END IF;
- IF (TRIM(PAttribute1Id) <> '' AND PAttribute1Id IS NOT NULL) THEN
- VStmt := VStmt || ' AND A.idatributtambahan1 = ' || chr(39) || PAttribute1Id || chr(39);
- END IF;
- IF (TRIM(PAttribute1value) <> '' AND PAttribute1value IS NOT NULL) THEN
- VStmt := VStmt || ' AND A.atributtambahan1value LIKE ' || chr(39) || chr(37) || PAttribute1value || chr(37) || chr(39);
- END IF;
- IF (TRIM(PAttribute2Id) <> '' AND PAttribute2Id IS NOT NULL) THEN
- VStmt := VStmt || ' AND A.idatributtambahan1 = ' || chr(39) || PAttribute2Id || chr(39);
- END IF;
- IF (TRIM(PAttribute2value) <> '' AND PAttribute2value IS NOT NULL) THEN
- VStmt := VStmt || ' AND A.atributtambahan1value LIKE ' || chr(39) || chr(37) || PAttribute2value || chr(37) || chr(39);
- END IF;
- IF (TRIM(PAttribute3Id) <> '' AND PAttribute3Id IS NOT NULL) THEN
- VStmt := VStmt || ' AND A.idatributtambahan1 = ' || chr(39) || PAttribute3Id || chr(39);
- END IF;
- IF (TRIM(PAttribute3value) <> '' AND PAttribute3value IS NOT NULL) THEN
- VStmt := VStmt || ' AND A.atributtambahan1value LIKE ' || chr(39) || chr(37) || PAttribute3value || chr(37) || chr(39);
- END IF;
- IF (TRIM(PAttribute4Id) <> '' AND PAttribute4Id IS NOT NULL) THEN
- VStmt := VStmt || ' AND A.idatributtambahan1 = ' || chr(39) || PAttribute4Id || chr(39);
- END IF;
- IF (TRIM(PAttribute4value) <> '' AND PAttribute4value IS NOT NULL) THEN
- VStmt := VStmt || ' AND A.atributtambahan1value LIKE ' || chr(39) || chr(37) || PAttribute4value || chr(37) || chr(39);
- END IF;
- IF (TRIM(PAttribute5Id) <> '' AND PAttribute5Id IS NOT NULL) THEN
- VStmt := VStmt || ' AND A.idatributtambahan1 = ' || chr(39) || PAttribute5Id || chr(39);
- END IF;
- IF (TRIM(PAttribute5value) <> '' AND PAttribute5value IS NOT NULL) THEN
- VStmt := VStmt || ' AND A.atributtambahan1value LIKE ' || chr(39) || chr(37) || PAttribute5value || chr(37) || chr(39);
- END IF;
- IF (TRIM(PAttribute6Id) <> '' AND PAttribute6Id IS NOT NULL) THEN
- VStmt := VStmt || ' AND A.idatributtambahan1 = ' || chr(39) || PAttribute6Id || chr(39);
- END IF;
- IF (TRIM(PAttribute6value) <> '' AND PAttribute6value IS NOT NULL) THEN
- VStmt := VStmt || ' AND A.atributtambahan1value LIKE ' || chr(39) || chr(37) || PAttribute6value || chr(37) || chr(39);
- END IF;
- IF (TRIM(PAttribute7Id) <> '' AND PAttribute7Id IS NOT NULL) THEN
- VStmt := VStmt || ' AND A.idatributtambahan1 = ' || chr(39) || PAttribute7Id || chr(39);
- END IF;
- IF (TRIM(PAttribute7value) <> '' AND PAttribute7value IS NOT NULL) THEN
- VStmt := VStmt || ' AND A.atributtambahan1value LIKE ' || chr(39) || chr(37) || PAttribute7value || chr(37) || chr(39);
- END IF;
- IF (TRIM(PAttribute8Id) <> '' AND PAttribute8Id IS NOT NULL) THEN
- VStmt := VStmt || ' AND A.idatributtambahan1 = ' || chr(39) || PAttribute8Id || chr(39);
- END IF;
- IF (TRIM(PAttribute8value) <> '' AND PAttribute8value IS NOT NULL) THEN
- VStmt := VStmt || ' AND A.atributtambahan1value LIKE ' || chr(39) || chr(37) || PAttribute8value || chr(37) || chr(39);
- END IF;
- IF (TRIM(PAttribute9Id) <> '' AND PAttribute9Id IS NOT NULL) THEN
- VStmt := VStmt || ' AND A.idatributtambahan1 = ' || chr(39) || PAttribute9Id || chr(39);
- END IF;
- IF (TRIM(PAttribute9value) <> '' AND PAttribute9value IS NOT NULL) THEN
- VStmt := VStmt || ' AND A.atributtambahan1value LIKE ' || chr(39) || chr(37) || PAttribute9value || chr(37) || chr(39);
- END IF;
- IF (TRIM(PAttribute10Id) <> '' AND PAttribute10Id IS NOT NULL) THEN
- VStmt := VStmt || ' AND A.idatributtambahan1 = ' || chr(39) || PAttribute10Id || chr(39);
- END IF;
- IF (TRIM(PAttribute10value) <> '' AND PAttribute10value IS NOT NULL) THEN
- VStmt := VStmt || ' AND A.atributtambahan1value LIKE ' || chr(39) || chr(37) || PAttribute10value || chr(37) || chr(39);
- END IF;
- VStmt := VStmt || ' GROUP BY ' || PGroupBy || ';';
- OPEN PHasil FOR EXECUTE VStmt;
- RETURN PHasil;
- END;
- $BODY$
- LANGUAGE 'plpgsql';
Advertisement
Add Comment
Please, Sign In to add comment