DBA Data[Home] [Help]

PACKAGE BODY: APPS.HXC_TIMECARD_ATTRIBUTES_PKG

Source


1 package body hxc_timecard_attributes_pkg as
2 /* $Header: hxctcrda.pkb 115.4 2002/06/10 13:31:10 pkm ship    $ */
3 --
4 -- function get_timecard_attribute
5 --
6 --
7 -- description Returns the first found Attribute for the given Detail Building
8 --             block.
9 --
10 -- parameters
11 --        p_timecard_id		  - Detail Building block id of timecard
12 --        p_timecard_ovn          - Detail Building block ovn of the timecard
13 --        p_map                   - Map for the attribute from the mappings
14 --        p_field_name            - Field Name of the attribute from the mappings
15 --
16 -- returns 	Attribute
17 --
18 FUNCTION get_timecard_attribute(
19            p_timecard_id number,
20            p_timecard_ovn number,
21            p_map varchar2,
22            p_field_name varchar2)
23 RETURN varchar2
24 is
25 
26 cursor csr_timecard_attributes(p_context varchar2, p_segment varchar2,bb_id number,bb_ovn number)
27 is
28 SELECT
29 decode(hta.attribute_category,
30 p_context, decode(p_segment,
31 'ATTRIBUTE1' , hta.attribute1,
32 'ATTRIBUTE2' , hta.attribute2,
33 'ATTRIBUTE3' , hta.attribute3,
34 'ATTRIBUTE4' , hta.attribute4,
35 'ATTRIBUTE5' , hta.attribute5,
36 'ATTRIBUTE6' , hta.attribute6,
37 'ATTRIBUTE7' , hta.attribute7,
38 'ATTRIBUTE8' , hta.attribute8,
39 'ATTRIBUTE9' , hta.attribute9,
40 'ATTRIBUTE10' , hta.attribute10,
41 'ATTRIBUTE11' , hta.attribute11,
42 'ATTRIBUTE12' , hta.attribute12,
43 'ATTRIBUTE13' , hta.attribute13,
44 'ATTRIBUTE14' , hta.attribute14,
45 'ATTRIBUTE15' , hta.attribute15,
46 'ATTRIBUTE16' , hta.attribute16,
47 'ATTRIBUTE17' , hta.attribute17,
48 'ATTRIBUTE18' , hta.attribute18,
49 'ATTRIBUTE19' , hta.attribute19,
50 'ATTRIBUTE20' , hta.attribute20,
51 'ATTRIBUTE21' , hta.attribute21,
52 'ATTRIBUTE22' , hta.attribute22,
53 'ATTRIBUTE23' , hta.attribute23,
54 'ATTRIBUTE24' , hta.attribute24,
55 'ATTRIBUTE25' , hta.attribute25,
56 'ATTRIBUTE26' , hta.attribute26,
57 'ATTRIBUTE27' , hta.attribute27,
58 'ATTRIBUTE28' , hta.attribute28,
59 'ATTRIBUTE29' , hta.attribute29,
60 'ATTRIBUTE30' , hta.attribute30
61 ),
62 null)
63 FROM hxc_time_building_blocks htb,
64      hxc_time_attribute_usages htau,
65      hxc_time_attributes hta
66 WHERE
67     htb.time_building_block_id = bb_id
68 and htb.object_version_number = bb_ovn
69 and htb.time_building_block_id = htau.time_building_block_id
70 and htb.object_version_number = htau.time_building_block_ovn
71 and htau.time_attribute_id  = hta.time_attribute_id
72 and htb.resource_type = 'PERSON'
73 and htb.date_to = hr_general.end_of_time
74 and htb.scope = 'DETAIL';
75 
76 CURSOR csr_mapping(p_map varchar2, p_field_name varchar2)
77 is
78 SELECT hma.context,hma.segment
79 FROM hxc_mapping_attributes_v hma
80 WHERE hma.map = p_map
81 and   hma.field_name = p_field_name;
82 
83 l_mapping_row csr_mapping%rowtype;
84 l_attribute_row varchar2(500);
85 l_attribute varchar2(1000);
86 BEGIN
87    l_attribute := null;
88 
89    Open  csr_mapping(p_map,p_field_name);
90    Fetch csr_mapping into l_mapping_row;
91    Close csr_mapping;
92 
93 
94    Open csr_timecard_attributes(l_mapping_row.context,
95                                 l_mapping_row.segment,
96                                 p_timecard_id,
97                                 p_timecard_ovn);
98    LOOP
99       Fetch csr_timecard_attributes into l_attribute_row;
100 
101 
102       EXIT when csr_timecard_attributes%NOTFOUND;
103       IF (l_attribute_row is not null)
104       THEN
105           l_attribute := l_attribute_row;
106           return l_attribute;
107        END IF;
108     END LOOP;
109     Close  csr_timecard_attributes;
110 
111     return l_attribute;
112  END get_timecard_attribute;
113 
114 END hxc_timecard_attributes_pkg;