DBA Data[Home] [Help]

PACKAGE BODY: APPS.GMF_FND_GET_SEGMENT_DTL

Source


1 PACKAGE BODY GMF_FND_GET_SEGMENT_DTL AS
2 /* $Header: gmfsegdb.pls 115.2 2002/11/11 00:42:07 rseshadr Exp $ */
3                   CURSOR cur_get_segment_dtl (  sobname      varchar2,
4                                                 segmentname  varchar2,
5                                                 segmentnum   number,
6                                                 segmentattr_type varchar2,
7                                                 attributevalue varchar2 ) IS
8       SELECT FND.segment_name,
9              FND.segment_num,
10         ATT.segment_attribute_type,
11         ATT.attribute_value
12         FROM fnd_id_flex_segments FND,
13              gl_sets_of_books     GLS,
14         fnd_segment_attribute_values ATT
15        WHERE GLS.name                 =  NVL(sobname,GLS.name)
16          AND GLS.chart_of_accounts_id = FND.id_flex_num
17          AND LOWER(FND.segment_name)  = LOWER(NVL(segmentname,FND.segment_name))         AND FND.segment_num          = NVL(segmentnum, FND.segment_num)
18          AND FND.enabled_flag         = 'Y'
19          AND ATT.APPLICATION_ID       = FND.APPLICATION_ID
20          AND ATT.ID_FLEX_CODE         = FND.ID_FLEX_CODE
21          AND ATT.ID_FLEX_NUM          = FND.ID_FLEX_NUM
22          AND ATT.APPLICATION_COLUMN_NAME = FND.APPLICATION_COLUMN_NAME
23          AND ATT.SEGMENT_ATTRIBUTE_TYPE =  NVL(segmentattr_type,ATT.SEGMENT_ATTRIBUTE_TYPE )
24          AND ATT.ATTRIBUTE_VALUE = NVL(attributevalue,ATT.ATTRIBUTE_VALUE);
25 
26 PROCEDURE proc_get_segment_dtl(sobname          IN     varchar2,
27                                     segmentname      IN OUT NOCOPY varchar2,
28                                     segmentnum       IN OUT NOCOPY number,
29                                     segmentattr_type IN OUT NOCOPY varchar2,
30                                     attributevalue   IN OUT NOCOPY varchar2,
31                                     row_to_fetch     IN     number,
32                                     statuscode          OUT NOCOPY number) AS
33      BEGIN
34         IF  NOT cur_get_segment_dtl%ISOPEN THEN
35             OPEN cur_get_segment_dtl(   sobname,
36                                         segmentname,
37                                         segmentnum,
38                                         segmentattr_type,
39                                         attributevalue);
40         END IF;
41 
42             FETCH cur_get_segment_dtl
43                   INTO segmentname,
44                   segmentnum,
45                   segmentattr_type,
46                   attributevalue;
47 
48             IF cur_get_segment_dtl%NOTFOUND THEN
49                    statuscode := 100;
50                 CLOSE cur_get_segment_dtl;
51             END IF;
52 
53                   IF row_to_fetch = 1 AND cur_get_segment_dtl%ISOPEN THEN
54                         CLOSE cur_get_segment_dtl;
55                    END IF;
56 
57         EXCEPTION
58                     WHEN OTHERS THEN
59                     statuscode := SQLCODE;
60         END;
61 END GMF_FND_GET_SEGMENT_DTL;