DBA Data[Home] [Help]

PACKAGE BODY: APPS.POA_SAVINGS_ACCT

Source


1 PACKAGE BODY poa_savings_acct AS
2 /* $Header: poasvp5b.pls 115.0 99/07/15 20:06:25 porting shi $ */
3 
4   /*
5     NAME
6      get_cac_info
7     DESCRIPTION
8      main function for getting cost center, account and company ids
9      for Oracle Purchasing
10   */
11   --
12   PROCEDURE get_cac_info (p_ccid IN NUMBER,
13                      p_set_of_books_id IN NUMBER,
14                      p_cost_center_id OUT VARCHAR2,
15                      p_account_id OUT VARCHAR2,
16                      p_company_id OUT VARCHAR2)
17   IS
18 
19   structure_id      NUMBER;
20   n_segments        NUMBER;
21   segment_number    NUMBER;
22   segments          fnd_flex_ext.SegmentArray;
23   v_buf             VARCHAR2(240) := NULL;
24 
25   BEGIN
26 
27     POA_LOG.debug_line('Get_cac_info: entered');
28 
29 
30     SELECT chart_of_accounts_id INTO structure_id
31     FROM gl_sets_of_books
32     WHERE set_of_books_id = p_set_of_books_id;
33 
34     IF (fnd_flex_ext.get_segments('SQLGL', 'GL#', structure_id, p_ccid,
35                         n_segments, segments)) THEN
36       -- get cost center id
37       IF (fnd_flex_apis.get_qualifier_segnum(101, 'GL#', structure_id,
38                     'FA_COST_CTR',
39                     segment_number)) THEN
40         p_cost_center_id := segments(segment_number);
41       ELSE
42         p_cost_center_id := NULL;
43       END IF;
44 
45      -- get account id
46       IF (fnd_flex_apis.get_qualifier_segnum(101, 'GL#', structure_id,
47                     'GL_ACCOUNT',
48                     segment_number)) THEN
49         p_account_id := segments(segment_number);
50       ELSE
51         p_account_id := NULL;
52       END IF;
53 
54      -- get company id
55       IF (fnd_flex_apis.get_qualifier_segnum(101, 'GL#', structure_id,
56                     'GL_BALANCING',
57                     segment_number)) THEN
58         p_company_id := segments(segment_number);
59       ELSE
60         p_company_id := NULL;
61       END IF;
62     END IF;
63 
64     POA_LOG.debug_line('Get_cac_info: exit');
65 
66   EXCEPTION
67     WHEN others THEN
68      v_buf := 'Get account info: unexpected error ' || p_ccid || ' ' || p_set_of_books_id;
69 
70      ROLLBACK;
71      POA_LOG.put_line(v_buf);
72      POA_LOG.put_line(' ');
73 
74      RAISE;
75   END get_cac_info;
76   --
77 
78 END poa_savings_acct;
79 --