Your Ad Here

Friday, January 30, 2009

SAP Tutorial - Part 4 - Sequential Walk Through

Sequential Walk Through

Sales

Pre-sales activity--planning and availability support for the sales personnel
Sales Order--The actual entry of the sales order into the system done by the salesperson at the point of sales perhaps using a PC and Internet connections.
Determining where the most efficient source of the ordered product is in inventory and shipping it.
Delivery
Customer Billing
Customer Payment


Production

Sales and Operations Planning SOP where the sales forecasts are used in a production planning model to check feasibility.
Master Production Scheduling MPS--The actual plan for the whole production process
Material Requirements Planning MRP--Where the production plan is actually converted into raw materials input requirements.
Planned Order--When materials are available and capacity exists this plan is created
Production Order.
Shop Floor Control where the actual production takes place and is registered into the system as finished goods.


Purchasing

Requisition--Once the Production manager plans to manufacture something a requisition for the raw materials required but not on hand must be prepared.
Vendor Selection--made by the purchasing department
Purchase order sent
goods receipt increasing inventory
Invoice verification as it is received from vendor
Payment to vendor.


Finance and Accounting

Sales events must be captured at the proper time into the ledger system
Inventory must be adjusted to match goods shipped
Inventory must be adjusted to match raw materials received
Inventory must be adjusted to move value from raw materials to work in process
Inventory must be adjusted to increase finished goods when they are produced
Accounts Payable must be set up for purchases
Accounts Receivable must reflect goods billed but not yet paid for
Business Process Engineering must not only identify all these steps but must also find the most efficient way to minimize redundant actions. For example, when sales are made, inventory and manufacturing plans should be automatically updated. When manufacturing plans are updated raw materials should be automatically ordered from vendors. When finished goods are shipped customers should be automatically billed at the same instant. Real situations are far more complex than the simple explanation above.

Thursday, January 29, 2009

SAP Tutorial - Part 3 - System-Wide Features

SAP uses certain system wide features that should be understood at the outset. These are used to logically, safely and flexibly organize the data in a business enterprise.

Customizing

is the configuring of the system to represent your organization's legal structure, reporting requirements and business processes. Internal reporting is a managerial tool in the daily operations. External reporting is required by governmental units controlling the legal structure of the corporation, such as, the IRS state taxing authorities, SEC etc.

Organizational Elements

Financial

client is a legal and organizationally independent unit at the highest level in SAP

company is an independent legal entity within a client

business areas are used to produce profit and loss statements and balanced sheets across marketing lines

Materials Management

1. Purchasing units
2. Plants

Sales and Distribution

1. Sales Organization
2. Distribution channel
3. Division

Master Data is records that remain in the database over an extended period of time. Examples:

1. Customer Master
2. Vendor Master
3. Material master
4. Account Master

This structure eliminates redundant data and is shared by all SAP Modules. It is a critical aspect of the robustness of the system.

Employee Self Service - your employees have access to the own HR records over the Internet.

Classification is the assignment of objects to a class. Each class has standard characteristics.

Matchcodes are query tools used to find specific information using search methods.

Security is administered for objects, profiles and authorizations. Users are only authorized to see or change the parts of the system required by their job responsibilities.

Business Processes and SAP Functionality


System-Wide Features


In order to understand a system like SAP a thorough understanding of the events and relationships that take place in a business is required. It is not enough to just realize the Sales, Production, Finance and Accounting have jobs to do in a business. The exact details of each action, the timing of that action and its interrelationships with every other process must be understood. In many large operations there may be no person that has a complete grasp of the situation. Before an operation can be automated or computerized a thorough study of the business must be undertaken. This task is called Business Process Engineering.

Wednesday, January 28, 2009

SAP Tutorial - Part 2 - SAP Application Modules

SAP Application Modules

SAP has several layers. The Basis System is the heart of the data operations and should be not evident to higher level or managerial users. Other customizing and implementation tools exist also. The heart of the system from a manager's viewpoint are the application modules. These modules may not all be implemented in a typical company but they are all related and are listed below:

FI Financial Accounting--designed for automated management and external reporting of general ledger, accounts receivable, accounts payable and other sub-ledger accounts with a user defined chart of accounts. As entries are made relating to sales production and payments journal entries are automatically posted. This connection means that the "books" are designed to reflect the real situation.

CO Controlling--represents the company's flow of cost and revenue. It is a management instrument for organizational decisions. It too is automatically updated as events occur.

AM Asset Management--designed to manage and supervise individual aspects of fixed assets including purchase and sale of assets, depreciation and investment management.

PS Project System--is designed to support the planning, control and monitoring of long-term, highly complex projects with defined goals.

WF Workflow--links the integrated SAP application modules with cross-application technologies, tools and services

IS Industry Solutions--combine the SAP application modules and additional industry-specific functionality. Special techniques have been developed for industries such as banking, oil and gas, pharmaceuticals, etc.

HR Human Resources--is a complete integrated system for supporting the planning and control of personnel activities.

PM Plant Maintenance--In a complex manufacturing process maintenance means more than sweeping the floors. Equipment must be services and rebuilt. These tasks affect the production plans.

MM Materials Management--supports the procurement and inventory functions occurring in day-to-day business operations such as purchasing, inventory management, reorder point processing, etc.

QM Quality Management--is a quality control and information system supporting quality planning, inspection, and control for manufacturing and procurement.

PP Production Planning--is used to plan and control the manufacturing activities of a company. This module includes; bills of material, routings, work centers, sales and operations planning, master production scheduling, material requirements planning, shop floor control, production orders, product costing, etc.

SD Sales and Distribution--helps to optimize all the tasks and activities carried out in sales, delivery and billing. Key elements are; pre-sales support, inquiry processing, quotation processing, sales order processing, delivery processing, billing and sales information system

Tuesday, January 27, 2009

SAP Tutorial - Part 1 - What is SAP

What is SAP?

SAP is the leading Enterprise Information and Management Package worldwide. Use of this package makes it possible to track and manage, in real-time, sales, production, finance accounting and human resources in an enterprise.

