Interview - Questions

We will conduct business workshops to understand existing business processes; will distribute AS IS Q&A templates to finance BPO’s and end users to get the business requirements.

Yes, by maintaining vendor account group number range interval from A to Z and External number range check box selected. It accepts alphanumeric values for vendor master record.

Initial draft of the BBP would be prepared and submitted to business, if they come up any changes requirement that would be handled through maintaining newer version in the BBP document

After all the business requirements are gathered and documented in BBP document and submitted for the acceptance of the business, the BPO & PMO would give their approval for system configuration by signing off on the BBP document.

"Do you want to get certified and build your career in FICO? Then enroll in FICO Online Training" this course will help you to achieve excellence in this Module."

Client – Company – Chart of accounts – Company code

Client is the highest organizational unit in system, which will have its own set of data applicable to all company codes all other organizational units in the system.

In one server, from 000 to 999 as many as 1000 clients can be created by Basis team. Generally in DEV server 3 clients would be maintained, in QA and PRD one client would be maintained.

Reliance group Company code is a legal entity for which a self contained set of accounts can be drawn for purpose of external reporting EG: Rel Petrol, Rel Power, Rel Capital Company creation is optional; company code creation is mandatory activity.

A list of GL accounts

Which one are mandatory 3 types – 1. Operational COA 2. Group COA 3. Country specific COA

COD is the highest organizational unit within AA sub ledger, which will consist of different depreciation areas to control how the depreciation is calculated, posted and reported.

In CO module controlling area is the highest org unit, which will be used to generate cost reports for management reporting/internal reporting purpose.

Yes, provided all the company codes must use same operative COA though they maintain in different currencies.

Company code currency is known as local currency in SAP

Fiscal year is a financial year that is being followed by business, EX: standard FY variants – 1. V3 – Apr to March, 2. V6/PS – July to June, 3. K4 – Jan to Dec.

12 normal and 4 special periods can be defined in a one Fiscal year.

Special periods are extension to closed fiscal year and used to post audit adjustment entries and takes posting date as any date of the 12th posting period.
EX: if a transaction to be posted in spl period 13 i.e. April or spl period 14 i.e. May the document can have posting date as any date in the 12th period i.e March but generally posting date would be considered as 31st of March.

Field status variant consist of field status groups which are used/assigned at the time of GL account creation.

At the time of transaction entry/ document posting users will have N number of fields ready for input, these fields can be controlled as Required/optional/suppressed from the field status group.

To differentiate between different types of business transactions eg: Vendor invoice & payment, customer invoice & payment, general ledger document etc. Provided differentiating factor at the time of document entry itself is document type. Eg: SA, KR, KZ , DR , DZ & AA etc.

a. from FSG, assigned to the GL account master record.
b. from posting keys FSG.

Generally in FI we have 3 types of account groups are available to create master records –
a. GL account group (OBD4)
b. Vendor account group (OBD3)
c. Customer account group (OBD2) Account groups controls field status of a master record at the time of creation.

a. whenever there is a business transaction, GL accounts are the primary source to record in the General ledger
b. For all sub ledger postings to integrate with GL, reconciliation GL accounts are the source to update GL
C. For internal reporting in controlling module, the cost data will flow from FI to CO. The Expense GL accounts in FI will carry the cost from FI to CO by the mean Primary cost elements.

3 levels –
a. Chart of account level – FSP0.
b. Company code level – FSS0.
c. Centrally – FS00 (COA & Co Code).


Yes we can post in non local currency, but the ledger balances will only display in local currency and cannot be in transaction currency.

Only balance sheet type accounts can be managed with this option and more over only those accounts. which requires clearing in future.
We can say there are 2 conditions to maintain a GL account with open item management option
Condition 1 – The GL account should be Balance sheet account
Condition 2 – Requires clearing in future EX: Outstanding expenses, prepaid expenses & Bank loans etc. When the line items posted & displayed to this account will be shown in OPEN status until they get clearing in future.

It is very important to select this indicator for each and every GL master record, if not the business cannot have track of item wise postings display.

Based on sort key selection, at the time of document entry system will automatically copies onto the assignment field.
EX: sort key as Posting date, system will copies posting date onto the line item automatically and at the time of display the line items will be sorted based on posting date.

In the chart of accounts create/change screen we have an option Status “Blocked”, if we activate that indicator users cannot create GL accounts.

Change that particular GL account by selecting Block indicator for the company code.

2 levels – Document header level data & Line item level data
We can get posted data from header level in table BKPF, line item level in BSEG.

Generally workflow process is one of the solution to a GAP identified during blue print phase. EX: 2 tier Workflow process for posting documents –
1. Accountant enters voucher details and saves the information. Now to trigger an email to the chief accountant for review.
2. chief accountant receives an email to his inbox. He reviews the document and approves for posting. If he rejects has to send an update email to the accountant on the same. Workflow process will be customized by technical team via ABAP workflow process.
To maintain Distribution list for email notifications – SO23 inbox to verify received emails – SBWP We can identify whether workflow process is triggered for a document by going to document display screen and click on Icon beside the title of the screen.

a. enter the transaction on the command line.
b. from the transaction screen – go to menu bar – click system – click status – from system status pop up screen – note down the program name under data section.

T – code – SM36
Enter Job name – Recurring batch job Click on Step icon (F6)
Enter ABAP program name – Enter variant created in step 2 – Click check Click Save Go back Save
You will get a message Job recurring batch job saved with status: scheduled Click on Start condition Click on immediate Click save
You will get a message job saved with status : Released Step 4: process batch input session – SM35 Select the job name – Click on process
Click on display errors only Click extended log
Exit batch input session
Enter job name – Recurring batch job Click execute
Select the batch job.

If a vendor invoice posted in the system through a process –
a. PO Raised by purchase department
b. Goods received by stores department
c. Invoice received by Finance department against the PO in the above step This procedure called PO based invoicing (MIRO)
Non PO based – Direct procurement procedure, which only involves FI AP sub ledger area (FB60).

a. Vendor account group
b. vendor number ranges
c. vendor tolerances

a. General data – Client level
b. company code data
c. purchase organization data.

It is the bridge between AP sub ledger and general ledger, whenever a posting made against a vendor sub ledger account backend system updates to reconciliation account in general ledger which is assigned to vendor master record company code segment.

Its not possible, reconciliation accounts are meant for GL update via sub ledger postings.

--Purchase to payment is a process of procurement which involves or integrates FI AP module with MM – Steps –
1. PR creation by stores – ME51N
2. PO creation by purchase dept. against to PR – ME21N – No FI doc
3. Goods receipt (GR) – MIGO Acc entry – INV RM DR – GR/IR clearing CR
4. Invoice receipt (IR) – MIRO Acc entry- GR/IR clearing DR - Vendor CR
5. Payment – APP Accentry – Vendor DR - Bank check issue CR.

No, its just a commitment with vendor to provide the material.

OBYC, assign GL accounts against MM transaction keys for automatic postings. EX: For transaction key BSX assign inventory raw material balance sheet GL account.

101 – for Goods receipt.


Basically to make payments and clear vendors by using different payment methods in a mass procedure. System will check all the open invoices and picks up the invoices based on the due date calculation according to payment terms and creates cash discount line items automatically.

