DBA Data[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;