Sunteți pe pagina 1din 5

Samuel Matthews

200803747
ABAP Assignment 2
REPORT ZAssignmentTwo.
* Report : ZAssignmentTwo
* Author : SAMUEL MATTHEWS
* Date : Feb 22nd, 2013
* Description: This report will accept as parameters, data regarding
* the number of prescriptons filled in a large corporate pharmacy chain.
*---------------------------------------------------------------------*
*-------------- parameters
PARAMETERS
PARAMETERS
PARAMETERS
PARAMETERS
PARAMETERS
PARAMETERS
PARAMETERS
PARAMETERS
PARAMETERS
PARAMETERS
PARAMETERS
PARAMETERS
PARAMETERS
PARAMETERS
PARAMETERS

store(2)
filled1(2)
filled2(2)
filled3(2)
filled4(2)
filled5(2)
filled6(2)
filled7(2)
duty1(2)
duty2(2)
duty3(2)
duty4(2)
duty5(2)
duty6(2)
duty7(2)

TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE

p.
p.
p.
p.
p.
p.
p.
p.
p.
p.
p.
p.
p.
p.
p.

*-------------- variables

DATA
DATA
DATA
DATA
DATA
DATA
DATA

over_fill_1(4)
over_fill_2(4)
over_fill_3(4)
over_fill_4(4)
over_fill_5(4)
over_fill_6(4)
over_fill_7(4)

TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE

p
p
p
p
p
p
p

DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA

over_fill_amount_1(4)
over_fill_amount_2(4)
over_fill_amount_3(4)
over_fill_amount_4(4)
over_fill_amount_5(4)
over_fill_amount_6(4)
over_fill_amount_7(4)
over_fill_total(4)

DECIMALS
DECIMALS
DECIMALS
DECIMALS
DECIMALS
DECIMALS
DECIMALS
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE

p
p
p
p
p
p
p
p

2
2
2
2
2
2
2

.
.
.
.
.
.
.

DECIMALS
DECIMALS
DECIMALS
DECIMALS
DECIMALS
DECIMALS
DECIMALS
DECIMALS

2
2
2
2
2
2
2
2

.
.
.
.
.
.
.
.

*-------------- constants
CONSTANTS con_60(2)
CONSTANTS con_zero(1)
CONSTANTS con_Invalid(55)
MACY ID '.
CONSTANTS con_ReportName(27)

TYPE p VALUE 60.


TYPE p VALUE 0.
TYPE c VALUE 'INVALID PHARMACY ID - PLEASE ENTER A VALID PHAR
TYPE c VALUE 'Report Name: AssignmentTwo '.

CONSTANTS con_num1(40) TYPE c VALUE


CONSTANTS con_num2(40) TYPE c VALUE
CONSTANTS con_num3(90) TYPE c VALUE
he total number of parmacy Filled1:
CONSTANTS con_num4(40) TYPE c VALUE
CONSTANTS con_date(13) TYPE c VALUE
CONSTANTS con_Time(13) TYPE c VALUE
CONSTANTS con_mon(7)
TYPE c VALUE
CONSTANTS con_tue(8)
TYPE c VALUE
CONSTANTS con_wed(10) TYPE c VALUE
CONSTANTS con_thu(9)
TYPE c VALUE
CONSTANTS con_fri(7)
TYPE c VALUE
CONSTANTS con_sat(8)
TYPE c VALUE
CONSTANTS con_sun(7)
TYPE c VALUE
CONSTANTS con_wel1(31) TYPE c VALUE
CONSTANTS con_wel2(31) TYPE c VALUE
CONSTANTS con_wel3(26) TYPE c VALUE
CONSTANTS con_wel4(28) TYPE c VALUE
CONSTANTS con_wel5(27) TYPE c VALUE
CONSTANTS con_dis1(40) TYPE c VALUE
CONSTANTS con_dis2(41) TYPE c VALUE
CONSTANTS con_dis3(43) TYPE c VALUE
CONSTANTS con_dis4(41) TYPE c VALUE
CONSTANTS con_dis5(40) TYPE c VALUE
CONSTANTS con_dis6(43) TYPE c VALUE
CONSTANTS con_dis7(40) TYPE c VALUE
CONSTANTS con_per(14) TYPE c VALUE
CONSTANTS con_over(43) TYPE c VALUE

'Number of prescriptions filled for:'.


