100% found this document useful (1 vote)
649 views79 pages

Abap Master

This document contains technical questions and answers related to ABAP. It discusses topics like what ABAP is, how it is used to develop business requirements in SAP systems, the different object types in ABAP like reports and forms, how to create client independent tables, and differences between TYPE and LIKE. It also addresses questions about BDC recording, how programs are stored, comparing programs, data classes, foreign key relationships, and various ABAP statements and events.

Uploaded by

zafarwkhan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
649 views79 pages

Abap Master

This document contains technical questions and answers related to ABAP. It discusses topics like what ABAP is, how it is used to develop business requirements in SAP systems, the different object types in ABAP like reports and forms, how to create client independent tables, and differences between TYPE and LIKE. It also addresses questions about BDC recording, how programs are stored, comparing programs, data classes, foreign key relationships, and various ABAP statements and events.

Uploaded by

zafarwkhan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 79

MASTER TECHNICAL QUESTION IN ABAP:

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.

How to create client independent tables?

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.

What is the difference between Type and Like?

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.

Which one is not an exit command ? (Exit, cancel, stop, back)

The statement STOP is only to be used in executable programs


If the EXIT statement is executed outside of a loop, it will immediately terminate the current
processing block.
Back statement positions the list cursor on the first position of the first line in a logical unit.
So "Cancel" is not an exit command.
9. What is the difference between synchronous and asynchronous update?

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.

11. What is BDC recording?


In BDC recording you record the transaction through which you want to upload data. This tool will
create a program for you and you don't need to create the program manually. You can code both
call transaction and session method using this tool .
12. Which table stores the Programs created?
Table: TRDIR
13. How can we compare two programs
Ans: SE30

14. Describe data classes.


Master data: It is the data which is seldomly changed.
Transaction data: It is the data which is often changed.
Organization data: It is a customizing data which is entered in the system when the system is
configured and is then rarely changed. System data:It is the data which R/3 system needs for
itself.

15. What is foreign key relationship?


A relationship which can be defined between tables and must be explicitly defined at field level.
Foreign keys are used to ensure the consistency of data. Data entered should be checked against
existing data to ensure that there are now contradiction. While defining foreign key relationship
cardinality has to be specified. Cardinality mentions how many dependent records or how
referenced records are possible.
16. The following statements will clear the header-line of an internal table:
Ans: CLEAR ITAB.
17. The AT-SELECTION-SCREEN event is triggered when.
Ans: ENTER key is hit on the selection-screen & F8 key is hit on the selection-screen
18. The statement used to clear all the contents of an internal table is.
Ans: REFRESH itab & FREE itab.
19.In an ABAP program, the INITIALIZATION event is invoked
Ans: Before the AT-SELECTION-SCREEN event.
20.

In a BDC program, how would you handle errored records? Would you

b)

Report the errored records

c)

Generate a batch-input session with errored records

d)

Create an output file, to be run again after corrections.

21. The transaction CMOD and SMOD are


a)

Used to create enhancements to standard SAP programs.

c)

Used to create the user exits, menu exits and screen exits.

22. To output SAPscript layout sets, in the print program

a)

You must always start the output with OPEN_FORM and end it with CLOSE_FORM.

c)

WRITE_FORM should be used within an OPEN_FORM and CLOSE_FORM.

23. A database commit is triggered by


a)

ABAP/4 command COMMIT WORK.

b)

CALL SCREEN, CALL DIALOG.

c)

A Remote Function Call

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.

25. What are field symbols?


a) Field symbols are like pointers in C that can point to any data object in ABAP/4
d)

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)

The first record is fetched

27. The fastest way to read a value in an internal table is to:


c)

Directly specify the index value

28. If COLLECT is used on an internal table, which has a non-key character field.

c)

Compilation error

29. Which is the correct syntax for sorting an internal table?


b)

SORT ITAB BY key1 key2.

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

33. The DESCRIBE statement on internal tables is used to:


a)
Find the number of lines currently in table
b)
Find initial size of the table
c)
Find type of the internal table
34. Which of the following statements can work without a corresponding ENDstatement?
d)

SELECT

35. In an ABAP program, we can specify a variable to be of HEXADECIMAL type.


a)
TRUE
36.In an ABAP program, we cant specify a variable to be of OCTALL type.
37.The default length of a field of type time(T) in an ABAP program is:
a)
6
38.The various numeric types definable in an ABAP program are:
a)
I, F, P,
39.Variables in an ABAP code can be defined as being similar to data-dictionary
elements, using:

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)

When the First Write Statement of the program is encountered.


Before outputting the first line on a new page.

49. Following are the Control Level Statements.


1.

AT FIRST......ENDAT : To display the required data at the beginning of the internal table.

2.

AT LAST......ENDAT

3.

AT NEW <COL>......ENDAT :

: To display the required data as LAST line of the internal table.

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

once using the control level statement

At End of <column name>.The columns to

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.

54.AT SELECTION SCREEN OUTPUT


This is called just before the selection screen is displayed and can be used to manipulate the actual
selection screen attributes using the loop at screen functionality. This allows you to do things like
hide fields, grey them out so they are output only or make them intensified etc.
LOOP AT SCREEN.
IF SCREEN-name = 'P_FIELd1'.
SCREEN-INTENSIFIED = '1'.
MODIFY SCREEN.
CONTINUE.
ENDIF.
ENDLOOP.

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.

57.Events in Classical Reports


-Load-of-program
This event is used to load program into memory for execution and this is the first event in
execution sequence.
-Initialization
This event is used to initialize variables, screen default values and other default actions.
-At Selection-Screen output
By using this event we can manipulate dynamic selection-screen changes.
-At Selection-Screen on field
-At Selection-Screen
-End-of-Selection
-Top-of-Page
-End-of-Page

58. SAP ABAP Field Symbol:


A field symbol refers or points (pointers known as in C language) .
For our purpose let us consider MARA table as the refering table and MATNR field as the referring
field.

