How to handle Adobe Form - Dynamic Tables.
Experts:
I am new to Web DynPro for ABAP and Adobe Interactive forms.
I have created a Adobe form with dynamic table. When I submit the form, WD4A is able to read only the first row of the table. Other rows are getting lost.
I thought just binding with the context will trasfer data from Adobe to WD4A. But it is not happending.
Do I need to write any code in WD4A and any script in Adobe Designer?
Can any one send me a sample code (ABAP and JavaScript). Even link to that will be very useful.
Thanks,
Vijai
Thomas:
My context is as follows.
<CHANGING>
<REQUISITION_ITEMS>
<ELEMENT..1>
<ELEMENT..2>
<ELEMENT..3>
The cardinality of <CHANGING> node is 1..1 and the cardinality of <Requisition_items> is 1..n.
Thanks
Vijai
Similar Messages
-
ADOBE Form Using Table with dynamic number of rows
Hi All
First some information about our infrastructure:
- AdobeDesigner 7.1 in the Developerstudio
- SAP-Portal 7.0 SP15
I have a View with tabstrips and behind the tabs i have defined an event. On one Tab I included a ADOBE-Form with Table. The Data for the PDF sould only filled in the context for the Form when i jump to this Tab. I created the Form by using this documentation [https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e0859ad1-53aa-2a10-78ae-99e41c407669].
To fill the tablecontext I use the following Code:
IPrivateAnlegenBANFView.IPositionenElement position = null;
IPrivateAnlegenBANFView.IPositionenNode posNode = wdContext.nodePositionen();
int NUM_5_TIMES = 5;
for (int i = 0; i < NUM_5_TIMES; i) {
IPrivateAnlegenBANFView.IPositionenElement posElement = wdContext.createPositionenElement();
+posElement.setMaterial("" + i);+
+posElement.setKurztext("Test" + i);+
+posElement.setWarengruppe("Warengr" + i);+
posNode.addElement(posElement);
If i put this code in the wdDoInit method it works fine and shows me 5 Rows. But if I put the code in the Action of the tabstrip it shows me only one row. I checked the entries of the context and there are 5 entries (showed them in a WD-Table).
Can someone tell me what im doing wrong?
Thanks for a answer and kind regards
PascalHi All
finally i found the solution for the problem.
When you define the interactive Form in the view do not define the property "dataSource" of UI-Element Interactive Form it seems, that the binding is static and not dynamic.
Add the following source to the viewCotroller
Global Part of the Source:
private static IWDInteractiveForm form = null;
Method wdDoModify:
if (firstTime) {
form = (IWDInteractiveForm) view.getElement("InteractiveForm");
When you have an Event where you fill your Contextnode which you want to display in the table of an Adobe Form Use this code:
Action:
public void onActionFillTab(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent ){
//@@begin onActionFillTab(ServerEvent)
* Code to fill the Node for AdobeForm Table
form.bindDataSource(wdContext.nodeTabelle().getNodeInfo());
//@@end
If you want to clear your table and show it directly use in the action the following code:
wdContext.nodeTabelle().invalidate();
form.bindDataSource(wdContext.nodeTabelle().getNodeInfo());
Kind regards
pascal -
How to configure adobe forms in OMLV for printing picking slip
Hello,
I want to configure a adobe form in OMLV transaction. But there is no column for putting adobe forms.
Can you tell me how do configure adobe forms for getting it printed from standard transaction whenever a transfer order is created.
Thanks in advance.Hi Ajay,
You are completely right that you cannot find anything with smartform in the customizing (OMLV). The reason for it: It is not there. It not even exists. Also the latest version of rlvsdr40 has nothing standard concerning smartforms.
I do not know why it is really necessary to use adobe or smartforms.
The only way is to build a new one (ZRLVSDR40). In that new one you have to use the sapscriptname (from OMLV)and treat it as a smartform- name.
I hope my explanation helps. Success.
Gr., Frank
Below how a smartform is called (from invoice)
determine smartform function module
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = lf_formname
IMPORTING
fm_name = lf_fm_name
EXCEPTIONS
no_form = 1
no_function_module = 2
OTHERS = 3.
IF sy-subrc <> 0.
error handling
retcode = sy-subrc.
IF sy-subrc = 1.
MESSAGE e001(ssfcomposer).
ENDIF.
IF sy-subrc = 2.
MESSAGE e002(ssfcomposer) WITH lf_formname.
ENDIF.
PERFORM protocol_update.
ENDIF.
CALL FUNCTION lf_fm_name
EXPORTING
archive_index = toa_dara
archive_parameters = arc_params
control_parameters = ls_control_param
mail_recipient = ls_recipient
mail_sender = ls_sender
output_options = ls_composer_param
user_settings = ' '
is_nast = nast
is_vbdka = vbdka
is_addres = addr_key
IMPORTING
document_output_info = document_output_info
job_output_info = job_output_info
job_output_options = job_output_options
TABLES
it_vbdpa = tvbdpa "Item information
it_vbdpau = tvbdpau "Subitem numbers
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
OTHERS = 5. -
ADOBE Forms, dynamic images
Hi to all,
I'm working with Adobe Forms and I need to show the photo of an employee depending on his personal number.
So I can´t put the location of the image directly on the URL box of the object.
Does any one knows how to show jpg images dynamically?.
I can do it with Smartforms but I don´t know how to with Adobe Forms.
Thanks.
Nico.-Hi,
I'm working with Nico. We already could show photos dynamically in our Adobe form, uploading them into the Unix server (into AL11) and then referencing the path dynamically. But we still can't show the photos of the employees. The problem that we have now is that we would need a path of the photos on the server to be able to show them in the Adobe form, but we actually couldn't find the path where they are physically stored.
The photos are being stored with ArchiveLink, using the content repository YE, which is configured as follows:
Content Repository: YE
Description: ...
Document Area: ArchiveLink
Storage type: SAP System Database
Rep. Sub-Type: Normal
Protocol: SAPAL
Version Number: 0046
Contents Table: ZCONT_DB --->> the structure of this table corresponds to the table SDOKCONT1
Transfer directory: Z_GRAF_EMPLEADOS2
Physical path: O:\DACON_RH\Sapgraf_prl\
When calling 'HR_IMAGE_EXISTS' and 'SCMS_DOC_URL_READ' functions to get the URLs of the photos, those functions return URLs like this:
SAPR3://SAPR3CMS/get/070/YE/45C3EED1A64E1956E10000000AFA081B/DATA
but those URLs don't work in our Adobe form as the path of the photo (the photo isn't shown when we put that URL in the place of the path).
Does anyone know where could be the photos physically stored or what can I do to solve this problem?
Thanks!
Dani -
Hi Experts.
Kinldy tell me how to install adobe forms ...Hi
Just follow these links.
https://www.sdn.sap.com/irj/sdn/adobe
http://help.sap.com/saphelp_nw70/helpdata/EN/c8/4adf7ba13c4ac1b4600d4df15f8b84/content.htm
Hope this will help you.
Regards:'
Alok -
How openning of adobe forms could be faster at Enterprise portal 7.0
I wander how openning of adobe forms could be faster at Enterprise portal 7.0. We are using for ESS/MSS functionality.
I found out that firs time an form is opened it takes longer than next times. Has anyone some good documentation
Than you in advance> I wander how openning of adobe forms could be faster at Enterprise portal 7.0. We are using for ESS/MSS functionality.
> I found out that firs time an form is opened it takes longer than next times. Has anyone some good documentation
I would say that this is caused by the Adobe Reader on the PC, not by the portal itself.
Markus -
How to integrate adobe forms using webdynpro-abap
Hi All,
How to integarte adobe forms with webdynpro -abap(se80).
Thanks & Regards
SumanHi suman,
First you have insert a element interactive form in the view.
In the properties of the interactive form you have properties called datasource and pdfsource.
You have to give the data which you want to display in the datasource throught binding.
These data you have to get it from the context. For pdfsource it should be xstring.
There is one more property called templatesource, when you give a name and double click. It automatically goes to SFP and you can create the form of your purpose. While creating it will ask for context. That context will be the same which you have declared in the view or component controller.
Regards,
Arun. -
Hi Experts, how to copy adobe form to a Z form? see details, thanks.
Hi Experts,
how to copy adobe form to a Z form? becuase when I click copy and enter the z form name and click ok, then I got an internal error occured SAP FP API, what is wrong? can anyone tell me the correct way to copy a standard adobe form? thanks in advance!
Kind regards
DawsonHi Dawson,
I have just done the same, but i couldnt get any error, its suceesfully asking for Dev class and saving.
I suggest you to show this msg to your basis guy, he is the person who has to help you out.
Regards,
Sujatha -
How do I create a dynamic table in the form for auto field detection?
I am new to Acrobat. We need to create a form template that contains dynamic table control so that it can be populated using auto field detection.
Our dynamic table contains reimbusement information, the rows vary from one claim to another.
Please help. We are having Acrobat 9 Pro.
Thanks
PrasadhA lot is possible. There is a scripting language which should fill the gaps of missing features. There is data merge, there is XML, there is InCopy. Read everything about it and you will surely find what you need.
-
How to Change the Visible property of Adobe Form Dynamically - URGENT
Hi,
I am woking on a scenario where when I click a button in Adobe Form,
another Adobe Form should be displayed. This is using Web Dynpro Java.
For this I have made the second form invisible and I want to make this VISIBLE when the button is Clicked. I am unable to get a method where this property of interactive form can be changed.
Also, If there is any other way this can be done please let me know.
I am using NWDS 7.0.09 with Adobe Live cycle designer 7.1.
Thanks in Advance,
VasuYou need to get the handler to the adobe form in your webdynpro program. If you are using webdynpro for java the following code snipped could be useful...
IWDPDFDocumentInteractiveFormHandler iFormHandler = WDPDFDocumentFactory.getDocumentHandler(wdThis.wdGetAPI(),"YourAdobeForm");
// Get appearance setter.
IWDPDFDocumentAppearance appearance =
iFormHandler.getDocumentContext().getAppearance();
//appearance.
// Set page layout option
appearance.setPageLayout(pageLayoutOption);
// Set show option.
appearance.setShowOption(showOption);
// Hide menu bar.
appearance.hideMenuBar(true);
// Hide tool bars.
appearance.hideToolBars(true);
// Hide window controls.
appearance.hideWindowControl(true);
// Show full screen.
appearance.showFullScreen(true);
Reward points if the post is helpful
Thanks!
Surya. -
Hi All,
I have a dynamic table in my LifeCycle form. Each table row contains a button that links to an external PDF file (using xfa.host.gotoURL). The links work fine in Acrobat 8 Pro, so far, so good... But when clicking the buttons in Reader 8, nothing happens. No error message or security warning, nothing...
I searched the web and some forums for this problem and by reading between the lines of some posts I came to guess that my LifeCycle form will not work in Adobe Reader unless I purchase the respective LifeCycle Extensions license... :-/
What exactly are my options now? Can I get the buttons to work in Adobe Reader somehow (using JS) without having to purchase the Reader Extensions? Or can I somehow recreate the dynamic table of the LifeCycle form using AcroForms in Acrobat 8 Pro to avoid the problem? If so, how do I add such a table using Acrobat's form tools...?
Thanks for your help,
MarcusNormal http://... URLs do indeed work, but relative URLs pointing to local files do not work with the Adobe Reader on my machine. I thought this might be due to a security restriction that can only be overcome by using the Reader Extensions...?
Is there any other way of linking to other PDFs on the local machine than the gotoURL method? I also tried launchApp(), but it didn't work either.
I currently use this statement to link to PDFs in a subfolder:
xfa.host.gotoURL("TrainingGuides/"
+ docName + ".pdf", 1); -
All Records are not getting displayed in adobe form from table
Hi All,
I Want to display records from table to Adobe Form Table .
But While Displaying only some of the records are getting displayed How can i display all the records in next pages of adobe form.
Its Urgent PLZ Reploy soon.
Thanks & Regards
Kirandear friend,
please check the adobe format, must be match to
the data base format.
pls go to the setting and adjust the data base table.
if nothing is going click the radio button
html format.
that will work.
rewards are expecting.
vivek -
How to send adobe form output in mail as a attachment
i am get the adobe form output
how to attach in a mail ....
Regards
Anbu Bmy program is like this.............
CALL FUNCTION 'FP_FUNCTION_MODULE_NAME'
EXPORTING
i_name = 'YHRIN_WELCOME'
IMPORTING
e_funcname = lv_funcname
gs_output-nodialog = 'X'.
gs_output-preview = 'X'.
gs_output-getpdl = 'X'.
gs_output-getpdf = 'X'.
gs_output-dest = 'LP01'.
CALL FUNCTION 'FP_JOB_OPEN'
CHANGING
ie_outputparams = gs_output
EXCEPTIONS
CANCEL = 1
USAGE_ERROR = 2
SYSTEM_ERROR = 3
INTERNAL_ERROR = 4
OTHERS = 5
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
DATA : gs_outputpara TYPE sfpdocparams.
DATA : ls_return TYPE fpformoutput .
gs_outputpara-langu = 'E'.
gs_outputpara-country = 'IN'.
CALL FUNCTION lv_funcname
EXPORTING
/1bcdwb/docparams = gs_outputpara
wa_data = wa_mail
IMPORTING
/1bcdwb/formoutput = ls_return
EXCEPTIONS
OTHERS = 1.
DATA lv_output TYPE sdokcntbins WITH HEADER LINE.
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
EXPORTING
buffer = ls_return-pdf "PDF file from function module
TABLES
binary_tab = lv_output .
*DATA : result TYPE sfpjoboutput WITH HEADER LINE .
CALL FUNCTION 'FP_JOB_CLOSE'
IMPORTING
e_result = result
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
DATA : iv_len_in LIKE sood-objlen,
it_tline TYPE TABLE OF tline WITH HEADER LINE.
PERFORM pdf_file.
DATA: lt_imessage TYPE STANDARD TABLE OF solisti1 WITH HEADER LINE,
lt_iattach TYPE STANDARD TABLE OF solisti1 WITH HEADER LINE,
lt_ipacking_list LIKE sopcklsti1 OCCURS 0 WITH HEADER LINE,
lt_ireceivers LIKE somlreci1 OCCURS 0 WITH HEADER LINE,
lt_iattachment LIKE solisti1 OCCURS 0 WITH HEADER LINE.
DATA : lt_record LIKE solisti1 OCCURS 0 WITH HEADER LINE.
DATA : it_otf TYPE itcoo OCCURS 0 WITH HEADER LINE.
DATA: lv_email TYPE somlreci1-receiver
VALUE 'anbu.'.
PERFORM build_xls_data .
APPEND lt_iattach.
Populate message body text
CLEAR lt_imessage. REFRESH lt_imessage.
lt_imessage = 'Please find attached PDF file'.
APPEND lt_imessage.
Send file by email as .xls speadsheet
PERFORM send_email_with_xls TABLES lt_imessage
lt_iattach
USING lv_email
'PDF Attachment of an Employee'
'PDF'
'TestFileName'
'Employee Detail'.
Form BUILD_XLS_DATA
FORM build_xls_data .
DATA :lv_buffer TYPE string.
Convert PDF from 132 to 255.
LOOP AT it_tline.
Replacing space by ~
TRANSLATE it_tline USING ' ~'.
CONCATENATE lv_buffer it_tline INTO lv_buffer.
ENDLOOP.
replacing ~ by space
TRANSLATE lv_buffer USING '~'.
DO.
lt_record = lv_buffer.
Appending 255 characters as a record
APPEND lt_record.
SHIFT lv_buffer LEFT BY 255 PLACES.
IF lv_buffer IS INITIAL.
EXIT.
ENDIF.
ENDDO.
lt_iattach[] = lt_record[].
ENDFORM.
Form SEND_EMAIL_WITH_XLS
FORM send_email_with_xls TABLES pit_message
pit_attach
USING p_email
p_mtitle
p_format
p_filename
p_attdescription.
DATA: es_xdocdata LIKE sodocchgi1,
lv_xcnt TYPE i.
Fill the document data.
es_xdocdata-doc_size = 1.
Populate the subject/generic message attributes
es_xdocdata-obj_langu = sy-langu .
es_xdocdata-obj_name = 'SAPRPT' .
es_xdocdata-obj_descr = p_mtitle .
Fill the document data and get size of attachment
CLEAR es_xdocdata.
READ TABLE lt_iattach INDEX lv_xcnt.
es_xdocdata-doc_size =
( lv_xcnt - 1 ) * 255 + STRLEN( lt_iattach ).
es_xdocdata-obj_langu = sy-langu.
es_xdocdata-obj_name = 'SAPRPT'.
es_xdocdata-obj_descr = p_mtitle.
CLEAR lt_iattachment. REFRESH lt_iattachment.
lt_iattachment[] = pit_attach[].
Describe the body of the message
CLEAR lt_ipacking_list. REFRESH lt_ipacking_list.
lt_ipacking_list-transf_bin = space.
lt_ipacking_list-head_start = 1.
lt_ipacking_list-head_num = 0.
lt_ipacking_list-body_start = 1.
DESCRIBE TABLE lt_imessage LINES lt_ipacking_list-body_num.
lt_ipacking_list-doc_type = 'RAW'.
APPEND lt_ipacking_list.
Create attachment notification
lt_ipacking_list-transf_bin = 'X'.
lt_ipacking_list-head_start = 1.
lt_ipacking_list-head_num = 1.
lt_ipacking_list-body_start = 1.
DESCRIBE TABLE lt_iattachment LINES lt_ipacking_list-body_num.
lt_ipacking_list-doc_type = p_format.
lt_ipacking_list-obj_descr = p_attdescription.
lt_ipacking_list-obj_name = p_filename.
lt_ipacking_list-doc_size = lt_ipacking_list-body_num * 255.
APPEND lt_ipacking_list.
Add the recipients email address
CLEAR lt_ireceivers. REFRESH lt_ireceivers.
lt_ireceivers-receiver = p_email.
lt_ireceivers-rec_type = 'U'.
lt_ireceivers-com_type = 'INT'.
lt_ireceivers-notif_del = 'X'.
lt_ireceivers-notif_ndel = 'X'.
APPEND lt_ireceivers.
CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
EXPORTING
document_data = es_xdocdata
put_in_outbox = 'X'
commit_work = 'X'
TABLES
packing_list = lt_ipacking_list
contents_bin = lt_iattachment
CONTENTS_HEX = lv_output
contents_txt = lt_imessage
receivers = lt_ireceivers
EXCEPTIONS
too_many_receivers = 1
document_not_sent = 2
document_type_not_exist = 3
operation_no_authorization = 4
parameter_error = 5
x_error = 6
enqueue_error = 7
OTHERS = 8.
SUBMIT rsconn01 WITH mode = 'INT'
WITH output = '' AND RETURN.
ENDFORM. -
How to make a form Dynamic(Serious Issue)
Hi,
I have a problem.
How to make an Interactive form Dynamic while saving it in NWDS(NetweaverDeveloperStudio).
Helpful answer is highly rewarded and Highly Appreciated.Hello Sankar,
Do the following:
1) In your Adobe Livecycle Designer, Select, Edit > Form Properties, in the Default tab, set u201CPreview Typeu201D to u201CInteractive formu201D
2)
Assuming you are using Web Dynpro application, then do the following also:
Place the following code in the wdDoModifyView method of the View where the form is placed.
IWDInteractiveForm iForm1 = (IWDInteractiveForm) view.getElement("<name of your form here");
iForm1.setDynamicPDF(true);
Hope this helps,
Harman -
How to assign values to dynamic table
Hi All,
I am working with a dynamic table and an internal table. My internal table looks like this.
Projno Cust Opt Status
g1234 kkkkk p1 I001
g1234 kkkkk p2 I004
g1234 kkkkk p3 I001
g1234 kkkkk p5 I002
g1256 lmnvw p1 I003
g1256 lmnvw p3 I004
g1256 lmnvw p5 I005
g1256 lmnvw p7 I001
My Dynamic table struture looks like this
Projno Cust p1 p2 p3 p4 p5 p6 p7
I need data in my dynamic table from my internal table as follows
Projno Cust p1 p2 p3 p4 p5 p6 p7
g1234 kkkkk I001 I004 I001 I002
g1256 lmnvw I003 I004 I005 I001.
The problem is these operations may vary thats why i am using dynamic table. Even i cannot use case statement as the operations may vary.
Is it possible to do using Assign component or some other way.
ThanksThis program creates dynamic internal table
copy and paste in your program and test it .. debug it to know how it is creating dynamic internal table and values into that table.
report z_dynamic.
type-pools : abap.
field-symbols: <dyn_table> type standard table,
<dyn_wa>,
<dyn_field>.
data: dy_table type ref to data,
dy_line type ref to data,
xfc type lvc_s_fcat,
ifc type lvc_t_fcat.
selection-screen begin of block b1 with frame.
parameters: p_table(30) type c default 'T001'.
selection-screen end of block b1.
start-of-selection.
perform get_structure.
perform create_dynamic_itab.
perform get_data.
perform write_out.
form get_structure.
data : idetails type abap_compdescr_tab,
xdetails type abap_compdescr.
data : ref_table_des type ref to cl_abap_structdescr.
Get the structure of the table.
ref_table_des ?=
cl_abap_typedescr=>describe_by_name( p_table ).
idetails[] = ref_table_des->components[].
loop at idetails into xdetails.
clear xfc.
xfc-fieldname = xdetails-name .
xfc-datatype = xdetails-type_kind.
xfc-inttype = xdetails-type_kind.
xfc-intlen = xdetails-length.
xfc-decimals = xdetails-decimals.
append xfc to ifc.
endloop.
endform.
form create_dynamic_itab.
Create dynamic internal table and assign to FS
call method cl_alv_table_create=>create_dynamic_table
exporting
it_fieldcatalog = ifc
importing
ep_table = dy_table.
assign dy_table->* to <dyn_table>.
Create dynamic work area and assign to FS
create data dy_line like line of <dyn_table>.
assign dy_line->* to <dyn_wa>.
endform.
form get_data.
Select Data from table.
select * into table <dyn_table>
from (p_table).
endform.
form write_out .
Write out data from table.
loop at <dyn_table> into <dyn_wa>.
do.
assign component sy-index
of structure <dyn_wa> to <dyn_field>.
if sy-subrc <> 0.
exit.
endif.
if sy-index = 1.
write:/ <dyn_field>.
else.
write: <dyn_field>.
endif.
enddo.
endloop.
endform. " write_out
Maybe you are looking for
-
I lose my contact in my iphone. How can I get my contact from my back up in my Itunes
I lose my contact in my iphone? How can I get my contact from my itunes which I was sync last month?
-
Transitions not working in Premiere
Okay so, I have a sequence in premiere, and cross dissolve isn't working. I tried a few other transitions and they seemed to be working fine, but cross dissolve is the one that I need. There are effects in different parts of the sequence that were do
-
Hello, After two months testing this server, the instance crash due two out of memory conditions. The alert say : Pmon end Instance and ORA-00471: DBWR process terminated with error Browsing the log at system level I found that kernel oom-killer kill
-
Is it possible to export png use RGB color mode
hi,guys. I use the following code to export the png , now is it possible to export png use RGB color mode? Or is it possible to set it when export it var pngOpts = new ExportOptionsSaveForWeb; pngOpts.format = SaveDocument
-
Positive time management through interface or without interface
Hi Gurus, I am working on positive time management and i have few queries: 1. As a consultant I have to suggest my client whether they should for interface between sap and eternal recording system or not... What you guys suggest which one is better.