'Number of pharmacists on duty for: '.
'The percentage of each Filled1 position compared to t
'.
'Average number of Filled1 per pharmacy: '.
'Current Date '.
'Current Time '.
'Monday:'.
'Tuesday:'.
'Wednesday:'.
'Thursday:'.
'Friday:'.
'Saturday:'.
'Sunday:'.
'Welcome to: Antigonish Pharmacy '.
'Welcome to: Stellarton Pharmacy '.
'Welcome to: Truro Pharmacy '.
'Welcome to: Halifax Pharmacy '.
'Welcome to: Sydney Pharmacy '.
'DISPENSING OVER ALLOCATION FOR MONDAY BY: '.
'DISPENSING OVER ALLOCATION FOR TUESDAY BY: '.
'DISPENSING OVER ALLOCATION FOR WEDNESDAY BY: '.
'DISPENSING OVER ALLOCATION FOR THURSDAY BY: '.
'DISPENSING OVER ALLOCATION FOR FRIDAY BY: '.
'DISPENSING OVER ALLOCATION FOR SATURDAY BY: '.
'DISPENSING OVER ALLOCATION FOR SUNDAY BY: '.
'PRESCRIPTIONS '.
'TOTAL NUMBER OF PRESCRIPTONS OVER ALLOCATED '.

* ------------- main program


* perform the calculation

COMPUTE
COMPUTE
COMPUTE
COMPUTE
COMPUTE
COMPUTE
COMPUTE

over_fill_1
over_fill_2
over_fill_3
over_fill_4
over_fill_5
over_fill_6
over_fill_7

=
=
=
=
=
=
=

con_60
con_60
con_60
con_60
con_60
con_60
con_60

COMPUTE
COMPUTE
COMPUTE
COMPUTE
COMPUTE
COMPUTE

over_fill_amount_1
over_fill_amount_2
over_fill_amount_3
over_fill_amount_4
over_fill_amount_5
over_fill_amount_6

=
=
=
=
=
=

*
*
*
*
*
*
*

duty1
duty2
duty3
duty4
duty5
duty6
duty7

.
.
.
.
.
.
.

filled1
filled2
filled3
filled4
filled5
filled6

over_fill_1
over_fill_2
over_fill_3
over_fill_4
over_fill_5
over_fill_6

.
.
.
.
.
.

COMPUTE over_fill_amount_7 = filled7 - over_fill_7 .


COMPUTE over_fill_total = over_fill_amount_1 + over_fill_amount_2 + over_fill_amount_3 + o
ver_fill_amount_4 + over_fill_amount_5 + over_fill_amount_6 + over_fill_amount_7.
* write the result to the report
IF store > 5.
FORMAT color 6.
WRITE: con_Invalid.
FORMAT COLOR OFF.

ELSEIF Store <= 5.


Write: con_date, sy-datum.
Write: con_time,sy-uzeit,/.
FORMAT COLOR 3.
WRITE: con_ReportName,/.
FORMAT COLOR OFF.
Format color 1.
CASE store.
WHEN 1.
WRITE: con_wel1.
WHEN 2.
WRITE: con_wel2.
WHEN 3.
WRITE: con_wel3.
WHEN 4.
WRITE: con_wel4.
WHEN 5.
WRITE: con_wel5.
ENDCASE.
FORMAT COLOR OFF.

WRITE: /, con_num1, con_mon, filled1 , con_tue, filled2 , con_wed, filled3 , con_thu, fill
ed4 , con_fri, filled5 , con_sat, filled6 , con_sun , filled7.
WRITE: /, con_num2, con_mon, duty1 , con_tue, duty2 , con_wed, duty3 , con_thu, duty4 , co
n_fri, duty5 , con_sat, duty6 , con_sun , duty7,/,/.
FORMAT COLOR 6.
IF filled1 > over_fill_1.
WRITE: con_dis1 , over_fill_amount_1, con_per,/.
ENDIF.

IF filled2 > over_fill_2.


WRITE: con_dis2 ,over_fill_amount_2, con_per,/.
ENDIF.

IF filled3 > over_fill_3.


WRITE: con_dis3 ,over_fill_amount_3,con_per,/.
ENDIF.

IF filled4 > over_fill_4.


WRITE: con_dis4 ,over_fill_amount_4,con_per,/.
ENDIF.

IF filled5 > over_fill_5.


WRITE: con_dis5 ,over_fill_amount_5,con_per,/.
ENDIF.

IF filled6 > over_fill_6.


WRITE: con_dis6 ,over_fill_amount_6,con_per,/.
ENDIF.

IF filled7 > over_fill_7.


WRITE: con_dis7 ,over_fill_amount_7,con_per,/.
ENDIF.

IF over_fill_total > con_zero.


WRITE: con_over, over_fill_total.
endif.
FORMAT COLOR OFF.
ENDIF.

S-ar putea să vă placă și