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

BLOCK ALV

Former Member
0 Likes
700

HAI,

IF YOU HAVE ANY BLOCK ALV EXAMPLE PLEASE SEND IT.

THANK YOU

ASHOK KUMAR

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
659

Hai,

This uses s the tables such as sflight, sbook etc.

Copy the 3 includes and run it.

Please reward if found helpfull.

Rakesh,

&----


*& Report ZUUSRBLOCK2

*&

&----


*&

*&

&----


REPORT zuusrblock2.

*include top

INCLUDE ZUUSRBLOCK_TOP01.

*include body

INCLUDE ZUUSRBLOCK_BODY01.

*include forms

INCLUDE ZUUSRBLOCK_FORMS01.

-


&----


*& Include ZUUSRBLOCK_TOP.

&----


TYPE-POOLS slis .

*----


*Types

TYPES: BEGIN OF ty_sflight,

countryto TYPE spfli-countryto ,

seatsmax TYPE sflight-seatsmax ,

seatsocc TYPE sflight-seatsocc ,

price TYPE sflight-price ,

END OF ty_sflight.

TYPES: BEGIN OF ty_sbook,

bookid TYPE sbook-bookid ,

customid TYPE sbook-customid ,

class TYPE sbook-class ,

END OF ty_sbook.

*----


internal tables

DATA: it_sflight TYPE TABLE OF ty_sflight ,

it_sbook TYPE TABLE OF ty_sbook ,

it_fcat TYPE slis_t_fieldcat_alv,

it_event TYPE slis_t_event .

*----


*internal structure

DATA: is_fcat TYPE slis_fieldcat_alv,

is_event TYPE slis_alv_event ,

is_layout TYPE slis_layout_alv .

*----


*variables

DATA:w_col TYPE i.

*----


*selection screen

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.

PARAMETERS : pa_fdate TYPE sflight-fldate OBLIGATORY,

pa_carr TYPE sflight-carrid OBLIGATORY.

SELECTION-SCREEN END OF BLOCK b1.

-


&----


*& Include ZUUSRBLOCK_BODY01

*&----


START-OF-SELECTION.

*Selecting data from db

PERFORM select_data.

END-OF-SELECTION.

*Display the block alv

PERFORM alv_blockdisplay.

-


&----


*

*& Include ZUUSRBLOCK_FORMS

&----


&----


*& Form select_data

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM select_data.

IF pa_fdate IS NOT INITIAL AND pa_carr IS NOT INITIAL.

*Join conditions

*-----a sflight

*-----b spfli

SELECT bcountryto aseatsmax aseatsocc aprice

FROM ( sflight AS a INNER JOIN

spfli AS b ON acarrid = bcarrid )

INTO TABLE it_sflight

WHERE a~fldate = pa_fdate

AND a~carrid = pa_carr.

*Join conditions

*-----a sbook

*-----b sflight

SELECT a~bookid a~customid a~class

FROM ( sbook AS a INNER JOIN sflight AS b

ON a~carrid = b~carrid

AND a~fldate = b~fldate

AND a~connid = b~connid )

INTO TABLE it_sbook

WHERE b~fldate = pa_fdate

AND b~carrid = pa_carr.

ELSE.

MESSAGE i120(zmessages).

ENDIF.

*

  • IF sy-subrc = 0.

  • IF pa_to IS NOT INITIAL.

  • DELETE it_sflight WHERE countryto NE pa_to.

  • ENDIF.

  • ELSE.

  • MESSAGE i400(zmessages).

  • ENDIF.

ENDFORM. " select_data

&----


*& Form alv_blockdisplay

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM alv_blockdisplay .

block iinitialise

PERFORM alv_init.

block append

PERFORM alv_append.

block display

PERFORM alv_display.

ENDFORM. " alv_blockdisplay

&----


*& Form alv_init

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM alv_init .

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'

EXPORTING

i_callback_program = sy-repid

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

  • IT_EXCLUDING =

.

ENDFORM. " alv_init

&----


*& Form alv_append

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM alv_append .

PERFORM sub_fieldcat USING :

'COUNTRYTO' 'COUNTRYTO' 'IT_SFLIGHT' ' ' ,

'SEATSMAX' 'SEATSMAX' 'IT_SFLIGHT' ' ' ,

'SEATSOCC' 'SEATSOCC' 'IT_SFLIGHT' ' ' ,

'PRICE' 'PRICE' 'IT_SFLIGHT' 'X' ,

'BOOKID' 'BOOKID' 'IT_SBOOK' ' ' ,

'CUSTOMID' 'CUSTOMID' 'IT_SBOOK' ' ' ,

'CLASS' 'CLASS' 'IT_SBOOK' 'X' .

ENDFORM. " alv_append

&----


*& Form create_fieldcat

&----


  • text

----


  • -->P_0067 text

  • -->P_0068 text

  • -->P_0069 text

  • -->P_0070 text

----


FORM sub_fieldcat USING p_01

p_02

p_03

p_04.

next block

w_col = w_col + 1.

Column Position

is_fcat-col_pos = w_col.

is_fcat-fieldname = p_01.

is_fcat-seltext_l = p_02.

