0% found this document useful (0 votes)
76 views20 pages

Coding Templates: 1. Zmanager - Eb

The document contains coding templates for different SAP transactions and reports. Template 1 defines a program called ZMANAGER_EB that provides a menu interface for navigating between different transactions. Template 2 defines a program called ZSALES_ORDERS_EB for entering and updating sales order data. Template 3 defines a report called ZYEARLY_EB to generate yearly reports on order data. Templates 4 and 5 similarly define programs and reports for supplier and order list functionality.

Uploaded by

A.Udayabhanu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
76 views20 pages

Coding Templates: 1. Zmanager - Eb

The document contains coding templates for different SAP transactions and reports. Template 1 defines a program called ZMANAGER_EB that provides a menu interface for navigating between different transactions. Template 2 defines a program called ZSALES_ORDERS_EB for entering and updating sales order data. Template 3 defines a report called ZYEARLY_EB to generate yearly reports on order data. Templates 4 and 5 similarly define programs and reports for supplier and order list functionality.

Uploaded by

A.Udayabhanu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 20

CODING TEMPLATES

1. ZMANAGER_EB:

PROGRAM ZMANAGER_EB.

MODULE STATUS_1100 OUTPUT.

SET PF-STATUS 'ZMENU_EB'.

CASE SY-UCOMM.

WHEN 'BACK2'.

LEAVE TO TRANSACTION 'ZMANAGER_EB'.

ENDCASE.

CASE SY-UCOMM.

WHEN 'MANAGER'.

LEAVE TO TRANSACTION 'ZMANAGER_EB'.

WHEN 'SALES'.

LEAVE TO TRANSACTION 'ZSALESSTAFF_EB'.

WHEN 'ACCOUNTANT'.

LEAVE TO TRANSACTION 'ZACC_EB'.

WHEN 'PURCHASE'.

LEAVE TO TRANSACTION 'ZPURCHASE_EB'.

WHEN 'SETTINGS'.

LEAVE TO TRANSACTION 'ZUTILITY_EB'.

WHEN 'LOGOUT'.

LEAVE TO TRANSACTION 'ZLOGIN'.

ENDCASE.

CASE SY-UCOMM.

WHEN 'OVERALLORDERS'.

SUBMIT ZORDERLIST_EB AND RETURN.

WHEN 'CUSTOMERSLIST'.

SUBMIT ZCUSLIST_EB AND RETURN.

WHEN 'OVERALLREPORT'.

LEAVE TO TRANSACTION 'ZREPORTS_EB'.


WHEN 'OVERALL_EXPENDITURE'.

SUBMIT ZOALLREPORT_EB AND RETURN.

WHEN 'AVAILABLESTOCK'.

SUBMIT ZAVAILABLESTOCK_EB AND RETURN.

ENDCASE.

ENDMODULE.

MODULE USER_COMMAND_1100 INPUT.

ENDMODULE.

2. ZSALES_ORDERS_EB:

PROGRAM ZSALES_ORDERS_EB.

TABLES: ZORDERS_EB,ZPRODUCT_EB.

TYPES : BEGIN OF ST,

ZOD_ID TYPE ZORDERS_EB-ZOD_ID,

ZPRODID_EB TYPE ZORDERS_EB-ZPRODID_EB,

ZCUSTID_EB TYPE ZORDERS_EB-ZCUSTID_EB,

ZOD_QUANT TYPE ZORDERS_EB-ZOD_QUANT,

ZRATE_EB TYPE ZORDERS_EB-ZRATE_EB,

ZAMT_EB TYPE ZORDERS_EB-ZAMT_EB,

ZINVOICE_NO_EB TYPE ZORDERS_EB-ZINVOICE_NO_EB,

ZINVOICE_DATE_EB TYPE ZORDERS_EB-ZINVOICE_DATE_EB,

ZPAID_TYPE_EB TYPE ZORDERS_EB-ZPAID_TYPE_EB,

ZAMT_WORDS_EB TYPE ZORDERS_EB-ZAMT_WORDS_EB,

END OF ST.

TYPES : BEGIN OF ST1,

