[Home] [Help]
PACKAGE BODY: APPS.WMS_DEVICE_INTEGRATION_WCS
Source
1 PACKAGE BODY WMS_DEVICE_INTEGRATION_WCS AS
2 /* $Header: WMSDVPBB.pls 120.0 2005/05/24 19:11:37 appldev noship $ */
3 PROCEDURE sync_device_request (
4 p_request_id IN NUMBER,
5 p_device_id IN NUMBER,
6 p_resubmit_flag IN VARCHAR2,
7 x_status_code OUT NOCOPY VARCHAR2,
8 x_status_msg OUT NOCOPY VARCHAR2,
9 x_device_status OUT NOCOPY VARCHAR2
10 )
11 IS
12 BEGIN
13 WMS_CAROUSEL_INTEGRATION_PKG.sync_device_request (p_request_id,
14 p_device_id,
15 p_resubmit_flag,
16 x_status_code,
17 x_status_msg,
18 x_device_status
19 );
20 END;
21
22 --
23 --
24 PROCEDURE update_request (
25 p_request_id IN NUMBER,
26 p_device_id IN NUMBER := NULL,
27 p_status_code IN VARCHAR2,
28 p_status_msg IN VARCHAR2 := NULL
29 )
30 IS
31 BEGIN
32 UPDATE wms_device_requests_hist
33 SET status_code = p_status_code,
34 status_msg = p_status_msg
35 WHERE request_id = p_request_id
36 AND device_id = NVL (p_device_id, device_id);
37 END;
38
39 --
40 --
41 PROCEDURE sync_device (
42 p_organization_id IN NUMBER,
43 p_device_id IN NUMBER,
44 p_employee_id IN NUMBER,
45 p_sign_on_flag IN VARCHAR2,
46 x_status_code OUT NOCOPY VARCHAR2,
47 x_device_status OUT NOCOPY VARCHAR2
48 )
49 IS
50 BEGIN
51 WMS_CAROUSEL_INTEGRATION_PKG.sync_device (p_organization_id,
52 p_device_id,
53 p_employee_id,
54 p_sign_on_flag,
55 x_status_code,
56 x_device_status
57 );
58 END;
59
60 PROCEDURE signoff_msg_to_out_pipe (
61 p_device_id IN VARCHAR2,
62 p_message IN VARCHAR2,
63 x_pipe_name OUT NOCOPY VARCHAR2,
64 x_message_code OUT NOCOPY NUMBER,
65 x_return_status OUT NOCOPY VARCHAR2,
66 x_msg_count OUT NOCOPY NUMBER,
67 x_msg_data OUT NOCOPY VARCHAR2
68 )
69 IS
70 l_pipe_created NUMBER; --0 no error
71 l_message_sent NUMBER;
72 /*
73 0 - no error
74 1 - pipe timed out
75 3 - interrupt occurred
76 ORA-23322 - insufficient privileges to write to the pipe
77 */
78 l_writing_pipe VARCHAR2(40);
79 v_addr VARCHAR2(64);
80 BEGIN
81 x_return_status := fnd_api.g_ret_sts_success;
82 -- Get pipe NAME
83 l_writing_pipe :=
84 NVL (wms_carousel_integration_pvt.get_config_parameter
85 (p_name => 'PIPE_NAME',
86 p_sequence_id => p_device_id),
87 'PIPE_NAME_' || p_device_id
88 );
89 l_writing_pipe := 'OUT_' || l_writing_pipe;
90
91 -- Get task addr
92 v_addr :=
93 wms_carousel_integration_pvt.get_config_parameter
94 (p_name => 'TASK_ADDR',
95 p_device_type_id => wms_carousel_integration_pvt.get_device_type_id(p_device_id)
96 );
97
98 dbms_pipe.pack_message(NVL (v_addr, '1'));
99 dbms_pipe.pack_message(p_message);
100
101 l_message_sent := dbms_pipe.send_message(l_writing_pipe);
102 x_pipe_name := l_writing_pipe;
103 x_message_code := l_message_sent;
104 EXCEPTION
105 WHEN OTHERS
106 THEN
107 x_return_status := fnd_api.G_RET_STS_ERROR;
108 x_msg_data := SQLERRM;
109 END signoff_msg_to_out_pipe;
110
111 END WMS_DEVICE_INTEGRATION_WCS;