You are on page 1of 82

SAP-PROJECT CLASS

TOPICS:
1- Types of SAP Projects
2- ASAP Methodology
3- Team Structure Use For Implementation
4- Business Process
5- BBP Overview (Business Blue Print)
6- GAPS
7- Supporting Tools
8- Transport Request
9- Issue Resolving Techniques & Process Use For Support
10-Real Time Tickets
11-Tables & Programs
12-RICEFW-Overview
13-Functional Space
-FS-Reports
-FS-Forms
-FS-Enhancements
-FS-Conventions
14-Cutover Activities
15-LSMW
-Recording Method
-Program Method
16-
17-ABAP Quarries
18-Report Painter
19-Validations
20-Substitutions
21-Electronic Bank Statements
22-DME
23-IDOC (Intermediate Document)
24-Financial Statement Versions
25-Foreign Currency Valuation
26-New General Ledger
-Parallel Ledger
-Document Spitting
-Online Reconciliations CO-FI
27- OSS Notes
Sap Follow Inventory Accounting Method
Presently Used ECC 6.0

Types of SAP Projects:


 Implementation
 Support
 Rollout
 Upgradation

Implementation: Client is a Non-Sap Organization & wants to implementation of


SAP
Advantages of SAP:
- Integration B/W the Modules
- Customization
- Continues Support
- Industry Specific
- Drilldown Facility/Audit Trail

Support: Company is already is using SAP and they want to use the support. And
support could be for the below activates…
- To resolve day to day issues
- To develop new reports
- To get new functionalities like activation of business functions etc…

Rollout: Company is already using SAP but they want to extend it to other company
codes/plants/countries. Reasons…
- To follow unique method of recording the transactions
- To get the consolidated financial statements with in SAP.

Upgradation: Company is already using SAP but they want to implement new
functionalities like…
- Adapt new G/L functionality
- Upgrade from older version to new versions
- Adapting material ledger
Team Structure:
- Depends on the scope of the projects
- In case of implementation its around 25-30 for medium range companies with
both Company and the Client
- For Rollout same like Implementation but some less size around 15
- For Support US based co around 35 & Domestic around 10-15.
Company: Delivery Head
Project Manager
SAP Consultant

- In SAP Consultant we have FI, SD, MM, CO, ABAP….

Client: Project Manager


Core Team
Power User
End User

System Land space: Different servers like…

Development SAP Consultent have access


But don't have access of Production server, but he can see

Quality Acess for both Consultent and End User

Production End User Post in production server


ASAP (Accelerated SAP) Methodology:
ASAP stands for Accelerated SAP. Its purpose is to help design SAP implementation in the
most efficient manner possible. Its goal is to effectively optimize time, people, quality and other
resources, using a proven methodology to implementation.

1- Project Preparation
2- Business Blue Print (BBP)
3- Realization
4- Final Preparation
5- Go live & Post Go Live Support

Project Preparation: Dealing by Project Manager.


Business Blue Print (BBP): We get existing Business Scenarios.
- Get AS-IS Document {It is given by Client-Core Team}
- Prepare TO-BE Document based on AS-IS Document
- Finalize Organize Structure
- Find out GAPs {Difference B/W AS-IS and TO-BE Documents}
- Finalize RICEFW {List of all Documents}
- Prepare KDS (Key Data Structure) Documents {where we can find Cods like Company
cods, Controlling area, COA, Fiscal Year Variant etc… KDS will have all coding and with
the help of this we can complete all baseline configurations.}

 Each plant as defined as a profit center…

Operating Concern

Controlling Area

Company Code

Profit Centers

Cost Centers

 Profit Center = Business Area


 We can give financial statements according to the above profit centers.

System Land Space & Transport Request


System Land Space: Total we have 3 types of Servers

Development Quality Production

100-Golden Client Only One Client Only One Client


200-ABAP
Development
300-Sand Box
400-Unit Testing

{100, 200, 300, 400 are Client Names in System}


 In Development Server we doing all Configuration
 Quality Server is for Testing
 Production Server is for day to day transactions posting
 All Configuration will be done in Golden Client
 All ABAP Developments will be done in ABAP Development Client
 Sand Box is for R&D (Means any New developments done testing here and send
to client for approval to do in Golden Client.)
 Unit Testing is for initial testing.

Transport Request (TR): Here we can move transport request from Client to Client &
Server to Server also.

How to move the TR from one Client to another Client-SCC1


 Login in to Unit Testing Client (400)
 Give T-Code SCC1
 Copy the TR.
How to move the TR from one Server to another Server-SE10/SE09
{Development Server to Quality Server}
 Login in to Golden Client
 Go to T-Code SE10/SE09
 Release TR
-Release Subtask
-Release Main task
 Ask Basis team to move TR from Development Server to Quality Server
 SE01- To change owner for TR-Give user name-who’s TR u want to change →
Display it shows all TRs he created → Place cursor on TR which we want → click on
request icon.

IMP Points about TR:


- In this procedure TR is not move, only Objects will move
- We can use same TR for same objects in many number of times
- Once the TR was released we can’t use same TR

Examples (Client to Client): Payment Method Creation


- Login to Golden Client
- Create Payment Method
- It creates TR

For TR Move one Client to another Client

- Login in to Unit Testing Client


- Go to T-Code SCC1
- Copy TR

Assume that the payment method is not working properly, go to Golden client and do the
missing configuration here we can save this change in same TR, since we haven’t release it.
(with in development client)
Then follow same above steps up to we get the result with in same TR.
Once we are satisfied with the testing….

- Login in to Golden Client


- Go to T-Code SE10/SE09
- Release the TR
- Ask Basis team to move TR to Quality Server
 User (SAP Client) not satisfied with our configuration (Ex: Payment
method Description is not correct)
- Go to Golden Client and do the missing configuration
- Here we can’t save the configuration in the same TR since we already released it.

 It means one configuration first we tested in “Unit Testing Client” with in the same Server
with the use of same TR until we get it.
 Once we satisfied with the testing we can move our TR to Quality server (it means TR
was released) Basis team move TR to Quality Server.
 If user (SAP Client) satisfied with the above configuration, we can follow same
configuration.
 If user not satisfied with configuration then need to change the configuration in golden
client with the other TR.
 This is continues process until User approved the configuration.
SCC4- To see the clients with in the server.
SCC1- First give source client details (where we create TR-Golden Client) Select our
source TR (which TR we want) Select √ Including Request Subtasks Click on
Start Imidiatly Icon Click On YES.
SE10/SE09- To release TR, Login in to Golden client Goto SE10 Select √
Modifiable @ Request Status Click On Disply Button Expand our TR and Place
cursur on subtask Click on Release Directly Icon Place cursor on main task and
Click on Release Directly Icon Click on refresh icon until sucessful completion of the
tasks.

 IMP: We need to release sub taks first then main task


 Customizing Request – These are client dependent TRs
 Workbench Request – These are client independent TRs
 All Configuration requests are Customizing Requests
 All Development requests are Workbench Requests

Business Process
A Business Process is an activity or set of activities that can accomplish a specific
organizational goal. Like… Payments, Accrual, Deferral documents, invoicing process,
billing process etc… Some are the difficult Business Process are given below…

Ex1: - EMD Received from Vendor: It is a payment from vendor

Bank A/C Dr
To EMD from Vendor

Configuration:

 Create ‘EMD from Vendor’ “Recon GL A/C” @ FS00


 Create Special GL indicator “E” @ OBYR
 Map Sundry Creditors A/C to Spl GL indicator “E” and EMD from Vendor recon A/C @
OBYR
Front End:

 Select Incoming Payment Method and Complete the Document @ F-51


Ex2: - LC (Letter of Credit) Received: LC are given to the vendors for credit purchases to
sometime approx. 3 months. LC are given our bank to vendors on behalf of us, if we r not able
to pay amount with in the time, bank should give to vendor after completion of credit period,
then bank will collect that amount to us after paid to the vendors.
 It is a noted Item like payment request
 LCs are bank guarantees
 Create Spl GL indicator ‘L’ or ‘B’ OBYR
 Create recon GL A/C “LCs Given to Vendors” FS00
 Map Sundry Creditors to Spl GL indicator ‘L’ and “LCs Given to Vendors” OBYR
Fort End:

 Use Spl GL indicator, Amount and Due Date (How many days to pay) to fill in F-57

Ex3: - Procurement against Cost Center: MM Stationery Purchase for Accounts Dept.

 Create Purchase Order (PO), give ‘K’ in account assignment category under item
overview and give GL A/C as Stationery Expenses and Cost Center as Accounts
Department ME21N
 Follows...MIGO, MIRO and F-53

IMP-The above is 3 way process we have also 2 way process that is directly post MIRO without
MIGO.

 In ME21N same like above process, then go to Delivery Tab Deselect/Remove Goods
Receipt indicator and SAVE. After this step even MIGO not accepting entry because
removal of GR in ME21N. Follows… MIRO and F-53 (Payment)

IMP- in ME21n @Delivery Tab Deselect/Remove Goods Receipt indicator. This is the imp step
for 2way process.

Ex4: - Asset Procurement through Purchase Order (PO)

 Create Asset Master


 Create PO: give ‘A’ in account assignment category under item overview, and deselect
goods receipt from delivery tab (because of two way process no need of MIGO) ME21N

MIRO: Asset A/C Dr


To Vendor A/C

 Payment to Vendor F-53


 In ME21N we have three (3) option to post document “with MIGO”, “without MIGO” and
“With MIGO without accounting entry”.
1) 1, With MIGO-For this in ME21N under delivery tab we need to select only Goods
Receipt option
2) 2, With MIGO without Accounting Entry-For this in ME21N under delivery tab we need to
select Goods Receipt and GR not valuated items.
3) 3, Without MIGO-For this in ME21N under delivery tab we need to deselect Goods
Receipt option.

Ex5: - Sub Contracting: While producing the Finished Goods, some part of the work given to
other contractor called sub-contracting. Ex: Packing of semi-finished goods. In this all
production process done by main contractor from Raw material to Semi finished goods except
packing due to lack resources or any other reasons. After packing only that goods are called as
FGs. In this scenario we have main contractor as well as sub-contractor.

Steps;
1. Create BOM-CS01
2. Create Purchase Order (PO)-ME21N
3. To move semi-finished goods & Packing Material to sub-contractor-MB1B
4. Goods receipt from the sub-contractor-MIGO
5. Invoice Posting-MIRO
6. Payment-F-53
1-Create BOM-CS01:- Select semi-finished goods, plant, BOM-1 Enter and give
component as raw material (packing material) & Quantity then SAVE.
2-Create PO-ME21N:- Give sub-contracting vendor details Select Item Category ‘L’@
Delivery/Item tab Semi finished goods given in CS01 Go to material data tab,
click on Explode BOM icon(will get raw material details if not give manually we gave at CS01)
3-To move semi-finished goods and packing material to sub-contractor-MB1B:- Movement type
is “541” click on “to purchase order” icon, give PO number click on adopt details
button give storage location and post it. {No accounting document will be generated}
In inventory reports this will be shown as goods with sub-contractor.
4-Goods receipt from sub-contractor-MIGO: - Post it, Shows account determination errors for
sub-contracting need to assign accounts in OBYC
It will show three (3) activities
1- Given Raw Material to sub-contractor.

RM-Consumption A/C Dr – GBB-VBO @ P&L A/C


To RM-Inventory A/C Cr – BSX
2- Receiving goods from sub-contractor. {Finished Goods}

Finished Goods-Inventory A/C Dr – BSX


To Change in Stock Cr – BSV @ P&L A/C {same like COGS A/C}

3- Sub-contracting Charges.

Sub-contraction Charges A/C Dr – FRL @ P&L A/C


To GR/IR A/C Cr – WRX

Ex5: - Consignment: Stock comprises consignment material belonging to the Vendor


that is stored on your premises. When buying goods on consignment, the ordered
goods still belong to the vendor, even after delivery.

 Vendor inventory stored in our premises, whenever we want consume that material
called consignment.
 Assume that vendor placed 1000Q in our store
 Assume we used 100Q in this month
 So 00Q available in our store

Steps;
1. Create Purchase Order – ME21N Give item category as ‘K’ @ delivery/Invoice
tab
2. MIGO

RM Consumption A/C Dr
To GR/IR A/C Cr

3. Consignment Settlement - MRKO Give Company code, plant, vendor and


material details Select Consignment and Settle tabs.

GR/IR A/C Dr
To Vendor A/C Cr

4. Payment - F-53

 We can use same method in pipeline material used for to produce FG


Tables and Programs SE16N/SE16/SE11
Imp Tables in FI @ GL
GL Master Data:-

- SKA1 – General Data


- SKB1 – Company Code Data
- SKAT – Short Text & Long Text

Transaction Data:-

- BKPF – Document Header Data


- BSEG – Document Line Item Data
- BSIS – GL Open Item Data
- BSAS – GL Cleared Item Data

Imp Tables in Accounts Payable


Vendor Master Data:-

- LFA1 – General Data


- LFB1 – Company Code Data
- LFM1 – Purchasing Order Data
- LFBK – Vendor Bank Details

Transaction Data:-

- BSIK – Open Item Data


- BSAK – Cleared Item Data

Imp Tables in Accounts Receivables


Customer Master Data:-

- KNA1 – General Data


- KNB1 – Company Code Data
- KNVV – Sales Order Data

Transaction Data

- BSID – Open Item Data


- BSAD – Cleared Item Data
Extra table in between in process: -
House Bank Master Table-T012K

IMP- Bank challan T-Code-J1INBANK

IMP- Excise Master T-Code-J1ID Here we can find all vendor, customers excise details like
PAN numbers, registration numbers and all CIN Details etc.…

Any Master data address details stores in table-ADRC

Bank Master Data-FI01

Bank Master Table-BNKA

Tables for Automatic Payment:

Processed items from payment program-REGUP

Settlement data from payment program-REGUH


Imp Tables in Asset Accounting
Asset Master Data:-

- ANLA – General Data


- ANLB – Depreciation Terms
- ANLC – Asset Values

Transactions Data

- ANEP – Asset Transactions

Imp Tables in Bank Accounting


Bank Master Data:-

- BNKA – Bank Master Data

Imp Tables in Tax

- WITH_ITEM – With Holding Tax


- BSET – Other Taxes

Imp Tables in New GL

- FAGLFLEXA – Transaction Data


- FAGLFLEXT – Total Tables

 Each and every document that we post in FI we get stored in BKPF & BSEG
 If new GL is activated that document will stored in FAGLFLEXA
How to find out the program in T-Codes for a table:
T-Code to Program:
Go to any T-Code Ex: FBL1N Click on Systems Tab Click Status There
we find the Program (RFITEMAP), if we double click on this Program we can see ABAP Coding.
Program to T-Code:
Copy the Program (RFITEMAP) Paste that Program in T-Code SE38 Click on
execute button the screen will go to FBL1N screen because that program is for FBL1N,
if we click on display will see the coding.
Gaps:
1- Document Line Items:
Requirement: Post FI documents with more than 999 line items
Solution: Not Possible in Standard SAP
Alternative Solution: Split the Documents
Ex: In case of payroll it is required to post more than 999 line items.
IMP: Place cursor on any field and click on F1 and click on technical information button then
double click on field name column here we can find all fields length.

2- Amount in Sales Order:


Requirement: To create a sales order with an amount which increases 11 digits
Solution: Not Possible in standard SAP
Alternative Solution: Spilt the sales order

3- Post Dated Checks (PDC): Check with future date