Yes, the scenario is customer returned the goods a credit memo will be created for that customer that requires clearing. Customer down payment but goods are not delivered – customer requires clearing.

Yes, a down payment request should exist for a vendor to make downpayment. In the APP configuration, set up all company codes for payment transactions step we need to assign special GL indicators for vendors.

To determine invoice due date app program will consider baseline date as a start date, generally invoice document date would be the baseline date.

Based on next payment run date system will consider the invoices which due date is falling before the next run and picks those invoices also in this app run.

Yes, this date is only to make system understand to pick open invoices which due date is crossing before that day.

In the additional log tab, we need to select logging types – due date check, payment method selection in all cases and line items of the payment documents.

Variant controls from which house bank the checks need to be issued and also the output print from a configured printer.

If a check or couple of checks are not printed properly during previous APP run, we can void/cancel those checks and reprint in the current APP run.

Yes, the purpose is to issue checks from different house banks as per the ranking order configuration.

1. from APP screen we can go to edit – payments – payment list. 2. additional log payment run log.


AR is a sub ledger within FI area, postings made to AR sub ledger accounts are directly updated to General ledger through Reconciliation process. AR closely integrates with SD module.

If a customer is created only in FI area will consist of 2 segments data – a. General data b. Company code data If the customer is extended for SD area also there will be one more segment – c. Sales organization data

For the customer group number range interval, select the external indicator and save it. Every time a new customer created the user has to provide the customer number externally.

From customer account group level we can control master record fields.

If a sale order created, delivery completed and billing document created in SD area there will be a customer invoice generated in FI (Doc type RV) this is called PO based customer invoicing If a customer invoice posted (doc type DR) directly in FI area is called non PO based customer invoicing

If customer makes a down payment in bulk for future sales is called unknown customer down payment. The customer open invoice items can be cleared using this down payment amount. Every time, a new customer special GL residual item will be created for rest of the down payment amount.

For the customer overdue invoice amounts, by using Dunning correspondence we can remind the customer by sending letters.

9 levels and 9 letters.

Text in the letter.

No, it’s a static figure appear on dunning notice.

Order to cash the process involves FI and SD module integration.

1. sales order creation – VA01
2. delivery to customer – VL01N
3. Billing customer – VF01
4. incoming payment – F-28

At the time of check deposit: Check deposit ac Customer ac dr

To match Main bank GL account balance with actual bank account balance as bank statement.

1. Create account symbols
2. Assign GL accounts to account symbols
3. Define posting rules for business transactions
4. Assign business transactions to posting rules.

Based on interpretation algorithm system differentiates between payment documents and check numbers and makes automated entries at the time of BRS.

Cash journal allows payments only up to available balance in the CJ.

1. Sub asset master created with reference to main asset
2.Main asset master created with reference to asset class
3.In the asset class we specify account determination
4. For account determination we assign GL accounts for postings.

Chart of depreciation is the highest organizational unit in Asset accounting subledger which consist of depreciation areas.

How a depreciation is calculated on an asset during the useful life of the asset and posted to general ledger.

Generally put to use date is considered as capitalization date from which the depreciation calculation will be started.

From the screen layout rule assigned to the asset class

Assign the particular cost center in the asset master record at time dependent tab cost center field.

Asset smoothing – if this configuration change activated in the asset class, for any asset if depreciation key changed mid of the fiscal, the difference depreciation amount will be adjusted equally to remaining periods in the fiscal year.
EX: As per current depreciation key every month depreciation is Rs.1000 and calculated for 6 months. Due to depreciation key changed impact, the to be calculated depreciation is Rs.1500 every month, since already we passed 6 periods and need to calculate and adjust depreciation of the closed periods to the future periods. In this case everymonth 2000 for rest of the 6months Asset catch up – for the above same scenario if we do not select smoothing check box the adjustment depreciation will be posted to immediate next period.

Through Legacy asset take over values procedure we will create clients existing assets in AS91

No, the takeover values ex: acquisition, depreciation and derived net book value are only updated in asset sub ledger tables. We need to manually post FI transaction to update the general ledger.

Planned depreciation RUN –as per the depreciation interval rule ex: monthly, quarterly etc. calculation of depreciation on a regular interval is planned depreciation. Unplanned depreciation RUN – if depreciation is not being calculated as planned and business would like to calculate depreciation till date (current period) we can run depreciation in unplanned mode to calculate for all the previous months.

With customer – Asset acquisition value – 100000, accumulated depreciation – 60000, sale of asset value – 50000.

We can run the depreciation in “repeat run” mode, so that system will identify the new assets which are added to the last period and make a depreciation posting.
Note: this provision is only applicable for the last run depreciation period

Basic purpose is high level management internal reporting about costing. Ex: A department cost report for a month, A product making charges report in a batch, plant wise financial statements reports, profitability analysis reports.

Client ->operating concern -> Controlling area -> Segments -> Profit center -> Cost center

In FI we have posting period variant to open and close periods in an year to make postings, similarly in CO we can open or close periods by lock or unlock option against individual business transactions ex: COIN – CO through postings from FI, KOA0 Actual settlement

Expenditure GL account in FI will be created as primary cost element in CO with Category 01 to carry cost from FI to CO to update CO records.

Yes, the relation between controlling area to company code is 1:N, is called as cross company code cost accountancy


Secondary cost elements are used to settle cost from one cost object to other object within CO area. EX: Assessment cycle to reallocate cost from one cost center to other cost center, at the time of real internal order settlement to cost center

Departments in an organization are created as cost centers in controlling module, the purpose is to track individual department wise cost.

To identify similar departments by assigning a differentiating factor which is cost center category, cost centers will be created.

In CO cost center budgeting is macro level, for a fiscal year each period wise we can allocate budget amounts to cost centers later budget reports can be generated to see the variance between planned & actual consumption of budget.

In CO cost center planning is micro level, each period wise we can plan department wise expenses. EX: Finance cost center planning for the period 11/2013, with a combination of cost center and cost element later on we can generate variance reports.

The primary cost objects are Cost center, internal order and WBS elements, these are used to capture cost at the time of cost origin. Priority – 1. WBS element
2. Real internal order
3. Cost center
We have more cost objects like profitability segments, sale orders & production orders etc.

If during the cost origin the cost captured under a cost object, on a later point of time the cost needs to be distributed to other objects.
EX: canteen expenses initially paid by finance cost center on month end the cost needs to be allocated to other cost centers. Finance CC to HR CC and Sales CC etc.
Cost allocation Methods:
1. Reposting of CO line items – with reference to original FI document the cost will be allocated from the cost object in the FI document to other cost objects line item wise.
2. Manual reposting of cost – with the combination of cost center and cost element we can manually allocate cost to other cost centers.
3. distribution cycle –on the month end, the cost captured under a cost center can be distributed to other cost centers using segments. The segment will have details like source cost center, receiver cost center cost distribution rules. When the cost distributed using distribution cycle, in the receiver cost center we can trance the original cost element details.
4. assessment cycle –this is also used as an allocation method on period end to distribute cost. When the cost allocated using assessment cycle the cost will be attached to secondary cost element and settled to receiver cost center, we cannot get the tracing factor in the receiver cost center about which cost has been received.

