1 Package hr_api_module_internal AUTHID CURRENT_USER as
2 /* $Header: peamdbsi.pkh 115.0 99/07/17 18:29:46 porting ship $ */
3 --
4 --
5 -- ----------------------------------------------------------------
6 -- |---------------------< create_api_module >-------------------------|
7 -- ----------------------------------------------------------------
8 -- {Start Of Comments}
9 --
10 -- Description:
11 -- This API creates an entry on the table that lists the HRMS API Modules. The
12 -- table contains details of the business processes and row handlers.
13 --
14 -- There are two types of module that can currently be created; a Row Handler
15 -- (Module Type = 'RH') or a Business Process (Module Type = 'BP'). If the
16 -- module is a R.H. then the Module Name should contain the name of the
17 -- database table. If the module is a B.P. then the Module Name will contain
18 -- the name of the business process procedure. These two rules are NOT
19 -- enforced by the code, it is down to the caller to provide the correct
20 -- values.
21 --
22 -- The Legislation Code value should only be set if the API module contains at
23 -- least one user hook and will be maintained by a legislation group or a
24 -- legislation vertical market. Only the legislation group which created the
25 -- row where the Legislation Code is not null can update or delete the row.
26 -- A null value in Legislation Code indicates that the API module contains at
27 -- least one user hook, was implemented and is maintained by HR core
28 -- development. Only HR core development can maintain rows where Legislation
29 -- Code is Null. Again, these two rules are not enforced by code.
30 --
31 -- The module package must be set if the module type is BP. If the module type
32 -- is RH then the module package must be RH.
33 --
34 -- Prerequisites:
35 -- None.
36 --
37 -- In Parameters:
38 -- Name Reqd Type Description
39 -- p_validate boolean If true, the database remains
40 -- unchanged. If false a valid
41 -- module is created in
42 -- the database.
43 -- p_api_module_type Y varchar2 The type of the module, either
44 -- 'BP' for Business Process or
45 -- 'RH' for Row Handler.
46 -- p_module_name Y varchar2 Name of Module.
47 -- p_data_within_business_group N varchar2 Flag that indicates whether or
48 -- not there is data within the
49 -- business group. Set to Y or N.
50 -- p_legislation_code N varchar2 Legislation Code.
51 -- p_module_package N varchar2 Package name. Must be set if
52 -- Module Type is BP. Must be
53 -- NULL if Module type is RH.
54 --
55 -- Post Success:
56 -- The API sets the following out parameters:
57 --
58 -- Name Type Description
59 -- p_api_module_id number Unique ID for the module
60 -- created by the API
61 --
62 -- Post Failure:
63 -- The API does not create the module and raises an error.
64 --
65 -- Access Status:
66 -- Public.
67 --
68 -- {End Of Comments}
69 --
70 procedure create_api_module
71 (p_validate in boolean default false,
72 p_effective_date in date,
73 p_api_module_type IN varchar2,
74 p_module_name IN varchar2,
75 p_data_within_business_group IN varchar2 default 'Y',
76 p_legislation_code IN varchar2 default null,
77 p_module_package IN varchar2 default null,
78 p_api_module_id OUT number);
79
80 -- ----------------------------------------------------------------
81 -- |---------------------< delete_api_module >-------------------------|
82 -- ----------------------------------------------------------------
83 -- {Start Of Comments}
84 --
85 -- Description:
86 -- This API deletes a row on the HR_API_MODULES table.
87 --
88 -- A module cannot be deleted if it is reference by a row in the HR_API_HOOKS.
89 -- Only HR core development can delete a row where LEGISLATION_CODE is null.
90 -- Only the legislation group which created the row where legislation code is
91 -- not null can delete the row.
92 -- These two checks are not enforced by code.
93 --
94 -- Prerequisites:
95 -- An existing API module.
96 --
97 -- In Parameters:
98 -- Name Reqd Type Description
99 -- p_validate N boolean If true, the database remains
100 -- unchanged. If false, the
101 -- module is deleted.
102 --
103 -- p_api_module_id Y number Unique ID for the module to be
104 -- deleted.
105 --
106 -- Post Success:
107 -- The API does not set any out parameters
108 --
109 -- Post Failure:
110 -- The API does not delete the module and raises an error.
111 --
112 -- Access Status:
113 -- Public.
114 --
115 -- {End Of Comments}
116 --
117 procedure delete_api_module
118 (p_validate in boolean default false,
119 p_api_module_id in number);
120 --
121 -- ----------------------------------------------------------------
122 -- |---------------------< update_api_module >--------------------|
123 -- ----------------------------------------------------------------
124 -- {Start Of Comments}
125 --
126 -- Description:
127 -- This business process allows HR core Development team to update
128 -- existing API module information.
129 --
130 -- Prerequisites:
131 -- An existing API module.
132 --
133 -- In Parameters:
134 -- Name Reqd Type Description
135 -- p_validate N boolean If true, the database remains
136 -- unchanged. If false a valid
137 -- assignment is created in
138 -- the database.
139 --
140 -- p_api_module_id Y number Unique ID for the module
141 -- created by the API
142 --
143 -- p_module_name N varchar2 Name of Module.
144 --
145 -- p_module_package N varchar2 Package name. Must be set if
146 -- Module Type is BP. Must be
147 -- NULL if Module type is RH.
148 --
149 -- Post Success:
150 -- The API sets no out parameters.
151 --
152 -- Post Failure:
153 -- The API does not update the module and raises an error.
154 --
155 -- Access Status:
156 -- Public.
157 --
158 -- {End Of Comments}
159 --
160 procedure update_api_module
161 (p_validate in boolean default false,
162 p_api_module_id in number,
163 p_module_name IN varchar2 default hr_api.g_varchar2,
164 p_module_package IN varchar2 default hr_api.g_varchar2,
165 p_data_within_business_group IN varchar2 default hr_api.g_varchar2,
166 p_effective_date IN date
167 );
168
169 end hr_api_module_internal;