Skip to Content
0
Former Member
Dec 30, 2006 at 04:23 PM

Getting a program Dump Error in Herarchial ALV

22 Views

Hello All,

I am getting a dump error when I am executing the below program. Kindly help as I am not getting the output. However all the subroutines are getting properly populated with data. Getting a dump error while calling the function : REUSE_ALV_HIERSEQ_LIST_DISPLAY

Pasted below are both the question and solution. Copy the solution in SE38 and execute it to check out the dump error.

Kindly help.

Thanks,

Vinod.

QUESTION :-

Objective

Hierarchical ALV for displaying Sales documents per customer

Design

Create a program that will allow the user to display all customers that have placed Sales Orders in the given date range. The user will have an ability to drill-down to see the sales order items per customer.

Selection screen fields–

Sales order creation date (range)

Customer number (range)

Output –

Header –

Customer Number

Customer Name

Total Order value (sum of order values from items below)

Details –

Sales order number

Material number

Order quantity

Order value

Reference

Tables: KNA1, VBAK, VBAP

Transaction – VA03 (Sales order)

SOLUTION :-

&----


*& Report Z_HALV_32722 *

*& *

&----


*& *

*& *

&----


REPORT Z_HALV_32722 .

TYPE-POOLS: slis.

TABLES : kna1,

vbak.

SELECT-OPTIONS: s_cst_no FOR kna1-kunnr.

SELECT-OPTIONS: s_cr_dt FOR vbak-erdat.

DATA : BEGIN of ty_hdr,

kunnr TYPE vbak-kunnr,

name1 TYPE kna1-name1,

netwr TYPE vbak-netwr,

END of ty_hdr,

gt_hdr LIKE TABLE OF ty_hdr,

gs_hdr LIKE LINE OF gt_hdr.

DATA : BEGIN of ty_ln,

kunnr TYPE vbak-kunnr,

vbeln TYPE vbap-vbeln,

matnr TYPE vbap-matnr,

kwmeng TYPE vbap-kwmeng,

netwr TYPE vbap-netwr,

END of ty_ln,

gt_ln LIKE TABLE OF ty_ln,

gs_ln LIKE LINE OF gt_ln.

DATA : BEGIN of ty_hdr1,

kunnr TYPE vbak-kunnr,

END of ty_hdr1,

gt_hdr1 LIKE TABLE OF ty_hdr1,

gs_hdr1 LIKE LINE OF gt_hdr1.

DATA : gt_fc TYPE slis_t_fieldcat_alv,

gs_fc LIKE LINE OF gt_fc,

gs_k_fld TYPE slis_keyinfo_alv,

gt_layout TYPE slis_layout_alv,

gv_repid TYPE sy-repid.

START-OF-SELECTION.

gv_repid = sy-repid.

perform fetch_data.

perform prepare_fc.

perform prepare_layout.

perform show_output.

&----


*& Form fetch_data

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form fetch_data .

SELECT kunnr

INTO CORRESPONDING FIELDS OF TABLE gt_hdr1

FROM vbak

WHERE vbak~kunnr IN s_cst_no

AND vbak~erdat IN s_cr_dt.

DELETE ADJACENT DUPLICATES FROM gt_hdr1 COMPARING kunnr.

LOOP AT gt_hdr1 INTO gs_hdr1.

SELECT SINGLE vbakkunnr kna1name1 SUM( vbak~netwr )

INTO (gs_hdr-kunnr, gs_hdr-name1, gs_hdr-netwr)

FROM vbak INNER JOIN kna1

ON vbakkunnr = kna1kunnr

WHERE vbak~kunnr = gs_hdr1-kunnr

GROUP BY vbakkunnr kna1name1.

APPEND gs_hdr TO gt_hdr.

SELECT vbakkunnr vbapvbeln vbapmatnr vbapkwmeng vbap~netwr

INTO CORRESPONDING FIELDS OF TABLE gt_ln

FROM vbap INNER JOIN vbak

ON vbapvbeln = vbakvbeln

WHERE vbak~kunnr = gs_hdr1-kunnr.

ENDLOOP.

endform. " fetch_data

&----


*& Form prepare_fc

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form prepare_fc .

CLEAR gs_k_fld.

gs_k_fld-header01 = 'KUNNR'.

gs_k_fld-item01 = 'KUNNR'.

CLEAR gs_fc.

gs_fc-fieldname = 'KUNNR'.

gs_fc-tabname = 'GT_HDR'.

gs_fc-seltext_l = text-001.

APPEND gs_fc TO gt_fc.

CLEAR gs_fc.

gs_fc-fieldname = 'NAME1'.

gs_fc-tabname = 'GT_HDR'.

gs_fc-seltext_l = text-002.

APPEND gs_fc TO gt_fc.

CLEAR gs_fc.

gs_fc-fieldname = 'NETWR'.

gs_fc-tabname = 'GT_HDR'.

gs_fc-seltext_l = text-003.

APPEND gs_fc TO gt_fc.

CLEAR gs_fc.

gs_fc-fieldname = 'VBELN'.

gs_fc-tabname = 'GT_LN'.

gs_fc-seltext_l = text-004.

APPEND gs_fc TO gt_fc.

CLEAR gs_fc.

gs_fc-fieldname = 'MATNR'.

gs_fc-tabname = 'GT_LN'.

gs_fc-seltext_l = text-005.

APPEND gs_fc TO gt_fc.

CLEAR gs_fc.

gs_fc-fieldname = 'KWMENG'.

gs_fc-tabname = 'GT_LN'.

gs_fc-seltext_l = text-006.

APPEND gs_fc TO gt_fc.

CLEAR gs_fc.

gs_fc-fieldname = 'NETWR'.

gs_fc-tabname = 'GT_LN'.

gs_fc-seltext_l = text-007.

APPEND gs_fc TO gt_fc.

endform. " prepare_fc

&----


*& Form prepare_layout

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form prepare_layout .

gt_layout-colwidth_optimize = 'X'.

gt_layout-expand_fieldname = 'TST'.

endform. " prepare_layout

&----


*& Form show_output

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form show_output .

CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

I_CALLBACK_PROGRAM = gv_repid

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

IS_LAYOUT = gt_layout

IT_FIELDCAT = gt_fc

  • 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 = 'GT_HDR'

i_tabname_item = 'GT_LN'

  • I_STRUCTURE_NAME_HEADER =

  • I_STRUCTURE_NAME_ITEM =

is_keyinfo = gs_k_fld

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

t_outtab_item = GT_LN[]

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