Skip to content

Error Code 19 Using EliOrderService.asmx CreateOrder() Method

Release Date: 10/07/2023
Version: 8.x & Up

A developer received Error Code 19 when using the Elliott web services EliOrderService.asmx CreateOrder() method.  The EliOrderService.asm document details can be found in this KB article:
At the end of this document, you can find a list of error codes. According to this document, error code 19 means:
    19 = Fail To Apply A/R Open Item

To be more specific, this means payment information was provided in the header area when using the CreateOrder() method. The payment-related information involved the following fields:
  • ORDER_CHECK_NO
  • ORDER_CHECK_DATE
  • ORDER_PAYMENT_AMOUNT
  • ORDER_PAYMENT_TP
When some of these fields are provided, it implies the caller wishes to apply the payments in the A/R open item table to this order that was just created.  If we can't find it, then the Error 19 is returned.

The following is the information the developer passed to the CreateOrder() method:

<SOAP-ENV:Envelope
   xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
   xmlns:ns1="http://webservices.elliott.com/eliorderservice.asmx">
   <SOAP-ENV:Body>
      <ns1:CreateOrder>
          <ns1:CreateOrderInput>
              <ns1:ORDER_DATE_ENTERED>2023-10-06T08:35:02</ns1:ORDER_DATE_ENTERED>
              <ns1:ORDER_DATE>2023-10-06T08:35:02</ns1:ORDER_DATE>
              <ns1:ORDER_CUSTOMER_NO>130008</ns1:ORDER_CUSTOMER_NO>
              <ns1:ORDER_SHIPPING_DATE>2023-10-06T08:35:02</ns1:ORDER_SHIPPING_DATE>
              <ns1:ORDER_SLS_PCT_COMM_1>0</ns1:ORDER_SLS_PCT_COMM_1>
              <ns1:ORDER_SLS_COMM_AMT_1>0</ns1:ORDER_SLS_COMM_AMT_1>
              <ns1:ORDER_SLS_PCT_COMM_2>0</ns1:ORDER_SLS_PCT_COMM_2>
              <ns1:ORDER_SLS_COMM_AMT_2>0</ns1:ORDER_SLS_COMM_AMT_2>
              <ns1:ORDER_SLS_PCT_COMM_3>0</ns1:ORDER_SLS_PCT_COMM_3>
              <ns1:ORDER_SLS_COMM_AMT_3>0</ns1:ORDER_SLS_COMM_AMT_3>
              <ns1:ORDER_TAX_CODE_1>NO</ns1:ORDER_TAX_CODE_1>
              <ns1:ORDER_TAX_PERCENT_1>0</ns1:ORDER_TAX_PERCENT_1>
              <ns1:ORDER_TAX_PERCENT_2>0</ns1:ORDER_TAX_PERCENT_2>
              <ns1:ORDER_TAX_PERCENT_3>0</ns1:ORDER_TAX_PERCENT_3>
              <ns1:ORDER_DISC_PERCENT>0</ns1:ORDER_DISC_PERCENT>
              <ns1:ORDER_TOTAL_SALE_AMT>0</ns1:ORDER_TOTAL_SALE_AMT>
              <ns1:ORDER_TOTL_TAXBL_AMT>0</ns1:ORDER_TOTL_TAXBL_AMT>
              <ns1:ORDER_TOTAL_COST>15</ns1:ORDER_TOTAL_COST>
              <ns1:ORDER_TOTAL_WEIGHT>0</ns1:ORDER_TOTAL_WEIGHT>
              <ns1:ORDER_MISC_CHRG_AMT>0</ns1:ORDER_MISC_CHRG_AMT>
              <ns1:ORD_FREIGHT_AMOUNT>0</ns1:ORD_FREIGHT_AMOUNT>
              <ns1:ORD_SALES_TAX_AMT_1>0</ns1:ORD_SALES_TAX_AMT_1>
              <ns1:ORD_SALES_TAX_AMT_2>0</ns1:ORD_SALES_TAX_AMT_2>
              <ns1:ORD_SALES_TAX_AMT_3>0</ns1:ORD_SALES_TAX_AMT_3>
              <ns1:ORDER_COMM_PERCENT>0</ns1:ORDER_COMM_PERCENT>
              <ns1:ORDER_COMM_AMOUNT>0</ns1:ORDER_COMM_AMOUNT>
              <ns1:ORDER_COMMENT1>PreA **1111       15 TX12345678901</ns1:ORDER_COMMENT1>
              <ns1:ORDER_COMMENT2>AVS OK: Address and 5-digit Zip code match</ns1:ORDER_COMMENT2>
              <ns1:ORDER_PAYMENT_AMOUNT>0</ns1:ORDER_PAYMENT_AMOUNT>
              <ns1:ORDER_PAYMNT_DIS_AMT>0</ns1:ORDER_PAYMNT_DIS_AMT>
              <ns1:ORDER_CHECK_DATE>2023-10-06T08:35:02</ns1:ORDER_CHECK_DATE>
              <ns1:ORDER_DATE_PICKED>2023-10-06T08:35:02</ns1:ORDER_DATE_PICKED>
              <ns1:ORDER_DATE_BILLED>2023-10-06T08:35:02</ns1:ORDER_DATE_BILLED>
              <ns1:ORDER_INVOICE_DATE>2023-10-06T08:35:02</ns1:ORDER_INVOICE_DATE>
              <ns1:ORDER_POSTED_DATE>2023-10-06T08:35:02</ns1:ORDER_POSTED_DATE>
              <ns1:ORDER_ACC_MISC_AMT>0</ns1:ORDER_ACC_MISC_AMT>
              <ns1:ORDER_ACC_FREIGHT>0</ns1:ORDER_ACC_FREIGHT>
              <ns1:ORDER_ACC_TOT_TAXBLE>0</ns1:ORDER_ACC_TOT_TAXBLE>
              <ns1:ORDER_ACC_SALES_TAX>0</ns1:ORDER_ACC_SALES_TAX>
              <ns1:ORDER_ACC_TOT_SALES>0</ns1:ORDER_ACC_TOT_SALES>
              <ns1:ORDER_SHIP_ACK_DATE>2023-10-06T08:35:02</ns1:ORDER_SHIP_ACK_DATE>
              <ns1:ORDER_PICK_TICK_CUT>2023-10-06T08:35:02</ns1:ORDER_PICK_TICK_CUT>
              <ns1:OrderTimeRelease>2023-10-06T08:35:02</ns1:OrderTimeRelease>
              <ns1:LineItem>
                  <ns1:LineItem>
                      <ns1:LINE_ITM_SEQ_NO>0</ns1:LINE_ITM_SEQ_NO>
                      <ns1:LINE_ITM_ITEM_NO>45MMJ</ns1:LINE_ITM_ITEM_NO>
                      <ns1:LINE_ITM_SER_EFF_DT>2023-10-06T08:35:02</ns1:LINE_ITM_SER_EFF_DT>
                      <ns1:LINE_ITM_LOT_EXP_DT>2023-10-06T08:35:02</ns1:LINE_ITM_LOT_EXP_DT>
                      <ns1:LINE_ITM_QTY_ORDRD>1</ns1:LINE_ITM_QTY_ORDRD>
                      <ns1:LINE_ITM_QTY_TO_SHIP>0</ns1:LINE_ITM_QTY_TO_SHIP>
                      <ns1:LINE_ITM_UNIT_PRICE>0</ns1:LINE_ITM_UNIT_PRICE>
                      <ns1:LINE_ITM_DISC_PCT>0</ns1:LINE_ITM_DISC_PCT>
                      <ns1:LINE_ITM_REQST_DATE>2023-10-06T08:35:02</ns1:LINE_ITM_REQST_DATE>
                      <ns1:LINE_ITM_QTY_BCK_ORD>0</ns1:LINE_ITM_QTY_BCK_ORD>
                      <ns1:LINE_QTY_RET_TO_STCK>0</ns1:LINE_QTY_RET_TO_STCK>
                      <ns1:LINE_ITM_UNIT_COST>0</ns1:LINE_ITM_UNIT_COST>
                      <ns1:LINE_ITM_UNIT_WEIGHT>0</ns1:LINE_ITM_UNIT_WEIGHT>
                      <ns1:LINE_COMM_PCT_OR_AMT>0</ns1:LINE_COMM_PCT_OR_AMT>
                      <ns1:LINE_ITM_PROMISE_DT>2023-10-06T08:35:02</ns1:LINE_ITM_PROMISE_DT>
                      <ns1:LINE_TOTAL_QTY_ORDRD>0</ns1:LINE_TOTAL_QTY_ORDRD>
                      <ns1:LINE_TOTAL_QTY_SHIPD>0</ns1:LINE_TOTAL_QTY_SHIPD>
                      <ns1:LINE_ITM_PRICE_ORG>0</ns1:LINE_ITM_PRICE_ORG>
                      <ns1:LINE_ITM_NO_PACKAGE>0</ns1:LINE_ITM_NO_PACKAGE>
                      <ns1:LINE_ITM_PO_XR_SEQNO>0</ns1:LINE_ITM_PO_XR_SEQNO>
                      <ns1:LINE_ITM_PRC_LVL_NO>0</ns1:LINE_ITM_PRC_LVL_NO>
                      <ns1:LINE_ITM_BKT_SEQ_NO>0</ns1:LINE_ITM_BKT_SEQ_NO>
                      <ns1:IMHLTFIL_TRX_ID>0</ns1:IMHLTFIL_TRX_ID>
                      <ns1:DisplayUnitPrice>0</ns1:DisplayUnitPrice>
                  </ns1:LineItem>
              </ns1:LineItem>
              <ns1:ContactID>0</ns1:ContactID>
              <ns1:DisplayFreight>0</ns1:DisplayFreight>
              <ns1:DisplayTax>0</ns1:DisplayTax>
              <ns1:DisplayMisc>0</ns1:DisplayMisc>
              <ns1:DisplayAmtPaid>0</ns1:DisplayAmtPaid>
              <ns1:DisplayTaxPercent1>0</ns1:DisplayTaxPercent1>
              <ns1:DisplayTaxPercent2>0</ns1:DisplayTaxPercent2>
              <ns1:DisplayTaxPercent3>0</ns1:DisplayTaxPercent3>
              <ns1:SendConfirmationEmail>N</ns1:SendConfirmationEmail>
              <ns1:OrderTimeReleaseNew>0</ns1:OrderTimeReleaseNew>
          </ns1:CreateOrderInput>
      </ns1:CreateOrder>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

We noticed the <ns1:ORDER_CHECK_DATE>2023-10-06T08:35:02</ns1:ORDER_CHECK_DATE> is passed. We asked the developer not to pass. However, the developer claims they are passing a null value and yet still received the Error 19.

Upon further investigation, we found the following ORDER_CHECK_DATE was passed: 1969-12-31T17:00:00-07:00 (the local time that corresponds to UTC time 1970-01-01). This is due to the fact that  the language the developer used treats 1970-01-01 (UNIX time) as the default /empty date.

The core of the the issue is how Nullable types are represented in xml vs different languages. Elliott web services was written in VB.NET, at a time when the platform didn't have actual Nullable types in .NET. DateTime default values are 0001-01-01T:00:00:00-00:00. Most of Elliott web services callers are .NET apps. The auto-generated client hides these details. 

In summary, for a language that's not written in .NET that needs to call Elliott web services, if a developer needs to pass a null date value, he/she should pass the value  0001-01-01T:00:00:00-00:00. On the other hand, for .NET applications, the developer can simply pass null and .NET will hide the details from the  developer.


EMK

Feedback and Knowledge Base