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