SKF is a base to allocate cost between cost centers.
EX: Salaries can be allocated Based on number of employees, rent can be allocated based on the area of occupation.

Internal order is a cost object to capture cost of a specific job, activity or an investment project.
EX: a particular vehicle expense during a month, construction of a building budgeted amount capture and control
in CO we have 2 types of internal orders
1. Statistical internal order - Only for the reporting purpose, the cost will be captured under statistical internal order and does not settle to any other cost objects.
2. Real internal order - it’s a real cost object at the time of cost posting and requires settlement to other cost objects on the month end.

In the internal order master record control data tab we have a field Actual posted Cctr – assign default cost center in that field so that system will derive cost center at the time of document entry.

At the time of order creation we have an indicator “Statistical order” available in control data tab, if we activated this the order will be statistical if not it’s a real order.

1. define allocation structure in which specify source cost elements – ex: salaries rent etc and also specify settlement receiver category ex: cost center.
2. allocation structure is assigned to settlement profile – which talks about how the cost will be settled ex: percentage, amount etc.
3. settlement profile is assigned to internal order type.
4. real internal orders will be created with reference to order type and settlement rule maintained in the order master record.

In controlling module we can control the budget through internal orders. Ex: capital expenditure like construction of a building. We can create building as an internal order and assign budget to it. Every time expenses incurred towards building construction allows up to the budget amount fully consumed.

By implementing profit center accounting, profitability reports can be generated plant/branch/location wise. General definition is a geographic location where in expenses are incurred to manufacture a product and revenues are generated by selling that product.

At the time of expense posting user needs to enter cost center, in the cost center master record profit center is assigned through cost center to profit center derivation expenses will be updated in a profit center.
Revenues will be updated to profit centers through default account assignment – OKB9.

Whenever system cannot derive profit center onto line item, it updates to dummy profit center. On the month end management will take a decision on how to distribute values in the dummy profit center.

Yes we can create additional P&L and balance sheet statements profit center wise to generate profitability reports.
Postings made against balance sheet accounts will be updated to relevant profit center with the combination either company code and plant OR company code and business area.

To estimate a single product cost product costing module will be used – a. product cost by sale order - MTS
b. product cost by production order - MTO
c. product cost by period – Product cost collector

Controlling profitability analysis, by using which profitability reports can be generated for different dimensions.
Profitability segment in CO- PA is also a cost object, whenever operating concern is configured in system new tables will be generated to store the META data – apart from COPA in no other place new tables can be generated.

It’s a combination of few characteristics or one characteristic is a segment – EX: customer master data

If customer master is a characteristic then customer number is a value field If sale order is a characteristic, quantity in the sale order is value field.

4 tables will be generated – Table 1 – Actual data Table
2 – planning data Table
3 – segment data Table
4 – totals.

In COPA we will configure output reports for the predefined characteristics and value fields this process is called report painter configuration.

A PR is an internal document that sends notification to purchase department when some material is service is required. PR can be generated by department that needs any material or service. A PO is a document sent to vendor by purchaser which is an official request of mentioned material or services. POs are generally binding on purchaser, though it depends on terms and conditions mentioned in PO.

Different Info Record types are Standard, Consignment, Sub-Contracting and Pipeline.

The stock supplied by the vendor is in the purchasing company’s premises but the company has no liability for the same. The liability for the company will only arise one the goods are issued from the consignment stock for use. However, in this case, even before the use,purchasing company can check in system how much stock is lying in inventory.

In Sub-contracting, we send raw material or input material to sub-contractor and then receive the finished goods. A sub-contracting PO is created with item category ‘L’. Input material is sent to vendor for processing with movement type 541. When GR is done using movement type 101, movement type 543 takes place automatically and takes care of consumed material.

What Are The Best Opportunities After Doing MM Course? Is It Easy To Get MM Job?

When we maintain price in Info Records, we can make use of scales. It is used when price of a material is dependent on quantity purchased. For eg. For 500 pieces of material ABC, price is Rs. 10, however, if the order quantity is more than 500, price is Rs. 9. Scales are maintained in various master data like info record, quota arrangement etc. from where scales can be pulled in a Purchase Order.

A material must be flagged for deletion before deleting it using Archive and Delete program. A deletion flag can be set at client level, plant level or storage location level. Whatever level you flag a material for deletion, it is flagged for deletion at all corresponding lower levels. Transaction MM06 is used to flag a material for deletion.

Yes, even after flagging a material for deletion, it can be used till it is actually deleted. It will just trigger a warning message whenever the material is used. If you want a material to be blocked for any use with immediate effect, you should use a material status which is there in Basic View 1 for general level or in MRP 1 view for plant level blocking.

OBYC is t-code used for configuring Automatic Account Posting. Postings are made to G/L accounts automatically in the case of Inventory Management and Invoice Verification relevant to Financial and Cost Accounting.

Valuation grouping code is used to group the valuation area, we can have valuation level at Company code level or at plant level. General practice is to use the valuation area at plant level, because valuation may differ from one plant to another. The valuation grouping code makes it easier to set automatic account determination. If we need to define common account determination for several valuation areas, we can assign same valuation grouping code to all those valuation areas. We can maintain the valuation group code in OMWD for various valuation areas. Books: Discover the Joy of Reading. Shop Now.

Various special stock types available in are Consignment, Subcontracting, pipeline, project, sales order stock, Returnable transport packaging, stock transfer, and the third party.

A contract is a pre-determined long-term agreement to supply material or service for a certain period of time. Specific delivery dates are not mentioned in the contracts. Contracts can be of two types: Value Contract or Quantity contract In Scheduling agreements, we can enter scheduling lines which gives details of quantity that should be delivered on specific date. Plant must be entered in SA so that materials can be delivered at plant. These are generally used for materials whose requirements are predictable.

New transaction codes can be created using t-code SE93.

Also Read: Get MM certification easily after completion of MM Online training at Avinatech

Release Strategy with Classification: PR can be released at header level as well as item level. It can be used for both internal/external documents. Can be set on any field available in structure CEBAN Release Strategy without Classification: PR can be released only at item level. It can be used only for internal documents such as PR. This strategy can be used only on 4 parameters which are Account assignment category, Plant, Material Group and value of PR.

A batch is a subset of the total stock of a material. It represents a homogeneous unit which has unique specification. Normally, a batch is assigned to the quantity of material produced during a given production run. A batch number uniqueness can be assigned at any of the following 3 levels: At client level: The same batch number can be assigned only once within the entire client. At material and plant combination level: Same batch number can be assigned to material with different specification in each plant. At material number level: A batch assigned to a material has the same specification fo all plants where material is extended. Batch number can be reassigned with a different specification for each material.

While creating PO, we can tick the item as free item in item overview section of PO. The price will be zero for free marked item.

Accounting view is a plant specific view. Besides other information, it contains important information such as valuation class and price control. Valuation class helps in determining the relevant GL account used for account posting. It is also used while configuring OBYC settings. Price control indicator determines if material is maintained at Standard price(S) or Moving average price (V).

‘Material Types’ is used to group various materials based on some common properties. It helps in maintain material master data for a particular material. Using material types, we can control which all views are required for a material type, which fields are required or optional, the material number range etc.

