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

ALV chekboxes

Former Member
0 Likes
587

Hi

I have got a alv report which displays Bill Of Materials with checkbox . Based on Checkbox Selection it should display Where Used List in secondary list.

do any on have idea about this

regards

shankar

Hi

I have got a alv report which displays Bill Of Materials with checkbox . Based on Checkbox Selection it should display Where Used List in secondary list.

do any on have idea about this

regards

shankar

3 REPLIES 3
Read only

Former Member
0 Likes
556

make use of these FMs

CSEP_MAT_BOM_SELECT_WHERE_USED API Bills of Material: Select BOM(s)

CSIMCOMP

CSIMCOMP_WHEREUSED

CSS5 BOMs: where-used list

CS_WHERE_USED_CLA Bills of material; class use

CS_WHERE_USED_CLA_ANY Bills of material; direct class use or via other class

CS_WHERE_USED_CLA_VIA_CLA Bills of material; class use via classes

CS_WHERE_USED_COP

CS_WHERE_USED_DOC Bills of material; document use

CS_WHERE_USED_DOC_ANY Bills of material; direct and (indirectly) document use via classes

CS_WHERE_USED_DOC_VIA_CLA Bills of material; document use via classes

CS_WHERE_USED_KNO Bills of material; use object dependency

CS_WHERE_USED_MAT Bills of material; where-used list

CS_WHERE_USED_MAT_ANY Bills of material; where-used list as material or class item

CS_WHERE_USED_MAT_VIA_CLA Bills of material; where-used list via classes

Regards

Peram

Read only

Former Member
Read only

Former Member
0 Likes
556

Hi

<b><u>Check this code</u></b>



    call function 'REUSE_ALV_GRID_DISPLAY'
      exporting
        it_fieldcat                 = pt_grpfcat[]
        it_excluding                = p_grpexcltab2[]
        is_layout                   = pt_grplayout2
        i_callback_program          = sy-repid
        i_callback_html_top_of_page = p_header
        i_callback_pf_status_set    = v_status_set1
        i_callback_user_command     = f_user_command1
        i_screen_start_column       = 25
        i_screen_start_line         = 5
        i_screen_end_column         = 80
        i_screen_end_line           = 20
        it_events                   = i_events[]
      tables
        t_outtab                    = i_grpoutput.
 
 
The user command code
 
*&---------------------------------------------------------------------*
* Form  f_user_command1                                                *
*&---------------------------------------------------------------------*
* This form will handle the user command from fm REUSE                 *
*----------------------------------------------------------------------*
form f_user_command1 using p_ucomm type sy-ucomm
                     rs_selfield type  slis_selfield.
 
  data p_ref1 type ref to cl_gui_alv_grid.
  call function 'GET_GLOBALS_FROM_SLVC_FULLSCR'
    importing
      e_grid = p_ref1.
  call method p_ref1->check_changed_data.
  case p_ucomm.
    when 'YCNC'.
      leave to screen 0.
    when 'YNTR'.
    loop at i_grpoutput where ybox eq c_x.
 
" <<<< Filling all values for REUSE HIERSEQ_LIST ie header and details
 
    endloop.
 
" <<<<  call your REUSE HIERSEQ_LIST here after filling all values
 
 
    leave to screen 0.
    when 'YSEL'.
      perform f_select_deselect_all using c_x.
    when 'YDEL'.
      perform f_select_deselect_all using space.
  endcase.
  rs_selfield-refresh = c_x.             " Grid refresh
 
endform.                                 " F_user_command1
 
 
 
 
TABLES : STKO,STPO,MAKT,MAST.
TYPE-POOLS : SLIS.
 
DATA : BEGIN OF ISTKO OCCURS 0,
       STLNR LIKE STKO-STLNR,
       DATUV LIKE STKO-DATUV,
       MATNR LIKE MAST-MATNR,
       BMENG LIKE STKO-BMENG,
       BMEIN LIKE STKO-BMEIN,
 
       END OF ISTKO.
 
DATA : BEGIN OF ISTPO OCCURS 0,
       STLNR LIKE STPO-STLNR,
       IDNRK LIKE STPO-IDNRK,
       MENGE LIKE STPO-MENGE,
       MEINS LIKE STPO-MEINS,
       MAKTX LIKE MAKT-MAKTX,
       END OF ISTPO.