Requirement: Post and Print PDC
Solution: Posting is possible with noted item documents in F-57 and Printing is not possible.
Alternative Solution: Write the check manually.

4- Interest Calculation on Bank Deposits & Loans:


Requirement: Client would like to calculate the interest on fixed deposits
They would also like to analyses it at each FD level
They also wanted to calculate withholding tax on interest amount

Solution: Not possible in Standard SAP-FI


It can be achieved by implementing SAP-TRM (Treasury & Risk Management), since
TRM is not in the scope of the project, we have told the client that this is a GAP.

Alternative Solution: Implement of TRM Module.


Writing Functional Specifications: (FS)
FS is a document which will have the logic to the ABAPer for any developments.

WRICEF: - (Nothing but development)


W-Workflow
R-Reports
I-Interface
C-Conversions
E-Enhancements
F-Forms

Workflow: Approval concept. It is a separate module (we need separate consultant)


Reports: Combination of different tables’ data to form a new report.
Interface: Document flow from SAP to Other Systems and vice a versa.
Conversions: Data migration from Legacy (existing one) to SAP.
Enhancements: Adding our own functionality to the standard SAP programs.
Forms: Ex: Check printing, Voucher printing and dunning etc…

Reports: Reports are client requirements.


Ex: If we give Company Code will get all Vendor details like Vendor Code, Vendor Name,
Vendor City, Vendor Bank Account Number and Vendor Bank Country. Here we use functional
specifications.

FS: we have two requirements in FS to get reports.


1- Selection Criteria: Some are provided by Client, some are chose our self to get reports
according to get programing logic.

2- Programing Logic: Here we need to give Key table where we can find fields according
to the report & technical name of that field
1- Selection Criteria: Ex: FBL1N – Here FBL1N screen company code are Selection
Criteria. (If we enter the company code all vendor details will get)

Imp fields in Selection Criteria are:


Company code-Vendor will give
Mandatory- Which field is mandatory (Here company code is mandatory to get vendor reports
so we need to select company code field in mandatory mode)
Multiple / Single Field - Here we need choose multiple fields required or single field require
Ex: In FBL1N in Company column we can find two fields from company code to company code
also we can see Vendor account there are multiple and in Open item we can find only one field
it is called single filed.
Technical Field Name: These name are there in tables. When we find tables in SE16N in any
table we will find technical name of the fields like…Company code is- BUKRS, Vendor is-
LIFNR, For Fiscal year is GJAHR like that all field have its own technical filed names.

2- Programing Logic: First we know where we can find the vendor details (Targeted
fields here Vendor name, code and city etc…) in which tables.
Here first we need Company Code with Vendor master report (LFA1 but Company code
data will not get so go with LFB1)
Vendor Code: Table-LFB1, Tech name: LIFNR (Pass BUKRS to table LFB1 and fetch all
Vendor codes for the particular company code.) Means: In SE16N give table name as LFB1
and give our company code and execute will get vendor codes, copy that vendor codes and
click back and give that codes in vendor @ more tab and execute.
Vendor Name: T-LFA1, Tech Code: NAME1 (Pass LIFNR to table LFA1 and fetch the
names NAME1 for all vendors)
Vendor City: T-LFA1, Tech Code: ORT01 (Pass LIFNR to table LFA1 and fetch the city
ORTO1 for all vendors)

Vendor Bank Account Number: T-LFBK, Tech Code: BANKN (Pass LIFNR to table LFBK
and fetch bank account number-BANKN for each vendor)

Vendor Bank Country: T-LFBK, Tech Code: BANKS (Pass LIFNR to table LFBK and fetch
bank country-BANKS)
Real-time Reports:
- Vendor Ageing Report
- Customer Ageing Report
- Withholding Tax Report
- Check Information Report
- Payments Reports for NEFT/RTGS
- Asset report

Vendor Ageing Report: Management will like to analysis the vendor ageing reports to know
from how many days’ vendor payments are outstanding.
Standard Vendor ageing report @ T-Code S_ALR_87012078 (Here some days like 10 to 20
days like standard is there, but many times client wants reports between some other days)
Here Open Item is kay data
Key table is BSIK
Here date also imp to get reports. Base date we need to take confirmation from Client Ex:
Document date, Posting date, Entry date etc...

Requirements: Company Code, Vendor Code, Report Date, Vendor Name, Vendor City,
Document Number, Document Date, Posting Date, Amount in Local Currency, <30 Days, 31-90
Days, 91-180 Days, 181-365 Days and >365 Days.

Ex: C-Code-SAI1
Vendor Code-300001
Document Nuber-10018
Document Date-10-8-2018
Amount-18000
According to above info this amount will pick 91-180 Days in the report. Here report date is
today means 13-11-2018 around 93 days this is called base date, and client will give to choose
document date instead of entry/posting date.
Here Vendor ageing report means according to document date and base date (Reporting
date) which vendor payment is outstanding, from how many days it is pending will get us
know.
Functional Specifications:
Selection Criteria: - These are provided by Client from which we need to fetch all
reports.
Field Technical Name Option No of fields
Company Code BUKRS Mandatory Single
Vendor Code LIFNR Optional Multiple
Report Date - Mandatory Single

Programing Logic: -
Vendor Code- Technical name-LIFNR & Table-BSIK (Pass company name BUKRS to table
BSIK and fetch vendor code LIFNR)

Vendor Name- Technical name-NAME1 & Table-LFA1 (Pass Vendor code LIFNR to table
LFA1 and fetch name of vendor NAME1)

Vendor City- Technical name- ORT01 & Table-LFA1 (Pass Vendor code LIFNR to table LFA1
and fetch city of vendor ORT01)

Document Number- Technical name- BELNR & Table-BSIK (Pass company name BUKRS to
table BSIK and fetch Document number BELNR)

Document Date- Technical name- BLDAT & Table-BSIK (Pass company name BUKRS to table
BSIK and fetch Document Date BLDAT)

Posting Date- Technical name- BUDAT & Table-BSIK (Pass company name BUKRS to table
BSIK and fetch Posting Date BUDAT)

Amount in Local Currency- Technical name- DMBTR & Table-BSIK (Pass company name
BUKRS to table BSIK and fetch Amount in LC DMBTR)

<30 Days- Report date – Posting date = Number of days. If it is less than 30 days get the
Amount in LC (DMBTR) to this column.

31-90 Days- Report date – Posting date = Number of days. If it is between 31-90 days get the
Amount in LC (DMBTR) to this column.

91-180 Days- Report date – Posting date = Number of days. If it is between 91-180 days get
the Amount in LC (DMBTR) to this column.

181-365 Days- Report date – Posting date = Number of days. If it is between 181-365 days get
the Amount in LC (DMBTR) to this column.

>365 Days- Report date – Posting date = Number of days. If it is more than 365 days get the
Amount in LC (DMBTR) to this column.

IMP- The above day’s info given by user/client according to their requirement
Customer Ageing Report: Management will like to analysis the Customer ageing reports to
know from how many days’ Customer payments are outstanding.
Standard Customer ageing report @ T-Code S_ALR_87012168 (Here some days like 10 to 20
days like standard is there, but many times client wants reports between some other days)
Here Open Item is kay data
Key table is BSID
Here date also imp to get reports. Base date we need to take confirmation from Client Ex:
Document date, Posting date, Entry date etc...
Functional Specifications are same like Vendor ageing, only we have to maintain
customer data instead of vendor.

Withholding Tax Report: Withholding Tax is also called as retention tax. Its requirement of
Government to deduct or withhold a particular percentage from paying to the vendor and pay
such amount to the Government on behalf of other person. It's a kind of Indirect Tax.
Standard Withholding Tax report @ T-Code J1INMIS (First convincing the client to with
standard one, if he is not convinced then go with development)
Here Tax data is kay data
Key table is WITH_ITEM
Requirements: Company code, Fiscal year, Posting date, Vendor Code, Vendor Name,
Document Number, Document Date, Posting Date, Invoice Number, Amount in Local Currency
(Base Amount), Withhold Tax Amount, Withhold Tax Code, Tax Rate, Section(Official
withholding tax key), Vendor PAN Number, Internal Challan Number, Challan Date & External
Challan Number.

Functional Specifications:
Selection Criteria: - These are provided by Client from which we need to fetch all
reports.
Field Technical Name Option No of fields
Company Code BUKRS Mandatory Multiple
Fiscal Year GJAHR Mandatory Multiple
Posting Date BUDAT Mandatory Multiple

Programing Logic: -
Document Number, Amount in Local Currency (Base Amount), Withhold Tax Amount, and
Withhold Tax Code, Tax Rate, Internal Challan Number, and Challan Date.
This all green fields are available in one table- WITH_ITEM
Common FS for all 8 fields: (Pass company code-BUKRS and posting date-BUDAT to table
WITH_ITEM and fetch all green highlighted fields only technical name is change for each field
remaining all same)
Document Number- BELNR
Amount in Local Currency (Base Amount) - WT_QSSHHC

Withhold Tax Amount- WT_QBSHH

Withhold Tax Code- WT_WITHCD


Tax Rate- QSATZ
Internal Challan Number- J_1IINTCHLN
Challan Date- J_1IINTCHDT
Vendor Code- Technical name-LIFNR & Table-BSIK (Pass company name BUKRS to table
BSIK and fetch vendor code LIFNR)
Vendor Name- Technical name- NAME1 & Table-LFA1 (Pass Vendor code LIFNR to table LFA1
and fetch vendor name NAME1)
Document Date, Posting Date & Invoice Number Common FS for all 3 fields
(Pass company code-BUKRS, Document number-BELNR and Fiscal year-GJAHR to table
BKPF and fetch all Blue highlighted fields only technical name is change for each field
remaining all same)
Document Date- BLDAT
Posting Date- BUDAT
Invoice Number (Nothing but Reference normally we gave invoice number @reference column)
– XBLNR

Section (Official withholding tax key) FS


Find out table for official withholding tax key:-
PATH for Define withholding tax code: Financial Accounting (New) Financial
Accounting Global Settings (New) Withholding Tax Extended Withholding Tax
Calculation Withholding Tax Code Define Withholding Tax Codes
Give country code IN Double click on any withhold tax code Place cursor on off.
With t/key and press F1 Click on technical information icon here we find out the
table name with “V_T059Z” but we can enter this table in SE16N we can give only “T059Z” don’t
give “V_”
Section (Official withholding tax key) (Pass country key LAND1 and withhold tax code
WT_WITHCD to table T059Z and fetch official withholding tax key QSCOD)

IMP- Bank challan T-Code-J1INBANK

IMP- Excise Master T-Code-J1ID Here we can find all vendor, customers excise details like
PAN numbers, registration numbers and all CIN Details etc.…

Vendor PAN Number FS


We can find PAN details at Vendor master in CIN Details or Excise Master T-Code J1ID
How to get CIN details in Vendor Master: Go to TCode-OMT3E Click on Users screen
references and click on new entries Give our user ID-SAPUSER and give “* STAR” in
SRef User column save it now we will get CIN details in Vendor master
From CIN details we will get table name where PAN number field will get for table name
go to CIN Details select withhold tax column place cursor on PAN number press F1
then will get table name-J_1IMOVEND
We will also get PAN table from J1ID in J1ID select vendor excise details and execute then we
place cursor on PAN Field press F1 and click on technical information icon there will get the
table name.
Vendor PAN Number: (Pass vendor code LIFNR to table J_1IMOVEND and fetch PAN
J_1IPANNO)
External Challan Number FS:
How to find out table for Bank challan number:
Go to TCode-J1INBANK and place cursor on bank challan number and press F1 and go to
technical information icon here we get table name if table name (J_1IEXTCHLN) and
field name (J_1IEXTCHLN) is same then that table name give error in SE16N.
So go to SE11 select data type and give the above field name and click on where user list Icon-
(above the screen) click on table fields and press execute button (below the screen)
there the above highlighted one is table name, otherwise double click on below field name
(J_1IEXTCHLN) there above the screen will find table name J_1IEWTCHLN
External Challan Number- (Pass company code BUKRS, Document number BELNR and Fiscal
year GJAHR in table J_1IEWTCHLN and fetch external challan number J_1IEXTCHLN)

Check Information Report: This report is Statutory Requirement for US clients


Here Bank data is kay data & Key table is PAYR
Requirements: Paying company code, Check number, Posting Date, Check number, Payment
document number, House bank, Account ID, Bank account number, Payment method, Payment
date, Vendor number, Vendor name, Vendor street, Vendor PO Box, Vendor country, Void
reasons, Current Vendor street, Current PO Box, Current Country.

Functional Specifications:
Selection Criteria: - These are provided by Client from which we need to fetch all
reports.
Field Technical Name Option No of fields
Paying Company Code ZBUKR Mandatory Single
Check Number CHECT Optional Multiple
Posting Date BUDAT Mandatory Multiple

Programing Logic: -
(Pass paying company code-ZBUKR and Posting date- BUDAT to table PYAR and fetch
below fields)
Check number- CHECT
Payment document number- VBLNR
House bank-HBKID
Account ID- HKTID
Payment method- RZAWE

Payment date- ZALDT House Bank Master Table-T012K

Vendor number- LIFNR

Vendor name-ZNME1 Any Master data address details stores in table-ADRC

Vendor Street- ZSTRA


Vendor PO Box- ZPFAC
Vendor country- ZLAND
Void reasons- VOIDR
(Pass Company code-BUKNR, House Bank-HBKID and Account ID-HKTID to table T012K and
fetch Bank account number-BANKN)

(Pass Vendor code-LIFNR to table LFA1 and fetch below fields)


Current Vendor Street- STRAS
Current PO Box- PFACH
Current Country- LAND1

Payment Reports for NEFT/RTGS:


When we run F110 will get two tables for Automatic Payments.

Processed items from payment program-REGUP

Settlement data from payment program-REGUH

Payment Reports for NEFT/RTGS Client Requirements:


Here Bank data is kay data & Key table is REGUH
Requirements: Run ID (Run On), Run Date (Identification), Vendor number (code), Vendor
name, Vendor Bank Account Number, Vendor Bank Name, Vendor Bank Country, Vendor Bank
Key(IFSC Code) & Amount.

Functional Specifications:
Selection Criteria: - These are provided by Client from which we need to fetch all
reports.
Field Technical Name Option No of fields
Run ID (Run On) LAUFD Mandatory Single/Multiple
Run Date (Identification) LAUFI Mandatory Single/Multiple

Programing Logic: -
(Pass Run ID (Run On)-LAUFD Run Date (Identification) - LAUFI to table REGUH and fetch
below fields where the {XVORL only proposal run} is not equal to “X”)
{XVORL only proposal run} is not equal to “X”- means remove proposal items and give
directly auto payment items.
Vendor number (code) - LIFNR
Vendor name- NAME1
Amount- RWBTR

(Pass Vendor code LIFNR to table LFBK and fetch the below fields)
Vendor Bank Account Number- BANKN
Vendor Bank Country- BANKS
Vendor Bank Key (IFSC Code) - BANKL
(Pass Bank country- BANKS and Bank account number- BANKN to table BNKA and fetch Bank
Name- BANKA)

Asset Report:
Asset Report Client Requirements:
Here Asset data is kay data & Key table is ANLA
Requirements: Company code, Asset number, Fiscal year, FAID (Asset Number), Description
of Asset, Date of Purchase, Cost Price (A), Accumulated Depreciation (B), WDV- Written down
Value Method of Depreciation or NBV (Net Book Value)-(C), Sale Price (D) & Profit and Loss on
sale of Fixed Asset (E)

