Skip to Content
0
Former Member
Jan 02, 2008 at 11:43 AM

PLS CHECK THE CODE ITS NOT ACCPT THE INCLUDE ZSTRUCTURE

41 Views

HI EXPERTS,

heres is my code, i have created one zvbak_structure1(header data) and and item data ,assigned that structures to field catalog table . but its gives an error as not defined. how to over come this problem. pls hepl me out .

rewadar points will be there

*&----


*

*& Report Z50818_ALV_HIERARCHIAL_FINAL

*&

*&----


*

*&

*&

*&----


*

REPORT Z50818_ALV_HIERARCHIAL_FINAL MESSAGE-ID ZFAR.

  • ALV

TYPE-POOLS: SLIS.

*DB tables

TABLES: VBAP,VBAK.

DATA:GC_FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE'.

DATA: GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,

GS_LAYOUT TYPE SLIS_LAYOUT_ALV,

GS_KEYINFO TYPE SLIS_KEYINFO_ALV,

GT_EVENTS TYPE SLIS_T_EVENT.

DATA: BEGIN OF GT_VBAK OCCURS 0.

INCLUDE STRUCTURE ZVBAK_STRUCTURE1.

DATA: BOX,

*WERT(4) TYPE P,

LIGHTS,

END OF GT_VBAK.

DATA: BEGIN OF GT_VBAP OCCURS 0.

INCLUDE STRUCTURE ZVBAP_STRUCTURE.

DATA: BOX,

LIGHTS,

END OF GT_VBAP.

*LIST HAEADER

DATA: GT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.

SELECT-OPTIONS S_VBELN FOR ZVBAK_STRUCTURE1-VBELN.

SELECTION-SCREEN SKIP 1.

  • Parameters

PARAMETERS: P_MAXROW TYPE I DEFAULT 50.

SELECTION-SCREEN SKIP 1.

  • Variante

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

PARAMETERS: P_VARI LIKE DISVARIANT-VARIANT.

SELECTION-SCREEN END OF BLOCK 0.

  • Layout

SELECTION-SCREEN BEGIN OF BLOCK A WITH FRAME TITLE TEXT-002.

PARAMETERS:

P_ZEBRA AS CHECKBOX DEFAULT ' ',

P_NOCOLH AS CHECKBOX DEFAULT ' ',

P_COLOPT AS CHECKBOX DEFAULT ' ',

P_KEYHOT AS CHECKBOX DEFAULT ' ',

P_NOINPT AS CHECKBOX DEFAULT ' '.

SELECTION-SCREEN END OF BLOCK A.

*LIGHTS OF RADIO BUTTONS

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

PARAMETERS:

P_LIGHTN RADIOBUTTON GROUP LIG ,

P_LIGHTH RADIOBUTTON GROUP LIG ,

P_LIGHTI RADIOBUTTON GROUP LIG ,

P_LIGHTC AS CHECKBOX DEFAULT ' '.

SELECTION-SCREEN END OF BLOCK B.

*TOTALS

SELECTION-SCREEN BEGIN OF BLOCK C WITH FRAME TITLE TEXT-004.

PARAMETERS:

P_TOTONL AS CHECKBOX DEFAULT ' ',

P_TOTEXT(60),

P_STTEXT(60).

SELECTION-SCREEN END OF BLOCK C.

*CHECK BOXES

SELECTION-SCREEN BEGIN OF BLOCK D WITH FRAME TITLE TEXT-005.

PARAMETERS:

CHCKBOXN RADIOBUTTON GROUP BOX ,

CHCKBOXH RADIOBUTTON GROUP BOX ,

CHCKBOXI RADIOBUTTON GROUP BOX ,

  • P_GROUPB AS CHECKBOX DEFAULT ' ',

P_DETPOP AS CHECKBOX DEFAULT 'X',

P_GROUPS AS CHECKBOX DEFAULT ' '.

SELECTION-SCREEN END OF BLOCK D.

DATA: G_BOXNAM TYPE SLIS_FIELDNAME VALUE 'BOX',

P_LIGNAM TYPE SLIS_FIELDNAME VALUE 'LIGHTS',

G_SAVE(1) TYPE C,

G_TABNAME_HEADER TYPE SLIS_TABNAME,

G_TABNAME_ITEM TYPE SLIS_TABNAME,