Definition :
field-symbols: <fs_tab> type standard table,
<fs_wa> type mara.

Data : itab_mara like mara occurs 0 with header line.


All we have to do is before using <fs_tab> we have to write
Assign : itab_mara[] to <fs_tab>.
You can now use <fs_tab> and whatever changes you make to <fs_tab> reflects to itab_mara.

Loop at <fs_tab> assigning <fs_wa>.


<fs_wa>-matnr = 11.033456-008.
Endloop.

Now this automatically refer to <fs_tab> which will automatically modify itab_mara[].

field-symbols: <fs_tab> type standard table,


<fs_wa> type mara.
data : itab_mara like mara occurs 0 with header line.
select * from mara up to 10 rows into table itab_mara.
assign : itab_mara[] to <fs_tab>.

loop at <fs_tab> assigning <fs_wa>.


<fs_wa>-matnr = 'NEW CHANGE MATERIAL'.
endloop.

59. Field catalog:


Field catalog is a format description of the display area.
60.There are three procedures to build a FIELD CATALOG.

10

1. Automatic field catalog: parameter 'I_STRUCTURE_NAME'.


2. Semi-automatic field catalog: In this case we can call a function module
(LVC_FIELDCATALOG_MERGE)
3. Manual field catalog: LVC_T_FACT and populate it manually.

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

63.Copy SAP scripts between clients:


Go to the target client and execute program RSTXFCPY.

64. Conversion of Standard Text into OTF and ITF formats


Create standard text using SO10

65.Uploading TIFF files and using them in SAPscript

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.

66. Assign Standard Texts to the transport request


using standard report RSTXTRAN.
67.How are the borders defined in the layout set?
Using the following new text commands:
1. /: BOX [XPOS] [YPOS] [WIDTH] [HEIGHT] [FRAME] [INTENSITY]
2. /: POSITION
[XORIGIN] [YORIGIN] [WINDOW] [PAGE]
3. /: SIZE
[WIDTH] [HEIGHT] [WINDOW] [PAGE]
1. /: BOX [XPOS] [YPOS] [WIDTH] [HEIGHT] [FRAME] [INTENSITY]
Effect
: Draws a box at this position with the specified size.
Additional : XPOS, YPOS, WIDTH, HEIGHT and FRAME always require
68.Shades the window background with a density (gray shade) of 10 %
/: BOX HEIGHT 0 TW FRAME 10 TW

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

71. Printing internal table contents dynamically in SAPScript:


1.DEFINE &SAPSCRIPT-COUNTER_0& = -1
2.ELEMENT
3.BOX YPOS &SAPSCRIPT-COUNTER_0(+)& LN WIDTH '2' CM HEIGHT '1' LN
FRAME 10 TW
DEFINE 4.&SAPSCRIPT-COUNTER_0& = &SAPSCRIPT-COUNTER_0(-)&
5.BOX YPOS &SAPSCRIPT-COUNTER_0(+)& LN XPOS '2'CM WIDTH '10' CM HEIGHT '1'LN FRAME
10 TW
6.&itab-matnr&
&itab-maktx&

12

72. Setting up a new page format in SAP Script


using SPAD
73. Different Types of Selection Screens:
1. at selection-screen on field :
This event occurs after the runtime environment has passed all input data from the selection
screen to the ABAP program.
2. at selection-screen output :
- Triggered in PBO of selection-screen.
- This allows you to modify the Selection-screen, before it is displayed.
3. at selection-screen block:
- PAI Event
4. at selection-screen on value-request :
- This event is triggered for F4 help.
5. at selection-screen on help-request and their difference?
- This event is triggered when the user clicks F1 for help on fields.
74. Append Structure:
Append structures are used for enhancements that are not included in the standard.An append
structure is a structure that is assigned to exactly one table or structure.The following
enhancements can be made to a table or structure TAB with an append structure:

Insert new fields in TAB,

Define foreign keys for fields of TAB that already exist,

Attach search helps to fields of TAB that already exist,

75. Include Structure :


