DBA Data[Home] [Help]

PACKAGE BODY: APPS.GCS_SYSTEM_TASKS_PKG

Source


1 PACKAGE BODY GCS_SYSTEM_TASKS_PKG AS
2 /* $Header: gcssystaskb.pls 120.1 2005/10/30 05:19:07 appldev noship $ */
3 
4 
5 
6   PROCEDURE Insert_Row(	row_id	IN OUT NOCOPY	                VARCHAR2,
7 				task_code			VARCHAR2,
8                         	status_code	                VARCHAR2,
9 				creation_date			DATE,
10 				created_by			NUMBER,
11 				last_update_date		DATE,
12 				last_updated_by			NUMBER,
13 				last_update_login		NUMBER,
14                         	object_version_number           NUMBER) IS
15     CURSOR	task_row IS
16     SELECT	row_id
17     FROM	gcs_system_tasks st
18     WHERE	st.task_code= insert_row.task_code;
19   BEGIN
20     IF task_code IS NULL THEN
21       raise no_data_found;
22     END IF;
23 
24     INSERT INTO gcs_system_tasks(task_code,
25                                  status_code,
26                                  creation_date,
27                                  created_by,
28                                  last_update_date,
29                                  last_updated_by,
30                                  last_update_login,
31                                  object_version_number)
32     SELECT	task_code,
33                 status_code,
34                 creation_date,
35                 created_by,
36                 last_update_date,
37                 last_updated_by,
38                 last_update_login,
39                 object_version_number
40     FROM	dual
41     WHERE	NOT EXISTS
42 		(SELECT	1
43 		 FROM	gcs_system_tasks st
44 		 WHERE	st.task_code= insert_row.task_code);
45 
46 
47     OPEN task_row;
48     FETCH task_row INTO row_id;
49     IF task_row%NOTFOUND THEN
50       CLOSE task_row;
51       raise no_data_found;
52     END IF;
53     CLOSE task_row;
54 
55   END Insert_Row;
56 
57   PROCEDURE Update_Row(		row_id	IN OUT NOCOPY	        VARCHAR2,
58 				task_code			VARCHAR2,
59                         	status_code	                VARCHAR2,
60 				creation_date			DATE,
61 				created_by			NUMBER,
62 				last_update_date		DATE,
63 				last_updated_by			NUMBER,
64 				last_update_login		NUMBER,
65                         	object_version_number           NUMBER) IS
66   BEGIN
67       UPDATE	gcs_system_tasks st
68       SET		status_code			= update_row.status_code,
69   			last_update_date		= update_row.last_update_date,
70   			last_updated_by			= update_row.last_updated_by,
71   			last_update_login		= update_row.last_update_login,
72   			object_version_number		= update_row.object_version_number
73       WHERE		st.task_code 			= update_row.task_code;
74 
75       IF SQL%NOTFOUND THEN
76         raise no_data_found;
77       END IF;
78 
79   END Update_Row;
80 
81 
82 
83   PROCEDURE Load_Row(		task_code			VARCHAR2,
84 				owner				VARCHAR2,
85 				last_update_date		VARCHAR2,
86 				custom_mode			VARCHAR2,
87 				status_code		        VARCHAR2,
88                 		object_version_number           NUMBER) IS
89 
90     row_id	VARCHAR2(64);
91     f_luby	NUMBER;	-- Task owner in file
92     f_ludate	DATE;	-- Task update date in file
93     db_luby	NUMBER; -- Task owner in db
94     db_ludate	DATE;	-- Task update date in db
95 
96     f_start_date DATE; -- start date in file
97   BEGIN
98     -- Get last updated information from the loader data file
99     f_luby := fnd_load_util.owner_id(owner);
100     f_ludate := nvl(to_date(last_update_date, 'YYYY/MM/DD'), sysdate);
101 
102     BEGIN
103       SELECT	st.last_updated_by,
104                 st.last_update_date
105       INTO	db_luby,
106                 db_ludate
107       FROM	GCS_SYSTEM_TASKS st
108       WHERE	st.task_code = Load_Row.task_code;
109 
110       -- Test for customization information
111       IF fnd_load_util.upload_test(f_luby,
112                                    f_ludate,
113                                    db_luby,
114                                    db_ludate,
115                                    custom_mode) THEN
116         update_row(		row_id				=> row_id,
117 				task_code			=> TASK_CODE,
118 				status_code			=> STATUS_CODE,
119 				creation_date			=> f_ludate,
120 				created_by			=> f_luby,
121 				last_update_date		=> f_ludate,
122 				last_updated_by			=> f_luby,
123 				last_update_login		=> 0,
124                         	object_version_number   	=> OBJECT_VERSION_NUMBER);
125       END IF;
126     EXCEPTION
127       WHEN NO_DATA_FOUND THEN
128         insert_row(		row_id				=> row_id,
129 				task_code			=> TASK_CODE,
130 				status_code			=> STATUS_CODE,
131 				creation_date			=> f_ludate,
132 				created_by			=> f_luby,
133 				last_update_date		=> f_ludate,
134 				last_updated_by			=> f_luby,
135 				last_update_login		=> 0,
136 				object_version_number		=> OBJECT_VERSION_NUMBER);
137     END;
138 
139   END Load_Row;
140 
141 
142 END  GCS_SYSTEM_TASKS_PKG;