IBM Support

OFTP send service get a status of ERROR: Unspecified Abort code. An error was detected for which no specific code is defined

Troubleshooting


Problem

Intermittently the OFTP BP Service Name: DEV_OFTPSendFile has a status of ERROR, Unspecified Abort code. An error was detected for which no specific code is defined. The Advanced Status notes "OFTP_SEND_FAILED", although the file is always sent to the TP and the BP always completes.

Symptom

The OdetteFTP log contains multiple errors for the session.

The error is on the client side, while sending. The server receives the data in spite of the error.

The value <DuplicateFileChecking>No</DuplicateFileChecking> has been specified in the partnerprofile.xml which is why the duplicate filename is permitted.

Error Message

The Status Report posted an Error: Unspecified Abort code. An error was detected for which no specific code is defined.

OdetteFTP.log:

[2010-03-01 16:37:30.978]ERROR 000000000000 GLOBAL_SCOPE DEV_OFTPSendFile.outbound.14087655_0000 (04:37:30:978) The OFTPDataSet XML Structure in process data is incomplete (missing or empty). Check attribute PhysicalPartnerContract or node LogicalPartnerContract/document.

[2010-03-01 16:37:44.464] WARN 000000000000 GLOBAL_SCOPE DEV_OFTPSendFile.outbound.14087656_0000 (04:37:44:464) Date and/or time format in DataItem of OFTPDataItem # 1 is not compatible with OdetteAPILevel 4 defined in LPContract PPC_ABCD_ORG: Date is too short.Time has no counter value.

Service Name: DEV_OFTPSendFile Process Data (bottom portion):

<OFTPVirtualFilename>dataitem1.dat</OFTPVirtualFilename>
<Date>060825</Date>
<Time>153055</Time>
</properties>
</DataItem_1>
</OFTPDataSet>
<OFTPResponse PhysicalPartnerContract="PPC_ABCD_ORG">
<DataItem_0>
<Status>success</Status>
</DataItem_0>
</OFTPResponse>
<Prev_NotSuccess_Adv_Status>OFTP_SEND_FAILED</Prev_NotSuccess_Adv_Status>
</ProcessData>

Cause

This issue occurred because the OFTP Virtual FIleName being used is not unique.

The BPML has been very slightly modified from the default oftpout BP. The <assign to="Date"> and <assign to="Time"> have hardcoded values. This is the cause of the duplication.
For example, the date Date=060825 cannot be correct for a transfer made on 2010-03-01.

Resolving The Problem

Modify the processes to insert a valid date and time into the oftp send BP.

In the send BP, normally for the outbound process you should use the Timestamp Utility service in the bp which will then create the date/timestamp for the file (see standard BP 'oftpout'). Or you can pass those values to the OFTP send BP from the BP which initiates the send.

Here are two examples which work together:

Example option 1

 <sequence name="send">

  <operation name="Timestamp Utility - Date/Time">
   <participant name="TimestampUtilService"/>
   <output message="TimestampUtilServiceTypeInputMessage">
    <assign to="." from="*"></assign>
    <assign to="action">current_time</assign>
    <!--<assign to="format">yyyyMMdd_HHmmssSSS0</assign>--><!-- version1.4 -->
    <assign to="format">yyMMdd_HHmmss</assign><!-- version1. and version 1.3 -->
   </output>
   <input message="inmsg">
    <!-- KS date was: ddMMyyyy -->
    <assign to="/ProcessData/date" from="substring-before(/inmsg/time/text(),'_')"/>
    <!-- KS time was: kmmss -->
    <assign to="/ProcessData/time" from="substring-after(/inmsg/time/text(),'_')"/>
   </input>
  </operation>


  <operation name="Business Process Metadata">
   <participant name="BPMetaDataInfoService"/>
   <output message="BPMetaDataServiceTypeInputMessage">
    <assign to="." from="*"/>
   </output>
   <input message="inmsg">
    <assign to="/ProcessData/filename" from="concat('PID_',/inmsg/BPDATA/WORKFLOW_ID/text())"/>
    <!--<assign to="." from="*"/>-->
   </input>
  </operation>


  <operation name="CreateOFTPDataSetStructure">
   <participant name="AssignService" />

   <output message="DataSetOut">
    <assign to=" OFTPDataSet/@PhysicalPartnerContract" from="'PPC_B2BDP07_to_B2BDemo'"/>
    <assign to="OFTPDataSet/DataItem_1/properties/LogicalPartnerContract" from="'LPC_B2BDP07_sends_to_B2BDemo'"/>
    <assign to="OFTPDataSet/DataItem_1/properties/OFTPVirtualFilename" from="filename/text()"/>
    <assign to="OFTPDataSet/DataItem_1/properties/Date" from="date/text()"/><!-- optional -->
    <assign to="OFTPDataSet/DataItem_1/properties/Time" from="time/text()"/><!-- optional -->
    <assign to="OFTPDataSet/DataItem_1/properties/FileFormat" from="'U'"/><!-- optional -->
    <assign to="OFTPDataSet/DataItem_1/document" from="PrimaryDocument"/>

    <assign to="." from="*" />
   </output>

   <input message="toProcessData">
    <assign to="." from="*" />
   </input>
  </operation>

  <!-- Start OFTP send process -->
  <operation name="SendFile">
   <participant name="B2BDemo_OftpIP_B2BDP07" />

   <output message="OFTPOut">
    <assign to="." from="*"/>
   </output>

   <input message="OFTPIn">
    <assign to="." from="*"/>
   </input>
  </operation>
 </sequence>
</process>

Example option 2

    <assign to="PhysicalPartnerContract" from="'PPC1'" />
      <assign to="LogicalPartnerContract" from="'LPC1'" />
      <assign to="filename">dataitem1.dat</assign>
      <assign to="FileFormat">U</assign>
      <assign to="Date">060825</assign>
      <assign to="Time">153055</assign>

Information about OFTPVirtualFilename:


    The OFTP Virtual File name. Defined according to the bilateral agreement with your trading partner. This is a 26-character string. Optional. If omitted a default file name is taken from the partner profile contract.

    Note: The virtual file name, date, and time are used to uniquely define a file.

    The EERP contains the OFTP Virtual FileName

    <OFTPInbound>
       <Type>EERP</Type>
       <FileName>virtual_file_name</FileName>
       <Originator>originator_name</Originator>
       <Destination>destination_name</Destination>
       <Time>time</Time>
       <Date>date</Date>
    </OFTPInbound>


See also:

[{"Product":{"code":"SS3JSW","label":"IBM Sterling B2B Integrator"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"Extensions","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF012","label":"IBM i"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"}],"Version":"5.2.5;5.2.4;5.2.3;5.2.2;5.2.1;5.2;5.1","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}},{"Product":{"code":"SS3JSW","label":"IBM Sterling B2B Integrator"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"Adapters","Platform":[{"code":"","label":""}],"Version":"","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

Historical Number

NFX8619

Document Information

Modified date:
18 May 2020

UID

swg21554984