Passing context data back to Java Webdynpro

Hi All,
I have created Java Webdynpro's with Adobe Interactive Forms in them. I use ActiveX not Native. Yesterday passing data from the AIF to Webdynpro for Java was working like this (it didn't work in Native mode) today it doesn't. Neither does pressing any buttons. I'm not sure what has been installed on my system, it could be Adobe Read 9.0. Now creating the forms using the livecycle designer in de Netweaver developer studio is also very unstable (unworkable)
My main question is: how can I pass the data from the interactive form to webdynpro for java (without using the submit button, as I want to have such buttons on my webdynpro and not in my forms.)
Jeschael

Jeschael,
Try creating a new project and repeat the same steps. Do you get error there as well.
Also try setting some context in WD, assign it to a Text Field of Adobe and see if you get the value.
For eg: Let's assume you created a Context called "Name" then set it
wdContext.currentContextElement.setName("Test");
Now try to assign this to Text Field, see if you get the value in Adobe form by writing this code in the initialize event of Text Field in Adobe LiveCycle Designer in JavaSript.
xfa.host.messageBox("Value is :"+TextField1.rawValue);
Chintan

Similar Messages

  • Pass the data back from the jsp page to the java code

    Hi,
    I have written an iView that receives an event using EPCF and extracts data from the client data bag.
    I need this iView to pass the data back from the jsp page to the java code.
    I am trying to do this using a hidden input field, but I cannot get the code to work.
    Here is the code on the jsp page.
    <%@ taglib uri="tagLib" prefix="hbj" %>
    <hbj:content id="myContext" >
      <hbj:page title="PageTitle">
       <hbj:form id="myFormId">
    <hbj:inputField id="myInputField" type="string" maxlength="100" value="" jsObjectNeeded="true">
    <% myInputField.setVisible(false);%>
    </hbj:inputField>      
       </hbj:form>
      </hbj:page>
    </hbj:content>
    <script language=JavaScript>
    EPCM.subscribeEvent("urn:com.peter", "namedata", window, "eventReceiver");
    function eventReceiver(eventObj) {
         var url = eventObj.dataObject;
         var funcName = htmlb_formid+"_getHtmlbElementId";
         func = window[funcName];
         var ipField = eval(func("myInputField"));
         ipField.setValue(url);
         var form = document.all(htmlb_formid);
         form.submit();
    </script> 
    Here is my java code
    package com.sap.training.portal;
    import com.sapportals.htmlb.InputField;
    import com.sapportals.htmlb.page.DynPage;
    import com.sapportals.htmlb.page.PageException;
    import com.sapportals.portal.htmlb.page.JSPDynPage;
    import com.sapportals.portal.htmlb.page.PageProcessorComponent;
    public class ListSalesOrder extends PageProcessorComponent {
      public DynPage getPage(){
        return new ListSalesOrderDynPage();
      public static class ListSalesOrderDynPage extends JSPDynPage{
         private String merong;
        public void doInitialization(){
        public void doProcessAfterInput() throws PageException {
              InputField reportfld = (InputField) getComponentByName("myInputField");
              if (reportfld != null)      merong = reportfld.getValueAsDataType().toString();
        public void doProcessBeforeOutput() throws PageException {
              if ( merong != null ) setJspName("merong.jsp");
              else setJspName("ListSalesOrder.jsp");
    Here is DD
    <?xml version="1.0" encoding="utf-8"?>
    <application>
      <application-config>
        <property name="SharingReference" value="com.sap.portal.htmlb"/>
        <property name="PrivateSharingReference" value="com.sap.portal.htmlb"/>
      </application-config>
      <components>
        <component name="SearchSalesOrder">
          <component-config>
            <property name="ComponentType" value="jspnative"/>
            <property name="JSP" value="/pagelet/SearchSalesOrder.jsp"/>
          </component-config>
          <component-profile>
            <property name="tagLib" value="/SERVICE/htmlb/taglib/htmlb.tld"/>
          </component-profile>
        </component>
        <component name="ListSalesOrder">
          <component-config>
            <property name="ClassName" value="com.sap.training.portal.ListSalesOrder"/>
          </component-config>
          <component-profile>
            <property name="tagLib" value="/SERVICE/htmlb/taglib/htmlb.tld"/>
          </component-profile>
        </component>
      </components>
      <services/>
    </application>
    After receive event, then call java script function "eventReceiver" and call "form.submit()".
    But .. PAI Logic in Java code doesn't called ...
    Where is my problme ?
    Help me ...
    Regards, Arnold.

    Hi Arnold,
    you should not do a form.submit yourself. Instead you can put a component called ExternalSubmit to your page:
    ExternalSubmit exSubmit = new ExternalSubmit("EX_SUBMIT"));
    exSubmit.setServerEventName("MyEvent");
    This results in a java script funtion on the page which is called "_htmlb_external_submit_". If you call this function the the form gets submitted and your event handler is called.
    regards,
    Martin

  • Passing Data Back from a WebDynpro App to a Portal App

    Hello all,
    We have an iView in the portal that has a link to a webdynpro application.  When the link is clicked, it opens the webdynpro app in a new window.  When a user selects data on this window and clicks a button, I want that data selected transferred to a specific field on calling window. 
    Prior to using webDynpro, we were able to do this by using the code below on the called page.
    <SCRIPT language='JavaScript'>
    function SelectUser() {
       var selectedUserAdmcd=document.all["EMP_ADMCD_RET"].value;
       window.opener.document.forms[0].ADMIN_HR_CODE_NEW.value=selectedUserAdmcd;     
    Any suggestions will be appreciated.
    Thanks,
    Mike

    Hi Mike,
      The SAP Enterprise Portal 6.0 supports client-side eventing. I dont thhink  you cannot write Java Script code in a Web Dynpro application, a Java wrapper enables you to implement portal eventing. You can subscribe to and unsubscribe from specific portal events. This means that the SAP Enterprise Portal can react to an event that is triggered by a Web Dynpro application.
    Sample code for the same
    In the sender application, On action of the button click event.
    String parm=wdContext.currentContextElement().getInput();
    WDPortalEventing.fire ("urn:com.sap.tc.webdynpro.example.portaleventing", "Event Name ", parm);
    In the listener application
    In the Init method subscribe the portal event
    WDPortalEventing.subscribe("urn:com.sap.tc.webdynpro.example.portaleventing","Event Name ", wdThis.wdGetReactPortalEventingAction() );
    Create an action ReactPortalEventing. Add the parameter data of  type java.lang.String.
    wdContext.currentContextElement().setOuput(dataObject);
    The value of the element Input recieved in the Sender application will mapped to the element Output  of the  listener application.
    Regards,
    Srivathsan

  • Data connection between Java Webdynpro - Flex Flash Island

    Hi,
    I'm developing a Java Webdynpro with connection to a Flex Flash Island. I'm using Flex 3.2.
    I've already set up the connection from WDJ to Flex, by using Events and the FlashIsland.fireEvent method, this all works fine. Now I'm trying to update a value in WDJ, to be updated in Flex. This gives the following error:
    Error: Error #1023: Stack overflow occurred.
         at Function/http://adobe.com/AS3/2006/builtin::apply()
         at mx.binding::Watcher/wrapUpdate()
         at mx.binding::PropertyWatcher/eventHandler()
         at flash.events::EventDispatcher/dispatchEventFunction()
         at flash.events::EventDispatcher/dispatchEvent()
         at mx.core::UIComponent/dispatchEvent()
         at UWLApplication/set opentask_updated()
         at MethodInfo-4234()
         at Function/http://adobe.com/AS3/2006/builtin::call()
         at sap.core.wd.context::WDContextListener/execute()
         at sap.core.wd.context::WDContext/notifyListeners()
         at sap.core.wd.context::WDContext/_set()
         at sap.core.wd.context::WDContext/set()
         at sap.wd.island::WDIsland/storeProperty()
         at sap.wd.island::WDIsland/onUpdateProperty()
         at mx.binding.utils::ChangeWatcher/wrapHandler()
         at flash.events::EventDispatcher/dispatchEventFunction()
         at flash.events::EventDispatcher/dispatchEvent()
         at mx.core::UIComponent/dispatchEvent()
         at UWLApplication/set opentask_updated()
         at MethodInfo-4234()
    This is especially strange, cause before I had a refresh button in which I updated my entire item collection. Now, I have added this field and suddenly I get this error !
    Does anybody has any idea what this could mean? Any help would be much appreciated ...
    My field in Flex:
    \[Bindable\]
    public var opentask_updated:Number;
    <mx:Text id="opentask_updated_text" text="{opentask_updated.toString()}" />
    My adaptions in WDJ:
    public void getInbox( )  {
           wdContext.currentInboxElement().setOpentask_updated(0);
    public void wdDoInit()  {
           getInbox();

    Solved!
    It appeared to be a "long" parameter and I was trying to put it in a "Number" parameter in Flex (because there is no long in Flex)
    When I changed both to String, it worked!

  • How kan i pass php data to applets

    i m developing a graphical application and i m accessing all data through php from mysql database..
    now my graphical application totally depends on that data.. how kan i pass php data over to java applets..

    I believe you use <param> tags.

  • Passing Tables back from Java Stored Procedures

    Thomas Kyte has written (in reference to
    trying to pass an array back from a stored
    function call):
    You can do one of two things (and both require the use of
    objects). You cannot use PLSQL table types as JDBC cannot bind to
    this type -- we must use OBJECT Types.
    [snip]
    Another way is to use a result set and "select * from
    plsql_function". It could look like this:
    ops$tkyte@8i> create or replace type myTableType as table of
    varchar2 (64);
    2 /
    Type created.
    ops$tkyte@8i>
    ops$tkyte@8i>
    ops$tkyte@8i> create or replace
    2 function demo_proc2( p_rows_to_make_up in number )
    3 return myTableType
    4 as
    5 l_data myTableType := myTableType();
    6 begin
    7 for i in 1 .. p_rows_to_make_up
    8 loop
    9 l_data.extend;
    10 l_data(i) := 'Made up row ' &#0124; &#0124; i;
    11 end loop;
    12 return l_data;
    13 end;
    14 /
    Function created.
    ops$tkyte@8i>
    ops$tkyte@8i> select *
    2 from the ( select cast( demo_proc2(5) as mytableType )
    3 from dual );
    COLUMN_VALUE
    Made up row 1
    Made up row 2
    Made up row 3
    Made up row 4 [Image]
    Made up row 5
    So, your JDBC program would just run the query to get the data.
    If the function "demo_proc2" cannot be called from SQL for
    whatever reason (eg: it calls an impure function in another piece
    of code or it itself tries to modify the database via an insert
    or whatever), you'll just make a package like:
    ops$tkyte@8i> create or replace package my_pkg
    2 as
    3
    4 procedure Make_up_the_data( p_rows_to_make_up in
    number ); 5 function Get_The_Data return myTableType;
    6 end;
    7 /
    Package created.
    ops$tkyte@8i>
    ops$tkyte@8i> create or replace package body my_pkg
    2 as
    3
    4 g_data myTableType;
    5
    6 procedure Make_up_the_data( p_rows_to_make_up in number )
    7 as
    8 begin
    9 g_data := myTableType();
    10 for i in 1 .. p_rows_to_make_up
    11 loop
    12 g_data.extend;
    13 g_data(i) := 'Made up row ' &#0124; &#0124; i;
    14 end loop;
    15 end;
    16
    17
    18 function get_the_data return myTableType
    19 is
    20 begin
    21 return g_data;
    22 end;
    23
    24 end;
    25 /
    Package body created.
    ops$tkyte@8i>
    ops$tkyte@8i> exec my_pkg.make_up_the_data( 3 );
    PL/SQL procedure successfully completed.
    ops$tkyte@8i>
    ops$tkyte@8i> select *
    2 from the ( select cast( my_pkg.get_the_data as mytableType
    ) 3 from dual );
    COLUMN_VALUE
    Made up row 1
    Made up row 2
    Made up row 3
    And you'll call the procedure followed by a query to get the
    data...
    I have tried this, and it works perfectly.
    My question, is what does the wrapper look
    like if the stored function is written
    in java instead of PL/SQL? My experiments
    with putting the function in java have been
    dismal failures. (I supposed I should also
    ask how the java stored procedure might
    look also, as I suppose that could be where
    I have been having a problem)
    null

    Thanks for the response Avi, but I think I need to clarify my question. The articles referenced in your link tended to describe using PL/SQL ref cursors in Java stored procedures and also the desire to pass ref cursors from Java to PL/SQL programs. Unfortunately, what I am looking to do is the opposite.
    We currently have several Java stored procedures that are accessed via select statements that have become a performance bottleneck in our system. Originally the business requirements were such that only a small number of rows were ever selected and passed into the Java stored procedures. Well, business requirements have changed and now thousands and potentially tens of thousands of rows can be passed in. We benchmarked Java stored procedures vs. PL/SQL stored procedures being accessed via a select statement and PL/SQL had far better performance and scaleable. So, our thought is by decouple the persistence logic into PL/SQL and keeping the business logic in Java stored procedures we can increase performance without having to do a major rewrite of the existing code. This leads to the current problem.
    What we currently do is select into a Java stored procedure which has many database access calls. What we would like to do is select against a PL/SQL stored procedure to aggregate the data and then pass that data via a ref cursor (or whatever structure is acceptable) to a Java stored procedure. This would save us a significant amount of work since the current Java stored procedures would simple need to be changed to not make database calls since the data would be handed to them.
    Is there a way to send a ref cursor from PL/SQL as an input parameter to a Java stored procedure? My call would potentially look like this:
    SELECT java_stored_proc(pl/sql_stored_proc(col_id))
    FROM table_of_5000_rows;
    Sorry for the lengthy post.

  • BPM Java WebDynpro xsd:date decrease one day

    Hi Experts.
    I have a problem with the context between Java WebDynpro and BPM. I have an attribute of date type , when BPM call the Web Dynpro UI, this date it shows to user with one day minus, but in BPM Context and Web Dynpro context are with the correct date.
    I checked the BPM context and the value of this attribute is: "2011-08-06Z".
    I think that the problem is with the "Z" because it's like a time zone.
    Any suggestions?
    Thanks,
    Julian.

    Hello Julian,
    We faced the same issue as you, and after doing all checks in configuration, nothing!, finally we found a SAP note that recommends to change the date type to string types, but, we have a lot of webservices calls and mappings that requieres a "date" type and this make more dificult the "solution".
    Then we found a little tricky solution.
    We change the webdynpro Date types to Strings, and make the transformation in bpm mapping to cast as xsd:date,  finally in webdynpro you must perform a string.format for the outgoing date as BPM is specting the date ( "YYYY-MM-DD")
    With this solution you see a "date" type in BPM  context and String type in Webdynpro and the offtset disappears.
    This solution maybe is similar to SAP Note, but you don't need to change all your consumed webservices types.
    Regards!
    Julio Cesar Leyva

  • How to get the context data using java script in interactive forms

    Hi All,
    How to get the context data using java script in interactive forms by adobe,  am using web dynpro java
    thanks.

    Hi venkat,
    Please Refer this link.
      Populating one Drop-Down list from the selection of another Drop-down list
    Thanks,
    Raju.

  • Java webdynpro date format

    Hi ,
    I am using some standard java webdynpro from ess/mss package the date format is in US format i.e mm/dd/yyyy in the iviews.
    How to change this to dd/mm/yyyy.My browser I.E is already set to ENGLISH UK.
    Can anyone suggest me how to change the date format to UK
    except the standard ess/mss java webdynpro's Remaining applications in portal date format is in UK format.
    Thanks and Regards,
    devi

    go to your portal and go to jco maintanance there check the language that you have used to connect please.
    Can you please reconfirm if your browser langauge is English UK
    tools->internet options ->languages ->English (United Kingdom)(en-gb)

  • Date field Length in Java Webdynpro

    Hi Experts,
    I have a strange case.
    I created a new filed in the infotype 0175: ZZDAT  like the standard field AUSGD  (type DATS length 8)
    I modified the ESS view and added the new fields.
    The view is working perfectly, the data is transfered between the databse and the webdynpro, the only problem is, that the user can't enter the date manually, because  last point after the day can't be entered: e.g.: 2010.01.01 instead of 2010.01.01.
    If the user uses the search help, and selects the date form the popup calendar, then the date format is correct: 2010.01.01.
    (there is a point after the DAY ) I tried to change the field length manually but still, the last point after the day can't be entered.
    Can you please help me to find out what is the problem?
    Thanks
    N.

    Unfortunatelly this doesn'T help at all.
    I reimported the data element, and restarted the server, but the result is the same. I can'T enter the date manually..
    To be honest, i'm fed up with this stupid java webdynpro.  I hope  there is a special place in hell, for the people who invented this....
    Anyway, I think the only solution here is to limit the field, capabilities. I'll try to set the Date picker as the only input way... I hope this is possible... it's easy in ABAP I just hope that java can do this the same "non-somplicated" way.
    If you have any idea how to do this I'll be very greatfull for any kind of help.
    Bye
    N.

  • Use context to pass value between JPF and Java Control

    hi,
    Can we use context to pass value between JPF and Java Control? It works if i m using InitialContext in the same machine but i dun think it will works if i put Web server and application server in different machine. Anyone have an idea how to do it?
    I also want to get the method name in the onAcquire callback method. Anyone knows how to do this?
    thks
    ?:|

    Hi.
    Yoy can the next options for make this:
    1. Pass your values in http request.
    example: http://localhost/index.jsp?var1=value1&var2=value2&var3....
    2. You can use a no visible frame (of height or width 0) and keep your variables and values there using Javascript, but of this form, single you will be able to check the values in the part client, not in the server. Of this form, the values of vars are not visible from the user in the navigation bar.
    Greeting.

  • Can pass data from Seibel Java UI to OPA

    Hi all,
    presently client is using Java UI in Siebel and this java UI holds some value in a variable(this variable is not a field in siebel or not stored in siebel).
    so my question is can we pass that stored variable in java UI to OPA when siebel call OPA through Workflow.
    if yes ,how to configure it and how should IO mapping file should be?

    To pass data to OPA using the OPA Connector for Siebel, the data must be in a Business Object or an Integration Object.
    Cheers
    Frank

  • Passing vectors into JSP from Servlet and passing data back to Servlet

    I have been building an MVC application.
    It has a controller which instantiates classes and evokes methods to
    populate vectors. These vectors are then passed into a JSP. This part of the application works fine.
    What I am having trouble with is a new JSP I have designed; this will
    display the data that is actioned by the FORM action. This is actioned
    based on the Search criteria entered by the user. Based on this a further vector is populated and brought back to the JSP as a vector
    and this is rendered via the TABLE tag. Again this works fine.
    Against each of the rows displayed, I have a print checkbox which can be checked by the user. On checking the records they want to print, they should then hint a Print button which should go back to the Servlet and print the data. THIS IS WHERE I HAVE THE PROBLEM. On going
    back to the servlet the checkbox values are not displayed, rather
    the values that initially populate the JSP. How do I get these new values back into the vector and hence accessible from the Servlet.
    Any help with be very much appreciated.
    Chris

    Thanks for this.
    Just to clarify I am not using Struts.
    What I am having difficulties with is the fact that:
    I can't get the checked values back to the Servlet - they keep the values they have in the bean - so as part of instantiating the bean class I set the value of the item to 'off'. The user will then check
    the checkbox which should presumbably set the value to 'on'. This isn't happening because the setter method of the bean is not evoked again
    because I don't come into this JSP again - the Servlet has finished here
    and now needs to print the records. It can't do this because as
    far as it is concerned nothing has changed since it last passed through
    the vector to the JSP.
    Even when I do the following:
    Enumeration paramNames = request.getParameterNames();
    String param = null;
    while (paramNames.hasMoreElements())
    param=(String)paramNames.nextElement();
    System.out.println("parameter " + param + " is " +
    request.getParameter(param));
    what comes back is the valus of 'off' as opposed to 'on'.
    The other thing is that 'request.getParameterNames()' only works
    with the first record in the vector, i.e. it doesn't fetch any other
    records that are rendered in the <TABLE> tag.
    In desperation is there anybody out there who can help me.
    Thanks
    Chris
    I am going to assume you are using a MVC framework
    like Struts or very similar (I am assuming that from
    the language you are using).
    When the servlet passes the vector back to the JSP
    page and you render the HTML that is passed back the
    client your Vector is gone. The Vector is not
    available at the HTML level that is being viewed at
    the browser.
    When the user selects the checkboxes and submits the
    page (by clicking the print button) the controller
    servlet (called ActionServlet in Struts, yours maybe
    called something else) forwards the request to the
    appropriate JavaBean and Servlet to process the
    request. Either the JavaBean has to recreate the
    Vector (not recommended) or the processing Servlet can
    (better). You can do this by recreating the Vector
    from scratch for the HttpRequest parameters or, at the
    time of the initial request, saving Vector to a
    session and then updating with the data you get back
    from the client (again from the HttpRequest
    parameters).
    Either way you have to work with
    HttpRequest.getParameter().

  • Using oracle.sql.BLOB data type in Java Class to pass in a Blob

    All,
    I'm trying to pass in a BLOB from PL/SQL to a Java Class, but the BLOB isn't passed correctly.
    When I check the length of the BLOB in PL/SQL its different from the length of the BLOB in java.
    I'm using DB 11g and the ojdbc5.jar file in my java classes.
    The java function uses the oracle.sql.BLOB type to get the parameter.
    The java class is loaded into the DB and called via a PL/SQL function.
    Kind regards,
    Nathalie

    The question is indeed a little ambigious defined ;o)
    When I pass the BLOB to the java method and invoke BLOB.getBytes() and then get the length of the BLOB in java the length of the BLOB is bigger than in PL/SQL.
    When I use the method 'getBinaryStream' and write this to a buffer, the code works.
    I will log a tar regarding the getBytes()-method to ask for more detailed information regarding the methods provided using the JDBC Drivers.
    Kind regards,
    Nathalie

  • Pass data from BSP to WebDynpro Abap

    Hi,
    Can anyone pls tell how to pass the data from BSP to WD4A Application.
    I am trying to call the WDA URL using the class CL_GUI_FRONTEND_SERVICES in BSP,but it is giving a run time error.
    How to call the WDA URL from the classes in BSP & not using iFrame ?
    Thanks,
    Krishna

    Hi Raja,
    Can u pls tell the class which the object navigation->goto_page( url ) refers to.
    My main requirement is to call the WDA URL from a class in BSP Application.
    Since there is no GUI connection i'll be not able to use class CL_GUI_FRONTEND_SERVICES.
    So i need a class which will call URL before passing data.
    Thanks for the same,
    Regards,
    Vamsi.

Maybe you are looking for