Functional Specifications:
Selection Criteria: - These are provided by Client from which we need to fetch all
reports.
Field Technical Name Option No of fields
Company Code BUKRS Mandatory Single/Multiple
Asset Number (FAID) ANLN1 Optional Multiple
Fiscal Year GJAHR Mandatory Single

Programing Logic: -
(Pass Company code-BUKRS and Fiscal Year-GJAHR to table ANLA and fetch all the assets
(FAIDs) which have the deactivation date- DEAKT)

 This means will fetch all asset records who are sold out that means this assets are not
there in company.
FAID (Asset Number)-ANLA (ANLN1)
Description of Asset- ANLA (TXT50)
Date of Purchase (Capitalized on) - ANLA (AKTIV)
Cost Price (A) – ANLC (KANSW) (Accumulated Acquisition value)
Accumulated Depreciation (B) – ANLC (KNAFA+NAFAP) ----Doubt
WDV- Written down Value Method of Depreciation or NBV (Net Book Value)-(C)-{A-B}
Sale Price (D)- (Pass Company code and Asset number to table ANEP and fetch the Sale Value
for the transaction types like 200, 210 sales related)
Profit and Loss on sale of Fixed Asset (E) - {D-C}

Enhancements:-
We have 3 types of enhancements
1- User Exits
2- Business Add-ins (BADIs)
3- Function Modules
Enhancement (User exits/BADIs) allow us to add our own functionalities to SAP standard
program without modifying it.

- What is the difference between BADI and User Exits? BADI is object oriented. But User


Exits is not. BADI is client independent, User exit is client dependent. In BADI multiple
implementation is possible, but in User Exit it is not possible.

How to find out Enhancements:-


1- User Exits
Step 1- Find out Program
A- Give Tcode-SE93 →Give “T-Code” which T-Code program want to see → Click on
Display → Here we can find Program
B- Enter which T-Code program we want → Go to Systems tab → And click on Status →
Here we can find program of that particular T-Code
Ex: FBL1N-Program is (RFITEMAP)

Step 2- Find out Package


A- Copy Program for which package we need → Give Tcode-SE38 → Give copied program
on this → Select Attributes button → Click on Display → Here we can find out the
Package
B- Give Tcode-SE93 →Give “T-Code” which T-Code package want to see → Click on
Display → Here we can find Package
Ex: FBL1N-Package is (FREP)

Step 3- Find out for this program have any User Exits/BADIs
A- How to find out Exits- Open T-Code SMOD → Click on dropdown list of Enhancement →
Give Package → Execute → Here we find out Exits for time search. Next time onwards
go to SMOD → Click on dropdown list of Enhancement → Click on Information System
→ Give package → Execute.
B- How to find out BADIs- Open T-Code SE18 → Select BADI name → Go to dropdown list
of BADI name → Click on information system → Give package FREP → Save
Example of User Exit: Need validation on PAN card for Vendor Master
Requirement: Validation

- PAN card number length 10 Characters


- First five5 characters from A to Z
- Four Numbers 0 to 9
- Last one characters from A to Z
- Like valid PAN card “AGGPT6270R”

Sol: Find out the user exit

- Go to FK01/XK01 “Vendor Master” → System → Status → “SAPMF02K”


- Find out Package: Go to SE38 → give above Program “SAPMF02K” → Select Attributes
→ Display → “FBK”
- Go to T-Code: SMOD → enhancement drop down list → Information system → give
package “FBK” → find out which one is the relevant user exit “SAPMF02K is the relevant
user exit”.
- Will give this user exit “SAPMF02K” and with logic ‘above validation’ to ABAPer.

BADI: BADI (Business Add-In) is new SAP object oriented enhancement technique which is
used to add our own business functionalities to the existing SAP standard functionality.

- BADIs are available in SAP R/3 from the system release 4.6c
- Why BADI:- In contrast to the earlier enhancement techniques BADI follows object
oriented approach to make them reusable. A BADI can be used any number of times
whereas standard user exits can be used only once.
Example of BADI:
Requirement: In MIRO there is no PO (Purchase Order/Purchase Document) number in vendor
A/C where as we have find in GR/IR A/C. So requirement is need PO number in FBL1N report.
[Because it is not stored in vendor line item]
Sol: Find out program of FBL1N – “RFITEMAP” from Systems → Status and Find out Package
from SE38 is “FREP” → and give this package in to SE18 and get the relevant BADI is
“FI_ITEMS_CH_DATA [Change line data]”.
Logic- Get PO number from offsetting line item.

Standard BADI- {AC_DOCUMENT}


Requirement: When we post MIRO document vendor line item assignment field has to be
populated with reference field value and fiscal year.
Ex: Reference field (Nothing but invoice number) is - 1234 & Fiscal year is – 2018.
Assignment field has to be populated with [12342018] for this will implement BADI
AC_DOCUMENT.
FORMS: - After post the documents will take printout. Like table view example (Voucher
Printing) in mailbox. (T-Code SMARTFORMS)

Functional Specifications:
Selection Criteria: - These are provided by Client from which we need to fetch all
reports.
Field Technical Name Option No of fields
Company Code BUKRS Mandatory Single/Multiple
Document Number BELNR Mandatory Single/Multiple
Fiscal Year GJAHR Mandatory Single

Format: - Attached to this FS


Programing Logic: -
Header-1:- Company Name & Journal Voucher.
- Company Name: - (Pass company code-BUKRS to table T001 and fetch
company name –BUTXT)
- Journal Voucher: - There is no logic for this common heading like this. For this
situation just used {“HARDCODE” for Journal Voucher}. “Just enter/use same
name without any logic we need to give to ABAPer as HARDCODE with that
particular Name.”
Header-2:- Voucher Number, Voucher Date, Document Header Text, Reference and
Currency.

Voucher Number-From selection criteria screen (Document Number-BELNR)


Voucher Date-(Pass company name-BUKRS, Document Number-BELNR & Fiscal
Year-GJAHR to table BKPF and fetch Vendor Date-BLDAT)
Document Header Text- BKPF- BKTXT
Reference- BKPF- XBLNR
Currency- BKPF- WAERS
Line Item Data :-GL Code, GL Description, Vendor Company Code, Vendor Company Code
Description, Debit/Credit, Amount, Amount in Local Currency, Cost Center, Profit Center,
Assignment & Text.

GL Code- (Pass BUKRS, BELNR & GJAHR to table BSEG and fetch GL Code-
HKONT)
GL Description-(Pass GL Number-HKONT to table SKA1 and fetch GL Description-
TXT50)
Vendor Company Code- BSEG – LIFNR/KUNNR
Vendor Company Code Description-(Pass LIFNR/KUNNR to table LFA1/KNA1 and
fetch V.C.C.Description-NAME1)
Debit/Credit-BSEG- SHKZG [If it is ‘S’ display as Debit or it is ‘H’ display as Credit]
IMP-[S-Debit & H-Credit]
Amount-BSEG- WRBTR
Amount in Local Currency-BSEG- DMBTR
Cost Center- BSEG - KOSTL
Profit Center- BSEG - PRCTR
Assignment- BSEG - ZUONR
Text- BSEG - SGTXT
Footer Data: - Prepared By & Authorized By
Prepared By- Hard Code (Prepared By)
Authorized By- Hard Code (Authorized By)

How to create Package: - Package is like a folder and it’s contains all Z-Developments.
Go to T-Code: SE80 → Select package and give package name as –ZFICO (any name for
recognizing purpose) at the left side of the screen dropdown list → Click on Enter → Click on
YES → Give description as FICO Objects and click on continue → Create request as Package
creation and click on continue.
ABAP Query Report: - Simple reports can be develop using ABAP query reports/Report
Painter. We have 4 steps in ABAP query report.
1- Create User Group-SQ03 (Users required access to this report-Which users
want/access this report)

2- Create Infoset-SQ02 (Link the table from which we need to fetch the data-Link between
tables)

3- Create Query-SQ01 (Define selection criteria like FS using Infoset)

4- Define & Assign Transaction Code-SE93

Client Requirements: - Company Code, Vendor Code, Vendor Name, Vendor City, Vendor
Bank Account Number & Vendor Bank Country.

- Here first we can find the above fields in which table and find out base table.
- Here LFB1 is base table and other fields are there in LFA1 and LFBK
- The above tables are linked in Step-2
-

Step1- Create User Group-SQ03;


Go to SQ03 → Give some name in User Group-ZBANK (for identification of our own query, we
can give what name we want.) → Click on Create button → Give any name in the TEXT as
‘Vendor Bank details’→ Give Package (How to find out package will tell on next classes)-
ZFICO → Create request → SAVE.
Click on ‘Assign users & infosets’ for assign users who are access to use this group.
Step2- Create Infoset-SQ02;
Go to SQ02 → Give name as ZBANK in infoset name → Click on create button → Give name
as Vendor Bank Details → in data source box, select ‘table join using as’ column and give base
table name-LFB1 (Vendor Bank Table is the base table in this query) → Click on Continue
button here we find all fields in LFB1 → Click on insert table icon and give table-LFA1→
Continue → again same process for LFBK after link this table to LFB1 → Click on Infoset
Maintenance icon → Select empty field group section(for this only we can select fields manually
what fields we want) → Click on Continue → Expand Vendor Master tables fields left side of the
screen → Select each field from each group and drag and drop to right side vendor groups what
fields we want according to client requirement.(Drag and drop each field from left to right in their
respective groups only) Ex-Vendor account number there in Vendor master company code
group this field drag and drop to left side of vendor master company code group only don’t drop
in other group.) → After drop all fields, click on generate button icon and give package-ZFICO
→ Save it → Go bank to first screen of SQ02 and click on Role/User group assignment and
select our user group created in step-1 SQ03 (ZBANK) → SAVE.
Step3- Create Query-SQ01;
Go to SQ01 → By default we will get last created user group, if we don’t get go to “Other User
Group” icon → select our group → give any name as query-ZBANK → click on create button →
select our infoset and double click on it → Give ‘Vendor Bank Details’ as Title name (Top of the
report it will show). → Click on basic list icon → expand all 3 tables data @ left side of the
screen → Select company code from the field list and double click on it or select the beside box
of company code field. (This is selection criteria of the new table like client will give selection
criteria if we pass this only our table will show other fields report. Here we can use only one
selection criteria is enough otherwise we can give more than one) → click on SAVE and give
package name-ZFICO and SAVE → Click on test icon left side of screen to test the report → If it
is ok then go to SQ01 → go to other user group icon → select our query-ZBANK → click on
execute → will see selection criteria screen.

Step4- Define and assign Transaction code for this report-SE93


SQ01 → Select our query → Go to query icon → select more functions → Click on display
report name → here will find program → copy that program → Click on continue.
Ex: “AQZZ/FSCMA/IS===CLM_10_Q1=====”
Go to SE93 → Give Transaction code-ZBANK (Give any name like T-Code) → Click on create
→ Give short description as ‘Vendor Bank Details’ (Give description accordingly our report) →
Select check box ‘Program & Selection screen (report transaction) → Click on continue → If it is
first time it will ask u to give ‘access key’ (this is provided by technical team) → If already access
is open → paste the above copied program → SAVE
New transaction code is created as ZBANK give this T-Code @ SPRO and get report.
IMP: This ABAP query report is not used for clustered tables like-BSEG & REGUP, because in
this tcodes each and every documents are get stored and it is not possible to expand at the time
of SQ02 in combined the tables.
Validations and Substitutions:-
Validations; Validation is a little trick (rather a technique) which acts like a watchdog &
ensues that incorrect data does not get posted while posting a transactions. A validation is a
procedure which is on the lookout for incorrect data; if incorrect data is entered by the end user
during document postings. The validation spews out an error message and continues the end
user.
Ex: In FB60 while posting documents with withholding tax, business place is mandatory field,
but it is not possible @ OBC4 Field status variant in this situations validation is required.
Ex: In FB50 while posting documents, document date should not be future date (system will
accept even future date also)
Ex: Document type must SA otherwise give error. Like that….we required Validations.
We need to complete 3 steps IDES system. Whereas real-time this steps are not required
already technical team will provide these steps.
Step1- Create Package → SE80
Step2-Creation of Message Class → SE91
Step3-Assign message class to validation → GGB0
Step1- Create Package → SE80 → already created before query report step
Step2-Creation of Message Class → SE91 → Give any name-Z1FI in message class → Click
on create → Save → Give package and Save → Create validation request → Go back and Go
to Message icon → Write which error msg want to give and SAVE.
Step3-Assign message class to validation → GGB0 → Place cursor on Financial Accounting
→ Go to environment icon → click on change msg class → Give 001 to 009 @ Boolean class →
and give old msg class (first time Z1 is standard next time onwards will find out old msg class @
GGB0 @ Financial Accounting @ Document header → step 001 in financial accounting drop
down list @ step 001 we will find in below the screen) →Z1 → Give new msg class as what we
saved @ step2 in SE91 we need to give that one-Z1FI→ remove test run → Execute/Save →
will get so many msg boxes just press on enter up to SAVE.

IMP: A validation is given a name and is assigned to a company code. A validation may checks
data at …

- Document header level only (called as call up point 1)


- Line item level (called as call up point 2)
- Full document level (call up point 3)
- We can’t create validations @ vendor master
- We can write @ BKPF.

We have 3 steps to write Validations :


1- Prerequisites
2- Check
3- Message
Step1- Prerequisites: - Validation will happen if the prerequisites is met. If the prerequisites is
not met by the document under posting, the system ignores the validation technique and posts
the documents.
Step2- Check: - If the prerequisites is met a check is made for compliance of an extra condition
(over and above the prerequisites). If the condition is also complied with by the document then
posting happens.
Step3- Message: - On the other hand, if the check activity is not complied with, then the system
throws an appropriate error/warning message. (Depending on the servility of error as configured
by us.)
IMP: In one folder we can assign number of validations.

Ex1: Business Place: - This field is mandatory at the time of vendor withholding tax payments.
(FB60/MIRO/F-43/F-48)
Step1- Prerequisites: C.Code= SAI1 & T-Code=FB60, MIRO, F-43 & F-48
Step2- Check: - Business place {= “ “} (Blank)
Step3- Message- Please enter the Business Place.

IMP: Business place is required when post document with withholding tax and this withholding
tax is applicable only in INDIA.

Conditions: Company name and Transaction codes


It is line item validation.
Create Validation: - GGB0 → Expand Financial Accounting → Select Line item level (because
it is line item related field) → Click on create validation icon → give any name as identification –
LIV and give description as Line Item Level Validation → SAVE.
Place cursor on our validation-LIV → click on insert STEP icon → will find Step 001 folder under
LIV → SAVE.

 It’s shown as folder as Step 001 under LIV.


