DBA Data[Home] [Help]

PACKAGE BODY: APPS.PAY_US_JOB_WC_USAGES_PKG

Source


1 PACKAGE BODY pay_us_job_wc_usages_pkg as
2 /* $Header: pyuswcdf.pkb 115.0 99/07/17 06:48:16 porting ship $ */
3 
4 PROCEDURE run (errbuf              	OUT 	VARCHAR2,
5   		            retcode              	OUT 	NUMBER,
6   		            p_business_group_id 	IN      NUMBER,
7   		            p_state_code              	IN      VARCHAR2,
8 			    p_default_wc_code		IN  	NUMBER) IS
9 
10 --
11 -- Local Variables :
12 --
13 l_state_code          VARCHAR2(50) := p_state_code;
14 l_Business_group_id   NUMBER := p_business_group_id;
15 l_default_code        NUMBER := p_default_wc_code;
16 l_exists              NUMBER := 0;
17 l_valid               NUMBER := 0;
18 --
19 CURSOR csr_jobs( l_business_group_id NUMBER) IS
20 SELECT job_id
21 FROM per_jobs
22 WHERE business_group_id = l_business_group_id
23 ORDER BY name;
24 --
25 CURSOR csr_valid_job_code(p_job_code NUMBER, l_state_code VARCHAR2) IS
26 SELECT 1
27 FROM pay_wc_funds wcf, pay_wc_rates wcr
28 WHERE wcr.wc_code = p_job_code         /* reference */
29   AND wcr.fund_id = wcf.fund_id        /* for this fund */
30   AND wcf.state_code = l_state_code; /* in this state */
31 --
32 CURSOR csr_records_exist(l_state_code VARCHAR2, l_business_group_id NUMBER) IS
33 SELECT 1
34 FROM pay_job_wc_code_usages
35 WHERE state_code = l_state_code
36   AND business_group_id = l_business_group_id;
37 --
38 BEGIN /* Main program */
39 --
40 /*Check for existing records*/
41 OPEN csr_records_exist(l_state_code, l_business_group_id);
42 FETCH csr_records_exist INTO l_exists;
43 IF csr_records_exist%FOUND THEN
44  hr_utility.set_message(801,'PAY_51838_JWC_JOB_ALREADY_ASS');
45  RAISE hr_utility.hr_error;
46 END IF;
47 CLOSE csr_records_exist;
48 
49 
50 --
51 /* Check that a valid job code has been defined */
52 OPEN csr_valid_job_code(l_default_code, l_state_code);
53 FETCH csr_valid_job_code INTO l_valid;
54 IF csr_valid_job_code%NOTFOUND THEN
55  hr_utility.set_message(801,'PAY_51838_JWC_JOB_CD_INVALID');
56  RAISE hr_utility.hr_error;
57 END IF;
58 CLOSE csr_valid_job_code;
59 --
60 --
61   FOR cur_rec IN csr_jobs(l_business_group_id) LOOP
62 --
63     INSERT INTO pay_job_wc_code_usages
64           (state_code,
65            business_group_id,
66            job_id,
67            wc_code)
68     VALUES(l_state_code,
69            l_business_group_id,
70            cur_rec.job_id,
71            l_default_code);
72 --
73 --
74   END LOOP;
75 --
76 EXCEPTION
77    --
78    WHEN hr_utility.hr_error THEN
79      --
80      -- Set up error message and error return code.
81      --
82      errbuf  := hr_utility.get_message;
83      retcode := 2;
84      --
85 --
86 WHEN others THEN
87 --
88      -- Set up error message and return code.
89      --
90      errbuf  := sqlerrm;
91      retcode := 2;
92 --
93 END run;
94 
95 END pay_us_job_wc_usages_pkg;
96 --
97