Application Development 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: 

give the exact solution

Former Member
0 Kudos

Hi ,,,

I want to use top-of -page in ALV for Hierarchical Lists.plz give me the right solution or coding for that.plz tell how we can use top-of -page in the ALV of hierarchical list.

4 REPLIES 4

Former Member
0 Kudos

REPORT YMS_HIERSEQLISTDISPLAY .

----


TYPE-POOLS: slis. " ALV Global types

----


CONSTANTS :

c_x VALUE 'X',

c_gt_vbap TYPE SLIS_TABNAME VALUE 'GT_VBAP',

c_gt_vbak TYPE SLIS_TABNAME VALUE 'GT_VBAK'.

----


SELECTION-SCREEN :

SKIP, BEGIN OF LINE,COMMENT 5(27) v_1 FOR FIELD p_max. "#EC NEEDED

PARAMETERS p_max(02) TYPE n DEFAULT '10' OBLIGATORY.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN :

SKIP, BEGIN OF LINE,COMMENT 5(27) v_2 FOR FIELD p_expand. "#EC NEEDED

PARAMETERS p_expand AS CHECKBOX DEFAULT c_x.

SELECTION-SCREEN END OF LINE.

----


TYPES :

  • 1st Table

BEGIN OF ty_vbak,

vbeln TYPE vbak-vbeln, " Sales document

kunnr TYPE vbak-kunnr, " Sold-to party

netwr TYPE vbak-netwr, " Net Value of the Sales Order

erdat TYPE vbak-erdat, " Creation date

waerk TYPE vbak-waerk, " SD document currency

expand TYPE xfeld,

END OF ty_vbak,

  • 2nd Table

BEGIN OF ty_vbap,

vbeln TYPE vbap-vbeln, " Sales document

posnr TYPE vbap-posnr, " Sales document

matnr TYPE vbap-matnr, " Material number

netwr TYPE vbap-netwr, " Net Value of the Sales Order

waerk TYPE vbap-waerk, " SD document currency

END OF ty_vbap.

----


DATA :

  • 1st Table

gt_vbak TYPE TABLE OF ty_vbak,

  • 2nd Table

gt_vbap TYPE TABLE OF ty_vbap.

----


INITIALIZATION.

v_1 = 'Maximum of records to read'.

v_2 = 'With ''EXPAND'' field'.

----


START-OF-SELECTION.

  • Read Sales Document: Header Data

SELECT vbeln kunnr netwr waerk erdat

FROM vbak

UP TO p_max ROWS

INTO CORRESPONDING FIELDS OF TABLE gt_vbak.

IF NOT gt_vbak[] IS INITIAL.

  • Read Sales Document: Item Data

SELECT vbeln posnr matnr netwr waerk

FROM vbap

INTO CORRESPONDING FIELDS OF TABLE gt_vbap

FOR ALL ENTRIES IN gt_vbak

WHERE vbeln = gt_vbak-vbeln.

ENDIF.

PERFORM f_display.

----


  • Form F_DISPLAY

----


FORM f_display.

  • Macro definition

DEFINE m_fieldcat.

ls_fieldcat-tabname = &1.

ls_fieldcat-fieldname = &2.

ls_fieldcat-ref_tabname = &3.

ls_fieldcat-cfieldname = &4. " Field with currency unit

append ls_fieldcat to lt_fieldcat.

END-OF-DEFINITION.

DEFINE m_sort.

ls_sort-tabname = &1.

ls_sort-fieldname = &2.

ls_sort-up = c_x.

append ls_sort to lt_sort.

END-OF-DEFINITION.

DATA:

ls_layout TYPE slis_layout_alv,

ls_keyinfo TYPE slis_keyinfo_alv,

ls_sort TYPE slis_sortinfo_alv,

lt_sort TYPE slis_t_sortinfo_alv," Sort table

ls_fieldcat TYPE slis_fieldcat_alv,

lt_fieldcat TYPE slis_t_fieldcat_alv." Field catalog

