Friday, November 23, 2007

abap all topics inteview questions

SET SCREEN or the CALL SCREEN?
Ans :- The CALL SCREEN command.

What function is performed by the SET SCREEN 0 command?
Ans :- Returns to the original screen.

What are the main differences between the repot status and screen status?
Ans :-

Where must you place the SET PF-STATUS command in your online program?
Ans :- Place it in the PBO module of the screen.

Why is it good idea to clear OK_CODE field after deciding which action to take?
Ans :- You need to clear the OK code to avoid sending a screen that already has a function code.

How do you specify that a function is an exit type command?
Ans :- By specifying function type E for the pushbuttons or menu options in the screen painter or menu painter.

What is the purpose of the ‘AT EXIT-COMMAND’?
Ans :- Usually there are many ways to leave a screen (back,exit,cancel) .This command will perform termination logic for all functions of type E.

What are screen groups?
Ans :- A group of screen fields such as radio buttons or checkboxes.

What is the correct syntax for dynamically modifying a large number of screen fields?
Ans :-

MODULE MODIFY _SCREEN_OUTPUT

.

.

.

LOOP AT SCREEN

IF SCREEN –GROUP = 3D ‘GR1’

SCREEN-INPUT=3D 1

ENDIF.

IF SCREEN-NAME = 3D ‘TAB-FIELD’

SCREEN-ACTIVE=3D 0.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

What is the name of the internal table that stores the screen information?
Ans :- SCREEN.

What is the purpose of the MODIFY command when performing the dynamic screen modifications?
Ans :- after you activate or deactivate the field attributes by assigning them 1 or 0, you save the modifications via MODIFY SCREEN command.

Direction for the use of check box and radio buttons in screen painter?
Ans :-

Creating Radio Button and Check Boxes on the screen

Go to the full screen editor.

Place an underscore at the point where you want to place the field.

Define the name of the field using

Place the cursor on the field and press

Then press or depending on which graphic element you want

Then you group related check boxes and radio boxes.

What are user Exits and transactions?
Ans :- Generally, user exits are the forms defined within SAP standard code (usually starting with user exit). These predefined areas in the code allow programmers to insert custom defined code into the standard processing of a transaction (e.g. allow resorting of the batch sequence in VA01 batch processing). There are many specific examples if you are interested, but usually user exits are searched for when a specific use is being analyzed.

What happens if you enter 0 in NEXT Screen attribute?
Ans :- It does not go to any other screen and it moves back one level. However you can control this in run-time using SET SCREEN command.

How to modify the attributes of screen fields at run time ?.

We loop through the fields of the screen. When you find the name of a screen field you want to

modify, set attributes for the field and use MODIFY SCREEN to update the

attribtes.

You can find the attributes in the internal table SCREEN.

This loop makes some of the screen fields invisible ind a selection screen:

AT SELECTION-SCREEN OUTPUT.

LOOP AT SCREEN.

IF screen-name = 'P_VERAB' OR

screen-name = 'P_STXT1' OR

screen-name = 'P_STXT2' OR

screen-name = '%_P_VERAB_%_APP_%-TEXT' OR

screen-name = '%_P_STXT1_%_APP_%-TEXT' OR

screen-name = '%_P_STXT2_%_APP_%-TEXT'.

screen-active = '0'.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

How to leave dynpro allthough required entry not made ?

In the menu painter - Function attributes for the button, set Functional

type to E (Exit command)

PROCESS AFTER INPUT.

Call module that leaves screen before User_Command_xxxx is executed

MODULE ReturnExit AT EXIT-COMMAND.

MODULE user_command_1000.

MODULE returnexit.

CASE sy-ucomm.

WHEN 'CANC'. "Or whatever you want to call it

Clear w_screen.

LEAVE TO SCREEN 0.

ENDCASE.

ENDMODULE.

Calling a report from a dynpro
There are to ways to do this:

Use leave to list-processing if you want to do it in your module pool. You will not be able to use

selection-screens.

Use the submit statement to start a seperate report from your dynpro.

Anyone who have idea on how to know the selected value on run-time?

How can get the table control attribute selected value ? I try to read the value in debuger which is #