We cannot Include structure to Standard Table. It can be inserted anywhere in the Table.we can
use include structure in more than one table.
76. Transaction SPDD:
This is for data dictionary corrections. If any standard tables have been modified, then that
object appears in the list and you have to adjust it again after comparing the versions.OSS note
adjustment is also a part of SPDD, where we either reset the OSS note (It will come default

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

A: Application table (master and transaction data).


C: Customer table, data is only maintained by the customer.
L: Table for storing temporary data.
G: Customer table.

80. Size Category:


Size Category defines expected space, which is required for table in the database. You can
choose a size Category from 0 -4. Each Category is assigned a certain fixed memory size in
database. When table is created initial space is reserved in the database.
81. Technical setting :

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

82. SD FLOW (order to cash Flow):


Inquiry
>
Quotation
>
Purchase order >
Sales Order >
Delivery
>
Shipping
Billing
Invoice
>

VA11
VA21

> VBAK-VBAP
>VBAK-VBAP
ME21N
>EKKO-EKPO
VA01
>VBAK-VBAP
VL02N
>LIKP-LIPS
>
VT01
>VTTK-VTTP
>
VF01
>VBRK-VBRP
VF21
>VBRK-VBRP

83. LSMW Steps:


- Maintain object Attributes
- Maintain Source Structures
- Maintain Source Structure
- Maintain Structure relation
- Maintain field mapping and conversation rules
- Maintain fix value
- Specify file
- Assign file
- Read File
- Display read data
- Create Batch input screen
- Run Batch input screen

84. Diffcurance:
Select single fetch first matching records whereas select up to 1 rows fetch all matching records
into database.

85. Open SQL : Insert , Update , Modify , Delete.


86. Get last records and count Entries:
Data : V_COUNT TYPE I.
DESCRIBE TA BLE IT_ITAB LINES V_COUNT.
READ TABLE IT_ITAB INTO WA_ITAB INDEX 1.

15

87. Concept of Foreign Key:


Foreign key is used to describe relationship between difficurent tables. Used of foreign key table is
to validate data being entered into one table by checking valid set of rules into check tables.

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.

89. SAP MM Cycle:


PR
>
ME51
RFQ
>
ME41
Quotation
>
ME41N
Quotation Compare
>
Purchase Order
>
GRN
>
Invoice
>
Vendor payment finally.

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.

91. CALL TRANSACTION SYNTAX:

CALL TRANSACTION MM03-------------T-CODE


USING BDCDATA
-------------BDC STRUCTURE
MODE A/E/N
-------------- PROCESING MODE
UPDATE S/A/L
-------------- UPDATE MODE
MESSAGE INTO BDCMSGCALL.--------- ERROR HANDLING

92. Check Tables:


Check tables used for validation whether data is exit or not. Its validation at field level. It checks
both transaction data as well as master data.
93. Value table:

16

Value table maintained at domain level. In this we entered allowed values. Then system used only
entered values.
94. Find BAPI:
-

Find out package and used that package into SE80


Open Business Engineering
Double click
Open methods
Under methods find out require logic and implement logic

95. OVAS T-code


OVAS used for configuring block sales document type reason and its effect can be seen in XD05
means customer blocks and unblocks.

96. ALV layout can be transported

97. Diffcurance smart forms and SAP Script


-

Multiple page format supported


Independent
Use of copy window
XML output supported
Generate function modules
Color functionality
Main window must or not

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.

100. Set Screen :

17

Call to next screen and return to back screen is not automated in this case.

101. CALL Screen:


With call screen current screen suspended and next screen called after that called screen called to
suspended screen by using LEAVE SCREEN TO SCREEN 0.

102. SM37 : Overview batch runs of programs.


103. MD04 : Stock requirement list
104. SM59 : RFC setting
105. LS26 : Stock Overview
106. LT09 : Create transfer order for storage unit
107. Find out vendor code using : MD04
108. Cluster Table cant buffered.
109. SO10 : Standard text : request
100. Standard delivery document type
-

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 :

VKM3 : Released Block document


MRBR : Released Block Invoice
EORD : Source list details
EKET : Delivery schedules
MDTB : MRP tables

18

118. Tables : MVER : Matriel source Consummation


119. Tabstrip Control:
A tabstrip control is a screen object consisting of two or more pages. Tabstrip controls allow you
to place a series of screens on a single screen.To use a tabstrip control in your ABAP program,
you must create a control for each in the declaration part of your program using the following
statement:
CONTROLS <ctrl> TYPE TABSTRIP. Which is always in PBO.
120. System Fields:
System fields are set at the PAI (Process After Input) event for every screen.These can be also
used for interactive list processing, except for SY-DATUM, SY-LOOPC, and SY-STEPL. SY-SLSET
Variant used to fill the selection screen.

121. Changing the title of the standard SAP screen:


To change the title of the standard SAP screen, follow these steps:
1. Execute transaction SE63
2. Follow the menu path -->translation -->shorttext -->transactions
3. Enter the transaction code and press EDIT. (check whether the target language is set to
ENGLISH)
4. You will get the existing title on the first line. In the second line, you can edit that title.
5. Now click on SAVE to save the changes
6. Now execute that transaction to check the change in the title
7. You can also translate Menu texts, screen texts and others using this SE63 transaction.
122. Block Billing document : VFX3
123. Standard Billing Document Type in SD:

Billing Document Type

Name

F1

Delivery-related invoice

19

F2

Delivery-related invoice

F5

Pro forma invoice for sales order

CR

Credit memo

L2

Debit memo

RE

Credit memo for returns

S1

Cancellation invoice

S2

Cancellation credit memo

124. Outbound delivery Transactions:


VL01N -

VL02N -

VL03N

125. Standard Shipment Process:


1. Creation of Sales Order
2. Creation of Outbound Delivery
Shipment process will start from here
3. Creation of Condition Record for Forwarding Agent,
4. Creation of Shipment Document,
5. Creation of Shipment Cost Document,
A) PO and service entry sheet will be created automatically by the system.
6. Enter Vendors Invoice (Invoice receipt and verification).

126. Standard Delivery Billing Document Type:

20

Name

Delivery type

Outbound delivery

LF

Outbound delivery without reference

LO

Returns delivery

LR

Replenishment delivery

NL

Inbound delivery

EL

R/2-R/3 Link

LD

127. Warehouse stock

: MB51

128. Stock In Transit

: MB5T

129. plant Stock

: MB53

130. Stock for Posting

: MB5B

131. Reverse Document : FB08


132. HR Infotypes:
Infotypes are units of information in the Human Resource Management System. Examples:
- 0022 : Education

0002 : Personal Action

- 0041 : Dates Specification

0006 : Action

- 0008 : Basic Pay

0143 : Life Insurance

- 0040 : Objects on Loan

0023: previous employer

- 0034 : Corporate function

0041 : dates specification

21

- 0005 : Bank Details


- 1035 : Training
- 0021 : Family
- 0016 : Contract Element
133. Material listing and exclusion in sap sd:
Material listing and exclusion lets you control which materials specific customers may or may not
buy.
If you create a material listing for a specific customer, the customer can only order products from
that list. You can also create a master record for material exclusion for a particular customer. Then
the customer can not order excluded materials from you.
Material listing applies to two partner functions in Sales & Distribution: the sold-to party and the
payer.
Customizing:
You make the settings for this in Customizing for SD Basic Functions.

134. Interactive Report Events:


- AT-LINE SELECTION

: Double Click , new list is generated

- AT USER COMMAND

: Function code based

- AT PF-STATUS

- TOP-OF-PAGE DURING LINE-SELECTION : New Page Start and trigger at each page.

135 . SUBSCREEN IN ABAP:


- A Sub screen is nothing but a screen with in a screen.
- Subscreens allow you to embed one screen within another at runtime.
- Displaying of data of (sub screen) in the other screen (normal screen) is done by using sub
screens.
- GUI status cannot be set to the sub screen.
- OK CODE is not applicable to the sub screen.
- Sub screen cannot call another screen.
- It cannot contain AT EXIT-COMMAND.

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 :

