Powered By

Free XML Skins for Blogger

Powered by Blogger

Friday, October 10, 2008

How to do the EXCISE ANNEXURE10 report?

REPORT YMS_EXIN_DOC_ALV_HEADER_ANNEXURE10 NO STANDARD PAGE HEADING LINE-SIZE 350 MESSAGE-ID E4.

TABLES : J_1IEXCHDR, " header table
J_1IEXCDTL, " item table
J_1IPART2, " Excise Part II details
LFA1, " vendor master table
J_1IMOVEND, " vendor excise details table
MSEG, " Document Segment: Material
MKPF, " Header: Material Document
DD07T, " domain text table
T001W. " Plant and Branch Details

DATA : BEGIN OF IT_CHDR OCCURS 100,
DOCNO LIKE J_1IEXCHDR-DOCNO,
DOCYR LIKE J_1IEXCHDR-DOCYR,
EXNUM LIKE J_1IEXCHDR-EXNUM,
EXDAT LIKE J_1IEXCHDR-EXDAT,
WERKS LIKE J_1IEXCHDR-WERKS,
EXBED LIKE J_1IEXCHDR-EXBED,
EXSED LIKE J_1IEXCHDR-EXSED,
EXCCD LIKE J_1IEXCHDR-EXCCD,
ECS LIKE J_1IEXCHDR-ECS,
END OF IT_CHDR.

DATA : BEGIN OF IT_CHDR_H OCCURS 100,
DOCNO LIKE J_1IEXCHDR-DOCNO,
DOCYR LIKE J_1IEXCHDR-DOCYR,
EXNUM LIKE J_1IEXCHDR-EXNUM,
EXDAT LIKE J_1IEXCHDR-EXDAT,
LIFNR LIKE J_1IEXCHDR-LIFNR,
WERKS LIKE J_1IEXCHDR-WERKS,
EXBED LIKE J_1IEXCHDR-EXBED,
EXSED LIKE J_1IEXCHDR-EXSED,
EXCCD LIKE J_1IEXCHDR-EXCCD,
ECS LIKE J_1IEXCHDR-ECS,
TRNTYP LIKE J_1IEXCHDR-TRNTYP,
END OF IT_CHDR_H.

DATA IT_CHDR_H2 LIKE IT_CHDR_H OCCURS 0 WITH HEADER LINE.

DATA : BEGIN OF IT_CDTL OCCURS 100,
DOCNO LIKE J_1IEXCDTL-DOCNO,
DOCYR LIKE J_1IEXCDTL-DOCYR,
EXNUM LIKE J_1IEXCDTL-EXNUM,
EXDAT LIKE J_1IEXCDTL-EXDAT,
LIFNR LIKE J_1IEXCDTL-LIFNR,
MATNR LIKE J_1IEXCDTL-MATNR,
MAKTX LIKE J_1IEXCDTL-MAKTX,
CHAPID LIKE J_1IEXCDTL-CHAPID,
EXBAS LIKE J_1IEXCDTL-EXBAS,
EXBED LIKE J_1IEXCDTL-EXBED,
EXSED LIKE J_1IEXCDTL-EXSED,
ECS LIKE J_1IEXCDTL-ECS,
MENGE LIKE J_1IEXCDTL-MENGE,
MEINS LIKE J_1IEXCDTL-MEINS,
RDOC2 LIKE J_1IEXCDTL-RDOC2,
RDOC3 LIKE J_1IEXCDTL-RDOC3,
TRNTYP LIKE J_1IEXCDTL-TRNTYP,
END OF IT_CDTL.

DATA TEXT(10).