Click on Prerequisite → will find Accounting Document Header-BKPF, Accounting document
segment-BSEG and ABAP system fields under list of structure box → Double click on BKPF will
find all fields under Accounting Document Header → Double click on company code-BUKRS →
this BUKRS then shown on above the screen with blue color → then click on ‘=’ equal symbol
→ click on constant button → give our company code → click on ‘AND’ → click on BKPF →
Double click on Transaction code → Click on ‘=’ → click on constant and give FB60 → click on
‘OR’ → Double click on Transaction code → click on ‘=’ → click on constant and give F-43 →
click on ‘OR’ → Double click on Transaction code → click on ‘=’ → click on constant and give
MIRO → click on ‘OR’ → Double click on Transaction code → click on ‘=’ → click on constant
and give F-48.
Click on Check → Double click on BSEG (line item) → Select & Double click on Business
place → then Business place shown in above the screen with blue color → Click on ‘<> (Not
Equals symbol)’ symbol → click on constant and don’t give anything should be blank and
ENTER that will show blank in above the screen as (“ “)
Click on Message → give msg type-E → Click on maintain msg icon → Give error msg on any
number like 000, 001, 002… double click on it and give msg as “Business place is mandatory,
please correct it” here I used ‘001’→ SAVE → go back and → give msg number-001 just now
we used → enter → here we see msg text what we gave in previous step → SAVE.
Assign validation to our company code: - OB28
Go to OB28 → new entries → Company code-SAI1 → Call up point-2(Line item level only) →
Validation-LIV (what we created in previous step) → Activation level-1 for active → SAVE.
Testing: - If we try to post any document in FB60 without business place will give error msg with
code- Z1FI001 (ZIFI-msg class & 001-msg number)

Ex2: Document date not greater than current date.

Ex2: Document date not greater than current date: -


Step1- Prerequisites: - Company code-SAI1
Step2- Check: - Document date <= Current date
Step3- Message- Document date is in future, please correct it.

Create Validation: - GGB0 → Expand Financial Accounting → Select document header level
(because it is header related document) → Click on create validation icon → give any name as
identification –ZHL and give description as Header Level Validation → SAVE.

 It’s shown as folder as ZHL under Document Header Level.


Place cursor on our validation-ZHL → click on insert STEP icon → will find Step 001 folder
under ZHL → SAVE.

 It’s shown as folder as Step 001 under ZHL.


Click on Prerequisite → will find Accounting Document Header-BKPF and ABAP system fields
under list of structure box → Double click on BKPF will find all fields under Accounting
Document Header → Double click on company code-BUKRS → this BUKRS then shown on
above the screen with blue color → then click on ‘=’ equal symbol → click on constant button →
give our company code.
Click on Check → Double click on BKPF → select document date-BLDAT and double click on it
→ then document date shown in above the screen with blue color → Click on ‘<=’ symbol →
click on preview level icon ”← “ → to show ABAP system fields → double click on ABAP system
fields → select current date field.
Click on Message → give msg type-E → Click on maintain msg icon → Give error msg on any
number like 000, 001, 002… double click on it and give msg as “Document date is in future,
please correct it” here I used ‘000’→ SAVE → go back and → give msg number-000 just now
we used → enter → here we see msg text what we gave in previous step → SAVE.
Assign validation to our company code: - OB28
Go to OB28 → new entries → Company code-SAI1 → Call up point-1(Document header level
only) → Validation-ZHL (what we created in previous step) → Activation level-1 for active →
SAVE.
Testing: - If we try to post any document in future date @ FB50/FB60 will give error msg with
code- Z1FI000 (ZIFI-msg class & 000-msg number)

Ex3: Document Type: - Document type should be SA @ F-02. (F-02 in background this T-Code
should be FB01)
Step1- Prerequisites: T-Code= F-02 in background this T-Code should be FB01
Step2- Check: - Document type = SA
Step3- Message- Only document type SA is allowed.

Create Validation: - GGB0 → Expand Financial Accounting → Select document header level
(because it is header related document) → Place cursor on our validation-ZHL (In one header
level we can create only one validation, under this validation we can create no of steps) → click
on insert STEP icon → will find Step 002 (step 001 already created) folder under ZHL → SAVE.

 Step 002 is shown as folder under ZHL @ Document Header Level.


Click on Prerequisite → will find Accounting Document Header-BKPF and ABAP system fields
under list of structure box → Double click on BKPF will find all fields under Accounting
Document Header → select and Double click on Transaction code → this Transaction code then
shown on above the screen with blue color → then click on ‘=’ equal symbol → click on constant
button → give FB01 (F-02 in background this T-Code should be FB01).
Click on Check → Double click on BKPF → select document type and double click on it → then
document type shown in above the screen with blue color → Click on ‘=’ symbol → click on
constant button and give ‘SA’ → Enter.
Click on Message → give msg type-E → Click on maintain msg icon → Give error msg on any
number like 000, 001, 002… double click on it and give msg as “Only Document type ‘SA’ is
allowed” here I used ‘002’→ SAVE → go back and → give msg number-002 just now we used
→ enter → here we see msg text what we gave in previous step → SAVE.
Assign validation to our company code: - OB28

IMP: Here this step is not required because we already assigned “ZHL” to our company code in
first example.
Ex4: Transaction code F-02 should allow only specific GL A/Cs (Means: In our company we
have created so many GL A/Cs in which we can restrict some GL A/C to post in F-02)
Step1- Prerequisites: T-Code= FB01 (F-02 in background this T-Code should be FB01)
Step2- Check: - GL A/Cs = 500001, 900000, 300002 & 400010 (Here only this GL A/C are able
to post documents in F-02 remaining we can’t.)
Step3- Message- GL A/C entered is not allowed in this transaction code.

IMP: If we don’t want this validation after we assigned to our company, then go back to OB28
and select our validation and in Activation level we can select as deactivate.

Creation of Set: - GS01-If we want to give same condition type to different company
codes/transaction codes at a time instead of using “OR” we can use SET.
GS01 → Give any set name-TCODES → Table-BKPF → Enter → Field name Tcode (In drop
down list Transaction code) → Continue → Text as Transaction Codes → Give Tcodes-
FB60/MIRO/F-43/F-48 in from value column → SAVE.

 This is suitable for Ex1-Business place.


In Ex1: - GGB0 → All are same except prerequisites step → place cursor on end of
prerequisites logic and click on delete element icon up to “AND” remove all tcodes → Double
click on BKPF → Select and Double click on transaction code field → continue → click on ‘OR’
→ Click on set directory → give name of set what we created in GS01 → enter → back and
SAVE.
Test it in any tcodes which we are gave in set.

IMP: - If we want add another Tcode also possible in set @ GS02.


In GS02 we can Tcodes at from value column.

Validation with User Exit: - Validation is possible when that query related to BKPF & BSEG
table only other than this table we go for validation with user exit.
Ex: - While posting vendor invoice system should give error message if tax number-1 field in
vendor master is blank.
Here in validation we don’t have vendor master table LFA1 then first for user exit then
validation.

- User exit for Validation program – RGGBR000

- User exit for Substitutions program – RGGBS000


Sometimes validation requirements are quite complex and can’t be done using the standard
validation configuration.
Ex: Our project had a requirement that in transaction code F-28 (Incoming payment from
customers) the reference field must be of length 7 characters and should be prefixed with the
letter “C” or “L”
This kind of requirement we need to go for user exits. We need to write Functional
Specifications FS → based on this FS, ABAPer will create on exit in program RGGPR000.

How to assign exit in validation: -


GGB0 → F.A → Header level → ZHL → Create STEP → Tax number check.
Click on Prerequisite → Double click on BKPF → Double click on transaction code → click on
‘=’ → click on constant → FB60/MIRO.
Click on Check → Click on exit icon → Double Click on our exit given by ABAPer.
Click on Message → give msg type-E → Click on maintain msg icon → Give error msg on any
number like 000, 001, 002… double click on it and give msg as “Tax number in vendor master is
blank please maintain” here I used ‘004’→ SAVE → go back and → give msg number-004 just
now we used → enter → here we see msg text what we gave in previous step → SAVE
Extra step for exit → place cursor on our step-004 and go to check → click on exit → select
our exit → click on ABAPer routine icon.
Substitutions;
Substitutions is also similar to validation but there is no Message. Instead of msg it trusts the
logic and posts the document with correct data.
 Validation contains a prerequisite, check and message.
 In substitutions contains prerequisite and substitutions.
Ex1: - Default profit center for all bank GL A/Cs.
Sol: - We have standard solution for maintain default profit center for GL A/Cs in FAGL3KEH
Disadvantages for FAGL3KEH: -

- Default profit centers will work only in case if we don’t give any profit center while posting
documents. If we give any profit center during document posting it will not work and take
what profit center we give that one it will take irrespective of logic.
- It is not work at the time of clearing.
- Passage splitting will overwrite FAGL3KEH

Substitutions; GGB1 → F.A → Profit center is line item level in this click on create
substitutions button → LIS-Line Item Substitution → click on step icon → here we find out one
window to select field first close that window without any action.(Because this step selection will
do in last transition time) → we can find Step-001 give name as Profit center substitution.
Here set is required because in some companies use so many bank accounts so better to
create set for all these bank accounts → Open another window → create set in GS01 → set
name-GL Accounts → Table-BSEG → field name-HKONT (General Ledger Account) → Give all
bank GL A/Cs in from values → give text-Bank GL A/Cs for substitution → SAVE.
Go bank to GGB1 → Click on prerequisite → double click on BSEG → double click on GL-
HKONT → click on ‘IN’ → click on set directory → select our set GL Accounts → click on
continue.
Click on Substitution → click on insert substitution icon with ‘+’ symbol → will find one window
there we select profit center → click on continue → here we find constant value, exit and field
from there we select constant value → click on continue → select profit center-PC200 (our profit
center) → SAVE.
Assign validation to our company code: - OBBH
OBBH → Company code-SAI1 → new entries → SAI1-02-LIS-1 → SAVE.
Testing in F-23.
IMP: - Some fields in BKPF/BSEG not appear in prerequisite at that time we need to bring that
fields in to that table for that;
Ex: - Business place will not be available in substitution entry fields in GGB1 → In this case →
Go to SM30 → Give table-VWTYGB01 → click on maintain button → go to position → give
credentials 9-S-BESG → continue → will find our field then remove exclude indicator for that
field here business place-BUPLA.
Ex2: - Business Place; for company code-SAI1 business place always should be SAI1.
Sol: - Prerequisite-Company code = SAI1
Substitution- Business place = Constant SAI1

Ex3: - For transaction codes F-02/FB01, document type should be ‘SA’.


Sol: - Prerequisite-Tcode = FB01
Substitution- Document Type = SA

User exit for Substitutions program – RGGBS000

Ex4: - Substitution for Asset Master Data.


Depreciation key has to be defaulted based on the combination of asset class and evaluation
group.
GBB1 → don’t go F.A → use directly Asset Accounting → remaining same steps like
validation/substitutions.
Prerequisite- Company code ‘=’ SAI1 ‘AND’ Asset class ‘=’ 1111BUIL ‘AND’ Evaluation group
‘=’ 2001 (In ANLA table will get the fields)
Substitution- Depreciation key ‘=’ constant value ‘=’ LINS.

EXIT- If it is go to EXIT → In substitution go to depreciation key → select exit → give exit logic
→ SAVE.

OACS- Assign Asset Master Substitution to company code


OACV- Assign Asset Master Validation to company code

Very IMP: - When we create Validations and Substitutions system will not create Transport
Request automatically. We manually create TR for this.

How to create TR manually: -


If it is validation-GGB0 and for substitution-GGB1
Place cursor on our validation/substitution folder-ZHL/LIV → click on Validation/Substitution Icon
in menu bar → click on transport → select all check boxes except transport sets → execute →
give/create our own TR.

Disadvantages of manual TR creation: -


When create manual TR it will take/include all steps with in this valuation/substitution folder, if
there is any validation under testing (some other person working on other validation in the same
folder) that will also be moved to production and that will give so many error msg in production
system.

Solutions: - Option1- We need to check is there any validation under testing while we creating
manual TR (compare with production system-10 with development system-11 Ex: if one folder
consist 10 steps after we created TR will see in 11 only, including ours if its shown 12 that
means some other validation is added) if it is there remove (somebody’s we can’t remove it ask
him to remove) and create TR.

Option2- Create validation manually in quality and production, if we have authorization


otherwise ask BASIS team to move or provide authorization for a while.
New GL Concept: -
In new GL we have 4 concepts are there.
1- Parallel Ledger Concept
2- Document Splitting
3- CO-FI online reconciliation
4- Segment Reporting
1-Parallel Ledger Concept: - Who want to follow different accounting principles (Two different
books of accounts) and different fiscal year variant.
Why should we follow different accounting principles: -
Ex: - Company in US and another company code in India.

Company Local Currency Group Currency Fiscal Year Accounting


Principle
US USD USD Jan-Dec IFRS
INDIA INR USD Apr-Mar GAAP

For above situation we need to maintain ‘Group Reporting’ and ‘Local Reporting’
1- Group Reporting – IFRS with different Fiscal Year
2- Local Reporting – GAAP with different Fiscal Year
In this situation we need to follow two different ledger for every document postings.
Ex: - Inventory-1000/-
Freight-100
Total-1100
For this example we need to maintain two ledgers one is for US-Group reporting and one is for
India-Local Reporting. According to Country specific accounting principles.
IFRS/US/Group Reporting; GAAP/IND/Local Reporting;
MIGO- Inventory Dr – 1000 MIGO- Inventory Dr - 1100
Freight Dr – 100 GR/IR Cr - 1000
GR/IR Cr – 1000 Freight Cr - 100
Freight Cr – 100

MIRO- GR/IR Dr – 1000 MIRO- GR/IR Dr - 1000


Freight Dr – 100 Freight Dr - 100
Vendor Cr – 1100 Vendor Cr - 1100
IMP: - We can follow more than one currencies when companies FY and COA are same only.

 Parallel Ledger-Following two different books of accounts.


 To accommodate this, we follow parallel ledger.
 In parallel ledger, we will have leading ledger and non-leading ledger.
 Leading Ledger: - will always responsible for Group reporting.
 Non-Leading Ledger: - will be responsible for local reporting.

For US/Group reporting use “OL” for standard leading ledger


For IND/Local reporting use ‘NL’ or anything we need to give for non-leading ledger

OL – FYV – Jan to Dec


NL – FYV – Apr to Mar

- If we follow leading ledger for local reporting it is not possible to get consolidated
financial statements.
- It is not possible to assign all company codes to controlling area, because we need to
assign different FYV to each company code.

Configuration; -
Step1- Define ledgers for general ledger accounting;
Path-Financial Accounting (New) → Financial Accounting Global Settings (New) → Ledgers →
Ledger → Define Ledgers for General Ledger Accounting.
For leading ledger standard one is there in this-OL
For non-leading ledger → new entries → Ld (ledger)-NL (any two letters for identification) →
Ledger name-Non-Leading ledger for SAI1 India → Total tables-FAGLFLEXT → SAVE.

IMP: - If we have another company code in India, we can use this NL as non-leading ledger.

Step2: - Define Currencies of Leading Ledger;


Path-Same path. Financial Accounting (New) → Financial Accounting Global Settings (New) →
Ledgers → Ledger → Define Currencies of Leading Ledger.
New entries → Give company code (Local reporting company) → don’t click enter → do
changes in 2nd local currency column → Currency type-30 (Group currency) → Valuation-0(legal
valuation) → Exchange rate type-M(what our company maintain) → Source currency-1 →
Translation date type-3 → SAVE.
Ex: - Local-IND---company code currency-INR---Group currency-EUR----If document is posted
in US currency.

- USD-Transaction currency/Document currency


- INR-company code currency
- EUR-Group currency

IMP: - It is possible to get financial statements only in two currencies GROUP & LOCAL.

Step3: - Define and Activate Non-Leading Ledgers;


Path- Same path. Financial Accounting (New) → Financial Accounting Global Settings (New) →
Ledgers → Ledger → Define and Activate Non-Leading Ledgers.
Give non-leading ledger name → new entries → Company code (local) → give fiscal year
variant (this should be different from group reporting company) → Give 2nd currency from its
drop down list → SAVE.
Currencies 1 will update automatically which we are saved in last step.
Step4: - Assign Scenarios and Customer Fields to Ledgers;
In document posting for Ex-FB60 in debit and credit we update some fields like Cost center,
Profit center and segments. So which field we want to maintain we will assign that filed in this
step.

