0% found this document useful (0 votes)
83 views

ABAP

The document discusses various technical settings required when creating custom tables in SAP. It includes: 1) Size category which determines the initial memory reserved for the table and ranges from 0-9 based on expected number of rows. 2) Data class which determines the physical tablespace where the table is created, with common classes including APPL0 for master data and APPL1 for transaction data. 3) Buffering parameters which can be single record, generic, or full buffering to improve performance. The document then provides details on size category and expected row counts, as well as explanations of data class and its use in assigning tablespaces for application data.

Uploaded by

Kashyap Sri
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
83 views

ABAP

The document discusses various technical settings required when creating custom tables in SAP. It includes: 1) Size category which determines the initial memory reserved for the table and ranges from 0-9 based on expected number of rows. 2) Data class which determines the physical tablespace where the table is created, with common classes including APPL0 for master data and APPL1 for transaction data. 3) Buffering parameters which can be single record, generic, or full buffering to improve performance. The document then provides details on size category and expected row counts, as well as explanations of data class and its use in assigning tablespaces for application data.

Uploaded by

Kashyap Sri
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 21

Data Dictionary

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.

3. Can you tell me about DATA CLASS?

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.

5. Which two methods of modifying SAP standard tables have?


Answer: Append structures, and Customizing include are two different methods of modifying SAP standard
tables.
- Have you use append structure ?
- Yes, We have added new fields in the standard table VBAK as per requirement where these fields will update
in the VA01/VA02 transaction. there we have custom screen for these custom fields

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

6. Explain Check Table And Value Table?

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.

7. What is the use of lock objects?


- Lock Object is a feature offered by ABAP Dictionary.
- When two users simultaneously attempt to access the same data record, this
is synchronized by a lock mechanism.
There are 3 types
Read Lock (Shared Locked) 
The read lock allows other  transactions to read access but not write access to
the locked area of the table

Write Lock (exclusive lock) 


 The write lock allows other transactions neither read nor write access to the
locked area of the table.
Write lock also protects from further accesses from the same transaction.

 Enhanced write lock (exclusive lock without cumulating) 

--- Have you crated any lock objects.

__ 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.

1) Elementary Search help: - It is created using one base table.


2) Collective Search help: - It is the collection of Elementary Search help.

Search Help Exit: It is a Function module to filter possible entries of a search

help. It is used to modify the F4 values at run time.

--- Have you created ay search help?

-- Yes, I have created search help for custom fields .those search helps are used at screen level

Question 45. Explain Check Table And Value Table?

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.

1. What is the difference between pool tables and transparent tables?

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.

3. Have you created cluster tables ?


- No , I dint create any cluster table ,But I heard that some tables like BSEG,MSEG are
cluster tables.
4. How can the standard tables of SAP be modified?  
-The standard table of SAP can be modified mainly by two methods -  
- 1. Customizing includes  - These structures are naming start with “CI_” .
2. Append structures- These structures we can implement in the
standard tables by clicking on create icon in the top.
- Have you created any one of them ?
- Yes, mostly we have created append structures in our projects .
- We have created structres for tables EKKO to add custom fields in the
table.
- These fields we have used in PO ME21N transaction header level.
5.   What is the difference between client dependent and independent tables?

- 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.

6.What are foreign keys in Data Dictionary?

Ans: We use foreign keys to define relationships between tables in the


ABAP Dictionary, create value checks for input fields and link several
tables in a view or a lock object.

7.What is the max. no. Of structures that can be included in a table or


structure.

Ans: We can add up to 9 structures.

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.

2. What is the difference between SAP memory and ABAP memory?


Answer: sap memory is a global memory whereas abap memory is local memory.
For example, we have four programs in abap memory and assigned some variables to
a particular program in abap memory then those variables can’t be used by another
program in abap memory i.e., the variables are only for that program and also local to
that memory, whereas sap memory can access all the abap memory or else it can
perform any kind of modifications.

