DBA Data[Home] [Help]

PACKAGE BODY: APPS.OE_PC_VTMPLT_COLS_PKG

Source


1 PACKAGE BODY OE_PC_VTMPLT_COLS_PKG  AS
2 /* $Header: OEXPCVCB.pls 120.0 2005/06/01 01:34:50 appldev noship $ */
3 
4 
5    PROCEDURE Insert_Row(
6       x_rowid    				in out NOCOPY /* file.sql.39 change */  varchar2
7 	 ,x_validation_tmplt_col_id	in out NOCOPY /* file.sql.39 change */ number
8       ,x_validation_tmplt_id 		in      number
9       ,x_column_name                in      varchar2
10       ,x_validation_op              in      varchar2
11       ,x_value_string          	in      varchar2
12       ,x_created_by       	 	in      number
13       ,x_creation_date       		in      date
14       ,x_last_updated_by 	    	in      number
15       ,x_last_update_date        	in      date
16       ,x_last_update_login       	in      number
17    )
18    Is
19 	 CURSOR C IS SELECT oe_pc_vtmplt_cols_s.nextval FROM dual;
20       CURSOR CROWID IS SELECT rowid FROM oe_pc_vtmplt_cols
21                        WHERE validation_tmplt_id = x_validation_tmplt_id
22                        AND   column_name         = x_column_name;
23 
24    Begin
25 
26 	OPEN C;
27 	FETCH C INTO x_validation_tmplt_col_id;
28 	if (C%NOTFOUND) then
29 	  CLOSE C;
30 	  RAISE NO_DATA_FOUND;
31 	end if;
32 	CLOSE C;
33 
34       INSERT INTO oe_pc_vtmplt_cols (
35 	    validation_tmplt_col_id
36          ,validation_tmplt_id
37          ,column_name
38          ,validation_op
39          ,value_string
40          ,created_by
41          ,creation_date
42          ,last_updated_by
43          ,last_update_date
44          ,last_update_login
45       )
46       Values
47       (
48 	    x_validation_tmplt_col_id
49          ,x_validation_tmplt_id
50          ,x_column_name
51          ,x_validation_op
52          ,x_value_string
53          ,x_created_by
54          ,x_creation_date
55          ,x_last_updated_by
56          ,x_last_update_date
57          ,x_last_update_login
58       );
59 
60       Open CROWID;
61       Fetch CROWID into x_rowid;
62       if (CROWID%NOTFOUND) then
63          CLOSE CROWID;
64          RAISE NO_DATA_FOUND;
65       end if;
66       CLOSE CROWID;
67 
68       UPDATE oe_pc_vtmplts
69       SET
70          last_updated_by    	 = x_last_updated_by
71          ,last_update_date     = x_last_update_date
72          ,last_update_login     = x_last_update_login
73       WHERE validation_tmplt_id = x_validation_tmplt_id;
74 
75    End Insert_Row;
76 
77 
78    ------------------------------------------
79    PROCEDURE Lock_Row(
80       x_rowid    				in      varchar2
81 	 ,x_validation_tmplt_col_id	in	   number
82       ,x_validation_tmplt_id 		in      number
83       ,x_column_name                in      varchar2
84       ,x_validation_op              in      varchar2
85       ,x_value_string          	in      varchar2
86       ,x_created_by       	 	in      number
87       ,x_creation_date       		in      date
88       ,x_last_updated_by 	    	in      number
89       ,x_last_update_date        	in      date
90       ,x_last_update_login       	in      number
91    )
92    Is
93       CURSOR C IS
94          SELECT *
95          FROM oe_pc_vtmplt_cols
96          WHERE rowid = x_rowid
97          FOR UPDATE OF value_string NOWAIT;
98 
99       Recinfo C%ROWTYPE;
100    Begin
101       Open C;
102       Fetch C into Recinfo;
103       if (C%NOTFOUND) then
104          Close C;
105          FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
106          APP_EXCEPTION.Raise_Exception;
107       end if;
108       Close C;
109       if (
110            (Recinfo.validation_tmplt_col_id = x_validation_tmplt_col_id)
111            AND (Recinfo.validation_tmplt_id = x_validation_tmplt_id)
112            AND (rtrim(Recinfo.column_name)  = x_column_name)
113            AND (rtrim(Recinfo.validation_op)   = x_validation_op)
114            AND (Recinfo.created_by   	 = x_created_by)
115            AND (Recinfo.creation_date	 = x_creation_date)
116            AND (Recinfo.last_updated_by    = x_last_updated_by)
117            AND (Recinfo.last_update_date   = x_last_update_date)
118            AND (    (Recinfo.last_update_login = x_last_update_login)
119                  OR (    (recinfo.last_update_login IS NULL)
120                       AND(x_last_update_login IS NULL)))
121            AND (    (Recinfo.value_string = x_value_string)
122                  OR (    (recinfo.value_string IS NULL)
123                       AND(x_value_string IS NULL)))
124          ) then
125          return;
126       else
127          FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
128          APP_EXCEPTION.Raise_Exception;
129       end if;
130    End Lock_Row;
131 
132    --------------------------------------------------------------------
133    PROCEDURE Update_Row(
134       x_rowid    				in      varchar2
135 	 ,x_validation_tmplt_col_id   in	   number
136       ,x_validation_tmplt_id 		in      number
137       ,x_column_name                in      varchar2
138       ,x_validation_op              in      varchar2
139       ,x_value_string          	in      varchar2
140       ,x_created_by       	 	in      number
141       ,x_creation_date       		in      date
142       ,x_last_updated_by 	    	in      number
143       ,x_last_update_date        	in      date
144       ,x_last_update_login       	in      number
145    )
146    Is
147    Begin
148 
149       UPDATE oe_pc_vtmplt_cols
150       SET
151 	 column_name 		= x_column_name
152          ,validation_op        = x_validation_op
153          ,value_string         = x_value_string
154          ,last_updated_by    	 = x_last_updated_by
155          ,last_update_date     = x_last_update_date
156          ,last_update_login     = x_last_update_login
157       WHERE rowid = x_rowid;
158 
159       UPDATE oe_pc_vtmplts
160       SET
161          last_updated_by    	 = x_last_updated_by
162          ,last_update_date     = x_last_update_date
163          ,last_update_login     = x_last_update_login
164       WHERE validation_tmplt_id = x_validation_tmplt_id;
165 
166    End Update_Row;
167 
168 
169    -------------------------------------------------
170    PROCEDURE Delete_Row(
171       x_rowid    			in      varchar2
172    )
173    Is
174    Begin
175 
176       DELETE FROM OE_PC_VTMPLT_COLS
177       WHERE  rowid = x_rowid;
178       if (SQL%NOTFOUND) then
179          RAISE NO_DATA_FOUND;
180       end if;
181 
182    End Delete_Row;
183 
184 
185    -------------------------------------------------------------------
186    --  Added 2 parameters to fix #2050546 to include column_name,validation_op and
187    --  value_string to check for the unique columns
188 
189    PROCEDURE Check_Unique(
190        x_rowid					in     varchar2
191       ,x_validation_tmplt_id			in     number
192       ,x_column_name				in     varchar2
193       ,x_validation_op                          in     varchar2
194       ,x_value_string                           in     varchar2
195    )
196    Is
197        dummy   number;
198    Begin
199 
200       -- onely one column for a validation tmplt
201       SELECT count(1)
202       INTO   dummy
203       FROM   oe_pc_vtmplt_cols
204       WHERE  validation_tmplt_id = x_validation_tmplt_id
205       AND    column_name = x_column_name
206       AND    validation_op = x_validation_op
207       AND    value_string  = x_value_string
208       AND    ((x_rowid IS null) OR (rowid <> x_rowid));
209 
210       if (dummy >= 1) then
211          fnd_message.set_name('ONT', 'OE_PC_VT_DUP_COLUMN_NAME');
212         app_exception.raise_exception;
213       end if;
214    End Check_Unique;
215    ------------------------------------------------------------------------
216 
217 END OE_PC_VTMPLT_COLS_PKG;