<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: smaple code for multiple  interactive reports in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/smaple-code-for-multiple-interactive-reports/m-p/2310791#M506111</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Manikandan,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    plz see this code.If helpful reward points.&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;report  zinteractivereportsv1                   .


tables: mara,vbap.

data : begin of itab occurs 0,
       matnr like mara-matnr,
       ernam like mara-ernam,
       end of itab.

data :  begin of itab1 occurs 0,
        matnr like vbap-matnr,
        vbeln like vbap-vbeln,
        end of itab1.
data: fld(20) type c,val like mara-matnr .

selection-screen begin of block blk1 with frame title text-001.
select-options: m for mara-matnr obligatory.
selection-screen end of block blk1.

at selection-screen on m.
  select single matnr from mara into mara-matnr where matnr = m-low.
  if sy-subrc ne 0.
    message e000(zz) with 'invalid ' mara-matnr 'in your ' 'selection'.
  endif.



start-of-selection.
  select matnr ernam into table itab from mara where matnr in m.
  select matnr vbeln into table itab1 from vbap for all entries in itab
  where matnr = itab-matnr.



end-of-selection.
  loop at itab.
    write:/30 itab-matnr,60 itab-ernam.
*    hide itab-matnr.
    clear itab-matnr.
  endloop.
set pf-status 'XX2'.


at line-selection.
    get cursor field fld  value val.
   case fld.
   when 'ITAB-MATNR'.
   write:/ val.
   endcase.
  case sy-lsind.
    when '1'.
      set pf-status 'XX2'.
      set titlebar 'XX2'.
      if itab1[] is initial.
        write:/ 'no data found for itab1 in first secondary list'.
      endif.
      loop at itab1.
        write:/30 itab1-matnr,60 itab1-vbeln.
*        hide itab1-matnr.
      endloop.
      when '2'.
      set pf-status 'XX2'.
      set titlebar 'XX2'.
      loop at itab.
        write:/30 itab-matnr,60 itab-ernam.
      endloop.
  endcase.

at user-command.
case sy-ucomm.
     when 'SET'.
      if sy-lsind = 1.
        window starting at 5 3 ending at 40 10.
        write 'Select line for a second window'.
      elseif sy-lsind = 2.
        window starting at 45 10 ending at 60 12.
        write 'Last window'.
      endif.


    when 'BACK'.
      sy-lsind = sy-lsind - 1.
    when 'ABC'.
      write:/ 'iam great'.

    when 'DOWNLOAD'.

      call function 'GUI_DOWNLOAD'
        exporting
*               BIN_FILESIZE                    =
          filename                        = 'c:temp.txt'
         filetype                        = 'DAT'
*               APPEND                          = ' '
*               WRITE_FIELD_SEPARATOR           = ' '
*               HEADER                          = '00'
*               TRUNC_TRAILING_BLANKS           = ' '
*               WRITE_LF                        = 'X'
*               COL_SELECT                      = ' '
*               COL_SELECT_MASK                 = ' '
*               DAT_MODE                        = ' '
*               CONFIRM_OVERWRITE               = ' '
*               NO_AUTH_CHECK                   = ' '
*               CODEPAGE                        = ' '
*               IGNORE_CERR                     = ABAP_TRUE
*               REPLACEMENT                     = '#'
*               WRITE_BOM                       = ' '
*               TRUNC_TRAILING_BLANKS_EOL       = 'X'
*               WK1_N_FORMAT                    = ' '
*               WK1_N_SIZE                      = ' '
*               WK1_T_FORMAT                    = ' '
*               WK1_T_SIZE                      = ' '
*             IMPORTING
*               FILELENGTH                      =
        tables
          data_tab                        = itab
*               FIELDNAMES                      =
       exceptions
         file_write_error                = 1
         no_batch                        = 2
         gui_refuse_filetransfer         = 3
         invalid_type                    = 4
         no_authority                    = 5
         unknown_error                   = 6
         header_not_allowed              = 7
         separator_not_allowed           = 8
         filesize_not_allowed            = 9
         header_too_long                 = 10
         dp_error_create                 = 11
         dp_error_send                   = 12
         dp_error_write                  = 13
         unknown_dp_error                = 14
         access_denied                   = 15
         dp_out_of_memory                = 16
         disk_full                       = 17
         dp_timeout                      = 18
         file_not_found                  = 19
         dataprovider_exception          = 20
         control_flush_error             = 21
         others                          = 22.
      if sy-subrc &amp;lt;&amp;gt; 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      endif.
  endcase.



