cancel
Showing results for 
Search instead for 
Did you mean: 

How to make the text_field to editable in the adobe document?

Former Member
0 Kudos

Hi, expert,

I meet a problem when I develop a WDA. I hope to get your help. Thanks a lot. The following is my action:

Action:

1. I am using "Text Field" control rather "Text" Control in the pfd form by transfer code "sfp". I make sure in Object Palette under value tab type is : user entered - optional in the layout tab in the pfd form. The textfield is editable in the PDF preview.

2. Add the pdf forms to webdynpro application and set "sss" to the inputfield("Text Field") through context in the WDA.

3. Run the WDA. In the IE, I found the textfield in the PDF is not editable. How can I make the textfield to editable?

Whether I need change the code or others to make text_field to editable?

Do you give me some hints? Thank you very much.

The following is my code in the WDA:

method WDDOMODIFYVIEW .

********Make INTERACTIVE_FORM to editable。******

data:

lr_interactive_form type ref to cl_wd_interactive_form,

lr_method_handler type ref to if_wd_iactive_form_method_hndl.

lr_interactive_form ?= view->get_element( 'INTERACTIVE_FORM' ).

lr_method_handler ?= lr_interactive_form->_method_handler.

lr_method_handler->set_legacy_editing_enabled( abap_true ).

**************************************************

data:

Node_Zz_00_Test_Form_000 type ref to If_Wd_Context_Node,

Elem_Zz_00_Test_Form_000 type ref to If_Wd_Context_Element,

Stru_Zz_00_Test_Form_000 type Wd_This->Element_Zz_00_Test_Form_000 ,

Item_TEST1 like Stru_Zz_00_Test_Form_000-TEST1.

  • navigate from <CONTEXT> to <ZZ_00_TEST_FORM_000> via lead selection

Node_Zz_00_Test_Form_000 = wd_Context->get_Child_Node( Name = wd_This->wdctx_Zz_00_Test_Form_000 ).

  • get element via lead selection

Elem_Zz_00_Test_Form_000 = Node_Zz_00_Test_Form_000->get_Element( ).

  • get single attribute

Elem_Zz_00_Test_Form_000->set_Attribute(

exporting

Name = `TEST1`

Value = 'sss' ).

endmethod.

Best regards,

tao

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi!

As far as I know you need a Java Stack in order to use Interactive Forms within WDA; which is not needed when you only use "Non-interactive" Forms.

What about your coding? Did you debug it? Is the set_attribute successful?

Do you have such a java stack?

Regards,

Volker

Former Member
0 Kudos

Hi, Volker,

I use the Webdynpro for ABAP to develop the WDA through transfer code "se80". I don't use java Stack.

My code is in the WDDOMODIFYVIEW method. Other method code is default. I create a INTERACTIVEFORM controller in the layout of view(test_008) in the WDA. In the INTERACTIVEFORM, TemplateSource is :ZZ_00_TEST_FORM_000(My adobe form name is ZZ_00_TEST_FORM_000). dataSource is :TEST_008.ZZ_00_TEST_FORM_000. I debug the WDDOMODIFYVIEW method code, but I don't find any error(the WDA can be run.). I don't know how to code for java Stack. Do you give me some hints for solve for this problem again? Thanks a lot.

developed environment:

win2003 server

adobe reader 8.1.0

JDK1.4.2

Best regards,

tao

Former Member
0 Kudos

Hi!

You misunderstood me. You do not need to code in Java. The Adobe Software needs its runtime (the so-called Adobe Document Service or ADS) running on a java stack in order to process interactive forms in WDJ and WDA applications.

In the debugger you should have a look at object ZZ_00_TEST_FORM_000 after you have set the attribute. Is the attribute set successfully in the context?

Regards,

Volker

Former Member
0 Kudos

Hi, Volker,

Thanks a lot for your help.

