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