[Home] [Help]
PACKAGE BODY: APPS.GMS_AWARDS_TC_PKG
Source
1 package body GMS_AWARDS_TC_PKG as
2 -- $Header: gmsawtcb.pls 120.1 2005/07/26 14:21:02 appldev ship $
3 procedure INSERT_ROW (
4 X_ROWID in out NOCOPY VARCHAR2,
5 X_AWARD_ID in NUMBER,
6 X_CATEGORY_ID in NUMBER,
7 X_TERM_ID in NUMBER,
8 X_OPERAND in VARCHAR2,
9 X_VALUE in NUMBER,
10 X_MODE in VARCHAR2 default 'R'
11 ) is
12 cursor C is select ROWID from GMS_AWARDS_TERMS_CONDITIONS
13 where AWARD_ID = X_AWARD_ID
14 and CATEGORY_ID = X_CATEGORY_ID
15 and TERM_ID = X_TERM_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_TERMS_CONDITIONS (
38 AWARD_ID,
39 CATEGORY_ID,
40 TERM_ID,
41 OPERAND,
42 VALUE,
43 CREATION_DATE,
44 CREATED_BY,
45 LAST_UPDATE_DATE,
46 LAST_UPDATED_BY,
47 LAST_UPDATE_LOGIN
48 ) values (
49 X_AWARD_ID,
50 X_CATEGORY_ID,
51 X_TERM_ID,
52 X_OPERAND,
53 X_VALUE,
54 X_LAST_UPDATE_DATE,
55 X_LAST_UPDATED_BY,
56 X_LAST_UPDATE_DATE,
57 X_LAST_UPDATED_BY,
58 X_LAST_UPDATE_LOGIN
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_CATEGORY_ID in NUMBER,
71 X_TERM_ID in NUMBER,
72 X_OPERAND in VARCHAR2,
73 X_VALUE in NUMBER
74 ) is
75 cursor c1 is select
76 OPERAND,
77 VALUE
78 from GMS_AWARDS_TERMS_CONDITIONS
79 where AWARD_ID = X_AWARD_ID
80 and CATEGORY_ID = X_CATEGORY_ID
81 and TERM_ID = X_TERM_ID
82 for update of AWARD_ID nowait;
83 tlinfo c1%rowtype;
84 begin
85 open c1;
86 fetch c1 into tlinfo;
87 if (c1%notfound) then
88 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
89 app_exception.raise_exception;
90 close c1;
91 return;
92 end if;
93 close c1;
94 if ( ((tlinfo.OPERAND = X_OPERAND)
95 OR ((tlinfo.OPERAND is null)
96 AND (X_OPERAND is null)))
97 AND ((tlinfo.VALUE = X_VALUE)
98 OR ((tlinfo.VALUE is null)
99 AND (X_VALUE is null)))
100 ) then
101 null;
102 else
103 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
104 app_exception.raise_exception;
105 end if;
106 return;
107 end LOCK_ROW;
108 procedure UPDATE_ROW (
109 X_AWARD_ID in NUMBER,
110 X_CATEGORY_ID in NUMBER,
111 X_TERM_ID in NUMBER,
112 X_OPERAND in VARCHAR2,
113 X_VALUE in NUMBER,
114 X_MODE in VARCHAR2 default 'R'
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_TERMS_CONDITIONS set
138 OPERAND = X_OPERAND,
139 VALUE = X_VALUE,
140 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
141 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
142 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
143 where AWARD_ID = X_AWARD_ID
144 and CATEGORY_ID = X_CATEGORY_ID
145 and TERM_ID = X_TERM_ID
146 ;
147 if (sql%notfound) then
148 raise no_data_found;
149 end if;
150 end UPDATE_ROW;
151 procedure DELETE_ROW (
152 X_AWARD_ID in NUMBER,
153 X_CATEGORY_ID in NUMBER,
154 X_TERM_ID in NUMBER
155 ) is
156 begin
157 delete from GMS_AWARDS_TERMS_CONDITIONS
158 where AWARD_ID = X_AWARD_ID
159 and CATEGORY_ID = X_CATEGORY_ID
160 and TERM_ID = X_TERM_ID;
161 if (sql%notfound) then
162 raise no_data_found;
163 end if;
164 end DELETE_ROW;
165 end GMS_AWARDS_TC_PKG;