ls_layout-group_change_edit = c_x.

ls_layout-colwidth_optimize = c_x.

ls_layout-zebra = c_x.

ls_layout-detail_popup = c_x.

ls_layout-get_selinfos = c_x.

IF p_expand = c_x.

ls_layout-expand_fieldname = 'EXPAND'.

ENDIF.

  • Build field catalog and sort table

m_fieldcat c_gt_vbak 'VBELN' 'VBAK' ''.

m_fieldcat c_gt_vbak 'KUNNR' 'VBAK' ''.

m_fieldcat c_gt_vbak 'NETWR' 'VBAK' 'WAERK'.

m_fieldcat c_gt_vbak 'WAERK' 'VBAK' ''.

m_fieldcat c_gt_vbak 'ERDAT' 'VBAK' ''.

m_fieldcat c_gt_vbap 'POSNR' 'VBAP' ''.

m_fieldcat c_gt_vbap 'MATNR' 'VBAP' ''.

m_fieldcat c_gt_vbap 'NETWR' 'VBAP' 'WAERK'.

m_fieldcat c_gt_vbap 'WAERK' 'VBAP' ''.

m_sort c_gt_vbak 'KUNNR'.

m_sort c_gt_vbap 'NETWR'.

ls_keyinfo-header01 = 'VBELN'.

ls_keyinfo-item01 = 'VBELN'.

ls_keyinfo-item02 = 'POSNR'.

  • Dipslay Hierarchical list

CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'

EXPORTING

i_callback_program = sy-cprog

i_callback_user_command = 'USER_COMMAND'

is_layout = ls_layout

it_fieldcat = lt_fieldcat

it_sort = lt_sort

i_tabname_header = c_gt_vbak

i_tabname_item = c_gt_vbap

is_keyinfo = ls_keyinfo

TABLES

t_outtab_header = gt_vbak

t_outtab_item = gt_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.

ENDFORM. " F_LIST_DISPLAY

----


  • Form USER_COMMAND *

----


FORM user_command USING i_ucomm TYPE sy-ucomm

is_selfield TYPE slis_selfield. "#EC CALLED

DATA ls_vbak TYPE ty_vbak.

CASE i_ucomm.

WHEN '&IC1'. " Pick

CASE is_selfield-tabname.

WHEN c_gt_vbap.

WHEN c_gt_vbak.

READ TABLE gt_vbak INDEX is_selfield-tabindex INTO ls_vbak.

IF sy-subrc EQ 0.

  • Sales order number

SET PARAMETER ID 'AUN' FIELD ls_vbak-vbeln.

  • Display Sales Order

CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.

ENDIF.

ENDCASE.

ENDCASE.

ENDFORM.

Former Member
0 Kudos

hi..thanx 4 ur rplybt i want 2 9 that how can we display the top-of-page in the hierarchical list of ALV

0 Kudos

Try this code ,

&----


*& Report Z8AS_PROGRAM_ALV

*&

&----


*&

*&

&----


REPORT Z8AS_PROGRAM_ALV.

TABLES : STKO,STPO,MAKT,MAST.

TYPE-POOLS : SLIS.

DATA : BEGIN OF ISTKO OCCURS 0,

STLNR LIKE STKO-STLNR,

DATUV LIKE STKO-DATUV,

MATNR LIKE MAST-MATNR,

BMENG LIKE STKO-BMENG,

BMEIN LIKE STKO-BMEIN,

END OF ISTKO.

DATA : BEGIN OF ISTPO OCCURS 0,

STLNR LIKE STPO-STLNR,

IDNRK LIKE STPO-IDNRK,

MENGE LIKE STPO-MENGE,

MEINS LIKE STPO-MEINS,

MAKTX LIKE MAKT-MAKTX,

END OF ISTPO.

DATA : BEGIN OF IMAKT OCCURS 0,

MATNR LIKE MAKT-MATNR,

MAKTX LIKE MAKT-MAKTX,

END OF IMAKT.

