UDF - Get Value Node

Hi ExpertALL,
I need support, check the source and target structures.
Source structure below:
Target structure:
As you can see the structure "item" it´s unbound, means repeat many times, inside <item> there is a tag <TYPE> that´s cointains two values "S" or "E".
Check the part of request XML below:
<T_RETURN>
     <item>
          <TYPE>S</TYPE>
          <MESSAGE>Lote baixado com sucesso !!!</MESSAGE>
          <MESSAGE_V1>AC13033621</MESSAGE_V1>
     <SYSTEM/>
   </item>
   <item>
          <TYPE>E</TYPE>
         <MESSAGE>ERROR!</MESSAGE>
          <MESSAGE_V1>AC13033622</MESSAGE_V1>
</item>
   <item>
          <TYPE>S</TYPE>
         <MESSAGE>Lote baixado com sucesso !!!</MESSAGE>
          <MESSAGE_V1>AC13033623</MESSAGE_V1>
</item>
   <item>
          <TYPE>E</TYPE>
         <MESSAGE>ERROR!</MESSAGE>
          <MESSAGE_V1>AC13033624</MESSAGE_V1>
</item>
</T_RETURN>
What I need to do, when the value of tag <TYPE> only once comes with value "E", I need insert value "1" into tag <ERROR> in response structure.
If contains only "S" leave <ERROR>blank</ERROR>
Like this exemple below:
<?xml version="1.0" encoding="UTF-8"?>
<ns1:MT_OUTPUT xmlns:ns1="zurn:greefa.fischer">
   <E_EMAIL>[email protected]</E_EMAIL>
   <RESPOSTA>
      <TYPE>S</TYPE>
      <MESSAGE_V1>AC13033621</MESSAGE_V1>
   </RESPOSTA>
   <RESPOSTA>
      <TYPE>E</TYPE>
      <MESSAGE_V1>AC13033622</MESSAGE_V1>
   </RESPOSTA>
   <RESPOSTA>
      <TYPE>S</TYPE>
      <MESSAGE_V1>AC13033623</MESSAGE_V1>
   </RESPOSTA>
   <RESPOSTA>
      <TYPE>S</TYPE>
      <MESSAGE_V1>AC13033624</MESSAGE_V1>
   </RESPOSTA>
   <ERROR>1</ERROR>
</ns1:MT_OUTPUT>
Suggestions ?
Kind regards,
Ricardo Viana.

Hi Viana,
you can try the below logic in message mapping
regards,
Harish

