DBA Data[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;