Functional Spec?
Functional Spec is mainly prepared for the purpose of developing the new reports (this happens only
when SAP standard report not achieve the client purpose) using the ABAP Program. for ABAPers you
need to give the details of the Tables , Fields and the logic how to pick the value and get the report.


The information contains in the functional specs are:

a)Document segment (BSEG): which contains the company code,posting keys, vendors,etc.

b)the line items(BKPF) consists of document type, etc.

for example: from BSEG table you have to go to the field of BUKRS for company code, BSCHL for
Posting Keys.
From BKPF table you have to go to the field of BELNR for document Number, etc.

Based on your functional specification the Abaper will design the report using his technical specifications.

The above are examples only to understand. There are plenty of tables & fields for FI, CO and Assets
separately.

Please assign points, if the above are useful.


Functional spec are based on the business requirment and contains details of end user
expectations of the product Functionality

       document describes requested properties of inputs and outputs
       the blueprint for how you want a particular application to look and work
       it details what the finished product will do
       who a user will interact with it and
       what it will look like
the key benefit of writing up a funtional spec is streamlining the development process. time
and productivity are saved during development stage because the programmers can
program instead of also working out the logic of the user experience


S/W or program will be developed based on the functional specs
it consist of

        1.     business requirments- brief detail about the business process and the need of
        your cutomized program/report
        2.     security consideration- who all can have access to this program and level of
        security whether it is at co.code level or country level
        3.     business dependences- whether is there any other process / program should
        have been completed before the execution of this program
        4.     Data requirement
        5.     priority- whether the failure lead to production stoppage or any work around
        6.     error management
7.       how the program retrieve the data if it is a report program
Eg:-1
The requirement was to add the vendor name to the fbl3n screen, we couldn’t add this so we went for a
new report with all the fbl3n fields + vendor name. This is a spec for the program.