DATA : BEGIN OF IMAKT OCCURS 0,
       MATNR LIKE MAKT-MATNR,
       MAKTX LIKE MAKT-MAKTX,
       END OF IMAKT.
DATA : BEGIN OF IMAST OCCURS 0,
       MATNR LIKE MAST-MATNR,
       STLNR LIKE MAST-STLNR,
       END OF IMAST.
 
 
DATA : IFIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
       WFIELDCAT TYPE SLIS_FIELDCAT_ALV,
       ILAYOUT   TYPE SLIS_LAYOUT_ALV,
       IKEYINFO  TYPE SLIS_KEYINFO_ALV,
       IEVENT    TYPE SLIS_T_EVENT,
       WEVENT    TYPE SLIS_ALV_EVENT,
       ISORT     TYPE SLIS_T_SORTINFO_ALV,
       WSORT     TYPE SLIS_SORTINFO_ALV.
 
PARAMETERS : P_NUM TYPE I DEFAULT 10.
 
START-OF-SELECTION.
 
  PERFORM GETDATA.
  PERFORM GETHEADERMAT.
  PERFORM GET_MAT_DESC.
 
  PERFORM BUILD_FCAT_HEAD.
  PERFORM BUILD_FCAT_ITEM.
  PERFORM BUILD_KEYINFO.
  PERFORM BUILD_EVENT_TAB.
  PERFORM BUILD_SORT_TAB.
  PERFORM BUILD_LAYOUT.
 
  PERFORM DISPLAY_DATA.
*&---------------------------------------------------------------------*
*&      Form  GETDATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM GETDATA .
  SELECT STLNR DATUV BMENG BMEIN INTO CORRESPONDING FIELDS OF TABLE ISTKO
                                 FROM STKO UP TO P_NUM ROWS.
 
  IF NOT ISTKO[]  IS INITIAL.
    SELECT STLNR IDNRK MENGE MEINS INTO TABLE ISTPO FROM STPO FOR ALL ENTRIES IN ISTKO
                  WHERE STLNR = ISTKO-STLNR AND POSTP = 'L'.
  ENDIF.
 
 
ENDFORM.                    " GETDATA
*&---------------------------------------------------------------------*
*&      Form  BUILD_FCAT_HEAD
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM BUILD_FCAT_HEAD .
  WFIELDCAT-TABNAME   = 'ISTKO'.
  WFIELDCAT-FIELDNAME = 'STLNR'.
  WFIELDCAT-SELTEXT_L = 'BOM no'.
  WFIELDCAT-OUTPUTLEN = 15.
  APPEND WFIELDCAT TO IFIELDCAT.
  CLEAR WFIELDCAT.
 
  WFIELDCAT-TABNAME   = 'ISTKO'.
  WFIELDCAT-FIELDNAME = 'DATUV'.
  WFIELDCAT-SELTEXT_L = 'BOM date'.
  WFIELDCAT-OUTPUTLEN = 15.
  APPEND WFIELDCAT TO IFIELDCAT.
  CLEAR WFIELDCAT.
 
  WFIELDCAT-TABNAME   = 'ISTKO'.
  WFIELDCAT-FIELDNAME = 'MATNR'.
  WFIELDCAT-SELTEXT_L = 'Header mat no'.
  WFIELDCAT-OUTPUTLEN = 18.
  APPEND WFIELDCAT TO IFIELDCAT.
  CLEAR WFIELDCAT.
 
  WFIELDCAT-TABNAME   = 'ISTKO'.
  WFIELDCAT-FIELDNAME = 'BMENG'.
  WFIELDCAT-SELTEXT_L = 'Base qty'.
  WFIELDCAT-OUTPUTLEN = 15.
  APPEND WFIELDCAT TO IFIELDCAT.
  CLEAR WFIELDCAT.
 
  WFIELDCAT-TABNAME   = 'ISTKO'.
  WFIELDCAT-FIELDNAME = 'BMEIN'.
  WFIELDCAT-SELTEXT_L = 'UOM'.
  WFIELDCAT-OUTPUTLEN = 3.
  APPEND WFIELDCAT TO IFIELDCAT.
  CLEAR WFIELDCAT.
 
ENDFORM.                    " BUILD_FCAT_HEAD
*&---------------------------------------------------------------------*
*&      Form  BUILD_FCAT_ITEM
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM BUILD_FCAT_ITEM .
 
  WFIELDCAT-TABNAME   = 'ISTPO'.
  WFIELDCAT-FIELDNAME = 'STLNR'.
  WFIELDCAT-SELTEXT_L = 'BOM no'.
  WFIELDCAT-NO_OUT     = 'X'.
