Friday, June 17, 2011

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 retrive the data if it is a report program
Eg:-
The requirement was to add the vendor name to the fbl3n screen, we couldnt add this so we 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 requirem.
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 subledger AP/AR etc


how often it will be printed etc etc ( nothing really usefull 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 excell
This is the important part

here you tell what are the fields on the selection screen.
Then in the narative 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 excell 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 liste then the technical name and then the english name. Both header and line items are sprecified.

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.


9 comments:

  1. Very Useful .........thanx a lot

    ReplyDelete
  2. excellent document and presentation.
    thanks a lot for the help...

    ReplyDelete
  3. Excellent presentation,easy to understand even for fresher.GOOD JOB.
    Thanks a ton...........

    ReplyDelete
  4. awesome presentation n easily understandable

    ReplyDelete
  5. nice document and easy to understand for everyone GOOD WORK THKS.....

    ReplyDelete
  6. Wow! It is excellent way of presentation. Thanks a lot

    ReplyDelete