DATA : BEGIN OF IT_OUT OCCURS 0,
SERIALNO LIKE J_1IPART2-SERIALNO,
TEXT1 LIKE TEXT,
EXNUM LIKE J_1IEXCDTL-EXNUM,
EXDAT LIKE J_1IEXCDTL-EXDAT,
NAME LIKE LFA1-NAME1,
DDTEXT LIKE DD07T-DDTEXT,
EXCCD LIKE J_1IEXCHDR-EXCCD,
BUDAT LIKE MKPF-BUDAT,
EXBAS(13) TYPE C ,
EXBED LIKE IT_CDTL-EXBED,
EXSED LIKE J_1IEXCDTL-EXSED,
ECS LIKE IT_CDTL-ECS,
MATNR LIKE IT_CDTL-MATNR,
MAKTX LIKE IT_CDTL-MAKTX,
CHAPID LIKE IT_CDTL-CHAPID,
MENGE LIKE IT_CDTL-MENGE,
MEINS LIKE IT_CDTL-MEINS,
DEL_IND(3) TYPE C,
TRNTYP(4) TYPE C,
END OF IT_OUT.

DATA IT_PART2 LIKE J_1IPART2 OCCURS 0 WITH HEADER LINE.
DATA S_NO(4) .
DATA DB_CNT LIKE SY-TABIX.
DATA EBELN_T LIKE MSEG-EBELN .

TYPE-POOLS : SLIS.

DATA : AFIELD TYPE SLIS_FIELDCAT_ALV.

DATA : LIST_HEADER TYPE SLIS_T_LISTHEADER,
FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
LS_FTCAT TYPE LVC_S_FCAT,
SORTCAT TYPE SLIS_T_SORTINFO_ALV,
SORTCAT_LN LIKE LINE OF SORTCAT,
G_REPID LIKE SY-REPID,
G_BACK_GROUND(70), "like bapibds01-objkey,
GS_VARIANT LIKE DISVARIANT,
G_SAVE ,
GT_EVENTS TYPE SLIS_T_EVENT,
ALV_EVENT TYPE SLIS_ALV_EVENT,
EVENTCAT TYPE SLIS_T_EVENT,
EVENTCAT_LN LIKE LINE OF EVENTCAT,
LAYOUT_IN TYPE SLIS_LAYOUT_ALV,
LAYOUT_IN1 TYPE SLIS_LAYOUT_ALV.

CONSTANTS : GC_FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE',
GC_FORMNAME_USER_COMMAND TYPE SLIS_FORMNAME VALUE 'USER_COMMAND',
GC_FORMNAME_BEFORE_OUTPUT TYPE SLIS_FORMNAME VALUE 'BEFORE_OUTPUT'.

DATA EX_NO LIKE IT_CHDR-EXNUM VALUE 0.
DATA REGTYP_1 LIKE J_1IPART2-REGTYP.

SELECTION-SCREEN BEGIN OF BLOCK B WITH FRAME TITLE R.
PARAMETERS WERKS TYPE J_1IEXCHDR-WERKS OBLIGATORY DEFAULT '1100'.
SELECT-OPTIONS : BUDAT FOR J_1IEXCHDR-EXDAT.
PARAMETERS : R1 RADIOBUTTON GROUP GRP DEFAULT 'X',
R2 RADIOBUTTON GROUP GRP.
SELECTION-SCREEN END OF BLOCK B.

INITIALIZATION.
R = 'Excise Report'.
G_REPID = SY-REPID.
G_SAVE = 'A'.
PERFORM ALV_EVENT_INIT.

AT SELECTION-SCREEN.
REFRESH LIST_HEADER.
PERFORM TOP_OF_PAGE_LIST_HEADER USING LIST_HEADER.

START-OF-SELECTION.

G_REPID = SY-REPID.
G_BACK_GROUND = ' ' .

IF R1 = 'X'.
CLEAR R2. CLEAR : REGTYP_1.
REGTYP_1 = 'A'.
ELSEIF R2 = 'X'.
CLEAR R1.CLEAR : REGTYP_1.
REGTYP_1 = 'C'.
ENDIF.

