0% found this document useful (0 votes)
275 views9 pages

Sales Summary Report

This document provides a report on sales summary data. It declares tables, structures, and internal tables to store billing document (VBRK), billing item (VBRP), and document condition (KONV) data. Data is fetched from these tables and consolidated into a final internal table based on the billing document number. The fields of the final table are then defined and the data is displayed in an ALV grid for output.

Uploaded by

Kabil Rocky
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
275 views9 pages

Sales Summary Report

This document provides a report on sales summary data. It declares tables, structures, and internal tables to store billing document (VBRK), billing item (VBRP), and document condition (KONV) data. Data is fetched from these tables and consolidated into a final internal table based on the billing document number. The fields of the final table are then defined and the data is displayed in an ALV grid for output.

Uploaded by

Kabil Rocky
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 9

REPORT ZPR_SALES_SUMMARY no STANDARD PAGE HEADING .

*&---------------------------------------------------------------------*
*
TABLES DECLARATION
*&---------------------------------------------------------------------*
type-pools: slis.
TABLES: vbrk,vbrp,konv.
*&---------------------------------------------------------------------*
*
STRUCTURE DECLARATION
*&---------------------------------------------------------------------*
TYPES: BEGIN OF ty_vbrkvbrp,
VBELN TYPE VBRK-VBELN, "Billing Document
vtweg TYPE vbrk-vtweg,
ERDAT TYPE vbrk-ERDAT,
FKART TYPE VBRK-FKART, "Billing Type
FKTYP TYPE VBRK-FKTYP, "Billing category
VBTYP TYPE VBRK-VBTYP, "SD document category
WAERK TYPE VBRK-WAERK, "SD Document Currency
VKORG TYPE VBRK-VKORG, "Sales Organization
KNUMV TYPE VBRK-KNUMV, "Number of the document condition
REGIO TYPE VBRK-REGIO,
BUKRS TYPE VBRK-BUKRS,
NETWR TYPE VBRK-NETWR,
POSNR TYPE VBRP-POSNR,
VRKME TYPE VBRP-VRKME,
MEINS TYPE VBRP-MEINS,
LGORT TYPE VBRP-LGORT,
VKORG_AUFT TYPE VBRP-VKORG_AUFT,
END OF ty_vbrkvbrp,
ty_t_vbrkvbrp TYPE TABLE OF ty_vbrkvbrp.
TYPES: BEGIN
KNUMV
KSCHL
KDATU
KNTYP
END OF

OF TY_KONV,
TYPE KONV-KNUMV,
TYPE KONV-KSCHL,
TYPE KONV-KDATU,
TYPE KONV-KNTYP,
TY_KONV,

ty_t_konv TYPE TABLE OF ty_konv.

TYPES: BEGIN
VBELN
vtweg
ERDAT
FKART
FKTYP
VBTYP
WAERK
VKORG
KNUMV
REGIO
BUKRS

OF ty_final,
TYPE VBRK-VBELN,
TYPE vbrk-VTWEG,
TYPE vbrk-ERDAT,
TYPE VBRK-FKART,
TYPE VBRK-FKTYP,
TYPE VBRK-VBTYP,
TYPE VBRK-WAERK,
TYPE VBRK-VKORG,
TYPE VBRK-KNUMV,
TYPE VBRK-REGIO,
TYPE VBRK-BUKRS,

"Billing Document
"Billing Type
"Billing category
"SD document category
"SD Document Currency
"Sales Organization
"Number of the document condition

NETWR TYPE VBRK-NETWR,


POSNR TYPE VBRP-POSNR,
VRKME TYPE VBRP-VRKME,
MEINS TYPE VBRP-MEINS,
LGORT TYPE VBRP-LGORT,
VKORG_AUFT TYPE VBRP-VKORG_AUFT,
KSCHL TYPE KONV-KSCHL,
KDATU TYPE KONV-KDATU,
KNTYP TYPE KONV-KNTYP,
END OF ty_final,
ty_t_final TYPE TABLE OF ty_final.
*&---------------------------------------------------------------------*
*
INTERNAL TABLE DECLARATION
*&---------------------------------------------------------------------*
DATA : gt_vbrkvbrp type ty_t_vbrkvbrp,
gw_vbrkvbrp TYPE ty_vbrkvbrp,
gt_konv
TYPE ty_t_konv,
gw_konv
TYPE ty_konv,
gt_final
TYPE ty_t_final,
gw_final
TYPE ty_final,
gt_fcat type slis_t_fieldcat_alv,
gw_fcat type slis_fieldcat_alv.
selection-screen BEGIN OF BLOCK blk WITH FRAME TITLE text-000.
SELECT-OPTIONS: s_ERDAT for vbrk-ERDAT,
s_vkorg for VBRk-VKORG.
selection-screen end of block blk.
selection-screen BEGIN OF BLOCK blk1 WITH FRAME TITLE text-000.
SELECT-OPTIONS: s_vtweg for vbrk-vtweg.
PARAMETERS : s_bukrs type VBRK-BUKRS OBLIGATORY.
selection-screen end of block blk1.
initialization.
perform f_fill_doc_date.
AT SELECTION-SCREEN.
PERFORM F_VALIDATE_CC.
start-of-selection .
perform f_fetch_vbrkvbrp.
perform f_fetch_konv.
sort gt_vbrkvbrp.
sort gt_konv.
perform f_fill_final.
end-of-selection.
perform f_fill_fcat.
perform f_display.

