‎2008 May 29 6:09 AM
What are the report options?
Why u use of loop at screen?
How does u validate the selection criteria of a report?
How does u display initial values in selection screen?
How can we create an interactive report through ALV?
What are the different options to work to increase header sizes in ALV reports?
How can u store variants through ALV?
What is the function module which can provide a logo in ABAP reports?
‎2008 May 29 6:13 AM
hi
Why u use of loop at screen?
to change the attributes of elements( fields,checkboxes etc) in selection-screen like display, i/p only o/p only etc
How does u validate the selection criteria of a report?
using the at selection screen event
How does u display initial values in selection screen?
using the default option of parametrs and select-options . we can also use initililaztion event
How can we create an interactive report through ALV?
popultae the events table in alv with function module REUSE_ALV_EVENTS_GET and write subroutienes for event user-command
How can u store variants through ALV?
populate i_save option and is_variant
What is the function module which can provide a logo in ABAP reports?
*goto oaer transaction and upload the picture there and pass that name in 'REUSE_ALV_COMMENTARY_WRITE and you will get the picture name*
rewrad if helpful
prasanth
‎2008 May 29 6:13 AM
hi
Why u use of loop at screen?
to change the attributes of elements( fields,checkboxes etc) in selection-screen like display, i/p only o/p only etc
How does u validate the selection criteria of a report?
using the at selection screen event
How does u display initial values in selection screen?
using the default option of parametrs and select-options . we can also use initililaztion event
How can we create an interactive report through ALV?
popultae the events table in alv with function module REUSE_ALV_EVENTS_GET and write subroutienes for event user-command
How can u store variants through ALV?
populate i_save option and is_variant
What is the function module which can provide a logo in ABAP reports?
*goto oaer transaction and upload the picture there and pass that name in 'REUSE_ALV_COMMENTARY_WRITE and you will get the picture name*
rewrad if helpful
prasanth
‎2008 May 29 6:29 AM
thank q can u explain me store variants through ALV?
I didnot get that,ane more is
How will u get the check boxes in ALV reports?
‎2008 May 29 6:31 AM
‎2008 May 29 6:32 AM
That fm doesnot exist check out. the way i mentioned is one one of the procedures
check the example using alv check boxes
&----
*& Report ZP_ALV_CHECKBOXES
*&
&----
*&
*&
&----
REPORT ZP_ALV_CHECKBOXES NO STANDARD PAGE HEADING MESSAGE-ID Zpra
LINE-SIZE 225 LINE-COUNT 65(3).
****************************************************************************************
TYPE-POOLS
****************************************************************************************
TYPE-POOLS : SLIS.
****************************************************************************************
DDIC TABLES
****************************************************************************************
TABLES : VAPMA, VBAK,VBAP,VBEP.
****************************************************************************************
ALV-PARAMETERS DECLERATION
****************************************************************************************
DATA : W_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
I_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
DATA : I_LAYOUT TYPE SLIS_LAYOUT_ALV.
DATA : W_EVENTS TYPE SLIS_ALV_EVENT,
I_EVENTS TYPE SLIS_T_EVENT.
DATA : I_LISTHEADER TYPE SLIS_T_LISTHEADER,
W_LISTHEADER TYPE SLIS_LISTHEADER.
Interactive params
DATA : W_FIELDCAT1 TYPE SLIS_FIELDCAT_ALV,
I_FIELDCAT1 TYPE SLIS_T_FIELDCAT_ALV.
*****************************************************************************************
iNTERNAL TABLES DECLERATION
*****************************************************************************************
TYPES : BEGIN OF S_VAPMA,
CH TYPE CHECKBOX,
MATNR LIKE VAPMA-MATNR,
VKORG LIKE VAPMA-VKORG,
TRVOG LIKE VAPMA-TRVOG,
VTWEG LIKE VAPMA-VTWEG,
SPART LIKE VAPMA-SPART,
AUART LIKE VAPMA-AUART,
VBELN LIKE VAPMA-VBELN,
POSNR LIKE VAPMA-POSNR,
END OF S_VAPMA.
DATA : I_VAPMA TYPE TABLE OF S_VAPMA,
W_VAPMA TYPE S_VAPMA.
TYPES : BEGIN OF S_VBAK,
VBELN LIKE VBAK-VBELN,
ERDAT LIKE VBAK-ERDAT,
AUDAT LIKE VBAK-AUDAT,
VBTYP LIKE VBAK-VBTYP,
TRVOG LIKE VBAK-TRVOG,
AUART LIKE VBAK-AUART,
NETWR LIKE VBAK-NETWR,
WAERK LIKE VBAK-WAERK,
END OF S_VBAK.
DATA : I_VBAK TYPE TABLE OF S_VBAK,
W_VBAK TYPE S_VBAK.
TYPES : BEGIN OF S_VBAP,
VBELN LIKE VBAP-VBELN,
POSNR LIKE VBAP-POSNR,
MATNR LIKE VBAP-MATNR,
ARKTX LIKE VBAP-ARKTX,
END OF S_VBAP.
DATA : I_VBAP TYPE TABLE OF S_VBAP,
W_VBAP TYPE S_VBAP.
TYPES : BEGIN OF S_VBEP,
VBELN LIKE VBEP-VBELN,
POSNR LIKE VBEP-VBELN,
ETENR LIKE VBEP-ETENR,
WMENG LIKE VBEP-WMENG,
MEINS LIKE VBEP-MEINS,
END OF S_VBEP.
DATA : I_VBEP TYPE TABLE OF S_VBEP,
W_VBEP TYPE S_VBEP.
types : BEGIN OF S_RESULT,
CH TYPE CHECKBOX,
MATNR LIKE VAPMA-MATNR,
TRVOG LIKE VAPMA-TRVOG,
VBELN LIKE VBAP-VBELN,
POSNR LIKE VBAP-POSNR,
ARKTX LIKE VBAP-ARKTX,
ETENR LIKE VBEP-ETENR,
WMENG LIKE VBEP-WMENG,
MEINS LIKE VBEP-MEINS,
END OF S_RESULT.
DATA : I_RESULT TYPE TABLE OF S_RESULT,
W_RESULT TYPE S_RESULT.
TYPES : BEGIN OF S_VBFA,
VBELV LIKE VBFA-VBELV,
POSNV LIKE VBFA-POSNV,
VBELN LIKE VBFA-VBELN,
POSNN LIKE VBFA-POSNN,
VBTYP_N LIKE VBFA-VBTYP_N,
END OF S_VBFA.
data : I_VBFA TYPE TABLE OF S_VBFA,
W_VBFA TYPE S_VBFA.
****************************************************************************************
GLOBAL VARIABLES
****************************************************************************************
DATA : V_STR(30) TYPE C.
data : V_REPID LIKE SY-REPID,
v_matnr like VAPMA-MATNR.
****************************************************************************************
SELECTION-SCREEN
****************************************************************************************
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001 .
SELECT-OPTIONS : S_MATNR FOR VAPMA-MATNR OBLIGATORY .
PARAMETERS : P_VKORG LIKE VAPMA-VKORG OBLIGATORY VALUE CHECK.
PARAMETERS : P_TRVOG LIKE VAPMA-TRVOG.
PARAMETERS : P_VTWEG LIKE VAPMA-VTWEG OBLIGATORY VALUE CHECK.
PARAMETERS : P_SPART LIKE VAPMA-SPART OBLIGATORY VALUE CHECK.
SELECTION-SCREEN END OF BLOCK B1.
*********************************************************************************************
Validation on Matrl no
*********************************************************************************************
AT SELECTION-SCREEN ON S_MATNR.
select single MATNR
FROM VAPMA
INTO V_MATNR
WHERE MATNR IN S_MATNR.
IF NOT SY-SUBRC IS INITIAL.
MESSAGE E999 WITH TEXT-002.
ENDIF.
*********************************************************************************
START-OF-SELECTION
*********************************************************************************
START-OF-SELECTION.
PERFORM BUILD_LAYOUT.
PERFORM GET_DATA.
PERFORM DISPLAY_DATA.
&----
*& Form BUILD_LAYOUT
&----
text
----
--> p1 text
<-- p2 text
----
FORM BUILD_LAYOUT .
I_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
I_LAYOUT-ZEBRA = 'X'.
I_LAYOUT-F2CODE = 'PICK'.
ENDFORM. " BUILD_LAYOUT
&----
*& Form BUILD_FIELD_CATALOG
&----
text
----
--> p1 text
<-- p2 text
----
FORM BUILD_FIELD_CATALOG .
REFRESH I_FIELDCAT1.
W_FIELDCAT1-COL_POS = '1'.
W_FIELDCAT1-FIELDNAME = 'CH'.
W_FIELDCAT1-tabname = 'I_RESULT'.
w_fieldcat1-checkbox = 'X'.
w_fieldcat1-edit = 'X'.
APPEND W_FIELDCAT1 TO I_FIELDCAT1.
CLEAR W_FIELDCAT1.
W_FIELDCAT1-COL_POS = '2'.
W_FIELDCAT1-FIELDNAME = 'MATNR'.
W_FIELDCAT1-tabname = 'I_RESULT'.
W_FIELDCAT1-SELTEXT_L = 'Material number'.
W_FIELDCAT1-seltext_M = 'Matrl no'.
W_FIELDCAT-KEY = 'X'.
W_FIELDCAT1-HOTSPOT = 'X'.
W_FIELDCAT1-EMPHASIZE = 'C110'.
APPEND W_FIELDCAT1 TO I_FIELDCAT1.
CLEAR W_FIELDCAT1.
W_FIELDCAT1-COL_POS = '3'.
W_FIELDCAT1-FIELDNAME = 'TRVOG'.
W_FIELDCAT1-tabname = 'I_RESULT'.
W_FIELDCAT1-SELTEXT_L = 'Trans group'.
W_FIELDCAT1-seltext_M = 'Trans group'.
W_FIELDCAT-KEY = 'X'.
W_FIELDCAT1-HOTSPOT = 'X'.
W_FIELDCAT1-EMPHASIZE = 'C210'.
APPEND W_FIELDCAT1 TO I_FIELDCAT1.
CLEAR W_FIELDCAT1.
W_FIELDCAT1-COL_POS = '4'.
W_FIELDCAT1-FIELDNAME = 'VBELN'.
W_FIELDCAT1-tabname = 'I_RESULT'.
W_FIELDCAT1-SELTEXT_L = 'Sales ordernumber'.
W_FIELDCAT1-seltext_M = 'Sales ord' .
W_FIELDCAT-KEY = 'X'.
W_FIELDCAT1-HOTSPOT = 'X'.
W_FIELDCAT1-EMPHASIZE = 'C310'.
APPEND W_FIELDCAT1 TO I_FIELDCAT1.
CLEAR W_FIELDCAT1.
W_FIELDCAT1-COL_POS = '5'.
W_FIELDCAT1-FIELDNAME = 'POSNR'.
W_FIELDCAT1-tabname = 'I_RESULT'.
W_FIELDCAT1-SELTEXT_L = 'Item'.
W_FIELDCAT-KEY = 'X'.
W_FIELDCAT1-HOTSPOT = 'X'.
W_FIELDCAT1-EMPHASIZE = 'C400'.
APPEND W_FIELDCAT1 TO I_FIELDCAT1.
CLEAR W_FIELDCAT1.
W_FIELDCAT1-COL_POS = '6'.
W_FIELDCAT1-FIELDNAME = 'ARKTX'.
W_FIELDCAT1-tabname = 'I_RESULT'.
W_FIELDCAT1-SELTEXT_L = 'Description'.
W_FIELDCAT-KEY = 'X'.
W_FIELDCAT1-HOTSPOT = 'X'.
W_FIELDCAT1-EMPHASIZE = 'C510'.
APPEND W_FIELDCAT1 TO I_FIELDCAT1.
CLEAR W_FIELDCAT1.
W_FIELDCAT1-COL_POS = '7'.
W_FIELDCAT1-FIELDNAME = 'MEINS'.
W_FIELDCAT1-tabname = 'I_RESULT'.
W_FIELDCAT1-SELTEXT_L = 'Order qty in sales units'.
W_FIELDCAT1-seltext_M = 'Order qty'.
W_FIELDCAT-KEY = 'X'.
W_FIELDCAT1-HOTSPOT = 'X'.
W_FIELDCAT1-EMPHASIZE = 'C610'.
APPEND W_FIELDCAT1 TO I_FIELDCAT1.
CLEAR W_FIELDCAT1.
ENDFORM. " BUILD_FIELD_CATALOG
&----
*& Form EVENT_CALL
&----
text
----
--> p1 text
<-- p2 text
----
FORM EVENT_CALL .
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = I_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. " EVENT_CALL
&----
*& Form EVENT_BUILD
&----
text
----
--> p1 text
<-- p2 text
----
FORM EVENT_BUILD .
READ TABLE I_EVENTS INTO W_EVENTS WITH KEY NAME = 'TOP_OF_PAGE'.
IF SY-SUBRC EQ 0.
W_EVENTS-FORM = 'TOP_OF_PAGE'.
MODIFY I_EVENTS FROM W_EVENTS TRANSPORTING FORM WHERE NAME = W_EVENTS-NAME.
ENDIF.
READ TABLE I_EVENTS INTO W_EVENTS WITH KEY NAME = 'USER_COMMAND'.
IF SY-SUBRC EQ 0.
W_EVENTS-FORM = 'ALV_USER_COMMAND'.
MODIFY I_EVENTS FROM W_EVENTS TRANSPORTING FORM WHERE NAME = W_EVENTS-NAME.
ENDIF.
READ TABLE I_EVENTS INTO W_EVENTS WITH KEY NAME = 'PF_STATUS_SET'.
IF SY-SUBRC EQ 0.
W_EVENTS-FORM = 'ALV_SET_PF_STATUS'.
MODIFY I_EVENTS FROM W_EVENTS TRANSPORTING FORM WHERE NAME = W_EVENTS-NAME.
ENDIF.
READ TABLE I_EVENTS INTO W_EVENTS WITH KEY NAME = 'END_OF_PAGE'.
IF SY-SUBRC EQ 0.
W_EVENTS-FORM = 'END_OF_PAGE'.
MODIFY I_EVENTS FROM W_EVENTS TRANSPORTING FORM WHERE NAME = W_EVENTS-NAME.
ENDIF.
ENDFORM. " EVENT_BUILD
&----
*& Form GET_DATA
&----
text
----
--> p1 text
<-- p2 text
----
FORM GET_DATA .
SELECT MATNR
VKORG
TRVOG
VTWEG
SPART
AUART
VBELN
POSNR
FROM VAPMA
INTO CORRESPONDING FIELDS OF TABLE I_VAPMA
WHERE MATNR IN S_MATNR
AND VKORG = P_VKORG
AND TRVOG = P_TRVOG
AND VTWEG = P_VTWEG
AND SPART = P_SPART.
IF NOT I_VAPMA IS INITIAL.
SELECT VBELN
ERDAT
AUDAT
VBTYP
TRVOG
AUART
NETWR
WAERK
FROM VBAK
INTO TABLE I_VBAK
FOR ALL ENTRIES IN I_VAPMA
WHERE VBELN = I_VAPMA-VBELN.
ENDIF.
IF NOT I_VBAK IS INITIAL.
SELECT VBELN
POSNR
MATNR
ARKTX
FROM VBAP
INTO TABLE I_VBAP
FOR ALL ENTRIES IN I_VBAK
WHERE VBELN = I_VBAK-VBELN.
ENDIF.
IF NOT I_VBAP IS INITIAL.
SELECT VBELN
POSNR
ETENR
WMENG
MEINS
FROM VBEP
INTO TABLE I_VBEP
FOR ALL ENTRIES IN I_VBAP
WHERE VBELN = I_VBAP-VBELN.
ENDIF.
LOOP AT I_VBAK INTO W_VBAK.
READ TABLE I_VBAP INTO W_VBAP WITH KEY VBELN = W_VBAK-VBELN.
IF SY-SUBRC IS INITIAL.
MOVE-CORRESPONDING W_VBAP TO W_RESULT.
ENDIF.
READ TABLE I_VBEP INTO W_VBEP WITH KEY VBELN = W_VBAK-VBELN.
IF SY-SUBRC IS INITIAL.
MOVE-CORRESPONDING W_VBEP TO W_RESULT.
ENDIF.
MOVE-CORRESPONDING W_VBAK TO W_RESULT.
APPEND W_RESULT TO I_RESULT.
CLEAR W_RESULT.
ENDLOOP.
ENDFORM. " GET_DATA
&----
*& Form DISPLAY_DATA
&----
text
----
--> p1 text
<-- p2 text
----
FORM DISPLAY_DATA .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = V_REPID
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_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 = I_LAYOUT
IT_FIELDCAT = I_FIELDCAT1
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_EVENTS = I_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 = I_RESULT
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 TOP_OF_PAGE .
W_LISTHEADER-TYP = 'H'.
W_LISTHEADER-INFO = 'SD Index: Order items by Material'.
append W_LISTHEADER TO I_LISTHEADER.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = I_LISTHEADER
I_LOGO = 'ENJOYSAP_LOGO'
I_END_OF_LIST_GRID =
I_ALV_FORM =
.
REFRESH I_LISTHEADER.
ENDFORM. "
FORM END_OF_PAGE .
WRITE : / 'Page no: ',SY-PAGNO.
ENDFORM. " END_OF_PAGE
FORM ALV_SET_PF_STATUS USING RT_EXTAB TYPE SLIS_T_EXTAB.
SET PF-STATUS 'STATUS'.
ENDFORM. " ALV_SET_PF_STATUS
FORM ALV_USER_COMMAND using R_UCOMM LIKE SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
data : V_FCODE LIKE SY-UCOMM.
DATA : V_SEL_LINE LIKE RS_SELFIELD-TABINDEX.
DATA : V_SEL_VALUE LIKE RS_SELFIELD-VALUE.
data : v_field like RS_SELFIELD-FIELDNAME.
MOVE RS_SELFIELD-TABINDEX TO V_SEL_LINE.
MOVE RS_SELFIELD-VALUE TO V_SEL_VALUE.
MOVE RS_SELFIELD-FIELDNAME TO V_FIELD.
V_FCODE = R_UCOMM.
CASE V_FCODE.
WHEN 'PICK'.
PERFORM AT-LINE-SELECTION USING V_SEL_LINE.
WHEN 'DISPLAY'.
PERFORM GRID_CB_DISPLAY USING V_SEL_VALUE V_SEL_LINE.
WHEN 'EXIT'.
PERFORM EXIT_PROGRAM.
ENDCASE.
ENDFORM. " ALV_USER_COMMAND
FORM EXIT_PROGRAM .
DATA : RS_SELFIELD TYPE SLIS_SELFIELD.
RS_SELFIELD-EXIT = 'X'.
ENDFORM. " EXIT_PROGRAM
&----
*& Form AT-LINE-SELECTION
&----
text
----
--> p1 text
<-- p2 text
----
FORM AT-LINE-SELECTION USING V_INDEX.
DATA : V_SEL_LINE1 TYPE I.
DATA : V_VALUE TYPE RS_SEL_FIELD-VALUE.
V_SEL_LINE1 = V_INDEX.
READ TABLE I_RESULT INTO W_RESULT INDEX V_SEL_LINE1 .
if SY-SUBRC IS INITIAL.
SELECT VBELV
POSNV
VBELN
POSNN
VBTYP_N
FROM VBFA
INTO TABLE I_VBFA
WHERE VBELV = W_RESULT-VBELN
AND POSNV = W_RESULT-POSNR.
ENDIF.
PERFORM BUILD_FIELDCAT1.
PERFORM GET_DATA1.
PERFORM DISPLAY_DATA1.
ENDFORM. " AT-LINE-SELECTION
&----
*& Form GRID_CB_DISPLAY
&----
text
----
--> p1 text
<-- p2 text
----
FORM GRID_CB_DISPLAY USING V_VALUE V_NUM.
DATA : V_VALUE1(65) TYPE C.
DATA : V_SEL_LINE TYPE SLIS_SELFIELD-TABINDEX.
V_VALUE1 = V_VALUE.
V_SEL_LINE = V_NUM.
if V_VALUE1 = '1'.
READ TABLE I_RESULT INTO W_RESULT INDEX V_SEL_LINE.
LOOP AT I_RESULT INTO W_RESULT WHERE CH = 'X'.
if SY-SUBRC IS INITIAL.
SELECT VBELV
POSNV
VBELN
POSNN
VBTYP_N
FROM VBFA
INTO TABLE I_VBFA
WHERE VBELV = W_RESULT-VBELN
AND POSNV = W_RESULT-POSNR.
APPEND W_VBFA TO I_VBFA.
CLEAR W_VBFA.
ENDLOOP.
ENDIF.
ENDIF.
PERFORM BUILD_FIELDCAT1.
PERFORM GET_DATA1.
PERFORM DISPLAY_DATA1.
ENDFORM. " GRID_CB_DISPLAY
&----
*& Form BUILD_FIELDCAT1
&----
text
----
--> p1 text
<-- p2 text
----
FORM BUILD_FIELDCAT1 .
REFRESH I_FIELDCAT.
W_FIELDCAT-COL_POS = '1'.
W_FIELDCAT-FIELDNAME = 'VBELV'.
W_FIELDCAT-tabname = 'I_VBFA'.
W_FIELDCAT-SELTEXT_L = 'Preceding sales document'.
W_FIELDCAT-seltext_M = 'Preceding sales'.
W_FIELDCAT-KEY = 'X'.
W_FIELDCAT-HOTSPOT = 'X'.
W_FIELDCAT-EMPHASIZE = 'C110'.
APPEND W_FIELDCAT TO I_FIELDCAT.
CLEAR W_FIELDCAT.
W_FIELDCAT-COL_POS = '2'.
W_FIELDCAT-FIELDNAME = 'POSNV'.
W_FIELDCAT-tabname = 'I_VBFA'.
W_FIELDCAT-SELTEXT_L = 'Preceding Item'.
W_FIELDCAT-seltext_M = 'Preceding Item'.
W_FIELDCAT-seltext_s = 'Pre Item'.
W_FIELDCAT-KEY = 'X'.
W_FIELDCAT-HOTSPOT = 'X'.
W_FIELDCAT-EMPHASIZE = 'C210'.
APPEND W_FIELDCAT TO I_FIELDCAT.
CLEAR W_FIELDCAT.
W_FIELDCAT-COL_POS = '3'.
W_FIELDCAT-FIELDNAME = 'VBELN'.
W_FIELDCAT-tabname = 'I_VBFA'.
W_FIELDCAT-SELTEXT_L = 'Subsequent sales document'.
W_FIELDCAT-seltext_M = 'Subsequent sales '.
W_FIELDCAT-KEY = 'X'.
W_FIELDCAT-HOTSPOT = 'X'.
W_FIELDCAT-EMPHASIZE = 'C310'.
APPEND W_FIELDCAT TO I_FIELDCAT.
CLEAR W_FIELDCAT.
W_FIELDCAT-COL_POS = '4'.
W_FIELDCAT-FIELDNAME = 'POSNN'.
W_FIELDCAT-tabname = 'I_VBFA'.
W_FIELDCAT-SELTEXT_L = 'Subsequent Item'.
W_FIELDCAT-seltext_M = 'subseq item'.
W_FIELDCAT-KEY = 'X'.
W_FIELDCAT-HOTSPOT = 'X'.
W_FIELDCAT-EMPHASIZE = 'C410'.
APPEND W_FIELDCAT TO I_FIELDCAT.
CLEAR W_FIELDCAT.
W_FIELDCAT-COL_POS = '5'.
W_FIELDCAT-FIELDNAME = 'VBTYP_N'.
W_FIELDCAT-tabname = 'I_VBFA'.
W_FIELDCAT-SELTEXT_L = 'Document cat'.
W_FIELDCAT-seltext_M = 'Document cat'.
W_FIELDCAT-KEY = 'X'.
W_FIELDCAT-HOTSPOT = 'X'.
W_FIELDCAT-EMPHASIZE = 'C510'.
APPEND W_FIELDCAT TO I_FIELDCAT.
CLEAR W_FIELDCAT.
ENDFORM. " BUILD_FIELDCAT1
&----
*& Form DISPLAY_DATA1
&----
text
----
--> p1 text
<-- p2 text
----
FORM DISPLAY_DATA1 .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = V_REPID
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = ' '
I_GRID_TITLE = 'Sales document flow'
I_GRID_SETTINGS =
IS_LAYOUT = I_LAYOUT
IT_FIELDCAT = I_FIELDCAT
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
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 = I_VBFA
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_DATA1