Hello Experts,
Here I am facing problem in simple ALV grid. First time I am experiencing this kind of problem in ALV grid output out of my 5 years in Exp in ABAP. I have created normal ALV report using Fieldcatalog and REUSE_ALV_GRID_DISPLAY FM. I am getting the output in ALV List instead of Grid for multiple records. If I have single reord in output then it is ALV Grid. Not able to understand why its displaying ALV list instead of ALV Grid. here is my code..Please help me to solve this.
FORM display_alv .
PERFORM build_fieldcatalog.
PERFORM build_layout.
PERFORM execute_alv.
ENDFORM. " DISPLAY_ALV
*&---------------------------------------------------------------------*
*& Form BUILD_FIELDCATALOG
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM build_fieldcatalog .
DATA: lv_count TYPE i.
lv_count = lv_count + 1.
gs_fieldcat-fieldname = 'VBELN'.
gs_fieldcat-tabname = 'GT_OUTPUT'.
gs_fieldcat-seltext_l = text-002.
gs_fieldcat-hotspot = 'X'.
gs_fieldcat-col_pos = lv_count.
APPEND gs_fieldcat TO gt_fieldcat.
CLEAR gs_fieldcat.
lv_count = lv_count + 1.
gs_fieldcat-fieldname = 'PLNUM'.
gs_fieldcat-tabname = 'GT_OUTPUT'.
gs_fieldcat-seltext_l = text-003.
gs_fieldcat-col_pos = lv_count.
APPEND gs_fieldcat TO gt_fieldcat.
CLEAR gs_fieldcat.
lv_count = lv_count + 1.
gs_fieldcat-fieldname = 'AUFNR'.
gs_fieldcat-tabname = 'GT_OUTPUT'.
gs_fieldcat-seltext_l = text-004.
gs_fieldcat-col_pos = lv_count.
APPEND gs_fieldcat TO gt_fieldcat.
CLEAR gs_fieldcat.
lv_count = lv_count + 1.
gs_fieldcat-fieldname = 'MESSAGE'.
gs_fieldcat-tabname = 'GT_OUTPUT'.
gs_fieldcat-seltext_l = text-005.
gs_fieldcat-col_pos = lv_count.
APPEND gs_fieldcat TO gt_fieldcat.
CLEAR gs_fieldcat.
ENDFORM. " BUILD_FIELDCATALOG
*&---------------------------------------------------------------------*
*& Form BUILD_LAYOUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM build_layout .
gs_layout-zebra = 'X'.
gs_layout-colwidth_optimize = 'X'.
ENDFORM. " BUILD_LAYOUT
*&---------------------------------------------------------------------*
*& Form EXECUTE_ALV
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM execute_alv .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_BUFFER_ACTIVE = 'X'
i_callback_program = gv_repid
i_callback_user_command = 'USER_COMMAND' "To call the VA03 tcode on click of delivery number
i_callback_pf_status_set = 'PFSTATUS' "To display standard PF Status
is_layout = gs_layout
it_fieldcat = gt_fieldcat
TABLES
t_outtab = gt_output.
ENDFORM. " EXECUTE_ALV
*---------------------------------------------------------------------*
* FORM PFSTATUS *
*---------------------------------------------------------------------*
FORM pfstatus USING ut_extab TYPE slis_t_extab.
SET PF-STATUS 'STANDARD_FULLSCREEN' OF PROGRAM 'SAPLKKBL'.
ENDFORM. " PF_STATUS_SET
*&---------------------------------------------------------------------*
*& Form user_command
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM user_command USING r_ucomm TYPE sy-ucomm
rs_selfield TYPE slis_selfield.
IF rs_selfield-fieldname EQ 'VBELN'.
SET PARAMETER ID 'AUN' FIELD rs_selfield-value.
CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.
ENDIF.
ENDFORM. "user_command