* loop at gt_final into gw_final.


* write:/ gw_final-VBELN,
*
gw_final-vtweg,
*
gw_final-ERDAT,
*
gw_final-FKART,
*
gw_final-FKTYP,
*
gw_final-VBTYP,
*
gw_final-WAERK,
*
gw_final-VKORG,
*
gw_final-KNUMV,
*
gw_final-REGIO,
*
gw_final-BUKRS,
*
gw_final-NETWR,
*
gw_final-POSNR,
*
gw_final-VRKME,
*
gw_final-MEINS,
*
gw_final-LGORT,
*
gw_final-VKORG_AUFT,
*
gw_final-KSCHL,
*
gw_final-KDATU,
*
gw_final-KNTYP.
*
ENDLOOP.
*&---------------------------------------------------------------------*
*&
Form f_fetch_vbrkvbrp
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
form f_fetch_vbrkvbrp .
SELECT VBRK~VBELN vbrk~VTWEG vbrk~ERDAT VBRK~FKART VBRK~FKTYP VBRK~VBTYP VBRK~W
AERK VBRK~VKORG VBRK~KNUMV VBRK~REGIO VBRK~BUKRS VBRK~NETWR
VBRP~POSNR VBRP~VRKME VBRP~MEINS VBRP~LGORT VBRP~VKORG_AUFT
into table gt_vbrkvbrp
from vbrk
inner join vbrp
on vbrk~vbeln = vbrp~vbeln
where vbrk~ERDAT in s_erdat and
vbrp~vkorg_auft in s_vkorg and
vbrk~vtweg in s_vtweg and
vbrk~bukrs = s_bukrs.
endform.
" f_fetch_vbrkvbrp
*&---------------------------------------------------------------------*
*&
Form f_fetch_konv
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
form f_fetch_konv .
SELECT KNUMV KSCHL KDATU KNTYP
into table gt_konv
FROM konv
FOR ALL ENTRIES IN gt_vbrkvbrp
WHERE knumv = gt_vbrkvbrp-knumv.

endform.
" f_fetch_konv
*&---------------------------------------------------------------------*
*&
Form f_fill_final
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
form f_fill_final .
loop at gt_vbrkvbrp into gw_vbrkvbrp.
move: gw_vbrkvbrp-vbeln to gw_final-vbeln,
gw_vbrkvbrp-vtweg to gw_final-vtweg,
gw_vbrkvbrp-erdat to gw_final-erdat,
gw_vbrkvbrp-fkart to gw_final-fkart,
gw_vbrkvbrp-fktyp to gw_final-fktyp,
gw_vbrkvbrp-vbtyp to gw_final-vbtyp,
gw_vbrkvbrp-waerk to gw_final-waerk,
gw_vbrkvbrp-vkorg to gw_final-vkorg,
gw_vbrkvbrp-knumv to gw_final-knumv,
gw_vbrkvbrp-regio to gw_final-regio,
gw_vbrkvbrp-bukrs to gw_final-bukrs,
gw_vbrkvbrp-netwr to gw_final-netwr,
gw_vbrkvbrp-posnr to gw_final-posnr,
gw_vbrkvbrp-VRKME to gw_final-VRKME,
gw_vbrkvbrp-meins to gw_final-meins,
gw_vbrkvbrp-lgort to gw_final-lgort,
gw_vbrkvbrp-VKORG_AUFT to gw_final-VKORG_AUFT.
READ TABLE gt_konv INTO gw_konv with key knumv = gw_vbrkvbrp-knumv BINARY
SEARCH.
if sy-subrc = 0.
move: gw_konv-kschl to gw_final-kschl,
gw_konv-KDATU to gw_final-KDATU,
gw_konv-kntyp to gw_final-kntyp.
ENDIF.
APPEND gw_final to gt_final.
CLEAR gw_final.
ENDLOOP.
endform.
" f_fill_final
*&---------------------------------------------------------------------*
*&
Form f_display
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
form f_display .
DATA: lv_repid TYPE sy-repid,
lw_layout TYPE slis_layout_alv.
lw_layout-colwidth_optimize = 'X'.
lw_layout-zebra = 'X'.
lv_repid = sy-cprog.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'


