184: l_legislation_code varchar2(150);
185:
186: BEGIN
187: l_is_unique := 'N';
188: l_formula_id := PER_BG_NUMBERING_METHOD_PKG.Get_PersonNumber_Formula
189: (p_person_type, p_effective_date);
190: IF l_formula_id is not null THEN
191: -- ------------------------------------------------------------------------+
192: -- Process number generation using Fast Formula +
198: (p_business_group_id => p_business_group_id);
199: --
200: -- Execute formula
201: --
202: l_person_number := PER_BG_NUMBERING_METHOD_PKG.Execute_Get_Person_Number_FF(
203: p_formula_id => l_formula_id
204: ,p_effective_date => p_effective_date
205: ,p_business_group_id => p_business_group_id
206: ,p_person_type => p_person_type
238: -- ------------------------------------------------------------------------+
239: -- Process number generation using existing mechanism +
240: -- ------------------------------------------------------------------------+
241: BEGIN
242: l_use_sequence := PER_BG_NUMBERING_METHOD_PKG.Global_person_numbering(p_person_type);
243: if l_use_sequence then
244: -- retrieve number from sequence
245: l_person_number := PER_BG_NUMBERING_METHOD_PKG.GetGlobalPersonNum(p_person_type);
246: else
241: BEGIN
242: l_use_sequence := PER_BG_NUMBERING_METHOD_PKG.Global_person_numbering(p_person_type);
243: if l_use_sequence then
244: -- retrieve number from sequence
245: l_person_number := PER_BG_NUMBERING_METHOD_PKG.GetGlobalPersonNum(p_person_type);
246: else
247: -- Table-based method is used
248: SELECT next_value
249: , rowid
264: );
265: if l_is_unique = 'N' then
266: if l_use_sequence then
267: -- get number from sequence
268: l_person_number := PER_BG_NUMBERING_METHOD_PKG.GetGlobalPersonNum(p_person_type);
269: else
270: l_counter := l_counter + 1;
271: l_person_number := l_person_number + 1;
272: end if;