is_fcat-tabname = p_03.

  • is_fcat-ref_tabname = p_04.

  • is_fcat-ref_fieldname = p_01.

APPEND is_fcat TO it_fcat.

CLEAR is_fcat.

IF p_04 = 'X'. "End of block

  • CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

  • EXPORTING

  • i_list_type = 0

  • IMPORTING

  • et_events = it_event

  • 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.

is_layout-zebra = 'X'. "setting display layout

IF p_03 = 'IT_SFLIGHT'. "internal table material information

*Giving heading for the block

*----


CLEAR it_event.

is_event-name = 'TOP_OF_PAGE'.

is_event-form = 'FORM_TOP1'.

APPEND is_event TO it_event.

CLEAR is_event.

*----


*block append

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'

EXPORTING

is_layout = is_layout

it_fieldcat = it_fcat

i_tabname = p_03 "internal table

it_events = it_event

  • IT_SORT =

  • I_TEXT = ' '

TABLES

t_outtab = it_sflight

EXCEPTIONS

program_error = 1

maximum_of_appends_reached = 2

OTHERS = 3.

ELSEIF p_03 = 'IT_SBOOK'. "internal table material information

*Giving heading for the block

*----


CLEAR it_event.

is_event-name = 'TOP_OF_PAGE'.

is_event-form = 'FORM_TOP2'.

APPEND is_event TO it_event.

CLEAR is_event.

*----


*block append

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'

EXPORTING

is_layout = is_layout

it_fieldcat = it_fcat

i_tabname = p_03 "internal table

it_events = it_event

  • IT_SORT =

  • I_TEXT = ' '

TABLES

t_outtab = it_sbook

EXCEPTIONS

program_error = 1

maximum_of_appends_reached = 2

OTHERS = 3.

ENDIF.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

*Clear internal table and variable

CLEAR it_fcat.

CLEAR w_col.

ENDIF.

ENDFORM. " create_fieldcat

&----


*& Form alv_display

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


*Block Display

*----


FORM alv_display .

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'

*EXPORTING

  • I_INTERFACE_CHECK = ' '

  • IS_PRINT =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

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. " alv_display

*----


&----


*& Form FORM_TOP1

&----


  • text

----


FORM form_top1.

WRITE 😕 'FLIGHT INFORMATION'.

ENDFORM. "FORM_TOP1

&----


*& Form FORM_TOP2

&----


  • text

----


FORM form_top2.

WRITE 😕 'BOOKING INFORMATION'.

ENDFORM. "FORM_TOP2

HAI,

IF YOU HAVE ANY BLOCK ALV EXAMPLE PLEASE SEND IT.

THANK YOU

ASHOK KUMAR

4 REPLIES 4
Read only

Former Member
0 Likes
659

Hi,

Check this code..


TYPE-POOLS: slis.
DATA: BEGIN OF itab1 OCCURS 0,
        vbeln TYPE vbeln,
        bstnk TYPE vbak-bstnk,
        erdat TYPE vbak-erdat,
        kunnr TYPE vbak-kunnr,
      END OF itab1.

DATA: BEGIN OF itab2 OCCURS 0,
        vbeln  TYPE vbeln,
        matnr  TYPE vbap-matnr,
        netpr  TYPE vbap-netpr,
        kwmeng TYPE vbap-kwmeng,
      END OF itab2.


DATA: t_fieldcatalog1 TYPE slis_t_fieldcat_alv.
DATA: t_fieldcatalog2 TYPE slis_t_fieldcat_alv.
DATA: v_repid         TYPE syrepid.


v_repid = sy-repid.

* Get the fieldcatalog1
PERFORM get_fieldcat1.

* Get the fieldcatalog2
PERFORM get_fieldcat2.


SELECT vbeln bstnk erdat kunnr UP TO 10 ROWS
       INTO TABLE itab1
       FROM vbak.

SELECT vbeln matnr netpr kwmeng UP TO 10 ROWS
       INTO TABLE itab2
       FROM vbap.

* init
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
     EXPORTING
          i_callback_program = v_repid.

DATA: s_layout  TYPE  slis_layout_alv.
DATA: i_tabname TYPE  slis_tabname.
DATA: it_events TYPE  slis_t_event.

i_tabname = 'ITAB1'.
* First block
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
     EXPORTING
          is_layout   = s_layout
          it_fieldcat = t_fieldcatalog1
          i_tabname   = i_tabname
          it_events   = it_events
     TABLES
          t_outtab    = itab1.

* Second block
i_tabname = 'ITAB2'.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
     EXPORTING
          is_layout   = s_layout
          it_fieldcat = t_fieldcatalog2
          i_tabname   = i_tabname
          it_events   = it_events
     TABLES
          t_outtab    = itab2.

*Display
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'
          .



