DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGW_PROP_LOCATIONS_PKG

Source


1 package body IGW_PROP_LOCATIONS_PKG as
2  /* $Header: igwpr30b.pls 115.6 2002/03/28 19:13:27 pkm ship    $ */
3 procedure INSERT_ROW (
4   X_ROWID in out VARCHAR2,
5   X_PROPOSAL_ID in NUMBER,
6   X_PERFORMING_ORGANIZATION_ID in NUMBER,
7   X_MODE in VARCHAR2 default 'R'
8   ) is
9     cursor C is select ROWID from IGW_PROP_LOCATIONS
10       where PROPOSAL_ID = X_PROPOSAL_ID
11       and   PERFORMING_ORGANIZATION_ID = X_PERFORMING_ORGANIZATION_ID;
12     X_LAST_UPDATE_DATE DATE;
13     X_LAST_UPDATED_BY NUMBER;
14     X_LAST_UPDATE_LOGIN NUMBER;
15 begin
16   X_LAST_UPDATE_DATE := SYSDATE;
17   if(X_MODE = 'I') then
18     X_LAST_UPDATED_BY := 1;
19     X_LAST_UPDATE_LOGIN := 0;
20   elsif (X_MODE = 'R') then
21     X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
22     if X_LAST_UPDATED_BY is NULL then
23       X_LAST_UPDATED_BY := -1;
24     end if;
25     X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
26     if X_LAST_UPDATE_LOGIN is NULL then
27       X_LAST_UPDATE_LOGIN := -1;
28     end if;
29   else
30     FND_MESSAGE.SET_NAME( 'FND', 'SYSTEM-INVALID ARGS');
31     app_exception.raise_exception;
32   end if;
33   insert into IGW_PROP_LOCATIONS (
34     PROPOSAL_ID,
35     PERFORMING_ORGANIZATION_ID,
36     CREATION_DATE,
37     CREATED_BY,
38     LAST_UPDATE_DATE,
39     LAST_UPDATED_BY,
40     LAST_UPDATE_LOGIN
41   ) values (
42     X_PROPOSAL_ID,
43     X_PERFORMING_ORGANIZATION_ID,
44     X_LAST_UPDATE_DATE,
45     X_LAST_UPDATED_BY,
46     X_LAST_UPDATE_DATE,
47     X_LAST_UPDATED_BY,
48     X_LAST_UPDATE_LOGIN
49   );
50 
51   open c;
52   fetch c into X_ROWID;
53   if (c%notfound) then
54     close c;
55     raise no_data_found;
56   end if;
57   close c;
58 
59 end INSERT_ROW;
60 
61 procedure LOCK_ROW (
62   X_ROWID in VARCHAR2,
63   X_PROPOSAL_ID in NUMBER,
64   X_PERFORMING_ORGANIZATION_ID in NUMBER
65 ) is
66   cursor c1 is select
67       PERFORMING_ORGANIZATION_ID
68     from IGW_PROP_LOCATIONS
69     where ROWID = X_ROWID
70     for update of PROPOSAL_ID nowait;
71   tlinfo c1%rowtype;
72 
73 begin
74   open c1;
75   fetch c1 into tlinfo;
76   if (c1%notfound) then
77     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
78     app_exception.raise_exception;
79     close c1;
80     return;
81   end if;
82   close c1;
83 
84   if ( (tlinfo.PERFORMING_ORGANIZATION_ID = X_PERFORMING_ORGANIZATION_ID)
85   ) then
86     null;
87   else
88     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
89     app_exception.raise_exception;
90   end if;
91   return;
92 end LOCK_ROW;
93 
94 procedure UPDATE_ROW (
95   X_ROWID in VARCHAR2,
96   X_PROPOSAL_ID in NUMBER,
97   X_PERFORMING_ORGANIZATION_ID in NUMBER,
98   X_MODE in VARCHAR2 default 'R'
99   ) is
100     X_LAST_UPDATE_DATE DATE;
101     X_LAST_UPDATED_BY NUMBER;
102     X_LAST_UPDATE_LOGIN NUMBER;
103 begin
104   X_LAST_UPDATE_DATE := SYSDATE;
105   if(X_MODE = 'I') then
106     X_LAST_UPDATED_BY := 1;
107     X_LAST_UPDATE_LOGIN := 0;
108   elsif (X_MODE = 'R') then
109     X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
110     if X_LAST_UPDATED_BY is NULL then
111       X_LAST_UPDATED_BY := -1;
112     end if;
113     X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
114     if X_LAST_UPDATE_LOGIN is NULL then
115       X_LAST_UPDATE_LOGIN := -1;
116     end if;
117   else
118     FND_MESSAGE.SET_NAME('FND', 'SYSTEM-INVALID ARGS');
119     app_exception.raise_exception;
120   end if;
121   update IGW_PROP_LOCATIONS set
122     PERFORMING_ORGANIZATION_ID = X_PERFORMING_ORGANIZATION_ID,
123     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
124     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
125     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
126     where ROWID = X_ROWID
127   ;
128   if (sql%notfound) then
129     raise no_data_found;
130   end if;
131 end UPDATE_ROW;
132 
133 procedure ADD_ROW (
134   X_ROWID in out VARCHAR2,
135   X_PROPOSAL_ID in NUMBER,
136   X_PERFORMING_ORGANIZATION_ID in NUMBER,
137   X_MODE in VARCHAR2 default 'R'
138   ) is
139   cursor c1 is select rowid from IGW_PROP_LOCATIONS
140      where PROPOSAL_ID = X_PROPOSAL_ID
141      and   PERFORMING_ORGANIZATION_ID = X_PERFORMING_ORGANIZATION_ID
142   ;
143   dummy c1%rowtype;
144 begin
145   open c1;
146   fetch c1 into dummy;
147   if (c1%notfound) then
148     close c1;
149     INSERT_ROW (
150      X_ROWID,
151      X_PROPOSAL_ID,
152      X_PERFORMING_ORGANIZATION_ID,
153      X_MODE);
154     return;
155   end if;
156   close c1;
157   UPDATE_ROW (
158    X_ROWID,
159    X_PROPOSAL_ID,
160    X_PERFORMING_ORGANIZATION_ID,
161    X_MODE);
162 end ADD_ROW;
163 
164 procedure DELETE_ROW (
165   X_ROWID in VARCHAR2
166 ) is
167 begin
168   delete from IGW_PROP_LOCATIONS
169   where ROWID = X_ROWID;
170   if (sql%notfound) then
171     raise no_data_found;
172   end if;
173 end DELETE_ROW;
174 
175 end IGW_PROP_LOCATIONS_PKG;