SAP the company was founded in Germany in 1972 by five ex-IBM engineers. In case you’re ever asked, SAP stands for Systeme, Andwendungen, Produkte in der Datenverarbeitung which - translated to English - means Systems, Applications, Products in Data Processing. So now you know! Being incorporated in Germany, the full name of the parent company is SAP AG. It is located in Walldorf, Germany which is close to the beautiful town of Heidelberg. SAP has subsidiaries in over 50 countries around the world from Argentina to Venezuela (and pretty much everything in between). SAP America (with responsibility for North America, South America and Australia - go figure!) is located just outside Philadelphia, PA.

The original five founders have been so successful that they have multiplied many times over such that SAP AG is now the third largest software maker in the world, with over 17,500 customers (including more than half of the world's 500 top companies). SAP employs over 27,000 people worldwide today, and had revenues of $7.34 billion and Net Income of $581 million in FY01. SAP is listed in Germany (where it is one of the 30 stocks which make up the DAX) and on the NYSE (ticker:SAP).

There are now 44,500 installations of SAP, in 120 countries, with more then 10 million users!

So what made this company so successful? Back in 1979 SAP released SAP R/2 (which runs on mainframes) into the German market. SAP R/2 was the first integrated, enterprise wide package and was an immediate success. For years SAP stayed within the German borders until it had penetrated practically every large German company. Looking for more growth, SAP expanded into the remainder of Europe during the 80's. Towards the end of the 80's, client-server architecture became popular and SAP responded with the release of SAP R/3 (in 1992). This turned out to be a killer app for SAP, especially in the North American region into which SAP expanded in 1988.

The success of SAP R/3 in North America has been nothing short of stunning. Within a 5 year period, the North American market went from virtually zero to 44% of total SAP worldwide sales. SAP America alone employs more than 3,000 people and has added the names of many of the Fortune 500 to it’s customer list (8 of the top 10 semiconductor companies, 7 of the top 10 pharmaceutical companies etc). SAP today is available in 46 country-specific versions, incorporating 28 languages including Kanji and other double-byte character languages. SAP also comes in 21 industry-specific versions.

SAP R/3 is delivered to a customer with selected standard process turned on, and many many other optional processes and features turned off. At the heart of SAP R/3 are about 10,000 tables which control the way the processes are executed. Configuration is the process of adjusting the settings of these tables to get SAP to run the way you want it to. Think of a radio with 10,000 dials to tune and you’ll get the picture. Functionality included is truly enterprise wide including: Financial Accounting (e.g. general ledger, accounts receivable etc), Management Accounting (e.g. cost centers, profitability analysis etc), Sales, Distribution, Manufacturing, Production Planning, Purchasing, Human Resources, Payroll etc etc etc. For a full description of the modules included in SAP, see the related articles. All of these modules are tightly integrated which – as you will find out – is a huge blessing ... but brings with it special challenges.

SAP are maintaining and increasing their dominance over their competitors through a combination of

embracing the internet with mySAP.com (a confusing name we believe) to head off i2 etc

extending their solutions with CRM to head off Siebel

adding functionality to their industry solutions

What Makes SAP different?

Traditional computer information systems used by many businesses today have been developed to accomplish some specific tasks and provide reports and analysis of events that have already taken place. Examples are accounting general ledger systems. Occasionally, some systems operate in a "real-time" mode that is, have up to date information in them and can be used to actually control events. A typical company has many separate systems to manage different processes like production, sales and accounting. Each of these systems has its own databases and seldom passes information to other systems in a timely manner.

SAP takes a different approach. There is only one information system in an enterprise, SAP. All applications access common data. Real events in the business initiate transactions. Accounting is done automatically by events in sales and production. Sales can see when products can be delivered. Production schedules are driven by sales. The whole system is designed to be real-time and not historical.

SAP structure embodies what are considered the "best business practices". A company implementing SAP adapts it operations to it to achieve its efficiencies and power.

The process of adapting procedures to the SAP model involves "Business Process Re-engineering" which is a logical analysis of the events and relationships that exist in an enterprise's operations.

Monday, January 26, 2009

SAP DB Interview Questions Answers Vol - 1

What are the tools used in SAP Implementation? How do you create Alert Messages?
One of the Tools being used for SAP Implemention is QuickSizer, which is used to size the SAP Server based on number of users using various modules in SAP.

Alert Message is created in the CCMS monitor using TCodes RZ20 and RZ21. The values for Alert AutoReaction Methods are defined using the TCode RZ21, while this particular method is assigned to the Monitoring Tree Element (MTE) in the TCode RZ20.

One as well can have an Alert Management System, where alerts from the Entire Landscape can be configured in a Central Monitoring System from where it can trigger a alert mail or SMS to the concerned Administrator

When spool buffer is full and new spool request is raised what happens to the request ? where does the request stored?
The new spool request will be in the queue. If it is urgent request then the current request will be be stoped and newrequest will be send.

What is the difference between R3trans and Tp in SAP-DBA?
R/3trans is the R/3 system transport program which can be used for transporting data between different SAP systems ,even when they dont belong to the same group. R3trans normally is not used directorly but called from the Tp controle program or by the R/3 upgrade. Tp is the basic tool for the transporting the request.

What is “Group by” in Select statement?
Answer1:
Group by is used to fetch a unique data from a column.

Answer2:
A "group by" is used to group selected rows in a table to perform arg functions on them. Rows not included in the "group by" clouse and not part of ARG functions cannot be used ...(logical grouping of data) or orerations performed (on groups of data) can be used with the "HAVING" clause to further refine the output.

ex of some ARG functions : SUM() , MIN(),MAX(), AVG()

Select statement to read data into internal tables. Types of Select statements

select * from database table into (internal table name)
the above statement collects data into the header area of the internal table.
and
select * from database table into table (internal table name)
the above statement collects the data into the body area directly .

Explain “Commit” and “Roll back”
The Oracle RDBMS provides a transaction model based on a unit of work. The PL/SQL language supports most, but not all, of the database model for transactions (you cannot, for example, ROLLBACK FORCE). Transactions begin with the first change to data and end with either a COMMIT or ROLLBACK.

COMMIT makes the database changes permanent and visible to other database sessions.

ROLLBACK undoes the changes made in the current transaction either to the beginning of the transaction or to a savepoint. A savepoint is a named processing point in a transaction, created with the SAVEPOINT statement. Rolling back to a savepoint is a partial rollback of a transaction, wiping out all changes (and savepoints) that occurred later than the named savepoint.

What happens “Update” command is used without where clause ?
Answer1:
It will update all the records with same name in the particular field of the table.

Answer2:
If we dont mention "WHERE" clause in the UPDATE statement, it will update all records satisfying the given condition (if given any ) in the table !

Answer3:
Based on query condition. it will update all the fields which are mentioned in the query.
ex: update employee set firstname= @firstname,lastname=@lastname where employee_id =@employee_id.
so in the above case nothing wil be happen if you used where clause or not.
if you have many statements in the query you need to use the where clause.

What are logical databases?
Answer1:
insert' will add a new record or a new row into the database table.
'Update' will modify a record in the DB table.
'Modify' it is a combination of both insert and update...

Answer2:
INSERT - Add a new record into the database table.
MODIFY - If record is available it modifies otherwise it wont modify.
UPDATE - If record is available its update the record otherwise it creates a new record.

Difference between “Insert”, “Update” and “Modify”
INSERT - Add a new record into the database table.
MODIFY - If record is available it modifies otherwise it wont modify.
UPDATE - If record is available its update the record otherwise it creates a new record.

“Catch” Command
Trying to catch any runtime errors programmatically or manually we use this statement catch.

Sunday, January 25, 2009

SAP SD Interview Questions Answers Vol - 1

What is the purpose of text determination, account determination, partner determination, output determination, storage location determination
Answer1:
Text determination: For transferring information from material or customer to order/delivery or invoice (and anything in between)

Account determination: For transferring financial and costing information to proper financial docs

Partner determination: For determining who is is legally responsible for A/r, who the goods are going to and whatever else you want to drive through this functionality.

Output determination: What kind of output does a sales/delivery/billing document create and who gets it, where?. For example A partner might get an EDI notification for a sales order just confirmed, whereas a financial/leasing company gets the invoice!

Answer2:
(a) Text Determination: Any Texts in Material Master/Material Determination/Order/Delivery , etc is meant to convey messages to the subsequent documents for compliance. e.g. "Give Top Priority" message mentioned in Order is meant for Production Dept. (b) Account Determination: is integration between Finance and SD. The A/P along with Account Keys need to be allocated accordingly with combination of Account Determination Group for Customer and Material if required. (c) Partner Determination: To identify which type of Partner it is so that if required for same Customer different Partner Functions may be required e.g Only One Sold To Party per Customer. More than One Ship to Party/ Bill to Party/ Payer possible. Accordingly different Masters will have to be created. Useful for dispatch of Material in case of Ship to Party, sending Bill in case of Bill to Party and payment follow up/Dunning in case of Payer. (d) Output Determination: What type of Output (Fax/Mail, etc) is required, where and in what Format(ABAP Customization may be required in some cases especially Invoices). (e) Storage Location Determination: depends on Plant, Shipping Point and Storage Conditions

What are the five imp fields to be maintained in account determination
Account Determination: Sales View, Sales Organization, Distribution Chanel, Chart of Accounts, Account Assignment Group for Customer and Material and Account Keys.

What is meant by transfer of data from legacy code to sap Legacy Code ?
Answer1:
It should be legacy data to SAP. What it means is you want to transfer all the customer and materials and all other information from Older (legacy system) to new SAP system. You can do it using many tools, most noticeably MDMs.

Answer2:
Before installation of SAP, Data maintained by Company is called Legacy Data. At the time of installation, it is required to transfer Data from Legacy to SAP like Masters (Material/Customer, etc). It can be done in various ways like BDC, LSMW, etc.

What do you do really in pricing determination, and what are the main deifferences between pricing procedures?

Answer1:
Pricing is determined by combination of Sales Organization, Distribution Channel, Division, Customer Pricing Procedure and Document Pricing Procedure.

Answer2:
We determine how the prices are calculated, taking into account sales area(sales org, distribution channel, division), document type and customer(generally sold-to-party).
The main differences between pricing procedures would be the differences as we mentioned above, from the point of view of field entries. Coming to the output and the procedure, Suppose the condition types used will be different and hence the following whole procedure. One pricing procedure determination to the others, which data control these differences

What type of reports generally a support consultant maintain and report
Depends on Customer requirements.

What is the purpose of shipping point determination not menu path
So that Shipping Point is determined automatically once the settings for the same are done.

What and where types of copy controls we change
Copy Control: is basically meant so that Data is copied from preceding Document to subsequent one. What subsequent Document is required is to some extent determined by Customer Requirements as well as Document Types. e.g. In general case of Standard Order, it will be Copy Control (Order to Delivery) from OR to LF .

How to and where to maintain copy controls
Check for yourself in IMG (Sales Document types and Delivery Document Types)

What is purpose of maintaining common distribution channels and common divisions
Common Distribution Channel and Common Division are maintained so that if any master data like customer or material maintained with respect to one distribution channel can be used in other DCh. It prevents the multiplication of master records.

Eg: A customer is created for say sales area 1000/20/00 then the same customer can be used in sales area 1000/30/00 if we maintain 20 as common distribution channel. Hence no need for extending the customers...the same for materials also.

What is the difference between the Availability check 01 (Daily requirement) and 02 (Individual Requirement) in material master?
01 and 02 are the checking group. Availability check is carried out with the help of these checking group and checking rule. Checking group 01 and 02 are maintained on the material master.

01 - Individual requirement -For this system generates transfers the requirement for each order to the MRP .So that MM can either produce or procure.

02- Collective requirement.-In this all the requirements in a day or in a week are processed at a time. System stores all request and passes on to the MRP in MRP run. In this system performance is high however you can not do the backorder processing whereas in other you can do.

Saturday, January 24, 2009

SAP R-3 Interview Questions Answers Vol - 1

What is SAP R/3 ?
The name SAP a German company is an acronym for "Systeme, Anwendungen, Produkte in der Datenverarbeitung." This is translated in English as "Systems, Applications, and Products in Data Processing."

Can you create a table with fields not referring to data elements ?
YES. eg:- ITAB LIKE SPFLI.here we are referening to a data object(SPFLI) not data element.
What are the different types of data dictionary objects? tables, structures, views, domains, data elements, lock objects, Match code objects.

What should be the approach for writing a BDC program ?
STEP 1: CONVERTING THE LEGACY SYSTEM DATA TO A FLAT FILE to internal table CALLED "CONVERSION".
STEP 2: TRANSFERING THE FLAT FILE INTO SAP SYSTEM CALLED "SAP DATA TRANSFER".
STEP 3: DEPENDING UPON THE BDC TYPE
i)call transaction(Write the program explicity)
ii) create sessions (sessions are created and processed. If success data will transfer).

