DBA Data[Home] [Help]

PACKAGE BODY: APPS.OE_PC_RSET_SEL_COLS_PKG

Source


1 PACKAGE BODY OE_PC_RSET_SEL_COLS_PKG  AS
2 /* $Header: OEXPCRSB.pls 120.0 2005/06/01 02:24:54 appldev noship $ */
3 
4    ---------------------------------------------------
5    PROCEDURE Insert_Row(
6       x_rowid    				in out NOCOPY /* file.sql.39 change */  varchar2
7       ,x_record_set_id 			in      number
8       ,x_column_name                in      varchar2
9       ,x_created_by       	 	in      number
10       ,x_creation_date       		in      date
11       ,x_last_updated_by 	    	in      number
12       ,x_last_update_date        	in      date
13       ,x_last_update_login       	in      number
14    )
15    Is
16       CURSOR CROWID IS SELECT rowid FROM oe_pc_rset_sel_cols
17                        WHERE record_set_id = x_record_set_id
18                        AND   column_name   = x_column_name;
19 
20    Begin
21 
22       INSERT INTO oe_pc_rset_sel_cols (
23          record_set_id
24          ,column_name
25          ,created_by
26          ,creation_date
27          ,last_updated_by
28          ,last_update_date
29          ,last_update_login
30       )
31       Values
32       (
33          x_record_set_id
34          ,x_column_name
35          ,x_created_by
36          ,x_creation_date
37          ,x_last_updated_by
38          ,x_last_update_date
39          ,x_last_update_login
40       );
41 
42       Open CROWID;
43       Fetch CROWID into x_rowid;
44       if (CROWID%NOTFOUND) then
45          CLOSE CROWID;
46          RAISE NO_DATA_FOUND;
47       end if;
48       CLOSE CROWID;
49 
50       UPDATE oe_pc_rsets
51       SET
52          last_updated_by    	 = x_last_updated_by
53          ,last_update_date     = x_last_update_date
54          ,last_update_login     = x_last_update_login
55       WHERE record_set_id = x_record_set_id ;
56 
57 
58    End Insert_Row;
59    ------------------------------------------
60    PROCEDURE Lock_Row(
61       x_rowid    				in      varchar2
62       ,x_record_set_id 			in      number
63       ,x_column_name                in      varchar2
64       ,x_created_by       	 	in      number
65       ,x_creation_date       		in      date
66       ,x_last_updated_by 	    	in      number
67       ,x_last_update_date        	in      date
68       ,x_last_update_login       	in      number
69    )
70    Is
71       CURSOR C IS
72          SELECT *
73          FROM oe_pc_rset_sel_cols
74          WHERE rowid = x_rowid
75          FOR UPDATE OF column_name NOWAIT;
76 
77       Recinfo C%ROWTYPE;
78    Begin
79       Open C;
80       Fetch C into Recinfo;
81       if (C%NOTFOUND) then
82          Close C;
83          FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
84          APP_EXCEPTION.Raise_Exception;
85       end if;
86       Close C;
87       if (
88                (Recinfo.record_set_id = x_record_set_id)
89            AND (rtrim(Recinfo.column_name)  = x_column_name)
90            AND (Recinfo.created_by   	 = x_created_by)
91            AND (Recinfo.creation_date	 = x_creation_date)
92            AND (Recinfo.last_updated_by    = x_last_updated_by)
93            AND (Recinfo.last_update_date   = x_last_update_date)
94            AND (    (Recinfo.last_update_login = x_last_update_login)
95                  OR (    (recinfo.last_update_login IS NULL)
96                       AND(x_last_update_login IS NULL)))
97          ) then
98          return;
99       else
100          FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
101          APP_EXCEPTION.Raise_Exception;
102       end if;
103    End Lock_Row;
104 
105    --------------------------------------------------------------------
106    PROCEDURE Update_Row(
107       x_rowid    				in      varchar2
108       ,x_record_set_id 			in      number
109       ,x_column_name                in      varchar2
110       ,x_created_by       	 	in      number
111       ,x_creation_date       		in      date
112       ,x_last_updated_by 	    	in      number
113       ,x_last_update_date        	in      date
114       ,x_last_update_login       	in      number
115    )
116    Is
117    Begin
118       UPDATE oe_pc_rset_sel_cols
119       SET
120          column_name 		 = x_column_name
121          ,last_updated_by    	 = x_last_updated_by
122          ,last_update_date     = x_last_update_date
123          ,last_update_login     = x_last_update_login
124       WHERE rowid = x_rowid;
125 
126      --update the timestamp on the record sets table
127      UPDATE oe_pc_rsets
128      SET
129          last_updated_by    	 = x_last_updated_by
130          ,last_update_date     = x_last_update_date
131          ,last_update_login     = x_last_update_login
132      WHERE record_set_id = x_record_set_id ;
133 
134    End Update_Row;
135    -------------------------------------------------
136 
137    PROCEDURE Delete_Row(
138       x_rowid    			in      varchar2
139    )
140    Is
141    Begin
142 
143       DELETE FROM oe_pc_rset_sel_cols
144       WHERE  rowid = x_rowid;
145       if (SQL%NOTFOUND) then
146          RAISE NO_DATA_FOUND;
147       end if;
148 
149    End Delete_Row;
150    -------------------------------------------------------------------
151    PROCEDURE Check_Unique(
152       x_rowid    			in      varchar2
153       ,x_record_Set_id		in	  number
154       ,x_column_name		in 	  varchar2
155    )
156    Is
157       dummy  number;
158    Begin
159        -- column names name should be unique within a record set
160        SELECT count(1)
161        INTO   dummy
162        FROM   oe_pc_rset_sel_cols
163        WHERE  record_set_id = x_record_set_id
164        AND    column_name   = x_column_name
165        AND    ((x_rowid IS null) OR (rowid <> x_rowid));
166 
167        if (dummy >= 1) then
168           fnd_message.set_name('ONT', 'OE_PC_RS_DUP_COLUMN_NAME');
169           app_exception.raise_exception;
170        end if;
171    End Check_Unique;
172    -----------------------------------------------------------------------
173 END OE_PC_RSET_SEL_COLS_PKG;