ABAP Mapping Pretty Print

Hi Everybody,
I have an issue with linefeed in ABAP Mapping.The ouput document generated by ABAP Mapping is as follow:
<?xml version="1.0" encoding="utf-8" ?<Header Node><T_H><SEND_ID value="XYZ"/>
<REC_ID value="PQR"/>
<DATE value="2007"/>
</T_H>
<O_H><L_NO value="252517"/>
<W_NO value="298"/>
<U_NO value="298"/>
</O_H>
</Header Node>
If we can see the above payload, i have the <Header Node> coming in the same line as that of the utf-8 and also the subnode <T_H> starting in the same line and its first field <SEND_ID > in the same line.The same is repeating for the second subnode <O_H>. I want to do a pretty print for this payload.I have used the method <b>set_pretty_print( )</b> in the ABAP Mapping, but there is no effect of this on the output.
To make it clear let me give the required output Xml
<?xml version="1.0" encoding="utf-8" ?
<Header Node>
<T_H>
<SEND_ID value="XYZ"/>
<REC_ID value="PQR"/>
<DATE value="2007"/>
</T_H>
<O_H>
<L_NO value="252517"/>
<W_NO value="298"/>
<U_NO value="298"/>
</O_H>
</Header Node>
Can anybody help me out on this.
Thanks & Regards,
Zabiula

Insert a new line character as per the ABAP rules in the generated XML. It is normally "/n" for microsoft based languages. Not sure what it is in ABAP. May be an ABAPer must be able to help you.
VJ