What are the problems in processing batch input sessions and How is batch input process different from processing online ?
PROBLEMS:
i) If the user forgets to opt for keep session then the session will be automatically removed from the session queue(log remains). However if session is processed we may delete it manually.
ii)if session processing fails data will not be transferred to SAP database table.

What does an extract statement do in the ABAP program ?
Once you have declared the possible record types as field groups and defined their structure, you can fill the extract dataset using the following statements: EXTRACT. When the first EXTRACT statement occurs in a program, the system creates the extract dataset and adds the first extract record to it. In each subsequent EXTRACT statement, the new extract record is added to the dataset EXTRACT HEADER. When you extract the data, the record is filled with the current values of the corresponding fields. As soon as the system has processed the first EXTRACT statement for a field group , the structure of the corresponding extract record in the extract dataset is fixed. You can no longer insert new fields into the field groups and HEADER. If you try to modify one of the field groups afterwards and use it in another EXTRACT statement, a runtime error occurs. By processing EXTRACT statements several times using different field groups, you fill the extract dataset with records of different length and structure. Since you can modify field groups dynamically up to their first usage in an EXTRACT statement, extract datasets provide the advantage that you need not determine the structure at the beginning of the program.

Can a transparent table exist in data dictionary but not in the data base physically ?
NO. TRANSPARENT TABLE DO EXIST WITH THE SAME STRUCTURE BOTH IN THE DICTIONARY AS WELL AS IN THE DATABASE,EXACTLY WITH THE SAME DATA AND FIELDS.

