1: PACKAGE BODY XDP_RECOVERY AS
2: /* $Header: XDPRECOB.pls 120.1 2005/06/09 00:28:59 appldev $ */
3:
4: -- Private procedures Begin
5: -- Private procedures END
27: l_StartFlag boolean := FALSE;
28:
29: BEGIN
30: IF( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN -- Fix: 4256771, dbhagat, 28 Apr 05
31: FND_LOG.STRING (FND_LOG.LEVEL_PROCEDURE, 'XDP_RECOVERY.START_WATCHDOG_PROCESS', 'BEGIN:');
32: END IF;
33:
34:
35: -- So that Dequeuer blocks as per parameter else it immediately starts
65: if v_AllAdapters.adapter_status = XDP_ADAPTER.pv_statusNotAvailable then
66:
67: IF( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN -- Fix: 4256771, dbhagat, 28 Apr 05
68: FND_LOG.STRING (FND_LOG.LEVEL_STATEMENT,
69: 'XDP_RECOVERY.START_WATCHDOG_PROCESS',
70: 'Adapter not available: '||v_AllAdapters.CHANNEL_NAME);
71: END IF;
72:
73: XDP_ADAPTER_CORE_DB.Are_Adapter_Generics_Available (
83: if l_GenCountActive > 0 then
84:
85: IF( FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN -- Fix: 4256771, dbhagat, 28 Apr 05
86: FND_LOG.STRING (FND_LOG.LEVEL_EXCEPTION,
87: 'XDP_RECOVERY.START_WATCHDOG_PROCESS',
88: 'Adapter NOW available: '||v_AllAdapters.CHANNEL_NAME);
89: END IF;
90:
91: -- Set the adapter status to SHUTDOWN
111: if l_GenCountActive = 0 then
112:
113: IF( FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN -- Fix: 4256771, dbhagat, 28 Apr 05
114: FND_LOG.STRING (FND_LOG.LEVEL_EXCEPTION,
115: 'XDP_RECOVERY.START_WATCHDOG_PROCESS',
116: 'Adapter NO LONGER available: '||v_AllAdapters.CHANNEL_NAME);
117: END IF;
118:
119: -- Terminate the adapter if running
154: (v_AllAdapters.adapter_display_name);
155:
156: IF( FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN -- Fix: 4256771, dbhagat, 28 Apr 05
157: FND_LOG.STRING (FND_LOG.LEVEL_ERROR,
158: 'XDP_RECOVERY.START_WATCHDOG_PROCESS',
159: 'Adapter was running, termination failed with error: '||
160: l_RetCode||', message: '||l_ErrBuf);
161: END IF;
162: else
162: else
163: if l_RetCode = 0 then
164: IF( FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN -- Fix: 4256771, dbhagat, 28 Apr 05
165: FND_LOG.STRING (FND_LOG.LEVEL_EXCEPTION,
166: 'XDP_RECOVERY.START_WATCHDOG_PROCESS',
167: 'Adapter was running, terminated successfully');
168: END IF;
169: END IF;
170:
253: if (l_StartFlag) then
254:
255: IF( FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN -- Fix: 4256771, dbhagat, 28 Apr 05
256: FND_LOG.STRING (FND_LOG.LEVEL_EXCEPTION,
257: 'XDP_RECOVERY.START_WATCHDOG_PROCESS',
258: 'Automatic adapter required to be started: '||v_GetAutoAdapters.CHANNEL_NAME);
259: END IF;
260:
261: XDP_ADAPTER.Start_Adapter (
274: XDP_ADAPTER.pv_retAdapterInvalidState,
275: XDP_ADAPTER.pv_retAdapterCannotLock)) then
276: IF( FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN -- Fix: 4256771, dbhagat, 28 Apr 05
277: FND_LOG.STRING (FND_LOG.LEVEL_ERROR,
278: 'XDP_RECOVERY.START_WATCHDOG_PROCESS',
279: 'Adapter start failed with error: '||l_RetCode||
280: ', message: '||l_ErrBuf);
281: END IF;
282: else
281: END IF;
282: else
283: IF( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN -- Fix: 4256771, dbhagat, 28 Apr 05
284: FND_LOG.STRING (FND_LOG.LEVEL_STATEMENT,
285: 'XDP_RECOVERY.START_WATCHDOG_PROCESS',
286: 'Adapter started successfully');
287: END IF;
288: END IF;
289:
305: -- Stop IDLE SOD adapters
306:
307: IF( FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN -- Fix: 4256771, dbhagat, 28 Apr 05
308: FND_LOG.STRING (FND_LOG.LEVEL_EXCEPTION,
309: 'XDP_RECOVERY.START_WATCHDOG_PROCESS',
310: 'Adapter idle, required to be stopped: '||v_DWIAdapters.CHANNEL_NAME);
311: END IF;
312:
313: XDP_ADAPTER.Stop_Adapter (
326: XDP_ADAPTER.pv_retAdapterCannotLockReqSub,
327: XDP_ADAPTER.pv_retAdapterOpFailed)) then
328: IF( FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN -- Fix: 4256771, dbhagat, 28 Apr 05
329: FND_LOG.STRING (FND_LOG.LEVEL_ERROR,
330: 'XDP_RECOVERY.START_WATCHDOG_PROCESS',
331: 'Adapter stop failed with error: '||l_RetCode||
332: ', message: '||l_ErrBuf);
333: END IF;
334: elsif l_RetCode = XDP_ADAPTER.pv_retAdapterCannotLockReqSub then
339: rollback;
340: else
341: IF( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN -- Fix: 4256771, dbhagat, 28 Apr 05
342: FND_LOG.STRING (FND_LOG.LEVEL_STATEMENT,
343: 'XDP_RECOVERY.START_WATCHDOG_PROCESS',
344: 'Adapter stopped successfully');
345: END IF;
346: END IF;
347: else
348: -- Disconnect IDLE COD adapters
349:
350: IF( FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN -- Fix: 4256771, dbhagat, 28 Apr 05
351: FND_LOG.STRING (FND_LOG.LEVEL_EXCEPTION,
352: 'XDP_RECOVERY.START_WATCHDOG_PROCESS',
353: 'Adapter idle, required to be disconnected: '||v_DWIAdapters.CHANNEL_NAME);
354: END IF;
355:
356: XDP_ADAPTER.Disconnect_Adapter (
369: XDP_ADAPTER.pv_retAdapterCannotLock,
370: XDP_ADAPTER.pv_retAdapterOpFailed)) then
371: IF( FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN -- Fix: 4256771, dbhagat, 28 Apr 05
372: FND_LOG.STRING (FND_LOG.LEVEL_ERROR,
373: 'XDP_RECOVERY.START_WATCHDOG_PROCESS',
374: 'Adapter disconnect failed with error: '||l_RetCode||
375: ', message: '||l_ErrBuf);
376: END IF;
377: else
376: END IF;
377: else
378: IF( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN -- Fix: 4256771, dbhagat, 28 Apr 05
379: FND_LOG.STRING (FND_LOG.LEVEL_STATEMENT,
380: 'XDP_RECOVERY.START_WATCHDOG_PROCESS',
381: 'Adapter disconnected successfully');
382: END IF;
383: end if;
384:
394:
395: if l_ControllersNotRunning <> 'NONE' then
396:
397: IF( FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN -- Fix: 4256771, dbhagat, 28 Apr 05
398: FND_LOG.STRING (FND_LOG.LEVEL_EXCEPTION, 'XDP_RECOVERY.START_WATCHDOG_PROCESS',
399: 'Controllers NOT running: '||l_ControllersNotRunning);
400: END IF;
401:
402: -- Send notification with messages text as
408:
409: EXCEPTION
410: WHEN OTHERS THEN
411: IF( FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN -- Fix: 4256771, dbhagat, 28 Apr 05
412: FND_LOG.STRING (FND_LOG.LEVEL_ERROR, 'XDP_RECOVERY.START_WATCHDOG_PROCESS',
413: 'Unhandled error, SQLCODE: '||SQLCODE);
414: END IF;
415: commit;
416:
421: --
422:
423: -- BEGIN
424:
425: END XDP_RECOVERY;