Creating IDoc XML and sending to XI

There is a mechanism to create IDoc XML within SAP ERP through the use of
Change Pointers in concert with a port of type XML File (WE21). This is well
documented in this document.
http://www.erpgenie.com/sap/sapedi/Conversion%20of%20IDOCs%20to%20XML%20format.pdf
My question is whether the IDoc XML can be generated using Change Pointers and
the resulting IDoc XML be sent to XI through a RFC Adapter.
Please don't suggest using an IDoc Adapter. I already know how to do that.
Thanks
Vamsi

Hello Vamsi,
2)  You need  use Sender File Adapter for this.Not by RFC Adapter
1)yes, you can generate IDOC-XML using Change pointer
for better understanding...
Re: Change pointers trouble
CHANGE POINTER SAPAPO/C5
Re: Change pointer issue!!
If you want to know the basic concepts of Change pointers...Search SDN..you will find lot of info regardin this...
******************Reward points,if found useful

Similar Messages

  • IDOC to XML and send it to SAP SCM SNC(Supplier network colloboration)

    I am currently working in a project which I need to send the PO IDOC to PI (which is working fine) and convert it to xml and send it to SNC system which is SAP SCM system. I am not sure if this is going to be an IDOC or xml , I wasn't given more information as all of us are new to this SNC environment. Any help would highly appreciated.
    Thanks,
    Menaga

    Following are the interface mappings in use for the Purchase Order scenario from ERP to SNC
    1. create purchase order -> display PO (ERP to SNC)
    OrdersOrders05_ReplenishmentOrderNotification_01
    2. Create or change PO -> Display updated PO (ERP to SNC)      
    OrdchgOrders05_ReplenishmentOrderNotification_01
    3. Confirm PO or change in web UI (SNC to ERP)
    ReplenishmentOrderConfirmation_OrdrspOrders05_01
    4. Create or Change Purchase Order -> Receive and Display Purchase Order     (ERP to SNC)     
    OrdntfOrdint01_ReplenishmentOrderNotification_01
    Just configure the Integration scenario "MaintainPurchase_Order_Processing" from http://sap.com/xi/SNC/Global namespace present in SNC 5.1 SWC
    in your ID.
    In SNC Scenarios Idocs will be sent and received from ERP and ABAP Proxies (Client/ Server) used at SNC side. You do not have to code for the ABAP Proxies as the proxies will already be inmplemented in your SNC system.
    So 1. configure your SNC system for ABAP Proxy configuration
    2. Configure the Integration scenario "MaintainPurchase_Order_Processing" in ID
    3. Configure your ERP system for IDoc send/ receive
    You are done.

  • Conversion of purchasing idoc to xml and sending with FTP to supplier

    Hello,
    I have a question about something i am not very familar with. And i could not find the answer in this forum.
    We have a supplier who wants to receive our orders by EDI.
    The plan is to convert the IDOC to XML and to send this XML by FTP to our supplier.
    Could anyone give me some hints to achieve this.
    usefull help will be rewarded.
    Gr., Frank

    Hi,
    1. Create XML port in WE21.
    2. Configer the partner profile in WE20 for required message type.
    3. Access the file by using transaction AL11.
    Thanks,
    Asit Purbey

  • SAP BW data in ODS to XML and sending this XML file to 3rd Party

    Hi Gurus,
    We are having a scenario in which we have to convert our data in ODS to XML and need to provide this XML file to our clients so that they can use this XML file in their 3rd party system.
    Now the issue is that i have created ABAP program for converting into XML.
    If I execute this program, since i have given path as my Desktop, the converted XML file gets saved on my Desktop.
    But the problem is how i can provide this XML file to the client.
    Is there any way of converting this XML file to html and send them the URL ......
    plz suggest me.... what can be done......
    my ABAP code u can see in the following link
    Extract SAP BW Data into XML
    thanks and regards,
    P.Madhusudhan Raju

    Hi,
    Pls go through the link below it may help you
    http://www.sdn.sap.com/irj/scn/index;jsessionid=(J2EE3417100)ID1537206350DB01670597797729934632End?rid=/library/uuid/8c10aa90-0201-0010-98a0-f071394bc9ae&overridelayout=true
    Regards,
    Marasa.

  • BPEL process to create a PDF and send it as attachment in SOAP response

    We have a requirement to have a webservice created using BPEL, which can receive input from a client and create a PDF using the input and send the PDF as attachment in the SOAP response.
    We have found the below link in Oracle docs and our basic understanding on the functionality given is that the MIMEService is being used to read a SOAP attachment from some other service and send it as an attachment in the SOAP response to the requester. As explained above, this doesn't completely satisfy our requirement.
    http://docs.oracle.com/cd/E11036_01/integrate.1013/b28981/manipdoc.htm#BABCJIAH
    Please suggest if there is any other approach that suites our requirement.
    Thanks.

    Hi,
    I have a Weblogic webservice which returns me a PDF attachment as resposne ( here I have MIME related stuff).I need to get attachment as bpel response.
    I have created a BPEL process to invoke the weblogic webservice. I have explictly added the MIME part in bpel.wsdl same as weblogic webservice wsdl.
    I tried to assign the response variable( of type base64binary) of bpel.wsdl and my webservice .wsdl . I am getting some error with no attachment.
    Below is my xsd used in BPEL.wsdl*
    <?xml version="1.0" encoding="UTF-8"?>
    <schema attributeFormDefault="unqualified"
         elementFormDefault="qualified"
         targetNamespace="http://xmlns.oracle.com/MIMEApp/test/BPELProcess1"
         xmlns="http://www.w3.org/2001/XMLSchema">
         <complexType name="process">
                   <sequence>
                        <element name="input" type="string"/>
                   </sequence>
         </complexType>
         <complexType name="processResponse">
                   <sequence>
                        <element name="result" type="string"/>
                   </sequence>
         </complexType>
    <complexType name="GetAttachmentPDF">
    <sequence>
    <element minOccurs="0" name="Pdf" nillable="false" type="base64Binary"/>
    </sequence>
    </complexType>
    </schema>
    Below is my BPEL.wsdl*
    <?xml version="1.0" encoding="UTF-8"?>
    <wsdl:definitions name="BPELProcess1"
    targetNamespace="http://xmlns.oracle.com/MIMEApp/test/BPELProcess1"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:client="http://xmlns.oracle.com/MIMEApp/test/BPELProcess1"
    xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/">
    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         TYPE DEFINITION - List of services participating in this BPEL process
         The default output of the BPEL designer uses strings as input and
         output to the BPEL Process. But you can define or import any XML
         Schema type and use them as part of the message types.
         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <wsdl:types>
    <schema xmlns="http://www.w3.org/2001/XMLSchema">
    <import namespace="http://xmlns.oracle.com/MIMEApp/test/BPELProcess1"
    schemaLocation="xsd/BPELProcess1.xsd"/>
    </schema>
    </wsdl:types>
    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         MESSAGE TYPE DEFINITION - Definition of the message types used as
         part of the port type defintions
         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <wsdl:message name="BPELProcess1RequestMessage">
    <wsdl:part name="payload" type="client:process"/>
    </wsdl:message>
    <wsdl:message name="BPELProcess1ResponseMessage">
    <wsdl:part name="payload" type="client:processResponse"/>
    <wsdl:part name="attachment" type="client:GetAttachmentPDF"/>
    </wsdl:message>
    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         PORT TYPE DEFINITION - A port type groups a set of operations into
         a logical service unit.
         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <!-- portType implemented by the BPELProcess1 BPEL process -->
    <wsdl:portType name="BPELProcess1">
    <wsdl:operation name="process">
    <wsdl:input message="client:BPELProcess1RequestMessage"/>
    <wsdl:output message="client:BPELProcess1ResponseMessage"/>
    </wsdl:operation>
    </wsdl:portType>
    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         PARTNER LINK TYPE DEFINITION
         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <plnk:partnerLinkType name="BPELProcess1">
    <plnk:role name="BPELProcess1Provider">
    <plnk:portType name="client:BPELProcess1"/>
    </plnk:role>
    </plnk:partnerLinkType>
    <wsdl:binding name="BPELProcess1SOAP11Binding" type="client:BPELProcess1">
    <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="process">
    <soap:operation style="rpc"
    soapAction="http://xmlns.oracle.com/MIMEApp/test/BPELProcess1/process"/>
    <wsdl:input>
    <soap:body use="literal"
    namespace="http://xmlns.oracle.com/MIMEApp/test/BPELProcess1"/>
    </wsdl:input>
    <wsdl:output>
    <mime:multipartRelated>
    <mime:part>
    <soap:body use="literal"
    namespace="http://xmlns.oracle.com/MIMEApp/test/BPELProcess1"/>
    </mime:part>
    <mime:part>
    <mime:content part="attachment" type="application/pdf"/>
    </mime:part>
    </mime:multipartRelated>
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    </wsdl:definitions>
    Below is my WL WS WSDL*
    <?xml version="1.0" encoding="UTF-8"?>
    <WL5G3N0:definitions
    name="NewWSDLFile"
    targetNamespace="http://www.example.org/NewWSDLFile/"
    xmlns:WL5G3N5="http://schemas.xmlsoap.org/wsdl/mime/"
    xmlns:WL5G3N4="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:WL5G3N3="http://www.example.org/NewWSDLFile/"
    xmlns:WL5G3N2="java:com.rogers.service"
    xmlns:WL5G3N0="http://schemas.xmlsoap.org/wsdl/"
    xmlns:WL5G3N1="http://www.w3.org/2001/XMLSchema"
    >
    <WL5G3N0:types>
    <xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="java:com.rogers.service"
    xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:s="java:com.rogers.service"
    xmlns:s0="http://schemas.xmlsoap.org/wsdl/" xmlns:s1="http://www.w3.org/2001/XMLSchema"
    xmlns:s2="java:com.rogers.service" xmlns:s3="http://www.example.org/NewWSDLFile/"
    xmlns:s4="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s5="http://schemas.xmlsoap.org/wsdl/mime/"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://www.example.org/NewWSDLFile/"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <xsd:complexType name="GetAttachmentPDF">
    <xsd:sequence>
    <xsd:element minOccurs="0" name="Pdf" nillable="false" type="xs:base64Binary"/>
    </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="GetAttachmentResult">
    <xsd:sequence>
    <xsd:element minOccurs="1" name="Message" nillable="true" type="xs:string"/>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:schema>
    </WL5G3N0:types>
    <WL5G3N0:message name="NewOperationRequest">
    <WL5G3N0:part name="GetAttachment" type="WL5G3N1:string"/>
    </WL5G3N0:message>
    <WL5G3N0:message name="NewOperationResponse">
    <WL5G3N0:part name="NewOperationResponse" type="WL5G3N2:GetAttachmentResult"/>
    <WL5G3N0:part name="attachment" type="WL5G3N2:GetAttachmentPDF"/>
    </WL5G3N0:message>
    <WL5G3N0:portType name="NewWSDLFile">
    <WL5G3N0:operation name="NewOperation">
    <WL5G3N0:input message="WL5G3N3:NewOperationRequest"/>
    <WL5G3N0:output message="WL5G3N3:NewOperationResponse"/>
    </WL5G3N0:operation>
    </WL5G3N0:portType>
    <WL5G3N0:binding name="NewWSDLFileSOAP" type="WL5G3N3:NewWSDLFile">
    <WL5G3N4:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
    <WL5G3N0:operation name="NewOperation">
    <WL5G3N4:operation soapAction="http://www.example.org/NewWSDLFile/NewOperation"/>
    <WL5G3N0:input>
    <WL5G3N4:body use="literal" namespace="http://www.example.org/NewWSDLFile/"/>
    </WL5G3N0:input>
    <WL5G3N0:output>
    <WL5G3N5:multipartRelated>
    <WL5G3N5:part>
    <WL5G3N4:body use="literal" namespace="http://www.example.org/NewWSDLFile/"/>
    </WL5G3N5:part>
    <WL5G3N5:part>
    <WL5G3N5:content part="attachment" type="application/pdf"/>
    </WL5G3N5:part>
    </WL5G3N5:multipartRelated>
    </WL5G3N0:output>
    </WL5G3N0:operation>
    </WL5G3N0:binding>
    <WL5G3N0:service name="NewWSDLFile">
    <WL5G3N0:port name="NewWSDLFileSOAP" binding="WL5G3N3:NewWSDLFileSOAP">
    <WL5G3N4:address location="http://localhost:7001/something/NewWSDLFileImpl"/>
    </WL5G3N0:port>
    </WL5G3N0:service>
    </WL5G3N0:definitions>
    I refered the below link:
    http://docs.oracle.com/cd/B14099_19/integrate.1012/b14448/manipdoc.htm.
    4.16.1.1 WSDL File Contents
    They are using ra:writeBinaryToFile() and ora:ReadBinaryFromFile(). I couldnt get a proper sample to understand the use of these functions.
    Please advise.
    Regards
    Ipsita

  • XML and sending its data by sockets

    In my new project, i need to receive data from an XML file and send it to a client when the client has requested it from my server.
    so far, i've stored the elements into variables (i'll call them item1, item2, and item3 for now). I put this into the protocol so when the client calls upon the server to store itemn to one of its variables, it will do so.
    apperently, all this does is send my String variable output, which starts out as null and doesn't change, and so the output remains null which in turn will close my client. here's my protocol (it gathers data from avalonmap.xml):
    * xmlStorage.java
    * Created on January 3, 2006, 12:23 AM
    * To change this template, choose Tools | Options and locate the template under
    * the Source Creation and Management node. Right-click the template and choose
    * Open. You can then make changes to the template in the Source Editor.
    package mudmap.xml;
    import java.io.*;
    import org.xml.sax.*;
    import org.xml.sax.helpers.DefaultHandler;
    import javax.xml.parsers.SAXParserFactory;
    import javax.xml.parsers.ParserConfigurationException;
    import javax.xml.parsers.SAXParser;
    * @author Fender Bender
    public class mapLoader extends DefaultHandler {
        StringBuffer textBuffer;
        String roomName, region, color, roomOwner,roomCCC, roomCCCID, roomItem,
                roomItemID;
        String directions[];
        String dx,dy;
        static String currentElement;
        /** Creates a new instance of mapLoder() */
        public mapLoader() {
        public String processInput(String input) {
            String output="hello";
            if(input=="getRoom") { // for now, I'll call this item1. if client requests
                output = roomName;  //  it, the output will be roomName
                                                      // which is defined at //============
                                                      // in EchoText()
            return output;
        public static void main(String argv[]) {
            // Use an instance of ourselves as the SAX event handler
            DefaultHandler handler = new mapLoader();
    // Use the default (non-validating) parser
            SAXParserFactory factory = SAXParserFactory.newInstance();
            try {
    // Set up output stream
                out = new OutputStreamWriter(System.out, "UTF8");
                SAXParser saxParser = factory.newSAXParser();
                saxParser.parse( new File("avalonmap.xml"), handler );
            } catch (Throwable t) {
                t.printStackTrace();
            System.exit(0);
        static private Writer out;
        public void startDocument()
        throws SAXException {
            nl();
            nl();
            emit("START DOCUMENT");
            nl();
            emit("<?xml version='1.0' encoding='UTF-8'?>");
        public void endDocument()
        throws SAXException {
            nl();
            emit("END DOCUMENT");
            nl();
            emit(region + "\n" + color + "\n" + roomOwner  + "\n" + roomName + "\n" +
                    dx + "," + dy + "\n" + "room CCCs: " + roomCCC + " (" +
                    roomCCCID + ")\n" + "room items: " + roomItem + " (" +
                    roomItemID +")");
            try {
                nl();
                out.flush();
            } catch (IOException e) {
                throw new SAXException("I/O error", e);
        public void startElement(String namespaceURI,
                String sName, // simple name
                String qName, // qualified name
                Attributes attrs)
                throws SAXException {
            echoText();
            nl();
            emit("ELEMENT: ");
            String eName = sName; // element name
            if ("".equals(eName)) eName = qName; // not namespace-aware
            emit("<"+eName);
            currentElement=eName;
            if (attrs != null) {
                for (int i = 0; i < attrs.getLength(); i++) {
                    String aName = attrs.getLocalName(i); // Attr name
                    if ("".equals(aName)) aName = attrs.getQName(i);
                    nl();
                    emit(" ATTR: ");
                    emit(aName);
                    emit("\t\"");
                    emit(attrs.getValue(i));
                    emit("\"");
            if (attrs.getLength() > 0) nl();
            emit(">");
        public void endElement(String namespaceURI,
                String sName, // simple name
                String qName // qualified name
                throws SAXException {
            echoText();
            currentElement="";
            nl();
            emit("END_ELM: ");
            String eName = sName; // element name
            if ("".equals(eName)) eName = qName; // not namespace-aware
            emit("</"+eName+">");
        public void characters(char buf[], int offset, int len)
        throws SAXException {
            String s = new String(buf, offset, len);
            if (textBuffer == null) {
                textBuffer = new StringBuffer(s);
            } else {
                textBuffer.append(s);
        private void echoText()
        throws SAXException {
            if (textBuffer == null) return;
            nl();
            emit("CHARS:  |" + currentElement + ": ");
            String s = ""+textBuffer;
            if(currentElement=="region") {
                region = s;
            } else if(currentElement=="color") {
                color = s;
            } else if(currentElement=="roomOwner") {
                roomOwner = s;
            } else if(currentElement=="roomName") {
                roomName = s;                                             //============
            } else if(currentElement=="x") {
                dx = s;
            } else if(currentElement=="y") {
                dy = s;
            } else if(currentElement=="roomCCC") {
                roomCCC = s;
            } else if(currentElement=="roomCCCID") {
                roomCCCID = s;
            } else if(currentElement=="roomItem") {
                roomItem = s;
            } else if(currentElement=="roomItemID") {
                roomItemID = s;
            emit("|");
            textBuffer = null;
        private void emit(String s)
        throws SAXException {
            try {
                out.write(s);
                out.flush();
            } catch (IOException e) {
                throw new SAXException("I/O error", e);
        private void nl()
        throws SAXException {
            String lineEnd = System.getProperty("line.separator");
            try {
                out.write(lineEnd);
            } catch (IOException e) {
                throw new SAXException("I/O error", e);
    }

    for one thing, don't use == to compare strings... You have that all over the place, like:
    if(currentElement=="region") {                                                                                                                                                                                                                                                   

  • Create an Excel and send it as an email

    Hi All,
    I have an ALV block list which has 4 internal tables appened..
    I have displayed the data but i wanted to create an excel and mail it to the users who are intersted.
    as there are 4 internal tables displayed in the output how to send all of them into one excel sheet?
    Please help.
    Thank you,
    Suresh.

    hi Suresh,
    You have to fill an internal table with XML Strings.
    [https://www.sdn.sap.com/irj/scn/wiki?path=/display/abap/exportingdatatoExcel-XMLtotherescue]
    This Wiki explains how to generate XML String.
    data: begin of xml_data occurs 0,
          TDLINE like TLINE-TDLINE,
          end of xml_data.
    e.g.
    *Fill internal table with xml data
    TEXT = '<?xml version="1.0"?>'.
    move text to xml_data-tdline. append xml_data.
    TEXT = '<?mso-application progid="Excel.Sheet"?>'.
    move text to xml_data-tdline. append xml_data.
    TEXT = '<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"'.
    move text to xml_data-tdline. append xml_data.
    TEXT = ' <Worksheet ss:Name="Sheet1">'.
    move text to xml_data-tdline. append xml_data.
    TEXT = '  <Table ss:ExpandedColumnCount="22" >'.
    move text to xml_data-tdline. append xml_data.
    TEXT = '  </Table>'.
    move text to xml_data-tdline. append xml_data.
    TEXT = ' </Worksheet>'.
    move text to xml_data-tdline. append xml_data.
    TEXT = ' </Workbook>'.
    move text to xml_data-tdline. append xml_data.
    *Download data into xml file
    call function 'GUI_DOWNLOAD'
      exporting
      BIN_FILESIZE                    =
        FILENAME                        = 'C:     est.xml'
        FILETYPE                         = 'ASC'
      APPEND                          = ' '
      WRITE_FIELD_SEPARATOR           = ' '
      HEADER                          = '00'
      TRUNC_TRAILING_BLANKS           = ' '
      WRITE_LF                        = 'X'
      COL_SELECT                      = ' '
      COL_SELECT_MASK                 = ' '
      DAT_MODE                        = ' '
      CONFIRM_OVERWRITE               = ' '
      NO_AUTH_CHECK                   = ' '
      CODEPAGE                        = ' '
      IGNORE_CERR                     = ABAP_TRUE
      REPLACEMENT                     = '#'
      WRITE_BOM                       = ' '
      TRUNC_TRAILING_BLANKS_EOL       = 'X'
      WK1_N_FORMAT                    = ' '
      WK1_N_SIZE                      = ' '
      WK1_T_FORMAT                    = ' '
      WK1_T_SIZE                      = ' '
      WRITE_LF_AFTER_LAST_LINE        = ABAP_TRUE
      SHOW_TRANSFER_STATUS            = ABAP_TRUE
    IMPORTING
      FILELENGTH                      =
      TABLES
        DATA_TAB                        = xml_data
      FIELDNAMES                      =
    EXCEPTIONS
       FILE_WRITE_ERROR                = 1
       NO_BATCH                        = 2
       GUI_REFUSE_FILETRANSFER         = 3
       INVALID_TYPE                    = 4
       NO_AUTHORITY                    = 5
       UNKNOWN_ERROR                   = 6
       HEADER_NOT_ALLOWED              = 7
       SEPARATOR_NOT_ALLOWED           = 8
       FILESIZE_NOT_ALLOWED            = 9
       HEADER_TOO_LONG                 = 10
       DP_ERROR_CREATE                 = 11
       DP_ERROR_SEND                   = 12
       DP_ERROR_WRITE                  = 13
       UNKNOWN_DP_ERROR                = 14
       ACCESS_DENIED                   = 15
       DP_OUT_OF_MEMORY                = 16
       DISK_FULL                       = 17
       DP_TIMEOUT                      = 18
       FILE_NOT_FOUND                  = 19
       DATAPROVIDER_EXCEPTION          = 20
       CONTROL_FLUSH_ERROR             = 21
       OTHERS                          = 22
    if SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    endif.
    hope this helps!
    Monalisa

  • Compare two Idoc's and send to te recievers as per the Condition.

    Hi,
    Scenario: Sender are a Idoc's and Receiver is Mail and File.
    Sum the value of field1 of IDOC1 loop and compare with the field 2 of IDOC2. If the Condition satisfy send the data to file and mail reciever else send to only mail reciever.
    I tried using a BPM. Steps used in BPM are as follow:
    Step: 1
    Fork -- with two branches.
    Branch 1:loop1-- reciever1 -- container
    Branch 2:reciever2
    Step2:
    Switch with two branches: Check the compare condition of the two Idoc
    Branch 1:
    Fork with two branches with send step with mail and file recievers
    branch 2: Only mail reciever.
    However if the condition is true or false the information is send mail to reciever.
    I tried with the above steps, but failed.
    Any changes required, please let me know.
    Regards,
    Manoj

    sumit,
    I recieve N number of IDOC1. I need Sum the value of field1 of IDOC1 loop and compare with the field 2 of IDOC2.
    I tried using a BPM . Steps used in BPM are as follow:
    Step: 1
    Fork -- with two branches.
    Branch 1:loop1-- reciever1 -- container
    Branch 2:reciever2
    Step2: Transfomation with Mapping program, source and Target message
    Step3:
    Switch with two branches: Check the compare condition of the two Idoc
    Branch 1:
    Fork with two branches with send step with mail and file recievers
    branch 2: Only mail reciever.
    When i checked with workflow i observe that that the message is not moving out of transformation step.But the message mapping is succesfully tested
    Thanks,
    Manoj

  • How to create Word file and send file in mail as an attachment

    Hi Guys,
    I want to create report which fetech data from table and create word file of the same data and send file in mail as an attachment.

    Hello Sagar,
    Before posting please use GOOGLE,any way it may help u,
    DivulgeSAP: Send email with PDF, ZIP, TXT etc., as attachment from CL_BCS interface
    Thanks
    Sam

  • Function moduls to create csv-file and send it per mail

    Hello,
    we have the following requirement.
    We created an eventhandler.
    Inside this eventhandler we built up an internal table with 1-n entries.
    Now we want to create a csv-file or excel-file in background and send it to the users mailadress.
    Are there standard function modules which we can use for this requirement.
    We can´t download the file directly to the users client with cl_gui_frontend_services because we are not in SAP GUI but in CRM Webclient UI.
    Thank you
    Best regards
    Manfred

    hello,
    thank you.
    a coding example would be very helpfull.
    the internal table shall be added as csv-attachment to the mail and the recipient shall be the current user.
    Thanks a lot in advance.
    Kind regards
    Manfred

  • Stopping iTunes from creating a .xml and .itf file on my desktop

    i am having difficulty with the iTunes library .xml and .itf files being created on my desktop every time i run iTunes.  All of my media files are on my external hard drive in the 'iTunes' folder.  can any one help?
    Computer is running Windows 7; iTunes version 10.2.2.12

    First, I would recommend repairing the hard drive with Disk Utility.
    If that doesn't fix the problem, there's a very dangerous command you can execute in the Terminal.  This is very hazardous, because a simple typo can result in very drastic consequences.  I have seen people erase their entire hard drive by putting a space in the wrong place!  So, please follow the directions I'm going to give you very carefully!
    Open the Terminal, which is found in the Utilities folder in the Applications folder.  In the Terminal, enter the following:
    sudo rm -f
    Make sure to put a space after the "-f"!  Then, drag the troublesome file from the Finder and drop it on the Terminal window.  That should insert the path to the file in the command.  Then go back to the Terminal and press return.  You will be asked for your password, and when you type it, nothing will be shown as a security measure.  Press return again after entering your password.  The file should be deleted.

  • If buyer side created an PO and send out the IDOC to us...

    Hi,
    I am seller side.  Normally to say, this IDOC will be automaticlly loaded and corresponding SO could be created.
    But for now, the corresponding SO has not beeen created.  How do i analysis what happened to this inbound IDOC?
    Currently i have the IDOC number which provided by Buyer, this IDOC number is not from my system.
    Based on this IDOC number, which Transaction could i analysis why the IDOC couldnt be loaded successfully...?
    Thanks!!

    First of all, request the below information from the buyer about the PO's IDOC.
    PO#
    IDOC Date
    IDOC Control numbers (interchange, message group control # and transaction control #).
    Then go to WE05 and give a date range per the information provided by customer. Without giving IDOC number, provide the message as ORDERS (hopefully you are using standard orders processing). Provide the port from where you receive EDI orders.
    Then on WE05, you should see the EDI selection tab. GO to that tab and enter the interchange control # (on Interchange file reference), group # (Reference to message group) and transaction control #(Message reference).
    You should see the corresponding IDOC in your system if you have received it in SAP. Otherwise, I suggest that you then follow up with your EDI team on whether the EDI sub-system received this PO or not.
    Thanks
    Nikhil

  • Req Idoc steps in detail for creating Idoc control records(Sender Non SAP)

    Hello All,
    I have a scenario where a Microsoft biztalk server communicates with SAP ECC through Idoc ORDERS05 . i need to give them the information of the below IDoc control records
    SNDPOR
    SNDPRT
    SNDPFC
    SNDPRN
    RCVPOR
    RCVPRT
    RCVPFC
    RCVPRN
    IDOCtype
    Since the sender is Ms Biztalk . kindly let me know the detailed  steps involved in creating the sender side info such as SNDPOR, SNDPRT, SNDPFC and SNDPRN.
    Thanks in advance ,
    Pavithra

    Hi,
    The info like (SNDPRN) which has to be providen by Biztalk in the IDoc control of their Idoc are these ones that YOU defined in the ALE config (tx WE20) of your ECC, to accept this IDoc (idoc message / idoc type) from Biztalk.
    If your ALE config is not yet created in your ECC, you have to do it. For instance, check in WE20 (partner profile) the ALE config of your other systems, and in WE02 (Idoc log) to see the content of an IDoc Control, by selecting an inbound Idoc.
    Do not hesitate to use WE19 to test an idoc integration, as you have to fill the idoc control manually. By this way you will sure be of what info Biztalk has to put inside their IDoc control (EDI_DC40).
    Regards
    Mickael

  • Communication Channel IDOC tipy and SENDER

    Hi experts!
    We have an XI SP14.
    I have read that it is not needed a communication channel to send Idocs from R/3 to XI but, if we try to set this communication channel, we are not able to select the "Sender" option in the comm. channel. We have never used this kind of comm. channel to send Idocs from R/3 to XI so, I wonder why we are having this problem.
    Do you know if this is a problem with the XI version or is it customizable?
    If it is customizable, do you know where is this set up?
    Thanks in advance!

    The configuration data for all the adapter can be found in IR under
    SAP Basis 6.40 - >http://sap.com/xi/XI/System - > adapter objects -> adapter metadata.
    Select idoc and you can see the configuration for inbound idoc adapter but there is no outbound configuration provided by SAP. you can check for reference the RFC adapter for both inbound/outbound configuration. If you want to configure a sender idoc adapter then you will have to create all the necessary configuration in line with what is needed for an sender idoc and then upload this metadata. Its not going to be as simple as enabling the sender button you will have to create all the remaining input fields for sender idoc channel.
    Cheer's

  • Best way to write objects in an xml and send the file?

    hello all
    i am making some objects, which i conver to xml using the XStream and then i am saving them to a file, call a function to send the file to a servant (basically i do this by sending bytes and this may be the problem). In the servant i take the data i write them to a file and then i read them again to make them objects...
    i have the following code in the client
            XStream xstream = new XStream(new DomDriver());     
            xstream.alias("Jobb", WorkflowFramework.Jobb.class);
         String xml = xstream.toXML(translation);
               FileWriter fw = new FileWriter("translation.xml");
               ObjectOutputStream out = xstream.createObjectOutputStream(fw);
               out.writeObject(new Jobb("ougk2", "Walnes",null));
               out.close();
               File file=new File("translation.xml");
               byte buffer[]=new byte[(int)file.length()];
               try {
                    BufferedInputStream input=new BufferedInputStream(new FileInputStream("translation.xml"));
                    input.read(buffer,0,buffer.length);
                    input.close();
               } catch(Exception e) {
                      System.out.println("Error: "+e.getMessage());
                       e.printStackTrace();
               theRemoteObjRef.translationService(theCallbackObjectRef, buffer);i write the file and then i read it so as to have a buffer of bytes (there should be a better ways..)
    the last line sends an objectRef (we dont care about that) and the file in bytes to a server (to be specific to a servant of a server)..
    in the servant i do the following
    public void translationService(TheCallbackInterface objRef, byte data[]){
              try{
                        File file = new File("translation2.xml");
                    BufferedOutputStream output = new BufferedOutputStream(new FileOutputStream("translation2.xml"));
                  output.write(data, 0, data.length);
                  output.flush();
                  output.close();
              } catch(Exception e) {
                        System.out.println("Error: " + e.getMessage());
                        e.printStackTrace();
               XStream xstream = new XStream(new DomDriver());
               try { // If an error occurs, go to the "catch" block
                    FileReader fr2 = new FileReader("translation2.xml");
                    ObjectInputStream in = xstream.createObjectInputStream(fr2);
                    Jobb newJob = (Jobb)in.readObject();
                   System.out.println(newJob.getObjServerRef());
                   System.out.println(newJob.getForTranslation());
                   System.out.println(newJob.getTranslated());
                    }catch (Exception e) {  
                         System.err.println("File input error"+e);
                    Jobb testJob=new Jobb("ougka","mpougka","falalala");
                    System.out.println(testJob.getObjServerRef());
                       System.out.println(testJob.getForTranslation());
                    System.out.println(testJob.getTranslated());
    the problem is that in the first group of System.out.println i get the error File input errorcom.thoughtworks.xstream.mapper.CannotResolveClassException: Jobb : Jobb
    but the second group of printlns, prints the correct results...
    do you know what is the problem? Why can i read the content of the file and get the objects from there?
    do you have any suggestions of writing and reading the file in an another way or to send it by NOT using a bytes array?
    do you have an alternative way of making the xml file?
    many thanks!

    Hi,
    I would suggest to reconsider building of your document so that it doesn't contain duplicates if you don't need them. And it doesn't have much to do with DB XML then.
    Also you could insert your document with duplicates and use XQuery Update facilities to delete undesirable nodes.
    Vyacheslav

Maybe you are looking for