I can see the "sss" in the textfield in the adboe document in the web page after I run the WDA. But the textfield is not editable still. The pdf document doesn't allow me to change the word. I don't understand what mean "Is the attribute set successfully in the context?". I can run the WDA and I can find the "sss" in the textfield. Whether I need change context in the WDA OR FORM through the transfer code "sfp"? How would I change them?

Thanks again for your help.

Best regards,

tao

Former Member
0 Kudos

Hi, Volker,

Thanks a lot for your help.

In the context of the WDA, I am sure the "test1" context is not readonly.

In the INTERACTIVEFORM layout of the WDA, I am sure the "readonly" attribute is not selected.

I really don't know how to change for editable. Thanks for your hints. Thanks again.

Best regards,

tao

Former Member
0 Kudos

Hi!

Fine. The set_attribute seems to work successfully. Like already mentioned: if you want to use Interactive Forms and not just "display-only" PDF documents then you need a java stack where the Adobe Document Service (ADS) is running. Interactive Forms are handled through this Java Service.

For more information have a look at the following links:

http://help.sap.com/saphelp_nw2004s/helpdata/de/2c/241a427ff6db2ce10000000a1550b0/content.htm

http://help.sap.com/saphelp_nw2004s/helpdata/de/75/508041a17e060de10000000a1550b0/content.htm

http://help.sap.com/saphelp_nw2004s/helpdata/de/37/504b8cbc2848a494facfdc09a359b1/frameset.htm

Hope this will help.

Regards,

Volker

Former Member
0 Kudos

Hi!

One additional tip: Have a look at SAP WDA demo application WDR_TEST_ADOBE. When you click on button "...PDF File (ActiveX) a PDF form comes up where you can type in something e.g. in field Comments

Have you set displayType to ActiveX?

Regards,

Volker

Former Member
0 Kudos

Hi, Volker,

Thanks again for your help.

I have config the ADS services in the R/3 and java engine. (I don't find the SAP WDA demo application WDR_TEST_ADOBE in the R/3.)Beacause the adobe document may diSplay in the web page, I am sure that ADS services is completed and successful. I can use the "Elem_Zz_00_Test_Form_000->set_Attribute( exporting

Name = `TEST1` Value = 'sss' )" in the WDDOMODIFYVIEW method in the test_008 view, so I am sure the set_attribute is correct. I am a chinese, and I don't know Germanic language. I modify WDDOMODIFYVIEW method for editable :

method WDDOMODIFYVIEW .

data:

Node_Zz_00_Test_Form_000 type ref to If_Wd_Context_Node,

Elem_Zz_00_Test_Form_000 type ref to If_Wd_Context_Element,

Stru_Zz_00_Test_Form_000 type If_Test_008=>Element_Zz_00_Test_Form_000 ,

Item_TEST1 like Stru_Zz_00_Test_Form_000-TEST1.

  • navigate from <CONTEXT> to <ZZ_00_TEST_FORM_000> via lead selection

Node_Zz_00_Test_Form_000 = wd_Context->get_Child_Node( Name = IF_TEST_008=>wdctx_Zz_00_Test_Form_000 ).

  • get element via lead selection

Elem_Zz_00_Test_Form_000 = Node_Zz_00_Test_Form_000->get_Element( ).

  • get single attribute

Elem_Zz_00_Test_Form_000->set_Attribute(

exporting

Name = `TEST1`

Value = `sss` ).

********make INTERACTIVE_FORM to editable&#12290;******

data:

lr_interactive_form type ref to cl_wd_interactive_form,

lr_method_handler type ref to if_wd_iactive_form_method_hndl.

lr_interactive_form ?= view->get_element( 'INTERACTIVE_FORM' ).

lr_method_handler ?= lr_interactive_form->_method_handler.

lr_method_handler->set_legacy_editing_enabled( abap_true ).

lr_interactive_form->SET_READ_ONLY( abap_false ).

**************************************************

endmethod.

But I am failed. Do you tell me how to set displayType to ActiveX in the WDA? Do you give some English documents for solving this problem?

Thanks for your hints. Thanks again.

Best regards,

tao

Former Member
0 Kudos