SELECT * FROM J_1IPART2
INTO CORRESPONDING FIELDS OF TABLE IT_PART2
WHERE REGTYP = REGTYP_1 AND
( TRNTYP = 'GRPO' OR
TRNTYP = 'MRDY' OR
TRNTYP = 'DIEX' ) AND
BUDAT IN BUDAT.
LOOP AT IT_PART2.

SELECT SINGLE * FROM J_1IEXCHDR
INTO CORRESPONDING FIELDS OF IT_CHDR
WHERE ( TRNTYP = 'GRPO' OR
TRNTYP = 'MRDY' OR
TRNTYP = 'DIEX' ) AND
DOCYR = IT_PART2-DOCYR AND
DOCNO = IT_PART2-DOCNO AND
WERKS = WERKS AND
BUDAT IN BUDAT.
IF SY-SUBRC = 0.
APPEND IT_CHDR.
ELSE.
CONTINUE.
ENDIF.

ENDLOOP.

LOOP AT IT_PART2.
SELECT SINGLE * FROM J_1IEXCHDR
INTO CORRESPONDING FIELDS OF IT_CHDR_H
WHERE ( TRNTYP = 'GRPO' OR
TRNTYP = 'MRDY' OR
TRNTYP = 'DIEX' ) AND
DOCYR = IT_PART2-DOCYR AND
DOCNO = IT_PART2-DOCNO AND
WERKS = WERKS AND
BUDAT IN BUDAT.
IF SY-SUBRC = 0.
APPEND IT_CHDR_H.
ELSE.
CONTINUE.
ENDIF.
ENDLOOP.

LOOP AT IT_CHDR.

SELECT * FROM J_1IEXCDTL
INTO CORRESPONDING FIELDS OF IT_CDTL
WHERE ( TRNTYP = 'GRPO' OR
TRNTYP = 'MRDY' OR
TRNTYP = 'DIEX' ) AND
DOCNO = IT_CHDR-DOCNO AND
DOCYR = IT_CHDR-DOCYR AND
EXNUM = IT_CHDR-EXNUM AND
EXDAT = IT_CHDR-EXDAT AND
WERKS = IT_CHDR-WERKS.
IF SY-SUBRC = 0.
APPEND IT_CDTL.
ELSE.
CONTINUE.
ENDIF.
ENDSELECT.
ENDLOOP.

LOOP AT IT_CDTL.
CLEAR TEXT.
DB_CNT = DB_CNT + 1.
READ TABLE IT_CHDR WITH KEY EXNUM = IT_CDTL-EXNUM.
READ TABLE IT_PART2 WITH KEY DOCNO = IT_CDTL-DOCNO.

IT_OUT-SERIALNO = IT_PART2-SERIALNO.

SELECT SINGLE NAME1 FROM LFA1
INTO IT_OUT-NAME
WHERE LIFNR = IT_CDTL-LIFNR.

SELECT SINGLE * FROM LFA1
WHERE LIFNR = IT_CDTL-LIFNR.

IF LFA1-LAND1 EQ 'IN'.
TEXT = 'INVOICE'.
IT_OUT-TEXT1 = TEXT.
ELSE.
TEXT = 'BOE'.
IT_OUT-TEXT1 = TEXT.
ENDIF.

SELECT SINGLE * FROM J_1IMOVEND
WHERE LIFNR = IT_CDTL-LIFNR.

SELECT SINGLE * FROM DD07T
WHERE DOMNAME = 'J_1IVTYP' AND
DDLANGUAGE = 'EN' AND
DOMVALUE_L = J_1IMOVEND-J_1IVTYP.

IF DD07T-DDTEXT = 'First Stage Dealer of indigenous excisable goods' OR
DD07T-DDTEXT = 'Second Stage Dealer of indigenous excisable goods'.
DD07T-DDTEXT = 'Dealer'.
ENDIF.

IT_OUT-DDTEXT = DD07T-DDTEXT.

