Skip to Content
0
Former Member
Feb 10, 2016 at 05:34 AM

Hi.. while creating alv hierarchical report . i got error fieldcatlog not found. help ll be appreciate.

26 Views

REPORT ZSG_ALV_HIERARCHICAL_SO.

TYPE-POOLS:SLIS.

TABLES:VBAK,VBAP.

TYPES: BEGIN OF TY_VBAK,

VBELN TYPE VBAK-VBELN, "SALES DOC

ERDAT TYPE VBAK-ERDAT, "DATE ON WHICH RECORD CREATED

ERNAM TYPE VBAK-ERNAM, "NAME OF PERSON RECORD CREATED

AUDAT TYPE VBAK-AUDAT, "DOC DATE

AUART TYPE VBAK-AUART, "SALES DOC

VKORG TYPE VBAK-VKORG, "Sales Organization

VTWEG TYPE VBAK-VTWEG, "Distribution Channel

SPART TYPE VBAK-SPART, "Division

VKGRP TYPE VBAK-VKGRP, "Sales Group

EXPAND,

END OF TY_VBAK.

DATA:LT_VBAK TYPE TABLE OF TY_VBAK,

LS_VBAK TYPE TY_VBAK.

TYPES:BEGIN OF TY_VBAP,

VBELN TYPE VBAP-VBELN, "SALES DOC

POSNR TYPE VBAP-POSNR, "SALES DOC ITEM

MATNR TYPE VBAP-MATNR, "MATERIAL NUMBER

MATKL TYPE VBAP-MATKL, "MATERIAL GRP

WERKS TYPE VBAP-WERKS, "PLANT

LGORT TYPE VBAP-LGORT, "STOARGE LOC

NETPR TYPE VBAP-NETPR, "NETPRICE

END OF TY_VBAP.

DATA: LT_VBAP TYPE TABLE OF TY_VBAP,

LS_VBAP TYPE TY_VBAP,

LT_FCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,

* LS_FCAT TYPE SLIS_FIELDCAT_ALV,

S_KEYINFO TYPE SLIS_KEYINFO_ALV,

S_LAYOUT TYPE SLIS_LAYOUT_ALV.

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

SELECT-OPTIONS : P_VBELN FOR VBAK-VBELN.

SELECTION-SCREEN : END OF BLOCK B.

START-OF-SELECTION.

PERFORM READ.

PERFORM FCAT.

PERFORM KEYINFO.

PERFORM DISPLAY.

PERFORM LAYOUT.

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

*& Form READ

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

* text

*----------------------------------------------------------------------*

* --> p1 text

* <-- p2 text

*----------------------------------------------------------------------*

FORM READ .

SELECT VBELN

ERDAT

ERNAM

AUDAT

AUART

VKORG

VTWEG

SPART

VKGRP

FROM VBAK INTO TABLE LT_VBAK

WHERE VBELN IN P_VBELN.

IF LT_VBAK[] IS NOT INITIAL.

SELECT VBELN

POSNR

MATNR

MATKL

WERKS

LGORT

NETPR

FROM VBAP INTO TABLE LT_VBAP

FOR ALL ENTRIES IN LT_VBAK

WHERE VBELN = LT_VBAK-VBELN.

ENDIF.

ENDFORM.

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

*& Form FCAT

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

* text

*----------------------------------------------------------------------*

* --> p1 text

* <-- p2 text

*----------------------------------------------------------------------*

FORM FCAT.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

I_PROGRAM_NAME = SY-REPID

I_INTERNAL_TABNAME = 'LT_VBAK'

* I_STRUCTURE_NAME =

* I_CLIENT_NEVER_DISPLAY = 'X'

I_INCLNAME = SY-REPID

* I_BYPASSING_BUFFER =

* I_BUFFER_ACTIVE =

CHANGING

CT_FIELDCAT = LT_FCAT[]

* EXCEPTIONS

* INCONSISTENT_INTERFACE = 1

* PROGRAM_ERROR = 2

* OTHERS = 3

.

IF SY-SUBRC <> 0.

* Implement suitable error handling here

ENDIF.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

I_PROGRAM_NAME = SY-REPID

I_INTERNAL_TABNAME = 'LT_VBAP'

* I_STRUCTURE_NAME =

* I_CLIENT_NEVER_DISPLAY = 'X'

I_INCLNAME = SY-REPID

* I_BYPASSING_BUFFER =

* I_BUFFER_ACTIVE =

CHANGING

CT_FIELDCAT = LT_FCAT[]

* EXCEPTIONS

* INCONSISTENT_INTERFACE = 1

* PROGRAM_ERROR = 2

* OTHERS = 3

.

IF SY-SUBRC <> 0.

* Implement suitable error handling here

ENDIF.

ENDFORM.

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

*& Form KEYINFO

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

* text

*----------------------------------------------------------------------*

* --> p1 text

* <-- p2 text

*----------------------------------------------------------------------*

FORM KEYINFO .

S_KEYINFO-HEADER01 = 'VBELN'.

S_KEYINFO-ITEM01 = 'VBELN'.

ENDFORM.

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

*& Form DISPLAY

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

* text

*----------------------------------------------------------------------*

* --> p1 text

* <-- p2 text

*----------------------------------------------------------------------*

FORM DISPLAY .

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

IS_LAYOUT = S_LAYOUT

IT_FIELDCAT = LT_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 = 'LT_VBAK'

I_TABNAME_ITEM = 'LT_VBAP'

* I_STRUCTURE_NAME_HEADER =

* I_STRUCTURE_NAME_ITEM =

IS_KEYINFO = S_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 = LT_VBAK

T_OUTTAB_ITEM = LT_VBAP

* EXCEPTIONS

* PROGRAM_ERROR = 1

* OTHERS = 2

.

IF SY-SUBRC <> 0.

* Implement suitable error handling here

ENDIF.

ENDFORM.

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

*& Form LAYOUT

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

* text

*----------------------------------------------------------------------*

* --> p1 text

* <-- p2 text

*----------------------------------------------------------------------*

FORM LAYOUT .

S_LAYOUT-EXPAND_FIELDNAME = 'EXPAND'.

S_LAYOUT-WINDOW_TITLEBAR = 'HIERARCHICAL ALV LIST DISPLAY'.

S_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.

ENDFORM.