Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
Showing results for 
Search instead for 
Did you mean: 


Former Member
0 Kudos

hi experts,

Below there is a function spec so please can anybody send me the code for this requirement?can anybody send me the steps for thsi atleast?

please its urgent

1.1 Functions in Detail

The function of this report is to produce a summary buy organisational unit and Absence/Attendance type of staff utilisation during a preceding week.

The user is to select the date range for the week and delimit the report by key employee master data such as organisational unit, jobs and Absence/Attendance type. The report is to then calculate each employees utilisation by Absence/Attendance types and output the utilisation by Organisational unit and Absence/Attendance type.

See section 3.2.7 – Processing logic for a full explanation of the calculation required

1.2 Processing

1.2.1 Trigger

· Execution of Report by user

1.2.2 Frequency of Use

Transaction is to be run on a weekly basis

1.2.3 Data Volumes

The primary group of staff involved will be Train Operators and this equates to approximately 3,600 Employees and their weekly Attendance and Absence data. We require columns for organisational units and this is currently 25, but a maximum of 30 should allowed.

1.2.4 Language considerations


1.2.5 Input Data

Date Range selection is to use standard logical database

The user selection options required except for Date Range are listed below along with the text we would like displayed:

Infotype Number Field Text Description Field Name Display Text required Selection Type

0000 Personnel Number PERNR Personnel Number Multiple Selection

0001 Org. Unit ORGEH Organisational Unit Multiple SelectionAnd Use of the Organisational Hierachy

0001 Cost Ctr KOSTL Cost Centre Multiple Selection

0001 Job Key STELL Job Multiple Selection

0001 EE Subgroup PERSK Employee Subgroup Multiple Selection

0001 CoCode BUKRS Company Code Multiple Selection

2001 Absence Type AWART Absence Type Multiple Selection

2002 Attendance Type AWART Attendance Type Multiple Selection

0008 PS Group TRFGR Grade Multiple Selection

Selection Variants, we require the ability to create and save the selection parameters entered so that these can be easily selected again

1.2.6 Sourcing the Input data

The Date Range selection option is to be used to select data as follows:

Active Employees within the selected employee master data where Employment Status (infotype 000 Actions) = Active

Absence Types and Absence Days within date range

Attendance Types and Attendance Days within date range

The data required to generate the report is listed by infotype in the table below:

Infotype Number Fields Text SAP Field name

0000 Employment Status STAT2

0000 Personnel Number PERNR

0001 Org. Unit ORGEH

0001 Cost Ctr KOSTL

0001 EE Group PERSG

0001 Job Key STELL

0001 EE Subgroup PERSK

0001 CoCode BUKRS

0007 Weekly Work Days WKWDY

2001 Absence Type AWART

2001 Absence Days ABWTG

2002 Attendance Type AWART

2002 Attendance Days ABWTG

0008 PS Group TRFGR

1.2.7 Processing Logic

In general terms this is about reporting upon active employees headcount in terms of Employment Status (from Infotype 0001) during the preceding week and comparing it to their Absence (infotype 2001) and attendances (infotype 2002) during the same week. This data is then summarised by Organisational Unit and absence and attendance type.

The output is to show the total employees utilisation by each absence type for each organisational unit (Infotype 0001) selected. This is a calculation for each employee where the days lost for that time type compared to the weekly working days (infotype 0007). The example output is can be found in 3.2.8 Output and the calculations required are below

Only Employee Group 1 data is to be used.

Processing and calculations involved in output

Employee X

3 days lost to Absence Type 320 (Sick)

Weekly Working Days = 5

Where days lost = D

Weekly Working Days = W

Formula for utilisation for Absence type is:

Utilisation = D/W

In the above example this would be 0.6 for Employee X

Employee Y

2 days lost to Absence Type 320 (Sick)

Weekly Working days = 2

In the above example this would be 1

Output on the report.

If the report were just run for these two Employees both at organisational unit ACTD then it would be the sum of the utilisation (1+0.6= 1.60) and the report output would be as follows:


Absence/ attendance type ACTD

320 Sick 1.60

Multiple Absence and attendance days.

There will be a few instances where the Absence and Attendance days data for the week exceeds the Employees Weekly Working Days figure in this instance the rule that is applied is as follows:

Sort Attendance or Absence Types in reverse alphabetical order

