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