[Home] [Help]
PACKAGE BODY: APPS.CS_SR_LINK_VALID_OBJ_PKG
Source
1 PACKAGE BODY CS_SR_LINK_VALID_OBJ_PKG AS
2 /* $Header: cstlnvob.pls 115.2 2002/12/09 20:13:59 dejoseph noship $ */
3
4 PROCEDURE INSERT_ROW (
5 PX_LINK_VALID_OBJ_ID IN OUT NOCOPY NUMBER,
6 P_SUBJECT_TYPE IN VARCHAR2,
7 P_OBJECT_TYPE IN VARCHAR2,
8 P_LINK_TYPE_ID IN NUMBER,
9 P_START_DATE_ACTIVE IN DATE,
10 P_END_DATE_ACTIVE IN DATE,
11 P_USER_ID IN NUMBER,
12 P_LOGIN_ID IN NUMBER,
13 P_SECURITY_GROUP_ID IN NUMBER,
14 P_APPLICATION_ID IN NUMBER,
15 P_SEEDED_FLAG IN VARCHAR2,
16 P_OBJECT_VERSION_NUMBER IN NUMBER )
17 IS
18 cursor c1 is
19 select cs_sr_link_valid_obj_s.nextval
20 from dual;
21 BEGIN
22
23 if ( px_link_valid_obj_id IS NULL ) OR
24 ( px_link_valid_obj_id = FND_API.G_MISS_NUM) THEN
25 open c1;
26 fetch c1 into px_link_valid_obj_id;
27 close c1;
28 end if;
29
30 INSERT INTO CS_SR_LINK_VALID_OBJ (
31 LINK_VALID_OBJ_ID, SUBJECT_TYPE, OBJECT_TYPE,
32 LINK_TYPE_ID, START_DATE_ACTIVE, END_DATE_ACTIVE,
33 CREATED_BY, CREATION_DATE, LAST_UPDATE_DATE,
34 LAST_UPDATED_BY, LAST_UPDATE_LOGIN, APPLICATION_ID,
35 SEEDED_FLAG, OBJECT_VERSION_NUMBER, SECURITY_GROUP_ID )
36 VALUES (
37 PX_LINK_VALID_OBJ_ID, P_SUBJECT_TYPE, P_OBJECT_TYPE,
38 P_LINK_TYPE_ID, P_START_DATE_ACTIVE, P_END_DATE_ACTIVE,
39 P_USER_ID, SYSDATE, SYSDATE,
40 P_LOGIN_ID, P_LOGIN_ID, P_APPLICATION_ID,
41 P_SEEDED_FLAG, P_OBJECT_VERSION_NUMBER, P_SECURITY_GROUP_ID );
42
43 END INSERT_ROW;
44
45 PROCEDURE LOCK_ROW (
46 P_LINK_VALID_OBJ_ID IN NUMBER,
47 P_OBJECT_VERSION_NUMBER IN NUMBER )
48 IS
49 cursor c is
50 select 1
51 from cs_sr_link_valid_obj
52 where link_valid_obj_id = p_link_valid_obj_id
53 and object_version_number = p_object_version_number;
54
55 l_dummy number(3);
56 BEGIN
57 open c;
58 fetch c into l_dummy;
59 if (c%notfound) then
60 close c;
61 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
62 app_exception.raise_exception;
63 end if;
64 close c;
65
66 END LOCK_ROW;
67
68 PROCEDURE UPDATE_ROW (
69 P_LINK_VALID_OBJ_ID IN NUMBER,
70 P_SUBJECT_TYPE IN VARCHAR2,
71 P_OBJECT_TYPE IN VARCHAR2,
72 P_LINK_TYPE_ID IN NUMBER,
73 P_START_DATE_ACTIVE IN DATE,
74 P_END_DATE_ACTIVE IN DATE,
75 P_USER_ID IN NUMBER,
76 P_LOGIN_ID IN NUMBER,
77 P_SECURITY_GROUP_ID IN NUMBER,
78 P_APPLICATION_ID IN NUMBER,
79 P_SEEDED_FLAG IN VARCHAR2,
80 P_OBJECT_VERSION_NUMBER IN NUMBER )
81 IS
82
83 BEGIN
84
85 UPDATE CS_SR_LINK_VALID_OBJ SET
86 SUBJECT_TYPE = P_SUBJECT_TYPE,
87 OBJECT_TYPE = P_OBJECT_TYPE,
88 LINK_TYPE_ID = P_LINK_TYPE_ID,
89 START_DATE_ACTIVE = P_START_DATE_ACTIVE,
90 END_DATE_ACTIVE = P_END_DATE_ACTIVE,
91 LAST_UPDATE_DATE = SYSDATE,
92 LAST_UPDATED_BY = P_USER_ID,
93 LAST_UPDATE_LOGIN = P_LOGIN_ID,
94 APPLICATION_ID = P_APPLICATION_ID,
95 SEEDED_FLAG = P_SEEDED_FLAG,
96 OBJECT_VERSION_NUMBER = OBJECT_VERSION_NUMBER + 1,
97 SECURITY_GROUP_ID = P_SECURITY_GROUP_ID
98 WHERE LINK_VALID_OBJ_ID = P_LINK_VALID_OBJ_ID;
99
100 if (sql%notfound) then
101 raise no_data_found;
102 end if;
103
104 END UPDATE_ROW;
105
106 PROCEDURE DELETE_ROW (
107 P_LINK_VALID_OBJ_ID in NUMBER )
108 IS
109 BEGIN
110 delete from cs_sr_link_valid_obj
111 where link_valid_obj_id = p_link_valid_obj_id;
112
113 if (sql%notfound) then
114 raise no_data_found;
115 end if;
116
117 END DELETE_ROW;
118
119 PROCEDURE LOAD_ROW (
120 P_LINK_VALID_OBJ_ID IN NUMBER,
121 P_SUBJECT_TYPE IN VARCHAR2,
122 P_OBJECT_TYPE IN VARCHAR2,
123 P_LINK_TYPE_ID IN NUMBER,
124 P_START_DATE_ACTIVE IN VARCHAR2,
125 P_END_DATE_ACTIVE IN VARCHAR2,
126 P_OWNER IN VARCHAR2,
127 P_APPLICATION_ID IN NUMBER,
128 P_SEEDED_FLAG IN VARCHAR2,
129 P_SECURITY_GROUP_ID IN NUMBER,
130 P_OBJECT_VERSION_NUMBER IN NUMBER )
131 IS
132 l_user_id NUMBER;
133 -- needed to be passed as the parameter value for the insert's in/out
134 -- parameter.
135 l_link_valid_obj_id NUMBER;
136 BEGIN
137 if ( p_owner = 'SEED' ) then
138 l_user_id := 1;
139 end if;
140
141 l_link_valid_obj_id := p_link_valid_obj_id;
142
143 UPDATE_ROW (
144 P_LINK_VALID_OBJ_ID => p_link_valid_obj_id,
145 P_SUBJECT_TYPE => p_subject_type,
146 P_OBJECT_TYPE => p_object_type,
147 P_LINK_TYPE_ID => p_link_type_id,
148 P_START_DATE_ACTIVE => to_date(p_start_date_active, 'DD-MM-YYYY'),
149 P_END_DATE_ACTIVE => to_date(p_end_date_active, 'DD-MM-YYYY'),
150 P_USER_ID => l_user_id,
151 P_LOGIN_ID => 0,
152 P_SECURITY_GROUP_ID => p_security_group_id,
153 P_APPLICATION_ID => p_application_id,
154 P_SEEDED_FLAG => p_seeded_flag,
155 P_OBJECT_VERSION_NUMBER => p_object_version_number );
156
157 EXCEPTION
158 WHEN NO_DATA_FOUND THEN
159 INSERT_ROW (
160 PX_LINK_VALID_OBJ_ID => l_link_valid_obj_id,
161 P_SUBJECT_TYPE => p_subject_type,
162 P_OBJECT_TYPE => p_object_type,
163 P_LINK_TYPE_ID => p_link_type_id,
164 P_START_DATE_ACTIVE => to_date(p_start_date_active, 'DD-MM-YYYY'),
165 P_END_DATE_ACTIVE => to_date(p_end_date_active, 'DD-MM-YYYY'),
166 P_USER_ID => l_user_id,
167 P_LOGIN_ID => 0,
168 P_SECURITY_GROUP_ID => p_security_group_id,
169 P_APPLICATION_ID => p_application_id,
170 P_SEEDED_FLAG => p_seeded_flag,
171 P_OBJECT_VERSION_NUMBER => p_object_version_number );
172
173 END LOAD_ROW;
174
175 END CS_SR_LINK_VALID_OBJ_PKG;