Hi Tao,

displayType is a property of UIElement InteractiveForm which can be set to "native" (default) or "activeX".

If you cannot find appl. WDR_TEST_ADOBE what's the level of your Supoort Packages? We have SAP_ABA and SAP_BASIS SP12 ... Maybe you have an "old" SP-level?

In case you should not know how to find out SP-Level in ABAP Stack in SAPGUI simply navigate to "System -> Status" and then press the small button with tooltip "Component Information" on the right-hand side.

Unfortunately I have no further english documents going deeper into detail than the links I've already sent to you.

But here's some coding of SAP appl. WDR_TEST_ADOBE. Maybe this can help you (Copyright SAP AG).

method onactiondo_roundtrip.

data:

lr_fp type ref to if_fp,

lr_pdf_object type ref to if_fp_pdf_object,

pdf type xstring,

xml type xstring,

xml_str type string,

lt_xml type string_table,

lr_conv type ref to cl_abap_conv_in_ce.

try.

lr_fp = cl_fp=>get_reference( ).

lr_pdf_object = lr_fp->create_pdf_object( ).

wd_context->get_attribute( exporting name = 'PDF_SOURCE' importing value = pdf ).

if pdf is not initial.

lr_pdf_object->set_document( pdfdata = pdf ).

lr_pdf_object->set_task_extractdata( ).

lr_pdf_object->execute( ).

lr_pdf_object->get_data( importing formdata = xml ).

lr_conv = cl_abap_conv_in_ce=>create( ).

lr_conv->convert( exporting input = xml importing data = xml_str ).

endif.

catch cx_fp_runtime.

assert 1 = 2.

endtry.

wd_context->set_attribute( name = 'XML' value = xml_str ).

endmethod.

method wddoinit.

data:

lr_mime_repository type ref to if_mr_api,

content type xstring.

constants:

url type string value '/SAP/BC/WebDynpro/SAP/WDR_TEST_ADOBE/pdf_only3.pdf'.

lr_mime_repository = cl_mime_repository_api=>get_api( ).

lr_mime_repository->get( exporting i_url = url importing e_content = content ).

wd_context->set_attribute( name = 'PDF_SOURCE' value = content ).

endmethod.

method wddomodifyview.

data:

lr_interactive_form type ref to cl_wd_interactive_form,

lr_method_handler type ref to if_wd_iactive_form_method_hndl.

check first_time = abap_true.

lr_interactive_form ?= view->get_element( 'INTERACTIVE_FORM' ).

lr_method_handler ?= lr_interactive_form->_method_handler.

lr_method_handler->set_legacy_editing_enabled( abap_true ).

endmethod.

Regards,

Volker

Former Member
0 Kudos

Hi Volker,

Thanks a lot for your help.

After I took a look at the document that you gave me, I already finished to config our ADS server. To test the ADS service I tested my WDA program to embeded a PDF form and it runs well, which means that the ADS server is configed successfully.

From my point of view, if I want to create a PDF form that is "interactive", I must choose the attribute "enabled" for the INTERACTIVE_FORM in the view. Do I understand right?

If it is correct, then I met a strange problem. When I made the attribute "enabled" as false the application runs well. While I made the attribute "enabled" as true and then run the application I met the following error message (My Adobe software version is Acrobat Reader 8.1.0):

**********Begin of Error Message*********

The following error text was processed in the system DEV : WebDynpro Exception: ADS: Request start time: Tue Sep 04 15:48:03 CST 2007(200,101).

The error occurred on the application server devserver_DEV_00 and in the work process 0 .

The termination type was: RABAX_STATE

The ABAP call stack was:

Method: RAISE of program CX_WD_GENERAL=================CP

Method: CREATE_PDF of program CL_WD_ADOBE_SERVICES==========CP

Method: IF_WDR_VIEW_ELEMENT_ADAPTER~SET_CONTENT of program /1WDA/LADOBE==================CP

Method: IF_WDR_VIEW_ELEMENT_ADAPTER~SET_CONTENT of program /1WDA/LADOBE==================CP

