Thursday, April 30, 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

Wednesday, April 29, 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 - .?

Monday, April 27, 2009

SAP Modules Interview Questions Answers Vol - 1

What is the difference between updated project and end to end project. explain
Answer1:
Some organisations select to implement SAP module by module, thus gets updated as per their convenience / schedule. This is called as updated project.

Some organisations simply plan all integrated functional modules and decide to go-live with all functional modules and take their entire operations on SAP. This is called as End to End SAP implementation project.

Answer2:
Upgrade Project is a project where in SAP is already in place and it is the version upgrade from a lower end to a higher version.

End to End project is a project where SAP is implemented for the first time.

What is Ranking order in automatic payment program ?
Its the priority assigned to each house bank which helps Automatic Payment program choose the house bank for payment in case there are more than one bank satisfying the payment program.

If a payment program ends up selecting more than one(say 4) bank for payment, the ranking of the banks helps it select one bank from the list of (say 4) selected banks.


What is SAP APO?
Answer1:
SAP APO stands for Advanced Planner and Optimizer, which is one area of SCM and application component of MySAP product. Its is designed to provide solutions for companies in Demand planning, network design, supply network planning, production planning and global available to promise, transportation and scheduling.

Answer2:
Prior to SCM4.0 (-APO3.1) APO was a system, now from SCM4.0 APO is a function of SCM not a system as SCM now includes ECH and CM

What are the support tickets given in SAP fico module? please give some examples.
Support tickets are basically the problems that arise in day to day usage of SAP.
So any sap fico consultant who is resolving the day to day production issues is actually supporting the tickets.

How is bank reconciliation handled in SAP?
The following are the steps for BRS:
1. Create Bank Master Data - This can be created through T.Code FI01 or you can also create the house bank through IMG/FA/Bank accounting/Bank account
2. Define House Bank
3. Set up Bank selection payment programe- IMG/FA/ARAP/BT/AUTOIP/PM/Bank selection for payment prg.
a. setup all co codes for payment transaction - Customer and vendors
b.setup paying co codes for payment transactions
c.setup payment method per country
d.setup payment method per co code for payment transaction
e.setup bank determination for payment transaction

Please go for Cheque mangement using T code FCHI (IMG/FA/ARAP/BT/OP/AutoOp/PaymentMedia/CheckManagement) and for void reasons FCHV. You can create Bank Reconcilliation statement by TC FF67 (SAP/AC/Treasury/CashManagement/Incomings/ManualBankStatement) . Don't forget to keep the opening Balance as zero. Use FBEA for post process.

All the steps together will lead to (FF67) Bank reconciliation statement.

How do you configure electronic bank statement?

Answer1:
Following is the sequence of configuration to be done for Electronis Bank Statment(EBS):
1. create Tranaction types( which helps you group all the house baks with same External transaction code).
2. assign them to house banks.
3 create and define posting rule keys .
4 assign them to external transaction codes.
external transaction codes are bank specific codes for buisness tranactions( which it issues in each EBS) each one for each type of payment. eg. transfer order, foreign transfer,bill of exchange etc.
5 define posting specification for G/L posting as well as subledger posting
6. define account symbols(which determines the G/L account to be posted to) and assign them to posting keys.

Answer2:
1. Create account symbols
2. Create gl accounts ans assign t account symbols
3. Create posting keys:
4. Posting rules
5. Assing external transactions

How do you configure manual bank statement?

configuration is required during electronic bank statment not in mannual bank stament.
In mannual bank statment you just have to enter the data on screen and save it.

What is dunning?
Dunning is actually the process by which you “bill” or “invoice” a customer for past due items.
With regards bad Checks for example dunning procedure could follow these steps:

• Step 1: Phone call to customer on receipt of bad check – at this stage, perform the journal posting outlined in section on Returned Checks
• Step 2: Letter to customer (+10 days)
• Step 3: Letter to CO (+7 days)
• Step 4: Legal letter to customer (? DD139) (+13 days)
• Step 5: Issue DD139 (+10 days)
• Step 6: Follow-up on DD139 (dispersing officer) (+45 days)
• Step 7: Write-off (after 6 months)
Steps 2-6 above will be handled by dunning levels in SAP.

Configuration before dunning can be carried out
1. Defining Dunning Area
2. Define Dunning Keys
3. Define Dunning Block Reasons
4. Dunning Procedure
• Define Dunning Procedure (T. Code – FBMP), To set up a Dunning Procedure, the following must be specified: number of Dunning Levels (1-9) Dunning Texts, Standard Text can also be included in the Dunning Texts. Dunning Procedure major parameters: Dunning Interval, Number of Dunning Levels, Grace Period
5. Assign Dunning Procedure to Customer / Vendors Accounts (T. Code – XD02)
6. Define Correspondence Types (T. Code – OB77)
7. Assign Company Codes to Correspondence company Codes
8. Assign Programs for Correspondence Types (OB78)
9. Dunning Run: Transaction Code: F150
Menu Path: accounting > financial accounting > accounts receivable > periodic processing > dunning.
Note: Whenever you schedule more than one dunning run a day, the "Identification" number must change. You may run several dunning runs on the same date but the "Identification" name must be different as well as certain parameters such as the “Dunning Date” and “Documents Posted up to” date.

What is the difference between profit center accounting and Profitability analysis ?
profit center accounting is basicaly done for internal controlling purposes. It lets you determine the profit and loss using the cost of sale approach or period accounting approach. Here you can find the profit from an "area of reponsibility or pserson" point of view.this is accound based costing

Whereas in Profitability analysis, market segments based on product , cutomer,order aor any comobination of these are studied to find wots the profit. PA provides information to the marketing,sales and planning department so that they can make decisions. PA has two forms account based and CO based.

both these are tools for profit management, and both are alternative. They are not same.

What are the manufacturing cost of a producting ?
Materail cost + Productions cost = Manufacturing cost

What is the difference between stock transfer between two plants belongs to same company code and to that of different company code?
In 1st case it is called as intra company stock transfer and the 2nd case is inter company stock transfer

Stock Transfer between plants of same company code only includes inventory movement without any pricing and so called Stock Transfer Order where Stock Transfer between plants of different company code is same as a purchase order as along with the inventory there is also accounts transfer (pricing) involved.

Saturday, April 25, 2009

SAP Interview Questions Answers Vol - 1

What is SAP?
SAP is the name of the company founded in 1972 under the German name (Systems, Applications, and Products in Data Processing) is the leading ERP (Enterprise Resource Planning) software package.

SAP Basics feature

* Configuration of the SAP modules
o Transaction SPRO - this is the main tree for all the configuration.
* Function Key
o F1 - Help
o F4 - Possible entries or matchcode for the field you are accessing
o F5 - Selection screen
o F7 - Previous screen
o F8 - Next screen
o F9 - Technical info
o CTRL+X - Cut
o CTRL+C - Copy
o CTRL+V - Paste
* Navigation
o /n Skip to the next record if you are processing one batch input session
o /bend Cancel a batch input foreground process
o /nend Close all R/3 sessions and logoff
o /nxxx x Call the transaction xxxx in the same session
o /o Generate a session list
o /oxxx x Call the transaction xxxx in an additional session
o /i Delete the current session
o /h Turn the debug mode on
o /$tab Reset all buffers (for System Administrators)
o /$syn c Synchronize instances buffers (for System Administrators)

In 4.x, you can have long SAP transaction code up to a maximum of 20 character


Different types of ERP ?
SAP, BAAN, JD Edwards, Oracle Financials, Siebel, PeopleSoft. Among all the ERP’s most of the companies implemented or trying to implement SAP because of number of advantages aver other ERP packages.

What is ERP?
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.

Explain the concept of “Business Content” in SAP Business Information Warehouse?

Business Content is a pre-configured set of role and task-relevant information models based on consistent Metadata in the SAP Business Information Warehouse. Business Content provides selected roles within a company with the information they need to carry out their tasks. These information models essentially contain roles, workbooks, queries, InfoSources, InfoCubes, key figures, characteristics, update rules and extractors for SAP R/3, mySAP.com Business Applications and other selected applications.

