DBA Data[Home] [Help]

PACKAGE BODY: APPS.HXC_RET_UPLOAD_PKG

Source


1 PACKAGE BODY hxc_ret_upload_pkg AS
2 /* $Header: hxcretupl.pkb 115.5 2002/06/10 13:30:33 pkm ship      $ */
3 
4 FUNCTION get_time_recipient_id ( p_time_recipient VARCHAR2 ) RETURN NUMBER IS
5 
6 CURSOR	csr_get_time_recipient_id IS
7 SELECT	time_recipient_id
8 FROM	hxc_time_recipients
9 WHERE	name	= p_time_recipient;
10 
11 l_time_recipient_id hxc_time_recipients.time_recipient_id%TYPE;
12 
13 BEGIN
14 
15 OPEN  csr_get_time_recipient_id;
16 FETCH csr_get_time_recipient_id INTO l_time_recipient_id;
17 CLOSE csr_get_time_recipient_id;
18 
19 RETURN l_time_recipient_id;
20 
21 END get_time_recipient_id;
22 
23 
24 PROCEDURE load_retrieval_process_row (
25           p_name		IN VARCHAR2
26 	, p_time_recipient	IN VARCHAR2
27 	, p_mapping_name	IN VARCHAR2
28 	, p_owner		IN VARCHAR2
29 	, p_custom_mode		IN VARCHAR2 ) IS
30 
31 l_retrieval_process_id	hxc_retrieval_processes.retrieval_process_id%TYPE;
32 l_time_recipient_id	hxc_time_recipients.time_recipient_id%TYPE;
33 l_mapping_id		hxc_mappings.mapping_id%TYPE;
34 l_ovn			hxc_deposit_processes.object_version_number%TYPE;
35 l_owner			VARCHAR2(6);
36 
37 BEGIN
38 
39 l_time_recipient_id	:= get_time_recipient_id ( p_time_recipient );
40 l_mapping_id		:= hxc_mcu_upload_pkg.get_mapping_id ( p_mapping_name );
41 
42 	SELECT	retrieval_process_id
43 	,	object_version_number
44 	,	DECODE( NVL(last_updated_by,-1), 1, 'SEED', 'CUSTOM')
45 	INTO	l_retrieval_process_id
46 	,	l_ovn
47 	,	l_owner
48 	FROM	hxc_retrieval_processes
49 	WHERE	name	= P_NAME;
50 
51 	IF ( p_custom_mode = 'FORCE' OR l_owner = 'SEED' )
52 	THEN
53 
54 	hxc_retrieval_processes_api.update_retrieval_processes (
55 	  			  p_name                   => p_name
56 	  		,	  p_time_recipient_id      => l_time_recipient_id
57 	  		,	  p_mapping_id             => l_mapping_id
58 	  		,	  p_retrieval_process_id   => l_retrieval_process_id
59 	  		,	  p_object_version_number  => l_ovn );
60 
61 	END IF;
62 
63 EXCEPTION WHEN NO_DATA_FOUND
64 THEN
65 
66 	hxc_retrieval_processes_api.create_retrieval_processes (
67   			  p_name                   => p_name
68   		,	  p_time_recipient_id      => l_time_recipient_id
69   		,	  p_mapping_id             => l_mapping_id
70   		,	  p_retrieval_process_id   => l_retrieval_process_id
71   		,	  p_object_version_number  => l_ovn );
72 
73 END load_retrieval_process_row;
74 
75 END hxc_ret_upload_pkg;