Slideshow

ABAP örnekleri, örnek abap kodlari,abap nedir, sap nedir

27 Mart 2009 Cuma

alv with top of page header and sum

*&---------------------------------------------------------------------*
*& Report ZSLY_0015
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT ZSLY_0019.
TABLES: EKKO,
EKPO.
TYPE-POOLS:SLIS.
DATA: BEGIN OF IT_EKKO OCCURS 0,
EBELN LIKE EKKO-EBELN,
AEDAT LIKE EKKO-AEDAT,
ERNAM LIKE EKKO-ERNAM,
LIFNR LIKE EKKO-LIFNR,
WAERS LIKE EKKO-WAERS,
INDEX TYPE I ,
END OF IT_EKKO.

DATA:BEGIN OF IT_EKPO OCCURS 3,
EBELN LIKE EKPO-EBELN,
EBELP LIKE EKPO-EBELP,
MATNR LIKE EKPO-MATNR,
WERKS LIKE EKPO-WERKS,
LGORT LIKE EKPO-LGORT,
MENGE LIKE EKPO-MENGE,
MEINS LIKE EKPO-MEINS,
NETPR LIKE EKPO-NETPR,
COLNO LIKE SY-COLNO,
END OF IT_EKPO.
DATA:

* Internal table to store EKPO data
" I_EKPO TYPE STANDARD TABLE OF IT_EKPO INITIAL SIZE 0,
* Internal table for storing field catalog information
I_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
* Internal table for Top of Page info. in ALV Display
I_ALV_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER,
* Internal table for ALV Display events
I_EVENTS TYPE SLIS_T_EVENT,
* Internal table for storing ALV sort information
I_SORT TYPE SLIS_T_SORTINFO_ALV,
I_EVENT TYPE SLIS_T_EVENT.

" select-OPTIONS aedat for ekko-aedat.
"select-OPTIONS ernam for ekko-ernam.
"SELECT-OPTIONS lifnr for ekko-lifnr.
" select-OPTIONS waers for ekko-waers.

"select * from ekko
SELECT-OPTIONS S_EBELN FOR EKPO-EBELN.
SELECT * FROM EKPO WHERE EBELN IN S_EBELN.
IT_EKPO-EBELN = EKPO-EBELN.
IT_EKPO-EBELP = EKPO-EBELP.
IT_EKPO-MATNR = EKPO-MATNR.
IT_EKPO-WERKS = EKPO-WERKS.
IT_EKPO-LGORT = EKPO-LGORT.
IT_EKPO-MENGE = EKPO-MENGE.
IT_EKPO-MEINS = EKPO-MEINS.
IT_EKPO-NETPR = EKPO-NETPR.
APPEND IT_EKPO.
ENDSELECT.

DATA:I_REPID TYPE SY-REPID.
DATA INT_FCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE.
I_REPID = SY-REPID.
DATA : GS_LAYOUT TYPE SLIS_LAYOUT_ALV.
DATA : SORTFIELD TYPE SLIS_T_SORTINFO_ALV.
DATA : SORTFIEL TYPE SLIS_SORTINFO_ALV .



"sortfield-subtotal= 'X'.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = SY-REPID
I_INTERNAL_TABNAME = 'IT_EKPO'
I_INCLNAME = SY-REPID
I_CLIENT_NEVER_DISPLAY = 'X'
I_BYPASSING_BUFFER = 'X'
CHANGING
CT_FIELDCAT = INT_FCAT[]
EXCEPTIONS
OTHERS = 3.

PERFORM MAKELAYOUT.
PERFORM SHOWALV.


*&---------------------------------------------------------------------*
*& Form SHOWALV
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM SHOWALV.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING "
IT_FIELDCAT = INT_FCAT[]
I_CALLBACK_PROGRAM = SY-REPID
I_BACKGROUND_ID = 'ALV_BACKGROUND'
" I_CALLBACK_PF_STATUS_SET = 'SET_PF-STATUS '
IS_LAYOUT = GS_LAYOUT
IT_SORT = SORTFIELD[] " sort once sonra sub sum
I_CALLBACK_HTML_TOP_OF_PAGE = 'HTML_TOP_OF_PAGE'
I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
i_save = 'A'
* i_screen_start_column = 10
* i_screen_start_line = 20
* i_screen_end_column = 100
* i_screen_end_line = 40
TABLES
T_OUTTAB = IT_EKPO.

ENDFORM. "showalv
*&---------------------------------------------------------------------*
*& Form SET_PF-STATUS
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->RT_EXTAB text
*----------------------------------------------------------------------*
FORM SET_PF-STATUS USING RT_EXTAB TYPE SLIS_T_EXTAB.

SET PF-STATUS 'ZSLY_STATUS' .
* APPEND 'SAVE' TO fcode.
* SET PF-STATUS 'STATUS_0100' EXCLUDING fcode.

ENDFORM. "Set_pf_status
*&---------------------------------------------------------------------*
*& Form makelayout
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM MAKELAYOUT.