3.  What Are The Events Used In Abap In The Order Of Execution?


Answer:
The Events used in ABAP are:
1. INITIALIZATION – It will use to define pre-values to the selection screen feilds
2. AT SELECTION-SCREEN – It will be used to validate all the fields on the
selection screen
3. AT SELECTION-SCREEN ON – It will be used to validate specifc field on the
selection screen
4. START-OF-SELECTION – triggers after processing selection screen.
5. TOP-OF-PAGE – It will be used define Page headings
6. TOP-OF-PAGE DURING LINE SELECTION – It will be used display header
information in the interactive reports
7. END-OF-PAGE – It will be used display footer information on the output
8. END-OF-SELECTION – It is for Logical Database Reporting.

4. What Are The Interactive Reports?


Answer :
The user can Interact with the report. We can have a drill down into the report
data.
We can have a basic list (number starts from 0) and 20 secondary lists (1 to
21).
5. Events associated with Interactive Reports are:
o AT LINE-SELECTION
o AT USER-COMMAND
o AT PF<key>
o TOP-OF-PAGE DURING LINE-SELECTION.
HIDE statement holds the data to be displayed in the secondary list.
sy-lisel : contains data of the selected line.
sy-lsind : contains the level of report (from 0 to 21)
Interactive Report Events:
AT LINE-SELECTION : This Event triggers when we double click a line on the
list, when the event is triggered a new sub list is going to be generated. Under this
event what ever the statements that are been return will be displayed on newly
generated sub list.
AT PFn: For predefined function keys...
AT USER-COMMAND : It provides user functions keys.
TOP-OF-PAGE DURING LINE-SELECTION : Top of page event for secondary
list.

3. What are the Control Break Statements, explain about them


- Control Break statements: - They are used to control the data flow of an internal table.
- The Control break statements start with AT and ends with ENDAT.
- These statements should be used within the LOOP statements only
- Following are the different types of Control break statements.
- AT FIRST: - This event is triggered at the first record of an internal table. This is used to
display the Header information.
- AT NEW: - This event is triggered at the first record of each block. This is used to display
the individual headings.
- AT END OF: - This event is triggered at the last record of each block. This is used to
display the total/sub totals in the internal table.
- AT LAST: - This event is triggered at the last record of an internal table.
- ON CHANGE OF: - It is a special control break statement which can be used outside of
the loop statement also.
- It is almost similar to AT NEW statement but it doesn't consider the preceding fields.
- It can be used on the multiple fields using SET operators (AND, OR, BETWEEN).
6.

1. How to know the number of records in an internal table?

Ans: using DESCRIBE TABLE LINES statement we can get count of records in the
internal table.

2. How many secondary lists can be produced?

6. One Basic List and 19 secondary lists.


2.1 Have you createad any seconday list in your project requirements?
7. No, I dint get a chance to work like that

3. What is the difference between at selection screen and at selection screen


output?
8. AT SELECTION-SCREEN OUTPUT is like Process Before Output Event. This
would get triggered before screen is displayed. This can be used to make
fields invisible/visible based on selection.
9. AT SELECTION-SCREEN: This would be triggered if you hit any thing (Enter,
Drop-Down, Help, Execute) after the selection screen is displayed.
3.1 Which one will be trigger first?
10. AT SELECTION-SCREEN OUTPUT

4. What is the difference between clear, refresh


- CLEAR: It clears any field, structure or Header line of Internal table

- REFRESH: Deletes all entries of 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.

22. What is the Difference Between Collect and Sum? 


23. COLLECT allows you to create unique or summarized datasets. The system
first tries to find a table entry corresponding to the table key. The key values
are taken either from the header line of the internal table itab, or from the
explicitly-specified work area.
24. If the system finds an entry, the numeric fields that are not part of the table
key (see ABAP number types) are added to the sum total of the existing
entries. If it does not find an entry, the system creates a new entry instead.

13. Have you used ABAP memory ?