(table_control-cols-selected). There is no difference on the other row which is not selected.

The tc-cols-selected is for column selection only. For row selection you have two scenarios

turn on the SelColumn attribute in screen painter, give it a name and declare an abap variable with the same name type C length 1. In your PAI loop at itab, when the selected row is processed the abap variable will = 'X'. At this point you can save the record or key.

you can determine which row the cursor is on in your table control as follows:

DATA: LINE_SEL LIKE SY-STEPL,

TABIX LIKE SY-TABIX

GET CURSOR LINE LINE_SEL.

TABIX = table control-TOP_LINE + LINE_SEL - 1.

TABIX is now the index of the selected row.

F4 Help - Calling it from a program and limiting values ?

To avoid the standard F4 help to be show, insert the event PROCESS ON-VALUE-REQUEST in the program and add a field statement for the field that should trigger the F4 help. In the mdoule called from

PROCESS ON-VALUE-REQUEST, call function module

F4IF_FIELD_VALUE_REQUEST.

Example 1 - Dynpro

process before output.

.....

process after input.

.....

PROCESS ON VALUE-REQUEST.

FIELD it_zsd00003-prctr MODULE f4_help_for_pctr.

MODULE f4_help_for_pctr INPUT.

NOTE:

Tabname/fieldname is the name of the table and field

for which F4 should be shown.

*

Dynprog/Dynpnr/Dynprofield are the names of the Progran/Dynpro/Field

in which the f4 value should be returned.

*

Value: The value of the Dynpro fuield when calling the F4 help.

You can limit the values shown, by inseting a value in this parameter

e.g '50*' to show only values beginning with 50

CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'

EXPORTING

tabname = 'ZSD00003'

fieldname = 'PRCTR'

* SEARCHHELP = ' '

* SHLPPARAM = ' '

dynpprog = 'ZSD00002_BRUGERKONV_LISTE'

dynpnr = '0100'

dynprofield = 'IT_ZSD00003-PRCTR'

* STEPL = 0

value = '50*'

* MULTIPLE_CHOICE = ' '

* DISPLAY = ' '

* SUPPRESS_RECORDLIST = ' '

* CALLBACK_PROGRAM = ' '

* CALLBACK_FORM = ' '

TABLES

* RETURN_TAB =

EXCEPTIONS

* FIELD_NOT_FOUND = 1

* NO_HELP_FOR_FIELD = 2

* INCONSISTENT_HELP = 3

* NO_VALUES_FOUND = 4

* OTHERS = 5

.

IF sy-subrc <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

ENDMODULE. " F4_help_for_pctr INPUT.

What you can do with a transaction variant
Insert default values into fields

hange the ready for input status for fields

Hide various screen elements, menu functions or entire screens

Adjust table control settings

Note: Transaction variants can only be used with dialog transactions.

How to create a transaction variant
Transaction variants are created with transaction: SHD0

In the field Transaction on SHD0 enter the transactioncode for the screen you want tpo modify (E.g. VA03) . In the field Variant on SHD0 enter the name you want to give the transaction variant (E.g. ZVA03)

Press Create

Now the screen for the transaction is shown and you can enter default values in the fields of the screen

Press Enter. Now a screen that enbles you to make further customizing (Hide, Output only, Invisible, Mandatory) if the screen fields is shown.

After you have finished customizing the screen press Enter to go to the next screen or ave and exit to save the Transaction variant

How to find user exits
Display the program where you are searching for and exit and search for CALL CUSTOMER-EXIT

If you know the Exit name, go to transaction CMOD. Choose menu Utillities->SAP Enhancements. Enter the exit name and press enter.

You will now come to a screen that shows the function module exits for the exit.

Using Project management of SAP Enhancements

We want to create a project to enahance trasnaction VA01

Go to transaction CMOD

Create a project called ZVA01

Choose the Enhancement assign radio button and press the Change button

In the first column enter V45A0002 Predefine sold-to party in sales document . Note that an enhancement can only be used i 1 project. If the enhancement is allready in use, and error message will be displayed

Press Save

Press Components. You can now see that enhancement uses user exit EXIT_SAPMV45A_002. Double click on the exit.