*---------------------------------------------------------------------*
*       FORM GET_FIELDCAT1                                            *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
FORM get_fieldcat1.

  DATA: s_fieldcatalog TYPE slis_fieldcat_alv.

  s_fieldcatalog-col_pos = '1'.
  s_fieldcatalog-fieldname = 'VBELN'.
  s_fieldcatalog-tabname   = 'ITAB1'.
  s_fieldcatalog-rollname  = 'VBELN'.
  APPEND s_fieldcatalog TO t_fieldcatalog1.
  CLEAR s_fieldcatalog.

  s_fieldcatalog-col_pos = '2'.
  s_fieldcatalog-fieldname = 'BSTNK'.
  s_fieldcatalog-tabname   = 'ITAB1'.
  s_fieldcatalog-rollname  = 'BSTNK'.
  APPEND s_fieldcatalog TO t_fieldcatalog1.
  CLEAR s_fieldcatalog.

  s_fieldcatalog-col_pos = '3'.
  s_fieldcatalog-fieldname = 'ERDAT'.
  s_fieldcatalog-tabname   = 'ITAB1'.
  s_fieldcatalog-rollname  = 'ERDAT'.
  APPEND s_fieldcatalog TO t_fieldcatalog1.
  CLEAR s_fieldcatalog.

  s_fieldcatalog-col_pos = '4'.
  s_fieldcatalog-fieldname = 'KUNNR'.
  s_fieldcatalog-tabname   = 'ITAB1'.
  s_fieldcatalog-rollname  = 'KUNNR'.
  APPEND s_fieldcatalog TO t_fieldcatalog1.
  CLEAR s_fieldcatalog.

ENDFORM.

*---------------------------------------------------------------------*
*       FORM GET_FIELDCAT2                                            *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
FORM get_fieldcat2.

  DATA: s_fieldcatalog TYPE slis_fieldcat_alv.

  s_fieldcatalog-col_pos = '1'.
  s_fieldcatalog-fieldname = 'VBELN'.
  s_fieldcatalog-tabname   = 'ITAB2'.
  s_fieldcatalog-rollname  = 'VBELN'.
  APPEND s_fieldcatalog TO t_fieldcatalog2.
  CLEAR s_fieldcatalog.

  s_fieldcatalog-col_pos = '2'.
  s_fieldcatalog-fieldname = 'MATNR'.
  s_fieldcatalog-tabname   = 'ITAB2'.
  s_fieldcatalog-rollname  = 'MATNR'.
  APPEND s_fieldcatalog TO t_fieldcatalog2.
  CLEAR s_fieldcatalog.

  s_fieldcatalog-col_pos = '3'.
  s_fieldcatalog-fieldname = 'NETPR'.
  s_fieldcatalog-tabname   = 'ITAB2'.
  s_fieldcatalog-rollname  = 'NETPR'.
  APPEND s_fieldcatalog TO t_fieldcatalog2.
  CLEAR s_fieldcatalog.

  s_fieldcatalog-col_pos = '4'.
  s_fieldcatalog-fieldname = 'KWMENG'.
  s_fieldcatalog-tabname   = 'ITAB2'.
  s_fieldcatalog-rollname  = 'KWMENG'.
  APPEND s_fieldcatalog TO t_fieldcatalog2.
  CLEAR s_fieldcatalog.
ENDFORM.

Thanks

naren

Read only

Former Member
0 Likes
659

Hi,

see this program

REPORT ZBHALV_BLOCK_LIST.

TABLES:LFA1,EKKO.

SELECT-OPTIONS:LIFNR FOR LFA1-LIFNR.

DATA:BEGIN OF ITAB OCCURS 0,

LIFNR LIKE LFA1-LIFNR,

NAME1 LIKE LFA1-NAME1,

LAND1 LIKE LFA1-LAND1,

ORT01 LIKE LFA1-ORT01,

REGIO LIKE LFA1-REGIO,

END OF ITAB.

DATA:BEGIN OF JTAB OCCURS 0,

LIFNR LIKE EKKO-LIFNR,

EBELN LIKE EKKO-EBELN,

BUKRS LIKE EKKO-BUKRS,

BSTYP LIKE EKKO-BSTYP,

EKORG LIKE EKKO-EKORG,

BSART LIKE EKKO-BSART,

END OF JTAB.

SELECT * FROM LFA1 INTO CORRESPONDING FIELDS OF TABLE ITAB WHERE LIFNR

IN LIFNR.

SELECT * FROM EKKO INTO CORRESPONDING FIELDS OF TABLE JTAB WHERE LIFNR

IN LIFNR.

TYPE-POOLS:SLIS.

DATA:LAYOUT TYPE slis_layout_alv.

DATA:EVE TYPE slis_t_event WITH HEADER LINE.

DATA:EVE1 TYPE slis_t_event WITH HEADER LINE.

DATA:HEAD TYPE slis_t_listheader WITH HEADER LINE.

DATA:FCAT TYPE slis_t_fieldcat_alv.

DATA:FCAT1 TYPE slis_t_fieldcat_alv.

LAYOUT-ZEBRA = 'X'.

LAYOUT-colwidth_optimize = 'X'.

LAYOUT-WINDOW_TITLEBAR = 'VENDOR DETAILS SCREEN'.

EVE1-NAME = 'TOP_OF_PAGE'.

EVE1-FORM = 'TOP_OF_PAGE1'.

APPEND EVE1.

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

EXPORTING

I_LIST_TYPE = 0

