Java Web DynPro and Universal Worklist Interaction

HI ESS/MSS Gurus,
Good day!
I am a workflow consultant who is working on an ESS/MSS project. I have already completed and tested (successfully) all of the workflows needed in the backend using the PTARQ and PTCOR applications. We are also successful in showing the work items in the universal worklist.
Now the question is, whenever we click on the work item, we encounter an error in the portal. Now, I need to determine the following:
1. How are we going to integrate the ESS/MSS portal with the execution of the work item in the universal worklist?
2. Do we need to develop custom Java web dynpro applications for the approval process of the leaves, or is there a standard offering from the ESS/MSS packages?
Your inputs are very much welcome.
Regards,

Hi Gurus,
Here is what we have done so far:
1. Implemented the details as indicated in note 779075 and changed the parameters defined in SWFVISU
2. Upon re-registering and clearing the cache from the UWL, we tested if the task will call the standard application for leave request approval. It returns the error Internal error. :
Item is null for action acknowledge, and for item type uwl
It seems that the xmls files are not being generated or read successfully. although when we check uwl.webflow.SAP_ECC_HumanResources, there is an updated xml file for the task
Questions are:
1. What checks do we need to execute between the back end, UWL and portal?
2. Whenever changes in SWFVISU are made, what items do we need to check to ensure that the changes are reflected in the UWL? I have read that SWFVISU helps the user do away with the tedious xml creation. How can we verify that the changes are implemented/updated in the xmls generated?
3. Any other items we need to look into?
Regards,