Now the function module is displayed. Double click on include ZXVVAU04 in the function module

Insert the following code into the include: E_KUNNR = '2155'.

Activate the include program. Go back to CMOD and activate the project.

Goto transaction VA01 and craete a salesorder. Note that Sold-to-party now automatically is "2155"

To run the transaction varian, you must create a new Transaction code in SE93 that referes to the Transaction variant. Choose Transaction with variant as Start object.

Note: The transaction variant can also be called from a program that imcludes a call to function module RS_HDSYS_CALL_TC_VARIANT

Can a field exit on a screen access the values entered by a user on that screen for the screen fields other than the field for which the exit has been applied. if yes then how?

Maybe this function helps you: DYNP_VALUES_READ. It reads the dynpro-values before processing PAI.

What are events in dialogs?
Process Before Output and

Process After Input.

Process On Value

Process On Help

Module output.

Module input.

What are significance of PBO and PAI?
Before display the screen PBO is fired. This is for screen display

After giving the user input PAI is fired. This is for input validation

Where you will validate entries in the fields?
Entries can be validated in PAI.

You can validate in Field Exits also.

What is use of Chain and EndChain?
For calling a particular PAI module if any one of fields in a group meets a condition, we use to combine all such fields .

How to change screen dynamically?
By modifying the screen attributes.

How to capture changes on the screen fields? Same in case of table control?
We can capture changes on the screen fields using module on input and on request.

If you are validating contents of field but user want to exit from the transaction without validating contents; How to handle this scenario?

By at exit-command we can do.

How to pass field values from one screen to other screen?
By using set and get parameter id statements.

What is the difference in using COMMIT WORK within a called transaction and within a called dialog module in an existing module.

Ans.:

Transaction: It will create a new LUW and so you have to say COMMIT WORK in a called transaction for getting any of the update statements to be fruitful inside the called transaction.

Dialog module: Since no new LUW is created, COMMIT WORK is not necessary.

Which 2 transaction codes are used to manage enhancements?

Ans: SMOD and CMOD

Which enhancement is local, which is global:

Field Exits

Screen Exits

Program Exits

Menu Exits

Where can you create an enhancement to show your own F1 Help on a field?

Ans: in POH

What enhancements can be created using Cmod?
Ans: Customer Enhancements, i.e., Field Exits.

What is the code for showing a list produced in a dialog program?

Ans: Leave screen.

Leave to List-processing.

Or

Submit .

When is field Name1 transported to the program in this coding:

Process After Input.

Module ABC.

Field Name1 Module DEF.

What is the effect of SUPPRESS DIALOG in PBO?

Field Name2 Module GHI.

If an error message was raised in Module GHI, which fields would be ready for input?

Ans: The fields that are placed in CHAIN………ENDCHAIN.

In which 2 places could you set the GUI status and title bar for a modal dialog box?

What does CHAIN ....END CHAIN do?

Sometimes you want to check several fields as a group. To do this, include the fields in a FIELD statement, and enclose everything in a CHAIN-ENDCHAIN block.

Example

**** Screen flow logic: ****

CHAIN.

FIELD: SPFLI-CARRID, SPFLI-CONNID.

MODULE CHECK_FLIGHT.

ENDCHAIN.

When an error is found inside a chain, the screen is re-displayed, and all fields found anywhere in the chain are input-enabled. All non-chain fields remain disabled.

How can you test flow logic?

Check function checks the syntax,data-consisteny and screen layout of the screen.

To test the syntax, from the menu path choose screen---->check-------> syntax.

To test the data consistency, from the menu path choose screen---->check------> consistency.

To check the layout,from ythe menu path choose screen----->check----->layout.

What happens if you choose hold data option in screen atributes?

To retain data entered by a user. The system automatically displays this data if the user returns to this screen.

What happens if you enter 0 in NEXT screen attribute?

In ABAP/4 each stackable sequence of screens is a "call mode". This is important because of the way you return from a given current sequence. To terminate a call mode and return to a suspended chain, set the "next screen" to 0 and leave to it:When you return to the suspended chain, execution resumes with the statement directly following the original CALL SCREEN statement.The original sequence of screens in a transaction is itself a calling mode. The original sequence of screens in a transaction is itself a calling mode. If you LEAVE TO SCREEN 0 in this sequence (that is, without having stacked any additional call modes), you return from the transaction altogether.

