0% found this document useful (0 votes)
42 views6 pages

Sales Alv Hierarchial

The report displays sales order data in a hierarchical ALV grid. It defines data structures for the header and item tables and performs selections to populate them from database tables. Field catalogs are created and layout, events and display configuration are set for the ALV output grid.

Uploaded by

anil
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
42 views6 pages

Sales Alv Hierarchial

The report displays sales order data in a hierarchical ALV grid. It defines data structures for the header and item tables and performs selections to populate them from database tables. Field catalogs are created and layout, events and display configuration are set for the ALV output grid.

Uploaded by

anil
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 6

*&---------------------------------------------------------------------*

*& Report ZREP_HIERARCHIAL_ALV


*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZREP_HIERARCHIAL_ALV.
*&---------------------------------------------------------------------*
*&
*& TYPES DECLARATIONS
*&---------------------------------------------------------------------*
TYPES: BEGIN OF TY_VBAK,
VBELN TYPE VBAK-VBELN,
VKORG TYPE VBAK-VKORG,
VKGRP TYPE VBAK-VKGRP,
VKBUR TYPE VBAK-VKBUR,
KUNNR TYPE VBAK-KUNNR,
END OF TY_VBAK,
BEGIN OF TY_VBAP,
VBELN TYPE VBAP-VBELN,
POSNR TYPE VBAP-POSNR,
MATNR TYPE VBAP-MATNR,
MATKL TYPE VBAP-MATKL,
NETPR TYPE VBAP-NETPR,
END OF TY_VBAP,
BEGIN OF TY_VBEP,
VBELN TYPE VBEP-VBELN,
POSNR TYPE VBEP-POSNR,
ETENR TYPE VBEP-ETENR,
ETTYP TYPE VBEP-ETTYP,
VRKME TYPE VBEP-VRKME,
END OF TY_VBEP.
TYPE-POOLS:SLIS.
*&---------------------------------------------------------------------*
*&
*& DATA DECLARATIONS
*&---------------------------------------------------------------------*
DATA:T_VBAK TYPE STANDARD TABLE OF TY_VBAK INITIAL SIZE 0,
W_VBAK TYPE TY_VBAK,
T_VBAP TYPE STANDARD TABLE OF TY_VBAP INITIAL SIZE 0,
W_VBAP TYPE TY_VBAP,
T_VBEP TYPE STANDARD TABLE OF TY_VBEP INITIAL SIZE 0,
W_VBEP TYPE TY_VBEP,
*** FOR FIELD CATALOG
T_FCAT TYPE SLIS_T_FIELDCAT_ALV,
W_FCAT TYPE SLIS_FIELDCAT_ALV,

T_FCAT2 TYPE SLIS_T_FIELDCAT_ALV,"VBEP


*** FOR LAYOUT
W_LAYOUT TYPE SLIS_LAYOUT_ALV,
*** FOR KEYINFO.
W_KEYINFO TYPE SLIS_KEYINFO_ALV.
DATA:LV_VBELN TYPE VBAK-VBELN.
*&---------------------------------------------------------------------*
*&
*& SELECTION-SCREEN FOR USER INPUT
*&---------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-000.
SELECT-OPTIONS:S_VBELN FOR W_VBAK-VBELN DEFAULT '4969' to '5000'.
SELECTION-SCREEN END OF BLOCK B1.
*&---------------------------------------------------------------------*
*&
*& Initialization
*&---------------------------------------------------------------------*
INITIALIZATION.
CLEAR W_VBAK.
REFRESH T_VBAK.
PERFORM SUB_GUID USING:
'1' 'VBELN' 'T_VBAK'
'2' 'VKORG' 'T_VBAK'
'3' 'VKGRP' 'T_VBAK'
'4' 'VKBUR' 'T_VBAK'
'5' 'KUNNR' 'T_VBAK'

'SDOCNO',
'SORG',
'SGROUP',
'SOFFICE',
'CUSTOMERNO'.

PERFORM SUB_GUID1 USING:


'1' 'VBELN' 'T_VBAP'
'2' 'POSNR' 'T_VBAP'
'3' 'MATNR' 'T_VBAP'
'4' 'MATKL' 'T_VBAP'
'5' 'NETPR' 'T_VBAP'

'SDOCNO',
'ITEMNO',
'MATNO',
'MATGRP',
'NETPRICE'.

*&---------------------------------------------------------------------*
*&
*& START-OF-SELECTION
*&---------------------------------------------------------------------*
START-OF-SELECTION.
SELECT VBELN
VKORG
VKGRP
VKBUR
KUNNR FROM VBAK INTO TABLE T_VBAK

WHERE VBELN IN S_VBELN.