Method: IF_WDR_VIEW_ELEMENT_ADAPTER~SET_CONTENT of program /1WDA/L8STANDARD==============CP

Method: IF_WDR_VIEW_ELEMENT_ADAPTER~SET_CONTENT of program /1WDA/L8STANDARD==============CP

Method: IF_WDR_VIEW_ELEMENT_ADAPTER~SET_CONTENT of program /1WDA/L7STANDARD==============CP

Method: CONV_VIEW_INTO_VE_ADAPTER_TREE of program CL_WDR_INTERNAL_WINDOW_ADAPTERCP

Method: SET_CONTENT_BY_WINDOW of program CL_WDR_INTERNAL_WINDOW_ADAPTERCP

Method: RENDER_WINDOWS of program CL_WDR_CLIENT_SSR=============CP

**********End of Error Message***********

The more strange thing is that the application runs well in the latter situation ("enabled" = true) on other PC which installed Acrobat Professional 6.0. But the input field is still not editable, which makes me really confused.

So that I have two questions on the issue I described above as:

1. Does the ADS restrict ADOBE software version for "interactive form"?

2. For the "interactive form", is it enough to set the attribute "enabled" to make the PDF form "interactive"? or I need to do something else such as extra coding to make it happen?

Now I am researching the codes you gave me as the example "WDR_TEST_ADOBE". Any progress I will let you know.

Thanks again in advance!

Best regards,

Tao

Former Member
0 Kudos

Hi Volker,

And one more question, currently both of the SAP-ABA and SAP-BASIS SP level are 9, do you think the low SAP level impacts the functionality of "interactive form". If so, we will apply the right SAP level for our server. Thanks!

Best regards,

Tao

Former Member
0 Kudos

Hi,

we always recommend the latest SP (SP13 will be released soon), see also SAP note 999995.

Regards, Heidi

Former Member
0 Kudos

Hi Tao!