sortfiel-fieldname = 'EBELN'.
sortfiel-up = 'X'.
SORTFIEL-SUBTOT = 'X'.
sortfiel-tabname = 'IT_EKPO'.
INT_FCAT-DO_SUM = 'X'.
append sortfiel to sortfield.

MODIFY INT_FCAT TRANSPORTING DO_SUM WHERE FIELDNAME = 'NETPR'.

*clear sortfiel.
*sortfiel-fieldname = 'NETPR'.
*"sortfiel-up = 'X'.
*SORTFIEL-SUBTOT = 'X'.
*sortfiel-tabname = 'IT_EKPO'.



"sortfield-tabname = 'MARNT'.

*MOVE: 'MARNT' TO sortfield-FIELDNAME,
*'X' TO sortfield-UP.
*APPEND IT_SORT_DEF TO IT_SORT.
* " INT_FCAT-UP = 'EBELN'.
"MODIFY INT_FCAT TRANSPORTING UP WHERE FIELDNAME = 'EBELN'.



ENDFORM. "makelayout

*&---------------------------------------------------------------------*
*& Form top_of_page
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*

FORM TOP_OF_PAGE.

WRITE 'This is the Top of page which triggers in print'.

ENDFORM. "TOP_OF_PAGE
*&---------------------------------------------------------------------*
*& Form html_top_of_page
*&---------------------------------------------------------------------*

FORM HTML_TOP_OF_PAGE USING DOCUMENT TYPE REF TO CL_DD_DOCUMENT.
DATA : DL_TEXT(255) TYPE C. "Text
* Add new-line


CLEAR : DL_TEXT.
* program ID
DL_TEXT = 'Program Name :'.
CALL METHOD DOCUMENT->ADD_GAP.
CALL METHOD DOCUMENT->ADD_TEXT
EXPORTING
TEXT = DL_TEXT
SAP_EMPHASIS = CL_DD_AREA=>HEADING
SAP_COLOR = CL_DD_AREA=>LIST_HEADING_INT.

CLEAR DL_TEXT.
DL_TEXT = SY-REPID.
CALL METHOD DOCUMENT->ADD_TEXT
EXPORTING
TEXT = DL_TEXT
SAP_EMPHASIS = CL_DD_AREA=>HEADING
SAP_COLOR = CL_DD_AREA=>LIST_NEGATIVE_INV.
DL_TEXT = ' '.
CALL METHOD DOCUMENT->ADD_TEXT
EXPORTING
TEXT = DL_TEXT
SAP_EMPHASIS = CL_DD_AREA=>HEADING
SAP_COLOR = CL_DD_AREA=>LIST_NEGATIVE_INV.
DL_TEXT = ' '.
CALL METHOD DOCUMENT->ADD_TEXT
EXPORTING
TEXT = DL_TEXT
SAP_EMPHASIS = CL_DD_AREA=>HEADING
SAP_COLOR = CL_DD_AREA=>LIST_NEGATIVE_INV.

* Add new-line
"CALL METHOD document->new_line.
CLEAR : DL_TEXT.

DL_TEXT = SY-UNAME.
CALL METHOD DOCUMENT->ADD_GAP
EXPORTING
WIDTH = 34.
CALL METHOD DOCUMENT->ADD_TEXT
EXPORTING
TEXT = DL_TEXT
SAP_EMPHASIS = CL_DD_AREA=>HEADING
SAP_COLOR = CL_DD_AREA=>LIST_NEGATIVE_INV.

* Add new-line
"CALL METHOD document->new_line.
CLEAR : DL_TEXT.

CALL METHOD DOCUMENT->ADD_GAP
EXPORTING
WIDTH = 34.
* Move date
WRITE SY-DATUM TO DL_TEXT.

CALL METHOD DOCUMENT->ADD_TEXT
EXPORTING
TEXT = DL_TEXT
SAP_EMPHASIS = CL_DD_AREA=>HEADING
SAP_COLOR = CL_DD_AREA=>LIST_NEGATIVE_INV.

* Add new-line
"CALL METHOD document->new_line.
CLEAR : DL_TEXT.
* Move time
WRITE SY-UZEIT TO DL_TEXT.
CALL METHOD DOCUMENT->ADD_GAP
EXPORTING
WIDTH = 34.
CALL METHOD DOCUMENT->ADD_TEXT
EXPORTING
TEXT = DL_TEXT
SAP_EMPHASIS = CL_DD_AREA=>HEADING
SAP_COLOR = CL_DD_AREA=>LIST_NEGATIVE_INV.
CALL METHOD DOCUMENT->NEW_LINE.
CALL METHOD DOCUMENT->NEW_LINE.

CALL METHOD DOCUMENT->ADD_PICTURE
EXPORTING
PICTURE_ID = 'ENJOYSAP_LOGO'.
* Add new-line
ENDFORM. "HTML_TOP_OF_PAGE

Hiç yorum yok:

Yorum Gönder