DATA : BEGIN OF IMAST OCCURS 0,

MATNR LIKE MAST-MATNR,

STLNR LIKE MAST-STLNR,

END OF IMAST.

DATA : IFIELDCAT TYPE SLIS_T_FIELDCAT_ALV,

WFIELDCAT TYPE SLIS_FIELDCAT_ALV,

ILAYOUT TYPE SLIS_LAYOUT_ALV,

IKEYINFO TYPE SLIS_KEYINFO_ALV,

IEVENT TYPE SLIS_T_EVENT,

WEVENT TYPE SLIS_ALV_EVENT.

PARAMETERS : P_NUM TYPE I .

START-OF-SELECTION.

PERFORM GETDATA.

PERFORM GETHEADERMAT.

PERFORM GET_MAT_DESC.

PERFORM BUILD_FCAT_HEAD.

PERFORM BUILD_FCAT_ITEM.

PERFORM BUILD_KEYINFO.

PERFORM BUILD_EVENT_TAB.

PERFORM BUILD_LAYOUT.

PERFORM DISPLAY_DATA.

&----


*& Form GETDATA

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM GETDATA .

SELECT STLNR DATUV BMENG BMEIN INTO CORRESPONDING FIELDS OF TABLE ISTKO

FROM STKO UP TO P_NUM ROWS.

IF NOT ISTKO[] IS INITIAL.

SELECT STLNR IDNRK MENGE MEINS INTO TABLE ISTPO FROM STPO FOR ALL ENTRIES IN ISTKO

WHERE STLNR = ISTKO-STLNR AND POSTP = 'L'.

ENDIF.

ENDFORM. " GETDATA

&----


*& Form BUILD_FCAT_HEAD

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM BUILD_FCAT_HEAD .

WFIELDCAT-TABNAME = 'ISTKO'.

WFIELDCAT-FIELDNAME = 'STLNR'.

WFIELDCAT-SELTEXT_L = 'BOM no'.

WFIELDCAT-OUTPUTLEN = 15.

APPEND WFIELDCAT TO IFIELDCAT.

CLEAR WFIELDCAT.

WFIELDCAT-TABNAME = 'ISTKO'.

WFIELDCAT-FIELDNAME = 'DATUV'.

WFIELDCAT-SELTEXT_L = 'BOM date'.

WFIELDCAT-OUTPUTLEN = 15.

APPEND WFIELDCAT TO IFIELDCAT.

CLEAR WFIELDCAT.

WFIELDCAT-TABNAME = 'ISTKO'.

WFIELDCAT-FIELDNAME = 'MATNR'.

WFIELDCAT-SELTEXT_L = 'Header mat no'.

WFIELDCAT-OUTPUTLEN = 18.

APPEND WFIELDCAT TO IFIELDCAT.

CLEAR WFIELDCAT.

WFIELDCAT-TABNAME = 'ISTKO'.

WFIELDCAT-FIELDNAME = 'BMENG'.

WFIELDCAT-SELTEXT_L = 'Base qty'.

WFIELDCAT-OUTPUTLEN = 15.

APPEND WFIELDCAT TO IFIELDCAT.

CLEAR WFIELDCAT.

WFIELDCAT-TABNAME = 'ISTKO'.

WFIELDCAT-FIELDNAME = 'BMEIN'.

WFIELDCAT-SELTEXT_L = 'UOM'.

WFIELDCAT-OUTPUTLEN = 3.

APPEND WFIELDCAT TO IFIELDCAT.

CLEAR WFIELDCAT.

ENDFORM. " BUILD_FCAT_HEAD

&----


*& Form BUILD_FCAT_ITEM

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM BUILD_FCAT_ITEM .

WFIELDCAT-TABNAME = 'ISTPO'.

WFIELDCAT-FIELDNAME = 'IDNRK'.

WFIELDCAT-SELTEXT_L = 'Material no'.

*WFIELDCAT-HOTSPOT = 'X'.

WFIELDCAT-OUTPUTLEN = 18.

