Submitting an Order

XML for Submitting an Order from the Test Center Interface

<FULFILL_SO_001>
 <CNTRLAREA>
  <BSR>
    <VERB>FULFILL</VERB>
    <NOUN>SO</NOUN>
    <REVISION>001</REVISION>
  </BSR>
 </CNTROLAREA>
<DATAAREA>
    <SOHEADER execmode = "ASYNC">
   <ORDERNUM>RV_22004004</ORDERNUM>
    <VERSION>1</VERSION>
<SCHEDULE>
     <PRIORITY>100</PRIORITY>
    <JEOPARDYENABLED>N</JEOPARDYENABLED>
</SCHEDULE>
<PARAM>
    <PARAMNAME>FULFILLMENT_STATUS</PARAMNAME>
    <PARAMVALUE>Open</PARAMVALUE>
</PARAM>
<PARAM>
    <PARAMNAME>FULFILLMENT_RESULT</PARAMNAME>
    <PARAMVALUE>Submitted</PARAMVALUE>
</PARAM>
<EXTENSION>
     <ATTRIBUTE index = "1">Test</ATTRIBUTE>
     <ATTRIBUTE index = "2">Test 2</ATTRIBUTE>
</EXTENSION>
</SOHEADER>
<SOLINEITEM fulfillrequired = "Y">
    <LINENUM>1</LINENUM>
    <ACTIONCODE>ADD</ACTIONCODE>
     <SERVICE>
   <ITEMNAME>SFM_NUM_PORT</ITEMNAME>
   </SERVICE>
   <ORGANIZATION>
   <ORGID>204</ORGID>
  </ORGANIZATION>
  <IBINSTANCEID source = "NONE"/>
  <SEQUENCE>2</SEQUENCE>
  <SCHEDULE>
  <PRIORITY>100</PRIORITY>
  <JEOPARDYENABLED>N</JEOPARDYENABLED>
  </SCHEDULE>
<PARAM>
   <PARAMNAME>SP_NAME</PARAMNAME>
    <PARAMVALUE>SUPERTEL1</PARAMVALUE>
  </PARAM>
<PARAM>
  <PARAMNAME>DONOR_SP_ID</PARAMNAME>
  <PARAMVALUE>SUPERTEL2</PARAMVALUE>
</PARAM>
<PARAM>
  <PARAMNAME>RECIPIENT_NAME</PARAMNAME>
  <PARAMVALUE>SUPERTEL1</PARAMVALUE>
</PARAM>
<PARAM>
  <PARAMNAME>RECIPIENT_SP_ID</PARAMNAME>
  <PARAMVALUE>SUPERTEL1</PARAMVALUE>
</PARAM>
<PARAM>
  <PARAMNAME>ROUTING_NUMBER</PARAMNAME>
  <PARAMVALUE>2100</PARAMVALUE>
</PARAM>
<PARAM>
   <PARAMNAME>STARTING_NUMBER</PARAMNAME>
   <PARAMVALUE>22004004</PARAMVALUE>
</PARAM>
<PARAM>
   <PARAMNAME>ENDING_NUMBER</PARAMNAME>
   <PARAMVALUE>22004004</PARAMVALUE>
 </PARAM>
</SOLINEITEM>
</DATAAREA>
</FULFILL_SO_001>

PL/SQL Script for Submitting an Order

--SET SERVEROUTPUT ON
UNDEFINE SUFFIX
UNDEFINE SUFFIX_TO
DECLARE
l_error_code NUMBER := NULL;
l_error_message VARCHAR(2000) := NULL;
l_ORDER_HEADER XDP_TYPES.ORDER_HEADER;
l_ORDER_PARAMETER_LIST XDP_TYPES.ORDER_PARAMETER_LIST;
l_ORDER_LINE_LIST XDP_TYPES.ORDER_LINE_LIST ;
l_PARAM_LIST XDP_TYPES.LINE_PARAM_LIST ;
l_ORDER_ID NUMBER := 0;
l_PORTING_ID NUMBER := 0;
l_porting_date date := SYSDATE;
l_can_porting_date varchar2(40) := NULL;
BEGIN

