DBA Data[Home] [Help]

PACKAGE BODY: APPS.INV_FLEXNUM

Source


1 PACKAGE BODY INV_FLEXNUM AS
2 /* $Header: INVFLEXB.pls 120.1 2005/07/01 12:20:40 appldev ship $ */
3 
4 G_PKG_NAME               CONSTANT VARCHAR2(30) := 'INV_FLEXNUM';
5 
6 Function INV_GETNUM return VARCHAR2 IS
7   flexff        fnd_flex_key_api.flexfield_type ;
8   strcff        fnd_flex_key_api.structure_type ;
9   numsegs       number ;
10   seglist       fnd_flex_key_api.segment_list ;
11   segtype       fnd_flex_key_api.segment_type ;
12   i NUMBER;
13   d VARCHAR2(100);
14 begin
15  fnd_flex_key_api.set_session_mode('seed_data');
16  flexff := fnd_flex_key_api.find_flexfield('INV','MTLL') ;
17  strcff := fnd_flex_key_api.find_structure(flexff,101) ;
18  fnd_flex_key_api.get_segments(flexff,strcff,TRUE,numsegs,seglist) ;
19  i := 1;
20  d := 'ALL';
21  WHILE (i <= numsegs) LOOP
22     segtype := fnd_flex_key_api.find_segment(flexff,strcff,seglist(i)) ;
23     IF (segtype.column_name = 'SEGMENT19') THEN
24        d := d || '\\0' || i;
25     ELSIF (segtype.column_name = 'SEGMENT20') THEN
26        d := d || '\\0' || i;
27     END IF;
28     i := i + 1;
29  END LOOP;
30  return(d) ;
31 EXCEPTION
32    WHEN OTHERS THEN
33    IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
34         THEN
35             FND_MSG_PUB.Add_Exc_Msg
36             (   G_PKG_NAME
37             ,   'INV_FLEXNUM'
38             );
39         END IF;
40  RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
41 
42 END INV_GETNUM;
43 END INV_FLEXNUM ;