G_DEFAULT(1) TYPE C,

G_EXIT(1) TYPE C,

GX_VARIANT LIKE DISVARIANT,

G_VARIANT LIKE DISVARIANT.

DATA: LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.

INITIALIZATION.

G_TABNAME_HEADER = 'GT_SCARR'.

G_TABNAME_ITEM = 'GT_SPFLI'.

  • define keyinfo

CLEAR GS_KEYINFO.

GS_KEYINFO-HEADER01 = 'VBELN'.

GS_KEYINFO-ITEM01 = 'VBELN'.

GS_KEYINFO-HEADER02 = SPACE.

  • GS_KEYINFO-ITEM02 = 'CONNID'.

PERFORM FIELDCAT_INIT USING GT_FIELDCAT[].

PERFORM EVENTTAB_BUILD USING GT_EVENTS[].

PERFORM COMMENT_BUILD USING GT_LIST_TOP_OF_PAGE[].

G_SAVE = 'A'.

PERFORM VARIANT_INIT.

  • Get default variant

GX_VARIANT = G_VARIANT.

CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'

EXPORTING

I_SAVE = G_SAVE

CHANGING

CS_VARIANT = GX_VARIANT

EXCEPTIONS

NOT_FOUND = 2.

IF SY-SUBRC = 0.

P_VARI = GX_VARIANT-VARIANT.

ENDIF.

  • Process on value request

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_VARI.

PERFORM F4_FOR_VARIANT.

  • PAI

AT SELECTION-SCREEN.

PERFORM PAI_OF_SELECTION_SCREEN.

START-OF-SELECTION.

PERFORM SELECTION.

END-OF-SELECTION.

PERFORM LAYOUT_BUILD USING GS_LAYOUT. "wg. Parameters

  • Call ABAP/4 List Viewer

CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = SY-REPID

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

IS_LAYOUT = GS_LAYOUT

IT_FIELDCAT = GT_FIELDCAT[]

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS = GT_SP_GROUP[]

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

I_SAVE = G_SAVE

IS_VARIANT = G_VARIANT

IT_EVENTS = GT_EVENTS[]

  • IT_EVENT_EXIT =

I_TABNAME_HEADER = G_TABNAME_HEADER

I_TABNAME_ITEM = G_TABNAME_ITEM

IS_KEYINFO = GS_KEYINFO

  • IS_PRINT =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

TABLES

T_OUTTAB_HEADER = GT_VBAK

T_OUTTAB_ITEM = GT_VBAP.

*&----


*

*& Form FIELDCAT_INIT

*&----


*

FORM FIELDCAT_INIT USING P_GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.

  • DATA: LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.

*

CLEAR LS_FIELDCAT.

LS_FIELDCAT-COL_POS = 1.

LS_FIELDCAT-FIELDNAME = 'SALES DOCUMENT'.

LS_FIELDCAT-TABNAME = G_TABNAME_ITEM.

LS_FIELDCAT-OUTPUTLEN = 10.

  • LS_FIELDCAT-NO_OUT = 'X'.

LS_FIELDCAT-NO_SUM = 'X'.

  • LS_FIELDCAT-SP_GROUP = 'A'.

APPEND LS_FIELDCAT TO GT_FIELDCAT.

*

CLEAR LS_FIELDCAT.

LS_FIELDCAT-COL_POS = 2.

LS_FIELDCAT-FIELDNAME = 'SALES DOCUMENT ITEM'.

LS_FIELDCAT-TABNAME = G_TABNAME_ITEM.

LS_FIELDCAT-OUTPUTLEN = 6.

  • LS_FIELDCAT-NO_OUT = 'X'.

LS_FIELDCAT-NO_SUM = 'X'.

  • LS_FIELDCAT-SP_GROUP = 'A'.

APPEND LS_FIELDCAT TO GT_FIELDCAT.

CLEAR LS_FIELDCAT.

LS_FIELDCAT-COL_POS = 3.

LS_FIELDCAT-FIELDNAME = 'MATERIAL NUMBER'.

LS_FIELDCAT-TABNAME = G_TABNAME_ITEM.

  • LS_FIELDCAT-OUTPUTLEN = 18

  • LS_FIELDCAT-NO_OUT = 'X'.

APPEND LS_FIELDCAT TO GT_FIELDCAT.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

I_PROGRAM_NAME = SY-REPID

