Abap in 3 hours


Published on

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Abap in 3 hours

  1. 1. 7/2/2014 ABAP in 3 hours ABAP in 3 hours Classic Flipcard Magazine Mosaic 13th April 2012 search Sidebar Snapshot Timeslide Total ABAP Book1 SQL 1.SELECT-4 types(Single table,Joins,for all entries,Single/upto 1) 2.Select using joins-multiple tables, 2 types 1. inner join- matching records,common records 2. outer join- all records from left,matching rec.s from right,blank syn: ~,into,from,as,join,as,on,where,EX ,types,data,select,loop 3.Select for all entries-to avoid inner joins,more then 2 tables,heavy load on database,syn,ex 4.prerequisite for all entries-base table or first internal table initial or not,unless will fetch all the records 5.Select single/upto 1 rows -for field validation at report level ,to read single record,exact,appropriate record,all key fields ,syntax 6.Ex on select Single.,ex on select upto 1 row,NOTE REPORTS 5 to 7.Report-Executable program,reads data from datbase table,displays in welldefined format 2 types 1.classical 2.interactive 8.Classical-Entire information on single screen , Interactive - more then one output screen 9.Main functions or stages of reports - 3 i/p screen(selection screen),business logic statements(internal tables),out put screen(list screen) 10.SELECTION SCREEN: i/p screen,selection screen commands,PARAMETERSSingle input field,SELECT-OPTIONS-range for an field,formatting statements-for better look & feel decorate/format selection screen 11.Parameters: checkboxes,radio buttons,syntax ex: obligatory-mandatory field Displaying check boxView selection Pow ered by Blogger. stored parameter variable,code Dynamic on s template. screen syn: 'X' http://igrowabap.blogspot.in/ 1/32
  2. 2. 7/2/2014 ABAP in 3 hours syn,ex,displaying radio buttons on selection screen (syntax,ex),form of group Send feedback 12.SELECT-OPIONS : range i.e value to value for input field. SIGN,OPTION,LOW,HIGH Multiple single values & Ranges stmt or extension or multiple select box . syn ex with select 13.SELECT-OPTION itable-SIGN ('I' or 'E' inclusive,exclusive) option-stores option like BT,NB,LT,LE,GT,GE,NB. low-stores low value HIGH,No Extension-Hight Extension Box No-Interval - only from value is displayed,ex on select for all entries 14.Variant- object to store selection screen field values for future references.test cases,test,test2, [][][]- get variant ,shift + f5, ex. 15.selection screen text-to avoid technical names display goto->text elements>selection text-> our own text or copy from ddic 16.selection screen commands to format selection screen 1. uline-horizontal line 2.skip-blank line .block- (group of selection screens) 2 syntaxes , ex 4. begin of line,NOTE,syn 5.comment (custom label for selection field) syntax ex. 17.Modularization-technique,dividing main program into sub programs,better redability & reusability, 5 techniques ,(includes,function modules,sub routines,macros,class methods) 18.include programs-set of reusable statements,cant be executed independently,type I programs,no parameter interface,SAPMV45A(Sales Order),ex 19.Function Modules-repository object,contains parameter interface,Global Modularization,remote enabled,contains exceptions. 20.Function Group-Container of Function Modules 21.Function Module parameter InterfaceImport,Export,Changing,tables,Exceptions,Source Code. 22.Steps to create a function group- (SE37 or SE80),steps 23.Steps to create a function module : SE37 (i) using tables in function modules ex (ii) update function modules without any irregularities , ex (iii) using table types as function modules 24.Steps to create a table type (se11,data type,select table type line type as database table) 25.subroutine - local modularization, syntax :- (defintion,implementation) perform form....endform. parameter interface of sub routines using(importing),changing(exporting),tables(internal tables for importing & exporting) http://igrowabap.blogspot.in/ 2/32
  3. 3. 7/2/2014 ABAP in 3 hours 26.Types of passing values - 3 pass by value,pass by reference,pass by value & return pass by value-actual and formal parameters refer to diff. memory location,pass by reference-actual and formal parameters refer to same memory location (get effected) & daigram,pass by value with return-changes are transmitted only after subroutine is executed, ex, real time ex 27.messages - messages are stored in message class,SE91,message-ID,keyword (3 digit keyword),Types of messageserror,success,warning,information,abort(f,s,w,i,a) substitutional parameters (max-4) , synax for message 28.Steps to create a message class,using message class in a report 29.Events in ABAP-event driven programming,c,java,structured programming,not lin by line execution 30.list of events 11. 1.load of program-loads program into the memory for execution 2.Initialization- to initialize default values to variables & Selection screen variable triggered before Selection screen is displayed. 3.At Selection Screen out put-to modify selection screen dynamically based on user actions 4.At Selection Screen on field- to validate a single field on selection screen 5.At Selection Screen on value request-to display search help values,search help button 6.At Selection Screen on help request-to display help information for a field under one block 7.At Selection Screen - to validate multiple selection screen fields,to combine all above events 8.start of selection-to fetch data from data base,select statements,default event 9. end of selection-to recognize all select statements feteched data from data base,no imp,logical DB,HR-ABAP 10.top of page-constant heading for all pages,triggered after first write statements or output statements like SKIp,sy-uline 11.End of Page-Constant footer information for all pages,need to set line-count to display end of page. 31.Difference b/w include,fun module,sub routine- FM-Can be exe,PI,Remote enabled include-cant be executed,No PI,No Remote Sub Rou-Cant be executed,PI,No remote 32.ABAP/4 events 1.Classical events 2.Interactive Events 3.Control break Statements 4. 33.Ex on At Selection Screen output,properties of screen (input-0,1 http://igrowabap.blogspot.in/ 3/32
  4. 4. 7/2/2014 ABAP in 3 hours disbaled,enabled) group1-modifcation ID of SS Field Active property (0,1 invisible,visible) 34.Modification ID-to a field or group of selection screen fields to modify there properties dynamically. 35.user command-to identify that some action is raised on selection screen,At Selection Screen output is triggered based on user command,ex,some se39 check it 36.Creating tcodes for reports (SE93) ,program name,scrren number (by default 1000),select all acheck boxes 37.Releasing Transport Request Number,SE09 select check box modfiable->click display->TR No and expand it. Parent TR -> Child TR(task)->Program->2 selection screen ouput->,release child,truck symbol(tick mark will come)_.then release parent,release from user name,send mail to basis, quality mail-outlook,lotus 38.Control break statement-to break the control with in loop...endloop At first end at:- executed when loop executes 1st record of internal table or first iteration i.e sy index = 1,to display head lines At last...End At-Same as Above but last sy index = 100 or 1000 to caliculate grand totals at new <field name>..end at- executed when new value on particular field,to display sub headings At end of <field name>..endatexecuted when ever new value ends on a particular field,caliculate sub totals. on change of field name-obsolete in ecc6.0,same as at new sum:- to caliculate totals,suntotals,currency,quantity fields within loop endloop. 39.issue with control break statements-moves the data from original wa to temporary wa for caliculations 40.interactive reports-basic info on first/basic list,detailed info on secondary list list no = 0(basic list) secondary list(list no= 1,2,....20),sy-lsind-list no is stored in list index 41.Interactive reports events- 1.At line selection- user double clicks on any list line 2.at user command-user clicks on gui buttons 3.AT pf-user hits the function key 4top of page during line selection-constant heading for all the secondary list,top of page-only for basic list,prg.,user interaction daigram 42.Finding the selected line contents- 3 techniques (double click event) 1.SY-LISEL 2.Hide 3.Get Cursor 43.off set functionality-to read single/group charcters from a source variable to target variable. syn:- t.v = s.v + starting position (width), ex 44.Buisness requirement: develop a material master report. 45.Control Break Statements ex: http://igrowabap.blogspot.in/ 4/32
  5. 5. 7/2/2014 ABAP in 3 hours 46.Interactive reports using Hide Statement:- hide-keyword,stores a variable of work area into a temporary memory (hide area) funcionality:-A copy of output is stored in hide area ex: code . After double click of selected line system checks in hide area,again stored back into hide variables,using this hide variables we generate interactive reports two ex programs 47.Hide area with more then one secondary list 48.Get Cursor:- to read field name & field value of which double click event is triggered(for secondary list),syntax,ex 49.Get Cursor, hide 2 reports examples 50.menu painter(custom GUI)-SE41,At User Command Triggers,SET PF Status is assigned to custom GUI to program,to create our own GUI with custom buttons,menus,menu bar,Application tool bar,Function keys 51.Steps to Create CUSTOM GUI,prg (doubt) 52.Using Standard Tool Bar-are automatically disabled.need to give function code to enable them(for each button). 53.Using Application Tool Bar-Can Create Maximum of 35 custom buttons 54.ALV-Abap List Viewer-to display data in ALV Format,better look and feel,n no of predefined options,sort asc,desc order,set filters,totals,sub totals,change layout structure,download data info files,print priview,mail recipent etc. 55.Function Module's for developing ALV Reports 1.REUSE_ALV_GRID_DISPLAY 2.REUSE_ALV_LIST_DISPLAY 3.REUSE_ALV_FIELDCATALOGUE_MERGE(to generate field catlogue automatically) 4.REUSE_ALV_EVENTS_GET 5.REUSE_ALV_HIERSQ_LIST_DISPLAY 6.REUSE_ALV_BLOCKED_LIST_DISPLAY 7.REUSE_ALV_COMMENTARY_WRITE (to display top of page,logo,end-of-list) 56.List of ALV's to be discussed 57.Ex on ALV with strucutre steps v.imp reuse_alv_grid_display 58.ALV_WITH_FIELD_CATLOGUE,Properties,COL_POS,fieldname,table name,SEL_TEXT_S,_M,_L,Column Heading text,DO_SUM = 'X'-GRAND TOTALS , ' '-not caliculated,SUB TOTAL = 'X',EDIT='X'-weather field can be editable or not,EMPHASIZE-apply colors to highlight the field,syn EMPHASIZE = CXYZ wher c = color,x = color no,y - bold (1-background color,0-no background color) ,inverse (1http://igrowabap.blogspot.in/ 5/32
  6. 6. 7/2/2014 ABAP in 3 hours font color 0-no font color),emphasize c610,reference table name,reference field name key-specifies weather the field is key field or not(blue in color,fixed position,non scrollable),col pos,field name or main,remianing options 59.Type Group-dictionary object,contains all the reusable user defined types ex:SLIS (for ALV Reports) 60.Type-Pools: Keyword/Statements-assigns type group to ALV Report 61.Ex. on ALV with field catlogue,REUSE_ALV_GRID_DISPLAY 62.ALV with layout-to decorate ouput of ALV Reports,contains properties,ZEBRA = 'X' - output will be displayed,col-width-optimize - 'X' -maximum length column to display entire data,edit = 'X' - editable mode , no-vline = 'X' - no vertical lines , noHline = 'x' - no horizontal lines is display , no-out = 'X'. 63.Syntax to declare WA for layout ex: 64.ALV_FIELDCATLOGUE_MERGE (Can be created manually,by system automatically),obselete,fields in internal table must be declared using like not types statements,ex 65.ALV's with totals- 2 ways 1. 'E' - Symbol 2.do-sum = 'X' for Currency/Quantity field (ctrl+f6) 66.ALV with sub totals,on what basis,sort field in ascending order,set property sub total,WA-SORT-UP = 'X' (up means ascending) wa-sort-fieldname = 'VBELN' , wa_sort_subtot ='X'. 67.Events - 17 events (ALV Reporting),REUSE_ALV_EVENTS_GET,TOP_OF_PAGE,END_OF_LIST,AT USER_COMMAND,SET PF_STATUS 68.Top Of Page events 69.Ex on ALV with Field Catalogue 70.All with end of List event. 71.LOGO in ALV Report - OAER (tcode)-Class name(pictures)->Class types(OTother objects)->Object key(ziname-any name). OAER->parameters->create tab>expand standard document types folder-.double click on screen->select image(from presentation sever to d. sever) , under reuse_alv_commentary_write,set i_logo with logo name 72.Interactive ALV's- user command-when user double clicks on basic ALV output list. SY-UCOM-stores function code (FCT code) of the double click action. cell fieldslis cell field contains content of selected line cell field-tab index - gives line number http://igrowabap.blogspot.in/ 6/32
  7. 7. 7/2/2014 ABAP in 3 hours (contains selected row number) cell field-field name- gives name of field cell fieldvalue gives value of where double click action is triggered 73.SAP Memory & ABAP memory- SAP memory-Global memory,used by external sessions,fig SET,GET statements to set or get value from global memory,syntax,se38,mm03,va03(session1,session2,session3) 74.How do you find out parameter ID- Go to Any transaction (MM03,XD03)->f1 on any field->technical information (icon) -> display program name,screen number,table name,field name,data element name,parameter ID,ex program on SET parameter. 75.ABAP/4 memory-abap programs,with in same internal session.can access export & import statements (figure very good) 76.submit-to call another abap program from current program 77.submit and return-to call another abap program from current program and return will be automatic 78.export and import-stmt/keyword,to export & import the values b/w different abap programs via ABAP memory,syntax,ex 79.Interactive ALV's to call standard transactions 80.Hierarchial ALV's-to display basic & secondary info on basic list in the form of hierarchy ex: REUSE_ALV_HIERSEQ_LIST_DISPLAY 81.Blocked ALV-Display information on Single Screen in the form of blocks., REUSE_ALV_BLOCK_LIST_INIT,REUSE_ALV_BLOCK_LIST_APPEND,RESUE_ALV _BLOCK_LIST_DISPLAY 82.Runtime analysis-SE30,(load on database server<40%) , 3 colors,red-need to optimize,green-good,yellow-warning,efficiency check interms of DB Server,Application Server,Presentation Server,graph modes, ex programselect,update,delete,insert,modify 83.Performance tuning-displays time taken for each SQL Statements ST05 (click on active trace,execute program in another session,click on deactivate trace,click on display trace,,displays time taken for select statements,identify any statement with red color) 84.Best Programming Standards1.Always use types for ITab,WA 2.Never use select * 3.into corresponding fields 4.Always use keyfield in where http://igrowabap.blogspot.in/ 7/32
  8. 8. 7/2/2014 ABAP in 3 hours 5.create secondary index for no key fields 6. joins for one,two tables 7.for all entries for more then two tables(check itab initial) 8.binary search to read a record(sort internal table before) 9.never use nested loops 10.select statement inside loop 11.Always use single * by providing key fields SAP Scripts-SAP tool,to generate printable business legal documents (invoice,sales order,purchase order,delivary note),ADV version-Smart Forms,Client Dependent(100,120),intenally stored as texts,text processing tools ,SE71 85.Components of SAP Scripts-Header,Pages,Windows,PageWindows,Paragraph Format,Character Format,Layout. Header-header info (2 sub options) Adminstrative data-Program Name,Client No,user name Basic Settings-Page Format(A4,A3),Orientation(Portriat,Landscape Format),Font Family,Default Paragraph 86.Pages-SAP Script is a group of pages.each page contains layout(designs pages). Page-group of windows(99 pages max) ,each page must have next page unless same page windows-some information to be displayed on script . 4 types 1.main 2.contant 3.varibale 4.Graphical 87.Page Windows-Windows assigned to particular page. 88.Paragraph formats- we can define font size & font family,for all the characters of a paragraph 89.Tabs- to specify a position in SAP Script with position statement,similar to write,tabs are represented by '' 90.Character Format-format for single or group of charcters 91.layout- a place where we design the page with windows. 92.difference between paragraph format(we can define tabs in it) & character format(we can't define tabs in it) 93.Types of windows 1.main window-A window which expands automatically depending up on the data (99 max) each page-1 main window 99 pages-99 windows.information is divide into blocks called text elements 94.text element-to display specific block of information..represented by /E. /E Header, /E Footer , /E body 95.Constant Window (obselete)-which is constant for all pages. http://igrowabap.blogspot.in/ 8/32
  9. 9. 7/2/2014 ABAP in 3 hours 96.varaible window (which doesnot expandable i.e height,width fixed) 97.Graphical Window:- to display graphics or images Note: Main window displays line item information. Function modules in SAP Script:- 1. open_form 2.Close_form 3.write_form 4.Start_form 5.end_form. 1. open a form for execution by loading in memory 2.close form-close the form opened by open form 3.write some information on SAP script form 4.to call another SAP script in the current SAP Script(nested forms) 5.end the form started by start form 98.Execution of SAP Scripts:- 1 figure 99.Driver program:- A prgoram which is used to print SAP script.business logic statements like loops,appends etc.All variables,wa's,itab's declared in driver program will be automatically transported to SAP Scripts,to display them Syntax : &variable& ex:100.Symbol in SAP script- 4 1.text(defined as text)2.program(driver program) 3.Standard (in table TTDTG) 4.System (by System SYST) 101.Standard Symbols(SM30) - A symbol reusable by multiple SAP Scripts.SM30>give table Name->maintain button->new entries & create symbol->use the symbol in SAP script 102.Standard text(SO10)-resuable by multiple scripts,footer information,terms and conditions are maintained. SO10->give name(footer)->goto ->change editor->write text->terms & condtions>save->back->print priview 103.inserting standard text into SAP scripts->create name by footer->double click on window->click on insert->text->standard->pop-up is displayed -> Text Name: footer test id:st language:en,enter 104.Control Commands-To change the out put format of a SAP Script 1.define : to define variable in SS editor. ex:- define &v_name& = 'srinu' 2.address...end address ex: - /: address number &v_addr& /: end address adrc table,adrnr field name,addr no-address of customer vendor employee 3.TOP...END TOP to display constant page heading (top of page)in main window accross all pages /: top * this is page heading /: end top 4.bottom...end bottom-constant footer /: bottom this is footer /: end bottom 5.protect..end protect -displays into without any page break. ex: /:protect this is line 1,2,3 /:end portect (displays either in first page or with out any page brak in second page) 6.new-page :- to start a new page to display some information http://igrowabap.blogspot.in/ 9/32
  10. 10. 7/2/2014 ABAP in 3 hours ex: * this is not /: new page * this is invoice-> This line is printed in a new page. 7. if...endif: conditional statement. /: if &v_name= 'srinu' & /:endif 8.case ...endcase- checking multiple conditions 105.Configuration of SAP Script driver program : NACE Transaction,(Functional Consultant)-SADFM06P-driver program for Standard SAP Script,MEDRUCKSatandard S.S 106. Modifying Standard Script Converting original language of SAP Script 107.Modifying SAP Script with out changing Driver program.Use external sub routines , Syntax. 108.debugging-SAPSCRIPT-SE71->form name zposcript->utilities->active debugger->executed driver program->automatically starts SAPScript editor Note:- "E" - which line is being executed . "V" - which part of statement being executed. SMART FORMS-Smae transaction.GUI Tool,designs business legal documents,client Independent. 109.Difference between SAP Script & Smart Form-SAP Script-Client Dependent,Main Window Compulsory,No functional module generated,only black & white texts,repeated transfer of control,Single Page Format is possible,Smart FormClient Independent 110.Why Smart Form is Client Dependent? Fn.Module is Client Independent so Smart Form is Client Independent (Environment->function module->BCDCUB) 111.SAP SmartForm-Function Module-name- A function module to find outdynamically generated function module,give Smart Form name as Exporting parameter->returns name of the function module (to avoid function module name change when moving Smartform from One server to another server) with in system landscape we use SAP Smart Form-Function Module name) RS8L-FN for type -> function module 112.Smart Style-reusable objects to create paragraph and character formats 113.Components of SmartForms- 2 Global Settings Pages & Windows Gobal Seetings->baic settings like package name ,created date,language transalation, 3 sub options 1)form attributes 2)form interface 3)Global defintions 1) Form attributes- attributes of form smart form like package name,smart style,page format etc. 2) form interface - interface/mediator between driver program to smart form ,it will import & export the variables ,WA's,internal table's from driver program to smart form ) Global defintions-(we maintain) which are used with in smart form (like variables,wa's,,itable's,user defined type,sub routines,currency quantity field,initialization (code) .PAGE WINDOWS-to maintain pages & windows used in smart form it has options 1) page 2) window 3) Graphics 4) address text-to display a text (or) some info. http://igrowabap.blogspot.in/ 10/32
  11. 11. 7/2/2014 ABAP in 3 hours 114.Tables-creates a table 1.Header,body,footer executed automatically 2.table expands automatically depending on data,need to specify no. of columns under header 115.Template- Same as table,fixed size,does not expand 116.Folder-Used to group Similar texts,windows,graphics into single block 117.Program Lines-A Place to write ABAP Code. 118.Alternative- Same as if...else..endif.(to execute true/false condition) 118.Command-used to trigger event 119.Types of Windows in Smart Forms- 4 1.Main-Auto Expandable window 2.secondary-fixed size,does not expand(variable window in scripts) 3.copies-special type of window to generate different copies when we print (customer,vendor,bank) 4.final-executable at last i.e after the entire smartform execution is finished (grand totals on first page) 120.line type-option in table to specify no.of columns in a line. Book2 121.ERP,ERP Software,ex,Companies Using SAP,SAP,ABAP 122.SAP Modules -SD,mm,fi,hr,crm,PM,wm,SCM 123.SAP Consultant,Roles & responsibilties,Unit Testing-5 tests cases 124.Functional testing UAT & CAT User Acceptence And Customer Acceptence 125.Basis Consultant,Architectures - 3 types Disadvantage of 2 tier 126.3 tier Architecture(Dev,Qua,Prd) Figure Good One,System Landscape 127.Developement Server,What is Server,Production server(live or actual business data) 128.Login to SAP-Types of SAP Software(Development(110,120,130),IDES) 129.Transaction Code- SE - 'S' -Session,'E'-editor 130.Naming Conventions-2 1.SAP Standard Objs(A,B,C,D) 2.Custom Objs(Y or Z),SE21 pkg Builder http://igrowabap.blogspot.in/ 11/32
  12. 12. 7/2/2014 ABAP in 3 hours 131.Package-It is an Object consists of Group of Similar Obj.s,SE21,Container of SAP objects. All our developments should save in a Single Package.(TL,PM,Basis) 132.Transport Request Number-No.Generated By Sys to move Obj(..from Oneserver to another Server).Local Obj.No transport table fig,Very Good Give Tr (in Pkg) No tr (in Local Object) 133.Table Creation using Data element & Domain 134.Domain-An obj.Specifies technical attributes(data type length),ex:kunnr for customer No,KNA1 for data element 135.Data Element-An Obj,specifies Symantic Information-Fields desc,Labels 136.Steps to create a program-Active-To make an SAP object reusable to Other Objects 137.Write: Keyword to print information or test in the output Syntax 138.Data dic or ABAP dic-Central repository where we define and create objects related to Data Base 139.List of Obj.s in DDIC-Table,View,Data Type(Date Element,Structure,Table Type),Type Group,Domain,Search Help,Lock Objects 140.D B Table-Collection of Rows(records) & cols (fields) to store data,2 types 1. using predefined(not used in R.time) 2.using Domain & data element 141.Advantage of Creating Table using DE & Domain 1.Reusability 2.F key relationships 3.For Search Helps 4.In cross apps for defining IDOCS & Segments 142.Steps to create a domain-SE11->D.name->Create->tech.Attr->Data type(Char) Length(10),Save,Activate 143.Steps to Create Data Element-SE11->Name->Create->Data Type->Data Ele>Desc->Domain Name->enter->Save->Activate 144.Defining a Table -> 1.Define Fields (define properties) 2.Domain (Data Type,Length) 3.Data Element (Description) 145.Steps To create a Table 1.Create Domain 2.Data Element 3.Define Fields using D.E,Domain 146.Creating/Displaying data records into a table-> >Create/Display Utilities->Table Contents- 147.Key Field-Does not Accept Duplicate Data http://igrowabap.blogspot.in/ 12/32
  13. 13. 7/2/2014 ABAP in 3 hours 148.Creating DE & Domains-> 2 ways 1.Bottom to Top (Do->DE->Fld) 2.Top to Bottom (Fld->DE->DO) 149.Initial Field-ALL Key flds By Default,If selected it stores initial Value or Empty space as a Record. 150.Types Of Tables 1.Client Dependent (First fld-MANDT) 2.Client Independent 151.Client Number-NO to provide Security to that data at DB level.FLD Name,DE,DOM for Cl.No is MANDT 152.Primary Key-Group of ALL the Key Fields (Ex:MANDT,KUNNR)-,Duplicates checked based on P.Key but not on Key Flds. 153.Ex:Standard SAP Tables,KNA1,LFA1,MARA,MAKT,KNBK,KNB1 154.Ex:Commanly Used Flds.kna1-Kunnr,name1,name2,land1,ort01,ort02 155.Reusability of DE & Domains Fig 156.Properties Of Table 1.Delivary Class (Display/Maintence) 2.Fields 3.Tech.Settings- Data Class,Size Category 157.Data Class-Specifies Type of Data that is stored in table A-Appl.Table(Master & Data table),C-Customizing table,L-Transport Table,S,E,W-Sys Table to store sys data 158.Display Maintanence-2 specify table data can only be displayed/maintained,Maint.Oprns-Creation,Changing,Deleting da table data 3 options 1.DMA 2.DMNA 3.DMAWR 159.Data Class-Specifies Physical Area of Table in DB Server(APPL0-Master Data(remains Unchanged Over a Period),APPL1-Transactional Data(Day to day Transactions)) 160.Size Category-Max.No. of Rec.s that can be stored in a Table-Always 0.0 (0 to 3,600 records),1(3600 to 7,200 records),2(7200 to 16,000 records) 161.Delivary & Maintenence -Delivary Class-it defines the type of data to be transffered into table A.-Appl.Table (master & Taransactional Data only,All application tables should be client specific,Client dependent) 162.Data Class-specifies physical space for the table in data base. APPL0(Master Data),APPL1(Trasnactional Data),APPL2(Organisational Data) 163.Size Catogery-Probable space for no. of records stored in table (0-9).Client dependent-First field should be MANDT(Data Element-MANDT),p.key to avoid http://igrowabap.blogspot.in/ 13/32
  14. 14. 7/2/2014 ABAP in 3 hours duplicate keys one table-16 primary key fields,DD01l-table for all domains,DD04Ltable for all data elements,68 page,figure 164.domain-defines technical attributes(data type,size) for a field.it also maintains fixed vals.Range of vals for a field.to maintain f.key realtionships between tables,reusabilty 166.Data element-Set of properties for a field,domain+ desc,treated as data type in ABAP. 167.Structure-Data type for tables,group of fields & properties,no memory(not allocated),cant hold data 168.table-variable for structure data type (structure + body),memory allocated,can hold data, field - data type + size + desc,domain-data type+ size,Data elementdesc,dd02l-for all data base tables tdenc-for all packages 169.DDIC objs 1.Db tables 2.Views(copy of DB tables) 3.domain-technical attributes of a field,data type+ size 4.type group-(group of user defined data types) 5.search help-list of possible values for a field 6.lock object (to lock/release a table access) 7.data type 1.data element(set of properties of a field) 2.structure(group of fields and there properties) 3.table type(data type for internal tables) eck9000014 ecsysid k-standard 9000014-sequential generated request number note: we never create ----170.SE11-it is centrally integrated tool for all ABAP devlopment environments. DDIC-ABAP Editor,Screen Painter,Form Painter,Function Builder,Class Builder,SmartForm,Object Builder,Object Navigator. 80,000 Standard DB Tables In SAP. 172.Package-To save any kind of Object these are used to transport from one place to another up to 4.6 development class after 4.7 package 2types 1.Transportable(SE21) 2.non transportable (local object,$tmp) 173.To create Package-SE21-enter-rd but package->create->short desc-demo package->Software Componet:home,Package type-Not a main package>enter.make sure a request number is generated. eck900017 174.Client tables-2 groups 1.client dependent (client specific-all application tables) 2.client independent () 175.Client-Specific path or logical system on application server,3 digit numeric(100,110,120),never use 800 it is for demo purpose.000-Golden client(Default Client),client-data base dependent(each client maintain his-----),4.7 password strength-5,ecc 6.0 - 8 IDES-international demonstrative evaluation system,TSTCT-Table for all tcodes se11,se38,se41,se51,se71,se37,se80 176.Objects- 1.standard(developed by SAP,display mode only,access key required http://igrowabap.blogspot.in/ 14/32
  15. 15. 7/2/2014 ABAP in 3 hours to change A to X) 2.custom(Developed by ABAPer,Display / change mode,Access key not required,Y/Z customize objects) 177.Transaction code-to start an environment,To run an Application 178.Buffer-Temp.memory,To reduce load on DB server,To Improve Performance of programming Fig: Prg,Buffer,DB 179.Buffering Options:3 1.Buffering Not Allowed(Table Data not used in buffer) 2.BA (Used by SAP) 3.BSwitched ON (Table data stored in Buffer,Huge Data,Daily Basis) 180.Buffering Types:3 1.Single Record Buffering(only single/first record) 2.Fully Buffered (ALL Records) 3.Generic area Buffer(Only Few Flds Data) 181.Generic Area:An Area that contains key Fields Data.(Specified By No. Of Key Flds) 182.Log Data changes-If selected All Changes(Create,delete,Change) Done to the Data or Recorded 183.Using Currency Quantity Flds-CURR-D.type for Currency/Amount Flds,CUKY D.type to define Currency Key,QUAN,Unit 184.Steps For Defining Currency/Quantity Fields Page 17 185.Structures-SE11-An Obj,Group of Flds,Stores Single Record.Reusable(In More then One Table) 186.Reusability Of Structures- 2 1.Include Strucutre 2.Append(Custom Tables,Reusable) Strucutre(Standard SAP Table,Not reusable) .Include DE>structure Name 187.Steps for Using Include Structure-Page 18 188.Reuse Strucutre In a Table- 1. Create table with Flds Mandt,others 2.Include structure By giving Name as .include,DE-Strucutr Name. 3.Same For other tables too 189.Using Append Structures-For Adding Extra Flds to the St. SAP tables Append Button->Icon Create Append->Give Name,Fld Name,DE Name.2 or 3 flds In Real Time 190.F Key Relationship-Relation b/w 2 or more flds for Table Fld Validation>Checking Weather table Value Correct or Not. 191.Check Table-Table Stores Orginal List of Values or Main Data(Mater table) Ex: KNA1,MARA EX:KNA1 to KNB1,KNBK http://igrowabap.blogspot.in/ 15/32
  16. 16. 7/2/2014 ABAP in 3 hours 192.Foriegn Key table-A table Linked With Check Table for Fld Vaidation EX: KNB1,KNBK 193.Foriegn Key Fld-A Fld in check table Linked with a field in Foriegn Key table EX:KNA1-Kunnr(Foriegn Key Fld) 194.Pre Req.s For F.Key Rel.s- 2 1.Domain Names must be same for Check Table & FK Table 2.FK Fld Must be P.Key in Check Table 195.Steps to Create FK Rel.s- 1.Create tab.s YYKNA1(5 records) & YYKNB1 with flds 2.Open YYKNB1.Slect KUNNR Click ON F.key Button (Standing Man) Enter Check tab Name (YYKNA1),Gen.Proposal,Copy,Save,Activate 3.testing Open YYKNBK->Utilities->Tab.Contents->create->enter a no which is not there in YYKNA1 Kunnr.Error 196.Value table-A Tab Name Defined at Domain level So that all tab flds will be validated against a single table(value table).Click on F.key Button->Msg(F.key Does not exis t create a proposal with value table ZZKNA1 as check table yes no cancel).Yes Value tab becomes check table.No-we have to give our own tab name 197.Steps to create a Value Table 198.Table maintenence generator-SM30-Maintence-creation,Deletion,Updation of recd.s -1. To Maintain Bulk Amount Of Data. 2.To validate tab rec.s using events 199.Steps To create TMG-SE11-> 1.Create Table->utilities->TMG->Auth Group (&NC&-with out auth),Fun Group-Table Name,Mainten.Type:One Step.click Btn Find scrn No:Sys proposses this->Icon Create->TMG/Stan. fun.Mod is created Save 2.SE 80->FUN Grp Name->Rght click->Activate Note:Adding New Fld to tmg Doesn't work Delete & Regenerate 200.Maintaining The table Data: 2 types 1.SM30->tab Name->Maintain button->New Records Button->enter data ->save it. 2. Open Table->Utilities->Tab.Contents>Create 201.Validation with TMG:Using events we can write validations(35 to 40 events).se11->table->change->utilities->TMG->envir->Modif's->events->new entries butn->F4 on first col.abap editor->write code (1.before saving data in DB 2.After Saving 3.Before Deleting 4.After Deleting 5.Creating a New Entry) 4.SE80 Activate the Fn Group 5.Test tab 202.Bussiness Requirement (Same As Above) 203.Properties Of TMG 2 1.Auth Grp(Grp of users who have access to maintain table data) 2.Fun.Grp(Conatiner of fn Mdls created by SAP while creating TMG) 204.Maintenence Type-Specifies One or two Screens to be displayed for maintaining table Data Options:Two step-Muliple Records at a time(2 screens http://igrowabap.blogspot.in/ 16/32
  17. 17. 7/2/2014 ABAP in 3 hours displayed).One Step:Single Screen<to Create Entries Click on New Entries button 205.Recording Routine-We can enter one record at a time,to record table changes.1.Standard Recording 2.No User Recording 3.User Recording 206.Indexes-To read data from data base effiecently to improve performance 2 1.primary(Created by SAP,On Key Flds) 2.Secondary (Abaper,On Non Key Flds) 207.Steps For Creating Secondary Index(Max 9)->Click on Button indexes->Create Icon->desc->provide fld name->Save->activate 208.Types Of DB Tab.s: 3 1.Transperent 2.Pooled 3. Cluster 3 figs 1. business data,one to one rel with t.tab in ddic & tt in db.A table in ddic is replicated in db with same structure by default all tables are TT. 2.To store sys data (screen sequence,Statistical data) Table Pool,Many to 1 Realtion,Tab Pool 3.Table Cluster,Page No,TimeStamp 209.Views-Imaginary Table,Stores Flds from Multiple Data Base tables,Doesnot Store Data 210.Types Of Views: 4. 1.DB View(Inner Join,Only Reading,No Maintence) 2.Projection(Single table,R&W) 3.Maintence(Inner join,R& W)4.Help(Otr Join,Only in Search help) 211.Joins-To link 2 or more DB tables 2 types 1.inner(Matching Records table) 2.Outer Join(All rec.s from 1st table,Matching Records from 2nd table,Blank) 212.An Example of DB View-SE11->create->sel DB View->desc->Tab Names(MARA,MAKT)->relationships button->select Relation MAKT-MARA->copy button->View Flds Tab-> Table Flds Button->Slect MARA or MAKT ->Choose->field Names->copy ->select Condition Tab->Table,Field names Compare Values->Save>Activate 213.Checking The defintion Of view->utilities->DB Objs->displayed(SQL Stmt) 214.Projection View-View created On Single table,Read and Maintain data,to minimize DB interference,To reduce table fields.Steps:-SE11->View Name->create>projection View->Desc->TAB Name->TAB Flds->Copy Button->Save->Activate>Test It 215.Maintenence View-Create on Multiple DB tables Using Inner Join Concept,Can Read & Maint. data.Designed For SAP,Not in Real Time.As Per Best Programming Sandards Maintence Should Not Be Done Through Views 216.Help View-Special view.Designed For Search Help.2 or more tables,outer join,Cant execute directly,can only Read data. 217.Steps To create help View:se11->View Name->Table Name->Relationships http://igrowabap.blogspot.in/ 17/32
  18. 18. 7/2/2014 ABAP in 3 hours Button->Select Tables(MARA-MAKt)->Copy->View Flds Tab->Slect flds->Save>Activate 218.Search Help: Help for List of Values to be selected on an Input Field,f4 functionality for an input field 219.Types Of Search helps: 1.Elementary 2.Collective A single Search help for input flds A group of elementary search helps for input flds. 220.Steps of Elementary Search help.SE11->Select Search help->create->Select Elementary Search help->desc->selection Method(MARA)->Provide Search help Parameters as Below Search help parameters Imp tick exp lpos spos Save>Activate->Test 1.program level(pars,stmts,syntax,ex) 2.Table Level 3.Data Element level 221.MatchCode Object: Stmt to assign Custom Search Help by replacing Standard Search Help.If Standard Search help Not avai it displays cu.s.help directly.Syntax: Parameters: <Pname> type <Table-FieldName> Match Code Object <Custom Search Help> 222.Assigning The Search help At the Table level 3 steps 1.Create table 2.Create a Search Help 3.Assign Search Help to Table Field ex:open ZMARA->select Matnr>click on generate proposal->Save->activate->Test it. 223.Collective Search help->Group of Elementary Search helps Ex: 1.Create 2 ele.search helps with parameters 2.Create a Collective S Help with Par.s 3.Include(tab) search helps->give 2 s helps one by one->Parameter(button) Assigment->Proposal->Yes->Save->Activate->test it 224.Assigning Collective Search Help At program Level. 225.Search help properties 1.Sel. method-Specifies table Name or view name so that values can be selected 2.LPOS-list position of screen 3.SPOS-Selection Screen position of Field 4.Importing-chk box selected values are imported by list screen to selection screen 5.Exporting-Vice Versa 226.Dailog Type:Dialog means Screen- 3 types 1.Display values immediately 2.Dailog with value restriction 3.Dailog depends on set of values 1.As soon as click on SHelp button 2.Values Not Displayed immediatley but a window is disaplyed instead where we can put some filter 3.Above both set of values<500 displays >500 screen 227.Type Group-Obj,contains reusable user defined data types ex:slis(related to ALV reports).we dont create them in real time 228.Steps to create Type Group-SE11->Type GRP->ZTYPE->Create->Below Code> Type-pools: Ztype types: Ztype_name(25) type c. http://igrowabap.blogspot.in/ 18/32
  19. 19. 7/2/2014 ABAP in 3 hours 229.Properties of Domain : Sign:Can Store sign of a -ve or else + ve value Lcase:Charcters are stored as entered in SAP screen or else upper case. 230.Conversion Routine:Fn.Module,Converts a Value frm int. format to ext.Format CONVERSION_EXIT_ALPHA_INPUT(ext. to int),CONVERSION_EXIT_ALPHA_OUTPUT 231.Fixed Values:Can define list of fixed values for a domain(see notes) 232.Internal tables:Symbol,Temp.Mem loc created during run time of a prg. to store the data of a DB table,stores n no of records,a run time instance 233.Work Area:Symbol,temp. me. storage location 234.variable:temp.mem.location,Stores a Single value. 235.Why Itabs or Wa's-Not directly working on Db tables.Reducing the load on DB. 236.Why Work areas-To read record from itab in to a sep. memory called as WA. 237.Syntax of Itab: DATA:<itab name> type table of <DB Table Name>/<User Defined Data type> ex: Data: I_kna1 type table of kna1,Data: I_kna1 type table of ty_kna1 238.Syntax for WA: Data: <wa Name > type <DB Table>/<User Defined type> ex: Data: wa_kna1 type kna1/ty_kna1 239.Accesing Work Area Fields: Syn: <WA-name>-FieldName = 'Value'. Ex:wa_kna1-kunnr = '1001'. 240.Reading data from DB tables: Select fromDB Table into Itab. Syn:Select f1,f2 or * from <DB Table> into table <itab> where <condition> Ex: Select 241.Displaying Itab Data:need to read each record from itab to wa Syn: Loop at <ItabName> into <WA>....EndLoop Ex: Loop At I_Kna1 into Wa_Kna1...very very good ex Data: I_kna1 type table of kna1 Data:wa_kna1 type kna1.Select * from kna1 into table i_kna1 Loop at i_kna1 into wa_kna1 writ: / wa_kna1-kunnr,wa_kna1Name1 endloop 242.Types: To declare our own custom data types. Syntax: Begin of <UserDefinedTypeName> f1,f2 .....End of <UserDefinedTypeName> Ex:Begin of Ty_kna1 kunnr type kna1-kunnr,Land1 type kna1-land1 End of Ty_kna1 Data: i_kna1 type table of ty_kna1 wa_kna1 type ty_kna1 243.Into corresponding Fields: to compare each field from source to target itab,puts extra burden on DB,Never in Real Time Syn:Select * from <dbtab> into corrsponding fields of Table <itab>. http://igrowabap.blogspot.in/ 19/32
  20. 20. 7/2/2014 ABAP in 3 hours 244.Best prg.ing:1.Always declare itabs using u.d.type 2.Select * X,Select list of flds 3.into corresponding flds X 4. Source list of flds & the targt itab flds list must be same 245.List of Itabs operations 1.Append 2.Insert 3.Sort 4.Describe Table 5.Read table 6.Loop at <Itable> 7.Modify 8.Delete 9.Delete Adjacent Duplicates 10.Clear 11.Refresh 12.free 13.Collect 14.Move Corresponding 15.Append Lines of 16.Insert Lines Of 246.Append-To add Single record from wa to Itable.Syn: Append WA to Itab Ex: WA_kna1-kunnr = '100'. Append wa_kna1 to i_kna1. 247.Insert-To Insert record from wa to Itab at a specified location Syn:Insert <WA> into <ITAB> index <No> 248.Sort-To Sort Itab Data either in Ascing or Descending order Syn:Sort <Itab> by f1,f2...<ASC>/<DESC> ex:1.Sort i_kna1 2.Sort i_kna1 by Name1 3.Sort i_kna1 by Land1 descending 249.Describe table-To find total no of records in a iTable. 43 page Syn:Describe Table <Itab> lines <var.name> 250.Read Table-To read a Single Record from itab into Wa. 2 1.With Index(read the record specified by index no into wa) Syn:Read table <itab> into <wa> index <no>2.With Key(By field value) Syn:Read table <itab> into <wa> with key <fldname1>=<value>,<fldname2>=<value>,Binary Search,Prerequsite is Itab sort in Ascending. 251.Binary Search-Search Algorithem,To improve time taken for reading a record from itable.In Real time its Mandatory.Functionality of Binary Search(2 halfs). 251.Loop..EndLoop-Read Multiple records from itab into Wa one by one. 3 Syntaxes 1.Loop at <itab> into <wa>..endloop 2.Loop at <itab> into <wa> from N1 to N2 3.Loop at <itab> into <wa> where <field name=Value> <Fieldname=Value>..endloop 252.Modify-To Modify single/Multiple Records based on the condition. Syn:Modify <itab> from <wa> index <no> transporting <Fname> 253.Sy-tabix-System variable,Index no of internal table which is currently processed.Internal table Index ex: 254.Insert the values in the data base table (report prgoram) 255.Delete-To delete the data from Internal table Syntaxes 3. 1.Delete <itab> from <wa> 2.Delete <itab> index <no> 3.Delete <itab> where <fld1>=<val>,<fld2>=<val> http://igrowabap.blogspot.in/ 20/32
  21. 21. 7/2/2014 ABAP in 3 hours 256.Delete Adjecent Duplicates-Delete Adjacent/Side by Side duplicate records (pre requisite itab sorted in ascending order) Syn:Delete adjacent duplicate from <itab> Comparing <f1><f2><f3> or all fields ex:Delete i_kna1 index 3.Delete i_kna1 where kunnr = 'sony01' ex. 257.Clear:to delete data from Variable or WA or ITAB Syn:Clear <VarName>,Clear <WA>,Clear <ITAB>[]->Body 258.Refresh:To delete Internal Table only Syntax:REFRESH <ITAB Name> 259.Free:Data & Memory also be deleted.Syntax: Free <Variable Name>,WA,ITAB. 260.Collect:Similar to append.Checks weather wa record already exist in the Internal Table or not.Yes-It will add numeric fields No-It will add a new record to itable Syn:Collect <WA> into <ITAB> ex:big one. 261.Append Lines of-To add multiple records from 1 itable to another itable Syn:Append lines of <itab1> from <n1> to <n2> into <itab2> ex: 262.Insert Lines of-To add data from one ITAB to another at specified index number. Syntax: Insert lines of <iab1> from <n1> to <n2> into <ITAB2> index <no>. ex 263.Moving Data from One Internal Table to another Internal table Syntax: Itab2[] = Itab1[]. 264.Move Corresponding:To Move Data from Corresponding fields from One WA to Another WA Syn:Move Corresponding <WA1> to <WA2> Ex:Dangerous stmt,Alternative Is 265.Obselete Ways to declare ITAB and WA:occurs 0-Creates body of 8 kb size for internal table.occurs 0 with header line-Body as well as implicit WA(header line) 266.Using our own fields-Page 51.OOABAP-Only Type Statement,Internal table Operations Differences. 267.Types of Internal tables 1.Standard 2.Sorted 3.Hashed 1.Default,Key or Index operation to read a record,binary/linear search,Response time depends on no of records 2.not default,automatically stores data,no append stmt, Default,Key or Index operation to read a record,binary/linear search,Can be sorted 3.not default,when working with all fields of itables,when working with large datasets,only index operation Syn: Data:<ITAB> Type Standard/Sorted/Hashed Table of <DBT/UDDT> 267.Open SQL:SAP R/3,Independent to DB,R/3 interface Layer,Converts to DB Stmts http://igrowabap.blogspot.in/ 21/32
  22. 22. 7/2/2014 ABAP in 3 hours 268. 2 types of Statements 1.Open SQL->In Real Time 2.Native SQL->Directly with Data Base 269.INSERT: Insert <DBTab> From <WA>,INSERT <DBTAB> From Table <ITAB>. 270.MODIFY: Same 271.UPDATE:Same 272.DELETE:Same Above Kind of Syntax 273.Pre Requisites for Open SQL Stmts: Always work with <ITAB> rather then <WA>.Structure of itab/wa must be same as DB Tables. Ex: Data: I_kna1 type table of kna1 (tick) ,Data: I_kna1 type table of ty_kna1 (wrong) 274.System Variables:System Variables Automatically updated for each open SQL Operation. 1.SY-SUBRC-System/sub operation/return code-Stores return code of open sql operation.'0' means successfully executed. 2.sy-dbcnt-Stores No of records successfully processed. 275. 2 forms of insert statement fig. 1.Insert from ITAB(throws run time error when finds duplicate records) 2. Insert from ITAB accepting duplicate keys 276.update statement: 2 types 1.row level update 2. column level update 1.Entire row is processed 2.Only purticular Fields updated Syn: 1.update <DBTAB> from <WA> or update <DBTAB> from TABLE <itab> 2.update <DBTABLE> set <fl> = <val1> <f2> = <val2> where <condition> 277.Modify Statement:it updates/inserts new record (if yes/no) always sy-subrc = 0. 278.Delete : it deletes single/multiple records, all examples 279.debugging:SAP tool,Displays Back ground Execution of each Statement. 280.break point: it is a point to break program execution 2 types 1.Static(fixed,set by statement BREAK-POINT,never use) 2.Dynamic (STOP button,deleted automatically) 281.EXIT: to stop loop processing and exit the loop,ex. 282.Continue:To continue the next iteration counter by leaving all the below statements 283.Loops : 3 types 1.DO <N> times ENDDO 2.While <Condition>...ENDWHILE 3. Loop at <ITAB> ....ENDLOOP. 284.Sy-index-Holds the loop iteration counter of a loop,Sys-Variable http://igrowabap.blogspot.in/ 22/32
  23. 23. 7/2/2014 ABAP in 3 hours 285.Case <Conditon>.....when <value> .....EndCase 286.Conditional Statements 3 1.if...endif 2.if....else...endif 3. if....elseif...elseif...elseif...endif. 287.Data types in abap-fig,ex Prg 288.SKIP-to display blank line on output screen syn: SKIP <NO> -No of Lines,Skip,Skip2-2 blank lines. 289.Variable-Temporary memory location-holds single value 290.System variable-SYST structure, ex: sy-uname,sy-datum,sy-uzeit,sy-repid,syvline,sy-uline,sy-mandt. 291.Write with position with LEFT/RIGHT/CENTER JUSTIFIED ,colors 292.Structures-Group of Fields and properties,2 types,1.INCLUDE 2.APPEND 1.custom tables,to add new flds at any req. pos. .include as fld name,strcutre as data element,n no of custom tables 2.Standard tables,Last positons,f5 293. 1.Transparent Table-Same Table Name,Strucutre in DDIC & DB. 2.Pooled tables-Multiple DDIC tables-one DB table(Pooled table)-Orginizational Data 3.Cluster table-same,table cluster,Multiple tables must be linked with a primary key Note:Properties for a field check here (predefined type),Types of tables w.r.t client,w.r.t DB. Book3 294.String operations: concatinate,Condense,Translate(u/l case),Replace,Split 295.using loops in smartforms:loop node,loops an itab,table-node,loops an itab and display data in the form of a table prg. 296.Debugging 2 ways 1.Static Brk point in prg lines of Smart Form 2.Dynamic Brk Point in Function Module se7->fn md name->display->source code>find(button,binarcules)->Give any Prg.Line(v_sno=v_sno+1) -> RADIO Button In Main program->enter->put Dynamic Break Point. 297.Configuration of Smart forms NACE Page5. 298.Text Module in Smart Form-to display text depending on log on language,Single text in multiple languages->steps http://igrowabap.blogspot.in/ 23/32
  24. 24. 7/2/2014 ABAP in 3 hours 299.Module Pool Programming-se80,tcode is must to execute,to create custom SAP screens as per business requirement/Modifying Standard SAP Screen. 300.Events of MPP:- 1.PBO- Before screen is Displayed 2.PAI-After Screen is displayed 3.POV-when user clicks on search help or f4 button 4.POH-Help/f1 button 301.Execution flow of a MPP-execute tcode->PBO->screen->User Enter Input->PAI 302.Modularization Technique in MPP Programs-4 include prgs.Created Automatically 1.TOP Include(<MPPName>_TOP,All Data declarations) 2.PBO Include(<MPPName>_O01,Logic relaed to PBO) 3.PAI Include(<MPPName>_I01,Logic related to PAI) 4.Forms Include (<MPPName>_F01,Logic related to sub routines) 303.Screen-Visible Layout which is displayed in the output. 304.Components of Screen:4 1.Attributes(Properties of screen) 2.ElementList(List of elements of screen) 3.FlowLogic(contains modules) 4.Layout(Designing Part) 305.Module-Obj,Contains ABAP code for a screen (Flow Logic cannot understand ABAP Statements) 306.Steps to create a MPP Program (Check all in MPP Questions) 307.OOABAP (See SAP technical Also) 308.Class:User Defined Data Type (Group of attributes,methods,events,types,interfaces etc) 309.Object:Fig. Instance of a Class i.e a duplicate Copy of a class,Each obj. Seperate Memory. 310.Types Of Components: fig. 2 1.Instance 2.Static 1.Seperate memory for each instance or Obj. fig. Syn:<Instance/Obj.Name>-><instance Component Name> ex:2.Global memory or fixed memory for all objects,Static attributes affect all the objects reffereing to same memory Syn: <ClassName>=><StaticComponentName> fig. Static Component Selector. 311.Attributes: Any data variables,wa,constants with in the class 312.Steps to create a global class: SE24->ClassName(ZCL_name)->Create->Desc>Button Save->Attribute(Attribute Tab)->save & Activate 313.Creating Objects: 2 Steps 1.Declare a vaibale for Object Syn:<ObjName> type ref to <ClassName> ex: Data: Obj type ref to ZCL_Sample 2.Instantiate Object Syn:Create Object <ObjName> Ex:Obj1,Obj2 (SAP Memory Allocated) http://igrowabap.blogspot.in/ 24/32
  25. 25. 7/2/2014 ABAP in 3 hours 314.Example program on the Above Class 1.Declration 2.Instantiation 3.Setting a Value 4.Changing Value & Print see page V.IMP Page 25. 315.Ex. prg. on static attributes v.imp page 26 see once 316.Visibility of Components -3 visible sections in a class. 1.public section 2.Private section 3.protected section 1.within Class & outside Class 2.within Class Only 3.Within Class & for its child class. Any Data,varaibles,Components declared under 317.Ex on protected & private Variables Obj=>V_name) (instance Obj->V_name Static 318.types of classes 2 1.Global,All prgs in SAP can access this class,Starts with GCL_ 2.Local SE38 with in a Program,Cant be accesesed outside,Starts with LCL_ 319.Methods: Similar to function Modules,Set of Statements,Importing,exporting,Changing,Reing parameters Syn:- To call method CALL method (downside exp..Imp..) <ObjName>(instance)/<ClassName>(Static) >/=> Method name under parameters button 320.Ex. On methods 1.declaring Methods in method tab 2.Parameters (itable,field) 3.Click on [] and write code (method...endmethod)->select Query 4 321.Using method in the program : pattern RadBut ABAP Object Patterns->RadBut Callmethod (Instance,class interface,method)->Code will be generated 2 book ex: 23ex 322.Ex on method with table type Create table Type->open class->Method tab>Define a Method->Specify parameters->Write Code->Write Code in program 323.Types In Classes (Ex) : to declare attributes or --- parameters of type user defined. click on types tab and define types 324.Events: action double click | Right Click | left Click.To trigger the methods of same or other class. events tab. Syntax to raise events: Raise Event <EventName> ex: Raise Event no_kunnr. 5 steps to work. 1. Define event 2.Define a Method 3.Link event & method 4.Raise Event 5.use SET HANDLER Syn: SET Handler event handle method for instance object. 325.SET HANDLER(key word)-To register event handler method for a particular instance | object. ex:- SET HANDLER obj1 -> zxyz for obj1 ,SET HANDLER obj2 -> zxyz for obj2 , ex program 326.Constructors - special method,Executed automatically 2 1.Instance 2.Static 1.instance constructor-executed when ever instance is created,only importing parameters,no exporting,to set default value in a class,name is CONSTRUCTOR 327.A real time ex on construcor http://igrowabap.blogspot.in/ 25/32
  26. 26. 7/2/2014 ABAP in 3 hours 328.STATIC CONSTRUCTOR-exe when ever class is accessed using instance/class name for the first time ex:objName->Class member,ClassName=>Static class method exe only once name static constructor class constructor(method name automatically),no importing,exporting parameters 329.Interfaces-Similar to classes,contains methods with out impl,where as class with impl,polymorphism,1 interface,3 classes,methods are linked and copied to classes 330.Polymorphism-Method names will be similar in all classes but implementation is different. 331.Ex on interfaces-ZIF_xxxxx 332.using Aliases-Alternative Name for interface method names or components (ALIAS TAB visibility) 333.Inheritence- Symbol,To create a child class from parent class,methods copy to child class 334.SUPER-Keyword to access super class methods syn:- Super-> <par.class.method> ex: super -> pm1 super -> pm2 335.REDEFINE-keyword,to redefine the parent class methods with extra abap code,also called as method overriding,no method overloading in OOABAP,Single Inheritance(OK),Multiple Inheritance(NO) 336.FINAL-keyword,Check box(no inheritance),to indicate weather we can create a inheritance for a parent class or not. 337.Abstract Class-we cant create object to abstract class,to create inheritance,methods with/with out implementation,abstract method-without implementing code. 338.Steps for abstract class,ex.code 339.FRIENDS-concept by which child class can access even private variables of parent class.by default it can access public & protected variables,firends tab,ex 340.lcl classes-A class in se38 to create lcl class 2 steps 1.Class Defintion 2.Class Impl Syn: Class <ClassName> Defintion...Endclass,Class <ClassName>...Endclass 341.Using static & Intance Components in local class(check). Attributes:DATA,CLASS-DATA methods:methods,classmethodsEvents:events,class-events,constructor-constrcutor,class-constructor 342.Using public,private,protected sections class public section data class data endclass http://igrowabap.blogspot.in/ 26/32
  27. 27. 7/2/2014 ABAP in 3 hours 343.Using events in local classes 1.Define an event events:No_kunnr 2.Define a method : event_handler_methods 3.link event and method and convert to event handler method Syn: methods: <method name> for event <event name> of <class name> 344.Using inheritance in local class 1.Create super & child class Syn:class <classname> defintion inherting from <superclass>...endclass ex. 345.Redefining a method: Syn:- methods <method name> REDEFINTION. ex, 345.DEFINTION DEFFERED: Keyword,to tell sytem/program that defintion of class is postponed/available somewhere in the program. 346.ABAP Object patterns RaDButns CallMethod->Create Object->RaiseEvent>RaiseException Syntax: Class ClassName Defintion deffered. 347.Object Oriented ALV's Displayed in 2 ways 1.ALV with function modules 2.ALV with Classes 348.Advantages of ALV with Classes 1.N no of events in classes(more compared with function Modules) ex:drag & drop left click,right click 2.OOALV Displayed on MPPScreen(with the help of custom container UI element) 3.Control size of Custom Container.i.e we can control ALV GRID Data 4.Display ALV Grid & UI Elements (Check boxes,Radio Buttons) 5.Can display more then one ALV Grid on single Screen. 349.Architecture of OOALV-UI Elements,Custom Container UI,ALV Grid,MPP Screen 350.Classes used for OOALV's 1.CL_GUI_ALV_GRID 2.CL_GUI_CUSTOM_CONTAINER 3.CL_DD_DOCUMENT(Logo,TopOfPage) 4.CL_GUI_ALV_TREE 5.CL_GUI_SPLITTER_CONTAINER 6.CL_GUI_CONTAINER (to use part of container from split container) to divide/split custom container method:set_table_for_first_display used to display ALV data. 351.List of OOALV's1.ALV with Structure 2.Field catlogue 3.Feild Catlogue Merge 4.Logo & Top of Page 5.Interactive ALV's http://igrowabap.blogspot.in/ 27/32
  28. 28. 7/2/2014 ABAP in 3 hours 6.Interactive ALV with Grid on Same Screen 7.Splitter Container 8.Tree 352.Interactive ALV's 353.ENHANCEMENTS: Concept to add extra code to Standard SAP Software without modifying Original Software.Each Enhancement point is called exit point. 354.Types of Enhancements: 1.User Exit 2.Customer Exit 3.BADI's (OOABAP) 4.Enchancement's SPOT 1.Subroutines only in SD Module 2.FM/include programs in all modules 3.Interfaces/Classes in ALL Modules 4.Directly we can enhance in all Modules. 1.USER Exit's-empty sub routine's to write Customer code to enhance application technically called as MODIFICATIONS(need SAP Access Key),only SD Module,Start with userexit_**** ex: perform userexit_**** ,form userexit_*** endform.,empty subroutine write your own code. 2.CUSTOMER EXIT-zinclude programs,available inside funtion module technically called as enhancements available in all modules. 4 types 1.fn Mod exit 2.menu exit 3.screen exit 4.field exit(obslete now) 1.To enhence custom coding of Standard SAP Application.It will have a predefined Signature.(i.e importing/exporting parameters)->based on this write custom code.each fn module will have zinclude. 2.To add custom menus to standard tool bar or menu bar identitified by '+' .Dbl.Click on+ and create Custom menu menu exit to add custom menu fn.md.exit to add abap logic for corresponding menu exit. 3.Screen Exit-to add custom SAP Screen to Standard SAP Screen,of type sub screen,each sub screen identified by screen number,each screen exit fn module exit. 4.Field exit-to change the standard field labels of i/p fields on SAP Screen Note: Each C.exit of Function Module Exit starts with EXIT_XXX_001.Project is a group of enhancements.each enhancement is an exit point. cmod-to create a project smodsearching the enhancements(exits) 355.Searching for enhancements (or) exits : 3 Ways 1.using call customer function 2. usind smod tcode 3.using se84 tcode http://igrowabap.blogspot.in/ 28/32
  29. 29. 7/2/2014 ABAP in 3 hours 356.Using SMOD Transaction. 357.using se84 - se84- expand enhancements folder->customer exits folder->dbl click on Enhancements->Give package name->execute->list of enhancements displayed 358.using Call customer function-SE93->tcode name (XD01)->click display->dbl click on program name->find button(binoculus)->pop up display->Give string as call customer->Select Radio button in Main Program->enter->Dbl Click on Main Program name & Continue untill all customer's are displayed ex:359.Finding enhancements for a exit-Modsap is a table which give enhancements name for a exit. Steps:se11->modsap->display->table contents->give member as exit name ex:-exit_sapmf02d_001->execute->enhancement name will be displayed. 360.finding the exact or correct exit. 1.After finding the list of enhancements & function modules put break point in all function module exits 2.First create a project in CMOD transaction 3.put a brak point in the function module exit 4.execute the transaction->now we can find easily which is correct exit. 361.steps to find user exits->give tcode ex:-vaq3->click onsystem->status->pop-up is displayed->double click on program name->find button->give the string as user exit->select the radio button in main program & press enter->give the main program name & press enter->continue the process untill you find the user exits ex:- perform userexit_save_document_prepare,userexit_save_document 362.ex on userexit,ex on function exit using call transaction function ex: on customer exit using SMOD,ex on menu exit,testing 363.field exit-changing label of standard field->cmod->project name as za_cust>goto->text----->keywords->xhange->a pop up is displayed->data element name as 'STCD1' ->enter->change short,medium,long,heading,short desc to to taxx number>save. testing->xk02->vendor name as -> select check boxes->address,control,py trans,enter->next screen button->observe text label which is canged from tax number to tax number 364.steps to find out the field name,table name, data element. se02->vendor number as 1->select check boxes->enter->next screen button->press f on tax number field-> apop up is displayed->tech.info button->displayes tab name,field name,data element name 365.BADI's-se18-badi defintion,se19-badi impl- business addins,another way of implementing enhancements to the standard program with out modifying original code,uses oops,technically it is nothing but interface,each badi's contains methods http://igrowabap.blogspot.in/ 29/32
  30. 30. 7/2/2014 ABAP in 3 hours with out implementions called as badi defintions.need to write abap classes to implement badi's Advantages-1.Can create multiple implementations for a single badi/enhancement exits-single implementation i.e single project for enhancement.interface name for badi will be as below if_ex_cbadiname.calss name for a badi will be zcl_ex_cimplemantaion name. Types of Badi's- 4 1.Single implementation 2.Multiple implementation 3.Filter Implementation 4.Custom Implmentation 1.Only one Implementation 2.Multiple Implementations,by default all will be executed,cant control sequence of execution 3.which has a filter value,only those implementation's which satisy filter value are executed .generally filer value data element eg:-land1,bukrs 366.properties of badi's 1.if multiple use check box is not selected it is a single implementation badi 2.if filter dependent check box is selected it is afilter dependent badi .we need to define the filter type such as land1 , bukrs, werks 367.finding badi's for tcode CL-Exit-handler->class,get_instance->method (to find list of badi's for a transaction).Go to SE24->class name as CL-Exit-handler>display->double click on method->create instance->put break point on below line or method (see page 60) 368.second method using se84 1.find package name for a tcode->se84->expand enhancement folders->Add-in Floders->double click defintions->give pkg name>execute ex:give package name va1 369.ex on badi 370.cross applications 371.RFC remote function class-Special type of function modules,communicates with remote servers(SAP to SAP/NON-SAP),select radio button remote enabled fun module,extra coding generated,fig 372.RFC Destinations-Created by basis,SM59,comminucate or links between remote servers,fig:-server1->link->server2 syn:Call function <RFC Fn MD Name>(by abaper) destination <RFC Destination Name>(by basis) EXP---- IMP--373.Steps to create RFC Destination-SM59-ABAp conn.s Folder->create->Name as z800 to 810->description->host name (name as gcecc62),Target host:app server>log on & security tab->specify details:language:en client:110(remote server client) user :sapuser paswordstatus:india123->click on remote login button to test connection->connected->back 374.Steps to create RFC Function Module->SE37->function module name(ZGET_MAT_DATA)->Create->Import Parameters(im_matnr) (pass by value)>export parameters->ex_mara->code code:select single * from mara into corresponding fields of table ex_mara where matnr=im_matnr->attribute tab http://igrowabap.blogspot.in/ 30/32
  31. 31. 7/2/2014 ABAP in 3 hours >remote enable radio button 375.using RFC function Module In a Program 376.BAPI-tcode BAPI,BOR-(Business Object Repository)-Repository of business objects BO-an obj,which is similar to class group od attributes: methods,events,interfaces,key fields etc SWO1 (tcode) ex:BUS1001-Materials 2)BUS2012->PurchaseOrder 1.Methods:BAPI_material_getdetail,BAPI_material_getlist 2.methods: BAPI_po_getdetails,BAPI_po_getitems 377.BAPI-Remote enabled function module to communicate between SAP to SAP/NON-SAP servers,uses RFC technolozy,RFC Fun Module inserted in to business object converted to BAPI 378.Difference between RFC & BAPI-both to communicate between SAP to NONSAP,Stand Alone FM's,communicate with other BAPI'S,events interface 379.Uses of BAPIs 3 1.Report Generation 2.Communicating b/w SAP to SAP/NON SAP 3.to upload data 380.Rules of BAPI1.Starts with BAPI or ZBAPI 2.All import/export parameters of type structures (Starts with BAPI/ZBAPI) 3.All Parameters should be pass by value 4.Every bapi should have a returning parameter (return like BAPIRET2) 5.If Bapi success-to save data in data base table use another bapi BAPI_TRANSACTION_COMMIT else BAPI_TRANSACTION_ROLLBACK 381.ex on Bapi's ex:2 ex:3 382.ALE IDOC's ALE-Application Link Enabling,netwrok,to create connection between servers at deifferent geographical locations 383.IDOC-data transfer,intermediate document 384.types of data transfer 2 1.out bound data transfer (sap to another) 2.inbound data transfer (another to sap) 385.SAP to SAP communication:fig ALE,IDOCs 386.SAP to NON-SAP communication:fig EDI,IDOCS,TIBCO,SAPXI,XML,fig,middle ware tools 387.IDOC-Internediate Document,Conatiner of data ,similar to post box.technically IDOC's->group of segments(similar to structures)->group of fields,start with standard(E1),custom(z1).we30-idoc types, we31- segment defintion.Idoc IDOC http://igrowabap.blogspot.in/ 31/32
  32. 32. 7/2/2014 ABAP in 3 hours Types-(DEBMAS05(E1KNA1,E1KNB1,E1KNBK Fields)-Customer Data,CREMAS05Vendor Data,MATMAS05-Material Data) 388.Runtime Components of Idoc-When ever we transmit the IDOC from one server to Another Server Automatically components will be added at runtime 389.Runtime Components of IDOC- 1.Control Record Info 2.Data Record Info 3.Status Record info 1.who is reciever/sender,1 record,EDIDC 2.Actual business data,n records,EDIDD 3.Stauts info,success,error,warnings,n records,EDIDS. 390.Message Type-to identify the type of application for which idoc is used. ex:ALREQ01->IDOC type for feteching material,cutomer,vendor data to identify the application for the above IDOC we use message types. ex: 1.MATMAS ->Message Types(matmas01,matmas02..,matmas05-all idoc types,05 is latest one) 2.cremas 3.debmas. First create IDOC with segments->create message type->then link to IDOC types 391.Steps to create a segment- WE31->segment typesegment name as z1kna1>create->desc->field name & data element->save->back->edit (set release).once you relaease the segment only it can be used in the IDOC's 392.Create ZKNBK Steps to create IDOC->WE30->IDOC Name ZDEBMAS05>Create->desc->enter->put cursor on IDO name->Create or ADD segment->A popup is displayed->Give Details as Below->Segment Type Z1KNA1 Mandatory Segment Minimum No Maximum No ->enter->put cursor onz1kna1 segment & Click on create Button to add segment as Child->provide details as below->Parent Segment->Segment Type->Z1knbk min no 1 max no 9999 ->save->back->edit>release->Now IDOC is used to transfer data 393.Filtering IDOC BD64 Segment-BD56 394.Custom IDOC's - 1.extended IDOC->Organisational IDOC(WE30) + Extra Segment(WE31) 2.reduced IDOC 1.Orgiginal IDOC (BD53)-Unwanted Segements Posted 13th April 2012 by Bhamidipati 0 http://igrowabap.blogspot.in/ Add a comment 32/32