Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

abap

Former Member
0 Likes
806

i need to add check boxes in alv report and send the data selected to another report and do nedd so how to

4 REPLIES 4
Read only

dani_mn
Active Contributor
0 Likes
561

HI,

look into following program.

REPORT ZWA_FI_ANNUAL_REPORT .
TYPE-POOLS: slis.
TABLES: BKPF, BSIS, PAYR.

TYPES: begin of itab_post_type,

           bukrs type bkpf-bukrs,
           belnr type bkpf-belnr,
           gjahr type bkpf-gjahr,

           blart type bkpf-blart,
           bstat type bkpf-bstat,

           hkont type bsis-hkont,
           shkzg type bsis-shkzg,
           wrbtr type bsis-wrbtr,



       end of itab_post_type.

DATA: begin of itab_post occurs 0,

           bukrs like bkpf-bukrs,
           belnr like bkpf-belnr,
           gjahr like bkpf-gjahr,

           blart like bkpf-blart,
           bstat like bkpf-bstat,

           hkont like bsis-hkont,
           shkzg like bsis-shkzg,
           wrbtr like bsis-wrbtr,
           flag(1),



       end of itab_post.
*DATA: itab_post type standard table of itab_post_type INITIAL SIZE 0
*with header line.
data: fm_name TYPE rs38l_fnam.

data v_repid like sy-repid.

DATA: it_fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE,
      heading  TYPE slis_t_listheader,
      gs_layout  TYPE slis_layout_alv,
      gx_variant LIKE disvariant,
      g_variant  LIKE disvariant,
      g_exit(1) TYPE c,
      g_save(1) TYPE c,
      gt_list_top_of_page TYPE slis_t_listheader,
      gt_events   TYPE slis_t_event,
      olen TYPE i,
      pageno TYPE n,
      filename LIKE sy-repid.
DATA: IT_EXCL_BUTT type SLIS_T_EXTAB.
data: wa_excl_buttons type SLIS_EXTAB.
data: header type slis_keyinfo_alv.
data: wa_header type slis_keyinfo_alv.

v_repid = sy-repid.

"-----------------------------------------------"
" Selection screen for entering search criteria "
"-----------------------------------------------"
select-options:bukrs for bsis-bukrs,
               gjahr for bkpf-gjahr,
               prctr for bsis-prctr,
               kostl for bsis-kostl,
               belnr for bsis-belnr,
               budat for bsis-budat,
               bldat for bkpf-bldat,
               hkont for bsis-hkont,
               blart for bkpf-blart,
               uname for bkpf-usnam.

SELECT bk~bukrs bk~belnr
       bk~gjahr bk~blart
       bk~bstat bs~hkont
       bs~shkzg bs~wrbtr
*INTO TABLE itab_post
INTO    (itab_post-bukrs, itab_post-belnr,
         itab_post-gjahr, itab_post-blart,
         itab_post-bstat, itab_post-hkont,
         itab_post-shkzg, itab_post-wrbtr )

FROM bkpf as bk
JOIN bsis as bs
ON  ( bk~belnr = bs~belnr AND
      bk~bukrs = bs~bukrs AND
      bk~gjahr = bs~gjahr )
WHERE bk~belnr IN belnr AND
      bk~gjahr IN gjahr AND
      bk~bukrs IN bukrs AND
      bk~blart IN blart AND
      bk~bldat IN bldat AND
      bk~usnam IN uname AND
      bs~hkont IN hkont AND
      bs~kostl IN kostl.

  append itab_post.
ENDSELECT.


PERFORM field_catalog.

<b>
gs_layout-box_fieldname = 'FLAG'.</b>




CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
       EXPORTING
            i_callback_program = v_repid
            i_callback_user_command = 'ITAB_USER_COMMAND'
            is_layout          = gs_layout
            i_background_id    ='CGA'
            i_grid_title       ='Employee Cheque Advice'

            it_fieldcat        = it_fieldcat[]
            i_save             = g_save
            is_variant         = g_variant
            it_events          = gt_events[]
       TABLES
            t_outtab           = itab_post
       EXCEPTIONS
            program_error      = 1
            OTHERS             = 2.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.



**
**ENDLOOP.
*&---------------------------------------------------------------------*
*&      Form  field_catalog
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM field_catalog.


*There are other fields in this structure and can be used accordingly
*for different purposes like no_zero, round, no_sign etc.
  DATA: wa_fieldcat TYPE slis_fieldcat_alv.

  call function 'REUSE_ALV_FIELDCATALOG_MERGE'
  exporting
  i_program_name = v_repid
  i_internal_tabname = 'ITAB_POST'
* I_STRUCTURE_NAME =
* I_CLIENT_NEVER_DISPLAY = 'X'
  i_inclname = v_repid
* I_BYPASSING_BUFFER =
* I_BUFFER_ACTIVE =
  changing
  ct_fieldcat = it_fieldcat[] .



ENDFORM.                    " field_catalog



*---------------------------------------------------------------------*
*       FORM itab_user_command                                        *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
*  -->  WHATCOMM                                                      *
*  -->  WHATROW                                                       *
*---------------------------------------------------------------------*
FORM itab_user_command USING whatcomm TYPE sy-ucomm whatrow TYPE
slis_selfield.



  <b>data: msg(100).
  LOOP AT itab_post.
    if itab_post-flag = 'X'.
      msg = sy-tabix.
      condense msg.
      concatenate 'Row Number ' msg ' ' into msg
      separated by space.

      message i000(su) with msg.



    endif.

  ENDLOOP.</b>
ENDFORM.

REgards,

Read only

gopi_narendra
Active Contributor
0 Likes
561

Declare a field ckh(1) type C in ur final internal table whihc u r passing to ALV.

And at output using these statements

loop at itab where chk = 'X'.

move itab to itab2

endloop.

then use itab2 to generate another report.

Regards

- Gopi

Read only

0 Likes
561

Hi Rakhee,

It would be better if you can give a slightly better title (for eg. "Adding checkboxes in ALV report" ). It would attract the people who are experts in that particular area than have a generic titles like "ABAP". Also it would much useful for people who search for similiar requirements in archives. Just a suggestion to make things better :-).

Thanks,

Prasath N

Read only

0 Likes
561

ok see i will have two fields which i need to send another report selection screen.

now what ever the selected values are there through check boxes i need to check first checkbox values and do the cal in next report ,if it does not meet then i should go to next cheeck box value and do.

so how to do plz tel