I_INTERNAL_TABNAME = G_TABNAME_HEADER

I_STRUCTURE_NAME = 'ZVBAK_STRUCTURE1'

  • I_CLIENT_NEVER_DISPLAY = 'X'

CHANGING

CT_FIELDCAT = GT_FIELDCAT.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

I_PROGRAM_NAME = SY-REPID

I_INTERNAL_TABNAME = G_TABNAME_ITEM

I_STRUCTURE_NAME = 'ZVBAP_STRUCTURE'

  • I_CLIENT_NEVER_DISPLAY = 'X'

CHANGING

CT_FIELDCAT = GT_FIELDCAT.

ENDFORM. " FIELDCAT_INIT

*&----


*

*& Form EVENTTAB_BUILD

*&----


*

FORM EVENTTAB_BUILD USING P_GT_EVENTS TYPE SLIS_T_EVENT.

DATA: LS_EVENT TYPE SLIS_ALV_EVENT.

*

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

EXPORTING

I_LIST_TYPE = 0

IMPORTING

ET_EVENTS = P_GT_EVENTS.

READ TABLE GT_EVENTS WITH KEY NAME = SLIS_EV_TOP_OF_PAGE

INTO LS_EVENT.

IF SY-SUBRC = 0.

MOVE GC_FORMNAME_TOP_OF_PAGE TO LS_EVENT-FORM.

APPEND LS_EVENT TO P_GT_EVENTS.

ENDIF.

.

ENDFORM. " EVENTTAB_BUILD

*&----


*

*& Form COMMENT_BUILD

*&----


*

FORM COMMENT_BUILD USING P_GT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.

DATA: LS_LINE TYPE SLIS_LISTHEADER.

*

  • Listenüberschrift: Typ H

CLEAR LS_LINE.

LS_LINE-TYP = 'H'.

  • LS_LINE-KEY: not used for this type

LS_LINE-INFO = TEXT-006.

APPEND LS_LINE TO GT_LIST_TOP_OF_PAGE.

  • Kopfinfo: Typ S

CLEAR LS_LINE.

LS_LINE-TYP = 'S'.

LS_LINE-KEY = TEXT-007.

LS_LINE-INFO = TEXT-008.

APPEND LS_LINE TO GT_LIST_TOP_OF_PAGE.

LS_LINE-KEY = TEXT-051.

APPEND LS_LINE TO GT_LIST_TOP_OF_PAGE.

  • Aktionsinfo: Typ A

CLEAR LS_LINE.

LS_LINE-TYP = 'A'.

  • LS_LINE-KEY: not used for this type

LS_LINE-INFO = TEXT-009.

APPEND LS_LINE TO GT_LIST_TOP_OF_PAGE.

.

ENDFORM. " COMMENT_BUILD

*&----


*

*& Form TOP_OF_PAGE

*&----


*

FORM TOP_OF_PAGE.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

IT_LIST_COMMENTARY = GT_LIST_TOP_OF_PAGE.

ENDFORM.

*&----


*

*& Form F4_FOR_VARIANT

*&----


*

FORM F4_FOR_VARIANT.

CALL FUNCTION 'REUSE_ALV_VARIANT_F4'

EXPORTING

IS_VARIANT = G_VARIANT

I_SAVE = G_SAVE

I_TABNAME_HEADER = G_TABNAME_HEADER

I_TABNAME_ITEM = G_TABNAME_ITEM

  • it_default_fieldcat =

IMPORTING

E_EXIT = G_EXIT

ES_VARIANT = GX_VARIANT

EXCEPTIONS

NOT_FOUND = 2.

IF SY-SUBRC = 2.

MESSAGE ID SY-MSGID TYPE 'S' NUMBER SY-MSGNO

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

ELSE.

IF G_EXIT = SPACE.

P_VARI = GX_VARIANT-VARIANT.

ENDIF.

ENDIF.

ENDFORM. " F4_FOR_VARIANT

*&----


*

*& Form PAI_OF_SELECTION_SCREEN

*&----


*

FORM PAI_OF_SELECTION_SCREEN.

IF NOT P_VARI IS INITIAL.

MOVE G_VARIANT TO GX_VARIANT.

MOVE P_VARI TO GX_VARIANT-VARIANT.

CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'

EXPORTING

I_SAVE = G_SAVE