As Heidi said it is always recommended to install the highest possible SP level (if it is possible in the customer's specific situation), because WDA is a "young tool" and I think almost every SP brings corrections and enhancements to it. But I don't know whether this really will solve your problem.

Concerning Adobe Cleint Software: As far as I know you need Adobe Acrobat Reader 7.0. See also SAP note 834573

ActiveX should be activated in your browser also ...

Check/try that and come back with the results.

Regards,

Volker

Former Member
0 Kudos

Hi Volker,

When I made the attribute "enabled" as false the application runs well. While I made the attribute "enabled" as true and then run the application I met the following error message (My Adobe software version is Acrobat Reader 8.1.0):

**********Begin of Error Message*********

The following error text was processed in the system DEV : WebDynpro Exception: ADS: Request start time: Tue Sep 04 15:48:03 CST 2007(200,101).

The error occurred on the application server devserver_DEV_00 and in the work process 0 .

The termination type was: RABAX_STATE

The ABAP call stack was:

Method: RAISE of program CX_WD_GENERAL=================CP

Method: CREATE_PDF of program CL_WD_ADOBE_SERVICES==========CP

Method: IF_WDR_VIEW_ELEMENT_ADAPTER~SET_CONTENT of program /1WDA/LADOBE==================CP

Method: IF_WDR_VIEW_ELEMENT_ADAPTER~SET_CONTENT of program /1WDA/LADOBE==================CP

Method: IF_WDR_VIEW_ELEMENT_ADAPTER~SET_CONTENT of program /1WDA/L8STANDARD==============CP

Method: IF_WDR_VIEW_ELEMENT_ADAPTER~SET_CONTENT of program /1WDA/L8STANDARD==============CP

Method: IF_WDR_VIEW_ELEMENT_ADAPTER~SET_CONTENT of program /1WDA/L7STANDARD==============CP

Method: CONV_VIEW_INTO_VE_ADAPTER_TREE of program CL_WDR_INTERNAL_WINDOW_ADAPTERCP

Method: SET_CONTENT_BY_WINDOW of program CL_WDR_INTERNAL_WINDOW_ADAPTERCP

Method: RENDER_WINDOWS of program CL_WDR_CLIENT_SSR=============CP

**********End of Error Message***********

When I made the attribute "enabled" as true, I don't know how and what to config something so that the application can runs well. whether I need to upgrade my SAP package to more? Do you give me any hints? Thanks a lot.

version:

Acrobat Reader 8.1.0

currently both of the SAP-ABA and SAP-BASIS SP level: 9

ADS : Successful.

Best regards,

Tao

Former Member
0 Kudos

Hi Tao!

I think we are at a point where only SAP support can still help you by remote dialing in into your system.

Concerning SP-level and Browser Settings refer to my last reply.

I am sorry but here my ideas are all "consumed" ...

What happens if you use Adobe Reader 7.0?

What happens if you deactivate enabled?

How is the property readOnly set?

Documentation says here:

"readOnly

Specifies whether the user can select the InteractiveForm element or whether it only is to be displayed as read-only.

This property can be personalized by an administrator.

This property can be assigned the value, true, through personalization."

By the way: In the links to SAP Online Documentation I've provided to you you can call the english version by simply changing .../DE/.... to .../EN/....

Sorry that I've provided you with the german versions .....

Regards,

Volker

Former Member
0 Kudos

Hi Volker,

The application runs well in the situation ("enabled" = false and "readonly" = false ) on my PC which installed Acrobat Reader 7.0 . But the input field is still not editable, which makes me really confused. The application runs to occur error in the situation ("enabled" = true and "readonly" = false ) on my PC which installed Acrobat Reader 7.0 .

version:

Acrobat Reader 8.1.0

currently both of the SAP-ABA and SAP-BASIS SP level: 9

ADS : Successful.

Best regards,

Tao

Former Member
0 Kudos

Hi Tao!

Okay. Let's give it one more last try (although my ideas come to an end now):

1. Where exactly in method CREATE_PDF of program CL_WD_ADOBE_SERVICES is thrown the rabax? You can see it in transaction ST22 Dump analysis ...

Please send the line number and a coding snippet (because you have SP9) as well as the exception id.

2. Without any warranty for success: Update your system from SP09 to at least SP12 (SP13 comes in the next few weeks). This is never a mistake, because SP9 is a "very old" SP level.

3. If this does not help, open a CSN call at SAP.

By the way: Is the PDF form a self-developed form - and if so: do you have a valid license to create interactive forms? As far as I know additional licenses are required if you create customer-specific interactive forms ... maybe a missing license is the root cause of this problem and the ADS (Java stack) throws a cryptic exception and the ABAP engine also throws a very unspecified exception.

Have a look at the defaultTrace.trc file in the Java engine. Maybe you will find some hints there?

Now I have to get offline until tomorrow 9 p.m. CET

Regards,

Volker

Former Member
0 Kudos

Hi Volker,

Thanks a lot for your help.:)

When I compile the WDA, the WDA don't occur any error. The WDA occurs error when I run the WDA.

1. In the st22 transcation code, I found the following code:

method RAISE .

DATA: error TYPE STRING.

error = MSG_STRING( msg = msg a = a b = b c = c i = i j = j k = k ).

************************begin of error************************************

RAISE EXCEPTION TYPE CX_WD_GENERAL EXPORTING msg = error.

************************end of error*********************************

endmethod.

I think the method RAISE is invoked by CREATE_ADOBE method at the point:

"

if sy-subrc ne 0.

  • --- there was an error; check, if it was an ADS related problem

call function 'FP_GET_LAST_ADS_ERRSTR'

importing

e_adserrstr = lv_adserrstr.

cx_wd_general=>raise( msg = lv_adserrstr ).

endif.

  • --- close spool job

"

The following is the code of the CREATE_PDF method:

method CREATE_PDF.

data:

data_source_info type ref to if_wd_context_node_info,

data_source_attributes type wdr_context_attr_info_map,

interface_type type fpinterfacetype,