Partner Function is used to define responsibilities and duties of other business partners. Some partner functions are AZ (Alternate payee), CR(Carrier), OA (Ordering address), GS (Goods supplier), PI (Invoice presented by) etc.

Material Status helps in determining the usability of a material. It is a 2-digit code which can be maintained as plant specific material status, cross-plant material status, and distribution material status.

‘Price Control Indicator’ is maintained in accounting view and is used to determine how a material will be evaluated. It can be Standard Price(S) or Moving Average Price (V). If the indicator is set to S, all inventory postings are posted at standard price maintained in material master. If there are variances in any transaction due to different price, the variance is posted in price difference account. If price control indicator is set at V, goods received will be done at GR price. The moving average price will be adjusted in material master using weighted average formula. If goods movements or invoice receipts are posted using a price that differs from the moving average price, he differences are posted to the stock account.

Comming Soon.....

A foreign key relationship can be defined between tables and should be explicitly defined at the field level. Foreign keys are used to make sure the consistency of data. The entered data must be checked against existing data to ensure the contradiction. The Cardinality must be specified while defining a foreign key relationship. Cardinality represents how many dependent records and referenced records are possible.

To describe the logical structures of the objects that are used in application development ABAP 4 data dictionary is used. It is also used to show the underlying relational database in tables.

Transparent tables: It has one to one relation with the table in the database. Its structure corresponds to single database field.
Pooled tables: It has many to one relation with the table in the database. Pooled tables are stored at the database level.

Also Read: Get ABAP certification easily after completion of ABAP Online training at Avinatech

It is an automatic procedure to transfer large or external data into system. ‘Queue file’ is the central component of the transfer, which receives the data through batch input programs and groups that are associated into ‘sessions’.

The data classes are classified into following classes
Master Data: The data in this class seldom change
Transaction Data: The data can be changed often in this class
Organization Data: This data is a customized data and is entered in the system when the system is configured. It is rarely changed.
System Data: This data is used by R/3 system itself

Internal table exists only when the program is run. It is used for performing table calculations on subset of database tables and also for re-organizing the content of database tables as per the users need.

There are 3 functional modules which are used in sequence to perform data transfer successfully using BDC programming. They are

To ensure the consistency of data, foreign keys are used. The relationship established between the tables and must be explicitly defined at field level. Data entered should be checked against the existing data to ensure that there is no contradiction. Cardinality has to be specified while defining foreign key relationship.

The difference between structure and table is
a) Data can be stored physically in Table, but a structure cannot
b) Structure does not have primary key but table can have
c) Table can have the technical attribute but the structure does not have

Smart forms allow you to create forms using a graphical design tool.

scripts are a word processing tool. It has a function like standard text and layout sets. Its layout set consists of: Windows and pages, Character formats, Paragraph formats etc.

a. In ABAP training dictionary, select object type Table, enter a table name and choose create
b. A field maintenance screen for the table is displayed. Table type Transparent table, set it as a default
c. Make the necessary entries in the short description and delivery classified on the Attributes page. Then define the fields of the table.
d. Proceed as when creating a transparent table. Now save your entries
e. Now choose EXTRAS Change table category
f. When a dialogue box appears you have to select the table type ‘Pooled table’ or ‘Cluster table’
g. After selecting the table, return to the field maintenance screen for the table. Field pool or cluster name is displayed on the Attributes tab page in addition to the standard fields.
h Now enter the name of the table cluster or table pool to which you want to assign the cluster table.

By using the loop event the reports output can be formatted
a) .at first
b) .at new
c) .at last

The difference between the table and template is that, table is a dynamic and template is a static.

ALV stands for Application List Viewer. To enhance the output of the report provides a set of ALV function modules which can be used, and it also improves the functionality and readability of any report output. It is an efficient tool used for arranging the columns in a report output.

End of the selection event is mostly used when we are writing HR-ABAP code. In the HR-ABAP code, data is retrieved in the start of selection event and printing on the list and all will be done at the end of the selection event.

ABAP is used to develop traditional programs in R/3, while OOABAP is used to develop BSP/ PCUI applications and also anything that an involved object oriented like BADI’s and SmartForms etc.


Over here, buffer means memory area, table buffer means the table information is available on the application server. When you call data from database table, it will come from application server. Transparent tables and pool tables are buffered, while cluster table cannot be buffered.

To format the ABAP training code ‘pretty printer’ is used.

‘Type’: You assign data type directly to the data object while declaring.
‘Like’: You assign the data type of another object to the declaring data object.
‘Type’ refers the existing data type while ‘Like’ refers to the existing data object.

The 2 editors are SE38 and SE80 and both have the ABAP editor in place. In SE38 , you can create programs and view online reports and basically do all the development of objects in this editor. In SE80, there are additional features such as creating packages, function group, module pool, classes, programs and BSP applications.

A report is an executable program; dialog is a module pool program. It has to be executed via a transaction only. Dialog programming is used for customizations of screens.

To synchronize access of several users using same data Lock objects are used.

A cluster table contains data from multiple DDIC tables. It stores data as name value pair.

To debug a script form, you have to follow
SE71–>give the form name->utilities->activate debugger

The different types of data dictionary objects are:
a) Tables
b) Views
c) Domain
d) Data Element
e) Type Groups
f) Search Helps/Matchcode Objects
g) Lock Objects
h) Structures
i) Table Types

Tuning can be done in three ways disk I/O, SQL tuning and memory tuning. Before tuning, you have to get the status of your database using oracle utility called statpack and tkprof .

To fetch the data from the table by the specified field Group by Clause is used.

A control agent referred as SAP dispatcher, manages resources for the R/3 applications.

There are two methods for modifying SAP standard tables
a) Append structures
b) Customizing includes

‘Database Index’ contains fields from one table while ‘Match Code’ contain fields from several tables. Match code objects can be built on cluster tables, transparent tables and pooled tables.

By using modularization techniques, you can avoid redundancy if the program contains the same or similar blocks of statements or it is required to process the same function several times. By modularizing the ABAP/4 programs, we make them easy to read and improve their structure. Modularized programs are also easier to maintain and update.

a) By defining Macros
b) By creating include programs in the library.

The different types of parameters are
a) Formal Parameters: It is defined during the definition of subroutine with the ‘FORM’ statement
b) Actual Parameters: It is specified during the call of a subroutine with the ‘PERFORM’ statement
You can distinguish different kind of parameters by their functionality. Input parameters are used to pass data to subroutines, while output parameters are used to pass data from subroutines.

a) Semantic Integrity
b) Relational Integrity
c) Primary Key Integrity
d) Value Set Integrity
e) Foreign Key Integrity
f) Operational Integrity

HANA in-memory database main features are: 1. HANA in-memory is a combination of row based, column based and Object-Oriented base technology.
2. It is Hybrid In-memory database; it can store data in row store and column store manner.
3. HANA in-memory use parallel processing with multicore CPU Architecture.
4. HANA In-Memory database takes 5 nanoseconds to reads data whereas other conventional databases take 5 milliseconds to read memory data.

