PDF generation from Webdynpro for java application

Hi all,
I have a scenario in which a PDF has to be generated from the datils present in a table in the same view, on click of a button. I have found many solutions for generating interactive forms but I need to generate it from the code directly. I have also found an application for generating an excel sheet from the table  data but it is not working with PDF.
So anybody suggest me how to do it or please refer any applications that have been done.
Thanks in advance.

Hi marco,
Sorry for the late reply.
I have got an application to generate an excel file and i will paste that code here for your reference.
    byte[] excelXMLFile;
    IWDCachedWebResource cachedExcelResource = null;
    String fileName = dataNode.getNodeInfo().getName() + ".xls";
    try {
      // create Excel 2003 XML data as a byte array for the given context node, attributes and headers       
      excelXMLFile = this.toExcel(dataNode, columnInfos).getBytes("UTF-8");
      // create a cached Web Dynpro XLS Resource for the given byte array and filename
      cachedExcelResource = this.getCachedWebResource(excelXMLFile, fileName, WDWebResourceType.XLS);
      // Store URL and filename of cached excel resource in context.
      if (cachedExcelResource != null) {
        wdContext.currentContextElement().setExcelFileURL(cachedExcelResource.getURL());
        wdContext.currentContextElement().setExcelFileName(cachedExcelResource.getResourceName());
        // Open popup window with a link to the cached excel file web resource.
        this.openExcelLinkPopup();
      } else {
        wdComponentAPI.getMessageManager().reportException("Failed to create Excel file from table!", true);
    } catch (UnsupportedEncodingException e) {
      wdComponentAPI.getMessageManager().reportException(e.getLocalizedMessage(), true);
    } catch (WDURLException e) {
      wdComponentAPI.getMessageManager().reportException(e.getLocalizedMessage(), true);
In the above code "excelXMLFile" is a byte array in which the data that has to be appended to the pdf (in xml format) is present.
the toExcel method is used to convert the data in the table(i.e., the data that gets populated in the nodes of the view) in to XML format.
My Problem is when i change the filename to .pdf extension and the WDWebResourceType.XLS to WDWebResourceType.PDF and execute the application the Acrobat reader is getting opened but it says
"unsupported file type or the file has been damaged" .
I mean i am unable to put data into the file.
So, please help me in this regard.

Similar Messages

  • How to access(connect) BI Data in webdynpro for java applications

    Hi ,
    is there any way to access and display the BI data in portal using webdynpro for java applications like we did in Visual composer.
    if not how to integrate the BI data in webdynpro applications ?
    Regards,
    Govindu

    Hi,
    Yes there are ways to do it. But may your scenario and the scenario for which I have done may differ.
    You can use openhub to get the data in a flat file and then read it into weddynpro through a java service OR
    You can use DBlink(which i have done).
    Please refer the link below:
    [Link|Data from BW to Oracle.;
    This I have done in NW04s. Not sure whether a better solution is available in the newer release.
    Hope it helps.
    Regards,
    Manoj

  • How to use BAPI in webdynpro for java application

    Hi all,
    Please help in getting started with calling a BAPI in a webdynpro for java application. I have got only the content needed to call a BAPI in a webdynpro for abap application but not in java. Kindly provide me some documents if possible.
    Thanks in advance

    Hi ,
    U have Created One Bapi u want to work with web Dyn pro for java Application Right .
    U need the Following
    1) NWDS (Netweaver Devloper Studio )
    2) jdk1.4 or Above installed in your system .
    After Installation of NWDS .
    1) Just Take J2EE Enginee Details
      a) Go to Window -> preferences  -> J2ee Enginee - > give ur port number , Host name Details . and click finsh .
    Go To Web Dyn Pro Perspective Click onj2EE engine .
    Click On Refresh U will see Green Colour button .
    Now ur Ready to import Ur BAPI .
    1) Go to File -> New -> Project - > Web Dyn pro Project -.
    Give Name , pkg Name Click On Finish .
    2) Expand ur project hirarchy -> go TO Application -> Right Click -> Create Application - > Give Application name and Pkg name -> Click on Finish .
    3) Now ur View And Controller Are Created by Default .
    4) Go to Model-> Right Click on it-> Create Model -> Give Model Name & Pkg name Should diff from Application pkg the Click On Next
    a) Here u have to Two JCo Destination Name Like Model Data And Meta data & R/3 System Details like System Number , Host name  Etc -> then Click on next .
    b) Here u will text filed where u want to search for ur Required BAPI . Type ur BAPI Name Click on Search . Ur bapi will be displyed In Down . click on Next .
    c) Now Ur model is Importedint into NWDS .Map ur model data To Controller and Controller Element to View Elements .
    After ur Model .
    Go to -> Project Name -> Right Click -> go to -> Deploy New Archive .
    after wards u have to go Apllication -> Right click -> deploy and Run .
    ur output will be displyed thru Browser .
    Thats it
    Regards ,
    venkat

  • Problem in connecting to database from webdynpro for java

    Hi
    I have a problem in connecting to database from webdynpro application
    I am using oracle 10 express edition as database and was able to connect to database from a java application.But  was unable to connect from a webdynpro for java.
    <b>I guess webdynpro for java uses open sql instead of vendor sql(I looked in the visual admin ,DB is using open sql) so unable to connect to database.Am i right.?</b>
    Do i need to make any settings in the visual admin to make it work?
    How to solve this problem.Please give me pointers
    Thanks
    Bala

    Hi,
    For connecting to Oracle, either you can use the normal JDBC connectivty code directly which is given below :
    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
    Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@Oracle_server_ip:Oracle port:SID of the Database","user_name","password");
    Statement stmt = conn.createStatement();
    ResultSet rs = stmt.executeQuery("your query");
    In case you want to fetch data through ejbs, these are the steps to be followed :
    1) Open the J2EE perspective
    2) Create an EJB Module project
    3) Right click on ejbModule, create a new EJB (select your EJB type)
    4) While creating the ejb itself, you can add business methods by clicking ‘Next’ in the UI. Another option is after creating the ejb, write the method in the bean, then select the method from ejb-jar.xml -> <bean name> ->method. Right click and select ‘propogate to local & remote’.
    5) Double click on ejb-j2ee-engine.xml. select your bean and specify a Jndi name for eg: “MyJndi”.
    6) Right click on the EJB project and add ‘classes12.zip’ file (provided by Oracle) to it’s build path. (under libraries tab). Also check the same file under ‘Order & Export’.
    7) Create an Enterprise Application project.
    8) Right click on the EJB module project and select add to EAR project, then select the created EAR project.
    9) Right click on the EJB project, select ‘Build EJB Archive’
    10) Right click on the EAR project, select ‘Build Application Archive’
    11) Open the WebDynpro perspective, open a new project, right click on the project ->properties. Do the following configurations :-
    • Java Build path - select the EJB project from ‘projects’ , check the selected project under ‘Order & Export’
    • Project references – select the EAR project
    • WebDynpro references – select ‘sharing references’ tab, click add & make an entry as : <vendor>/<EAR project name without .ear extension>
    You can find the vendor name under ‘application-j2ee-engine.xml’ file of the EAR project. By default it is ‘sap.com’. So if my EAR project’s name is ABC, my entry would look like ‘sap.com/ABC’
    12) Now the configurations are over and the EJB can be invoked by writing the client code inside the webdynpro component. Like:
    InitialContext context = new InitialContext();
    Object obj = context.lookup("MyJndi");
    MyEJBHome home = MyEJBHome)PortableRemoteObject.narrow(obj,MyEJBHome.class);
    MyEJB mybean = home.create();
    int a = 0;
    a= mybean.add(10,15);
    wdContext.currentContextElement().setSum(a);
    where ‘MyEJB’ is my EJB name and ‘MyJndi’ is my JNDI name
    To connect to Oracle , you can write the usual Java code (given below) as a business methos of the ejb (similar to add() method in the example). And access it like mybean.<businessMethodName>().
    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
    Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@Oracle_server_ip:Oracle port:SID of the Database","user_name","password");
    Statement stmt = conn.createStatement();
    ResultSet rs = stmt.executeQuery("your query");
    Extracted from Re: Webdynpro and Oracle
    http://help.sap.com/saphelp_webas630/helpdata/en/b0/6e62f30cbe9e44977c78dbdc7a6b27/frameset.htm
    May be of use to understand the VA Conf /people/varadharajan.krishnasamy/blog/2007/02/27/configuring-jdbc-connector-service-to-perform-database-lookups
    Regards
    Ayyapparaj

  • How to convert .ear file of webdynpro for java application to webdynpro pro

    Hi All,
    I have a .ear file which belongs one web dynpro for java application.
    I do have other information about the same.
    I need to convert it into a web dynpro project and use it in NWDS to make changes.
    How can I do it? I could not find any solution on SDN.. I hope I get here...
    Thanks and Regards,
    Aditya Deshapnde
    Edited by: Aditya Deshpande on Nov 23, 2010 1:55 PM

    Hi Friend,
    This is almost not possible even if you have Java Decompiler -- WD has a lot compile(design)-time only artifacts that are not exist in generated EAR.
    Hope this is help full for u.
    Regards
    Vijay Kalluri

  • SSO-Logon from mobile device - create logon ticket from WebDynpro for Java

    Hi Experts,
    I'm developing WebDynpro-JAVA application for some warehouse stuff  (runs on a portal system, clients are mobile barcode-scanners with Windows mobile 5.0). JCOs from the portal system to the R/3-backend are confirgured for SSO with Logon-tickets and portal uses LDAP for authentication against a Windows-ADS.
    This works so far ... but my problem is the standard Logon-screen, which is nearly unusable on the mobile device (screen size, layout, etc.). Is there any solution to create logon-tickets directly from the WebDynpro application (using something from com.sap.engine.interfaces.security.auth or similar ?) or any chance to have a special logon screen for mobile devices (parameter sap-wd-client=Pie03Client is ignored for the logon screen).
    Thanks in advance.
    regards,
    Hendrik

    Hi Henrik,
    Did you find the solution to your problem ?
    I'm facing the same issue, so I'd be pleased to know the solution!
    Regards
    Stekam

  • Firefox browser compatibility issues webdynpro for java application

    Hi,
    we have migrated SAP net weaver SP 21 and also to IE8 and Firefox. we have compatibility issues in Firefox like input fields, labels and command buttons are not properly aligned when comparing with IE 8.
    Could you please give suggestions to fix this problems.
    Thanks.
    Parthiban

    Hi Parthiban,
    Please check the SAP NetWeaver 7.0 Product Availability Matrix (PAM) in the Service Market Place http://service.sap.com/pam.
    [Check here |http://saplab.org/wp-content/SAP-NetWeaver-7.0-PAM.pdf]and verify you firefox browser versions compatibie for webdynpro
    Hope it will helps
    Regards
    Arun Jaiswal

  • Calling XI's SOAP Adapter from Webdynpro for java

    Hello every one,
    I have implemented a webservice scenario which involves soap message exchange,,I have checked the configuration from configuration tool -- it seems fine there -- than we had a check run from XML spy, using the WSDL generated by XI,,, that went through as well,, but now when I am trying to call the webservice through webservice adaptive model in NWDS, it returns :
    <!--  Receiver Identification
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Category>XIServer</SAP:Category>
      <SAP:Code area="RCVR_DETERMINATION">NO_RECEIVER_CASE_BE</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>No receiver could be determined</SAP:Stack>
      <SAP:Retry>N</SAP:Retry>
      </SAP:Error>
    this is the response message generated and viewed in SXMB_MONI
    Now I cannot understand why its prompting error from application and not XML Spy,,
    I am using following url to send msg to XI's SOAP sender adapter:
    http://pep:8000/sap/xi/engine?type=entry&version=3.0&Sender.Service=BS_PROTOTYPE_WS_OUT&Interface=urn%3Apso%3Aws%3Abank%5ECC_CHK_ACC_SENDER&sap-user=<myuser>&sap-password=<myPwd>&sap-client=001&sap-language=EN
    any help would be highly appreciative..
    thanks

    Dear Nicholas,
    When portal server is installed, it assigns a specific port for running the portal. Normally the port is 500XX when xx is your instance number. There seems to be some problem in your case.
    Please carry out following steps to see/resolve the issue:
    1. Open the visual administrator
    2. Navigate to  Dispatcher -> Services -> HTTP Provider
    This HTTP Provider specifies the ports used by portal.
    You change the ports to something like : (Port:80,Type:http)(Port:443,Type:ssl)
    Save your settings and now open the browser and open the portal like http://<host>/irj/portal (because 80 is default port). If you specify some other port you need to enter like http://<host>:<port>/irj/portal
    This should resolve your issue:
    Enjoy
    Best Regards,
    Ravi

  • How to start to work on MDM JAVA API by using webdynpro for java

    Hi all
    I have basic idea on MDM business package thru portal by using standard iViews.
    now i am planning to work on MDM JAVA APIs by using Webdynpro for Java as UI.
    1) can you please share the required documents on the same. how to start working on this by using MDM JAVA APIs in webdynpro for java
    2) what are the JARs files are required and how to integrate those jar files into webdynpro for java application.
    3)  is there any SDN help on MDM JAVA API with webdynpro for java? . can you please send the link on the same.
    4) can you please help by providing sample code on how to use JAVA APIs for retrieving,deleting,inserting and Updating the data in the database.
    if anybody helps on the same then it is the great help to me.
    points are always rewardable...
    Regards
    Suresh babu

    Hi Suresh,
    You can have the MDM JAVA API javadocs from the link
    http://help.sap.com/javadocs/MDM/SP06P2/index.html
    There you can see a package named com.sap.mdm.examples.The classes in it contains some examples using which you can start understanding the code.
    You need to have MDM JAR files for it. And these JAR files to be used at build time can be added to the project thru :-
    Right click on project-> properties->Java Build Path - > Add external JARs
    At run time you can add them the reference in
    Right click on project-> properties->web dynpro references->library reference.
    Thanks
    Namrata

  • How to invoke Workflow and UWL through Webdynpro for Java

    Hi,
    In my Development Component there are three applications .The requirement is that the data will flow between one application to another only through workflow in
    UWL.
    Can anybody help me out as to how to invoke workflow programatically from Webdynpro for Java .
    After data goes from one application to workflow UWL, how the second application will work on it . If possible please send me the links of some tutorials .
    I searched in Webdynpro Tutorials site but there are no tutorials available there .
    Thanks a lot .

    Hi,
    Check the following Threads,U will get lot of details......
    WebDynpro application that can work with SAP workflow work items?
    /thread/142477 [original link is broken]
    Configuring UWL with WebDynpro
    /people/niharika.jeena/blog/2006/06/06/launching-webdynpro-from-universal-worklist
    Sample Application,
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/xi/how%20to%20configure%20the%20universal%20worklist.pdf

  • Webdynpro for Java Edit and Save.

    Dear all,
    ter cal
    iam working on webdynpro for java i want simple code for EDIT and SAVE  after calling a rfc in for using NWDS webdynpro for java.
    1)HOW TO SAVE AND EDIT THE FRONT WEBDYNPRO FOR JAVA APPLICATION
    2)AFTER SAVING AND THE DATA THAT SHOULD BE SAVED IN PA30 ARE PA20 AND IN PARTICULAR TABLE ALSO.
    PLEASE GIVE ME GOOD TIPS.

    Hi Kishore,
    Creating/Updating entries in tables through Bapis (RFC calls) work in the same way as it is done for other Bapis like those for returning values or even structures. All you have to do is
    1. Import the model, create a model node in your context and bind it to the Input structure of the model under used models.
    2.Create an istance of the Model input structure, like
         Z_Test1_Input input = new Z_Test1_Input();
    3. Set attibutes directly under the input structure
         input.setAttr1("XYZ");
    4. Set attributes under any other structure under Input Structure by first creating the instance of the sub-structure
        Z_SubStruct1 subStrc1 = new Z_SubStruct1();
        subStrc1.setSubAttr1("ABC");
    5. Add all available instances of sub-structures to the instance of input structure
        input.set<SubStruct1>(suStrc1);
    6. Add all available instances of tables under Input Structure after setting attributes within using
    for (int iCount = 0; iCount < wdContext.nodeVn_ContactInfo().size(); iCount++) {
          Z_Table1 zTable1 = new Z_Table1();
          IPublic<YourComponent>.IVn_Table1Element tab1Ele = wdContext.nodeVn_Table1().getVn_Table1ElementAt(iCount);
          zTable1.set<TableAttr>(tab1Ele .getVa_Attr1());
          input.add<Table1>(zTable1);
    7. Bind the instance of input structure to the model node.
       wdContext.nodeMn_TestModel().bind(input);
    8. Execute the model object and then invalidate the output structure under model node (Put this code in try catch block)
       wdContext.currentMn_TestModelElement().modelObject().execute();
       wdContext.nodeMn_TestModel().nodeOutput().invalidate();
    9. Retrieve values from the attributes, tables and structures under the Output Node of the Model Node (Mn_TestModel) as usual
    and store wherever in context as required. In case of output tables, you need to use FOR loop to iterate through the tables and access elements within using index (using wdContext.node<YourRequiredNode>().get<YourRequiredNode>ElementAt(int index)).
    Hope it is helpful.

  • Is WebDynpro for Java going away?

    Hi,
    Is SAP planning to completely Switch from Webdynpro for java to webdynpro ABAP? What is the future for Webdynpro for java in that case? Like old ITS technology will SAP completely remove support for WebDynpro for Java development!
    With Regards,
    Nitesh Shelar

    Please refer ht[WD for Java going away??|WD for Java going away??]

  • Retrieve already deployed webdynpro for java source code from portal server

    HI ,
       We have webdynpro for java apllication already deployed on the J2EE server.  We found the ear file related to this application.  But I am not able to make any changes to the ear file in NWDS as it cannot be directly imported into NWDS.  We do not have NWDI for software logistics and the resource who built the WDJ application has left the company.  Is there any way that I can retrieve the complete source code of the application from the portal.  I need to make some changes to Webdynpro component and its view.  I have worked with basis team to retrieve the ear file from portal server.  But I could not make any progress just with the ear file.  Thank you for your help in advance
    Regards,
    KMM.

    You are probably breaking some license agreement by de-compiling the content of the 'war' files. Why not ask the people who provided the 'war' file if you could have the source and build system.

  • What should be done in certmap.conf for 2-way SSL support from a standalone Java application to an SSL enabled LDAP Server

    To support certficate based client authentication using 2-way SSL from a standalone java application which uses JNDI and JSSE1.0.2 to connect to an SSL enabled LDAP Server how do we configure the certmap.conf?Is there any additional setup required at the LDAP Server side apart from enablinf SSL with the option"Required Client Authentication" enabled.The 2 way SSL handshake goes through but the access log file (After configuring the certmap.conf for the issuer DN of the client certficate etc..)shows SSL failed to LDAP DN?But inspite of this access log error the Java client does get an SSL Connection object with which it is able to connect to the LDAP.IS the certmap.conf file being looked up by the LDAP Server at all?

    have you out.flush() and out.close() before you call connection.getInputStream()?

  • Basic TableUI element to Retrieve Data from DB in WEbDynPro For Java

    Hi Experts,
    I am new to WebDynPro for java.Can any body please help me out from this issue.
    I am trying to display records from DataBase by Using Table UI element.
    DBTable Contains 10 rows.
    I have created a Node and Attributes(for every column) .
    I am using JDBC code to retrieve data from database and assigning to Attributes.
    But in Table UIElement its displaying only last record from database as first row in UIElement.
    Its over writing previous rows.
    Can any body please help me the correct procedure to retrieve data from DataBase.
    Thanks and Regards,
    Shashikiran.B

    Hi,
    Iterate through the result set object
    populate the context node
    Ex:Replace the context nodeName with that of yours.
    ResultSet resultSet = stmt.getResultSet();
           //Iterate through the resultset
           while(resultSet.next())
                //Create element of the context node
               IWDNodeElement nodeElement = wdContext.nodeOrders().createElement();
               //assign value from the database to the context attribute
               //Replace attributeName with your attribute name
               //Replace value with resultSet.getShort("<ColumnName>")
               nodeElement.setAttributeValue(attributeName, value);
               //Add the element to your node
               wdContext.nodeOrders().addElement(nodeElement);
    Regards
    Ayyapparaj

Maybe you are looking for

  • My trackpad right click is'nt working?

    This happened suddenly and without my disabling it. I have checked apple/preferemces/trackpad and the secondary box is ticked. Can anyone help?

  • Je souhaiterai brancher ma PS3 sur mon imac que je viens d'acheter aujourd'hui.

    Je viens d'acheter un imac 27 pouces et j'aimerai brancher ma PS3 sur ce bel écran. J'ai relié ma PS3 via mini displayPort to HDMI converter with Audio. Mais je n'y arrive pas. Un coup de main par pitié. Merci d'avance.

  • PC key caps for iMac keyboard

    I am planning to switch from PC to iMac as soon as the 2012 iMac becomes available (whenever that may be). Since I use my current desktop for work and gaming, I plan to run Boot Camp with Windows 7 all the time. I prefer the look and feel of the iMac

  • Syncing issues, syncing issues

    I have imatch, however, since I am going out of the country I turned it off and wanted to sync my playlists manually.  This has been a nightmare.  They won't sync, but when I check my phone it says there are no playlists but there are some songs list

  • Define a Multi Language Roadmpa in Solution Manager

    Hi gurus. How can I define a multi language roadmap in Solution Manager? I'm defining a roadmap using the RMAUTH transaction, but I've just defined the roadmap in English.  I need to have the roadmap in two more languages...   What is the procedure t