Create xml tag dynamically within simple transformation

Hi all together,
I'm faceing the following problem:
There is a internal table provided, consisting of name/value-pairs. Something like
ls_struc-name = 'NAME1'.
ls_struc-value = 'XYZ'.
append ls_struc to lt_struc
ls_struc-name = 'CITY1'.
ls_struc-value = 'Munich'.
append ls_struc to lt_struc
and so on.
I have to create this XML (with simple transformation):
<NAME1>XYZ</NAME1>
<CITY1>Munich</CITY1>
Everythings works fine so far (tables, values etc.), but I have problems with creating the XML-Tag, e.g <NAME1> from "$line.name" within the transformation. I don't have any information about the data structure (therefore "call transaction id" does not work).
Any hint is useful!!!
Best regards,
Thomas

Exaple program for creating XML file from abap
REPORT  z_xit_xml_dom_create.
  TYPE-POOLS: ixml.
  TYPES: BEGIN OF xml_line,
          data(256) TYPE x,
         END OF xml_line.
  DATA: l_ixml            TYPE REF TO if_ixml,
        l_streamfactory   TYPE REF TO if_ixml_stream_factory,
        l_ostream         TYPE REF TO if_ixml_ostream,
        l_renderer        TYPE REF TO if_ixml_renderer,
        l_document        TYPE REF TO if_ixml_document.
  DATA: l_element_flights TYPE REF TO if_ixml_element,
        l_element_airline TYPE REF TO if_ixml_element,
        l_element_flight  TYPE REF TO if_ixml_element,
        l_element_from    TYPE REF TO if_ixml_element,
        l_element_to      TYPE REF TO if_ixml_element,
        l_element_dummy   TYPE REF TO if_ixml_element,
        l_value           TYPE string.
  DATA: l_xml_table       TYPE TABLE OF xml_line,
        l_xml_size        TYPE i,
        l_rc              TYPE i.
  DATA: lt_spfli          TYPE TABLE OF spfli.
  DATA: l_spfli           TYPE spfli.
  START-OF-SELECTION.
*   Fill the internal table
    SELECT * FROM spfli INTO TABLE lt_spfli.
*   Sort internal table
    SORT lt_spfli BY carrid.
*   Start filling xml dom object from internal table
    LOOP AT lt_spfli INTO l_spfli.
      AT FIRST.
*       Creating a ixml factory
        l_ixml = cl_ixml=>create( ).
*       Creating the dom object model
        l_document = l_ixml->create_document( ).
*       Fill root node with value flights
        l_element_flights  = l_document->create_simple_element(
                    name = 'flights'
                    parent = l_document ).
      ENDAT.
      AT NEW carrid.
*       Create element 'airline' as child of 'flights'
        l_element_airline  = l_document->create_simple_element(
                    name = 'airline'
                    parent = l_element_flights  ).
*       Create attribute 'code' of node 'airline'
        l_value = l_spfli-carrid.
        l_rc = l_element_airline->set_attribute( name = 'code' value = l_value ).
*       Create attribute 'name' of node 'airline'
        SELECT SINGLE carrname FROM scarr INTO l_value WHERE carrid EQ l_spfli-carrid.
        l_rc = l_element_airline->set_attribute( name = 'name' value = l_value ).
      ENDAT.
      AT NEW connid.
*       Create element 'flight' as child of 'airline'
        l_element_flight  = l_document->create_simple_element(
                    name = 'flight'
                    parent = l_element_airline  ).
*       Create attribute 'number' of node 'flight'
        l_value = l_spfli-connid.
        l_rc = l_element_flight->set_attribute( name = 'number' value = l_value ).
      ENDAT.
*     Create element 'from' as child of 'flight'
      CONCATENATE l_spfli-cityfrom ',' l_spfli-countryfr INTO l_value.
      l_element_from  = l_document->create_simple_element(
                  name = 'from'
                  value = l_value
                  parent = l_element_flight  ).
*     Create attribute 'airport' of node 'from'
      l_value = l_spfli-airpfrom.
      l_rc = l_element_from->set_attribute( name = 'airport' value = l_value ).
*     Create element 'to' as child of 'flight'
      CONCATENATE l_spfli-cityto ',' l_spfli-countryto INTO l_value.
      l_element_to  = l_document->create_simple_element(
                  name = 'to'
                  value = l_value
                  parent = l_element_flight  ).
*     Create attribute 'airport' of node 'from'
      l_value = l_spfli-airpto.
      l_rc = l_element_to->set_attribute( name = 'airport' value = l_value ).
*     Create element 'departure' as child of 'flight'
      l_value = l_spfli-deptime.
      l_element_dummy  = l_document->create_simple_element(
                  name = 'departure'
                  value = l_value
                  parent = l_element_flight ).
*     Create element 'arrival' as child of 'flight'
      l_value = l_spfli-arrtime.
      l_element_dummy  = l_document->create_simple_element(
                  name = 'arrival'
                  value = l_value
                  parent = l_element_flight ).
*     Create element 'type' as child of 'flight'
      CASE l_spfli-fltype.
        WHEN 'X'.
          l_value = 'Charter'.
        WHEN OTHERS.
          l_value = 'Scheduled'.
      ENDCASE.
      l_element_dummy  = l_document->create_simple_element(
                  name = 'type'
                  value = l_value
                  parent = l_element_flight ).
    ENDLOOP.
    IF sy-subrc NE 0.
      MESSAGE 'No data into db table ''spfli'', please run program ''SAPBC_DATA_GENERATOR'' with transaction ''SA38''' TYPE 'E'.
    ENDIF.
*   Creating a stream factory
    l_streamfactory = l_ixml->create_stream_factory( ).
*   Connect internal XML table to stream factory
    l_ostream = l_streamfactory->create_ostream_itable( table = l_xml_table ).
*   Rendering the document
    l_renderer = l_ixml->create_renderer( ostream  = l_ostream
                                          document = l_document ).
    l_rc = l_renderer->render( ).
*   Saving the XML document
    l_xml_size = l_ostream->get_num_written_raw( ).
    CALL METHOD cl_gui_frontend_services=>gui_download
      EXPORTING
        bin_filesize = l_xml_size
        filename     = 'c:\temp\flights.xml'
        filetype     = 'BIN'
      CHANGING
        data_tab     = l_xml_table
      EXCEPTIONS
        OTHERS       = 24.
    IF sy-subrc <> 0.
      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                 WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.