IMPORTING

ET_EVENTS = EVE[]

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 EVE WITH KEY NAME = 'TOP_OF_PAGE'.

EVE-FORM = 'TOP_OF_PAGE'.

MODIFY EVE TRANSPORTING FORM WHERE NAME = 'TOP_OF_PAGE'.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'

EXPORTING

I_CALLBACK_PROGRAM = SY-REPID

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

  • IT_EXCLUDING =

.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

I_PROGRAM_NAME = SY-REPID

I_INTERNAL_TABNAME = 'ITAB'

  • I_STRUCTURE_NAME =

  • I_CLIENT_NEVER_DISPLAY = 'X'

I_INCLNAME = SY-REPID

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE =

CHANGING

CT_FIELDCAT = FCAT

  • EXCEPTIONS

  • INCONSISTENT_INTERFACE = 1

  • PROGRAM_ERROR = 2

  • OTHERS = 3

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'

EXPORTING

IS_LAYOUT = LAYOUT

IT_FIELDCAT = FCAT

I_TABNAME = 'ITAB'

IT_EVENTS = EVE[]

  • IT_SORT =

  • I_TEXT = ' '

TABLES

T_OUTTAB = ITAB

  • EXCEPTIONS

  • PROGRAM_ERROR = 1

  • MAXIMUM_OF_APPENDS_REACHED = 2

  • OTHERS = 3

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

I_PROGRAM_NAME = SY-REPID

I_INTERNAL_TABNAME = 'JTAB'

  • I_STRUCTURE_NAME =

  • I_CLIENT_NEVER_DISPLAY = 'X'

I_INCLNAME = SY-REPID

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE =

CHANGING

CT_FIELDCAT = FCAT1

  • EXCEPTIONS

  • INCONSISTENT_INTERFACE = 1

  • PROGRAM_ERROR = 2

  • OTHERS = 3

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'

EXPORTING

IS_LAYOUT = LAYOUT

IT_FIELDCAT = FCAT1

I_TABNAME = 'JTAB'

IT_EVENTS = EVE1[]

  • IT_SORT =

  • I_TEXT = ' '

TABLES

T_OUTTAB = JTAB

  • EXCEPTIONS

  • PROGRAM_ERROR = 1

  • MAXIMUM_OF_APPENDS_REACHED = 2

  • OTHERS = 3

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'

  • EXPORTING

  • I_INTERFACE_CHECK = ' '

  • IS_PRINT =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

  • 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.

FORM TOP_OF_PAGE.

REFRESH HEAD.

HEAD-TYP = 'H'.

HEAD-INFO = 'VENDORS DETAILS'.

APPEND HEAD.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

IT_LIST_COMMENTARY = HEAD[]

  • I_LOGO =

  • I_END_OF_LIST_GRID =

.

ENDFORM.

FORM TOP_OF_PAGE1.

REFRESH HEAD.

HEAD-TYP = 'H'.

HEAD-INFO = 'PURCHASE DOCCUMENTS DETAILS'.

APPEND HEAD.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

IT_LIST_COMMENTARY = HEAD[]

  • I_LOGO =

  • I_END_OF_LIST_GRID =

.

ENDFORM.

rgds,

bharat.

Read only

Former Member
0 Likes
660

Hai,

This uses s the tables such as sflight, sbook etc.

Copy the 3 includes and run it.

Please reward if found helpfull.

Rakesh,

&----


*& Report ZUUSRBLOCK2

*&

&----


*&

*&

&----


REPORT zuusrblock2.

*include top

INCLUDE ZUUSRBLOCK_TOP01.

*include body

INCLUDE ZUUSRBLOCK_BODY01.

*include forms

INCLUDE ZUUSRBLOCK_FORMS01.

-


&----


*& Include ZUUSRBLOCK_TOP.

&----


TYPE-POOLS slis .

*----


*Types

TYPES: BEGIN OF ty_sflight,

countryto TYPE spfli-countryto ,

seatsmax TYPE sflight-seatsmax ,

seatsocc TYPE sflight-seatsocc ,

price TYPE sflight-price ,

END OF ty_sflight.

TYPES: BEGIN OF ty_sbook,

bookid TYPE sbook-bookid ,

customid TYPE sbook-customid ,

class TYPE sbook-class ,

END OF ty_sbook.

*----


internal tables

DATA: it_sflight TYPE TABLE OF ty_sflight ,

it_sbook TYPE TABLE OF ty_sbook ,

it_fcat TYPE slis_t_fieldcat_alv,

it_event TYPE slis_t_event .

*----


*internal structure

DATA: is_fcat TYPE slis_fieldcat_alv,

is_event TYPE slis_alv_event ,

is_layout TYPE slis_layout_alv .

*----


*variables

DATA:w_col TYPE i.

*----


*selection screen

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.

PARAMETERS : pa_fdate TYPE sflight-fldate OBLIGATORY,

pa_carr TYPE sflight-carrid OBLIGATORY.

SELECTION-SCREEN END OF BLOCK b1.

-


&----


*& Include ZUUSRBLOCK_BODY01

*&----


START-OF-SELECTION.