ZPRODID_EB TYPE ZPRODUCT_EB-ZPRODID_EB,

ZPRODTYPE_EB TYPE ZPRODUCT_EB-ZPRODTYPE_EB,

ZPRODSUBTYPE_EB TYPE ZPRODUCT_EB-ZPRODSUBTYPE_EB,

ZRATE_EB TYPE ZPRODUCT_EB-ZRATE_EB,

ZISACTIVE_EB TYPE ZPRODUCT_EB-ZISACTIVE_EB,


ZSTOCK_EB TYPE ZPRODUCT_EB-ZSTOCK_EB,

END OF ST1.

DATA : IT TYPE STANDARD TABLE OF ZORDERS_EB,

WA TYPE ZORDERS_EB,

IT1 TYPE STANDARD TABLE OF ST1,

WA1 TYPE ST1,

WA2 TYPE ZPRODUCT_EB,

SUBMIT TYPE C,

CANCEL TYPE C,

STOCK TYPE I.

MODULE STATUS_3333 OUTPUT.

CASE SY-UCOMM.

WHEN 'MANAGER'.

CALL TRANSACTION 'ZREPORT_EB'.

WHEN 'SALES'.

CALL TRANSACTION 'ZUTILITY_EB'.

WHEN 'LOGOUT'.

CALL TRANSACTION 'ZLOGIN'.

ENDCASE.

CASE SY-UCOMM.

WHEN 'SUBMIT'.

INSERT INTO ZORDERS_EB VALUES WA.

SELECT ZPRODID_EB ZPRODTYPE_EB ZPRODSUBTYPE_EB ZRATE_EB ZISACTIVE_EB ZSTOCK_EB FROM


ZPRODUCT_EB INTO TABLE IT1 WHERE ZPRODID_EB = WA-ZPRODID_EB.

READ TABLE IT1 INTO WA1 INDEX 1.

WA2-ZSTOCK_EB = WA1-ZSTOCK_EB - WA-ZOD_QUANT.

UPDATE ZPRODUCT_EB SET ZSTOCK_EB = WA2-ZSTOCK_EB WHERE ZPRODID_EB = WA-ZPRODID_EB.

MESSAGE 'DATA ENTERED SUCCESSFULLY' TYPE 'S' DISPLAY LIKE 'S'.

WHEN 'CANCEL'.
LEAVE TO TRANSACTION 'ZSALESSTAFF_EB'.

ENDCASE.

ENDMODULE.

3. ZYEARLY_EB:

REPORT ZYEARLY_EB.

TABLES : ZORDERS_EB.

TYPES : BEGIN OF ST,

ZOD_ID TYPE ZORDERS_EB-ZOD_ID,

ZINVOICE_DATE_EB TYPE ZORDERS_EB-ZINVOICE_DATE_EB,

ZPRODID_EB TYPE ZORDERS_EB-ZPRODID_EB,

ZCUSTID_EB TYPE ZORDERS_EB-ZCUSTID_EB,

ZOD_QUANT TYPE ZORDERS_EB-ZOD_QUANT,

ZRATE_EB TYPE ZORDERS_EB-ZRATE_EB,

ZAMT_EB TYPE ZORDERS_EB-ZAMT_EB,

END OF ST.

DATA : IT TYPE STANDARD TABLE OF ST,

WA TYPE ST,

TS TYPE I,

TQ TYPE I,

TP TYPE I,

MONTH TYPE DATE,

YEAR TYPE DATE.

PARAMETERS : YEARS LENGTH 5 OBLIGATORY.

SELECT ZOD_ID ZINVOICE_DATE_EB ZPRODID_EB ZCUSTID_EB ZOD_QUANT ZRATE_EB ZAMT_EB FR


OM ZORDERS_EB INTO TABLE IT.
WRITE : 'ORDER ID',15 'DATE', 26 'PRODUCT ID',41 'CUSTOMER ID',55 'QUANTITY',70 'RATE',85 'AM
OUNT'.

ULINE.

LOOP AT IT INTO WA.