APPEND WFIELDCAT TO IFIELDCAT.

CLEAR WFIELDCAT.

WFIELDCAT-TABNAME = 'ISTPO'.

WFIELDCAT-FIELDNAME = 'MAKTX'.

WFIELDCAT-SELTEXT_L = 'Material desc'.

WFIELDCAT-JUST = 'C'.

WFIELDCAT-OUTPUTLEN = 30.

APPEND WFIELDCAT TO IFIELDCAT.

CLEAR WFIELDCAT.

WFIELDCAT-TABNAME = 'ISTPO'.

WFIELDCAT-FIELDNAME = 'MENGE'.

WFIELDCAT-SELTEXT_L = 'Item qty'.

WFIELDCAT-OUTPUTLEN = 15.

APPEND WFIELDCAT TO IFIELDCAT.

CLEAR WFIELDCAT.

WFIELDCAT-TABNAME = 'ISTPO'.

WFIELDCAT-FIELDNAME = 'MEINS'.

WFIELDCAT-SELTEXT_L = 'UOM'.

WFIELDCAT-OUTPUTLEN = 3.

APPEND WFIELDCAT TO IFIELDCAT.

CLEAR WFIELDCAT.

ENDFORM. " BUILD_FCAT_ITEM

&----


*& Form BUILD_KEYINFO

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM BUILD_KEYINFO .

IKEYINFO-HEADER01 = 'STLNR'.

IKEYINFO-ITEM01 = 'STLNR'.

ENDFORM. " BUILD_KEYINFO

&----


*& Form DISPLAY_DATA

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM DISPLAY_DATA .

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_COM'

IS_LAYOUT = ILAYOUT

IT_FIELDCAT = IFIELDCAT[]

  • 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 = IEVENT[]

  • IT_EVENT_EXIT =

I_TABNAME_HEADER = 'ISTKO'

I_TABNAME_ITEM = 'ISTPO'

  • I_STRUCTURE_NAME_HEADER =

  • I_STRUCTURE_NAME_ITEM =

IS_KEYINFO = IKEYINFO

  • IS_PRINT =

  • IS_REPREP_ID =

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB_HEADER = ISTKO

T_OUTTAB_ITEM = ISTPO

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

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM GET_MAT_DESC .

IF NOT ISTPO[] IS INITIAL.

SELECT MATNR MAKTX INTO TABLE IMAKT FROM MAKT FOR ALL ENTRIES IN ISTPO

WHERE MATNR = ISTPO-IDNRK.

ENDIF.

LOOP AT ISTPO.

READ TABLE IMAKT WITH KEY MATNR = ISTPO-IDNRK.

IF SY-SUBRC = 0.

ISTPO-MAKTX = IMAKT-MAKTX.

ENDIF.

MODIFY ISTPO.

ENDLOOP.

ENDFORM. " GET_MAT_DESC

&----


*& Form BUILD_LAYOUT

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM BUILD_LAYOUT .

ILAYOUT-ZEBRA = 'X'.

ILAYOUT-COLWIDTH_OPTIMIZE = 'X'.

ENDFORM. " BUILD_LAYOUT

*FORM USER_COM USING PUCOM LIKE SY-UCOMM PSELFIELD TYPE SLIS_SELFIELD.

*

*CASE PUCOM.

*WHEN '&IC1'.

  • SET PARAMETER ID 'MAT' FIELD PSELFIELD-VALUE.

  • CALL TRANSACTION 'MM03' AND SKIP FIRST SCREEN.

*ENDCASE.

*

*ENDFORM.

&----


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

  • 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 IEVENT INTO WEVENT WITH KEY NAME = 'TOP_OF_PAGE'.

IF SY-SUBRC = 0.

WEVENT-FORM = 'TOPOFPAGE'.

MODIFY IEVENT FROM WEVENT INDEX SY-TABIX.

ENDIF.

ENDFORM. " BUILD_EVENT_TAB

&----


*& Form TOPOFPAGE

&----


  • text

----