PROCESS AFTER INPUT.

CALL SUBSCREEN <area>.

136 . SAP PP Tables:

137. Enhancement Framework:

A) Implicit Enhancements:

23

B) Explicit Enhancements:
Enhancement point

Require Access key .

Enhancement point can be static or dynamic.


Enhancement Section

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

138. Kernel Badi :

25

139. Table Enhancement Category:


Each option means..

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

would display a warning while activating the table.


What option to select:
Based on your requirement and the nature of the table, you need to decide what type
enhancement power you want to provide for the future. If you provide at can be enhanced, it
would be most dangerous options as the table or structure can be than enhanced in any different
way.
Many times I noticed that developers choose incorrect enhancement category when they design
the table and structures. It is important to properly select this category to make sure your overall
software is enhance-able.

140. BTEs - Business Transaction Events :

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)

Search the source code for for "OPEN_FI_PERFORM" og " OUTBOUND_CALL_"

26

Use transaction FIBF menu Environment->Info System (P/S ). Use the Documentation
button to see the documentation for the BTE.

Implementing the BTE

Goto transaction FIBF menu Environment->Info System (P/S )

Select the BTE you want to implement. (as below)

Double click on Sample function module

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

Edit the code in the new function module:

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

And thats all, we only need to save and activate.

141. SOST - Emails triggering

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_INIT is used to start the ALV block list

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.

144. How display header more than 60 characters?

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

I_CALLBACK_HTML_TOP_OF_PAGE parameter of ALV function module. The input parameter for


this subroutine will be a variable of class CL_DD_DOCUMENT.
*-----------------------------------------------------------------*
*

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

145. Print events in ALV:


- print_end_of_list
- print_of_list
- print_end _of_page
- print_top_of_page
- subtotal_text

146. ALV for hierarchical lists using the fm REUSE_ALV_HIERSEQ_LIST_DISPLAY

147. Working with Screen Variants :


A screen variant contains field values and attribute for exactly one screen. A screen variant may
be assigned to multiple transaction variants. Screen variants are always cross-client; they may,
however, be assigned to a client-specific transaction. They can also be called at runtime by a
program. The different possibilities for calling screen variants guarantee great flexibility of use.
Screen variants allow you to simplify screen editing by:
Providing default values on the screen fields
Hiding and changing the ready for input status of fields
Hiding and changing the attributes of table control columns

148.

Restricting changes to G/L account in PO:

32

To achieve the above requirement, do the following customization settings: Go to transaction


SPRO > MM > Purchasing > Account assignment > Maintain account assignment category.

149.

How to find the Views maintained for a material

Fields in MARA are VPSTA and PSTAT helps us in identifying the views maintained for a material.
150.

Goods Receipt against PO

Logistics Materials Management Inventory management

Goods Movement MIGO Goods

Movement (MIGO).

151.

Automatic generation of POs from Requisitions:

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)

Automatic Creation of Purchase Order from Requisitions: Transaction Code: ME59N

152.

Check duplicates for the incoming invoices:

Go to transaction SPRO -> SAP Reference IMG -> Materials Management -> Logistics Invoice
Verification -> Incoming Invoice -> Set check for duplicate invoices.
153.

BADI & Why is it?

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.

Transaction code to Implement BADI: SE19


There are two types of BADI's.
1) Multi use BADI:
With this option, any number of active implementations can be assigned to the same definition
BADI. By default this option is checked. If we want the BADI for multiple use If you have multipleuse BADI definitions, the sequence must not play any role.
The drawback in Multiple use BADI is, it is not possible to know which BADI is active especially
in country specific version.
2) Filter dependent BADI:
Using this option we can define the BADI's according to the filter values to control the add-in
implementation on specific criteria.
Ex: Specific country value.

34

154.

Method1 Steps to find BADI:

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


2. Double click on GET_INSTANCE method.
3. Put a break-point on class method CL_EXITHANDLER=>GET_CLASS_NAME_BY_INTERFACE.
4. Run any transaction on which we want find the BADI's say VA01.
5. Give the transaction name VA01 and press enter.
6. It will automatically take you to the break-point which we have set the in the SE24
transaction. Each time if you press F8 a list BADI names will be displayed.
7. You can find the BADI name in field EXIT_NAME and if you double click on it, we can get the
corresponding BADI name before hit the corresponding screen. Based on the requirement find the
BADI name and accordingly implement your functionality using the transaction se19.

155.

Method2 Steps to find BADI:

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.

Method3 Steps to find BADI:

35

Finding the BADI names using SE18 transaction


1) Go to transaction SE18. Select F4 help for the definition name and click on Information System
button as shown below.
2) A pop-up screen will be displayed and give the package name for any standard transaction
say VA02. Finding the package is explained above. Please refer above method to find the package
name. The package name for VA02 transaction is 'VA.'
3) A list of BADI names will be displayed for the transaction VA02. Select the appropriate BADI
name and implement it using T-code SE19.

157.

How to Debug Pop-up window

Create a simple text file on ur drive example debugger.txt containing


[FUNCTION]
Command=/H
Title=Debugger
Type=SystemCommand
drag this file and drop on the dialog box.
it will take you to debugger mode.

158.

Standardized function modules made obsolete !

The following explain how to migrate code to replace

Standardized dialogs obsolete since NetWeaver 7.0 (solutions based on NW 7.0: ECC 6)

(replaced by POPUP_TO_CONFIRM)

POPUP_TO_CONFIRM_STEP (replaced by POPUP_TO_CONFIRM)

POPUP_TO_CONFIRM_WITH_MESSAGE (replaced by POPUP_TO_CONFIRM)

POPUP_TO_CONFIRM_WITH_VALUE (replaced by POPUP_TO_CONFIRM)

POPUP_TO_DECIDE (replaced by POPUP_TO_CONFIRM)

36

159.