Why do you usually choose to implement SAP?
There are number of technical reasons numbers of companies are planning to implement SAP. It’s highly configurable, highly secure data handling, min data redundancy, max data consistency, you can capitalize on economics of sales like purchasing, tight integration-cross function.

Can BW run without a SAP R/3 implementation?
Certainly. You can run BW without R/3 implementation. You can use pre-defined business content in BW using your non-SAP data. Here you simply need to map the transfer structures associated with BW data sources (InfoCubes, ODS tables) to the inbound data files or use 3rd part tool to connect your flat files and other data sources and load data in BW. Several third party ETL products such as Acta, Infomatica, DataStage and others will have been certified to load data in BW.

What is IDES?
International Demonstration and Education System. A sample application provided for faster learning and implementation.

What is WF and its importance?
Business Work Flow: Tool for automatic control and execution of cross-application processes. This involves coordinating the persons involved, the work steps required, the data, which needs to be processed (business objects). The main advantage is reduction in throughput times and the costs involved in managing business processes. Transparency and quality are enhanced by its use.

What is SAP R/3?
A third generation set of highly integrated software modules that performs common business function based on multinational leading practice. Takes care of any enterprise however diverse in operation, spread over the world. In R/3 system all the three servers like presentation, application server and database server are located at different system.

What are presentation, application and database servers in SAP R/3?
The application layer of an R/3 System is made up of the application servers and the message server. Application programs in an R/3 System are run on application servers. The application servers communicate with the presentation components, the database, and also with each other, using the message server. All the data are stored in a centralized server. This server is called database server.

Thursday, April 23, 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.

Tuesday, April 21, 2009

SAP BDC Interview Questions Answers Vol - 1

Difference between /N and /BEND ?
/BEND terminates the batch input processing and sets the session to be failed.
/N terminates the current batch input transaction.

SM35 transaction . How to automate BDC ?
After execution of batch input program , the session created is placed in the session queqe which can be viewed using SM35 transaction executing / Releseing the session will start the transfer of the data from the session into the database tables./

Update types in Call transaction method. What is the difference ?
At present with SAP we have only modes of updation
1.Synchronus Update.
2.Asynchronous Update.
There is no more Local Update.

What are the table controls in BDC ? What is the difference between bdc and lsmw ? What is the difference between bdc and rfc ?
BDC - Batch data communication in which there are 2 processes
1. in bound
2. outbound
RFC - remote fucntion call(or) calling

Data conversion experience?
DATA CONVERSIONS:
SAP HAS PROVIDED A TOOL NAMED LSMW WHICH CONVERTS THE LEGACY DATA INTO THE REQUIRED SAP FORMAT AND UPDATES THE DATABASE.

Open datasets, Read datasets ( Reading and writing data to files)?
Date Sets are nothing but files on Application Server,they can even be called as Sequential files.
Open Dataset
Is used to open required file on the application Server.
Read Dataset.
Is used to read the contents required file on the application Server.

How to do back ground processing in BDC Session method ?

goto sm35
select the option background process

Call transaction method, how to capture the errors ?
IN CALL TRANSACTION TO CAPTURE THE ERRORS WE SHOULD PERFORM THE FOLLOWING.
FIRST ME MUST DECLARE AN INTERNAL TABLE WITH THE STRUCTURE OF BDCMSGCOLL TABLE.
THEN WHILE WRITING THE CALL TRANSACTION STATEMENT WE SHOULD PUT THE 'E' MODE FOR CAPTURING ALL THE ERRORS.
THEN FINALLY THE CAPTURED ERRORS MUST TO SENT TO THE INTERNAL TABLE WHICH WE DECLARED IN THE BEGINNING WITH BDCMSGCOLL BY USING THE FUNCTION MODULE "FORMAT_MESSAGE"
AND THUS THE ERROR MESSAGES WILL BE SENT TO THE INTERNAL TABLE WHICH WE DECLARED AT THE BEGINNING.

How to load data from MS Excel sheet to SAP by using BDC method ?
KCD_EXCEL_OLE_TO_INT_CONVERT even takes care of blank cells and is available in older versions of SAP

* Add values to internal table
SORT t_cells BY row col.
LOOP AT t_cells INTO wa_cells.
MOVE : wa_cells-col TO l_index.
ASSIGN COMPONENT l_index OF STRUCTURE itab TO .
MOVE : wa_cells-value TO .
AT END OF row.
APPEND itab
CLEAR itab.
ENDAT.
ENDLOOP.

What is the difference between call transaction and session method?
Session method: The records are not added to the database until the session is processed. sy-subrc is not returned. Error logs are created for error records. Updation in database table is always Synchronous.

Call Transaction method: The records are immediately added to the database table. sy-subrc is returned to 0 if successful. Error logs are not created and hence the errors need to be handled explicitly. Updation in database table is either Synchronous or Asynchronous.

SM35 transaction . How to automate BDC ?
sm35 is used to play girls for better nightfalls.

What is the difference between Upload and WS_Upload ?
The diffrence between WS_Upload and Upload is when you use function Upload it prompts for a dailog box where in you need to key in the file location.Where as in case of WS_Upload you specify the file location in the function input parameters itself

If I want to execute a program only in background not in foreground is there any option for this?
The sm37 transaction can be used for running a program in the background. Also in the session method while processing the session you can specify the processing type as background or foreground.

What kind of BDC programs are written ?

There are five types of BDC methods available. They are 1.Batch input session 2.Call Transaction 3.Recording 4.Direct Input and 5.LSMW

How to read files and process BDCs automatically?
To read file from Presentation server use Upload or GUI Upload or WS upload and to read file from Application server use Opend Dataset,Read dataset and Close dataset

In session method sy-subrc is not returned whereas in call transaction method sy-subrc is returned . what does it mean?
While to transfer the data from the through if any errors occurs until the errors are the complete the data is not transfer to the SAP system.
the system compulsory shows the errors. that errors are stored into the error logs (Transaction is SM35).
so the session method should not return any value.
In call transaction method data is directly pass to the SAP system.
So its compulsory return the value.
Because of the call transaction is the function.
A function should return the value mandatory.

Recording Function
With recording, user can avoid manual search for fields and tables required in a program including screen numbers. SHDB is the transaction code.

BDC vs Direct Loads( have you used direct loads on SAP tables )
Direct loads is 5 times faster than uploading by normal BDC method. but some times while updating the database referential integrity is violated.

Have you set up a back ground job ? How to create a background job without a variant ?
Yes, user can create background job scheduling in two ways.

1. By calling the executable program RSBDCSUB
2. Transaction Code SM37

Sunday, April 19, 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.

Friday, April 17, 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.

Wednesday, April 15, 2009

SAP Tutorial - Part 11 - SAP Landscape

SAP Landscape Introduction

Landscape is like a server system or like a layout of the servers or some may even call it the architecture of the servers viz. SAP is divided into three different landscape DEV, QAS and PROD.

- DEV would have multiple clients for ex: 190- Sandbox, 100- Golden, 180- Unit Test.
- QAS may again have multiple clients for ex: 300- Integration Test, 700 to 710 Training.
- PROD may have something like a 200 Production.

These names and numbers are the implementer's discreet on how they want it or they have been using in their previous implementations or how is the client's business scenario.

Now whatever you do in the Sandbox doesn't affect the other servers or clients. Whenever you think you are satisfied with your configuration and you think you can use it moving forward, you RE-DO it in the golden client (remember, this is a very neat and clean client and you cannot use it for rough usage). As you re-do everything that you had thought was important and usable, you get a transport request pop up upon saving every time. You save it under a transport request and give your description to it. Thus the configuration is transported to the Unit Test client (180 in this example).

You don't run any transaction or even use the SAP Easy Access screen on the 100 (golden) client. This is a configuration only client. Now upon a successful transport by the Basis guy, you have all the configuration in the Testing client, just as it is in the Golden client. The configuration remains in sync between these two clients.

But in the Testing client you can not even access SPRO (Display IMG) screen. It's a transaction only client where you perform the unit test. Upon a satisfactory unit test, you move the good configuration to the next SERVER (DEV). The incorrect or unsatisfactory configuration is corrected in Golden (may again as well be practiced in the sandbox prior to Golden) and accordingly transported back to 180 (Unit Test) until the unit test affected by that particular Config is satisfactory.

