DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_GE_GEN_004

Source


1 PACKAGE BODY IGS_GE_GEN_004 AS
2 /* $Header: IGSGE04B.pls 115.14 2003/11/25 13:22:25 asbala ship $ */
3 
4 ------------------------------------------------------------------
5 --
6 -- Bug ID : 1938728
7 -- who        when            what
8 --smadathi    28-AUG-2001     Bug No. 1956374 .The function genp_val_strt_end_dt removed
9 -- smadathi   25-AUG-2001     Bug No. 1956374 .The function GENP_VAL_SDTT_SESS
10 --                            removed .
11 -- sjadhav    16-aug-2001     removed hardcoded reference to
12 --                            apps schema in cursor c_user_name
13 -- msrinivi   25-AUG-2001     Bug No. 1956374 .The function GENP_VAL_bus_day
14 --                            removed .
15 -- asbala     23-JUL-2003     Changed IGS_lookup_view to igs_lookup_values in CURSOR c_lookup_meaning
16 --asbala      23-JUL-03       Bug No:2667343 populating x_meaning from lookup_type = Report_Type and lookup_code = A
17 --                            instead of hard coded string 'All'.
18 ------------------------------------------------------------------
19 
20 FUNCTION GENP_GET_WHO_NAME(p_last_updated_by   IN NUMBER)
21 RETURN VARCHAR2 IS
22    CURSOR c_user_name is
23                    SELECT user_name
24                    FROM   fnd_user
25                    WHERE  user_id=p_last_updated_by;
26    x_user_name     VARCHAR2(100);
27 begin
28    OPEN c_user_name;
29    FETCH c_user_name INTO x_user_name;
30            IF c_user_name%FOUND then
31       RETURN x_user_name;
32    ELSE
33       RETURN NULL;
34    END IF;
35 EXCEPTION
36    WHEN OTHERS THEN
37      RETURN FND_MESSAGE.GET_STRING('IGS','IGS_GE_UNHANDLED_EXCEPTION');
38           RAISE;
39 END GENP_GET_WHO_NAME;
40 
41 FUNCTION GENP_GET_LOOKUP(
42            p_lookup_type           IN VARCHAR2,
43            p_lookup_code           IN VARCHAR2)
44 RETURN VARCHAR2 IS
45 --asbala 23-JUL-03 Changed igs_lookups_view to igs_lookup_values
46    CURSOR c_lookup_meaning(cp_lookup_type  VARCHAR2,
47                            cp_lookup_code  VARCHAR2) IS
48                    SELECT meaning
49                    FROM   IGS_LOOKUP_VALUES
50                    WHERE lookup_type=cp_lookup_type        AND
51                          lookup_code=cp_lookup_code;
52    x_meaning       VARCHAR2(80);
53 BEGIN
54 --asbala 23-JUL-03 Bug No:2667343 populating x_meaning from lookup_type = Report_Type and lookup_code = A
55 -- instead of hard coded string 'All'.
56    IF (p_lookup_code = '%' OR p_lookup_code IS NULL) THEN
57      OPEN c_lookup_meaning('REPORT_TYPE','A');
58      FETCH c_lookup_meaning INTO x_meaning;
59      CLOSE c_lookup_meaning;
60      RETURN x_meaning;
61    END IF;
62    OPEN c_lookup_meaning(p_lookup_type,p_lookup_code);
63    FETCH c_lookup_meaning INTO x_meaning;
64    IF c_lookup_meaning%FOUND THEN
65       CLOSE c_lookup_meaning;
66       RETURN x_meaning;
67    END IF;
68    CLOSE c_lookup_meaning;
69    RETURN NULL;
70 EXCEPTION
71    WHEN OTHERS THEN
72      RETURN FND_MESSAGE.GET_STRING('IGS','IGS_GE_UNHANDLED_EXCEPTION');
73           RAISE;
74 END GENP_GET_LOOKUP;
75 
76 FUNCTION GENP_UPD_ST_LGC_DEL(
77   p_person_id IN NUMBER ,
78   p_s_student_todo_type IN VARCHAR2 ,
79   p_sequence_number IN NUMBER ,
80   p_message_name OUT NOCOPY VARCHAR2 )
81 RETURN BOOLEAN AS
82 	e_resource_busy_exception			EXCEPTION;
83 	PRAGMA EXCEPTION_INIT(e_resource_busy_exception, -54 );
84 	gv_other_details					VARCHAR2(255);
85 BEGIN
86 DECLARE
87 	v_st_record			IGS_PE_STD_TODO%ROWTYPE;
88 	CURSOR c_lock_st_records IS
89 		SELECT	*
90 		FROM	IGS_PE_STD_TODO
91 		WHERE	person_id = p_person_id						AND
92 				s_student_todo_type = p_s_student_todo_type	AND
93 				sequence_number = p_sequence_number
94 		FOR UPDATE
95 		NOWAIT;
96 	CURSOR SI_PE_TODO_CUR IS
97 		SELECT IGS_PE_STD_TODO.* , ROWID
98 		FROM IGS_PE_STD_TODO
99 		WHERE	person_id = p_person_id						AND
100 		s_student_todo_type = p_s_student_todo_type	AND
101 		sequence_number = p_sequence_number;
102 
103 
104 BEGIN
105 	-- Update the IGS_PE_STD_TODO  table with the NOWAIT option.
106 	OPEN c_lock_st_records;
107 	FETCH c_lock_st_records INTO v_st_record;
108 	CLOSE c_lock_st_records;
109 	FOR SI_RE_REC IN SI_PE_TODO_CUR LOOP
110 	IGS_PE_STD_TODO_PKG.UPDATE_ROW(
111 		x_rowid => SI_RE_REC.ROWID ,
112 		X_PERSON_ID  => SI_RE_REC.PERSON_ID,
113 		X_S_STUDENT_TODO_TYPE => SI_RE_REC.S_STUDENT_TODO_TYPE,
114 		X_SEQUENCE_NUMBER => SI_RE_REC.SEQUENCE_NUMBER,
115 		X_TODO_DT => SI_RE_REC.TODO_DT,
116 		X_LOGICAL_DELETE_DT => SYSDATE ,
117 		X_MODE=> 'R'
118 	);
119 	END LOOP;
120 	p_message_name := null ;
121 	RETURN TRUE;
122 END;
123 EXCEPTION
124 	WHEN e_resource_busy_exception THEN
125 		Fnd_Message.Set_Name('IGS' , 'IGS_GE_UNHANDLED_EXCEPTION');
126 		IGS_GE_MSG_STACK.ADD;
127 		RETURN FALSE;
128 	WHEN OTHERS THEN
129 		Fnd_Message.Set_Name('IGS' , 'IGS_GE_UNHANDLED_EXCEPTION');
130 		IGS_GE_MSG_STACK.ADD;
131 		App_Exception.Raise_Exception ;
132 END genp_upd_st_lgc_del;
133 
134 
135 FUNCTION GENP_VAL_ADT_CRSP(
136   p_addr_type  FND_LOOKUP_VALUES.lookup_code%type ,
137   p_crsp_ind  IGS_PE_HZ_LOCATIONS.correspondence%TYPE )
138 RETURN VARCHAR2 AS
139 -- This modules is used to test if the passed address type
140 -- and correspondence indicator exists in the system. This is
141 -- only used for validation in the Inquiry System.
142 v_other_detail		VARCHAR2(255)	:= NULL;
143 v_found			VARCHAR2(1)	:= NULL;
144 CURSOR	c_adt(	cp_addr_type	IGS_CO_ADDR_TYPE.addr_type%TYPE,
145 		cp_crsp_ind	IGS_PE_PERSON_ADDR.correspondence_ind%TYPE)
146 iS
147 SELECT
148 	'x'
149 FROM	IGS_CO_ADDR_TYPE adt
150 WHERE	adt.addr_type 		=	cp_addr_type;
151 
152 BEGIN
153 	IF c_adt%ISOPEN
154 	THEN
155 		CLOSE c_adt;
156 	END IF;
157 	OPEN c_adt( p_addr_type, p_crsp_ind);
158 	FETCH c_adt INTO v_found;
159 	IF c_adt%NOTFOUND
160 	THEN
161 		CLOSE c_adt;
162 		RETURN 'N';
163 	ELSE
164 		CLOSE c_adt;
165 		RETURN 'Y';
166 	END IF;
167 EXCEPTION
168 	WHEN OTHERS THEN
169 		IF c_adt%ISOPEN
170 		THEN
171 			CLOSE c_adt;
172 		END IF;
173 			RETURN 'N';
174 END genp_val_adt_crsp;
175 
176 FUNCTION JBSP_GET_DT_PICTURE(
177   p_char_dt IN VARCHAR2 ,
178   p_dt_picture OUT NOCOPY VARCHAR2 )
179 RETURN BOOLEAN AS
180 BEGIN
181 DECLARE
182 	v_return_dt	DATE	:= NULL;
183 	v_char_dt	VARCHAR2(40);
184 BEGIN
185 	-- This function accepts a date string, determines what format
186 	-- should be used to convert the string to a date and returns
187 	-- the date picture and true if a valid date picture found.
188 	v_char_dt := SUBSTR(REPLACE(p_char_dt, '''', ''), 1, 40);
189 	IF v_char_dt IS NULL THEN
190 		p_dt_picture := ' ';
191 		RETURN FALSE;
192 	END IF;
193 	v_return_dt := TO_DATE(v_char_dt, 'DD/MM/YY');
194 	p_dt_picture := 'DD/MM/YY';
195 	RETURN TRUE;
196 	EXCEPTION WHEN OTHERS THEN
197 	BEGIN
198 		v_return_dt := TO_DATE(v_char_dt, 'DD/MM/YYYY');
199 		p_dt_picture := 'DD/MM/YYYY';
200 		RETURN TRUE;
201 		EXCEPTION WHEN OTHERS THEN
202 		BEGIN
203 			v_return_dt := TO_DATE(v_char_dt, 'DD-MM-YY');
204 			p_dt_picture := 'DD-MM-YY';
205 			RETURN TRUE;
206 			EXCEPTION WHEN OTHERS THEN
207 			BEGIN
208 				v_return_dt := TO_DATE(v_char_dt, 'DD-MM-YYYY');
209 				p_dt_picture := 'DD-MM-YYYY';
210 				RETURN TRUE;
211 				EXCEPTION WHEN OTHERS THEN
212 				BEGIN
213 					v_return_dt := TO_DATE(v_char_dt, 'DD-MM-YY HH24:MI:SS');
214 					p_dt_picture := 'DD-MM-YY HH24:MI:SS';
215 					RETURN TRUE;
216 					EXCEPTION WHEN OTHERS THEN
217 					BEGIN
218 						v_return_dt := TO_DATE(v_char_dt, 'DD-MM-YYYY HH24:MI:SS');
219 						p_dt_picture := 'DD-MM-YYYY HH24:MI:SS';
220 						RETURN TRUE;
221 						EXCEPTION WHEN OTHERS THEN
222 						BEGIN
223 							v_return_dt := TO_DATE(v_char_dt, 'DD/MM/YY HH24:MI:SS');
224 							p_dt_picture := 'DD/MM/YY HH24:MI:SS';
225 							RETURN TRUE;
226 							EXCEPTION WHEN OTHERS THEN
227 							BEGIN
228 								v_return_dt := TO_DATE(v_char_dt, 'DD/MM/YYYY HH24:MI:SS');
229 								p_dt_picture := 'DD/MM/YYYY HH24:MI:SS';
230 								RETURN TRUE;
231 								EXCEPTION WHEN OTHERS THEN
232 									p_dt_picture := ' ';
233 									RETURN FALSE;
234 							END;
235 						END;
236 					END;
237 				END;
238 			END;
239 		END;
240 	END;
241 END;
242 END jbsp_get_dt_picture;
243 
244   FUNCTION get_day (
245     p_day_short_name IN VARCHAR2
246   ) RETURN VARCHAR2 IS
247     CURSOR cur_day (cp_day_short_name IN VARCHAR2) IS
248       SELECT    meaning
249       FROM      fnd_lookups
250       WHERE     lookup_type = 'DAY_NAME'
251       AND       lookup_code = cp_day_short_name;
252     l_day fnd_lookups.meaning%TYPE;
253   BEGIN
254     OPEN cur_day (p_day_short_name);
255     FETCH cur_day INTO l_day;
256     CLOSE cur_day;
257     RETURN (l_day);
258   END get_day;
259 
260   -- Created msrinivi
261   -- 28 Feb, 03
262   -- Returns P_QUERY_STR is > 0
263   -- else returns 0. Used when we want
264   -- to display zero for -ve numbers
265 
266   FUNCTION get_positive_num(
267     P_NUMBER IN NUMBER
268   ) RETURN VARCHAR2 IS
269     l varchar2(2000) ;
270   BEGIN
271       IF P_NUMBER  IS NULL THEN
272         RETURN P_NUMBER  ;
273       END IF;
274 
275       SELECT TO_CHAR(decode(sign(to_number(P_NUMBER )),-1,0,to_number(P_NUMBER))) into l from dual;
276       RETURN l;
277 
278    EXCEPTION
279    WHEN OTHERS THEN
280    RETURN l;
281   END;
282 
283 FUNCTION get_unit_set_title (p_unit_set_cd VARCHAR2) RETURN VARCHAR2 IS
284 
285   CURSOR c_title (cp_unit_set_cd  igs_en_unit_set.unit_set_cd%TYPE) IS
286          SELECT us_out.abbreviation, us_out.short_title, us_out.title
287 	 FROM   igs_en_unit_set us_out
288 	 WHERE  us_out.unit_set_cd = cp_unit_set_cd
289 	 AND    us_out.version_number = (SELECT version_number
290                                   FROM   igs_en_unit_set us_in ,
291                                          igs_en_unit_set_stat uss
292 			          WHERE uss.unit_set_status = us_in.unit_set_status
293 				  AND   us_in.unit_set_cd = us_out.unit_set_cd
294                                   AND   uss.s_unit_set_status = 'ACTIVE'
295 			          AND   rownum = 1);
296   rec_title c_title%ROWTYPE;
297 
298   CURSOR c_setup IS
299          SELECT wif_unit_set_title
300 	 FROM   igs_da_setup
301 	 WHERE  s_control_num = 1;
302   l_wif_unit_set_title igs_da_setup.wif_unit_set_title%TYPE;
303 BEGIN
304   -- get unit set title
305   OPEN c_title (p_unit_set_cd);
306   FETCH c_title INTO rec_title;
307   CLOSE c_title;
308   -- get the setup
309   OPEN c_setup;
310   FETCH c_setup INTO l_wif_unit_set_title;
311   CLOSE c_setup;
312 
313   IF l_wif_unit_set_title='ABBR' THEN
314      RETURN rec_title.abbreviation;
315   ELSIF l_wif_unit_set_title='STIL' THEN
316      RETURN rec_title.short_title;
317   ELSE
318      RETURN rec_title.title;
319   END IF;
320 
321 END get_unit_set_title;
322 
323 END IGS_GE_GEN_004 ;