Sap Terminology
Sap Terminology
Sap Terminology
Workflow A routing tool in SAP that forwards documents for review or approval. For
example, a requisition that needs to be approved is sent to the appropriate
approver's inbox. Workflow is also used to route journal vouchers, credit card
charges, and other documents in SAP.
Cost Object: A Cost Object collects expenses and revenues for a particular purpose,
such as a research project. In SAP there are three types of cost objects: Cost Center,
Internal Order, and WBS (Work Breakdown Structure) Element (see below for
definition).
Cost Center: General or operating Cost Objects are known in SAP as Cost Centers.
Cost Centers are budgeted on the fiscal year.
Internal Order: A non-sponsored Cost Object (for example, funding from the MIT
Provost) used to track costs over periods other than fiscal years. Internal Orders are
often created to track gifts or endowments at MIT.
WBS Element: WBS Elements are funded by outside sponsors and are used to track
costs of a particular research project over the entire span of its activity. They may
also be created to track other sponsored activities, such as gifts.
G/L Account: G/L accounts are also called Cost Elements in SAP. They are a
classification by expense or revenue type. In the CO (Controlling) module of SAP, the
term Cost Element is used. In the FI
(Financial) module, the term G/L Account is used. These terms are used
interchangeably for reporting, requisitions, and journal vouchers.
Database tables and open SQL Add a single record to a database table insert into
values Inserting all lines from an internal table into a database table: insert from
table Delete all records Select * from zmellemtab. delete zmellemtab. endselect.
Deleting records using records from an internal table delete employees from table
itab.
Q & A BASIS LAYER
What are the central interfaces of the R/3 system ?
- Presentation interface
Database interface
Operating system interface
DATA DICTIONARY .
1. transparent table
2. structure
3. append structure
For internal purposes, such as storing control data or update texts, there are in
addition the following table types:
1. pooled table
2. cluster table
Transparent table There is a physical table on the database for each transparent
table. The names of the physical tables and the logical table definition in the ABAP/4
Dictionary correspond. All business data and application data are stored in
transparent tables.
Structure No data records exist in the database for a structure. Structures are used
for the interface definition between programs or between screens and programs.
Pooled table Pooled tables can be used to store control data (e.g. screen
sequences, program parameters or temporary data). Several pooled tables can be
combined to form a table pool. The table pool corresponds to a physical table on the
database in which all the records of the allocated pooled tables are stored.
Cluster table Cluster tables contain continuous text, for example, documentation.
Several cluster tables can be combined to form a table cluster. Several logical lines
of different tables are combined to form a physical record in this table type. This
permits object-by-object storage or object-by-object access. In order to combine
tables in clusters, at least parts of the keys must agree. Several cluster tables are
stored in one corresponding table on the database.
The Data class determines in which tablespace the table is stored when it is created
in the database. What is a Size Category? The Size category describes the probable
space requirement of the table in the database. How Many types of size categories
and data classes are there? There are five size categories (0-4) and 11 data classes,
only three of which are appropriate for application tables:
- APPL0 - Master data (data frequently accessed but rarely updated)
- APPL1 - Transaction data (data that is changed frequnetly)
- APPL2 - Organisational data (customizing data that is entered when system is
configured and then rarely changed)
The values specified for the size category and data class are mapped to database-
specific values via control tables.
The function of the transport system and the Workbench Organizer is to manage any
changes made to objects of the ABAP/4 Development Workbench and to transport
these changes between different SAP systems.
What are pooled tables? These are logical tables which must be assigned to a
table pool when they are defined. Pooled tables can be used to store control data
(such as screen sequences or program parameters).
As a reference table, a system table containing all the valid currencies is assigned or
any other table which contains a field with the currency key format. This field is
called as reference field. The assignment of the field containing currency amounts to
the reference field is made at runtime. The value in the reference field determines
the currency of the amount.
Match Code is a tool to help us to search for data records in the system. Match codes
are an efficient and user-friendly search aid where key of a record is unknown. What
are the two levels in defining a Match Code ?
- Match Code object
- Match Code Id.
What is the maximum number of match code Id's that can be defined for
one Match code object ?
- 36. A match code Id is a one character ID which can be a letter or a number.
Can we define our own Match Code ID's for SAP Matchcodes ?
Yes, the numbers 0 to 9 are reserved for us to create our own Match Code IDs for a
SAP defined Matchcode object.
What is a View ?
- A view is a logical view on one or more tables. A view on one or more tables i.e, the
data from a view is not actually physically stored instead being derived from one or
more tables. A view can be used to summarize data which is distributed among
several tables
- Projection View
Projection views are used to suppress or mask certain fields in a table (projection),
thus minimizing the number of interfaces. This means that only the data that is
actually required is exchanged when the database is accessed. A projection view can
draw upon only one table. Selection conditions cannot be specified for projection
views.
What is Locking ?
- When two users simultaneously attempt to access the same data record, this is
synchronised by a lock mechanism.
When dialog transactions are programmed, locks are set and released by calling
certain function modules. These function modules are generated automatically from
the definition of so-called lock objects in the ABAP/4 Dictionary. To synchronize the
access to a table by setting and removing locks, a Lock object has to be defined in
the ABAP/4 Dictionary. Activating the lock object automatically creates #function
modules for setting and removing locks. These function modules must be included
when programming interactive transactions.
Lock Mechanism : To set locks, a lock object must be defined in the ABAP/4
Dictionary. In this lock object, those tables in which data records are to be locked by
calling a lock are determined. All tables included in a lock object must be connected
to each other via foreign keys. The key fields of the tables in a lock object form the
Lock arguments for the tables. The lock arguments are the basis for formulating the
logical condition for identifying the records to be locked. When activating this lock
object, two function modulesB with the names ENQUEUE_ and DEQUEUE_ are
generated.
Example :
Problem : You wish to prevent a user from being able to change the name of a
course or the name of the professor with responsibility for the course at a time when
another user is editing the course description (which contains this information).
Solution : The problem described above can be solved by defining a lock object
E_UKURS. This is done by defining primary and secondary tables in the lock object.
Table UKURS is check table of table UKRSB, so UKURS should be selected as primary
table and UKRSB as secondary table of the lock object. The Lock argument in this
case is the field combination FABNR, KRSNR, and SPRAS (i.e Primary Key
Combination). The Lock mode Shared is to be selected here. This allows several
users to access the data simultaneously in display mode. The lock mode in the
generated function modules for setting (ENQUEUE_E_UKURS) and releasing
(DEQUEUE_E_UKURS) locks is therefore set to shared as default, but can be
overridden by calling the function modules. If the function module
ENQUEUE_E_UKURS is called with FABNR = '1' and KRSNR = '3', the record for course
3 in faculty 1 is locked in table UKURS. Furthermore, all the course descriptions for
this course are locked in table UKRSB since field SPRAS was not specified when the
function module was called. In such cases, the lock is made generically for a field
which is not defined. If the function module DEQUEUE_E_UKURS is now called with
FABNR = '1', KRSNR = '3' and SPRAS = 'D', the German course description is
unlocked. All other course descriptions remain locked.
How can we create callable modules of program code within one ABAP/4
Program?
A. By defining macros. B. By creating include programs in the library.
What is the difference between the function module and a normal ABAP/4
subroutine?
A. The lines of an internal table always have the same structure. By using extract
datasets, you can handle groups of data with different structure and get statistical
figures from the grouped data.
B. You have to define the structure of the internal table at the begining. You need
not define the structure of the extract dataset.
C. In contrast to internal tables, the system partly compresses extract datasets
when storing them. This reduces the storage space required.
D. Internal tables require special work area for interface whereas extract datasets
do not need a special work area for interface.
LOGICAL DATABASE.
What are logical databases?
What are the advantages/disadvantages of logical databases? Ans :- A Logical
Database is a hierarchical structure of tables. Use the GET statement to process
Logical Databases. - LDB consists of logically related tables grouped together used
for reading and processing data.
- Advantages = 1. No need of programming for retrieval , meaning for data selection
- 2. Easy to use standard user interface, have check completeness of user input.
Disadvantages = 1. Fast in case of lesser no. of tables But if the table is in the lowest
level of hierarchy, all upper level tables should be read so performance is slower.
Preparation of the data records by the L.D.B and reading of the data
records in the actual report are accomplished with the command pair.
- Put and Get.
The three main elements of LDB are - Structure, Selections, Database Program.
What sort of tables one can use in designing the hierarchy of a LDB ?
- Tables which are having Foreign key relations.
If you want to improve the response time ( time to access data ) Logical DataBases
permits you to achieve this using ______________
- VIEWS.
-- INITIALIZATION
Point before the selection screen
is displayed
When you start a program in which a selection screen is defined (either in the
program itself or in the linked logical database program), the system normally
processes this selection screen first. If you want to execute a processing block before
the selection screen is processed, you can assign it to the event keyword
INITIALIZATION.
AT SELECTION-SCREEN
Point after processing user input on the selection screen while the selection screen is
still active
The event keyword AT SELECTION-SCREEN provides you with several possibilities to
carry out processing blocks while the system is processing the selection screen.
START-OF-SELECTION
Point after processing the selection screen
The event START-OF-SELECTION gives you the possibility of creating a processing
block after processing the selection screen and before accessing database tables
using a logical database. You can use this processing block, for example, to set the
values of internal fields or to write informational statements onto the output screen.
At the START-OF-SELECTION event, also all statements are processed that are not
attached to an event keyword except those that are written behind a FORM-
ENDFORM block .
GET
Point at which the logical database offers a line of the database table
The most important event for report programs with an attached logical database is
the moment at which the logical database program has read a line from a database
table (see Accessing Data Using Logical Databases ). To start a processing block at
this event, use the GET statement as follows:
Syntax
GET
[FIELDS ].
[FIELDS ]. After this statement, you can work with the current line of the database
table
GET LATE
Point after processing all tables which are hierarchically subordinate to the database
table
Syntax :
GET
LATE [FIELDS ]
In analogy to report programs that use only SELECT statements (see table in
Comparison of Access Methods ), the processing block of a GET
LATE
statement would appear directly before the ENDSELECT statement in the SELECT
loop for the database table
.
END-OF-SELECTION
Point after processing all lines offered by the logical database.
To define a processing block after the system has read and processed all database
tables of a logical database, use the keyword END-OF-SELECTION. The following
events occur during the processing of the output list of a report program: Event
keyword
Event
-----------------------------------------------------------------------------------------------TOP-OF-PAGE
Point during list processing when a new page is started
END-OF-PAGE
Point during list processing when a page is ended
The following events occur during the display of the output list of a report program:
Event keyword
Event
--AT LINE-SELECTION
Point at which the user selects a line
AT USER-COMMAND
Point at which the user presses a function key or enters a command in the
command field.
AT PF
Point at which the user presses the function key with the function code
PF
With the selection screen, ABAP/4 offers an interactive element also for report
programs. You can define a selection screen without having to bother about all the
details required in dialog programming. The selection screen is always processed
directly after a report program is started. The user can enter field values and
selection criteria on this screen. The main purpose of the selection screen is to
enable the user to control the database selections of the report program. If a report
program is started from another ABAP/4 program with the SUBMIT statement (see
Calling Reports), the selection screen objects also serve as a data interface, With a
selection screen defined in the report program, you can enable the user to ·
assign values to variables with the PARAMETERS statement
·
determine selection criteria with the SELECT-OPTIONS statement
How do you read selected lines of database table into an internal table in
packages of predefined size?.
TABLES SPFLI.
SELECT * FROM SPFLI CLIENT SPECIFIED
WHERE MANDT BETWEEN '001' AND '003'.
...
ENDSELECT.
Lock Mechanism prevents a new database operation being started an existing one
has been correctly completed. When conversion is done, lock is created
automatically and released only when conversion is successful. Clearing of locks
restart adjustment attempt is made to continue conversion at the point of
termination
Cancel adjustment lock entry is simply deleted from table
STANDARD table Key access to a standard table uses a linear search. This means
that the time required for a search is in linear relation to the number of table entries.
You should use index operations to access standard tables.
SORTED table Defines the table as one that is always saved correctly sorted. Key
access to a sorted table uses a binary key. If the key is not unique, the system takes
the entry with the lowest index. The runtime required for key access is
logarithmically related to the number of table entries.
HASHED table Defines the table as one that is managed with an internal hash
procedure You can only access a hashed table using the generic key operations or
other generic operations ( SORT, LOOP, and so on). Explicit or implicit index
operations (such as LOOP ... FROM oe INSERT itab within a LOOP) are not allowed.
INDEX table A table that can be accessed using an index. Index table is only used
to specify the type of generic parameters in a FORM or FUNCTION. That means that
you can't create a table of type INDEX. Standard tables and sorted tables are index
tables.
Syntax : DATA itab TYPE table type of line type [WITH UNIQUE/NON-UNIQUE KEY ]
[Iinitial size n] [WITH HEADER LINE]
You can group any complex internal data objects of an ABAP/4 program together in
data clusters and store them temporarily in ABAP/4 memory or for longer periods in
databases. You can store data clusters in special databases of the ABAP/4 Dictionary.
These databases are known as ABAP/4 cluster databases and have a predefined
structure.Storing a data cluster is specific to ABAP/4. Although you can also access
cluster databases using SQL statements, only ABAP/4 statements are able to decode
the structure of the stored data cluster.
- Single step(F5) - Use this option to step through the program statement by
statement. This allows you to branch into subroutines and function modules, and to
execute these routines step by step as well. Once a subroutine or function module
has been processed, control returns to the statement following the CALL FUNCTION
or PERFORM statement.
- Execute(F6)- Use this option to process a program line by line. All of the
statements on the current line are processed in a single step. If you are positioned
on a line that calls a subroutine and you choose Execute, the Debugger processes
the whole subroutine and then moves on to the line following the subroutine call.
This allows you to jump through the statements within the subroutine.
- Return(F7) - The Debugger returns from a routine to the point at which control
returns to the main program. Use this option to return from a subroutine, function
module, or called program to the calling program.
- Continue(F8)- Use this option to process the program up to the next dynamic or
static breakpoint or up to the cursor position. If there are no more breakpoints in the
program and no cursor has been set, the system exits debugging mode and
executes the rest of the program normally.
Solution :Execute the Report In the selection screen :After filling the screen fields
press F9. A screen appears requesting U to print the Background Parameters *Enter
the output device(Eg HPLJ /SAP2 etc) *In the spool options Uncheck Print
immedietly,Uncheck delete after output,and new spool request. Press enter. Another
screen appears with heading start time .U can press start immly ,then save Now the
Background job is scheduled for the given program .
To View the status of background Job,The transaction code is SM37. Execute from
the resulting screen . Job overview -->From the Job list select U'r program and select
Spool from the application toolbar Output Controller :List of Spool Requests Select
U'r Spool request and click Display icon from the overview screen . U will be
displayed with the List. Caution :See to that the list with does not exceed 255
columns ,If it exceeds the extra columns will be truncated in Background