1 PACKAGE BODY JTF_TERR_QUAL_PKG AS
2 /* $Header: jtfvtqlb.pls 120.0 2005/06/02 18:22:52 appldev ship $ */
3
4 -----------------------------------------------------------------------
5 -- HISTORY
6 -- 11/20/99 VNEDUNGA Changing qualifer Mode form
7 -- number to varchar2
8 -- 01/20/99 VNEDUNGA Changing update/delet/lock_row
9 -- to use terr_qual_id instead of rowid
10 -- 01/20/99 VNEDUNGA Change lock_row = NULL -> IS NULL
11 -- 02/24/00 vnedunga fixing decode for date fields
12 --
13 -- End of Comments
14 ------------------------------------------------------------------------
15
16 PROCEDURE Insert_Row(
17 x_Rowid IN OUT NOCOPY VARCHAR2,
18 x_TERR_QUAL_ID IN OUT NOCOPY NUMBER,
19 x_LAST_UPDATE_DATE IN DATE,
20 x_LAST_UPDATED_BY IN NUMBER,
21 x_CREATION_DATE IN DATE,
22 x_CREATED_BY IN NUMBER,
23 x_LAST_UPDATE_LOGIN IN NUMBER,
24 x_TERR_ID IN NUMBER,
25 x_QUAL_USG_ID IN NUMBER,
26 x_USE_TO_NAME_FLAG IN VARCHAR2,
27 x_GENERATE_FLAG IN VARCHAR2,
28 x_OVERLAP_ALLOWED_FLAG IN VARCHAR2,
29 x_QUALIFIER_MODE IN VARCHAR2,
30 x_ORG_ID IN NUMBER
31 ) IS
32 CURSOR C IS SELECT rowid FROM JTF_TERR_QUAL_ALL
33 WHERE TERR_QUAL_ID = x_TERR_QUAL_ID;
34 CURSOR C2 IS SELECT JTF_TERR_QUAL_s.nextval FROM sys.dual;
35 BEGIN
36 If (x_TERR_QUAL_ID IS NULL) then
37 OPEN C2;
38 FETCH C2 INTO x_TERR_QUAL_ID;
39 CLOSE C2;
40 End If;
41 INSERT INTO JTF_TERR_QUAL_ALL(
42 TERR_QUAL_ID,
43 LAST_UPDATE_DATE,
44 LAST_UPDATED_BY,
45 CREATION_DATE,
46 CREATED_BY,
47 LAST_UPDATE_LOGIN,
48 TERR_ID,
49 QUAL_USG_ID,
50 USE_TO_NAME_FLAG,
51 GENERATE_FLAG,
52 OVERLAP_ALLOWED_FLAG,
53 QUALIFIER_MODE,
54 ORG_ID
55 ) VALUES (
56 x_TERR_QUAL_ID,
57 decode( x_LAST_UPDATE_DATE, FND_API.G_MISS_DATE, TO_DATE(NULL),x_LAST_UPDATE_DATE),
58 decode( x_LAST_UPDATED_BY, FND_API.G_MISS_NUM, NULL,x_LAST_UPDATED_BY),
59 decode( x_CREATION_DATE, FND_API.G_MISS_DATE, TO_DATE(NULL),x_CREATION_DATE),
60 decode( x_CREATED_BY, FND_API.G_MISS_NUM, NULL,x_CREATED_BY),
61 decode( x_LAST_UPDATE_LOGIN, FND_API.G_MISS_NUM, NULL,x_LAST_UPDATE_LOGIN),
62 decode( x_TERR_ID, FND_API.G_MISS_NUM, NULL,x_TERR_ID),
63 decode( x_QUAL_USG_ID, FND_API.G_MISS_NUM, NULL,x_QUAL_USG_ID),
64 decode( x_USE_TO_NAME_FLAG, FND_API.G_MISS_CHAR, NULL,x_USE_TO_NAME_FLAG),
65 decode( x_GENERATE_FLAG, FND_API.G_MISS_CHAR, NULL,x_GENERATE_FLAG),
66 decode( x_OVERLAP_ALLOWED_FLAG, FND_API.G_MISS_CHAR, NULL,x_OVERLAP_ALLOWED_FLAG),
67 decode( x_QUALIFIER_MODE, FND_API.G_MISS_CHAR, NULL,x_QUALIFIER_MODE),
68 decode( x_ORG_ID, FND_API.G_MISS_NUM, NULL,x_ORG_ID));
69 OPEN C;
70 FETCH C INTO x_Rowid;
71 If (C%NOTFOUND) then
72 CLOSE C;
73 RAISE NO_DATA_FOUND;
74 End If;
75 End Insert_Row;
76
77
78
79 PROCEDURE Delete_Row(x_TERR_QUAL_ID IN NUMBER
80 ) IS
81 BEGIN
82 DELETE FROM JTF_TERR_QUAL_ALL
83 WHERE TERR_QUAL_ID = x_TERR_QUAL_ID;
84 If (SQL%NOTFOUND) then
85 RAISE NO_DATA_FOUND;
86 End If;
87 END Delete_Row;
88
89
90
91 PROCEDURE Update_Row(
92 x_Rowid IN VARCHAR2,
93 x_TERR_QUAL_ID IN NUMBER,
94 x_LAST_UPDATE_DATE IN DATE,
95 x_LAST_UPDATED_BY IN NUMBER,
96 x_CREATION_DATE IN DATE,
97 x_CREATED_BY IN NUMBER,
98 x_LAST_UPDATE_LOGIN IN NUMBER,
99 x_TERR_ID IN NUMBER,
100 x_QUAL_USG_ID IN NUMBER,
101 x_USE_TO_NAME_FLAG IN VARCHAR2,
102 x_GENERATE_FLAG IN VARCHAR2,
103 x_OVERLAP_ALLOWED_FLAG IN VARCHAR2,
104 x_QUALIFIER_MODE IN VARCHAR2,
105 x_ORG_ID IN NUMBER
106 ) IS
107 BEGIN
108 Update JTF_TERR_QUAL_ALL
109 SET
110 TERR_QUAL_ID = decode( x_TERR_QUAL_ID, FND_API.G_MISS_NUM,TERR_QUAL_ID,x_TERR_QUAL_ID),
111 LAST_UPDATE_DATE = decode( x_LAST_UPDATE_DATE, FND_API.G_MISS_DATE,LAST_UPDATE_DATE,x_LAST_UPDATE_DATE),
112 LAST_UPDATED_BY = decode( x_LAST_UPDATED_BY, FND_API.G_MISS_NUM,LAST_UPDATED_BY,x_LAST_UPDATED_BY),
113 CREATION_DATE = decode( x_CREATION_DATE, FND_API.G_MISS_DATE,CREATION_DATE,x_CREATION_DATE),
114 CREATED_BY = decode( x_CREATED_BY, FND_API.G_MISS_NUM,CREATED_BY,x_CREATED_BY),
115 LAST_UPDATE_LOGIN = decode( x_LAST_UPDATE_LOGIN, FND_API.G_MISS_NUM,LAST_UPDATE_LOGIN,x_LAST_UPDATE_LOGIN),
116 TERR_ID = decode( x_TERR_ID, FND_API.G_MISS_NUM,TERR_ID,x_TERR_ID),
117 QUAL_USG_ID = decode( x_QUAL_USG_ID, FND_API.G_MISS_NUM,QUAL_USG_ID,x_QUAL_USG_ID),
118 USE_TO_NAME_FLAG = decode( x_USE_TO_NAME_FLAG, FND_API.G_MISS_CHAR,USE_TO_NAME_FLAG,x_USE_TO_NAME_FLAG),
119 GENERATE_FLAG = decode( x_GENERATE_FLAG, FND_API.G_MISS_CHAR,GENERATE_FLAG,x_GENERATE_FLAG),
120 OVERLAP_ALLOWED_FLAG = decode( x_OVERLAP_ALLOWED_FLAG, FND_API.G_MISS_CHAR,OVERLAP_ALLOWED_FLAG,x_OVERLAP_ALLOWED_FLAG),
121 QUALIFIER_MODE = decode( x_QUALIFIER_MODE, FND_API.G_MISS_CHAR,QUALIFIER_MODE,x_QUALIFIER_MODE),
122 ORG_ID = decode( x_ORG_ID, FND_API.G_MISS_NUM,ORG_ID,x_ORG_ID)
123 where TERR_QUAL_ID = x_TERR_QUAL_ID;
124
125 If (SQL%NOTFOUND) then
126 RAISE NO_DATA_FOUND;
127 End If;
128 END Update_Row;
129
130
131
132 PROCEDURE Lock_Row(
133 x_Rowid IN VARCHAR2,
134 x_TERR_QUAL_ID IN NUMBER,
135 x_LAST_UPDATE_DATE IN DATE,
136 x_LAST_UPDATED_BY IN NUMBER,
137 x_CREATION_DATE IN DATE,
138 x_CREATED_BY IN NUMBER,
139 x_LAST_UPDATE_LOGIN IN NUMBER,
140 x_TERR_ID IN NUMBER,
141 x_QUAL_USG_ID IN NUMBER,
142 x_USE_TO_NAME_FLAG IN VARCHAR2,
143 x_GENERATE_FLAG IN VARCHAR2,
144 x_OVERLAP_ALLOWED_FLAG IN VARCHAR2,
145 x_QUALIFIER_MODE IN VARCHAR2,
146 x_ORG_ID IN NUMBER
147 ) IS
148 CURSOR C IS
149 SELECT *
150 FROM JTF_TERR_QUAL_ALL
151 WHERE TERR_QUAL_ID = x_TERR_QUAL_ID
152 FOR UPDATE of TERR_QUAL_ID NOWAIT;
153 Recinfo C%ROWTYPE;
154 BEGIN
155 OPEN C;
156 FETCH C INTO Recinfo;
157 If (C%NOTFOUND) then
158 CLOSE C;
159 FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_DELETED');
160 APP_EXCEPTION.RAISE_EXCEPTION;
161 End If;
162 CLOSE C;
163 if (
164 ( ( Recinfo.TERR_QUAL_ID = x_TERR_QUAL_ID)
165 OR ( ( Recinfo.TERR_QUAL_ID IS NULL )
166 AND ( x_TERR_QUAL_ID IS NULL )))
167 AND ( ( Recinfo.LAST_UPDATE_DATE = x_LAST_UPDATE_DATE)
168 OR ( ( Recinfo.LAST_UPDATE_DATE IS NULL )
169 AND ( x_LAST_UPDATE_DATE IS NULL )))
170 AND ( ( Recinfo.LAST_UPDATED_BY = x_LAST_UPDATED_BY)
171 OR ( ( Recinfo.LAST_UPDATED_BY IS NULL )
172 AND ( x_LAST_UPDATED_BY IS NULL )))
173 AND ( ( Recinfo.CREATION_DATE = x_CREATION_DATE)
174 OR ( ( Recinfo.CREATION_DATE IS NULL )
175 AND ( x_CREATION_DATE IS NULL )))
176 AND ( ( Recinfo.CREATED_BY = x_CREATED_BY)
177 OR ( ( Recinfo.CREATED_BY IS NULL )
178 AND ( x_CREATED_BY IS NULL )))
179 AND ( ( Recinfo.LAST_UPDATE_LOGIN = x_LAST_UPDATE_LOGIN)
180 OR ( ( Recinfo.LAST_UPDATE_LOGIN IS NULL )
181 AND ( x_LAST_UPDATE_LOGIN IS NULL )))
182 AND ( ( Recinfo.TERR_ID = x_TERR_ID)
183 OR ( ( Recinfo.TERR_ID IS NULL )
184 AND ( x_TERR_ID IS NULL )))
185 AND ( ( Recinfo.QUAL_USG_ID = x_QUAL_USG_ID)
186 OR ( ( Recinfo.QUAL_USG_ID IS NULL )
187 AND ( x_QUAL_USG_ID IS NULL )))
188 AND ( ( Recinfo.USE_TO_NAME_FLAG = x_USE_TO_NAME_FLAG)
189 OR ( ( Recinfo.USE_TO_NAME_FLAG IS NULL )
190 AND ( x_USE_TO_NAME_FLAG IS NULL )))
191 AND ( ( Recinfo.GENERATE_FLAG = x_GENERATE_FLAG)
192 OR ( ( Recinfo.GENERATE_FLAG IS NULL )
193 AND ( x_GENERATE_FLAG IS NULL )))
194 AND ( ( Recinfo.OVERLAP_ALLOWED_FLAG = x_OVERLAP_ALLOWED_FLAG)
195 OR ( ( Recinfo.OVERLAP_ALLOWED_FLAG IS NULL )
196 AND ( x_OVERLAP_ALLOWED_FLAG IS NULL )))
197 AND ( ( Recinfo.QUALIFIER_MODE = x_QUALIFIER_MODE)
198 OR ( ( Recinfo.QUALIFIER_MODE IS NULL )
199 AND ( x_QUALIFIER_MODE IS NULL )))
200 AND ( ( Recinfo.ORG_ID = x_ORG_ID)
201 OR ( ( Recinfo.ORG_ID IS NULL )
202 AND ( x_ORG_ID IS NULL )))
203 ) then
204 return;
205 else
206 FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_DELETED');
207 APP_EXCEPTION.RAISE_EXCEPTION;
208 End If;
209 END Lock_Row;
210
211 END JTF_TERR_QUAL_PKG;