What is the step by step process to create a table in data dictionary ?
step 1: creating domains(data type, field length, range).
step 2: creating data elements(properties and type for a table field).
step 3: creating tables(SE11).

What is the typical structure of an ABAP/4 program?
HEADER ,BODY,FOOTER.

A situation: An ABAP program creates a batch input session. We need to submit the program and the batch session in back ground. How to do it ?
go to SM36 and create background job by giving job name, job class and job steps (JOB SCHEDULING)

What are the domains and data elements ?
DOMAINS : FORMAL DEFINITION OF THE DATA TYPES.THEY SET ATTRIBUTES SUCH AS DATA TYPE,LENGTH,RANGE. DATA ELEMENT : A FIELD IN R/3 SYSTEM IS A DATA ELEMENT.

What is the alternative to batch input session?
Call transaction.

What is a batch input session?
BATCH INPUT SESSION is an intermediate step between internal table and database table. Data along with the action is stored in session ie data for screen fields, to which screen it is passed, program name behind it, and how next screen is processed.

What is the advantage of structures? How do you use them in the ABAP programs?
Adv:- GLOBAL EXISTANCE(these could be used by any other program without creating it again).

How many types of tables exists and what are they in data dictionary?
4 types of tables
i)Transparent tables - Exists with the same structure both in dictionary as well as in database exactly with the same data and fields. Both Opensql and Nativesql can be used. ii)Pool tables &
iii)Cluster tables - These are logical tables that are arranged as records of transparent tables. one cannot use native sql on these tables (only open sql).They are not managable directly using database system tools.
iv)Internal tables - .?

Thursday, January 22, 2009

SAP Tables Interview Questions Answers Vol - 1

What is the difference between internal table and structure?
There are there types of structure:-
1. Flat structure( elementary fields)
2. Nested structure ( type reference to other structure)
3. deep structure ( type reference to database tables)

Explain row type and line type concept
line type refers to the structure of an internal table,whereas row type is the actual part that contains the data and it refers to the table body.creating internal table using line type and row type concept is for reusability purpose.Line type and Row type are defined at DDIC LEVEL.

Can any one give me brief explanation about internal tables, and work area ?
*An internal table is a run time instance. It get created when program starts execution.
*It get destroyed when program terminates. It has two different parts: HeaderLine(optional) and Body(Compulsory).
*Any value that comes to or goes from interanal table, that travels through headerline.

How to eliminate duplicate entries in internal tables?
Answer1:
SORT itab.DELETE ADJACENT DUPLICATES FROM itab COMPARING ALL FIELDS.

Answer2:
The following syntax:
SORT itab .
delete adjcent duplicates from itab comparing .

Size of the internal tables?
The size of the internal tables are set using the 'occurs n' clause. Here n refers to a integer number that specifies the size. Usually its given as 'occurs 0' which creates an itab with the memmory space of 8kb.

What is the basic difference internal tables and database tables? How can we differentiate by looking at the tables? Handling of internal tables
The basic difference is database tables are stored in DB server
and the internal tables are virtual tables these are created run time only
Internal tables are created dynamically, the memory of internal tables is not
permant memory, for internal tables the memory will be created in the application server and it is external memory and terminates after the program termination.

Wednesday, January 21, 2009

SAP Reports Interview Questions Answers Vol - 1

A table is buffered. By select statement I don't want to get the data from table buffer. I want to get the data from database. How?
If buffering is allowed for a table in the ABAP Dictionary, the SELECT statement always reads the data from the buffer in the database interface of the current application server. To read data directly from the database table instead of from the buffer, use the following:

SELECT... FROM *lt;tables> BYPASSING BUFFER. ..

This addition guarantees that the data you read is the most up to date. However, as a rule, only data that does not change frequently should be buffered, and using the buffer where appropriate improves performance. You should therefore only use this option where really necessary.

What are user exits? What are customer exits?
User exits and customer exits are the same thing.
Both are used to give the customer the chance to influence the outcome of a process(-step) in some way, without having to change the standard SAP software. For example: if an order is entered in the system, availability checks, credit checks etc. could be performed by the system but just before writing the order to the database, the program runs a user exit. In this user exit, your code could change some fields in the order or write an entry in a table that you created for some reason.

What is the difference between start_form and open_form in scripts? Why is it necessary to close a form always once it is opened? Answer1:
strat_form using this we can open many layoutses
open_form using this we can open the layout
performance will be high

Answer2:
Open_form -- is used to initialize the spool request.
Start_form-- is used to initialize the layout.

