Skip to main content

Error while mapping file attachment: SBL-EAI-04058: Source expression generated attachment ID '...' but the corresponding attachment cannot be found. (Doc ID 972381.1)

APPLIES TO:

Siebel CRM - Version 7.8.2 [19213] and later
Information in this document applies to any platform.

SYMPTOMS

Following error will be reported by EAI Data Transformation Engine (Intgeraiton Object Declarative Data Mapper) when mapping file attachment (copying file content) from improperly configured / provided source Integration Component Field;

SBL-EAI-04058: Source expression generated attachment ID '...' but the corresponding attachment cannot be found.

CAUSE

The field type of the source (and also traget) Integration Component that (the field) provide the file attachment content has to be "DTYPE_ATTACHMENT".

The error occurs if it is set  to  "DTYPE_TEXT" (that may be default setting provided while creating  the Integration Object from XSD schema using Siebel Tools Wizard.

Also there are alo following requirements for the text (VALUE) of the XML element in the input XML document where the source integration object is instantiated from:

  - it has to be valid base64 encoded text

   - it must not contain leading line breaks (<CR> and/or <LF>) and any other characters which are not part of base64 encoded text.

   - the entire text can be well included as the CDATA block: <![CDATA[...]]>

Finally the instance of Integration Object, instantiated from the XML document with file attachment,
should be created using the "XMLDocToIntObjHier" method of the "EAI XML Converter" Business Service.
This method, invoked explicitly or implicitly (e.g. via the "ReadEAIMsg" method of the "EAI XML Read from File" Business Service or via EAI Data Handling named subsystem)
uses definition of the Integration Object to properly recognize file attachment item, decoded it into a binary file content and make it be ready
 for followed EAI operations (Data Mapping and EAI Siebel Adapter methods etc).

SOLUTION

The error did not occur after the Data Type property of source IC field was changed to DTYPE_ATTACHMENT.

Source:
https://support.oracle.com/ > Doc ID 972381.1

Comments

Popular posts from this blog

How to set Profile Attribute in Siebel Workflow

For setting the Profile Attribute in Siebel Workflow, follow below steps: Add Business Service box in workflow. Open Business Service properties. Set  SessionAccessService in Business Service Name. Set  SetProfileAttr in Method Name. Then click on Business Service and set Input Arguments as below: Against Name argument you will add your profile attribute name and against Value argument you will add value for the new profile attribute, it could be from Process Property or Literal.

How to call Popup Applet through Server Script in Siebel

Below is the script for calling popup applet through script: if (MethodName == "MethodName") { var oServiceAF = TheApplication().GetService("SLM Save List Service"); var inputPropAF = TheApplication().NewPropertySet(); var outputPropAF = TheApplication().NewPropertySet(); inputPropAF.SetProperty("Applet Name","ABC Popup Applet"); inputPropAF.SetProperty("Applet Mode","6"); inputPropAF.SetProperty("Applet Height", "700"); inputPropAF.SetProperty("Applet Width", "700"); oServiceAF.InvokeMethod("LoadPopupApplet", inputPropAF, outputPropAF) return (CancelOperation); } Applet Modes:  1=Base, 2=New, 3=Edit, 5=Query, 6=EditList

How to query or find record in Siebel Business Component

You can perform query operation on Business Component through Workflow, eScript with the help of Siebel Operation, Inbound E-mail Database Operations (method: FindRecord) or EAI Siebel Adapter (method: Query but you need to create Integration Objects). This Business Component can be Virtual Business Component (VBC), External Business Component (EBC) or generic Business Component (BC).  See also: Difference Between Business Components and How to Create BC in Siebel through Object Wizard through Workflow with the help of Siebel Operation Create a workflow and provide the Business Object, business component should be in this BO for which you want to perform the query operation. From the Palettes window drag drop the Siebel Operation into workflow designer plane. Select the Siebel Operation box and open the properties window, provide the Business Component name from the drop down list and set Query in Operation field. You can set the search specification by two means either provide the fie