> HANA 2.0 enhance security. Now redo logs and database backup encryption option is available in HANA 2.0
>HANA 1.0 is come out with XSC (extended application service Classic), and HANA 2.0 come out XSA (extend application service Advanced). So, improve application development in XSA.
> Enhance Administration tool HANA Cockpit 2.0 introduce in HANA 2.0
> HANA 2.0 Multitenant Database Container while HANA 1.0 is single DB system.
> SNAPSHOT Fallback
This feature is available in HANA 2.0 SP3. Create a snapshot before any major changes in the database. if something goes wrong then you recover database with this snapshot.
Snapshot fallback only work with tenant database. > New Featured in HANA SYSTEM Replication
1. HSR with Active/Active read enable. (Secondary data is available for read only query and use for reporting purpose).
2. Multi target System Replication (enable use to have multiple secondary system instead of a single on. This makes it possible to replicate both inside and outside the datacenter simultaneously.

Delta Merge: Delta merge is a process of moving data from delta area to main area called as delta merges. The purpose of the delta merge operation is to move changes collected in the delta storage to the read-optimized main storage. There are three types of Delta Merge –
Hard Merge: Hard merge is a manual execution of merge.
Auto Merge: Automatically the data transfer from delta to main by looking ideal time of the system. Smart Merge: It is taken care by system. System takes care to execute at application layer. When you want to execute at application layer it indicates as smart merge. It executed at ABAP application layer.

HANA persists in-memory data by using savepoints. Each HANA service has its own separate savepoints. A savepoint is a periodic point in time, when all the changed data is written to storage, in the form of pages.
During a savepoint operation, the HANA database flushes all changed data from memory to the data volumes. The data belonging to a savepoint represents a consistent state of the data on disk and remains so until the next savepoint operation has completed. Redo log entries are written to the log volumes for all changes to persistent data. SQL Query to trigger Save point operation:
Respective ini parameter is
global.ini ->[persistence]->savepoint_interval_s

The HANA database supports two kinds of license keys: temporary license keys and permanent license keys
HANA licenses can be installed for the system database (global) or for a single tenant database (local). Global licenses are for the system database and all the tenant databases, but a license installed in a tenant database governs only that tenant database. If you remove a tenant-specific license key, that tenant database reverts to the global license key installed in the system database
Temporary License Keys: A temporary license key is automatically installed with a new HANA system. A temporary license key is valid for 90 days. During this period, request and install a permanent license key.
Permanent License Keys: Types There are two types of permanent license key for HANA:
>If an unenforced license key is installed, the operation of HANA isn’t affected if its memory consumption exceeds the licensed amount of memory. However,
>if an enforced license is installed, the system is locked down when the current memory consumption of HANA exceeds the licensed amount of memory plus some tolerance. If lockdown occurs, either SAP HANA needs to be restarted, or a new license key that covers the amount of memory in use needs to be installed.

You can install permanent license keys in individual tenant databases. The license key installed in a tenant database is valid for that database only and takes precedence over the license key installed in the system database. If a tenant-specific license key isn’t installed, the system database license key is effective in the tenant database.
1. The system view SYS.M_LICENSE provides tenant administrators with information on the license key effective in their tenant database
2. System administrators can use the view SYS_DATABASES.M_LICENSE to see the same information for all tenant databases.

Column tables have several advantages:
1. Higher data compression rates
2. Higher performance for column operations
3. Elimination of additional indexes
4. Elimination of materialized aggregates
5. Parallelization.

SAP HANA Interview Questions and Answers

Ans: Open your sales order VA02 select line item go to condition details then click pricing analysis and find that your pricing procedure is coming or not, then click on the condition PR01 and find due to which reason the value is not coming in the sales order.
Maintain the prices condition record in VK11 for the validity of the sales order and then redetermine the prices.
For all the future order you will get to see the price, be sure to check the material or sales org for the record.

Ek01 is Cost Condition, PR00 is item condition and PB00 is Header condition means cannot process automatically have to enter manually that will applicable to all items.

It's not compulsory to determine free goods for a sales order. Free goods are determined for a sales order only if they are offered along with another product. For eg; if in my free goods settings, I've defined that for purchase 10 items of Product M1, i'l give 1 Free good of M2 then free goods need to be entered. Similarly in Inclusive Free Goods also free goods need to be entered in the sales order. Else for a basic sales order it's not compulsory.

Transaction Code: OBD2
We can determine output determination by using Account group also in ‘OBD2’ we are having an option for same.
SAP SD Interview Questions and Answers

A customer can also be a vendor and a vendor a customer. Vendor tab in customer master data is used to make this link, it is used for intercompany flows, for returns processing.

OMIH – Checking rule for updating back orders OPJL – Define new checking rule OPJJ – Define scope of check marked against sales documents/deliveries. For e.g. you receive an order from a very important customer for material “A” but the entire quantity of A is committed to another customer “B” via earlier sales orders and this is where Backorder processing helps you to change the commitment and shift stock due for B to A. This is the benefit of this functionality.
OMIH – Checking rule for updating backorders
OPJL – Define new checking rule
OPJJ – Define scope of check
V_RA – Backorder Processing
Data selection:-

Sold-to-party Customer code Mandatory
Sales Organization Mandatory
Distribution Channel Mandatory
Division Mandatory

Configure it in Status Profile -> BS02 Define & Assign Authorization Code to User IDs -> BS52 Pass the Codes & IDs to BASIS consultant to give the Authorization.

Customer account groups are used to classify customers into business partner functions that fit best the nature of the business transaction. It determines the role of a customer and customer master data. When a customer account is created, it is assigned to a certain account group.

Static and Dynamic Credit Check both take the following into consideration while performing a credit check.
1) Open Orders
2) Open Deliveries
3) Open Invoices
4) Open Items

In case of a dynamic credit check a time horizon factor is taken into consideration for the open orders. Let's assume you have set the time horizon as 1 month then while performing the dynamic credit check, open orders within the last 1 month would only be considered. Orders prior to this would not be taken into consideration.This feature can avoid very old orders that were entered in the system but were not processed after that.
In case of a static credit check there is no time horizon period so all the open orders in the system for a particular customer would be taken into consideration.
Do note the time horizon period is only for the open orders and not for any of the other factors.

Simple Credit Check:* Tr.Code - FD32
It Considers the Doc.Value + Open Items.
Doc.Value: Sales Order has been saved but not delivered.
Open Item: Sales Order has been saved, Delivered, Billed &Transferred to FI, but not received the payment from the customer.
Static Credit Check it checks all these doc value & check with the credit limit
1) Open Doc.Value / Sales Order Value: Which is save but not delivered
2) Open Delivery Doc.Value: Which is delivered but not billed
3) Open Billing Doc.Value: Which is billed but not posted to FI
4) Open Item: Which is transferred to FI but not received from the customer.
Dynamic Credit Check
1) Open Doc
2) Open Delivery
3) Open Billing
4) Open Items
5) Horizon Period = Eg.3Months
Here the System will not consider the above 1, 2, 3 & 4 values for the last 3 months.

Tcode: FD32, check the menu function "Edit->Change Credit account" on "Status" View. After that, your current account will share the credit on your specified Credit account. Create as a partner and you can assign the credit limit to them in single transaction.