top-of-page during  line-selection.
  case sy-lsind.
    when '1'.
      write:/ 'this is secondary list'.
  endcase.





*  AT USER-COMMAND.
*  CASE sy-ucomm.
*    WHEN 'SELE'.
*      IF sy-lsind = 1.
*        SET PF-STATUS 'DIALOG'.
*        SET TITLEBAR 'WI1'.
*        WINDOW STARTING AT 5 3 ENDING AT 40 10.
*        WRITE 'Select line for a second window'.
*      ELSEIF sy-lsind = 2.
*        SET PF-STATUS 'DIALOG' EXCLUDING 'SELE'.
*        SET TITLEBAR 'WI2'.
*        WINDOW STARTING AT 45 10 ENDING AT 60 12.
*        WRITE 'Last window'.
*      ENDIF.
*  ENDCASE.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Suma.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 31 May 2007 07:35:06 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-05-31T07:35:06Z</dc:date>
    <item>
      <title>smaple code for multiple  interactive reports</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/smaple-code-for-multiple-interactive-reports/m-p/2310790#M506110</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi experts,&lt;/P&gt;&lt;P&gt;               Pls send me a sample code or link for creating muiltiple interactive reports.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 31 May 2007 07:31:26 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/smaple-code-for-multiple-interactive-reports/m-p/2310790#M506110</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-31T07:31:26Z</dc:date>
    </item>
    <item>
      <title>Re: smaple code for multiple  interactive reports</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/smaple-code-for-multiple-interactive-reports/m-p/2310791#M506111</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Manikandan,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    plz see this code.If helpful reward points.&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;report  zinteractivereportsv1                   .


tables: mara,vbap.

data : begin of itab occurs 0,
       matnr like mara-matnr,
       ernam like mara-ernam,
       end of itab.

data :  begin of itab1 occurs 0,
        matnr like vbap-matnr,
        vbeln like vbap-vbeln,
        end of itab1.
data: fld(20) type c,val like mara-matnr .

selection-screen begin of block blk1 with frame title text-001.
select-options: m for mara-matnr obligatory.
selection-screen end of block blk1.

at selection-screen on m.
  select single matnr from mara into mara-matnr where matnr = m-low.
  if sy-subrc ne 0.
    message e000(zz) with 'invalid ' mara-matnr 'in your ' 'selection'.
  endif.



start-of-selection.
  select matnr ernam into table itab from mara where matnr in m.
  select matnr vbeln into table itab1 from vbap for all entries in itab
  where matnr = itab-matnr.



end-of-selection.
  loop at itab.
    write:/30 itab-matnr,60 itab-ernam.
*    hide itab-matnr.
    clear itab-matnr.
  endloop.
set pf-status 'XX2'.


at line-selection.
    get cursor field fld  value val.
   case fld.
   when 'ITAB-MATNR'.
   write:/ val.
   endcase.
  case sy-lsind.
    when '1'.
      set pf-status 'XX2'.
      set titlebar 'XX2'.
      if itab1[] is initial.
        write:/ 'no data found for itab1 in first secondary list'.
      endif.
      loop at itab1.
        write:/30 itab1-matnr,60 itab1-vbeln.
*        hide itab1-matnr.
      endloop.
      when '2'.
      set pf-status 'XX2'.
      set titlebar 'XX2'.
      loop at itab.
        write:/30 itab-matnr,60 itab-ernam.
      endloop.
  endcase.

at user-command.
case sy-ucomm.
     when 'SET'.
      if sy-lsind = 1.
        window starting at 5 3 ending at 40 10.
        write 'Select line for a second window'.
      elseif sy-lsind = 2.
        window starting at 45 10 ending at 60 12.
        write 'Last window'.
      endif.


    when 'BACK'.
      sy-lsind = sy-lsind - 1.
    when 'ABC'.
      write:/ 'iam great'.

    when 'DOWNLOAD'.

      call function 'GUI_DOWNLOAD'
        exporting
*               BIN_FILESIZE                    =
          filename                        = 'c:temp.txt'
         filetype                        = 'DAT'
