Abap Master
Abap Master
1. What is ABAP?
Ans: Advanced Business Application in Data Processing
2. What is tcode for ABAP Coding
Ans : SE38 - ABAP Editor
3. How ABAP Work for business.
Ans : When business requirement comes then functional peoples map this requirement as per
business needs , they build template with details table mapping . and once its is finalize its
customization develop by ABAPER called developer.
4. How Many Modules supported by ABAP.
Ans : Mostly All (SD,MM, PP, QM, HR..... etc)
5. How many Objects types in ABAP.
Ans: Objects type are Reports, Conversation , Forms , Interfaces , Enhancements.
6.
Ans: The table in which the first field is not mandt is the client independent tables.mandt is the
field with mandt as the data element. automatically client which we login is populated to mandt.
7.
TYPE, you assign data type directly to the data object while declaring.LIKE, you assign the data
type of another object to the declaring data object. The data type is referenced indirectly.
8.
In synchronous updated the parent table is updated along with the child tables and then a sysubrc is returned. 0 for successful and 4 or 8 for not successful.
While in asynchronous updating after the updation of the parent table we get a sy-subrc return.
The system is not bothered if the child tables are updated or not.
10. What is bdcmsgcoll and how it works with call transaction method?
BDCMSGCOLL is a structure available in the abap dictionary. We use this to handle errors in
call transaction. We need to declare an internal table like bdcmsgcoll. When a database table is
updated we get some messages like successful , or not successful or successful with some warning
message.
All these messages pass through this structure. We can capture them using a function module
called FORMAT_MESSAGE.
In a BDC program, how would you handle errored records? Would you
b)
c)
d)
c)
Used to create the user exits, menu exits and screen exits.
a)
You must always start the output with OPEN_FORM and end it with CLOSE_FORM.
c)
b)
c)
d)
CALL TRANSACTION
24.
EXTRACT statement
b)
The first EXTRACT statement creates the extract dataset and adds the first extract record.
c)
Each extract record contains, if specified, the fields of the field group.
All operations you have programmed with the field symbol are carried out with the assigned
field.
26. READ TABLE ITAB_TEST WITH KEY VBELN = k_vbeln.
If multiple records in table ITAB satisfy the condition, then
c)
28. If COLLECT is used on an internal table, which has a non-key character field.
c)
Compilation error
30. If we need to fetch all db entries corresponding to a given key, X records at a time,
the syntax to be used is:
b)
SELECTPACKAGE SIZE X.
31. MOVE can be used to copy:
a)
One fields contents to another field
b)
One structures contents to another compatible structure
c)
One tables contents to another compatible table
d)
A part of one field to another field
32. The user-list in a given SAP client can be found using transaction.
c)
SM04
SELECT
a)
b)
c)
LIKE
FOR
TYPE
40.Constants and internal tables are defined using the keywords (respectively):
a)
CONSTANTS and TABLES
41. There are 8 elementary data-types, and hence, 64 possible conversions. Of these.
a)
Type D and T cannot be inter-converted.
42. If a structure does not contain internal tables as components, we can equate two
structures of incompatible types.
a)
TRUE
43. For an inequality check between two variables, the symbol used is:
a)
NE ,<> , ><
44. Find out Answer:
S1 = ABCAB.
S2 = ABCD .
IF S1 CN S2.
WRITE a.
ELSE.
WRITE b.
ENDIF.
Output of above code is:
b)
45.The statement
IF NUM IS BETWEEN 3 AND 7.
Is a valid syntax?
a)
TRUE
b)
FALSE
Ans: B
46. Can ABAP control statements be used within a sap script?
a)
YES
47.The presentation server is actually the program named SAPGUI.
a) True
48.When is Top-of-page event executed
b)
c)
AT FIRST......ENDAT : To display the required data at the beginning of the internal table.
2.
AT LAST......ENDAT
3.
AT NEW <COL>......ENDAT :
If a group of lines of a particular column have same value, it can be displayed at the
beginning only once using the control level statement At New <column name>. The
columns to the left of <column name> are also considered by the 'At New' condition.
4.
AT END OF <COL>......ENDAT:
If a group of lines of a particular column have same value, it can be displayed at the End of the
group only
the left of <column name> are also considered by the 'At End Of ' condition.
50. TOP-OF-PAGE
This is called when a new page is started with an ABAP list and is used to display a header for the
list.
51. TOP-OF-PAGE During LINE_SELECTION
If you use the 'DURING LINE-SELECTION' addition this event is also triggered when creating
detailed lists.
52. END-OF-PAGE
This is displayed at the end of each page if there is a line reservation in the addition LINE-COUNT
of the initiating statement for a page footer.
REPORT demo_rep NO STANDARD PAGE HEADING
LINE-COUNT 0(1).
53. START-OF-SELECTION
This is the first event after all screen selection processing has been completed. If no other events
are declared then there is no need to manually code this event as all processing statements will
be automatically assigned to an implicit START-OF-SELECTION block. It is a good ideal to put it in
though as it separates the code and makes it easier to read. Generally you would put all your data
selection ABAP code within this event.
END-OF-SELECTION
If your report is linked to a logical database this event is called after the logical database has
completely finished its work. Otherwise this event is trigged after the START-OF-SELECTION event
so you would generally use it to processes the data retrieved in that event.
55. INITIALIZATION
Called after the abap selection screen code has been processed (i.e. parameters, select-options
etc) but before these are displayed to the user. So you can use it to initialize input fields of the
selection screen or change the default values of these before the user gets to enter data into
them.
56. LOAD-OF-PROGRAM
First event to be called before any of the other ABAP code is processed.
Definition :
field-symbols: <fs_tab> type standard table,
<fs_wa> type mara.
Now this automatically refer to <fs_tab> which will automatically modify itab_mara[].
10
61. TYPE-POOLS: slis. " SLIS contains all the ALV data types
62. The commonly used ALV functions used for this purpose are:
1.
REUSE_ALV_VARIANT_DEFAULT_GET
2.
REUSE_ALV_VARIANT_F4
3.
REUSE_ALV_VARIANT_EXISTENCE
4.
REUSE_ALV_EVENTS_GET
5.
REUSE_ALV_COMMENTARY_WRITE
6.
REUSE_ALV_FIELDCATALOG_MERGE
7.
REUSE_ALV_LIST_DISPLAY
8.
REUSE_ALV_GRID_DISPLAY
9.
REUSE_ALV_POPUP_TO_SELECT
11
The report RSTXLDMC allows a TIFF graphics file to be uploaded from the file system of the R/3
GUI to a standard text in the R/3 word processor SAP script.
69. Draws a horizontal line at the upper window border over the entire window width
/: BOX WIDTH 0 TW FRAME 10 TW
70. Draws a vertical line at the left window border over the entire window height
/: BOX WIDTH '17.5' CM HEIGHT '1' CM FRAME 10 TW INTENSITY 15
/: BOX WIDTH '17.5' CM HEIGHT '13.5' CM FRAME 10 TW
/: BOX XPOS '10.0' CM WIDTH 0 TW HEIGHT '13.5' CM FRAME 10 TW
/: BOX XPOS '13.5' CM WIDTH 0 TW HEIGHT '13.5' CM FRAME 10 TW
12
13
with the upgrade version) or apply the OSS note (If OSS note is applicable for our release and if
possible note should be applied using SNOTE.)
77. Transaction SPAU:
This is for repository objects (programs, screens, functions, classes, etc.). These have to be
compared to the previous versions too and any missing modified code is too re-inserted. SPAU
comes after the downtime phase of upgrade and is carried in normal client.
78. Data Class:
This is nothing but physical area of database tables which is assigned to data class for storage
purpose. Following are the types of data classes.
APPL0- Master data (data frequently accessed but rarely updated).
APPL1- Transaction data (data that is changed frequently).
APPL2- Organizational data (customizing data that is entered when system is configured and then
rarely changed).
79. Delivery Class:
The delivery class controls the degree to which the SAP or the customer is responsible for table
maintenance. or Gives the owner of the table.
There are the following development classes: A,S,C,L
*
*
*
*
Technical setting in tables makes controls over the tables. It consist of delivery class which is used
for managing and transport of tables While upgrade. It consists of table types as below.
A: Application table
B: Customer table
C:Ten. Data table
14
G: Customer table
VA11
VA21
> VBAK-VBAP
>VBAK-VBAP
ME21N
>EKKO-EKPO
VA01
>VBAK-VBAP
VL02N
>LIKP-LIPS
>
VT01
>VTTK-VTTP
>
VF01
>VBRK-VBRP
VF21
>VBRK-VBRP
84. Diffcurance:
Select single fetch first matching records whereas select up to 1 rows fetch all matching records
into database.
15
88. Domain:
Domain defines set of possible values , allocated to field. It also describe technical characteristics ,
no of characters , output length , sign , lower case , upper case details, value tables. Etc.
ME49N
ME21N
MIGO
MIRO
90. Workbench request is client independent , when it import into client 100. Then it automatically
reflects into all clients. Whether Customizing request is client dependent.
16
Value table maintained at domain level. In this we entered allowed values. Then system used only
entered values.
94. Find BAPI:
-
Not Supported
Dependent
No
No
No
No
Must
98.
when we want to validate single field on selection screen that time we used FIELD
Command.
99.
leave Screen:
Without finishing current screen . If we wish to continue next screen that time we use this
command.
17
Call to next screen and return to back screen is not automated in this case.
LF : Standard delivery
LR : Return delivery
NL : Replenishment delivery
LO: Delivery without reference
RL : Return delivery from PO
111. Two different orientation not possible on layout smartforms
112. VD05 : Delivery Block at customer level
113.
114.
115.
116.
117.
Tables :
Tcode :
Tables :
Tables :
Tables :
18
Name
F1
Delivery-related invoice
19
F2
Delivery-related invoice
F5
CR
Credit memo
L2
Debit memo
RE
S1
Cancellation invoice
S2
VL02N -
VL03N
20
Name
Delivery type
Outbound delivery
LF
LO
Returns delivery
LR
Replenishment delivery
NL
Inbound delivery
EL
R/2-R/3 Link
LD
: MB51
: MB5T
: MB53
: MB5B
0006 : Action
21
- AT USER COMMAND
- AT PF-STATUS
- TOP-OF-PAGE DURING LINE-SELECTION : New Page Start and trigger at each page.
22
- You can call multiple sub screens in the same area using variable screen number.
e.g : CALL SUBSCREEN subscreen1 INCLUDING syst-repid
- Subscreens cannot have their own OK_CODE field.
- Type E functions may only be handled in the main screen.
- No :SET TITLEBAR, SET PF-STATUS, SET SCREEN, LEAVE SCREEN, or LEAVE TO SCREEN.
- To call the subscreen screen, use the following statement in the PAI flow logic of the main
screen:
e.g :
A) Implicit Enhancements:
23
B) Explicit Enhancements:
Enhancement point
Enhancement point can be static or dynamic. replace existing data declaration and coding.
Enhancement Spot:
Enhancement Spot are used to manage explicit options. it carry information about the position at
which point Enhancement is created. once Enhancement Spot can manage several Enhancement
options.
24
25
When
Not Classified This is the default option when any new table is created. This means no
specific guidelines was given by the designer to enhance the table or not.
Cannot be Enhanced This tells you that the table designer decided that you must not
enhance this table. Thus when you try to enhance the table, system will prompt you the
message that it wont be simply possible.
Can be Enhanced (Character-Type) This options denote that the table can be
enhanced with Character Type fields only i.e. Character, Numeric, Date and Time. If you
try to add the field Type P (packed) a field for amount, system will not allow the table
activation during the table enhancement.
Can be Enhanced (Character-Type & Numeric) This option points that the table can
be enhanced with the Character and Numeric type fields, but must not contain the deep
data types like Tables, References, Strings, XStrings etc.
Can be Enhanced (Deep) If you have this option, you can enhance table with any type
of the fields.
you create the table and dont select appropriate option and leave the Not Classified, system
BTEs are generally found in the general ledger accounting (FI-GL), account receivable and payable
(FI-AR and FI-AP) and sales and distribution components.
How to find a BTE (2 ways)
26
Use transaction FIBF menu Environment->Info System (P/S ). Use the Documentation
button to see the documentation for the BTE.
Then we copy the sample function module to a Z-function module (First create a new
function group for the function module) .
Note: The name of the Z-function module is not important
27
28
Go back to transaction FIBF - Menu Settings->Products -> Of a customer and create a new
product which identifies the new product . Remember to mark the Active field.
We enter the product name description and RFC destination if applicable. The check box A
is to activate the product.
The next step is to link the function module and the event using the product created. Go
back to FIBF menu Settings->P/S function modules->of a customer - Create an entry that
links the BTE and Product with the new function module (as below)
29
142. Updating the Internal Table -After Edit in ALV using Function Modules:
In ALV Editable Grid using the Function module, the Editable content is not Transferred to Internal
table. To update the Internal table with Updated content fm GET_GLOBALS_FROM_SLVC_FULLSCR
is useful.
143. Block report :
ALV block list can be used if you want to display multiple ALV lists in the same screen.
REUSE_ALV_BLOCK_LIST_APPEND is used each time when you want to embed list in the
block. It is similar to ALV list function module.
REUSE_ALV_BLOCK_LIST_DISPLAY is used after all lists are appended and the block is
displayed.
30
To overcome this limitation we can use dynamic document, which can be implemented through the
class CL_DD_DOCUMENT. As dynamic documents use HTML viewer control so instead of triggering
the TOP_OF_PAGE event we should trigger event of HTML TOP_OF_PAGE.
First
create
subroutine
for
top
of
page
in
HTML
format
and
send
that
name
in
FORM html_top_of_page
*-----------------------------------------------------------------*
FORM html_top_of_page USING top TYPE REF TO cl_dd_document.
data: l_text(255) type c.
do 180 times.
l_text+sy-index(1) = '*'.
enddo.
CALL METHOD top->add_text EXPORTING text = 'Hello world '
sap_style = 'heading' .
CALL METHOD top->add_gap EXPORTING width = 200.
CALL METHOD top->add_picture EXPORTING picture_id = 'ENJOYSAP_LOGO'.
CALL METHOD top->NEW_LINE( ).
CALL METHOD top->add_text EXPORTING
text = l_text.
ENDFORM.
* Display ALV grid
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_html_top_of_page = 'HTML_TOP_OF_PAGE'
i_callback_program
= g_repid
i_structure_name
= 'SFLIGHT'
TABLES
t_outtab
= gt_outtab.
Output:
31
148.
32
149.
Fields in MARA are VPSTA and PSTAT helps us in identifying the views maintained for a material.
150.
Movement (MIGO).
151.
Prerequisites:
Automatic purchase order indicator must be set in both the material master(Purchasing tab)
and the vendor master.
Purchase requisitions should have unique source of supply. (i.e. Fixed Vendor field in
purchase requisition should be populated)
152.
Go to transaction SPRO -> SAP Reference IMG -> Materials Management -> Logistics Invoice
Verification -> Incoming Invoice -> Set check for duplicate invoices.
153.
BADI (Business Add-In) is a new SAP Object Oriented enhancement technique which is used
to add our own business functionality to the existing SAP standard functionality. BADI follows
Object Oriented approach to make them reusable. A BADI can be used any number of times
where as standard enhancement techniques can be used only once. For example if we assign an
enhancement to one custom project, then that enhancement cannot be assigned to any other
custom projects. To overcome this drawback SAP has provided a new enhancement technique
33
called BADI.
Transaction code for BADI Definition: SE18
When you create a BAdI definition, a class interface will be automatically created and you can
define your methods in the interface. The implementation of the methods can be done in SE19
transaction.
When a BAdi is created following are automatically generated:
An interface with 'IF_EX_' inserted between the first and second characters of the BAdi
name
An adapter class with 'CL_EX_' inserted between the first and second characters of the BAdi
name.
34
154.
155.
Go to transaction SE84 and click on Enhancements. Then double click on Business Add-Ins.
For example, if you want to find the BADI's for the standard transaction ME22n, the procedure
is as follows. This example shows, finding the way of BADI names by providing the Package of
ME22n.
1) Go to transaction ME22n. Select the System option from the menu and then click on Status. It
displays the following information.
2) Double click on the program name i.e. SAPLMEGUI. It will take you into the program and click
on Go to tab from the Menu. There we can find the package name of the standard transaction
ME22n.Copy and paste it in the package filed.
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.
156.
35
157.
158.
Standardized dialogs obsolete since NetWeaver 7.0 (solutions based on NW 7.0: ECC 6)
(replaced by POPUP_TO_CONFIRM)
36
159.
160.
161.
Whenever you have a breakpoint, once system brings you debugger, you can now use the Skip
field for each breakpoint. Whatever number you enter in the field, system would NOT stop to the
breakpoint for those many iterations.
37
After the condition is met, the breakpoint behaves normally means flow of execution would be
interpreted whenever the statement is executed.
Use Skip Breakpoint
This would be very handy whenever you know that you want to only stop for 5th record or say
last record Get the total number of records, Deduct 2 from that number and enter into the Skip
field. You would need to deduct 2 assuming, you are that point (1 iteration complete) and want to
execute the last iteration (another 1).
162.
38
164.
-
Go to transaction SMARTFORMS.
In the Form field enter the name of the Smartform ZDEMO_SCRIPT_TO_SMART_FORM
you want to create.
In Menu bar Choose Utilities -> Migration -> Import SAPScript Form.
Then the popup will come as shown below. Here enter the name of the Script SCRIPT
which you want to migrate it to smart form and the language.
Choose Enter, and then this takes you to the change mode of Smartform.
If the selected SAP Script does not exist in the selected language then a popup window
appears with all the languages that are available on the form. On which you can select one
of the existing languages.
Here I selected DE (German) language and choose continue button
In SAP Script ZSCRIPT, one page is created with name FIRST and two windows are
created with names as MAIN and HEADER.
After migration,
The layout information including pages, windows and their attributes and position on page
are copied with the same properties.
165.
166.
To stop debugging, you must print the SAPscript form, and click Exit button in the debugger
window when it is displayed.
167.
them?
-
In the transaction SE71, enter the Form name and choose the menu, Utilities->Copy from
client to copy SAPscripts from one client to another.
39
168.
Here you could configure the page settings and their orientation
169.
1.
2.
3.
On the Table Content Selection Screen, Type the SAPscript Name for which we have find
the Driver Program in the field FONAM and execute(F8)
4.
PGNAM field of the result display contains the Driver Program Name for our SAPscript.
170.
-
In the form go to basic settings--> you can find a landscape option --> click on it and at
the bottom. You can find the page option enter the page name for which you want to assign
landscape format.
171.
40
172.
(this can be used for static forms which always print the same number of pages)
Yes, but you must call WRITE_FORM function module at least once (even with a nonexisting element or window!)
If there is more than one page, you may need to force the next page to be printed by
calling CONTROL_FORM function module with command NEW-PAGE (PAGE2 for example).
173.
-
Table STXH, with field values tdobject = 'FORM' and tdid = 'TXT' and tdname = form name
174.
-
Most of applications use NACE transaction, but there are also Print Workbench, PostProcessing Framework.
175.
Windows are defined in the Layout sets which define the position and the text to displayed.
41
The constant window can have a fixed content and is formatted only once
175.
-
You can create Boxes in the SAPscript using the BOX command specifying the x,y coordinates and the width and the height
/: BOX XPOS '0' CM YPOS '0.5' CM WIDTH '9.2' CM HEIGHT '3.5' CM FRAME 8 TW.
176.
-
177.
How can I set the header and footer in the main window?
The TOP...END TOP and BOTTOM...ENDBOTTOM commands are used to set the header and
footer texts in the main window respectively.
These texts will be displayed on the start and end of every new page in the output.
To disable these texts enclose empty commands between the commands.Eg.:
/: TOP
42
/: ENDTO
178.
You can explicitly trigger a page not in sequence by specifying the name pf page with the
command NEW-PAGE
/: NEW-PAGE <pagename>
179.
You can use the NEW-WINDOW command to call the other main window explicitly in the form,
even if the current main window is not full. We can create up to 99 Main Windows. This Main
windows are generally used to create labels or to write Addresses.Need to write this in the Main
window.
/: NEW-WINDOW
180.
The POSITION command is used to x, y coordinate position which is used by the BOX command.
The offset from the current window positions are specified which could be either positive or
negative.
43
Similarly the SIZE command sets the width and height parameters.
/: SIZE WIDTH '10' TW HEIGHT '10' TW
181.
In the first case of 'Customer : &KNA1-KUNNR&', the text 'Customer : ' is displayed
regardless of the variable KNA1-KUNNR even if it has initial value
In the second case of '&Customer : KNA1-KUNNR&', the text 'Customer :' and KNA1-KUNNR
is displayed only when the variable KNA1-KUNNR has non-initial value.
181.
Similar to SET DATE MASK for date fields we can use SET TIME MASK for formatting time fields.
/: SET TIME MASK = 'HH hrs MM min SS sec'
182.
The date fields in SAP scripts can be formatted using the SET DATE MASK control command.
/: SET DATE MASK = 'MMMM DD, YY'
183.
44
&DATE&
&DAY&
&HOURS&
,&MINUTES&
&MONTH&
,&SECONDS&
&YEAR&
,&PAGE&,&NEXTPAGE&,&SPACE&,
&TIME&
&ULINE&
184.
Enclose the text that you want to prevent page-break in PROTECT... ENDPROTECT
SAPscript will ensure that each line of this text is printed together on the same page.
Ie.If SAPscript finds that the text cannot be printed on that page completely a implicit page break
occurs and the text is printed on the next page
/: PROTECT
* Text
* Within
* The same page
/: ENDPROTECT
185.
Use the program RSTXLDMC to convert the TIFF file to standard text.
Go to transaction SE78
45
In SE71 choose Insert->Graphics and then choose the image for display.
186.
Create a character format in the SAPscript.Choose the Bar Code for the character format.And
finally to display barcodes, in the command enter:
<C1>&vbeln&</>
where C1 is the character format created and vbeln is the variable for which the barcode is to be
created.
185.
Use the Function Module RKD_WORD_WRAP to wrap the text and use this for output.
186.
You can create standard texts using the transaction SO10. Then to insert these standard texts in
the SAPscript choose the menu, Insert->Text->Standard and choose the standard text that you
want to choose.
Alternatively, you can display standard texts in your SAPscripts using the command:
/: INCLUDE ZSTEXT OBJECT TEXT ID ST LANGUAGE EN
187.
To enter a tab, use ,, (2 commas). Then, in the Paragraph Format tab, create a new paragraph
format. In the "Tabs" Tab, enter the tab position and the alignment for the fields.
188.
-
Standard Symbol
46
189.
190.
191.
192.
EPC called as Extended program check it checks the automatic check , outdated
193.
Go to SPAD ,
double click
194.
47
195.
196.
= 'Quarter 1'
COL2
= 'Quarter 2'
COL3
= 'Quarter 3'
COL4
= 'Quarter 4'
DIM1
= 'In Percentage%'
SET_FOCUS = 'X'
TITL
= 'Company Performances'
TABLES
DATA
= IT_PERFORMANCE
OPTS
= IT_OPTTABLE
EXCEPTIONS
OTHERS = 1.
197.
48
2. GUI_DELETE_FILE
198.
2.
3.
4.
5.
6.
7.
199.
= p_object
OBJECT_TYPE
= 'REPS'
EXCEPTIONS
NOT_EXECUTED
OTHERS
=1
=2
IF SY-SUBRC = 0.
Message 'Objects ACtivated' Type 'I'.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
49
ENDIF.
The value 'REPS' is passed for the field 'OBJECT_TYPE' in the function module which would accept
only Report names as inputs. Hence this sample code can be used to activate only other report
programs. By changing that value other types of objects can also be activated
200.
POPUP_WITH_TABLE_DISPLAY
POPUP_TO_CONFIRM_STEP
POPUP_TO_DECIDE_WITH_MESSAGE
POPUP_TO_DECIDE
POPUP_TO_SELECT_MONTH
POPUP_TO_CONFIRM_WITH_VALUE
POPUP_TO_CONFIRM_WITH_MESSAGE
POPUP_TO_DISPLAY_TEXT
POPUP_TO_CONFIRM
POPUP_TO_CONTINUE_YES_NO
POPUP_TO_CONFIRM_DATA_LOSS
201.
202.
For cancelling the billing document pass the billing document number from
50
TABLES
return
= it_bapireturn1
success
= it_bapivbrksuccess.
203.
204.
Moving of request :
You want to move a task to another request. For instance, you want to move the development/
correction task DV4K901149 from the request DV4K901148 (Test CTS, request 1) to the request
DV4K901152 (Test CTS, request 2).
Select the task you want to move and choose the utility Reassign Task from the menu:
51
Specify the request which the chosen task will be moved in (target request):
52
205.
Request Tables:
E070
->
E070A
->
E070C
->
E070CREATE ->
E070DEP
->
E071
->
E070TC
->
206.
207.
The T Code NACE is used to link the Standard SAP forms (SCRIPT FORM or SMARTFORM) or the
customized form or the new form to its respective print programs. Also the output types, Form
entry are linked with their forms and print programs.if you create the output type using NACE then
it will be automatically visible in table NAST and TNAPR.
208.
53
209.
210.
211.
212.
213.
BAPI_GOODSMVT_CREATE
Is
used
to
post
goods
receipt
from
purchase
order .once posting is successful it will create material document no. which is visible at
MB03 transaction.
214.
215.
216.
217.
218.
219.
221.
222.
223.
CONVERSATION_EXIT_CUNIT_OUTPUT
224.
CONVERSATION_EXIT_ATINN_INPUT
226.
227.
SELECT - ENDSELECT :
Select .. endselect is used if you want to operate on each record that you will get from the
database.
54
228.
SELECT - SINGLE:
IF ALV text is not appear as per language that time check this field. In which table
231.
232.
233.
234.
235.
236.
237.
A classic BAdI can be called only once and the call positions are registered centrally.
With the classical BAdIs, the filter values are stored in a structure and passed with the
call of the BAdI methods. With classic BAdIs, a BAdI object is created by calling a factory
method, and referenced via a reference variable of the type of the BAdI interface.
238.
New BAdIs, multiple calls are possible and the call positions are not registered
centrally.With the new BAdIs, the comparison values for the filters used to search
for implementations are passed when the BAdI object is created with the GET BADI
statement.With new BAdIs, a BAdI object is created via the ABAP statement GET BADIas a
handle for the calls of BAdI methods, and referenced via a reference variable of the type of
the BAdI. A BAdI object is an instance of an internal BAdI class, which otherwise is invisible
to the outside.
239.
Application Log provides an infrastructure for collecting messages and exceptions in a log, saving,
reading and deleting logs in the database and displaying them.
There are different transactions for use of the Application Log.
Developer: Use transaction SLG0 to define entries for your own applications in the application log.
55
Executable program
Include
program
in SE38
not
able to execute
in any of the
tcode only
included as
sub
program
-
MODULE pool
tcode
create by you
subroutine pool
in tcode se24
in any tcode
only
241.
242.
Left Inner Join: Returns all rows from left to table even if no match in right
243.
SAP Memory
ABAP Memory
Global
244.
- Local
Menu Exit :
Menu exits add items to the pull down menus in standard SAP applications. You can use these
menu items to call up your screens or to trigger entire add-on applications.
SAP creates menu exits by defining special menu items in the Menu painter. These special entries
have function codes that begin with + (a plus sign). You can specify the menu items text when
activating the item in an add-on project. along with Menu exits SAP also provides the function
module exit to attach the functionality for each menu option. We can add custom menu in two
places:
56
245.
User exit:- A user exit is a three character code that instructs the system to access a program
during system processing.
SXX: S is for standard exits that are delivered by SAP.
UXX: U is for user exits that are defined by the user. XX represents the 2-digit exit number.
user exits are available only for SD module.user exits make use of forms(subroutines. user exits
have the option to access global data.User exits are
namespace.You require access key to make changes.customer exits are not reusable
Customer exit:- The R/3 enhancement concept allows you to add your own functionality to SAPs
standard business applications without having to modify the original applications. SAP creates
customer exits for specific programs, screens, and menus within standard R/3 applications. These
exits do not contain any functionality. Instead, the customer exits act as hooks. You can hang
your own add-on functionality onto these hooks.customer exits are available for all the modules
such as MM,SD,FI , etc.customer Exits make use of Function modules . customer exits we can only
access the import/export/changing/tables parameters of the Function modules . customer exits are
restrictive and consistent. Created in customer namespace.You dont require access key to make
changes.customer exits are reusable.
246.
Menu Exits:
Menu exits add items to the pulldown menus in standard SAP applications. You can use these
menu items to call up your own screens or to trigger entire add-on applications.
SAP creates menu exits by defining special menu items in the Menu Painter. These special entries
have function codes that begin with "+" (a plus sign). You specify the menu items text when
activating the item in an add-on project.
57
Screen Exits :
Screen exits add fields to screens in R/3 applications. SAP creates screen exits by placing special
subscreen areas on a standard R/3 screen and calling a customer subscreen from the standard
screens flow logic.
Field Exits:
Field exits allow you to create your own programming logic for any data element in the Dictionary.
You can use this logic to carry out checks, conversions, or business-related processing for any
screen field.
number. You might want to set up your R/3 System so that all international location numbers are
larger than 100.
247.
Deep structures contain at least one deep component at any nesting level.
248.
250.
251.
Table maintenance generator is used to create entries add, modify, delete record
from database table. SM30 creation. SE11 menu Option , SE37 - delete tmg.
252.
Single step: Only overview screen is created i.e. the Table Maintenance Program
will have only one screen where you can add, delete or edit records.
58
253.
Two step: Two screens namely the overview screen and Single screen are created.
The user can see the key fields in the first screen and can further go on to edit further
details.
254.
255.
'FOR ALL ENTRIES' statement which allows you to build an internal table and then
restrict the database select to only get entries contained in it.Things to remember before
using for all entries:
-
Always select all the key fields, even you are not using the fields further in program.
Check table is not blank before using for all entries. i.e If not it_tab1[] is initial.
AT Exit-Command in MPP:
Automatic field checks can be avoided by AT EXIT-COMMAND. Which works exactly the same way
as cancel.As a rule, type E functions should allow the user to leave the screen. Consequently, the
function codes for Back (F3), Exit (Shift + F3), and Cancel (F12) usually have type E.
Calling a PAI Module for Type E Functions When the user chooses a function with type E, the
screen flow logic jumps directly to the following statement:
59
EXIT command will come out of the program if used inside an IF condition.
Never use an EXIT command inside a USER EXIT because it pulls you out of the program.
258.
259.
260.
Code Inspector:
-The Code Inspector is a tool for checking static ABAP coding and DDIC objects.
-Single object checks from the Development Workbench You can check a single object with the
Code Inspector from the ABAP Editor (transaction SE38), the Function Builder (transaction SE37),
the Class Builder (transaction SE24), or the ABAP Data Dictionary (transaction SE11). To do this,
choose <object> > Check > Code Inspector from the menu, where <object> can be a program,
function module, class, or table. The respective single objects are then checked with a default
check variant.
-Checks on transport objects from the Transport Organizer
-You can invoke the Code Inspector from within the Transport Organizer (transaction SE09)
to check objects in a transport request. To do this, choose Request/Task > Complete Check >
Objects (Syntax Check). Checks on sets of objects from transaction SCI.
261.
Include variant to transport request SE38 > RSTRANSP > F8 > Click on Tick > select
60
263.
I suppose you wrote a z-report which perform some CALL TRANSACTION 'XK01' USING ...
Create a transaction that executes your z-report, and add the couple calling/called transaction in
table TCDCOUPLES with field OKFLAG initial. So no authorization check will be performed.
264.
The Internal Program Environment simply allows you to see what internal objects (modules,
subroutines, messages etc..), external objects (tcodes, reports, function modules etc..), internal
operations (READ, MODIFY, DELETE) and external operations (SELECT, MODIFY etc..) a ABAP
program uses. To access it go to transaction SE38 and select the 'Utilities->Internal Program
Environment' option On the next screen simple choose the objects/operations you want to query.
265.
The database utility is the interface between the ABAP Dictionary and the relational database
underlying the R/3 System.You can use the database utility to edit all the database objects that
are generated from objects of the ABAP Dictionary.These are database tables that are generated
from transparent tables or physical table pools or table clusters, indexes, database views.The
database structure of a table can be adjusted to its changed ABAP Dictionary definition in three
ways:
By deleting and recreating the database table The table is deleted in the database. The
revised version of the table is then activated in the ABAP Dictionary and created again in
the database. Data in the table is lost during this process.
By changing the database catalog (ALTER TABLE) Only the definition of the table is
changed in the database. Data in the table is retained. The indexes on the table might have
to be rebuilt.
By converting the table . The database table is renamed and serves as a temporary
buffer for the data. The revised version of the table is activated in the ABAP Dictionary
and created in the database. The data is reloaded from the temporary buffer to the new
database table (with MOVE-CORRESPONDING) and the indexes on the table are built.
61
The database utility provides a number of options for administering and monitoring requests
for database modifications. You can perform these functions directly in the initial screen of the
database utility.You can:
266.
BAPI
BDC
Slow
No updates
BIG
yes- SM35
No
If there are n records then bdc_insert will call N times but bdc_open and bdc_close
269.
270.
271.
272.
273.
274.
275.
62
276.
open dataset, read dataset , close dataset : read file from Application server.
277.
BAPI
RFC
NO
NO
NO
FM
NO
278.
279.
280.
281.
Lock Types:
283.
If a screen field refers to a domain with a conversion routine, this conversion routine is executed
automatically when entries are saved in this screen field or when values are displayed in this
screen field. The conversion routine of the domain is also triggered when the field contents are
output with the WRITE statement.ABAP statements that result in an interruption of processing
(such as CALL SCREEN, CALL DIALOG, CALL TRANSACTION, SUBMIT, COMMIT WORK, ROLLBACK
WORK, MESSAGE I, MESSAGE W) are not allowed in conversion routines.
284.
Serial
Transaction
No
Code
Function
63
ABAPDOCU
Example Library
ABAPHELP
Keyword Documentation
AL03
AL05
AL08
DB01
DB02
DB03
DB05
10
DB12
Backup logs
11
DB13
12
PFCG
Role Maintenance
13
RZ06
14
RZ08
15
RZ10
16
RZ20
17
RZ21
18
RZ11
19
SA38
ABAP Reporting
64
20
SCAM
CATT Management
21
SCAT
22
SCC1
23
SCC3
24
SCC4
25
SCC5
Delete Clients
26
SCC6
Client import
27
SCC7
28
SCC8
Client export
29
SCC9
30
SCCL
31
SCDO
32
SCMP
Table comparison
33
SCU3
Table History
34
SCI
Code Inspector
35
SE01
36
SE06
37
SE09
Transport organizer
38
SE10
Customizing organizer
39
SE11
65
40
SE12
41
SE15
42
SE16
43
SE17
44
SE37
45
SE38
ABAP Editor
46
SE41
Menu Painter
47
SE51
Screen Painter
48
SE71
Form Painter
49
SE80
Object Navigator
50
SE93
Maintain Transaction
51
SFT2
52
SFT3
53
SHDB
Transaction Recorder
54
SICK
Installation check
55
SLIN
Extended Check
56
SM01
Lock Transactions
57
SM04
Overview of users
58
SM13
Update terminates
59
SM21
System Log
66
60
SM30
61
SM31
Maintain tables
62
SM35
63
SM37
64
SM39
Job analysis
65
SM49
66
SM50
67
SM51
Instance overview
68
SM58
69
SM59
70
SM63
71
SM66
72
SM69
73
SP00
Spool
74
SP01
Spool control
75
SP02
76
SP11
77
SP12
TemSe administration
78
SPAD
79
SPAM
67
80
SPAU
81
SPIC
82
ST01
83
ST06
84
ST07
Application Monitor
85
ST09
86
ST11
87
ST12
Application monitor
88
ST22
Dump Analysis
89
STAT
90
STUN
Performance monitoring
91
SU01
User maintenance
92
SU02
93
SU03
Maintain authorizations
94
SU10
95
SU12
96
SU2
97
SU53
98
SM12
99
SAAB
68
100
SALE
101
CG3Y
102
CG3Z
103
NACE
104
ST05
105
SE30
106
SE61
SAP Documentation
107
SE62
Industry Utilities
108
SE63
109
SE64
Terminology
110
SE72
SAPscript Styles
111
SE73
112
SE74
113
SE75
SAPscript Settings
114
SE76
115
SE77
116
smartforms
Smartforms
117
Wedi
118
we31
Segment creation
69
119
we30
120
we81
285.
Initiation events triggers only once while displaying 20 pages list but top_of_page
287.
X : Exit
288.
289.
290.
291.
292.
293.
294.
295.
296.
297.
298.
299.
300.
301.
T code: MIRO
In the Transaction field, select Invoice.
Enter the date on the invoice in the Invoice date field, the invoice number in the
Reference field, the Amount, the Tax amount and the order number.
Match and make any changes to the cost of the items by selecting the line and
changing the amount to the net amount on the invoice.
Simulate the posting of the document. This should balance to 0.00.
Save the verification.
Record the Document Number on the invoice ready for the payments office.
70
302.
303.
304.
305.
306.
307.
308.
309.
Table
Table
Table
Table
Table
Table
Table
:
:
:
:
:
:
:
GET_PRINT_PARAMETERS
CALL FUNCTION 'GET_PRINT_PARAMETERS'
EXPORTING
mode
= 'CURRENT'
IMPORTING
out_archive_parameters = ls_arc_parameters
out_parameters
= ls_print_parameters
EXCEPTIONS
OTHERS
= 0.
ARCHIVE_OPEN_FOR_WRITE
CALL FUNCTION 'ARCHIVE_OPEN_FOR_WRITE'
EXPORTING
call_delete_job_in_test_mode = xdel_test
create_archive_file
object
= archive_file
= c_arch_object_re
comments
= p_text
IMPORTING
archive_handle
= handle.
ARCHIVE_PUT_RECORD
CALL FUNCTION 'ARCHIVE_PUT_RECORD'
71
EXPORTING
archive_handle
record
record_flags
= handle
= a_record
=''
record_structure = a_structure.
ARCHIVE_NEW_OBJECT
CALL FUNCTION 'ARCHIVE_NEW_OBJECT'
EXPORTING
archive_handle = handle
object_id
= objectid.
ARCHIVE_SAVE_OBJECT
CALL FUNCTION 'ARCHIVE_SAVE_OBJECT'
EXPORTING
archive_handle = handle.
ARCHIVE_CLOSE_FILE
CALL FUNCTION 'ARCHIVE_CLOSE_FILE'
EXPORTING
archive_handle = handle.
ARCHIVE_WRITE_STATISTICS
CALL FUNCTION 'ARCHIVE_WRITE_STATISTICS'
EXPORTING
archive_handle = handle.
ARCHIVE_GET_INFORMATION
CALL FUNCTION 'ARCHIVE_GET_INFORMATION'
72
EXPORTING
archive_handle
= handle
IMPORTING
archive_creation_date = date
archive_name
= name.
CHANGEDOCU_ARCHIVE_OBJECT
CALL FUNCTION 'CHANGEDOCU_ARCHIVE_OBJECT'
EXPORTING
archive_handle
objectclass
= handle
= c_cd_objectclass_re
objectid
= objid.
CHANGEDOCU_ARCHIVE_OBJECT
CALL FUNCTION 'CHANGEDOCU_ARCHIVE_OBJECT'
EXPORTING
archive_handle
objectclass
objectid
= handle
= 'INCOMINGINVOICE'
= objid.
SELECT_TEXT
CALL FUNCTION 'SELECT_TEXT'
EXPORTING
id
= stxh-tdid
language
= stxh-tdspras
name
object
= textname
= 'RBKP'
IMPORTING
entries
= txt_entries
TABLES
73
selections = txt_tab.
TEXT_ARCHIVE_OBJECT
CALL FUNCTION 'TEXT_ARCHIVE_OBJECT'
EXPORTING
archive_handle
client
= handle
= sy-mandt
id
= txt_tab-tdid
language
= txt_tab-tdspras
name
= txt_tab-tdname
object
= txt_tab-tdobject
object_delete_flag = 'X'.
310.
311.
312.
313.
314.
315.
316.
tdokuimgr
INTO
docu_object
317.
318.
74
319.
Suppose if you want to print the first page on the letter head which is in tray 1 of the printer and
rest of the pages on plain sheet which is on printer tray 2. Then create 2 pages say FIRST page
and SECOND page. Make SECOND page as the Next page for both FIRST and SECOND page under
general attributes tab.
It is possible to print different pages of smart forms on papers from different trays of the same
printer.According to SAP Note 189618, The paper tray can be controlled at two points with the new
form tool "Smart Forms" .Then maintain TRY01 as Resource Name in Output options of FIRST page
and maintain TRY02 as Resource Name in Output options of SECOND page.
320.
BAPI_AGREEMENTS
321.
Ok_Code is variable that defined like sy-ucomm. Contains value of Sy-ucomm , in
ABAP it is good practice to refer sy-ucomm.
322.
Micro can be called to program as well as can have 9 parameters , define - end of
selection.
323.
Subroutine is global , can have numbers of parameters , form - end of form
324.
Purchasing Table : S012
325.
Consignment Process :
Material kept at customer side , then movement type 601 , movement type 603 called
goods issue , pickup 605.
326.
327.
328.
329.
330.
331.
BDC Structure:
Program Char40
BDC Module pool
Dynpro
Numc
BDC Screen Number
Dynbegin Char1
BDC Screen Start
fnam
Char12
BDC field name
fval
char132
BDC Value
75
332.
BDCMSGCOLL : Used for trap error
333.
when error found in BDC that is caught using function module format_message
and stored into ITAB.
334.
SM35 Stages - Processed , Being Recorded , Incorrect , Batch.
335.
STMS : t- code is used to transport request into another clients.
336.
BDC session can be locked from toolbar.
337.
Integration Module : Cross Module testing
338.
Unit testing : Module which is going to implement
339.
Tables : T179T : Product Hierarchy tables
340.
Tables : KNA1 : Customer Tables
341.
Tables : KONV : Condition transaction data
342.
Block SD Document : VKM1
343.
LINE SIZE : Line is used to determine width of output list. length specification is not
allowed in string.
344.
Hide Stored the contents of field to current line. We can create up to 21 list.
345.
Work Process execute the individual dialog process
346.
Chain - Endchain : used for multiple validation
347.
Select Option in module pool always used for Subscreen area declaration.
348.
Transaction variants used for inserting , default values for field , hiding and changing
field to record only as well as hiding menu options.
349.
Types of Variants :
Initialization , At selection screen (IS PAI Events) , Start of selections, End of Selections.
352.
SY-STEPL:
Refers to index of screen tables , that is currently processed. it has important during loop endloop. outside the loop it has no valid value.
353.
354.
76
A form consists of pages, output areas, addresses, graphics (such as company logo, Scanned
Signature Of HR Manager), and data or text contents. Within an output area, you can use static or
dynamic tables to display data or texts in lines, columns, or cells. To further structure and format
text and data, use paragraphs with the paragraph and character formats. In SAP we call output
areas as Windows.
355.
MAIN Window is used to Print the Dynamic Length Items, Sales Order Items.
356.
Secondary Window :
In a secondary window you display text and data in predefined output area. There is no flow text
display with page breakup. If you position a secondary window with same name on several pages ,
the system displays the contents of this window on each page.
357.
Final Window :
You may want to display or query values on the first page that are determined only during
processing. For example, you may want to name the grand total in the letter text of an invoice.
However, this amount is determined only after listing all individual items. Or you may want to
query on the first page within a condition the total number of pages, which the system calculates
only after processing all pages.
358.
359.
360.
361.
Global Definitions in detail: Form Variables, Which Can be accessed from any
What is OOS Note : Online service note. SAP tries to solve problem by providing
OSS notes.
77
78
78