Create graph based on dynamic table data

Hi experts ;
i have JDeve Version 11.1.2.2.0 , i'm create dynamic table based on dynamic SQL query this query return by function in database by based on passing parameter .
My question :-
1- How create graph based on dynamic table and contral it at run time ?
Thanks & Best Regards

Hi Mostafa,
You can retrieve the data from your sql query in a backing bean and pass it on to Graph using the setTabularData method.
Here is the javadoc for the setTabulardata method:
http://docs.oracle.com/cd/E16162_01/apirefs.1112/e17492/oracle/dss/dataView/CommonDataview.html#setTabularData%28java.util.List%29
Hope this helps
Katia

Similar Messages

  • Create Fieldcatalog based on internal table (dynamic)

    Hi ,
    Is there a way to create Create Fieldcatalog based on internal table (dynamic).
    while creating fieldcat we usually many give the fields "fieldname" and "tabname".
    is there a way to get the fieldname from the main table ?
    Eg ..
    I have i_tab as the output table. It has 3 fields "a", "b" and "c"
    Now when i created fieldcat manually ( in case i cannot use fieldcat_merge FM) , i have to append 3 throws in fieldcat table.
    These rows would have "a", "b" and "c".
    Now i want to know if there is a way in which i can find "a" "b" and "c" fieldnames from the createdd internal tables.
    i can then append the same to fieldcat.

    Hi Anuj,
    I created a FORM routine for this 4 or 5 years ago and made a couple of refinements. Meanwhile it has prooved as very useful.
    The disadvantag is that it creates the oldfashioned field catalog for the function calls. But I already used it for OO fieldcatalog of LVC type - there is a function module for this but I do not have the name here.
    You need the two forms (second called in first) to build the field catalog from any internal table that can be used for ALV display.
    *&      Form  ALV_FIELDCAT_FOR_ITAB
    *       Feldkatalog from (arbitrary) internal Table (c) Clemens Li
    *       * build field catalog from        type description
    form alv_fieldcat_for_itab                                  "#EC *
      tables   pt_outtab                      type table        "#EC *
      changing pt_alv_fieldcat                type slis_t_fieldcat_alv."#EC *
      data:
        lv_desc                               type sydes_desc,
        ls_alv_fieldcat                       type slis_fieldcat_alv,
        lv_longfield                          type text80."CRM<=R/3 fname.
      field-symbols:
        <typeinfo>                            type sydes_typeinfo,
        <nameinfo>                            type sydes_nameinfo.
      describe field pt_outtab into lv_desc.                    "#EC *
      loop at lv_desc-types
          assigning <typeinfo>
          where not idx_name is initial
            and table_kind is initial "no entries for deep table like color
            and back                          = 1. "top-level-entries only.
        read table lv_desc-names index <typeinfo>-idx_name
          assigning <nameinfo>.
        check <nameinfo>-name                 <> 'INCLUDE'.
        ls_alv_fieldcat-fieldname             = <nameinfo>-name.
        while not <nameinfo>-continue is initial.
          add 1 to <typeinfo>-idx_name.
          read table lv_desc-names index <typeinfo>-idx_name
            assigning <nameinfo>.
          concatenate
            ls_alv_fieldcat-fieldname
            <nameinfo>-name
            into ls_alv_fieldcat-fieldname.
        endwhile." not <nameinfo>-continue IS INITIAL.
        read table lv_desc-names index <typeinfo>-idx_help_id
          assigning <nameinfo>.
        if sy-subrc                           = 0.
    * Caution: Help-ID may be Tablename-Fieldname and thus longer
    * than 30 Chars; ls_alv_fieldcat-rollname is 30 Chars only
          ls_alv_fieldcat-rollname            = <nameinfo>-name.
          lv_longfield                        = <nameinfo>-name.
          while not <nameinfo>-continue is initial.
            add 1 to <typeinfo>-idx_help_id.
            read table lv_desc-names index <typeinfo>-idx_help_id
              assigning <nameinfo>.
            concatenate
              lv_longfield
              <nameinfo>-name
              into lv_longfield.
          endwhile." not lv_desc-continue is initial.
    * help id may be data element or <table>-<field>
          if lv_longfield ca '-'.
    * get data                                type for table field
            perform get_rollname_4_tabfield
              using lv_longfield changing ls_alv_fieldcat.
          endif." lv_longfield ca '-'.
        else.
    * No Help-ID: Use Fieldname as text
          ls_alv_fieldcat-seltext_s           =
          ls_alv_fieldcat-seltext_m           =
          ls_alv_fieldcat-seltext_l           =
          ls_alv_fieldcat-reptext_ddic        =
          <nameinfo>-name.
        endif." sy-subrc                      = 0.
    * Starting 4.7: get edit mask
        if not <typeinfo>-idx_edit_mask is initial.
          read table lv_desc-names index <typeinfo>-idx_edit_mask
            assigning <nameinfo>.
          ls_alv_fieldcat-edit_mask           = <nameinfo>-name.
          if not <nameinfo>-continue is initial.
            add 1 to <typeinfo>-idx_edit_mask.
            read table lv_desc-names index <typeinfo>-idx_edit_mask
              assigning <nameinfo>.
            concatenate
              ls_alv_fieldcat-edit_mask
              <nameinfo>-name
              into ls_alv_fieldcat-edit_mask.
          endif." not <nameinfo>-continue IS INITIAL.
        endif." not <typeinfo>-IDX_EDIT_MASK is initial.
    * assign length, output length and decimals
        ls_alv_fieldcat-intlen                = <typeinfo>-length.
        ls_alv_fieldcat-outputlen             = <typeinfo>-output_length.
        ls_alv_fieldcat-decimals_out          = <typeinfo>-decimals.
        ls_alv_fieldcat-inttype               = <typeinfo>-type.
        append ls_alv_fieldcat to pt_alv_fieldcat.
        clear:  "prevent anything 2 B  taken for subsequent fields
          ls_alv_fieldcat.
      endloop." at lv_desc-types where not IDX_NAME is in initial.
    endform.                    " ALV_FIELDCAT_FOR_ITAB
    *&      Form  get_rollname_4_tabfield
    *       Get Data                          type for Table field
    form get_rollname_4_tabfield
      using    p_fname                        type text80 ""CRM<=R/3 fname
      changing p_alv_fieldcat                 type slis_fieldcat_alv.
      field-symbols:
        <dfies>                               type dfies.
      data:
        lv_tabname                            type tabname,
         lt_dfies                             type table of dfies,
        lv_fieldname                          type fieldname.
      split p_fname at '-'
        into lv_tabname lv_fieldname.
      clear p_alv_fieldcat-rollname.
      call function 'DDIF_FIELDINFO_GET'
        exporting
          tabname                             = lv_tabname
          fieldname                           = lv_fieldname
    *   LANGU                                 = SY-LANGU
    *   LFIELDNAME                            = ' '
    *   ALL_TYPES                             = ' '
    * IMPORTING
    *   X030L_WA                              =
    *   DDOBJTYPE                             =
    *   DFIES_WA                              =
    *   LINES_DESCR                           =
       tables
         dfies_tab                            =  lt_dfies
    *   FIXED_VALUES                          =
       exceptions
         not_found                            = 1
         internal_error                       = 2
         others                               = 3
      if sy-subrc                             <> 0.
        message id sy-msgid                   type sy-msgty number sy-msgno
                with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      else.
        read table   lt_dfies assigning <dfies> index 1.
        p_alv_fieldcat-rollname               = <dfies>-rollname.
    * Und wenn keinerlei Twexte gepflegt sind?
        if <dfies>-reptext is initial and
           <dfies>-scrtext_s is initial and
           <dfies>-scrtext_m is initial and
           <dfies>-scrtext_l is initial.
    * No Text: Use Fieldname as text
          p_alv_fieldcat-seltext_s            =
          p_alv_fieldcat-seltext_m            =
          p_alv_fieldcat-seltext_l            =
          p_alv_fieldcat-reptext_ddic         =
          p_alv_fieldcat-fieldname.
        endif." <dfies>-reptext IS INITIAL AND
      endif.
    endform.                    " get_rollname_4_tabfield
    Regards,
    Clemens

  • Updating pie graph  with the pivot table data.

    Hi:
    I have two components, the first is a pivot table and second
    of them is the pie graph, the two components were created in JDeveloper 11g
    on the same page through the same view object, this view object was created through
    a query.
    I need to update the pie graph through the pivot table data.
    ie, according to the data containing on the pivot table, to update the pie graph.

    Hi,
    BPM can be used to validate and update tables.  You can have a transformation step in BPM to validate, and either a JDBC or RFC adapter to update XI table...depending on if the table is an ABAP table or table create outside of ABAP using the vendor's dba tools.
    As for sending file based on counter or timestamp in the name, you can develop a simple adapter user-module using java which can retrieve the file name(s) being processed.  If the name satisfy the rules you have, then proceed, or else terminate the processing in the adapter.
    Regards,
    Bill

  • Creating Graph based on runtime conditions

    Hi,
    Right now i am able to create Graphs based on Views. But my requirement is that, if i click on certain component, i should be able to crate another graph at runtime which will display information based on the Clicked Component of original graph.
    Any help will be appreciated.
    Thanks

    Hi,
    I think the options are
    - create a second graph and hide it at runtime
    - create the graph on the fly in a managed bean, wich is quite a bit of code to write, that is justified if the "generated" graph is different (e.g. different model data) for each master selection.
    The first approach should be doable by detecting the selected information on the master graph and the query the detail iterator accordingly + displaying it.
    The second approach is a deep dive into the graph model APIs because you will have to code this all manually. Note that we don't have documentation for this approach yet
    Frank

  • Is it possible to create graph with in the table / Pivote table.

    Is it possible to create graph with in the table / Pivote table.
    Emp# Emp Name % Bonus Pay Amt
    111 AAA $28276
    222 BBB $78878
    In the place of Bonus I have to display Bar (Chart) instead of number.
    Is it possible in OBIEE? I know we can display chart and table next by next but my user want display just like above.
    Please help me on this issue
    Thank you very much for your time

    hi,
    it is better for 2 different questions,make 2 differents threads...
    You used the 2ond solution(google???),put in the dashboard...html enabled...and check your pdf again.
    Moreover,printing pdf with answer is discouraged...always prefer Xml Publisher.
    Last,there are 2 fst files which configure the *.pdf files , check them,
    http://obiee101.blogspot.com/2008/09/obiee-pdf-controls-fst-files.html
    hope i helped....
    http://greekoraclebi.blogspot.com/
    ///////////////////////////////////////

  • Can I create "Dimension value range" dynamically  from data?

    Hi,
    Can I create "Dimension value range" dynamically  from data?
    Regards

    You need to have a Database Link between two servers. Then you could do execute that statement without any problem. Try to create a database link with the help of
    CREATE DATABASE LINK command. Refer Document for further details

  • Create a edit link from a dynamic table data to the correct record

    ok i have made a dynamic table with the correct information from the MySql database to populate it but i want to add an edit button to take me to the correct information i want to edit / delete. what is happening is no matter what record i want to edit it just takes me to the first record in the database?
    the link i am using is detail.php?userid=<?php echo $row_Recordset1['userid']; ?>
    where the detail.php is where the data can be edited
    thanks in advance for any help
    Jon

    There are 2 things you need to troubleshoot.
    First is the page where you have this link.  In the browser are you being taken to the right page?  Does the address bar show the proper id?  If so, then the problem most likely does not exist on that page.  Then if that is the case how are you pulling the data on the next page to get the right record?  Can you show us the query being used?  It is very hard to troubleshoot without seeing any code.

  • How to Create Check Box in Dynamic Table

    Hi Friends,
    I've Created one Dynamic Table there i want to display 2 columns as Check Box.
    How to Add this check box as column cell variant.
    Looping the columns. In this One method SET_TABLE_CELL_EDITOR is ter. But i'm getting how to use this method. Kindly help in this Issue.
    Regards,
    jack.

    Hi upendra
    There are slight changes in the sivas code.Where is the data coming into the table.If its from a Model Node then iterate each element of the source node get that value compare and set the corresponding value in the element of the node binded to table.
    Create a boolean attribute "select" in the table node and bind it to checked property of the check box.
    for(int i=0;i<wdContext.node<tablenode>()..size();i++)
    if(wdContext.node<tablenode>().get<tablenode>ElementAt(i).select())
    wdContext.node<tablenode>().get<tablenode>ElementAt(i).set<yourattribute>(true);
    else
    wdContext.node<tablenode>().get<tablenode>ElementAt(i).set<yourattribute>(false);
    See the attribute is boolean so pass true or false as a values in setter methods.
    Regards
    Kalyan

  • Create flat file from oracle table data

    d_adp_num char(10)
    d_schd_date char(8)
    d_sched_code char(25)
    d_pay_code char(50)
    d_mil_start char(4)
    d_mil_end char(4)
    d_duration char(5)
    d_site_code char(4)
    d_dept_id char(6)
    select payroll_id,
    schedule_date,
    reason_code ,(sched_code)
    reason_code, (pay_code)
    start_time,
    end_time,
    total_hours,
    site_code,
    department_id
    from dept_staff
    where schedule_date between (sysdate+1) and (sysdate+90)
    loading some data instead for the date range.
    sched_code - 'Unavailable' if reason_code = 'OD' and 'LA'
    pay_code - 'BD Berevevement' if reason_code = 'BD'
    'UP Unexcused PTO' if reason_code = 'UP'
    'RG' if reason_code = 'SH'
    'PTO' if reason_code = 'VA'
    these are a few.....
    start_time and end_time - convert into military time
    based on start_ampm and end_ampm
    Based on this, I need help to create a flat file. Attaching sample of flat file and data from dept_staff
    If site_code is there then no need to get department_id( see sample flat file)
    sample data for flat file
    ZZW002324006072012 PTO
    0800160008.00
    ZZW002428106072012 RG
    1015174507.50HM34
    ZZW002391606072012 RG
    1100193008.50
    ZZW002430406072012 RG
    1100193008.50 130000
    dept_staff table data
    PAYROLL_ID     SCHEDULE_DATE     REASON_CODE     REASON_CODE_1     START_TIME     START_AMPM     END_TIME     END_AMPM     TOTAL_HOURS     SITE_CODE     DEPARTMENT_ID
    ZZW0024468     6/8/2012     SH     SH     730     A     400     P     850          12
    ZZW0000199     6/8/2012     SH     SH     730     A     400     P     850          14
    ZZW0023551     6/8/2012     SH     SH     1145     A     930     P     975     GH08     95
    ZZW0024460     6/8/2012     SH     SH     515     A     330     P     1025     GH08     95
    ZZW0023787     6/8/2012     SH     SH     630     A     300     P     850          24
    ZZW0024595     6/8/2012     TR     TR     730     A     400     P     850          90
    ZZW0023516     6/8/2012     OD     OD     800     A     400     P     800          95
    ZZW0023784     6/8/2012     OD     OD     800     A     400     P     800          5
    ZZW0024445     6/8/2012     SH     SH     1145     A     930     P     975     GH08     5
    ZZW0024525     6/8/2012     OD     OD     800     A     400     P     800          23
    ZZW0024592     6/8/2012     TR     TR     730     A     400     P     850          5
    ZZW0024509     6/8/2012     SH     SH     830     A     330     P     700     MK21     95
    ZZW0023916     6/14/2012     SH     SH     1100     A     730     P     850          27

    user_anumoses wrote:
    Any examples, please provide? Thankshttp://www.lmgtfy.com/?q=oracle+utl_file+example
    Handle:     user_anumoses
    Status Level:     Newbie
    Registered:     Jun 9, 2009
    Total Posts:     155
    Total Questions:     60 (55 unresolved)
    why so MANY unanswered questions?

  • Dynamic table data not transfered to context WD4ABAP

    Hello Guys,
    Currently I have a urgent problem with Adobe Forms and WD4Abap. We are using AdobeReader 8.1.1 und Designer 7.1. Me problem is:
    1) I have an interactive form with dynamic table and simple fields...
    2) Data within textfields can be updated, created and deleted
    3) Data which is initially transfered to TABLES can be changed!!!
    4) BUT, if I add or delete a table row, this is NOT sent back to the WebDynpro context
    I am using the buttons out of the WebDynpro Navtiv Library. Furthermore, if I save the PDF on my Harddisk and start in manually (offline) add, change or delete data, the data is updated by checking it with the export data function within Adobe reader (Document->Form->Export Data)
    Is anybody able to help me, my ideas are on the end...
    Best
    Carsten

    Hi Carsten,
    Thanks again for your quick response.
    I tried using the code you supplied (changing the appopriate fieldnames to suit my form) but unfortunately I am still not able to access the added rows from my WD context. 
    Could you please clarify a couple of things for me?
    1.  In the following line, is "button_1a_+" the name of your button that adds new rows?
    > Carsten Sallaba wrote:
    >
    >$record.BEHAVIOR.PARAMETER.value = "button_1a_+";
    2. I presume that the following line in the code snippet should trigger the submit event on the WD, however this doesn't seem to be working for me, even after creating an action for the onSubmit event in the WD.  Do you have any further info on the changes that need to be made on the WD side?
    > Carsten Sallaba wrote:
    >
    > // DO NOT MODIFY THE CODE BEYOND THIS POINT - 705.20051128130428.257427.256785 - SubmitToSAP.xfo
    > ContainerFoundation_JS.SendMessageToContainer(event.target, "submit", "", "", "", "");
    > // END OF DO NOT MODIFY
    Kind regards,
    Tammie

  • Dynamic table data by adding or delting not transfered to context

    Hello Guys,
    Currently I have a urgent problem with Adobe Forms and WD4Abap. We are using AdobeReader 8.1.1 und Designer 7.1. Me problem is:
    1) I have an interactive form with dynamic table and simple fields...
    2) Data within textfields can be updated, created and deleted
    3) Data which is initially transfered to TABLES can be changed!!!
    4) BUT, if I add or delete a table row, this is NOT sent back to the WebDynpro context
    I am using the buttons out of the WebDynpro Nativ Library. Furthermore, if I save the PDF on my Harddisk and start in manually (offline) add, change or delete data, the data is updated by checking it with the export data function within Adobe reader (Document->Form->Export Data)
    Do I have to implement something special my application,lika a refresh etc.??!?!
    Is anybody able to help me, my ideas are on the end...
    Best
    Carsten

    Hi
    There is seperate forum for Adobe Interactive forms, you can expect more quicker response if you post in that forum.
    SAP Interactive Forms by Adobe
    Abhi

  • Can't create MDFORM based on detail table with upload field

    Has anyone suceeded in creating a Master Detail Form based on a detail form which has an upload field (blob column)?
    I created a table (workingorders) and I want to attach documents to these orders so I created a table (attachments) which holds the attached documents and created a FK between workingorders and attachments. When I create a MD-form based on these tables I get the error:
    Exception from wwv_generate_component.build_procedure (WWV-01821)
    Error creating module: ORA-01403: no data found (WWV-16042)
    When I use a detail table without the BLOB column I don't get this error and everything works just fine.
    any ideas?
    Edward

    Yes, there was a problem when there was a blob field only in the detail table. This has been addressed in patch 3.0.9.8.4 (to be released shortly).
    Till then you will have to put corresponding dummy blob columns in the master table to create the form.

  • Dynamic table data

    Hi guys
    first of all sorry if my English is not so good.
    And now here is my problem..
    On my page a have one combo box with several SQL query s in it.
    Below that i have table in i want to put result from query selected above...but the problem is that i cant do that.
    I create new VO with classic "select * from dual" query and I call method createViewObjectFromQueryStmt to set new query in VO when i change selection from combo box, but table data doesn't change.
    I try to bind table then to set partial trigger and nothing hepend.
    For table I use ADF read only dynamic tabel.
    I hope that somebody can help my
    I use version 11.1.1.6.0.
    Edited by: 965418 on Oct 16, 2012 7:23 AM

    I still have a problem with refreshing table.
    I use second method Timo Hahn mentioned and instade of form I use ADF read only dynamic table.
    After this code execution of code below in appmpdule impl there are rows in VO but table say No data to display.
    vo.remove();
    vo=this.createViewObjectFromQueryStmt("DinVO", newSql);
    vo.executeQuery();
    obviously i miss something to do, any idea what?

  • Dynamic Table data cannot be Read.

    Hello,
           I have an Adobe Interactive form and I am trying to read the data from the Dynamic Table I have in the Form. The Problem is when I try to read the data using the below code, the data which is entered by user data cannot be read for some reason.
    navigate from <CONTEXT> to <ADR_DATA> via lead selection
      lo_nd_adr_data = wd_context->get_child_node( name = wd_this->wdctx_adr_data ).
    navigate from <ADR_DATA> to <PREV_EMPLOYMENT> via lead selection
      lo_nd_prev_employment = lo_nd_adr_data->get_child_node( name = wd_this->wdctx_prev_employment ).
    get element via lead selection
      lo_el_prev_employment = lo_nd_prev_employment->get_element(  ).
    get all declared attributes
      "lo_el_prev_employment->get_static_attributes_table(
      lo_nd_prev_employment->get_static_attributes_table(
       IMPORTING
         table = form_data-prev_employment ).
    I have:-
    1. Checked the Binding on Adobe Form
    2. Checked the Context for the same.
    3. Checked the Cardinality of the Nodes.
    Please let me know in case i am missing something.
    Regards,
    Shishir.P

    Hello,
         I have tried other method as well but was unsucessful, the procedure is below:-
    1. Get PDF content of online form by reading the context.
    2. Convert this data to XML
          l_fp = cl_fp=>get_reference( ).
          l_pdf = l_fp->create_pdf_object( ).
          l_pdf->set_document( pdfdata = pdf_data ).
          l_pdf->set_task_extractdata( ).
          l_pdf->execute( ).
          l_pdf->get_data( IMPORTING formdata = l_xstring ).
          CLASS cl_ixml DEFINITION LOAD.
          DATA: g_ixml TYPE REF TO if_ixml,
                streamfactory TYPE REF TO if_ixml_stream_factory,
                istream        TYPE REF TO if_ixml_istream,
                document TYPE REF TO if_ixml_document,
                parser TYPE REF TO if_ixml_parser.
          g_ixml = cl_ixml=>create( ).
          streamfactory = g_ixml->create_stream_factory( ).
    wrap the table containing the file into a stream
          istream = streamfactory->create_istream_xstring( l_xstring ).
          document = g_ixml->create_document( ).
          parser = g_ixml->create_parser( stream_factory = streamfactory
                                          istream        = istream
                                          document       = document ).
          parser->parse( ).
    3. Read the data from the XML. (I was able to extract other data on the form but not the one in the table. The data entered in the table row in the interactive form is not getting converted into XML or not being extracted in PDF at all).
          form_data = get_adr_from_xml( document ).
    The Code Wizard is an old one and does not support table operations as the new code wizard. Please let me know in case you have any other method of resolving this issue.
    Please let me know your work around, I am in desparate need for a solution.
    Regards,
    Shishir.P
    Edited by: Shishir Paltanwale on Apr 21, 2010 8:16 PM

  • Retreival of Dynamic Table Datas from Adobe to WebDynpro- ABAP

    Dear Friends,
    I have Developed an application in Webdynpro-ABAP, where i have integrated Adobe form in the webdynpro.
    In the adobe form, dynamic table is there where we can add and delete the rows at runtime.
    I am trying to retreive the table datas at runtime from the adobe.
    I can able to retreive only the first record from the table, even if the table contain more than one rows.
    As per the below code i have retreived the count, where it is showing the count as 1.
    using the method get_static_attributes_table i am trying to fetch all the records, but i can able to retreive only the first record.
    lo_nd_zsm_fm_transport_tra = wd_context->get_child_node( name = wd_this->wdctx_zsm_fm_transport_tra ).
      lo_nd_tr_details_i = lo_nd_zsm_fm_transport_tra->get_child_node( name = wd_this->wdctx_tr_details_i ).
    count = lo_nd_tr_details_i->GET_ELEMENT_COUNT( ).
    elems_bank_table = lo_nd_tr_details_i->get_elements( ).
    lo_nd_tr_details_i->get_static_attributes_table(
      importing
        table = ls_tr_details_i ).
    Even Cardinality i have maintained as 1.N for the node.
    Kindly provide me the solution.
    Thanks and Regards,
    Sathish,,

    Hi, I have solution for read data from dynamic table and add these added row to WD4A context (and then save them to DB) (in ONACTIONPROCESS_SUBMIT event):
    DATA: l_fp TYPE REF TO if_fp.
    l_fp = cl_fp=>get_reference( ).
    DATA: l_pdfobj TYPE REF TO if_fp_pdf_object.
    l_pdfobj = l_fp->create_pdf_object( ).
    l_pdfobj->set_document( pdfdata = lv_pdfsource ).
    l_pdfobj->set_extractdata( ).
    l_pdfobj->execute( ).
    DATA: pdf_form_data TYPE xstring.
    l_pdfobj->get_data( IMPORTING formdata = pdf_form_data ).
    DATA: converter TYPE REF TO cl_abap_conv_in_ce, formxml TYPE string.
    Converter = cl_abap_conv_in_ce=>create( input = pdf_form_data ).
    Converter->read( IMPORTING data = formxml ).
    TYPE-POOLS: ixml.
    DATA: l_ixml TYPE REF TO if_ixml.
    l_ixml = cl_ixml=>create( ).
    DATA: streamfactory TYPE REF TO if_ixml_stream_factory,
    istream TYPE REF TO if_ixml_istream.
    streamfactory = l_ixml->create_stream_factory( ).
    istream = streamfactory->create_istream_string( formxml ).
    DATA: document TYPE REF TO if_ixml_document.
    Document = l_ixml->create_document( ).
    DATA: parser TYPE REF TO if_ixml_parser.
    parser = l_ixml->create_parser( stream_factory = streamfactory
                                               istream = istream
                                               document = document ).
    Parser->parse( ).
    the code above allows you to read xml data from pdf file, then you need only to read xml and adding rows to your context:
    data : item type string.  DATA: nodechild TYPE REF TO if_ixml_node,
            Childschild TYPE REF TO if_ixml_node.
        data: num_of_children type i,
              x type i,
              y type i,
              num_of_attribute.
    node = document->find_from_name('ZAM_PROTSTROJF').
    num_of_children = node->num_children( ).
    nodechild = node->get_first_child( ).
    data: wa_strojdetail type ZAM_PROTSTROJF,
          wa_strojdetail_tab TYPE TABLE OF ZAM_PROTSTROJF.
    wa_strojdetail-docnum = ls_zam_protstroj-docnum.
    wa_strojdetail-bukrs = 'VVS'.
    wa_strojdetail-mandt = sy-mandt.
    y = 1.
    do Num_of_children times.
           num_of_attribute = nodechild->num_children( ).  " Childschild->num_children( )." Getting the number of attributes
           Childschild = nodechild->get_first_child( ).
           wa_strojdetail-itemnum  = y.
           x = 1.
           do num_of_attribute times.
              item = Childschild->GET_value( ).
              CASE x.
                WHEN 4.
                  wa_strojdetail-anln1 = item.
                WHEN 5.
                  wa_strojdetail-anln2 = item.
                WHEN 6.
                  wa_strojdetail-bubtr = item.
                WHEN 7.
                  wa_strojdetail-belnr = item.
              ENDCASE.
              Childschild = Childschild->get_next( ).
              x = x + 1.
          enddo.
          y = y + 1.
          APPEND wa_strojdetail to wa_strojdetail_tab.
          nodechild = nodechild->get_next( ).
    enddo.
    This is complete solution for adding rows in interactive forms and working with them in WD4A!
    Regards Jiri
    Edited by: Jiri Neuzil on Jun 10, 2009 8:13 AM
    Sorry for formatting, but I don't know, how to format text correctly on this site in plain text I have all text correctly formatted, but in preview....

Maybe you are looking for