1 PACKAGE hri_opl_multi_thread AUTHID CURRENT_USER AS
2 /* $Header: hriomthd.pkh 120.6 2006/11/24 15:59:10 jtitmas noship $ */
3 --
4 other_thread_in_error EXCEPTION;
5 child_process_failure EXCEPTION;
6 INVALID_SQL EXCEPTION;
7 --
8 g_mthd_action_array hri_adm_mthd_actions%rowtype;
9 --
10 -- This is the entry for the master thread or the Multithread Utility
11 -- It controls the master threads and its processing
12 --
13 PROCEDURE process (errbuf OUT NOCOPY VARCHAR2,
14 retcode OUT NOCOPY NUMBER,
15 p_program IN VARCHAR2,
16 p_business_group_id IN NUMBER,
17 p_collect_from_date IN VARCHAR2,
18 p_collect_to_date IN VARCHAR2,
19 p_full_refresh_flag IN VARCHAR2,
20 p_hierarchical_process IN VARCHAR2 DEFAULT 'N',
21 p_hierarchical_type IN VARCHAR2 DEFAULT NULL,
22 p_attribute1 IN VARCHAR2 DEFAULT NULL,
23 p_attribute2 IN VARCHAR2 DEFAULT NULL,
24 p_attribute3 IN VARCHAR2 DEFAULT NULL,
25 p_attribute4 IN VARCHAR2 DEFAULT NULL,
26 p_attribute5 IN VARCHAR2 DEFAULT NULL,
27 p_attribute6 IN VARCHAR2 DEFAULT NULL,
28 p_attribute7 IN VARCHAR2 DEFAULT NULL,
29 p_attribute8 IN VARCHAR2 DEFAULT NULL,
30 p_attribute9 IN VARCHAR2 DEFAULT NULL,
31 p_attribute10 IN VARCHAR2 DEFAULT NULL,
32 p_attribute11 IN VARCHAR2 DEFAULT NULL,
33 p_attribute12 IN VARCHAR2 DEFAULT NULL,
34 p_attribute13 IN VARCHAR2 DEFAULT NULL,
35 p_attribute14 IN VARCHAR2 DEFAULT NULL,
36 p_attribute15 IN VARCHAR2 DEFAULT NULL,
37 p_attribute16 IN VARCHAR2 DEFAULT NULL,
38 p_attribute17 IN VARCHAR2 DEFAULT NULL,
39 p_attribute18 IN VARCHAR2 DEFAULT NULL,
40 p_attribute19 IN VARCHAR2 DEFAULT NULL,
41 p_attribute20 IN VARCHAR2 DEFAULT NULL) ;
42 --
43 -- Obsolete function to get next range id
44 --
45 FUNCTION get_next_mthd_range_id
46 (p_rownum number
47 ,p_chunk number
48 )
49 RETURN NUMBER;
50 --
51 -- This procedure serves the request raised by the child threading for
52 -- allocation of a range for processing. This procedure serves as the
53 -- controller for ranges
54 --
55 PROCEDURE get_next_range(p_mthd_action_id IN NUMBER
56 ,p_mthd_range_id IN OUT NOCOPY NUMBER
57 ,p_mthd_range_lvl OUT NOCOPY NUMBER
58 ,p_mthd_range_lvl_order OUT NOCOPY NUMBER
59 ,p_start_object_id OUT NOCOPY NUMBER
60 ,p_end_object_id OUT NOCOPY NUMBER
61 ,p_mode IN VARCHAR2 default 'N') ;
62 --
63 -- This procedure generates the range_id
64 --
65 PROCEDURE gen_object_range (p_mthd_action_id NUMBER);
66 --
67 -- Entry point for starting the child threads. It is directly invoked from the
68 -- concurrent manager
69 --
70 PROCEDURE process_range(
71 errbuf OUT NOCOPY VARCHAR2
72 ,retcode OUT NOCOPY NUMBER
73 ,p_master_request_id IN NUMBER
74 ,p_program IN VARCHAR2
75 ,p_mthd_action_id IN NUMBER
76 ,p_worker_id IN NUMBER);
77 --
78 PROCEDURE output(p_text VARCHAR2);
79 --
80 PROCEDURE dbg(p_text VARCHAR2);
81 --
82 -- This procedure returns the multithreading action record.
83 --
84 FUNCTION get_mthd_action_array(p_mthd_action_id IN NUMBER)
85 RETURN hri_adm_mthd_actions%rowtype;
86 --
87 -- This procedure fetches a new mthd_action_id of the invoking
88 -- process.
89 --
90 FUNCTION get_mthd_action_id(p_program IN VARCHAR2,
91 p_start_time IN DATE)
92 RETURN NUMBER;
93 --
94 PROCEDURE update_parameters(p_mthd_action_id IN NUMBER,
95 p_full_refresh IN VARCHAR2,
96 p_global_start_date IN DATE);
97 --
98 FUNCTION get_worker_id RETURN NUMBER;
99 --
100 PROCEDURE wait_for_lower_levels(p_mthd_action_id IN NUMBER
101 ,p_mthd_range_lvl_order IN NUMBER);
102 --
103 END hri_opl_multi_thread;