- Yes, we have used ABAP memory using EXPORT / IMPORT options
1.1 What is the requirement ?
- Take 3 to 5 seconds gap act like thinking about the requirement
Answer : - We have a custom report and its EXPORT a value into the memory
- Then after based on results a transaction will be trigger.
- That transaction having customer exit and there we are using IMPORT to import the
value from memory .
- Then based on the value the customer exit will process in the trnsaction.

CONVERSATIONS
1. What is the difference between Call Transaction   and the Session method ?
Session Method

25. Session method is used when the data volume is huge.


26. Session method is slow.
27. SAP Database is updated when you process the sessions. You need to
process the sessions separately via SM35.
28. Errors are automatically handled during the processing of the batch input
session.

Call Transaction

29. when the data volume is low


30. Call Transaction method is fast.
31. SAP Database is updated during the execution of the batch input program.
32. Errors are handled in the batch input program.

2.  What is difference between BDC and Call Transaction?


  Ans.     BDC Session Method
·                     Data is not updated in database tables unless session is
processed.
·                     No SY-SUBRC returned.
·                     Error log is created for error records.
·                     Updation in database table is always synchronous
          Call Transaction Method.
·                     Immediate Updation in database table.
·                     SY-SUBRC retuned.
·                     Errors need to be handled explicitly.
·                     Updation in database in database table can be
Synchronous or Asynchronous
3. What is the Syntax of BDC call Transaction method?
Syntax:

33. CALL TRANSACTION <tcode>

  USING <bdc_tab>

  MODE  <mode>

 UPDATE  <update>
<tcode> : Transaction code

<bdc_tab> : Internal table of structure BDCDATA.

3.1 What are the Display MODES in call transaction?

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.

3.2 What are UPDATES parameters in Call Transaction method?

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. 

4.   How do you do BDC for a table control?


39. You need to use the BDC OKCODE '=P+'.
40. Its the BCD_OKCODE for Page down that can be used for scrolling down in
table control.
12.. I have a file and need to upload into AL11 path and I want read the file from AL11 path into another program
to run the file , How can we do that.
41. - First we will use CG3Z transaction for load the data into AL11 Path.
42. - Then after copy the AL11 path from CG3Z .
43. - Use OPEN DATA SET functionality to read the data from AL11 path in the program and process
further.
44. 6.1Have used this type of process in your project ?
45. - Yes, lang back ago we have use this functionality for BDC program, Where we will get list of
customers and load them into AL11 path later read the file from the path and process the BDC
program to update customer details.

What is the requirement to create a LSMW/BDC in your project ?


- We have multiple requirements to develop thos LSMW and BDC's.

- 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.

1.1 These LSMW's are using regularly ?

- 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

customer & Customer balances?

- XK01 for vendor master and FB60 for Vendor Balcnes

- XD02 for customer master and FB70 for customer balances

- 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.

3. Does the BDC_INSERT function allow multiple transactions to be processed by SAP?

Yes.

4). Can you tell me the process for BDC call transaction

ANS : Take 2 to3 seconds gap before answer

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,

Name, Address etc...

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.

5. Fill all the data into the internal table of BDCDATA.

6. Using Syntax :- CALL TRANSACTION 'XK01'

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.

8. We have generated all the log in output.

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.

LIVE Example Scenario to explain using BAPI’s

>> Can you tell me any requirement what you have worked using BAPI’s ?

- Yes, we have used BAPI_PO_CREATE to create purcahse Order,

May i know the requirement ?

- ans : Take 2 to3 seconds gap before answer

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 .

5 If PO created succesfully then we will call the BAPI-


BAPI_TRANSACTION_COMMIT and fill the log ,
If there is error we will call the BAPI - BAPI_ROLL_BACK to revert the all the
changes and update the log.

6. Process all the records and it will create the PO's .

7. We will export the log into the AL11 again using OPEN DATA SET ..
TRANSAFER Functionality.

MODULE POOL PROGRAMMING

1. What are the various events associated with Screen