FORM TOPOFPAGE.

DATA : ILISTHEAD TYPE SLIS_T_LISTHEADER,

WLISTHEAD TYPE SLIS_LISTHEADER.

WLISTHEAD-INFO = 'Its a test hierarchical sequential alv dispaly'.

WLISTHEAD-TYP = 'H'.

APPEND WLISTHEAD TO ILISTHEAD.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

IT_LIST_COMMENTARY = ILISTHEAD

  • I_LOGO = ''

  • I_END_OF_LIST_GRID =

.

ENDFORM.

&----


*& Form GETHEADERMAT

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM GETHEADERMAT .

IF NOT ISTKO[] IS INITIAL.

SELECT MATNR STLNR INTO TABLE IMAST FROM MAST FOR ALL ENTRIES IN ISTKO

WHERE STLNR = ISTKO-STLNR.

ENDIF.

LOOP AT ISTKO.

READ TABLE IMAST WITH KEY STLNR = ISTKO-STLNR.

IF SY-SUBRC = 0.

ISTKO-MATNR = IMAST-MATNR.

ENDIF.

MODIFY ISTKO.

ENDLOOP.

ENDFORM. " GETHEADERMAT

Former Member
0 Kudos

REPORT ZALV2 NO STANDARD PAGE HEADING

MESSAGE-ID ZMSG.

**********************TABLES DECLARATION******************************

TABLES : VBAK, " sales document header data

VBAP. " sales document item data

**********************TYPE POOL DECLARATION***************************

TYPE-POOLS : SLIS.

**********************TYPES DECLARATION*******************************

*TYPES : BEGIN OF TY_VBAK,

  • VBELN TYPE VBAK-VBELN,

  • ERDAT TYPE VBAK-ERDAT,

  • ERNAM TYPE VBAK-ERNAM,

  • AUART TYPE VBAK-AUART,

  • NETWR TYPE VBAK-NETWR,

  • END OF TY_VBAK.

*

*TYPES : BEGIN OF TY_VBAP,

  • VBELN TYPE VBAP-VBELN,

  • POSNR TYPE VBAP-POSNR,

  • MATNR TYPE VBAP-MATNR,

  • MEINS TYPE VBAP-MEINS,

  • ZMENG TYPE VBAP-ZMENG,

  • END OF TY_VBAP.

***********************INTERNAL TABLES********************************

*DATA : IT_VBAK TYPE STANDARD TABLE OF TY_VBAK,

  • IT_VBAP TYPE STANDARD TABLE OF TY_VBAP,

DATA : IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.

" field catalog internal table

DATA : BEGIN OF IT_VBAK OCCURS 0,

" internal table for sales document header data

VBELN TYPE VBAK-VBELN, " sales document

ERDAT TYPE VBAK-ERDAT,

" date on which document was created

ERNAM TYPE VBAK-ERNAM,

" name of the person who created it

AUART TYPE VBAK-AUART, " sales document type

NETWR TYPE VBAK-NETWR,

" net value of the sales order in document currency

END OF IT_VBAK.

DATA : BEGIN OF IT_VBAP OCCURS 0,

" internal table for sales document item data

VBELN TYPE VBAP-VBELN, " sales document

POSNR TYPE VBAP-POSNR, " sales document item

MATNR TYPE VBAP-MATNR, " material number

MEINS TYPE VBAP-MEINS, " base unit of measure

ZMENG TYPE VBAP-ZMENG, " target quantity in sales units

END OF IT_VBAP.

DATA : TY_FIELDCAT TYPE SLIS_FIELDCAT_ALV, " field catalog type

TY_KEYINFO TYPE SLIS_KEYINFO_ALV. " key information type

***********************VARIABLE DECLARATIONS**************************

DATA : REPID TYPE SY-REPID, " program name

IT_HEADER TYPE SLIS_TABNAME,

" table to store header data

IT_ITEM TYPE SLIS_TABNAME. " table to store item data

***********************SELECTION PARAMETERS***************************