IMP: - This document posted/updated in both leading and non-leading ledgers.

Select our non-leading ledger in ledger field → Double click on scenarios field → new entries →
select which field we want in drop down list → SAVE.
Step5: - Activate Cost of Sales Accounting; This step is not required.
Step6: - Define Ledger Group;
When we create NLL in first step automatically ledger group will create.
Select our NLL → double click on ledger assignment → here will find ledger group that was
already created. (Here we can add other NLLs also)
Step7: - Define Accounting Principles;
Path- Financial Accounting (New) → Financial Accounting Global Settings (New) → Ledgers →
Parallel Accounting → Define Accounting Principles.
New entries → give accounting principle as any identified name like for local reporting IND-
Accounting principles for NLL-NL. And also give for group accounting principles like EUR-
Accounting principles for LL-OL → SAVE.
Step8: - Assign Accounting Principle to Ledger Groups
Path- Financial Accounting (New) → Financial Accounting Global Settings (New) → Ledgers →
Parallel Accounting → Assign Accounting Principle to Ledger Groups.
New entries → give accounting principle as IND created in last step and assign target ledger
group –NL for NLL and EUR-OL for LL → SAVE.
TETING: - Go to FB60 and do testing here we can find one error.

ERROR: - For define and assign number ranges.


(If we follow the same FYV for Leading and non-leading ledgers we don’t get this error if it is
different for both it come)
IMP: - But in 3rd step we assign different FYV to NLL. So we need to assign number ranges.

Step9: - Define Document Types for General Ledger View


Path- Financial Accounting (New) → Financial Accounting Global Settings (New) → Document
→ Document Types → Define Document Types for General Ledger View.
Select our NLL name → New Entries → for document types –KA, KR, KZ and SA give number
range name as XA for all → SAVE.
Step10: - Define Document Number Ranges for General Ledger View;
Path- Financial Accounting (New) → Financial Accounting Global Settings (New) → Document
→ Document Number Ranges → Documents in General Ledger View → Define Document
Number Ranges for General Ledger View.
Give our company code-local reporting company → click on change interval → click on insert
intervals → XA-2018-no.ranges From –To → click on insert → SAVE.

IMP Error: - Here may get another error like posting period not opened.
Sol: - For NLL we follow different FYV so we need to create separate posting period variant @
OBB0 and in OB52 and assign this to NLL in step -3 after FYV column. And open it whenever
we want. Don’t change in actual PPV when we created at the time of implementation to group
company.

Result: - After the configuration of above steps, will post the documents. This documents will
show 2 accounting entries one for Leading ledger another for non-leading ledger.
Go to display → Click on general ledger view icon → will see OL-Leading ledger entry → click
on other ledger icon will see NL-non leading ledger entry.
If we want to post a document only in non-leading ledger: -
In T-Codes FB01L & FB50L will find extra column called LEDGER GROUP in this column will
give in which ledger group we want to post document directly. If we select this field that
document posted in only that particular ledger. For this we need configure the document types
and number rages.
Configuration;
Step1: - Define Document Types for Entry View
Path- Financial Accounting (New) → Financial Accounting Global Settings (New) → Document
→ Document Types → Define Document Types for Entry View
Select ‘SA’ document type → click on copy as icon → change in to ‘XA’ (any code) → SAVE →
Change description to Posting to NLL.
Step2: - Define Document Types for Entry View in a Ledger
Path- Financial Accounting (New) → Financial Accounting Global Settings (New) → Document
→ Document Types → Define Document Types for Entry View in a Ledger
Select our NLLedger → new entries → give above document type-‘XA’ → SAVE.
Step3: - Define Document Number Ranges for Entry View;
Path- Financial Accounting (New) → Financial Accounting Global Settings (New) → Document
→ Document Number Ranges → Documents in Entry View → Define Document Number
Ranges for Entry View.
Give our company code → insert number ranges → XA-2018-Nuber Ranges → SAVE.

FI Organizational Structure: -
Operating Concern
Controlling Area
Company Code
Business Area
Profit Center
Segments
Document Splitting: -
Profit Center: -
- Profit center is used to get financial statements at internal unit level.
- Each and every line item of document should be have a profit center(In FB60/50 after
giving cost center click on more data there will find profit center)
- In vendor data we don’t get profit center.
- To get profit center will use Document Splitting. (Before this we use reconciliation
method)

Purpose of Document Splitting: - To get financial statements at internal organization unit level
(Profit center, Business area & Segment) at any point of time.

IMP: - Based on document type will derive profit center. (D.Types-SA, KA, KR etc…)

KR: - GL A/C No A/C name Amount Cost center Profit center


400010 Expenses Dr 1000 CC1 PC1
600010 Vendor Cr 1000 - PC1 (Has to derive)

IMP- Here vendor a/c doesn’t have profit centers instead of vendor, sundry creditors (GL A/C)
will have profit centers (Vendor recon A/C is Sundry Creditors only so will get profit center @
FBL3N but we don’t get in FBL1N)
In the above example 100500-Sundry Creditors, we need to derive profit center for sundry
creditors.
If GL A/C 100500-Sundry Creditors profit center can derive based on 400010-Expence A/C.
Will assign all document types to concern business transactions.

Splitting Rules: - Splitting rules ate pre-defined rules.


IMP: - According to above example-If business transaction-Vendor Invoice (KR) and if this is
item category GL A/C (sundry creditors) derive profit center based on Expenses A/C item
category.

 Document types assign to Business Transaction


 GL A/C assign to Item Category
Configuration: -
Step1: - Classify G/L Accounts for Document Splitting
Path- Financial Accounting (New) → General Ledger Accounting (New) → Business
Transactions → Document Splitting → Classify G/L Accounts for Document Splitting
Select our COA-SCOA → new entries → Select our GL A/Cs and give respective Item Category
to each and every GL A/C (if 100000-400000 Number rage of GL A/Cs are in same item
category give that numbers directly from 100000 to 400000 and give item category at a time) →
Here we find all our GL A/Cs there in FS00 → and Item categories standard one there in system
automatically.
Step2: - Classify Document Types for Document Splitting –
Path- Same Path.
Here we need not to change anything it is standard one based on the above step. But if we
create any new document type after 1st step we need to add that document type in to this. Ex;
we created ‘XA’ NEW GL so we need to assign ‘XA’ in to this.
XA is related to Vendor, so assign vendor related item category (0300) to this XA document
type.
IMP: - For uploading documents we create new document type from copy of SA document type.
Step3: - Define Document Splitting Characteristics for General Ledger Accounting
Path- Same Path.
It is also standard one, if not there in profit center in field need to add.
New entries → select field-profit center, if we have segment also select segment → give partner
field as PC-PPRCTR → make it PC as mandatory → SAVE. (Segment-PSEGMENT)
Step4: - Activate Document Splitting
Path- Same Path.
Select active document splitting icon → select method as all zeros with 12-(0000000012) →
select INHERITANCE indicator → SAVE.
IMP: - Whenever we create document types we need to assign this DT to business transactions
is mandatory.
Profit center is derived from cost center
If we post document in FB60 for expense A/C we need to assign cost center as expense. For
vendor automatically come.
FB60 → Click on document icon → simulate general ledger → here we find Sundry Creditors
GL A/C instead of Vendor A/C → we want to see logic of this document → go to export mode
icon → go back → post it → document display @document icon → in entry view will not find
Profit Center → go to general ledger view will find profit center.
 In FBL1N will not find profit center
 In FBL3N will find profit center.
FAGLL03: - For new GL accounts documents will see line item display @ FAGLL03 not in
FBL3N. Because in FBL3N will not get profit center for each line item but in FAGLL03 will find
PC.
Use FAGLB03 for balance display in GL view instead of FS10n. Also we can find balances
accordingly ledger level (Leading ledger & Non-leading ledger).

Ex: - FB60;
Entry view GL view (S.Creditors will get split in to two items)
Rent A/C Dr -4000 cc1 pc1 Rent A/C Dr -4000 cc1 pc1
Rent A/C Dr -6000 cc2 pc2 Rent A/C Dr -6000 cc2 pc2
Vendor A/C -10000 Sundry Creditors Cr -4000 pc1
Sundry Creditors Cr -6000 pc2

Active Splitting: - The above example is nothing but active splitting.


In FB60 → two expenses A/Cs (same or different) → give two different cost centers →
document → simulate GL → see in expand mode.
If base GL A/C (Above two expenses A/Cs) having different profit center, offsetting GL A/C
(Sundry Creditors –Recon A/C) will get split based on base GL A/Cs(Expenses A/C).

Passive Splitting: - Profit center will come at the time of clearing. When we clear open
items, profit center will get derive based on your previous document.
Examples for Active & Passive Splitting: -

GL A/C No A/C name Amount Cost center Profit center splitting


400010 Expenses Dr 1000 CC1 PC1 Active Splitting
600010 Vendor Cr 1000 - PC1 Active Splitting
(The above example accordingly base GL (expense a/c) will assign PC to vendor a/c
[S.Creditors])
Clearing Document;
600010 Vendor Dr 1000 passive splitting
500001 Bank Cr 1000 active splitting
(Here PC to vendor a/c [S.Creditors] get based on last document)
IMP: - In F-53 in vendor a/c we won’t give PC → after enter fields in F-53 we click on process
open item → here will find PC automatically derive from last document line item.
Invoice Posting;

GL A/C No A/C name Amount Cost center Profit center splitting


400010 Expenses Dr 4000 CC1 PC1 Active Splitting
400010 Expenses Dr 6000 CC2 PC2 Active Splitting
100500 S.Creditor Cr 4000 CC1 PC1 Active Splitting
100500 S.Creditor Cr 6000 CC2 PC2 Active Splitting

Payment/Clearing;

GL A/C No A/C name Amount Cost center Profit center splitting


100500 S.Creditor Dr 4000 CC1 PC1 Passive Splitting
100500 S.Creditor Dr 6000 CC2 PC2 Passive Splitting
500001 Bank Cr 4000 CC1 PC1 Active Splitting
500001 Bank Cr 6000 CC2 PC2 Active Splitting

IMP: - After payment, in document display will not get profit center. → Click on GL view will get
profit center.
In FB60 will give CC to Debit items and FB70 will give CC to Credit items.
Zero Balance Clearing: - Zero balance clearing will arise when we are posting the
document across different profit center with in same organization.
Ex: - Place Bank name Profit center
BGLR Bank-1 PC1
HYD Bank-2 PC2
When we transfer amount from BGLR-Bank-1 to HYD Bank-2 this is arise.
Entry View;
Bank-2 Dr 10000 PC2
Bank-1 Cr 10000 PC1
General Ledger View;
Bank-2 Dr 10000 PC2
Bank-1 Cr 10000 PC1
Zero Balance Clearing Cr 10000 PC2
Zero Balance Clearing Dr 10000 PC1

Bank-2 Dr-10000 with Zero balance clearing Cr-10000 so balance is ZERO.

Configuration: -
Step1: - Create B/S GL A/C under Asset or Liability as Zero Balance Clearing A/C (No open
item nothing just normal GL A/C) in FS00
Step2: - Define Zero-Balance Clearing Account
Path- Financial Accounting (New) → General Ledger Accounting (New) → Business
Transactions → Document Splitting → Define Zero-Balance Clearing Account
Select ‘000’ as account key that was standard one → Double click on Accounts folder → select
our COA → click on new entries → assign above created ‘Zero Balance Clearing A/C’ in to this
→ SAVE.
Step3: - Define Document Splitting Characteristics for General Ledger Accounting
Path- Financial Accounting (New) → General Ledger Accounting (New) → Business
Transactions → Document Splitting → Define Document Splitting Characteristics for General
Ledger Accounting
Activate Zero balance column for PC if there business place & Segments also → click on
continue → click on Yes → Click on continue → SAVE.
Step4: - Activate Document Splitting
Path- Financial Accounting (New) → General Ledger Accounting (New) → Business
Transactions → Document Splitting → Activate Document Splitting
Ex: - FB50-Cash A/C Dr and Cash A/C Cr with same amount and give different Profit center Dr
and Cr (Don’t give CC because here Dr and Cr both are one GL A/C if we give CC both PC will
same. So manually give PC to DR and Cr differently.)
Like… Cash A/C Dr – 1000
Cash A/C Cr – 1000
Invoice FB60; GL View
Expense A/C Dr – 10000 CC1 PC1
Vendor A/C Cr – 10000 PC1
Payment F-53;
Vendor A/C Dr – 10000 PC1
Bank A/C Cr – 10000 PC2 (Will give manually/Substitution for All bank a/c to same PC)
GL View;
Sundry Creditors A/C Dr – 10000 PC1
Bank A/C Cr – 10000 PC2
Zero Bal Clearing A/C Cr – 10000 PC1
Zero Bal Clearing A/C Dr – 10000 PC2
IMP: - For each PC there should be Dr side also in Cr with same balance.

 Based on splitting rule document will split.


CO-FI Reconciliation: -
FI; In FI by mistakenly one document will assign CC1 instead of CC2
Expense A/C Dr – 10000 CC1 PC1
Vendor A/C Cr – 10000 PC1
Adjustment in FI;
Expenses A/C Cr – 10000 CC1 PC1
Expenses A/C Dr – 10000 CC2 PC2
CO;
CC1 Cr – 10000 PC1
CC2 Dr – 10000 PC2

Configuration: -
Step1: - Define Variants for Real-Time Integration
Path- Financial Accounting (New) → Financial Accounting Global Settings (New) → Ledgers →
Real-Time Integration of Controlling with Financial Accounting → Define Variants for Real-Time
Integration
New entries → Give some variant name-123 → Activate real time integration → Give key date
(from which date onwards we want this) → Give document type-SA → Text-CO-FI integration-
Company name → Activate Cross-Company code, profit center, business place, cost center and
segment → SAVE.
Step2: - Assign Variants for Real-Time Integration to Company Codes
Same Path- New entries → give our company code → give variant name which we created in
first step → SAVE.
IMP: - KB11N-Manually amount transfer to one CC to another cost center.
If we posting one CO document will see two PCs, then online/real-time integration will arise and
it post FI document.
Two CCs having same PC no need of FI document.
Segment Accounting: -
Instead of business area use profit center.
If we need plant level financial statements use plant level profit center, for that use segments to
each plant.

- Company code level we can get financial statements.


- If we want to get FS at plant level we need to define each plant as one profit center.
- If we want to get FS at business place level (Ex: HYD, BGLR, DELHI & MUMBAI), we
need to define each business place as one segment.
- As per accounting standards AS-17, we need to report FS at segment level, if that
particular segment is having more than 10% of total revenue.
- SEGMENT = GROUP OF PROFIT CENTERS.

Configuration: -
Step1- Define Segments;
Path- Enterprise Structure → Definition → Financial Accounting → Define Segment
New entries → Segment-Hyd-SAI1 & Des-Hyderabad-SAI1 → S-Mumbai-SAI1 & D-Mumbai-
SAI1 → SAVE.
Step2- Define Profit Center;
Path- Enterprise Structure → Definition → Financial Accounting → Define Profit Center →
Change Profit Center → select PC → assign segment → Activate status → SAVE.
Step3- Document splitting @ segment level;
Path- Financial Accounting (New) → General Ledger Accounting (New) → Business
Transactions → Document Splitting → Define Document Splitting Characteristics for General
Ledger Accounting
Will get automatically segment column, if not → New entries → Select Segment from the drop
down list → Save → activate button for Zero balance and mandatory field column → SAVE.
IMP- If we post document @ FB60 or any will give CC-cost center it well derive to PC-profit
center and this will derive to segment.