Similar Messages

  • CREATING XML TAG W/SPACES and CDATA.  EXPORTED FROM PDF BUTTON

    Hello All,
    I was wondering if anyone could help with the following when working with livecycle Designer.
    In our current XML we use in production we have a tag that looks like
    a.       <action function='Form1650' method='Add' and Action 'Upload' />
    How do I go about making a field like this? I tried creating a text field and making in invisible and that’s fine and all BUT  when I go to make the binding name for the field it won’t let me put spaces in for the (function='Form1650' method='Add' and Action 'Upload') portion of the tag.
    2)      We currently use CDATA in our XML file to allow users to enter free form data w/ special characters like (<, &, etc) and not have our application crash. I noticed when using a exporting button in a pdf to generate a XML file it takes tags like < and converts to &lt.  Is there a way to have PDFs use CDATA embedded in the XML tag on output or some other solution?

    >when working with livecycle Designer
    This is the Acrobat forum... you need to find the forum for livecycle Designer

  • Create XML file dynamically from textInput fields

    Hi,
    I'm very new to Flex and trying to create an application that creates XML files on the users' local computer, based on a users input into textInput fields.
    At the moment I'm having trouble finding how to dyamically create an external XML file at all, ideally when the user pushes a button a browseForSave dialog box will open allowing the user to select somewhere on their hard drive to create the XML file.
    Can anyone give me a hint what direction I should be heading in?
    Thanks

    If this post answered your question or helped, please mark it as such.
    You could use a SharedObject for small files, but in general Flex does not have access to the local hard drive.
    <?xml version="1.0"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
      initialize="init()">
      <mx:Script>
        <![CDATA[
          public var mySO:SharedObject;
          public function init():void{
            mySO = SharedObject.getLocal("mydata");
            if(mySO.data.myData!=null){
              var xml:XML = mySO.data.myData;
              fname.text = xml.fname;
              lname.text = xml.lname;
              email.text = xml.email;
          private function storeData():void{
            var xml:XML =
              <data/>;
            if(fname.text != ""){
              xml.appendChild(<fname>{fname.text}</fname>);
            if(lname.text != ""){
              xml.appendChild(<lname>{lname.text}</lname>);
            if(email.text != ""){
              xml.appendChild(<email>{email.text}</email>);
            mySO.data.myData = xml;
            mySO.flush();
          private function resetData():void{
            mySO.clear();
            fname.text = "";
            lname.text = ""
            email.text = "";
        ]]>
      </mx:Script>
      <mx:Form>
        <mx:FormItem label="First Name:">
          <mx:TextInput id="fname"/>
        </mx:FormItem>
        <mx:FormItem label="Last Name:">
          <mx:TextInput id="lname"/>
        </mx:FormItem>
        <mx:FormItem label="Email:">
          <mx:TextInput id="email"/>
        </mx:FormItem>
      </mx:Form>
      <mx:Button label="Store Data" click="storeData()"/>
      <mx:Button label="Reload Stored Data" click="init()"/>
      <mx:Button label="Delete Stored Data" click="resetData()"/>
    </mx:Application>

  • Problems in creating xml tags using java

    i had analysed the xmlnode builder class but i am unable to learn what is the functions of that class.
    so please send me a sample coding to create the following output.
    i need this kind of output.
    <?xml version="1.0"?>
    <tree>
    <node id="acc" text="Accounts" cImage="tree/images/book.gif" oImage="tree/images/bookopen.gif" contextid="con1">
    <contents>
    <node id="1" text="Liabilites" cImage="tree/images/book.gif" oImage="tree/images/bookopen.gif" contextid="con1">
    <contents>
    <node id="5" text="Capital" cImage="tree/images/book.gif" oImage="tree/images/bookopen.gif" contextid="con1">
    <contents>
    <node id="L5" text="Gods A/c" cImage="tree/images/book.gif" oImage="tree/images/bookopen.gif" contextid="con1"/>
    </contents>
    </node>
    <node id="10" text="Current Liablities" cImage="tree/images/book.gif" oImage="tree/images/bookopen.gif" contextid="con1"/>
    <node id="11" text="Cash On Hand" cImage="tree/images/book.gif" oImage="tree/images/bookopen.gif" contextid="con1">
    <contents>
    <node id="L11" text="Cash" cImage="tree/images/book.gif" oImage="tree/images/bookopen.gif" contextid="con1"/>
    </contents>
    </node>
    <node id="12" text="Bank Balance" cImage="tree/images/book.gif" oImage="tree/images/bookopen.gif" contextid="con1">
    <contents>
    <node id="L12" text="ICICI" cImage="tree/images/book.gif" oImage="tree/images/bookopen.gif" contextid="con1"/>
    </contents>
    </node>
    </contents>
    </node>
    <node id="2" text="Asset" cImage="tree/images/book.gif" oImage="tree/images/bookopen.gif" contextid="con1">
    <contents>
    <node id="6" text="Fixed Asset" cImage="tree/images/book.gif" oImage="tree/images/bookopen.gif" contextid="con2"/>
    </contents>
    </node>
    <node id="3" text="Expenses" cImage="tree/images/book.gif" oImage="tree/images/bookopen.gif" contextid="con1">
    <contents>
    <node id="15" text="Direct Expenses" cImage="tree/images/book.gif" oImage="tree/images/bookopen.gif" contextid="con2">
    <contents>
    <node id="8" text="Purchase" cImage="tree/images/book.gif" oImage="tree/images/bookopen.gif" contextid="con2"/>
    </contents>
    </node>
    <node id="16" text="InDirect Expenses" cImage="tree/images/book.gif" oImage="tree/images/bookopen.gif" contextid="con2">
    <contaents>
    <node id="L16" text="Staff Welfare" cImage="tree/images/book.gif" oImage="tree/images/bookopen.gif" contextid="con2"/>
    </contaents>
    </node>
    </contents>
    </node>
    <node id="4" text="Income" cImage="tree/images/book.gif" oImage="tree/images/bookopen.gif" contextid="con1">
    <contents>
    <node id="13" text="Direct Income" cImage="tree/images/book.gif" oImage="tree/images/bookopen.gif" contextid="con2">
    <contents>
    <node id="7" text="Sales" cImage="tree/images/book.gif" oImage="tree/images/bookopen.gif" contextid="con2"/>
    </contents>
    </node>
    <node id="14" text="InDirect Income" cImage="tree/images/book.gif" oImage="tree/images/bookopen.gif" contextid="con2"/>
    </contents>
    </node>
    </contents>
    </node>
    <node id="inv" text="Inventory" cImage="tree/images/book.gif" oImage="tree/images/bookopen.gif" contextid="con1">
    <contents>
    <node id="1" text="Raw Material" cImage="tree/images/book.gif" oImage="tree/images/bookopen.gif" contextid="con1">
    <contents>
    <node id="I1" text="Pigments" cImage="tree/images/book.gif" oImage="tree/images/bookopen.gif" contextid="con1"/>
    </contents>
    </node>
    <node id="2" text="Intermediate" cImage="tree/images/book.gif" oImage="tree/images/bookopen.gif" contextid="con1"/>
    <node id="3" text="Work In Process" cImage="tree/images/book.gif" oImage="tree/images/bookopen.gif" contextid="con1"/>
    <node id="4" text="Finised Goods" cImage="tree/images/book.gif" oImage="tree/images/bookopen.gif" contextid="con1"/>
    <node id="5" text="Packing Materials" cImage="tree/images/book.gif" oImage="tree/images/bookopen.gif" contextid="con1"/>
    </contents>
    </node>
    </tree>

    Unless you are using some special tag library or something, SQL is not, as far as I've ever seen, going to handle while loops within the statements. You want to create the table, then you have to create the CREATE statement string
    String c = "CREATE TABLE [dbo].[tblNewTable] (";
    for(int x = 0; x < vFieldFruitVector.size(); x++) {
       c += vFieldFruitVector.get(x) + " char 50 COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL";
    c += ")";
    int res = stmt.executeUpdate(c);

  • Urgent, creating xml files dynamically, request dispatcher problem

    hi all,
    Problem 1:
    There is a problem we are facing, while request dispatching.
    The files CBECBC.XML & CBECBC_Envelop.XML,
    both xml files. These files are created on request from the user, dynamically, and displayed on the browser,
    by including them in a jsp page.
    Here we face a problem when they are to be included into the jsp page.
    The error is the following :
    //////// Error ////////
    Could not find request dispatcher for the url CBECBC.xml
    Could not find request dispatcher for the url CBECBC_Envelop.xml
    The created files are stored in the "d:\pstudio35\desks\bank\BankWeb\".
    We are using " <jsp:include page="...."/> " (dynamic jsp include tag), to include the xml files.
    Problem 2:
    And could you just let me know how to include a xml file in a jsp file,
    so that the xml file is displayed in the exact format of xml(with the tags).
    I am using Pramati Studio 3.5
    Its urgent!!!
    Regards,
    Deepa Datar

    problem 2:
    either translate all < en > into < and > or display the XML in a textarea

  • How to creat XML file dynamically

    i want to create a XML file where tags will be dynamically created based on the backend table feild name.After creating this table i want to insert this XML file into a table as a feild.

    Here is some pseudo to output a database contents to file.
      Writer.write("<Root>")
    //for each database d
      Writer.write("<" + d.getName() + ">")
       // for each table t in d
           Writer.write("<" + t.getName() + ">")
          //for each row r in t
              Writer.write("<Row>")
             //for each column c in r
               Writer.write("<" + c.getName() + " >" + c.getValue() + "</" + c.getName() + ">");
             //end for
            Writer.write("</Row>")
           //end for
         Writer.write("</" + t.getName() + ">")
       //end for
    Writer.write("</" + d.getName() + ">")     
      Writer.write("</Root>")

  • Want to create XML tag from the query

    Here i want to create a xml output from the below code for the given P_repair_number can anyone help me for the code i have written
    ORA-06502: PL/SQL: numeric or value error: character to number conversion error
    facing the above error when run from concurrent program
    Procedure dfdfdf(p_repair_number number,
                              errbuf        OUT VARCHAR2,
                              retcode       OUT NUMBER) as
    v_error_code NUMBER; -- error code
      v_error_message VARCHAR2(255); -- error message
      v_text_msg VARCHAR2(100);
    cursor Rodetails(p_repair_number IN NUMBER) is
    SELECT
      dra.repair_number,
      dra.repair_line_id,
      items.concatenated_segments item_name,
      items.description item_desc,
      dra.inventory_item_id,
      sr.incident_number sr_incident_number,
      decode(dra.customer_product_id, '',dra.serial_number,cp.serial_number) serial_number,
      ltrim(oeh.order_number) rma_number,
      rstl.resource_name ro_owner_name,
      fndl.meaning flow_status_name,
      dra.status ro_status_code,
      drtt.name repair_type_name,
      dra.problem_description,
      dra.promise_date,
      rgtl.group_name repair_org_name,
      decode(dra.customer_product_id, '',dra.item_revision,cp.inventory_revision) revision,
      cp.lot_number,
      dra.unit_of_measure uom_code,
      uom.unit_of_measure_tl uom_name,
      dra.quantity,
      cp.instance_number ib_instance_number,
      plkup.meaning ro_priority_meaning
    FROM
      csd_repairs dra,
      csd_repair_types_tl drtt,  
      cs_incidents_all_b sr,
      csi_item_instances cp,
      fnd_lookups fndl, 
      csd_flow_statuses_b fsb,
      mtl_system_items_kfv items,
      mtl_units_of_measure_tl uom,
      jtf_rs_resource_extns_tl rstl,
      jtf_rs_groups_tl rgtl,
      oe_order_headers_all oeh,
      cs_estimate_details edt,
      csd_product_transactions txns,
      fnd_lookups plkup 
    WHERE dra.repair_type_id =  drtt.repair_type_id
      AND drtt.language = userenv('LANG')
      AND dra.repair_mode = 'WIP'
      AND dra.incident_id = sr.incident_id
      AND dra.CUSTOMER_PRODUCT_ID = cp.INSTANCE_ID(+)
      AND dra.flow_status_id = fsb.flow_status_id
      AND fsb.flow_status_code = fndl.lookup_code
      AND fndl.lookup_type = 'CSD_REPAIR_FLOW_STATUS'
      AND dra.inventory_item_id = items.inventory_item_id
      AND dra.unit_of_measure = uom.uom_code
      AND uom.language = userenv('LANG')
      AND dra.resource_id = rstl.resource_id (+)
      AND rstl.category (+) = 'EMPLOYEE'
      AND rstl.language (+) = userenv('LANG')
      AND dra.owning_organization_id = rgtl.group_id (+)
      AND rgtl.language (+) = userenv('LANG')
      AND dra.repair_line_id = txns.repair_line_id
      AND txns.estimate_detail_id = edt.estimate_detail_id
      AND edt.order_header_id = oeh.header_id
      AND edt.line_category_code = 'RETURN'
      AND dra.currency_code = oeh.transactional_curr_code
      AND dra.ro_priority_code = plkup.lookup_code(+)
      AND plkup.lookup_type(+) = 'CSD_RO_PRIORITY' 
      AND items.organization_id = cs_std.get_item_valdn_orgzn_id
      AND dra.repair_number=p_repair_number
      AND rownum <50;
    begin
    errbuf := NULL;
    retcode := 0;
      SAVEPOINT Create_external_orders;
      --retcode             := FND_API.G_RET_STS_SUCCESS;
      IF (fnd_log.level_procedure >= fnd_log.g_current_runtime_level) THEN
        fnd_log.STRING (fnd_log.level_procedure, 'CSD.PLSQL.XXTNT_CSD_CREATEORDER.SUBMIT_CREATE_ORDER.BEGIN', 'Enter - PrintTraveller');
      END IF;
    --FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'<?xml version="1.0"?>');
    --FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'<REPAIR_ORDER>');
    FOR v_rodetails IN Rodetails(p_repair_number)
    LOOP
    /*For each record create a group tag <G_RODETAILS> at the start*/
    FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'<?xml version="1.0"?>');
    FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'<REPAIR_ORDER>');
    FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'<G_RODETAILS>');
      FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'<REPAIR_NUMBER>' || v_rodetails.repair_number ||
                                       '</REPAIR_NUMBER>');
    FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'<REPAIR_LINE_ID>' || v_rodetails.repair_line_id
                                    || '</REPAIR_LINE_ID>');
    FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'<ITEM_NAME>' || v_rodetails.ITEM_NAME
                                     ||'</ITEM_NAME>');
    FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'<ITEM_DESC>' || v_rodetails.ITEM_DESC
                                    || '</ITEM_DESC>');
    FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'<SR_INCIDENT_NUMBER>' || v_rodetails.SR_INCIDENT_NUMBER ||
                                       '</SR_INCIDENT_NUMBER>');
    FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'<SERIAL_NUMBER>' ||v_rodetails.SERIAL_NUMBER
                                     ||'</SERIAL_NUMBER>');                               
    FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'<RMA_NUMBER>' || v_rodetails.RMA_NUMBER
                                    || '</RMA_NUMBER>');
    FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'<RO_OWNER_NAME>' ||v_rodetails.RO_OWNER_NAME ||
                                       '</RO_OWNER_NAME>');
    FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'<FLOW_STATUS_NAME>' || v_rodetails.FLOW_STATUS_NAME
                                     ||'</FLOW_STATUS_NAME>');                                
    FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'<RO_STATUS_CODE>' || v_rodetails.RO_STATUS_CODE
                                    || '</RO_STATUS_CODE>');
    FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'<REPAIR_TYPE_NAME>' || v_rodetails.REPAIR_TYPE_NAME ||
                                       '</REPAIR_TYPE_NAME>');
    FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'<PROBLEM_DESCRIPTION>' || v_rodetails.PROBLEM_DESCRIPTION
                                     ||'</PROBLEM_DESCRIPTION>');
    FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'<PROMISE_DATE>' || v_rodetails.PROMISE_DATE
                                    || '</PROMISE_DATE>');
    FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'<RO_OWNER_NAME>' || v_rodetails.RO_OWNER_NAME ||
                                       '</RO_OWNER_NAME>');
    FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'<REPAIR_ORG_NAME>' || v_rodetails.REPAIR_ORG_NAME
                                     ||'</REPAIR_ORG_NAME>');                                
    FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'<RO_STATUS_CODE>' || v_rodetails.RO_STATUS_CODE
                                    || '</RO_STATUS_CODE>');
    FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'<REVISION>' || v_rodetails.REVISION ||
                                       '</REVISION>');
    FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'<LOT_NUMBER>' || v_rodetails.LOT_NUMBER
                                     ||'</LOT_NUMBER>');
    FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'<UOM_CODE>' || v_rodetails.UOM_CODE
                                    || '</UOM_CODE>');
    FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'<UOM_NAME>' ||v_rodetails.UOM_NAME ||
                                       '</UOM_NAME>');
    FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'<QUANTITY>' || v_rodetails.QUANTITY
                                     ||'</QUANTITY>');                                
    FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'<IB_INSTANCE_NUMBER>' || v_rodetails.IB_INSTANCE_NUMBER
                                    || '</IB_INSTANCE_NUMBER>');
    FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'<RO_PRIORITY_MEANING>' || v_rodetails.RO_PRIORITY_MEANING ||
                                       '</RO_PRIORITY_MEANING>');
    FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'</G_RODETAILS>');                             
    FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'</REPAIR_ORDER>');                                
    END LOOP;
    IF(retcode != FND_API.G_RET_STS_SUCCESS) THEN
                    RAISE FND_API.G_EXC_ERROR;
                  END IF;
                  IF (fnd_log.level_procedure >= fnd_log.g_current_runtime_level) THEN
                    fnd_log.STRING (fnd_log.level_statement, 'CSD.PLSQL.XXTNT_CSD_CREATEORDER.SUBMIT_CREATE_ORDER', ' In PrintTraveller');
                  END IF;
    fnd_file.put_line(fnd_file.log, 'Successfully completed PrintTraveller');
    EXCEPTION
    || Catch all error.
    WHEN OTHERS THEN
    ROLLBACK;
    v_error_code := SQLCODE;
    v_text_msg := 'Fatal Error, Oracle Error is: '
    || TO_CHAR (v_error_code, '99999');
    fnd_file.put_line (fnd_file.log, v_text_msg);
    v_error_message := SQLERRM;
    fnd_file.put_line (fnd_file.log, v_error_message);   
    end dfdfdf;Edited by: user12053530 on Apr 19, 2010 5:54 AM

    However using SYS.ODCIVARCHAR2LIST makes sense if your query is a part of bigger processing (PL/SQL procedure or function) and you will do some processing depending on File_Type, like in this example (not compiled, could contain syntax errors):
    DECLARE
      l_stid           VARCHAR2(10);
      l_address        VARCHAR2(30);
      l_File_Type_tab  SYS.ODCIVARCHAR2LIST;
      cur_cursor IS SELECT STID,
                    ADDRESS,
                    CAST(COLLECT(DISTINCT File_Type) AS SYS.ODCIVARCHAR2LIST) AS File_Type
                    FROM (
                          SELECT STID,
                                 ADDRESS,
                                 File_Type
                            FROM DUMMY
                    GROUP BY STID, ADDRESS;
    BEGIN
      OPEN cur_cursor;
      <<main_loop>>
      WHILE (1=1) LOOP
         FETCH cur_cursor INTO l_stid, l_address, l_File_Type_tab;
         EXIT WHEN cur_cursor%NOTFOUND;
         -- Now do processing for each File_Type in l_File_Type_tab;
         <<each_file_type>>
         FOR i IN l_File_Type_tab.FIRST .. l_File_Type_tab.LAST LOOP
           -- for example:
           -- IF l_File_Type_tab(i) = 'SALES'
           -- THEN
           --   do_something(l_stid, l_address);
           -- ELSIF l_File_Type_tab(i) = 'TRANSFER'
           -- THEN
           --   do_something_else(l_stid, l_address);
           -- ELSE
           --   do_something_default(l_stid, l_address);
           -- END IF;
         END LOOP each_file_type;
      END LOOP main_loop;
      CLOSE cur_cursor;
    END;

  • Problem when creating Drag Tags Dynamically for Drag & Drop UI element

    In one of my requirement,
    I need to populate the TREE dynamically ( only 2 levels  fixed),
    This TABLE TREE is  drag enabled ( which acts as a Target & Source ) to move records to another table.
    Both tables are created at design time and are having DRAG SOURCE INFO element.
    In Modify View method,  I am trying to ADD  DROP TARGET INFO with tags for the table based on the records.
    Even after assigning it to the table(dynamicallY), it is giving dump as
    There is no DropTargetInfo in the DropOnRowTarget aggregation with this ID
    Here is the code.....
        DATA l_tags TYPE string.
        DATA lo_nd_tgt_ip_end_notes TYPE REF TO if_wd_context_node.
        DATA lt_tgt_ip_end_notes TYPE wd_this->Elements_tgt_ip_end_notes.
        DATA ls_tgt_ip_end_notes TYPE wd_this->Element_tgt_ip_end_notes.
        DATA lr_table TYPE REF TO cl_wd_table.
        DATA l_name TYPE string.
        DATA l_id TYPE string.
        data l_index TYPE string.
      IF first_time = abap_true.
    " reading the context   
    *     navigate from <CONTEXT> to <TGT_IP_END_NOTES> via lead selection
        lo_nd_tgt_ip_end_notes = wd_context->get_child_node( name = wd_this->wdctx_tgt_ip_end_notes ).
        lo_nd_tgt_ip_end_notes->get_static_attributes_table( importing table = lt_tgt_ip_end_notes ).
    " get the reference of the table
        lr_table ?= view->get_element( 'TBL_TGT_IP_ENDNOTES' ).
    "Creating DROP TARGET INFO for all the RECORDS in the Table
        LOOP AT lt_tgt_ip_end_notes INTO ls_tgt_ip_end_notes WHERE parent_key = ''.
            " Tag name & Name of  DROP TARGET INFO
          l_name = ls_tgt_ip_end_notes-ip_number.
          CALL METHOD CL_WD_DROP_TARGET_INFO=>NEW_DROP_TARGET_INFO
            EXPORTING
    *          BIND_ENABLED =
                ENABLED      = 'X'
                 ID           =  |TGT_DROP_TARGET_INFO{ sy-tabix }|   
                 NAME         = l_name
                 SCOPE        = '00'
                 TAGS         = l_name
             RECEIVING
                CONTROL      = lr_dti.
    " binding the DROP TARGET INFO to the TABLE
    CALL METHOD LR_TABLE->SET_DROP_TARGET_INFO
      EXPORTING
        THE_DROP_TARGET_INFO = lr_dti.
        ENDLOOP.
    ENDIF.
    any idea...on this.
    Thanks in Advance,
    Anil Danda
    I apologize for wrong Posting
    I  don't know, how to move this thread, it would be great, if any Moderator can move this thread to Web Dynpro ABAP forum
    Edited by: danda aneel on Mar 10, 2011 6:36 PM

    Hi,
    As far as i know , you need to insert a droptargetinfo only once in the table level not on every row.
    Try to do on design time what you are dynamically doing ? You would not get a chance to to insert a droptragetinfo on every row.

  • How to insert blank spaces in XML tag?

    Hi Experts,
    I have a variable of type char and lenght 10 with value "ABCDE".  When I write this value in xml tag <TEXT> using simple transformation it ignores the trailing blank spaces and the result xml string looks as <TEXT>ABCDE</TEXT>.
    I want the xml tag with trailing blank spaces i.e. it should be like <TEXT>ABCDE     </TEXT>. And suppose if the variable does not contain any value, the xml tag should contain 10 blank spaces like <TEXT>          </TEXT>.
    I have tried using the solution given in this link
    http://help.sap.com/saphelp_nwpi71/helpdata/en/44/f52846257a0485e10000000a155369/frameset.htm
    but unfortunately it doesn't work.
    Please guide me to achieve this.
    Regards,
    Ravi

    ABAP prog:
    DATA: text(10)    TYPE c VALUE 'ABCDE',
          xml_xstring TYPE string.
    CALL TRANSFORMATION z_test SOURCE root = text
                            RESULT XML xml_xstring.
    WRITE xml_xstring.
    Transformation:
    <?sap.transform simple?>
    <tt:transform xmlns:tt="http://www.sap.com/transformation-templates">
    <tt:root name="ROOT"/>
    <tt:template>
          <Text tt:value-ref="ROOT"/>
    </tt:template>
    </tt:transform>
    Result in xml string:
    <?xml version="1.0" encoding="utf-16"?>#<Text>ABCDE</Text>
    Also tried transformation using:
    <tt:template>
          <Text>
               <tt:value length="10" ref="ROOT"/>
          </Text>
    </tt:template>
    Thanks.

  • Dynamic TAG - Simple Transformation

    Hi All,
    I need work with dynamic TAGS (Elements) on Simple Transformation?
    The tag should be <Invoice> or <DebitNote> depending on a Variable.
    How can I achieve this?
    Thanks and Regards,

    We work with Microsoft Outlook, but I'm sure this could work with any email system.
    This error only came from external emails - what we did in the end is to get the third party to email a particular email (email1) in our company.  This is set up as a regular email account.  On this email put a forward rule to email2 for a particular sender/subject.  email2 is set up as POP3 so that XD1 can poll it - we also block any emails except from email1.
    Doing this accomplishes a couple of things:
    1)  We get around the error because XI polls email2 (which has adapter settings of IMAP4 so we can see MAIL adapter attributes ie. sender, subject etc...When we originally had as POP3 we were not able to see these - but setting as IMAP4 causes the error for external emailers)
    2) We have a SPAM filter - the XI email is clean from SPAM and the adapter will not have errors, as it only receives valid emails to process
    3) We have a central email (email1) which is used to archive all XI emails - we use this for all email scenarios (as we also save to folder and forward in the rule)
    Hope this helps your situation.

  • Simple Transformation with very long XML element names

    I am trying to write a program to deserialize XML documents using the Simple Transformation technique.  There are many optional elements in the XML document, so I need to have conditional statements statements to avoid trying to process elements that are not in the document.  The XML document, however, has several Element Names that are greater than 30 characters in length.  The Simple Transformation technique seems to require ABAP data dictionary structures that mirror the schema of the XML document.  But one cannot create structure component names that are greater than 30 characters in length.  We don't have any control over the XML schema as the XML documents come from the US government.  The ST fragment below shows the statement that I want to write, but since the ABAP Structure PlasticCardInformationGroup cannot have a component AuthorizationResponseInformation, the ST syntax checker yields an "Illegal Reference ADDITIONALPLASTICCARDINFORMATION" error message.
    Does anyone know a way to avoid this error?
    <tt:d-cond check="exist(TRS_TradingPartner_Agreement.TRS_FinancialTransaction.PlasticCardInformationGroup.AdditionalPlasticCardInformation)">
    <ns2:AdditionalPlasticCardInformation>
    <tt:attribute name="CardNetworkType" value-ref="TRS_TRADINGPARTNER_AGREEMENT.TRS_FINANCIALTRANSACTION.PLASTICCARDINFORMATIONGROUP.ADDITIONALPLASTICCARDINFORMATI.CARDNETWORKTYPE"/>
    <tt:attribute name="DraftLocatorNumber" value-ref="TRS_TRADINGPARTNER_AGREEMENT.TRS_FINANCIALTRANSACTION.PLASTICCARDINFORMATIONGROUP.ADDITIONALPLASTICCARDINFORMATI.DRAFTLOCATORNUMBER"/>
    </ns2:AdditionalPlasticCardInformation>

    could anyone help me?

  • Create XML Element Tag BasedOn Found Character Style

    Hi,
    Good Day!
    Basically I want to search only for character styles that contains "ntb-", that is why it is hard coded in my searchString variable.
    Although I was able to create XML tag based on selected character style, but it will always add/insert at the end of the parent XML element.
    Can anyone could help me how insert/add that element at the insertion point where the text is found?
    Thanks,
    --elmer
    var myDoc = app.documents[0];
    myDoc.viewPreferences.horizontalMeasurementUnits = MeasurementUnits.POINTS;
    myDoc.viewPreferences.verticalMeasurementUnits = MeasurementUnits.POINTS;
    var charStyles = myDoc.allCharacterStyles;
    var foundStyles = Array();
    var searchString = String();
        searchString = 'ntb-';
    var tempName = String();
    var tempName1 = String();
    for(var i = 1; charStyles.length > i; i++){
       tempName = charStyles[i].name;
       tempName1 = tempName.toLowerCase();
       if(tempName1.indexOf (searchString.toLowerCase()) != -1){
           foundStyles.push (tempName);
    var myDialog = app.dialogs.add({name: "Convert Footnote Character Styles to XML Tags",canCancel:true});
    with (myDialog) {
        with (dialogColumns.add().borderPanels.add()) {
            with (dialogColumns.add()) {
                staticTexts.add({staticLabel: "Character style to search : "});        }
            with (dialogColumns.add()) {
                selCharStyle = dropdowns.add({stringList: foundStyles, selectedIndex: 0, minWidth: 175});
    var dialogShown = myDialog.show();
    while (dialogShown) {
        if (selCharStyle.selectedIndex == 0) {
            alert("Must have at least a character style to search!");
            dialogShown = myDialog.show();
            continue;
        } else {
            insertXMLTags(selCharStyle.stringList[selCharStyle.selectedIndex], selCharStyle.selectedIndex, "0");
            break;
    myDialog.destroy();
    alert("Finished!");
    exit();
    function insertXMLTags(cStyle, cStyleIndex, ip) {
        var myFinds = searchStyle(cStyle, cStyleIndex);
        for (i=myFinds.length - 1; i>=0; i--) {
            var myIP = myFinds[i].texts.item(0).insertionPoints.item(0);
            var myParentXML = myIP.associatedXMLElements[0];
            var myChiidXML = myParentXML.xmlElements.add ( cStyle );
            myChiidXML.contents =  myFinds[i].contents;
            //set the selection
            app.selection = myFinds[i].texts.item(0);
            //remove the selected text
            myFinds[i].texts.item(0).remove();
            Utility Functions         
    function searchStyle(cStyle, cStyleIndex){
        var myFinds;
        // if script version is for Indesign CS2
        if (app.scriptPreferences.version < 5){                                 
            app.findPreferences = NothingEnum.nothing;
            app.changePreferences = NothingEnum.nothing;
            myFinds = myDoc.search(undefined, undefined, undefined, undefined,
            {appliedParagraphStyle: pStyle, appliedCharacterStyle: cStyle});
        // else, for CS3 and CS4
        }else{                                 
            //Clear any existing find/change settings
            app.findTextPreferences = NothingEnum.nothing;
            app.changeTextPreferences = NothingEnum.nothing;
            // set character or paragraph style to search
            if (cStyleIndex != 0){ 
                app.findTextPreferences.appliedCharacterStyle = cStyle;
            //Set the find options.
            app.findChangeTextOptions.caseSensitive = false;
            app.findChangeTextOptions.includeFootnotes = true;
            app.findChangeTextOptions.includeHiddenLayers = false;
            app.findChangeTextOptions.includeLockedLayersForFind = false;
            app.findChangeTextOptions.includeLockedStoriesForFind = false;
            app.findChangeTextOptions.includeMasterPages = false;
            app.findChangeTextOptions.wholeWord = false;                             
            myFinds = myDoc.findText();
        return myFinds;

    Here is a way you can find any field.
    Download the current template.
    Open it in word and go to the line that you are interested in.
    The blanket PO# will be a field. Right click on it and go to properties. You will see the xml element there.
    Hope this answers your question,
    Sandeep Gandhi

  • How to skip XML tags in Simple transformation

    Hi,
    I am trying to convert an XML file to ABAP code using Simple Transformations.
    I tired converting a small XML file to ABAP using it and it worked fine.
    The problem is that the number of tags in the XML file I now want to parse is huge (over 200).
    Is there any way that for the tag in XML corresponding tag is not created in ST? Is there any conditional tag to achieve this?
    Also, is Simple Transformation a better way of parsing in such a scenario over XSLT and DOM parser?
    Thanks and Regards,
    Neha
    Edited by: Neha Anand on Jun 2, 2008 1:19 PM

    Hi Raja,
    I have already looked through the code snippets and I am able to write a CALL TRANSFORMATION.
    I want to find out if the number of tags is huge then if there is any way that some tags can be skipped for matching tags in XML which anyhow I dont need for manipulation.
    Thanks and Regards,
    Neha

  • Simple Transformation XML to ABAP Content of tag with subtrees to string field

    Hi,
    I have an  requirement in which I have to do a transformation from an XML file to an structure.
    I need get the value of a tag that have subtrees and move that to a field in my structure.
    Example:
    <TAG1>value1</TAG1>
    <TAG2>value2</TAG2>
    <TAG3>
         <TAG4>value4</TAG4>
         <TAG5>value5</TAG5>
    </TAG3>
    Result expected in ABAP Structure:
    field1 -> tag1
    field2 -> tag2
    field3 -> <TAG4>value4</TAG4><TAG5>value5</TAG5>
    The contents of the tag TAG3 is variable, so I want to store it as a string.
    Can I make this with Simple Transformation?
    In my tests I can move only the value of each child tag for the given field structure.
    This syntax dont work:
    <TAG3 tt:value-ref="STRUCTURE.FIELD3"/>
    Thanks and Regards,
    Miguel Motta

    Hi Miguel
    Have a look at below snippets. Here I have tried to escape the text inside TAG3 so that it gets treated as single node during transformation.
    ABAP code
    DATA: BEGIN OF result,
            col1 TYPE string,
            col2 TYPE string,
            col3 TYPE string,
          END OF result.
    DATA: xml_string TYPE string VALUE
    '<ROOT> <TAG1>value1</TAG1> <TAG2>value2</TAG2> <TAG3> <TAG4>value4</TAG4> <TAG5>value5</TAG5> </TAG3> </ROOT>',
          part1 TYPE string,
          part2 TYPE string,
          part3 TYPE string.
    *   Escape the text inside TAG3 tag
    FIND REGEX '(.*<TAG3>)(.*)(</TAG3>.*)' IN xml_string SUBMATCHES part1 part2 part3.
    IF sy-subrc EQ 0.
      part2 = escape( val = part2 format = cl_abap_format=>e_xml_text ).
    *      REPLACE ALL OCCURRENCES OF '<' IN part2 WITH '&lt;'.
    *      REPLACE ALL OCCURRENCES OF '>' IN part2 WITH '&gt;'.
      xml_string = part1 && part2 && part3.
    ENDIF.
    TRY.
    * Display xml
        cl_abap_browser=>show_xml( EXPORTING xml_string = xml_string ).
    * Deserialization
        CALL TRANSFORMATION zmtest
          SOURCE XML xml_string
          RESULT para = result.
    * Check result
        WRITE:/ 'COL1=', result-col1,
              / 'COL2=', result-col2,
              / 'COL3=', result-col3.
      CATCH cx_st_error.
    * Error handling
        MESSAGE 'Error in Simple Transformation'
                TYPE 'I' DISPLAY LIKE 'E'.
    ENDTRY.
    Transformation code
    <?sap.transform simple?>
    <tt:transform xmlns:tt="http://www.sap.com/transformation-templates" template="temp" version="0.1">
       <tt:root name="PARA"/>
       <tt:template name="temp">
         <ROOT>
           <TAG1>
             <tt:value ref="PARA.COL1"/>
           </TAG1>
           <TAG2>
             <tt:value ref="PARA.COL2"/>
           </TAG2>
           <TAG3>
             <tt:value ref="PARA.COL3"/>
           </TAG3>
         </ROOT>
       </tt:template>
    </tt:transform>

  • Creating Simple transformation for an XML data having deep structure

    Hi
    I have the following XML structure..
    <REQUESTS>
      <REQUESTNAME>REQ123</REQUESTNAME>
      <REQUESTID>1234</REQUESTID>
      <CITY>NEWYORK</CITY>
      <ZIPCODE>123456</ZIPCODE>
    <COMPETENCIES>
       <LANGUAGES>
         <COMPETENCY>
            <SKILL>SAP</SKILL>
            <PROFICIENCY>TEST</PROFICIENCY>
            <SKILL>JAVA</SKILL>
            <PROFICIENCY>TEST123</PROFICIENCY>
    (here we may have any number of records for SKILL&PROFICIENCY...)*
    </COMPETENCIES>
       </LANGUAGES>
         </COMPETENCY>
    </REQUESTS>
    My requirement is to read the above data from an URL and push it into an internal table.
    For this I'm trying to use Simple transformations but I'm facing difficulty in doing this.
    Can you pl. guide me how to create the transformation and the corresponding code for this.
    Best Regards
    Anil

    Hi
    Here is the actual XML structure..
    - <REQUEST>
      <COUNTRY />
      <ADDRESS />
      <CITY />
      <ASSIGNTYPE>IP</ASSIGNTYPE>
      <CHARGETYPE>CH</CHARGETYPE>
      <REMOTEALLOWED>Y</REMOTEALLOWED>
      <SALESRATE>EUR</SALESRATE>
      <SECURITY>NO</SECURITY>
      <TRAVELEXP>Y</TRAVELEXP>
      <MAXDAILYRATE />
      <CREDENTIALS />
      <EXPENDDATE />
      <NEWENDDATE />
      <NEWEXPENDDATE />
      <REPLYBEFORE>2010-11-30</REPLYBEFORE>
      <STARTDATE>2010-01-01</STARTDATE>
      <ENDDATE>2010-12-31</ENDDATE>
      <GCMTYPE>PM</GCMTYPE>
      <GCMLEVELFROM>02</GCMLEVELFROM>
      <GCMLEVELTO>08</GCMLEVELTO>
      <LOCATION>FR43</LOCATION>
      <MOBILITY>04</MOBILITY>
      <ZIPCODE />
    - <COMPETENCIES>
    - <LANGUAGES>
    - <COMPETENCY>
      <SKILL>01106034</SKILL>
      <PROFICIENCY>005103</PROFICIENCY>
      </COMPETENCY>
      </LANGUAGES>
    - <ACTIVITIES>
    - <COMPETENCY>
      <SKILL>01105500</SKILL>                            
      <PROFICIENCY>004507</PROFICIENCY>
      </COMPETENCY>
      </ACTIVITIES>
    - <BUSINESS>
    - <COMPETENCY>
      <SKILL>01105729</SKILL>
      <PROFICIENCY>004605</PROFICIENCY>
      </COMPETENCY>
      </BUSINESS>
    - <INDUSTRIES>
    - <COMPETENCY>
      <SKILL>01105491</SKILL>
      <PROFICIENCY>004901</PROFICIENCY>
      </COMPETENCY>
      </INDUSTRIES>
    - <METHODS>
    - <COMPETENCY>
      <SKILL>01105591</SKILL>
      <PROFICIENCY>004805</PROFICIENCY>
      </COMPETENCY>
      </METHODS>
    - <OFFERINGS>
    - <COMPETENCY>
      <SKILL>01105840</SKILL>
      <PROFICIENCY>005002</PROFICIENCY>
      </COMPETENCY>
      </OFFERINGS>
    - <PRODUCTS>
    - <COMPETENCY>
      <SKILL>01107304</SKILL>
      <PROFICIENCY>004703</PROFICIENCY>
      </COMPETENCY>
      </PRODUCTS>
      </COMPETENCIES>
      <CANDIDATES />
      </REQUEST>
    Here..... <SKILL></SKILL>   <PROFICIENCY></PROFICIENCY>  can be more than 1 entry...
    For this I have created a simple transformation like below..
    I have used the tcode 'XSLT_TOOL '..
    In SE11 I have created a Table type 'ZCOMPETENCIES' which is having  a line type 'ZLANGS'.
    ZLANGS is a structure which has another structure called 'ZCOMPETENCY' and this 'ZCOMPETENCY' is having fields
    SKILL & PROFICIENCY.
    I have used the wizard button which u can find  'XSLT_TOOL '.. and provided the table type ZCOMPETENCIES'  and it has automatically created the following transformation...
    <?sap.transform simple?>
    <tt:transform xmlns:tt="http://www.sap.com/transformation-templates" xmlns:ddic="http://www.sap.com/abapxml/types/dictionary" xmlns:def="http://www.sap.com/abapxml/types/defined">
      <tt:root name="ROOT" type="?"/>
      <tt:root name="COMPETENCIES" type="ddic:ZCOMPETENCIES"/>
      <tt:template>
        <COMPETENCIES>
          <tt:loop ref=".COMPETENCIES">
            <ZLANGS>
              <COMPETENCY>
                <SKILL tt:value-ref="COMPETENCY.SKILL"/>
                <PROF tt:value-ref="COMPETENCY.PROF"/>
              </COMPETENCY>
            </ZLANGS>
          </tt:loop>
        </COMPETENCIES>
      </tt:template>
    </tt:transform>
    I have written following code to get the data
    CALL METHOD cl_gui_frontend_services=>gui_upload
      EXPORTING
        filename                = gs_file
      CHANGING
        data_tab                = gt_itab
      EXCEPTIONS
        file_open_error         = 1
        file_read_error         = 2
        no_batch                = 3
        gui_refuse_filetransfer = 4
        invalid_type            = 5
        no_authority            = 6
        unknown_error           = 7
        bad_data_format         = 8
        header_not_allowed      = 9
        separator_not_allowed   = 10
        header_too_long         = 11
        unknown_dp_error        = 12
        access_denied           = 13
        dp_out_of_memory        = 14
        disk_full               = 15
        dp_timeout              = 16
        not_supported_by_gui    = 17
        error_no_gui            = 18
        OTHERS                  = 19.
    IF sy-subrc <> 0.
      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    GET REFERENCE OF gt_person INTO gs_result_xml-value.
    gs_result_xml-name = 'COMPETENCIES'.
    APPEND gs_result_xml TO gt_result_xml.
    TRY.
        CALL TRANSFORMATION ZTEST_TRAN
        SOURCE XML gt_itab
        RESULT (gt_result_xml).
      CATCH cx_root INTO gs_rif_ex.
        gs_var_text = gs_rif_ex->get_text( ).
        MESSAGE gs_var_text TYPE 'E'.
    ENDTRY.
    Please let me know if you need any further details..
    Best Regards
    Anil

Maybe you are looking for

  • 8520 + BT-GPS = location fixed but BBW wont let me download app for GPS?

    OK, I have a bb curve 8520 and am trying to get "GPSLogger ii" as GPSLogger the original says it is no good for my version of OS(5.0). However, when I try getting GPSLogger ii from BBW apps it says it is unavailable for my device, as does most other

  • How to count number of columns in cross-tab report

    I have created a cross-tab report and have managed to get the data out as below:              Jan     Feb     Mar....(display of months will auto expand) Avg/Mo  Total UserA     4          3        4                                                   

  • How to set Principal object?

    Hello, I have two web applications. The "app1" is the one we are developing and retrieving the Principal object. The "app2" is a black box web application which we have no way to modify. We can only add parameters in web.xml. The business flow is tha

  • API to Update PARTY in R12

    Hi All, could you please provide me the API to update the PARTY Information in R12. Thank you, Aush

  • SetVariable in IE6.0

    I'm using the following code in a javascript function to set variables in a SWF It works fine in IE7 and FF2 but variables are not being passed in IE6.0 - they show up as undefined. I spent several hours Googling for some enlightenment on this, check