SELECTION-SCREEN : BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.

SELECT-OPTIONS : S_VBELN FOR VBAK-VBELN.

" mulitple selection inputs for sales document

SELECTION-SCREEN : END OF BLOCK B1.

***********************INITIALIZATION*********************************

REPID = SY-REPID.

" variable having the program name

IT_HEADER = 'IT_VBAK'.

IT_ITEM = 'IT_VBAP'.

CLEAR TY_KEYINFO.

TY_KEYINFO-HEADER01 = 'VBELN'.

" comparing the keys and relating the header and item internal tables

TY_KEYINFO-ITEM01 = 'VBELN'.

TY_KEYINFO-HEADER02 = SPACE.

TY_KEYINFO-ITEM02 = 'POSNR'.

***********************VALIDATION CHECK*******************************

AT SELECTION-SCREEN.

PERFORM VAL_CHK.

" validation check for the input

**********************PROCESSING LOGIC********************************

START-OF-SELECTION.

PERFORM POP_HDR.

" populating the header data

PERFORM POP_ITEM. " populating the item data

PERFORM FIELD_CATALOG.

" mapping all the fields to the field catalog

PERFORM OUTPUT.

" displaying ouput using the function module

&----


*& Form VAL_CHK

&----


  • text VALIDATION CHECK FOR SALES DOCUMENT

----


  • --> p1 text

  • <-- p2 text

----


FORM VAL_CHK .

SELECT VBELN

ERDAT

ERNAM

AUART

NETWR UP TO 1 ROWS

FROM VBAK

INTO CORRESPONDING FIELDS OF TABLE IT_VBAK

WHERE VBELN IN S_VBELN.

IF SY-SUBRC <> 0.

MESSAGE I000 WITH 'NO HEADER DETAILS EXIST'.

ELSE.

SELECT VBELN

POSNR

MATNR

MEINS

ZMENG

FROM VBAP

INTO CORRESPONDING FIELDS OF TABLE IT_VBAP

WHERE VBELN IN S_VBELN.

IF SY-SUBRC <> 0.

MESSAGE I000 WITH 'NO ITEM DETAILS EXIST'.

ENDIF.

ENDIF.

CLEAR IT_VBAK.

CLEAR IT_VBAP.

ENDFORM. " VAL_CHK

&----


*& Form POP_HDR

&----


  • text POPULATING THE HEADER DETAILS

----


  • --> p1 text

  • <-- p2 text

----


FORM POP_HDR .

SELECT VBELN

ERDAT

ERNAM

AUART

NETWR

FROM VBAK

INTO CORRESPONDING FIELDS OF TABLE IT_VBAK

WHERE VBELN IN S_VBELN.

ENDFORM. " POP_HDR

&----


*& Form POP_ITEM

&----


  • text POPULATING THE ITEM DETAILS

----


  • --> p1 text

  • <-- p2 text

----


FORM POP_ITEM .

SELECT VBELN

POSNR

MATNR

MEINS

ZMENG

FROM VBAP

INTO CORRESPONDING FIELDS OF TABLE IT_VBAP

WHERE VBELN IN S_VBELN.

ENDFORM. " POP_ITEM

&----


*& Form FIELD_CATALOG

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM FIELD_CATALOG .

TY_FIELDCAT-TABNAME = 'IT_VBAK'.

TY_FIELDCAT-FIELDNAME = 'VBELN'.

TY_FIELDCAT-SELTEXT_L = 'DOC NO'.

TY_FIELDCAT-COL_POS = 1.

TY_FIELDCAT-OUTPUTLEN = 10.

APPEND TY_FIELDCAT TO IT_FIELDCAT.

CLEAR TY_FIELDCAT.

TY_FIELDCAT-TABNAME = 'IT_VBAK'.

TY_FIELDCAT-FIELDNAME = 'ERDAT'.

TY_FIELDCAT-SELTEXT_L = 'DATE'.

TY_FIELDCAT-COL_POS = 2.

TY_FIELDCAT-OUTPUTLEN = 8.

