19: IS
20: l_feature_type_n_fe_id VARCHAR2(256) ;
21: l_wf_type VARCHAR2(256) ;
22: l_wf_key VARCHAR2(256) ;
23: l_fnd_message VARCHAR2(4000) ;
24: l_reference_id VARCHAR2(512) := null;
25: l_fa_instance_id NUMBER := 0;
26: l_fe_id NUMBER := 0;
27: l_feature_type VARCHAR2(40) := NULL;
117: );
118: EXCEPTION
119: WHEN NO_DATA_FOUND THEN
120: x_error_code := SQLCODE;
121: FND_MESSAGE.set_name ('XNP', 'GET_MANDATORY_WI_PARAM_ERR') ;
122: FND_MESSAGE.set_token ('WIID', l_workitem_instance_id) ;
123: FND_MESSAGE.set_token ('PARAM_NAME', 'STARTING_NUMBER') ;
124: FND_MESSAGE.set_token ('ERRTEXT', SQLERRM) ;
125: x_error_message := FND_MESSAGE.get ;
118: EXCEPTION
119: WHEN NO_DATA_FOUND THEN
120: x_error_code := SQLCODE;
121: FND_MESSAGE.set_name ('XNP', 'GET_MANDATORY_WI_PARAM_ERR') ;
122: FND_MESSAGE.set_token ('WIID', l_workitem_instance_id) ;
123: FND_MESSAGE.set_token ('PARAM_NAME', 'STARTING_NUMBER') ;
124: FND_MESSAGE.set_token ('ERRTEXT', SQLERRM) ;
125: x_error_message := FND_MESSAGE.get ;
126: return;
119: WHEN NO_DATA_FOUND THEN
120: x_error_code := SQLCODE;
121: FND_MESSAGE.set_name ('XNP', 'GET_MANDATORY_WI_PARAM_ERR') ;
122: FND_MESSAGE.set_token ('WIID', l_workitem_instance_id) ;
123: FND_MESSAGE.set_token ('PARAM_NAME', 'STARTING_NUMBER') ;
124: FND_MESSAGE.set_token ('ERRTEXT', SQLERRM) ;
125: x_error_message := FND_MESSAGE.get ;
126: return;
127: WHEN OTHERS THEN
120: x_error_code := SQLCODE;
121: FND_MESSAGE.set_name ('XNP', 'GET_MANDATORY_WI_PARAM_ERR') ;
122: FND_MESSAGE.set_token ('WIID', l_workitem_instance_id) ;
123: FND_MESSAGE.set_token ('PARAM_NAME', 'STARTING_NUMBER') ;
124: FND_MESSAGE.set_token ('ERRTEXT', SQLERRM) ;
125: x_error_message := FND_MESSAGE.get ;
126: return;
127: WHEN OTHERS THEN
128: x_error_code := SQLCODE;
121: FND_MESSAGE.set_name ('XNP', 'GET_MANDATORY_WI_PARAM_ERR') ;
122: FND_MESSAGE.set_token ('WIID', l_workitem_instance_id) ;
123: FND_MESSAGE.set_token ('PARAM_NAME', 'STARTING_NUMBER') ;
124: FND_MESSAGE.set_token ('ERRTEXT', SQLERRM) ;
125: x_error_message := FND_MESSAGE.get ;
126: return;
127: WHEN OTHERS THEN
128: x_error_code := SQLCODE;
129: x_error_message := SQLERRM;
138: );
139: EXCEPTION
140: WHEN NO_DATA_FOUND THEN
141: x_error_code := SQLCODE;
142: FND_MESSAGE.set_name ('XNP', 'GET_MANDATORY_WI_PARAM_ERR') ;
143: FND_MESSAGE.set_token ('WIID', l_workitem_instance_id) ;
144: FND_MESSAGE.set_token ('PARAM_NAME', 'ENDING_NUMBER') ;
145: FND_MESSAGE.set_token ('ERRTEXT', SQLERRM) ;
146: x_error_message := FND_MESSAGE.get ;
139: EXCEPTION
140: WHEN NO_DATA_FOUND THEN
141: x_error_code := SQLCODE;
142: FND_MESSAGE.set_name ('XNP', 'GET_MANDATORY_WI_PARAM_ERR') ;
143: FND_MESSAGE.set_token ('WIID', l_workitem_instance_id) ;
144: FND_MESSAGE.set_token ('PARAM_NAME', 'ENDING_NUMBER') ;
145: FND_MESSAGE.set_token ('ERRTEXT', SQLERRM) ;
146: x_error_message := FND_MESSAGE.get ;
147: return;
140: WHEN NO_DATA_FOUND THEN
141: x_error_code := SQLCODE;
142: FND_MESSAGE.set_name ('XNP', 'GET_MANDATORY_WI_PARAM_ERR') ;
143: FND_MESSAGE.set_token ('WIID', l_workitem_instance_id) ;
144: FND_MESSAGE.set_token ('PARAM_NAME', 'ENDING_NUMBER') ;
145: FND_MESSAGE.set_token ('ERRTEXT', SQLERRM) ;
146: x_error_message := FND_MESSAGE.get ;
147: return;
148: WHEN OTHERS THEN
141: x_error_code := SQLCODE;
142: FND_MESSAGE.set_name ('XNP', 'GET_MANDATORY_WI_PARAM_ERR') ;
143: FND_MESSAGE.set_token ('WIID', l_workitem_instance_id) ;
144: FND_MESSAGE.set_token ('PARAM_NAME', 'ENDING_NUMBER') ;
145: FND_MESSAGE.set_token ('ERRTEXT', SQLERRM) ;
146: x_error_message := FND_MESSAGE.get ;
147: return;
148: WHEN OTHERS THEN
149: x_error_code := SQLCODE;
142: FND_MESSAGE.set_name ('XNP', 'GET_MANDATORY_WI_PARAM_ERR') ;
143: FND_MESSAGE.set_token ('WIID', l_workitem_instance_id) ;
144: FND_MESSAGE.set_token ('PARAM_NAME', 'ENDING_NUMBER') ;
145: FND_MESSAGE.set_token ('ERRTEXT', SQLERRM) ;
146: x_error_message := FND_MESSAGE.get ;
147: return;
148: WHEN OTHERS THEN
149: x_error_code := SQLCODE;
150: x_error_message := SQLERRM;
206: null; -- ingnore it
207: end if;
208: EXCEPTION
209: WHEN e_workflow_parameters_invalid THEN
210: FND_MESSAGE.set_name ('XNP', 'INVALID_WF_SPECIFIED') ;
211: FND_MESSAGE.set_token ('MSG_ID', l_msg_header.message_id) ;
212: FND_MESSAGE.set_token ('p_REFERENCE', p_process_reference) ;
213: l_fnd_message := FND_MESSAGE.get ;
214:
207: end if;
208: EXCEPTION
209: WHEN e_workflow_parameters_invalid THEN
210: FND_MESSAGE.set_name ('XNP', 'INVALID_WF_SPECIFIED') ;
211: FND_MESSAGE.set_token ('MSG_ID', l_msg_header.message_id) ;
212: FND_MESSAGE.set_token ('p_REFERENCE', p_process_reference) ;
213: l_fnd_message := FND_MESSAGE.get ;
214:
215: XNP_MESSAGE.UPDATE_STATUS
208: EXCEPTION
209: WHEN e_workflow_parameters_invalid THEN
210: FND_MESSAGE.set_name ('XNP', 'INVALID_WF_SPECIFIED') ;
211: FND_MESSAGE.set_token ('MSG_ID', l_msg_header.message_id) ;
212: FND_MESSAGE.set_token ('p_REFERENCE', p_process_reference) ;
213: l_fnd_message := FND_MESSAGE.get ;
214:
215: XNP_MESSAGE.UPDATE_STATUS
216: (p_message_id
209: WHEN e_workflow_parameters_invalid THEN
210: FND_MESSAGE.set_name ('XNP', 'INVALID_WF_SPECIFIED') ;
211: FND_MESSAGE.set_token ('MSG_ID', l_msg_header.message_id) ;
212: FND_MESSAGE.set_token ('p_REFERENCE', p_process_reference) ;
213: l_fnd_message := FND_MESSAGE.get ;
214:
215: XNP_MESSAGE.UPDATE_STATUS
216: (p_message_id
217: ,'FAILED'
214:
215: XNP_MESSAGE.UPDATE_STATUS
216: (p_message_id
217: ,'FAILED'
218: ,l_fnd_message
219: ) ;
220:
221: x_error_code := XNP_ERRORS.G_INVALID_WORKFLOW ;
222: x_error_message := l_fnd_message ;
218: ,l_fnd_message
219: ) ;
220:
221: x_error_code := XNP_ERRORS.G_INVALID_WORKFLOW ;
222: x_error_message := l_fnd_message ;
223:
224: if (c_fe_id%ISOPEN) then
225: close c_fe_id;
226: end if;
226: end if;
227: return;
228:
229: WHEN e_NO_FE_FOUND THEN
230: FND_MESSAGE.set_name ('XNP', 'XNP_NO_FE_FOUND_ERR') ;
231: FND_MESSAGE.set_token ('FA_INSTANCE_ID', l_reference_id) ;
232: x_error_message := FND_MESSAGE.get ;
233: x_error_code := SQLCODE;
234: XNP_MESSAGE.UPDATE_STATUS
227: return;
228:
229: WHEN e_NO_FE_FOUND THEN
230: FND_MESSAGE.set_name ('XNP', 'XNP_NO_FE_FOUND_ERR') ;
231: FND_MESSAGE.set_token ('FA_INSTANCE_ID', l_reference_id) ;
232: x_error_message := FND_MESSAGE.get ;
233: x_error_code := SQLCODE;
234: XNP_MESSAGE.UPDATE_STATUS
235: (p_message_id
228:
229: WHEN e_NO_FE_FOUND THEN
230: FND_MESSAGE.set_name ('XNP', 'XNP_NO_FE_FOUND_ERR') ;
231: FND_MESSAGE.set_token ('FA_INSTANCE_ID', l_reference_id) ;
232: x_error_message := FND_MESSAGE.get ;
233: x_error_code := SQLCODE;
234: XNP_MESSAGE.UPDATE_STATUS
235: (p_message_id
236: ,'FAILED'