Flat-Idocs via the IDOC-adapter

Hi All,
I want to send a flat-IDOC via the IDOC Adapter to a SAP R/3 system. The IDOC adapter does not accept flat-IDOC, but wants xml-IDOC. Does anyone know how to send this flat-IDOC to the SAP R/3 via ALE, but without XML-lizing the IDOC?
I am looking in to the principle of tunneling, but that will involve some ABAP coding.
Cheers,
Frank

Hi Bhavesh,
I tried, but the IDOC adapter wants XML. The receiver IDOC adapter checks the type of the payload and determines if IDOC tunneling is used or not. I don't know yet how to change the type of the payload:
<i>method CL_IDX_IDOC_SERVICE-GET_PAYLOAD, part of package SIDOC_ADAPTER
test if idoc is in tunnel-payload-format
    l_content_type = l_payload->getcontenttype( ).
    IF l_content_type = if_xms_resource=>mimetype_idoc.
      l_idoc_resource ?= l_payload->getdata( ).
      l_tunnel_flag    = 'X'.
    ELSE.</i>
and with tunneling the idoc must be stored in certain tables where the receiver idoc adapter will get the IDOC instead of the payload. And our flat-idoc is in the actual payload. So the direction I am looking into is an abap mapping, which will change the payload type and stores the flat idoc in these tables, so the idoc adapter is "fooled" to believe it is IDOC tunneling.
Cheers,
Frank