TY_FIELDCAT-DATATYPE = 'DATS'.

APPEND TY_FIELDCAT TO IT_FIELDCAT.

CLEAR TY_FIELDCAT.

TY_FIELDCAT-TABNAME = 'IT_VBAK'.

TY_FIELDCAT-FIELDNAME = 'ERNAM'.

TY_FIELDCAT-SELTEXT_L = 'NAME'.

TY_FIELDCAT-COL_POS = 3.

TY_FIELDCAT-OUTPUTLEN = 12.

APPEND TY_FIELDCAT TO IT_FIELDCAT.

CLEAR TY_FIELDCAT.

TY_FIELDCAT-TABNAME = 'IT_VBAK'.

TY_FIELDCAT-FIELDNAME = 'AUART'.

TY_FIELDCAT-SELTEXT_L = 'DOC TYPE'.

TY_FIELDCAT-COL_POS = 4.

TY_FIELDCAT-OUTPUTLEN = 4.

APPEND TY_FIELDCAT TO IT_FIELDCAT.

CLEAR TY_FIELDCAT.

TY_FIELDCAT-TABNAME = 'IT_VBAP'.

TY_FIELDCAT-FIELDNAME = 'VBELN'.

TY_FIELDCAT-SELTEXT_L = 'DOC NO'.

TY_FIELDCAT-OUTPUTLEN = 10.

APPEND TY_FIELDCAT TO IT_FIELDCAT.

CLEAR TY_FIELDCAT.

TY_FIELDCAT-TABNAME = 'IT_VBAP'.

TY_FIELDCAT-FIELDNAME = 'POSNR'.

TY_FIELDCAT-SELTEXT_L = 'ITEM'.

TY_FIELDCAT-OUTPUTLEN = 6.

TY_FIELDCAT-DATATYPE = 'NUMC'.

APPEND TY_FIELDCAT TO IT_FIELDCAT.

CLEAR TY_FIELDCAT.

TY_FIELDCAT-TABNAME = 'IT_VBAP'.

TY_FIELDCAT-FIELDNAME = 'MATNR'.

TY_FIELDCAT-SELTEXT_L = 'MAT NO'.

TY_FIELDCAT-OUTPUTLEN = 18.

APPEND TY_FIELDCAT TO IT_FIELDCAT.

CLEAR TY_FIELDCAT.

TY_FIELDCAT-TABNAME = 'IT_VBAP'.

TY_FIELDCAT-FIELDNAME = 'MEINS'.

TY_FIELDCAT-SELTEXT_L = 'UNITS'.

TY_FIELDCAT-OUTPUTLEN = 3.

TY_FIELDCAT-DATATYPE = 'UNIT'.

APPEND TY_FIELDCAT TO IT_FIELDCAT.

CLEAR TY_FIELDCAT.

TY_FIELDCAT-TABNAME = 'IT_VBAP'.

TY_FIELDCAT-FIELDNAME = 'ZMENG'.

TY_FIELDCAT-SELTEXT_L = 'QUANT'.

TY_FIELDCAT-OUTPUTLEN = 13.

TY_FIELDCAT-DATATYPE = 'QUAN'.

APPEND TY_FIELDCAT TO IT_FIELDCAT.

CLEAR TY_FIELDCAT.

ENDFORM. " FIELD_CATALOG

&----


*& Form OUTPUT

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM OUTPUT .

CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

I_CALLBACK_PROGRAM = REPID

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

  • IS_LAYOUT =

IT_FIELDCAT = IT_FIELDCAT

  • 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 = IT_HEADER

I_TABNAME_ITEM = IT_ITEM

  • I_STRUCTURE_NAME_HEADER =

  • I_STRUCTURE_NAME_ITEM =

IS_KEYINFO = TY_KEYINFO

  • IS_PRINT =

  • IS_REPREP_ID =

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB_HEADER = IT_VBAK

T_OUTTAB_ITEM = IT_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.

ENDFORM. " OUTPUT