DBA Data[Home] [Help]

PACKAGE BODY: APPS.GL_ELIM_ACCOUNTS_MAP_PKG

Source


1 PACKAGE BODY gl_elim_accounts_map_pkg As
2 /* $Header: glieacmb.pls 120.4 2005/05/05 01:06:45 kvora ship $ */
3 
4   --
5   -- Procedure
6   --   unique_line_number
7   -- Purpose
8   --   Make sure line number within each journal is unique
9   -- Parameters
10   --   None
11   -- History
12   --   11-06-1998  W Wong    Created
13   -- Notes
14   --   Raises GL_DUPLICATE_JE_LINE_NUM on failure
15   --
16   PROCEDURE unique_line_number (
17 		X_journal_id IN NUMBER,
18 		X_lineno     IN NUMBER,
19 		X_rowid      IN VARCHAR2 ) IS
20 
21     counter NUMBER;
22 
23     CURSOR line_count IS
24       SELECT 1
25       FROM DUAL
26       WHERE EXISTS (SELECT 1
27                     FROM   GL_ELIM_ACCOUNTS_MAP
28                     WHERE  journal_id   = X_journal_id
29                     AND    line_number  = X_lineno
30                     AND   (rowid <> X_rowid OR X_rowid IS NULL));
31  BEGIN
32    OPEN line_count;
33    FETCH line_count INTO counter;
34 
35    IF line_count%FOUND THEN
36      CLOSE line_count;
37      FND_MESSAGE.set_name('SQLGL', 'GL_DUPLICATE_JE_LINE_NUM');
38      APP_EXCEPTION.raise_exception;
39 
40    ELSE
41      CLOSE line_count;
42    END IF;
43 
44  EXCEPTION
45    WHEN app_exceptions.application_exception THEN
46      RAISE;
47 
48    WHEN OTHERS THEN
49      fnd_message.set_name('SQLGL', 'GL_UNHANDLED_EXCEPTION');
50      fnd_message.set_token(
51          'PROCEDURE',
52          'gl_elim_accounts_map_pkg.unique_line_number');
53      RAISE;
54 
55  END unique_line_number;
56 
57 
58  --
59  -- PROCEDURE source_spec_is_unique
60  --
61  PROCEDURE source_spec_is_unique (
62     X_journal_id IN NUMBER, X_row_id IN CHAR,
63     X_ss1     IN VARCHAR2,   X_ss2    IN VARCHAR2,
64     X_ss3     IN VARCHAR2,   X_ss4    IN VARCHAR2,
65     X_ss5     IN VARCHAR2,   X_ss6    IN VARCHAR2,
66     X_ss7     IN VARCHAR2,   X_ss8    IN VARCHAR2,
67     X_ss9     IN VARCHAR2,   X_ss10   IN VARCHAR2,
68     X_ss11    IN VARCHAR2,   X_ss12   IN VARCHAR2,
69     X_ss13    IN VARCHAR2,   X_ss14   IN VARCHAR2,
70     X_ss15    IN VARCHAR2,   X_ss16   IN VARCHAR2,
71     X_ss17    IN VARCHAR2,   X_ss18   IN VARCHAR2,
72     X_ss19    IN VARCHAR2,   X_ss20   IN VARCHAR2,
73     X_ss21    IN VARCHAR2,   X_ss22   IN VARCHAR2,
74     X_ss23    IN VARCHAR2,   X_ss24   IN VARCHAR2,
75     X_ss25    IN VARCHAR2,   X_ss26   IN VARCHAR2,
76     X_ss27    IN VARCHAR2,   X_ss28   IN VARCHAR2,
77     X_ss29    IN VARCHAR2,   X_ss30   IN VARCHAR2
78  ) IS
79 
80    counter NUMBER;
81 
82    CURSOR source_count IS
83      SELECT 1
84      FROM DUAL
85      WHERE EXISTS (SELECT 1
86                    FROM   GL_ELIM_ACCOUNTS_MAP
87                    WHERE  journal_id         = X_journal_id
88                    AND   (rowid <> X_row_id OR X_row_id IS NULL)
89                    AND   nvl(source_segment1, ' ') = nvl(X_ss1, ' ')
90                    AND   nvl(source_segment2, ' ') = nvl(X_ss2, ' ')
91                    AND   nvl(source_segment3, ' ') = nvl(X_ss3, ' ')
92                    AND   nvl(source_segment4, ' ') = nvl(X_ss4, ' ')
93                    AND   nvl(source_segment5, ' ') = nvl(X_ss5, ' ')
94                    AND   nvl(source_segment6, ' ') = nvl(X_ss6, ' ')
95                    AND   nvl(source_segment7, ' ') = nvl(X_ss7, ' ')
96                    AND   nvl(source_segment8, ' ') = nvl(X_ss8, ' ')
97                    AND   nvl(source_segment9, ' ') = nvl(X_ss9, ' ')
98                    AND   nvl(source_segment10,' ') = nvl(X_ss10,' ')
99                    AND   nvl(source_segment11,' ') = nvl(X_ss11,' ')
100                    AND   nvl(source_segment12,' ') = nvl(X_ss12,' ')
101                    AND   nvl(source_segment13,' ') = nvl(X_ss13,' ')
102                    AND   nvl(source_segment14,' ') = nvl(X_ss14,' ')
103                    AND   nvl(source_segment15,' ') = nvl(X_ss15,' ')
104                    AND   nvl(source_segment16,' ') = nvl(X_ss16,' ')
105                    AND   nvl(source_segment17,' ') = nvl(X_ss17,' ')
106                    AND   nvl(source_segment18,' ') = nvl(X_ss18,' ')
107                    AND   nvl(source_segment19,' ') = nvl(X_ss19,' ')
108                    AND   nvl(source_segment20,' ') = nvl(X_ss20,' ')
109                    AND   nvl(source_segment21,' ') = nvl(X_ss21,' ')
110                    AND   nvl(source_segment22,' ') = nvl(X_ss22,' ')
111                    AND   nvl(source_segment23,' ') = nvl(X_ss23,' ')
112                    AND   nvl(source_segment24,' ') = nvl(X_ss24,' ')
113                    AND   nvl(source_segment25,' ') = nvl(X_ss25,' ')
114                    AND   nvl(source_segment26,' ') = nvl(X_ss26,' ')
115                    AND   nvl(source_segment27,' ') = nvl(X_ss27,' ')
116                    AND   nvl(source_segment28,' ') = nvl(X_ss28,' ')
117                    AND   nvl(source_segment29,' ') = nvl(X_ss29,' ')
118                    AND   nvl(source_segment30,' ') = nvl(X_ss30,' '));
119  BEGIN
120    OPEN source_count;
121    FETCH source_count INTO counter;
122    IF source_count%FOUND THEN
123      CLOSE source_count;
124      FND_MESSAGE.set_name('SQLGL', 'GL_ELIM_SOURCE_NOT_UNIQUE');
125      APP_EXCEPTION.raise_exception;
126    ELSE
127      CLOSE source_count;
128    END IF;
129  EXCEPTION
130    WHEN app_exceptions.application_exception THEN
131      RAISE;
132    WHEN OTHERS THEN
133      fnd_message.set_name('SQLGL', 'GL_UNHANDLED_EXCEPTION');
134      fnd_message.set_token(
135          'PROCEDURE',
136          'gl_elim_accounts_map_pkg.source_spec_is_unique');
137      RAISE;
138  END source_spec_is_unique;
139 
140   --
141   -- Procedure
142   --   get_bal_seg_num
143   -- Purpose
144   --   Get the balancing segment number
145   -- History
146   --   12-17-1998  W Wong    Created
147   -- Notes
148   --
149   PROCEDURE get_bal_seg_num (
150     X_coa_id        IN		NUMBER,
151     X_company_value IN OUT NOCOPY 	NUMBER ) IS
152 
153     return_code	  	BOOLEAN;
154 
155   BEGIN
156 
157    /* get number of the company segment in the segments array */
158    return_code := fnd_flex_apis.get_qualifier_segnum(
159     	    	    	101,
160 			'GL#',
161 			X_coa_id,
162 			'GL_BALANCING',
163 			X_company_value);
164 
165    IF (NOT return_code) THEN
166       app_exception.raise_exception;
167    END IF;
168 
169   END get_bal_seg_num;
170 
171 
172 End gl_elim_accounts_map_pkg;