CHANGING

CS_VARIANT = GX_VARIANT.

G_VARIANT = GX_VARIANT.

ELSE.

PERFORM VARIANT_INIT.

ENDIF.

ENDFORM. " PAI_OF_SELECTION_SCREEN

*&----


*

*& Form VARIANT_INIT

*&----


*

FORM VARIANT_INIT.

CLEAR G_VARIANT.

G_VARIANT-REPORT = SY-REPID.

ENDFORM. " VARIANT_INIT

*&----


*

*& Form SELECTION

*&----


*

FORM SELECTION.

SELECT * FROM VBAK INTO CORRESPONDING FIELDS OF TABLE ZVBAK_STRUCTURE1

WHERE VBELN IN S_VBELN.

SELECT * FROM VBAP INTO CORRESPONDING FIELDS OF TABLE ZVBAP_STRUCTURE

WHERE VBELN IN S_VBELN.

LOOP AT ZVBAK_STRUCTURE1

READ TABLE ZVBAP_STRUCTURE WITH

KEY CARRID = ZVBAK_STRUCTURE1-VBELN.

  • IF SY-SUBRC NE 0.

  • DELETE ZVBAK_STRUCTURE1.

  • ENDIF.

ENDLOOP.

ENDFORM. " SELECTION

*&----


*

*& Form LAYOUT_BUILD

*&----


*

FORM LAYOUT_BUILD USING GS_LAYOUT TYPE SLIS_LAYOUT_ALV.

IF P_LIGHTI = 'X'.

GS_LAYOUT-LIGHTS_FIELDNAME = P_LIGNAM.

GS_LAYOUT-LIGHTS_TABNAME = G_TABNAME_ITEM.

GS_LAYOUT-LIGHTS_CONDENSE = P_LIGHTC.

ENDIF.

IF P_LIGHTH = 'X'.

GS_LAYOUT-LIGHTS_FIELDNAME = P_LIGNAM.

GS_LAYOUT-LIGHTS_TABNAME = G_TABNAME_HEADER.

GS_LAYOUT-LIGHTS_CONDENSE = P_LIGHTC.

*IF P_LIGHTN = 'X'.

*GS_LAYOUT-LIGHTS_FIELDNAME.

*GS_LAYOUT-LIGHTS_TABNAME.

*GS_LAYOUT-LIGHTS_CONDENSE.

*ENDIF.

IF CHCKBOXN = 'X'.

GS_LAYOUT-BOX_FIELDNAME = SPACE.

GS_LAYOUT-BOX_TABNAME = SPACE.

ENDIF.

IF CHCKBOXH = 'X'.

GS_LAYOUT-BOX_FIELDNAME = G_BOXNAM.

GS_LAYOUT-BOX_TABNAME = G_TABNAME_HEADER.

ENDIF.

IF CHCKBOXI = 'X'.

GS_LAYOUT-BOX_FIELDNAME = G_BOXNAM.

GS_LAYOUT-BOX_TABNAME = G_TABNAME_ITEM.

ENDIF.

GS_LAYOUT-HEADER_TEXT = TEXT-011.

GS_LAYOUT-ITEM_TEXT = TEXT-012.

GS_LAYOUT-DEFAULT_ITEM = 'X'.

  • P_GS_LAYOUT-F2CODE = P_F2CODE.

GS_LAYOUT-ZEBRA = P_ZEBRA.

GS_LAYOUT-COLWIDTH_OPTIMIZE = P_COLOPT.

GS_LAYOUT-NO_INPUT = P_NOINPT.

GS_LAYOUT-NO_COLHEAD = P_NOCOLH.

GS_LAYOUT-TOTALS_TEXT = P_TOTEXT.

GS_LAYOUT-SUBTOTALS_TEXT = P_STTEXT.

GS_LAYOUT-TOTALS_ONLY = P_TOTONL.

GS_LAYOUT-KEY_HOTSPOT = P_KEYHOT.

GS_LAYOUT-DETAIL_POPUP = P_DETPOP.

GS_LAYOUT-GROUP_CHANGE_EDIT = P_GROUPS.

  • E05_LS_LAYOUT-GROUP_BUTTONS = P_GROUPB.

GS_LAYOUT-GROUP_BUTTONS = SPACE.

ENDIF.

ENDFORM. " LAYOUT_BUILD