Similar Messages

  • TS2634 When I connect iPad to Macbook Pro through USB Port or even charge my iPad via the apple adapter, it has no response at all. I can only charge my iPad when I totally shut off the iPad. Pls advise.

    When I connect iPad to Macbook Pro through USB Port or even charge my iPad via the apple adapter, it has no response at all. I can only charge my iPad when I totally shut off the iPad. Pls advise.

    Well ... the charger is the original charger and just checked and confirmed it is a 5.1V charger. How come? Next is why when i connect my iPad via original usb cable, no response from macbook pro? used to sync with iTunes now totally dead.

  • Issues with Receive Adapter receiving a file that has not completed uploading while send multiple files on the Send Adapter

    Hello,
    I am only a few weeks old into BizTalk so I am new to this application. 
    The pieces I have for my development environment consists of the following:
    FTP Server ---[SFTP Adapter]---> BizTalk 2013 ---[FILE Adapter]---> Internal Network Share Drive
    I currently configured a simple PassThru, One way Receive/Send in BizTalk where the Receive Port receives a file via SFTP 
    Adapter from our FTP server and the Send Port sends the file via the FILE Adapter to our Internal Network share drive. 
    The setup works great with small files.  However, when I receive a large file on the FTP server, the Send Port sends multiple instances of the file on the FTP server because the Receive Adapter sees that the file is there, but not yet
    fully uploaded.
    Can someone please guide me as to how I can determine when a file is fully uploaded to the FTP server before the Receive Adapter fires?
    Thanks,
    Mitch

    Yap BizTalk does not have control over locking the file during read/write Operation and its the third party which need to take care of this (by rename the file after upload ) .
    If the file size is too large I would suggest to bypass the message box as it has performance bottleneck during peak hours 
    Apart from being repetitive, this is not good advice.  There is no indication that the file is too large or will cause any "performance" issues.
    The concurrency problem can happen with a file of any size.

  • IDoc flat file over AS2 adapter to IDoc adapter

    Hi,
    The scenario is IDoc flat file(.txt) over AS2 adapter to IDoc adapter. Could anyone help on how to convert the IDoc flat file to xml in AS2 adapter to execute the mapping further? we are using PI 7.0.
    Thanks in advance!
    -zameer

    Hi,
          Since you are on Pi 7.0, you would not be able to use the modules for this in PI 7.1.
    You would need to refer this document for converting from Idoc flat to XML
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/46759682-0401-0010-1791-bd1972bc0b8a?quicklink=index&overridelayout=true
    In your sender AS2 adapter, you can pass the file as is to an abap mapping which will do the conversion to Idoc xml. the output of the abap mapping goes to your message mapping then for conversion.
    Another option would be to use a custom adapter module in the sender AS2 adapter to call the Aabap mapping to do the conversion into Idoc xml.
    The custom adapter module would do a JCO/RFC call which will do the conversion before passing the data back to the adpter module.
    Regards

  • Upload Flat-IDocs via WE16 fails - where is log-file for this upload

    Hi,
    we are using ERP2005 and we wanna upload large Flat-IDocs (exported by a customer, > 100MB) via WE16.
    Now we are getting the error "...error in converting while reading file ..." (a translation of the german error message
    Is there a log file for this upload process?
    regards
    Wolfgang Hummel

    The following Oracle Forms objects did not generate successfully: gl forms/ZHS GLXJEENT.fmxadpatch log will tell you worker which was processing this fmb.....mark that worker number.....in same directory find ad*worker_num*.log and see that log file.
    You can find adworker,adpatch,adworker log at:-
    Application Tier-- adpatch log - $APPL_TOP/admin/<SID>/log/
    Thanks,
    JD

  • ** Port is missing from the IDoc control record  (Receiver IDoc adapter)

    We are using a File to IDoc scenario and in the idoc sap sender port is not coming due to this IDoc posting is failing. Could any one tell us why idoc adapter is not able to get SAP port.
    The following is the error message in SAP side.
    Status : 56
    IDoc: 0000000006188579 Status: IDoc with errors added
    EDI: Partner profile inbound not available
    Kindly help me friends.
    Thanks,
    Jagathees P.

    hi,
    >EDI: Partner profile inbound not available
    this error message means that there is not partner profile
    configuration for this IDOC (you configure it in WE20 of ERP/R/3 )
    or your XI system is configured to post to a wrong partner profile
    (if you fill your partner data in a mapping for example)
    so it's one of the other for sure - check it/change it and it will work
    for more info about IDOCs and XI you can check my book:
    www.sap-press.com/product.cfm?account=&product=H1935
    Regards,
    Michal Krawczyk
    http://mypigenie.com XI/PI FAQ

  • Mapping a flat file to the iDoc OILLDD

    Hi.
    <b>I have a file with this structure after I got it from the fileadapter.:</b>
    B Dataxxxxxxxxx
    C Datayyyyyy
    D Datazzzzzz
    D Datazzzzzz
    C Datayyyyyy
    C Datayyyyyy
    D Datazzzzzz
    C Datayyyyyy
    C Datayyyyyy
    E Dataxxxxxxxxx
    B
    E
    B
    E
    etc.
    <b>I want to map this structure to the Idoc OILLDD which  have this structure.:</b>
    OILLDD01
       IDOC
          E1OILT1
              E1OILT2
              E1OILT3
                  E1OILT4
    each  B-Recor shall produce a new iDoc.
    each  C-Record  shall make an E1OILT1-segment
    each  D-Record  shall make an E1OILT3-segment(if the D-record exist)
    My problem is.:
    How can I make an new iDoc for each B-Records in the file.
    I got the file  tthrough the filadapter. 
    Hope someone can help me.
    Thanks.

    The file from the file adapter have to be parsed using the File Content Conversion.
    Now this converted XML will have the fields with value "A", "B","C" etc.
    This can be then mapped according to ur requirements. U need to export the IDOC as XSD , change the occurrence and then reimport it in the external definitions.
    Regards,
    Prateek

  • Message split on adapter engine for the java based IDoc adapter

    Hi Guys,
    Do you know if message split on adapter engine is available for the java based IDoc adapter on the single stack (PI 7.31)?
    I'm getting such exception when I try to post 3 IDocs
    Transmitting the message to endpoint <local> using connection File_http://sap.com/xi/XI/System failed, due to: com.sap.aii.af.idoc.exception.IDOCAdapterException: Error before sending due to idoc parsing error: (7) IDOC_ERROR_PARSE_FAILURE: Invalid XML 1.0 character encountered within IDocXML for type <ns0:Messages>:
    state=EXPECTING_IMMEDIATE_TAG_END, charPosition=68, lineNumber=1, columnNumber=69, invalidChar=U+0078,
    sourceSnippet=...UTF-8" standalone="no"?><ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge"><ns0:Message1><...
    ^
    Mapping is one to many.
    Each IDoc content has been compared manually against the xsd schema and it was fine.  
    I know that old way of modifying xsd is still possible.
    Best regards,
    Wojciech

    Did you find a solution to this? Having a similar error right now.
    Thanks and kind regards
    Jens

  • Problem when calling the RFC and IDoc adapter at the same time

    Hi,
    I'm having a major slowdown problem with XI3.0 SP11.
    When I'm sending a message(IDoc) from R/3 into XI to get translated into an EDI document, I have no problems and it's very fast.  RFC calls are very fast too.
    Now, if I'm sending the same message and at the same time another call is done trough the RFC adapter, then the full XI environment hangs for several minutes.
    I did all recommended settings from the XI-SR1 install guide(Configuring the J2EE Engine) and tuning guide (XI Configuration Parameters)
    and I don't know what to do more?   At the Unix level, command TOP shows that dw.sap.XDV_DVEBMGS70 is taking all the CPU% available when both messages(IDoc and RFC) are sent to XI at the same time.
    Anybody have an idea what to do next?
    Rgds,
    Yves

    Did you check the dev_rfc logs ? Also check SM21 for any errors. Logon to the Target System and check SM50 transaction then you will know whats going on.
    regards
    Shravan

  • Creating a flat file in the IDOC format

    Hi everybody,
    Need help.....urgently. Can somebody please tell me how to create a flat file in the IDOC format? I am creating a bill of lading/Documentary payments (EDI 858) and can't figure out a way to write the data generate through the report in a flat file in IDOC format. My deadline is right around the corner and I need help.
    Thanks,
    M

    Hi Minal,
    I still don't understand your question.
    So, you have a report which selects data and puts it into an internal table.  This part looks fine.
    You want to create a flat file?  Ok, to create a flat file on the application server then use the commands OPEN DATASET, TRANSFER, and CLOSE DATASET.  To create a flat file on the presentation server then use the FM GUI_DOWNLOAD (or the GUI class, I forgets its name for the moment).
    In both cases you should build up an internal table which has the exact structure required for your (EDIFACT?) EDI message, and then use the appropriate method to write the file.
    If the following steps are manual then there is nothing more for you to do.
    I don't see any need to use Idoc technology, or make any reference to it in your solution.
    I hope that helps.  If not, please be more specific when asking your questions.
    Brad

  • How do I save an email address via the ORDERS05 IDoc?

    I am creating sales orders via the ORDERS05 Idoc.  I am using the E1EDKA1 structure to add the "WE" Ship-To address to the order.  There is no field in E1EDKA1 named SMTP_ADDR.  I could put it in the Telebox (TELBX) field, which we're not using, but ultimately would like the email address to show up correctly in the ADR6 table in SAP.

    Thank you, that helped me a lot.  In my case, we are using the AFS version of SAP 46C.  The fm  J_4A_IDOC_INPUT_ORDERS  that we use is very similar to IDOC_INPUT_ORDERS.   Instead of CUSTOMER-FUNCTION '004',  I used CUSTOMER-FUNCTION '010'.   Since the telebox field in E1EDKA1 may be too short for an email address, I used the 70 char ILNNR field in E1EDKA1.   I used FM ADDR_SAVE_INTERN per your suggestion and it worked great!  If you'd like to see my code, send me an email: [email protected]

  • SP14 Multi-mapping - error in receiver idoc adapter

    Hi,
    I have a scenario where a business service should send some XML to SAP CRM. I get the file via a sender JMS adapter and try to post it to CRM via a receiver IDOC adapter.
    I have created a multimapping (1:N - 1 XML file to many Idocs) as should in the repository.
    In the configuration under Interface Determination, I have chosen 'RB_SPLIT' and selected the interface multimapping.
    It should be pointed out, that when testing both interface and message mapping i get no error. All idocs seem to be created as they should.
    When testing the setup 'real life' the message fails. The error message in the monitor says:
    - <!--  Call Adapter
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
      <SAP:Category>XIAdapter</SAP:Category>
      <SAP:Code area="IDOC_ADAPTER">ATTRIBUTE_WRONG_INTF</SAP:Code>
      <SAP:P1>InterfaceCollection</SAP:P1>
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>Unable to interpret IDoc interface InterfaceCollection</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    Notice that the above error is when trying to send only 1 record, which in turn then should result in only 1 idoc.
    If trying to send multiple XML records, i get the following error:
    - <!--  Technical Routing
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
      <SAP:Category>XIServer</SAP:Category>
      <SAP:Code area="OUTBINDING">MMF_ENGINETYPE</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>A system error occurred in the outbound binding</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    In the monitor in the payload of 'Request message mapping' I see as many Maindocument, Submaindocument pairs as should be Idocs.
    Now i really don't know how to interpret the error messages in both cases, so I'm a little lost here...
    It should be pointed out that the idoc being used everywhere in this scenario, has not been modified - from all places it is being used (and only exists) in the 'Imported objects | Idocs' place.
    Also the Idoc is also being used as Inbound interface - so no mistakes here either.
    I really hope someone can help me here, as I'm otherwise pretty stuck in this case.
    Best regards,
    Daniel

    Hi Daniel,
    I have exactly the same type of scenario (under SPS14 and now also SPS15), sending an XML message over JMS to XI and trying a multi-mapping to many IDocs (actually a list of orders in XML is mapped to n ORDERS Idocs).
    I also face problems doing so, when I use the IDoc Adapter as outbound in the Receiver Agreement. I receive the following error:
    <i>CO_TXT_MMF_ENGINETYPE
    Messages in multi message format can be sent to one adapter engine only</i>
    However, I tested the same scenario by just changing the Receiver Agreement to a File Communication Channel and - surprise, surprise - it works. One file per IDoc is created.
    Of course, this is not what we want to accomplish, but when I checked this piece of documentation (sorry another link
    http://help.sap.com/saphelp_nw04/helpdata/en/42/ed364cf8593eebe10000000a1553f7/content.htm
    the IDoc adapter is not listed in the list of Adapters that are supported. Does that mean, that this feature is not supported for generating IDocs? Maybe that's a question for a SAP OSS Message?
    I hope that helped you a little further - if you find out more I'd be happy to learn about it.
    regards,
    Peter

  • Get IDoc-number from flat IDoc using dynamic configuration

    Dear experts
    In an IDoc2File scenario I have added the IDoc-number to dynamic configuration using the folling code in an UDF:
    DynamicConfiguration conf = (DynamicConfiguration)
    container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey FileName = DynamicConfigurationKey.create("http:/"+"/sap.com/xi/XI/System/File","DOCNUM");
    conf.put(FileName, a);
    The information is stored in the SOAP message
    <SAP:DynamicConfiguration SOAP:mustUnderstand="1">
      <SAP:Record namespace="http://sap.com/xi/XI/System/File" name="DOCNUM">0000000000012345</SAP:Record>
    </SAP:DynamicConfiguration>
    Can anybody tell me how I can access this information in the "variable substitution" section of the CC? Perhaps something like "message:docnum"?
    Additional information:
    Taking the IDoc-number from the payload using e.g. "payload:ORDERS05,1,IDOC,1,EDI_DC40,1,DOCNUM,1" does not work, since the XML-IDoc has been converted to an flat-IDoc.
    Thanks in advance for any good ideas
    Markus

    Dear Rodrigo and Sarvesh
    Thanks for your help so far! I applied your hints and now it is working fine.
    But now I have the following additional questions
    1.) My message mapping only maps the input IDoc to an output IDoc of the same type and structure. The MM is only required to process the UDF. Is there another, better solution to achieve my requirement that the IDoc-number shall be part of the filename?
    2.) In the CC you have the possibility to use temporary files (section "Processing", Option "Put File" = "Use Temporary File". I think this will not work with the given solution, will it?
    To possibly help somebody else or clarify the mechanism once again, I wrote down how my solution now looks like.
    My UDF in the message-mapping looks like this
    - Input = DOCNUM of IDoc, e.g. ORDERS05/IDOC/EDIDC/DOCNUM
    - Outpt = DOCNUM of IDoc, e.g. ORDERS05/IDOC/EDIDC/DOCNUM
    - UDF:
    public String putDynamicConfiguration(String docnum, Container container) throws StreamTransformationException{
    try
         DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
         DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
         String filename = "Prefix_" + docnum + ".txt";
         conf.put(key, filename);
         return docnum;
    catch (Exception e)
         return docnum;
    In the CC the settings are now as follows
    File Name Scheme = . -> only a dot or something else, because this field is obligatory, even if it is not used in this case.
    Variable substitution (...)
        Enable -> unchecked
    Adapter-Specific Message Attributes
        Use Adapter-Specific Message Attributes -> checked
        Fail If Adapter-Specific Message Attributes Missing -> checked
        File Name -> checked
        Directory, File Type, Temporary Name Scheme for Target File Name -> unchecked
    When I send an IDoc to PI and view the Adapte-Engine Version of the message (the SOAP-document, not the payload) I can find the Filename:
    <SAP:DynamicConfiguration SOAP:mustUnderstand="1">
    <SAP:Record namespace="http://sap.com/xi/XI/System/File" name="FileName">Prefix_0000000000012345.txt</SAP:Record>
    </SAP:DynamicConfiguration>

  • Connecting of an external system by IDOC adapter

    Hello everybody,
    we want to connect an external (storage) system to XI by IDOC-Adapter.
    In a scenario without XI the R/3 backend triggers the external system by RFC-Call (TCPIP-conncetion) and an program on the external system is called. This program executes an RFC-call on the R/3 to get the IDOC-informations.
    IN the new scenario (with XI) the R/3 Backend sends the IDOC information to XI. The XI routes this to external system. An TCPIP-Connection is needed which calls the program from the external system.
    But how should this work? The program can not (or should not) call the R/3 Backend directly but the XI.
    What has to be done now? Has the program of the external system changed so that it can understand IDOC-structure directly?
    Or do I have to implement a business process scenario to guarantee that the external system reads the IDOC data in XI (similar to "old" scenario?
    Thanks a lot!

    HI everybody,
    thank you very much for your help. Now it es possible to send an IDOC from R/3 Backend and IDOC-Adapter via XI to an external system using the IDOC-Adapter.
    But now the external system wants to send IDOCs back. So the communication is realised by using the IDOC-Adapter again. In this case we do not get the messages in XI. The conncection is ok (we see this in the Gateway), but the system gets an error in IDOC adapter (sys-log):
    <b><b>Transaktions-Abbruch IDOC_ADAPTER 151 ( LFS 910 )</b></b>LFS = external system (AS400).
    In the RFC-Trace we find following information:
    <b> **** Tra
    Transaktions-Abbruch IDOC_ADAPTER 151 ( LFS 910 )ce file opened at 20060223 111414 W. Europe Stand, SAP-REL 640,0,109 RFC
    ======> Der Funktionsbaustein "EDI_FILL_SYIDOC01_FOR_RFC" ist nicht vorhanden
    ABAP Programm: SAPLIDX1 (Transaction: )
    Called function module: EDI_FILL_SYIDOC01_FOR_RFC
    User: RFC_USER (Client: 910)
    Destination: C01 (handle: 3, , {C322581B-EB47-43E7-87D7-4607C2873828})
    SERVER> RFC Server Session (handle: 1, 95896538, {43FD899F-8993-0202-E100-00000A
    SERVER> Caller host: LHMAS40A.INTRANET.SYS
    SERVER> Caller transaction code:  (Caller Program: SAPCPIC)
    SERVER> Called function module: ARFC_DEST_SHIP</b>
    Can anybody help us?
    Thanks a lot!
    Florian

  • Java IDoc adapter in PI 7.3?

    Hi Gurus,
    As there has many new features added in PI 7.3 version,anyone advise how to test its IDoc(java) feature via some scenario?or suggest some scenario to assess the IDoc adapter based on java functionality.
    Any comment would be much appreciated.

    Hi Rajesh,
    refer below links, it gives clear picture
    http://help.sap.com/saphelp_nw73/helpdata/en/71/21dfa45a5143ae9fe115f8c62b1801/frameset.htm
    http://help.sap.com/saphelp_nw73/helpdata/en/c2/91865252c84716b3b8be394851c9c0/frameset.htm
    Regards,
    Raj

Maybe you are looking for