2. ABAP Technical Specification
AIIG SAPphire Page 2 of 32
Version Status Date
1.0 Released 14/5/08
Area (R/3Module): FI Date:
( DD/MM/YY)
14/5/08
Requested by: FI Team Phone:
Title: Cash Payment/ ReceiptVoucher
Short description: Printing a Cash Receipt /Cash Payment Voucher
Phone:
Technical Developer: Nithya P Nair Phone:
Program name: 1. ZFIKR_RFKORD80
2. ZFORMFIKR_CASH
Type: Creation Change
Program type: (select
the check box)
Conversion Batch Interface Online Interface Report
Form Enhancement Extension Dialog
Modification Unknown Others BAPI
ALE/ IDOC Application Development
Priority: Very High High Medium Low
Complexity: Very High High Medium Low
Specify known SAP functionality:
Cross Reference Documentation:
Only for Interfaces:
Type of interface:
Direction of interface:
Frequency:
Real-Time Batch
Inbound Outbound Both
Daily Weekly Monthly
Biweekly Other:
3. ABAP Technical Specification
AIIG SAPphire Page 3 of 32
Only for Reports:
1. The report will be created via:
2. Requested characteristics:
Standard Report
Report Painter Report Writer ABAP Query
ABAP Program Info System
Drill-down Pushbuttons Sort
Entry files Others:
________________________________
Generic question:
1. Impact of not creating the
program:
legal requirements will not be fulfilled
lack of information required for the business
lose functionality compared to the old system
others: could have duplicate data entered into the system_
Development labor estimate:
Are there any alternatives in the standard system: Yes No
Describe the alternative found: Transactions could be executed manually
Reason why this alternative was not acceptable: Performance problems
Complexity
Others: The transaction to initiate
1) Technical Design
1.1) Process Description:
During the business transactions of cash journal Cash receipt / payment receipt to a receipent this
print out will trigger.
program name ZFIKR_RFKORD80 and
Smartform ZFORMFIKR_CASH has been called from the driver program.
1.2) Comments/Remarks/Assumptions:
4. ABAP Technical Specification
AIIG SAPphire Page 4 of 32
1.3) Selection Screen details:
Name Table
field/Check-
box/Radio button
Select-options(s)
OR Parameters
(p)
Comments(Ranges.
single/multiple,
mandatory, etc)
Default value/
match codes
2) Table access
2.1) Table Access diagram:
Microsoft Office
Excel Worksheet
2.2) DDIC Changes
3) Output
3.1) Output Layout
3.2) Output Fields
The following fields should be displayed in the output:
Field Description Table Name Field Name
Document No BKPF BELNR
Document Date BKPF BLDAT
Name TCJ_DOCUME
NTS
BP_NAME
Posting Date BKPF BUDAT
Acount BSEG LIFNR for BKPF
–BLART – CP
KUNNR for
BKPF –BLART
– CR
Description LFA1,KNA1 NAME1
Profit Center BSEG PRCTR
CO Object BSEG KOSTL OR
AUFNR
5. ABAP Technical Specification
AIIG SAPphire Page 5 of 32
Narration BSEG SGTXT
Amount Paid BSEG DMBTR
4. Process Flow / Flow Charts ( Word or Visio) – with branching conditions.
6) Security/Authority Checks:
7) Text Elements:
Text Element No. Text
001 No Form found
8) Relevant Function Modules:
Function Module Function Group
SSF_FUNCTION_MODULE_NAME STXBE
Run the transaction FBCJ
The driver program ZFIKR_RFKORD80 gets
executed
The Form ZFORMFIKR_CASH output gets
generated
6. ABAP Technical Specification
AIIG SAPphire Page 6 of 32
9) Performance Considerations:
10) Section 1: Reports
10.1) Report Tool:
Report Tool
Report Painter Report Writer SAP Query
ABAP program Info system ALV
R/3 BW Crystal Reports
10.2) Report type
Interactive/Non-Interactive
10.3) Run Frequency
Run Frequency
10.4) Complexity
Complexity
10.5) Tables/Structures referred:
Table/Structure Name
11) Section 2: Module Pool
11.1) Screen Header Information
Screen No. Screen Title Purpose Title Bar GUI Status
7. ABAP Technical Specification
AIIG SAPphire Page 7 of 32
11.2) Screen Flow:
(Draw or attach details of screen flow)
11.3) Screen Details: Screen to get the truck details .
11.3.1) Screen Number
11.3.2) Screen Layout
11.3.3) Screen Field Mapping:
Field # Field
Desc.
Field Type SAP
Ref
field
Screen
Field
Length
I/O
field
Mandatory/
Optional
Default
Values
Match-
codes
Other
formattin
requirem
11.3.4) Pre-screen processing
11.3.5) Screen processing
11.3.6) Post-screen processing
8. ABAP Technical Specification
AIIG SAPphire Page 8 of 32
2) Section 3: Forms
12.1 Additional Information
Layout type: ( ) Pre-printed ( X ) Non Pre-printed
Paper Size: A4
Printer Type:
Difference between first page
and second page:
Difference between first page
and last page:
Sample stationery provided? (Yes / No) Yes
If not, Date on which Sample
stationery will be provided.
Overflow mode in printing: The printing overflows to second page if there are more line
items than that can be accomodated in the first page
Format for date field
DD.MM.YYYY
SAP Field mapping for layout
against the layout designed
(submitted through VISIO)
Address block specifications
for country or lines and post
box particulars.
12.2 Grouping Information
Item Grouping Logic Instruction
9. ABAP Technical Specification
AIIG SAPphire Page 9 of 32
12.3. Field Information
Field
Positions
of edit
fields
(comma
and
decimal
points for
numbers)
Indicators
(Dr/Cr) Sign
specification
(leading/
trailing)
Justification
(Left / Right /
SAP std.)
Instructions
(like skip
zeros or
blanks.)
Effect of zero
suppression to
corresponding
text
WA_ADRC-
NAME1
- - LEFT - None
WA_ADRC-
NAME2
LEFT None
WA_ADRC-
STREET
LEFT None
WA_ADRC-
HOUSE_NUM
1
LEFT None
WA_ADRC-
CITY2
LEFT None
WA_ADRC-
CITY1
LEFT None
G_TEXT
CENTER None
G_BUDAT
WA_TCJ_DO
CUMENTS-
BP_NAME
LEFT Condense
G_BELNR
LEFT None
G_BLDAT
RIGHT None
WA_ITEM-
SLNO(CIZ)
LEFT Condense
WA_ITEM-
ACCOUNT(CI
Z)
LEFT Condense
10. ABAP Technical Specification
AIIG SAPphire Page 10 of 32
WA_ITEM-
DESCP(CIZ)
CENTER Condense
WA_ITEM-
PRCTR(C)
CENTER Condense
WA_ITEM-
CO_OBJECT(
C)
CENTER Condense
WA_ITEM-
NARRATION(
C)
RIGHT Condense
WA_ITEM-
AMT(CIZ)
RIGHT Condense
12.4. Design of desired screen
11. ABAP Technical Specification
AIIG SAPphire Page 11 of 32
Selection Screen
Variable Reference-Field /
Type
Selection
Option/Paramet
er
Screen level Validation /
Comments
Additional details
12.5 Logic:
Smartform called from the driver program-> ZFIKR_RFKORD80.
if BKPF –BLART – CR = Title is Cash Receipt
If BKPF –BLART – CP = Title Cash Payment
Selecting Documentno(BELNR) ,Documentdate(BLDAT) & posting date(BUDAT) from the Accounting documentheader table
BKPF
By keying Company code, AWKEY & Tcode.
Company code will get from tcj_documents-comp_code.
AWKEY is the concatenated value of tcj_documents-posting_number,tcj_documents-cajo_number &
tcj_documents-comp_code.
Tcode is ‘FBCJ’.
Populating Acount
by checking
If BKPF –BLART – CP
Populate BSEG- LIFNR based on BSEG-KOART= K and BSEG-SHKZG=S
If BKPF –BLART – CR
Populate BSEG- KUNNR based on BSEG-KOART= D and BSEG-SHKZG=H
Description
If BSEG- LIFNR
Populate LFA1-NAME1
12. ABAP Technical Specification
AIIG SAPphire Page 12 of 32
If BSEG- KUNNR
Populate KNA1-NAME1
Profit Center
BSEG-PRCTR
CO Object
Populate BSEG-KOSTL
if BSEG-KOSTL is blank, populate BSEG-AUFNR
Narration
BSEG-SGTXT
Amount Paid
BSEG- DMBTR
Function module HR_IN_CHG_INR_WRDS used to convert the amount to words
12. Attachments (Sample Layout):
13) Section 5: Conversions/Interfaces
13.1) Program Type
Program type
( ) Batch ( ) Online ( ) Direct Input ( ) Others
13.2) Direction of Interface
Direction of Interface
( ) Inbound ( ) Outbound ( ) Both
13. ABAP Technical Specification
AIIG SAPphire Page 13 of 32
13.3) Extraction Description
Extraction Description
13.4) Extraction Format
Extraction Format
13.5) Middleware Description
Middleware Description
13.6) Loading Description
Loading Description
13.7) Load Format
Load Format
13.8) Failure/Restart Programs
Failure / Restart Programs
14. ABAP Technical Specification
AIIG SAPphire Page 14 of 32
13.9) Data Mapping Matrix
13.10) Dependencies
Data Mapping Matrix
NON-SAP Conversion
Rules
SAP Comments
NO Field
Name
Format Length Description Screen Field
Desc
Field
Name
Format Length
15. ABAP Technical Specification
AIIG SAPphire Page 15 of 32
14) Section 5: Enhancements/Exits
14.1 General Information – User Exit / BADI / Routine / BTE
Function Module Name: Version: 1.0
BADI Definition Name:
BADI Implementation Name:
Description:
Development class /
Package:
Function Group:
Project :
Enhancement :
Include :
Application:
Type of Development ( X ) Creation ( ) Modification
Reason for
Creation / Modification
The shelf life expiry date should be the last day of the previous
month
14.2 Processing Type
( ) Normal ( ) Remote- enabled ( ) Update
( ) Start Immediately ( ) Start delayed
( ) Immediate Start, no restart ( ) Coll. run
14.3 Import Parameters
Parameter Name Type Reference
Type
Default
Value
Optional
(Yes/No)
Pass
Value
Short Description
16. ABAP Technical Specification
AIIG SAPphire Page 16 of 32
14.4 Export Parameters
Parameter Name Type Reference
Type
Default
Value
Optional
(Yes/No)
Pass
Value
Short Description
14.5 Changing Parameters
Parameter Name Type Reference
Type
Optional
(Yes/No)
Short Description
14.6 Table Parameters
Parameter Name Type Reference Type Optional(Yes/No) Short Description
14.7 Exceptions
Exception Short Text
14.8 Only Applicable for BADIs
Multiple Use ( ) Yes ( ) No
Filter Dependant ( ) Yes ( ) No
If Yes
Filter Type ___________________
Filter Values ___________________
Name of
Implementing Class
Implemented
Methods
Call Program Screen No
Sub screen Area Description
Program Called Screen No
14.9 Additional Details:
15) Section 6: Workflows
15.1) Registration #
Registration # (if necessary)
17. ABAP Technical Specification
AIIG SAPphire Page 17 of 32
N/A
15.2) Requirements
Workflow Requirements
Visio of Workflow Requirements
15.3) Program Details
Workflow Details
Title:
Reference Functional Specification: Version:
Technical
description:
2. Workflow Design:
Start conditions /Triggering
Events of Workflow :
Business Processing logic for
different Business units :
-
Documents to be dealt with :
3.Technical Details
Business object types and
description :
Super Object :
Object Program :
Events with description :
Attributes with description :
Methods with description :
18. ABAP Technical Specification
AIIG SAPphire Page 18 of 32
4. Flow Logic / Process Flow description
(Please explain every step of the flow chart above in details).
6. Task Information
(In case of decision steps please specify the description of the options).
Task
Title:
Description :
Object Type :
Method :
Agent(Z table/HR Org Chart) :
Role
Deadline Monitoring
Work item text
Termination(Completion
popup required )
7. Other Dictionary Objects
Name Description
8. Called Programs/ Transactions
Name Description
9. Function Modules
Name Description
10. Tables
19. ABAP Technical Specification
AIIG SAPphire Page 19 of 32
16) Section 7: BDC
16.1 File information
Category
(Input/Output)
File
Type
(xls/txt)
Delimiter
Info.
(Space/tab)
Name
(Test file)
Path Server (Application
/Presentation)
16.2 Conversion and Inbound / Outbound Interfaces (legacy system R/3)
(if both repeat block)
Position Field name Type Length Decimals Description
Tables
involved:
16.3. Screen Information
Screen 1
Reference Screen Dump:
Note:In case of multiple screen recordings, all options shouldbe captured using transactionSHDB or
screendumps. E.g. GL postingwith/withoutspecialG/L indicator, texts in master data.
SAP Input screen (legacy system data mapping + data mapping via transaction SHDB)
Transaction: FB02
Program-Screen R/3 Screen field Legacy field Command
Note: For LSMW, use Structure-field instead of R/3 screen field.
Conversion mapping for fields
Program-Screen R/3 Screen field Legacy field Rule (Legacy-SAP)
20. ABAP Technical Specification
AIIG SAPphire Page 20 of 32
16.4 Field validations
Program-Screen Field Validation Comment
16.5 Z Tables/ Customised table uploads
Tables to be updated Fields
16.6 Lock entries (Applicable for more then one user)
Lock objects Description
16.7. Authorisation
Name Description
16.8. Desired Output
Files Description
16.9 Called Programs/ Transactions
Name Description
16.10 Include programs
Name Description
16.11 Proposed Data Gathering / Processing Logic
Data Gathering
21. ABAP Technical Specification
AIIG SAPphire Page 21 of 32
Processing Logic
16.12 Issues:
16.13 For LSMW only
Project:
Subproject:
Object:
Object Type & Import Technique
Standard Batch/Direct Input
Object:
Method:
Program Name:
Program Type:
Batch Input Recording
Recording
Business Object Method (BAPI)
Business Object
Method
Message Type
Basic Type
IDOC (Intermediate Document)
Message Type
Basic Type
Enhancement
22. ABAP Technical Specification
AIIG SAPphire Page 22 of 32
17) Function Module
17.1 Processing Type
( X ) Normal ( ) Remote- enabled ( ) Update
( ) Start Immediately ( )Start delayed
( )ImmediateStart,no restart ( )Coll.run
17.2 Import Parameters
Parameter
Name
Type Reference
Type
Default
Value
Option
(Yes/No)
Pass
Value
Short Description
17.3 Changing Parameters
Parameter Name Type Reference
Type
Default
Value
Optional
(Yes/No)
Pass
Value
Short Description
17.4 Table Parameters
Parameter Name Type Reference Type Optional(Yes/No) Short Description
17.5 Exceptions
Exception Short Text
23. ABAP Technical Specification
AIIG SAPphire Page 23 of 32
18) CLASS
18.1 Interfaces Implemented
Interface Name Method Name
18.2 Class Attributes
Attribute Level Visibility Modelled Read-
only
Typing Reference Default
Value
18.3 Methods
Method Level Visibility Modelled Category
18.4 Methods Parameters
Method
Parameter Type Pass
Value
Optional Typing Reference Default
Value
18.5 Methods Exceptions
Method
Exceptions Description
18.6 Events
Event Type Visibility Modelled
18.7 Event Parameters
24. ABAP Technical Specification
AIIG SAPphire Page 24 of 32
Event
Parameter Optional Typing Reference Default Value
18.8 Other Information
Type of Class ( ) Existing ( ) Modification ( ) Customised
Reason for
Modification/Creation
Brief Description
19) TS Review Report
Ver. SL. No. Description Severity Status Fixed Date Reviewed By
25. ABAP Technical Specification
AIIG SAPphire Page 25 of 32
20) Approvals/History
17.1) Approvals
KIRBY Tech Lead KIRBY Lead’s signature for acceptance Date
SAP Tech Lead SAP Tech Lead’s signature for acceptance
Vaibhav Maheshwari
Date
26. ABAP Technical Specification
AIIG SAPphire Page 26 of 32
21) Code Review Checklist
Sl.
No.
Description Self
Review
TL Review Comments Fixed
Date
General
1 Is the name of program as
mentioned in the specification/
naming standards of SAP/ITC
Y
2 Is coding sequence of events in
appropriate order?
Y
3 Events described in development
approach are used?
Y
4 Are text elements being maintained
in required languagesand hard
coded information removed
NA
5 Is formatting of amount and quantity
fields done by using CURRENCY
and UNIT options
Y
6 Is clearing of work areasdone,
wherever required?
Y
7 Is function key assignment as per
the standards?
NA
8 Have all the keys been mentioned in
SELECT SINGLE.?
Y
9 SELECT * has NOT been used Y
10 Aggregate clauses are NOT used in
SELECT. (viz. SUM, COUNT, ORDER
BY, GROUP BY)
NA
11 CHECK statement is not used in
SELECT - ENDSELECT loop
Y
12 Has the clause 'FOR ALL ENTRIES'
been used instead of a nested select
Y
27. ABAP Technical Specification
AIIG SAPphire Page 27 of 32
13 Has the internal table used in the
"FOR ALL ENTRIES IN " been
checked for emptiness ?
Y
14 Are all SELECTs coded outside
LOOP - ENDLOOP?
Y
15 Is the Binary search clause used
with the read table statement ?
Y
16 Has the clause "INTO TABLE
<Internal table>" been used instead
of INTO CORRESPONDING FIELDS
OF INTERNAL TABLE ?
Y
17 Has the entire table key been
specified in the select clause of the
statement which contains the
addition "for all entries in " ?
Y
18 Has the clause "APPENDING TABLE
Internal table" been used instead of
APPENDING CORRESPONDING
FIELDS OF internal table
NA
19 Have the internal tables been sorted
by appropriate keys before being
looped at or being used in a read
statement ?
Y
20 Appropriate message classes and
types used
Y
21 In a where clause have the fields
been put in the same order as the
existing index ?
Y
22 In a where clause have the tests
which restrict the data most been
put in the first position ?
Y
23 Are all the possible screen
validations done.
N/A
24 Has the delete where clause been
used instead of delete statement
N/A
28. ABAP Technical Specification
AIIG SAPphire Page 28 of 32
inside a loop endloop ?
25 Has "delete from internal table"
been used instead of deleting the
records inside a loop ?
N/A
26 Has the transporting clause been
used along with the 'MODIFY
internal table ' statement ?
N/A
27 In case of mass updation has the
modify table from itab been used
instead of using modify statement
inside a loop ?
N/A
28 Have implanted loops been used
instead of implanted selects ?
NA
29 There is no duplicate SELECT
statements
Y
30 If the development includes BDC,
have the user default settings been
taken into account while posting
numeric values ?
NA
31 In programs where file(s) are read
from or written to, does the program
check for the emptiness of the file
and hence terminate without
proceeding further ?
NA
32 In case of SMARTFORM have all
SELECT statements are coded in the
INITIALIZATION block
Y
33 Has all the exceptions are handled
during a CALL FUNCTION ?
Y
Forms and Modules
34 Are names self explanatory and
prefixed by sequence numbers
Y
35 Are Forms and Modules ordered Y
29. ABAP Technical Specification
AIIG SAPphire Page 29 of 32
36 Are Function modules and related
logic included in separate Forms,
wherever necessary
Y
37 Is SY-SUBRC checked after each
call to a function module.
Y
38 Usage of correct parameters (field
lengths and data types) while using
CALL FUNCTION
Y
Code Alignment, Spacing and Formatting
39 Are ‘=’, ‘TO’, ‘TYPE’ and ‘VALUE’ in
variable declarationsaligned
Y
40 Are Internal Comments aligned Y
41 Are logically different Coding
Blocks separated by blank lines
Y
42 Is the format for SQL statements
correct
Y
43 Are ‘ENDIF’, ‘ENDLOOP’, ‘ENDAT’
etc. commented (if necessary) to
indicate the IF, LOOP etc. they
belong to
Y
Error Handling
44 Are ‘divide by zero’ errors checked,
by checking value of the divisor to
be nonzero before each division
Y
45 Are size errors being checked, by
ensuring that the sizes of variables
used for storing totals and additions
are large enough to hold anticipated
maximum values
Y
46 Is SY-SUBRC checked after CALL,
OPEN, READ, and SQL statements
Y
30. ABAP Technical Specification
AIIG SAPphire Page 30 of 32
Extended Check and Clean Up
47 Is extended program check
completed and all errors/warnings
removed
N/A
48 Code inspector (SCI) Status N/A
49 Runtime Analysis (SE30) Status N/A
50 SQL Trace (ST05) Status N/A
22) CODE Review Report
Ver. SL. No. Description Severity Status Fixed
Date
Reviewed By
3) UNIT TEST PLAN
31. ABAP Technical Specification
AIIG SAPphire Page 31 of 32
Testing Dates:
Be sure to include a test case for each component of every requirement.
Required if creating or modifying application components.
Track repeat tests for those that failed by using a new version (i.e. 001.1)
(Overwrite sample data shown in 001.0, 001.1 below)
Case # Test Case Description Actual or Expected Results P (Pass) /
F (Fail)
001.0 FBCJ
FBCJ Cash payment/
Receipt voucher output
P
001.1
002.0
003.0
004.0
005.0
006.0
007.0
32. ABAP Technical Specification
AIIG SAPphire Page 32 of 32
008.0
009.0
010.0
Technical Spec Orignal Sign Off:
Names and Signatures:
____________________________________________________ Date: _____________
Functional Team Requestor
____________________________________________________ Date: _____________
Developer
____________________________________________________ Date: _____________
KIMCOTechnical Team Lead
____________________________________________________ Date: _____________
SAP Technical Team Lead