l_ERROR_CODE := 0;
SELECT XNP_SVA_ID_SEQ.NEXTVAL INTO l_PORTING_ID FROM DUAL;
-- Get the date to provision in the Canonical format
l_can_porting_date := XNP_UTILS.DATE_TO_CANONICAL(l_porting_date);
-- Set the Order Header values
l_ORDER_HEADER.order_number := ’SUP1_22&GROUP.6&SUFFIX’;
l_ORDER_HEADER.order_version := ’1’;
-- Set the number of Line items and number
-- them sequentially. In this case there is just one
l_ORDER_LINE_LIST(1).LINE_NUMBER := 1;
-- l_ORDER_LINE_LIST(1).provisioning_required_flag := ’Y’;
-- l_ORDER_LINE_LIST(1).PROVISIONING_DATE := SYSDATE;
-- Set the line item name as the Work Item name
-- l_ORDER_LINE_LIST(1).LINE_ITEM_NAME := ’SUP1_PORT_IN’;
l_ORDER_LINE_LIST(1).LINE_ITEM_NAME := ’PORTING_ORDER_FROM_
OMS’;
l_ORDER_LINE_LIST(1).IS_WORKITEM_FLAG := ’Y’;
-- Set all the parameters needed for the
-- porting inquiry Work Item
l_PARAM_LIST(1).line_number := 1;
l_PARAM_LIST(1).parameter_name := ’STARTING_NUMBER’;
l_PARAM_LIST(1).parameter_value := ’22&GROUP.6&SUFFIX’;
l_PARAM_LIST(2).line_number := 1;
l_PARAM_LIST(2).parameter_name := ’ENDING_NUMBER’;
l_PARAM_LIST(2).parameter_value := ’22&GROUP.6&SUFFIX_TO’;
l_PARAM_LIST(3).line_number := 1;
l_PARAM_LIST(3).parameter_name := ’CUSTOMER_ID’;
l_PARAM_LIST(3).parameter_value := ’CUST_&SUFFIX’;
l_PARAM_LIST(4).line_number := 1;
l_PARAM_LIST(4).parameter_name := ’NEW_SP_DUE_DATE’;
l_PARAM_LIST(4).parameter_value :=
XNP_UTILS.DATE_TO_CANONICAL(TRUNC(SYSDATE) + 0);
l_PARAM_LIST(5).line_number := 1;
l_PARAM_LIST(5).parameter_name := ’DONOR_SP_ID’;
l_PARAM_LIST(5).parameter_value := ’SUPERTEL2’; /* SuperTel 2 */
l_PARAM_LIST(6).line_number := 1;
l_PARAM_LIST(6).parameter_name := ’RECIPIENT_SP_ID’;
l_PARAM_LIST(6).parameter_value := ’SUPERTEL1’; /* SuperTel 1 */
-- Assign routing numbers belonging to the
-- recipient SP id only
l_PARAM_LIST(7).line_number := 1;
l_PARAM_LIST(7).parameter_name := ’ROUTING_NUMBER’;
l_PARAM_LIST(7).parameter_value := to_char(2100);
l_PARAM_LIST(8).line_number := 1;
l_PARAM_LIST(8).parameter_name := ’SP_NAME’;
l_PARAM_LIST(8).parameter_value := ’SUPERTEL1’;
l_PARAM_LIST(9).line_number := 1;
l_PARAM_LIST(9).parameter_name := ’PORTING_ID’;
l_PARAM_LIST(9).parameter_value := to_char(l_porting_id);
l_PARAM_LIST(10).line_number := 1;
l_PARAM_LIST(10).parameter_name := ’RV_FILENAME’;
l_PARAM_LIST(10).parameter_value := ’RVfile1’; /* SuperTel 1 */
l_PARAM_LIST(11).line_number := 1;
l_PARAM_LIST(11).parameter_name := ’PTO_FLAG’;
l_PARAM_LIST(11).parameter_value := ’N’; /* SuperTel 1 */
-- Invoke the API to submit this order
XDP_INTERFACES.PROCESS_ORDER
  (l_ORDER_HEADER
  ,l_ORDER_PARAMETER_LIST
  ,l_ORDER_LINE_LIST
  ,l_PARAM_LIST
  ,l_ORDER_ID
  ,l_ERROR_CODE
  ,l_ERROR_MESSAGE
  );
IF l_ERROR_CODE != 0
 THEN
  DBMS_OUTPUT.put_line(
’Error Code: ’||substr(to_char(l_error_code),1,400));
  DBMS_OUTPUT.put_line(’Error Message: ’||substr(l_error_message,1,400));
 RETURN;
ELSE
DBMS_OUTPUT.put_line(
 ’PROCESS_ORDER: SUCCESS: ORDER ID =
 ’||to_char(l_ORDER_ID));
 END IF;
 COMMIT;
END;
/