DBA Data[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;