DBA Data[Home] [Help]

PACKAGE BODY: APPS.HXC_DEP_UPLOAD_PKG

Source


1 PACKAGE BODY hxc_dep_upload_pkg AS
2 /* $Header: hxcdepupl.pkb 115.5 2002/06/10 00:36:37 pkm ship      $ */
3 
4 FUNCTION get_time_source_id ( p_time_source VARCHAR2 ) RETURN NUMBER IS
5 
6 CURSOR	csr_get_time_source_id IS
7 SELECT	time_source_id
8 FROM	hxc_time_sources
9 WHERE	name	= p_time_source;
10 
11 l_time_source_id hxc_time_sources.time_source_id%TYPE;
12 
13 BEGIN
14 
15 OPEN  csr_get_time_source_id;
16 FETCH csr_get_time_source_id INTO l_time_source_id;
17 CLOSE csr_get_time_source_id;
18 
19 RETURN l_time_source_id;
20 
21 END get_time_source_id;
22 
23 
24 PROCEDURE load_deposit_process_row (
25           p_name		IN VARCHAR2
26 	, p_time_source		IN VARCHAR2
27 	, p_mapping_name	IN VARCHAR2
28 	, p_owner		IN VARCHAR2
29 	, p_custom_mode		IN VARCHAR2 ) IS
30 
31 l_deposit_process_id	hxc_deposit_processes.deposit_process_id%TYPE;
32 l_time_source_id	hxc_time_sources.time_source_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_source_id	:= get_time_source_id ( p_time_source );
40 l_mapping_id		:= hxc_mcu_upload_pkg.get_mapping_id ( p_mapping_name );
41 
42 	SELECT	deposit_process_id
43 	,	object_version_number
44 	,	DECODE( NVL(last_updated_by,-1), 1, 'SEED', 'CUSTOM')
45 	INTO	l_deposit_process_id
46 	,	l_ovn
47 	,	l_owner
48 	FROM	hxc_deposit_processes
49 	WHERE	name	= P_NAME;
50 
51 	IF ( p_custom_mode = 'FORCE' OR p_owner = 'SEED' )
52 	THEN
53 		hxc_deposit_processes_api.update_deposit_processes (
54 				  p_effective_date         => sysdate
55 	  		,	  p_name                   => p_name
56 	  		,	  p_time_source_id         => l_time_source_id
57 	  		,	  p_mapping_id             => l_mapping_id
58 	  		,	  p_deposit_process_id     => l_deposit_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_deposit_processes_api.create_deposit_processes (
67 			  p_effective_date         => sysdate
68   		,	  p_name                   => p_name
69   		,	  p_time_source_id         => l_time_source_id
70   		,	  p_mapping_id             => l_mapping_id
71   		,	  p_deposit_process_id     => l_deposit_process_id
72   		,	  p_object_version_number  => l_ovn );
73 
74 END load_deposit_process_row;
75 
76 END hxc_dep_upload_pkg;