*Selecting data from db

PERFORM select_data.

END-OF-SELECTION.

*Display the block alv

PERFORM alv_blockdisplay.

-


&----


*

*& Include ZUUSRBLOCK_FORMS

&----


&----


*& Form select_data

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM select_data.

IF pa_fdate IS NOT INITIAL AND pa_carr IS NOT INITIAL.

*Join conditions

*-----a sflight

*-----b spfli

SELECT bcountryto aseatsmax aseatsocc aprice

FROM ( sflight AS a INNER JOIN

spfli AS b ON acarrid = bcarrid )

INTO TABLE it_sflight

WHERE a~fldate = pa_fdate

AND a~carrid = pa_carr.

*Join conditions

*-----a sbook

*-----b sflight

SELECT a~bookid a~customid a~class

FROM ( sbook AS a INNER JOIN sflight AS b

ON a~carrid = b~carrid

AND a~fldate = b~fldate

AND a~connid = b~connid )

INTO TABLE it_sbook

WHERE b~fldate = pa_fdate

AND b~carrid = pa_carr.

ELSE.

MESSAGE i120(zmessages).

ENDIF.

*

  • IF sy-subrc = 0.

  • IF pa_to IS NOT INITIAL.

  • DELETE it_sflight WHERE countryto NE pa_to.

  • ENDIF.

  • ELSE.

  • MESSAGE i400(zmessages).

  • ENDIF.

ENDFORM. " select_data

&----


*& Form alv_blockdisplay

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM alv_blockdisplay .

block iinitialise

PERFORM alv_init.

block append

PERFORM alv_append.

block display

PERFORM alv_display.

ENDFORM. " alv_blockdisplay

&----


*& Form alv_init

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM alv_init .

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'

EXPORTING

i_callback_program = sy-repid

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

  • IT_EXCLUDING =

.

ENDFORM. " alv_init

&----


*& Form alv_append

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM alv_append .

PERFORM sub_fieldcat USING :

'COUNTRYTO' 'COUNTRYTO' 'IT_SFLIGHT' ' ' ,

'SEATSMAX' 'SEATSMAX' 'IT_SFLIGHT' ' ' ,

'SEATSOCC' 'SEATSOCC' 'IT_SFLIGHT' ' ' ,

'PRICE' 'PRICE' 'IT_SFLIGHT' 'X' ,

'BOOKID' 'BOOKID' 'IT_SBOOK' ' ' ,

'CUSTOMID' 'CUSTOMID' 'IT_SBOOK' ' ' ,

'CLASS' 'CLASS' 'IT_SBOOK' 'X' .

ENDFORM. " alv_append

&----


*& Form create_fieldcat

&----


  • text

----


  • -->P_0067 text

  • -->P_0068 text

  • -->P_0069 text

  • -->P_0070 text

----


FORM sub_fieldcat USING p_01

p_02

p_03

p_04.

next block

w_col = w_col + 1.

Column Position

is_fcat-col_pos = w_col.

is_fcat-fieldname = p_01.

is_fcat-seltext_l = p_02.

is_fcat-tabname = p_03.

  • is_fcat-ref_tabname = p_04.

  • is_fcat-ref_fieldname = p_01.

APPEND is_fcat TO it_fcat.

CLEAR is_fcat.

IF p_04 = 'X'. "End of block

  • CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

  • EXPORTING

  • i_list_type = 0

  • IMPORTING

  • et_events = it_event

  • 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.

is_layout-zebra = 'X'. "setting display layout

IF p_03 = 'IT_SFLIGHT'. "internal table material information

*Giving heading for the block

*----


CLEAR it_event.

is_event-name = 'TOP_OF_PAGE'.

is_event-form = 'FORM_TOP1'.

APPEND is_event TO it_event.

CLEAR is_event.

*----


*block append

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'

EXPORTING

is_layout = is_layout

it_fieldcat = it_fcat

i_tabname = p_03 "internal table

it_events = it_event

  • IT_SORT =

  • I_TEXT = ' '

TABLES

t_outtab = it_sflight

EXCEPTIONS

program_error = 1

maximum_of_appends_reached = 2

OTHERS = 3.

ELSEIF p_03 = 'IT_SBOOK'. "internal table material information

*Giving heading for the block

*----


CLEAR it_event.

is_event-name = 'TOP_OF_PAGE'.

is_event-form = 'FORM_TOP2'.

APPEND is_event TO it_event.

CLEAR is_event.

*----


*block append

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'

EXPORTING

is_layout = is_layout

it_fieldcat = it_fcat

i_tabname = p_03 "internal table

it_events = it_event

  • IT_SORT =

  • I_TEXT = ' '

TABLES

t_outtab = it_sbook

EXCEPTIONS

program_error = 1

maximum_of_appends_reached = 2

OTHERS = 3.

ENDIF.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

*Clear internal table and variable

CLEAR it_fcat.

CLEAR w_col.

ENDIF.

ENDFORM. " create_fieldcat

&----


*& Form alv_display

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


*Block Display

*----


FORM alv_display .

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'

*EXPORTING

  • I_INTERFACE_CHECK = ' '

  • IS_PRINT =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

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. " alv_display

