DBA Data[Home] [Help]

PACKAGE BODY: APPS.JTF_TERR_QUAL_PKG

Source


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;