POPUP_TO_DECIDE_WITH_MESSAGE (replaced by POPUP_TO_CONFIRM)

Easy Step To Debug a Smartform

After executing smartform it generate function module


there is source code perform global_init
here we can easily find our tables and variables by setting break point there

160.

Operation Activity link to notification:

*# Logic for barcode******************


select single * from afvc into wa_afvc
where aufpl = is_qmel-fertaufpl
and aplzl = is_qmel-pnlkn.
if sy-subrc = 0.
concatenate is_mel-fertaufnr wa_afvc-vornr into
v_aufnr.
condense v_aufnr.
shift v_aufnr left deleting leading '0' .
endif.
*# Logic for barcode******************

161.

New Debugger Skip Breakpoints

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

Once the iteration is reached, system would STOP at the breakpoint.

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.

SE63 for language translation :

In SE63, click Translation -> B5 SAPscript: Forms and Styles> Forms.


163.

BDC Session steps : BDC_OPEN_GROUP, BDC_INSERT, BDC_CLOSE_GROUP,SM35.

38

164.
-

Migration of SAP Script to Smartform:

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.

Migration of Smartform to SAP Script not possible:

166.

How can I debug my SAPscript?

Go to the transaction SE71.

Enter the form name.

Choose the menu Utilities->Activate Debugger to enable debugging.

Or call standard program RSTXDBUG.

To stop debugging, you must print the SAPscript form, and click Exit button in the debugger
window when it is displayed.

167.

How can I copy SAPscripts from one client to another, or export/import

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

Use RSTXSCRP to import/export SAPscripts.

168.

How can I change the page size of the layout?

In the SAPscript, Goto -> Header -> Basic Settings

Here you could configure the page settings and their orientation

169.

How to find the Driver Program for the given SAPscript?

1.

Go to the Table TNAPR using SE11

2.

Get the Contents of the Table(CNTRL+SHIFT+F10)

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

How can I get the landscape format in SAPscript?

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.

How many MAIN windows are allowed for SAPscript?


-

SAPscript allows 99 MAIN windows


-

Each Page can consists up to 99 windows. Each main window is assigned a


consecutive

identifying number (0..98).

This is mainly used for label printing or address printing.

40

172.

Is it possible to create a SAPscript without a main window?

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

Where are the SAPscript form names?

How to assign own form to a standard print program?

Most of applications use NACE transaction, but there are also Print Workbench, PostProcessing Framework.

175.

What are the different types of windows in SAPscripts?

Windows are defined in the Layout sets which define the position and the text to displayed.

The different types of windows are:

MAIN - Main Window


The main window is a continuous window which can extend over several pages. If the text
in the main window fills up a page, a new page is created.Only one main window can be
defined in the SAPscript whereas up to 100 instances of main window can be created in a
page.

VAR - Variable Window


This window can have the variable contents displayed on them. The contents of the window
cannot exceed the window size. The content can be formatted for each page.

41

CONST - Constant Window

The constant window can have a fixed content and is formatted only once

175.
-

How do I create Boxes in SAPscript?

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

What the conditional statements used in SAPscripts?

The following conditional statements are used in SAPscripts:


-/: IF...ELSE/ELSEIF...ENDIF
/: CASE...ENDCASE

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.

How can I trigger new page in SAPscripts?

Use the command NEW-PAGE to trigger a new page in SAPscript.


/: NEW-PAGE

You can explicitly trigger a page not in sequence by specifying the name pf page with the
command NEW-PAGE
/: NEW-PAGE <pagename>

179.

How to Use the New-Window Command?

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.

What is the use of the POSITION and SIZE command in SAPscripts?

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

/: POSITION XORIGIN '2' CM YORIGIN '-1.5' CM

Similarly the SIZE command sets the width and height parameters.
/: SIZE WIDTH '10' TW HEIGHT '10' TW

181.

What is the difference between the SAPscript texts, 'Customer &KNA1-

KUNNR&' and '&Customer KNA1-KUNNR&'?

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.

How can I format the time in the SAPscript?

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.

How can I format the date being displayed in the SAPscript?

The date fields in SAP scripts can be formatted using the SET DATE MASK control command.
/: SET DATE MASK = 'MMMM DD, YY'

183.

Which are frequently Used System Variables in SAPscript?

44

&DATE&

&DAY&

&HOURS&

,&MINUTES&

&MONTH&

,&SECONDS&

&YEAR&

,&PAGE&,&NEXTPAGE&,&SPACE&,

&TIME&

&ULINE&

&VLINE& ,&NAME_OF_MONTH&, &SAPSCRIPT-FORMPAGES& ,&SAPSCRIPT-JOBPAGES&.

184.

How can I prevent page-break in the message that is to be displayed?

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.

How can I print logos in SAPscripts?

TIFF files (*.tif):

Use the program RSTXLDMC to convert the TIFF file to standard text.

Print this using the INCLUDE command:

INCLUDE ZLOGO OBJECT TEXT ID ST

Bitmap files (*.bmp)

Go to transaction SE78

Choose BMAP under GRAPHICS

Choose Import Graphic (F5)

Select the image and upload

45

In SE71 choose Insert->Graphics and then choose the image for display.

186.

How can I display barcodes in SAPscripts?

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.

How can I Word Wrap the text being displayed in SAPscript?

Use the Function Module RKD_WORD_WRAP to wrap the text and use this for output.

186.

How do I create standard texts for the SAPscripts?

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.

How do I bset tabs between the fields in display?

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

Types of Symbol in SAP Scripts:

Standard Symbol

46

System Symbol : &DATE&

program Symbol : &WA_KNA1-KUNNR&.

189.

Formating address : Address - End Address

190.

Upload / Copy / download scripts : RSTXSCRP

191.

SAPSCRIPT to pdf : RSTXPDFT4

192.

EPC called as Extended program check it checks the automatic check , outdated

statments, hidden messages, code inspector , check performance at program.

193.

Duplex printing in SAP:

Go to SPAD ,

take output devices .

Choose your output device ,