*----


&----


*& Form FORM_TOP1

&----


  • text

----


FORM form_top1.

WRITE 😕 'FLIGHT INFORMATION'.

ENDFORM. "FORM_TOP1

&----


*& Form FORM_TOP2

&----


  • text

----


FORM form_top2.

WRITE 😕 'BOOKING INFORMATION'.

ENDFORM. "FORM_TOP2

Read only

Former Member
0 Likes
659

TYPE-POOLS : SLIS.

TABLES : EKKO,EKPO,MARA,MAKT,EINE.

DATA : BEGIN OF IEKKO OCCURS 0,

EBELN LIKE EKKO-EBELN,

AEDAT LIKE EKKO-AEDAT,

END OF IEKKO.

DATA : BEGIN OF IEKPO OCCURS 0,

EBELN LIKE EKPO-EBELN,

EBELP LIKE EKPO-EBELP,

MATNR LIKE EKPO-MATNR,

MENGE LIKE EKPO-MENGE,

MEINS LIKE EKPO-MEINS,

INFNR LIKE EKPO-INFNR,

END OF IEKPO.

DATA : BEGIN OF IMARA OCCURS 0,

MATNR LIKE MARA-MATNR,

MTART LIKE MARA-MTART,

MAKTX LIKE MAKT-MAKTX,

END OF IMARA.

DATA : BEGIN OF IEINE OCCURS 0,

INFNR LIKE EINE-INFNR,

EBELN LIKE EINE-EBELN,

NETPR LIKE EINE-NETPR,

WAERS LIKE EINE-WAERS,

END OF IEINE.

DATA : IFIELDCAT TYPE SLIS_T_FIELDCAT_ALV,

IFIELDCATEINE TYPE SLIS_T_FIELDCAT_ALV,

IFIELDCATMARA TYPE SLIS_T_FIELDCAT_ALV,

WFIELDCAT TYPE SLIS_FIELDCAT_ALV,

ILAYOUT TYPE SLIS_LAYOUT_ALV,

IEVENTHEAD TYPE SLIS_T_EVENT,

IEVENTITEM TYPE SLIS_T_EVENT,

IEVENTEINE TYPE SLIS_T_EVENT,

WEVENT TYPE SLIS_ALV_EVENT,

IKEYINFO TYPE SLIS_KEYINFO_ALV.

PARAMETERS : P_NUM(3) TYPE N DEFAULT 10.

PERFORM GET_DATA_EKKO.

PERFORM GET_DATA_EKPO.

PERFORM GET_DATA_MARA.

PERFORM GET_DATA_EINE.

PERFORM BUILD_FCAT_HEAD.

PERFORM BUILD_FCAT_ITEM.

PERFORM BUILD_FCAT_MARA.

PERFORM BUILD_FCAT_EINE.

PERFORM BUILD_LAYOUT.

PERFORM BUILD_EVENT_TAB.

PERFORM BUILD_KEYINFO.

PERFORM DISPLAY_BLOCK.

&----


*& Form GET_DATA_EKKO

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM GET_DATA_EKKO .

SELECT EBELN AEDAT INTO TABLE IEKKO FROM EKKO UP TO P_NUM ROWS WHERE EBELN LIKE '45000057%'.

ENDFORM. " GET_DATA_EKKO

&----


*& Form GET_DATA_EKPO

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM GET_DATA_EKPO .

IF NOT IEKKO[] IS INITIAL.

SELECT EBELN EBELP MATNR MENGE MEINS INFNR INTO TABLE IEKPO FROM EKPO FOR ALL ENTRIES

IN IEKKO WHERE EBELN = IEKKO-EBELN.

ENDIF.

ENDFORM. " GET_DATA_EKPO

&----


*& Form DISPLAY_BLOCK

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM DISPLAY_BLOCK .

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'

EXPORTING

I_CALLBACK_PROGRAM = SY-REPID

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

  • IT_EXCLUDING =

.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_HS_APPEND'

EXPORTING

IS_LAYOUT = ILAYOUT

IT_FIELDCAT = IFIELDCAT

IS_KEYINFO = IKEYINFO

I_HEADER_TABNAME = 'IEKKO'

I_ITEM_TABNAME = 'IEKPO'

IT_EVENTS = IEVENTHEAD

  • IT_SORT =

  • I_TEXT = ' '

TABLES

T_OUTTAB_HEADER = IEKKO

T_OUTTAB_ITEM = IEKPO

  • EXCEPTIONS

  • PROGRAM_ERROR = 1

  • MAXIMUM_OF_APPENDS_REACHED = 2

  • OTHERS = 3

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'

EXPORTING

IS_LAYOUT = ILAYOUT

IT_FIELDCAT = IFIELDCATMARA

I_TABNAME = 'IMARA'

IT_EVENTS = IEVENTITEM

  • IT_SORT =

  • I_TEXT = ' '

TABLES

T_OUTTAB = IMARA

  • EXCEPTIONS

  • PROGRAM_ERROR = 1

  • MAXIMUM_OF_APPENDS_REACHED = 2

  • OTHERS = 3

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'

