TDD_TEST1.MESSAGE_API

Name Total Lines Analyzed Lines Total Coverage Code Coverage
TDD_TEST1.MESSAGE_API 38 14
92.11%
78.57%
1 PACKAGE BODY message_api AS
2   --Source from https://oracle-base.com/articles/misc/dbms_pipe
3   PROCEDURE send_msg (
4     p_number  IN  NUMBER,
5     p_text    IN  VARCHAR2,
6     p_date    IN  DATE DEFAULT SYSDATE
7   ) AS
8     l_status  NUMBER;
9     BEGIN
10       DBMS_PIPE.pack_message(p_number);
11       DBMS_PIPE.pack_message(p_text);
12       DBMS_PIPE.pack_message(p_date);
13 
14       l_status := DBMS_PIPE.send_message('message_pipe');
15       IF l_status != 0 THEN
16         RAISE_APPLICATION_ERROR(-20001, 'message_pipe error');
17       END IF;
18     END;
19 
20   PROCEDURE receive_msg (
21     p_number  OUT  NUMBER,
22     p_text    OUT  VARCHAR2,
23     p_date    OUT  DATE
24   ) AS
25     l_result  INTEGER;
26     BEGIN
27       l_result := DBMS_PIPE.receive_message ( pipename => 'message_pipe', timeout  => DBMS_PIPE.maxwait );
28       IF l_result = 0 THEN
29         -- Message received successfully.
30         DBMS_PIPE.unpack_message(p_number);
31         DBMS_PIPE.unpack_message(p_text);
32         DBMS_PIPE.unpack_message(p_date);
33       ELSE
34         RAISE_APPLICATION_ERROR(-20002, 'message_api.receive was unsuccessful. Return result: ' || l_result);
35       END IF;
36     END;
37 
38 END message_api;