Global binding with duplicate, dynamic tables
Hi there,
Hope someone can give me a hand. I have a dynamic form that contains an invisible duplicate so that there will be two copies printed - one for the form filler and another for another dept. Only one field on the form changes on each copy -- the copy indentifier.
I have placed global binding for all fields on the "visible" form, so that the data will be ported into the invisible copy. However, there are two dynamic tables where the fields in the rows simply copy whatever is placed in the first row.
How do I (in the XML or Javascript) create a link so that each row's fields can contain different data and be copied to the invisible version?
Thanks in advance for your help.
Yeah global binding won't work on repeating elements, you need to write a script to loop through the table and copy the data to another table.
Check out this sample:
http://www.assuredynamics.com/index.php/portfolio/duplicating-table-data/
Similar Messages
-
Interactive form With a dynamic table inside that
Hi Experts,
i have an Adobe interactive form With a dynamic table inside that. Add/ Delete button is there inside the form to add and delete rows from the table. This is working fine when iam viewing the form in the preview of adobe designer. when i deploy and run the application, the dynamic table is not working, internally the rable rows are creating, but the rows are not displaying in the form.. iam getting messages(which i set) when the row is created or deleted, but its not updating on the form ..
iam using wdj
please suggest asap.
Regards
SarathHi Sarath,
Seems to be an issue with ACF. Please intall the ACF from the below link:
https://sapmats-de.sap-ag.de/download/download.cgi?id=F9RUZ3Q7TERUBSMHSXWT3UMEM59IJYIPA931VQD32A1UNAKZ6B
And also refer to the SAP note no. 1104060 and do the needful configuration.
Regards,
Arafat -
Data model with a dynamic table name
Hi,
I have report requirement, where in the table name in the data model query is unknown.So I use lexical parameter like " select * from &P_TABLE_NAME". This dynamic table is created and data populated in the before report trigger and table name is assigned to P_TABLE_NAME. The parameter P_TABLE_NAME has to be assigned an initial value otherwise the report errors with 'invalid table name' error. So I give a dummy table say 'DUMMY' as the initial value which has the same structure (with no data ) as the table that is being created in the before report trigger.
The problem is that the data model query is being parsed ( and maybe executed ) even before the 'before report' trigger is run. As a result, the report o/p is empty, since the query used the DUMMY table for execution. But after the report completes, I can see the dynamic table being created with data.
Question: Why is the before report trigger getting executed after the datamodel query is parsed and executed.
Regards,
SureshHi....
yes, these are the settings I have:
server folder: /Applications/MAMP/htdocs/dwphpelclasico
web url: http://localhost/dwphpelclasico/
They should be correct. But I still get the message:
Warning: require_once(Connections/elclasico.php) [function.require-once]: failed to open stream: No such file or directory in /Applications/MAMP/htdocs/dwphpelclasico/list.php on line 1
Could it be something with list.php?
This is a new file I created to display my tableand where I am inserted the record set.
thanks -
Call Function with RFC dynamic table
Hi all
I create a function compare TABLE_ENTRIES_GET_VIA_RFC and CTVB_COMPARE_TABLES, everything is.dynamic
it works well but, how could i create a dynamic output parameter for table.
the system show me that RFC and dynamic table don't work.
i don't want line by line i would like to have the real structure inside of the Function i have everything but i can't move the data to the output parameter table .
could somebody help ?Thx RE (and Mani) for the feedback.
I think that this URL is sufficient to understand how to pass dynamic internal table via RFC function module, whatever it is input or output. This URL says to use a STRING to store the table content in XML format, via CALL TRANSFORMATION ID, and pass this string as parameter. In the calling program, we have to "decode" the XML back into abap data, Just notice that we don't need to create an XSLT, ID is sufficient.
For any other information, open a new thread, or ask a precise question. -
Issues in populating dynamic table with other dynamic table records
Hi Experts,
I have a Problem here ,i need to move the records of one table into other.
Through the following code..am able to append the records ,
but there are no values in it.
FIELD-SYMBOLS:<lt_data> TYPE ANY TABLE.
FIELD-SYMBOLS:<itab_wa2> TYPE ANY.
LOOP AT <lt_data> ASSIGNING <itab_wa>.
DO lv_count TIMES.
ASSIGN COMPONENT sy-index OF STRUCTURE <itab_wa> TO <itab_wa1>.
ENDDO.
APPEND <itab_wa1> to <itab>.
help is appreciated>
Vadnalav wrote:
> Yeah the structures of both the tables are same.. referred to TYPE ANY
TYPE ANY is not a structure mate!
Anyway let me rephrase my question: Are the "run-time" structures of the 2 dynamic tables similar?
BR,
Suhas -
Hi Gurus,
I have done the following code, but it is not treating <alv_table> and <alv_table_new> as different tables.
How can I create a duplicate table of <alv_table> in the below context ??
DATA : ldtab TYPE REF TO data,
ldtab_NEW TYPE REF TO data.
FIELD-SYMBOLS: <alv_table> TYPE table,
<alv_table_NEW> TYPE table.
CALL METHOD cl_alv_table_create=>create_dynamic_table
EXPORTING
it_fieldcatalog = gt_fcat
IMPORTING
ep_table = ldtab.
IF sy-subrc = 0.
ldtab_new = ldtab.
ASSIGN ldtab->* TO <alv_table>.
ASSIGN ldtab_new->* TO <alv_table_new>.
ENDIF.
Regards,
Sandip.hi,
Both field symbols i.e. <alv_table> and <alv_table_new> are pointing to same memory area because of the statements
CALL METHOD cl_alv_table_create=>create_dynamic_table
EXPORTING
it_fieldcatalog = gt_fcat
IMPORTING
ep_table = ldtab.
IF sy-subrc = 0.
ldtab_new = ldtab. <----
do not perform this step
ASSIGN ldtab->* TO <alv_table>.
ASSIGN ldtab_new->* TO <alv_table_new>.
endif.
instead write -
CALL METHOD cl_alv_table_create=>create_dynamic_table
EXPORTING
it_fieldcatalog = gt_fcat
IMPORTING
ep_table = ldtab.
IF sy-subrc = 0.
ASSIGN ldtab->* TO <alv_table>.
endif.
CALL METHOD cl_alv_table_create=>create_dynamic_table
EXPORTING
it_fieldcatalog = gt_fcat
IMPORTING
ep_table = ldtab_new.
IF sy-subrc = 0.
ASSIGN ldtab_new->* TO <alv_table_new>.
endif.
try the above mentioned code.
I hope this will resolve your issue.
Regards,
Sambaran Ray -
Dynamic ALV: but with globally available dynamic table type
Hello,
I would like to create a dynamic node for a ALV and dynamic table types to fill and the ALV.
The ALV data can be changed so I need to read it again.
I have read all the threads about dynamic node create and i have no problem with it. I can create a structure and a table dynamically. thats also no issue for me.
But. I fill the ALV data in a method and read it in another method to save the changes in a data base table.
Thats also no problem
So where i need your help? I currently create the dynamic table and structure in both methods. That works, but why do the same thing twice?
I cant figure out by myself how to create a dynamic table/structure in a global way, so the dynamic table/structure is created once and then available in the whole WD4A view.
I tried is with a class type in se24 with reference to CL_ABAP_STRUCTDESCR but I cant make that run, because to access the type I created an attribute in se24 with reference to the class type that I now try in instance and fill in the method. But ABAP thinks that my attribute is not compatible anymore.
Any idea how to make a dynamic table globally available? That must be an ABAP god who can answer this question, hehe. So imagin me falling on my knees for the one who has an answer that really works
Kind regards,
HendrikThis doesn't seem too difficult really. For a dynamic table you just need to declare the internal table as TYPE REF TO DATA.
Just more this declaration to the attributes of your Component Controller. So for instance in my component controller I have an attribute called i_data with the RefTo column checked and the associated type = DATA.
So now I could do the following:
create data wd_this->idata type table of (tablename).
Or however you are dynamically creating the table - maybe with TYPE HANDLE instead.
The point is that your dynamic table is now global to your entire component and you can read and write to it from different methods.
Is this what you were looking for? Without knowing more about your existing coding, it is difficult to say more. -
Dynamic Table UI Element with different data type for each cell
Hi Experts,
I have a problem with a dynamic Table UI Element in Web Dynpro ABAP. I have the following coding:
METHOD set_col_row .
TYPE-POOLS: icon.
DATA:
lv_node TYPE REF TO if_wd_context_node,
lv_node_info TYPE REF TO if_wd_context_node_info,
lv_element TYPE REF TO if_wd_context_element,
lt_attributes TYPE wdr_context_attr_info_map,
lv_table TYPE REF TO cl_wd_table,
lv_table_column TYPE REF TO cl_wd_table_column,
lv_text_view TYPE REF TO cl_wd_text_view,
lv_image TYPE REF TO cl_wd_image,
lv_text_edit TYPE REF TO cl_wd_text_edit,
lv_header TYPE REF TO cl_wd_caption,
attribute LIKE LINE OF lt_attributes,
lv_index TYPE string,
lv_cur_row TYPE i,
path TYPE string,
lv_value TYPE string,
attr_name TYPE string,
l_trc_point_id TYPE string,
l_num_cols TYPE string,
l_num_rows TYPE string,
lv_text TYPE string,
lv_index2 TYPE i,
lr_ress_selections TYPE REF TO /its/di_2_cpr_ress_selections,
lt_comp_tab TYPE cl_abap_structdescr=>component_table,
ls_comp_tab LIKE LINE OF lt_comp_tab,
lv_count TYPE i,
lv_col_count TYPE i,
lv_col_count_read TYPE i,
lv_index_read TYPE i,
lv_num_cols_minus_1 TYPE i,
lv_bind_lv_value TYPE string,
wd_standard_cell TYPE REF TO cl_wd_table_standard_cell,
lv_data_count TYPE i,
lv_data_count_str TYPE string,
wd_table_column TYPE REF TO cl_wd_table_column,
lv_column_id TYPE string.
FIELD-SYMBOLS:
TYPE ANY.
Instanz der Klasse /ITS/DI_2_CPR_RESS_SELECTIONS
lr_ress_selections = /its/di_2_cpr_ress_selections=>factory( ).
ASSIGN lr_ress_selections->gr_table->* TO gt_comp_tab.
ls_comp_tab-name = 'SUMME'.
APPEND ls_comp_tab TO lt_comp_tab.
ls_comp_tab-name = 'CELL_VARIANT'.
APPEND ls_comp_tab TO lt_comp_tab.
CLEAR ls_comp_tab.
l_num_rows = num_rows + 1.
CONDENSE l_num_rows.
l_num_cols = num_columns + 1.
CONDENSE l_num_cols.
UI-Element 'TABLE'
lv_table ?= wd_this->m_view->get_element( 'TBL_TABLE' ).
lv_table->remove_all_columns( ).
Kontext-Knoten 'TABLE'
lv_node = wd_context->get_child_node( 'TABLE' ).
lv_node_info = lv_node->get_node_info( ).
lv_node_info->remove_dynamic_attributes( ).
attribute-type_name = 'STRING'.
lv_num_cols_minus_1 = num_columns - 1.
Für jede Spalte einmal tun
DO lv_num_cols_minus_1 TIMES.
lv_index = sy-index + 1.
CONDENSE lv_index.
lv_table_column = cl_wd_table_column=>new_table_column( ).
lv_column_id = lv_table_column->id.
Spaltenüberschriften setzen
IF lv_index EQ 1. "Beim ersten Durchlauf --> erste Spalte = "Ressourcen"
lv_text = text-010.
sy-index = 0.
ELSE. "Danach für jede weitere Spalte eine Zeile aus der gt_comp_tab nehmen
lv_index_read = lv_index - 1.
READ TABLE lt_comp_tab INDEX lv_index_read INTO ls_comp_tab.
lv_text = ls_comp_tab-name.
lv_header = cl_wd_caption=>new_caption( text = lv_text ).
lv_table_column->set_header( lv_header ).
ENDIF.
CONCATENATE 'TABLE.A' lv_index INTO path.
lv_text_view = cl_wd_text_view=>new_text_view( bind_text = path ).
lv_table_column->set_table_cell_editor( lv_text_view ).
lv_table_column->bind_selected_cell_variant( 'TABLE.CELL_VARIANT' ).
lv_table->add_column( lv_table_column ).
wd_table_column ?= wd_this->m_view->get_element( lv_column_id ).
*****************Test Cell Variant*************************************************
IF lv_index GT 1.
LOOP AT .
IF sy-tabix EQ lv_cur_row.
Name zuweisen
ASSIGN COMPONENT 'NAME' OF STRUCTURE .
Zuweisen ob Blatt oder nicht
lv_element->set_attribute( name = 'NAME' value = lv_value ).
ASSIGN COMPONENT 'IS_LEAF' OF STRUCTURE set_attribute( name = attr_name value = lv_value ).
ENDIF.
ENDLOOP.
Now my problem is, that I need for every ROW of my table UI Element a different cell editor. I know how to change it for the column. But is not my issue. I want to have images (traffic lights red and green) in some rows. The other rows should have numbers. The coding works, so that I have all the data at the right place in my table, only the images are shown as a string, because the cells of these rows have the cell editor Text_View. I tried something with cell variants (with cl_wd_table_standard_cell), but it was not possible for me to get a cell variant "image" in these cells/rows were I need it.
I hope you understand my problem and now what to do here.
Thanks a lot in advance.
Best Regards,
IngmarHi Experts, I have a problem with a dynamic Table UI Element in Web Dynpro ABAP. I have the following coding: METHOD set_col_row . TYPE-POOLS: icon. DATA: lv_node TYPE REF TO if_wd_context_node, lv_node_info TYPE REF TO if_wd_context_node_info, lv_element TYPE REF TO if_wd_context_element, lt_attributes TYPE wdr_context_attr_info_map, lv_table TYPE REF TO cl_wd_table, lv_table_column TYPE REF TO cl_wd_table_column, lv_text_view TYPE REF TO cl_wd_text_view, lv_image TYPE REF TO cl_wd_image, lv_text_edit TYPE REF TO cl_wd_text_edit, lv_header TYPE REF TO cl_wd_caption, attribute LIKE LINE OF lt_attributes, lv_index TYPE string, lv_cur_row TYPE i, path TYPE string, lv_value TYPE string, attr_name TYPE string, l_trc_point_id TYPE string, l_num_cols TYPE string, l_num_rows TYPE string, lv_text TYPE string, lv_index2 TYPE i, lr_ress_selections TYPE REF TO /its/di_2_cpr_ress_selections, lt_comp_tab TYPE cl_abap_structdescr=>component_table, ls_comp_tab LIKE LINE OF lt_comp_tab, lv_count TYPE i, lv_col_count TYPE i, lv_col_count_read TYPE i, lv_index_read TYPE i, lv_num_cols_minus_1 TYPE i, lv_bind_lv_value TYPE string, wd_standard_cell TYPE REF TO cl_wd_table_standard_cell, lv_data_count TYPE i, lv_data_count_str TYPE string, wd_table_column TYPE REF TO cl_wd_table_column, lv_column_id TYPE string. FIELD-SYMBOLS: LIKE LINE OF lt_attributes, TYPE ANY TABLE, TYPE ANY, TYPE ANY, TYPE ANY. * Instanz der Klasse /ITS/DI_2_CPR_RESS_SELECTIONS lr_ress_selections = /its/di_2_cpr_ress_selections=>factory( ). ASSIGN lr_ress_selections->gr_table->* TO . lt_comp_tab = lr_ress_selections->gt_comp_tab. ls_comp_tab-name = 'SUMME'. * APPEND ls_comp_tab TO lt_comp_tab. * ls_comp_tab-name = 'CELL_VARIANT'. APPEND ls_comp_tab TO lt_comp_tab. CLEAR ls_comp_tab. l_num_rows = num_rows + 1. CONDENSE l_num_rows. l_num_cols = num_columns + 1. CONDENSE l_num_cols. * UI-Element 'TABLE' lv_table ?= wd_this->m_view->get_element( 'TBL_TABLE' ). lv_table->remove_all_columns( ). * Kontext-Knoten 'TABLE' lv_node = wd_context->get_child_node( 'TABLE' ). lv_node_info = lv_node->get_node_info( ). lv_node_info->remove_dynamic_attributes( ). attribute-type_name = 'STRING'. lv_num_cols_minus_1 = num_columns - 1. * Für jede Spalte einmal tun DO lv_num_cols_minus_1 TIMES. lv_index = sy-index + 1. CONDENSE lv_index. lv_table_column = cl_wd_table_column=>new_table_column( ). lv_column_id = lv_table_column->id. * Spaltenüberschriften setzen IF lv_index EQ 1. "Beim ersten Durchlauf --> erste Spalte = "Ressourcen" lv_text = text-010. sy-index = 0. ELSE. "Danach für jede weitere Spalte eine Zeile aus der gt_comp_tab nehmen lv_index_read = lv_index - 1. READ TABLE lt_comp_tab INDEX lv_index_read INTO ls_comp_tab. lv_text = ls_comp_tab-name. lv_header = cl_wd_caption=>new_caption( text = lv_text ). lv_table_column->set_header( lv_header ). ENDIF. CONCATENATE 'TABLE.A' lv_index INTO path. lv_text_view = cl_wd_text_view=>new_text_view( bind_text = path ). lv_table_column->set_table_cell_editor( lv_text_view ). lv_table_column->bind_selected_cell_variant( 'TABLE.CELL_VARIANT' ). lv_table->add_column( lv_table_column ). wd_table_column ?= wd_this->m_view->get_element( lv_column_id ). ******************Test Cell Variant************************************************** IF lv_index GT 1. LOOP AT ASSIGNING . ASSIGN COMPONENT 'TYPE' OF STRUCTURE TO . ADD 1 TO lv_data_count. lv_data_count_str = lv_data_count. CONCATENATE 'A' lv_index lv_data_count_str INTO path. wd_standard_cell = cl_wd_table_standard_cell=>new_table_standard_cell( view = wd_this->m_view variant_key = 'FLDATE' ). IF = '01' OR = '04'. lv_image = cl_wd_image=>new_image( bind_source = path view = wd_this->m_view ). wd_standard_cell->set_editor( lv_image ). wd_standard_cell->set_cell_design( '01' ). ELSE. lv_text_view = cl_wd_text_view=>new_text_view( bind_text = path view = wd_this->m_view ). wd_standard_cell->set_editor( lv_text_view ). wd_standard_cell->set_cell_design( '02' ). ENDIF. wd_table_column->add_cell_variant( wd_standard_cell ). ENDLOOP. ENDIF. ************************************************************************************* CONCATENATE 'A' lv_index INTO attribute-name. lv_node_info->add_attribute( attribute ). ENDDO. DO num_rows TIMES." Für jede Zeile einmal tun lv_cur_row = sy-index. lv_element = lv_node->create_element( ). lv_node->bind_element( new_item = lv_element set_initial_elements = abap_false ). DO l_num_cols TIMES. ADD 1 TO lv_col_count. IF lv_count LT 1. LOOP AT ASSIGNING . IF sy-tabix EQ lv_cur_row. * Name zuweisen ASSIGN COMPONENT 'NAME' OF STRUCTURE TO . "NAME lv_value = . * Zuweisen ob Blatt oder nicht lv_element->set_attribute( name = 'NAME' value = lv_value ). ASSIGN COMPONENT 'IS_LEAF' OF STRUCTURE TO . "NAME lv_value = . lv_element->set_attribute( name = 'IS_LEAF' value = lv_value ). ENDIF. ENDLOOP. ENDIF. IF lv_count GT 0. lv_col_count_read = lv_col_count - 1. lv_index = sy-index. LOOP AT ASSIGNING . IF sy-tabix EQ lv_cur_row. CLEAR ls_comp_tab. READ TABLE lt_comp_tab INDEX lv_col_count_read INTO ls_comp_tab. ASSIGN COMPONENT ls_comp_tab-name OF STRUCTURE TO . lv_value = . CONDENSE lv_index. CONCATENATE 'A' lv_index INTO attr_name. lv_element->set_attribute( name = attr_name value = lv_value ). ENDIF. ENDLOOP. ENDIF. lv_count = lv_count + 1. ENDDO. CLEAR lv_col_count. CLEAR lv_count. ENDDO. ENDMETHOD. I definied my table in Layout Tab of the View and create here in thos method dynamicly my columns. lv_table_column = cl_wd_table_column=>new_table_column( ). . . lv_table->add_column( lv_table_column ). In I have my data that should be shown later in my table. So I create for each row in this fieldsymbol in a loop: lv_element = lv_node->create_element( ). lv_node->bind_element( new_item = lv_element set_initial_elements = abap_false ). Later I fill every cell in my table with a different value with this loop: LOOP AT ASSIGNING . IF sy-tabix EQ lv_cur_row. CLEAR ls_comp_tab. READ TABLE lt_comp_tab INDEX lv_col_count_read INTO ls_comp_tab. ASSIGN COMPONENT ls_comp_tab-name OF STRUCTURE TO . lv_value = . CONDENSE lv_index. CONCATENATE 'A' lv_index INTO attr_name. lv_element->set_attribute( name = attr_name value = lv_value ). ENDIF. ENDLOOP. Now my problem is, that I need for every ROW of my table UI Element a different cell editor. I know how to change it for the column. But is not my issue. I want to have images (traffic lights red and green) in some rows. The other rows should have numbers. The coding works, so that I have all the data at the right place in my table, only the images are shown as a string, because the cells of these rows have the cell editor Text_View. I tried something with cell variants (with cl_wd_table_standard_cell), but it was not possible for me to get a cell variant "image" in these cells/rows were I need it. I hope you understand my problem and now what to do here. Thanks a lot in advance. Best Regards, Ingmar
-
Itextsharp using livecycle form with dynamic table
Hello all, after searching Google for the past two days and not able to find any relevant information, hence this post.
Some background:
1) Created a pdf form using Adobe Livecycle designer 9.
2) It is a dynamic form with textboxes and a table configured to repeat rows dynamically.
3) Testing form using xml data within designer works just fine.
Requirement:
Need to populate form dynamically using data from database.
Solution:
Found iTextSharp (free assembly) which assists with populating existing pdf form.
Issue
This assembly works without any issue when populating textfields (see sample code below). The problem I am facing is with the dynamic table where in I am not able to reference rows greater than 1. Since the pdf template contains a table with just one row referencing the first row using acrofield works.
I was under impression since this is a dynamic table with repeat enabled, in asp.net if I referenced row2 onwards the table would grow automatically. Which I have come to realize is not going to be possible.
So I am looking for ideas on how I can accomplish this. I wish this could have been a fixed row table then reference rows would have been easier. However in this situation the table has to be dynamic.
Any ideas thoughts would be appreciated.
Below is my sample code:
PdfStamper ps = null;
try {
// read existing PDF document
PdfReader r = new PdfReader(
// optimize memory usage
new RandomAccessFileOrArray(Request.MapPath("itext.pdf")), null
ps = new PdfStamper(r, Response.OutputStream);
// retrieve properties of PDF form w/AcroFields object
AcroFields af = ps.AcroFields;
// fill in PDF fields by parameter:
// 1. field name
// 2. text to insert
af.SetField("txtCompany", "Company name");
af.SetField("txtDateDepartLocation", "date depart location");
af.SetField("txtDate","test date");
af.SetField("txtServiceNumber", "Service number");
af.SetField("Table2.Row1.Cell1", "1test"); this works
//doesnt work!!!
af.SetField("Table2.Row2.Cell1", "1test");
af.SetField("Table2.Row3.Cell1", "1test");
// make resultant PDF read-only for end-user
ps.FormFlattening = true;
// forget to close() PdfStamper, you end up with
// a corrupted file!
ps.Close();
catch { }
finally { if (ps != null) ps.Close(); }Hi FourEyes;
Try using this.
Select Col1, Col2, Col3
into :P1_Field1, :P1_Field2, :P1_Field3
from Your_Table
Where (your conditions); -
Livecycle userform with dynamic table
Hi Everyone,
New to Livecycle Designer and was hoping this is possible - Can you have a PDF userform with a dynamic table below it?...
Basically the user fills out a userform then clicks an ADD button - this populates a dynamic table below the userform then clears/resets the userform - as the records fill the table an EDIT button appears in the last column so that if the user makes an error with a record they could click the EDIT button, this would bring the record back into the userform fields so they could change the field(s) they made the error in then a SAVE button would replace the ADD button in this instance, clicking SAVE then changes the record and clears/resets the userform ready for more entries.
At the bottom of the PDF there would be an EXPORT button which attaches the table as a csv or tab-delimited text file to an email message...
If someone could point me in the right direction it would be appreciated - I have googled and searched the forums for an answer but they mostly relate to importing data into a dynamic table from a database or xml file... I was hoping to directly populate the table with the userform.
I also have a PDF example which illustrates what I am trying to achieve... but seems you cannot attach to a post... I can email it if someone has a solution, but needs to see it visually.
CheersYou don't know the names of your columns? hmm you do, because before you created dynamic table you had to create field catalog, so the structure and column names of newly (dynamically) created table will be the same like defined in the field catalog.
The last loop also does not look good, in my opinion should be something like:
LOOP AT lt_datatable +(my first table)+ ASSIGNING <ls_data4>.
AT NEW pernr.
APPEND initial line to <fs_1> assigning <fs_2>.
<fs_2>-pernr = <ls_data4>-pernr.
ENDAT.
ASSIGN COMPONENT <ls_data4>-wage_type OF STRUCTURE <fs_2> TO <fs_5>.
<fs_5> = <ls_data4>-amount.
ENDLOOP.
also keep in mind that number of calls of method cl_alv_table_create=>create_dynamic_table is limited to 36 (?) calls within one program session because it uses dynamic subroutine pool behind so you will have short dump if you will execute that 37 times. -
Hi, I am new to livecycle and wondering if there is any sample for setting up the dynamic table with XML schema so I can access the data through workbench's xpath. thanks.
Ivor,
Take a look at the samples shipped with Designer. For 8.2.1 release take a look at
C:\Program Files\Adobe\LiveCycle Designer ES\8.2\EN\Samples\Forms\Purchase Order\Schema\Schema\Purchase Order.xsd
and the form samples.
Otherwise, forward a request to [email protected] I would be happy to send you a sample XDP with a dynamic table and a schema.
Steve -
Dynamic tables with data driven visibility of columns (XML).
Hi
I am trying to make a template in LiveCycle Designer (XDP) with a dynamic table, and with dynamic visibility of columns.
I want the column visibility to be driven by the xml input.
(There is no user input.)
I want the columns to visible in the table only if one or more of the rows has a data cell with value in a spesific column. If not the entire column should dissappear from the generated pdf.
If that is not possible, my alternative is so set a value in th XML file to hide a tables column. But how?
I have no problems of making dynamic tables, that is solved.
I only want to hide unused columns in a table, defined in the xml source file.
Can anyone help?
BorgeHi,
The link is not working..
Please provide a valid link. -
Two SubForms with one having dynamic table
Hello,
I am having a problem regarding subforms and dynamic tables. Here is the situation:
1. I have one main form where the content is "Flowed"
2. I have two subforms, both have the content of "Positioned"
3. The first subform has a dynamic table in it.
The problem that I am having is that when I add a row to the dynamic table in subform 1, the second subform does not move. I would like it to shift down to accomodate the additional row in the first subform.
Any thoughts?
Thank you.You need to set subform 1 to flowed.
What is happening is that subform 1 is not expanding with the dynamic table because it is positioned. The table is expanding outside of its parent subform. As subform 1 does not expand, then subform 2 does not move.
The golden rule is that any subform that has dynamic content and every one of its parent subforms up the hierarchy all the way to the root must be flowed.
If this rule is not followed then you will get overlapping content. An easy check is to click on dynamic content in the design view and then use the left arrow key to navigate up the hierarchy. Keep an eye on the Subform pallet as you go for erroneous positioned content.
Ben Walsh
www.avoka.com -
Dynamic Table in PDF - only first row passed to the WD Java
Hi Experts,
I'm working with Web Dynpro for Java on WAS 2004s SP13, ADS for SP13 and LiveCycle Designer 7.1
I am facing a problem related to PDF-dynamic table generation.
I am creating the PDF form with a dynamic table, an empty row will be added, when ADD button is clicked, the row will be deleted when DELETE button is clicked. After form submit, only first row of the table is passed to the Web Dynpro. I'v tried to use different dataSource Context node structure without results. The structure diescribed in the thread [Dynamic Table - same data repeating in all rows; doesnt works for me. The same happend if i try to folow the advise from Wiki https://wiki.sdn.sap.com/wiki/display/WDJava/Creating%20Table%20in%20Interacting%20form%20using%20Web%20Dynpro.
Beside this, my DropDown list in the table column is not populated. I know how to populate the DropDown list outside of table. That's working fine. But the DropDown in the table just not respond on the click (is not going open). I'm pretty sure that this is a result of a Context node structure/binding issue.
Please suggest me how can i implement dynamic table and populate the data in table dropdown column.
Edited by: A. Mustacevic on Sep 7, 2009 12:18 AMHi Prabhakar,
You describe exactly my situation. The node which is bound to the table row has cardinality 1..n. Exactly Context structure is:
node dataSource (cardinality 1..1/ Singleton true) ======> dataSource of the Interactive Form
subnode TableList (cardinality 1..1/ Singleton true) ======> bound to the table in the Interactive Form
subnode TableWrapper (cardinality 1..n/ Singleton true) ======> bound to the table row in the Interactive Form
subnode TableData (cardinality 0..1/ Singleton false) ======> table data
attribute 1 ====> Context nodeattribute bound to the table row field
attribute 2
This structure is recommanded in the post that I found on the Forum (see the firs hyperlink in my firs post).
Is this structure correct? Why is not working?
Your link is not working. Can you post the correct one.
Thanks in advance.
Regards
Adnan
Edited by: A. Mustacevic on Sep 8, 2009 1:56 PM
Edited by: A. Mustacevic on Sep 8, 2009 1:57 PM
Edited by: A. Mustacevic on Sep 8, 2009 2:00 PM
Edited by: A. Mustacevic on Sep 8, 2009 2:01 PM
Edited by: A. Mustacevic on Sep 8, 2009 2:02 PM -
Dynamic Table Width for XML Renderer
Hi Guys,
I'm looking for a way to get a XML documents with a dynamic table width.
Using a dynamic result table doesn't work.
The test program looks like this.
REPORT xml_test.
TYPE-POOLS: ixml.
DATA: go_ixml TYPE REF TO if_ixml.
go_ixml = cl_ixml=>create( ).
DATA: go_xml_document TYPE REF TO if_ixml_document.
go_xml_document = go_ixml->create_document( ).
DATA: go_xml_root_elm TYPE REF TO if_ixml_element.
go_xml_root_elm = go_xml_document->create_simple_element(
name = 'flights'
parent = go_xml_document
value = 'Texas Flight' ).
DATA: go_xml_main_elm TYPE REF TO if_ixml_element.
go_xml_main_elm = go_xml_document->create_simple_element(
name = 'airline'
parent = go_xml_root_elm ).
DATA: lv_rc TYPE i.
lv_rc = go_xml_main_elm->set_attribute( name = 'code' value = 'LH401' ).
DATA: go_xml_streamfactory TYPE REF TO if_ixml_stream_factory.
go_xml_streamfactory = go_ixml->create_stream_factory( ).
* Static Creation of X tab ---------------------------------------------
DATA: BEGIN OF gs_xml_line,
data(255) TYPE x,
END OF gs_xml_line.
DATA: gt_xml_table LIKE TABLE OF gs_xml_line,
gv_xml_size TYPE i,
go_ostream TYPE REF TO if_ixml_ostream.
* END Static Creation of X tab ------------------------------------------
* Dynamic Creation of X tab ---------------------------------------------
FIELD-SYMBOLS: <lf_x_tab> TYPE STANDARD TABLE,
<lf_x_stru> TYPE ANY.
DATA: lt_fldcat TYPE lvc_t_fcat.
DATA: lr_tab TYPE REF TO data,
lr_stru TYPE REF TO data,
ls_fldcat TYPE lvc_s_fcat,
lv_dyn_width TYPE i.
lv_dyn_width = 255.
* Append Dynamic Field.
CLEAR ls_fldcat.
ls_fldcat-fieldname = 'DATA' .
ls_fldcat-datatype = 'X'.
ls_fldcat-inttype = 'X'.
ls_fldcat-intlen = lv_dyn_width.
APPEND ls_fldcat TO lt_fldcat .
* Create dynamic internal table and assign to FS
CALL METHOD cl_alv_table_create=>create_dynamic_table
EXPORTING
it_fieldcatalog = lt_fldcat
IMPORTING
ep_table = lr_tab.
ASSIGN lr_tab->* TO <lf_x_tab>.
* Create dynamic work area and assign to FS
CREATE DATA lr_stru LIKE LINE OF <lf_x_tab>.
ASSIGN lr_stru->* TO <lf_x_stru>.
CHECK sy-subrc = 0.
* END Dynamic Creation of X tab ------------------------------------------
* Static Table works
go_ostream = go_xml_streamfactory->create_ostream_itable( table = gt_xml_table ).
* Dynamic Table doesn't work
go_ostream = go_xml_streamfactory->create_ostream_itable( table = <lf_x_tab> ).
* Show result
DATA: go_renderer TYPE REF TO if_ixml_renderer.
go_renderer = go_ixml->create_renderer( ostream = go_ostream
document = go_xml_document ).
lv_rc = go_renderer->render( ).
gv_xml_size = go_ostream->get_num_written_raw( ).
DATA: lv_str TYPE string,
lv_xstr TYPE xstring.
LOOP AT gt_xml_table INTO gs_xml_line.
lv_xstr = gs_xml_line-data.
CALL FUNCTION 'HR_KR_XSTRING_TO_STRING'
EXPORTING
* FROM_CODEPAGE = '8500'
in_xstring = lv_xstr
* OUT_LEN =
IMPORTING
out_string = lv_str.
WRITE: / lv_str.
ENDLOOP.
If the static table is used, the program gets a result, but it doesn't work with the dynamic table.
* Static Table works
go_ostream = go_xml_streamfactory->create_ostream_itable( table = gt_xml_table ).
* Dynamic Table doesn't work
go_ostream = go_xml_streamfactory->create_ostream_itable( table = <lf_x_tab> ).
Any Ideas?
Thanks in advance
DominikI've never used dynamically changing popup items variable before, and I'm not sure it will work(?)
But, if it's displaying a long string, it does not sound like 'items' is being assigned a proper table yet.
I don't know what you mean by a "chunk" of values. I assume you mean table.
In any case, if SYPNEventResults[1].title is a string, then SYPNEventResults[1].value can be any legal lua type.
Likewise for SYPNEventResults[2], SYPNEventResults[3], ...
If you can index/display the title with this syntax, e.g. LrDialogs.message( SYPNEventResults[1].title ), then the popup should be initialized thusly:
viewFactory:popup_menu {
items = SYPNEventResults,
value = LrView.bind('eventname2'),
width_in_chars = 40,
if a function is returning multiple values, then to get it into a table "array", do this:
local tableArray = { myTableArrayFunc( myTableArrayParameters ) }
Does this help?
Rob
Maybe you are looking for
-
How do I get a list of "Smart Keywords" assigned in firefox?
I have been assigning "Smart Keywords" in the latest Firefox... they are great! As I assign many, I begin to forget some of the older keywords..... How do I generate a list of the Smart Keywords that have already been assigned to sort of prompt my me
-
Sharing PDF Printer Security Settings
Hi We are rolling out Acrobat Pro XI to a group of people; we want all pdfs to be created with the same security settings. I've created a security policy with the required settings (no ability to print, copy contents etc) and it shows up as the requ
-
I need to see if in Crystal I can create a report has two different label sizes per line. It would be landscape with a 1x3 label then it starts 1x1 labels to the right of it. It is east to do with the mailing label wizard with either version but I h
-
Using Run External Script in ICM
Hi all, I am using IPCC enterprise 7.0, during my development on ICM scripting. I am using "Run External Script" to execute IVR script. So my problem is that, any change / update used in IVR subflow will not be effective in ICM until I restart the CR
-
Macbook pro (late 2008) running Mountain Lion... crash!?
Hey, my macbook pro crashes from time to time... i think it is when i do graphic intense stuff like rendering finalcut or playing c&c... playing c&c for example it restarts every time after several minutes of playing with the following report: can so