IF NOT T_VBAK IS INITIAL.
SELECT VBELN
POSNR
MATNR
MATKL
NETPR FROM VBAP
INTO TABLE T_VBAP
FOR ALL ENTRIES IN T_VBAK
WHERE VBELN = T_VBAK-VBELN.
ENDIF.
*&---------------------------------------------------------------------*
*&
*& END-OF-SELECTION FOR DISPLAYING THE OUTPUT
*&---------------------------------------------------------------------*
END-OF-SELECTION.
CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK
= ' '
I_CALLBACK_PROGRAM
= SY-REPID
* I_CALLBACK_PF_STATUS_SET
= ' '
I_CALLBACK_USER_COMMAND
= 'USER_CMD'
IS_LAYOUT
= W_LAYOUT
IT_FIELDCAT
= T_fCAT
* IT_EXCLUDING
=
* IT_SPECIAL_GROUPS
=
* IT_SORT
=
* IT_FILTER
=
* IS_SEL_HIDE
=
* I_SCREEN_START_COLUMN
= 0
* I_SCREEN_START_LINE
= 0
* I_SCREEN_END_COLUMN
= 0
* I_SCREEN_END_LINE
= 0
* I_DEFAULT
= 'X'
* I_SAVE
= ' '
* IS_VARIANT
=
* IT_EVENTS
=
* IT_EVENT_EXIT
=
I_TABNAME_HEADER
= 'T_VBAK'
I_TABNAME_ITEM
= 'T_VBAP'
* I_STRUCTURE_NAME_HEADER
=
* I_STRUCTURE_NAME_ITEM
=
IS_KEYINFO
= W_KEYINFO
* IS_PRINT
=
* IS_REPREP_ID
=
* I_BYPASSING_BUFFER
=
* I_BUFFER_ACTIVE
=
* IR_SALV_HIERSEQ_ADAPTER
=
* IT_EXCEPT_QINFO
=
* I_SUPPRESS_EMPTY_DATA
= ABAP_FALSE
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER
=
* ES_EXIT_CAUSED_BY_USER
=
TABLES
T_OUTTAB_HEADER
= T_VBAK
T_OUTTAB_ITEM
= T_vBAP

* 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 SUB_GUID
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
*
-->P_0135 text
*
-->P_0136 text
*
-->P_0137 text
*
-->P_0138 text
*----------------------------------------------------------------------*
FORM SUB_GUID USING
VALUE(P_0135)
VALUE(P_0136)
VALUE(P_0137)
VALUE(P_0138).
CLEAR W_FCAT.
W_fCAT-COL_POS =
W_FCAT-FIELDNAME
W_fCAT-TABNAME =
W_FCAT-SELTEXT_M
APPEND W_fCAT TO

P_0135.
= P_0136.
P_0137.
= P_0138.
T_fCAT.

W_LAYOUT-ZEBRA = 'X'.
*** KEY FIELD COMMON IN HEADER AND ITEM TABLES.
W_KEYINFO-HEADER01 = 'VBELN'.
W_KEYINFO-ITEM01 = 'VBELN'.
ENDFORM.
" SUB_GUID
*&---------------------------------------------------------------------*
*&
Form SUB_GUID1
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
*
-->P_0170 text
*
-->P_0171 text
*
-->P_0172 text
*
-->P_0173 text
*----------------------------------------------------------------------*
FORM SUB_GUID1 USING
VALUE(P_0170)
VALUE(P_0171)
VALUE(P_0172)
VALUE(P_0173).
CLEAR W_FCAT.
W_fCAT-COL_POS =
W_FCAT-FIELDNAME
W_fCAT-TABNAME =
W_fCAT-SELTEXT_M

P_0170.
= P_0171.
P_0172.
= P_0173.

APPEND W_FCAT TO T_fCAT.


ENDFORM.

" SUB_GUID1

FORM USER_CMD USING R_UCOMM LIKE SY-UCOMM


RS_SELFIELD TYPE SLIS_SELFIELD.

CASE R_UCOMM.
PERFORM SUB_FCAT USING:
'1' 'VBELN' 'T_VBEP'
'2' 'POSNR' 'T_VBEP'
'3' 'ETENR' 'T_VBEP'
'4' 'ETTYP' 'T_VBEP'
'5' 'VRKME' 'T_VBEP'

'SDOCNO',
'ITEMNO',
'SCHDLINENO',
'SCHDCAT',
'SALESUNIT'.

*** FUNCTION MODULE TO SUPPRESS THE LEADING ZEROES.


CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT
= RS_SELFIELD-VALUE
IMPORTING
OUTPUT
= LV_VBELN.
SELECT VBELN
POSNR
ETENR
ETTYP
VRKME FROM VBEP
INTO TABLE T_VBEP
WHERE VBELN = LV_VBELN.

*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'


EXPORTING
I_INTERFACE_CHECK
= ' '
I_BYPASSING_BUFFER
=
I_BUFFER_ACTIVE
= ' '
I_CALLBACK_PROGRAM
= SY-REPID
I_CALLBACK_PF_STATUS_SET
= ' '
I_CALLBACK_USER_COMMAND
= ' '
I_STRUCTURE_NAME
=
IS_LAYOUT
= W_LAYOUT
IT_FIELDCAT
= T_FCAT2
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
IR_SALV_LIST_ADAPTER
=
IT_EXCEPT_QINFO
=
I_SUPPRESS_EMPTY_DATA
= ABAP_FALSE
IMPORTING
E_EXIT_CAUSED_BY_CALLER
=
ES_EXIT_CAUSED_BY_USER
=
TABLES
T_OUTTAB
= T_VBEP
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.

ENDCASE.
ENDFORM.
*&---------------------------------------------------------------------*
*&
Form SUB_FCAT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
*
-->P_0403 text
*
-->P_0404 text
*
-->P_0405 text
*
-->P_0406 text
*----------------------------------------------------------------------*
FORM SUB_FCAT USING
VALUE(P_0403)
VALUE(P_0404)
VALUE(P_0405)
VALUE(P_0406).
CLEAR W_FCAT.
W_FCAT-COL_POS =
W_FCAT-FIELDNAME
W_FCAT-TABNAME =
W_FCAT-SELTEXT_M
APPEND W_FCAT TO
ENDFORM.

P_0403.
= P_0404.
P_0405.
= P_0406.
T_fCAT2.
" SUB_FCAT

You might also like