What is difference between ON Change of and At New Field ? Select Single * from and select Upto 1 rows

At new - on change of difference: In case if you want calculate sub totals for same values in a field you can use the atnew statement.ie:
For example in a table sflight, there are 2 fields carrid ( airline id) and seatsmax( seat available). In case if you want calculate the total number of seats available for each carrrid you can sort the table first and using the at new and sum you can claculate the total seats for each carrid. Atnew will be triggered whenever there is a change in the carrid and the total seats will be returned for each carrid.
In the same scenario if you use onchange of it will not return the total seats for each carrid, instead it will return the total seat count for the entire table( ie: for all the carrids in the table. Another diffrence is atnew can be used only between loop and end loop whereas on change of can also be used in select- endselect , do -enddo. Another diffrence is while using atnew in case if you code any write statements between atnew and end at the value for the numeric fields will be returned as 0 and that of no numeric fields will be returned as *(asteriks). But in on change of the orginal values will be returned. Select single * and select upto 1 row diffrence.
The select single * from stmt selects only one row form the database table and puts it in to the work area(internal table). The select upto n(where n stands for a integer number) rows stmt selects all the rows from the database table but writes only the specified number of rows specified by the n into the internal table. If its given as upto 1 rows only 1 row is written in to the internal table.

When you create sales report, What you can see in that report ? What are those field names or data element names?

vbak-auart, "ORDER TYPE
vbak-audat, "DOCUMENT DATE
vbak-kunnr, "CUSTOMER
vbak-bstnk, "PURCHASEORDERNO
vbak-submi, "collective no
vbrp-posnr, "ITEM
vbrp-matnr, "MATERIAL NUMBER
vbrp-arktx, "DESCRIPTION
vbrp-fkimg, "ORDER QTY
vbrp-vkbur, "SALESOFFICE
vbrp-aubel, "SALES DOCUMENT
vbrk-netwr, "NETPRICE
vbrk-vbeln, "BILLINGDOCNO
vbrk-knumv, "DOC.CONDITION
kna1-name1, "CUSTOMERNAME
vbrp-werks, "PLANT
vbrk-kunrg, "PAYER
kna1-name1, "PAYER NAME
vbpa-kunnr, "EMPLOYEENO
vbrk-netwr, "DISCOUNT
vbrk-netwr,"NETAMT
vbrk-netwr,"INVAMT
vbrk-fkart, "billing type
vbrk-netwr, "CST
konv-kbetr, "CST PER
vbrk-netwr, "LST
konv-kbetr, "LST PER
vbrk-netwr, "ED
konv-kbetr, "ED PER
vbrk-netwr, "Ecs
konv-kbetr, "Ecs PER
vbrk-netwr, "SURCHARGE
vbrk-fkdat, "BILLINGDATE
kna1-name1, "EMPLOYEENAME
vbak-bstdk, "PODATE
likp-bolnr, "Bill Of Lading
likp-traty, "Means of Transport Type
likp-traid, "Means of Transport ID
vbpa-kunnr, "Bill To Party
kna1-name1, "Bill To Party Name
vbrk-netwr, "Net Amount Basic Amount - Discount

How to assign multiple transaction codes in a session method to BDC_Insert function module?
Call function ' BDC_Insert'
exporting
tr. code = ' enter tr.code1 here'
table = 'give an internal table related totr.code1 here'
call function 'BDC_INSERT'
exporting
tr.code = ' enter 2nd tr code'
tables = ' 2nd internal table'

“Check” and “Continue”. What is the difference?
Check statement, checks the condition with in a loop and if it satisfies the condition, the control moves to next statement in the loop. Otherwise, it terminates the loop.

Continue statement, acts like goto statement. If the condition is true, it processes the remaining statements and if the condition is false, then the control moves to the top of loop.
At-Line selection, At user-command etc..,

In at line-selection system defined fcode will be generated In at user-command we need to define the fcode and fkey manually then only it will triggers.

“Exit” and “Stop”. What is the difference?
exit statments is exit the current loop. and moving to next loop but stop statement move to end of selection. it's not check all other loops.

What is the reserve command?
Answer1:
Reverse Command :Reverse N Lines : if there is not enough space left on the current page for atleast n lines it starts a new page

Answer2:
RESERVE
If insufficient space is there for listing output reserve statement encounters NEW-PAGE.But before going to new page it processes END-OF-PAGE.

What are event keywords in reports?
Answer1:
Events keywords in Reports are
For Classical Reports,
1.Initialization
2. At line-selection
3. Start-of-selection
4.Top-of-page
5. At user-command
6.End-of-selection
7. End-of-page
8.At Pfn
For Interactive Reports,
9.At line-selection 10. Top-of-page during line selection
For LDB (Logical DataBase) Reports,
10. get 11.put 12. get table

Answer2:
1. Initialization
2. At line-selection
3. Start-of-selection
4.Top-of-page
5. Top-of -page during at line-selection
6. At PF
7. At user-command
8.End-of-selection
9. End-of-page

Sunday, January 18, 2009

SAP Modules Interview Questions Answers Vol - 5

What is the one full implementation of life cycle in SAP-BW ?
Full life cycle implementation means implementing the project start from requirement gathering, analysis, solution desion, mapping, implementing according to ASAP methodology.

How the Price determination process works in SAP-MM?
Price determination process:
Create a Price schema
Add a condition type if required
Asssign Access sequence to the condition type.
Create a condition table and specify flds required.
Create a cond. rec. The price schema for the particular mat. has a cond type. This pricing will trigger the Price determination process. Basically the access sequence assigned to the cond type will search the cond table to find the particular cond. rec. and determin the price.

What are the activities we will do in SAP MM module implementation?
Various activities in SAP MM are : Inventory, Warehouse, Purchasing, Vendor evolution, Invoice varification, etc.

Explain what are the steps in the SD process at least up to the invoicing stage
Answer1:
1) pre-sales activity -inquiry,quotation
2) sales-order,
3) inventory sourcing,
4) delivery,
5) pgi,
6) invoicing

Answet2:
SD Inquiry-- Quotation---Sales Order---Delivery---Transfer Order----Post Good Issue----Billing---Invoicing.

Condition technique

condition technique means, the combination of
- condition table
- access sequence
- conditon type
- procedure
- determination