YEAR = WA-ZINVOICE_DATE_EB(4).

MONTH = WA-ZINVOICE_DATE_EB+4(2).

IF YEAR = years.

WRITE : / WA-ZOD_ID,

10 WA-ZINVOICE_DATE_EB,

25 WA-ZPRODID_EB,

40 WA-ZCUSTID_EB,

55 WA-ZOD_QUANT,

70 WA-ZRATE_EB,

85 WA-ZAMT_EB.

TS = TS + 1.

TQ = TQ + WA-ZOD_QUANT.

TP = TP + WA-ZAMT_EB.

ENDIF.

ENDLOOP.

ULINE.

WRITE : / 'TOTAL QUANTITY SELLED ON THIS DAY', 40 TQ.

WRITE : / 'TOTAL PRICE OF SOLD PRODUCTS', 40 TP.

WRITE : / 'TOTAL NO OF SALES DONE ON THIS DAY',40 TS.

ULINE.

4. ZSUP_EB:

PROGRAM ZSUP_EB.

TABLES:ZSUPPLIERS_EB.

TYPES:BEGIN OF ST,

ZSID_EB TYPE ZSUPPLIERS_EB-ZSID_EB,

ZSNAME_EB TYPE ZSUPPLIERS_EB-ZSNAME_EB,


ZSADDR_EB TYPE ZSUPPLIERS_EB-ZSADDR_EB,

ZSPHNO_EB TYPE ZSUPPLIERS_EB-ZSPHNO_EB,

ZSMAIL_EB TYPE ZSUPPLIERS_EB-ZSMAIL_EB,

END OF ST.

DATA:IT TYPE STANDARD TABLE OF ST,

WA TYPE ZSUPPLIERS_EB,

SAVE TYPE C,

VIEW TYPE C,

UPDATE TYPE C,

CANCEL TYPE C.

MODULE STATUS_1000 OUTPUT.

* SET PF-STATUS 'xxxxxxxx'.

* SET TITLEBAR 'xxx'.

CASE SY-UCOMM.

WHEN 'SAVE'.

INSERT INTO ZSUPPLIERS_EB VALUES WA.

MESSAGE 'DATA INSERTED SUCCESSFULLY' TYPE 'S' DISPLAY LIKE 'S'.

WHEN 'VIEW'.

SUBMIT ZSUPLIST_EB AND RETURN.

WHEN 'UPDATE'.

MODIFY ZSUPPLIERS_EB FROM WA.

MESSAGE 'DATA UPDATED SUCCESSFULLY' TYPE 'S' DISPLAY LIKE 'S'.

WHEN 'CANCEL'.

CALL TRANSACTION 'ZPURCHASE_EB'.

ENDCASE.

ENDMODULE.

5.ZORDERLIST_EB:

REPORT ZORDERLIST_EB.

TABLES: ZORDERS_EB,ZCUST_EB,ZPRODUCT_EB.

TYPES: BEGIN OF ST1,


ZPRODID_EB1 TYPE ZPRODUCT_EB-ZPRODID_EB,

ZPRODTYPE_EB TYPE ZPRODUCT_EB-ZPRODTYPE_EB,

ZRATE_EB TYPE ZPRODUCT_EB-ZRATE_EB,

ZOD_ID TYPE ZORDERS_EB-ZOD_ID,

ZPRODID_EB TYPE ZORDERS_EB-ZPRODID_EB,

ZCUSTID_EB TYPE ZORDERS_EB-ZCUSTID_EB,

ZOD_QUANT TYPE ZORDERS_EB-ZOD_QUANT,

ZCUSTID_EB1 TYPE ZCUST_EB-ZCUSTID_EB,

ZCUSTNAME_EB TYPE ZCUST_EB-ZCUSTNAME_EB,

END OF ST1.

DATA:IT1 TYPE STANDARD TABLE OF ST1,

WA1 TYPE ST1,

IF1 TYPE SLIS_T_FIELDCAT_ALV,

WF1 TYPE SLIS_FIELDCAT_ALV.

WF1-COL_POS = 1.

WF1-FIELDNAME = 'ZOD_ID'.