T-Code-S_PL0_86000030 is for Trail Balance display in New GL A/C balances.


T-Code- BSEG for Entry View level GL display
T-Code-FAGLFLEXA is for GL View level display it is a combination of company code, GL A/C
and Profit Center.
Profit Center Derived from Different Modules: -
- FI-Postings: - In case of expenses – Cost Center

Asset accounting – Cost center in asset master


Other GLs – Manual

- MM: - In Material Master - Costing 1 tab


- SD: - In Material Master – Costing 1 tab
- Sales order: - We can change the PC.
Foreign Currency Valuation – FCV: -
It is common practice for organizations to conduct transactions in currencies different from their
local/company code currency. This is what is referred to as Foreign Currency Transaction.

- We have to do the FCV only for the documents which were posted in foreign currency.
- FCV is only on balances in open items not on cleated items. (Customer open items,
Vendor open items and General Ledger Open Line items, Managed in foreign currency.)
Why FCV/Purpose of FCV: -

- There are any FC documents, we need to evaluate them to local currency for book
unrealized loss/gain
- FCV is only for FC documents.

What is different between Real and Unrealized loss/gain: -

- At the time of valuation will get Unrealized loss/gain


- At the time of clearing will get Realized loss/gain.

What is the configuration for FCV: -

- Define Valuation Method


- Define Valuation Areas
- Check Assignment of Accounting Principle to Ledger Group
- Assign Valuation Areas and Accounting Principles.

IMP: - For vendor payments we get loss in FCV, for Customers payment will get gain if FC is
increase. Same type of vendor, will do for customers. Deference only at the time of recon
account we assign customer accounts.
If we make wrong posting in FCV: -

- Go to T-Code-FAGL_FC_VAL → click on reset valuation button → execute.


- If we want reverse the FCV documents go to FAGL_FC_VAL → give all parameters →
select reset valuation button → execute.
Example for FCV: -
Posting Vendor document on month of-January and we have 2months credit period. At the time
of posting invoice, Exchange rate is 60 INR for one USD. And at the time of clearing 63 INR for
one USD. In this transaction we had 300/- loss for the amounts of 100 USD for entire 3monts, in
general practice we post this loss on FC at the time of clearing on March month, but it is not
correct because this loss of FC is not occur only in march month, this loss on FC for Jan, Feb
and March for that reason we use FCV.
General Practice: -
10-01-2018- Invoice posting with 60 INR Exchange rate;

Expense A/C Dr – 100 USD 6000 INR


Vendor A/C Cr – 100 USD 6000 INR
We have credit period of 2 months so paid on 10-03-2018 with exchange rate of 63 INR.

Vendor A/C Dr – 100 USD 6000 INR


Bank A/C Cr – 100 USD 6300 INR
FC loss A/C Dr - 300 INR

We posted loss on March month but this loss for 3 months.


If we use FCV: -
10-01-2018- Invoice posting with 60 INR Exchange rate;

Expense A/C Dr – 100 USD 6000 INR


Vendor A/C Cr – 100 USD 6000 INR

31-01-2018- Exchange rate 61 INR

Exchange loss/FC unrealized loss Dr – 100 INR


Balance Adjustment for FC Cr – 100 INR

01-02-2018- Adjustment Entry means we booked loss for January month but we are not going
to pay amount so every month end post the loss and reverse it for next month begging.

Balance Adjustment for FC Dr – 100 INR


Exchange loss/FC unrealized loss Cr – 100 INR

28-02-2018- still not paid to vendor and exchange rate is 62 INR

Exchange loss/FC unrealized loss Dr – 200 INR


Balance Adjustment for FC Cr – 200 INR

01-03-2018- reversal entry for month end adjustment

Balance Adjustment for FC Dr – 200 INR


Exchange loss/FC unrealized loss Cr – 200 INR

On 10-03-2018- Amount paid and exchange rate is 63 INR

Vendor A/C Dr – 100 USD 6000 INR


Bank A/C Cr – 100 USD 6300 INR
Realized loss/FC loss Dr - 300 INR

What is different between Real and Unrealized loss/gain: -

- At the time of valuation will get Unrealized loss/gain


- At the time of clearing will get Realized loss/gain.
Configuration: -
Step1: - Define Valuation Method; (FCVS)
Path- Financial Accounting (New) → General Ledger Accounting (New) → Periodic Processing
→ Valuate → Define Valuation Methods
New entries → VM-FCVS (any identical name) → Des-FCV-SAI1 → Select always evaluate
column → Select document type-SA → Exchange rate type for Debit and Credit-‘M’ → SAVE.
Step2: - Define Valuation Areas; (VS)
Path- Financial Accounting (New) → General Ledger Accounting (New) → Periodic Processing
→ Valuate → Define Valuation Areas
New entries → Valuation name-VS (any identical name) → give valuation method name which
we created in 1st step-FCVS → select company code currency @ currency type column →
SAVE.
Step3: - Check Assignment of Accounting Principle to Ledger Group
Path- Financial Accounting (New) → General Ledger Accounting (New) → Periodic Processing
→ Valuate → Check Assignment of Accounting Principle to Ledger Group.
At the time of parallel ledger we done this step-IND-NL and US-OL
Step4: - Assign Valuation Areas and Accounting Principles
Path- Financial Accounting (New) → General Ledger Accounting (New) → Periodic Processing
→ Valuate → Assign Valuation Areas and Accounting Principles
New entries → Give valuation area-VS created in 2nd step → give accounting principle-US for
leading ledger → SAVE.

Configuration for automatic postings for FCV : -


Step1: - Creation of GL accounts; Create normal GL A/Cs. TOTAL-5

- Unrealized loss FX A/C and Realized loss FX A/C @ Expenses A/C


- Unrealized Gain FX A/C and Realized Gain FX A/C @ Incomes A/C
- FX-Balance Adjustment A/C @ Sundry creditors under Liabilities A/C

Step2: - Prepare Automatic Postings for Foreign Currency Valuation;


Path- Financial Accounting (New) → General Ledger Accounting (New) → Periodic Processing
→ Valuate → Foreign Currency Valuation → Prepare Automatic Postings for Foreign Currency
Valuation
Double click on ‘KDF’ transaction key (for open item) → Give our COA → new entries → give
GL A/C – Sundry Creditors → give realized loss and gain GL A/Cs in “exchange rate difference
realized box” → give unrealized loss and gain along with FX balance adjustment A/C in
“validation box” → SAVE.
What is different between Real and Unrealized loss/gain: -

- At the time of valuation will get Unrealized loss/gain


- At the time of clearing will get Realized loss/gain.

Step3: - Maintain Exchange rate; OB08


Path- give M - 01.04.2018 – 60 * 1 INR = 1 USD @ OB08
Step4: - Post Vendor Invoice; FB60
Assumptions: -
Invoice date is – 10.04.2018 and give currency as USD-100USD
Exchange rate on 10.04.2018 is 60 INR = 1 USD
Vendor payment after 2 months.
IMP- give USD in FB60 at the time of invoice posting
Now we are in month end 30.04.2018
Maintain exchange rate - OB08
Give M - 30.04.2018 – 61 INR* 1 = 1 USD @ OB08
Step5: - Foreign currency valuation;
Path- Accounting → Financial Accounting → General Ledger → Periodic Processing → Closing
→ Closing Cockpit.
Step6: - Valuate;
Path- Accounting → Financial Accounting → General Ledger → Periodic Processing → Closing
→ Valuate → Foreign Currency Valuation (New) - FAGL_FC_VAL
Give company code, valuation key date-(month end date) and Validate area-VS
Go to postings → give document and posting date for month end → give reversal posting date
as next month first day date → select reversal postings box.
Go to open item box → select box of valuate GL A/Cs open items → give vendors from – 1 to -
99999 (means validate all) → execute → see document → go back → select create postings →
execute → click on 2 posting icon → copy document number and see in FB03.
Assumption we are in 30.05.2018
Maintain exchange rate - OB08
Give M - 30.04.2018 – 62 INR* 1 = 1 USD @ OB08
Do same valuate step for 5th month end
Assumption we are in 10.06.2018
Maintain exchange rate - OB08
Give M - 30.04.2018 – 63 INR* 1 = 1 USD @ OB08
Step7: - Make Payment to Vendor; F-53
F-53 → document and posting date as 10.06.2018 → currency as USD → process open item →
clear payment → simulate → In USD we won’t find loss or gain → change currency to INR →
then will able to see exchange loss or gain.
IMP Points –
Why FCV or Purpose of FCV: -

- There are any FC documents we need to valuate them to local currency to book
unrealized loss/gain
- FCV use only for FC documents.
- What the different between Realized & Unrealized loss/gain: -
- * At the time of Valuation will get unrealized loss/gain
- * At the time of Clearing will get realized loss/gain.
- If we do for customers, means company get FC from customers this time we need to
give customer recon a/c to get loss/gain.
If we make wrong posting for FCV: -
Go to FAGL_FC_VAL click on reset valuation → execute. Means, if we want reverse FCV
documents go to FAGL_FC_VAL and give all parameters and select reset valuation button.

Support Tool: -
Follow note book…
Service now tool we are using
SLA-Service level agreement: -

- Low – 5days
- Medium – 3days
- High – 1day
- Very high – 3hours

It has 2 level of tickets we process;


Level1 – Low priority tickets
Level2 – High priority tickets
We process both level, no separate team.
CHANGE REQUEST: - PCR-Production change request.

- If any configuration or program change ate required we need to raise the change
request.
- Once we raise CR, we can close original incident and ask the user to follow CR.
- Implementation Project: -
- Once the BBP-business blue print is signed off, client is not allowed to make any
changes or to give any new processes to map.
- If they do this then that is treated as change request.

CR Steps: -
1- As a first step, we get all the requirements
2- Consultant create the change request
3- Do the configuration /development changes
4- Do the testing (FUT-Functional Unit Testing) in golden client.
5- Release the TR
6- Request approval to quality
7- Get it approved by concern person
8- Do the quality testing and integration test of any
9- Get UAT-User Acceptance Test
10- Request approval to production
11- Get it approved by concern person
12- Get it implement in production.

IMP- We need some notes to follow SAP rules. Called SAP notes/OSS notes.
Available in service.sap.com  SAP support portal.
Need login details there in client, client will provide to consultant.
EBRS- Electronic bank reconciliation statement: -
Introduction
Medium to large scale businesses do thousands of transactions each day. Lot of these
transactions are banking related. Reconciling bank balances with book balances manually is not
possible.
Uploading manual bank statement in ERP system is a time consuming affair and prone to
clerical errors due to manual intervention. Treasury staff in an organization may end up
spending lot of time usually at the end of month for reconciliation.
Electronic bank statement feature provided by SAP can save a lot of time and is error free. SAP
will upload the file which is sent (FTP) by bank. Based upon SAP configurations financial
postings will be done. This configuration will upload the statement automatically and at the
same time will do the bank sub ledger postings and clearing postings.
Prerequisites
Following are the basic requirements for setting up EBS in SAP:

 House Bank
 Bank file in specified format
 SAP Configurations for EBS
 Set up connection between SAP and bank for file transfer mostly secured (sFTP)
 SAP automated batch set up

By using BRS we know Check is cleared or not.


V.IMP- We have two2 types of E-bank statements provided by banks either one.
1 – MT940
2 – BA12
We need to download above statement in to SAP.
EX: - SBI Bank A/C.
We need 3 GL bank A/Cs;
1- Main bank account
2- Check issue account – Open item in GL @ FS00
3- Check deposit account - Open item in GL @ FS00
Payment to Vendor: -

Vendor A/C Dr
Check issue A/C Cr – Open item

Payment to Customers: -

Check Deposit A/C Dr – Open item


Customers A/C Cr
If we issue the check – Open item
If we deposit the check – Open item
At the time of bank reconciliation – It’s shown as cleared items.

After payment: -

Check issue A/C Dr


Main bank A/C Cr

After cleared: -

Main bank A/C Dr


Check issue A/C Cr

All banks are follow the unique transaction types for payment and receipts.
Called External Transaction types like NCHK, NCHR…. Link to posting rules (which GL A/Cs
has to debit and credit)
Manual check clearings from T-Codes F-04 and FB05

Configuration: -
Step1- Create Account Symbols: -

- MAINBANK for main bank


- CHKISSUE for check issue
- CHKREC for check receipt/deposit
- BANKCHG for bank charges

Step2- Assign GL A/Cs to Account Symbols: -

- MAINBANK - +++++++++0
- CHKISSUE - +++++++++1
- CHKREC - +++++++++2
- BANKCHG - 400200 (Direct GL A/C)

++++++++++ = GL A/C number have max 10 digits so give nine9 “+++++++++” then give 0 for
main bank, 1 for check issue and 2 for check receipt. Means main bank GL A/C number end
with “0” and check issue GL A/C end with “1” and check deposit/receipt GL A/C ends with “2”
and for BANKCHG-bank charges GL A/C we created only one GL A/C for all banks use this one
accounts.
If we have more than one bank use same rules for bank GL A/Cs to BRS.
Step3- Create Posting Rules: -

- CHKISSUE for check issue ------------- ZCI


- CHKREC for check receipt/deposit --- ZCR
- BANKCHG for bank charges ----------- ZBC

Use any code like ZBC, ZCI & ZCR but start with “Z”
Step4- Define Posting Rules: -

- Posting keys for ZCI-check issue are 40-Debit to CHKISSU and 50-Credit for
MAINBANK. But it is debit treatment no need to assign 40 only assign 50.
- Posting key for ZCR – Check receipt are 40-Debit to MAINBANK and 50-Credit to
CHKREC. But is credit treatment no need to assign 50 only assign 40.
Step5- Assign External Business Transactions to Posting Rules: -

- NCHK for ZCI-check issue


- NCHR for ZCR-check receipt
- NCHG for ZBC-bank charges

Configuration: -
Step1: - Make Global Settings for Electronic Bank Statement
Path- Financial Accounting (New) → Bank Accounting → Business Transactions → Payment
Transactions → Electronic Bank Statement → Make Global Settings for Electronic Bank
Statement.
Give our COA → Create account symbols → new entries → and give account and tax as
below; → SAVE.

- MAINBANK for main bank


- CHKISSUE for check issue
- CHKREC for check receipt/deposit
- BANKCHG for bank charges

Double click on assign accounts to account symbols → new entries give accounts symbols
created in last step → and assign GL A/Cs instead assign GL A/Cs individually give 9 “+plus
symbols” and last digit of that GL A/C number. Ex: - Main Bank A/C GL number is 500004 so
give MAINBANK= “+++++++++4” like that for bank accounts and assign direct GL A/C for bank
charges account symbol. → SAVE

- MAINBANK - +++++++++4
- CHKISSUE - +++++++++5
- CHKREC - +++++++++6
- BANKCHG - 400200 (Direct GL A/C)