What is the work you have done in the MM module and what programs did you use for creating views in MM?
In MM
1.Stock overview for a period can be done by Tcode-MB5B -further giving details like storage location,Plant,Material code,Date..
2.Stock as on date can be viewed by using Tcode-MMBE-further giving details like storage location,Plant,Material code.mail

How do you get the Sales Order (S.O) No. from the Delivery Order?
There are 2 ways through which you can see the reference of the documents.
1) Through Document Flow
2)Enter the delivery-> Go at the item level and select TAB PREDECESSOR DATA tab and you can see the reference order number.

What is an Open Item in SAP? How will you find an Open Item in SAP?
you can generate a list of open items from the information systems menu option:
* General Ledger: Information system ® General ledger reports ® Line items ® General ledger line items ® G/L line items, list for printing.
* Accounts Receivable: Information system
* ® Reports for accounts receivable ® Customer items ® List of customer open items for printing. Accounts Payable: Information system ® Reports for accounts payable ® Vendor items ® List of vendor open items for printing

Friday, January 16, 2009

SAP ABAP Interview Questions Answers Vol - 5

What are the advantages and disadvantages of using views in ABAP programming ?
advantages: view is used to retrieve the data very fastly from the database tables
*memory wastage is reduced
*faster than joins to retrieve the data from database tables
disadvantages:
view is not a container,it will not hold the data
*view memory is not permanent memory

How data is stored in cluster table?
A cluster table conatins data from mulitple DDIC tables.
It stores data as a name value pair ( varkey, vardata)

Have you used performance tuning? What major steps will you use for these?
First of all tunning can be done
In three ways: disk i/o ,sql tunning , memory tunning,
Before tunning u have to get the status of your database using
Oracle utility called statpack , tkprof, then you should go for tunning

How to create client independent tables?
client independent tables:
the table in which the first field is not mandt is the client independent tables
*mandt is the field with mandt as the data element
*automatically client which we login is populated to mandt

What type of user exits have you written?
there are four types
1.function exit
2.menu ixit
3.screen exit.
4.field exit.
these are the user exits

How can you debug a script form?
SE71 -> give the form name -> utilities -> activate debugger


How do we debug sapscript?
First we need to put Break point in Print program where ever you want to stop the execution.
After in SE71 give your form name and go to Utilities-->Active De-bugger.
Then go to your transcation like VF03(for Invoice or Credit memo) etc to see the print preview or print the form execute it.
When you execute it the the form Debugging will get activated and you can see your Form execution step by step.

What are the different types of data dictionary objects?
Answer1
Data Dictionary Objects

* Tables
* Views
* Domain
* Data Element
* Type Groups
* Search Helps/Matchcode Objects
* Lock objects
* Structures
* Table Types

Answer2
the dictionary objects are:
domain
dataelements
tables
views
structures
typegroups
search helps
lock objects etc which are data base related objects in sap

What is the step by step process to create a table in data dictionary?
Answer1
steps to create database tables
1.go to se11
2.give name the database table
3.give short description for the table
4.Give delivery class name as A and data browser / table view maint as Display/maintenence allowed
5.select fields tab
6.give field name data type(user defined element type/built-in-type),short text
7.select technical settings tab ,give data class as appl0 and size category as 0
8.save it
9.go utillities menu click table contents select create and enter the field values then select display in table contents and u can view the table values with field lables

Answer2
bottom to top approach:
_________________________
step 1:
creating a domain:
*se11,select the object type as domain ,name it ,create,description,enter the datatype and length(size),save ,activate
step2:
creating a dataelement;
se11,select the object type as :date element,name it ,create,desc,assign it with a domain what we created now,save,activate it.
step3:
creating a table;
se11,select the object type as table,name it, create,
enter the field name and assign it with the data element instead of assigning a datatype to it,
like this create req fields:
on behalf of this:
table maintainence:
assign the type of the table ie.,A C G L S
NEXT
maintaince:
allowed,not allowed ,allowed with restricions
______________________________________________
fields of a table:(as descripted above)
___________________________________________
techical settings:
A0
OR
A1
AND
BUFFERED OR NON-BUFFERED

Can a transparent table exist in data dictionary but not in the data base physically?
Answer1
NO. TRANSPARENT TABLE DO EXIST WITH THE SAME STRUCTURE BOTH IN THE DICTIONARY AS WELL AS IN THE DATABASE,EXACTLY WITH THE SAME DATA AND FIELDS.
No,
at the point you will activate your table a same transparent table is going to be create in database

Answer2
Yes, a transparent table(definition) can exist in the data dictionary and not in the database. In this case, it is not activated

What are the domains and data elements?

domains:
___________

domains are the dictionary objects that are assigned with constants and data types
data elements:
______________
data elements are dictionary objects that are assigned with the domains.
uses:'
* data elements are used to create relation between tables.
* data elements are used to transfer the data from one R/3 to another R/3.
* to create search helps.

What is a collect statement? How is it different from append?
APPEND :
IT IS USED TO GET THE RECORD FROM THE INTERNAL TABLE HEADER TO THE BODY AREA
IT ALLOWS DUPLICATION

COLLECT:
IT IS USED TO A GET A RECORD FROM HEADER TO THE BODY AREA BUT IT WILL NOT ALLOW ANY DUPLICATION EXCEPT IF THERE IS ANY NUMERIC FIELS IT ADDS THAT FIELDS DATA BUT NOT AS A NEW RECORD

On ABAP: Did you set up a workflow? Are you familiar with all steps for setting up a workflow?
Yes.
Execute the Txn SWDD(Creating a new Workflow).
In the header of the Workflow, define the Business Object and Event you refer to for triggering the Wf.
Create the Steps required for your workflow(Activity).
Inside the Activity, Create the task and assign the Business Object and the related method for that business object.
Activate the Workflow.

In the ‘select’ statement what is “group by”?
Group by clause is used to fetch the data from the table by the specified field
ex.select count (*) from emptable group by deptno where deptno = 1.
It is used to find the number of employees present in the specified department no.


How can I copy a standard table to make my own z_table?
WE CAN CREATE A STRUCTURE LIKE THE SAME STRUCTURE AS DATABASE TABLE AND WE CAN USE
SELECT* FROM DATABASE TABLE INTO TABLE ITAB
OR
INSERT INTO ITAB VALUES DATABASE TABLE

