1 PACKAGE BODY hr_sa_utility AS
2 /* $Header: hrsautil.pkb 115.3 2003/08/06 08:05:49 atrivedi noship $ */
3 --
4 --
5 -- Formats the full name for the Saudi legislation.
6 --
7 FUNCTION per_sa_full_name
8 (p_first_name IN VARCHAR2
9 ,p_middle_names IN VARCHAR2
10 ,p_last_name IN VARCHAR2
11 ,p_known_as IN VARCHAR2
12 ,p_title IN VARCHAR2
13 ,p_suffix IN VARCHAR2
14 ,p_pre_name_adjunct IN VARCHAR2
15 ,p_per_information1 IN VARCHAR2
16 ,p_per_information2 IN VARCHAR2
17 ,p_per_information3 IN VARCHAR2
18 ,p_per_information4 IN VARCHAR2
19 ,p_per_information5 IN VARCHAR2
20 ,p_per_information6 IN VARCHAR2
21 ,p_per_information7 IN VARCHAR2
22 ,p_per_information8 IN VARCHAR2
23 ,p_per_information9 IN VARCHAR2
24 ,p_per_information10 IN VARCHAR2
25 ,p_per_information11 IN VARCHAR2
26 ,p_per_information12 IN VARCHAR2
27 ,p_per_information13 IN VARCHAR2
28 ,p_per_information14 IN VARCHAR2
29 ,p_per_information15 IN VARCHAR2
30 ,p_per_information16 IN VARCHAR2
31 ,p_per_information17 IN VARCHAR2
32 ,p_per_information18 IN VARCHAR2
33 ,p_per_information19 IN VARCHAR2
34 ,p_per_information20 IN VARCHAR2
35 ,p_per_information21 IN VARCHAR2
36 ,p_per_information22 IN VARCHAR2
37 ,p_per_information23 IN VARCHAR2
38 ,p_per_information24 IN VARCHAR2
39 ,p_per_information25 IN VARCHAR2
40 ,p_per_information26 IN VARCHAR2
41 ,p_per_information27 IN VARCHAR2
42 ,p_per_information28 IN VARCHAR2
43 ,p_per_information29 IN VARCHAR2
44 ,p_per_information30 in VARCHAR2) RETURN VARCHAR2 IS
45 --
46 --
47 -- Local variables
48 --
49 l_full_name varchar2(2000);
50 BEGIN
51 --
52 --
53 -- Construct the full name which has the following format:
54 --
55 -- <First>, <Father>, <Grandfather>, <Last>
56 --
57 -- NB. <Father> is held in PER_INFORMATION1 and
58 -- <Grandfather> is held in PER_INFORMATION2.
59 --
60 SELECT SUBSTR(LTRIM(RTRIM (DECODE(p_first_name, null,'',' ' || p_first_name)
61 ||DECODE(p_per_information1, null, '', ' ' || p_per_information1) -- Father
62 ||DECODE(p_per_information2, null, '', ' ' || p_per_information2) -- Grandfather
63 ||DECODE(p_last_name, null, '', ' '||p_last_name)
64 )), 1, 240)
65 INTO l_full_name
66 FROM dual;
67
68 --
69 --
70 -- Return the full name.
71 --
72 RETURN (l_full_name);
73 END per_sa_full_name;
74 END hr_sa_utility;