Programming?  

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.

3. What are user-defined validation checks in the flow logic?

Ans:- FIELD…SELECT FIELD…VALUES or in the module pool FIELD…MODULE.

4. What happens if we use Leave to list-processing without using Suppress-


Dialog?

49. If we don’t use Suppress-Dialog to next screen will be displayed but as


empty, when the user presses ENTER, the standard list output
is displayed.
5. . What is the difference between Leave Transaction and Call Transaction?
- In contrast, to LEAVE TO TRANSACTION, the CALL TRANSACTION
statement causes the system to start a new SAP LUW.  This second
- SAP LUW runs parallel to the SAP LUW  for the calling transaction.

6. How can we send data to external programs?

- Using SPA/GPA parameters(SAP memory).

-Using EXPORT/IMPORT data (ABAP/4 memory)

FORMS

1. How can you


2. How is it possible to debug a script form?
Answer: I didn’t get a chance to work on the scripts where as in our project
mostly we have smartforms.
50.However, if we want debug a script we have to go to
SE71 – then give the form name – then go to utilities – then activate the
debugger

3. How can you debug Smartforms


51. Generally, what I will do is every samrtform have a functaion module .. I will go to the
function module of the smart form and will open the source code of the FM.
52. Then after I will put break point at the statement at “PERFORM GLOBAL_INIT.”.
53. Then I will execute the smartform or else driver program then break point will trigger
at the point.
54. Then I will click on single step using “F5” key to enter inside the sub routine.
55. Then after words I will check all the blocks what we have created in the smart forms.
56. I will check the logic whatever I want to check in the smartform.

4. Have used standard texts in your projects?


57. Yes, based on the requirement we have created multiple standard texts using SO10
transaction code.
58. After creating standard texts we have used them in the respective places in the
samrtforms to call the standard texts.

5. I have a smartform which works fine in development server. After trasnsporting it to


Production, there is no Function module generated for this smartform. Due to that  my
program dumps in Production? How to solve this?
59. The Smartform that is created in the Development may not have the same name in the
Production server. So it is always advised to use the Function Module
SSF_FUNCTION_MODULE_NAME to get the Function Module name by passing the
Smartform name.
6. How can I define Page Protect in Smartforms?
60. To define Page Protect for a node go to the Output options and check the Page
Protection checkbox.

7. How do you convert a Smartform Output to PDF output?


61. The following two function modules and their importing/exporting parameters:

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.

9. How do you achieve Bar Code printing in Smartforms?


Step1: Use SE73 i.e. SAP-Script Font Maintenance and create a Bar code say Zbarcode.

Step 2: For Smartform, create a character format C1 and use the recently created Barcode
Zbarcode.

9. How do you add a Watermark Or a Background Image for Smartforms ?


63. If you go to the properties of a page in Smartform, you will find a tab for Background
Image.
64. Specify the source of the image you need here and it can be used as background image
/ Watermark in Smartforms.
65. Graphics can be maintained using T.code SE78.
66. Background Image for Smartforms.

10. How will you print on both sided of a Smartform?


67. At the Page level in Smartforms, you can find something called as Print Mode.
68. Set the Print mode to duplex to print on both sides of the Smartform.

11. How can you  provide a background color to the table?


69. In the Table Painter, you can specify the color and shading for the table lines .

11. How do you achieve Page Protection in Smartform ?


70. While one can use the PROTECT ..... ENDPROTECT command for SAP-
Scripts, for Smartforms the Page-Protection checkbox can be used to ensure
page protection:
71. Page Protection in Smartforms

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

Environment --> Function Module Name.

15. What is difference between SAP Script and Smartform?

SAP Script:                                                                           

1.Client dependent

2.Multiple page format is not possible 

3.Scripts allows only black & white texts

4.There is no mixture of portrait and landscape format

5.Scripts allows more than one main window

6.This is not support for online.

Smartform:

1.Client independent

2.multiple page format is possible