From Excel to ABAP - Is batch mode possible ?
DATA w_file TYPE string.
* Convert the file path into string
w_file = p_input.

* Internal Table should have same field sequence as EXL File.

CLEAR t_upload.
REFRESH t_upload.

* Call function to upload the data into internal table
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = w_file
filetype = 'ASC'
has_field_separator = 'X'
TABLES
data_tab = t_upload
EXCEPTIONS
file_open_error = 1
file_read_error = 2
no_batch = 3
gui_refuse_filetransfer = 4
invalid_type = 5
no_authority = 6
unknown_error = 7
bad_data_format = 8
header_not_allowed = 9
separator_not_allowed = 10
header_too_long = 11
unknown_dp_error = 12
access_denied = 13
dp_out_of_memory = 14
disk_full = 15
dp_timeout = 16
OTHERS = 17.
IF sy-subrc NE 0.
* MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
* WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ELSE.
* Delete the first row of heading from the uploaded table
DELETE t_upload INDEX 1.
ENDIF. " IF sy-subrc EQ 0.

Thursday, January 8, 2009

SAP Modules Interview Questions Answers Vol - 4

Tell me about the various movement types and usage.
101 – GR in unrest. use
103 – GR in Blocked stock
105 – Release from Block to Unrest. use stock.
122 – Return to vendor from unrest. use stock.
124 – Return to vendor from blocked stock
301 - Plant to Plant tfr.
309 – Material to Material tfr.
311 – Tfr. from stg loc to stg loc
261 – Issue for consumption.
411 – Taking consignment stock into own stock.
551 – Withdrawal for scrapping.
Etc.


What is the difference between a contract and a scheduling agreement?
A scheduling agreement can be made for Consignment, Subcontracting and stock transfer. A contract, also known as a blanket PO, can be made for standard items and can be restricted to a Value or QTY.

How does the system calculate taxes?
Based on the calculation schema of that condition and based on access sequence assigned to it.

What are the cutover activities performed infinal preparartion phase ?
This activity involves- Master data upload for objects like customer masters including partner function assignment, customer material info, pricing, outputs and credit masters.

How to create a Purchase Order to a vendor who got best rating in Price comparision session (me49). I wish to create PO from this session directly, explain how can it be created?
Answer1:
Vendor rating has to be done for new purchase order everytime. PO can be generated by using transaction ME21N. This PO has to be released after creation

The other way is to assign that item to the vendor and maintain info records and update it by using ME11. This can also be done manualy.

Answer2:
This is not possible. Price comaprison session only gives you the idea which supplier has given the best price for a particular material.you have to raise the po ME21N transaction only.

Answer3:
The vendor who has got best price will have a unique quotation number. USe ME21N transaction and create PO with respect RFQ from Overview tab .

What is the complete flow of the profit center accounting,and Internal orders in controlling
Profit Centre Accounting:The following data can be passed on in Profit Center Accounting

* Costs (assessment and/or distribution)
* Revenue and sales deductions (assessment and/or distribution)
* Balance sheet items (distribution)

For this purpose, it is necessary to define cycles containing rules for finding sender-receiver relationships.

Related Activities in Controlling

* Definition of actual assessment cycles
* Definition of plan assessment cycles
* Definition of actual distribution cycles
* Definition of plan distribution cycles

Internal Orders
Internal orders are normally used to plan, collect, and settle the costs of internal jobs and tasks. The SAP system enables you to monitor your internal orders throughout their entire life-cycle; from initial creation, through the planning and posting of all the actual costs, to the final settlement and archiving:
Features
* You can use master data to assign certain characteristics to your internal orders, which enables you to control which business transactions can be used with the internal order.

* Internal order planning enables you to roughly estimate the costs of a job before the order starts and to make an exact calculation at a later date. You can choose between various planning approaches to compare the effectiveness of different methods. * You can assign and manage budgets for internal orders.

* You apply the actual costs incurred by a job to your internal orders using actual postings. In Financial Accounting, you can assign primary cost postings (such as the procurement of external activities and external deliveries) directly to internal orders.

* In period-end closing you can use various different allocation methods (for example, overhead costing) to allocate costs between different areas of Cost Accounting.
Order settlement enables you to transfer the costs incurred by an order to the appropriate receivers.

* The information system for internal orders enables you to track planned and assigned costs on your orders in each stage of the order life-cycle.

* You can archive internal orders that you no longer require.

Tuesday, January 6, 2009

SAP ABAP Interview Questions Answers Vol - 4

What is the difference between Type and Like?
Answer1:
TYPE, you assign datatype directly to the data object while declaring.
LIKE,you assign the datatype of another object to the declaring data object. The datatype is referenced indirectly.

Answer2:
Type is a keyword used to refer to a data type whereas Like is a keyword used to copy the existing properties of already existing data object.

Answer3:
type refers the existing data type
like refers the existing data object

What is Tcode SE16. For what is it used. Explain briefly?
Answer1:
SE16 is a T-code for object browser.
Generally used to search the fields of SAP Tables . and respective data.

Answer2:
se16 is a data browse and it is used to view the contents of the table and we cannot change or append new fields to the existing structure of the table as we cannot view the structure level display using the se16

What are different ABAP/4 editors? What are the differences?
The 2 editors are se38 and se80 both have the abap editor in place. In se38 you can go create programs and view online reports and basically do all thedevelopmet of objects in this editor. In se80 ( object navigator) there are additional features such as creating packages,module pool , function group ,classes, programs ( where you can create ur programs) and BSP applications .

What is difference between dialog program and a report?
Report is a excecutable program
Dialog is a module pool program.It has to be executed via a transaction only.
Dialog programming is used for customization ofscreens

How do you connect to the remote server if you are working from the office for the client in remote place.
WAS web application server or ITS are generally used for this purpose. If you are sitting at your office with a server which is in the system and the other server is at the clients place you can generate IDOC, intermidiate documents which carry the data you want to transfer or the documents you want to transfer, these IDOC are interpretted by the system at the recieving end with the message class with which it is bound with. If you want to logon a system which is very distant..then remote login can be used this depends on the internet speed.

