Skip to Content
0
Former Member
Feb 19, 2009 at 02:33 AM

checkbox is not displayed

64 Views

checkbox is not displayed where i made mistake.please help.

TABLES: mkpf,mseg.
TYPE-POOLS: slis.

*WORK AREAS
DATA: wa_output   TYPE  ty_output,
      wa_data     TYPE  ty_data,
      wa_btext    TYPE  ty_btext,
      wa_maktx    TYPE  ty_maktx,
      wa_fieldcat TYPE  slis_fieldcat_alv,
      wa_events   TYPE  slis_alv_event,
      wa_header   TYPE  slis_listheader,
      wa_layout   TYPE  slis_layout_alv.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: so_mblnr FOR  mkpf-mblnr,"MATERIAL DOCUMENT NUMBER
                so_bwart FOR  mseg-bwart,"MOVEMENT TYPE
                so_bldat FOR  mkpf-bldat,"DOCUMENT DATE
                so_budat FOR  mkpf-budat,"POSTING DATE
                so_matnr FOR  mseg-matnr,"MATERIAL ID
                so_meins FOR  mseg-meins,"BASE UNIT OF MEASUREMENT
                so_werks FOR  mseg-werks,"PLANT
                so_lgort FOR  mseg-lgort,"STORAGE LOCATION
                so_lifnr FOR  mseg-lifnr,"VENDOR
                so_xblnr FOR  mkpf-xblnr,"MATERIAL SLIP
                so_ebeln FOR  mseg-ebeln."PURCHASE DOC
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
PARAMETERS : 1x3 RADIOBUTTON GROUP grp1 DEFAULT 'X',
             2x4 RADIOBUTTON GROUP grp1.
SELECTION-SCREEN END OF BLOCK b2.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR so_mblnr-low.
*GETTING F4 HELP FOR THE FIELD MBLNR( MATERIAL DOCUMENT NUMBER)
  PERFORM get_f4val .

AT SELECTION-SCREEN ON VALUE-REQUEST FOR so_mblnr-high.
* GETTING F4 HELP FOR THE FIELD MBLNR( MATERIAL DOCUMENT NUMBER)
  PERFORM get_f4val .

