1 package body IEC_P_VDU_TYPES_PKG as
2 /* $Header: IECVDUTB.pls 115.1 2004/08/02 18:00:42 minwang noship $ */
3
4 procedure INSERT_ROW (
5 X_ROWID in out NOCOPY VARCHAR2,
6 X_VDU_TYPE_ID in NUMBER,
7 X_VDU_TYPE_NAME in VARCHAR2,
8 X_HARDWARE_LAYER 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 X_OBJECT_VERSION_NUMBER in NUMBER
15 ) is
16 cursor C is select ROWID
17 from IEC_P_VDU_TYPES
18 where
19 VDU_TYPE_ID = X_VDU_TYPE_ID
20 and VDU_TYPE_NAME = X_VDU_TYPE_NAME
21 and HARDWARE_LAYER = X_HARDWARE_LAYER;
22
23 begin
24
25 insert into IEC_P_VDU_TYPES
26 ( VDU_TYPE_ID,
27 VDU_TYPE_NAME,
28 HARDWARE_LAYER,
29 CREATED_BY,
30 CREATION_DATE,
31 LAST_UPDATED_BY,
32 LAST_UPDATE_DATE,
33 LAST_UPDATE_LOGIN,
34 OBJECT_VERSION_NUMBER )
35 values( X_VDU_TYPE_ID,
36 X_VDU_TYPE_NAME,
37 X_HARDWARE_LAYER,
38 X_CREATED_BY,
39 X_CREATION_DATE,
40 X_LAST_UPDATED_BY,
41 X_LAST_UPDATE_DATE,
42 X_LAST_UPDATE_LOGIN,
43 X_OBJECT_VERSION_NUMBER);
44
45 open c;
46 fetch c into X_ROWID;
47 if (c%notfound) then
48 close c;
49 raise no_data_found;
50 end if;
51 close c;
52
53 end INSERT_ROW;
54
55 procedure LOCK_ROW (
56 X_VDU_TYPE_ID in NUMBER,
57 X_VDU_TYPE_NAME in VARCHAR2,
58 X_HARDWARE_LAYER in VARCHAR2,
59 X_OBJECT_VERSION_NUMBER in NUMBER
60 ) is
61 cursor c is select
62 VDU_TYPE_NAME,
63 HARDWARE_LAYER,
64 OBJECT_VERSION_NUMBER
65 from IEC_P_VDU_TYPES
66 where VDU_TYPE_ID = X_VDU_TYPE_ID
67 for update of VDU_TYPE_NAME, HARDWARE_LAYER, OBJECT_VERSION_NUMBER nowait;
68 recinfo c%rowtype;
69 begin
70 open c;
71 fetch c into recinfo;
72 if (c%notfound) then
73 close c;
74 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
75 app_exception.raise_exception;
76 end if;
77 close c;
78 if ( (recinfo.VDU_TYPE_NAME = X_VDU_TYPE_NAME)
79 AND (recinfo.HARDWARE_LAYER = X_HARDWARE_LAYER)
80 AND (recinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
81 ) then
82 null;
83 else
84 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
85 app_exception.raise_exception;
86 end if;
87 return;
88 end LOCK_ROW;
89
90 procedure UPDATE_ROW (
91 X_VDU_TYPE_ID in NUMBER,
92 X_VDU_TYPE_NAME in VARCHAR2,
93 X_HARDWARE_LAYER in VARCHAR2,
94 X_LAST_UPDATED_BY in NUMBER,
95 X_LAST_UPDATE_DATE in DATE,
96 X_LAST_UPDATE_LOGIN in NUMBER,
97 X_OBJECT_VERSION_NUMBER in NUMBER
98 ) is
99 begin
100
101 update IEC_P_VDU_TYPES b
102 set b.LAST_UPDATED_BY = X_LAST_UPDATED_BY,
103 b.LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
104 b.LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
105 b.VDU_TYPE_NAME = X_VDU_TYPE_NAME,
106 b.HARDWARE_LAYER = X_HARDWARE_LAYER
107 where b.VDU_TYPE_ID = X_VDU_TYPE_ID;
108
109 if (sql%notfound) then
110 raise no_data_found;
111 end if;
112
113 end UPDATE_ROW;
114
115 procedure DELETE_ROW (
116 X_VDU_TYPE_ID in NUMBER
117 ) is
118 begin
119 delete from IEC_P_VDU_TYPES
120 where VDU_TYPE_ID = X_VDU_TYPE_ID;
121
122 if (sql%notfound) then
123 raise no_data_found;
124 end if;
125 end DELETE_ROW;
126
127 procedure LOAD_ROW (
128 X_VDU_TYPE_ID in NUMBER,
129 X_VDU_TYPE_NAME in VARCHAR2,
130 X_HARDWARE_LAYER in VARCHAR2,
131 X_OWNER in VARCHAR2
132 ) is
133 USER_ID NUMBER := 0;
134 ROW_ID VARCHAR2(500);
135 begin
136
137 if (X_OWNER = 'SEED') then
138 USER_ID := 1;
139 end if;
140
141 UPDATE_ROW (X_VDU_TYPE_ID, X_VDU_TYPE_NAME, X_HARDWARE_LAYER, USER_ID, SYSDATE, USER_ID, 0);
142
143 exception
144 when no_data_found then
145 INSERT_ROW (ROW_ID, X_VDU_TYPE_ID, X_VDU_TYPE_NAME, X_HARDWARE_LAYER, USER_ID, SYSDATE, USER_ID, SYSDATE, USER_ID, 0);
146
147 end LOAD_ROW;
148
149 end IEC_P_VDU_TYPES_PKG;