3.Text can be written in various color

4.There is an option to print a mixture of portrait and landscape format

5. Smartforms allows only one main window on page

6.This is online support.


16. How to debug SAP Script?
Goto--- Tocde SE71-->Utilities-->Active Debugger. and then go to Tcode SE38-->give
driver program name of SAP Script then click on debug.

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

1. How many ways you can find a BADI?


Method 1:
1. Go to SE 24 transaction, type CL_EXITHANDLER, and then click on display. 

 2. Double click on the GET_INSTANCE method.

3. Put a break-point on class method


CL_EXITHANDLER=>GET_CLASS_NAME_BY_INTERFACE.

4. Run any transaction on which we won't find the BADI's 

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:

Finding the BADI names using SE18 transaction 

2. How many types of BADI's in SAP?


1) Multi-use BADI:

With this option, any number of active implementations can be assigned to the same
definition BADI. By default, this option is checked. 

If we want the BADI for multiple uses,

If you have multiple-use BADI definitions, the sequence must not play any role.

2) Filter dependent BADI: 

Using this option we can define the BADI's according to the filter values to control the
add-in implementation on specific criteria.

3. What is a Single Implementation for a BADI?


The normal customer enhancement is a BAdI without a filter which is called once. No
state has to be kept, so you can use static methods. Such a BAdI is defined in the core or
an industry solution and is implemented by a customer.

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.

5. What are the multiple   Implementations for a BADI?


You use a multiple-use BAdI with static methods if no data is kept and many
implementations make sense. For example, you can write defined results specified in the
interface to different destinations.

6.   How you Implement a BAdI  ?

To implement the BADI, we have to use transaction SE19.

Then we have to implement the BADI


7. What is a Fallback Class?
- The Fallback option is used if no BAdI implementation with suitable filter
conditions and no standard implementation is found.
8. Have you used Mulitple implmentations BADI?
- No, I didn’t work on multiple implimentations BADI.
9.

LIVE EXAMPLE SCEANRIO USING BAPI

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?

There are three types of records in SAP ALE Idocs:

Control Records: IDoc is stored in standard table EDIDC.

Data Records:      IDoc is stored in standard table EDIDD.

Status Records:   IDoc is stored in standard table EDIDS.

4. How do you create a custom IDOC?

Creation of Segment Types

Run T-code ‘WE31’ to create segment type

Creation of IDoc type


Run T-code ‘WE30’ to create custom IDoc type

 Creation of logical message types 

Run T-code ‘WE81’ to create logical message types.

Linking Message type and IDoc type.

Run T-Code ‘WE82’. Now we have to link these created IDoc types and Message types.

2. Suppose I was sent 12 records using outbound in ale/IDoc 10   records are


updated in database tables what happens for remaining records that did not show
an error in WE02?

- 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.

4. How do you get output from IDOC?


- Data in IDOc is stored in segments, the output from Idoc is obtained by
reading the data stored in its respective segments.

6. How do we generate IDOC in SAP?


- We can generate IDOC using the function module MASTER_IDOC_DISTRIBUTE

7. Where are all the IDOCs will be stored after creation?


- EDIDC stores control/header record.
- EDIDD/EDID4 stores data records.
- EDIDS stores status records.

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

9. What is the conversion rule of LAE/IDOC?


- Imagine, If both the systems have different configurations then we need to
convert the measurements like Unit of measure/Text id that is converting field
value from one value to another.

9. What is the Serialization of IDOC Message type?

- 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.

- Serialization Using Message Types

- Serialization Using Business Objects.

10. What is IDoc Filtration?


- The system provides several filter objects for each message type to filter
data. We have to choose the appropriate filter for our business needs and add
it to our distribution model. 
- We can create filter objects for a receiver in Distribution Model View: Tcode
BD64.

11. How do you reprocess error inbound IDocs?

- Open the IDOC in error in WE02 Transaction.

- Expand the status records, and see which segment is in error.

- 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

You might also like