*WFIELDCAT-HOTSPOT   = 'X'.
  WFIELDCAT-OUTPUTLEN = 10.
  APPEND WFIELDCAT TO IFIELDCAT.
  CLEAR WFIELDCAT.
 
  WFIELDCAT-TABNAME   = 'ISTPO'.
  WFIELDCAT-FIELDNAME = 'IDNRK'.
  WFIELDCAT-SELTEXT_L = 'Material no'.
*WFIELDCAT-HOTSPOT   = 'X'.
  WFIELDCAT-OUTPUTLEN = 18.
  APPEND WFIELDCAT TO IFIELDCAT.
  CLEAR WFIELDCAT.
 
  WFIELDCAT-TABNAME   = 'ISTPO'.
  WFIELDCAT-FIELDNAME = 'MAKTX'.
  WFIELDCAT-SELTEXT_L = 'Material desc'.
  WFIELDCAT-JUST      = 'C'.
  WFIELDCAT-OUTPUTLEN = 30.
  APPEND WFIELDCAT TO IFIELDCAT.
  CLEAR WFIELDCAT.
 
 
  WFIELDCAT-TABNAME   = 'ISTPO'.
  WFIELDCAT-FIELDNAME = 'MENGE'.
  WFIELDCAT-SELTEXT_L = 'Item qty'.
  WFIELDCAT-OUTPUTLEN = 15.
  WFIELDCAT-DO_SUM = 'X'.
  APPEND WFIELDCAT TO IFIELDCAT.
  CLEAR WFIELDCAT.
 
  WFIELDCAT-TABNAME   = 'ISTPO'.
  WFIELDCAT-FIELDNAME = 'MEINS'.
  WFIELDCAT-SELTEXT_L = 'UOM'.
  WFIELDCAT-OUTPUTLEN = 3.
  APPEND WFIELDCAT TO IFIELDCAT.
  CLEAR WFIELDCAT.
 
ENDFORM.                    " BUILD_FCAT_ITEM
*&---------------------------------------------------------------------*
*&      Form  BUILD_KEYINFO
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM BUILD_KEYINFO .
 
  IKEYINFO-HEADER01 = 'STLNR'.
  IKEYINFO-ITEM01   = 'STLNR'.
 
ENDFORM.                    " BUILD_KEYINFO
*&---------------------------------------------------------------------*
*&      Form  DISPLAY_DATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM DISPLAY_DATA .
 
  CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
    EXPORTING
*   I_INTERFACE_CHECK              = ' '
     I_CALLBACK_PROGRAM             = SY-REPID
*   I_CALLBACK_PF_STATUS_SET       = ' '
*   I_CALLBACK_USER_COMMAND        = 'USER_COM'
     IS_LAYOUT                      = ILAYOUT
     IT_FIELDCAT                    = IFIELDCAT[]
*   IT_EXCLUDING                   =
*   IT_SPECIAL_GROUPS              =
   IT_SORT                        = ISORT
*   IT_FILTER                      =
*   IS_SEL_HIDE                    =
*   I_SCREEN_START_COLUMN          = 0
*   I_SCREEN_START_LINE            = 0
*   I_SCREEN_END_COLUMN            = 0
*   I_SCREEN_END_LINE              = 0
*   I_DEFAULT                      = 'X'
*   I_SAVE                         = ' '
*   IS_VARIANT                     =
     IT_EVENTS                      = IEVENT[]
*   IT_EVENT_EXIT                  =
      I_TABNAME_HEADER               = 'ISTKO'
      I_TABNAME_ITEM                 = 'ISTPO'
*   I_STRUCTURE_NAME_HEADER        =
*   I_STRUCTURE_NAME_ITEM          =
      IS_KEYINFO                     = IKEYINFO
*   IS_PRINT                       =
*   IS_REPREP_ID                   =
*   I_BYPASSING_BUFFER             =
*   I_BUFFER_ACTIVE                =
* IMPORTING
*   E_EXIT_CAUSED_BY_CALLER        =
*   ES_EXIT_CAUSED_BY_USER         =
    TABLES
      T_OUTTAB_HEADER                = ISTKO
      T_OUTTAB_ITEM                  = ISTPO