EXPORTING
I_INTERFACE_CHECK
= ' '
I_BYPASSING_BUFFER
= ' '
I_BUFFER_ACTIVE
= ' '
I_CALLBACK_PROGRAM
= LV_REPID
* I_CALLBACK_PF_STATUS_SET
= ' '
* I_CALLBACK_USER_COMMAND
= ' '
I_CALLBACK_TOP_OF_PAGE
= 'TOP_OF_PAGE'
* I_CALLBACK_HTML_TOP_OF_PAGE
= ' '
* I_CALLBACK_HTML_END_OF_LIST
= ' '
* I_STRUCTURE_NAME
=
* I_BACKGROUND_ID
= ' '
* I_GRID_TITLE
=
* I_GRID_SETTINGS
=
IS_LAYOUT
= LW_LAYOUT
IT_FIELDCAT
= gt_fcat
* IT_EXCLUDING
=
* IT_SPECIAL_GROUPS
=
* IT_SORT
=
* IT_FILTER
=
* IS_SEL_HIDE
=
* I_DEFAULT
= 'X'
* I_SAVE
= ' '
* IS_VARIANT
=
* IT_EVENTS
=
* IT_EVENT_EXIT
=
* IS_PRINT
=
* IS_REPREP_ID
=
* I_SCREEN_START_COLUMN
= 0
* I_SCREEN_START_LINE
= 0
* I_SCREEN_END_COLUMN
= 0
* I_SCREEN_END_LINE
= 0
* I_HTML_HEIGHT_TOP
= 0
* I_HTML_HEIGHT_END
= 0
* IT_ALV_GRAPHICS
=
* IT_HYPERLINK
=
* IT_ADD_FIELDCAT
=
* IT_EXCEPT_QINFO
=
* IR_SALV_FULLSCREEN_ADAPTER
=
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER
=
* ES_EXIT_CAUSED_BY_USER
=
TABLES
t_outtab
= gt_final
* 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.
" f_display
*&---------------------------------------------------------------------*
*&
Form f_fill_fcat
*&---------------------------------------------------------------------*

*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
form f_fill_fcat .
gw_fcat-fieldname = 'VBELN'.
gw_fcat-tabname = 'GT_FINAL'.
gw_fcat-seltext_m = 'Billing Document'.
APPEND gw_fcat TO gt_fcat.
CLEAR gw_fcat.
gw_fcat-fieldname
gw_fcat-tabname =
gw_fcat-seltext_m
APPEND gw_fcat TO
CLEAR gw_fcat.

= 'VTWEG'.
'GT_FINAL'.
= 'Distribution Channel'.
gt_fcat.

gw_fcat-fieldname
gw_fcat-tabname =
gw_fcat-seltext_m
APPEND gw_fcat TO
CLEAR gw_fcat.

= 'ERDAT'.
'GT_FINAL'.
= 'Record Creation Date'.
gt_fcat.

gw_fcat-fieldname
gw_fcat-tabname =
gw_fcat-seltext_m
APPEND gw_fcat TO
CLEAR gw_fcat.

= 'FKART'.
'GT_FINAL'.
= 'Billing Type'.
gt_fcat.

gw_fcat-fieldname
gw_fcat-tabname =
gw_fcat-seltext_m
APPEND gw_fcat TO
CLEAR gw_fcat.

= 'VBTYP'.
'GT_FINAL'.
= 'SD document category'.
gt_fcat.

gw_fcat-fieldname
gw_fcat-tabname =
gw_fcat-seltext_m
APPEND gw_fcat TO
CLEAR gw_fcat.

= 'WAERK'.
'GT_FINAL'.
= 'SD Document Currency'.
gt_fcat.

gw_fcat-fieldname
gw_fcat-tabname =
gw_fcat-seltext_m
APPEND gw_fcat TO
CLEAR gw_fcat.

= 'VKORG'.
'GT_FINAL'.
= 'Sales Org.'.
gt_fcat.

gw_fcat-fieldname
gw_fcat-tabname =
gw_fcat-seltext_m
APPEND gw_fcat TO
CLEAR gw_fcat.