Similar Messages

  • JAVA, JAVA WEB dynpro and possibility of JAVA workflow

    Hi all
    Just a take here -- I'm just getting some feelers on the way WF SHOULD be going in future.
    Since starting to use the JAVA WD system and netweaver developer studio it seems that having to encapsulate a lot of NEW Workflows as ABAP objects is going "Backwards". (Note I said NEW not EXISTING applications)
    I understand that some compatability with existing systems needs to be maintained but if your user is doing all his applications from a Portal you really need the WF's to be triggered from the portal via say WEB SERVICES.
    I find I'm actually using the older ERP / ECC 6.0 R/3 systems these days purely as DATA repositories and from a JAVA program can often retrieve the data via standard BAPI's and RFC calls in a JAVA or Portal application.
    Isn't it about time that the workflow system as a whole was made much more JAVA and PORTAL friendly --since this is where more and more people are doing their developments from.
    Since switching more or less full time over to JAVA WEB DYNPRO developments the whole development time is completed MUCH QUICKER and with many many less mistakes.
    ABAP Web dynpro is also OK but it's still a little bit of a nightmare compared with JAVA when you need a lot of WEB SERVICES.
    Some WF's obviously will need to remain ABAP based but newer custom WF's IMO should be WEB DYNPRO and WEB SERVICE based.
    I can't think of too many large organisations who aren't making more and more use of Portals these days -- so C'mon SAP -- provide some proper Web hooks into WF's instead of us having to go through hoops and rings of writing LAST CENTURY's code to get stuff to work through a Portal.
    Cheers
    jimbo

    Hi,
    Have you checked the new BPM tool that SAP is offering? I think that it is definately a big step into to the drection that you are describing. I haven't really checked all its features and the technology that is is based on, so I am not the biggest expert of this matter.
    Check for example this article to get an overview: http://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/b06c49b2-ac63-2c10-3d8d-d17b817ba4ca?quicklink=nw-bpm&overridelayout=true
    Of course it will be a long road before this new tool will (if it will ever) replace the old ABAP based workflow engine.
    I wouldn't totally agree with all the points that you presented (ABAP WD being a nighmare, etc.). Actually I think that the direction (at least in some parts) is the opposite. For example SAP seem to have replaced their "old" travel management applications (Java WD) with new ABAP WD applications, so I see that they believe more in ABAP than Java (of course there might be some financial & other reasons behind this also.). In my opinion WDA has so many advantages compared to WDJ, that I would consider carefully the options when choosing the technology (the possible better(?) compatibilitly with web services might be one of the reasons).
    Regards,
    Karri

  • How to create table in interactive form via Java Web Dynpro

    Hi,
    How to create table in interactive form via Java Web Dynpro ?
    Any online tutorial / example ?
    Thank you.
    Regards,
    Eric

    Hi Eric,
    Just choose the UI element Table from Form Library and drag and drop it on the form. now choose the no. of rows and columns and other settings you want about table from the wizard initiated through this process. This all is what you have to do to create the table. Now to bind it to the fields of the data source bind the individual colums to individual attributes of the node in the datasource.
    Hope it will solve your query.
    Regards,
    Vaibhav Tiwari.

  • PdfSource content of interactive form in Java Web Dynpro

    Hi All,
    I am using Java web dynpro with interactive form. When I display the contents of the pdfSource of the interactive form into a text file, I see the following which is not a true binary content. Could u please let me know why the content is represented in the form other than binary?
    %PDF-1.6
    %âãÏÓ
    153 0 obj<</First 973/Length 1717/Filter/FlateDecode/N 120/Type/ObjStm>>stream
    xÚ´XɎ 7 ý C"î ` p¼ lǃ™É) „¶D˂%õ Õšxþ>¯š¤ä‰›´/9±EV½*¾zÜd gŽyÍ Â0Á™0
    0000000153 65535 f
    0000000154 65535 f
    trailer
    <</Size 156/Root 1 0 R>>
    xref
    0 0
    trailer
    <</Size 156/Prev 32208/XRefStm 2120/Root 1 0 R/Info 3 0 R/ID[<991012CC1DD111B20A00FFBFDB48FD64><991077C51DD111B20A00060100000680>]>>
    startxref
    35372
    %%EOF
    Thanks & Regards,
    Jyoti

    Hi Naidu
    I have written the contents of the pdfsource to a file in the server using the below code:
    byte b[] = wdContext.currentContextElement().getPdfSource();
    File file = new File("C:
    Severance.pdf");
    long length = file.length();
    FileOutputStream os;
    try {
         os = new FileOutputStream(file);
         os.write(b);
         os.close();                         
    catch (Exception e)
         // TODO Auto-generated catch block
         wdThis.wdGetAPI().getComponent().getMessageManager().reportSuccess("Some Exception "+e);
         e.printStackTrace();
    And i have added a File Download element in the Application and have implemented the below piece of code for it:
    IWDAttributeInfo attInfo = wdContext.currentContextElement().node().getNodeInfo().getAttribute("ctx_downloadpdfsrc");
    ISimpleTypeModifiable type = attInfo.getModifiableSimpleType();
    IWDModifiableBinaryType binaryType = (IWDModifiableBinaryType) type;
    binaryType.setMimeType(WDWebResourceType.TXT);
    String fileName ="C:
    Severance.pdf";
    // path to the source file
    /* converts the binary file to a byte array and moves it to the text element */
    try
          File file = new File(fileName);
          FileInputStream in = new FileInputStream(file);
         ByteArrayOutputStream out = new ByteArrayOutputStream();
         int length;
         byte[] part = new byte [10 * 1024];
         while ((length = in.read(part)) != -1)
               out.write(part, 0, length);
          in.close();
                              wdContext.currentContextElement().setCtx_downloadpdfsrc(out.toByteArray());
    catch(Exception e)
                              wdComponentAPI.getMessageManager().reportSuccess(" !!!!!!!!!!!!! "+e);
                              throw new WDRuntimeException(e);
    Other than this, if we simply write this line in the code it will display the entire content of the pdfSource on the screen when deployed:
    wdComponentAPI.getMessageManager().reportSuccess(wdContext.currentContextElement().getPdfSource().toString());
    Regards,
    Jyoti

  • Sending java web dynpro interactive form as pdf attachment from Business WF

    Hi,
    I have a java web dynpro application with interactive form(online), on send button click i need to send the filled form as an PDF attchment to internet mail id. I am using SO_NEW_DOCUMENT_ATT_SEND_API1 inside workflow to send attachment. My custom RFC which is interacting with WD app is getting the pdf source context attribute(simply i set the import parameter with that attribute and no juggling is done) as import parameter which  is of type XTSRING. Once i execute the application i am getting mail with attachment as pdf but i am not able to open the pdf. It is of just 1 KB size. It seems my pdf source context attribute is not sending data. Can some one suggest how can i solve this.DO i need to convert the data to pdf format before sending or any otgher thing i need to do.
    Regards
    Ravindra

    I did that before posting the question itself (enables = false), it doesn't work. It just disable the extra features like digital signature and stuff.  Interesting thing is all our HCM forms developed for HR actions works fine with out any issues. Why the interactive form developed with WDJ is not working and it requires credentials??. The same form works fine if I deploy the application directly into server but it throws the error if I check in through NWDI ..
    If you look at the server location it has the file but it throws the error:
    Caused by: com.sap.tc.webdynpro.clientserver.adobe.pdfdocument.base.core.PDFDocumentRuntimeException: IOException occured while creating template stream from the TemplateSource : .\temp\webdynpro\public\sap.com\ess~ben\webdynpro\Components\com.sap.xss.hr.ben.reviewtable.VcBenefitsReviewTable\ReviewTableView_InteractiveForm_Review.xdp (The system cannot find the file specified)
    Please advise.
    Thank You,
    Hari.

  • Settings SLD and JCO connection for Java Web Dynpro

    Hi BI Gurus,
    I'm a Business Intelligence newbye and I'm a bit confused about Web Dynpro configurations.
    I try to execute, through Netweaver Developer Studio 7, a simple java Web Dynpro who call the standard Flight List BAPI.
    My configuration is: NW 2004s installed on BI server (with java instance and j2EE Server) and Flight List BAPI stored on R/3 ECC. 5 System in another server.
    Now, my doubt are:
    1) in SLD Data Supplier (J2EE Visual Admin on BI Server) CIM configuration, what are the connections parameter necessary?The BI host or R/3 host?
    2)if I set BW system parameters in SLD and in NWDS when I try to run my simple web dynpro an error occour This is the output:
    The initial exception that caused the request to fail, was:
       com.sap.tc.webdynpro.services.exceptions.WDRuntimeException: Failed to resolve JCO destination name 'WD_FLIGHTLIST_RFC_METADATA_DEST' in the SLD. No such JCO destination is defined in the SLD.
    Correction Hints
    Accessing the System Landsape Directory (SLD) failed. Depending on the concrete reason (see root cause) check the following:
    is the SLD Supplier in the J2EE engine configured correctly? See the SLD documentation for more details about the SLD and about how to configure it.
    are all JCO destinations maintained correctly? Use the preinstalled Web Dynpro Content Admin application to check/edit the destination. Use the Ping and Test functions of the Content Admin to verify that each destination is properly configured.
    Additional information about the System Landscape Directory and the Web Dynpro Content Admin can be found in the SAP Developer Network (SDN) and in the Online Help for the SAP Web Application Server (installed with SAP NetWeaver Developer Studio and available online).
    Note: the above hints are only a guess. They are automatically derived from the exception that occurred and therefore can't be guaranteed to address the original problem in all cases.
    3)where can I create new JCO connections?What are the requirements settings?
    I am always available for answers about the post!!
    Help me please!!
    Thanks thousand and sorry for my incorrect english!!

    Andrea,
    You can Create the JCo destination from Content Administrator. You must login as Administrator.
    use the link as
    http://<server>:<port>/webdynpro/welcome/Welcome.jsp, select Content Administator->Create JCo Destinations/Maintain JCo Destinations.
    Please have a look on the following links regarding creating/maintaining JCo destinations. The are usally asked questions regarding JCo destinations.
    Create JCo destinations:
    /message/4947478#4947478 [original link is broken]
    Creating JCO Destinations
    /message/5369333#5369333 [original link is broken]
    Rgs,
        Dni

  • What is the right  way to display a table in Java web dynpro using a node.

    Hi experts,
      I am trying to show a node of cardinality 0...n as a table in an adobe form in Java web dynpro. But its not showing it properly. Can anybody please tell me what is the right way to display a table on adobe form using a node of cardinality 0...n or 1...n in Java Webdynpro.  In ABAP webdynpro, we can drag and drop a node of cardianlity 0...n or 1...n to  show as a table and it works fine. Is the same possible in Java webdynpro also. Please help.
    Thanks and Regards.
    Vaibhav Tiwari.

    Please refer to my post.. you will get the answer
    Dynamic Table -  same data repeating in all rows
    Special care should be taken in designing the context for table attribute.
    The attribute type singletone also plays a important role. I have this doubt from the beginning when you have reported this problem for the first time but finally you marked it as solved so i thought there might be some other issues but again when you reported that again i did some analysis.
    Now coming to final solution :
    For designing a table in adobe interactive form you have consider following
    You have to design the view context upto three level, I am explaining you the properties
    PDFDataSource (Parent Level1) - Cardinality 1:1 - Signetone -True - This is assigned to datasource
    TableList (Parent Level2) - Cardinality (1:1) - Signetone -True
    TableWrapper(Parent Level3) - Cardinality (0:n) - Signetone -True
    TableData (Parent Level4) - Cardinality (0:1) - Signetone - false (This is the main point)
    Then under TableData value node, you have to put all your table attributes.
    This Value Node name can be anything but hierarchy should be same as I have mentioned above.
    Please try out these steps and get back to me if you have any doubt.

  • Java Web Dynpro Curriculum

    Hi experts,
    Can anyone provide me Java web dynpro curriculum.
    Regards,
    Muhammad Imtiyaz

    hi
    check the curriulum for java webdynpro
    /people/mark.yolton/blog/2009/02/25/professional-skills-certification--your-golden-ticket-to-project-career-success
    /people/marcel.salein/blog/2008/04/26/sap-education-program-and-a-visual-composer-certification-at-teched14608
    /people/community.user/blog/2006/09/01/web-dynpro-abap--training-is-now-available
    /people/r.eijpe/blog/2008/03/07/sap-interactive-forms--complete-training-curriculum
    http://wiki.sdn.sap.com/wiki/display/EP/Main+Page
    http://wiki.sdn.sap.com/wiki/display/profile/johann+Marty
    Thanks

  • How to consume the Abap web service in Java web-dynpro

    Hi Everyone,
    I want to consume ABAP web service in java web dynpro.
    so when i tried to create model in java web-dynpro, it gave me an error message saying "Invalid WSDL or WSDL not found".
    i think this error message is because, to access the WSDL of abap web-service, we need username and password, but the dialog box in java web-dynpro is not programmed to take username and password from us and send it to the server to get the WSDL.
    i came to this conclusion because i was able to successfully test my abap web-service in java portal. the java portal asked me the username and password to open the WSDL.
    So, please help me to consume the abap web service in java web-dynpro.
    Thanks in advance
    Regards
    Vikas

    Hi Vikas ,
       while creating a model in web-dynpro try to use the "import web service model" option and if you are using local server choose the local server option so that you can get the available web services which are in server, select one among them and continue you process.I think this is the some what easy way .
    If you want use the URL for wsdl better to once test the available service in server and copy that WSDL URL and paste over  WSDL textbox.
    I think this is pretty help ful to you
    Best Regards
    Srikatnh

  • Unable to download file from FileDownload UI Element - Java Web Dynpro

    Hello Experts,
    I am facing a strange issue.Scenario is:
    I created an java web Dynpro application (Please note that it is just a standalone WD app, not integrated in portal) with just one FileUpload UI Element ,one FileDownload UI element and one button (for triggering an action).
    I browse a file (e.g. text,pdf,doc etc.) and click on button. It uploads the file and when I click on download, there are two cases:
         1) Simply click on download does not downloads the file and shows error: "Unable to download <file name> from <server name>.  Unable to open this Internet site. The requested site is either unavailable or cannot be found. Please try again later." Though it is opening the file,showing the content.
         2) I opened that portal URL in a new tab in same session and logged in with a portal user. Now if I click on download link of same WD app opened in different tab of same session, it downloads the file without any error.
    I am using portal 7.0
    Can somebody point what's going wrong with case 1?
    Helpful pointers will be appreciated.
    Thanks,
    Kirtiman

    Hi Sid,
    I did not gave any authentication of WD app as it is anonymous app. There is no parameter set in application properties.
    As I run the app, it is showing the initial screen with UI elemtns and till upload works fine,.It has to be an anonymous app, so cannot ask for credential from user.
    Thanks
    Kirtiman

  • How to use EVS with different data in each row, in a Java Web Dynpro table?

    Hi all,
    I am using EVS in a column of java web dynpro table.
    Let's say the name, and context attribute, of this column is column1.
    It's filled dynamically using an RFC, that uses as input parameter the value of another column, and related context attribute, from the same table (Let's call it column2).  Obviously, from the same row. So, in other words: the values of the EVS in column1 of row1, are dependent of the value of column2 of row1. And the values of the EVS in column1 of row2, are dependent of the value of column2 of row2. And so on... Hope i could explain myself ok.
    The code I'm using works great for filling the EVS dynamically:
    IWDAttributeInfo attrInfo = wdContext.nodeDetail().getNodeInfo().getAttribute(nodeElement.COLUMN1);
    ISimpleTypeModifiable siType = attrInfo.getModifiableSimpleType();
    IModifiableSimpleValueSet<String> value = siType.getSVServices().getModifiableSimpleValueSet();
    value.clear();
    if(this.initRFC_Input(nodeElement.getColumn2())){
         for (int i = 0; i < wdContext.nodeRFCresult().size(); i++){
              value.put(wdContext.nodeRFCresult().getRFCresultElementAt(i).getLgort()
                 , wdContext.nodeRFCresult().getRFCresultElementAt(i).getLgobe());
    In this code, nodeElement is the context row of the table that is passed dynamically to the method when the value of colum2 is changed.
    HOWEVER, the problem I'm having is that after executing this code, EACH NEW ROW that is added to the table has by default the same values as the first row, in the column1 EVS. And, for example, if I refresh the values of the column1 EVS in row 2, all EVS values in the other rows are also refreshed with the same values as the ones of EVS in row 2.
    How can I make sure each row EVS has its own set of independent values, so they don't mess with each other?
    Hope you guys can help me. And please, let me know if I didn't explain myself correctly!
    Thanks!

    I just did as you said (I think), but it's still having the same behaviour as before (same data for all EVS in the table).
    Here´s what I did:
    I
    In node "Detail" (cardinality 0...n, singleton set to true), which is binded to the table, I created a child node named "Column1Values" wth cardinality 1...1 and singleton set to false.
    "Column1Values" node has an attribute called "column1", of type String.
    I did the binding between attribute "column1" and the column1 inputfield celleditor in the table.
    I created an event called Column2Changed and binded it to the column2 celleditor of the table. I added a parameter called nodeElement of type IPrivateCompView.IDetailElement to this event, and mapped it to the column2 editor in the table so that I can dynamically get the nodeElement that is being affected.
    I added the following code to the onActionColumn2Changed(wdEvent, nodeElement) method that gets created in the view:
    IWDAttributeInfo attrInfo = nodeElement.nodeColumn1Values().getNodeInfo().getAttribute("column1");
    ISimpleTypeModifiable siType = attrInfo.getModifiableSimpleType();
    IModifiableSimpleValueSet<String> value = siType.getSVServices().getModifiableSimpleValueSet();
    if(this.initRFC_Input(nodeElement.getColumn2())){
         for(int i =0; i < wdContext.nodeRFCresults().size(); i++){
              value.put(wdContext.nodeRFCresults().getRFCresultsElementAt(i).getId(),
                                  wdContext.nodeRFCresults().getRFCresultsElementAt(i).getDesc());
    And with this, I still get the original problem... When the EVS of one row is updated, ALL other EVS of the table get also updated with the same values.
    What am I missing? Sorry Govardan, I bet I'm not seeing something really obvious... hopefully you can point me in the right direction.
    Thanks!

  • Convert JAVA Web Dynpro to ABAP Web Dynpro application

    Hi,
    I was hoping someone could tell me if there is a way to port a JAVA Web Dynpro application to ABAP Web Dynpro. We have some JAVA WD apps that would now make more sense to have running on our ABAP system so we would like to convert them to ABAP WD apps.
    I know the theory is that WD is metadata/XML based so it should be possible to port the WD definition to ABAP and have the ABAP runtime generate the application again in ABAP. I expect that any custom code that is written in JAVA would need to be manually rewritten in ABAP - but it would be great if there was tool or method to at least port the majority of the application.
    Thanks in advance for your help,
    Simon

    Hi Simon
    You are correct in thinking that all WD apps are based on metadata, but unfortunately, the similarity between WD Java and WD ABAP is just a conceptual one, and no such tool exists to convert one to the other.
    In addition to this, there are certain implementation differences between ABAP and Java that mean you could not convert one to the other.  For instance, the whole concept of model objects does not exist in WD ABAP. Therefore, structural entities used in WD Java such as model components could not be tranlsated into anything that exists in ABAP, because the concept is redundant in the target language.
    Sorry about that, but Java and ABAP are sufficiently different beasts that such a tool is not possible.
    Regards
    Chris W

  • Append Data from Java Web Dynpro to an Internal Table in ECC

    Hi,
    Currently I am using AdaptiveRFCModels to creating/updating records from Java Web Dynbpro to FM in R/3. Users can add few records before they save the changes. The current design is Java Web Dynpro call RFC FM when user add/edit one record. The record will store in an global internal table in the Function Group. For example, I have added 3 records before I save the changes. It means that global internal table should have 3 records that I added before I save it. But in fact, the global internal table only store one record while I adding the third record. The global internal table not able to keep the previous records. The code below is how I code to execute the FM from Java Webdynpro. Is the code can work as I expected? Anything missing in the codes? Please advice. Thanks.
    wdContext.nodeZhr_abc_Input().bind((Zhr_abc_Input) model.createModelObject(Zhr_abc_Input.class));
    Zhr_abc_Input objReq = new Zhr_abc_Input();
    Zhr_Pad31 insUpdVer = new Zhr_Pad31();
    insUpdVer.setQ_Id(wdContext.currentContextElement().getQ_Id());
    insUpdVer.setZ_ce(wdContext.currentZhr_Detail_OutputElement().getZ_ce());
    objReq.addLt_Pad88(insUpdVer);
    wdContext.nodeZhr_abc_Input().bind(objReq);
    wdContext.currentZhr_abc_InputElement().modelObject().execute();

    According to your code you are setting only one record.
    You have to create 3 elements for each record and add all the three to the nodeZhr_abc_Input node.
    If I understand correctly, node currentZhr_Detail_Output is the one which is containing all the three records. Loop through this node, pick each record and set to the input node.
    wdContext.nodeZhr_abc_Input().bind((Zhr_abc_Input) model.createModelObject(Zhr_abc_Input.class));
    for(int i=0;i<wdContext.nodeZhr_Detail_Output().size();i++)
    Zhr_abc_Input objReq = new Zhr_abc_Input();
    Zhr_Pad31 insUpdVer = new Zhr_Pad31();
    insUpdVer.setQ_Id(wdContext.currentContextElement().getQ_Id());
    insUpdVer.setZ_ce(wdContext.nodeZhr_Detail_Output().getElementAt(i).getZ_ce());
    objReq.addLt_Pad88(insUpdVer);
    wdContext.nodeZhr_abc_Input().addElement(objReq); // Changed from bind to addElement
    }//for end
    wdContext.currentZhr_abc_InputElement().modelObject().execute();
    Note: I just typed the code. Syntax might be wrong here and there. Please correct it while coding.
    Regards,
    Jaya.

  • ESS Business Package for ERP 6.0 is a ABAP or JAVA Web Dynpro

    Hi,
    We are trying to implement ERP 6.0 and ESS with the Portal.
    Is the ESS business package a ABAP or JAVA Web Dynpro????
    Thanks.
    Regards,
    Mike

    Hi Mike,
    ESS BP is a portal content (runs only on portal runtime) which can only be deployed and run on SAP J2EE server (So it is java based).
    http://help.sap.com/saphelp_erp2005/helpdata/en/f6/263359f8c14ef98384ae7a2becd156/frameset.htm
    From EHP2 for ECC 6.0, you have an option choose ABAP WebDynpro for Travel related services. However, the portal content (iViews) is still on SAP J2EE server.
    Thanks
    karthik

  • ABAP Web Dynpro V/S JAVA Web Dynpro

    We need to pick developing technology between ABAP Web Dynpro v/s JAVA Web Dynpro. Is technology better than other in terms of security, scalability? There is lot of documentation on the web but it is very old and out dated. I am pretty sure things have changed quite a bit with recent versions of SAP. Any feedback is greatly appreciated.
    Thanks.
    PS: I Used Web Dynpro for ABAP at my previous client for SAP SRM without a problem.

    Dear Sap Fan      
    This has been a long and interesting debate on SDN.
    You will find plenty of posts discussing this matter.
    But there's no clear winner, I warn you.
    ;o)
    This one in particular is very good:
    [http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/e0e4940c-035c-2b10-0b9d-eb8f99674f4e]
    But you can also check these others:
    [webdynpro java or abap;
    [Webdynpro Java or ABAP;
    [Webdynpro Java or ABAP;
    [Webdynpro Java or Abap ?;
    More and more you see clients migrating from WD4J to WD4A.
    Guess SAP is also heading into that direction, perhaps because Oracle bought SUN sometime ago.
    I'm comfortable on both environments I have to say.
    I have more than 10 years with development.
    I know ABAP from inside out.
    I also know JAVA and I'm certified with this technology.
    But I personally prefer WD4A.
    Why ?
    Because you don't need to use NWDI.
    Because you don't need to configure JCO's.
    Because you integrate seamlessly the development with the transport framework (requests, etc..)
    Because debugging is great.
    Because plenty of traditional ABAP tools (trace, logs, performance analysers, etc..) can also be used with WD4A
    Because you don't need to worry with NWDS...just type SE80 and you're there... ;o)
    And I could go on and on....
    But then again, it all depends:
    Do you have a lot of good in-house JAVA knowledge ?
    Do you use a lof of Custom JAVA development in your company ?
    Are you planning to use standard SAP (ESS/MSS or others for example) ?
    I'm not saying that WD4A is "better" than WD4J.
    There's no such thing.
    Each option has its pros and cons.
    You also can't tell that WD4J is more secure or scalable than WD4A. Or the opposite.
    And, believe me, WD4J is still going strong with a lot of customers.
    But things are changing, and for me WD4A would make more sense if you want to be aligned with SAP.
    Now and in the future.
    Kind Regards
    /Ricardo Quintas

Maybe you are looking for