EXPORTING

IS_LAYOUT = ILAYOUT

IT_FIELDCAT = IFIELDCATEINE

I_TABNAME = 'IEINE'

IT_EVENTS = IEVENTEINE

  • IT_SORT =

  • I_TEXT = ' '

TABLES

T_OUTTAB = IEINE

  • EXCEPTIONS

  • PROGRAM_ERROR = 1

  • MAXIMUM_OF_APPENDS_REACHED = 2

  • OTHERS = 3

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'

  • EXPORTING

  • I_INTERFACE_CHECK = ' '

  • IS_PRINT =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

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_BLOCK

&----


*& Form BUILD_FCAT_HEAD

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM BUILD_FCAT_HEAD .

WFIELDCAT-FIELDNAME = 'EBELN'.

WFIELDCAT-TABNAME = 'IEKKO'.

WFIELDCAT-SELTEXT_L = 'Pur. Doc no'.

WFIELDCAT-OUTPUTLEN = 15.

APPEND WFIELDCAT TO IFIELDCAT.

CLEAR WFIELDCAT.

WFIELDCAT-FIELDNAME = 'AEDAT'.

WFIELDCAT-TABNAME = 'IEKKO'.

WFIELDCAT-SELTEXT_L = 'Pur. doc date'.

WFIELDCAT-OUTPUTLEN = 15.

APPEND WFIELDCAT TO IFIELDCAT.

CLEAR WFIELDCAT.

ENDFORM. " BUILD_FCAT_HEAD

&----


*& Form BUILD_FCAT_ITEM

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM BUILD_FCAT_ITEM .

*WFIELDCAT-FIELDNAME = 'EBELN'.

*WFIELDCAT-TABNAME = 'IEKPO'.

*WFIELDCAT-SELTEXT_L = 'Pur. Doc no'.

*WFIELDCAT-OUTPUTLEN = 15.

*APPEND WFIELDCAT TO IFIELDCAT.

*CLEAR WFIELDCAT.

WFIELDCAT-FIELDNAME = 'EBELP'.

WFIELDCAT-TABNAME = 'IEKPO'.

WFIELDCAT-SELTEXT_L = 'Pur. Doc item'.

WFIELDCAT-OUTPUTLEN = 15.

APPEND WFIELDCAT TO IFIELDCAT.

CLEAR WFIELDCAT.

WFIELDCAT-FIELDNAME = 'MATNR'.

WFIELDCAT-TABNAME = 'IEKPO'.

WFIELDCAT-SELTEXT_L = 'Material no'.

WFIELDCAT-OUTPUTLEN = 18.

APPEND WFIELDCAT TO IFIELDCAT.

CLEAR WFIELDCAT.

WFIELDCAT-FIELDNAME = 'MENGE'.

WFIELDCAT-TABNAME = 'IEKPO'.

WFIELDCAT-SELTEXT_L = 'P.O. Qty'.

WFIELDCAT-OUTPUTLEN = 15.

APPEND WFIELDCAT TO IFIELDCAT.

CLEAR WFIELDCAT.

WFIELDCAT-FIELDNAME = 'MEINS'.

WFIELDCAT-TABNAME = 'IEKPO'.

WFIELDCAT-SELTEXT_L = 'UOM'.

WFIELDCAT-OUTPUTLEN = 3.

APPEND WFIELDCAT TO IFIELDCAT.

CLEAR WFIELDCAT.

ENDFORM. " BUILD_FCAT_ITEM

&----


*& Form BUILD_LAYOUT

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM BUILD_LAYOUT .

ILAYOUT-COLWIDTH_OPTIMIZE = 'X'.

ILAYOUT-ZEBRA = 'X'.

ENDFORM. " BUILD_LAYOUT

&----


*& 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 = IEVENTHEAD

  • 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.

IEVENTITEM = IEVENTHEAD.

IEVENTEINE = IEVENTHEAD.

READ TABLE IEVENTHEAD INTO WEVENT WITH KEY NAME = 'TOP_OF_PAGE'.

IF SY-SUBRC = 0.

WEVENT-FORM = 'TOPOFPAGEHEAD'.

MODIFY IEVENTHEAD FROM WEVENT INDEX SY-TABIX.

ENDIF.

READ TABLE IEVENTITEM INTO WEVENT WITH KEY NAME = 'TOP_OF_PAGE'.

IF SY-SUBRC = 0.

WEVENT-FORM = 'TOPOFPAGEITEM'.

MODIFY IEVENTITEM FROM WEVENT INDEX SY-TABIX.

ENDIF.

READ TABLE IEVENTEINE INTO WEVENT WITH KEY NAME = 'TOP_OF_PAGE'.

IF SY-SUBRC = 0.

WEVENT-FORM = 'TOPOFPAGEEINE'.

MODIFY IEVENTEINE FROM WEVENT INDEX SY-TABIX.

ENDIF.

ENDFORM. " BUILD_EVENT_TAB

FORM TOPOFPAGEHEAD.

DATA : ILIST TYPE SLIS_T_LISTHEADER,

WLIST TYPE SLIS_LISTHEADER.