How many menu titles you can have in a main menu?

You can have six menus in a menu bar.In addition to this system provides two more menus ie system and help. You can have only one menu bar for a status.

You can maintain 15 entries in a menu and upto three levels.

What is the difference between the "change on-input" and "Change on request" in the PAI of a screen?

ON INPUT
The ABAP/4 module is called only if the field contains a value other than its initial value. This initial value is determined by the field's data type: blanks for character fields, zeroes for numerics.

ON REQUEST
The ABAP/4 module is called only if the user has entered a value in the field value since the last screen display. The value counts as changed even if the user simply types in the value that was already there.

What are user exits? What is involved in writing them? What precautions are needed?

User defined functionality included to predefined SAP standards. Point in an SAP program where a customer's own program can be called. In contrast to customer exits, user exits allow developers to access and modify program components and data objects in the standard system. On upgrade, each user exit must be checked to ensure that it conforms to the standard system.

There are two types of user exit:

User exits that use INCLUDEs.

These are customer enhancements that are called directly in the program.

User exits that use tables.

These are used and managed using Customizing.

Should find the customer enhancements belonging to particular development class.

What are the different ways in which you can make changes to SAP standard software ?
Customizing

Enhancements to the SAP Standard

Modifications to the SAP Standard

Customer Development

What is customizing ?
Customizing is the setting of system parameters via SAP's own interface.

Why do you need enhancements ?
The standard applications do not offer some of the functionality you need. The R/3 enchancement concept allows you to add your own functionality to SAP's standard business applications.

What are the different types of enhancements ?
Enhancements using customer exits

Customers' potential requirements which are not included in the standard software are incorporated in the standard as empty modification 'shells'. Customers can then fill these with their own coding. Enhancements can relate to programs, menus and screens. Upward compatibility is assured. In other words, SAP guarantees that the jump from the standard software to the exit and the interface which call the exit will remain valid in future releases.

Enhancements to ABAP/4 Dictionary elements
These are ABAP/4 Dictionary enhancements (creation of table appends), text enhancements (customer-specific key words and documentation for data elements) and field exits (creation of additional coding for data elements).

What is customer development ?
Creating customer-specific objects within the customer name range.

What is SSCR ?
SSCR (SAP Software Change Registration) is a procedure, for registering all manual changes to SAP source coding and SAP Dictionary objects.

What is the difference between modifications and enhancements ?
Modifications mean making changes to the SAP standard functionality.

Enhancements mean adding some functionality to SAP standard functionality.

What are the disadvantages of modification ?
Modifying standard code can lead to errors

Modifications mean more work during software upgrades

What are the advantages of enhancements ?
Do not affect standard SAP source code

Do not affect software upgrades

when do you opt for modification ?

Customer exits are not available for all programs and screens within the R/3 standard applications. You can only use exits if they already exist within the SAP R/3 System . Otherwise you have to opt for modifications .

What are the various types of customer exits ?
Menu exits

Screen exits

Function module exits

Keyword exits

What is a menu exit ?
Adding items to the pulldown menus in standard R/3 applications .

13.What is a screen exit ?

Adding fields to the screens within R/3 applications. SAP creates screen exits by placing special subscreen areas within a standard R/3 screen and calling a customer subscreen from within the standard dynpro's flow logic.

What is a function module exit ?
Adding functionality to R/3 applications. Function module exits play a role in both menu and screen exits.

What is a keyword exit ?
Add documentation to the data elements of key words defined in the ABAP/4 Dictionary. The system displays this documentation whenever a user presses F1 to get online help for a screen field.

How do SAP organizes its exits ?
SAP organizes its exits in packages that are called SAP enhancements. Each SAP enhancement can contain many individual exits.

What is an add-on project ?
To take advantage of the exits available within standard R/3 applications, you need to create an add-on project. This project lets you organize the enhancement packages and exits you want to use. The add-on project also allows you to hang add-on functionality onto the exit hooks contained with SAP enhancements.

No comments:

Blog Archive