DEV ID; Sales tax report
Functional Team ;Zaid Azam
(phone)
SAP Dev. Team (lead) Zaid Azam (phone #)
(member) (phone #)
Phase / Priority Phase 1
Medium

The above part is just a header, which system the report is, in what report is it i.e sales report, material
reprot etc, then the consultants name, lead name etc.

how important it is medium , low, high



Revisions
Rev. Id Rev. date Author Description
00 Initial release


1 Report definition
Basic Information


Report type 1        A/P
Report type 2        Printed
Language require.
Printer requirement Local printer / system printer
Paper requirement   Landscape
Source environment: R/3
Module:               FI
Suggested technique ALV / other
Triggered:           Manually
Frequency:           On-demand
Volume:              Daily


Then in the report definition


you specify what module it is in i.e. FI, MM etc


what sub ledger AP/AR etc


how often it will be printed etc etc ( nothing really useful here, just giving a business touch)
2.Functional Requirements


Functional Requirements
Selection                    Posting Date, G/l account

Narrative flow; The report should list the all the transactions of the G/l account( all items i.e open and
cleared) selected on the initial screen. It should list the vendor name and number when a G/l transaction
is of a vendor
Assumptions / issues;
Should have the capability of being exported to excel
This is the important part

here you tell what are the fields on the selection screen.
Then in the narrative flow you should tell the abapper what thre report should do like its mentioned above,
eg ;apart from above get the sales for customers who reside in California between the date range
specified on the selection screen

3.Processing logic

Processing logic
Step 1 Enter g/l account (HKONT) on the selection screen and run with or without a date range Or run by
a date range only without specifying a G/L

Step 2 Get the G/L number from BSIS that was selected on the initial screen Or get all the G/ls that had
postings in the posting date ( BUDAT) specified on the initial screen.

Step 3 Get the amount ( WRBTR) from BSIS ( Open and cleared both are in BSIS)

Step 4 Take the Document Number (BELNR) from BSIS and get the vendor number for that doc number
from BSIK ( open item), from BSAK ( cleared) if item is paid.

Step 8 Should get the vendor name from LFA1 for the vendor number from BSIK or BSAK
Step 9
Step 10

Processing Logic tells him in detail about which fields should come and from which table( not necessary
to give technical names and tables, he could find that out, depends on the abbapper)

4.Output
Output

4.1 Layout

FORMAT

G/L       Posting date            Amount         Doc type      Text            Doc number        Pk
 Vendor #     Name
650100    12/03/2006             500            SA        Test for report    19000042342    40
10229          GMC

In the format i put an excel view of how the final report should look like
4.2 Header elements

SAP Field Report Field Comment

BSAK _LIFNR, BSIK_LIFNR Vendor number
LFA1_NAME1 Vendor Name
BSIS_BUDAT Posting Date
BSIS_HKONT G/l account

4.3 Line item

SAP Field Report Field Comment

BSIS_WRBTR       amount
BSIS_BLART       Document type
BSIS_SGTXT       Item text
BSIS_BSCHL       Posting Key

Then i enter the fields that should be there in the report first the table name is list then the technical name
and then the English name. Both header and line items are specified.

Additional topics

Unit Test Suggestions: Same as the standard SAP report FBL3N. Only addition is the vendor name and
number
Security/ Authorizations:

Error handling
Dependencies
References
Out of scope requirements NA

2. Eg
I need one new report like in the output i need only company code, Vendor number and         recon. Account
assigned. like as below:
Company Code                                Vendor Recon                                     account
1000                                          90000001                                       156001
1000                                          90000002                                       156001
2000                                          90000001                                       156002

for the above requirement with the input selection criteria like as below

Company Code ( ) ( )
Vendor ( ) ( )

if you give input selection as above as required you will get the output as given above

Logic should be as below:

for input selection
Company Code - BUKRS is the ABAP field for the company code
Vendor - LIFNR

for the output

Company Code - LFB1-BUKRS
Vendor - LFB1-LIFNR
Recon account - LFB1-HKONT

You will get the recon account details in the LFB1 table , if you give the logic as above , ABAP er will write
the program for the same.

FS for FICO

  • 1.
    Functional Spec? Functional Specis mainly prepared for the purpose of developing the new reports (this happens only when SAP standard report not achieve the client purpose) using the ABAP Program. for ABAPers you need to give the details of the Tables , Fields and the logic how to pick the value and get the report. The information contains in the functional specs are: a)Document segment (BSEG): which contains the company code,posting keys, vendors,etc. b)the line items(BKPF) consists of document type, etc. for example: from BSEG table you have to go to the field of BUKRS for company code, BSCHL for Posting Keys. From BKPF table you have to go to the field of BELNR for document Number, etc. Based on your functional specification the Abaper will design the report using his technical specifications. The above are examples only to understand. There are plenty of tables & fields for FI, CO and Assets separately. Please assign points, if the above are useful. Functional spec are based on the business requirment and contains details of end user expectations of the product Functionality document describes requested properties of inputs and outputs the blueprint for how you want a particular application to look and work it details what the finished product will do who a user will interact with it and what it will look like the key benefit of writing up a funtional spec is streamlining the development process. time and productivity are saved during development stage because the programmers can program instead of also working out the logic of the user experience S/W or program will be developed based on the functional specs it consist of 1. business requirments- brief detail about the business process and the need of your cutomized program/report 2. security consideration- who all can have access to this program and level of security whether it is at co.code level or country level 3. business dependences- whether is there any other process / program should have been completed before the execution of this program 4. Data requirement 5. priority- whether the failure lead to production stoppage or any work around 6. error management
  • 2.
    7. how the program retrieve the data if it is a report program Eg:-1 The requirement was to add the vendor name to the fbl3n screen, we couldn’t add this so we went for a new report with all the fbl3n fields + vendor name. This is a spec for the program. DEV ID; Sales tax report Functional Team ;Zaid Azam (phone) SAP Dev. Team (lead) Zaid Azam (phone #) (member) (phone #) Phase / Priority Phase 1 Medium The above part is just a header, which system the report is, in what report is it i.e sales report, material reprot etc, then the consultants name, lead name etc. how important it is medium , low, high Revisions Rev. Id Rev. date Author Description 00 Initial release 1 Report definition Basic Information Report type 1 A/P Report type 2 Printed Language require. Printer requirement Local printer / system printer Paper requirement Landscape Source environment: R/3 Module: FI Suggested technique ALV / other Triggered: Manually Frequency: On-demand Volume: Daily Then in the report definition you specify what module it is in i.e. FI, MM etc what sub ledger AP/AR etc how often it will be printed etc etc ( nothing really useful here, just giving a business touch)
  • 3.
    2.Functional Requirements Functional Requirements Selection Posting Date, G/l account Narrative flow; The report should list the all the transactions of the G/l account( all items i.e open and cleared) selected on the initial screen. It should list the vendor name and number when a G/l transaction is of a vendor Assumptions / issues; Should have the capability of being exported to excel This is the important part here you tell what are the fields on the selection screen. Then in the narrative flow you should tell the abapper what thre report should do like its mentioned above, eg ;apart from above get the sales for customers who reside in California between the date range specified on the selection screen 3.Processing logic Processing logic Step 1 Enter g/l account (HKONT) on the selection screen and run with or without a date range Or run by a date range only without specifying a G/L Step 2 Get the G/L number from BSIS that was selected on the initial screen Or get all the G/ls that had postings in the posting date ( BUDAT) specified on the initial screen. Step 3 Get the amount ( WRBTR) from BSIS ( Open and cleared both are in BSIS) Step 4 Take the Document Number (BELNR) from BSIS and get the vendor number for that doc number from BSIK ( open item), from BSAK ( cleared) if item is paid. Step 8 Should get the vendor name from LFA1 for the vendor number from BSIK or BSAK Step 9 Step 10 Processing Logic tells him in detail about which fields should come and from which table( not necessary to give technical names and tables, he could find that out, depends on the abbapper) 4.Output Output 4.1 Layout FORMAT G/L Posting date Amount Doc type Text Doc number Pk Vendor # Name 650100 12/03/2006 500 SA Test for report 19000042342 40 10229 GMC In the format i put an excel view of how the final report should look like
  • 4.
    4.2 Header elements SAPField Report Field Comment BSAK _LIFNR, BSIK_LIFNR Vendor number LFA1_NAME1 Vendor Name BSIS_BUDAT Posting Date BSIS_HKONT G/l account 4.3 Line item SAP Field Report Field Comment BSIS_WRBTR amount BSIS_BLART Document type BSIS_SGTXT Item text BSIS_BSCHL Posting Key Then i enter the fields that should be there in the report first the table name is list then the technical name and then the English name. Both header and line items are specified. Additional topics Unit Test Suggestions: Same as the standard SAP report FBL3N. Only addition is the vendor name and number Security/ Authorizations: Error handling Dependencies References Out of scope requirements NA 2. Eg I need one new report like in the output i need only company code, Vendor number and recon. Account assigned. like as below: Company Code Vendor Recon account 1000 90000001 156001 1000 90000002 156001 2000 90000001 156002 for the above requirement with the input selection criteria like as below Company Code ( ) ( ) Vendor ( ) ( ) if you give input selection as above as required you will get the output as given above Logic should be as below: for input selection Company Code - BUKRS is the ABAP field for the company code Vendor - LIFNR for the output Company Code - LFB1-BUKRS
  • 5.
    Vendor - LFB1-LIFNR Reconaccount - LFB1-HKONT You will get the recon account details in the LFB1 table , if you give the logic as above , ABAP er will write the program for the same.