1 package body CS_KB_AUTOLINK_USAGES_PKG as
2 /* $Header: cskbalub.pls 120.0 2005/07/13 10:20:18 appldev noship $ */
3 procedure INSERT_ROW (
4 X_ROWID in out nocopy VARCHAR2,
5 X_AUTOLINK_USAGE_ID in NUMBER,
6 X_AUTOLINK_ID in NUMBER,
7 X_OBJECT_CODE in VARCHAR2,
8 X_SEQUENCE_NUMBER in NUMBER,
9 X_START_DATE_ACTIVE in DATE,
10 X_END_DATE_ACTIVE in DATE,
11 X_OBJECT_VERSION_NUMBER in NUMBER,
12 X_CREATION_DATE in DATE,
13 X_CREATED_BY in NUMBER,
14 X_LAST_UPDATE_DATE in DATE,
15 X_LAST_UPDATED_BY in NUMBER,
16 X_LAST_UPDATE_LOGIN in NUMBER
17 ) is
18 cursor C is select ROWID from CS_KB_AUTOLINK_USAGES
19 where AUTOLINK_USAGE_ID = X_AUTOLINK_USAGE_ID
20 ;
21 begin
22 insert into CS_KB_AUTOLINK_USAGES (
23 AUTOLINK_USAGE_ID,
24 AUTOLINK_ID,
25 OBJECT_CODE,
26 SEQUENCE_NUMBER,
27 START_DATE_ACTIVE,
28 END_DATE_ACTIVE,
29 OBJECT_VERSION_NUMBER,
30 CREATION_DATE,
31 CREATED_BY,
32 LAST_UPDATE_DATE,
33 LAST_UPDATED_BY,
34 LAST_UPDATE_LOGIN
35 ) values (
36 X_AUTOLINK_USAGE_ID,
37 X_AUTOLINK_ID,
38 X_OBJECT_CODE,
39 X_SEQUENCE_NUMBER,
40 X_START_DATE_ACTIVE,
41 X_END_DATE_ACTIVE,
42 X_OBJECT_VERSION_NUMBER,
43 X_CREATION_DATE,
44 X_CREATED_BY,
45 X_LAST_UPDATE_DATE,
46 X_LAST_UPDATED_BY,
47 X_LAST_UPDATE_LOGIN
48 );
49
50 open c;
51 fetch c into X_ROWID;
52 if (c%notfound) then
53 close c;
54 raise no_data_found;
55 end if;
56 close c;
57
58 end INSERT_ROW;
59
60 procedure LOCK_ROW (
61 X_AUTOLINK_USAGE_ID in NUMBER,
62 X_AUTOLINK_ID in NUMBER,
63 X_OBJECT_CODE in VARCHAR2,
64 X_SEQUENCE_NUMBER in NUMBER,
65 X_START_DATE_ACTIVE in DATE,
66 X_END_DATE_ACTIVE in DATE,
67 X_OBJECT_VERSION_NUMBER in NUMBER
68 ) is
69 cursor c is select
70 AUTOLINK_ID,
71 OBJECT_CODE,
72 SEQUENCE_NUMBER,
73 START_DATE_ACTIVE,
74 END_DATE_ACTIVE,
75 OBJECT_VERSION_NUMBER
76 from CS_KB_AUTOLINK_USAGES
77 where AUTOLINK_USAGE_ID = X_AUTOLINK_USAGE_ID
78 for update of AUTOLINK_USAGE_ID nowait;
79 recinfo c%rowtype;
80
81
82 begin
83 open c;
84 fetch c into recinfo;
85 if (c%notfound) then
86 close c;
87 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
88 app_exception.raise_exception;
89 end if;
90 close c;
91 if ( (recinfo.AUTOLINK_ID = X_AUTOLINK_ID)
92 AND (recinfo.OBJECT_CODE = X_OBJECT_CODE)
93 AND (recinfo.SEQUENCE_NUMBER = X_SEQUENCE_NUMBER)
94 AND ((recinfo.START_DATE_ACTIVE = X_START_DATE_ACTIVE)
95 OR ((recinfo.START_DATE_ACTIVE is null) AND (X_START_DATE_ACTIVE is null)))
96 AND ((recinfo.END_DATE_ACTIVE = X_END_DATE_ACTIVE)
97 OR ((recinfo.END_DATE_ACTIVE is null) AND (X_END_DATE_ACTIVE is null)))
98 AND ((recinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
99 OR ((recinfo.OBJECT_VERSION_NUMBER is null) AND (X_OBJECT_VERSION_NUMBER 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
107 end LOCK_ROW;
108
109 procedure UPDATE_ROW (
110 X_AUTOLINK_USAGE_ID in NUMBER,
111 X_AUTOLINK_ID in NUMBER,
112 X_OBJECT_CODE in VARCHAR2,
113 X_SEQUENCE_NUMBER in NUMBER,
114 X_START_DATE_ACTIVE in DATE,
115 X_END_DATE_ACTIVE in DATE,
116 X_OBJECT_VERSION_NUMBER in NUMBER,
117 X_LAST_UPDATE_DATE in DATE,
118 X_LAST_UPDATED_BY in NUMBER,
119 X_LAST_UPDATE_LOGIN in NUMBER
120 ) is
121 begin
122 update CS_KB_AUTOLINK_USAGES set
123 AUTOLINK_ID = X_AUTOLINK_ID,
124 OBJECT_CODE = X_OBJECT_CODE,
125 SEQUENCE_NUMBER = X_SEQUENCE_NUMBER,
126 START_DATE_ACTIVE = X_START_DATE_ACTIVE,
127 END_DATE_ACTIVE = X_END_DATE_ACTIVE,
128 OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
129 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
130 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
131 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
132 where AUTOLINK_USAGE_ID = X_AUTOLINK_USAGE_ID;
133
134 if (sql%notfound) then
135 raise no_data_found;
136 end if;
137
138 end UPDATE_ROW;
139
140 procedure DELETE_ROW (
141 X_AUTOLINK_USAGE_ID in NUMBER
142 ) is
143 begin
144 delete from CS_KB_AUTOLINK_USAGES
145 where AUTOLINK_USAGE_ID = X_AUTOLINK_USAGE_ID;
146
147 if (sql%notfound) then
148 raise no_data_found;
149 end if;
150 end DELETE_ROW;
151
152 end CS_KB_AUTOLINK_USAGES_PKG;