double click

take the output attributes.

Give the print mode as Duplex.

Your printer also should be set for the duplex mode.

194.

Events in Table Maintenance Generator SM30

There are 39 events for Table Maintenance Generator, follow this:


SE54 -> Enter Table Name (Which table you want) -> Environment -> Events -> Enter -> New
Entries -> Under ' T ' -> Press F4.
Then you will get below events:
01 Before saving the data in the database

47

02 After saving the data in the database


03 Before deleting the data displayed
04 After deleting the data displayed
05 Creating a new entry .and so on

195.

ST22 - Dump Analysis

196.

Displaying 3D Graphs in ABAP

CALL FUNCTION 'GRAPH_MATRIX_3D'


EXPORTING
COL1

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

File Deletion from SAP program

The methods are:


1. CL_GUI_FRONTEND_SERVICES=>FILE_DELETE

48

2. GUI_DELETE_FILE

198.

Creating Number Range Step by Step

The following steps are necessary to create a Number Range,


1.

Log to Transaction Code SNRO.

2.

Number Range Object Creation.

3.

Assigning Domain and the Sub-object for Number Range Object.

4.

Assigning Sub-object for Number Range Object.

5.

Assigning Number for the Number range Object

6.

Implementation of Number range Object.

7.

Execution and viewing the newly generated Number Range.

199.

To Activate objects programmatically

The below code can be used to activate any object programmatically.


PARAMETERS p_object type e071-obj_name.
CALL FUNCTION 'REPS_OBJECT_ACTIVATE'
EXPORTING
OBJECT_NAME

= 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

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

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.

This program executes the following popup function modules, to help

choosing the right one:

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.

For deleting PO History we can use a BAPI 'BAPI_PO_DELETE_HISTORY'.

202.

For cancelling the billing document pass the billing document number from

VBRP table to the function module and use commit.


CALL FUNCTION 'BAPI_BILLINGDOC_CANCEL1'
EXPORTING
billingdocument = V_VBELN

50

TABLES
return

= it_bapireturn1

success

= it_bapivbrksuccess.

203.

Upload blank lines in to the internal tables

CALL FUNCTION 'GUI_UPLOAD'


EXPORTING
FILENAME = 'C:\Documents and Settings\venkatapp\Desktop\venkat.txt'
TABLES
DATA_TAB = ITAB.
*----this is the condition for including the blank lines
SET BLANK LINES ON.
LOOP AT ITAB.
WRITE / ITAB-TEXT_LINE.
ENDLOOP.

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):

The task will be moved to the chosen target request:

52

205.

Request Tables:

E070

->

Change & Transport System: Header of Requests/Tasks

E070A

->

Change & Transport System: Attributes of a Request

E070C

->

CTS: Source/Target Client of Requests/Task

E070CREATE ->

Change & Transport System: Creation Date of Request

E070DEP

->

Change & Transport System: Dependencies of Requests

E071

->

E070TC

->

Change & Transport System: Item of Requests/Tasks


Help Table for E070 for Client-Specific Imports

206.

Using SE80 we can copy a function group in SAP

207.

NACE in SAP ABAP:

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.

REUSE_ALV_VARIANT_EXISTENCE. Checks whether a display variant exists. This

function module checks the existence in the database.

53

209.

TJ30T - User status table

210.

ls-control-param-langu = F - display smartform in desired language.

211.

Collect statement duplication avoided, consider numeric fields.

212.

Append statement allow duplication of fields

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.

POPUP_WITH_2_BUTTONS_TO_CHOOSE : CREATE YES OR NO WITH TEXT DETAILS.

215.

Screen groups are stored in table TFAWT.

216.

Packaging material types description table : TVTYT

217.

BAPI to read characteristics value : BAPI_OBJCL_GETCLASSES.

218.

Function module to read selection screen data : RP_PNP_SHOW_SELECTOPTIONS.

219.

Increase page size of report at output

REPORT ZTEST_01 NO STANDARD PAGE HEADING LINE-SIZE 533.


220.

SE81 - Application Components hierarchy details

221.

HR_READ_INFOTYPE : Retrieve data of employee

222.

DDIF_DTEL_GET : Function module used for reading text of data element.

223.

CONVERSATION ROUTINES FOR QUANTS : MEINS

CONVERSATION_EXIT_CUNIT_OUTPUT
224.

Method for deleting file on Application server: NEW_FILE TYPE STRING.

CALL METHOD CL_GUI_FRONTEND_SERVICES => FILE_DELETE


EXPORTING = NEW_FILE
225.

CONVERSATION ROUTINES FOR character name to char. number

CONVERSATION_EXIT_ATINN_INPUT
226.

NAST : Message status table

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:

Select .. single is used for selecting single record from database.


229.

IF ALV text is not appear as per language that time check this field. In which table

that field refer and pass that table as


fieldcat-ref_tabname = MARA.
230.

Check invoice is cancelled or not = VBRK-FKSTO = X.

231.

Bom usage text - T416T

232.

Unit of Measurement - T006

233.

Permanent BOM Data - ST24

234.

Link between BOM and functional data - TPST

235.

Stable statement within sort means order of rows not changing

236.

SU21 - Maintain Authorization objects

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.

What is Application Log?

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

Key user: Use transaction SLG1 to analyze the application log.


Administrator: Use transaction SLG2 to delete logs.
240.
-

ABAP program Types:

Executable program
Include

program

in SE38
not

able to execute

in any of the

tcode only

included as

sub

program
-

MODULE pool

only execute through

tcode

create by you

Function group cannot be executed

subroutine pool

interface pool can not be executed

class pool can be executed

in tcode se24

type pool can not be executed

in any tcode

only

function modules are executed @ se37

again with in the program called can not be executed

241.

Inner Join : At least one match in both tables

242.

Left Inner Join: Returns all rows from left to table even if no match in right

243.

SAP Memory

ABAP Memory

Global

using get , set data on screen

- import & export

Available through out session

- Only limited session

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:

To the initial screen on the SAP menu (Area Menus)

56

To the standard menus of the standard transactions.

Transaction used for achieving this functionality is SMOD & CMOD.

245.

Difference between user exits & customer exits:

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.

XX represents the 2-digit exit number.

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

flexible and inconsistent.Created in SAP

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.

Customer exits can be further classified as:

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.

Function Module Exits :


Function module exits add functions to R/3 applications. Function module exits play a role in both
menu and screen exits. When you add a new menu item to a standard pull down menu, you use a
function module exit to define the actions that should take place once your menu is activated.
Function module exits also control the data flow between standard programs and screen exit fields.
SAP application developers create function module exits by writing calls to customer functions into
the source code of standard R/3 programs.
These calls have the following syntax:
CALL CUSTOMER-FUNCTION 001.

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.

Example: The data element BBBNR identifies a companys international location

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.

Nested structures contain at least one sub-structure. Whether a nested structure is

flat or character-like depends on all the components in it.


249.

Flat structures do not contain any deep components.

250.

We can use projection views and database views in program declarations.

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.

Steps to create TABLE MAINTENANCE GENERATOR:

Go to se11 check table maintenance check box under attributes tab

Utilities-TMG->create function group and assign it under function group

Also assign authorization group default &NC& .

select maintenance type as single step.

Maintenance screen as system generated numbers this dialog box appears

When you click on create button

Save and activate table

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.

Sort the table by fields in where clause.

Check table is not blank before using for all entries. i.e If not it_tab1[] is initial.

Delete the adjacent duplicates from the driver table.

Otherwise, for the same entry system will check redundantly.


256.

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

MODULE <mod> AT EXIT-COMMAND.


257.

EXIT command behaviour in ABAP code?

EXIT command will come out of the program if used inside an IF condition.

If used in LOOP....ENDLOOP, EXIT will come out of the loop.

If used in a FORM or PERFORM it will come out of the subroutine.

Never use an EXIT command inside a USER EXIT because it pulls you out of the program.

258.

Change package: Object Directory entry

259.

Working with Version Management: Utilities -> Versions-> Version Management.

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

request > Enter > Save


262.

SE14 - database utility

60

263.

SKIP the Authorization checks for transaction:

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.

Internal Program Environment:

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.

What is database utility:

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:

Schedule jobs for mass processing

Display requests for mass processing

Display logs for mass processing

Display temporary tables without restart logs.

266.

Difference between BDC and BAPI:

BAPI

BDC

BAPI is faster than BDC

Slow

BAPI directly updates DB

No updates

Used for small uploads

BIG

No foreground & background

Return parameter used


267.

yes- SM35

No

If there are n records then bdc_insert will call N times but bdc_open and bdc_close

will call only once.


268.

RSBDCSUB - used for processing background jobs

269.

Select Options: lowercase,obligatory,no-display,modify id.

270.

Horizontal lines: uline at 20 20.

271.

Vertical lines: write at / 20 /.

272.

Modify screen is used to modify screen during PBO.

273.

Package check - SE38 - program -check -package check

274.

If tabstrip control is set to 0 then whole tabstrip is hidden.

275.

GUI Status:GUI status is associated with a particular screen or set of screens.

set pf-status STATUS_2000.


call screen 2000.

62

276.

open dataset, read dataset , close dataset : read file from Application server.

277.

BAPI

RFC

BAPI based on API

Business objects associated with BAPI

Error & success logs returns

NO

BAPI has methods , events

NO

Non SAP word can commit

NO

FM

NO

278.

Check table define when we maintain foreign key

279.

Type of FM : Normal , RFC , Update

280.

Aggregate Objects: Views, Lock Objects , Match Codes.

281.

Lock Types:

Exclusive : do not allow to modify or change data.


Shared or read Lock : More than one user can read data.
Exclusive but not cumalative: Only one user can work on transaction.
282.

Type Pools : used for global declaration

283.

When is a Conversion Routine Executed?

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.

Important SAP ABAP Tcodes:

Serial

Transaction

No

Code

Function

63

ABAPDOCU

Example Library

ABAPHELP

Keyword Documentation

AL03

Operating system Alert Monitor

AL05

Workload Alert Monitor

AL08

List of all Users Logged ON (about all Instances/Servers


of the System)

DB01

Exclusive waits in Oracle database

DB02

Database performance ; tables and index

DB03

Parameter changes in database

DB05

Analysis of table with respect to indexed fields

10

DB12

Backup logs

11

DB13

DBA planning calendar

12

PFCG

Role Maintenance

13

RZ06

Maintain alert threshold

14

RZ08

CCMS Alert Monitor

15

RZ10

Maintain system profiles

16

RZ20

Alert Monitor 4.0

17

RZ21

Maintain settings for Alert Monitor 4.0

18

RZ11

Profile Parameter Maintenance

19

SA38

ABAP Reporting

64

20

SCAM

CATT Management

21

SCAT

Computer Aided Test Tool

22

SCC1

Client copy transport

23

SCC3

Client copy log

24

SCC4

Client copy administration

25

SCC5

Delete Clients

26

SCC6

Client import

27

SCC7

Client import--- post processing

28

SCC8

Client export

29

SCC9

Remote client copy

30

SCCL

Local client copy

31

SCDO

Change Document Object

32

SCMP

Table comparison

33

SCU3

Table History

34

SCI

Code Inspector

35

SE01

Transport Organizer(Extended View)

36

SE06

Set up workbench organizer

37

SE09

Transport organizer

38

SE10

Customizing organizer

39

SE11

