Cxml (DTD) map to IDOC

Hi,
I am new to PI , I am able to create IDOC and File based mappings. I was given a project that needs to get the customers PO send via https through webservice and create IDOCs. I just dont knwo where to start, any step by step procedures would be helpful.
Thanks,

Once your entire scenario is done you can provide http link to customer with the following details
http://host:port/sap/xi/adapter_plain?(caution:Normally for outside we provide https link)
where the query string should contain all the ddetails like sender business system name,sender interface and sender namespace with QualityofService required and user and password name details
for this info you can do test via testMessagatab in runtime Workbench
For time being correct DTD and implement mapping and activate them in ESB and do the necessary configurations
Dont be panic i have given just a overview for you to proceed you can always post to forum where you are stuck with will get definitely help from this
Rajesh
Edited by: Rajesh on Feb 10, 2009 11:15 PM

Similar Messages

  • The PO number for cXML invoice mapped to SAP IDoc INVOIC.INVOIC01

    Hey, PI gurus,
    I mapped a cXML invoice to SAP IDoc INVOIC.INVOIC01.
    My problem was that for the multiple line items invoice, the PO number will only show up in  IDoc E1EDP02->BELNR for the first line item and will not show up for the other line items.
    In cXML message, the PO number is in InvoiceDetailOrder->InvoiceDetailOrderInfo->OrderReference->orderID.
    I changed the value in Context for @orderID and it did not help.
    Any advice?
    Thank you in advance!
    Fisher Li

    Hi,
    I understand your scenario is XML to IDOC.
    Now I assume one XML corresponds to One IDOC which corresponds to 1 Invoice.
    In your XML, I think PO Number is coming multiple times but same value. Is my understanding correct?
    If that is the case, use below mapping.
    PO Number --> Remove Context --> Colapse Context--> Target PO Number field
    This will ensure, you will get only one PO number in your IDOC.
    Else, Please provide your source XML sample.
    -Gouri

  • Dynamically Download cXML.DTD in XI

    Hi -
    I have an IDOC->XI-cXML Scenario.
    Using cXML dtd from cxml.org i download the cXML DTD and the use it in XI through external definition and i will do the mapping.
    What happens is after some time say 2 months, cXML DTD is modified and a new version is released,  do i have to download the cXML DTD schema again and have to rework on the complete scenario?
    Let me know if there are any other way to do this.
    Thanks in advance.
    Kumar Pappu

    Hi Tirumal,
    You don't have to rework on the complete scenario.
    If you have to import the new version of CXML DTD or schema, you have to import the cXML DTD into External definitions of IR.
    In the message mapping replace old version cXML with the new version. Your mapping will not be affected. You have to do the mapping for any modified fields or newer fields that were not in the old  version.
    Rgds,
    Sam Raju

  • CXML DTD conversion

    Hi,
    I am trying to convert the cXML.dtd to cXML.xsd by using altova and have noticed that three xsd files are generated. It is happening for any .dtd file downloaded form cXML.org site.
    I can import all the three xsd into XI (under ED) and able to see the Message Names. But when i import them in MM, I notice only half message. for example - GetPendingRequest message type and the GetPendingRequest.xml file which comes with the download. both are different.
    The question i am facing are -
       why is that altova converting single .dtd to 3 *.xsd. ?
       Do we have to use all the three xsd's in our design?
       do we have to refer these xsd to each other in ED?
       in the mapping, do we have to take any extra precautions? or it is same as normal mapping?
      I am proposing a solution to the client that, we will deliver a cxml file (*.cxml) by using FTP adapter without any conversion.   Meaning, xml output of the mapping program will be deivered. is this good solution? will the customer will be able to read the file?
      kindly help me.
    Regards
    Azias

    Hello,
    But when i import them in MM, I notice only half message. for example - GetPendingRequest message type and the GetPendingRequest.xml file which comes with the download. both are different.
    You need to reference the xsds to each other in external definition.
    Do we have to use all the three xsd's in our design?
    Yes
    do we have to refer these xsd to each other in ED?
    Yes, you can refer xsds to one another by:
    1.) Opening the main xsd, then go to external references tab
    2.) Under the external references tab, there are two columns there, one is for the source and one is for the name. If there is an entry for source, click its corresponding name (even if it is blank).
    3.) Once the source is already highlighted by using step2, press ctrl+c (copy)
    4.) Import/open the xsd you want to be referenced. You will see a source field there, and the press ctrl+v (paste). Save and activate
    in the mapping, do we have to take any extra precautions? or it is same as normal mapping?
    Message mapping will be the same, but what is important is what message structure is required by business. You might as well consult with them as to what the final output is required.
    Hope this helps,
    Mark

  • Import cXml dtd

    We downloaded cxml 1.2 dtd from cxml.org and tried to import into XI external def.  We imported cxml.dtd and received no errors.  When accessing from message mapping and Message Type we are unable to import/select cXml dtd structures/messages.
    How do we import cXml dtd message into XI?
    We have tried to convert to a .xsd file using Xml Spy and are experience namespace errors.

    Hi Frank,
    concerning namespaces the philosophies of DTD and XSD are not compatible (indeed the philosophy of DTD is not compatible with that of XML namespaces itself). As XI is completely XSD-based it is not able to deal with DTDs containing namespace information, although they are well-formed.
    Other tools (like XMLSpy) may try to make a conversion anyway (on a somehow heuristic basis). The result of that maybe imported as External Definition, but sometimes it is necessary to make some adjustments to the XSD.
    According other DTDs coming from cxml I cannot tell you, because I do not know. Anyway, the namespace information is an important information which cannot be left out. If the XML structure defined by cxml really uses xml namespaces, then DTDs are not a suitable way to describe this structure (as explained above). XML structures with namespaces should always be described using XSD.
    Greetings Stephan

  • BPM - doubt in N:1 mapping of IDOCs

    Is there any DETAILED document on Mapping multiple Idocs into a single Idoc package using BPM.My doubt is in the latter part in this process(During Receiver Determination) :
    Scenario : CRM->XI->R3
    We will download the CREMAS03 and then make changes in the xml so that it can hold multiple IDOCs.
    and then we will be collecting the Idocs(say 3 idocs at a time)...that is, appending the IDOCS(CREMAS03) into a multiline container of type CREMAS03.
    In the transformation step, the multiline container containing CREMAS03 IDOCs is transformed to IDOC PACKAGE(N:1 Mapping).
    In Integration Directory,We will create 2 RECEIVER DETERMINATIONS :
    1.CRM->BPM :
    Receiver Service  :BPM Object
    Inbound Interface :CREMAS
    Interface Mapping :Maps the Outbound interface (vendor_out_interface) to CREMAS(Abstract Asynchronous)
    2.BPM->R3 :(I have my doubt here!)
    Sender Service     : CREMAS_COLLECT_PACKAGE(BPM Object)
    Outbound Interface : CREMAS_package(Abstract Async, Message is the modified Multi-CREMAS PACKAGE)
    Receiver Service   : R3
    Inbound Interface  : CREMAS.CREMAS03
    Interface Mapping  : NONE (WHY is that No Interface mapping is needed ???...Please elaborate)
    1.HOW will the XI engine MAP the CREMAS_package to CREMAS.CREMAS03 at the end of BPM PROCESS ?
    2.In BPM we have Transformed the individual Idocs into a IDOC Package BUT then at BPM->R3 Receiver Determination WHY are we mapping the CREMAS Package into Individual CREMAS Idoc ??
    3.Does the R3 receive the IDOCs as a Package OR does it receive it as individual Idocs ?And when we say a Package does it mean it will contain 1 Control record & multiple Data Records(EDID) ??
    4.If the R3 receives the IDOCs as a PACKAGE, THEN How does the R3 System separate the Idocs into Individual Idocs ??
    Is there any specific configuration in the partner profile at the R3 side to process A IDOC package ??.
    5.Also when I compare Posting Function Module IDOC_INPUT_CREDITOR and IDOC_OUTPUT_ORDERS , It seems that IDOC_INPUT_CREDITOR    can process multiple Idocs at a time while IDOC_OUTPUT_ORDERS CAN process only ONE IDOC at a time.Am I right ?)
    It would be great if someone has the patience to give a detailed reply.Looking forward to the reply !!
    Thanks,
    Arun.

    Hi Arun,
    You dont need a BPM for ur requirement. All you need to do is IDOC Message pacakages. where the IDOC are sent as a single package. here is the link to the page that details on hwo to do idoc packaging.
    http://help.sap.com/saphelp_nw04/helpdata/en/99/2653429392ab53e10000000a1550b0/content.htm
    you also refer to Michals weblog on IDoc pacakaging. But the approach i have jsut mentioned to you is more efficent and the one suggested by SAP. Michel was supposed to write one more weblog describing this approach.
    Cheers,
    Naveen

  • Multi-Mapping in IDOC without using BPM ?

    Hi ,
    Please check ..
    Can below given blog can be used to achive Multi-mapping in IDOC without using BPM ?
    /people/jin.shin/blog/2006/02/07/multi-mapping-without-bpm--yes-it146s-possible
    Regards
    PS

    Solved .. Thx every one .
    Approache Used :
    1. Created mapping  with Change signature on target Message type(idoc) with 1..N Occurence.
    2. Operation mapping with change Occurence on Target Operation(1..Unbounded) .
    3. Used same Operation mapping in Interface Determination with 0..unbounded(Multiplicity).

  • Mapping problem: IDOC - XI - File

    Hi,
    in my scenario (Z-IDOC - XI - File) I have problems with the mapping:
    Z-IDOC :
    ZFIBUCH1
    _IDOC
    ___Begin
    ___EDI_DC40
    ___Z1L061 (0..999999999)
    _____Z1L062 (0..999999999)
    example
    L061 18000 DE 0101 23236318 050605 EUR
    __L062 18000 XXX XXX
    __L062 18000 XX1 CCC3
    L061 87000 DE 0101 050605 EUR
    __L062 87000 XXX XXX
    __L062 87000 XX1 XAA4
    the result should look like this :
    L061 18000 DE 0101 23236318 050605 EUR
    L062 18000 XXX XXX
    L062 18000 XX1 CCC3
    L061 87000 DE 0101 050605 EUR
    L062 87000 XXX XXX
    L062 87000 XX1 XAA4
    I tried the following  (target)-data types in the mapping but nothing did’nt work very well :
    MT_ZIFUCH_FILE
    __ row
    _____L061
    _______L062
    or
    MT_ZIFUCH_FILE
    __ row
    _____L061
    _____L062
    or
    MT_ZIFUCH_FILE
    _____L061
    _____L062
    Do I need here a BPM? Or should I use XSLT-Mapping??
    Or knows somebody a easyer way?
    Regards
    Christoph

    Hi,
    As per  my understanding to have a flat file struture you would require a flat structure at the target side.One similar to the second structure mentioned by you.
    DT_Target
    |_Header
           |______L61.....segment (child of header)
           |______L62.....segment (child of header)
    Using the mapping we convert the idoc structure to flat structure and then use content conversion like this :
    Recordset structure : L61,L62
    L61.fieldSeparator = ,(for you this value should be space)
    L62.fieldSeparator = ,
    I have not been able to convert the Target hierarchial structure to a flat file via content conversion.
    when i tried I got the values as
    L61,1800,...EUR,L62,8700,......
    Hope this helps,
    Regards,
    Sulakshana

  • Advanced mapping from IDOC to SOAP with reversed 3 level context change

    Hi everyone.
    I am having a though time mapping the HRMD_A01 IDOC into a SOAP message. The reason is that the reciever expects an xml structure where the root node is cost center instead of employee which is the case in the IDOC.
    Mapping from:
    IDOC (1..1)
       E1PLOGI (1..unb)
         SEGMENT (String)
         OBJID (String)
         E1PITYP (1..unb)
           E1P0001 (1..unb)
             SEGMENT (String)
             KOSTL (String)
    To this structure:
    List (1..1)
      CostCenters (1..unb)
        KOSTL (String)   ----> Mapped against KOSTL above
        Employees (1..unb)
          OBJID (String)   ----> Mapped against OBJID above  
    I expect several occurances of E1PLOGI which states multiple employees sent in the IDOC. I also expect several occurences of E1P0001 containing cost centers.
    My conclusion is that I need an advanced mapping and I have created one which collects all KOSTL for the IDOC context, deletes duplicates, and creates the CostCenters segment. This is now working. But my problem is that I can't create the employees segment in the right place. They are only created once under the first CostCenters node.
    Here's the java-code for mapping between KOSTL and CostCenters/KOSTL:
    public void costCenters(String[] var1, ResultList result, Container container) throws StreamTransformationException{
      Set set = new HashSet(Arrays.asList(var1));
      String[] array2 = (String[])(set.toArray(new String[set.size()]));
      Arrays.sort(array2);
      for (int i = 0; i < array2.length; i++) {
        result.addValue(array2<i>);
    Any ideas on how to proceed?
    Best Regards

    Hi,
      Do the mapping like below.
      UDF should be select as context.
    List (1..1)
      CostCenters (1..unb)
        KOSTL (String)   ----> Mapped against KOSTL above
        Employees (1..unb)
          OBJID (String)   ----> Mapped against OBJID above
    Mapping:
    KOSTL(RightSelectChange the context to E1PITYP)--UDF--Removecontext--CostCenters
    KOSTL(RightSelectChange the context to E1PITYP)--UDF--SplitbyValue(Each Value)--KOSTL
    constant---Employees
    OBJID----------------------------------------------Use One As Many---SplitByValue (EachValue)----------OBJID
    KOSTL(RightSelectChange the context to E1PITYP)--UDF---
    KOSTL(RightSelectChange the context to E1PITYP)--UDF---
    Regards,
    Prakasu.M
    Edited by: prakasu on May 20, 2009 3:28 PM

  • Multi Mapping - Receiver IDOC & Mail with BPM

    Hi,
    Is it possible to use BPM with Multi Mapping for IDOC & Mail receivers sent parallely..
    Appreciate your help ..
    Thanks,
    vasanth.

    Hi Michal,
    Thanks Michal,
    We are using PI 7.1, Our Scope to do File to IDOC & Mail scenario in between we have to do RFC Lookups..
    Could you pls guide me thru the steps fo BPM,
    1 SA -> OB to AA
    2 ID  -> OB to AA & AA to Recv
    3.RD -> OB to AA & AA to Recv
    4.RA -> AA to IB & AA to IB
    Correct me if i'm wrong..
    Clarification : Is there is any way out to implement this scenario with out BPM.
    We already implemented this scenario with 2 MM & 2 OM, Scenario works fine...but we have to use 1 Mapping..
    Appreciate your help in advance..
    Thanks,
    vasanth.

  • Payload in String need Java mapping to IDOC structure

    Hi
    I have a payload in a field and that payload needs to  be mapped to IDOC sturcture. As per my understanding I will have to write java mapping for the same.
    I don't have any background of java, can anyone help me do this stuff or give me some inputs for the same.
    Regards
    Ria

    Dear Ria,
    Does the Source field consists of payload, then there must be original payload for which you have created Source Structure in XI right.
    I think your source structure look like this if I'm not wrong:
    <Data Type>
        < Field>
          <Field>
           <Field-Payload>
           </Field-Payload>
           </Field>
           </Field>
    </DataType>
    If this is so, you can split the values in the field by FCC. If your field consists of simple payload you can use String functions to extract the value and map it to IDOC field.
    Best Regards
    Praveen K

  • How to convert cXML dtd files into xsd format and use them into BPEL application

    Hi,
    In my BPEL application I have to use cXML dtd files by converting them into xsd format.
    I have used 'Microsoft Visual Studio' for converting cXML.dtd file into xsd format, for this 1 dtd file I am getting three xsd files (cXML.xsd, cXML1.xsd and cXML2.xsd).
    Please check this once and let me know
    1. why I am getting three xsd files for one dtd file,
    2. how can I use cXML.xsd file in my application, do I ll have to use all the three files in my BPEL app and
    3. what should I include in main xsd file (cXML.xsd) to import other two xsd files.
    kindly check this once and let me know your suggestions .
    Thanks

    Hi,
    While downloading the cXML dtd there will be example xml files. Using this xml's we can generate xsd.
    Regards,
    KANN.

  • DTD generation for IDOC- XI- Web-Method(SOAP)

    Hi All,
    Our web method team wants DTD from XI to design there development.
    I can provide XML structure but I do not know how to generate DTD file from XI.
    Also I am trying to generate DTD following site : http://www.hitsw.com/xml_utilites/   But web-method team saying there is no Root node in above generated DTD.
    Please guide me how to generate DTD from XI?
    Regards

    Bhavesh,
    I am working on a MDM(FILE)-XI-IDOC interface. I need to have the IDOC structure for my file structure. I have exported XSD from the IDOC and created an external definition file and using it.
    Otherwise, can I create a DTD file out of IDOC and import that into any data type? I created the DTD for the IDOC in WE60 and tried to import that into XI data type which is giving PARSER ERROR.
    Do you have any idea how to create a DTD file from a XSD file as you mentioned in this message?
    Thanks
    Kalyan

  • Mapping for IDoc to File

    Hi,
           I am doing mapping for IDoc to file scenario.
    Idoc is INVOIC02.
    Source field  is KRATE from segment E1EDP05
    Target field is Rate.
    Mapping rule is as follows.
    zero when Condiditon type (E1EDP05-KSCHL ) = YCSE  ( enter total 15 digits without any decimal in it. The last 2 digits will be treated as digits after decimal )
    Can someone explain the mapping?
    I have to map KRATE and Rate but where does KSCHL comes into this?
    Please explain

    TAKE HELP FROM THESE LINKS : These links can be helpful for you.
    http://help.sap.com/saphelp_nw04/helpdata/en/43/c4cdfc334824478090739c04c4a249/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/5d/db0e83e8e74202a5bff527055ab7e5/content.htm
    Regards,
    Sandeep Kaushik

  • Fields to be mapped for Idoc/Xi interface

    For customer collaboration we need to map the Idoc/Xi interface for following things
    In FS what field should be mentioned for following
         u2022     Integration SNC with R/3:
    u2022     ORDERS (PI) (Order Creation)
    u2022     ORDERSP (PI) (Order Confirmation)
    u2022     DESADV (PI) (ASN)
    u2022     Integration with the customer
    o     PROACT = new integration with SNC (PI)
    o     Product Forecast Notification
    o     ( Order ID Notification ) - To be evaluated for PO nrs.
    o     ORDERSP = AS IS
    o     DESADV = AS IS
    o     Proof of Delivery

    I am closing this Thread
    Thanks

Maybe you are looking for

  • I got Class category is invalid error. while i am trying to create project by using pa_project_pub API trough backend

    Hi Everyone, Can you please help me.. how can i solve this problem. please find out the following code which was i written.. DECLARE   -- Variables needed to create task hierachy   level1               NUMBER;   level2               NUMBER;   level3 

  • How can I reuse my credit the following month?

    HI, i have a prepaid iPhone 5c on the $30 freedom credit option. I don't think I will use all that credit in 1 month so is there anyway of using that credit the following month instead of recharging? Thanks.

  • Sound Card Trouble After -Syu

    Hello, I'm really not sure what I've done, but my sound is no longer working, and alsamixer does not detect my sound card anymore. I upgraded to kernel26 2.6.30.5-1 earlier today and so I suppose that could be to blame. I rebooted into the fallback k

  • Expose not working properly

    I upgraded to CS3 shortly after its release. When I press F9/F10 to get the Expose, all images other than the active one show up as empty gray boxes (as seen in the URL below). http://www.dt-computer.net/other/photoshopbug-20070829.jpg I have done so

  • DNS querier

    please help me in creating a DNS query program to display the resource records it returns