Similar Messages

  • How to get the Node Value from XmlValue result?

    Hi ,
    I am not able to get the Node Value from the result. In my XQuery im selecting till a Node, if i change my query as
    collection('PhoneBook')/phone_book/contact_person/address/string()", qc);
    im getting the node value, but here the problem is its not a Node so i cannot get the Node name.
    So how can i get the Node Name and Node value together?
    any help please ????
    XML :
    <?xml version="1.0" encoding="UTF-8"?>
    <phone_book>
    <contact_person>
    <name>
    <first_name>Michael</first_name>
    <second_name>Harrison</second_name>
    </name>
    <address city="yyyyy" pincode="600017" state="xxxxx">
    176 Ganesan street, Janakinagar, alwarthirunagar
    </address>
    </contact_person>
    <phone_number type="mobile">9881952233</phone_number>
    <phone_number type="home">044-24861311</phone_number>
    <phone_number type="office">080-12651174</phone_number>
    </phone_book>
    Code:
    XmlQueryContext qc = manager.createQueryContext();
    XmlResults rs = manager.query
    ("collection('PhoneBook')/phone_book/contact_person/address", qc);
    while(rs.hasNext()){
    XmlValue val = rs.next();
    System.out.println(val.getNodeName() + " = [ " + val.getNodeValue() + " ] ");
    Output
    address = [  ]

    You are right, this seemed un-intuitive to me too, but I finally understood how it's done.
    The "value" of a node is actually the total amount of text that is not contained in any of the node's child nodes (if any). So a node with child nodes can still have text value.
    To get the 'value' of an element node, you must therefore concatenate the values of all children of type "XmlValue::TEXT_NODE", of that node. Try it.
    In your example, the <address> node has no child elements, my guess is that BDB XML stores the address string "176 Ganesan street, Janakinagar, alwarthirunagar" inside a child node of <address> node (of type XmlValue::TEXT_NODE) because you wrote the string on a separate line.

  • Urgent: How to get value from Element Node?

    Hi All,
    I have an xml like below:
    <?xml version="1.0"?>     
    <Accounts>
    <Account rowid="1">
    <Account_Id>1</Account_Id>
    <Customer_Id>1</Customer_Id>
    <Account_Type>SB</Account_Type>
    <Balance>1000.00</Balance>
    </Account>
    <Account rowid="2">
    <Account_Id>2</Account_Id>
    <Customer_Id>1</Customer_Id>
    <Account_Type>CD</Account_Type>
    <Balance>1000.00</Balance>
    </Account>
    </Accounts>
    I am trying to get the value in the Account_Id element, but I am getting null everytime. Here is my code:
    import com.sun.org.apache.xerces.internal.impl.xs.dom.DOMParser;
    DOMParser parser = new DOMParser();
    parser.parse("D:\\Temp\\PCORDBMS\\"+tableName+".xml");
    Document doc = parser.getDocument();
    NodeList nodes = doc.getElementsByTagName("Account");
    for(int i=0;i<nodes.getLength();i++) {
    Node fc=nodes.item(i).getFirstChild();
    System.out.println(fc.getNodeValue());
    I think, since fc node is of the type Element - getNodeValue() is not returning the value. I also tried getting child nodes, getting attributes for fc & then getNodeValue.
    Am I missing something? Appreciate your help.
    Thanks,
    Niranjan

    Hi Niranjan,
    I used the JAXP DocumentBuilder and DocumentBuilderFactory classes. I use JSE 5.
    Here's the complete code that works for me:
    package com.trfsol.domtester;
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import org.w3c.dom.Document;
    import org.w3c.dom.Node;
    import org.w3c.dom.NodeList;
    public class DomTester {
         * @param args
         public static void main(String[] args) {
              String filename = "C:\\Java workspaces\\Eclipse\\Workspace\\Test\\test.xml";
              try {
                   // Parse XML file
                   DocumentBuilderFactory factory =
                        DocumentBuilderFactory.newInstance();
                   DocumentBuilder parser = factory.newDocumentBuilder();
                   Document document = parser.parse(filename);
                   // Get all "Account" nodes
                   NodeList accountNodes = document.getElementsByTagName("Account");
                   // Iterate over nodes
                   for (int index = 0; index < accountNodes.getLength(); index ++) {
                        NodeList childNodes = accountNodes.item(index).getChildNodes();
                        for (int subIndex = 0; subIndex < childNodes.getLength(); subIndex ++) {
                             Node childNode = childNodes.item(subIndex);
                             System.out.println(childNode.getTextContent());
              catch (Exception e) {
                   System.err.println("Exception: " + e.getMessage());
    Regards, Ronald

  • How to get the node value of payload

    Hi
    The null is returned when I use the following code to get the User_ID element in the payload, but there are values in the User_ID element of the payload
    Task task_test = wfSvcClient.getTaskQueryService().getTaskDetailsById(wfCtx, taskId);
    System.out.println("the payload value is " + task_test.getPayloadAsElement().getElementsByTagName("User_ID").item(0).getNodeValue());
    How to get the node value of payload ? any suggestion?
    Thanks
    Jayson

    Hi Jayson,
    Try:
    System.out.println("the payload value is " + task_test.getPayloadAsElement().getElementsByTagName("User_ID").item(0).getFirstChild().getNodeValue());
    So add the getFirstChild() call in between.
    If this works, maybe consider using JAXB to marshall the payload details to POJO's. This will make reading the payload details much easier.
    Regards, Ronald

  • Issue using extractval to get the node value when there is namespace

    I created the db with a XMLType column:
    CREATE TABLE mytable1 (key_column VARCHAR2(10) PRIMARY KEY, xml_column1 XMLType);
    Then inserted one row:
    INSERT INTO mytable1 (key_column,xml_column1) VALUES ('test', XMLType('<MY_TEST xmlns="http://xmlns.oracle.com/ku" version="1.0">
    <SCHEMA>SYSTEM</SCHEMA>
    <NAME>TABLE41</NAME>
    <TEST_GROUP>TEST_GRP_RMP</TEST_GROUP>
    <TEST_NAME>DEPARTTEST</TEST_NAME>
    <FUNCTION_SCHEMA>SYSTEM</FUNCTION_SCHEMA>
    <TEST_FUNCTION>EXCLUDE_TABLE</TEST_FUNCTION>
    <STATEMENT_TYPE_LIST>
    <STATEMENT_TYPE_LIST_ENTRY>
    <NAME>SELECT</NAME>
    </STATEMENT_TYPE_LIST_ENTRY>
    </STATEMENT_TYPE_LIST>
    <UPDATE_CHECK>Y</UPDATE_CHECK>
    <ENABLE>Y</ENABLE>
    <STATIC_POLICY>N</STATIC_POLICY>
    <TEST_TYPE>DBMS_RLS.DYNAMIC</TEST_TYPE>
    <LONG_PREDICATE>N</LONG_PREDICATE>
    </MY_TEST>'));
    Then I ran:
    select extractValue(xml_column1,'MY_TEST/TEST_NAME') policy from mytable1;
    There is nothing returned.
    If i do not have "xmlns="http://xmlns.oracle.com/ku" " in MY_TEST node, then the correct value returned.
    Please advise how could I get the node value when there is namespace? Thanks.

    This is a known issue. In the third parameter of extractvalue, set the namesapce. Then it works.

  • How to get value from one context node to otehr contect conde in diff views

    Hello Guru's
    We have a rek which is of getting the value from one context node to other context node,
    for example there is Total value in BT111H_OPPT/ITEMLIST (One context node) we need to have the same Total value in the in BT111H_OPPT/DETAILS (other context node) automatically
    Inputs are highly appricated.......

    Hello,
    Thanks for your Reply
    But my rek is i want to get value from different views
    eg BT111H_oppt/itemslist(contex node - BTADMINI) field net value to BT111h_opp/Details(Context node - BTopporth)
    for this which method should i use to chive this.
    Thanks..

  • How to get Value of tree node without Reload Page

    hi,
    i worked with apex 4.2 and i created Tree and tabular form to retrieve the date according the value of tree select node the code of tree something like this
    select case when connect_by_isleaf = 1 then 0
    when level = 1 then 1
    else -1
    end as status,
    level,
    "ENAME" as title,
    null as icon,
    "EMPNO" as value,
    null as tooltip,
    'f?p=36648:34:5234984107903::::P40_SELECTED_NODE:'||empno as link
    from "DEPT"."EMP"
    start with "MGR" is null
    connect by prior "EMPNO" = "MGR"
    order siblings by "ENAME
    and i put Selected Node Page Item: P40_SELECTED_NODE . the tree worked good and retrieve the data into tabular form according to tree node value
    my Question :
    1- i want to retrieve the data without submit the page where each time i select value from tree make page reload to update the tabular form with new value ,there is any way to pass the value of tree node to P40_SELECTED_NODE item and refresh tabular form without page reload .
    2- i want when selected from tree run page process according to value of tree node i tray to create Dynamic action with *(jquery selector : div.tree li>a)* but the Value of node incorrect.
    Regards
    Ahmed;

    look at this link
    Re: How to get Value of tree node without Reload Page ..!

  • Run query and get unexpected node values

    Hi,
    I am not seeing what should be expected when I run my query, and I am getting the display of the hierarchy nodes that I am not supposed to get access to. I checked my profile and I have the 0COSTCENTER as '*' and TCTAUTHH as ':' .
    Where should I start finding why I am getting the node values displayed that I am not supposed to?
    Thanks
    Will

    Welcome to SDN.
    I think you should better post it to the BI forum.
    Did you try to use the user exit EXIT_SAPLRRS0_001 (extension RSR00001) to initialize the values? And for bypassing the selection screen, can't you define it in the query definition (if I remember well)?

  • HOw to get parent node name value through its child node?

    Hi,
    Experts,
    I am able to get child node name values but according to attribute name value i want to  get its parent name value how to achieve that. For that i have used If_Ixml_element->Get_parent. Please pass some idea on it.
    Thanks in advance,
    Shabeer ahmed.

    Hello Shabeer
    I think the coding should be straightforward:
    DATA: lo_element   TYPE REF TO if_ixml_element,
              lo_child        TYPE REF TO if_ixml_node,
              lo_parent      TYPE REF TO if_ixml_node.
    " NOTE: LO_ELEMENT holds your child node
      lo_child ?= lo_element.
      lo_parent = lo_child->get_parent( ).
    Regards
      Uwe

  • Advanced functions,UDF's and node function

    Dear all,
    Can you kindly let me know about Advanced functions,UDF's and node function.Differences and Uses.
    Also Let me know about the advantages,Disadvantages of Graphical,XSLT,Java,ABAP and ABAP XSLT mappings.
    Thanks,
    Srini

    Hi,
    The term Mapping means:
    1. The transformation process, and/or
    2. The transformation rules.
    Independently from XI, you can distinguish two different mappings
    • Structure mappings transform entire message structures.
    • Value mappings transform values within messages.
    Mapping Programs to Map Messages :
    Message Mapping
    Designed by using the graphical mapping editor of Integration Builder
    Result: Generated Java Code.
    Imported Archives
    Import externally defined mapping programs into repository
    Java mapping:
    Implemented by using a specific interface
    XSLT mapping:
    Runtime supports XSLT processor
    Java methods can be called from within a Style Sheet
    ABAP Mapping
    You can execute mapping programs in a sequence
    The exchange infrastructure supports three types of mappings:
    Message mappings that can be designed using a graphical mapping editor in the Integration Builder. As a result, Java code is generated from the graphical representation that is compiled before it can be executed on the integration server.
    You can implement your own Java mapping by implementing a specific interface of the mapping API.
    You can implement an XSLT mapping
    For the latter two, there is no tool support in XI. It is expected that they are developed using external development tools. To make them available for the integration server, they have to be imported into the integration repository as JAR
    files before (JAR: Java Archives).
    Developers can even decide to combine the different mapping technologies:
    Message mappings, XSLT mappings and Java mappings can be combined in a sequence by means of an interface mapping.
    XSLT mappings can use java functions
    Message mappings support user-defined functions that can use imported java packages of the same namespace.
    In SAP XI, there is 3 types of mappings. Namely
    XSLT Mapping
    Java Mapping
    ABAP Mapping
    Here is the details of each mapping.
    XSLT Mappings (ABAP Engine)
    Interface descriptions are in the form of XML documents. XSL Transformation (XSLT) is a member of the XML family of languages. It describes how an XML structure is transformed into another XML structure.
    Customers can develop an XSLT mapping by using the Transformation Editor of the ABAP Workbench. Such XSLT mappings are executed at runtime on the ABAP Engine of the Integration Server.
    To simplify matters, this section refers to XSLT mappings of the ABAP Engine as transformation programs to differentiate them from XSLT mappings from imported archives that are executed on the J2EE Engine.
    Features
    XPath and <xsl:include>
    You can define mappings using XSLT together with XPath. XPath is also a specification of the XML family. Using XPath you can address any node in an XML document. XSLT implements XPath expressions to select substructures of an XML document. Using templates in XSLT you can define the mapping rules for the selected substructures.
    You can use the XSLT tags <xsl:include> and <xsl:import> to include predefined templates for substructures in a complete mapping definition. In this way, you can reuse mappings for data types.
    Java Mapping
    You can implement mapping programs in Java. To process XML documents, use Java API for XML Processing (JAXP), for example. The JAXP supports the Document Object Model (DOM) and the Simple API for XML (SAX). This gives you great flexibility for mapping definitions with Java.
    Implementation Considerations
    Java mapping programs are not permitted to be stateful. You are therefore not permitted to perform actions such as writing data to a database table during a Java mapping. The Integration Server cannot track such side effects. Therefore, if an attempt is made to resend a message that has not been received by the receiver, the data may inadvertently be written to the database twice in a Java mapping.
    If you use JRE classes in your Java mapping programs then the same program restrictions apply as for Enterprise Java Beans (EJBs). For a detailed description of these restrictions, see the relevant EJB specification. It is important that you also refer to the information under Scope of Functions in Runtime Environment (Java Mappings).
    The runtime environment for Java mappings has an mapping API. To use Java mapping, you must define a Java class that implements the Java interface com.sap.aii.mapping.api.StreamTransformation. This interface has two methods:
    &#9679; public void execute(java.io.InputStream in, java.io.OutputStream out)
    At runtime, the Integration Engine calls this method to execute a mapping. This method contains an input stream for the source document and an output stream for the target document as parameters. These streams are usually XML documents. You can import the substructures to be converted from the input stream and output the converted target document in the output stream.
    &#9679; public void setParameter(java.util.Map param)
    The Integration Engine transfers parameters to the mapping program with this method. It evaluates these parameters at runtime in the method execute(). This enables you to control the process flow of the mapping.
    The transferred object that implements the Java interface java.util.Map contains seven key/value pairs as parameters. These correspond to corresponding fields in the message header. Apart from the MAPPING_TRACE constant, the value objects are of type java.lang.String. The key objects are defined in the class com.sap.aii.mapping.api.StreamTransformationConstants
    ABAP Mappings
    ABAP mappings are mapping programs in ABAP objects that customers can implement using the ABAP Workbench.
    Features
    An ABAP mapping comprises an ABAP class that implements the interface IF_MAPPING in the package SAI_MAPPING.
    Exception: CX_MAPPING_FAULT
    Applications can decide themselves in the method EXECUTE how to import and change the source XML document. If you want to use the XSLT processor of SAP Web AS, you can use the ABAP Workbench to develop a stylesheet directly (see XSLT Mappings (ABAP Engine)) rather than using ABAP mappings.
    Runtime Constants
    In ABAP mapping you can read access message header fields. To do this, an object of type IF_MAPPING_PARAM is transferred to the EXECUTE method. The interface has constants for the names of the available parameters and a method GET, which returns the respective value for the parameter name. The constants are the same as in Java mappings, although the constant MAPPING_TRACE does not exist for ABAP mappings. Instead, the trace object is transferred directly using the parameter TRACE of the method IF_MAPPING~EXECUTE
    Example: Accessing a Runtime Constant
    Method IF_MAPPING~EXECUTE.
    Get mapping constant SENDER_SERVICE
    data: l_sender_service type string.
    l_sender_service = param->get( IF_MAPPING_PARAM=>SENDER_SERVICE ).
    ENDMETHOD.
    These r excellent websites which contain PPT & PDF documents on mapping:
    Excellent PDF Document on Mapping
    http://help.sap.com/bp_bpmv130/Documentation/Operation/MappingXI30.pdf
    Mapping Development with the ABAP Workbench
    http://help.sap.com/saphelp_nw04/helpdata/en/10/5abb2d9df242f6a62e22e027a6c382/content.htm
    ABAP Mappings
    http://help.sap.com/saphelp_nw04/helpdata/en/ba/e18b1a0fc14f1faf884ae50cece51b/content.htm
    how to create a flat file out of an IDoc-XML by means of an ABAP mapping program and the J2EE File Adapter.
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/46759682-0401-0010-1791-bd1972bc0b8a
    How to Use ABAP Mapping in XI 3.0
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/e3ead790-0201-0010-64bb-9e4d67a466b4
    Hope this will help you, and don't forget to close this thread.
    Regards
    Aashish Sinha
    PS : reward points if helpful

  • How can I get values of properties from powershell

    I am trying to put together a powershell script that, for a given user, displays all of the user profile property information.
    I have seen several blogs which show how to get the names of all the properties.
    I thought that displaying the value of the property would be simple. So far, I am missing something.
    function display-UserProfile
    Param(
     [string]$SCURL,
     [string]$accountName
    ## $SCURL is a string that contains the URL path to a site collection
    ## $accountName is a string that contains the account name for which we need to get the profile property information
    ##Get the user profile property information by account name using SharePoint 2010 web service in powershell
    $uri=$SCURL + "/_vti_bin/UserProfileService.asmx?wsdl"
    ## Web Service Reference -
    http://Site/_vti_bin/UserProfileService.asmx
    $userProfileWebServiceReference = New-WebServiceProxy -Uri $uri -UseDefaultCredential
    $propertyData=$userProfileWebServiceReference.GetUserProfileByName($accountName)
    Write-Host -ForegroundColor Magenta "Getting the user profile property information by account name"
    foreach($property in $propertyData)
     Write-Host -ForegroundColor Yellow $property.Name, $property.Value
    When I run this, I don't get anything. I tried using "Values" but that gave me nothing for some properties and a long "path" for others
    Surely the property's current setting is in the object - I just am not certain how to get it to display.
    Can anyone show me what I am missing?

    Hi,
    Please try to use this:
    $property.Values[0].Value
    The following C# code snippet for your reference:
    public void FormEvents_Loading(object sender, LoadingEventArgs e) {
    XPathNavigator myRoot = MainDataSource.CreateNavigator();
    ProfileService.UserProfileService profileService = new ProfileService.UserProfileService();
    ProfileService.UseDefaultCredentials = true;
    ProfileService.PropertyData[] userProps = null;
    try {
    // Passing null to this method causes the profile of the current user to be returned.
    userProps = profileService.GetUserProfileByName(null);
    catch { }
    if (userProps == null || userProps.Length == 0) {
    return;
    for (int i = 0; i < userProps.Length; i++) {
    XPathNavigator node = null;
    switch (userProps[i].Name.ToLower()) {
    // these property names can be obtained by reviewing the user profile properties in the MOSS SSP.
    case "preferredname":
    node = myRoot.SelectSingleNode("/my:myFields/my:userName", NamespaceManager);
    break;
    case "accountname":
    node = myRoot.SelectSingleNode("/my:myFields/my:userAccount", NamespaceManager);
    break;
    case "workemail":
    node = myRoot.SelectSingleNode("/my:myFields/my:userEmail", NamespaceManager);
    break;
    case "workphone":
    node = myRoot.SelectSingleNode("/my:myFields/my:userPhone", NamespaceManager);
    break;
    default:
    continue;
    ProfileService.ValueData[] values = userProps[i].Values;
    if (values.Length > 0) {
    if (node != null && string.IsNullOrEmpty(node.Value)) {
    node.SetValue(values[0].Value.ToString());
    More information:
    http://blogs.msdn.com/b/infopath/archive/2007/03/07/get-the-user-profile-through-moss-web-services.aspx
    Best Regards
    Dennis Guo
    TechNet Community Support

  • How to get value in custom field(Part OF BOL) in search result view.

    Hi All,
    I am new to CRM WEBUI and i am facing issue in populating value in one field of search result view.
    Current requirement is .
    On product f4 , we get search help and search result view.
    one custom field need to be added in search result view ( for eg any description field).
    This description field is already  available in one of z relation  maintained in PRODUCT root object.
    Solution tried so Far:
    1. We enhance one Standard Product structure and add that description field .
    2. Add new  field( description) in result view context node as attribute by using bol attribute.
    3. Customize search result view and display that description field in result.
    By doing above three steps, field is available in  search result view.
    but issue is we are not able to get values.
    1st Approach: write code in getter and setter method . Pass the relation name and get the property of description  field
    in setter method, set the property.
    Issue : we were not able to sort the values on this description field. so scrap this 1st approach
    2nd Approach: In Event EH_Onsearch Help, we try to use collection wrapper to get current value of description
    by using relation name .
    We use component controller to set the value of description since  searchresult view-conext node->result node is bound to one comp controller node.
    but this solution also does not work..
    Please advice us  what approach we should use to get value in description field  and sorting should also work.
    Thanks in Advance.

    Hi Girish,
    1. We enhance one Standard Product structure and add that description field .
    2. Add new  field( description) in result view context node as attribute by using bol attribute.
    3. Customize search result view and display that description field in result.
    By doing above three steps, field is available in  search result view.
    but issue is we are not able to get values.
    1st Approach: write code in getter and setter method . Pass the relation name and get the property of description  field  and by using this approach we are able to get value but sorting was not working so we disable the sorting as it was not required by business.
    if u need sorting on that field.
    then u should go for value node approach and write code for getting value in get set method
    and for sorting also , need to write code.
    This is my understanding on this .
    Please reward if this solution is helpful

  • How to populate a Dropdown List from a Value Node

    Hi
    I have a WD application Java with an Interactive Form. In the WD context I have a value node of cardinality 0..n. In the Interactive Form I need to have the values of this node within a dropdown list. Which type of DDL is best choice and how do I manage to get the node values into the list.
    We are working on NW2004 with Designer 7.08.
    Thank you for any suggestions.
    René Morel

    hi,
    With respect to your problem please refer to this guide/tutorial.
    https://www.sdn.sap.com/irj/sdn/downloaditem?rid=/library/uuid/98af7acd-0401-0010-f697-bfa06971b65e
    Hope this helps you.
    Thanks,
    kris

  • Access to an attribute of a value node of a component controller

    Hello experts,
    I'm new to the area of SAP CRM Web Client UI development. My problem is probably very simple and you will surely smile about it.
    I have created my own component with the value node FILE (that consists of five atributes) in the component controller. Unfortunately I have not figured out yet how I can access the value of an attribute.
    The first thing I do not know is where I can find the controller-ID.
    In addition, I get an syntax error Field "TYPED_CONTEXT->FILE->COLLECTION_WRAPPER->GET_FIRST(" unknown in the line with "lo_entity = me->comp_controller->typed_context->file->collection_wrapper->get_first( ).".
    Currently no functionality is included in my code, because firstly I want to understand the basics.
    method OP_FILEUPLOAD.
      data lo_entity       type ref to if_bol_bo_property_access.
      data lv_file_name    type string.
      data lr_file_content type ref to data.
      field-symbols <lv_file_name> type string.
      IF ( comp_controller is INITIAL ).
        get_controller( 'xxxx' ).
      ENDIF.
      lo_entity = me->comp_controller->typed_context->file->collection_wrapper->get_first( ).
      while lo_entity is bound.
        lv_file_name = lo_entity->get_property_as_string( 'FILE_NAME' ).
        lr_file_content = lo_entity->get_property( 'FILE_CONTENT_STRING' ).
        assign lr_file_content->* to <lv_file_content>.
        lo_entity = me->typed_context->file->collection_wrapper->get_next( ).
      endwhile.
    endmethod.
    I hope that I will manage my "problem" with your help!
    Sebastian
    Edited by: Sebastian Lenz on Jun 27, 2011 2:35 PM

    Hi Sebastian,
    The issue is in the following line of your code:
    lo_entity = me->comp_controller->typed_context->file->collection_wrapper->get_first( ).
    The 'typed_context' belongs to your own component controller class and not the standard framework superclass. So, you need to replace this single line of code with something as follows (assuming that your component controller class is ZCL_CUSTOM_BSPWDCOMPONENT_IMPL):
    DATA lr_coco TYPE REF TO ZCL_CUSTOM_BSPWDCOMPONENT_IMPL.
    lr_coco ?= me->comp_controller.
    lo_entity = lr_coco->typed_context->file->collection_wrapper->get_first( ).
    The me->comp_controller reference will refer to the standard framework superclass of all component controllers and this does not have any typed_context attribute with it. The real component controller that gets created when you create a BSP component will have this attribute. That is why you need to first cast it to your own reference type before trying to access its typed_context.
    And if your value node will have only single values, then you can as well do the following to access the attribute ATTRIB1 of context node node1:
    DATA lv_value TYPE string.
    lv_value = lr_coco->typed_context->node1->get_attrib1( attribute path = '' ).
    Basically all attributes can be accessed by above code by using the right getter method.
    Regards,
    Shiromani

  • How to get a node selection in a table using Arraylist

    Hi All,
      Can someone help me with the code to get the node selected value from a table and then set that values to input fields?
    Early response would be much appreciated.
    Thanks
    Uday

    Dear Uday,
    Please user the isMultiSelected inside the for loop and iterate through all the rows selected to set in the arraylist.
    Refer to this might help: delete records from table
    if(wdContext.node<Node Name>().size()>0)
                // Iterate through the context Node
                for(int i=0;i<wdContext.node<Node Name>().size();i++)
           if(wdContext.node<Node Name>().isMultiSelected(i))  {
                      // Set the ArrayList here for the Lead Selected elements of the Table multiple selected rows
                            }else {
                                   // Set the ArrayList here for the Lead Selected elements of the Table single selected rows
    Best Regards
    Arun Jaiswal
    Edited by: Arun Jaiswal on Dec 10, 2011 2:04 PM

Maybe you are looking for

  • Shared NFS Disk causing high Wait CPU on dd command

    Hi, we have mounted the partition /OVS to a NFS shared disk, and we are running a virtual machine from this shared disk. Doing the following command in the virtual machine, we calculate the needed time to write a file into the NFS disk with block siz

  • ABAP 写的小游戏,供大家娱乐

    code} *& Report  Z_BUTTON_GAME                                               * REPORT z_button_game . INCLUDE <icon>. TABLES : sscrfields. internal table for storing the list of icons temporarily DATA : BEGIN OF i_icons OCCURS 1000, id LIKE icon-id,

  • Novice needs Help!

    . I'm using this code that I downloaded in a tutrial to run my flash movie -- pasted below -- how do I make the movie simulate that constant looping effect even when the mouse is not over it and how would I slow the overall speed down? MY flash sampl

  • Press Ready Form

    Hi all - I have created a form in Acrobat 8 Pro. It is an order form that allows the end user to fill in their mailing address to customize a postcard. This is then sent directly to a printer for off set printing. The form itself is all set for print

  • Connecting airport express to zyxel modem

    I connect to the internet via DSL using a Zyxel 660 HN DSL router. This modem is also the base station of my wireless network. I am now trying to connect my USB Printer (HP LaserJet 1320) to this wireless network using an Airport Express Base Station