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
    Pascal

    Hi 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

  • How to install adobe forms

    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
    Suman

    Hi 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
    Dawson

    Hi 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
    Prasadh

    A 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,
    Vasu

    You 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.

  • Xfa.host.gotoURL() in Adobe Reader / Dynamic Tables with AcroForms?

    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,
    Marcus

    Normal 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
       Kiran

    dear 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 B

    my 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.
    Thanks

    This 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