It’s nothing but an adjustment. Let’s say you have creates a bill of 10 bucks and latter you realize it’s not correct and the billing amount should be 8 bucks. To change the billing amount you have to create a negative bill worth -2 bucks. It’s a negative bill or in other words it’s an adjustment of credit type. Similarly debit type adjustments are also there.

1.Plant to shipping point Assignment
ans: this is done in ovl2,: shipping condition, loading group, plant
2. Storage location determination for outbound delivery (Ex:FG01)
ans: you will check for OVLsssssssssssssssssssssK tcode here you can assign the storage rule ,mala.mare,reta: mala : shipping point, storage condition ,plant mare:mala, then reta(back up procedure reta: plant, situation, storage condition Based on this you determine the storage location
3. Storage condition of material in MMR (Ex:06) ans: you can check the mm02, mm03 , storage location view ,
4. Storage location in SO (we not maintaining stor.location @ SO level)

If we not maintaining the pricing date in the condition type the system automatically triggers the current date as a pricing date, so we need to maintain the pricing date for deliveries.

Instruction to move the material from source storage bin to destination storage bin with in the warehouse complex. It contains Material No, Material Quantity, source and Destination storage bin.

if u want to reversal u can use VL09 and then cancelled delivery to use transaction VLO2N.

It is imp to maintain the substitution reason by using the t.codeovrq, which explains the rule for determination.

strategy is an approach to migrating data from a legacy system to a new system -- in this case an system. ... Open transactions are those business transactions that are still under process when the company switches from the legacy system to the system

The main purpose of the customer views are for each department to determine the roles effectively in customer general data deals with all the details regardign the customer COMPANY CODE DATA DEALS WITH FINACIAL ASPECTSsales area data deals with sales ; billing ; shipping detaias along with the partner determination.

The billing document can be an invoice, per-forma invoice, cash sales invoice, credit memo and a debit memo. Whereas an invoice is a type of billing doc used to bill the customer for services or goods delivered.

General Item category Group is an extension item category group. Example: if one select item category group as NORM, but under item category group, NORM can further be classified as Service item, packaging item or Normal.
Item category group determines how a material is processed in the sales order. When processing sales and distributiondocuments, the system uses the item category group to determine the item category and proposes it in the respective document. Item category group is defined in the Sales Org View 2 of Material Master Record.
Example, in the standard SAP System, the item category group NORM is defined for materials kept in stock and the group DIEN for services and non-stock material.
General item category group is used by MM if u made any changes in that it will not effect is SD u can test this now. Item category group is used for SD to configure the item category if u make anything here it will effect in your sales document process.

Creating condition type as a discount u need to enter Condition Class as A and in plus/minus field u have to enter
- (minus)
. We specify whether a condition type is discount or surcharge in Details screen of the condition type. Where u have a field Plus/minus. If u take (-)ve it becomes discount and if u take (+)ve it becomes surcharge.

Returnable packaging process is where the customer will return the material used at the end of the complete usage, and that material valuation done as it is owned by the company itself only.
Ex: Gas cylinders, Cease fire, which are been able to refill.

It is the time taken to produce or bring material from out is based on planned delivery time and in-house production time.

1. Chart of accounts
2. Sales organization
3. Customer account assignment group
4. Material account assignment group
5. Acct key

Storage loc determination depends on the storage loc rule that you assign to the delivery doc type.
MALA: Shipping point / plant / storage conditions
RETA: Shipping point / plant / situation
MARE: 1st MALA if not possible, then RETA.
Or any other custom logic.
Whatever may be the case you do the determination in OVL3.
The same storage location will be proposed in the delivery. Please note that the storage location determination happens automatically only in delivery. If you want to have it done in order, then a customized code should be written in user exit in MV45AFZZ.

Returnable packaging explains the case where customer returns the packaging material, and the same is not charged to the customer.

Factory calendar is maintained in four areas:
Plant, Shipping point, Route, Customer and Sales Organization.

If the material determination procedure is assigned to the sales document type and condition record is maintained for material determination, then material determination triggered.

A handling unit is a physical unit consisting of packaging materials (load carriers/packing material) and the goods contained on/in it. A handling unit is always a combination of products and packaging materials.

Performa Invoice is generally used for Export Sales and have no relevance of postings into accounting. Its only serve as what will be the cost for the seller/purchaser.
Billing Type F5 =Order related
F8= Delivery related
F5 is used by sales dept. for approvals from higher authority within his sales organization.
F8 is used generally for custom purpose.

We can use output determination procedure to automate output processing. This is based on Condition technique. We have to assign the output determination procedure to the combination of
1. Output type
2. Partner function
3. Transmission medium time
4. Language

Those deliveries you want to create a single billing document should have the same criteria like,
1. Payer
2. Payment Terms
3. Incoterms
4. Destination country
5. Billing date
6. Actual Goods issue date
7. Foreign trade data
8. Billing doc type
9. Shipping conditions
10 Account assignment group of customer/material
11. Exchange rate
12. Billing relevance field in the item category
Will be combined into one Billing document automatically and this is controlled by the copy control. GotoT.Code VTFL choose your delivery type and you’re billing type, goto header and in that at item level for the field VBRK/VBRP maintain the values as 001/007.
In VF01 you have to input those deliveries and execute then those will be combined into a single billing document. Or you can do that in VF04 also.

A lump sum is a single payment of money, as opposed to a series of payments made over time (such as an annuity). ... Prudential was of the view that for many retirees, a lump sum at the time of retirement was the most tax efficient option.

A rebate can mean the same as a discount when it refers to a reduction of the price during a sale but it also means refund. That is money given back after payment has been made. Rebates may be given on tax, rent and utility bills as well as on goods purchased.

When thereis not enough stock system will give the next delivery date by checking the availability of that quantity of material.
In addition to above answers system checks if the same material is available with some other plant. if it is available in other plant we can do the delivery from other other plant.
When they’re not enough stock system will give the next delivery date by checking the availability of that quantity of material.

- Revenue account
- Customer receivables account
- profit center account
- Special purchase ledger account
- Profitability Analysis Account

This is a very common requirement in many implementations depending on the scenario
Sales order with one pricing procedure the same sales order when goes for billing
Billing document with another pricing procedure
Settings needed
Order type VOV8 has a document pricing procedure Say A
Billing type VOFA has a document pricing procedure Say B
Sales area 1000, 10, 00 and CPP is 1
OVKK settings is like this
1000, 10, 00 DPP A, CPP1 Pricing procedure is RVAA01
1000, 10, 00 DPP B, CPP1 Pricing procedure is RVAA02
The control data in both RVAA01 and RVAA02 is different
In VTFL between your del type to billing type under the header that item level The pricing type should be B (carry out new pricing) if delivery related billing
In VTFA between your order type to billing type under the header that item level The pricing type should be B (carry out new pricing) if order related billing
Now the same sales order will carry PP RVAA01at order level and RVAA02 at the billing document
There can be some business scenarios you want to add some extra discount at the time of billing
That time you have a discount type added in the billing PP so that it is reflected in the billing
This is scenario dependent
Hence SAP has given the option of DPP in VOFA so that by billing document wise we can differentiate To achieve this Copy control settings and DPP should be different both in VOV8 and VOFA.

As far as account key concern both are the same to find the right G/L Account through condition technique.SD account key will be from pricing procedure. On the other hand, FI account key will be from tax procedure.
Acct keys are defined in FI only, sd
people only use them, say in pricing. But ultimately they r used for posting the amounts to relevant GL accounts only .

It is NOT possible to create a Delivery without a Shipping point.
Shipping point is normally a physical place at a fixed location, exactly from where goods goes out/ leaves for the customer (Ship-to-party).
Without shipping point, Route also cannot be determined as the Transportation zone used in Route determination comes from the Shipping point. So no delivery creation is possible.
Loading time and Pick/Pack time used in delivery & transportation scheduling, comes from the Shipping point.
Transportation planning time and Transit time used in scheduling comes from the Route.
So, if there is no Shipping point, no Route can be determined and delivery& transportation scheduling cannot be performed without the above lead times.
As a result, system cannot confirm any delivery date etc. Therefore, you cannot deliver without a Shipping point.
Note: We can do out bound delivery without shipping point only in Third party where delivery is done by vendor.

In SAP you will always get integration with other modules. SD will interact with FI, MM will interact with SD:-
1a. Looking at MM and SD interaction first, take the scenario of a third party order process. This process uses a purchase order (which is sent to your vendor). Also invoice verification is used further along the process to check that the invoice you send to your customer is the same material and quantity as that which the vendor sends to you (but obviously shipped directly to your customer).
1b. Billing is an SD function. But SAP needs to know, when processing a customer's payment, to which GL account the payment has to be processed. For instance payment of a UK based material would be placed in a different GL account to that of a non-UK based material. Furthermore, a UK based customer may have a different GL account to that of an Export customer. This is configured in Account Determination.
2. ABAPers are there to essential do some bespoke development. Your integration, or interaction, with them would be when specifying the tables, fields, input fields, a simple process explanation, data mapping (if doing an interface from one system to another) etc.
The link between SD and MM :-
1. When you create sales order in SD, all the details of the items are copied from Material master of MM.
2. MRP and availibility check related data is also taken from MM although you control this data in SD also.
3. While you create inbound/outbound delivery with reference to a sales order,the shipping point determination takes place with the help of the loading group, plant data, shipping conditions etc. This also refers to Material Master.
4. The material which you are entering in a sales order must be extended to the sales area of your sales order/customer otherwise you cannot transact with this material.
There are many such links between SD and MM.
Now the link between SD and FI :-
1. Whenever you create a delivery with reference to a sales order, goods movement takes place in the bacgground. eg. In case of standard sales order, you create an outbound goods delivery to the customer. Here movement 601 takes place. This movement is configured in MM. Also, this movement hits some G/L account in FI. Every such movement of good s hits some G/L account.
2. The accounts posting in FI is done with reference to the billing documents (invoice, debit note, credit note etc) created in SD. Thus this is a link between SD and FI
3. Tax determination: In case of a tax determination also, there is a direct link between SD and MM SD Integration points with other modules
SD module is highly integrated with the other modules in SAP.
Sales Order –
Integration Points Module
•Availability Check - MM
•Credit Check - FI
•Costing - CO/ MM
•Tax Determination - FI
•Transfer of Requirements - PP/ MM
Delivery & Goods Issue –
Integration Points Module
•Availability Check - MM
•Credit Check - FI
•Reduces stock - MM
•Reduces Inventory $ - FI/ CO
•Requirement Eliminated - PP/ MM
Billing -
Integration Points Module
•Debit A/R - FI/ CO
•Credit Revenue - FI/ CO
•Updates G/ L - FI/ CO
(Tax, discounts, surcharges, etc.)
•Milestone Billing - PS
Return Delivery & Credit Memo -
Integration Points Module
•Increases Inventory - MM
•Updates G/ L - FI
•Credit Memo - FI
•Adjustment to A/R - FI
•Reduces Revenue - FI
SD Transaction Code Flow:
Inquiry / Document type IN
Tcode for creation VA11, VA12, VA13. Tables VBAK, VBAP
Quotation / QT
Tcode for creation VA21,VA22,VA23. tables VBAK,VBAP
Purchase Order PO
Tcode for creation ME21,ME22,ME23. tables EKKO,EKPO.
Sales Order OR
Tcode for creation VA01,VA02,VA03. tables VBAK,VBAP
Delivery LF
Tcode for creation VL01,VL02,VL03. tables LIKP,LIPS
Billing MN
Tcode for creation VF01,VF02,VF03. tables VBRK,VBRP
To create a sales order we need purchase order number and custmer number. Before that, to create a purchase order we need to have material no, vendor no.
To create vendor tcode is xk01(create), xk02(change) , xk03(display) Tables are lfa1.
To create custmertcode is xd01, xd02, xd03. Table is kna1.

Comming Soon.....

SAP stands for "Systems Applications and Products in Data Processing." It was founded in 1972 by five former IBM employees in Germany.
The great advantage of SAP is, it creates a common centralized database for all the applications running in an organization. The application has been assembled in such a versatile way that it handles the entire functional department within an organization. Today major companies including Microsoft and IBM are using SAP's Products to run their own businesses.
R/2, which ran on Mainframe architecture, was the first SAP version. Sap's products are generally focused on Enterprise Resource Planning (ERP). Sap's applications are built around R/3 system which provides the functionality to manage product operations, cost accounting, assets, materials and personnel. The R/3 system of SAP runs on majority of platforms including windows 2000 and it uses the client/sever model.

ERP is a package with the techniques and concepts for the integrated management of business as a whole, for effective use of management resources, to improve the efficiency of an enterprise.
Initially, ERP was targeted for manufacturing industry mainly for planning and managing core business like production and financial market. As the growth and merits of ERP package ERP software is designed for basic process of a company from manufacturing to small shops with a target of integrating information across the company.

IDES stands for International Demonstration and Education System. A sample application provided for faster learning and implementation. This version is only used for training purpose. IDES comes with some dummy data, to enable you to quickly learn.

User IDs can be created by following the below procedures:
Using SU01 transaction code
Using SU10 transaction code
Using CATT scripts
Refer the “Learnbasis - User Management Activities in .PDF” document for detailed procedures.

PFCG is the transaction code used to invoke profile generator tool. Profile Generator is a tool which can be used to automatically generate and assign authorization profiles.
Profile generator reduces the time for authorization implementation. The profile generator automatically selects authorization objects which are relevant based on the transaction codes added in the role. An administrator only needs to configure the customer specific settings.
Profile Generator was released with the 3.1G version and has really changed the way authorizations were implemented.

The USOBX_C, and USOBT_C tables are called as Customer tables, which should be created using SU25 transaction code in a fresh implementation or an upgrade.
The table USOBX_C defines which authorization checks are to be performed within a transaction and also determines which authorization checks are maintained in the Profile Generator.
The table USOBT_C defines for each transaction and for each authorization object which default values an authorization created from the authorization object should have in the Profile Generator.

To create/maintain users, the following are the minimum authorization objects which are
required: S_USER_GRP: User Master Maintenance: Assign user groups
S_USER_PRO: User Master Maintenance: Assign authorization profile
S_USER_AUT: User Master Maintenance: Create and maintain authorizations.

A role is a grouping of privileges, which can be assigned to the users. In the other words, a role is a collection of transaction codes, reports, and authorization objects which are further restricted based on the function of the user.

A derived role is a role which inherits the menu structure and the functions included (transactions, reports, Web links, and so on) from a reference role.
A role can only inherit menus and functions if no transaction codes have been assigned to it before. The higher-level role passes on its authorizations to the derived role as default values which can be changed afterwards.
However, the Organizational level definitions are not inherited to the derived role, which means they should be maintained individually.

A composite role is a container which can collect several different roles. It is also called as a collective role.
Composite roles do not contain authorization data. If you want to change the authorizations (that are represented by a composite role), you must maintain the data for each role of the composite role.
Creating composite roles makes sense if some of your employees need authorizations from several roles. Instead of adding each user separately to each role required, you can set up a composite role and assign the users to that group.
Note that a composite role can’t contain another composite role.

User Comparison will reconcile the PROFILES within a user's account and make the necessary changes. This is especially true when you've assigned specific Valid-To dates for the roles on an account. If the Valid-To (expiry) date of a role has passed, the User Comparison will REMOVE the profile/role from that account.
As mentioned above, if you see a red button in PFCG this means that a User Comparison should be executed to help reconcile the profiles for the users. You can also see this in SU01 if a specific role has a red button.
As a suggestion, recommends running the report PFCG_TIME_DEPENDENCY once a day to perform a User Comparison and help 'clean up' the User Master Record for your system.

Security is the degree of protection against danger, loss, or a business threat.
Security as a form of protection is structures and processes that provide or improve security as a condition.
In an application level, it is the condition that prevents unauthorized persons from having access to official information that is safeguarded through various security measures.

Application security encompasses measures taken throughout the application's life-cycle to prevent exceptions in the security policy of an application or the underlying system (vulnerabilities) through flaws in the design, development, deployment, upgrade, or maintenance of the application.
Below are some of the Security standards and regulations:
Sarbanes-Oxley Act (SOX)
Health Insurance Portability and Accountability Act (HIPAA)
IEEE P1074
ISO/IEC 7064:2003 Information technology -- Security techniques -- Check character systems

Security also follows the Application Security methods, where in the measures are taken throughout the life-cycle to prevent un authorized access to the system. It follows the Sarbanes-Oxley Act (SOX), which helps the companies to quickly identify any threats and either to fix them or mitigate them as and when they occur with a periodic review.
Maintaining the system with defined processes in the User Management, Role Management activities are also a part of these Security standards.

Whenever a user logs on to the System, a user buffer is built containing all authorizations for that user. Each user has their own individual user buffer. This can be viewed using transaction code SU56 A user would fail an authorization check if:
The authorization object does not exist in the user buffer
The values checked by the application are not assigned to the authorization object in the user buffer
The user buffer contains too many entries and has overflowed. The number of entries in the user buffer can be controlled using the system profile parameter auth/number_in_userbuffer.

It is always recommended to make the user logoff and login again to the SAP system, which will automatically reset the user buffer. However, if you wish to manually reset the buffer for any user, go to SU53 or SU56 transaction codes, click authorization values, select “Reset User Buffer” option.
However, if you wish to reset the buffer for a different user, select the other user using button. Please note: resetting of the buffers could change the performance of the entire system.
Below are the various commands to reset the buffers:
/$SYNC - buffers of the application server
/$CUA - CUA buffer of the application server
/$TAB - the TABLE buffers of the application server
/$DYNP - the screen buffer of the application server

It doesn't restrict on the number of roles assigned. However, the maximum Profiles that can be assigned to any user is ~ 312.
Table USR04 holds the Profile assignments for users. This table contains both information about the change status of a user as well as the list of profile names that were assigned to the user.
The PROFS field is used to save the change indicator (C = User created, M = User changed) and the name of the profiles assigned to the user. The field is defined with a length of 3,750 characters. Since the first two characters are for the change indicator, 3,748 characters are still available for the list of profile names per user. Since the maximum length for each profile name is 12 characters, the maximum number of profiles per user is 312.
Note 841612 delivered a solution for increasing the number of usable profiles per user from 300 to the maximum value of 312.

All possible activities (ACTVT) are stored in table TACT. Also, the valid activities for each authorization object can be found in table TACTZ.

Execute SE16 or SE16N transaction code. Enter the table name “AGR_1252”. Enter the Role name in the role field and hit execute.

To remove duplicate roles from the user master, perform the following:
1. Go to SE38 (you can also use SA38 transaction code)
2. Enter the program name “PRGN_COMPRESS_TIMES”
3. Click Execute.
4. Enter the Role name (you can also specify a group of roles or users.) NOTE: A list of user IDs can be specified to remove the duplicate/expired roles.
5. Click Execute.

sap security with grc online training institute
Simulation Run – will perform a simulation on the mentioned roles/user IDs.

access request-----> p1----> 3

incidents----------> p2----> 6 >

Change requests----> p3

mail requests------> p4



create t.r in dev system for the role and delete the role in dev system
Move t.r from dev to qa and prd

not possible ( we can’t reset the password 1000 users at a time )

yes ( first we need to setup su24 then create roles )

By using derived roles concept ( we can add new t.code to multiple roles at a time)

we can do changes directly in tables

Changed: All changes made to “Standard” authorizations (except for blank authorizations) are indicated as “Changed”
Maintained: At least one field was empty by default and has since been filled with a value.

we can do changes directly in tables

The following authorization objects are required to create and maintain user master records:
•S_USER_GRP: User Master Maintenance:Assign user groups
•S_USER_PRO: User Master Maintenance: Assign authorization profile
•S_USER_AUT: User Master Maintenance: Create and maintain authorizations


A role act as container that collect transaction and generates the associated profile. The profile generator (PFCG) in SAP System automatically generates the corresponding authorization profile.

When a user logs on to the R/3 System, a user buffer is built containing all authorizations for that user. Each user has their own individual user buffer.
For example, if user Smith logs on to the system, his user buffer contains all authorizations of role.

Execute SE16
Composite roles You can put multiple composite roles using the more button.

Execute SE16 Table : AGR_AGRS
Composite roles you can put multiple composite roles using the more button

by using SU10 t.code. If you have less than 16 users then you can paste the userids.
If you have more than 16 users – Click on Authorization data and click on next to users and upload from clipboard.

1. Remove all the roles and profiles assigned to the user. 2. Move them to TERMINATE User group. 3. Lock the user

SU22 displays and updates the values in tables USOBT and USOBX.
SU24 does the same in tables USOBT_C and USOBX_C.
The _C stands for Customer.
The profile generator gets its data from the _C tables.
In the USOBT and USOBX tables the values are the standard values as shown in SU24.

Top 10 SAP ABAP Interview Questions | SAP ABAP Interview Questions for Experienced Candidates

Avinatech SAP Interview Questions and Answers| SAP Interview Questions for 3years Experience

Top 10 SAP FICO Interview Questions | Best SAP FICO Training Institute in Hyderabad

Top 10 SAP MM Interview Questions | Best SAP MM Training Institute in Hyderabad

Top 10 SAP HR/HCM Interview Questions| Best SAP HR/HCM Training Institute in Hyderabad
Top 10 SAP BASIS Interview Questions| Best SAP BASIS Training Institute in Hyderabad
WhatsApp img