File Exit, Menu Exit, Function Exit.
CMOD : This transaction allows you to create a PROJECT by identifying its ENHANCEMENT(S). After determining all of the ENHANCEMENTS that are part of the PROJECT, you will have to activate the PROJECT. You will still need to code your user-exit; therefore, you may want to wait until this step is completed before activating the PROJECT. §SMOD : This transaction allows you to create an ENHANCEMENT, which you will include in a PROJECT, by identifying its COMPONENT(S). In the case where SAP has already created an ENHANCEMENT for its pre-defined user-exits, you will not need to use transaction SMOD; instead, you should just use transaction CMOD.
Yes, We can use TC SE93 for creating our own transaction code.
Table controls are modified / mproved versions of step loops. in controls we can do, horizontal scrolling, vertical scrolling, scrolling in a perticular field, resize the table, can save the settings for future use, can make selective columns editable,....etc these things are not possible with step loops. step loops are controlled by loop-endloop statements.
In an Interactive Report, user can define maximum 20 secondary lists.
UNPACK field1TO field2 .Unpacks the packed field field1 and places it in the field field2 with leading zeros. If field2 is too short, it is truncated on the left.
Available Dictionary Objects are Domains, Viwes, Match Codes, Lock Objects, Structures, Data Elements, Intenal Types.
Transparent tables have 1 - 1 cardinality b/w Data Dictionary and Database, and non transparent ( Cluster and Pooled) tables have Many - 1 cardinality. Transparent table can access with using OPen & NAtive SQL stmts where as Nontransparent only OPen Sql. Transparent trables can store Table relevent data and non transparent tables can store system data/ application data based on the transparent tables
BDC -> BATCH DATA COMMUNICATION. METHODS OF BDC-> Direct Input method, Batch Input Session method, Call transaction method.
1. Function modules use a special screen to define the parameters where as subroutines use the same ABAP/4 editor to define its parameters.
2. Tables work area can be commonly shared by calling program and subroutine where as function modules do not share commonly.
3. Calling a function module syntax (Call function.) is different from calling a subroutine syntax (perform….).
4. With raise statement user can exit from a function module where as exit is used in subroutines.
ALE: application linking enabling IDOC: intermediatary documents EDI: electronic data interchange RFC: remote function call
SQL Tracer is a tool used to measure the performance of ABAP program. T.code :st05
YES, open dataset for output. read dataset from itab. close dataset .
sm30 is used to view the ' Call Up View Maintenance ' and SM31 is to view the ' Table maintenance '
Function modules is a extranal subroutine.we can call it to outside the program.its a mini program. its used for redues the coding,easy to find error.
"CAT" Computer Aided Test Tool. Used to create test cases for application testing purposes.
Logical Database is an ABAP program which retrieves data from various tables Which are interrelated and provides a read only view of the data.
Classical Report Events are LOAD OF PROGRAM.INITIALIZATION. AT SELECTION-SCREEN.START-OF-SELECTION. TOP-OF-PAGE.END-OF-PAGE. END-OF-SELECTION. Interactive events are AT LINE-SELECTION. AT USER-COMMAND. TOP-OF-PAGE DURING LINE-SELECTION. AT LINE-SELECTION:Allows the user to interact with the lists. AT USER-COMMAND:USed for handling Push buttons. SET PF-STATUS:Provides User Interface.
call transaction session method direct input method
check tabke works at table level and value table works at domain level. check table is nothing but master table that u will create with valid set of values. value table it provides the list of values and it will automatically proposed as a check table while creating foreing key relationship
- STANDARD TABLE: The key is, by default, set to NON-UNIQUE. You may not use the UNIQUE addition. - SORTED TABLE: Unlike stadard tables, sorted table have no default setting for the uniqueness attribute. If you do not specify either UNIQUE or NON-UNIQUE, the system defines a generic table type, where uniqueness is irrelevant. You can use generic types to specify the type of generic subroutine parameters. - HASHED TABLE: Hashed tables have no default setting. You must use the UNIQUE addition with hashed tables. You may not use NON-UNIQUE.
'Refresh' is the keyworld which clears the contents of an internal table body.
COLLECT allows you to create unique or summarized datasets. The system first tries to find a table entry corresponding to the table key. The key values are taken either from the header line of the internal table itab, or from the explicitly-specified work area. If the system finds an entry, the numeric fields that are not part of the table key (see ABAP number types) are added to the sum total of the existing entries. If it does not find an entry, the system creates a new entry instead. The way in which the system finds the entries depends on the type of the internal table: - STANDARD TABLE: The system creates a temporary hash administration for the table to find the entries. This means that the runtime required to find them does not depend on the number of table entries. The administration is temporary, since it is invalidated by operations like DELETE, INSERT, MODIFY, SORT, ...). A subsequent COLLECT is then no longer independent of the table size, because the system has to use a linear search to find entries. For this reason, you should only use COLLECT to fill standard tables. - SORTED TABLE: The system uses a binary search to find the entries. There is a logarithmic relationship between the number of table entries and the search time.
There are two ways to create table
1) top-down approach
2) bottom-up approach
Text elements makes program easier to maintain program texts in different languages. These are used for maintaining list headers,selection texts in programs
An Interactive report allows the user to participate in retrieving and present data at each level.while classical report doesn't have access to interact.
layout set elements are
3. character formats
In the case of setscreen the entire processing of the current screen takes place and then the system branches out to next screen.if u want to branch out to the next screen without processing the current screen then LEAVE SCREEN should be used along with SET SCREEN. CALL SCREEN is usually used for pop up screens.
SAP memory is a memory area to which all main sessions within a SAPgui have access. You can use SAP memory either to pass data from one program to another within a session, or to pass data from one session to another. Application programs that use SAP memory must do so using SPA/GPA parameters . ABAP memory is a memory area that all ABAP programs within the same internal session can access using the EXPORT and IMPORT statements. Data within this area remains intact during a whole sequence of program calls. To pass data to a program which you are calling, the data needs to be placed in ABAP memory before the call is made. The internal session of the called program then replaces that of the calling program. The program called can then read from the ABAP memory.
In Batch input many transactions can be executed, where as in Call transaction only one transaction can be executed. BI is a background process, Ct can be either background or foreground . BI is Synchronous process, Ct is both Asynchronous & Synchronous. BI Sessions cannot be runed parallel. Log file is generated automatically in BI, errors can be found through BDCMSGCOLL.
using transaction code SM35
Yes, we can. Just write in Line editor: /:perform f_display_report -------------- ---------- ---------- /:endperform THIS PERFORM WOULD BE DECLARED IN THE PRINT PROGRAMME IN WHICH YOU CAN ALWAYS WRITE STATEMENT SUBMIT REPORT...
You can also upload a Logo in BMP format - it has to be saved as "%^ Colours if it is a colour Bitmap. If you don't save a colour Bitmap as 256 Colours then it will be uploaded in Black. This can be done in Smart Forms, SAPScript or Transaction SE78
To use parameter IDs, you need to “set” (store) values in the global memory area and then “get” (retrieve) values from this parameter ID memory area. §IIn the case of an online program, you will “set” values from screen fields and you will “get” these values for screen fields. §YYou can perform this “set/get” function two ways: § Use the ABAP statements “SET PARAMETER ID” and “GET PARAMETER ID”. § Use the field attributes “SPA” and “GPA” . §RRemember that parameter IDs can only be used with ABAP Dictionary fields because parameter IDs are linked to data elements. The appropriate data elements must have a parameter IDs for this “set/get” function to work.
Function modules in LDB's are get put get late
Cluster tables contain continuous text, for example, documentation. Several cluster tables can be combined to form a table cluster. Several logical lines of different tables are combined to form a physical record in this table type. This permits object-by-object storage or object-by-object access. In order to combine tables in clusters, at least parts of the keys must agree. Several cluster tables are stored in one corresponding table on the database.
User can create a Database table in two ways.
1.Top-to-bottom approach: In this approach, first fields are defined and later domain and data element are defined.
2.Bottom-to-top approach: In this approach, first domain and data element are defined and later fields are defined.
Events in Dialog Programming are: PBO-Process Before Output PAI-Process AFter Input POH-Process on Help Request POV-Process on Value Request
Table controls have both horizontal and vertical scrollers and cursor control logic is designed implicitly. Step loops have only horizontal scrollers and cursor control logic is to be designed by the user explicitly.
Transaction code for bdc :SHDB
We can Navigate from basic list to secondary list with the help the event called AT LINE-SELECTION. for every Secondary List the System Field SY-LSIND increases by 1. So there will be Totally 21 list possible in SAP. One Basic List 20 Secondary List.
LockObjects always starts with character 'E'.
Domain: Defines the attributes such as length, type and possible value range. Data element; An intermediate object between domain and table type
strat_form using this we can open many layoutses open_form using this we can open the layout performance will be high
Check statement, checks the condition with in a loop and if it satisfies the condition, the control moves to next statement in the loop. Otherwise, it terminates the loop. Continue statement, acts like goto statement. If the condition is true, it processes the remaining statements and if the condition is false, then the control moves to the top of loop. At-Line selection, At user-command etc.., In at line-selection system defined fcode will be generated In at user-command we need to define the fcode and fkey manually then only it will triggers.
exit statments is exit the current loop. and moving to next loop but stop statement move to end of selection. it's not check all other loops.
User exits and customer exits are the same thing. Both are used to give the customer the chance to influence the outcome of a process(-step) in some way, without having to change the standard SAP software. For example: if an order is entered in the system, availability checks, credit checks etc. could be performed by the system but just before writing the order to the database, the program runs a user exit. In this user exit, your code could change some fields in the order or write an entry in a table that you created for some reason.
Reverse Command :Reverse N Lines :
if there is not enough space left on the current page for atleast n lines it starts a new page .
Select Single * from and select Upto 1 rows At new - on change of difference: In case if you want calculate sub totals for same values in a field you can use the atnew statement.ie: For example in a table sflight, there are 2 fields carrid ( airline id) and seatsmax( seat available). In case if you want calculate the total number of seats available for each carrrid you can sort the table first and using the at new and sum you can claculate the total seats for each carrid. Atnew will be triggered whenever there is a change in the carrid and the total seats will be returned for each carrid. In the same scenario if you use onchange of it will not return the total seats for each carrid, instead it will return the total seat count for the entire table( ie: for all the carrids in the table. Another diffrence is atnew can be used only between loop and end loop whereas on change of can also be used in select- endselect , do -enddo. Another diffrence is while using atnew in case if you code any write statements between atnew and end at the value for the numeric fields will be returned as 0 and that of no numeric fields will be returned as *(asteriks). But in on change of the orginal values will be returned. Select single * and select upto 1 row diffrence. The select single * from stmt selects only one row form the database table and puts it in to the work area(internal table). The select upto n(where n stands for a integer number) rows stmt selects all the rows from the database table but writes only the specified number of rows specified by the n into the internal table. If its given as upto 1 rows only 1 row is written in to the internal table.
Events keywords in Reports are For Classical Reports,
2. At line-selection
5. At user-command
8.At Pfn For Interactive Reports,
10. Top-of-page during line selection For LDB (Logical DataBase) Reports, 11. get 11.put 12. get table
vbak-auart, "ORDER TYPE vbak-audat, "DOCUMENT DATE vbak-kunnr, "CUSTOMER vbak-bstnk, "PURCHASEORDERNO vbak-submi, "collective no vbrp-posnr, "ITEM vbrp-matnr, "MATERIAL NUMBER vbrp-arktx, "DESCRIPTION vbrp-fkimg, "ORDER QTY vbrp-vkbur, "SALESOFFICE vbrp-aubel, "SALES DOCUMENT vbrk-netwr, "NETPRICE vbrk-vbeln, "BILLINGDOCNO vbrk-knumv, "DOC.CONDITION kna1-name1, "CUSTOMERNAME vbrp-werks, "PLANT vbrk-kunrg, "PAYER kna1-name1, "PAYER NAME vbpa-kunnr, "EMPLOYEENO vbrk-netwr, "DISCOUNT vbrk-netwr,"NETAMT vbrk-netwr,"INVAMT vbrk-fkart, "billing type vbrk-netwr, "CST konv-kbetr, "CST PER vbrk-netwr, "LST konv-kbetr, "LST PER vbrk-netwr, "ED konv-kbetr, "ED PER vbrk-netwr, "Ecs konv-kbetr, "Ecs PER vbrk-netwr, "SURCHARGE vbrk-fkdat, "BILLINGDATE kna1-name1, "EMPLOYEENAME vbak-bstdk, "PODATE likp-bolnr, "Bill Of Lading likp-traty, "Means of Transport Type likp-traid, "Means of Transport ID vbpa-kunnr, "Bill To Party kna1-name1, "Bill To Party Name vbrk-netwr, "Net Amount Basic Amount - Discount How to assign multiple transaction codes in a session method to BDC_Insert function module? Call function ' BDC_Insert' exporting tr. code = ' enter tr.code1 here' table = 'give an internal table related totr.code1 here' call function 'BDC_INSERT' exporting tr.code = ' enter 2nd tr code' tables = ' 2nd internal table'
If buffering is allowed for a table in the ABAP Dictionary, the SELECT statement always reads the data from the buffer in the database interface of the current application server. To read data directly from the database table instead of from the buffer, use the following: SELECT... FROM *lt;tables> BYPASSING BUFFER. .. This addition guarantees that the data you read is the most up to date. However, as a rule, only data that does not change frequently should be buffered, and using the buffer where appropriate improves performance. You should therefore only use this option where really necessary.
We can Validate Selection Screen With the Help of the Following Events, the Event Follows the Same hierachy. AT SELECTION-SCREEN ON AT SELECTION-SCREEN ON BLOCK AT SELECTION-SCREEN OUTPUT AT SELECTION-SCREEN.