WF1-SELTEXT_M = 'ORDER ID'.

APPEND WF1 TO IF1.

CLEAR WF1.

WF1-COL_POS = 2.

WF1-FIELDNAME = 'ZPRODID_EB'.

WF1-SELTEXT_M = 'PRODUCT ID'.

APPEND WF1 TO IF1.

CLEAR WF1.

WF1-COL_POS = 3.

WF1-FIELDNAME = 'ZPRODTYPE_EB'.

WF1-SELTEXT_M = 'PRODUCT NAME'.


APPEND WF1 TO IF1.

CLEAR WF1.

WF1-COL_POS = 4.

WF1-FIELDNAME = 'ZRATE_EB'.

WF1-SELTEXT_M = 'PRODUCT PRICE'.

APPEND WF1 TO IF1.

CLEAR WF1.

WF1-COL_POS = 5.

WF1-FIELDNAME = 'ZCUSTID_EB'.

WF1-SELTEXT_M = 'CUSTOMER ID'.

APPEND WF1 TO IF1.

CLEAR WF1.

WF1-COL_POS = 6.

WF1-FIELDNAME = 'ZCUSTNAME_EB'.

WF1-SELTEXT_M = 'CUSTOMER NAME'.

APPEND WF1 TO IF1.

CLEAR WF1.

WF1-COL_POS = 7.

WF1-FIELDNAME = 'ZOD_QUANT'.

WF1-SELTEXT_M = 'ORDER QUANTITY'.

APPEND WF1 TO IF1.

SELECT ZORDERS_EB~ZOD_ID ZORDERS_EB~ZPRODID_EB ZPRODUCT_EB~ZPRODTYPE_EB ZPRODUCT


_EB~ZRATE_EB ZORDERS_EB~ZCUSTID_EB ZCUST_EB~ZCUSTNAME_EB ZORDERS_EB~ZOD_QUANT

into corresponding fields of table it1

FROM ZORDERS_EB INNER JOIN ZPRODUCT_EB ON ZORDERS_EB~ZPRODID_EB = ZPRODUCT_EB~ZP


RODID_EB INNER JOIN ZCUST_EB ON ZORDERS_EB~ZCUSTID_EB = ZCUST_EB~ZCUSTID_EB.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

* I_INTERFACE_CHECK =''

* I_BYPASSING_BUFFER =''

* I_BUFFER_ACTIVE =''

I_CALLBACK_PROGRAM = 'ZORDERLIST_EB'

* I_CALLBACK_PF_STATUS_SET =''

* I_CALLBACK_USER_COMMAND =''

* I_CALLBACK_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 =

IT_FIELDCAT = IF1

* 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 = IT1

* EXCEPTIONS

* PROGRAM_ERROR =1

* OTHERS =2

IF SY-SUBRC <> 0.

* Implement suitable error handling here

ENDIF.

6. ZINVOICE1_EB:

REPORT ZINVOICE1_EB.

TABLES: ZCOMPANY_EB,ZCUST_EB,ZPRODUCT_EB,ZORDERS_EB.

TYPES: BEGIN OF ST,

ZCOMPNAME_EB TYPE ZCOMPANY_EB-ZCOMPNAME_EB,

ZEMAIL_EB TYPE ZCOMPANY_EB-ZEMAIL_EB,

ZADDRESS_EB TYPE ZCOMPANY_EB-ZADDRESS_EB,

ZGSTNO_EB TYPE ZCOMPANY_EB-ZGSTNO_EB,

ZPHNO_EB TYPE ZCOMPANY_EB-ZPHNO_EB,

END OF ST.
TYPES : BEGIN OF ST1,

ZPRODID_EB1 TYPE ZPRODUCT_EB-ZPRODID_EB,

ZPRODTYPE_EB TYPE ZPRODUCT_EB-ZPRODTYPE_EB,

ZRATE_EB TYPE ZPRODUCT_EB-ZRATE_EB,

ZOD_ID TYPE ZORDERS_EB-ZOD_ID,

ZPRODID_EB TYPE ZORDERS_EB-ZPRODID_EB,