Ex: - Main bank GL A/C is 500000, Check issue GL A/C is 500001 and Check receipt GL A/C is
500002
“++++++++++” 10 digits = GL A/C number have max 10 digits so give nine9 “+++++++++” then
give 0 for main bank, 1 for check issue and 2 for check receipt. Means main bank GL A/C
number end with “0” and check issue GL A/C end with “1” and check deposit/receipt GL A/C
ends with “2” and for BANKCHG-bank charges GL A/C we created only one GL A/C for all
banks use this one account for all banks. Because bank A/C have account number that is
unique that can’t be used for other bank A/C whereas bank charges is a normal GL A/C we
assign to any banks.
Double click on create keys for posting rules: - new entries → give posting rule for an
identical name and text like below → SAVE. Don’t give for main bank because it’s not an open
item.
ZCI for check issue
ZCR for check receipt/deposit
ZBC for bank charges
Double click on Define posting rules → new entries → give posting rule created in last step
one by one take first one ZCI → give posting area as 1-bank accounting → give account
symbols for debit and credit side like accounting entry for check clearance;

Payment Clearing
Vendor Dr Check issue Dr
Check issue Cr Main bank Cr

For clearing we use BRS so we have to clear Check issue A/C open item in FBL3N. this is debit
treatment so give CHKISSU account symbol to debit side and MAINBANK to credit side → give
document type-SA → posting type select 4-clear debit GL A/C (means we said system to clear
the debit item) → so give credit side posting key as 50 → SAVE.
Go to second one ZCR-1 → Debit-MAINBANK & Credit-CHKREC → Document type-SA and
posting key-5 clear credit GL A/C → give debit posting key-40 → SAVE.
Go to third one ZBC-1 → Debit-BANKCHG & Credit-MAINBANK → Document type-SA and
posting key-1 Post to GL A/C → here no open item is there so give debit-40 and credit-50
posting keys → SAVE.
Double click on Create Transaction type → new entries → TT-ZMT940 (any identity)-NAME-
MT940 file for SCB (bank name) → SAVE.
Double click on Assign External Transaction Types to Posting Rules → new entries → give
external transactions → +/- sign → posting rule → save.
External transactions are provide by bank according to that particular transactions almost all are
same for all banks. Ex: - NCHK-Payment, NCHR-Receipt payment & NCHG-Bank charges….In
internet we find this external transactions.
+/- Signs: - for every external transactions codes we have to maintain + and –
Posting rules: - that was created in create keys for posting rules step.
NCHK – “+” – ZCI NCHR – “+” – ZCR NCHG – “+” – ZBC
NCHK – “-“ – ZCI NCHR – “-“ – ZCR NCHG – “-‘ – ZBC → SAVE.
Double click on Assign Bank Accounts to Transaction Types → new entries → give bank
key-IFSC code we assign in FI12 – House bank → give bank account-bank account number we
created in FI12 – House bank → give transaction type-ZMT940 we created at Create
Transaction type step → SAVE.
IMP- If we use new bank account to clear amounts just change last step, no need of assign all
steps again.
Step2: - Create Vendor Invoice – FB60
Step3: - Create Vendor Payment – F-53
In FBL3N check issue A/C should be in open item up to clear the document
The above 2 steps information must be match with below MT940
Step4: - Upload Bank Statement – FF_5
Before upload we want to know some tags used in bank statement we get from “MT940”
Example of MT940: -