START-OF-SELECTION.
*macro for field catalogue
*{
  DEFINE m_fieldcat.
    add 1 to wa_fieldcat-col_pos.
             wa_fieldcat-fieldname = &1.
             wa_fieldcat-seltext_m = &2.
             wa_fieldcat-checkbox  = &3.
             wa_fieldcat-edit      = &4.
             wa_fieldcat-ref_tabname = &5.
    append wa_fieldcat TO it_fieldcat.
    CLEAR wa_fieldcat.
END-OF-DEFINITION.

  PERFORM get_data.
  PERFORM populate_data.
  PERFORM get_fcat.

  PERFORM get_events.
  PERFORM populate_events TABLES it_events
                          USING  wa_events.
  PERFORM get_layout.
  PERFORM display_alv.
*&---------------------------------------------------------------------*
*&      Form  GET_DATA
*&---------------------------------------------------------------------*
FORM get_data .

  SELECT  b~menge
          a~mblnr
          b~bwart
          b~matnr
          b~meins
          b~werks
          b~lgort
          b~ebeln
          b~lifnr
          a~bldat
          a~budat
          a~usnam
          a~xblnr
  INTO CORRESPONDING FIELDS OF TABLE it_data
  FROM    mkpf AS a
  INNER JOIN  mseg AS b ON
        a~mblnr = b~mblnr AND a~mjahr = b~mjahr
  WHERE  a~mblnr  IN so_mblnr
  AND    b~bwart  IN so_bwart
*AND     B~BWART
  AND    a~bldat  IN so_bldat
  AND    a~budat  IN so_budat
  AND    b~matnr  IN so_matnr
  AND    b~werks  IN so_werks
  AND    b~lgort  IN so_lgort
  AND    b~lifnr  IN so_lifnr
  AND    a~xblnr  IN so_xblnr.

  IF it_data IS NOT INITIAL.
    SELECT btext
           bwart
           FROM t156t INTO TABLE it_btext
           FOR ALL ENTRIES IN it_data
           WHERE spras EQ 'EN'
             AND bwart   = it_data-bwart
             AND sobkz   = ''
             AND kzbew   = 'B'
             AND kzzug   = ''
             AND kzvbr   = ''.

    SELECT maktx
           matnr
          FROM makt INTO TABLE it_maktx
          FOR ALL ENTRIES IN it_data
          WHERE matnr EQ it_data-matnr
          AND  spras EQ 'EN'.

  ELSE.

*MESSAGE NO VALUES EXIST FOR THIS SELECTION.


  ENDIF.
ENDFORM.                    " GET_DATA
*&---------------------------------------------------------------------*
*&      Form  GET_F4VAL
*&---------------------------------------------------------------------*

FORM get_f4val .

  TYPES : BEGIN OF ly_mblnr,
            mblnr TYPE mkpf-mblnr,
          END OF  ly_mblnr.

  DATA: lc_mblnr   TYPE dfies-fieldname VALUE 'MBLNR',
        lc_s_mblnr TYPE help_info-dynprofld VALUE 'SO_MBLNR-LOW',
        lc_org     TYPE ddbool_d VALUE 'S',
        lc_dynnr    TYPE sy-dynnr VALUE '1000',
        lc_repid   TYPE sy-repid.

  DATA: lt_mblnr TYPE STANDARD TABLE OF ly_mblnr,
        lv_mblnr TYPE ly_mblnr,
        lt_return TYPE STANDARD TABLE OF ddshretval WITH HEADER LINE.

  CLEAR:lt_mblnr[],lv_mblnr,lt_return[],lt_return.

  SELECT mblnr FROM mkpf INTO TABLE lt_mblnr.


  SORT lt_mblnr.

  DELETE ADJACENT DUPLICATES FROM lt_mblnr.

  lc_repid = sy-repid.

  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
      retfield        = lc_mblnr
      value_org       = 'S'
      dynpprog        = lc_repid
      dynpnr          = lc_dynnr
      dynprofield     = lc_s_mblnr
    TABLES
      value_tab       = lt_mblnr
      return_tab      = lt_return
    EXCEPTIONS
      parameter_error = 1
      no_values_found = 2
      OTHERS          = 3.
  IF sy-subrc <> 0.
  ELSE.
    lc_mblnr = lt_return-fieldval.
  ENDIF.
ENDFORM.                                                    " GET_F4VAL
*&---------------------------------------------------------------------*
*&      Form  POPULATE_DATA
*&---------------------------------------------------------------------*
FORM populate_data .
  LOOP AT  it_data INTO wa_data.
    SORT it_btext.
    READ TABLE it_btext INTO wa_btext WITH KEY bwart = wa_data-bwart BINARY SEARCH.
    IF sy-subrc EQ 0.
      wa_output-btext = wa_btext-btext.
    ENDIF.
    SORT it_maktx.
    READ TABLE it_maktx INTO wa_maktx  WITH KEY matnr = wa_data-matnr BINARY SEARCH.
    IF sy-subrc EQ 0.
      wa_output-maktx = wa_maktx-maktx.
    ENDIF.
    wa_output-menge1 = wa_data-menge.
    wa_output-mblnr  = wa_data-mblnr.
    wa_output-bwart  = wa_data-bwart.
    wa_output-matnr  = wa_data-matnr.
    wa_output-meins  = wa_data-meins.
    wa_output-werks  = wa_data-werks.
    wa_output-lgort  = wa_data-lgort.
    wa_output-ebeln  = wa_data-ebeln.
    wa_output-lifnr  = wa_data-lifnr.
    wa_output-bldat  = wa_data-bldat.
    wa_output-budat  = wa_data-budat.
    wa_output-usnam  = wa_data-usnam.
    wa_output-xblnr  = wa_data-xblnr.
    APPEND wa_output TO it_output.
    CLEAR wa_output.
  ENDLOOP.

ENDFORM.                    " POPULATE_DATA
*&---------------------------------------------------------------------*
*&      Form  get_events
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM get_events .

  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
    EXPORTING
      i_list_type     = 0
    IMPORTING
      et_events       = it_events
    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.
ENDFORM.                    " get_events
*&---------------------------------------------------------------------*
*&      Form  populate_events
*&---------------------------------------------------------------------*

FORM populate_events  TABLES   p_it_events LIKE it_events
                      USING    p_wa_events LIKE wa_events.

  READ TABLE p_it_events INTO p_wa_events WITH KEY name = 'TOP_OF_PAGE'.
  IF sy-subrc EQ 0.
    p_wa_events-form = 'TOP_OF_PAGE'.
    MODIFY p_it_events FROM p_wa_events INDEX sy-tabix TRANSPORTING form.
  ENDIF.
  READ TABLE p_it_events INTO p_wa_events WITH KEY name = 'USER_COMMAND'.
  IF sy-subrc EQ 0.
    p_wa_events-form = 'USER_COMMAND'.
    MODIFY p_it_events FROM p_wa_events INDEX sy-tabix TRANSPORTING form.
  ENDIF.
ENDFORM.                    " populate_events
*&---------------------------------------------------------------------*
*&      Form  get_fcat
*&---------------------------------------------------------------------*

FORM get_fcat.
*calling the macro
*BUILDING UP THE FIELD CATALOGUE
 m_fieldcat:'CHECKBOX' 'SELECTION'                'X' 'X' '',
            'MENGE'    'QTY TO PRINT'             ' ' 'X' 'MSEG',
            'BWART'    'MOVEMENT TYPE'            ' ' ' ' 'MSEG',
            'MATNR'    'MATERIAL ID'              ' ' ' ' 'MSEG',
            'MAKTX'    'MATERIAL DESCRIPTION'     ' ' ' ' 'MAKT',
            'MENGE'    'QTY'                      ' ' ' ' 'MSEG',
            'MEINS'    'UOM'                      ' ' ' ' 'MSEG',
            'WERKS'    'PLANT'                    ' ' ' ' 'MSEG',
            'LGORT'    'STORAGE LOCATION'         ' ' ' ' 'MSEG',
            'EBELN'    'PO NUMBER'                ' ' ' ' 'MSEG',
            'LIFNR'    'VENDOR'                   ' ' ' ' 'MSEG',
            'XBLNR'    'MATERIAL SLIP'            ' ' ' ' 'MSEG',
            'BLDAT'    'DOCUMENT DATE'            ' ' ' ' 'MKPF',
            'BUDAT'    'POSTING DATE'             ' ' ' ' 'MKPF',
            'USNAM'    'USER ID'                  ' ' ' ' 'MKPF'.



ENDFORM.                    " get_fcat
*&---------------------------------------------------------------------*
*&      Form  top_of_page
*&---------------------------------------------------------------------*


form TOP_OF_PAGE .
wa_header-typ = 'H'.
wa_header-info = Text-005.
APPEND wa_header TO it_header.
CLEAR  wa_header.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
  EXPORTING
    it_list_commentary       = it_header
*   I_LOGO                   =
*   I_END_OF_LIST_GRID       =
*   I_ALV_FORM               =
          .




endform.                    " top_of_page
*&---------------------------------------------------------------------*
*&      Form  display_alv
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
form display_alv .

  DATA: l_repid TYPE sy-repid.

    l_repid = sy-repid.

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
   EXPORTING

     I_CALLBACK_PROGRAM                = l_repid
*     I_CALLBACK_PF_STATUS_SET          = ' '
*     I_CALLBACK_USER_COMMAND           = ' '
     I_CALLBACK_TOP_OF_PAGE            = 'top_of_page'
*     I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
*     I_CALLBACK_HTML_END_OF_LIST       = ' '
*     I_STRUCTURE_NAME                  =
*     I_BACKGROUND_ID                   = ' '
*     I_GRID_TITLE                      =
*     I_GRID_SETTINGS                   =
      IS_LAYOUT                         = wa_layout
      IT_FIELDCAT                       = it_fieldcat
*     IT_EXCLUDING                      =
*     IT_SPECIAL_GROUPS                 =
*     IT_SORT                           =
*     IT_FILTER                         =
*     IS_SEL_HIDE                       =
*     I_DEFAULT                         = 'X'
*     I_SAVE                            = ' '
*     IS_VARIANT                        =
      IT_EVENTS                         = it_events
*     IT_EVENT_EXIT                     =
*     IS_PRINT                          =
*     IS_REPREP_ID                      =
*     I_SCREEN_START_COLUMN             = 0
*     I_SCREEN_START_LINE               = 0
*     I_SCREEN_END_COLUMN               = 0
*     I_SCREEN_END_LINE                 = 0
*     I_HTML_HEIGHT_TOP                 = 0
*     I_HTML_HEIGHT_END                 = 0
*     IT_ALV_GRAPHICS                   =
*     IT_HYPERLINK                      =
*     IT_ADD_FIELDCAT                   =
*     IT_EXCEPT_QINFO                   =
*     IR_SALV_FULLSCREEN_ADAPTER        =
*   IMPORTING
*     E_EXIT_CAUSED_BY_CALLER           =
*     ES_EXIT_CAUSED_BY_USER            =
    TABLES
      t_outtab                          = it_output
*   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_alv
*&---------------------------------------------------------------------*
*&      Form  get_layout
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
form get_layout .
*wa_layout-box_fieldname = 'CHECKBOX'.*
*wa_layout-box_tabname  = 'IT_OUTPUT'.*
endform.                    " get_layo

ut