ZCUSTID_EB TYPE ZORDERS_EB-ZCUSTID_EB,

ZOD_QUANT TYPE ZORDERS_EB-ZOD_QUANT,

ZCUSTID_EB1 TYPE ZCUST_EB-ZCUSTID_EB,

ZCUSTNAME_EB TYPE ZCUST_EB-ZCUSTNAME_EB,

END OF ST1.

DATA : IT TYPE STANDARD TABLE OF ST,

WA TYPE ST,

IT1 TYPE STANDARD TABLE OF ST1,

WA1 TYPE ST1,

AMOUNT type i,

B TYPE I.

SELECT-OPTIONS : CUST_ID FOR ZORDERS_EB-ZCUSTID_EB OBLIGATORY.

SELECT ZCOMPNAME_EB ZEMAIL_EB ZADDRESS_EB ZGSTNO_EB ZPHNO_EB FROM ZCOMPANY_EB I


NTO TABLE IT.

SELECT ZORDERS_EB~ZOD_ID ZORDERS_EB~ZPRODID_EB ZPRODUCT_EB~ZPRODTYPE_EB ZPRODUC


T_EB~ZRATE_EB ZORDERS_EB~ZCUSTID_EB ZCUST_EB~ZCUSTNAME_EB ZORDERS_EB~ZOD_QUANT

into corresponding fields of table it1

FROM ZORDERS_EB INNER JOIN ZPRODUCT_EB ON ZORDERS_EB~ZPRODID_EB = ZPRODUCT_EB~ZP


RODID_EB INNER JOIN ZCUST_EB ON ZORDERS_EB~ZCUSTID_EB = ZCUST_EB~ZCUSTID_EB WHERE Z
ORDERS_EB~ZCUSTID_EB IN CUST_ID.

CALL FUNCTION 'OPEN_FORM'


EXPORTING

* APPLICATION = 'TX'

* ARCHIVE_INDEX =

* ARCHIVE_PARAMS =

* DEVICE = 'PRINTER'

* DIALOG = 'X'

FORM = 'ZINVOICE_EB'

* LANGUAGE = SY-LANGU

* OPTIONS =

* MAIL_SENDER =

* MAIL_RECIPIENT =

* MAIL_APPL_OBJECT =

* RAW_DATA_INTERFACE = '*'

* SPONUMIV =

* IMPORTING

* LANGUAGE =

* NEW_ARCHIVE_PARAMS =

* RESULT =

EXCEPTIONS

CANCELED =1

DEVICE =2

FORM =3

OPTIONS =4

UNCLOSED =5

MAIL_OPTIONS =6

ARCHIVE_ERROR =7

INVALID_FAX_NUMBER =8

MORE_PARAMS_NEEDED_IN_BATCH =9

SPOOL_ERROR = 10

CODEPAGE = 11

OTHERS = 12
.

IF SY-SUBRC <> 0.

* Implement suitable error handling here

ENDIF.

LOOP AT IT INTO WA.

CALL FUNCTION 'WRITE_FORM'

EXPORTING

ELEMENT = 'HEAD'

* FUNCTION = 'SET'

* TYPE = 'BODY'

WINDOW = 'HEADER'

* IMPORTING

* PENDING_LINES =

EXCEPTIONS

ELEMENT =1

FUNCTION =2

TYPE =3

UNOPENED =4

UNSTARTED =5

WINDOW =6

BAD_PAGEFORMAT_FOR_PRINT =7

SPOOL_ERROR =8

CODEPAGE =9

OTHERS = 10

IF SY-SUBRC <> 0.

* Implement suitable error handling here

ENDIF.

ENDLOOP.

LOOP AT IT1 INTO WA1.


AMOUNT = WA1-ZRATE_EB * WA1-ZOD_QUANT.

B = AMOUNT + B.

CALL FUNCTION 'WRITE_FORM'

EXPORTING

ELEMENT = 'MAIN'

* FUNCTION = 'SET'

* TYPE = 'BODY'

WINDOW = 'MAIN'

* IMPORTING

