DBA Data[Home] [Help]

PACKAGE BODY: APPS.FARX_C_MCP

Source


1 PACKAGE BODY FARX_C_MCP AS
2 /* $Header: FARXCMCPB.pls 120.1 2009/03/27 02:42:50 bridgway ship $ */
3 
4 --
5 -- PROCEDURE Mass_Change_Preview
6 --
7 
8 PROCEDURE Mass_Change_Preview(
9      errbuf             OUT NOCOPY VARCHAR2,
10      retcode            OUT NOCOPY VARCHAR2,
11      argument1          IN     VARCHAR2,
12      argument2          IN     VARCHAR2 := NULL,
13      argument3          IN     VARCHAR2 := NULL,
14      argument4          IN     VARCHAR2 := NULL,
15      argument5          IN     VARCHAR2 := NULL,
16      argument6          IN     VARCHAR2 := NULL,
17      argument7          IN     VARCHAR2 := NULL,
18      argument8          IN     VARCHAR2 := NULL,
19      argument9          IN     VARCHAR2 := NULL,
20      argument10         IN     VARCHAR2 := NULL,
21      argument11         IN     VARCHAR2 := NULL,
22      argument12         IN     VARCHAR2 := NULL,
23      argument13         IN     VARCHAR2 := NULL,
24      argument14         IN     VARCHAR2 := NULL,
25      argument15         IN     VARCHAR2 := NULL,
26      argument16         IN     VARCHAR2 := NULL,
27      argument17         IN     VARCHAR2 := NULL,
28      argument18         IN     VARCHAR2 := NULL,
29      argument19         IN     VARCHAR2 := NULL,
30      argument20         IN     VARCHAR2 := NULL,
31      argument21         IN     VARCHAR2 := NULL,
32      argument22         IN     VARCHAR2 := NULL,
33      argument23         IN     VARCHAR2 := NULL,
34      argument24         IN     VARCHAR2 := NULL,
35      argument25         IN     VARCHAR2 := NULL,
36      argument26         IN     VARCHAR2 := NULL,
37      argument27         IN     VARCHAR2 := NULL,
38      argument28         IN     VARCHAR2 := NULL,
39      argument29         IN     VARCHAR2 := NULL,
40      argument30         IN     VARCHAR2 := NULL,
41      argument31         IN     VARCHAR2 := NULL,
42      argument32         IN     VARCHAR2 := NULL,
43      argument33         IN     VARCHAR2 := NULL,
44      argument34         IN     VARCHAR2 := NULL,
45      argument35         IN     VARCHAR2 := NULL,
46      argument36         IN     VARCHAR2 := NULL,
47      argument37         IN     VARCHAR2 := NULL,
48      argument38         IN     VARCHAR2 := NULL,
49      argument39         IN     VARCHAR2 := NULL,
50      argument40         IN     VARCHAR2 := NULL,
51      argument41         IN     VARCHAR2 := NULL,
52      argument42         IN     VARCHAR2 := NULL,
53      argument43         IN     VARCHAR2 := NULL,
54      argument44         IN     VARCHAR2 := NULL,
55      argument45         IN     VARCHAR2 := NULL,
56      argument46         IN     VARCHAR2 := NULL,
57      argument47         IN     VARCHAR2 := NULL,
58      argument48         IN     VARCHAR2 := NULL,
59      argument49         IN     VARCHAR2 := NULL,
60      argument50         IN     VARCHAR2 := NULL,
61      argument51         IN     VARCHAR2 := NULL,
62      argument52         IN     VARCHAR2 := NULL,
63      argument53         IN     VARCHAR2 := NULL,
64      argument54         IN     VARCHAR2 := NULL,
65      argument55         IN     VARCHAR2 := NULL,
66      argument56         IN     VARCHAR2 := NULL,
67      argument57         IN     VARCHAR2 := NULL,
68      argument58         IN     VARCHAR2 := NULL,
69      argument59         IN     VARCHAR2 := NULL,
70      argument60         IN     VARCHAR2 := NULL,
71      argument61         IN     VARCHAR2 := NULL,
72      argument62         IN     VARCHAR2 := NULL,
73      argument63         IN     VARCHAR2 := NULL,
74      argument64         IN     VARCHAR2 := NULL,
75      argument65         IN     VARCHAR2 := NULL,
76      argument66         IN     VARCHAR2 := NULL,
77      argument67         IN     VARCHAR2 := NULL,
78      argument68         IN     VARCHAR2 := NULL,
79      argument69         IN     VARCHAR2 := NULL,
80      argument70         IN     VARCHAR2 := NULL,
81      argument71         IN     VARCHAR2 := NULL,
82      argument72         IN     VARCHAR2 := NULL,
83      argument73         IN     VARCHAR2 := NULL,
84      argument74         IN     VARCHAR2 := NULL,
85      argument75         IN     VARCHAR2 := NULL,
86      argument76         IN     VARCHAR2 := NULL,
87      argument77         IN     VARCHAR2 := NULL,
88      argument78         IN     VARCHAR2 := NULL,
89      argument79         IN     VARCHAR2 := NULL,
90      argument80         IN     VARCHAR2 := NULL,
91      argument81         IN     VARCHAR2 := NULL,
92      argument82         IN     VARCHAR2 := NULL,
93      argument83         IN     VARCHAR2 := NULL,
94      argument84         IN     VARCHAR2 := NULL,
95      argument85         IN     VARCHAR2 := NULL,
96      argument86         IN     VARCHAR2 := NULL,
97      argument87         IN     VARCHAR2 := NULL,
98      argument88         IN     VARCHAR2 := NULL,
99      argument89         IN     VARCHAR2 := NULL,
100      argument90         IN     VARCHAR2 := NULL,
101      argument91         IN     VARCHAR2 := NULL,
102      argument92         IN     VARCHAR2 := NULL,
103      argument93         IN     VARCHAR2 := NULL,
104      argument94         IN     VARCHAR2 := NULL,
105      argument95         IN     VARCHAR2 := NULL,
106      argument96         IN     VARCHAR2 := NULL,
107      argument97         IN     VARCHAR2 := NULL,
108      argument98         IN     VARCHAR2 := NULL,
109      argument99         IN     VARCHAR2 := NULL,
110      argument100        IN     VARCHAR2 := NULL) IS
111 
112     h_mesg_str         VARCHAR2(2000);
113     h_count            NUMBER;
114     h_status           BOOLEAN;
115     h_retcode          VARCHAR2(3);
116 
117     -- error in the concurrent wrapper
118     conc_failure      EXCEPTION;
119 
120 BEGIN
121     /* Validate the arguments passed in. */
122     IF argument1 IS NULL THEN
123        fnd_message.set_name('OFA','FA_MRCL_PARAM_REQUIRED');
124        h_mesg_str := fnd_message.get;
125        fa_rx_conc_mesg_pkg.log(h_mesg_str);
126        raise conc_failure;
127     END IF;
128 
129     -- This argument must exist in the table.
130     SELECT count(1) INTO h_count
131       FROM fa_mass_changes
132      WHERE mass_change_id = to_number(argument1)
133        AND rownum < 2;
134 
135     IF (h_count = 0) THEN
136        fnd_message.set_name('OFA','FA_MRCL_PARAM_REQUIRED');
137        h_mesg_str := fnd_message.get;
138        fa_rx_conc_mesg_pkg.log(h_mesg_str);
139        raise conc_failure;
140     END IF;
141 
142     /* No data type conversion is necessary. */
143 
144     /* Call the inner procedure to preview reclass. */
145     FARX_MCP.Preview_Change(
146        X_Mass_Change_Id      => to_number(argument1),
147        X_RX_Flag             => 'YES',
148        retcode               => h_retcode,
149        errbuf                => errbuf);
150 
151     IF (h_retcode = 0) THEN
152        retcode := 0;
153     ELSIF (h_retcode = 1) THEN
154        retcode := 1;
155     ELSE
156        retcode := 2;
157     END IF;
158 
159 EXCEPTION
160     WHEN OTHERS THEN
161        retcode := 2;  -- Completed with error.
162        /* A fatal error has occurred, rollback transaction and update status
163           to 'FAILED_PRE' and commit the change. */
164        ROLLBACK WORK;
165        UPDATE fa_mass_changes
166           SET status = 'FAILED_PRE'
167         WHERE mass_change_id = to_number(argument1);
168        COMMIT WORK;
169        IF SQLCODE <> 0 THEN
170           fa_rx_conc_mesg_pkg.log(SQLERRM);
171        END IF;
172 
173 END Mass_Change_Preview;
174 
175 END FARX_C_MCP;