CLEAR EBELN_T.
SELECT SINGLE MBLNR FROM MSEG
INTO EBELN_T
WHERE MBLNR = IT_CDTL-RDOC2 .

SELECT * FROM MSEG
WHERE SMBLN = EBELN_T AND
BWART = '106'.

ENDSELECT.

IF SY-SUBRC = 0.
IT_OUT-DEL_IND = 'X'.
ELSE.
IT_OUT-DEL_IND = ' '.
ENDIF.

SELECT SINGLE BUDAT FROM MKPF
INTO IT_OUT-BUDAT
WHERE MBLNR = EBELN_T .

IT_OUT-EXNUM = IT_CDTL-EXNUM.
IT_OUT-EXDAT = IT_CDTL-EXDAT.
IT_OUT-EXCCD = IT_CHDR-EXCCD.

IF IT_CDTL-TRNTYP = 'DIEX'.
IT_OUT-TRNTYP = 'JV+'.
IT_OUT-EXBAS = IT_CDTL-RDOC3.
ELSEIF IT_CDTL-TRNTYP = 'MRDY'.
IT_OUT-TRNTYP = 'JV-'.
IT_OUT-EXBAS = IT_CDTL-RDOC3.

IT_OUT-EXBAS = ( IT_CDTL-EXBAS * -1 ).
IT_OUT-EXBED = ( IT_CDTL-EXBED * -1 ).
IT_OUT-EXSED = ( IT_CDTL-EXSED * -1 ).
IT_OUT-ECS = ( IT_CDTL-ECS * -1 ).

ELSEIF IT_CDTL-TRNTYP = 'GRPO'.
IT_OUT-TRNTYP = 'MIGO'.
IT_OUT-EXBAS = IT_CDTL-EXBAS.
IT_OUT-EXBED = IT_CDTL-EXBED.
IT_OUT-EXSED = IT_CDTL-EXSED.
IT_OUT-ECS = IT_CDTL-ECS.
IT_OUT-MATNR = IT_CDTL-MATNR.
IT_OUT-MAKTX = IT_CDTL-MAKTX.
IT_OUT-CHAPID = IT_CDTL-CHAPID.
IT_OUT-MENGE = IT_CDTL-MENGE.
IT_OUT-MEINS = IT_CDTL-MEINS.
ENDIF.

IF REGTYP_1 = 'C'.
IT_OUT-EXBED = ( IT_OUT-EXBED / 2 ).
IT_OUT-EXSED = ( IT_OUT-EXSED / 2 ).
IT_OUT-ECS = ( IT_OUT-ECS / 2 ).
ENDIF.
APPEND IT_OUT.
CLEAR IT_OUT.
READ TABLE IT_CHDR_H WITH KEY DOCNO = IT_CHDR-DOCNO.
DELETE IT_CHDR_H WHERE DOCNO EQ IT_CDTL-DOCNO.
LOOP AT IT_CHDR_H.
ENDLOOP.
ENDLOOP.

LOOP AT IT_CHDR_H.

DB_CNT = DB_CNT + 1.
READ TABLE IT_PART2 WITH KEY DOCNO = IT_CHDR_H-DOCNO.

SELECT SINGLE NAME1 FROM LFA1 INTO IT_OUT-NAME
WHERE LIFNR = IT_CHDR_H-LIFNR.

SELECT SINGLE * FROM LFA1 WHERE LIFNR = IT_CHDR_H-LIFNR.

IT_OUT-SERIALNO = IT_PART2-SERIALNO.
IT_OUT-EXNUM = IT_CHDR_H-EXNUM.
IT_OUT-EXDAT = IT_CHDR_H-EXDAT.

IF IT_CHDR_H-TRNTYP = 'DIEX'.
IT_OUT-TRNTYP = 'JV+'.
IT_OUT-EXBED = IT_CHDR_H-EXBED.
IT_OUT-EXSED = IT_CHDR_H-EXSED.
IT_OUT-ECS = IT_CHDR_H-ECS.

