CREATE OR REPLACE PACKAGE SMS_UTIL IS FUNCTION send(receiver_in IN VARCHAR2, sender_in IN VARCHAR2, text_in IN VARCHAR2, username IN VARCHAR2, password IN VARCHAR2) RETURN VARCHAR2; END SMS_UTIL; / CREATE OR REPLACE PACKAGE BODY SMS_UTIL AS /*---------------------------------------------------------------------------------*/ /* FUNCTION send() */ /* */ /* Description: */ /* Submit a text-SMS using the PSWinCom SMS Gateway. */ /* */ /* All numbers must be specified as international numbers using the country-code */ /* but without any "+" or "00" prefix. */ /* */ /* Sender Number may also be a simple text of up to 11 characters instead of a */ /* number. No special characters are allowed in this text. */ /* */ /* Parameters: */ /* receiver_in Receiver Number, including country-code */ /* sender_in Sender Number, including country-code, or 11-letters */ /* text_in Text to send, up to 160 characters */ /* username Username for Gateway account to use */ /* password Password for Gateway account to use */ /* */ /* Returns: */ /* 'OK' if successfully sent, otherwise 'FAIL' */ /* */ /* Exceptions: */ /* None */ /* */ /* Example: */ /* SMS_UTIL.SEND('4792000000','company','Test message','testuser','xxx') */ /* */ /*---------------------------------------------------------------------------------*/ FUNCTION send(receiver_in IN VARCHAR2, sender_in IN VARCHAR2, text_in IN VARCHAR2, username IN VARCHAR2, password IN VARCHAR2) RETURN VARCHAR2 IS return_value VARCHAR2(10) := NULL; request VARCHAR2(2000) := NULL; result VARCHAR2(2000) := NULL; BEGIN BEGIN request := 'http://sms.pswin.com/http4sms/send.asp?' || 'rcv=' || receiver_in || '&' || 'snd=' || sender_in || '&' || 'txt=' || SUBSTR(text_in,1,160) || '&' || 'user=' || username || '&' || 'pw=' || password; request := utl_url.escape(request); SELECT utl_http.request(request) INTO result FROM dual; IF SUBSTR(result,1,1) = '0' THEN return_value := 'OK'; ELSE return_value := 'FAIL'; END IF; EXCEPTION WHEN VALUE_ERROR THEN return_value := 'FAIL'; END; RETURN return_value; END send; END SMS_UTIL; /