WLIST-INFO = 'Header data with P.O. no and creating date'.

WLIST-TYP = 'H'.

APPEND WLIST TO ILIST.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

IT_LIST_COMMENTARY = ILIST

  • I_LOGO =

  • I_END_OF_LIST_GRID =

.

ENDFORM.

FORM TOPOFPAGEITEM.

DATA : ILIST TYPE SLIS_T_LISTHEADER,

WLIST TYPE SLIS_LISTHEADER.

WLIST-INFO = 'Material no in PO with type and description'.

WLIST-TYP = 'H'.

APPEND WLIST TO ILIST.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

IT_LIST_COMMENTARY = ILIST

  • I_LOGO =

  • I_END_OF_LIST_GRID =

.

ENDFORM.

&----


*& Form BUILD_KEYINFO

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM BUILD_KEYINFO .

IKEYINFO-HEADER01 = 'EBELN'.

IKEYINFO-ITEM01 = 'EBELN'.

ENDFORM. " BUILD_KEYINFO

&----


*& Form BUILD_FCAT_MARA

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM BUILD_FCAT_MARA .

WFIELDCAT-FIELDNAME = 'MATNR'.

WFIELDCAT-TABNAME = 'IMARA'.

WFIELDCAT-SELTEXT_L = 'Material no'.

WFIELDCAT-OUTPUTLEN = 18.

APPEND WFIELDCAT TO IFIELDCATMARA.

CLEAR WFIELDCAT.

WFIELDCAT-FIELDNAME = 'MAKTX'.

WFIELDCAT-TABNAME = 'IMARA'.

WFIELDCAT-SELTEXT_L = 'Material desc'.

WFIELDCAT-OUTPUTLEN = 30.

APPEND WFIELDCAT TO IFIELDCATMARA.

CLEAR WFIELDCAT.

WFIELDCAT-FIELDNAME = 'MTART'.

WFIELDCAT-TABNAME = 'IMARA'.

WFIELDCAT-SELTEXT_L = 'Material typ'.

WFIELDCAT-OUTPUTLEN = 15.

APPEND WFIELDCAT TO IFIELDCATMARA.

CLEAR WFIELDCAT.

ENDFORM. " BUILD_FCAT_MARA

&----


*& Form GET_DATA_MARA

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM GET_DATA_MARA .

IF NOT IEKPO[] IS INITIAL.

SELECT AMATNR AMTART B~MAKTX INTO TABLE IMARA FROM MARA AS A INNER JOIN

MAKT AS B ON

AMATNR = BMATNR FOR

ALL ENTRIES IN IEKPO

WHERE A~MATNR = IEKPO-MATNR.

ENDIF.

ENDFORM. " GET_DATA_MARA

&----


*& Form GET_DATA_EINE

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM GET_DATA_EINE .

IF NOT IEKPO[] IS INITIAL.

SELECT INFNR EBELN NETPR WAERS INTO TABLE IEINE FROM EINE

FOR ALL ENTRIES IN IEKPO WHERE INFNR = IEKPO-INFNR AND

EBELN = IEKPO-EBELN.

ENDIF.

ENDFORM. " GET_DATA_EINE

FORM TOPOFPAGEEINE.

DATA : ILIST TYPE SLIS_T_LISTHEADER,

WLIST TYPE SLIS_LISTHEADER.

WLIST-INFO = 'Purchasing info record'.

WLIST-TYP = 'H'.

APPEND WLIST TO ILIST.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

IT_LIST_COMMENTARY = ILIST

  • I_LOGO =

  • I_END_OF_LIST_GRID =

.

ENDFORM.

&----


*& Form BUILD_FCAT_EINE

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM BUILD_FCAT_EINE .

WFIELDCAT-FIELDNAME = 'INFNR'.

WFIELDCAT-TABNAME = 'IEINE'.

WFIELDCAT-SELTEXT_L = 'Info rec no'.

WFIELDCAT-OUTPUTLEN = 15.

APPEND WFIELDCAT TO IFIELDCATEINE.

CLEAR WFIELDCAT.

WFIELDCAT-FIELDNAME = 'EBELN'.

WFIELDCAT-TABNAME = 'IEINE'.

WFIELDCAT-SELTEXT_L = 'Pur ord no'.

WFIELDCAT-OUTPUTLEN = 15.

APPEND WFIELDCAT TO IFIELDCATEINE.

CLEAR WFIELDCAT.

WFIELDCAT-FIELDNAME = 'NETPR'.

WFIELDCAT-TABNAME = 'IEINE'.

WFIELDCAT-SELTEXT_L = 'Net price'.

WFIELDCAT-OUTPUTLEN = 15.

APPEND WFIELDCAT TO IFIELDCATEINE.

CLEAR WFIELDCAT.

WFIELDCAT-FIELDNAME = 'WAERS'.

WFIELDCAT-TABNAME = 'IEINE'.

WFIELDCAT-SELTEXT_L = 'Currency'.

WFIELDCAT-OUTPUTLEN = 10.

APPEND WFIELDCAT TO IFIELDCATEINE.

CLEAR WFIELDCAT.

ENDFORM. " BUILD_FCAT_EINE