[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 --