The Golden client remains the 'database' (if you want to call it that) or you may rather call it the 'ultimate' reference client for all the good, complete and final configuration that is being used in the implementation.


SAP System Landscape Directory

Purpose

A modern computing environment consists of a number of hardware and software components that depend on each other with regard to installation, software updates, and demands on interfaces. The SAP System Landscape Directory (SLD) simplifies the administration of your system landscape.

The SLD is a server application that communicates with a client application by using the Hypertext Transfer Protocol (HTTP). The SLD server contains component information, a landscape description, and a name reservation, which are based on the standard Common Information Model (CIM). The CIM standard is a general schema for describing the elements in a system landscape. This standard is independent of any implementation.

Features

The component description provides information about all available SAP software modules. This includes version numbers, current patch level, and dependencies between landscape components. SAP makes this information available to its customers. You can download the current component description from SAP Service Marketplace, which then updates your local component description (see SAP Note 669669). It is also possible to add instances for third-party components to the component description.

The system landscape description represents the exact model of an actual system landscape. Together with the current component description, the system description provides information for various processes (the system administration and implementation, for example).

The example below shows a possible scenario that illustrates how the component and system landscape description functions.

Example

On the left-hand side of the following graphic is the master description for all existing SAP software modules. SAP maintains this information. The local component description on the right-hand side (client side) can be updated in accordance with the master description.

An installed mySAP.com component is registered in the System Landscape Directory. The component description contains information about the installed components. If, for example, a new Support Package is available for this component, SAP publishes this information using the master description. In this way, the customers receive all the latest information relevant for their system landscape promptly.

Monday, April 13, 2009

SAP Tutorial - Part 10 - SAP Reports

REKH0004 SAP demo program that shows how to do 2D, 3D, and 4D graphics.

RGUGBR00 Substitution/Validation utility

RHGENZ0/HRGRENZ2 Notes RHGRENZ0/2 will abend if there are any inconsistencies between PD and PA (i.e. people in a different controlling area than the position they belong to).

RHGRENZ0 Delimit IT1000 and related 1001s. Program will delete any 1001 infotypes whose start date is after the delimit date.

RHGRENZ1 Extend the end date on delimited records. Very useful when you delimit a bunch of records incorrectly, and need to change the end date.

RHGRENZ2 Delimit IT1001 only.

RKCTSEAR Search source code for up to two strings. Also see RSRSCAN1 and RPR_ABAP_SOURCE_SCAN.

RPDTRA00 List all HR transactions.

RPR_ABAP_SOURCE_SCAN Search ABAP code for a string. Has many more options for selecting the ABAPs to search than RSRSCAN1 or RKCTSEAR.

RPUAUD00 HR Report to list all logged changes for an employee. Uses the PCL4 Audit Cluster.

RPUAUDDL HR Report to delete audit data from the PCL4 Audit Cluster.

RPUDELPN Delete all info for an employee number, including cluster data and infotypes

RPUP1D00/10 View/Delete data from PCL1 Cluster

RPUP2D00/10 View/Delete data from PCL2 Cluster

RPUP3D00/10 View/Delete data from PCL3 Cluster

RPUP4D00/10 View/Delete data from PCL4 Cluster

RSABAPIV Mass print/display of ABAP/4 help text

RSAVGL00 Table adjustment across clients

RSBDCBTC Submit a BDC job with an internal batch number and wait for the end of the batch input session.

RSBDCDRU Prints the contents of a Batch Input session. No options for error transactions only.

RSBDCOS0 Execute UNIX commands. Looks similar to the old SAPMSOS0 program that disappeared in 3.0

RSBDCSUB Release batch input sessions automatically

RSBTCDEL Clean the old background job records

RSCLTCOP Copy tables across clients

RSDBCREO Clean batch input session log

RSINCL00 Extended program list

RSORAREL Get the Oracle Release

RSPARAM Display all instance parameters

RSPO0041 Removing old spooling objects

RSRSCAN1 Search source code for a given string. Will also search includes. Also see RKCTSEAR and RPR_ABAP_SOURCE_SCAN.

RSSNAPDL Clean the old ABAP error dumps

RSTBSERV Compare a contents of a table between clients

RSTXFCON Converts SAPScript page formats

RSTXSCRP Save a SAPScript layout set to disk, and load it back into SAP.

RSTXSCRP Transport SAPscript files across systems

RSTXSCRP Upload and download SAPScript layout sets

RSTXTPDF4 Pass the spool number of a report's output to this program to have the output converted to PDF format.

RSTXTRAN Add standard texts to a transport so they can be moved between systems.

RSUSR003 Check the passwords of users SAP* and DDIC in all clients

RSUSR006 List users last login

RSWBO052 Change development class of a sapscript (provided by Alan Cecchini)

RSWBO060 put objects into a request and transport it to any other systemREKH0004 SAP demo program that shows how to do 2D, 3D, and 4D graphics.

RGUGBR00 Substitution/Validation utility

RHGENZ0/HRGRENZ2 Notes RHGRENZ0/2 will abend if there are any inconsistencies between PD and PA (i.e. people in a different controlling area than the position they belong to).

RHGRENZ0 Delimit IT1000 and related 1001s. Program will delete any 1001 infotypes whose start date is after the delimit date.

RHGRENZ1 Extend the end date on delimited records. Very useful when you delimit a bunch of records incorrectly, and need to change the end date.

RHGRENZ2 Delimit IT1001 only.

RKCTSEAR Search source code for up to two strings. Also see RSRSCAN1 and RPR_ABAP_SOURCE_SCAN.

RPDTRA00 List all HR transactions.

RPR_ABAP_SOURCE_SCAN Search ABAP code for a string. Has many more options for selecting the ABAPs to search than RSRSCAN1 or RKCTSEAR.

RPUAUD00 HR Report to list all logged changes for an employee. Uses the PCL4 Audit Cluster.

RPUAUDDL HR Report to delete audit data from the PCL4 Audit Cluster.

RPUDELPN Delete all info for an employee number, including cluster data and infotypes

RPUP1D00/10 View/Delete data from PCL1 Cluster

RPUP2D00/10 View/Delete data from PCL2 Cluster

RPUP3D00/10 View/Delete data from PCL3 Cluster

RPUP4D00/10 View/Delete data from PCL4 Cluster

RSABAPIV Mass print/display of ABAP/4 help text

RSAVGL00 Table adjustment across clients

RSBDCBTC Submit a BDC job with an internal batch number and wait for the end of the batch input session.

RSBDCDRU Prints the contents of a Batch Input session. No options for error transactions only.

RSBDCOS0 Execute UNIX commands. Looks similar to the old SAPMSOS0 program that disappeared in 3.0

RSBDCSUB Release batch input sessions automatically

RSBTCDEL Clean the old background job records

RSCLTCOP Copy tables across clients

RSDBCREO Clean batch input session log

RSINCL00 Extended program list

RSORAREL Get the Oracle Release

RSPARAM Display all instance parameters

RSPO0041 Removing old spooling objects

RSRSCAN1 Search source code for a given string. Will also search includes. Also see RKCTSEAR and RPR_ABAP_SOURCE_SCAN.

RSSNAPDL Clean the old ABAP error dumps

RSTBSERV Compare a contents of a table between clients

RSTXFCON Converts SAPScript page formats

RSTXSCRP Save a SAPScript layout set to disk, and load it back into SAP.

RSTXSCRP Transport SAPscript files across systems

RSTXSCRP Upload and download SAPScript layout sets

RSTXTPDF4 Pass the spool number of a report's output to this program to have the output converted to PDF format.

RSTXTRAN Add standard texts to a transport so they can be moved between systems.

RSUSR003 Check the passwords of users SAP* and DDIC in all clients

RSUSR006 List users last login

RSWBO052 Change development class of a sapscript (provided by Alan Cecchini)

RSWBO060 put objects into a request and transport it to any other system

Saturday, April 11, 2009

SAP Tutorial - Part 9 - SAP Functions - Part 2

CHANGEDOCUMENT_READ_POSITIONS Get the details of a change document, and store them in an internal table. This will tell you whether a field was changed, deleted, or updated.

Example:

CALL FUNCTION 'CHANGEDOCUMENT_READ_HEADERS'
EXPORTING
objectclass = 'EINKBELEG'
objectid = l_objectid
username = space
TABLES
i_cdhdr = lt_cdhdr.

LOOP AT lt_cdhdr WHERE udate IN s_aedat.
CALL FUNCTION 'CHANGEDOCUMENT_READ_POSITIONS'
EXPORTING
changenumber = lt_cdhdr-changenr
TABLES
editpos = lt_editpos.

LOOP AT lt_editpos WHERE fname = 'LOEKZ'
AND f_new = 'L'.
p_desc = text-r01. " Cancel Contract
ENDLOOP.
ENDLOOP.


CLAF_CLASSIFICATION_OF_OBJECTS Return all of the characteristics for a material

CLOI_PUT_SIGN_IN_FRONT Move the negative sign from the left hand side of a number, to the right hand side of the number. Note that The result will be left justified (like all character fields), not right justifed as numbers normally are.

CLPB_EXPORT Export a text table to the clipboard (on presentation server)

CLPB_IMPORT Import a Text Table from the Clipboard (on presentation server)

COMMIT_TEXT To load long text into SAP

CONVERSION_EXIT_ALPHA_INPUT converts any number into a string fill with zeroes, with the number at the extreme right

Example:

input = 123
output = 0000000000000...000000000000123

CONVERSION_EXIT_ALPHA_OUTPUT converts any number with zeroes right into a simple integer

SAP Function

Example:

input = 00000000000123
output = 123

CONVERT_ABAPSPOOLJOB_2_PDF convert abap spool output to PDF

CONVERT_OTF Convert SAP documents (SAPScript) to other types.

Example:

CALL FUNCTION "CONVERT_OTF"
EXPORTING FORMAT = "PDF"
IMPORTING BIN_FILESIZE = FILE_LEN
TABLES OTF = OTFDATA
LINES = PDFDATA
EXCEPTIONS ERR_MAX_LINEWIDTH = 1
ERR_FORMAT = 2
ERR_CONV_NOT_POSSIBLE = 3
OTHERS = 4.


CONVERT_OTFSPOOLJOB_2_PDF converts a OTF spool to PDF (i.e. Sapscript document)

CONVERT_TO_FOREIGN_CURRENCY Convert local currency to foreign currency.

CONVERT_TO_LOCAL_CURRENCY Convert from foreign currency to local currency

DATE_CHECK_PLAUSIBILITY Check to see if a date is in a valid format for SAP. Works well when validating dates being passed in from other systems.

DATE_COMPUTE_DAY Returns a number indicating what day of the week the date falls on. Monday is returned as a 1, Tuesday as 2, etc.

DATE_GET_WEEK will return the week that a date is in.

DATE_IN_FUTURE Calculate a date N days in the future.

DATE_TO_DAY Converts a date in internal format to a text description of a day. For example 20030529 returns Thursday

DAY_ATTRIBUTES_GET Return useful information about a day. Will tell you the day of the week as a word (Tuesday), the day of the week (2 would be Tuesday), whether the day is a holiday, and more.(provided by Francois Henrotte)

DOWNLOAD download a file to the presentation server (PC)

DYNP_VALUES_READ Read the values from a dynpro. This function can be used to read the values from a report's selection screen too (Another example).

DYNP_VALUES_UPDATE Similar to DYNP_VALUES_READ, this function will allow the updating of fields on a dynpro. Very useful when you want to change a field based on the value entered for another field.

ENQUE_SLEEP Wait a specified period of time before continuing processing.

ENQUEUE_ESFUNCTION Lock an abap program so that it cannot be executed.

Example:

Set the parameters as follows:
RELID = 'ZZ'
SRTF2 = 0
SRTF = (your report name)

Please note that you should not use SY-REPID to pass your report name to the function. The value of SY-REPID will change as it is being passed to the function module, and will no longer hold the value of the calling report.

EPS_GET_DIRECTORY_LISTING return a list of filenames from a local or network drive

EPS_GET_FILE_ATTRIBUTES Pass in a filename and a path, and will return attributes for the file

F4_DATE displays a calendar in a popup window and allows user to choose a date, or it can be displayed read only.

F4_IF_FIELD_VALUE_REQUEST Use values from a DDIC table to provide a list of possible values. TABNAME and FIELDNAME are required fields, and when MULTIPLE_CHOICE is selected, more than one value can be returned.

F4IF_INT_TABLE_VALUE_REQUEST F4 help that returns the values selected in an internal table. Very handy when programming your very own F4 help for a field.

Example:

data:
begin of t_values occurs 2,
value like kna1-begru,
end of t_values,

t_return like ddshretval occurs 0 with header line.

t_values = 'PAR*'.
append t_values.

t_values = 'UGG'.
append t_values.

call function 'F4IF_INT_TABLE_VALUE_REQUEST'
exporting
retfield = 'BEGRU'
value_org = 'S'
tables
value_tab = t_values
return_tab = t_return
exceptions
parameter_error = 1
no_values_found = 2
others = 3.

if sy-subrc = 0.
read table t_return index 1.

o_begru-low = t_return-fieldval.

if o_begru-low = 'PAR*'.
o_begru-option = 'CP'.
else.
o_begru-option = 'EQ'.
endif.

o_begru-sign = 'I'.

append o_begru to s_begru.
else.
o_begru = i_begru.
endif.


F4IF_SHLP_EXIT_EXAMPLE documents the different reasons to use a search help exit, and shows how it is done.

F4IP_INT_TABLE_VALUE_REQUEST This function does not exist in 4.6 and above. Use F4IF_INT_TABLE_VALUE_REQUEST instead.

FILENAME_GET popup to get a filename from a user, returns blank filename if user selects cancel

FM_SELECTION_CRITERIA_PRINT Print out selection criteria. Nicley formatted.

FORMAT_MESSAGE Takes a message id and number, and puts it into a variable. Works better than WRITE_MESSAGE, since some messages use $ as a place holder, and WRITE_MESSAGE does not accommadate that, it only replaces the ampersands (&) in the message.

FTP_COMMAND Execute a command on the FTP server

FTP_CONNECT Open a connection (and log in) to an FTP server

FTP_DISCONNECT Close the connection (and log off) the FTP server

FU CSAP_MAT_BOM_READ You can use this function module to display simple material BOMs. You cannot display BOM groups (for example, all variants of a variant BOM). as in transaction CS03. Current restrictions: You cannot display long texts. You cannot display sub-items. You cannot display classification data of BOM items for batches. You can only display one alternative or variant. You cannot enter an alternative for module CSAP_MAT_BOM_READ, so you always see alternative 01. The following example came from a posting on the SAP-R3-L mailing list.

Example:

data: begin of tstk2 occurs 0.
include structure stko_api02.
data: end of tstk2.

data: begin of tstp2 occurs 0.
include structure stpo_api02.
data: end of tstp2.


data: begin of tdep_data occurs 0.
include structure csdep_data.
data: end of tdep_data.

data: begin of tdep_descr occurs 0.
include structure csdep_descr.
data: end of tdep_descr.

data: begin of tdep_source occurs 0.
include structure csdep_source.
data: end of tdep_source.

data: begin of tdep_order occurs 0.
include structure csdep_order.
data: end of tdep_order.

data: begin of tdep_doc occurs 0.
include structure csdep_doc.
data: end of tdep_doc.

data: flg_warning like capiflag-flwarning.

call function 'CSAP_MAT_BOM_READ'
exporting
material = 'MAT100'
plant = '0001'
bom_usage = '1'
valid_from = '20.12.1996'
* valid_to
importing
fl_warning = flg_warning
tables
t_stko = tstk2
t_stpo = tstp2
t_dep_data = tdep_data
t_dep_descr = tdep_descr
t_dep_source = tdep_source
t_dep_order = tdep_order
t_dep_doc = tdep_doc
exceptions
error = 1.


Function Group GRAP is now obsolete. SAP recommends using functions in function group SFES instead. Below is an overview of the changes.

G_SET_GET_ALL_VALUES Fetch values from a set.

GET_CURRENT_YEAR Get the current fiscal year.

Example:

CALL FUNCTION 'GET_CURRENT_YEAR'
EXPORTING
BUKRS = '1000' " Company Code
DATE = SY-DATUM " Date to find fiscal year for
IMPORTING
CURRM = w_currm " Current Fiscal Month
CURRY = w_curry " Current Fiscal Year
PREVM = w_prevm " Previous Fiscal Month
PREVY = w_prevy. " Previous Fiscal Year



GET_GLOBAL_SYMBOLS Returns a list of all tables, select options, texts, etc for a program. Even includes the text definitions for the selection screen

GET_INCLUDETAB Returns a list of all INCLUDES in a program

GET_JOB_RUNTIME_INFO Get the current job number from a program. Also returns other useful info about the current job.

GET_PAYSLIP Returns a fully formatted payslip, ready for displaying

GUI_CREATE_DIRECTORY Create a directory on the presentation server

GUI_DELETE_FILE Replaces WS_FILE_DELETE. Delete a file on the presentation server

GUI_DOWNLOAD Replaces WS_DOWNLOAD. Download table from the app server to presentation server

GUI_EXEC Replaces WS_EXECUTE. Start a File or Program Asynchronously with WinExec

GUI_GET_DESKTOP_INFO Replaces WS_QUERY. Delivers Information About the Desktop (client)

GUI_REMOVE_DIRECTORY Delete a directory on the presentation server

GUI_RUN Start a File or Program Asynchronously with ShellExecute

GUI_UPLOAD Replaces WS_UPLOAD. Upoad file from presentation server to the app server

HELP_START Display help for a field. Useful for doing AT SELECTION SCREEN ON VALUE REQUEST for those fields that do not provide F4 help at the DDIC level.

HELP_VALUES_GET_WITH_TABLE Show a list of possible values for F4 popup help on selection screens. This function module pops up a screen that is just like all the other F4 helps, so it looks like the rest of the SAP system. Very useful for providing dropdowns on fields that do not have them predefined.

Example:

tables: t001w.

DATA: lc_werks LIKE t001w-werks,
ltab_fields LIKE help_value OCCURS 0 with header line,

BEGIN OF ltab_values OCCURS 0,
feld(40) TYPE c,
END OF ltab_values.

*-- Set up fields to retrieve data
ltab_fields-tabname = 'T001W'.
ltab_fields-fieldname = 'WERKS'.
ltab_fields-selectflag = 'X'.
APPEND ltab_fields.

ltab_fields-tabname = 'T001W'.
ltab_fields-fieldname = 'NAME1'.
ltab_fields-selectflag = space.
APPEND ltab_fields.

*-- Fill values
select * from t001w.
ltab_values-feld = t001w-werks.
append ltab_values.
ltab_values-feld = t001w-name1.
append ltab_values.
endselect.

CALL FUNCTION 'HELP_VALUES_GET_WITH_TABLE'
EXPORTING
fieldname = 'WERKS'
tabname = 'T001W'
title_in_values_list = 'Select a value'
IMPORTING
select_value = lc_werks
TABLES
fields = ltab_fields
valuetab = ltab_values
EXCEPTIONS
field_not_in_ddic = 01
more_then_one_selectfield = 02
no_selectfield = 03.

Thursday, April 9, 2009

SAP Tutorial - Part 8 - SAP Functions - Part 1

SAP Function

ABAP_DOCU_DOWNLOAD Download ABAP documentation in HTML format.

APPL_LOG_DELETE With this function module you delete logs in the database according to specified selection conditions

APPL_LOG_DISPLAY With this function module you can analyze logs in the database.

APPL_LOG_DISPLAY_INTERN With this function module you can analyze logs in local memory, e.g. when you have only collected log records at runtime and do not want to write to the database.

APPL_LOG_INIT This function module checks whether the specified object or sub-object exists and deletes all existing associated data in local memory.

APPL_LOG_READ_DB With this function module you read the log data in the database for an object or sub-object according to specified selection conditions.

APPL_LOG_READ_INTERN With this function module you read all log data whose log class has at least the specified value, from local memory, for the specified object or sub-object.

APPL_LOG_SET_OBJECT With this function module, you create a new object or sub-object for writing in local memory. With a flag you can control whether the APPL_LOG_WRITE_... messages are written in local memory or are output on the screen.

APPL_LOG_WRITE_DB With this function module you write all data for the specified object or sub-object in local memory to the database. If the log for the object or sub-object in question is new, the log number is returned to the calling program.

APPL_LOG_WRITE_HEADER With this function module, you write the log header data in local memory.

APPL_LOG_WRITE_LOG_PARAMETERS With this function module, you write the name of the log parameters and the associated values for the specified object or sub-object in local memory. If this function module is called repeatedly for the same object or sub-object, the existing parameters are updated accordingly. If you do not specify an object or sub-object with the call, the most recently used is assumed.

APPL_LOG_WRITE_MESSAGE_PARAMS With this function module you write a single message, with parameters, in local memory. Otherwise the function module works like APPL_LOG_WRITE_SINGLE_MESSAGE.

APPL_LOG_WRITE_MESSAGES With this function module you write one or more messages, without parameters, in local memory.

APPL_LOG_WRITE_SINGLE_MESSAGE With this function module you write a single message, without parameters, in local memory. If no header entry has yet been written for the object or sub-object, it is created. If you do not specify an object or sub-object with the call, the most recently used is assumed.

ARFC_GET_TID will return the IP address of the terminal in hex.


BAL_CNTL_CREATE Create Control for log display

BAL_CNTL_FREE Release Control

BAL_CNTL_REFRESH Put new data in log display

BAL_DB_DELETE Delete logs from the database

BAL_DB_DEQUEUE Unlock log

BAL_DB_ENQUEUE Lock log

BAL_DB_LOAD Load logs from the database

BAL_DB_LOAD Load log(s)

BAL_DB_SAVE Save logs in the database

BAL_DB_SAVE Save log(s)

BAL_DB_SAVE_PREPARE Prepare save

BAL_DB_SEARCH Find logs in the database

BAL_DSP_LOG_DISPLAY Display messages in memory

BAL_DSP_LOG_DISPLAY Display Log

BAL_DSP_LOG_PARAMETERS Either output extended long text or call a callback routine (based on the data in BAL_S_LOG-PARAMS)

BAL_DSP_LOG_TECHNICAL_DATA Output all log header data

BAL_DSP_MSG_LONGTEXT Display message long text

BAL_DSP_MSG_PARAMETERS Either output extended long text or call a callback routine (based on the data in BAL_S_MSG-PARAMS)

BAL_DSP_MSG_TECHNICAL_DATA Output technical data of a message such as work area, error number, etc.

BAL_DSP_OUTPUT_FREE End output

BAL_DSP_OUTPUT_INIT Initialize output

BAL_DSP_OUTPUT_SET_DATA Set dataset to be displayed

BAL_DSP_PROFILE_DETLEVEL_GET Message hierarchy in DETLEVEL

BAL_DSP_PROFILE_NO_TREE_GET Display without tree (fullscreen)

BAL_DSP_PROFILE_POPUP_GET Display without tree (popup)

BAL_DSP_PROFILE_SINGLE_LOG_GET Standard profile (SLG1) for one log

BAL_DSP_PROFILE_STANDARD_GET Standard profile (SLG1) for a lot of logs

BAL_GLB_AUTHORIZATION_GET Assign authorization

BAL_GLB_AUTHORIZATION_RESET Reset authorization

BAL_GLB_CONFIG_GET Read configuration

BAL_GLB_CONFIG_SET Set configuration

BAL_GLB_MEMORY_EXPORT Put function group memory in ABAP-MEMORY

BAL_GLB_MEMORY_IMPORT Get function group memory from ABAP-MEMORY

BAL_GLB_MEMORY_REFRESH (Partially) reset global memory

BAL_GLB_MEMORY_REFRESH (Partially) initialize memory

BAL_GLB_MSG_CURRENT_HANDLE_GET Get current message handle

BAL_GLB_MSG_DEFAULTS_GET Get message defaults

BAL_GLB_SEARCH_LOG Find logs in memory

BAL_GLB_SEARCH_MSG Find messages in memory

BAL_LOG_CREATE Create log with header data

BAL_LOG_CREATE Create log with header data

