TABLES:vbrk,vbrp,kna1,nast.
DATA : BEGIN OF kitab OCCURS 0,
vbeln LIKE vbrk-vbeln,
fkdat LIKE vbrk-fkdat,
fkart LIKE vbrk-fkart,
knumv LIKE konv-knumv,
name1 LIKE kna1-name1,
END OF kitab.
DATA: BEGIN OF in_itab OCCURS 0,
vbeln LIKE vbrp-vbeln,
posnr LIKE vbrp-posnr,
fkimg LIKE vbrp-fkimg,
meins LIKE vbrp-meins,
matnr LIKE vbrp-matnr,
arktx LIKE vbrp-arktx,
END OF in_itab.
DATA : BEGIN OF citab OCCURS 0,
kposn LIKE konv-kposn,
kbetr LIKE konv-kbetr,
kwert LIKE konv-kwert,
END OF citab.
DATA : BEGIN OF itab_nast,
datvr LIKE nast-datvr,
uhrvr LIKE nast-uhrvr,
END OF itab_nast.
DATA: flag,count.
DATA: BEGIN OF fin_itab OCCURS 0,
vbeln LIKE vbrp-vbeln,
posnr LIKE vbrp-posnr,
fkimg LIKE vbrp-fkimg,
meins LIKE vbrp-meins,
matnr LIKE vbrp-matnr,
arktx LIKE vbrp-arktx,
kwert LIKE konv-kwert,
kbetr LIKE konv-kbetr,
END OF fin_itab.
PARAMETERS : p_vbeln LIKE vbrk-vbeln.
AT SELECTION-SCREEN.
SELECT SINGLE vbeln FROM vbrk INTO p_vbeln WHERE vbeln = p_vbeln.
IF sy-subrc <> 0.
MESSAGE e000.
LEAVE PROGRAM.
ENDIF.
START-OF-SELECTION.
PERFORM selection.
PERFORM check.
CALL FUNCTION '/1BCDWB/SF00000239'
EXPORTING
* ARCHIVE_INDEX =
* ARCHIVE_INDEX_TAB =
* ARCHIVE_PARAMETERS =
* CONTROL_PARAMETERS =
* MAIL_APPL_OBJ =
* MAIL_RECIPIENT =
* MAIL_SENDER =
* OUTPUT_OPTIONS =
* USER_SETTINGS = 'X'
pflag = FLAG
* IMPORTING
* DOCUMENT_OUTPUT_INFO =
* JOB_OUTPUT_INFO =
* JOB_OUTPUT_OPTIONS =
tables
itab = FIN_ITAB
hitab = KITAB
* EXCEPTIONS
* FORMATTING_ERROR = 1
* INTERNAL_ERROR = 2
* SEND_ERROR = 3
* USER_CANCELED = 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.
*&---------------------------------------------------------------------*
*& Form selection
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM selection .
SELECT a~vbeln a~fkdat a~fkart a~knumv b~name1 INTO TABLE kitab
FROM vbrk AS a INNER JOIN kna1 AS b
ON a~kunrg = b~kunnr
WHERE vbeln = p_vbeln.
READ TABLE kitab INDEX 1.
SELECT kposn kwert kbetr FROM konv INTO TABLE citab WHERE knumv = kitab-knumv
AND kschl = 'ZHPR'.
SELECT vbeln posnr fkimg meins matnr arktx FROM vbrp INTO TABLE in_itab
WHERE vbeln = kitab-vbeln.
LOOP AT in_itab.
LOOP AT citab.
IF in_itab-posnr = citab-kposn.
MOVE-CORRESPONDING in_itab TO fin_itab.
MOVE-CORRESPONDING citab TO fin_itab.
APPEND fin_itab.
ENDIF.
ENDLOOP.
ENDLOOP.
ENDFORM. " selection
*&---------------------------------------------------------------------*
*& Form check
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM check .
UNPACK p_vbeln TO p_vbeln.
SELECT datvr uhrvr INTO itab_nast FROM nast WHERE nacha = '1' AND
objky = p_vbeln.
ENDSELECT.
IF sy-subrc = 0.
flag = 1.
ELSE.
flag = 0.
ENDIF.
PROGRAM FOR SMARTFORM
REPORT FOR SHIPPING INVOICE DETAILS
REPORT Z_SALES_ORDER_SHIPPING_INVOICE_DETAILS NO STANDARD PAGE HEADING line-size 140.
**** report for displaying the sales order shipping and invoice details
tables : vbak , " sales document header
vbap , " sales document item details
vttp , " shipment item
likp , " delivery document header
lips , " sales delivery doc items
vbrk , " billing document header
vbrp. " billing document item details
selection-screen begin of block b1 with frame title text-001.
parameters : p_vkorg like vbak-vkorg default '1000',
p_vtweg like vbak-vtweg default '10',
p_spart like vbak-spart default '00'.
select-options : s_erdat for likp-erdat default '19970101' to'19970130'.
selection-screen end of block b1.
data : begin of itab1 occurs 0,
vbeln like vbak-vbeln, " sales document number
auart like vbak-auart, " sales doc type
erdat like vbak-erdat, " creation date
vstel like vbap-vstel, " shipping point
lgort like vbap-lgort, " storage location
end of itab1.
data : begin of itab2 occurs 0.
* include structure itab1.
data: vgbel like lips-vgbel, " document of the ref docu
d_vbeln like lips-vbeln, " delivery no
lfdat like likp-lfdat, " delivery date
i_vbeln like vbrk-vbeln, " invoice number
fkdat_rl like vbrk-fkdat_rl, " invoice date num
tknum like vttp-tknum, " shipment number
netwr like vbrk-netwr, " invoice net value
end of itab2.
DATA : BEGIN OF ITAB3 OCCURS 0.
INCLUDE STRUCTURE ITAB1.
INCLUDE STRUCTURE ITAB2.
DATA : END OF ITAB3.
start-of-selection.
select vk~vbeln vk~auart vk~erdat vp~vstel vp~lgort
* into table itab2
into corresponding fields of itab1
from vbak as vk inner join vbap as vp
on vk~vbeln = vp~vbeln
where vk~vkorg = p_vkorg and vk~vtweg = p_vtweg and vk~spart = p_spart
and vk~vbeln = vp~vbeln AND vk~erdat in s_erdat.
append itab1. clear itab1.
endselect.
select lp~vgbel lp~vbeln lk~lfdat vp~vbeln vk~fkdat_rl vk~netwr
into (itab2-vgbel,itab2-d_vbeln, itab2-lfdat,itab2-i_vbeln, itab2-fkdat_rl,itab2-netwr)
* corresponding fields of itab2 from ( ( ( lips as lp inner join likp as lk
on lp~vbeln = lk~vbeln ) inner join vbrp as vp on lp~vbeln = vp~vgbel and
lp~posnr = vp~posnr ) inner join vbrk as vk on vp~vbeln = vk~vbeln )
for all entries in itab1 where lp~vgbel = itab1-vbeln and
lp~vbeln = lk~vbeln and lp~vbeln = vp~vgbel and lp~posnr = vp~posnr.
APPEND itab2. * MODIFY ITAB2. clear itab2.
endselect.
READ TABLE ITAB2 WITH KEY ITAB1-VBELN.
MOVE-CORRESPONDING ITAB1 TO ITAB3. MOVE-CORRESPONDING ITAB2 TO ITAB3.
APPEND ITAB3. CLEAR ITAB3.
ENDLOOP.
TOP-OF-PAGE.
WRITE : / ' sales order shipping and invoice details ' color 3.
END-OF-SELECTION.
* loop at itab1.
* write : /10 itab1-vbeln, 25 itab1-auart, 30 itab1-erdat, 40
*itab1-vstel, 50 itab1-lgort.
* endloop.
loop at itab3.
AT FIRST.
write : /2 itab3-vbeln, 10 itab3-auart, 20 itab3-erdat, 35 itab3-vstel, 55 itab3-lgort, 65 itab3-vgbel, 75 itab3-d_vbeln, 85 itab3-lfdat, 95 itab3-fkdat_rl, 110 itab3-netwr. endloop. |
FORMAT INTENSIFIED COLOR 3 on.
write : /2 'itab3-vbeln',
10 'itab3-auart',
20 'itab3-erdat',
35 'itab3-vstel',
55 'itab3-lgort',
65 'itab3-vgbel',
70 'itab3-d_vbeln',
85 'itab3-lfdat',
95 'itab3-fkdat_rl',
110 'itab3-netwr'.
ENDAT.
Project---object ---3
REPORT ZSALESRPT_VIN LINE-COUNT 23 LINE-SIZE 150.
" TO GENERATE PERFORMANCE OF SALES GROUP IN" PARTICULAR SALES AREA FOR SPECIFIED PERIOD
TABLES : VBAK. " NAME OF THE TABLE
DATA: BEGIN OF ITAB OCCURS 0, " CREATING A INTERNAL TABLE
VKORG LIKE VBAK-VKORG, " SALES ORGANISATION
VTWEG LIKE VBAK-VTWEG, " SALES GROUP
SPART LIKE VBAK-SPART, " SALES DIVISION
AUDAT LIKE VBAK-AUDAT, " SALES DOCUMENT CREATION DATE
VBELN LIKE VBAK-VBELN, " SALES ORDER NUMBER
NAME1 LIKE KNA1-NAME1, " CUSTOMER NAME
KUNNR LIKE KNA1-KUNNR, " CUSTOMER NUMBER
VKGRP LIKE VBAK-VKGRP, " SALES GROUP
VKBUR LIKE VBAK-VKBUR, " SALES OFFICE
NETWR LIKE VBAK-NETWR, " NET VALUE OF EACH ORDER
END OF ITAB.
SELECTION-SCREEN BEGIN OF BLOCK BLOCK1 WITH FRAME TITLE TEXT-OO1.
SELECT-OPTIONS:
VKORG FOR VBAK-VKORG, " INPUT FIELDS TO INTERACT WITH
VTWEG FOR VBAK-VTWEG, " END USERS
SPART FOR VBAK-SPART,
AUDAT FOR VBAK-AUDAT.
SELECTION-SCREEN END OF BLOCK BLOCK1.
*write : ZVKORG-LOW,ZVTWEG-LOW,ZSPART-HIGH.
*RETRIEVING THE INFORMATION FROM TWO TABLES BY USING SELECT
SELECT A~NAME1 A~KUNNR B~VKGRP B~VBELN B~VKBUR B~NETWR
FROM VBAK AS B INNER JOIN KNA1 AS A ON A~KUNNR = B~KUNNR INTO
CORRESPONDING FIELDS OF TABLE ITAB WHERE VKORG IN VKORG AND VTWEG IN VTWEG AND SPART IN SPART.
SORT ITAB BY VKGRP.
WRITE : /2 'DOCUMENT' COLOR 5, 22 'CUSTOMER NO' COLOR 5, 42 'C-NAME' COLOR 5, 62 'S-GROUP' COLOR 5, 82 'S-ORDER' COLOR 5.
LOOP AT ITAB.
AT FIRST.
WRITE:/'THIS IS FOR SALES GROUP'. "SKIP 2.
ENDAT.
AT NEW VKGRP.ULINE.
*WRITE :/1(3) SY-VLINE , 4(20) SY-VLINE,24(20) SY-VLINE, 44(20) SY-VLINE
* 64(20) SY-VLINE. WRITE :/ ITAB-VKGRP.
ENDAT.
WRITE :/2 ITAB-VBELN , 22 ITAB-KUNNR , 42 ITAB-NAME1 , 62 ITAB-VKGRP , 82 ITAB-NETWR .
AT LAST.
WRITE :/ 'IT IS OVER'.
ENDAT.
ENDLOOP.
PROGRAM FOR SCRIPT
REPORT ZTEST_SCRIPT_1_RAJ NO STANDARD PAGE HEADING.
TABLES : EKKO,
EKPO,
LFA1.
PARAMETERS : P_EBELN LIKE EKKO-EBELN.
DATA : INT_EKKO LIKE EKKO OCCURS 0 WITH HEADER LINE.
DATA : INT_EKPO LIKE EKPO OCCURS 0 WITH HEADER LINE.
SELECT * FROM EKKO INTO TABLE INT_EKKO WHERE EBELN = P_EBELN.
IF SY-SUBRC EQ 0.
READ TABLE INT_EKKO WITH KEY EBELN = P_EBELN.
SELECT SINGLE * FROM LFA1 WHERE LIFNR = INT_EKKO-LIFNR.
ELSE.
STOP.
ENDIF.
SELECT * FROM EKPO INTO TABLE INT_EKPO WHERE EBELN = P_EBELN.
CALL FUNCTION 'OPEN_FORM'
EXPORTING
FORM = 'ZTEST_SCRIPT_1'
LANGUAGE = SY-LANGU
EXCEPTIONS
CANCELED = 1
DEVICE = 2
FORM = 3
OPTIONS = 4
UNCLOSED = 5
MAIL_OPTIONS = 6
ARCHIVE_ERROR = 7
INVALID_FAX_NUMBER = 8
MORE_PARAMS_NEEDED_IN_BATCH = 9
SPOOL_ERROR = 10
OTHERS = 11
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'START_FORM'
EXPORTING
FORM = 'ZTEST_SCRIPT_1'
EXCEPTIONS
FORM = 1
OTHERS = 2.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
WINDOW = 'TITLE'
EXCEPTIONS
WINDOW = 1
OTHERS = 2.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
WINDOW = 'INFO'
EXCEPTIONS
WINDOW = 1
OTHERS = 2.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
WINDOW = 'ADDRESS'
EXCEPTIONS
WINDOW = 1
OTHERS = 2.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
WINDOW = 'MAIN'
ELEMENT = 'ITEM_LABEL'
EXCEPTIONS
WINDOW = 1
OTHERS = 2.
LOOP AT INT_EKPO WHERE EBELN = P_EBELN.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
WINDOW = 'MAIN'
ELEMENT = 'ITEM_VALUES'
EXCEPTIONS
WINDOW = 1
OTHERS = 2.
ENDLOOP.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
WINDOW = 'FOOTER'
EXCEPTIONS
WINDOW = 1
OTHERS = 2.
CALL FUNCTION 'END_FORM'.
CALL FUNCTION 'CLOSE_FORM'.
ABAP INTERVIEW QUESTIONS
1 How Many types of Table are there in Data Dictionary and what are they.
Ans: 3
TRANSP Transparent table
CLUSTER Cluster table
POOL Pooled table
Following are not real tables:
INTTAB Structure
VIEW General view structure
APPEND Append structure
2 Can we Join a transparent and cluster Table?
Ans: No
3 Have you ever created any search helps and indexes.
Ans: Yes. Search helps to make selection easier with different search criterias and Indexes to improve the performance of Select statements.
4 what is meant by buffering and how many types of bufferings are there.
Ø Single Record. Only selected records are stored in Buffer
Ø Generic Area Bufferred with Number of Keys
Ø Fully Bufferred Full table is stored in the buffering area
5 What are the function modules used in generating a an ALV Report
REUSE_ALV_LIST_DISPLAY Show ALV Report
REUSE_ALV_FIELDCATALOG_MERGE To Get the List of Fields
REUSE_ALV_VARIANT_EXISTENCE To check ALV Variant if it exists
REUSE_ALV_VARIANT_DEFAULT_GET Get Default ALV Variant
REUSE_ALV_VARIANT_F4 For Dropdown ALV Variant
6 How do you insert header in ALV Reports.
7 Can we add new records to the already displayed ALV list.
Add new records to the Internal table and
RS_SELFIELD-REFRESH = 'X'. "Refresh
8 Have you used object oriented approach for developing an ALV Report.
9 How Many main windows we can have in a script?
Ans: Only One. You can not have a SAP Script with out a Main window also.
10 Can we down load and Upload a form? How?
Run Program RSTXSCRP using SE38 and Download and upload.
11 How to change the package of a SAP Script?
12 How do we activate trace in smart froms?
13 What is the difference between BDC Session and call transaction?
BDC Session is a two step process. You create a session first and then process the session later. Process using SM35 or by calling RSBDCSUB program.
CALL Transaction is instant.
14 What is the criteria for selecting one of these above methods?
If you do not need to process the data right away and You do not need to report back immediately then you choose BDC.
If you need to report the result back then use CALL Transaction. If you have further processing of that data then you need that. For example, You need to create a sales order and Once it is processed you need to update the status of that in another table with Order number.
15 How do you change session method from foreground to back ground.
In SM35 you can process the session in Foreground or Background mode.
You can switch to Background mode using Menu path System à Services à Display Errors Only Or Expert Mode on
/BEND to End Batch Input Session
16 What are pricing tables?
Pricing Tables starts with A* like A001, A002, A900 like that.
KONH – Condition Header
KONP – Condition Detail
17 Can u give an example of cluster table?
CDPOS Change Documents Detail Table
BSEG Accounting Document Segment
18 Have you ever retrived data from BSEG table?
19 Can u list out some of the tables in Finance?
SKA1 GL Accoun (SAKNR)
T004 Chart of Accounts (KTOPL)
T001 Company Code (BURKS)
BKPF Accounting Doc Header
BSEG Accounting Doc Detail
20 Can you list out some of the tables in SD?
VBAK, VBAP, VBPA
LIKP, LIPS Delivery Tables
VBRK, VBRP Invoice Tables
VTTK, VTTP, VTTS Shipment Tables
MKPF, MSEG
VBUK - Document Status
VBUP - Document Line item status
VBFA - Document Flow (It links Sales orders and Deliveries)
VBFS - Error Log in Collective processing
21 Why do we use CHAIN and ENDCHAIN?
These statements starts a processing chain. If you send a warning or error message from a module
CHAIN.
FIELD:
MODULE
FIELD:
MODULE
...
ENDCHAIN.
all of the fields on the screen that belong to the processing chain (all of the fields listed in the field statements) are made ready for input again. Other fields are not ready for input. Whenever the MODULE statement appears within a processing chain, even if there is only one FIELD attached to it, all of the fields in the chain (not only the affected field) are made ready for input again, allowing the user to enter new values. If the fields in the processing chain are only checked once, the PAI processing continues directly after the FIELD statement, and the preceding modules are not called again.
22 How to know the number of records in an internal table?
Ans: DESCRIBE TABLE LINES.
23 What are the functional modules used in SAP Scripts?
OPEN_FORM, WRITE_FORM, CLOSE_FORM
24 What are the events in reports?
25 How do we handle multiple line items in BDC’s?
26 How many secondary lists can be produced?
One Basic List and 19 secondary lists.
27 How can you export a session?
28 How many structures can be created in a Ztable?
29 What is a control table?
Control Tables in SAP Script:
TTXOB Definition of the text objects
TTXOT Descriptions of the text objects
TTXID Definition of the text IDs
TTXIT Descriptions of the text IDs
30 What is a header in a ALV program?
31 What is a table maintenance generator.
Ans: To allow users to maintain table using SM30 transaction you use Table Maintenance generator.
32 How do you upload a logo into a script
Command in your Sapscript
/: INCLUDE Z_YOUR_LOGO OBJECT TEXT ID ST LANGUAGE E
These are the steps to be followed for uploading graphics in R/3 system
1. First save the file as BMP
2. Open the BMP file in IMaging (Goto -> Programs -> Accessories -> Imaging) and make it Zoom as 100% and save as *.TIFF
3. Open SE38 and execute program RSTXLDMC
4. Give your TIFF file path name
5. Select Bcol (for Color)
6. TEXT ID will be ZHEX-MACRO-*.
7. Inplace of * write your own logo name (ZCOMPANYLOGO)
8. Execute the program
9. Now Goto SE71 create your ZFORM
10. Create logo window
11. Goto text element of logo window
or
In 4.6x :-
1. Goto SE71 Change the mode to GRAPHICAL
2. Choose the Graph Tabstrips
3. Now type in some name for the LOGO WINDOW
4. Press the IMPORT BUTTON and then IMPORT the BMP file from your DESKTOP
5. The code will be written automatically. You just need to drag and drop wherever you want the graphics to be.
Please note that in 4.6c onwards, you can also used Windows Bitmap file (.BMP).
33 What is the mandatory event in reports?
34 what are search helps?
35 How many match code objects we can develop?
36 Personal Interview Question
a. Describe your project and client
b. what is your role in the project
c. what is basically RGSPL
d. How many objects you developed
e. what is the composition of your team.
37 When we douable click on basic list of any line what function will be triggered.
AT LINE-SELECTION event.
38 What is the diffrence 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.
39 What are the events in interactive reports?
AT LINE-SELECTION, AT PF-KEY, AT USER-COMMAND .
40 What is the difference between at selection screen and at selection screen output?
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.
AT SELECTION-SCREEN: This would be triggered if you hit any thing (Enter, Drop-Down, Help, Execute) after the selection screen is displayed.
41 Which one will be trigger first?
AT SELECTION-SCREEN OUTPUT
42 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
43 How can we handle error message in call transaction
Use CALL TRANSACTION with MESSAGES statement. All the messages including errors are moved into this Internal table. You can loop through the internal table to see why it failed.
44 What is the structure of message table?
BDCMSGCOLL
45 What is the function module to handle the errors in call transaction?
You could use MESSAGE_TEXT_BUILD to get the error Text message.
46 What are the objects you have done?
Objects means Programs (Reports, Inbound Interfaces, Outbound Interfaces, ALV Reports, User-Exits, BADIs, BAPIs, etc).
47 What is your current object?
48 What is the transaction to your current object and what table was involving in your object?
49 Events in ALV reports?
print_end_of_list Define output text to be printed at the end of the entire list
print_top_of_list Define output text to be printed at the beginning of the entire list
print_end_of_page Define output text to be printed at the end of each page
print_top_of_page Define output text to be printed at the beginning of each page
subtotal_text Define self-defined subtotals texts
button_click Query a click on a pushbutton in the ALV Grid Control
double_click Query a double-click on a cell of the ALV Grid control
hotspot_click Query a hotspot click on columns defined for this purpose in advance
onDrag Collect information when elements of the ALV Grid Control are dragged
onDrop Process information when elements of the ALV Grid Control are dropped
onDropComplete Perform final actions after successful Drag&Drop
onDropGetFlavor Distinguish between options for Drag&Drop behavior
before_user_command Query self-defined and standard function codes
user_command Query self-defined function codes
after_user_command Query self-defined and standard function codes
toolbar Change, delete or add GUI elements in the toolbar
menu_button Define menus for menu buttons in the toolbar
context_menu_request Change context menu
onf1 Define self-defined F1 help
50 In ALV’s what exactly you are doing in the top-of-page event?
Prints a Page header on every page.
51 Why are you not using the OOPS concept in ALV’s?
52 In ALV’s how would you get default values in the selection screen?
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.
You can set it using Settings à Layout à Layout Management and make sure DS is set for the variant.
You could get the default variant by calling FM REUSE_ALV_VARIANT_DEFAULT_GET
53 How would u handle table controls in BDC?
Record in Table Controls are referred by Index. If it is the first line MARA-MATNR is the field, you use MARA-MATNR(01).
To point to the correct line there are Position Buttons on these screens. Using that button you position that line as the first line and update the first line.
54 Advantages of call transaction over session method?
v Call Transaction is instant update
v Result is known immediately
v Error message can be shown to the user.
v If program is being run online, we can provide an opportunity to correct the data if needed.
55 How would you handle the script?
56 If u want to add any fields in the layout what is the procedure you follow?
57 Difference between Synchronous and asynchronous update?
v Synchronous update is Update immediately and the program waits for the work process to finish the update.
v Asynchronous update could be delayed and the program does not wait for the work process to finish the update.
58 How to print page numbers in a script through SE38 Program?
59 What are the steps to create custom table?
v Create all the Domains and Data elements as needed using Txn SE11.
v Start creating the table using Txn SE11.
v Maintain Delivery Class (A-Application Table, C-Customizing, etc)
v Enter all the fields (MANDT must be the first field) and appropriate data elements or Built in Types for each field.
v Make sure you select the Primary Key for this table.
v Maintain the Technical Settings (Data class, Size, Buffering info)
v Create Secondary indexes as needed
v Activate the Table
60 What are the functional modules are used in ALV reports?
61 If the table contains built in type what is the problem?
If a field contains Built-In Type, in SE16 field header is not shown, Search help or Dropdowns are not shown automatically.
62 How to print a text which in English in different languages what are the steps to be taken?
To Print a Text, you would have to use Text Elements in Reports. You need to Login in different languages and maintain Texts in each language. Based on the login language, these texts are automatically printed in various languages.
63 How to capture messages in call transaction?
CALL TRANSACTION 'TFCA' USING BDCDATA
MODE 'A'
UPDATE 'S'.
MESSAGES INTO MESSTAB.
64 Without using BDCMSGCOLL How can u find out, weather the record is successfully updated or not?
SY-SUBRC would tell whether CALL Transaction was successful or not. If SY-SUBRC is not equal to zero that means Transaction failed. Reason would stored in messages table.
65 What is client dependent and independent?
If you have MANDT as the first field that is Client Dependant table otherwise it is not.
66 What is client dependent and independent tables? Differences between them?
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.
If you select an entry from Client dependant table, it checks with in that client unless you specify SELECT statement using Client Defined.
Ex: SELECT * FROM SCUSTOM CLIENT SPECIFIED INTO WA_SCUSTOM
WHERE MANDT = '003'.
WRITE: / WA_SCUSTOM-ID, WA_SCUSTOM-NAME.
ENDSELECT.
67 How to set hotspot in ALV reports for a field?
In the Field Catalog table, you set the HOTSPOT property of the field to X
68 How to set hotspot in ALV reports for all fields?
69 What is use of REUSE_ALV_FIELDCATALOG_MERGE?
Using this function module, you can get the Field catalog for a given Internal table or DD Structure. Once you get the Field catalog, you could change the properties of each field.
70 What is significance of HIDE?
In Interactive reports, HIDE statement stores the value of that field for that line. If the user places the cursor on a line and click on some thing those values are automatically populated to that hidden fields. These values are used to drill down further or takes to other transaction using this info.
71 What is local update?
When you do CALL TRANSACTION, you could select a Local Update. Local updates means update happens on the same Apserver you logged on using the same work process.
In a local update, the update program is run by the same work process that processed the request. The dialog user has to wait for the update to finish before entering further data. This kind of update is useful when you want to reduce the amount of access to the database. The disadvantage of local updates is their parallel nature. The updates can be processed by many different work processes.
72 Difference between select single and select upto one row?
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.
73 Between select single and select upto one row, which method do u prefer at which situation?
If you have the full Key use SELECT SINGLE
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..
74 What is the secondary index?
There is an Index created by default for the Primary Key of the table and that is called Primary Index. If you create, any other index that is called Secondary Index for that table. Secondary Indexes are created to improve the performance of SELECT statements.
75 How to create secondary index?
Using SE11, Enter the table name and click on Change.
Click on Indexes and select fields and create a secondary index. Note: Always try to include MANDT as the first field unless you have a reason..
76 How to change standard data base table?
77 How do you modify a table?
You can modify a record using MODIFY statement or UPDATE Statement .
78 Events in the report and the order in which they trigger?
INITIALIZATION
AT SELECTION-SCREEN OUTPUT
AT SELECTION-SCREEN
AT
AT
START-OF-SELECTION
END-OF-SELECTION
TOP-OF-PAGE
TOP-OF-PAGE DURING LINE SELECTION
79 Events in Module pool and comparison with report events?
PBO – Process Before Output AT SELECTION-SCREEN OUTPUT
PAI – Process After Input AT SELECTION-SCREEN
PROCESS ON HELP REQUEST AT
PROCESS ON VALUE REQUEST AT SELECTION-SCREEN ON VALUE-REQUEST
80 Difference between scripts and smartforms?
81 Advantages of smartforms overscripts?
82 How do you INVOKE scripts from a program?
Using Function module OPEN_FORM, WRITE_FORM and CLOSE_FORM.
83 How do you INVOKE Smartforms from a program ?
There is a Function module behind every Smart Form. You call the function module to invoke it from a Program.
84 What Happens after a smartform is triggered?
85 What are enhancements and its procedure?
Enhancements are changes to existing SAP objects. Using CMOD, you can check what enhancements are available.
v You create a Project using CMOD
v select an Enhancement that you need to modify.
v Modify and add the code in that enhancement
v Activate the Project.
86 Difference between enhancements and modifications?
Enhancements are changes to existing SAP objects. Using CMOD, you can check what enhancements are available and modify it. If the Enhancement is not available but you can not achieve the goal with out modifying the actual SAP code, you go ahead and modify the SAP code. That is modification. Modifications are discouraged by SAP because these are little bit difficult to handle during upgrades.
87 How do you create an interactive ALV Report?
Need to pass, parameter I_CALLBACK_PF_STATUS_SET = G_ALVPFSTATUS (FORM Name) so that you can set your own status using SET PF-STATUS command.
Need to pass, I_CALLBACK_USER_COMMAND = G_ALVCOMMAND (FORM name) , so that you can write code to process the user command.
88 What is an ABAP Memory and SAP Memory and How to use them?
ABAP memory is a memory area that all ABAP programs within the same internal session can access using the EXPORT and IMPORT statements.
SAP memory is a memory area to which all main sessions within a SAPgui have access. You can use SAP memory either to pass data from one program to another within a session, or to pass data from one session to another. Application programs that use SAP memory must do so using SPA/GPA parameters (also known as SET/GET parameters). These parameters can be set either for a particular user or for a particular program using the SET PARAMETER statement. Other ABAP programs can then retrieve the set parameters using the GET PARAMETER statement. The most frequent use of SPA/GPA parameters is to fill input fields on screens (see below).
89 Are labels possible in Smartforms?
90 Configurations in ALE IDOC.