Deduct balance of days from Absence or Attendance that is alphabetically higher

Then divide Absence/Attendance days by Weekly Working Days

Worked example:

Employee X who’s Weekly Working Days = 5

Absence Attendance Type Days Lost

Sick 4

Annual Leave 2

Total Days lost 6

Conversion required is to deduct 1 days sick as alphabetically S is after A

Therefore the following utilisation values should be reported against the Attendance/Absence type as follows

Absence/Attendance Type Days Lost Utilisation

Sick 3 0.6

Annual Leave 2 0.4

Total Days lost 5 1.0

This will ensure that an Employees utilisation in total will never exceed 1.

Please see the section on error handling. We would like the option of being able to view the instances where the above conversion has been applied.

If employees have moved during the week then their Absence/Attendance utilisation should be shown against the appropriate organisational unit valid at the time. If that organisational unit was not within the user selections

1.2.8 Output

The output is to show the total employee utilisation by each absence type for each organisational unit (Infotype 0001) selected.

Layout required for the report


Absence/ attendance type Org Unit Short Text 1 Org Unit Short Text 2 Org Unit Short Text 3 Org Unit Short Text 4

Type 1 10 2

Type 2 5 3 4

Type 3 20 30

The output of the report is to be limited to a maximum of 31 columns (including the “Absence/ attendance type” column).

The columns listed under Depot are the Short Text of the Organisational Units selected. Organisational units are to be sorted alphabetically from left to right by the Orgnisational Unit Short Text.

The Absence/Attendance type is to be sorted alphabetically in ascending order.

Further display options are required as follows:

All Reports are to have the capability of exporting into Excel via the “Export” icon which then copies the report directly into a workbook in Excel. This is more user friendly then the “Local File” option.

We require the ability to drill down and expand the report to see the individual employee details and absence Attendance days used to make up the utilisation figure used on the report. This is the figure actually used on the report and therefore if there have done any conversions due to multiple Absence/Attendance days exceeding the Weekly Working Days, then the figure after the conversion should be used. We require the ability for a user to select a column first and then drill down via a button. The drill down will be displayed via a pop-up screen. We also require the ability to export the data into Excel via the “Export” icon from the drill down. See example below.

Defualt view

Absence/ attendance type Org Unit Short Text 1 Org Unit Short Text 2 Org Unit Short Text 3 Org Unit Short Text 4

Annual Leave 4 2

Sick 5 3 4

Drill down view by selecting the column of “Org Unit Short Text 1”

Absence/ attendance type Org Unit Short Text 1

Annual Leave Personnel Number Name Utilisation Days Lost Weekly Working Days

Annual Leave 123456 P Smith 1.0 5 5

Annual Leave 234567 J Smith 1.0 5 5

Annual Leave 345678 D Jones 1.0 5 5

Annual Leave 456789 P Jones 0.6 3 5

Annual Leave 567891 A Harris 0.4 2 5

Totals 4 20 25

Sick Personnel Number Name Utilisation Days Lost Weekly Working Days

1.3 Error Handling

As referred to in 3.2.7 Processing logic, specifically where the data has had to be converted due to Absence or Attendance Days exceeding Weekly Working Days we would like the ability to see the exact details of the employees’ data prior to the conversion. The output required here is:

Employee Org Unit Absence Attendance Type Days Lost Weekly working Days

1234567 ACTD Sick 4 5

1234567 ACTD Annual Leave 2 5

Total 6 N/A


Active Participant
0 Kudos

Hi Ramesh,

SDN is not a place to give ready made code as per your is appreciable if you ask some doubts after some effort from your side.



Former Member
0 Kudos

Hi Ramesh,

It looks like HR report. Is it not? Ok. For development of any report we nee to keep in mind selection screen parameter and output parameter. based on that we need to take tables. Based on selection screen parameters fetch the data from corresponding tables and preapre final internal table. Built logic as per your requirement. Try with your hard work and all the best.

Hope this helps you. Reply for queries, shall post the updates.



Active Contributor
0 Kudos

<i>See section 3.2.7 – Processing logic for a full explanation of the calculation required</i>

You've not posted 3.2.7 so how can we know the full calculation?

Former Member
0 Kudos


i am understanding ur probleam.

first step is u analize ur report first.what r the input parameters .

and what r the list u want to display.i will send technical spec.can u give me ur mail id.