DBA Data[Home] [Help]

PACKAGE BODY: APPS.FA_BEGIN_MASS_TRX_PKG

Source


1 PACKAGE BODY FA_BEGIN_MASS_TRX_PKG AS
2 /* $Header: FAXBMTB.pls 120.7 2009/04/15 14:57:55 bridgway ship $ */
3 
4 --
5 -- FUNCTION faxbmt
6 --
7 
8 FUNCTION faxbmt (X_book         IN      VARCHAR2,
9                  X_request_id   IN      NUMBER,
10 		 X_result	IN OUT NOCOPY BOOLEAN
11                  , p_log_level_rec        IN     FA_API_TYPES.log_level_rec_type)      RETURN BOOLEAN IS
12     h_trx_type		 varchar2(20);
13     h_conc_program_id 	 number(15);
14 BEGIN
15 
16     if (X_request_id IS NOT NULL and X_request_id <> 0) then
17 	SELECT RE.CONCURRENT_PROGRAM_ID
18         INTO h_conc_program_id
19         FROM FND_CONCURRENT_REQUESTS RE
20         WHERE RE.REQUEST_ID = X_request_id
21         AND   RE.PROGRAM_APPLICATION_ID in (140, 8731);
22         -- AND   RE.PROGRAM_APPLICATION_ID  = 140;  -- commented for bug2250373
23 
24 /*  BUG# 1468964
25     changed to incorporate all mass programs calls
26     only depreciation should use "other".  All
27     other programs should verify that periods are
28     in sync between primary and reporting books
29       -- bridgway 10/18/00
30 */
31 
32 	SELECT DECODE(PR.CONCURRENT_PROGRAM_NAME,
33                        'FAMTFR',  'TRANSFER',
34                        'FAMAPT',  'RECLASS',
35 		       'FAMRCL',  'RECLASS',
36                        'FARET',   'GAINLOSS',
37                        'FAMRET',  'MASSRET',
38                        'FAMRST',  'MASSRST',
39                        'FADRB',   'RB_DEP',
40                        'FADRB2',  'RB_DEP',
41                        'FAJERB',  'RB_CJE',
42                        'FAMCP',   'COPY',
43                        'FAIMCP',  'COPY',
44                        'FATAXUP', 'TAXUP',
45                        'FAUSTR',  'TAXUP',
46                        'FAACUP',  'TAXUP',
47                        'FATMTA',  'TAXUP',
48                        'FAMACH',  'MASSCHG',
49                        'FAVRVL',  'REVAL',
50                        'FACXTRET','TRANSFER', -- bug# 2153455
51                        'FACTFR',  'TRANSFER', -- bug# 2153455
52                        'FACHRMR', 'TRANSFER', -- bug# 2153455
53                        'OTHER')
54         INTO  h_trx_type
55         FROM  FND_CONCURRENT_PROGRAMS PR
56         WHERE PR.CONCURRENT_PROGRAM_ID = h_conc_program_id
57         AND PR.APPLICATION_ID in ( 140, 8731 );
58         -- AND   PR.APPLICATION_ID  = 140;  -- commented for bug2250373
59     else
60 	-- assume TRANSFER (most restrictive)
61 	h_trx_type := 'TRANSFER';
62     end if;
63 
64     /*
65      * Call faxcbs() to check the book status with submit_flag == FALSE
66      * and start_flag == TRUE because we are not submitting depreciation
67      * but are starting a mass process
68      */
69     if not FA_CHK_BOOKSTS_PKG.faxcbs(X_book, FALSE, TRUE,
70 				     0, h_trx_type, X_result, p_log_level_rec => p_log_level_rec) then
71 	FA_SRVR_MSG.Add_Message(
72 		CALLING_FN => 'FA_BEGIN_MASS_TRX_PKG.faxbmt',  p_log_level_rec => p_log_level_rec);
73 	X_result := FALSE;
74 	return (FALSE);
75     end if;
76 
77     /* All checks completed, update book_controls with mass request id */
78 
79     /*
80      * Ensure this is the only request running against the book by
81      * updating the request ID in fa_book_controls to the request_id
82      * of the running request
83      */
84 
85     UPDATE  fa_book_controls
86     SET     mass_request_id = X_request_id
87     WHERE   book_type_code = X_book;
88 
89     return (TRUE);
90 
91 EXCEPTION
92     WHEN NO_DATA_FOUND THEN
93 	FA_SRVR_MSG.Add_Message(
94 		CALLING_FN => 'FA_BEGIN_MASS_TRX_PKG.faxbmt',
95                 NAME => 'CONC_MISSING_REQUEST',
96                 TOKEN1 => 'ROUTINE', VALUE1 => 'FA_TRXAPP',
97                 TOKEN2 => 'REQUEST', VALUE2 => X_request_id,  p_log_level_rec => p_log_level_rec);
98 	X_result := FALSE;
99 	return (FALSE);
100     WHEN OTHERS THEN
101 	FA_SRVR_MSG.Add_SQL_Error
102                 (CALLING_FN=>'FA_BEGIN_MASS_TRX_PKG.faxbmt',  p_log_level_rec => p_log_level_rec);
103 	X_result := FALSE;
104 	return (FALSE);
105 END faxbmt;
106 
107 
108 --
109 -- FUNCTION faxemt
110 --
111 FUNCTION faxemt (X_book         IN      VARCHAR2,
112                  X_request_id   IN      NUMBER
113                  , p_log_level_rec        IN     FA_API_TYPES.log_level_rec_type)      RETURN BOOLEAN IS
114 BEGIN
115 
116     UPDATE  fa_book_controls
117     SET     mass_request_id = NULL
118     WHERE   book_type_code = X_book
119     AND     mass_request_id = X_request_id;
120 
121     commit work;
122 
123     return (TRUE);
124 EXCEPTION
125     WHEN OTHERS THEN
126 	rollback work;
127 	FA_SRVR_MSG.Add_SQL_Error
128                 (CALLING_FN=>'FA_BEGIN_MASS_TRX_PKG.faxemt',  p_log_level_rec => p_log_level_rec);
129 	return (FALSE);
130 END faxemt;
131 
132 
133 END FA_BEGIN_MASS_TRX_PKG;