name type string,

value type string,

fm_name type rs38l_fnam,

fp_docparams type sfpdocparams,

fp_outputparams type sfpoutputparams,

fp_output type fpformoutput,

pdf_ref type ref to fpformoutput,

output type fpformoutput,

rest type string,

lv_adserrstr type string. "#EC NEEDED

field-symbols:

<source> type wdr_context_attribute_info.

data_source_info = data_source->get_node_info( ).

data_source_attributes = data_source_info->get_attributes( ).

  • --- now build pdf content using the form api

try.

  • --- get name and type of the generated function module

call function 'FP_FUNCTION_MODULE_NAME'

exporting

i_name = form_name

importing

e_funcname = fm_name

e_interface_type = interface_type.

  • ----- what about error handling

catch cx_fp_api_usage. "#EC NO_HANDLER

catch cx_fp_api_repository. "#EC NO_HANDLER

catch cx_fp_api_internal. "#EC NO_HANDLER

endtry.

  • --- set output parameters and open spool job

fp_outputparams-nodialog = 'X'.

fp_outputparams-getpdf = 'X'.

  • --- workaround ADS drop 8c

  • fp_outputparams-connection = 'ADS_PWDF2036'.

call function 'FP_JOB_OPEN'

changing

ie_outputparams = fp_outputparams.

  • --- set form language and country (->form locale)

fp_docparams-langu = sy-langu.

call function 'WP_USER_COUNTRY_GET'

exporting

user_name = sy-uname

importing

country = fp_docparams-country

exceptions

no_country_assigned = 1

others = 2.

if sy-subrc <> 0.

fp_docparams-country = 'DE'.

endif.

  • --- this flag indicates that we want to generate an interactive(!) form

fp_docparams-fillable = enabled.

  • --- interface type: SMART FORMS => raise error

  • --- interface type: DDIC => use DDIC interface and render display only form

  • --- interface type: XML Schema => use XML interface and render interactive form if enabled is true

case interface_type.

  • ------------------------------

  • Smart Forms -> not allowed

  • ------------------------------

when if_fp_interface=>c_interface_type_sf.

message x000(00).

  • ------------------------------

  • Good old DDIC

  • ------------------------------

when if_fp_interface=>c_interface_type_new.

  • no interactivity for DDIC stuff allowed, but it can be overwritten

if enabled = abap_true.

fp_docparams-fillable = legacy_editing_enabled.

else.

fp_docparams-fillable = abap_false.

endif.

data:

exception_list type table of rsexc,

export_parameters type table of rsexp,

import_parameters type table of rsimp,

tables_parameters type table of rstbl.

  • --- get the interface of the generated function module

call function 'FUNCTION_IMPORT_INTERFACE'

exporting

funcname = fm_name

tables

exception_list = exception_list

export_parameter = export_parameters

import_parameter = import_parameters

  • changing_parameter =

tables_parameter = tables_parameters.

data:

ptab type abap_func_parmbind_tab,

ptab_line type abap_func_parmbind,

etab type abap_func_excpbind_tab,

etab_line type abap_func_excpbind.

field-symbols:

<import> type rsimp.

  • --- dynamical filling of the interface of the generated function module

loop at import_parameters assigning <import>.

ptab_line-name = <import>-parameter.

ptab_line-kind = abap_func_exporting.

if ptab_line-name cs '/1bcdwb/docparams'.

get reference of fp_docparams into ptab_line-value.

else.

  • --- is this an attribute?

data dref type ref to data.

create data dref type (<import>-typ).

read table data_source_attributes with key name = <import>-parameter assigning <source>.

if sy-subrc = 0.

data: node_name type string.

node_name = <import>-parameter.

try.

field-symbols <statatt> type any.

assign dref->* to <statatt>.

data_source->get_attribute( exporting name = node_name importing value = <statatt> ).

get reference of <statatt> into ptab_line-value.

catch cx_root. "#EC CATCH_ALL

ptab_line-value = dref.

endtry.

else.