BAL_LOG_DELETE Delete log (from database also at Save)

BAL_LOG_EXIST Check existence of a log in memory

BAL_LOG_HDR_CHANGE Change log header

BAL_LOG_HDR_CHECK Check log header data for consistency

BAL_LOG_HDR_READ Read log header and other data

BAL_LOG_MSG_ADD Put message in log

BAL_LOG_MSG_ADD Put message in log

BAL_LOG_MSG_CHANGE Change message

BAL_LOG_MSG_CHANGE Change message

BAL_LOG_MSG_CHECK Check message data for consistency

BAL_LOG_MSG_CUMULATE Add message cumulated

BAL_LOG_MSG_DELETE Delete message

BAL_LOG_MSG_DELETE Delete message

BAL_LOG_MSG_EXIST Check existence of a message in memory

BAL_LOG_MSG_READ Read message and other data

BAL_LOG_MSG_REPLACE Replace last message

BAL_LOG_REFRESH Delete log from memory

BAL_LOG_REFRESH Delete log from memory

BAL_MSG_DISPLAY_ABAP Output message as ABAP-MESSAGE

BAL_OBJECT_SELECT Read Application Log objects table record

BAL_OBJECT_SUBOBJECT Check whether object and subobject exist and the combination is allowed

BAL_SUBOBJECT_SELECT Read subobject table record

BP_EVENT_RAISE Trigger an event from ABAP/4 program

BP_JOBLOG_READ Fetch job log executions

CHANGEDOCUMENT_READ_HEADERS Get the change document header for a sales document, and put the results in an internal table.

Example:

CALL FUNCTION 'CHANGEDOCUMENT_READ_HEADERS'
EXPORTING
objectclass = 'EINKBELEG'
objectid = l_objectid
username = space
TABLES
i_cdhdr = lt_cdhdr.

LOOP AT lt_cdhdr WHERE udate IN s_aedat.
CALL FUNCTION 'CHANGEDOCUMENT_READ_POSITIONS'
EXPORTING
changenumber = lt_cdhdr-changenr
TABLES
editpos = lt_editpos.

LOOP AT lt_editpos WHERE fname = 'LOEKZ'
AND f_new = 'L'.
p_desc = text-r01. " Cancel Contract
ENDLOOP.
ENDLOOP.

Tuesday, April 7, 2009

SAP Tutorial - Part 7 - SAP Tables - Part 2

Human Resources Tables/Infotypes

CATSCO Cross-Application Time Sheet (CATS)- Transfer to CO

CATSDB CATS- Database Table for Time Sheet

CATSHR Cross-Application Time Sheet (CATS)- Transfer to HR

CATSMM Cross-Application Time Sheet (CATS)- Transfer to MM

CATSPM Cross-Application Time Sheet (CATS)- Transfer to PM/CS

CATSPS Cross-Application Time Sheet (CATS)- Transfer to PS

CSKS Cost Center Master Data

CSKT Cost Center Texts

PCL1 HR Cluster 1

PCL2 HR Cluster 2

T001P Personnel Area/Subarea

T001T Company code-dependent texts

T500L Personnel Country Grouping

T500P Personnel Areas

T502T Marital Status Designators

T503 Employee Group/Subgroup

T503T Employee Subgroup Names

T508A Work Schedule Rules

T510 Pay Scale Groups

T510A Pay Scale Types

T510F Assign Pay Scale --- Currency

T510W Pay Scale - Period Parameter Assignment

T511 Wage Types

T512T Wage Type Texts

T512W Wage Type Valuation

T512Z Permissibility of Wage Types per Infotype

T527X Organizational Units

T528T Position Texts

T529T Personnel Action Texts

T529U Status Values

T530 Reasons for Actions

T530T Reason for Action Texts

T549A Payroll Accounting Areas

T549Q Payroll Periods

T550A Daily Work Schedule

T550S Daily Work Schedule Texts

T551S Period Work Schedule Texts

T552A Monthly Work Schedule

T554C Absence Valuation

T554S Attendance and Absence Types

T554T Attendance and Absence Texts

T558B Payroll Account Transfer- Payroll Periods

T569V Control Records

T5K8C Transfer ext. payroll results into Canadian specific tables

T74FA Benefit insurance plan

T74FC Benefits Insurance Coverage Rule

HRP1000 Infotype 1000 DB Table (Objects)

HRP1001 Infotype 1001 DB Table (Relationships)

HRP1002 Infotype 1002 DB Table

HRP1003 Infotype 1003 DB Table

HRP1004 Infotype 1004 DB table



Project Systems Tables

IMAK Appropriation requests - general data

IMAV Appropriation request variant

IMPR Investment Program Positions

IMPU Texts for cap. inv. program positions

IMTP Investment programs

IMZO Assignment Table- CO Object - Capital Investment Prog.Pos.

PMCO Cost structure of maintenance order

PRHI Work Breakdown Structure, Edges (Hierarchy Pointer)

PROJ Project definition

PRPS WBS (Work Breakdown Structure) Element Master Data



Production Planning Tables

MAST Material BOM

STKO BOM Header

STPO BOM Positions (detail)

MAPL Assignment of Task Lists to Materials

PLKO Routing Group Header

PLSO Routing Group Sequence

PLPO Routing Group Operations

AFKO Production Order Header

AFPO Production Order Position (details)



System Tables

ADCP Person/Address assignment (central address administration)

ADIRACCESS Table to store keys for TADIR objects

ADR2 Telephone numbers (central address admin.)

ADRP Persons (central address administration)

APQD DATA DEFINITION Queue

APQI Queue info definition

D010SINF ABAP- Information about ABAP program source code

E071 Change and Transport System- Object Entries of Requests/Tasks

E07T Change and Transport System- Short Texts for Requests/Tasks

ENLFDIR Additional Attributes for Function Modules

INDX System table INDX

NAST Message Status

STXH STXD SAPscript text file header

T005 Countries

T005S Taxes- Region (Province) Key

T005U Taxes- Region Key- Texts

T006 Units of Measurement

T015M Names of the months

T247 Month name and short text

T777A Building Addresses

TADIR Directory of Repository Objects

TBTCO Job status overview table

TBTCP Batch job step overview

TFDIR Function Module

TFTIT Function Module Short Text

TSP03L Spool- Long device names

TSTC SAP Transaction Codes

TSTCT Transaction Code Texts

TUTYP User Types in Current Price List in SAP System

TUZUS Special versions

TVARV Table of variables in selection criteria

TVDIR View Directory

US930 Data Relevant to Measurement for User Master Record

USR01 User master record (runtime data)

USR02 Logon data

USR04 User master authorizations

USR06 Additional Data per User

USR14 Surchargeable Language Versions per User

USR21 Assign user name address key

ARCH_OBJ Objects for archiving and reorganization

BTCUED Description of user event IDs for background processing

BTXSUPB BSI- Upgrade-Information

CCCFLOW Client Copy Control Flow

DBSTATC DB Optimizer Control (Statistics Creation)

DEVACCESS Table for development users

DEVL OBSOLETE- Do not use (See TCETRAL)

E070 Change and Transport System- Header of Requests/Tasks

E070L CTS- Index for Assigning Numbers to Requests/Tasks

INSTVERS Documentation for installation Status and History

PAT03 Patch Directory

SDBAC DBA Action Table

T100 Messages

TAPLT Program Application Long Texts

TASYS OBSOLETE- Do not use, see TCEDELI

TDEVC Development Classes

TEMSE Temp Sequential table.

TLOCK Change and Transport System- Lock Table

TNAPR Processing programs for output. Can be very handy to find the print program for a SAPScript.

TNAST Printed output control table

TPFET Table of profile parameters

TPFHT Profile header, administration data for profiles in DB

TPROT Table contains all DD tables to be logged

TRBAT Communication Table for Transport Control

TRDIRT Title texts for programs in TRDIR

TRESN Table of Naming Conventions in ABAP Workbench

TRJOB Job ID for Coordinating Batch-ABAP/UNIX for Transports

TSP03C Spool- Device Description Extension

TST03 TemSe data

TSYST OBSOLETE- Do not use (see TCESYST)

TWSYS OBSOLETE- Do not use (See TCETRAL)

USOBT Relation transaction - authorization object