ELSEIF IT_CHDR_H-TRNTYP = 'MRDY'.
IT_OUT-TRNTYP = 'JV-'.
IT_OUT-EXBED = ( IT_CHDR_H-EXBED * -1 ).
IT_OUT-EXSED = ( IT_CHDR_H-EXSED * -1 ).
IT_OUT-ECS = ( IT_CHDR_H-ECS * -1 ).

ELSEIF IT_CHDR_H-TRNTYP = 'GRPO'.
IT_OUT-TRNTYP = 'MIGO'.
IT_OUT-EXBED = IT_CHDR_H-EXBED.
IT_OUT-EXSED = IT_CHDR_H-EXSED.
IT_OUT-ECS = IT_CHDR_H-ECS.

ENDIF.

APPEND IT_OUT.
CLEAR IT_OUT.
ENDLOOP.

IF REGTYP_1 = 'A'.
SET TITLEBAR 'BALAJI' WITH DB_CNT.
ELSEIF REGTYP_1 = 'C'.
SET TITLEBAR 'BALAJI1' WITH DB_CNT.
ENDIF.

AFIELD-COL_POS = 1.
AFIELD-FIELDNAME = 'SERIALNO'.
AFIELD-SELTEXT_L = 'INPUTS'.
AFIELD-JUST = 'L'.
APPEND AFIELD TO FIELDCAT.

AFIELD-COL_POS = 2.
AFIELD-FIELDNAME = 'TEXT1'.
AFIELD-SELTEXT_L = 'TYPE OF DOC'.
AFIELD-JUST = 'L'.
AFIELD-DECIMALS_OUT = '0'.
AFIELD-NO_ZERO = 'X'.
APPEND AFIELD TO FIELDCAT.

AFIELD-COL_POS = 3.
AFIELD-FIELDNAME = 'EXNUM'.
AFIELD-SELTEXT_L = 'DOC.NO'.
AFIELD-JUST = 'L'.
APPEND AFIELD TO FIELDCAT.

AFIELD-COL_POS = 4.
AFIELD-FIELDNAME = 'EXDAT'.
AFIELD-SELTEXT_L = 'DOC.DATE'.
AFIELD-JUST = 'C'.
APPEND AFIELD TO FIELDCAT.

AFIELD-COL_POS = 5.
AFIELD-FIELDNAME = 'NAME'.
AFIELD-SELTEXT_L = 'NAME OF THE SUPPLIER'.
AFIELD-NO_ZERO = 'X'.
AFIELD-JUST = 'L'.
APPEND AFIELD TO FIELDCAT.

AFIELD-COL_POS = 6.
AFIELD-FIELDNAME = 'DDTEXT'.
AFIELD-SELTEXT_L = 'TYPE-OF-SUPPLIER'.
AFIELD-JUST = 'L'.
APPEND AFIELD TO FIELDCAT.

AFIELD-COL_POS = 7.
AFIELD-FIELDNAME = 'EXCCD'.
AFIELD-SELTEXT_L = 'ECC OF THE SUPPLIER'.
AFIELD-NO_ZERO = 'X'.
AFIELD-JUST = 'L'.
APPEND AFIELD TO FIELDCAT.

AFIELD-COL_POS = 8.
AFIELD-FIELDNAME = 'BUDAT'.
AFIELD-SELTEXT_L = 'INPUT RECV DATE'.
AFIELD-JUST = 'C'.
APPEND AFIELD TO FIELDCAT.

AFIELD-COL_POS = 9.
AFIELD-FIELDNAME = 'EXBAS'.
AFIELD-SELTEXT_L = 'ASSESSABLE-VALUE'.
AFIELD-DO_SUM = 'X'.
AFIELD-JUST = 'R'.
AFIELD-DECIMALS_OUT = '2'.
APPEND AFIELD TO FIELDCAT.