ptab_line-value = dref.

endif.

endif.

insert ptab_line into table ptab.

endloop.

ptab_line-name = '/1BCDWB/FORMOUTPUT'.

ptab_line-kind = abap_func_importing.

get reference of fp_output into ptab_line-value.

insert ptab_line into table ptab.

  • --- error handling

etab_line-name = 'OTHERS'.

etab_line-value = 10.

insert etab_line into table etab.

  • --- dynamic call of the generated function module

  • --- this is "smart forms style"

call function fm_name

parameter-table

ptab

exception-table

etab.

if sy-subrc ne 0.

  • --- there was an error; check, if it was an ADS related problem

call function 'FP_GET_LAST_ADS_ERRSTR'

importing

e_adserrstr = lv_adserrstr.

cx_wd_general=>raise( msg = lv_adserrstr ).

endif.

  • --- close spool job

call function 'FP_JOB_CLOSE'.

  • --- check the result

read table ptab with key name = '/1BCDWB/FORMOUTPUT' into ptab_line.

pdf_ref ?= ptab_line-value.

pdf = pdf_ref->pdf.

  • ------------------------------

  • XML Schema based interface

  • ------------------------------

when if_fp_interface=>c_interface_type_xsd.

data: xml type string.

xml = data_source->to_xml( ).

data:

context_node type string.

context_node = data_source_info->get_name( ).

data: x_xml type xstring.

if not data_xml is supplied.

call transformation wdr_interactive_from_in

parameters datasource = context_node

source xml xml

result xml x_xml.

else.

x_xml = data_xml.

endif.

call function fm_name

exporting

/1bcdwb/docparams = fp_docparams

/1bcdwb/docxml = x_xml

importing

/1bcdwb/formoutput = output

exceptions

usage_error = 1

system_error = 2

internal_error = 3

others = 4.

if sy-subrc ne 0.

  • --- there was an error; check, if it was an ADS related problem

call function 'FP_GET_LAST_ADS_ERRSTR'

importing

e_adserrstr = lv_adserrstr.

cx_wd_general=>raise( msg = lv_adserrstr ).

endif.

  • --- close spool job

call function 'FP_JOB_CLOSE'.

pdf = output-pdf.

when others.

message x000(00).

endcase.

endmethod.

2. I found the defaultTrace.0.trc in the $sap_home$\DEV\DVEBMGS00\j2ee\cluster\server0\log\:

"

#1.5#001485BBC8ED0076000000140000044000043973130FA533#1189066310671#com.adobe.AdobeDocumentServicesWorker#com.adobe/AdobeDocumentServices#com.adobe.AdobeDocumentServicesWorker#ADSUSER#228#SAP J2EE Engine JTA Transaction : [018ffffff826002ffffffcc]#devserver_DEV_1606150#Guest#d1f02e705c5011dcb0f5001485bbc8ed#SAPEngine_Application_Thread[impl:3]_22##0#0#Error#1#/System/Server#Plain###Processing exception during a "UsageRights" operation.

Request start time: Thu Sep 06 16:11:50 CST 2007

com.adobe.ProcessingError: Error while retrieving a password for credential: ReaderRights:

java.lang.Exception: Could not retrieve a password for credential: ReaderRights

Exception Stack Trace:

com.adobe.ProcessingError: Error while retrieving a password for credential: ReaderRights:

java.lang.Exception: Could not retrieve a password for credential: ReaderRights

at com.adobe.ads.request.UsageRights.execute(Unknown Source)

at com.adobe.BaseADSRequest.doWork(Unknown Source)

at com.adobe.AdobeDocumentServicesWorker.execute(Unknown Source)

at com.adobe.AdobeDocumentServicesEJB.processRequest(Unknown Source)

at com.adobe.AdobeDocumentServicesEJB.rpData(Unknown Source)

at com.adobe.AdobeDocumentServicesLocalLocalObjectImpl0.rpData(AdobeDocumentServicesLocalLocalObjectImpl0.java:120)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:324)