*               APPEND                          = ' '
*               WRITE_FIELD_SEPARATOR           = ' '
*               HEADER                          = '00'
*               TRUNC_TRAILING_BLANKS           = ' '
*               WRITE_LF                        = 'X'
*               COL_SELECT                      = ' '
*               COL_SELECT_MASK                 = ' '
*               DAT_MODE                        = ' '
*               CONFIRM_OVERWRITE               = ' '
*               NO_AUTH_CHECK                   = ' '
*               CODEPAGE                        = ' '
*               IGNORE_CERR                     = ABAP_TRUE
*               REPLACEMENT                     = '#'
*               WRITE_BOM                       = ' '
*               TRUNC_TRAILING_BLANKS_EOL       = 'X'
*               WK1_N_FORMAT                    = ' '
*               WK1_N_SIZE                      = ' '
*               WK1_T_FORMAT                    = ' '
*               WK1_T_SIZE                      = ' '
*             IMPORTING
*               FILELENGTH                      =
        tables
          data_tab                        = itab
*               FIELDNAMES                      =
       exceptions
         file_write_error                = 1
         no_batch                        = 2
         gui_refuse_filetransfer         = 3
         invalid_type                    = 4
         no_authority                    = 5
         unknown_error                   = 6
         header_not_allowed              = 7
         separator_not_allowed           = 8
         filesize_not_allowed            = 9
         header_too_long                 = 10
         dp_error_create                 = 11
         dp_error_send                   = 12
         dp_error_write                  = 13
         unknown_dp_error                = 14
         access_denied                   = 15
         dp_out_of_memory                = 16
         disk_full                       = 17
         dp_timeout                      = 18
         file_not_found                  = 19
         dataprovider_exception          = 20
         control_flush_error             = 21
         others                          = 22.
      if sy-subrc &amp;lt;&amp;gt; 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      endif.
  endcase.



top-of-page during  line-selection.
  case sy-lsind.
    when '1'.
      write:/ 'this is secondary list'.
  endcase.