Data dictionary maintenance`

65

40

SE12

Data dictionary display

41

SE15

Repository Info System

42

SE16

Display table content

43

SE17

General table display

44

SE37

ABAP Function Modules

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

Maintain public holiday calendar

52

SFT3

Maintain factory calendar

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

Maintain tables(not all tables can use SM30)

61

SM31

Maintain tables

62

SM35

Batch Input Monitoring

63

SM37

Overview of background jobs

64

SM39

Job analysis

65

SM49

External operating system commands, execute

66

SM50

Work process overview

67

SM51

Instance overview

68

SM58

Error log for asynchronous RFC

69

SM59

RFC connection, maintain

70

SM63

Operations mode, maintain

71

SM66

Global work process overview

72

SM69

External operating system commands, maintain

73

SP00

Spool

74

SP01

Spool control

75

SP02

Display output requests

76

SP11

TemSe(temporary sequential objects) contents

77

SP12

TemSe administration

78

SPAD

Spool administration (printer setup)

79

SPAM

SAP Patch Manager

67

80

SPAU

Intersection SAP Transport/customer modifications

81

SPIC

Spool; installation check

82

ST01

SAP system trace

83

ST06

Operating system monitor

84

ST07

Application Monitor

85

ST09

Table call statistics

86

ST11

Display developer trace

87

ST12

Application monitor

88

ST22

Dump Analysis

89

STAT

Local Transaction statistics

90

STUN

Performance monitoring

91

SU01

User maintenance

92

SU02

Maintain authorization profiles

93

SU03

Maintain authorizations

94

SU10

Maintain change to user records

95

SU12

Delete all users

96

SU2

Maintain user parameters

97

SU53

Display authorization checked values

98

SM12

To unlock the locked entries

99

SAAB

Checkpoints that Can Be Activated

68

100

SALE

ALE customizing transaction

101

CG3Y

Transfer file from application server to front end.

102

CG3Z

transfer file from front end to application server

103

NACE

conditions of output control (to create a link between


forms and driver programs)

104

ST05

SQL tracer (for performance tunning)

105

SE30

ABAP runtime analysis(Performance tuning)

106

SE61

SAP Documentation

107

SE62

Industry Utilities

108

SE63

Translation: Initial Screen ( to Translate Short / Long


Text )

109

SE64

Terminology

110

SE72

SAPscript Styles

111

SE73

SAPscript Font Maintenance

112

SE74

SAPscript format conversion

113

SE75

SAPscript Settings

114

SE76

SAPscript: Form Translation

115

SE77

SAPscript Styles Translation

116

smartforms

Smartforms

117

Wedi

IDOC and EDI basis

118

we31

Segment creation

69

119

we30

Idoc Type creation

120

we81

Creation and assigning of Message type

285.

Initiation events triggers only once while displaying 20 pages list but top_of_page

will trigger 20 times.


286.

Message Store into table - T001

287.

Message Types: A:Termination , I : Inform , W : Warning , E : Error , S : Status ,

X : Exit
288.

Table : LFBW: Vendor master record (withholding tax types) X

289.

Table : LFBK: Vendor Master (Bank Details)

290.

Table : LFB 5 : Vendor master dunning data

291.

LVC_T_FCAT: Field catalog used for alv control

292.

Table: T003R : Number Ranges RE_BELEG (Logistics Invoice Verification)

293.

Table : RBTX : Taxes: Incoming Invoice

294.

MIRO Enter Invoice

295.

MIR7 Park Invoice

296.

MIR4 Display Invoice Document

297.

MR8M Cancel Invoice Document

298.

MRBR Release Blocked Invoices

299.

MIR6 Invoice Overview Automatic Settlement

300.

MRRL Evaluated Receipt Settlement (ERS)

301.

Invoice verification process:

Logistics> Materials Management> Invoice Verification> Logistics Invoice Verification


1.
2.
3.
4.
5.
6.

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

:
:
:
:
:
:
:

RBKP : Document Header: Invoice Receipt.


RSEG : Document Item: Incoming Invoice.
RBVS : Invoice Verification: Split Invoice Amount.
RBWS : Withholding Tax Data, Incoming Invoice.
RBCO :Document Item, Incoming Invoice, Account Assignment.
RBMA :Document Item: Incoming Invoice for Material.
RBKP_BLOCKED :Logistics Invoice Verification: Blocked Invoices.

Some Important function module while Archiving:

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.

Material transit : When material is on the way. MARC-trame

311.

Negative Stock : When no stock for transfer available.

312.

MOVE f1 = f2 equal to move <f1> = <f2>.

313.

Maintain storage location for matnr : tcode: MMSC

314.

Maintain Material types: Tcode : OMS2

315.

Notification matrix means notify everyone problem is solve.

316.

Set extended check on / off : Activate or deactivate statements.

SET EXTENDED CHECK OFF.


SELECT SINGLE ref_object
FROM

tdokuimgr

INTO

docu_object

WHERE node_id = node_key.


SET EXTENDED CHECK ON.

317.

Smartform Request : SE03 : SSFO

318.

Changing Lines in ABAP Internal Tables:


MODIFY it FROM gwa_student TRANSPORTING place
WHERE place = 'Bangalore'.

74

319.

Specify the Printer Tray Info in SAP Smartforms.

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 to Create Agreements in SAP:

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.

Good Receipt Tables: MKPF , MSEG , EKBE , MVER , S031 , S013.


Structure used for email sending :
SOLISTI1
SOPCLIST
SOMERLED
SODHI
Data cluster : Used for storing complex internal table into ABAP Memory
Blueprint : Business process defined and documented
Realization : Knowledge process occurs and unit testing done.

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 :

- Standard variants , Transaction variants , Screen Variants


350.
Screen Variants :
In this we can assign number of users to particular group by setting proposal tab. variants
attached to standard table can be seen by system > Utilities > transaction Variants
351.

Classical Report Events :

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.

TBTCO (Job headers) and TBTCO (Job steps)


Structure of a smartforms Form:

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.

Data Declaration : Data : V_FM TYPE RS38L_FNAM.


Form Attributes in Smartforms : Header data of the form

360.

Form interfaces in Smartforms : Smartforms functions modules interfaces

361.

Global Definitions in detail: Form Variables, Which Can be accessed from any

window of the Form.


362.

What is OOS Note : Online service note. SAP tries to solve problem by providing

OSS notes.

77

78

78

You might also like