at com.sap.engine.services.webservices.runtime.EJBImplementationContainer.invokeMethod(EJBImplementationContainer.java:126)

at com.sap.engine.services.webservices.runtime.RuntimeProcessor.process(RuntimeProcessor.java:157)

at com.sap.engine.services.webservices.runtime.RuntimeProcessor.process(RuntimeProcessor.java:79)

at com.sap.engine.services.webservices.runtime.servlet.ServletDispatcherImpl.doPost(ServletDispatcherImpl.java:92)

at SoapServlet.doPost(SoapServlet.java:51)

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

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

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

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

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

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

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

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

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:33)

at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)

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:100)

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

#

#1.5#001485BBC8ED0076000000150000044000043973130FAAAC#1189066310671#com.adobe.AdobeDocumentServices#com.adobe/AdobeDocumentServices#com.adobe.AdobeDocumentServices#ADSUSER#228#SAP J2EE Engine JTA Transaction : [018ffffff826002ffffffcc]#devserver_DEV_1606150#Guest#d1f02e705c5011dcb0f5001485bbc8ed#SAPEngine_Application_Thread[impl:3]_22##0#0#Error##Plain###Client: 800 SystemId: DEV AppName: SAFP

Processing exception during a "UsageRights" operation.

Request start time: Thu Sep 06 16:11:50 CST 2007

com.adobe.ProcessingError: Error while retrieving a password for credential: ReaderRights:

java.lang.Exception: Could not retrieve a password for credential: ReaderRights

at com.adobe.ads.request.UsageRights.execute(Unknown Source)

at com.adobe.BaseADSRequest.doWork(Unknown Source)

at com.adobe.AdobeDocumentServicesWorker.execute(Unknown Source)

at com.adobe.AdobeDocumentServicesEJB.processRequest(Unknown Source)

at com.adobe.AdobeDocumentServicesEJB.rpData(Unknown Source)

at com.adobe.AdobeDocumentServicesLocalLocalObjectImpl0.rpData(AdobeDocumentServicesLocalLocalObjectImpl0.java:120)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:324)

at com.sap.engine.services.webservices.runtime.EJBImplementationContainer.invokeMethod(EJBImplementationContainer.java:126)

at com.sap.engine.services.webservices.runtime.RuntimeProcessor.process(RuntimeProcessor.java:157)

at com.sap.engine.services.webservices.runtime.RuntimeProcessor.process(RuntimeProcessor.java:79)

at com.sap.engine.services.webservices.runtime.servlet.ServletDispatcherImpl.doPost(ServletDispatcherImpl.java:92)

at SoapServlet.doPost(SoapServlet.java:51)

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

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

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

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

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

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

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

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

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:33)

at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)

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:100)

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

#

"

According the exception in the defaultTrace.0.trc:" Could not retrieve a password for credential: ReaderRights ", beacause Adobe reader8 don't get the credential in my machine, the error is occured when run the WDA.

My question is how can I to get credential for Adobe Reader8 ?

Thanks a billion for your support and help.:-)

Best regards,

Tao

Former Member
0 Kudos

Hi Tao!

Now I think (although my ideas were almost completely consumed) we are on the right track to solve the problem: The ADS and the ABAP stack communicate with each other via JCo/RFC. Obviously there is a configuration problem in the communication between them two. Please refer to the configuration guide of ADS and please take in mind that from SAP Web AS 7.00 upwards the password is case-sensitive. The defaultTrace.trc says totally clearly that there is an authentication problem. If I would be a millionaire I would book a flight and visit you in china to solve this issue. Unfortunately this is not reality. So contact your basis guys and show them this message. I am almost sure if this error disappears from defauktTrace.trc your issue will be solvewd also.

Regards and good luck to China whereever you are,

Volker

Former Member
0 Kudos

Hi, Volker,

I think I have know why the problem had occured. I will ask basis how to get credential of the Adobe reader8.0. Thanks for your help again. Thanks a lot for your help.:-)

Best regards,

tao

Answers (0)