USR03 User address data

USR05 User Master Parameter ID

USR12 User master authorization values

USR40 Table for illegal passwords

USR41 User master- Additional data

UST04 User masters

VARIT Variant texts

VARID Variant directory

D010TAB Table for Use Report---Tables

DD02L SAP tables

DD02T R/3 DD- SAP table texts

DD03L Table Fields

DD03T DD- Texts for fields (language dependent)

EDIDC IDOC Control Records

EDIDOT Short description of IDoc types

EDID2 IDOC segments (version 3.1)

EDID4 IDOC segments (version 4.6)

EDSEA EDI- Table of all segments of current release

VRSX2 Central Table for Version Management (Report Source)

TSE05 Can add parameters to the INSERT COMMAND (IC). Then, when you insert command, your info appears in the editor. Useful for comment blocks, common section of code, etc.

CDPOS Change document items

CDHDR Change document header

T529A governs the foreground sequence of infotypes the system will use to prompt the user during online and batch processing. You will have to code your BDC to follow that sequence of creating infotypes.

T588Z governs the dynamic event processing that will only take place during online user inputs. For BDC's you will have to create separate BDC's to handle any infotypes that are inserted dynamically by this table.

T588M Infotype Screen Control

SAP Tutorial - Part 7 - SAP Tables - Part 2

Human Resources Tables/Infotypes

CATSCO Cross-Application Time Sheet (CATS)- Transfer to CO

CATSDB CATS- Database Table for Time Sheet

CATSHR Cross-Application Time Sheet (CATS)- Transfer to HR

CATSMM Cross-Application Time Sheet (CATS)- Transfer to MM

CATSPM Cross-Application Time Sheet (CATS)- Transfer to PM/CS

CATSPS Cross-Application Time Sheet (CATS)- Transfer to PS

CSKS Cost Center Master Data

CSKT Cost Center Texts

PCL1 HR Cluster 1

PCL2 HR Cluster 2

T001P Personnel Area/Subarea

T001T Company code-dependent texts

T500L Personnel Country Grouping

T500P Personnel Areas

T502T Marital Status Designators

T503 Employee Group/Subgroup

T503T Employee Subgroup Names

T508A Work Schedule Rules

T510 Pay Scale Groups

T510A Pay Scale Types

T510F Assign Pay Scale --- Currency

T510W Pay Scale - Period Parameter Assignment

T511 Wage Types

T512T Wage Type Texts

T512W Wage Type Valuation

T512Z Permissibility of Wage Types per Infotype

T527X Organizational Units

T528T Position Texts

T529T Personnel Action Texts

T529U Status Values

T530 Reasons for Actions

T530T Reason for Action Texts

T549A Payroll Accounting Areas

T549Q Payroll Periods

T550A Daily Work Schedule

T550S Daily Work Schedule Texts

T551S Period Work Schedule Texts

T552A Monthly Work Schedule

T554C Absence Valuation

T554S Attendance and Absence Types

T554T Attendance and Absence Texts

T558B Payroll Account Transfer- Payroll Periods

T569V Control Records

T5K8C Transfer ext. payroll results into Canadian specific tables

T74FA Benefit insurance plan

T74FC Benefits Insurance Coverage Rule

HRP1000 Infotype 1000 DB Table (Objects)

HRP1001 Infotype 1001 DB Table (Relationships)

HRP1002 Infotype 1002 DB Table

HRP1003 Infotype 1003 DB Table

HRP1004 Infotype 1004 DB table



Project Systems Tables

IMAK Appropriation requests - general data

IMAV Appropriation request variant

IMPR Investment Program Positions

IMPU Texts for cap. inv. program positions

IMTP Investment programs

IMZO Assignment Table- CO Object - Capital Investment Prog.Pos.

PMCO Cost structure of maintenance order

PRHI Work Breakdown Structure, Edges (Hierarchy Pointer)

PROJ Project definition

PRPS WBS (Work Breakdown Structure) Element Master Data



Production Planning Tables

MAST Material BOM

STKO BOM Header

STPO BOM Positions (detail)

MAPL Assignment of Task Lists to Materials

PLKO Routing Group Header

PLSO Routing Group Sequence

PLPO Routing Group Operations

AFKO Production Order Header

AFPO Production Order Position (details)



System Tables

ADCP Person/Address assignment (central address administration)

ADIRACCESS Table to store keys for TADIR objects

ADR2 Telephone numbers (central address admin.)

ADRP Persons (central address administration)

APQD DATA DEFINITION Queue

APQI Queue info definition

D010SINF ABAP- Information about ABAP program source code

E071 Change and Transport System- Object Entries of Requests/Tasks

E07T Change and Transport System- Short Texts for Requests/Tasks

ENLFDIR Additional Attributes for Function Modules

INDX System table INDX

NAST Message Status

STXH STXD SAPscript text file header

T005 Countries

T005S Taxes- Region (Province) Key

T005U Taxes- Region Key- Texts

T006 Units of Measurement

T015M Names of the months

T247 Month name and short text

T777A Building Addresses

TADIR Directory of Repository Objects

TBTCO Job status overview table

TBTCP Batch job step overview

TFDIR Function Module

TFTIT Function Module Short Text

TSP03L Spool- Long device names

TSTC SAP Transaction Codes

TSTCT Transaction Code Texts

TUTYP User Types in Current Price List in SAP System

TUZUS Special versions

TVARV Table of variables in selection criteria

TVDIR View Directory

US930 Data Relevant to Measurement for User Master Record

USR01 User master record (runtime data)

USR02 Logon data

USR04 User master authorizations

USR06 Additional Data per User

USR14 Surchargeable Language Versions per User

USR21 Assign user name address key

ARCH_OBJ Objects for archiving and reorganization

BTCUED Description of user event IDs for background processing

BTXSUPB BSI- Upgrade-Information

CCCFLOW Client Copy Control Flow

DBSTATC DB Optimizer Control (Statistics Creation)

DEVACCESS Table for development users

DEVL OBSOLETE- Do not use (See TCETRAL)

E070 Change and Transport System- Header of Requests/Tasks

E070L CTS- Index for Assigning Numbers to Requests/Tasks

INSTVERS Documentation for installation Status and History

PAT03 Patch Directory

SDBAC DBA Action Table

T100 Messages

TAPLT Program Application Long Texts

TASYS OBSOLETE- Do not use, see TCEDELI

TDEVC Development Classes

TEMSE Temp Sequential table.

TLOCK Change and Transport System- Lock Table

TNAPR Processing programs for output. Can be very handy to find the print program for a SAPScript.

TNAST Printed output control table

TPFET Table of profile parameters

TPFHT Profile header, administration data for profiles in DB

TPROT Table contains all DD tables to be logged

TRBAT Communication Table for Transport Control

TRDIRT Title texts for programs in TRDIR

TRESN Table of Naming Conventions in ABAP Workbench

TRJOB Job ID for Coordinating Batch-ABAP/UNIX for Transports

TSP03C Spool- Device Description Extension

TST03 TemSe data

TSYST OBSOLETE- Do not use (see TCESYST)

TWSYS OBSOLETE- Do not use (See TCETRAL)

USOBT Relation transaction - authorization object

USR03 User address data

USR05 User Master Parameter ID

USR12 User master authorization values

USR40 Table for illegal passwords

USR41 User master- Additional data

UST04 User masters

VARIT Variant texts

VARID Variant directory

D010TAB Table for Use Report---Tables

DD02L SAP tables

DD02T R/3 DD- SAP table texts

DD03L Table Fields

DD03T DD- Texts for fields (language dependent)

EDIDC IDOC Control Records

EDIDOT Short description of IDoc types

EDID2 IDOC segments (version 3.1)

EDID4 IDOC segments (version 4.6)

EDSEA EDI- Table of all segments of current release

VRSX2 Central Table for Version Management (Report Source)

TSE05 Can add parameters to the INSERT COMMAND (IC). Then, when you insert command, your info appears in the editor. Useful for comment blocks, common section of code, etc.

CDPOS Change document items

CDHDR Change document header

T529A governs the foreground sequence of infotypes the system will use to prompt the user during online and batch processing. You will have to code your BDC to follow that sequence of creating infotypes.