* PENDING_LINES =

EXCEPTIONS

ELEMENT =1

FUNCTION =2

TYPE =3

UNOPENED =4

UNSTARTED =5

WINDOW =6

BAD_PAGEFORMAT_FOR_PRINT =7

SPOOL_ERROR =8

CODEPAGE =9

OTHERS = 10

IF SY-SUBRC <> 0.

* Implement suitable error handling here

ENDIF.

ENDLOOP.

CALL FUNCTION 'CLOSE_FORM'

* IMPORTING

* RESULT =

* RDI_RESULT =
* TABLES

* OTFDATA =

EXCEPTIONS

UNOPENED =1

BAD_PAGEFORMAT_FOR_PRINT =2

SEND_ERROR =3

SPOOL_ERROR =4

CODEPAGE =5

OTHERS =6

IF SY-SUBRC <> 0.

* Implement suitable error handling here

ENDIF.

7.ZPMONTHLY_EB:

REPORT ZPMONTHLY_EB.

TABLES : ZPURCHASE_EB.

TYPES : BEGIN OF ST,

ZPODID_EB TYPE ZPURCHASE_EB-ZPODID_EB,

ZPRODID_EB TYPE ZPURCHASE_EB-ZPRODID_EB,

ZSID_EB TYPE ZPURCHASE_EB-ZSID_EB,

ZQUANTITY_EB TYPE ZPURCHASE_EB-ZQUANTITY_EB,

ZPRATE_EB TYPE ZPURCHASE_EB-ZPRATE_EB,

ZAMOUNT_EB TYPE ZPURCHASE_EB-ZAMOUNT_EB,

ZPURDATE_EB TYPE ZPURCHASE_EB-ZPURDATE_EB,

END OF ST.

DATA : IT TYPE STANDARD TABLE OF ST,

WA TYPE ST,

TS TYPE I,

TQ TYPE I,
TP TYPE I,

MONTH TYPE DATE,

YEAR TYPE DATE.

PARAMETERS : YEARS LENGTH 5 OBLIGATORY.

PARAMETERS : MONTHS LENGTH 3 OBLIGATORY.

SELECT ZPODID_EB ZSID_EB ZPRODID_EB ZQUANTITY_EB ZPRATE_EB ZAMOUNT_EB ZPURDATE_EB


FROM ZPURCHASE_EB INTO TABLE IT.

WRITE : 'PURCHASE ID',15 'SUPPLIER ID', 30 'PRODUCT ID',43 'QUANTITY',55 'RATE',70 'AMOUNT',8
5 'PURCHASE DATE'.

ULINE.

LOOP AT IT INTO WA.

YEAR = WA-ZPURDATE_EB(4).

MONTH = WA-ZPURDATE_EB+4(2).

IF YEAR = years.

IF MONTH = MONTHS.

WRITE : / WA-ZPODID_EB,

20 WA-ZSID_EB,

35 WA-ZPRODID_EB,

40 WA-ZQUANTITY_EB,

55 WA-ZPRATE_EB,

70 WA-ZAMOUNT_EB,

85 WA-ZPURDATE_EB.

TS = TS + 1.

TQ = TQ + WA-ZQUANTITY_EB.

TP = TP + WA-ZAMOUNT_EB.

ENDIF.

ENDIF.

ENDLOOP.

ULINE.

WRITE : / 'TOTAL QUANTITY PURCHASED ON THIS DAY', 40 TQ.


WRITE : / 'TOTAL PRICE OF PURCHASED PRODUCTS', 40 TP.

WRITE : / 'TOTAL NO OF PURCHASES DONE ON THIS DAY',40 TS.

ULINE.

8.ZOALLREPORT_EB:

REPORT ZOALLREPORT_EB.

TABLES : ZORDERS_EB,ZPURCHASE_EB.

TYPES : BEGIN OF ST,

ZOD_ID TYPE ZORDERS_EB-ZOD_ID,

ZINVOICE_DATE_EB TYPE ZORDERS_EB-ZINVOICE_DATE_EB,

ZPRODID_EB TYPE ZORDERS_EB-ZPRODID_EB,