AFIELD-COL_POS = 10.
AFIELD-FIELDNAME = 'EXBED'.
AFIELD-SELTEXT_L = 'DET OF CREDIT TAKEN CENVAT'.
AFIELD-JUST = 'R'.
APPEND AFIELD TO FIELDCAT.

AFIELD-COL_POS = 11.
AFIELD-FIELDNAME = 'EXSED'.
AFIELD-SELTEXT_L = 'DET OF CREDIT TAKEN SED'.
AFIELD-JUST = 'R'.
APPEND AFIELD TO FIELDCAT.

AFIELD-COL_POS = 12.
AFIELD-FIELDNAME = 'ECS'.
AFIELD-SELTEXT_L = 'DET OF CREDIT TAKEN E-CESS'.
AFIELD-JUST = 'R'.
APPEND AFIELD TO FIELDCAT.

AFIELD-COL_POS = 13.
AFIELD-FIELDNAME = 'MATNR'.
AFIELD-SELTEXT_L = 'MATERIAL-CODE'.
AFIELD-JUST = 'L'.
APPEND AFIELD TO FIELDCAT.

AFIELD-COL_POS = 14.
AFIELD-FIELDNAME = 'MAKTX'.
AFIELD-SELTEXT_L = 'DESCRIPTION'.
AFIELD-JUST = 'L'.
APPEND AFIELD TO FIELDCAT.

AFIELD-COL_POS = 15.
AFIELD-FIELDNAME = 'CHAPID'.
AFIELD-SELTEXT_L = 'TARIFF-ID'.
AFIELD-JUST = 'L'.
APPEND AFIELD TO FIELDCAT.

AFIELD-COL_POS = 16.
AFIELD-FIELDNAME = 'MENGE'.
AFIELD-SELTEXT_L = 'QUANTITY'.
AFIELD-JUST = 'R'.
AFIELD-DO_SUM = ' '.
APPEND AFIELD TO FIELDCAT.

AFIELD-COL_POS = 17.
AFIELD-FIELDNAME = 'MEINS'.
AFIELD-SELTEXT_L = 'UOM'.
AFIELD-JUST = 'C'.
APPEND AFIELD TO FIELDCAT.

AFIELD-COL_POS = 18.
AFIELD-FIELDNAME = 'DEL_IND'.
AFIELD-SELTEXT_L = 'Deleted'.
AFIELD-JUST = 'C'.
APPEND AFIELD TO FIELDCAT.

AFIELD-COL_POS = 19.
AFIELD-FIELDNAME = 'TRNTYP'.
AFIELD-SELTEXT_L = 'Transaction Type'.
AFIELD-JUST = 'L'.
APPEND AFIELD TO FIELDCAT.

LAYOUT_IN-COLWIDTH_OPTIMIZE = 'X'.
LAYOUT_IN-ZEBRA = 'X'.
LAYOUT_IN-GET_SELINFOS = 'X'.
LAYOUT_IN-CONFIRMATION_PROMPT = 'X'.
LAYOUT_IN-DETAIL_POPUP = 'X' .

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = G_REPID
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
I_SAVE = G_SAVE
IS_VARIANT = GS_VARIANT
IT_FIELDCAT = FIELDCAT
IT_SORT = SORTCAT
IS_LAYOUT = LAYOUT_IN
IT_EVENTS = EVENTCAT
TABLES
T_OUTTAB = IT_OUT.

*&--------------------------------------------------------------------*
*& Form TOP_OF_PAGE_LIST_HEADER
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
* -->LIST_HEADERtext
*---------------------------------------------------------------------*
FORM TOP_OF_PAGE_LIST_HEADER USING LIST_HEADER TYPE SLIS_T_LISTHEADER.

DATA : HLINE TYPE SLIS_LISTHEADER,
TEXT(60) TYPE C.

CLEAR : HLINE,TEXT.
HLINE-TYP = 'S'.
WRITE 'L.G.BALAKRISHNAN & BROS' TO TEXT.
HLINE-INFO = TEXT.
APPEND HLINE TO LIST_HEADER.

SELECT SINGLE * FROM T001W WHERE WERKS = WERKS.

CLEAR : HLINE,TEXT.
HLINE-TYP = 'S'.
WRITE 'PLANT :' TO TEXT.
WRITE WERKS TO TEXT+8.
HLINE-INFO = TEXT.
APPEND HLINE TO LIST_HEADER.

CLEAR : HLINE,TEXT.
HLINE-TYP = 'S'.
WRITE T001W-NAME1 TO TEXT.
HLINE-INFO = TEXT.
APPEND HLINE TO LIST_HEADER.

CLEAR : HLINE,TEXT.
HLINE-TYP = 'S'.
WRITE T001W-STRAS TO TEXT.
HLINE-INFO = TEXT.
APPEND HLINE TO LIST_HEADER.

CLEAR : HLINE,TEXT.
HLINE-TYP = 'S'.
WRITE T001W-ORT01 TO TEXT.
HLINE-INFO = TEXT.
APPEND HLINE TO LIST_HEADER.

CLEAR : HLINE,TEXT.
HLINE-TYP = 'S'.
WRITE 'DATE :' TO TEXT.
WRITE BUDAT-LOW TO TEXT+7.

IF BUDAT-HIGH IS NOT INITIAL.
WRITE 'TO' TO TEXT+18.
WRITE BUDAT-HIGH TO TEXT+22.
ENDIF.
HLINE-INFO = TEXT.
APPEND HLINE TO LIST_HEADER.

ENDFORM. "TOP_OF_PAGE_LIST_HEADER

*&--------------------------------------------------------------------*
*& Form ALV_EVENT_INIT
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
FORM ALV_EVENT_INIT .

CLEAR ALV_EVENT.
ALV_EVENT-NAME = SLIS_EV_TOP_OF_PAGE.
ALV_EVENT-FORM = 'ALV_TOP_OF_PAGE'.
APPEND ALV_EVENT TO EVENTCAT.

CLEAR ALV_EVENT.
ALV_EVENT-NAME = SLIS_EV_TOP_OF_LIST.
ALV_EVENT-FORM = 'ALV_TOP_OF_LIST'.
APPEND ALV_EVENT TO EVENTCAT.

ENDFORM. "ALV_EVENT_INIT

*&--------------------------------------------------------------------*
*& Form ALV_TOP_OF_PAGE
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
FORM ALV_TOP_OF_PAGE.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = LIST_HEADER
I_LOGO = 'ENJOYSAP_LOGO'.
ENDFORM. "ALV_TOP_OF_PAGE

*&---------------------------------------------------------------------*
*& Form BUILD_EVENT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_GT_EVENTS[] text
*----------------------------------------------------------------------*
FORM BUILD_EVENT USING P_EVENTS TYPE SLIS_T_EVENT.

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = P_EVENTS
EXCEPTIONS
LIST_TYPE_WRONG = 1
OTHERS = 2.

READ TABLE P_EVENTS WITH KEY NAME = SLIS_EV_USER_COMMAND INTO ALV_EVENT.

IF SY-SUBRC = 0.
MOVE GC_FORMNAME_USER_COMMAND TO ALV_EVENT-FORM.
APPEND ALV_EVENT TO P_EVENTS.
ENDIF.

READ TABLE P_EVENTS WITH KEY NAME = SLIS_EV_BEFORE_LINE_OUTPUT INTO ALV_EVENT.

IF SY-SUBRC = 0.
MOVE GC_FORMNAME_BEFORE_OUTPUT TO ALV_EVENT-FORM.
APPEND ALV_EVENT TO P_EVENTS.
ENDIF.

ENDFORM. " BUILD_EVENT

No comments:

Archives