{1:F01UBININBBOMD 0001000001}{2:I940GOFASHIONINDN}{4:
:20:SWF061900051
:25:5068010100332352
:28C:4/001
:60F:C181203INR30000,00
:61:181203D18000,00NCHK2083416S43405071 255
:86:KISHOR PRINTERS
:62F:C181203INR12000,00

- 20 - SWF number of bank


- 25 – Bank account number
- 28C – Bank statement serial number
- 60F – Opening balance (C-Credit → Date-Y-M-D format → INR amount in opening
balance)
- 61 – Payment transaction details (Date → D-Debit → amount → NCHK- Check payment
details like check number etc.)
- 86 – Note to Payee
- 62F – Closing Balance (C-credit → date → INR closing balance amount)
 Our document must be matched with the above statement then only upload is
success otherwise give error even date and amount also important to match.
Step4: - Upload Bank Statement – FF_5
Select import data box → select electronic bank statement format as SWIFT MT940-
international format (field 86 unstructured) → upload statement @ statement file box → select
post immediately → select last 4 options in select output control box → click on execute → allow
the access → click on continue → will find the document with number if we press back will see
we selected last four tabs in output control box.
Copy that document number and see in FB03 will find cleating entry.
In FBL3N this check issue A/C open item was cleared.
IMP- This A/C was cleared based on WRBTR = Amount.

If amounts are same for more than 1 documents again go to OT83- Make Global Settings for
Electronic Bank Statement in Assign External Transaction Types to Posting Rules step
we need to select some identification related algorithm to that particular posting rule.
Interpretation Algorithm: - Is used for clearing criteria.
Ex: - If we select no interpretation for any external transaction type it will clear based on amount
– WRBTR.
If we select ‘11’ in algorithm it will clear if it match with check number there in “61” tag in bank
statement.

Post Processing of Bank Statement – FEBAN


If any document is not posted after uploaded the bank statement with our any error, we need to
use FEBAN-Post Processing.
It is also used to clear same amount transactions, after uploaded statement system unable to
process document because of same amount documents.
It is also use to clear amount document which we by mistakenly posted and payment- FB60 &
F-53 (Actually we do this steps before uploading) after uploading statement.

FEBAN → give company code, Main bank and account ID-nothing but bank account → click on
execute button → if any error or document not cleared after bank statement uploaded this
document should there in RED color and document which are cleared properly shown as
GREEN → double click on that red color document → post it → it will show payment screen like
F-53 now we choose which one we want to clear, that should be clear in bank as well as there
in uploaded statement → Save/Post → now that red color document changed in to green.
EBS Scenarios: –
Sce1- in EBS file we have 100 transactions out of which when we uploaded this only 90 got
posted and there is an issue for remaining 10 transactions.
Sol: - Post Processing-FEBAN: - Identify the issue if any configuration was missing and use
post processing step and post transactions.
Sce2- There are 100 transactions in EBS file out of which 10 got posted and 90 transactions
have an issue.
Sol: - ask end users to reverse the 10 documents that was posted. → delete that bank
statement which we already uploaded → correct the issue → again upload that statement and
do the process.

How to delete Bank Statement after uploaded: –


Go to SE38 → give program as RFEBKA96 → execute → give application as “0001-Electronic
bank statement” → execute → will get all statements already we used → select relevant one
and → click on Delete icon.(but make sure before delete this statements posted documents
should be reversed)

Search String: –
- If we want to clear open items (check issue/receipt items) based on note to payee (86 –
Note to Payee) information we have to use search string.
- If we have same amount transactions in system but in our statement we have only one
transaction is available regarding that amount criteria, we don’t know for which one we
need to clear for that we use search string based on note to payee-86 it has check
number details etc.
- Also use different GL A/Cs in same external transaction type.

Ex: - External transaction type is 456/NCHG (MT940) and this 456(BA12) use for commission
and for bank charges. Because both are expensed only.
In configuration we have mapped this 456 to a posting rules which will debit the bank charges
and credit main bank.
Current Requirement is;
If it is commission – Commission Dr and Main Bank Cr
If it is Bank Charges – Bank charges Dr and Main Bank Cr.
Sol: - Check the note to payee info in EBS file (MT940-86) and map this note to payee to payee
info in search string.
IMP- Google it for Search String information.
https://blogs.sap.com/2014/05/06/ebs-configuration-of-search-string-part-1/
https://blogs.sap.com/2012/07/19/search-string-for-ebs-electronics-bank-statement/

ASAP Methodology: –
- Project Preparation – 10%
- BBP – 30%
- Realization – 30%
- Final Preparation – 10%
- Golive and post golive support – 20%

Final Preparation: -

- Development server
- Quality Server
- Production Server

After development and quality check we have to move TR to production. For that we have to
upload master data.

- Keep production system ready


- Move all TRs to production
- Upload master data

FI-Master data: - GL master data, FI vendors, FI customers, Bank master-FI01 and Asset
master data.
CO-Master data: - Cost centers, Internal Orders and SKFs if any.

How do we upload master data in to production server : -


- LSMW (Legacy System Migration Workbench) – Recording and Mapping
- BDC (Batch Data Communication) – Only Recording and Mapping done by ABAPers.

BDC: - Develop BDC for uploading master data in to production server. SHDB

- We have to recording the transaction in SHDB

New recording → give some name in recording-ZFSOOGL → give transaction code-FS00 →


click on start recording → create any GL A/C in FS00 with use of all fields and give all possible
indicators → SAVE → SAVE recoding was saved to our name.
Give this recording to ABAPer → then ABAPer prepare and give T-Code → then we will check
that T-Code is it correctly executed or not.
LSMW (Legacy System Migration Workbench): -
What is SAP LSMW?

LSMW is a tool that supports the transfer of data from non-SAP systems ("Legacy Systems") to
SAP R/3 systems. This can be a one-time transfer as well as a periodic one.

LSMW also supports conversion of data of the legacy system in a numerous way. The data can
then be imported into the SAP R/3 system via batch input, direct input, BAPIs or IDocs.

Furthermore, the LSM Workbench provides a recording function that allows generating a "data
migration object" to enable migration from any required transaction.

Recording Method: - We need to record all FI and CO master data information.

For GL master data recording → Go to FS00 and remove hierarch if any in settings → hierarchy
display → select do not display navigation tree → go back from FS00 and again go to FS00.
Go to T-Code-LSMW → Project-Project-SAI1 → subproject-FI → Object-GL → click on create
entry icon → ask description for project-LSMW Project-SAI1 → click on continue → again ask
description for subproject-LSMW F_SAI1 → click on continue → again ask for object description
give LSMW GL-SAI1 → click on continue button (we can give any name and discerption that
should be identical).
Click on GOTO menu icon → click on recordings → click on create recording icon → give
recording name-ZFS00 → description as -GL master → click on continue button → give
transaction code what t-code we want to record-FS00. Screen directly went to FS00 for start
recording. Here we need to record one new GL A/C with all possibilities, if not required to that
GL A/C just activate that field and deactivate for recordings.
Ex: - we take one provision A/C under liability GL A/C. give that liability number range in GL
Account field → click on create icon for new GL A/C creation
In “type description menu” – select account group- Liabilities → this is B/S account but first
activate P&L A/C → enter → that was recorded then deactivate and select B/S A/C as activated.
Then give description of GL A/C in regular basis.
Go to “control data” → give all possible fields irrespective of nature of GL A/C like INR-only
balances Local currency only- tax as * - posting without tax allowed – assign recon account –
open item management – line item display – sort key – enter and remove what we don’t want.
Go to create/bank/interest and give field status group-G001 – post automatically only enter and
remove post automatic → SAVE → click on default all button → SAVE → back to LSMW
window → click on execute
1- Click on select maintain object attributes → execute → click on display-change button →
select batch input recording option and assign our recording-ZFS00 → SAVE. Go back
2- Select Maintain Source Structures → execute → click on display-change button → click
on create structure icon → give source structure as GLMASTER also in description as
same → click on continue → SAVE → click on back.

- IMP- before 3rd step need to export data into excel sheet.
For that click on object overview button → click on table → will find values here, and
we need to select that values to dump in to excel sheet. For that place cursor on third
row starting in SAKNR (no need of table name and T-Code data) click on cont+Y in key
board for selecting the data, drag entire data from the 3rd row to entire data and copy →
open one excel file and paste the data.
- In excel sheet select entire ‘A’ column → click on ‘Text to Columns’ (there in DATA
menu) → select fixed width → click on next → again click on next → Finish → data
separated to each row and column.
- Select entire field name and description data A&B and copy the data → go to sheet-2 →
place cursor on A1 cell and click on paste special → select Transpose → OK → now we
get format to upload data.
- Go to sheet one1 → delete entire column ‘B-Description column’ → then ‘C’ column
shifted in to ‘B’ column → in column ‘B’ replace all cells data in to only with “C” (means in
B column we have some cells with data that data replace with alphabet-C in every cell of
B column) → then select entire data in sheet-1 and copy it → go to LSMW screen →
back.
3- Select Maintain source fields → execute → click on display-change button → place
cursor on GL Master → click on table maintenance icon → post the above saved excel
data → enter → will get description automatically → SAVE → back → SAVE → back.
4- Maintain Structure Relations → execute → click on display-change button → SAVE.
(Here we can find Target and source data in to one step. TRGET-ZFS00 recording and
SOURCE- GL Master above steps.) → back
5- Maintain Field Mapping and Conversion Rules → execute → display-change button →
go to EXTRAS menu icon → click on Auto field mapping → click on continue button →
click on accept proposal for each filed up to “Auto field mapping complete” will get this
message completion of all fields mapped → click on continue → SAVE and back.
6- Maintain Fixed Values, Translations, User-Defined Routines → this step is not
required.
7- Specify Files → before this step again we need to prepare some data in excel.
- Go to excel sheet-2 → give related data in row-2 ex: BUKERS-Company code like that
we need to give data which we are gave in FS00 and give ‘X and some blank’ for some
fields those which are not relevant to liability GL A/C we created in before 1st step.
- Ex: -

TXT20_M TXT50_M
SAKNR BUKRS KTOKS XPLACCT XBILK L L WAERS

200050 SAI1 LAPS X X Trade Pay Trade pay INR

XSALH MWSKZ XMWN MITKZ XOPVW XKRES ZUAWA FSTAG XINTB


O
X * X Blank X X 001 G001 Blank
- Trade pay- any name as description we used in FS00.
- In ZUAWA-sort key=give ‘001 or select one cell, right click on it click on format cell →
select text in number menu → ok → then give nuber-001 otherwise it will take only-1.
IMP- Take another GL A/C number-500089-same copy and paste in excel only account
number, group and short and long text as Trade Receive instead of trade pay in first one.

- Then copy excel data only 2 accounts data not header data, and open note pad file in
desktop and named as GLUPLOAD then paste excel data in to this.(Because excel data
SAP system not accepted to upload).
- Then go to 7th one SPECIFY FILES → in LSMW in system → execute → display-change
→ double click on “on the PC” name → load note pad file → give name-GLUPLOAD →
select Tabulator box → continue → SAVE and back.
8- Assign Files → execute → change → SAVE → back
9- Read data → execute → execute → select and Allow → showing as 2 transactions read
→ back
10- Display Read Data → It is optional step → execute → enter → will see transactions →
back.
11- Convert Data → execute → execute → back → back.
12- Display Converted Data → optional step → execute → continue → back
13- Create Batch Input Session → execute → execute → will show the message as “1 batch
input folder with 2 transactions created” → continue
14- Run Batch Input Session → execute → show the screen as ‘SE35’ for program
execution → select our program/session → click on process button → select display
errors only option and extended data and export mode → continue → complete.
Will find one window while processing session/program here we want to select Display errors
and extended log and export mode.
 Process/fore ground – If we select this indicator, we need to select each field proposal.
 Display errors only - If we select this indicator, it will stop the uploading where ever we
get error. (we need to correct error and process it)
 Back ground – Transactions which have the errors will be ignored.
 Extended log and export mode – while uploading give detail description from logs.
IMP: - If we use this again we need not to do every step in LSMW → click on specify files and
do next steps.

Export and Import of LSMW: -


It will send on server to another after testing and also use for other client as well.
EXPORT;
Go to LSMW → give project, sub project and object whom we want to export → go to EXTRAS
menu icon → select export rules/projects → ok → click on export icon → create one folder in
desktop and save this on that folder ‘allow’ → mapping success.
IMPORT;
Log in to quality/other server → go to LSMW → go to extras → click on import projects → select
the above created file → open → select allow → click on edit → import → mapping success.
Now we start from specify files in quality server as well as in production sever.

Go live stage uploading the balances the data : -


- We will upload the balances not for each transaction.
- In case of vendors/customers will upload all open item balances like invoice wise.
- Because these are recon A/Cs, advance to vendor and advance from customers are
also open items so need to upload this advance documents also.
- Clear invoices no need to upload.
- Upload from trail balance statement.
- We need to create one dummy GL A/C or Better to create GL upload A/C, Vendor
upload A/C, Customer upload A/C, Asset upload A/C and Inventory upload A/Cs.
- IMP- Create GL upload A/C in asset side or liability side, because it should be nullify at
the end of the upload.

Normal GL A/Cs upload: -


Share Capital = GL upload A/C Dr – 200000
Share Capital A\C Cr – 200000

Reserves = GL upload A/C Dr – 140000


Reserves A\C Cr – 140000

Loans = GL upload A/C Dr – 50000


Loans A\C Cr – 50000

Loans and Advances = GL upload A/C Dr – 10000


Loans & Advs A\C Cr – 10000

Sundry Creditors GL A/Cs upload: -


Vendor upload A/C Dr – 50000
Vendor-X A/C Cr – 2000
Sundry Creditors = Vendor-X A/C Cr – 5000
Vendor-X A/C Cr – 3000
Vendor-Y A/C Cr – 15000
Vendor-Z A/C Cr – 25000

Advance to Vendor GL A/Cs upload: -


Advance to Vendor = Vendor A/C Dr – (Assign special GL indicator ‘A’)
Vendor upload A/C Cr

IMP- For vendor we need to create separately for vendor and invoice level to open items.

Sundry Debtors GL A/Cs upload: -


Same like vendors we follow customers also for Sundry Debtors need to create each customer
and invoice separately if any.

Sundry Debtors = Customers A/C Dr – create separately if any


Customer upload A/C Cr

Advance from Customers GL A/Cs upload: -


Advance from Customers = Customer upload A/C Dr
Customer A/C Cr – (Assign special GL indicator ‘A’)

Fixed Assets GL A/Cs upload: -


Master Data = Acquisition value and Accumulated Depreciation value need to upload for assets.
Ex: - Asset acquired on 01-04-2015 for – 100000
Depreciation for 2015 - 10000 Recon accounts not possible to post
Depreciation for 2016 - 10000 in FB50/F-02 so use OASV.
NBV-Net book value - 80000
IMP- This accounting entries need to post in AS91 in this T-Code will find asset value as well as
depreciation value.
When we upload asset master data need to upload 100000 and 20000 in AS91 same screen
like AS01 but it has asset value as well as depreciation value.

Asset Master Data upload: - AS91


Asset Accounting Entries upload: - OASV (Instead of FB50 in AA we use OASV for
accounting entries upload)

Acquisition of Asset A/C Dr – 100000


Accounting entry for AA upload = Accumulated Dep A/C Cr - 20000
Asset Upload A/C Cr - 80000

Bank Balance GL A/Cs upload: -


- We have 3 bank accounts there in every company code, on which bank we need to
upload the accounts is the main thing in this bank balance upload.

Ex: - Balance as per bank – 100000


Balance as per books – 80000
Difference B/W bank and books is – 20000

(We need to ask client about that difference and give solution as per standards)

BRS: -
Balance as per bank –----------------------------------100000
Less- Check issue but not clear – --------------------40000 (-)
Add- Check received but not deposited - -----------20000 (+)
Equals- Balance as per books -------------------------80000

Bank Balance GL A/Cs upload: -


Main bank A/C Dr – 100000
Bank account upload = Check Issue A/C Cr – 40000
Check Deposited A/C Dr - 20000

Cash Balance GL A/Cs upload: -


-If we don’t use cash journal

Cash balance upload = Cash A/C Dr


GL Upload A/C Cr

- If we use Cash Journal;


- We need to create business transaction for cash upload
- We need to assign GL upload A/C
- This business transaction type is “Receipts”

Cash balance upload = Cash A/C Dr


GL Upload A/C Cr

Inventory GL A/Cs upload: -


In case of RM: -
Configuration;
Assign inventory upload A/C for GBB-BSA in OBYC
MM people upload material master with price without quantity – MM01
Upload quantity in – MB1C
When we upload quantity accounting entry will trigger, because of off line settings in OBYC

Inventory of RM A/C Dr (BSX)


RM Accounting entry upload = Inventory upload A/C Cr (GBB-BSA)
Movement type is 561.

In case of SFG & FG: -


Assign inventory upload A/C for GBB-BSA in OBYC
MM people upload material master without price and quantity – MM01
PP people upload BOM – CS01 and Routing – CA01
CO people maintain activity prices – KP26
Run standard cost estimate – CK40N (It updates the MM price)
MM people upload Quantity – MB1C

Accounting entry = Inventory of finished goods A/C Dr


Inventory upload A/C Cr
How to upload normal GL: - F-02 for GL, Vendor and Customers.
- LSMW
- BDC
- BAPI

BAPI: -
IMP- Mostly use BAPI because this program already created by abapers we can use this
program for nay where.
SE37- give program as “BAPI_ACC_DOCUMENT_POST”

- This is standard BAPI.


- We have to give FS to abaper and mention to use this program.
- Will give document header fields GL, AP, AR and currency in amount.

SE38- Use “ZGL_UPLOAD1”

- This is standard program, give this program click on enter and copy that data then use to
any client in anywhere.
- By using this program no need to give FS to abaper just copy and use for same to
upload accounts easily.
LSMW – Programing Method to upload GL Balances: -
IMP- The different between Recording and Programing method is In GL A/Cs will get two2
posting keys-Debit and Credit fields with same filed name and also two2 amounts with same
one field name-MONAT like BUKERS in line item fields. So in recording system will give that
fields in manually. Instead of manual giving information we can use this programming method
for easy understanding.
If we want to use recording method for transactions upload, we have to record the T-Code
FB01/F-02. When we record F-02 system will record only one line item even though we have
two2 line items in the document. Due to this we need to modify the recordings and upload
documents.
After table installed in excel we need to manually move NEWBS1, NEWKO1 and WRBTRI
manually.

Go to T-Code-LSMW → Project-Project-SAI1 → subproject-FI → Object-GL → click on create


entry icon → ask description for project-LSMW Project-SAI1 → click on continue → again ask
description for subproject-LSMW F_SAI1 → click on continue → again ask for object description
give LSMW GL-SAI1 → click on continue button (we can give any name and discerption that
should be identical). → No need of recording just click on execute.
1- Click on select maintain object attributes → execute → click on display-change button →
give object-0100 and method-0000 → enter then program automatically appear in
program box → SAVE and back.

2- Select Maintain Source Structures → execute → click on display-change button → click


on create structure icon → give source structure as Header also in description as
Header data → click on continue → place cursor on Header → click on create structure
icon → select lower level → continue → give as Lineitem and description as lineitem
data → continue → SAVE → click on back.

- IMP- before 3rd step need to export data into excel sheet.
For that click on object overview button → click on table → will find values here, and
we need to select that values to dump in to excel sheet. For that place cursor on
required fields and click on cont+Y in key board for selecting the data and copy → open
one excel file and paste the data. For header we need to select from BKPF like BLDAT,
BLARJ, BUKRS, BUDAT, MONAT, WAERS, XBLNR and BKTXT.
Then move to BSEG and select lineitem fields like NEWBS, DUMMYX, NEWUM,
WRBTR, ZUONR, SGTXT and PRCTR.
- In excel sheet select entire ‘A’ column → click on ‘Text to Columns’ (there in DATA
menu) → select fixed width → click on next → again click on next → Finish → data
separated to each row and column. And select one row for “COUNTER” for header as
well as lineitem in first row – like select A1 row and right click on it then select insert.
One empty row will add as A1 in excel and give as A1-Counter, B1-Counter, C1- C and
D1-3. For lineitem also same.
- Imp- HERE we need to paste header and lineitem data within a sheet1 with one row
gap.
- Imp- In line item data one field DUMMYX replace with NEWKO and description as
Account.
- Select entire field name and description data A&B of header data and copy the data in
sheet1 → go to sheet-2 for header data → place cursor on A1 cell and click on paste
special → select Transpose → OK → now we get format to upload data.

- Select entire field name and description data A&B of lineitem data and copy the data in
sheet1 → go to sheet-3 for lineitem data → place cursor on A1 cell and click on paste
special → select Transpose → OK → now we get format to upload data.
- Go to sheet one1 → delete entire column ‘B-Description column’ → then ‘C’ column
shifted in to ‘B’ column → in column ‘B’ replace all cells data in to only with “C” (means in
B column we have some cells with data that data replace with alphabet-C in every cell of
B column) → then select entire data in sheet-1 and copy it → go to LSMW screen →
back.
3- Select Maintain source fields → execute → click on display-change button → place
cursor on Header → click on table maintenance icon → post the above saved excel
header data → enter → will get description automatically → SAVE → back → again
select lineitem → click on table maintenance icon → post the above saved excel lineitem
data → enter → will get description automatically → SAVE → back →and SAVE →
back.
IMP- Now we created header and lineitem structure we need to assign header structure
to BGR00 and BKPF and line item to BSEG in next step in Lsmw.

4- Maintain Structure Relations → execute → click on display-change button → place


cursor on BGR00 and click on create relationship icon → double click on Header → then
place cursor on BKPF and same like select header then select BSEG and assign
lineitem → SAVE and back.

5- Maintain Field Mapping and Conversion Rules → execute → display-change button →


go to EXTRAS menu icon → click on Auto field mapping → click on continue button →
click on accept proposal for each filed up to “Auto field mapping complete” will get this
message completion of all fields mapped → click on continue → SAVE and back.

6- Maintain Fixed Values, Translations, User-Defined Routines → this step is not


required.
7- Specify Files → before this step again we need to prepare some data in excel.
- Go to excel sheet-2 header data→ give related data in row-2 ex: Counter-1, date-
31032018, document type-SA, code-SAI1, posting date-31032018, FI month-12,
currency-INR, ref-test, docu-test and head text-blank.
- For above header data we need to give lineitem data in sheet3.
- Go to sheet3 and give data for Credit – Counter-1, posting key-50, account-200090
(Provision A/C), spl gl-blank, amont-10000, test, test and PC-1000.
- Same like Debit - Counter-1, posting key-40, account-400040 (GL upload A/C), spl gl-
blank, amont-10000, test, test and PC- blank.
- Same like we can give upto 999 line items at a time.
- Then go to 7th one SPECIFY FILES → in LSMW in system → execute → display-change
→ double click on “on the PC” name → load note pad file → give name-Header → select
Tabulator box → continue → SAVE and back.
- Place cursor on Header → click on “add entry” icon → add lineitem file and give name
as lineitem → select tabulator → continue → SAVE and back.

8- Assign Files → execute → change → place cursor on header → click on assignment


icon → attach header file → again place cursor on lineitem → click on assignment icon
→ attach lineitem file for double click on it → SAVE → back

9- Read data → execute → execute → select and Allow → showing as 2 transactions read
→ back

10- Display Read Data → It is optional step → execute → enter → will see transactions →
back.

11- Convert Data → execute → execute → back → back.

12- Display Converted Data → optional step → execute → continue → back

13- Start direct input program → execute → select program RFB1B000 → select data
transfer type-‘B’ → execute → click on continue for information 3 times.

14- SM35 → Select our batch session → click on process button → select display errors
only option and extended data and export mode → continue → complete.
15- Go to FB03 will get that document as
GL upload A/C Dr – 18000
Provisions A/C Cr – 18000

IMP- Don’t give any dots or slashes in excel file when we are giving dates or any fields.
Vendor Balances Upload by using LSMW: -
- Create separate document type for ledger balances.
- Copy the ‘SA’ document type and create new as ‘LB’ to upload balances.
- For “initial stock upload” we use GBB-BSA as transition key in OBYC. So we have to
assign stock upload A/C for all valuation classes.

Counter Posting GL A/C Spl GL Amount Assignment Text Profit


key center

For
Vendor
balances
1 31 6005050 140000 Test Test 1000

1 40 199992 140000 Test Test

For
Customers
balances
2 01 3000001 10000 Test Test 1000

2 50 199993 10000 Test Test

Vendor
Advances
3 29 6005050 A 1000 Test Test 1000

3 50 199992 1000 Test Test

Customers
Advances
4 19 3000001 A 1000 Test Test 1000

4 40 199993 1000 Test Test


LSMW: -
Asset Balances Upload by using LSMW: - AS91
Configuration required for golive end of the year;
Define asset transfer date: -
Path- Financial Accounting (New) → Asset Accounting → Asset Data Transfer → Parameters
for Data Transfer → Date Specifications → Specify Transfer Date/Last Closed Fiscal Year
Here we need to give golive date;
Go to position → select our company code → give take over date.
Configuration required for golive mid of the year;
We need to do additional configuration to specify last period postings in previous system. Like
till last system what date depreciation was calculated?
Ex- 01 Oct, 2017 going live, up to 6th period last system posted. So from the 7th period onwards
golive will calculate depreciation.
Define asset transfer date: -
Path- Financial Accounting (New) → Asset Accounting → Asset Data Transfer → Parameters
for Data Transfer → Date Specifications → Specify Last Period Posted in Prv.System
(Transf.During FY).
Go to position → select our company code → double click on Period in which depreciation was
posted → give FY and Period for our depreciation area.
Ex- Golive on 1st Jan, 2018 then we need to give FY-2017 and Period-9.

IMP- Asset master uploading: - we need to upload asset master along with its balances.
Asset is acquired on 01-04-2014-----------------------100000
Depreciation for 2014---------------------------------------10000
NBV as of 31-03-2015--------------------------------------90000
Depreciation for 2015---------------------------------------10000
NBV as of 31-03-2016--------------------------------------80000
Depreciation for 2016---------------------------------------10000

NBV as of 31-03-2017--------------------------------------70000

Golive end of the year;


If our golive date is 31-03-2017- Asset balances need to upload are;
Acquisition of asset – 100000
Accumulated Depreciation – 30000
System will automatically calculated NBV as – 70000.
Post GLs in OASV
We have two options in postings in asset accounting balances upload.
Option-1 @ OASV
Acquisition of asset GL A/C Dr – 100000 this two GL A/Cs are Recon A/Cs,
Accumulated Dep GL A/C Cr – 30000 - so F-02 is not possible for entries.
Asset upload GL A/C Cr – 70000
Option-2 @ OAMK
OAMK- is for remove recon account types for asset GL A/Cs.

- Go to OAMK → select our company code → double click on change control of recon A/C
→ remove recon for all assets.
- Post GL A/Cs in F-02
- After posted in F-02 again go to OAMK and give recon for all assets again.

Golive mid of the year;


If our golive date is 31-12-2016- Asset balances need to upload are;
Year end is 31-03-2017. But we went for golive in between of the year.

Asset is acquired on 01-04-2015-----------------------100000


Depreciation for 2015---------------------------------------10000
NBV as of 31-03-2016--------------------------------------90000
Dep for 2016 (current year up to 31-12-2016) --------7500 (For 9 months only)

NBV as of 31-12-2016--------------------------------------82500
V.IMP- If we going mid of the year we are upload even P&L A/C balances also.
Asset balances need to upload are: -
Acquisition cost – 100000
Accumulated Dep – 17500
Current year Dep – 7500

Transaction code – AS91


Post GLs in - OASV
Acquisition of asset GL A/C Dr – 100000
Accumulated Dep GL A/C Cr – 17500
Depreciation GL A/C Dr – 7500
Asset upload GL A/C Cr – 90000

You might also like