= 'KNUMV'.
'GT_FINAL'.
= 'Document Condition No.'.
gt_fcat.

gw_fcat-fieldname
gw_fcat-tabname =
gw_fcat-seltext_m
APPEND gw_fcat TO
CLEAR gw_fcat.

= 'REGIO'.
'GT_FINAL'.
= 'Region'.
gt_fcat.

gw_fcat-fieldname
gw_fcat-tabname =
gw_fcat-seltext_m
APPEND gw_fcat TO
CLEAR gw_fcat.

= 'BUKRS'.
'GT_FINAL'.
= 'Company Code'.
gt_fcat.

gw_fcat-fieldname
gw_fcat-tabname =
gw_fcat-seltext_m
APPEND gw_fcat TO
CLEAR gw_fcat.

= 'NETWR'.
'GT_FINAL'.
= 'Net Value'.
gt_fcat.

gw_fcat-fieldname
gw_fcat-tabname =
gw_fcat-seltext_m
APPEND gw_fcat TO
CLEAR gw_fcat.

= 'POSNR'.
'GT_FINAL'.
= 'Billing item'.
gt_fcat.

gw_fcat-fieldname
gw_fcat-tabname =
gw_fcat-seltext_m
APPEND gw_fcat TO
CLEAR gw_fcat.

= 'VRKME'.
'GT_FINAL'.
= 'Sales unit'.
gt_fcat.

gw_fcat-fieldname
gw_fcat-tabname =
gw_fcat-seltext_m
APPEND gw_fcat TO
CLEAR gw_fcat.

= 'MEINS'.
'GT_FINAL'.
= 'Units'.
gt_fcat.

gw_fcat-fieldname
gw_fcat-tabname =
gw_fcat-seltext_m
APPEND gw_fcat TO
CLEAR gw_fcat.

= 'LGORT'.
'GT_FINAL'.
= 'Storage Location'.
gt_fcat.

gw_fcat-fieldname
gw_fcat-tabname =
gw_fcat-seltext_m
APPEND gw_fcat TO
CLEAR gw_fcat.

= 'KSCHL'.
'GT_FINAL'.
= 'Condition type'.
gt_fcat.

gw_fcat-fieldname
gw_fcat-tabname =
gw_fcat-seltext_m
APPEND gw_fcat TO
CLEAR gw_fcat.

= 'KDATU'.
'GT_FINAL'.
= 'Condition pricing date'.
gt_fcat.

gw_fcat-fieldname
gw_fcat-tabname =
gw_fcat-seltext_m
APPEND gw_fcat TO
CLEAR gw_fcat.

= 'KNTYP'.
'GT_FINAL'.
= 'Condition category'.
gt_fcat.

endform.
" f_fill_fcat
*&---------------------------------------------------------------------*
*&
Form F_VALIDATE_CC
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*

* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
form F_VALIDATE_CC .
DATA: LV_BUKRS TYPE VBRK-BUKRS.
SELECT SINGLE BUKRS
INTO LV_BUKRS
FROM VBRK
WHERE BUKRS = S_BUKRS.
IF SY-SUBRC NE 0.
MESSAGE 'Please Enter A Valid Company Code' TYPE 'E'.
ENDIF.
endform.
" F_VALIDATE_CC
*&---------------------------------------------------------------------*
*&
Form f_fill_doc_date
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
form f_fill_doc_date .
Data: iv_edate type sy-datum.
s_erdat-sign = 'I'.
s_erdat-option = 'BT'.
s_erdat-low = sy-datum.
s_erdat-low+6(2) = '01'.
CALL FUNCTION 'OIL_LAST_DAY_OF_MONTH'
EXPORTING
i_date
= sy-datum
IMPORTING
E_LAST_DAY
= iv_edate.
s_erdat-high = iv_edate.
Append s_erdat.
endform.
" f_fill_doc_date
Form top_of_page.
Data:lv_header type slis_t_listheader,
lw_header type slis_listheader.
lw_header-typ = 'H'.
lw_header-info = 'Sales Summary'.
append lw_header to lv_header.
Clear lw_header.
lw_header-typ = 'A'.
lw_header-info = 'Test Action'.
append lw_header to lv_header.
Clear lw_header.
lw_header-typ = 'S'.
lw_header-Key = 'Date:'.
lw_header-info = sy-datum.
append lw_header to lv_header.
Clear lw_header.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary
= lv_header
I_LOGO
= 'ENJOYSAP_LOGO'

*
*

I_END_OF_LIST_GRID
I_ALV_FORM
.
endform.

=
=

You might also like