ABAP
ABAP
1. While creating table we have to specify technical settings ,Right? Can you tell me those
Yes, Whenever we are trying to create a custom table we have to fill some parameters in the
technical settings.
1) First we have to define “size category” , there are 0 to 9 we have size categories .
2) Then after we have to specify ‘Data Class”.
These are mandatory to fill in the technical settings
Theare some other options like Buffering parameters
3)
2. Can you tell me about size category ?
ANS:- The size category determines the size of the initial memory reserved for the table on the
database. Values between 0 and 9 can be specified. A number of expected rows from the table
are assigned to these values.
Size
Expected Rows
Category
0 0 to 1,000
1 1,000 to 4,200
2 4,200 to 17,000
3 17,000 to 68,000
4 68,000 to 270,000
5 270,000 to 540,000
6 540,000 to 1,000,000
7 1,000,000 to 2,100,000
8 2,100,000 to 4,300,000
4,300,000 to
9
170,000,000
If the initial space reserved is exceeded, a new memory area is added implicitly in accordance with
the chosen size category.
the data class determines the physical area (tablespace) of the database in which a database table is
created (otherwise it is ignored). The most important data classes for application data are:
APPL0 (master data)
Data that is rarely changed. One example of master data is data in a table of addresses, such as
names, postal addresses, and telephone numbers.
APPL1 (transaction data)
Data that is changed a lot. One example of transaction data is warehouse stock that changes each
time an order is placed.
APPL2 (organizational data)
Customizing data specified when the system is configured and then changed only rarely. One
example is the table T005 that contains the country codes.
USR and USR1 (customer data)
Database tables for customer developments in a separate tablespace.
There are also other data classes for system tables used internally by the runtime environment, such
as SDIC for ABAP Dictionary tables.
4. How Many Types Of Buffering?
Answer :
There are three type of buffer:
single record->it buffers only records based on select query statement.
generic buffer->it buffers all the records which match to primary key and
generic key
full buffer :Buffering is use for improve performance.
6.In TMG If we add a new field in the table after TMG generated .What will happen next ?
- If we execute directly the table in SM30 then it will give dump .
- We have to recreate the screen structure for TMG.Then the new filed will be added in the screen fields .
- Then it will work as usual
Answer :
Check table works at table level and value table works at domain level.
Check table is nothing but master table that u will create with valid set of values.
Value table it provides the list of values and it will automatically proposed as a check table while creating
foreign key relationship.
__ No. I dint get chance to create lock objects ,But I have used standard FM’s for locking .
8. What are the Search Help, types and explain about them?
It is used to provide all the possible entries to the input variable as search help.
-- Yes, I have created search help for custom fields .those search helps are used at screen level
Answer :
Check table works at table level and value table works at domain level.
Check table is nothing but master table that u will create with valid set of values.
Value table it provides the list of values and it will automatically proposed as a check table while creating foreign key
relationship.
Answer:
● Transparent tables: When the tables have one-to-one relation with the
tables available in the database, it is known as transparent tables. Its
structure relates to a single database field.
● Pooled tables: When the tables have one relation with the tables
available in the database, it is known as pooled tables and is stored at
the database level.
2. How can the data store in the cluster table?
● Answer: With the assistance of different DDIC tables, a cluster table can
store data. It is used to store data like the name-value pair.
- If you have MANDT as the first field that is Client Dependant table otherwise it
is not. Usually most of the tables are client dependent. Only few like RFC
Connections table (RFCDES), Batch Jobs (TBTCO and TBTCP) are not client
dependant.
1. S
REPORTS
1. In events, start-of-selection is a default event. When we have to use this event
explicitly? Why?
Answer: The default event in the ABAP is Start-of-selection.We have to call
explicitly this event when you are writing other than this event, that is when you write
AT SELECTION-SCREEN EVENTS OR INITIALIZATION EVENT etc, you have
to explicitly mention the Start-of-selection event while you are writing the logic.
Before these events called, all the code you have written come into this default Start-
of-selection screen event.
Ans: using DESCRIBE TABLE LINES statement we can get count of records in the
internal table.
5. In ALV’s how would you get default values in the selection screen?
11. Create a variant in the ALV Report with what ever columns you would like to
see and set sort criteria and column widths and save as a default variant.
12. You could get the default variant by calling FM
REUSE_ALV_VARIANT_DEFAULT_GET
13. What is the Difference between select single and select up to one row?
14. SELECT SINGLE can be used if you know the full key to select a record. If
you do not have the full Key to select and you are interested in one single
row, you could use SELECT UPTO 1 ROWS. If you use a SELECT SINGLE with
out a full key, you would get a warning message in Extended Program
checks.
15. If you have the full Key use SELECT SINGLE
16. If you do not have the full Key to select and you are interested in one single
row, you could use SELECT UPTO 1 ROWS..
17. Generally, we will use these SELECT query’s mostly to validate the
SELECTION SCREEN field values.
18. How can validate input values in selection screen and which event was fired?
19. At selection-screen is an event, which is used to validate the selection
screen input fields, if you want to validate the particular input field we use at
selection-screen on event.
20. AT SELECTION-SCREEN ON event is used to validate input.
21. We will use SELECT Single or SELECT UPTO 1 rows to valid the input fields.
CONVERSATIONS
1. What is the difference between Call Transaction and the Session method ?
Session Method
Call Transaction
USING <bdc_tab>
MODE <mode>
UPDATE <update>
<tcode> : Transaction code
34. A - is all screen mode. All the screen of transaction are displayed.
35. N - is no screen mode no Screen is displayed when you executed the
transaction.
36. E - is error screen Only those Screen are displayed where in you have error
record.
37. S - is for Synchronous updates in which if we change data of one table then
all the related tables get updated and them SY-SUBRC is returned i.e., SY-
SUBRC is returned for once and all.
38. A - is for asynchronomous update when we change data of one table, the Sy-
subrc is returned. And then updation of other affected tables takes a place
so if system fails to update other tables still sy-subrc returned is O.
- Mostly i have developed LSMW's for create master data like GL Master, Vendor Master and
Customer Master
- BDC's i have developed for trsanctional DATA like GL Balance , Vendor Balance and customer
Balances.
- No, Actually in migration project we have used those LSMW's and BDC's to transafer the data.
- Only one time they have used to carate master data , but for trasnctional data they can use the
BDC's
1.2 What are the trasnctions you have used for these requirments like GL master & Balnce's ,
Vendor Mater & Balnces
- i dint remember for GL master what we have used that time but transctions f-02 we have used
2 ) Does the CALL TRANSACTION method allow multiple transactions to be processed by SAP?
Ans:- No. The CALL TRANSACTION method allows only a single transaction to be processed by SAP.
Yes.
4). Can you tell me the process for BDC call transaction
1. In my Project i have created BDC for XK01 to create Vendor master data using BDC call
trnasction.
2. First using SHDB transaction we capture required fields from XK01 transctions like purcahse
group,purchase organization,
3. Then we have created a program and used this recording session to prepare BDC DATA.
4. Data will come from though excel file so we have used FM to read the data from Excel to
internal table.
USING 'BDCDATA'
MODE 'E' --- User want to execute this in Error mode only
UPDATE 'A'
INTO 'MESSAGE_COL' ... It will store Log whther its success full/Failure
7. Processed all the data and create Vendors.
Thats it what we did for Vendor master createion using BDC CALL TRANSCTION METHOD.
--> What will the UPDATE functioanlity in this CALL TRANSACTION Method
1. UPDATE is used to update the data into the Database by Using Asynchronous/Synchronous
process.
2. Asynchronous means the data will update into the data base with out waiting for previous
record
update.
3. Synchronous means the data will update into the data base after previous record
update.
---> We have used in the project mostly MODE = 'E' where user wants to stop the process at
particular error
screen.
>> Can you tell me any requirement what you have worked using BAPI’s ?
1. Yes, Actually we will get the data from out source and need to create the PO's
based on the data.
2. The data will be come through interfaces and store the data in ALL specified
path
2. We developed the program to copy the data from AL11 into internal tables
using OPEN DATA SET READ DATA Functionality.
3. Then we validate the data and rasie error log if there is any validation fail.
4. Then after we are calling the BAPI - BAPI_PO_CREATE1 and passing the
required input data .
7. We will export the log into the AL11 again using OPEN DATA SET ..
TRANSAFER Functionality.
The following are the events associated with Screen Programming -
1.Process Before Output (PBO) - This event gets processed long before
displaying the screen.
2. Process After Input (PAI) - This event is processed while the interaction
of a user with the screen continues.
3. Process On Help (POH) - This even gets process on request by a user
after pressing F1. The program gets appropriately coded in various event
blocks. The present screen gets processed by the system.
4. Process On Value (POV) - This gets processed by pressing F4 by users.
Here also, the coding can be done in the various event blocks.
2. If we want provide any f4 help directly at screen level , how can we do that?
46. For any standard fields mostly we have search helps to get F4 values.
47. If we don’t have any F4 values then we have to create a search help and
add that search help in the field screen attributes level.
48. Other wise we will use POV event and generate the logic for the field to
get F4 Values.
FORMS
CONVERT_OTF
CONVERT_OTF_2_PDF
62. In the Driver program, import the parameter 'job_output_info' from the Smartform FM
and utilize that info in 'OTF' parameter of the two aforementioned function modules.
8. How can you see the Smartform Print Preview output as list output?
- Type SLIS in the command prompt and hit enter.
Step 2: For Smartform, create a character format C1 and use the recently created Barcode
Zbarcode.
12.
Can you move a Smartform from one SAP system to another without using transports ?
72. Yes, this can be achieved using the Upload/Download feature for
Smartforms.
73. One can download the Smartform from one system and save it as an XML
file.
74. Once that is done, the XML file can be used to upload the Smartform in
another system.
13.
Can you have a Smartform without a main window?
75. Yes, you can create a Smartform without a Main Window. But there is no
need to do anything of such sort.
14.
How do you find the name of the Function Module for a Smartform?
76. The function module for Smartform is created when the Smartform is
activated.
77. You can find the name of the Function Module for a Smartform by going to
1.Client dependent
Smartform:
1.Client independent
17. How do you transport a script and how do you transport standard text?
By using standard program RSTXTRAN we can transfer SAP standard text form one
client to another client and using standard program RSTXSCRP we can transport script
from one client to another client.
18. How to find driver program given the name of SAP script?
First you need to goto Form-->check-->text, you will get one small box hit on enter where
you can see the driver program name.
ENHANCEMTS
Method 2:
Go to transaction SE84 and click on Enhancements. Then double click on Business Add-
Ins.
3) Now Press F8, a list of BADI names will be displayed as shown below. Select the
appropriate BADI name and implement it based on the business requirement using the
transaction SE19.
Method 3:
With this option, any number of active implementations can be assigned to the same
definition BADI. By default, this option is checked.
If you have multiple-use BADI definitions, the sequence must not play any role.
Using this option we can define the BADI's according to the filter values to control the
add-in implementation on specific criteria.
If the BAdI is a single-use BAdI, that is, it requires exactly one implementation, a default
class must be provided by SAP. Otherwise, the GET BADI will raise an exception if this
statement is executed before the customer has inserted his or her implementation.
1. Can you tell me any object that you have worked using Enhancements.
- Yes, Recently we have worked on enhancement for Transaction ME21N
PO Creation .
- We have added a sub screen in purchase order that will display in the
transactions ME21N/ME22N/ME23N .
- We have to add a new tab in the header level .
- This tab will have a screen to add custom user defined fields.
- All the custom fields appeneded in EKKO table . there are around 7
custom fields we have added as per requirement.
- Al those fields need to be show in the Header level tab.
- Then we have used BADI ME_GUI_PO_CUST and added new tab and
screen.
- Added fields in the screen level then required logic added to the fields.
IDOCS
3. What are the types of records in SAP ALE Idocs and where is this information stored?
Run T-Code ‘WE82’. Now we have to link these created IDoc types and Message types.
- We are trying to generate the IDocs with 12 records, and u find only 10 records
IDocs created remaining records are missing. We have to check with the filter
set up for the records for its receiving partner system logical system. Correct
the filters then try regenerating the IDocs(missing records).
3. How do you reprocess previously generated IDoc with the same number?
- We can use BD87 if you want to reprocess the same IDoc number.
8. What is an Idoc status? What are the different types of Idoc statuses?
- When an IDoc is sent from one system to another, it goes through various
stages. The IDoc status indicates the stage that the Idoc is currently in.
- There about 75 IDoc statuses.
- 0-49 indicates an Outbound IDoc and 50-75 as Inbound IDoc.
- 01 IDoc generated
- 02 Error passing data to port
- 03 Data passed to port OK
- 51 Application document not posted
- 52 Application document not fully posted
- 53 Application document posted
- IDocs are created, sent, and posted in a specific order. This prevents errors
from occurring when inbound IDocs are processed. Interdependent messages
can be distributed serially in different ways, as described in the following
sections.
- Replace the error value with the correct value and click on the Save button.
Now go to transaction BD87, enter the IDoc number, and click on execute. It will re-
process the IDOC with the modified data and display the success message if there are
no errors in the edited data.
Transports:-
18. There is a custom program and that is saved in temp , How can you move that to Transaport rquest ?
- Generally, we will go to the program and in the menu bar there is a option like Attributes/settings
there we have a option for ' Object entries' then we have to change the package name form $TMP to another package
then it will ask new transaport request , we haev to create that
- Use SE03 also we can to the change object entries from temp to transportable