T588Z governs the dynamic event processing that will only take place during online user inputs. For BDC's you will have to create separate BDC's to handle any infotypes that are inserted dynamically by this table.

T588M Infotype Screen Control

Sunday, April 5, 2009

SAP Tutorial - Part 6 - SAP Tables - Part 1

Sales and Distribution Tables

KONV Conditions for Transaction Data

KONP Conditions for Items

LIKP Delivery Header Data

LIPS Delivery: Item data

VBAK Sales Document: Header Data

VBAP Sales Document: Item Data

VBBE Sales Requirements: Individual Records

VBEH Schedule line history

VBEP Sales Document: Schedule Line Data

VBFA Sales Document Flow

VBLB Sales document: Release order data

VBLK SD Document: Delivery Note Header

VBPA Sales Document: Partner

VBRK Billing: Header Data

VBRP Billing: Item Data

VBUK Sales Document: Header Status and Administrative Data

VBUP Sales Document: Item Status

VEKP Handling Unit - Header Table

VEPO Packing: Handling Unit Item (Contents)

VEPVG Delivery Due Index


Materials Management Tables

EINA Purchasing Info Record- General Data

EINE Purchasing Info Record- Purchasing Organization Data

MAKT Material Descriptions

MARA General Material Data

MARC Plant Data for Material

MARD Storage Location Data for Material

MAST Material to BOM Link

MBEW Material Valuation

MKPF Header- Material Document

MSEG Document Segment- Material

MVER Material Consumption

MVKE Sales Data for materials

RKPF Document Header- Reservation

T023 Mat. groups

T024 Purchasing Groups

T156 Movement Type

T157H Help Texts for Movement Types



Purchasing Tables

A501 Plant/Material

EBAN Purchase Requisition

EBKN Purchase Requisition Account Assignment

EKAB Release Documentation

EKBE History per Purchasing Document

EKET Scheduling Agreement Schedule Lines

EKKN Account Assignment in Purchasing Document

EKKO Purchasing Document Header

EKPO Purchasing Document Item

IKPF Header- Physical Inventory Document

ISEG Physical Inventory Document Items

LFA1 Vendor Master (General section)

LFB1 Vendor Master (Company Code)

NRIV Number range intervals

RESB Reservation/dependent requirements

T161T Texts for Purchasing Document Types



Plant Maintenance/Sales and Distribution Tables

AFAB Network - Relationships

AFFH PRT assignment data for the work order

AFFL Work order sequence

AFFT Order - Process Instructions

AFFV Order - Process Instruction Values

AFFW Goods movements with errors from confirmations

AFIH Maintenance order header

AFKO Order header data PP orders

AFPO Order item

AFRC Incorrect cost calculations from confirmations

AFRD Default values for collective confirmation

AFRH Header information for confirmation pool

AFRU Order completion confirmations

AFRV Confirmations pool

AFVC Operation within an order

AFVU DB structure of the user fields of the operation

AFVV DB structure of the quantities/dates/values in the operation

AFWI Subsequently posted goods movements for confirmations

AUFK Order master data

AUFM Goods movements for order

BGMK Master Warranty Header

BGMP Master Warranty Item

BGMS Master Warranty Text Item

BGMT Master Warranty Text

BGMZ Warranty Counter

CRHD Work Center Header

CRTX Text for the Work Center or Production Resource/Tool

EQKT Equipment Short Texts

EQST Equipment to BOM Link

EQUI Equipment master data

EQUZ Equipment time segment

HIKO Order master data history

IFLO Table generated for View IFLO

IFLOT Functional Location (Table)

IFLOTX Functional Location- Short Texts

IHGNS Permit Segment for Plant Maintenance

IHPA Plant Maintenance- Partners

IHSG Object-Related Permits in Plant Maintenance

ILOA PM Object Location and Account Assignment

IMPTT Measuring Point (Table)

IMRG Measurement Document

KAKO Capacity Header Segment

KONP Conditions (Item)

KONV Conditions (Transaction Data)

OBJK Plant Maintenance Object List

QMEL Quality Notification

QMFE Quality notification - items

QMIH Quality message - maintenance data excerpt

QMMA Quality notification - activities

QMSM Quality notification - tasks

QMUR Quality notification - causes

T001 Company Codes

T001L Storage Locations

T001W Plants/Branches

T077D Customer account groups

T003O Order Types

T352R Maintenance revisions

T353I_T Maintenance activity type description

T356 Priorities

T357G Permits

T357G_T Text for Table 357GT

T370A Activity Category for PM Lists

TINCT Customers- Incoterms- Texts

TVKO Organizational Unit- Sales Organizations

TVKOS Organizational Unit- Divisions per Sales Organization

TVKOV Org. Unit- Distribution Channels per Sales Organization

TVTA Organizational Unit- Sales Area(s)

VIAUFKST Generated Table for View VIAUFKST



Finance Tables

AGKO Cleared Accounts

ANAR Asset Types

ANAT Asset type text

ANEK Document Header Asset Posting

ANEP Asset Line Items

ANEV Asset downpymt settlement

ANKT Asset classes- Description

ANLA Asset Master Record Segment

ANLB Depreciation terms

ANLC Asset Value Fields

ANLH Main asset number

AT02T Transaction Activity Category- Description

AT02A Transaction Code for Menu TIMN

AT10 Transaction type

AT10T Name of Transaction Type

BKDF Document Header Supplement for Recurring Entry

BKORM Accounting Correspondence Requests

BKPF Accounting Document Header

BLPK Document log header

BLPP Document log item

BLPR Document Log Index and Planned Order (Backflush)

BNKA Bank master record

BP000 Business Partner Master (General Data)

BPBK Doc.Header Controlling Obj.

BPEG Line Item Total Values Controlling Obj.

BPEJ Line Item Annual Values Controlling Obj.

BPEP Line Item Period Values Controlling Obj.

BPGE Totals Record for Total Value Controlling obj.

BPJA Totals Record for Annual Total Controlling Obj.

BSAD Accounting- Secondary Index for Customers (Cleared Items)

BSAK Accounting- Secondary Index for Vendors (Cleared Items)

BSAS Accounting- Secondary Index for G/L Accounts (Cleared Items)

BSEC One-Time Account Data Document Segment

BSEG Accounting Document Segment

BSID Accounting- Secondary Index for Customers

BSIK Accounting- Secondary Index for Vendors

BSIM Secondary Index, Documents for Material

BSIS Accounting- Secondary Index for G/L Accounts

CEPC Profit Center Master Data Table

CEPCT Texts for Profit Center Master Data

COBRA Settlement Rule for Order Settlement

COBRB Distribution Rules Settlement Rule Order Settlement

COKA CO Object- Control Data for Cost Elements

COSP CO Object- Cost Totals for External Postings

COSS CO Object- Cost Totals for Internal Postings

CRCO Assignment of Work Center to Cost Center

CSKA Cost Elements (Data Dependent on Chart of Accounts)

CSKB Cost Elements (Data Dependent on Controlling Area)

CSLA Activity master

FEBEP Electronic Bank Statement Line Items

FPLA Billing Plan

FPLT Billing Plan- Dates

GLPCT EC-PCA- Totals Table

KNA1 General Data in Customer Master

KOMK Pricing Communication Header

MAHNV Management Records for the Dunning Program

REGUT TemSe - Administration Data

SKA1 G/L Account Master (Chart of Accounts)

SKAT G/L Account Master Record (Chart of Accounts- Description)

SKB1 G/L account master (company code)

T003T Document Type Texts

T007S Tax Code Names

T087J Text

TAPRFT Text tab. for investment profile

TKA01 Controlling Areas

TKA09 Basic Settings for Versions

TKVS CO Versions

TZB0T Flow types text table

TZPAT Financial Assets Management product type texts

VBSEGS Document Segment for G/L Accounts Document Parking

VTBFHA Transaction

VTBFHAPO Transaction Flow

VTBFHAZU Transaction Activity

VTBFINKO Transaction Condition

VTIDERI Master Data Listed Options and Futures

VTIFHA Underlying transaction

VTIFHAPO Underlying transaction flows

VTIFHAZU Underlying transaction status table

VTIOF Options Additional Data

VWPANLA Asset master for securities