[Home] [Help]
PACKAGE BODY: APPS.INV_TM
Source
1 PACKAGE BODY inv_tm AS
2 /* $Header: INVTMB.pls 120.1 2005/07/01 13:07:05 appldev ship $ */
3 -- FUNCTION launch
4 -- This function would call the inventory concurrent manager
5 -- to process a transaction in synchronous mode.
6 --
7 -- Input Parameters:
8 -- program - the concurrent manager program name
9 -- args - use to pass the transaction header id
10 -- put1-5 - input parameters, default value = NULL
11 -- get1-5 - input parameters for fnd_transactions.get_values
12 -- timeout - timeout limit
13 -- rc_field - error code with the following possible values:
14 -- - 0 means success
15 -- - 1 means time out
16 -- - 2 means concurrent manager is not available
17 -- - 3 means no concurrent manager is defined
18 --
19 -- Return:
20 -- a boolean TRUE if succeed, FALSE otherwise
21 --
22
23 FUNCTION launch(program in varchar2,
24 args in varchar2 default NULL,
25 put1 in varchar2 default NULL,
26 put2 in varchar2 default NULL,
27 put3 in varchar2 default NULL,
28 put4 in varchar2 default NULL,
29 put5 in varchar2 default NULL,
30 get1 in varchar2 default NULL,
31 get2 in varchar2 default NULL,
32 get3 in varchar2 default NULL,
33 get4 in varchar2 default NULL,
34 get5 in varchar2 default NULL,
35 timeout in number default NULL,
36 rc_field in varchar2 default NULL)
37 RETURN BOOLEAN
38 IS
39 outcome VARCHAR(80);
40 msg VARCHAR(255);
41 rtvl NUMBER;
42 args1 VARCHAR(240);
43 args2 VARCHAR(240);
44 args3 VARCHAR(240);
45 args4 VARCHAR(240);
46 args5 VARCHAR(240);
47 args6 VARCHAR(240);
48 args7 VARCHAR(240);
49 args8 VARCHAR(240);
50 args9 VARCHAR(240);
51 args10 VARCHAR(240);
52 args11 VARCHAR(240);
53 args12 VARCHAR(240);
54 args13 VARCHAR(240);
55 args14 VARCHAR(240);
56 args15 VARCHAR(240);
57 args16 VARCHAR(240);
58 args17 VARCHAR(240);
59 args18 VARCHAR(240);
60 args19 VARCHAR(240);
61 args20 VARCHAR(240);
62 prod VARCHAR(240);
63 func VARCHAR(240);
64 m_message VARCHAR2(2000);
65 p_userid NUMBER;
66 p_respid NUMBER;
67 p_applid NUMBER;
68 rpc_timeout NUMBER;
69
70
71 l_debug number := NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
72 BEGIN
73 -- load values for field gets;
74 args12 := null;
75 args13 := null;
76 args14 := null;
77 args15 := null;
78 args16 := null;
79
80 /*
81 -- initialize profile
82 p_userid := 1001; --hardcoded at vision
83 p_respid := 20634; --hardcoded to inventory in 11.5
84 p_applid := 401; --hardcoded to inventory
85 fnd_global.apps_initialize(p_userid, p_respid, p_applid);
86 */
87
88 if timeout is NULL then
89 rpc_timeout := to_number(fnd_profile.value('INV_RPC_TIMEOUT'));
90 else
91 rpc_timeout := timeout;
92 end if;
93
94 prod := 'INV';
95 func := program;
96
97 rtvl := fnd_transaction.synchronous
98 (
99 NVL(rpc_timeout,500),outcome, msg, prod,func, args,
100 put1, put2, put3, put4, put5,
101 get1, get2, get3, get4, get5,
102 args12, args13, args14, args15, args16,
103 chr(0), '', '', '');
104
105 /* dbms_output.put_line('fnd_transaction.synchrous return: outcome is '
106 ||NVL(outcome,'NULL') || ' and rtvl is ' ||To_char(rtvl)); */
107
108 -- handle problems
109
110 --rc_field := rtvl;
111 IF rtvl = 1 THEN
112 -- FND_Message.debug('Remote Call Failed: Timed-Out');
113 fnd_message.set_name('INV', 'INV_TM_TIME_OUT');
114 fnd_msg_pub.add;
115 -- dbms_output.put_line(fnd_message.get);
116 -- dbms_output.put_line('timeout');
117 RETURN (FALSE);
118 ELSIF rtvl = 2 THEN
119 -- FND_Message.debug('Remote Call Failed: Manager Unavailable');
120 -- dbms_output.put_line('Error in INVTM: '|| fnd_message.get);
121 -- dbms_output.put_line('no meessage from dbms_pipe, manager unavailable');
122 fnd_message.set_name('INV', 'INV_TM_MGR_NOT_AVAIL');
123 fnd_msg_pub.add;
124 RETURN (FALSE);
125 ELSIF rtvl = 3 THEN
126 fnd_message.set_name('FND','CONC-DG-Inactive No Manager');
127 fnd_msg_pub.add;
128 RETURN(FALSE);
129 /*
130 ELSIF rtvl = 0 THEN
131 -- get info back from server and handle problems
132 -- rtvl := fnd_transaction.get_values
133 -- (args1, args2, args3, args4, args5,
134 -- args6, args7, args8, args9, args10, args11,
135 -- args12, args13, args14, args15,
136 -- args16, args17, args18, args19, args20);
137 -- dbms_output.put_line('syn call: '||To_char(rtvl));
138 */
139 END IF;
140 /*
141 IF (args1 IS NOT NULL) THEN
142 dbms_output.put_line(args1);
143 END IF;
144 IF (args2 IS NOT NULL) THEN
145 dbms_output.put_line(args2);
146 END IF;
147 IF (args3 IS NOT NULL) THEN
148 dbms_output.put_line(args3);
149 END IF;
150 IF (args4 IS NOT NULL) THEN
151 dbms_output.put_line(args4);
152 END IF;
153 IF (args5 IS NOT NULL) THEN
154 dbms_output.put_line(args5);
155 END IF;
156 IF (args6 IS NOT NULL) THEN
157 dbms_output.put_line(args6);
158 END IF;
159 IF (args7 IS NOT NULL) THEN
160 dbms_output.put_line(args7);
161 END IF;
162 IF (args8 IS NOT NULL) THEN
163 dbms_output.put_line(args8);
164 END IF;
165 IF (args9 IS NOT NULL) THEN
166 dbms_output.put_line(args9);
167 END IF;
168 IF (args10 IS NOT NULL) THEN
169 dbms_output.put_line(args10);
170 END IF;
171 */
172
173 -- Kick back status
174 IF (outcome = 'SUCCESS' and rtvl = 0 ) THEN
175 RETURN (TRUE);
176 ELSE
177 RETURN (FALSE);
178 END IF;
179 END launch;
180 END inv_tm;