1 PACKAGE okc_k_entity_locks_grp
2 /* $Header: OKCGELKS.pls 120.0.12020000.2 2013/01/18 12:04:33 serukull ship $ */
3 AS
4
5 ---------------------------------------------------------------------
6 G_SECTION_ENTITY VARCHAR2(240) := 'SECTION';
7 G_CLAUSE_ENTITY VARCHAR2(240) := 'CLAUSE';
8 G_XPRT_ENTITY VARCHAR2(240) := 'XPRT';
9 G_DLVBL_ENTITY VARCHAR2(240) := 'DELIVERABLE';
10 ---------------------------------------------------------------------
11 PROCEDURE lock_entity( P_API_VERSION IN NUMBER,
12 P_INIT_MSG_LIST IN VARCHAR2 DEFAULT FND_API.G_FALSE,
13 P_COMMIT IN VARCHAR2 DEFAULT FND_API.G_FALSE,
14 -----------------
15 P_ENTITY_NAME IN VARCHAR2,
16 P_ENTITY_PK1 IN VARCHAR2,
17 P_ENTITY_PK2 IN VARCHAR2 DEFAULT NULL,
18 P_ENTITY_PK3 IN VARCHAR2 DEFAULT NULL,
19 P_ENTITY_PK4 IN VARCHAR2 DEFAULT NULL,
20 P_ENTITY_PK5 IN VARCHAR2 DEFAULT NULL,
21 P_LOCK_BY_ENTITY_ID IN NUMBER DEFAULT NULL,
22 P_LOCK_BY_DOCUMENT_TYPE IN VARCHAR2,
23 P_LOCK_BY_DOCUMENT_ID IN NUMBER,
24 ---------------------
25 X_RETURN_STATUS OUT NOCOPY VARCHAR2,
26 X_MSG_COUNT OUT NOCOPY NUMBER,
27 X_MSG_DATA OUT NOCOPY VARCHAR2
28 );
29 /* This procedure is no longer used - instead use rebuild_ids*/
30 PROCEDURE rebuild_locks( p_api_version IN NUMBER,
31 p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE,
32 p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE,
33 p_update_from_doc_type IN VARCHAR2,
34 p_update_from_doc_id IN NUMBER,
35 p_update_to_doc_type IN VARCHAR2,
36 p_update_to_doc_id IN NUMBER,
37 X_RETURN_STATUS OUT NOCOPY VARCHAR2,
38 X_MSG_COUNT OUT NOCOPY NUMBER,
39 X_MSG_DATA OUT NOCOPY VARCHAR2
40 );
41
42 PROCEDURE release_locks (p_api_version IN NUMBER,
43 p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE,
44 p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE,
45 p_doc_type IN VARCHAR2,
46 p_doc_id IN NUMBER,
47 X_RETURN_STATUS OUT NOCOPY VARCHAR2,
48 X_MSG_COUNT OUT NOCOPY NUMBER,
49 X_MSG_DATA OUT NOCOPY VARCHAR2
50 );
51
52 PROCEDURE unlock_entity (
53 p_api_version IN NUMBER,
54 p_init_msg_list IN VARCHAR2
55 DEFAULT fnd_api.g_false,
56 p_commit IN VARCHAR2
57 DEFAULT fnd_api.g_false,
58 p_entity_name IN VARCHAR2,
59 p_entity_pk1 IN VARCHAR2,
60 p_entity_pk2 IN VARCHAR2 DEFAULT NULL,
61 p_entity_pk3 IN VARCHAR2 DEFAULT NULL,
62 p_entity_pk4 IN VARCHAR2 DEFAULT NULL,
63 p_entity_pk5 IN VARCHAR2 DEFAULT NULL,
64 p_lock_by_entity_id IN NUMBER DEFAULT NULL,
65 p_lock_by_document_type IN VARCHAR2,
66 p_lock_by_document_id IN NUMBER,
67 x_return_status OUT NOCOPY VARCHAR2,
68 x_msg_count OUT NOCOPY NUMBER,
69 x_msg_data OUT NOCOPY VARCHAR2
70 );
71
72 PROCEDURE revert_changes( p_api_version IN NUMBER,
73 p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE,
74 p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE,
75 p_K_ENTITY_LOCK_ID IN NUMBER,
76 P_ENTITY_NAME IN VARCHAR2,
77 P_ENTITY_PK1 IN VARCHAR2,
78 P_ENTITY_PK2 IN VARCHAR2 DEFAULT NULL,
79 P_ENTITY_PK3 IN VARCHAR2 DEFAULT NULL,
80 P_ENTITY_PK4 IN VARCHAR2 DEFAULT NULL,
81 P_ENTITY_PK5 IN VARCHAR2 DEFAULT NULL,
82 p_lock_by_entity_id IN NUMBER DEFAULT NULL,
83 p_LOCK_BY_DOCUMENT_TYPE IN VARCHAR2,
84 p_LOCK_BY_DOCUMENT_ID IN NUMBER,
85 X_RETURN_STATUS OUT NOCOPY VARCHAR2,
86 X_MSG_COUNT OUT NOCOPY NUMBER,
87 X_MSG_DATA OUT NOCOPY VARCHAR2
88 );
89
90
91 PROCEDURE revert_entity ( p_api_version IN NUMBER,
92 p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE,
93 p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE,
94 p_k_entity_lock_id IN NUMBER,
95 X_RETURN_STATUS OUT NOCOPY VARCHAR2,
96 X_MSG_COUNT OUT NOCOPY NUMBER,
97 X_MSG_DATA OUT NOCOPY VARCHAR2
98 );
99
100
101
102 PROCEDURE CheckBaseRecExists(X_REC_EXISTS OUT NOCOPY VARCHAR2,
103 P_ENTITY_NAME IN VARCHAR2,
104 P_ENTITY_PK1 IN VARCHAR2,
105 P_ENTITY_PK2 IN VARCHAR2 DEFAULT NULL,
106 p_entity_pk3 IN VARCHAR2 DEFAULT NULL,
107 p_entity_pk4 IN VARCHAR2 DEFAULT NULL,
108 p_entity_pk5 IN VARCHAR2 DEFAULT NULL,
109 X_RETURN_STATUS OUT NOCOPY VARCHAR2
110 ) ;
111
112 FUNCTION isLockExists (
113 P_ENTITY_NAME IN VARCHAR2,
114 p_LOCK_BY_DOCUMENT_TYPE IN VARCHAR2,
115 p_LOCK_BY_DOCUMENT_ID IN NUMBER)
116 RETURN VARCHAR2 ;
117
118
119 FUNCTION get_document_number(p_document_type IN VARCHAR2, p_document_id IN number)
120 RETURN VARCHAR2;
121
122 FUNCTION get_entity_title (p_entity_name IN VARCHAR2, p_entity_pk1 IN VARCHAR2 , p_entity_pk2 IN VARCHAR2) RETURN VARCHAR2;
123
124
125
126 PROCEDURE get_src_doc_details ( p_doc_type IN VARCHAR2,
127 p_doc_id IN NUMBER,
128 x_src_doc_type OUT NOCOPY VARCHAR2,
129 x_src_doc_id OUT NOCOPY VARCHAR2,
130 x_return_status OUT NOCOPY VARCHAR2,
131 x_msg_data OUT NOCOPY VARCHAR2,
132 x_msg_count OUT NOCOPY NUMBER
133 );
134
135
136
137
138 /*
139 All section operations should be locked recursively to clauses.
140 update, delete, move.
141
142 */
143
144 FUNCTION isclauseLockedbyOtherDoc (p_src_kart_id IN NUMBER,p_tgt_document_type IN VARCHAR2,p_tgt_document_id IN NUMBER)
145 RETURN VARCHAR2;
146
147 FUNCTION isSectionLockedbyOtherDoc (p_src_ksec_id IN NUMBER,p_tgt_document_type IN VARCHAR2,p_tgt_document_id IN NUMBER)
148 RETURN VARCHAR2;
149
150 FUNCTION isDeliverableLockedbyOtherDoc (p_src_dlvbl_id IN NUMBER,p_tgt_document_type IN VARCHAR2,p_tgt_document_id IN NUMBER)
151 RETURN VARCHAR2;
152
153 FUNCTION isXprtLockedbyOtherDoc (p_tgt_document_type IN VARCHAR2,p_tgt_document_id IN NUMBER)
154 RETURN VARCHAR2;
155
156 FUNCTION isEntityLockedbyOtherDoc (p_entity_name IN VARCHAR2,p_src_entity_id IN NUMBER,p_tgt_document_type IN VARCHAR2,p_tgt_document_id IN NUMBER)
157 RETURN VARCHAR2;
158
159 FUNCTION isAnyClauseLockedByOtherDoc(p_variable_code IN VARCHAR2, p_tgt_document_type IN VARCHAR2, p_tgt_document_id IN NUMBER)
160 RETURN VARCHAR2;
161
162 PROCEDURE isAnyEntityLockedbyOtherDoc( p_doc_type IN VARCHAR2,
163 p_doc_id IN NUMBER,
164 x_entity_locked OUT NOCOPY VARCHAR2,
165 x_return_status OUT NOCOPY VARCHAR2,
166 x_msg_data OUT NOCOPY VARCHAR2,
167 x_msg_count OUT NOCOPY NUMBER
168 );
169
170 PROCEDURE start_notify_workflow(
171
172 p_document_type IN VARCHAR2,
173 p_document_id IN NUMBER,
174 p_requestor_id IN NUMBER,
175 p_actioner_id IN NUMBER,
176 p_action_requested IN VARCHAR2,
177 p_action_req_details IN VARCHAR2,
178 x_return_status OUT NOCOPY VARCHAR2,
179 x_msg_data OUT NOCOPY VARCHAR2,
180 x_msg_count OUT NOCOPY NUMBER,
181 p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_TRUE
182 );
183
184 PROCEDURE rebuild_ids( p_api_version IN NUMBER,
185 p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE,
186 p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE,
187 p_update_from_doc_type IN VARCHAR2, -- Mod document
188 p_update_from_doc_id IN NUMBER, -- Mod document
189 p_update_to_doc_type IN VARCHAR2, -- Award document
190 p_update_to_doc_id IN NUMBER, -- Award document
191 X_RETURN_STATUS OUT NOCOPY VARCHAR2,
192 X_MSG_COUNT OUT NOCOPY NUMBER,
193 X_MSG_DATA OUT NOCOPY VARCHAR2
194
195 );
196
197 /*
198 *
199 * This function returns 'Y',
200 if atleast amended (add,delete,update) term (clause,section and deliverable)
201 exist on a given document,
202 else retruns 'N'.
203 **/
204 FUNCTION has_amended_terms ( p_doc_type IN VARCHAR2, p_doc_id IN NUMBER
205 )
206 RETURN VARCHAR2;
207
208 /*
209 * This function returns 'Y',
210 if atleast one amended term on the document has locked by another document.
211 else returns 'N'.
212 *
213 **/
214 FUNCTION has_conflicting_locks ( p_doc_type IN VARCHAR2,
215 p_doc_id IN NUMBER
216 )
217 RETURN VARCHAR2;
218
219 /*
220 *
221 * This procedure is used for merging the changes from PAR document to a MOD document
222 *
223 **/
224 PROCEDURE merge_changes (
225 p_api_version IN NUMBER,
226 p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE,
227 p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE,
228 p_src_doc_type IN VARCHAR2, -- PAR document
229 p_src_doc_id IN NUMBER, -- PAR document
230 p_target_doc_type IN VARCHAR2, -- MOD document
231 p_target_doc_id IN NUMBER, -- MOD document
232 X_RETURN_STATUS OUT NOCOPY VARCHAR2,
233 X_MSG_COUNT OUT NOCOPY NUMBER,
234 X_MSG_DATA OUT NOCOPY VARCHAR2
235 );
236
237
238 END okc_k_entity_locks_grp;