DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_TR_VAL_TRI

Source


1 PACKAGE BODY igs_tr_val_tri AS
2 /* $Header: IGSTR03B.pls 115.7 2003/02/19 10:24:44 kpadiyar ship $ */
3   -- msrinivi bug 1956374 . removed genp_val_prsn_id
4   -- Validate that the date is a business day
5   FUNCTION genp_val_bus_day(
6     p_date IN DATE ,
7     p_weekend_ind IN VARCHAR2 DEFAULT 'N',
8     p_uni_holiday_ind IN VARCHAR2 DEFAULT 'N',
9     p_message_name OUT NOCOPY VARCHAR2 )
10   RETURN BOOLEAN IS
11   BEGIN
12 
13     DECLARE
14 
15       v_other_detail VARCHAR(255);
16       v_day  VARCHAR2(20);
17 
18     BEGIN
19 
20       -- This module validates that the date passed in is
21       -- a valid business day
22       p_message_name := NULL;
23       -- kdande --
24       v_day := RTRIM(TO_CHAR(p_date,'d'));
25       IF(p_weekend_ind = 'N' ) THEN
26         -- kdande --
27         IF(v_day = '7' OR v_day = '1') THEN
28           p_message_name := 'IGS_GE_DATE_IS_IN_WEEKEND';
29           RETURN FALSE;
30         END IF;
31       END IF;
32       RETURN TRUE;
33 
34     END;
35 
36   END genp_val_bus_day;
37 
38   -- Validate the status for a tracking item.
39   FUNCTION trkp_val_tri_status(
40     p_tracking_status IN VARCHAR2 ,
41     p_inserting IN BOOLEAN ,
42     p_message_name OUT NOCOPY VARCHAR2 )
43   RETURN BOOLEAN IS
44 
45     gv_other_detail  VARCHAR2(255);
46     lv_param_values  VARCHAR2(1080);
47 
48   BEGIN
49 
50     -- Validate the IGS_TR_ITEM.tracking_status.
51     DECLARE
52 
53       v_s_tracking_status igs_tr_status.s_tracking_status%TYPE;
54       v_closed_ind  igs_tr_status.closed_ind%TYPE;
55 
56       CURSOR  c_get_closed_ind ( cp_tracking_status igs_tr_item.tracking_status%TYPE) IS
57         SELECT  s_tracking_status, closed_ind
58         FROM    igs_tr_status
59         WHERE   tracking_status = cp_tracking_status;
60 
61     BEGIN
62 
63       p_message_name := NULL;
64       OPEN c_get_closed_ind(p_tracking_status);
65 
66       FETCH c_get_closed_ind INTO v_s_tracking_status, v_closed_ind;
67 
68       IF (c_get_closed_ind%NOTFOUND) THEN
69         CLOSE c_get_closed_ind;
70         RETURN TRUE;
71       END IF;
72 
73       CLOSE c_get_closed_ind;
74 
75       IF (v_closed_ind = 'Y') THEN
76         p_message_name := 'IGS_TR_STATUS_CLOSED';
77         RETURN FALSE;
78       END IF;
79 
80       -- Validate that the status is active when inserting.
81       IF p_inserting THEN
82         IF v_s_tracking_status <> 'ACTIVE' THEN
83           p_message_name := 'IGS_TR_MUST_HAVE_STATUS_ACTIV';
84           RETURN FALSE;
85         END IF;
86       END IF;
87 
88       RETURN TRUE;
89 
90     END;
91 
92     EXCEPTION
93       WHEN OTHERS THEN
94         fnd_message.set_name('IGS','IGS_GE_UNHANDLED_EXP');
95         fnd_message.set_token('NAME','IGS_TR_VAL_TRI.trkp_val_tri_status');
96         igs_ge_msg_stack.add;
97         lv_param_values:=p_tracking_status;
98         fnd_message.set_name('IGS','IGS_GE_PARAMETERS');
99         fnd_message.set_token('VALUE',lv_param_values);
100         igs_ge_msg_stack.add;
101         app_exception.raise_exception;
102 
103   END trkp_val_tri_status;
104 
105   -- Validate the tracking type for a tracking item.
106   FUNCTION trkp_val_tri_type(
107     p_tracking_type IN VARCHAR2 ,
108     p_message_name OUT NOCOPY VARCHAR2 )
109   RETURN BOOLEAN IS
110 
111     gv_other_detail  VARCHAR2(255);
112     lv_param_values  VARCHAR2(1080);
113 
114   BEGIN
115 
116      -- Validate the IGS_TR_ITEM.tracking_type.
117      DECLARE
118 
119        v_closed_ind igs_tr_type.closed_ind%TYPE;
120       CURSOR c_get_closed_ind ( cp_tracking_type igs_tr_item.tracking_type%TYPE) IS
121       SELECT  closed_ind
122       FROM    igs_tr_type
123       WHERE   tracking_type = cp_tracking_type;
124 
125     BEGIN
126 
127       p_message_name := NULL;
128       OPEN c_get_closed_ind(p_tracking_type);
129       FETCH c_get_closed_ind INTO v_closed_ind;
130       IF (c_get_closed_ind%NOTFOUND) THEN
131         CLOSE c_get_closed_ind;
132         RETURN TRUE;
133       END IF;
134       CLOSE c_get_closed_ind;
135 
136       IF (v_closed_ind = 'N') THEN
137         RETURN TRUE;
138       END IF;
139 
140       p_message_name := 'IGS_TR_TYPE_CLOSED';
141 
142       RETURN FALSE;
143 
144     END;
145 
146     EXCEPTION
147       WHEN OTHERS THEN
148         fnd_message.set_name('IGS','IGS_GE_UNHANDLED_EXP');
149         fnd_message.set_token('NAME','IGS_TR_VAL_TRI.trkp_val_tri_type');
150         igs_ge_msg_stack.add;
151         lv_param_values:=p_tracking_type;
152         fnd_message.set_name('IGS','IGS_GE_PARAMETERS');
153         fnd_message.set_token('VALUE',lv_param_values);
154         igs_ge_msg_stack.add;
155         app_exception.raise_exception;
156 
157   END trkp_val_tri_type;
158 
159   -- Validate the tracking item start date.
160   FUNCTION trkp_val_tri_strt_dt(
161     p_start_dt IN DATE ,
162     p_message_name OUT NOCOPY VARCHAR2 )
163   RETURN BOOLEAN IS
164   BEGIN
165     DECLARE
166 
167       v_other_detail VARCHAR(255);
168       cst_min_dt CONSTANT DATE := igs_ge_date.igsdate ('1950/01/01');
169       cst_max_dt CONSTANT DATE := igs_ge_date.igsdate ('9999/01/01');
170       lv_param_values  VARCHAR2(1080);
171 
172     BEGIN
173 
174       -- This module validates IGS_TR_ITEM.start_dt is within
175       -- a valid range for date manipulation within the form.
176       p_message_name := NULL;
177 
178       IF NOT (p_start_dt BETWEEN cst_min_dt AND cst_max_dt) THEN
179         p_message_name := 'IGS_TR_ST_DT_1950_2045';
180         RETURN FALSE;
181       END IF;
182       RETURN TRUE;
183 
184       EXCEPTION
185         WHEN OTHERS THEN
186           fnd_message.set_name('IGS','IGS_GE_UNHANDLED_EXP');
187           fnd_message.set_token('NAME','IGS_TR_VAL_TRI.trkp_val_tri_strt_dt');
188           igs_ge_msg_stack.add;
189           lv_param_values:=p_start_dt;
190           fnd_message.set_name('IGS','IGS_GE_PARAMETERS');
191           fnd_message.set_token('VALUE',lv_param_values);
192           igs_ge_msg_stack.add;
193           app_exception.raise_exception;
194 
195     END;
196 
197   END trkp_val_tri_strt_dt;
198 
199 
200 FUNCTION val_tr_step_ctlg(
201     		p_step_catalog_cd IN VARCHAR2 ,
202     		p_message_name OUT NOCOPY VARCHAR2 )
203  	RETURN BOOLEAN IS
204     	v_closed_ind  igs_tr_step_ctlg.closed_ind%TYPE;
205 
206       	CURSOR  c_get_closed_ind ( cp_step_catalog_cd  igs_tr_step_ctlg.step_catalog_cd%TYPE) IS
207        	SELECT  closed_ind
208         	FROM    igs_tr_step_ctlg
209         	WHERE   step_catalog_cd = cp_step_catalog_cd;
210 
211    	 BEGIN
212 
213      	p_message_name := NULL;
214       	OPEN c_get_closed_ind(p_step_catalog_cd);
215       	FETCH c_get_closed_ind INTO v_closed_ind;
216       	IF (c_get_closed_ind%NOTFOUND) THEN
217         		CLOSE c_get_closed_ind;
218         		RETURN TRUE;
219      	END IF;
220       	CLOSE c_get_closed_ind;
221      	IF (v_closed_ind = 'Y') THEN
222         		p_message_name := 'IGS_TR_STEP_CTLG_CLOSED';
223 		RETURN FALSE;
224       	END IF;
225 	RETURN TRUE;
226 END val_tr_step_ctlg;
227 
228 END igs_tr_val_tri;