Explain about roll area , Dispatcher, ABAP-Processor.
Answer1:
Roll area is nothing but memory allocated by work process. It holds the information needed by R/3 about programs execution such as value of the variables.
Dispatcher :All the requests that come from presentation server will be directed first to dispatcher. Further dispatcher sends this requests to work process on FIFO(First In and First Out) basis.

Answer2:
Dispatcher recieves the request from client and assigns the request to one of the work process.
Roll area: Each workprocess works in a particular memory that memory is known as Role Area, which consists of User context and session data.
ABAP- Processor :is an interpretor which can execute logic

Which one is not an exit comand ? (Exit, cencle, stop, back)
STOP.
Effect :The statement STOP is only to be used in executable programs

EXIT.
Effect :If the EXIT statement is executed outside of a loop, it will immediately terminate the current processing block.

BACK.
Effect : This statement positions the list cursor on the first position of the first line in a logical unit.

So "Cancle" is not an exit command

What is Field symbol ?
Answer1:
You can use field symbols to make the program more dynamic. In this example the name of a table control is substituted by a field symbol. Thus you cal call the form with any internal table, using the name of the table control as a parameter.

Example
form insert_row
using p_tc_name.

field-symbols type cxtab_control. "Table control

assign (p_tc_name) to .

* insert 100 lines in table control
-lines = 100.

Answer2:
fieldsymbol has the same concept as pointer in c,
fieldsymbol don't point to a data type like char, num instead of that it points to the memory block. the syntax for fieldsymbol is
FIELD-SYMBOL .
EG. FOR FIELD SYMBOL.
DATA: DAT LIKE SY-DATUM,
TIM LIKE SY-UZEIT,
CHAR(3) TYPE C VALUE 'ADF'.
FIELD-SYMBOL : .
MOVE DAT TO .
WRITE:/ .
MOVE TIM TO .
WRITE:/ .
MOVE CHAR TO .
WRITE:/ .
The output will be
Today's date
current time

What is lock object ?
LockObjects used to synchornize access of several users using same data.

Why BAPI need then BDC ?
BAPI"S provide the standard interface to other applications apart from SAP and within differnt vesions of SAP too. Also it is OOD bases so dosen"t depends on screen flow. BDC gets failed if we make changes for screen changes through IMG customization

Sunday, January 4, 2009

EJB Interview Questions Answers Vol - 3

What are Local Interfaces? Describe.
EJB was originally designed around remote invocation using the Java Remote Method Invocation (RMI) mechanism, and later extended to support to standard CORBA transport for these calls using RMI/IIOP. This design allowed for maximum flexibility in developing applications without consideration for the deployment scenario, and was a strong feature in support of a goal of component reuse in J2EE. Many developers are using EJBs locally, that is, some or all of their EJB calls are between beans in a single container. With this feedback in mind, the EJB 2.0 expert group has created a local interface mechanism. The local interface may be defined for a bean during development, to allow streamlined calls to the bean if a caller is in the same container. This does not involve the overhead involved with RMI like marshalling etc. This facility will thus improve the performance of applications in which co-location is planned. Local interfaces also provide the foundation for container-managed relationships among entity beans with container-managed persistence.

What are transaction isolation levels in EJB?
1. Transaction_read_uncommitted- Allows a method to read uncommitted data from a DB(fast but not wise).

2. Transaction_read_committed- Guarantees that the data you are getting has been committed.

3. Transaction_repeatable_read - Guarantees that all reads of the database will be the same during the transaction (good for read and update operations).

4. Transaction_serializable- All the transactions for resource are performed serial.

Can Entity Beans have no create() methods?
Yes. In some cases the data is inserted NOT using Java application, so you may only need to retrieve the information, perform its processing, but not create your own information of this kind.

What is software architecture of EJB?
Session and Entity EJBs consist of 4 and 5 parts respetively:

1. A remote interface (a client interacts with it),

2. A home interface (used for creating objects and for declaring business methods),

3. A bean object (an object, which actually performs business logic and EJB-specific operations).

4. A deployment descriptor (an XML file containing all information required for maintaining the EJB) or a set of deployment descriptors (if you are using some container-specific features).

5.A Primary Key class - is only Entity bean specific.

What are the callback methods in Entity beans?
The bean class defines create methods that match methods in the home interface and business methods that match methods in the remote interface. The bean class also implements a set of callback methods that allow the container to notify the bean of events in its life cycle. The callback methods are defined in the javax.ejb.EntityBean interface that is implemented by all entity beans.The EntityBean interface has the following definition. Notice that the bean class implements these methods.
public interface javax.ejb.EntityBean {
public void setEntityContext();
public void unsetEntityContext();
public void ejbLoad();
public void ejbStore();
public void ejbActivate();
public void ejbPassivate();
public void ejbRemove();
}

The setEntityContext() method provides the bean with an interface to the container called the EntityContext. The EntityContext interface contains methods for obtaining information about the context under which the bean is operating at any particular moment. The EntityContext interface is used to access security information about the caller; to determine the status of the current transaction or to force a transaction rollback; or to get a reference to the bean itself, its home, or its primary key. The EntityContext is set only once in the life of an entity bean instance, so its reference should be put into one of the bean instance’s fields if it will be needed later.

The unsetEntityContext() method is used at the end of the bean’s life cycle before the instance is evicted from memory to dereference the EntityContext and perform any last-minute clean-up.

The ejbLoad() and ejbStore() methods in CMP entities are invoked when the entity bean’s state is being synchronized with the database. The ejbLoad() is invoked just after the container has refreshed the bean container-managed fields with its state from the database. The ejbStore() method is invoked just before the container is about to write the bean container-managed fields to the database. These methods are used to modify data as it’s being synchronized. This is common when the data stored in the database is different than the data used in the bean fields.

The ejbPassivate() and ejbActivate() methods are invoked on the bean by the container just before the bean is passivated and just after the bean is activated, respectively. Passivation in entity beans means that the bean instance is disassociated with its remote reference so that the container can evict it from memory or reuse it. It’s a resource conservation measure the container employs to reduce the number of instances in memory. A bean might be passivated if it hasn’t been used for a while or as a normal operation performed by the container to maximize reuse of resources. Some containers will evict beans from memory, while others will reuse instances for other more active remote references. The ejbPassivate() and ejbActivate() methods provide the bean with a notification as to when it’s about to be passivated (disassociated with the remote reference) or activated (associated with a remote reference).