1 PACKAGE BODY GMF_FND_SEGMENT_INFO AS
2 /* $Header: gmfsegnb.pls 115.1 2002/11/11 00:42:49 rseshadr ship $ */
3 CURSOR segment_info( startdate date,
4 enddate date,
5 segmentname varchar2,
6 sobname varchar2) IS
7 SELECT fnd.segment_name, fnd.segment_num
8 FROM fnd_id_flex_segments fnd,gl_sets_of_books gls
9 WHERE gls.name=sobname AND
10 gls.chart_of_accounts_id=fnd.id_flex_num AND
11 fnd.segment_name=nvl(segmentname,fnd.segment_name) AND
12 fnd.creation_date BETWEEN
13 nvl(startdate,fnd.creation_date) AND
14 nvl(enddate,fnd.creation_date);
15 PROCEDURE get_segment_info( startdate in date,
16 enddate in date,
17 sobname in varchar2,
18 segmentname in out NOCOPY varchar2,
19 segmentnum out NOCOPY number,
20 statuscode out NOCOPY number) as
21 Begin
22 IF ((segmentname IS NOT NULL) AND (NOT segment_info%ISOPEN)) THEN
23 SELECT fnd.segment_num
24 INTO segmentnum
25 FROM fnd_id_flex_segments fnd,
26 gl_sets_of_books gls
27 WHERE gls.name=sobname
28 AND gls.chart_of_accounts_id=fnd.id_flex_num
29 AND fnd.segment_name=segmentname;
30
31 ELSE
32 IF NOT segment_info%ISOPEN THEN
33 OPEN segment_info(startdate,enddate,segmentname,sobname);
34 END IF;
35 FETCH segment_info
36 INTO segmentname,
37 segmentnum;
38 IF segment_info%NOTFOUND THEN
39 statuscode := 100;
40 close segment_info;
41 END IF;
42 END IF;
43 EXCEPTION
44 WHEN OTHERS THEN
45 statuscode := SQLCODE;
46 End;
47 END GMF_FND_SEGMENT_INFO;