*  AT USER-COMMAND.
*  CASE sy-ucomm.
*    WHEN 'SELE'.
*      IF sy-lsind = 1.
*        SET PF-STATUS 'DIALOG'.
*        SET TITLEBAR 'WI1'.
*        WINDOW STARTING AT 5 3 ENDING AT 40 10.
*        WRITE 'Select line for a second window'.
*      ELSEIF sy-lsind = 2.
*        SET PF-STATUS 'DIALOG' EXCLUDING 'SELE'.
*        SET TITLEBAR 'WI2'.
*        WINDOW STARTING AT 45 10 ENDING AT 60 12.
*        WRITE 'Last window'.
*      ENDIF.
*  ENDCASE.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Suma.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 31 May 2007 07:35:06 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/smaple-code-for-multiple-interactive-reports/m-p/2310791#M506111</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-31T07:35:06Z</dc:date>
    </item>
    <item>
      <title>Re: smaple code for multiple  interactive reports</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/smaple-code-for-multiple-interactive-reports/m-p/2310792#M506112</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;See the sample programs for interactive lists&lt;/P&gt;&lt;P&gt;REPORT ZTEJ_INTAB1 LINE-SIZE 103 LINE-COUNT 35(5) NO STANDARD PAGE&lt;/P&gt;&lt;P&gt;HEADING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*TABLES DECLARATION&lt;/P&gt;&lt;P&gt;TABLES : KNA1, VBAK, VBAP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*SELECT OPTIONS&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: CUST_NO FOR KNA1-KUNNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*INITIALIZATION&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;CUST_NO-LOW = '01'.&lt;/P&gt;&lt;P&gt;CUST_NO-HIGH = '5000'.&lt;/P&gt;&lt;P&gt;CUST_NO-SIGN = 'I'.&lt;/P&gt;&lt;P&gt;CUST_NO-OPTION = 'BT'.&lt;/P&gt;&lt;P&gt;APPEND CUST_NO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*SELECTION SCREEN VALIDATION&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON CUST_NO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;IF CUST_NO-LOW &amp;lt; 1 OR CUST_NO-HIGH &amp;gt; 5000.&lt;/P&gt;&lt;P&gt;MESSAGE E001(ZTJ1).&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*BASIC LIST SELECTION&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT KUNNR NAME1 ORT01 LAND1 INTO&lt;/P&gt;&lt;P&gt;(KNA1-KUNNR, KNA1-NAME1,KNA1-ORT01,KNA1-LAND1)&lt;/P&gt;&lt;P&gt;FROM KNA1&lt;/P&gt;&lt;P&gt;WHERE KUNNR IN CUST_NO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WRITE:/1 SY-VLINE,&lt;/P&gt;&lt;P&gt;KNA1-KUNNR UNDER 'CUSTOMER NO.' HOTSPOT ON,&lt;/P&gt;&lt;P&gt;16 SY-VLINE,&lt;/P&gt;&lt;P&gt;KNA1-NAME1 UNDER 'NAME',&lt;/P&gt;&lt;P&gt;61 SY-VLINE,&lt;/P&gt;&lt;P&gt;KNA1-ORT01 UNDER 'CITY',&lt;/P&gt;&lt;P&gt;86 SY-VLINE,&lt;/P&gt;&lt;P&gt;KNA1-LAND1 UNDER 'COUNTRY',&lt;/P&gt;&lt;P&gt;103 SY-VLINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;HIDE: KNA1-KUNNR.&lt;/P&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;P&gt;ULINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*SECONDARY LIST ACCESS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT user-command.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF SY-UCOMM = 'IONE'.&lt;/P&gt;&lt;P&gt;PERFORM SALES_ORD.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;IF SY-UCOMM = 'ITWO'.&lt;/P&gt;&lt;P&gt;PERFORM ITEM_DET.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*TOP OF PAGE&lt;/P&gt;&lt;P&gt;TOP-OF-PAGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORMAT COLOR 1.&lt;/P&gt;&lt;P&gt;WRITE : 'CUSTOMER DETAILS'.&lt;/P&gt;&lt;P&gt;FORMAT COLOR 1 OFF.&lt;/P&gt;&lt;P&gt;ULINE.&lt;/P&gt;&lt;P&gt;FORMAT COLOR 3.&lt;/P&gt;&lt;P&gt;WRITE : 1 SY-VLINE,&lt;/P&gt;&lt;P&gt;3 'CUSTOMER NO.',&lt;/P&gt;&lt;P&gt;16 SY-VLINE,&lt;/P&gt;&lt;P&gt;18 'NAME',&lt;/P&gt;&lt;P&gt;61 SY-VLINE,&lt;/P&gt;&lt;P&gt;63 'CITY',&lt;/P&gt;&lt;P&gt;86 SY-VLINE,&lt;/P&gt;&lt;P&gt;88 'COUNTRY',&lt;/P&gt;&lt;P&gt;103 SY-VLINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ULINE.&lt;/P&gt;&lt;P&gt;FORMAT COLOR 3 OFF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*TOP OF PAGE FOR SECONDARY LISTS&lt;/P&gt;&lt;P&gt;TOP-OF-PAGE DURING LINE-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*TOP OF PAGE FOR 1ST SECONDARY LIST&lt;/P&gt;&lt;P&gt;IF SY-UCOMM = 'IONE'.&lt;/P&gt;&lt;P&gt;ULINE.&lt;/P&gt;&lt;P&gt;FORMAT COLOR 1.&lt;/P&gt;&lt;P&gt;WRITE : 'SALES ORDER DETAILS'.&lt;/P&gt;&lt;P&gt;ULINE.&lt;/P&gt;&lt;P&gt;FORMAT COLOR 1 OFF.&lt;/P&gt;&lt;P&gt;FORMAT COLOR 3.&lt;/P&gt;&lt;P&gt;WRITE : 1 SY-VLINE,&lt;/P&gt;&lt;P&gt;3 'CUSTOMER NO.',&lt;/P&gt;&lt;P&gt;16 SY-VLINE,&lt;/P&gt;&lt;P&gt;18 'SALES ORDER NO.',&lt;/P&gt;&lt;P&gt;40 SY-VLINE,&lt;/P&gt;&lt;P&gt;42 'DATE',&lt;/P&gt;&lt;P&gt;60 SY-VLINE,&lt;/P&gt;&lt;P&gt;62 'CREATOR',&lt;/P&gt;&lt;P&gt;85 SY-VLINE,&lt;/P&gt;&lt;P&gt;87 'DOC DATE',&lt;/P&gt;&lt;P&gt;103 SY-VLINE.&lt;/P&gt;&lt;P&gt;ULINE.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;FORMAT COLOR 3 OFF.&lt;/P&gt;&lt;P&gt;*TOP OF PAGE FOR 2ND SECONDARY LIST&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF SY-UCOMM = 'ITWO'.&lt;/P&gt;&lt;P&gt;ULINE.&lt;/P&gt;&lt;P&gt;FORMAT COLOR 1.&lt;/P&gt;&lt;P&gt;WRITE : 'ITEM DETAILS'.&lt;/P&gt;&lt;P&gt;ULINE.&lt;/P&gt;&lt;P&gt;FORMAT COLOR 1 OFF.&lt;/P&gt;&lt;P&gt;FORMAT COLOR 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WRITE : 1 SY-VLINE,&lt;/P&gt;&lt;P&gt;3 'SALES ORDER NO.',&lt;/P&gt;&lt;P&gt;40 SY-VLINE,&lt;/P&gt;&lt;P&gt;42 'SALES ITEM NO.',&lt;/P&gt;&lt;P&gt;60 SY-VLINE,&lt;/P&gt;&lt;P&gt;62 'ORDER QUANTITY',&lt;/P&gt;&lt;P&gt;103 SY-VLINE.&lt;/P&gt;&lt;P&gt;ULINE.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;FORMAT COLOR 3 OFF.&lt;/P&gt;&lt;P&gt;*END OF PAGE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-PAGE.&lt;/P&gt;&lt;P&gt;ULINE.&lt;/P&gt;&lt;P&gt;WRITE :'USER :',SY-UNAME,/,'DATE :', SY-DATUM, 85 'END OF PAGE:',&lt;/P&gt;&lt;P&gt;SY-PAGNO.&lt;/P&gt;&lt;P&gt;SKIP.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form SALES_ORD&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;*&amp;amp; FIRST SECONDARY LIST FORM&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM SALES_ORD .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT KUNNR VBELN ERDAT ERNAM AUDAT INTO&lt;/P&gt;&lt;P&gt;(VBAK-KUNNR, VBAK-VBELN, VBAK-ERDAT, VBAK-ERNAM, VBAK-AUDAT)&lt;/P&gt;&lt;P&gt;FROM VBAK&lt;/P&gt;&lt;P&gt;WHERE KUNNR = KNA1-KUNNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WRITE:/1 SY-VLINE,&lt;/P&gt;&lt;P&gt;VBAK-KUNNR UNDER 'CUSTOMER NO.' HOTSPOT ON,&lt;/P&gt;&lt;P&gt;16 SY-VLINE,&lt;/P&gt;&lt;P&gt;VBAK-VBELN UNDER 'SALES ORDER NO.' HOTSPOT ON,&lt;/P&gt;&lt;P&gt;40 SY-VLINE,&lt;/P&gt;&lt;P&gt;VBAK-ERDAT UNDER 'DATE',&lt;/P&gt;&lt;P&gt;60 SY-VLINE,&lt;/P&gt;&lt;P&gt;VBAK-ERNAM UNDER 'CREATOR',&lt;/P&gt;&lt;P&gt;85 SY-VLINE,&lt;/P&gt;&lt;P&gt;VBAK-AUDAT UNDER 'DOC DATE',&lt;/P&gt;&lt;P&gt;103 SY-VLINE.&lt;/P&gt;&lt;P&gt;HIDE : VBAK-VBELN.&lt;/P&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ULINE.&lt;/P&gt;&lt;P&gt;ENDFORM. " SALES_ORD&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form ITEM_DET&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;*&amp;amp; SECOND SECONDARY LIST FORM&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM ITEM_DET .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT VBELN POSNR KWMENG INTO&lt;/P&gt;&lt;P&gt;(VBAP-VBELN, VBAP-POSNR, VBAP-KWMENG)&lt;/P&gt;&lt;P&gt;FROM VBAP&lt;/P&gt;&lt;P&gt;WHERE VBELN = VBAK-VBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WRITE : /1 SY-VLINE,&lt;/P&gt;&lt;P&gt;VBAP-VBELN UNDER 'SALES ORDER NO.',&lt;/P&gt;&lt;P&gt;40 SY-VLINE,&lt;/P&gt;&lt;P&gt;VBAP-POSNR UNDER 'SALES ITEM NO.',&lt;/P&gt;&lt;P&gt;60 SY-VLINE,&lt;/P&gt;&lt;P&gt;VBAP-KWMENG UNDER 'ORDER QUANTITY',&lt;/P&gt;&lt;P&gt;103 SY-VLINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;P&gt;ULINE.&lt;/P&gt;&lt;P&gt;ENDFORM. " ITEM_DET&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT demo_list_at_pf.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;WRITE 'Basic List, Press PF5, PF6, PF7, or PF8'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT pf5.&lt;/P&gt;&lt;P&gt;PERFORM out.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT pf6.&lt;/P&gt;&lt;P&gt;PERFORM out.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT pf7.&lt;/P&gt;&lt;P&gt;PERFORM out.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT pf8.&lt;/P&gt;&lt;P&gt;PERFORM out.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM out.&lt;/P&gt;&lt;P&gt;WRITE: 'Secondary List by PF-Key Selection',&lt;/P&gt;&lt;P&gt;/ 'SY-LSIND =', sy-lsind,&lt;/P&gt;&lt;P&gt;/ 'SY-UCOMM =', sy-ucomm.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After executing the program, the system displays the basic list. The user can press the function keys F5 , F6 , F7 , and F8 to create secondary lists. If, for example, the 14th key the user presses is F6 , the output on the displayed secondary list looks as follows:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Secondary List by PF-Key Selection&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SY-LSIND = 14&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SY-UCOMM = PF06&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Example for AT USER-COMMAND.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT demo_list_at_user_command NO STANDARD PAGE HEADING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;WRITE: 'Basic List',&lt;/P&gt;&lt;P&gt;/ 'SY-LSIND:', sy-lsind.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TOP-OF-PAGE.&lt;/P&gt;&lt;P&gt;WRITE 'Top-of-Page'.&lt;/P&gt;&lt;P&gt;ULINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TOP-OF-PAGE DURING LINE-SELECTION.&lt;/P&gt;&lt;P&gt;CASE sy-pfkey.&lt;/P&gt;&lt;P&gt;WHEN 'TEST'.&lt;/P&gt;&lt;P&gt;WRITE 'Self-defined GUI for Function Codes'.&lt;/P&gt;&lt;P&gt;ULINE.&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT LINE-SELECTION.&lt;/P&gt;&lt;P&gt;SET PF-STATUS 'TEST' EXCLUDING 'PICK'.&lt;/P&gt;&lt;P&gt;PERFORM out.&lt;/P&gt;&lt;P&gt;sy-lsind = sy-lsind - 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT USER-COMMAND.&lt;/P&gt;&lt;P&gt;CASE sy-ucomm.&lt;/P&gt;&lt;P&gt;WHEN 'FC1'.&lt;/P&gt;&lt;P&gt;PERFORM out.&lt;/P&gt;&lt;P&gt;WRITE / 'Button FUN 1 was pressed'.&lt;/P&gt;&lt;P&gt;WHEN 'FC2'.&lt;/P&gt;&lt;P&gt;PERFORM out.&lt;/P&gt;&lt;P&gt;WRITE / 'Button FUN 2 was pressed'.&lt;/P&gt;&lt;P&gt;WHEN 'FC3'.&lt;/P&gt;&lt;P&gt;PERFORM out.&lt;/P&gt;&lt;P&gt;WRITE / 'Button FUN 3 was pressed'.&lt;/P&gt;&lt;P&gt;WHEN 'FC4'.&lt;/P&gt;&lt;P&gt;PERFORM out.&lt;/P&gt;&lt;P&gt;WRITE / 'Button FUN 4 was pressed'.&lt;/P&gt;&lt;P&gt;WHEN 'FC5'.&lt;/P&gt;&lt;P&gt;PERFORM out.&lt;/P&gt;&lt;P&gt;WRITE / 'Button FUN 5 was pressed'.&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;sy-lsind = sy-lsind - 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM out.&lt;/P&gt;&lt;P&gt;WRITE: 'Secondary List',&lt;/P&gt;&lt;P&gt;/ 'SY-LSIND:', sy-lsind,&lt;/P&gt;&lt;P&gt;/ 'SY-PFKEY:', sy-pfkey.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When you run the program, the system displays the following basic list with a the page header defined in the program:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can trigger the AT LINE-SELECTION event by double-clicking a line. The system sets the status TEST and deactivates the function code PICK. The status TEST contains function codes FC1 to FC5. These are assigned to pushbuttons in the application toolbar. The page header of the detail list depends on the status. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here, double-clicking a line no longer triggers an event. However, there is now an application toolbar containing five user-defined pushbuttons. You can use these to trigger the AT USER-COMMAND event. The CASE statement contains a different reaction for each pushbutton. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For each interactive event, the system decreases the SY-LSIND system field by one, thus canceling out the automatic increase. All detail lists now have the same level as the basic list and thus overwrite it. While the detail list is being created, SY-LSIND still has the value 1. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward points if useful&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Anji&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 31 May 2007 07:35:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/smaple-code-for-multiple-interactive-reports/m-p/2310792#M506112</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-31T07:35:34Z</dc:date>
    </item>
  </channel>
</rss>