* 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.
 
 
ENDFORM.                    " DISPLAY_DATA
*&---------------------------------------------------------------------*
*&      Form  GET_MAT_DESC
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM GET_MAT_DESC .
 
  IF NOT ISTPO[] IS INITIAL.
    SELECT MATNR MAKTX INTO TABLE IMAKT FROM MAKT FOR ALL ENTRIES IN ISTPO
                            WHERE MATNR = ISTPO-IDNRK.
  ENDIF.
 
  LOOP AT ISTPO.
    READ TABLE IMAKT WITH KEY MATNR = ISTPO-IDNRK.
    IF SY-SUBRC = 0.
      ISTPO-MAKTX = IMAKT-MAKTX.
    ENDIF.
    MODIFY ISTPO.
  ENDLOOP.
 
ENDFORM.                    " GET_MAT_DESC
*&---------------------------------------------------------------------*
*&      Form  BUILD_LAYOUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM BUILD_LAYOUT .
 
  ILAYOUT-ZEBRA             = 'X'.
  ILAYOUT-COLWIDTH_OPTIMIZE = 'X'.
 
ENDFORM.                    " BUILD_LAYOUT
 
*FORM USER_COM USING PUCOM LIKE SY-UCOMM PSELFIELD TYPE SLIS_SELFIELD.
*
*CASE PUCOM.
*WHEN '&IC1'.
* SET PARAMETER ID 'MAT' FIELD PSELFIELD-VALUE.
* CALL TRANSACTION 'MM03' AND SKIP FIRST SCREEN.
*ENDCASE.
*
*ENDFORM.
*&---------------------------------------------------------------------*
*&      Form  BUILD_EVENT_TAB
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM BUILD_EVENT_TAB .
 
  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
   EXPORTING
     I_LIST_TYPE           = 0
   IMPORTING
     ET_EVENTS             = IEVENT
*   EXCEPTIONS
*     LIST_TYPE_WRONG       = 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.
 
 
  READ TABLE IEVENT INTO WEVENT WITH KEY NAME = 'TOP_OF_PAGE'.
 
  IF SY-SUBRC = 0.
 
    WEVENT-FORM = 'TOPOFPAGE'.
    MODIFY IEVENT FROM WEVENT INDEX SY-TABIX.
 
  ENDIF.
 
 
ENDFORM.                    " BUILD_EVENT_TAB
 
*&---------------------------------------------------------------------*
*&      Form  TOPOFPAGE
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM TOPOFPAGE.
  DATA : ILISTHEAD TYPE SLIS_T_LISTHEADER,
         WLISTHEAD TYPE SLIS_LISTHEADER.
 
  WLISTHEAD-INFO = 'Its a test hierarchical sequential alv dispaly'.
  WLISTHEAD-TYP = 'H'.
  APPEND WLISTHEAD TO ILISTHEAD.
 
  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
      IT_LIST_COMMENTARY       = ILISTHEAD
*     I_LOGO                   =  ''
*     I_END_OF_LIST_GRID       =
            .
 
  ENDFORM.
*&---------------------------------------------------------------------*
*&      Form  GETHEADERMAT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM GETHEADERMAT .
IF NOT ISTKO[] IS INITIAL.
  SELECT MATNR STLNR INTO TABLE IMAST FROM MAST FOR ALL ENTRIES IN ISTKO
                                WHERE STLNR = ISTKO-STLNR.
ENDIF.
 
LOOP AT ISTKO.
 READ TABLE IMAST WITH KEY STLNR = ISTKO-STLNR.
 IF SY-SUBRC = 0.
  ISTKO-MATNR = IMAST-MATNR.
 ENDIF.
 MODIFY ISTKO.
ENDLOOP.
ENDFORM.                    " GETHEADERMAT
*&---------------------------------------------------------------------*
*&      Form  BUILD_SORT_TAB
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM BUILD_SORT_TAB .
WSORT-FIELDNAME = 'STLNR'.
WSORT-TABNAME   = 'ISTPO'.
WSORT-UP        = 'X'.
WSORT-SUBTOT    = 'X'.
WSORT-GROUP     = 'UL'.
APPEND WSORT TO ISORT.
ENDFORM.                    " BUILD_SORT_TAB

Check this linktoo

http://www.alvrobot.com.ar/home.php

Reward all helpfull answers

Regards

Pavan