Similar Messages

  • Pretty Printer ONLY for selected lines in ABAP editor?

    Hi,
    I have done SETTINGS(Menu----Utilities) in PRETTY PRINTER in my ABAP editor that, all KEY WORDS shuld b in UPPER CASE.
    Say, I hv written code(in raw format, not yet pressed the PRETTY PRITER) like below,
    ABAP Code Line_1
    ABAP Code Line_2
    ABAP Code Line_3
    ABAP Code Line_4
    ABAP Code Line_5
    I want to hv pretty printer format for Line 3 and Line 5 ONLY!! I do not want to hv it for other lines, so, I high lighted(selected) those lines (3 and 5) and pressed pretty printer, but, am getting the pretty printer format for all the rest of the code as a single shot!!
    So, pls. let me know that, How I can get the pretty printer format ONLY for the lines, for which I wished(selected by high lighting)?
    And also let me know, How Can I do automatic(not manually) indentation for my code as a part of pretty printer? Actually, I tried but, am not getting even though I checled the check box intendation in SETTINGS!!
    Thank you

    Hi ,
    Preety printer will work on all the code that is avaliable in window,
    In case. if you want to do partial , copy your code in seperate window and do Pretty Printer for  it.
    Refer http://help.sap.com/saphelp_nw04/helpdata/en/d1/801ad6454211d189710000e8322d00/frameset.htm for other queries.
    Edited by: Harsh Bhalla on Nov 27, 2009 9:17 AM

  • Any ideas on a nice BSP view pretty printer?

    Hi there,
    I am wondering whether somebody already tried to extend the SAP standard pretty printer by an own functionality which fits better for pages with mixed content, containing not only BSP-elements but also HTML-tags.
    The standard pretty printer considers everything as plain text which is not a BSP-element and leaves it unaltered. Only BSP-elements are arranged according to their tree structure.
    This produces ugly results for pages with mixed content.
    1.) Requirement
    A Pretty Printer for HTML-based BSP views should cover the following:
    (a) HTML-Tags and BSP-elements together form the chain. As in following example:
    <z:table table_id="testTab" binding="//test/gt_test" rows="5">
      <z:tableBody position="top">
        <colgroup>
          <col width="4%">
          <col width="96%">
        </colgroup>
      </z:tableBody>
      <z:column name="type" header="<%=zcl_bsp_util=>dtel_text_s('EDI_TTYP')%>"
                listPos="10"/>
      <z:column name="text" listPos="20"></z:column>
    </z:table>
    (b) Certain HTML formatting tags like I, B, etc. should not be added to the stack but be treated inline.
    (c) HTML-attribute names should be converted to lower case, the attribute values should be quoted.
    (d) Like for BSP-elements, there should be a threshold after which the attributes should appear in separate lines. Instead of a certain maximum "number of attributes", this could also be a maximum number of characters per line.
    (e) Scripting Tags (<% ... %>) should start at a new line, if the content contains new-lines.
    (f) Evaluation Scripting (<%= ... %>) should be inline, if they are contained within text nodes (and not within HTML oder BSP element nodes).
    (g) The Pretty Printer should be parametrizable (with parameters like indent-depth,... ).
    2.) Exits?
    Of course, one could always use an external HTML editor and write an add-on for that editor which produces the desired result. Or one could take the view content into the clipboard, paste it into a plain text editor like UltraEdit or TextPad which allows external commands, apply an external, self-written pretty printer to it and then paste the result back into the View. But it would be easier to use the "Pretty Printer" button directly to get the result. Therefore the question arises at which point the standard Pretty Printer Functionality could be modified or extended.
    I didn't find an exit. But the pretty-print itself is doubly-decoupled in the standard which minimizes the number of points where an extension has to be made:
    2.a) First decoupling point: The Fcode handler method pretty_printer_ext( ) in cl_o2_page is calling
    dynamically a method in cl_o2_co2_processor:
    * call pretty printer
      create object pp type ('CL_O2_CO2_PROCESSOR').
      appl_str = me->pagekey-applname.
      page_str = me->pagekey-pagekey.
      try.
          CALL METHOD pp->('PRETTY_PRINT')
            EXPORTING
              indent              = 2
              ATTRIBUTE_NORMALIZE = 'X'
              ATTRIBUTE_THRESHOLD = 2
              BSP_UNFORMATTED     = source
              appl                = appl_str
              page                = page_str
            IMPORTING
              test_ok             = test_ok
              BSP_FORMATTED       = pp_source.
        catch cx_o2_co2_exception into o2ex.
    2.b) Second decoupling point:
    The method pretty_print() of class cl_o2_co2_processor (fancy names, by the way. It seems that many former chemistry students had joined the BSP team ),
    there is a second delegation, to a local class, as follows:
      data pretty type ref to LCL_BSP_PRETTY_PRINT.
      pretty = LCL_BSP_PRETTY_PRINT=>getInstance( processor = me ).
    The real logic for doing the Pretty Print, finally, is performed in this local class.
    3.) Implementation.
    Since, up to my knowledge, there is no HTML parser in the ABAP world,
    the implementation could be based on existing HTML Parsers, like the Perl module Parser::HTML, or the Java package http://htmlparser.sourceforge.net/ . The pretty printer could then be called as external OS command.
    Are there any ideas out there? Or is there somebody who already worked in this direction?
    Regards,
    Rüdiger

    For those who are interested. I found out that the Dave Ragget's classic "HTML Tidy" (see <a href="http://tidy.sourceforge.net/">http://tidy.sourceforge.net/</a> )  is available in ABAP! There is a class CL_HTMLTIDY (at least here in my SAP_BASIS 700 system) which wraps calls of HTML Tidy by kernel modules.
    The class is undocumented, but there are 2 OSS notes of this year for it, so it might well be that it is alive.
    HTML Tidy can surely not directly be used for Pretty Printing BSP views, but for designing test cases or for doing things like HTML parsing, it might be a helpful tool.

  • Is there better way to do this?  (Xml Pretty Print | node removing)

    Hi all, I have been working at home on a small project to help my Java Jedi training. :-)
    My app saves quotes from authors in an xml file.
    I have a class [XmlRepository extends Thread] that holds control of an xml file to handle requests for Nodes.
    When I remove a node I get a Line Space above the node that was removed, or better put my node gets replaced by a empty line.
    Pretty print or correct Node removing.
    part of my xml is like this (I have resumed it for readability):
        <entities forUser="ffffffff-ffff-ffff-ffff-ffffffffffff">
            <quotes/>
            <authors>
                <author id="f156c570-c676-4d69-9b15-ae7d859ff771" languageCode="en" regenerateAs="com.fdt.cognoscere.entities.sources.Author">
                    <lastNames>Poe</lastNames>
                    <firstNames>Edgar Allan</firstNames>
                </author>
                <author id="35dc0c5a-3813-4a10-af49-8d4ea1c2cee0" languageCode="en" regenerateAs="com.fdt.cognoscere.entities.sources.Author">
                    <lastNames>Wilde</lastNames>
                    <firstNames>Oscar</firstNames>
                </author>
                <author id="317f72ea-add6-4bd2-8c63-d8b373a830ab" languageCode="en" regenerateAs="com.fdt.cognoscere.entities.sources.Author">
                    <lastNames>Christie</lastNames>
                    <firstNames>Agatha</firstNames>
                </author>
                <author id="28047c89-b647-4c40-b6c7-677feaf2dfda" languageCode="en" regenerateAs="com.fdt.cognoscere.entities.sources.Author">
                    <lastNames>Shakespeare</lastNames>
                    <firstNames>William</firstNames>
                </author>
            </authors>
        </entities>If I remove A Node ( Edgar Allan Poe (1st in this case)) the resulting Xml when saved is like this (I have added the space indentation just as it is outputted by my code):
        <entities forUser="ffffffff-ffff-ffff-ffff-ffffffffffff">
            <quotes/>
                <author id="35dc0c5a-3813-4a10-af49-8d4ea1c2cee0" languageCode="en" regenerateAs="com.fdt.cognoscere.entities.sources.Author">
                    <lastNames>Wilde</lastNames>
                    <firstNames>Oscar</firstNames>
                </author>
                <author id="317f72ea-add6-4bd2-8c63-d8b373a830ab" languageCode="en" regenerateAs="com.fdt.cognoscere.entities.sources.Author">
                    <lastNames>Christie</lastNames>
                    <firstNames>Agatha</firstNames>
                </author>
                <author id="28047c89-b647-4c40-b6c7-677feaf2dfda" languageCode="en" regenerateAs="com.fdt.cognoscere.entities.sources.Author">
                    <lastNames>Shakespeare</lastNames>
                    <firstNames>William</firstNames>
                </author>
            </authors>
        </entities>this is how I initialize the XML DOM Handlers, and the method for removing a Node:
         * Initializes factory instances and member variables.
        private void initialize() {
            //obtain an instance of a documentFactory create a document documentBuilder
            this.documentFactory = DocumentBuilderFactory.newInstance();
            //Configure the documentFactory to be name-space aware and validate trough an xsd file
            this.documentFactory.setNamespaceAware(true);
            this.documentFactory.setValidating(true);
            this.documentFactory.setAttribute(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA);
            try {
                //obtain an instance of an XPathFactory
                this.xpathFactory = XPathFactory.newInstance(XPathFactory.DEFAULT_OBJECT_MODEL_URI);
                //obtain an instance of the xpath evaluator object
                this.xpathEvaluator = this.xpathFactory.newXPath();
                //set namespace mapping configurations
                NamespaceContextMap namespaceMappings = new NamespaceContextMap();
                namespaceMappings.put("xml", "http://www.w3.org/XML/1998/namespace");
                namespaceMappings.put("xmlns", "http://www.w3.org/2000/xmlns/");
                namespaceMappings.put("xsd", "http://www.w3.org/2001/XMLSchema");
                namespaceMappings.put("xsi", "http://www.w3.org/2001/XMLSchema-instance");
                namespaceMappings.put(this.schemaNamespaceMapping, this.schemaNamespace);
                //add mappings
                this.xpathEvaluator.setNamespaceContext(namespaceMappings);
            } catch (XPathFactoryConfigurationException ex) {
                Logger.getLogger(XmlRepository.class.getName()).log(Level.SEVERE, null, ex);
            try {
                //obtain a trasformer factory to save the file
                this.transformerFactory = TransformerFactory.newInstance();
                this.transformerFactory.setAttribute("indent-number", 4);
                //obtain the transforme
                this.transformer = this.transformerFactory.newTransformer();
                //setup transformer
                this.transformer.setOutputProperty(OutputKeys.METHOD, "xml");
                this.transformer.setOutputProperty(OutputKeys.INDENT, "yes");
                this.transformer.setOutputProperty(OutputKeys.MEDIA_TYPE, "text");
                this.transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4");
            } catch (TransformerConfigurationException tcex) {
                Logger.getLogger(XmlRepository.class.getName()).log(Level.SEVERE, null, tcex);
         * Removes a node by evaluating the XPATH expression.
         * @param xpath A String instance with the XPATH expression representing the element to remove.
         * @throws com.fdt.cognoscere.storage.exceptions.UnableToRemoveException When an exception occurs that prevents the repository to execute the remove statement.
        public void removeNode(final String xpath) throws UnableToRemoveException {
            Node nodeToRemove = null;
            Node parentNode = null;
            //verify xpath
            if (xpath == null)
                throw new IllegalArgumentException("The xpath argument cannot be null.");
            //verify that the repository is loaded
            if (!this.loaded)
                throw new IllegalStateException("The XmlRepository faild to load properly and it is in an invalid state. It cannot perfom any operation.");
            try {
                //get the node to remove out of the xpath expression
                nodeToRemove = this.getNode(xpath);
                //throw an exception if no node was found to remove
                if (nodeToRemove == null)
                    throw new UnableToFindException("The node element trying to be remove does not exist.");
                //obtain the parent node to remove its child
                parentNode = nodeToRemove.getParentNode();
                //remove the node from the parent node
                nodeToRemove = parentNode.removeChild(nodeToRemove);
            } catch.......removed to save space{
            } finally {
                //normalize document
                this.document.normalize();
        }Please tell me if I could do this better,
    thanks,
    f(t)

    franciscodiaztrepat wrote:
    When I remove a node I get a Line Space above the node that was removed, or better put my node gets replaced by a empty line.Replaced? No, there's already a new-line character after the node that was removed. And there was one before that node too. You didn't remove either of those, so after the removal there are two consecutive new-line characters. As you can see.
    And no, trying to pretty-print the XML document won't remove any of those. It might add whitespace to make the document nicely indented, but it won't ever remove whitespace. If you want whitespace removed then you'll have to do it yourself.
    For example, after you remove a node, also remove the node following it if it's a whitespace text node. Or something like that.

  • How to pretty printer of a code in enhance framework of a standard FM

    Hi,
           I have written a code in a <b>enhancement point of a standard Function Module</b>. But i am unable to pretty printer that portion of code. Doed any one have any idea how to do that??
    Thanks & Regards,
    Abhishek Sarkar

    Hi,
    Pritty printer gives a pritty view to your code, so that it can be easily readable.
    You can set the functionality of pritty printer by doing some setting.
    The path for setting is
    Utilities>Setting>ABAP Editor-->Pritty Printer.
    Thanks.

  • Java Mapping/UDF/ABAP mapping to capture payload

    Hi,
    could you please provide me Java mapping code samples (or UDF code) to save payloads of a message based on Message ID
    i have a synchronous scenario where i have payloads in sxmb_moni for request and response with different message IDs. So pelase let me know how to save those request and response payloads to a file.
    it would be great if you provide the stpes to implement and java code samples....if it is possible with ABAP mapping also please let me know te steps.
    Best Regards....SARAN

    Try with this code
    import com.sap.mw.jco.IFunctionTemplate;
    import com.sap.mw.jco.IRepository;
    import com.sap.mw.jco.JCO;
    public class PayloadExtractor {
        // The MySAP.com system we gonna be using
        static final String SID = "SID";
        // The repository we will be using
       IRepository repository;
        JCO.Field msgkeyField;
        public PayloadExtractor() {
            try {
                System.out.println("*** Creating the Pool... ***");
                JCO.addClientPool(SID, 10, "001", "user", "pwd", "EN", "host", "00");
                repository = JCO.createRepository("RecoverRepository", SID);
            } catch (JCO.Exception ex) {
                System.out.println("RecoverXI Caught an exception: \n" + ex);
        // Retrieves and prints information about the remote system
        public void getPayload() {
            // A messageID from your XI/PI
            String key = "48CD01EB3D27021BE1008000C0A8477D";
            final String pipelineID = "CENTRAL";
            byte[] msgkey = key.getBytes();
            try {
                IFunctionTemplate ftemplate = repository.getFunctionTemplate("SXMB_READ_MESSAGE_VERSION_RAW");
                if (ftemplate != null) {
                    System.out.println("*** Creating client and function... ***");
                    JCO.Function function = ftemplate.getFunction();
                    JCO.Client client = JCO.getClient(SID);
                    JCO.Structure struct = function.getImportParameterList().getStructure("MESSAGEKEY");
                    struct.setValue(key, "MSGID");
                    struct.setValue(pipelineID, "PID");
                    // SELECTION must be like this!
                    function.getImportParameterList().getField("SELECTION").setValue("2");
                    // This is the msg version number, where 000 is the first (Inbound); the last can be caught from the function output (see below).
                    // Setting this strongly depends on what you want to get: basically before or after the mapping...
                    function.getImportParameterList().getField("VERSION_REQUEST").setValue("000");
                    System.out.println("*** Calling... ***");
                    client.execute(function);
                    JCO.Table tb = function.getExportParameterList().getTable("MESSAGEPAYLOAD");
                    if (tb.getNumRows() > 0) {
                        // There could be multiple payloads (even if usually it's only one)
                        do {
                            String plstr = new String(tb.getField("PAYLOAD").getByteArray());
                            System.out.println(
                                "*** Payload found *** " + tb.getField("NAME").getString() + " *** BEGIN ***");
                            System.out.println(
                                "Message Last Version: "
                                    + function.getExportParameterList().getField("MAXVERSION").getString());
                            System.out.println(plstr);
                            System.out.println(
                                "*** Payload found *** " + tb.getField("NAME").getString() + " ***  END  ***");
                        } while (tb.nextRow());
                    } else {
                        System.out.println("*** No payload found! ***");
                    // Release the client into the pool
                    JCO.releaseClient(client);
                } else {
                    System.out.println("Function SXMB_READ_MESSAGE_VERSION_RAW not found in backend system.");
            } catch (Exception ex) {
                System.out.println("Caught an exception: \n" + ex);
        protected void cleanUp() {
            System.out.println("*** Cleaning... ***");
            JCO.removeClientPool(SID);
        public static void main(String[] argv) {
            PayloadExtractor e = new PayloadExtractor();
            e.getPayload();
            e.cleanUp();
    -Madhu

  • ABAP MAPPING CHALLENGE  IN XI

    I need to split messages depending upon the message area.I have already created ABAP mapping class that creates one big file in the output.However now I need to split the messages into different files according to Business Area.
    Is it possible that I can I use this methods below inside the loop and endloop statements when I build the XML document  using XML DOM Processor.
    renderer = o_ixml->create_renderer( ostream = o_istream
                                            document = o_document ).
       irc = renderer->render( ).
    Let me know this will work ,if not how to do multi mapping with this already built ABAP Mapping Class in the Interface mapping.Any other suggestions will be highly appreciated.

    Hi Vijay,
    We are able to output the XML properly with Messages/Message1 tags etc in ABAP mapping program. used SXI_MAPPING_TEST to make sure no errors.
    In interface mapping, I had changed target interface to "0 to unbounded", also selected "enhanced" in Interface determination, activated the changes.
    Now, scenrio fails with "uncaught exception in ABAP mapping".
    We are pretty close to solution I guess. please help.

  • ABAP Dictionary structure for use in ABAP Mapping

    Hello, I'm creating an ABAP mapping class which requires me to use standard ABAP dictionary (table) structures (ex.MARA, KNA1 etc) for the mapping as the data coming into the mapping is in that format. I'm creating the ABAP class in the PI server and do not have table structures (MARA, KNA1 etc) in the dictionary in the PI server. What is the efficient way to create these structures (as Z elements) in the PI server's dictionary?
    I have the XSD of these table structures. Can I import those XSDs into the ABAP dictionary in PI servers? If yes, how can it be done? Please help!

    Yes you can import it as an external definition data and create the data type based on this XSD. Go through the link below for more information on the steps to import and how to use it.
    http://help.sap.com/saphelp_nwpi71/helpdata/en/26/9e97b0f525d743882936c2d6f375c7/frameset.htm

  • Acces dynamic configuration variable (e.g. filename) in ABAP mapping class

    Hi experts
    I am searching for a possibility to acces a dynamic configuration variable (DCV) in an ABAP mapping class. Since I could not find a solution in SDN and other sources, I hope somebody in this forum can help me.
    What I already found is the following code which can be used to set a DCV, but what I would be interested in is how to read a DCV.
    Any help is appreciated.
    Markus
    METHOD if_mapping~execute.
    DATA l_record type mpp_dynamic.
    * copy payload
    result = source.
    * add an adapter specific attribute
    l_record-namespace = 'http://sap.com/xi/XI/System/File'.
    l_record-name = 'FileName'.
    l_record-value = 'test.xml'.
    dynamic_configuration->add_record( l_record ).
    ENDMETHOD.

    Hi Markus,
    you can find everything in my blogs
    /people/michal.krawczyk2/blog/2007/04/26/xipi-throwing-generic-exceptions-from-any-type-of-mapping
    Regards,
    michal

  • IDOC-XI-FILE Scenario: Error in ABAP Mapping

    Dear All,
    I am working on IDOC-XI-Flat FIle scenario in which I am using ABAP Mapping as per document "How To Convert an IDoc-XML
    structure to a flat file and vice versa in XI 3.0".
    I created one customized Idoc for this. The Idoc is reacing XI but its flat file is not getting created. Its giving me following error:
    <SAP:Stack>Error in mapping program Z_ABAP_MAPPING_PACKING_LIST (type SAP-ABAP, kernel error ID UNCAUGHT_EXCEPTION) An exception with the type CX_SY_REF_IS_INITIAL occurred, but was neither handled locally, nor declared in a RAISING clause Dereferencing of the NULL reference.</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
    I have also gone thru threads posted for the same topic earlier but still I am not been to resolve this error.
    Please help me out in resolving this error.
    Regards,
    N.Jain

    HI,
       Log saying that, u have problem in the mapping program.
      i.e Z_ABAP_MAPPING_PACKING_LIST
       the problem is due declaration of data.
       i hope that, you have some methods.
       those are declared under intialization section in mapping program.
      please use start of selection before the method.
    other wise, it will come under intilization section.
    warm regards
    mahesh.

  • Printing from JBOSS (on a windows server as system account) on a mapped (shared) printer (installed as administrator)

    Hi,
    I have JBOSS running on a Windows Server. Our applications on JBOSS use network printers which are installed on the server for printing purposes. This works fine so far, except for one case for which I ask you for support:
    If I map a printer, which is (only) conneted via USB with a PC and shared in the network, the printer is available on the server with JBOSS and can be mapped, BUT JBOSS is not able to see this particular printer and print on it, while the other installed
    network printers are available and functional via JBOSS.
    My researchs have led to the conclusion, that JBOSS doesn't see this printer, as JBOSS is running unter the SYSTEM account, while the printer was installed with an administrator account. Strangely network printers don't cause this issue.
    If I start JBOSS with an administrator account, it can see and use the shared printer. But unfortunately this is not an option, as it causes other issues with our applications.
    So the question is: Is there a way to make the printer visible for the SYSTEM account? Or any other suggestions?
    Many thanks in advance and best regards,
    Amir

    simple solution is to install your printers locally rather than connecting to a network resource, locally installed printers have the advantage of being
    visible to every user on your system including system accounts. To install a printer locally rather than connecting to a network printer start the "Add Printer Wizard" and select "Local printer attached to this computer"
    Best,
    Howtodo

  • How to convert xml file into internal table in ABAP Mapping.

    Hi All,
    I am trying with ABAP mapping. I have one scenario in which I'm using below xml file as a sender from my FTP server.
    <?xml version="1.0" encoding="UTF-8" ?>
    - <ns0:MTO_ABAP_MAPPING xmlns:ns0="http://Capgemini/Mumbai/sarsingh">
      <BookingCode>2KY34R</BookingCode>
    - <Passenger>
      <Name>SARVESH</Name>
      <Address>THANE</Address>
      </Passenger>
    - <Passenger>
      <Name>RAJESH</Name>
      <Address>POWAI</Address>
      </Passenger>
    - <Passenger>
      <Name>CARRON</Name>
      <Address>JUHU</Address>
      </Passenger>
    - <Flight>
      <Date>03/03/07</Date>
      <AirlineID>UA</AirlineID>
      <FlightNumber>125</FlightNumber>
      <From>LAS</From>
      <To>SFO</To>
      </Flight>
      </ns0:MTO_ABAP_MAPPING>
    AT the receiver side I wnat to concatenate the NAME & ADDRESS.
    I tried Robert Eijpe's weblog (/people/r.eijpe/blog/2005/11/21/xml-dom-processing-in-abap-part-ii--convert-an-xml-file-into-an-abap-table-using-sap-dom-approach)
    but couldnt succeed to convert the xml file into internal table perfectly.
    Can anybody help on this. 
    Thanks in advance!!
    Sarvesh

    Hi Sarvesh,
    The pdf has details of ABAP mapping. The example given almost matches the xml file you want to be converted.
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/xi/3.0/how to use abap-mapping in xi 3.0.pdf
    Just in case you have not seen this
    regards
    Vijaya

  • Issue in ABAP Mapping

    Hi All
    I am using ABAP mapping.
    After getting children of the root node, i create an iterator by the following statements:
    node_collection = root_node->get_children( ).
    node_iterator = node_collection->create_iterator( ).
    Now, In a loop, i want to get all the children in sequence. So, in the loop i am writing this statement:
    child = node_iterator->get_next( ).
    For the first iteration in the loop, 'child' gets the first child. But, for the second iteration, the 'child' value is becoming NULL.
    Am i doing anything wrong? How can i fix this?
    Thanks
    Chandra

    Hi Chandra,
    you should first check the existence of the node in something like:
    lo_xml_iterator = lo_xml_node_coll->create_iterator( ).
    lo_xml_node = lo_xml_iterator->get_next( ).
    while not lo_xml_node is initial.
      lo_xml_node = lo_xml_iterator->get_next( ).
    endwhile.
    Regards,
    Sergio

  • ABAP MAPPING PROGRAM TRANSPORTATION ISSUE

    Hi Experts,
    Our issue is as following:
    Already one ABAP mapping program is there in our DEV and in QA also.
    Now we have changes the code according to some requirement.
    Now we need to reflect the same in QA also.
    For that I have certain doubts.
    1) after releasing the request number in R/3, will it effect there in integration builder of the QA?
    2) Is there any need to do in ADMINISTRATION to reflect the same?
    Please revert urgenly.
    Regards
    sreeni

    hi barry,
    thanks a lot . we have released it into integration it is working fine.
    thanks once again and i wll reward points also.
    I think you can tell my one more doubt is as:
    I have one new ABAP mapping program which is not used till now in any interface mapping in ID of XI.
    now want use this my integration builder ID in as mapping program.
    in this case is any requirement to enable the same in Integration ADMINISTRATION tab.
    plz clarify me.
    regards
    sreeni

  • Variable Substitution not working when using ABAP mapping

    Hi all,
    I am doing an IDoc to File scenario.
    Due to some complex mapping requirements, i had to use ABAP mapping for IDoc to File ( IDoc : SHPMNT05)
    There is also one more requirement where in i need to generate the receiver filename dynamically
    i.e the filename is of the form :     
        GW-XYZ-DD/MM/YYYY.csv
    Where
    XYZ is the Shipment number (E1EDT20- TKNUM)
    DD/MM/YYYY is the IDOC creation date in ECC (EDIDC-CREDAT)
    so i used the variable substitution option in receiver file adapter.
    But its not working.
    Is there any limitation for using the variable Substitution, doesnt variable substitution work in case of ABAP mapping?
    Regards,
    Loveena.

    Hi,
      u written ABAP mapping program to get the file name in the required format ,
    is it rt?
    when u test it at message mapping(including ABAP map program)
    u get the the required format of file name in the one of target filed.
    if that was fine, please check the variable substituiton parameters at receiver file adapter.
    i mean, are u maintain variable name and refernece.
    u have to specify the payload information.
    warm regards
    mahesh.

Maybe you are looking for

  • Since the last update, every time I open "Numbers" I get a notice that a font is missing.  How can I stop seeing this warning?

    Since the last update for "numbers", everytime I open numbers I get a notice that a font is missing.  I don't care that it's missing and I would like to not see that message.  How can I get rid of it?

  • Monitor and record server performance

    Hi all. This is not really Arch related but a general question. I have a web server that has services crashing. I think it may be due to low mem. Is there any software or some method that would allow me to monitor/log server stats/performance and the

  • My desktop doesn't turn on.

    I tried to reboot my Mac. The grey circle is on and so is the white screen with the logo but nothing happens further! Please help someone!

  • Time Machine makes full backup after permission repair.

    I am struggling with this a couple of months but now I am sure. Each time I do a permission repair of my hard drive, Time Machine makes a full backup of roughly 200G. In this way my Time Machine disk can be full rather quickly. I seem not to be able

  • Multi frames

    I recently downloaded a set of multiframe templates from Adobe Studio Exchange, which I like very much. Problem is, of course, that those frames do not always fit my needs. Is this too complicated, or could you explain to me step-by-step how to do th