ZCUSTID_EB TYPE ZORDERS_EB-ZCUSTID_EB,

ZOD_QUANT TYPE ZORDERS_EB-ZOD_QUANT,

ZRATE_EB TYPE ZORDERS_EB-ZRATE_EB,

ZAMT_EB TYPE ZORDERS_EB-ZAMT_EB,

END OF ST.

TYPES : BEGIN OF ST1,

ZPODID_EB TYPE ZPURCHASE_EB-ZPODID_EB,

ZPRODID_EB TYPE ZPURCHASE_EB-ZPRODID_EB,

ZSID_EB TYPE ZPURCHASE_EB-ZSID_EB,

ZQUANTITY_EB TYPE ZPURCHASE_EB-ZQUANTITY_EB,

ZPRATE_EB TYPE ZPURCHASE_EB-ZPRATE_EB,

ZAMOUNT_EB TYPE ZPURCHASE_EB-ZAMOUNT_EB,

ZPURDATE_EB TYPE ZPURCHASE_EB-ZPURDATE_EB,

END OF ST1.

DATA : IT TYPE STANDARD TABLE OF ST,

WA TYPE ST,

TS TYPE I,

TQ TYPE I,
TP TYPE I,

MONTH TYPE DATE,

YEAR TYPE DATE.

DATA : IT1 TYPE STANDARD TABLE OF ST1,

WA1 TYPE ST1,

TS1 TYPE I,

TQ1 TYPE I,

TP1 TYPE I,

P TYPE I.

PARAMETERS : YEARS LENGTH 5 OBLIGATORY.

PARAMETERS : MONTHS LENGTH 3 OBLIGATORY.

WRITE : /75 'OVERALL EXPENDITURE OF THIS MONTH'.

SELECT ZOD_ID ZINVOICE_DATE_EB ZPRODID_EB ZCUSTID_EB ZOD_QUANT ZRATE_EB ZAMT_EB FR


OM ZORDERS_EB INTO TABLE IT.

ULINE.

WRITE : 'SALES DETAILS'.

LOOP AT IT INTO WA.

YEAR = WA-ZINVOICE_DATE_EB(4).

MONTH = WA-ZINVOICE_DATE_EB+4(2).

IF YEAR = years.

IF MONTH = MONTHS.

TS = TS + 1.

TQ = TQ + WA-ZOD_QUANT.

TP = TP + WA-ZAMT_EB.

ENDIF.

ENDIF.

ENDLOOP.
ULINE.

WRITE : / 'TOTAL QUANTITY SELLED IS THIS MONTH', 40 TQ.

WRITE : / 'TOTAL PRICE OF SOLD PRODUCTS', 40 TP.

WRITE : / 'TOTAL NO OF SALES DONE IS THIS MONTH',40 TS.

ULINE.

SELECT ZPODID_EB ZSID_EB ZPRODID_EB ZQUANTITY_EB ZPRATE_EB ZAMOUNT_EB ZPURDATE_


EB FROM ZPURCHASE_EB INTO TABLE IT1.

WRITE : 'PURCHASE DETAILS'.

ULINE.

LOOP AT IT1 INTO WA1.

YEAR = WA1-ZPURDATE_EB(4).

MONTH = WA1-ZPURDATE_EB+4(2).

IF YEAR = years.

IF MONTH = MONTHS.

TS1 = TS1 + 1.

TQ1 = TQ1 + WA1-ZQUANTITY_EB.

TP1 = TP1 + WA1-ZAMOUNT_EB.

ENDIF.

ENDIF.

ENDLOOP.

ULINE.

WRITE : / 'TOTAL QUANTITY PURCHASED IS THIS MONTH', 40 TQ1.

WRITE : / 'TOTAL PRICE OF PURCHASED PRODUCTS', 40 TP1.

WRITE : / 'TOTAL NO OF PURCHASES DONE IS THIS MONTH',40 TS1.

ULINE.

P = TP - TP1.

WRITE : / 'TOTAL PROFIT OF THIS MONTH IS :',42 P.


ULINE.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy