cancel
Showing results for 
Search instead for 
Did you mean: 

Adobe Interactive Forms and WebDynpro

Former Member
0 Kudos

Hi everybody!

Anybody know if is posible to create an Adobe Form dynamicly? Can I create fields dependindg of the user input data?

Any example, tutorial or link of Interactive Forms with Webdynpro and connection to SAP with RFC will be good

thanks !!!

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Leslie,

As per i know, This functionality is not available.

You can not create Adobe forms dynamically.

But, you can always do it manually.

Means, You can create XML structure of your pdf template and specify all properties and parameters in this XML. Then, use this XML file as your Template source of extension ".XDP".

This is just work around. If you have to implement anyhow based on your requirement then you can follow this. Its combersome and time taking method.

Regards,

Bhavik

Former Member
0 Kudos

Thanks for the answer! I was very lost about this issue.

Another question: I'm thinking if it is posible to hide fields in the form? like Lotus Notes...It's that posible?

because, my form should work like this:

A manager must to evaluate employees.

the employees have several profiles.

this profiles comes from SAP R/3

the form to evaluate a employee has to include different fields, depends of the profile.

How can I implement it!

Must I create a Form with all the profiles and show only the current employee profiles?(hide the others)

any help will be usefull!!

thanks

Former Member
0 Kudos

Hi Leslie,

I have not tried it but I think you can do what you want.

As you know every form has "FormCalc" where you can do some calculations, validations, and other verifications. Also there are Scripting Properties for each control.

Like for button you can set a property like Button1.presence = "visibility"

Button1.relevant = "print"

Now you have to use both these and acheive what you want. Check the F1 help in the form designer.

Actually I was planning to do this for one of my requirements. But then I found that in my case there were basically only 3 roles for which we need different form actions available at run time. So I decided to create 3 views, have 3 forms inside them and then call the views based on employee roles. That was very easy.

Hope this helps.

Regards,

Shubham

Former Member
0 Kudos

Hi Leslie,

I tried to hide the fields based on some condition using the FormCalc script and was able to do so.

You can do something like this:

1) Select the Object that you want to hide.

2) In the script editor, select

Show = Calculate

Language = FormCalc

Run At = Client

3) Now write this syntax

if ( $record.<SourceNode>.<FieldName> eq "Manager" )

then

Approve.presence = "invisible"

endif

Here Approve is the ID of the approve button in my form.

SourceNode Contains a fieldname. In mycase

SourceNode is "Employee" and FieldName is "Role"

4) Click on the "+" icon just above the script editor.

Save the form and run. This will work.

Let me know if you have any doubts.

Regards,

Shubham

Former Member
0 Kudos

Hi Shubham:

Thanks for the answers, but I can't able to deploy and run!

this are the errors, maybe you know wath happend

Error stacktrace:

com.sap.tc.webdynpro.pdfobject.core.PDFObjectRuntimeException: Service call exception; nested exception is:

java.net.SocketTimeoutException: Read timed out

at com.sap.tc.webdynpro.pdfobject.core.PDFObject.doSoapCall(PDFObject.java:268)

at com.sap.tc.webdynpro.pdfobject.core.PDFObject.createPDF(PDFObject.java:209)

at com.sap.tc.webdynpro.clientserver.adobe.AdobeFormHelper.createPDFDocumentForUIElement(AdobeFormHelper.java:417)

at com.sap.tc.webdynpro.clientserver.uielib.adobe.impl.InteractiveForm.afterHandleActionEvent(InteractiveForm.java:161)

at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.afterHandleActionEvent(ClientApplication.java:1088)

at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.handleActionEvent(WebDynproMainTask.java:393)

at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.execute(WebDynproMainTask.java:640)

at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:59)

at com.sap.tc.webdynpro.clientserver.cal.ClientManager.doProcessing(ClientManager.java:251)

at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doWebDynproProcessing(DispatcherServlet.java:154)

at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:116)

at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doGet(DispatcherServlet.java:48)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:391)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:265)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:345)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:323)

at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:865)

at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:240)

at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)

at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)

at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:37)

at com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java:71)

at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)

at java.security.AccessController.doPrivileged(Native Method)

at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:94)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:162)

Caused by: java.rmi.RemoteException: Service call exception; nested exception is:

java.net.SocketTimeoutException: Read timed out

at com.sap.tc.webdynpro.adsproxy.ConfigBindingStub.rpData(ConfigBindingStub.java:85)

at com.sap.tc.webdynpro.adsproxy.ConfigBindingStub.rpData(ConfigBindingStub.java:95)

at com.sap.tc.webdynpro.pdfobject.core.PDFObject.doSoapCall(PDFObject.java:265)

... 27 more

Caused by: java.net.SocketTimeoutException: Read timed out

at java.net.SocketInputStream.socketRead0(Native Method)

at java.net.SocketInputStream.read(SocketInputStream.java:129)

at java.io.BufferedInputStream.fill(BufferedInputStream.java:183)

at java.io.BufferedInputStream.read(BufferedInputStream.java:201)

at com.sap.engine.services.webservices.jaxm.soap.HTTPSocket.readLine(HTTPSocket.java:636)

at com.sap.engine.services.webservices.jaxm.soap.HTTPSocket.getInputStream(HTTPSocket.java:323)

at com.sap.engine.services.webservices.jaxm.soap.HTTPSocket.getResponseCode(HTTPSocket.java:225)

at com.sap.engine.services.webservices.jaxrpc.wsdl2java.soapbinding.HTTPTransport.getResponseCode(HTTPTransport.java:346)

at com.sap.engine.services.webservices.jaxrpc.wsdl2java.soapbinding.MimeHttpBinding.outputMessage(MimeHttpBinding.java:458)

at com.sap.engine.services.webservices.jaxrpc.wsdl2java.soapbinding.MimeHttpBinding.call(MimeHttpBinding.java:1159)

at com.sap.tc.webdynpro.adsproxy.ConfigBindingStub.rpData(ConfigBindingStub.java:78)

... 29 more

Former Member
0 Kudos

Hi Leslie,

This can be due to lot of reasons.

I advice you to first try running a standard tutorial avaialble on SDN Downloads.

If that also is not running, please have a look at the following SAP Notes:

826419 Setting socket timeout for WS Clients in SP10 and SP11

849851 Importing a Web Dynpro patch for Support Package 12

867502 Read Timeout using AdobeDocumentService in Web Dynpro

Whats the version of your NWDS, WAS and ADS.

If its SP12, you need to install a patch as per note 849851 and then set the ADSCallingMode as per note 867502.

Let me know if you still got this problem.

Regards,

Shubham

Former Member
0 Kudos

Hi again!

It was a problem about the ADS, the server was updated with the components and now I don't get errors!! (good)

But ..... now I get: "Preliminary, Draft not for production Use". I was reading about this issue and I think is due to the license, we need to develop Adobe Interactive Forms?

It displays the fields, and Sap Submit buttons, but when I clicked on it(SAP submit), the action not go on.

It 's all about the license?

thanks about the others tips, they help me a lot!!

regards,

Leslie

Former Member
0 Kudos

Hi Leslie,

Because of liscense you will get that text on Adobe form. But, you can still capture your submit events on your form.

Check following things:

1. Have you specified action for Submit event for your Interectiveform UI element?

2. Have you installed Active component framework on your client machine?

3. What is the version of your Acrobat reader?

Regards,

Bhavik

Former Member
0 Kudos

Hi Leslie,

The watermark "Preliminary, Draft not for production Use" is being displayed since you are using the credential file supplied from SneakPreview. If you order a file from SAP according to note 736902 you will not see this watermark.

You need a license for Adobe Interactive Forms in Production Environment. I think you have to get a license for the number of interactive forms you can use in production. But this does not restrict you in designing the Print/Interactive Forms in development.

Read this thread for more details

And for the Submit button, do as suggested by Bhavik.

Regards,

Shubham

Former Member
0 Kudos

Hi Bhavik,

How can I be sure if I have installed ACF? if it wasn't in my machine, where I can get it? can I download from anywhere?

regards,

Leslie

Former Member
0 Kudos

ahhh,

my Acrobat Reader version is 6.0.2

I had to unistall version 7.0

Leslie

markus_meisl
Active Contributor
0 Kudos

Hi Leslie,

for the ACF check SAP Notes 766191 and 846952.

You should probably

- Read the complete Installation and Configuration Guides for Interactive Forms first.

- Check the documentation on the SAP Help Portal in the Reference Manual at http://help.sap.com/saphelp_nw04/helpdata/en/19/00ce93b41940479aa32e81de3cda9a/frameset.htm under UI Reference Guide -> Adobe Library.

- Go to http://sdn.sap.com/sdn/adobeforms.sdn in SDN and go through the Web Dynpro tutorials to familiarize yourself with the solution.

Regards,

Markus Meisl

SAP NetWeaver Product Management

Former Member
0 Kudos

Hi Leslie,

You can download ACF from service market place http://service.sap.com/

Acrobat reader 6.0.2 is enough version. But, if you have 7.0 then install it.

Regards,

Bhavik

Former Member
0 Kudos

Hi Leslie,

Just one more thing.

Please check the SAP Note No 848539.

So if you are on SP12 or higher version its advisable to install the Adobe Designer 7.0.

If you have Adobe Designer 7.0, you should install Acrobat Reader 7.x otherwise while displaying the form it will always prompt you that your Acrobat version is lower.

Regards,

Shubham

Former Member
0 Kudos

Hi again,

I installed ACF the file xACF_NW04_SP13.zip in my machinne. I downloaded it from SAP note 766191, , I have SAP NetWeaver Developer Studio Version: 2.0.11, is that the ACF correct?. My Adobe Reader is 6.0.2. In the server, ADS was installed and configurated; the Authentication Method was Basic Authentication, is that enought? I don't know where is the problem? the form is displayed ok, but the submit and listboxes don't work yet. Any idea? every idea could take me to the solution.

Thanks beforehand!

regards,

Leslie

markus_meisl
Active Contributor
0 Kudos

Hi Leslie,

the ACF should be compatible with lower SP levels of the Dev Studio.

It is recommended to have the Dev Studio and the Java Engine on the same SP level. Is that the case?

Definitely install Reader 7.0 from the Adobe website.

Regards,

Markus

Former Member
0 Kudos

Hi everybody!!

The problem was resolved in this way: we change the date of my machine (one month before) and it works ok!!! I think there is a problem with the licenses. Thanks to everybody who wants to help

regards,

Leslie

Answers (1)

Answers (1)

former_member335005
Participant
0 Kudos

Hi Leslie,

Follow this tutorial to connect Webdynpro to SAP with RFC. This will prepare the view context that you can bind as a dataSource to the interactiveForm.

http://help.sap.com/saphelp_nw04/helpdata/en/c3/76b45d9688e04abe1a1070410ddc1e/content.htm

Create an attribute pdfSource should have the datatype as binary. Bind it to the pdfSource property of the interactiveForm.

Click Edit from the context menu of Interactive Form.

You can see the context attributes in the data view of the AdobeForm Designer. Drag and drop them to create Form Elements in the form.

In case you want a table in the interactive form, follow these steps:

a. Drag and Drop Subform from the Standard Library.

b. Make its type to flow content and flow direction to Table in object property.

c. Insert another subform in above sub form and makes its type to flow content and flow direction to Table row.

d. In binding tab for this subform check the checkbox for "Repeat subform for each Data Item" and in min count you can specify at a time how much rows you want to display.

e. Now place your UI Elements for Data view into this sub form

f. Format these UI elements as you required. Set the default binding in the object properties.

Hope this helps.

Regards,

Sangeeta