ALL faqs

download ALL faqs

of 147

Transcript of ALL faqs

  • 8/9/2019 ALL faqs

    1/147

    Download the original attachment

    ABAP FAQ’s on Reports / Scripts / BDC / Dialogs

    ABAP Reporting

    • SAP TERMINOLOGY

    Master data is a collection of information about a person or an object , e.g. a costobject, vendor, or G/L account. For example, a vendor master record contains notonly general information such as the vendor s name and address, but alsospecific information, such as payment terms and delivery instructions. Generallyfor end users, master data is reference data that you will loo! up and use, but notcreate or change.

    Transactional data is data related to a single business event such as apurchase re"uisition or a re"uest for payment. #hen you create a re"uisition, forexample, $%& creates an electronic document for that particular transaction. $%&gives the transaction a document number and adds the document to thetransaction data that is already in the system. #henever you complete atransaction in $%&, that is, when you create, change, or print a document in $%&,this document number appears at the bottom of the screen.

    Workflo

    % routing tool in $%& that forwards documents for review or approval . Forexample, a re"uisition that needs to be approved is sent to the appropriateapprover's inbox. #or!flow is also used to route journal vouchers, credit cardcharges, and other documents in $%&.

    !ost O"#ect$

    % (ost )bject collects expenses and revenues for a particular purpose , such asa research project. *n $%& there are three types of cost objects+ (ost (enter,*nternal )rder, and # $ -#or! rea!down $tructure lement - see below fordefinition .

    !ost !enter$

    General or operating Cost Objects are !nown in $%& as (ost (enters. (ost(enters are budgeted on the fiscal year %

    Internal Order$

    http://mail.google.com/mail/?attid=0.1&disp=attd&view=att&th=1135d9ba94e60918http://mail.google.com/mail/?attid=0.1&disp=attd&view=att&th=1135d9ba94e60918

  • 8/9/2019 ALL faqs

    2/147

    % non0sponsored (ost )bject -for example, funding from the 1*2 &rovost usedto track costs over periods other than fiscal years. *nternal )rders are oftencreated to trac! gifts or endowments at 1*2.

    WBS Ele&ent$ # $ lements are funded by outside sponsors and are used to

    trac! costs of a particular research project over the entire span of its activity.2hey may also be created to trac! other sponsored activities, such as gifts.

    G'L Acco(nt$

    G/L accounts are also called (ost lements in $%&. 2hey are a classification byexpense or revenue type. *n the () -(ontrolling module of $%&, the term (ostlement is used. *n the F*

    -Financial module, the term G/L %ccount is used. 2hese terms are usedinterchangeably for reporting, re"uisitions, and journal vouchers.

    • )ata"ase ta"les and open S*L

    Add a single record to a database table

    insert into 3database table4 values 3wor! area4

    Inserting all lines from an internal table into a database table:

    insert 3database table4 from table 3internal table4Delete all records

    $elect 5 from 6mellemtab.

    delete 6mellemtab.

    endselect.

    Deleting records using records from an internal table

    delete employees from table itab.

    • * + A

  • 8/9/2019 ALL faqs

    3/147

    BASIS LAYER

    W,at are t,e central interfaces of t,e R'- s.ste& /

    0 &resentation interface

    Database interface

    )perating system interface

    W,ic, interface controls ,at is s,o n on t,e p%c% /

    • &resentation interface

    W,ic, interface con0erts S*L re1(ire&ents in t,e SAP de0elop&ents.ste& to t,ose of t,e data"ase /

    • Database interface

    W,at is SAP dispatc,er /

    0 $%& dispatcher is the control agent which manages the

    resources for the 7/8 applications.

    W,at are t,e f(nctions of dispatc,er /

    0 !ual distribution of transaction load to the work processes

    "anagement of buffer areas in main memory

    *ntegration of the presentation levels

    )rgani6ation of communication activies

    W,at is a ork process /

    0 % wor! process is where individual dialog steps are actuallyprocessed and the wor! is done. ach wor! process handles onetype of re"uest.

  • 8/9/2019 ALL faqs

    4/147

    Na&e 0ario(s ork processes of R'- s.ste& /

    9 Dialog or )nline - processes only one re"uest at a time

    : ac!ground - started at a specified time

    8 ;pdate - primary or secondary

    < n"ue- loc! mechanism

    = $pool - generated online or during bac! ground processing Forprinting

    W,at are t,e t.pes of 2pdate re1(ests /

    0 %n update re"uest can be divided into one primary #$%& and several

    'econdary update components #$(&. 2ime0critical operations are placed in>9 component and those whose timing are less critical are placed in >:components. *f a >9 update fails, >: components will not be processed.

    W,at are t,e roll and page areas /

    0 7oll and page areas are ')* +,- buffers used to store

    user contexts - process re"uests . 2he $%& dispatcher assigns

    process re"uests to wor! processes as they are received. *f

    the wor! process is unavailable the process re"uests are "ueuedin the roll and page areas.

    &aging area holds data from the application programs.

    7oll area holds data from previous dialog steps and data thatcharacteri6es user.

    W,at is a Spool re1(est /

    0 $pool re"uests are generated during dialog or background processingand placed in the spool database with information about the printer andprint format. 2he actual data is placed in the 2em $e -2emporary$e"uential objects .

    W,at are t,e different data"ase integrities /

    • $emantic integrity

  • 8/9/2019 ALL faqs

    5/147

    0 7elational integrity

    3 &rimary !ey integrity

    3 >alue set integrity

    3 Foreign !ey integrity and

    0 )perational integrity.

    )ATA )I!TIONARY %

    T.pe of a ta"le or str(ct(re

    2he table type determines how the logical table description defined in

    the % %&/< Dictionary is reproduced on the database.

    2here are the following table types+

    o transparent table

    o structureo append structure

    For internal purposes, such as storing control data or update texts,

    there are in addition the following table types+

    o pooled table

    o cluster table

    o generated view structure

    Transparent ta"le

  • 8/9/2019 ALL faqs

    6/147

    2here is a physical table on the database for each transparent table. 2he

    names of the physical tables and the logical table definition in the

    % %&/< Dictionary correspond.

    %ll business data and application data are stored in transparent tables.

    Str(ct(re

    ?o data records exist in the database for a structure. $tructures are

    used for the interface definition between programs or between screens and

    programs.

    Append str(ct(re

    %n append structure defines a set of fields which belong to another table

    or structure but which are treated in the correction administration as

    its own object.

    %ppend structures are used to support modifications.

    Pooled ta"le

    &ooled tables can be used to store control data -e.g. screen se"uences,

  • 8/9/2019 ALL faqs

    7/147

    program parameters or temporary data . $everal pooled tables can be

    combined to form a table pool. 2he table pool corresponds to a physical

    table on the database in which all the records of the allocated pooled

    tables are stored.

    !l(ster ta"le

    (luster tables contain continuous text, for example, documentation.

    $everal cluster tables can be combined to form a table cluster. $everallogical lines of different tables are combined to form a physical record

    in this table type. 2his permits object0by0object storage or

    object0by0object access. *n order to combine tables in clusters, at least

    parts of the !eys must agree. $everal cluster tables are stored in one

    corresponding table on the database.

    Generated 0ie str(ct(re

    *n activation a structure is generated for a view. 2his structure serves

    as interface for the runtime environment. *t does not generally appear in

    the % %&/< Dictionary.W,at is a )ata !lass/

    2he Data class determines in which tablespace the table is stored when it

    is created in the database.

  • 8/9/2019 ALL faqs

    8/147

    W,at is a Si4e !ategor./

    2he $i6e category describes the probable space re"uirement of the table

    in the database.

    5o Man. t.pes of si4e categories and data classes are t,ere/

    2here are five si6e categories -@0< and 99 data classes, only three of

    which are appropriate for application tables+

    0 %&&L@ 0 1aster data -data fre"uently accessed but rarely updated

    0 %&&L9 0 2ransaction data -data that is changed fre"unetly

    0 %&&L: 0 )rganisational data -customi6ing data that is entered when systemis

    configured and then rarely changed

    W,at are control ta"les/

    2he values specified for the si6e category and data class are mapped to

    database0specific values via control tables.

    W,at is t,e f(nction of t,e transport s.ste& and ork"enc, organiser/

    2he function of the transport system and the #or!bench )rgani6er is to

    manage any changes made to objects of the % %&/< Development#or!bench

    and to transport these changes between different $%& systems.

    W,at is a ta"le pool/

    % table pool -or pool is used to combine several logical tables in the % %&/< Dictionary. 2he definition of a pool consists of at least two !ey

    fields and a long argument field ->%7D%2% .

    W,at are pooled ta"les/

  • 8/9/2019 ALL faqs

    9/147

  • 8/9/2019 ALL faqs

    10/147

    platform .

    $+ 2ime stamp CCCC11DDAA11$$.

    2+ 2ime of day AA11$$.

    >+ (haracter string of variable length, length is given in the first

    two bytes.

    + Aexadecimal -binary storage.

    5o can e set t,e ta"lespaces and e6tent si4es /

    Cou can specify the extent si6es and the tablespace -physical storage

    area in the database in which a transparent table is to be stored by setting the si6e category and data class.

    W,at is a data dictionar. /

    Data dictionary is a central source of data in a data management system.*ts main function is to support the .*t has details about

    0 #hat data is contained H

    0 #hat are the attributes of the data H 0 #hat is the relationship existing between the various data elements H

    W,at f(nctions does a data dictionar. perfor& /

    *n a data management system, the principal functions performed by thedata dictionary are

    0 1anagement of data definitions

    0 &rovision of information for evaluation 0 $upport for software development

    0 $upport form documentation

    0 nsuring that the data definitions are flexible and up0to0date.

  • 8/9/2019 ALL faqs

    11/147

    A field containing c(rrenc. a&o(nts 8data t.pe !2RR9 &(st "e assignedto a reference ta"le and a reference field% E6plain%

    %s a reference table, a system table containing all the valid currencies isassigned or any other table which contains a field with the currency !ey format.

    2his field is called as reference field.2he assignment of the field containing currency amounts to the reference field ismade at runtime. 2he value in the reference field determines the currency of theamount.

    W,at is t,e significance of Tec,nical settings 8specified ,ile creating ata"le in t,e data dictionar.9 /

    y specifying technical settings we can control how database tables are createdin the database.

    2he technical settings allows us to

    0 optimi6e storage space re"uiremnets

    0 table access behaviour

    0 buffering re"uired

    0 changes to entries logged

    W,at is t,e significance of )eli0er. !lass /

    0 2he delivery class controls the degree to which the $%& or the customeris responsible for table maintenance

    0 whether $%& provides the table with or without contents.

    0 determines the table type.

    0 determines how the table behaves when it is first installed, at upgrade,when it is transported, and when a client copy is performed.

    W,at is t,e &a6i&(& n(&"er of str(ct(res t,at can "e incl(ded in a ta"leor str(ct(re

    0 ?ine.

    W,at are t,e t o &et,ods of &odif.ing Sap standard ta"les /

  • 8/9/2019 ALL faqs

    12/147

    0 %ppend $tructures and

    0 (ustomi6ing *ncludes.

    W,at is t,e difference "et een a S("str(ct(re and an Append Str(ct(re /

    0 *n case of a substructure, the reference originates in the table itself, inthe forma of a statement .include... .

    o *n case of an append structure, the table itself remains unchangedand the refrence originates in the append structure.

    W,at are t,e t o a.s for restricting t,e 0al(e range for a do&ain /

    0 y specifying fixed values.

    0 y stipulating a value table.W,at is a Matc, !ode /

    1atch (ode is a tool to help us to search for data records in the system. 1atchcodes are an efficient and user0friendly search aid where !ey of a record isun!nown.

    W,at are t,e t o le0els in defining a Matc, !ode /

    0 1atch (ode object

    0 1atch (ode *d.

    W,at is t,e &a6i&(& n(&"er of &atc, code Id:s t,at can "e defined forone Matc, code o"#ect /

    0 8I. % match code *d is a one character *D which can be a letter or a number.

    !an e define o(r o n Matc, !ode I):s for SAP Matc,codes /

    Ces, the numbers @ to J are reserved for us to create our own 1atch (ode *Dsfor a $%& defined 1atchcode object.

    W,at is an 2pdate t.pe it, reference to a Matc, code I)/

    *f the data in one of the base tables of a matchcode *D changes, the matchcodedata has to be updated. 2he update type stipulates when the matchcode is to beupdated and how it is to be done. 2he update type also specifies which method is

  • 8/9/2019 ALL faqs

    13/147

  • 8/9/2019 ALL faqs

    14/147

    Aelp views are used to output additional information when the online helpsystem is called.

    #hen the F< button is pressed for a screen field, a chec! is first made onwhether a matchcode is defined for this field. *f this is not the case, thehelp view is displayed in which the chec! table of the field is the primarytable. 2hus, for each table no more than one help view can be created,that is, a table can only be primary table in at most one help view.

    • Pro#ection ;ie

    &rojection views are used to suppress or mas! certain fields in a table-projection , thus minimi6ing the number of interfaces. 2his means thatonly the data that is actually re"uired is exchanged when the database isaccessed.

    % projection view can draw upon only one table. $election conditionscannot be specified for projection views.

    • Maintenance ;ie - SE=7 9

    1aintenance views enable a business0oriented approach to loo!ing at data,while at

    the same time, ma!ing it possible to maintain the data involved. Data fromseveral

    tables can be summari6ed in a maintenance view and maintained collectivelyvia this

    view. 2hat is, the data is entered via the view and then distributed to the

    underlyingtables by the system.

    W,at is Locking /

  • 8/9/2019 ALL faqs

    15/147

  • 8/9/2019 ALL faqs

    16/147

  • 8/9/2019 ALL faqs

    17/147

    %. y defining macros.

    B. y creating include programs in the library.

    W,at are s("ro(tines/

    $ubroutines are program modules which can be called from other % %&/<programs or within the same program.

    W,at are t,e t.pes of S("ro(tines/

    A. *nternal $ubroutines+ 2he source code of the internal subroutines will be

    in the same % %&/< program as the calling procedure -internal call . B. xternal $ubroutines+ 2he source code of the external subroutines will be

    in an % %&/< program other than the calling procedure.

    W,at are t,e different t.pes of para&eters/

    Formal parameters+ &arameters which are defined during the definition ofsubroutine with the F)71 statement.

    %ctual parameters+ &arameters which are specified during the call of asubroutine with the & 7F)71 statement.

    5o can one disting(is, "et een different kinds of para&eters/

    %. *nput parameters are used to pass data to subroutines.

    B. )utput parameters are used to pass data from subroutines.

    W,at are t,e different &et,ods of passing data/

    A. (alling by reference+ During a subroutine call, only the address of the

    actual parameter is transferred to the formal parameters. 2he formalparameter has no memory of its own, and we wor! with the field of thecalling program within the subroutine. *f we change the formal parameter,the field contents in the calling program also change.

    B. (alling by value+ During a subroutine call, the formal parameters arecreated as copies of the actual parameters. 2he formal parameters havememory of their own. (hanges to the formal parameters have no effect onthe actual parameters.

  • 8/9/2019 ALL faqs

    18/147

  • 8/9/2019 ALL faqs

    19/147

  • 8/9/2019 ALL faqs

    20/147

    W,at are t,e ad0antages of Logical )ataBases /

    0 *t offers an easy0to0use selectionscreen. Cou can modify the pre0generated selection screen to your needs. *t offers chec!

    functions to chec! whether user input is complete, correct, and plausible.*t offers reasonable data selections. *t containscentral authori6ation chec!s for database accesses. nhancements suchas improved performance immediately apply to all report programs thatuse the logical database.

    Report @ORMATTING

    In order to s(ppress t,e leading 4eros of a n(&"er field t,e ke. ords (sed

    are $

    ?)0O 7).

    T,e !o&&and t,at allo s for 0ertical align&ent of fields one "elo t,eot,er%

    ;?D 7.

    In order to concatenate strings onl. for o(tp(t p(rposes t,e co&&and ????????? can "e (sed in con#(nction it, t,e :Write: state&ent%

    ?)0G%&.

    )ata can "e &o0ed fro& one field to anot,er (sing a :Write$: State&ent andstored in t,e desired for&at%

    27; . #rite + DateK9 to DateK: format DD/11/CC.

    In order to ,a0e "oldfaced te6t as o(tp(t t,e co&&and (sed is

    #rite + 3f4 *?2 ?$*F* D.

    Backgro(nd and foregro(nd colors can "e interc,anged (sing t,eco&&and

    Format inverse.

    W,ic, datat.pe cannot "e (sed to define para&eters%

  • 8/9/2019 ALL faqs

    21/147

    2ype F.

    @or eac, ne e0ent t,e s.ste& resets all for&atting options to t,eirdefa(lt 0al(es% 27; .

    T,e processing "lock follo ing EN)3O@3PAGE is processed onl. if .o(reser0e lines for t,e footer in t,e LINE3!O2NT option of t,e REPORTstate&ent%

    To e6ec(te a page "reak (nder t,e condition t,at less t,an a certainn(&"er of lines is left on a page is ac,ei0ed ".

    ????????????????????????%

    7 $ 7> n lines.

    W,at is t,e li&it for t,e lengt, of a page if t,e page lengt, is not specifiedin t,e report state&ent%

    I@,@@@ Lines.

    5o can S.&"ols or R'- icons "e o(tp(t on t,e screen/

    #7*2 3symbol0name4 %$ $C1 )L.

    #7*2 3icon0name4 %$ *()?.

    REPORTING 3 GENERAL

    W,at are reports/ and ,o do .o( set (p reports/

    % report program reads and analy6es data from one or more database tableswithout modifying the database. ;sually, the result of such a report program is inthe form of a list which is output to the screen or sent to a printer.

    W,at are t,e different t.pes of progra&s/

    * *nclude &rogram

    1 1odule &ool

    F Function 1odules

  • 8/9/2019 ALL faqs

    22/147

    $ xternal $ubroutines

    9 )nline program

    E0ents in Reporting / E6plain /

    2he following events occur at runtime of a typical report program which useslogical databases+

    vent !eyword vent

    000000000000000000000000000000000000000000000000000000000000000000000000000000000

    INITIALI>ATION &oint before the selection screen

    is displayed

    #hen you start a program in which a selection screen is defined -either in theprogram itself or in the lin!ed logical database program , the system normallyprocesses this selection screen first. *f you want to execute a processing bloc!before the selection screen is processed, you can assign it to the event !eyword*?*2*%L*O%2*)?.

    AT SELE!TION3S!REEN &oint after processing userinput on the selectionscreen while the selectionscreen is still active

    2he event !eyword %2 $ L (2*)?0$(7 ? provides you with severalpossibilities to carry out processing bloc!s while the system is processing theselection screen.

    START3O@3SELE!TION &oint

    after processing the selectionscreen

    2he event $2%720)F0$ L (2*)? gives you the possibility of creating aprocessing bloc! after processing the selection screen and before accessingdatabase tables using a logical database. Cou can use this processing bloc!, forexample, to set the values of internal fields or to write informational statementsonto the output screen.

  • 8/9/2019 ALL faqs

    23/147

    %t the $2%720)F0$ L (2*)? event, also all statements are processed that arenot attached to an event !eyword except those that are written behind a F)710?DF)71 bloc!

    GET ta"leC &oint at which the logical database

    offers a line of the database table 3table4.

    2he most important event for report programs with an attached logical databaseis the moment at which the logical database program has read a line from adatabase table -see %ccessing Data ;sing Logical Databases . 2o start aprocessing bloc! at this event, use the G 2 statement as follows+

    $yntax

    G 2 3table4 PF* LD$ 3list4Q. %fter this statement, you can wor! with the current line of the database table3table4. 2he data is provided in the table wor! area 3table4.

    GET ta"leC LATE &oint after processing all tables which

    are hierarchically subordinate to thedatabase table 3table4 in the structureof the logical database.

    2o start a processing bloc! at the moment after the system has processed alldatabase tables of a logical database that are hierarchically inferior to a specificdatabase table, use the event !eyword G 2 as follows+

    $yntax

    G 2 3table4 L%2 PF* LD$ 3list4Q.

    *n analogy to report programs that use only $ L (2 statements -see table in(omparison of %ccess 1ethods , the processing bloc! of a G 2 3table4 L%2

    statement would appear directly before the ?D$ L (2 statement in the$ L (2 loop for the database table 3table4.

    EN)3O@3SELE!TION &oint after processing all lines offered

    by the logical database.

  • 8/9/2019 ALL faqs

    24/147

    2o define a processing bloc! after the system has read and processed alldatabase tables of a logical database, use the !eyword ?D0)F0$ L (2*)?.

    2he following events occur during the processing of the output list of a reportprogram+

    vent !eyword vent

    000000000000000000000000000000000000000000000000000000000000000000000000000000000

    TOP3O@3PAGE &oint during list processing when

    a new page is started

    EN)3O@3PAGE &oint during list processing when a page

    is ended

    2he following events occur during the display of the output list of a reportprogram+

    vent !eyword vent

    000000000000000000000000000000000000000000000000000000000000000000000000000000000

    AT LINE3SELE!TION &oint at which the user selects a line

    AT 2SER3!OMMAN) &oint at which the user presses afunction !ey or enters a command in the

    command field.

    AT P@ nnC &oint at which the user presses the

    function !ey with the function code &F3n4

    #ith the selection screen, % %&/< offers an interactive element also for report

    programs. Cou can define a selection screen without having to bother about allthe details re"uired in dialog programming.

    2he selection screen is always processed directly after a report program isstarted. 2he user can enter field values and selection criteria on this screen.

    2he main purpose of the selection screen is to enable the user to control thedatabase selections of the report program. *f a report program is started from

  • 8/9/2019 ALL faqs

    25/147

    another % %&/< program with the $; 1*2 statement -see (alling 7eports , theselection screen objects also serve as a data interface,

    #ith a selection screen defined in the report program, you can enable the userto

    R assign values to variables with the &%7%1 2 7$ statement

    R determine selection criteria with the $ L (20)&2*)?$ statement

    5o do .o( read selected lines of data"ase ta"le into an internal ta"le inpackages of predefined si4e%

    • $ L (2 5 F7)1 3$&FL*4 *?2) 2%L 3*2% 4 PA!DAGE SI>E NC%

    where ' n: is variable.

    ?ame the WIL)!AR) characters which are used for comparisions withc,aracter strings S n(&eric strings%

    • 'T' and 'K'.

    5o to specif. a client for data"ase ta"le processing%

    2% L $ $&FL*.

    $ L (2 5 F7)1 $&FL* (L* ?2 $& (*F* D

    #A 7 1%?D2 2# ? '@@9' %?D '@@8'.

    ...

    ?D$ L (2.

    Acti0ation )(ring acti0ation t,e r(nti&e o"#ect of aggregate o"#ect orta"les is created% T,e r(nti&e o"#ect is "(ffered so t,at t,e applicationprogra& can access it 1(ickl.% R(nti&e o"#ect ,as infor&ation a"o(tt,e follo ing o"#ects of ta"le

    0 domain N data elements N field definition N table definition

  • 8/9/2019 ALL faqs

    26/147

    Lock Mec,anis& pre0ents a ne data"ase operation "eing started ane6isting one ,as "een correctl. co&pleted% W,en con0ersion is donelock is created a(to&aticall. and released onl. ,en con0ersion iss(ccessf(l%

    (learing of loc!s• restart adjustment N attempt is made to continue conversion at the point of

    termination

    (ancel adjustment N loc! entry is simply deleted from table

    ;ersion Manage&ent f(nctions

    • (anceling changes N reset revised version to active version • $toring changes N active version will be temporarily stored in version

    $witching changes N switch between active and revised versions

    Version catalog list of all e6isting 0ersions of an o"#ect

    • 7evised version N produced when we edit an existing object • %ctive version N produced when we activate an object • 2emporary version N produced when we copy the active version

    temporarily to the database with store version functions • Aistorical versions N created when 9. (orrection is created : correction is

    released

    Ta"le B(ffering $ Possi"le "(ffering t.pes

    • full buffering N either, whole table or none of the table is located in thebuffer -2ables up to 8@ !b done in client dependent fully buffered tables

    • Generic buffering N generic areas of the table are fully buffered. • Generic !ey N left justified section of primary !ey of a table. • generic area N all records for which fields of generic !ey correspond • $ingle record buffering N records actually being accessed are loaded to

    buffers, large records where few records are accessed.

    Internal Ta"les / T.pes /

    STAN)AR) ta"le

  • 8/9/2019 ALL faqs

    27/147

    Bey access to a standard table uses a linear search. 2his means that the timere"uired for a search is in linear relation to the number of table entries.

    Cou should use index operations to access standard tables.

    SORTE) ta"le

    Defines the table as one that is always saved correctly sorted.

    Bey access to a sorted table uses a binary !ey. *f the !ey is not uni"ue, thesystem ta!es the entry with the lowest index. 2he runtime re"uired for !eyaccess is logarithmically related to the number of table entries.

    5AS5E) ta"le

    Defines the table as one that is managed with an internal hash procedure Cou can only access a hashed table using the generic !ey operations or othergeneric operations - $)72, L))&, and so on . xplicit or implicit indexoperations -such as L))& ... F7)1 oe *?$ 72 itab within a L))& are notallowed.

    IN)EF ta"le

    % table that can be accessed using an index.

    *ndex table is only used to specify the type of generic parameters in a F)71 orF;?(2*)?. 2hat means that you can't create a table of type *?D .

    $tandard tables and sorted tables are index tables.

    S.nta6 $

    D%2% itab 2C& table type of line type P#*2A ;?* ; /?)?0;?* ; B C3!ey4Q P*initial si6e nQ P#*2A A %D 7 L*? Q

    W,at are )ATA !L2STERS /

    Cou can group any complex internal data objects of an % %&/< program togetherin data clusters and store them temporarily in % %&/< memory or for longerperiods in databases. Cou can store data clusters in special databases of the

    % %&/< Dictionary. 2hese databases are !nown as % %&/< cluster databasesand have a predefined structure.$toring a data cluster is specific to % %&/

  • 8/9/2019 ALL faqs

    28/147

    %lthough you can also access cluster databases using $ L statements, only % %&/< statements are able to decode the structure of the stored data cluster.

    )escri"e t,e f(nctions of t,e de"(gger screen%

    Single step8@=9 0 ;se this option to step through the program state&ent". state&ent . 2his allows you to branch into subroutines and functionmodules, and to execute these routines step by step as well. )nce asubroutine or function module has been processed, control returns to thestatement following the (%LL F;?(2*)? or & 7F)71 statement.

    • E6ec(te8@ 93 ;se this option to process a program line ". line . %ll of thestatements on the current line are processed in a single step. *f you arepositioned on a line that calls a subroutine and you choose xecute , theDebugger processes the whole subroutine and then moves on to the linefollowing the subroutine call. 2his allows you to jump through thestatements within the subroutine.

    Ret(rn8@H9 0 2he Debugger ret(rns from a routine to the point at whichcontrol returns to the main program. ;se this option to return from asubroutine, function module, or called program to the calling program.

    • !ontin(e8@ 93 ;se this option to process the program up to the nextdynamic or static brea!point or up to the cursor position. *f there are nomore brea!points in the program and no cursor has been set, the systemexits debugging mode and executes the rest of the program normally.

    0 Ta"les 0 Display the contents of internal tables.

    Pro"le&$5o to r(n a progra& in "ackgro(nd/

    $olution + xecute the 7eport

    *n the selection screen +%fter filling the screen fields press FJ.

    % screen appears re"uesting ; to print the ac!ground &arameters

    5 nter the output device- g A&LU /$%&: etc

    5*n the spool options ;nchec! &rint immedietly,;nchec! delete afteroutput,and new spool re"uest.

    &ress enter.

    %nother screen appears with heading start time .; can press start immly,then save

    ?ow the ac!ground job is scheduled for the given program .

  • 8/9/2019 ALL faqs

    29/147

    2o >iew the status of bac!ground Uob,2he transaction code is $18V.

    xecute from the resulting screen . Uob overview 004From the Uob listselect ; r program and select $pool from the application toolbar )utput(ontroller +List of $pool 7e"uests $elect ; r $pool re"uest and clic!

    Display icon from the overview screen .

    ; will be displayed with the List.

    (aution +$ee to that the list with does not exceed :== columns ,*f itexceeds the extra columns will be truncated in ac!ground

    W,at are presentation and application ser0ers in SAP/

    % presentation server is actually a program named $apgui.exe. *t isusually installed on a user s wor!station.

    )pplication server is a set of executables that collectively interpret the % %&/< programs and manage the input S output for them.

    In an ABAP'7 progra& ,o do .o( access data t,at e6ists on apresentation ser0er 0's on an application ser0er/

    For presentation server use ;&L)%D or #$K;&L)%D function modules.

    For application server use )& ? D%2%$ 2, 7 %D D%2%$ 2 and (L)$

    D%2%$ 2 commands.

    )escri"e t,e s.nta6 and f(nction of t,e A2T5ORITY !5E!D co&&and/

    %ns +0 %;2A)7*2C N (A (B ) U (2 3object name4

    *D 3name94 F* LD 3f94

    *D 3name:4 F* LD 3f:4

    W

    *F $C0$; 7( ? @.

  • 8/9/2019 ALL faqs

    30/147

    /he )1/2O+I/34C2 C5 checks whether a user has the appropriateauthori6ation to execute a particular activity.

    E6plain t,e EFPORT and IMPORT co&&ands/ 5o can .o( pass &ore

    t,an one gro(p of data ". (sing IMPORT co&&ands/

    EFPORT $3

    2o read data objects from an % %& program into % %& memory, use thefollowing statement+

    $yntax

    &)72 3f94 PF7)1 3g 94Q 3f :4 PF7)1 3g :4Q ... 2) 1 1)7C *D 3!ey4.

    2his statement stores the data objects specified in the list as a cluster in memory.*f you do not use the option F7)1 3f i 4, the data object 3f i 4 is saved under itsown name. *f you use the F7)1 3g i 4 option, the data objet 3g i 4 is savedunder the name 3f i 4. 2he name 3!ey4 identifies the cluster in memory. *t maybe up to 8: characters long.

    2he &)72 statement always completely overwrites the contents of anyexisting data cluster with the same name 3!ey4.

    IMPORT $3

    2o read data objects from % %& memory into an % %& program, use thefollowing statement+

    $yntax

    *1&)72 3f94 P2) 3g 94Q 3f :4 P2) 3g :4Q ... F7)1 1 1)7C *D 3!ey4.

    2his statement reads the data objects specified in the list from a cluster inmemory. *f you do not use the 2) 3g i 4 option, the data object 3f i 4 in memoryis assigned to the data object in the program with the same name. *f you do usethe option, the data object 3f i 4 is read from memory into the field 3g i 4. 2he

    name 3!ey4 identifies the cluster in memory. *t may be up to 8: characters long.Cou do not have to read all of the objects stored under a particular name 3!ey4.Cou can restrict the number of objects by specifying their names. *f the memorydoes not contain any objects under the name 3!ey4, $C0$; 7( is set to

  • 8/9/2019 ALL faqs

    31/147

    the cluster does not contain the data object 3f i 4, the target field remainsunchanged.

    E6plain t,e REA) LINE and MO)I@Y LINE co&&ands%

    7 %D L*? +0 ;se the statements 7 %D L*? and 7 %D (;77 ?2 L*? toread data from the lines of existing list levels. 2hese statements are closelyconnected to the A*D techni"ue.

    1)D*FC L*? +0 2o modify the lines of a completed list from within the program,use the 1)D*FC L*? statement.

    W,at are t,e differences "et een calling a progra& transaction J it,ret(rnK and J it,o(t ret(rnK and ,o can eac, "e acco&plis,ed/

    &rogram 0$; 1*2 3rep4X-3field4 P%?D 7 2;7?Q P3options4Q.

    *f you use %?D 7 2;7?, the system stores the data of the calling executableprogram and returns to the calling after processing the called program. 2hesystem resumes executing the calling program at the statement following the call.

    *f you omit the %?D 7 2;7? addition, all data and list levels of the callingprogram -the entire internal session are deleted. %fter the called executableprogram has finished, control returns to the level from which you started the

    calling program. • 2ransaction

    0(%LL 27%?$%(2*)? 3tcod4 P%?D $B*& F*7$2 $(7 ?Q P;$*?G 3itab4Q.

    2his statement saves the data of the calling program, and starts transaction3tcod4. %t the end of the transaction, the system returns to the statementfollowing the call in the calling report.

    0L %> 2) 27%?$%(2*)? 3tcod4 P%?D $B*& F*7$2 $(7 ?Q.

    2his statement ends the calling program and starts transaction 3tcod4. 2hisdeletes the call stac! -internal sessions of all previous programs. %t the end ofthe transaction, the system returns to the area menu from which the originalprogram in the call stac! was started.

    W,at are t,e differences "et een t,e para&eter SET and GET/

  • 8/9/2019 ALL faqs

    32/147

    SET &%7%1 2 7 *D 3pid4 F* LD 3f4.

    2his statement saves the contents of field 3f4 under the *D 3pid4 in the $%&memory. 2he code 3pid4 can be up to :@ characters long. *f there was already avalue stored under 3pid4, this statement overwrites it. *f the *D 3pid4 does not

    exist, double0clic! 3pid4 in the % %& ditor to create a new parameter object.GET &%7%1 2 7 *D 3pid4 F* LD 3f4.

    2his statement fills the value stored under the *D 3pid4 into the variable 3f4. *fthe system does not find a value for 3pid4 in the $%& memory, it sets $C0$; 7(to

  • 8/9/2019 ALL faqs

    33/147

    W,en an internal ta"le is created t,e settings criteria for t,e 0al(e ofocc(rs/

    2he objective of setting the value of an occurs for an internal table is a "uestionof optimi6ation. 2he following facts should be ta!en into account when ma!ing

    such decision.9. 2he complete data area of a program is I

  • 8/9/2019 ALL faqs

    34/147

    Mo0e +0 2o assign the value of a data object 3f94 to a variable 3f:4, use thefollowing statement+

    1)> 3f94 2) 3f:4.

    or the e"uivalent statement3f:4 3f94.

    2he contents of 3f94 remain unchanged. 3f94 does not have to be a variable 0 itcan also be a literal, a text symbol, or a constant. Cou must always specifydecimal points with a period -. , regardless of the user s personal settings.

    1ultiple value assignments in the form

    3f

  • 8/9/2019 ALL faqs

    35/147

    E6ternal session$ 3 ,en (ser logs on to R'- s.ste& t,e s.ste& creates ane ter&inal session called e6ternal session% E%g% S.ste& !reateSession%

    Internal session$ 3 created ". calling a transaction 8 it, !ALLTRANSA!TION9 a dialog &od(le 8 it, !ALL )IALOG9 or a report 8 it,S2BMIT or RET2RN9%

    @or e6ternal session$ 3 internal sessions are allo ed%

    Roll area$ 3 )ata areas of (sed progra&s are created in roll areas for eac,internal session%

    Posting data "et een internal sessions$ 3 EFPORT TO MEMORY andIMPORT @ROM MEMORY%

    Main progra& gro(p$ 3 !reated ,en e6porting an internal session%

    Additional progra& gro(p$ 3 If a f(nction &od(le "elonging to a f(nctiongro(p not so far loaded additional progra& gro(p is created%

    S("ro(tine call$ 3 W,en e6ternal s("ro(tine is called s.ste& loads t,erele0ant progra& and adds it to t,e progra& gro(p of calling progra&%

    Work areas$ 3 Bot, ta"le + co&&on orkareas it, t,e sa&e na&e arecreated once for eac, progra& gro(p and t,en s,ared ". all progra&sin t,e gro(p%

    List s.ste&$ 3 !onsists of "asic list and all details list "elonging to "asic listassigned to e6actl. one screen le0el%

    2ser interface$ 3 Onl. progra& ,as its o n (ser interface% Internal sessionsinterface is initiall. e&pt.% Special (ser interface ,as to "e acti0ated(sing SET P@3STAT2S state&ent%

    ABAP'7 &e&or.$ 3 Retained onl. d(ring t,e lifeti&e of an e6ternal session%

    )ata cl(ster$ 3 Gro(p of se0eral data o"#ects%

    )ata o"#ects$ 3 2nits of data ,ic, a progra& processes at r(nti&e%

  • 8/9/2019 ALL faqs

    36/147

    5o do .o( rite a )ATA o"#ect fro& ABAP'7 progra& to ABAP'7 &e&or.and restore t,e sa&e fro& &e&or. to progra&%

    &)72 3f94 PF7)1 3g94Q 3f:4 PF7)1 3g:4Q ... 2) 1 1)7C *D 3!ey4.

    2he *D 3!ey4, which can be up to 8: characters long, identifies the data inmemory.

    State&ent (sed to delete data o"#ects in ABAP'7 &e&or.%

    • F7 1 1)7C P*D 3!ey4Q.

    5o ill .o( create a file on application ser0er • )pen dataset 3dsn4 for output.

    ABAP'7 state&ent for opening a file on application ser0er for reading ???????????%

    • )pen dataset 3dsn4 for input.

    5o ill .o( transfer data into a file in application ser0er /• Data fname-I@ value 'mCF*L '.

    Data num type i.

    )pen dataset fname for output.

    Do 9@ times.

    ?um ?um Z 9.

    2ransfer num to fname.

    nddo.

    .....etc.

  • 8/9/2019 ALL faqs

    37/147

    Na&e t,e f(nction &od(les to rite data fro& an Internal Ta"le to t,ePresentation Ser0er%

    D)#?L)%D and #$KD)#?L)%D.

    Na&e t,e f(nction &od(les to read data fro& Presentation Ser0er intoan Internal Ta"le%

    ;&L)%D and #$K;&L)%D.

    Na&e t,e f(nction &od(le t,at can "e (sed to gi0e infor&ation a"o(t fileson Presentation Ser0er and a"o(t it:s Operating S.ste&%

    #$K ; 7C.

    Na&e t,e ABAP'7 ke. ord for seac,ing a string in an Internal Ta"le%

    $ %7(A 3itab4 F)7 3str4 3options4.

    5o o(ld .o( find t,e attri"(tes of a data t.pe or data o"#ect /

    D $(7* F* LD 3f4 PL ?G2A 3l4Q P2C& 3t4 P()1&)? ?2$ 3n4QQ

    P);2&;20L ?G2A 3o4Q PD (*1%L$ 3d4Q

    P D*2 1%$B 3m4Q.

    W,ic, f(nction &od(le o(ld .o( (se to c,eck t,e (ser:s a(t,ori4ation toaccess files "efore opening a file/

    %;2A)7*2CK(A (BKD%2%$ 2

    Na&e t,e f(nction &od(le (sed to con0ert logical file na&es to p,.sicalfile na&es in ABAP'7 progra&s%

    F*L KG 2K?%1 .

    W,at does !5AIN %%%%EN) !5AIN do/

    $ometimes you want to chec! several fields as a group. 2o do this, include thefields in a F* LD statement, and enclose everything in a (A%*?0 ?D(A%*?bloc!.

    Example

  • 8/9/2019 ALL faqs

    38/147

  • 8/9/2019 ALL faqs

    39/147

    • (orrection system manages the internal system components li!e objectsli!e only original version of the object exists. *t stores all changes made tothe object.

    • 2ransport system allows to transports the object from on $%& system toanother -Development system to &roduction system . *t allows to over

    write or delete existing object in target system and import new objects totarget systems.

    During development wor! we start by opening a tas! -correction to

    which we can assign new and changed objects. )nce changes have

    been made, transport new or changed objects to other $%& system by

    means of transport -(hange re"uest.

    5a0e .o( (sed SAP s(pplied progra&s to load &aster data/

    • $%& supplied D( programs N 71@I *@ -&urchase re"uisitions • 71D%2*?D -1aterial master 7F *B7@@ ->endor 1asters

    0 7F *D @@ -(ustomer 1aster 7>*?> @@ -$ales )rder

    W,at are t,e Tec,ni1(es in0ol0ed in (sing SAP s(pplied progra&s/ )o.o( prefer to rite .o(r o n progra&s to load &aster data/ W,./

    *dentify relevant fields• 1aintain transfer structure - &redefined N first one is always session

    record • $ession record structure , Aeader Data, *tem - $2C& N record type • Fields in session structure N $2C& , G7);& , 1%?D2, ;$ 7?%1 , ?)

    D%2% • Fields in header structure N consists of transaction code also N $2C& ,

    11@@, 2()D ,1%2?7 and Fields in *tem 0 *2 1$ W • 1aintain transfer file N sample data set creation

    5o do .o( set (p "ackgro(nd #o"s in SAP/ W,at are t,e steps/ W,at aree0ents dri0en "atc, #o"s/

    • (reate a job using function module U) 0)& ?

  • 8/9/2019 ALL faqs

    40/147

    • (ollect the job specifications. • %dd a job step to the job with the function module U) 0$; 1*2. • (lose the job and pass it to ac!ground processing system for execution

    with the function module U) 0(L)$ • > ?2 D7*> ? %2(A U) $ +0 •

    2ypes $ystem events N triggered when activation of new operationmode ta!es place • ;ser events 0 2riggered from % %&/< or external program. • 2riggering an event notifies the bac!ground processing that named

    condition has been reached. 2he ac!ground system reacts by startingany jobs that were waiting for the event.

    2ransaction codes related to bac!ground jobs creation and processing are +0

    $18I-Uob creation

    $18V-Uob selection and execution .

    W,at are presentation and application ser0ers in SAP/

    0% presentation server is actually a program named $apgui.exe. *t is usuallyinstalled on a user s wor!station.

    0 %pplication server is a set of executables that collectively interpret the % %&/<programs and manage the input S output for them.

    In an ABAP'7 progra& ,o do .o( access data t,at e6ists on apresentation ser0er 0's on an application ser0er/

    • For presentation server use ;&L)%D or #$K;&L)%D function modules.

    For application server use )& ? D%2%$ 2, 7 %D D%2%$ 2 and (L)$D%2%$ 2 commands.

    W,at is t,e difference "et een S.nc,rono(s and As.nc,rono(s (pdates /

    0 % program as!s the system to perform a certain tas!, and then either

    waits or doesn't wait for the tas! to finish. *n synchronous processing, theprogram waits+ control returns to the program only when the tas! has beencompleted. *n asynchronous processing, the program does not wait+ thesystem returns control after merely logging the re"uest for execution.

    Transferring SPA'GPA Para&eters to Transactions

  • 8/9/2019 ALL faqs

    41/147

    2o fill the input fields of a called transaction with data from the calling program,you can use the $&%/G&% techni"ue. $&%/G&% parameters are values that thesystem stores in the global, user0related $%& memory. Cou use the $%& memoryto transfer values between programs beyond the borders of transactions. % usercan access the values stored in the $%& memory during one terminal session for

    all modes used in parallel. To fill an SPA/GPA parameter, use:

    $yntax

    $ 2 &%7%1 2 7 *D 3pid4 F* LD 3f4.

    To read an SPA/GPA parameter into an A AP program, use:

    $yntax

    G 2 &%7%1 2 7 *D 3pid4 F* LD 3f4.

    W,at is t,e difference "et een !o&&it3Work and Roll"ack3Work tasks /

    3 !o&&it3Work statement [performs\ many functions relevant tosynchroni6ed execution of tas!s. 7ollbac!0#or! statement [cancels\ allre"uests relevant to synchroni6ed execution of tas!s.

    W,at are t,e different data"ase integrities /

    $emantic integrity 0 7elational integrity

    3 &rimary !ey integrity

    3 >alue set integrity

    3 Foreign !ey integrity and

    0 )perational integrity.

    W,at is SAP locking /

    0 *t is a mechanism for defining and applying logical loc!s to database objects.

    W,at does a lock o"#ect in0ol0e /

    0 2he tables

  • 8/9/2019 ALL faqs

    42/147

    0 2he loc! argument.

    W,at are t,e different kinds of lock &odes /

    0 $hared loc!

    0 xclusive loc!

    0 xtended exclusive list.

    5o can a lock o"#ect "e called in t,e transaction /

    • y calling En1(e(e lock o"#ectC and )e1(e(e lock o"#ectC in thetransaction.

    W,at are t,e e0ents ". ,ic, e can progra& ,elp te6ts and displa.possi"le 0al(es lists /

    0 &7)( $$ )? A L&07 ; $2 -&)A

    0 &7)( $$ )? >%L; 07 ; $2 -&)> .

    W,at are f(nction &od(les / T.pes of para&eters /

    0 Function modules are general0purpose library routines that are availablesystem0wide.

    0 *n general, function module can have four types of parameters+

    0 &)72*?G+ for passing data to the called function

    0 *1&)72*?G+ for receiving data returned from the function module

    0 2% L $+ for passing internal tables only, by reference -that is, by address

    0 (A%?G*?G+ for passing parameters to and from the function

    5o to send a report to t,e printer instead of displa.ing it on t,e screen /

    0 #e can send a report to the printer instead of displaying it on the screen.2o do this, use the !eywords 2) $%&0$&))L+

  • 8/9/2019 ALL faqs

    43/147

    $; 1*2 7$FLF*?D ... 2) $%&0$&))L D $2*?%2*)? 'L2=@'.

    5o can e send data to e6ternal progra&s /

    0 ;sing $&%/G&% parameters -$%& memory

    0 ;sing &)72/*1&)72 data -% %&/< memory

    W,at are t,e differences "et een SELE!T3OPTIONS ;ARIANTS AN)PARAMETERS/

    2o enter values for variables on the selection screen, you must define thevariables using the &%7%1 2 7$ statement.

    2o enter a range of values for the variables on the selection screen we use

    $ L (20)&2*)?$ statement.*f you want to run the same report program with the same selections at regularintervals -for example, for monthly sales statistics , *n, % %&/< offers youcombine the desired values for all these selections in one selection set. $uch aselection set is called a >%7*%?2$.

    W,at is SPA ' GPA / W,en do .o( (se it/

    2o fill the input fields of a called transaction with data from the report, you canuse the $&%/G&% techni"ue. $&%/G&% parameters are values that the system

    stores in the global, user0related $%& memory. Cou use the $%& memory totransfer values between programs. % user can access the values stored in the$%& memory during one terminal session for all modes used in parallel.

    ;sually, the input fields on the initial screen of a transaction are connected to$&%/G&% parameters. *f you fill these parameters from within your programbefore calling the transaction, the system fills the input fields with thecorresponding values.

    W,. and ,o do .o( displa. a &essage/ W,at are t,e &essage t.pes/

    %n % %&/< module lets the system !now that an error has occurred by issuinginformation,error or warning messages. you can also use success messageswhen a particular action is performed successfully. #hen the user presses?2 7, the current process is interrupted. 2he system returns the user to the$%& main menu using %bend message.

    1essage is displayed using 1 $$%G nnn, where is the type of themessage and nnn is the number of the message.

  • 8/9/2019 ALL faqs

    44/147

    Cou have to declare the *d of the message class in the program using

    1 $$%G 0*D cc,where cc is the message class.

    5o and ,ere do Yo( create Message class/

    Cou can create a message class from two places in the system+

    1. From an )bject class object list -in the )bject rowser

    : From an % %&/< module -in the % %&/< editor

    W,at do .o( define in t,e )ata ele&ent and )o&ain/

    7or 8ata lement

    2he information includes the field's representation on the screen in the form ofF* LD 2 2$, ()L;1? (%&2*)?$ in list outputs of the table contents and theformat of the output via &%7%1 2 7 *D$ and )nline field documentation.

    !or Domain

    Data 2ype,Field Length and the allowed data values are defined .

    W,at is t,e difference "et een a pool ta"le and a transparent ta"le/

    /ransparent /able :

    % tran table has a one to one relataionship in the database. 2he table in thedictionary has the same name, same no of fields, and the fields have the samename as in the 78 table defn. % transparent tabel has application data -1asterand 2ransaction .

    *ooled /able :

    % pool table has &an. to one relation with the table in the database. For onetable in the database there r many tables in the dictionary. 2ha table in thedatabase has a diff name than in the table in the data dict, it has diff no of fieldsand field names are different. % pooled table is stored in the pool at the databaselevel. % table poo is a databse table with a special struct that enables the data of

  • 8/9/2019 ALL faqs

    45/147

  • 8/9/2019 ALL faqs

    46/147

    #ith the first 27%(2 statement of a report, the system creates the extractdataset and adds the first extract record. #ith each subse"uent 27%(2statement, the system adds another extract record to the extract dataset.

    W,at is a collect state&ent and ,o is it different fro& t,e append

    state&ent/

    2o fill an internal table with lines which have uni"ue standard !eys, we use the()LL (2 statement.

    *f an entry with the same !ey already exists, the ()LL (2 statement does notappend a new line as %&& ?D statement, but adds the contents of the numericfields in the wor! area to the contents of the numeric fields in the existing entry.

    W,at is an open S*L 0s Nati0e S*L%

    )pen $ L allows you to access all database tables !nown to the $%& system,regardless of the database manufacturer. $ometimes, however, we may want touse database0specific $ L statements called ?ative $ L in your % %&/<program.

    2o avoid incompatibilities between different database tables and also to ma!e % %&/< programs independent of the database system in use, $%& has createda set of separate $ L statements called )pen $ L. )pen $ L contains asubset of standard $ L statements as well as some enhancements which arespecific to $%&.

    % database interface translates $%&'s )pen $ L statements into $ Lcommands specific to the database in use. ?ative $ L statements access thedatabase directly.

    W,at does an EFE! S*L state&ent do in ABAP/ W,at is t,e disad0antageof (sing it/

    2o use a ?ative $ L statement, it must be preceded by an ( $ L statementand concluded by an ?D ( statement.

    %n % %&/< program with ?ative $ L statements does not generally run with

    different databases. W,at are t,e e0ents (sed in ABAP7/

    2he events are

    • *?*2*%L*O%2*)? • %2 $ L (2*)?0$(7 ?

  • 8/9/2019 ALL faqs

    47/147

  • 8/9/2019 ALL faqs

    48/147

    foreign !eys. %n important function of foreign !eys is to support data integrity inthe relational data model. Foreign !ey fields may assume only those valuesallowed by the chec! table, in other words, values occurring in the primary !ey ofthe chec! table.

    % foreign !ey provides a lin! between two tables, for eg.,29 and 2: by including areference in table 29 to the primary !ey of table 2:. For this purpose, Foreign !eyfields assigned to the primary !ey fields of 2: are included in 29. 2able 29, whichis the one being chec!ed, is called a foreign !ey table, and table 2: is called achec! table. 2he terms dependent -foreign !ey table and referenced -chec!table are also used.

    >%L; 2% L +*f the domain of the chec! field has a value table, this is proposedby the system as chec! table in the foreign field maintenance. 2he !ey fields ofthe value table are in this case assigned fields of the foreign !ey table with thesame domain. 2hese fields may assume only those values allowed by the value

    table.2he value range of the domain can be defined by specifying value table.%ll tablefields referring to this domain can then be chec!ed against the correspondingfield of this value table.*n order the chec! can be executed, a foreign !ey must bedefined for the value table.

    W,at are &atc,codes/ )escri"e/

    % matchcode is a tool to search for data records in the system. 1atchcodes arean efficient and user0friendly search aid for cases where the !ey of a record is

    un!nown.*t consists of two stages one is 1atch code object and the other is 1atchcode *D.

    % matchcode object describes the set of all possible search paths for a searchterm.

    1atchcode *D describes a special search path for a search term.

    W,at are ranges/ W,at are n(&"er ranges/

    *t is often necessary to directly access individual records in a data structure. 2hisis done using uni"ue !eys. ?umber ranges are used to assign numbers toindividual database records for a commercial object, to complete the !ey. $uchnumbers are e.g. order numbers or material master numbers.

    5o do .o( 0alidate t,e selection criteria of a report/ And ,o do .o(displa. initial 0al(es in a selection screen/

  • 8/9/2019 ALL faqs

    49/147

  • 8/9/2019 ALL faqs

    50/147

    assigned only to the report program in "uestion. $uch a selection set is called avariant.

    ;sing >ariants )nline

    ;sing >ariants in ac!ground &rocessing)nline, starting a report via variant saves the user wor!,minimi6es input errors. *nbac!ground processing, a variant is the only possibility you have to pass valuesfor the selections.

    2o fill certain selections with values that change according to the application, youuse a variant, which ta!es the variable values from 2able T;AR; .

    W,at is set para&eter and get para&eter/

    #e can pass data to a called program using $&%/G&% parameters. $&%/G&%parameters are field values saved globally in memory. ach parameter isidentified by a three0character code+ you can define these parameters in theobject browser by selecting )ther objects on the first screen. 2he $&%/G&%storage is user0specific and valid throughout all the user's sessions.by using the$ 2 &%7%1 2 7 or G 2 &%7%1 2 7 statements

    2hese statements let you store and retrieve $&%/G&% values from an % %&/<program. *f the selection screens for the two transactions do not share the same

    re"uired fields, use these statements to store screen fields explicitly by name.efore calling the new transaction from a &%* module, store the callertransaction's fields under one name+

    $ 2 &%7%1 2 7 *D '7*D' F* LD 3F* LD ?%1 94.

    2he system stores the value in 3field name94 in the $&% parameter '7*D'. 2hethree0character identifier '7*D' must be defined in the $%& table 2&%7%. *f the$&% parameter '7*D' already contains a value, the $ 2 &%7%1 2 7 statementoverwrites it -with the contents of 3F* LD ?%1 94 .

    *n the & ) module for the called transaction, retrieve the fields under the othername+

    G 2 &%7%12 7 *D '7*D' F* LD 3F* LD ?%1 :4.

    W,at is field s.&"ol/

    http://sessions.by/http://sessions.by/http://sessions.by/

  • 8/9/2019 ALL faqs

    51/147

    % field symbol does not physically reserve space for a field, but points to afield which is not !nown until runtime of the program. $ometimes you only !nowwhich field you want to process, and how you want to process it, at runtime.

    For this purpose, you can create field symbols in your program. %t runtime, youcan assign real fields to such field symbols. %ll operations which you haveprogrammed with the field symbol are then carried out with the assigned field.

    %fter successful assignment, there is no difference in % %&/< whether youreference the field symbol or the field itself.

    5o to (se a grid list/

    ;se Function 1odule DisplayK5L*$2. *n ; r program .&ut all the data that ; want

    to output in its final format and then pass this internal table to the functionmodule

    /wo types of grid list .

    D*$&L%CKG7*DKL*$2->ersion ersion

  • 8/9/2019 ALL faqs

    52/147

    7$ D($; 7elease batch0input sessions automatically 7$(L2()& (opy

    tables across clients

    7$*?(L@@ xtended program list

    7$)7%7 L Get the )racle 7elease7$&%7%1 Display all instance parameters7$2 $(7& 2ransport $%&script files across systems7G;G 7@@ $ubstitution/>alidation utility7$;$7@@8 (hec! the passwords of users $%&5 and DD*( in all clients7$;$7@@I List users last login

    7$2 LD1( 2o Load L)G) s to application server

    • Interacti0e Reporting

    *nteractive reporting allows the user to participate actively in retrieving andpresenting data during the session. *nstead of one extensive and detailed list,with interactive reporting you create a condensed basic list from which the usercan call detailed information by positioning the cursor and entering commands.*nteractive reporting thus reduces information retrieval to the data actuallyre"uired.

    W,at are t,e e0ent ke. ords in interacti0e reporting /

    E0ent ke. ord E0ent

    %2 L*? 0$ L (2*)? 1oment at which the user selects a lineby double0clic!ing on it or by positioningthe cursor on it and pressing F:.

    %2 ;$ 70()11%?D 1oment at which the user presses afunction !ey.

    2)&0)F0&%G D;7*?G L*? 0$ L (2*)?

    1oment during list processing of asecondary list at which a new page starts.

    W,at is secondar. list /

    $econdary lists allow you to enhance the information presented in the basic list.2he user can, for example, select a line of the basic list for which he wants to seemore detailed information. Cou display these details on a secondarylist.$econdary lists may either overlay the basic list completely or you can display

  • 8/9/2019 ALL faqs

    53/147

  • 8/9/2019 ALL faqs

    54/147

    W,at are t,e page ,eaders for secondar. lists/

    )n secondary lists, the system does not display a standard page header and itdoes not trigger the event 2)&0)F0&%G .2o create page headers for secondarylist, you must enhance 2)&0)F0&%G +

    'yntax 2)&0)F0&%G D;7*?G L*? 0$ L (2*)?. 2he system triggers thisevent for each secondary list. *f you want to create different page headers fordifferent list levels, you must program the processing bloc! of this eventaccordingly, for example by using system fields such as $C0L$*?D or $C0&FB Cin control statements -*F, (%$ .

    W,at is &eant ". stacked list /

    % $tac!ed list is nothing but secondary list and is displayed on a full0si6e screenunless you have specified its coordinates using the window command.

    Is t,e "asic list deleted ,en t,e ne list is created/

    ?).*t is not deleted and you can return bac! to it using one of the standardnavigation functions li!e clic!ing on the bac! button or the cancel button.

    W,at is &eant ". ,otspots /

    Aotspot is a list area where the mouse pointer appears as an upright handsymbol.#hen a user points to that area-and the hand cursor is active ,a single0clic! does the same thing as a double0clic!. Aotspots are supported from 7/8

    release [email protected] ,ic, s.ste& field does t,e na&e of c(rrent g(i stat(s is t,ere /

    2he name of the current G;* $2%2;$ is available in the system field $C0&FB C.

    W,at is &eant ". ,ide area /

    2he hide command temporarily stores the contents of the field at the current linein a system0controlled memory called the A*D %7 %.%t an interactive event,thecontents of the field is restored from the A*D %7 %. #hen calling a secondary

    list from a list line for which the A*D fields are stored, the system fills the storedvalues bac! into the variables in the program. *n the program code, insert theA*D statement directly after the #7*2 statement for the current line.

    W,en t,e get c(rsor co&&and (sed in interacti0e lists /

    *f the hidden information is not sufficient to uni"uely identify the selected line ,thecommand G 2 (;7$)7 is used.2he G 2 (;7$)7 command returns the

  • 8/9/2019 ALL faqs

    55/147

    name of the field at the cursor position in a field specified after the additionfield,and the value of the selected field in a field specified after value.

    5o to pass data fro& list to report /

    % %&/< provides three ways of passing data+ 000&assing data automatically using system fields

    000;sing statements in the program to fetch data

    000&assing list attributes

    5o to call ot,er progra&s /

    Report Transaction

    (all and return $; 1*2 %?D 7 2;7? (%LL 27%?$%(2*)?(all withoutreturn

    $; 1*2 L %> 2) 27%?$%(2*)?

    S.ste& fields (sed in interacti0e Reporting

    2he SY3LSIN) system field contains the index of the list currently created. #hilecreating a basic list, $C0L$*?D e"uals @.

    #ith each interactive event, the system automatically sets the following systemfields+

    S.ste& field Infor&ation

    $C0L*?(2 total line count of a list

    $C0L*??) current line no where cursor is placed.

    SY3LSIN) *ndex of the list currently created during the current event -basic list @

    $C0L*$2* *ndex of the list level from which the event was triggered

    $C0L*LL* %bsolute number of the line from which the event was triggered

    $C0L*$ L (ontents of the line from which the event was triggered

  • 8/9/2019 ALL faqs

    56/147

  • 8/9/2019 ALL faqs

    57/147

    REA) LINE

    ;se the statements 7 %D L*? and 7 %D (;77 ?2 L*? to explicitly readdata from the lines of existing list levels. 2hese statements are tightly connectedto the A*D

    techni"ue.

    $yntax +

    7 %D L*? 3lin4 P*?D 3idx4Q

    PF* LD >%L; 3f94 P*?2) 3g 94Q... 3f n4 P*?2) 3g n4QQ

    P)F (;77 ?2 &%G X)F &%G 3p4Q.

    g +

    7 %D L*? $C0*?D F* LD >%L; ) .

    GET !2RSOR

    ;se the statements G 2 (;7$)7 F* LD and G 2 (;7$)7 L*? to pass theoutput field or output line on which the cursor was positioned during theinteractive event to the processing bloc!.

    $yntaxG 2 (;7$)7 F* LD 3f4 P)FF$ 2 3off4Q PL*? 3lin4Q

    P>%L; 3val4Q PL ?G2A 3len4Q.

    SET !2RSOR

    2o set the cursor, use the $ 2 (;7$)7 statement. 2his statement sets the

    cursor in the most recently created list. #hile creating the basic list, this is alwaysthe basic list itself. #hile creating a secondary list, this is the previous list.

    $ 2 (;7$)7 3col4 3lin4.

    2his statement sets the cursor to column 3col4 of line 3lin4 of the output window.

    !alling Progra&s

  • 8/9/2019 ALL faqs

    58/147

    *f you need to program an extensive application, one single program will becomevery complex. 2o ma!e the program easier to read, it is often reasonable todivide the re"uired functions among several programs.

    % %& allows you to call reports as well as transactions using these statements+

    7eport 2ransaction

    (all without return $; 1*2 L %> 2) 27%?$%(2*)?

    (all and return $; 1*2 %?D 7 2;7? (%LL 27%?$%(2*)?

    T.pical Str(ct(re of ABAP Progra&

    1. 7eport Definitions 5

    2. 2able and Data definitions 5

    3. *nitiali6ation event

    4. $creen $elect )ptions/*nputs 5

    5. $election0screen event

    6. $tart0of0selection event

    7. &erforms and other vents 5

    $tatements

    8. nd0of0selection event

  • 8/9/2019 ALL faqs

    59/147

    • 2riggered prior to first display of selection screen• 2o specify Default value in $ L (20)&2*)?$

    2. At Selection3Screen

    • &rocessed after the selection screen value are entered

    • For validation of screen accepts

    • 7eturns bac! to $ L (20)&2*)?$

  • 8/9/2019 ALL faqs

    60/147

  • 8/9/2019 ALL faqs

    61/147

    $yntax:+ & 7F)71 function0name-program *F F);?D.

    xample:+ & 7F)71 A %D 7-F)71&))L *F F);?D.

    I. Get e0ent

    • G 2 3 table name 4

    • 7eads data of all columns from all database table falling in the hierarchy

    • ?eeds to mention table name in

    2% L $+ parametersWWW

    • )nly fields part of the tables mentioned in the 2% L $+ parameter can beviewed S edited

    V. To E6it fro& an E0ent

    • xit N *t exits from the respective subroutine were this syntax is used ,generally condition for the *2 is stated before this syntax

    • (hec! 0 here the conditional chec! is done at the same time .

    (A (B 3condition4

    *f the condition is not satisfied, the system leaves the subroutine and resumes

    the processing after the & 7F)71 statement

    • $top N it is the abrupt stopping the program flow

  • 8/9/2019 ALL faqs

    62/147

    E. !ALLing @(nctional Mod(les

    $yntax+

    (%LL F;?(2*)? 3module4

    P &)72*?G f9 a9 .... fn anQ

    P*1&)72*?G f9 a9 .... fn anQ

    P(A%?G*?G f9 a9 .... fn anQ

    P2% L $ f9 a9 .... fn anQ

    P ( &2*)?$ e9 r9 .... en rn

    xample+(%LL F;?(2*)? 'OKD%2 K()?> 7$*)?'

    &)72*?G $2DKD%2 G ?KD%2

    *1&)72*?G (AKD%2 ? #KD%2

    Q% List E0ents

    2)&0)f0&%G , ?D0)F0&%G ,

    %2 L*? 0$ L (2*)?, %2 ;$ 70()11%?D

    2hese events are triggered by the % %& runtime environment while a list is beingcreated or when a user performs an action on a list. 2he statement in thesebloc!s can format the list or process the user s re"uest.

    ABAP PER@ORMAN!E ISS2ES%

    ABAP'7 Opti&i4ation

  • 8/9/2019 ALL faqs

    63/147

  • 8/9/2019 ALL faqs

    64/147

    • Declare your internal tables using )((;7$ ?;1K7 ($, where

    ?;1K7 ($ is the number of records you expect to be accessing. *f thenumber of records exceeds ?;1K7 ($, the data will be !ept in swapspace -not memory .

    • ;se $ L (2 % ( *?2) 2% L *2% whenever possible. 2his will readall of the records into the itab in one operation, rather than repeatedoperations that result from a $ L (2 % ( *?2) *2% ... ?D$ L (2statement. 1a!e sure that *2% is declared with )((;7$ ?;1K7 ($,where ?;1K7 ($ is the number of records you expect to access.

    • 1any tables contain totals fields -such as monthly expense totals . ;sethese avoid wasting resources by calculating a total that has already been

    calculated and stored.

    • &rogram %nalysis ;tility

    2o determine the usage of variables and subroutines within a program, you canuse the % %& utility called ]&rogram %nalysis included in transaction $ 8E. 2odo so, execute transaction $ 8E, enter your program name, then use the path;tilities 04 &rogram %nalysis

    ABAP PER@ORMAN!E IMPRO;EMENTS ;IA )ATA )I!TIONARY

    • *?D (7 %2*)? $;GG $2*)?$ 7 L%2 D 2) D%2% %$

    & 7F)71%?(

    R 2he columns at the beginning of an index are the most [common\. 2hemost [common\ columns are those where reports are selecting columns with noranges 0 the where clause for these columns is an [e"ual to\ expression.7earrange columns of an index to match the selection criteria. For example, if a

    select statement is written to include columns 9 and : with [e"ual to\ expressionsin the where clause and column 8 and < are selected with value ranges, then theindex should be created with columns in the se"uence of 9,:,8,

  • 8/9/2019 ALL faqs

    65/147

    • 2% L 2C& $;GG $2*)?$ 7 L%2 D 2) D%2% %$& 7F)71%?(

    R ;se >* # tables to effectively join and [denormali6e\ related tables thatare ta!ing large amounts of time to select for reporting. For example, at timeswhere highly accessed tables normali6e description text into one table and theheader data into another table, it may ma!e sense to create a view table that

    joins the relevant fields of the two associated with a poor performing % %&.

    • For &))L tables that contain large amounts of data and are highlyaccessed, convert the pooled table into a transparent table and add anindex. &))L D tables are supposed to be collections of smaller tablesthat are "uic!ly accessed from the database or are completely buffered inmemory. &ooled tables containing more than a few hundred rows and are

    accessed many times in a report or transaction are candidates for &))Lto 27%?$&%7 ?2 (onversion. !or example, table A"#$ contains tax %urisdiction condition information and are accessed more t&an tentimes in t&e sales order create transaction' (f t&e entire )nited Statestax codes are loaded into t&ese condition tables, t&e time to save asales order increases to unacceptable levels' *onverting t&e taxcondition table to transparent and creating an index based upon t&e+e fields, decreases processing time from minutes to seconds'

    R Do not allow the use of L*B in an $%& $ L statement accessing a largetable.

    R ;se internal tables in % %&s to preselect values once and store values inmemory for sorting and searching purposes -this is an assumption stated at thebeginning of this discussion .

    R %void logical databases when not processing all row s of a table. *n fact, alogical database is merely a group of nested $%& $ L $ L (2 statements. *ngeneral, when processing a small number of rows in a larger table is re"uired,the use of internal tables and ?)2 using a logical database or nested selects will

    be much better for performance.

    ABAP IMPORTANT REPORTS

    • 7$ D( 2(

  • 8/9/2019 ALL faqs

    66/147

    $ubmit a D( job with an internal batch number and wait for the end of the batchinput session.

    • 7$ D($;

    7elease batch input sessions automatically

    ABAP IMPORTANT T!O)ES

    )$$9 $%& )nline $ervice $ystem

    $198 ;pdate monitor. #ill show update tas!s status. >ery useful to determinewhy an

    update failed.

    $@@9 % %& Development #or!bench

    $ @9 )ld 2ransport S (orrections screen

    $ 9@ ?ew 2ransport S (orrection screen

    $ @J #or!bench )rgani6er

    $ 9I Data rowser+ *nitial $creen.$ 8@ % %&/< 7untime %nalysis

    $ 8I % %&/

  • 8/9/2019 ALL faqs

    67/147

    $19: Loc! table entries -unloc! loc!ed tables

    $1:9 >iew the system log, very useful when you get a short dump. &rovidesmuch

    more info than short dump$18= >iew atch *nput $essions

    $ @@ % %&/< uery+ $tart ueries

    D(

    < W,at s,o(ld "e t,e approac, for riting a B)! progra&/

    %ns.+ 9. %nalysis the Data. :. Generate $%& structure. 8. Developtransfer program

  • 8/9/2019 ALL faqs

    68/147

    %ns. + (all transaction S call dialogWhat are the steps in a BDC session ?

    2he first step in a D( session is to identify the screens of the transactionthat the program will process. ?ext step is to write a program to build theD( table that will be used to submit the data to $%&. 2he final step is tosubmit the D( table to the system in the batch mode or as a singletransaction by the (%LL 27%?$%(2*)? command.

    - W,at are t,e pro"le&s in processing "atc, inp(t sessions/ 5o is"atc, inp(t process different fro& processing on line/

    %ns.+ $essions cannot be run in parallel and not fast.7 W,at do .o( do ,en t,e s.ste& cras,es in t,e &iddle of a B)! "atc,

    session/

    0(hec! no. of records already updated and delete them from input file andrun D( again.

    = W,at do .o( do it, errors in B)! "atc, session/

    0%nalysis and correct input file format and entries in internal table D(D%2%.W5AT are t,e co&&ands t,at allo .o( to process se1(ential file/And ,at is t,eir s.nta6/

    %ns +0

    • 7 %D D%2%$ 2 -reading and 27%?$F 7 -writing • )& ? D2%$ 2 3dataset name4 for 3input output appending4 in

    3binary text 4 mode at &)$*2*)? 3position4 1 $$%G 3field4 • 7 %D D%2%$ 2 3dataset name 4 *?2) 3field4 • (L)$ D%2%$ 2 3dataset name4 • D L 2 D%2%$ 2 3dataset name4

    27%?$F 7 3field4 to 3dataset name4H W,at is t,e process for transferring data fro& legac. s.ste& to SAP/

    %ns +0 F2& file transfer, 1anufacturer Nspecific field transfer ?F$-networ!

    file system / D(.E6plain t,e process to transfer a record to a dataset/

    %ns +0 27%?$F 7 3field4 to 3dataset name4.Q W,. "atc, inp(t/

    %ns +0 2o input a large amount of information at off pea! times.

  • 8/9/2019 ALL faqs

    69/147

    < !an data "e p(t directl. into t,e data"ase/

    %ns +0 ?o, only after the data has been entered via transaction.

  • 8/9/2019 ALL faqs

    70/147

    • 2ransaction no.,program no. N $ystem 04 status

    Field names 0 F9, 2echnical help< W,at are t,e processing &odes for Batc, Inp(t/

    %ns +0 &rocess on screen-foreground , Display errors only and process inthe bac!ground

  • 8/9/2019 ALL faqs

    71/147

    %synchronous7 What is $ain !i""erence %etween session $etho! an! &S'W

    *n the context of session method,

    the method of updating is [ atch *nput\ ,

    we re"uire a program to be coded,

    ut in the context of L$1# method,

    2he methods of updating

    using [ atch *nput/Direction *nput\

    from an *D)(,

    from a %&* structure.

    ?o source code is re"uired, the complete operation is performed in9I steps se"uence

    = W,at is &ain difference "et een !ATT and LSMW

    ;sing L$1# you can update any !ind of data but no changes to databaseare allowed, where as (%22 tool can update only master data, which also

    allows changes to the master data and also a significant testing of data ispossibleW,at is B)! and 5o .o( (se it/

    ( asis (omponents00% %& wor!bench00 ( asis &rogramminginterfaces00Data transfer

    During data transfer, data is transferred from an external system into the$%& 7/8 $ystem. ^2ransfer data from an external system into an 7/8$ystem as it is installed. ^2ransfer data regularly from an external systeminto an 7/8 $ystem.

    xample+ *f data for some departments in your company is input using asystem other than the 7/8 $ystem, you can still integrate this data in the 7/8$ystem. 2o do this, you export the data from the external system and use adata transfer method to import it into the 7/8 $ystem.

    atch input with batch input sessions + Data consistency chec! with the help

  • 8/9/2019 ALL faqs

    72/147

    of screen logic.

    #ith the batch input method, an % %& program reads the external data thatis to be entered in the 7/8 $ystem and stores the data in a _batch input

    session_. 2he session records the actions that are re"uired to transfer datainto the system using normal $%& transactions.

    #hen the program has generated the session, you can run the session toexecute the $%& transactions in it. Cou can explicitly start and monitor asession with the batch input management function -by choosing $ystem M$ervices M atch input , or have the session run in the bac!groundprocessing system.

    ;se the D(K)& ?KG7);& function module to create a new session.)nce you have created a session, then you can insert batch input data into it

    with D(K*?$ 72. ;se the D(K*?$ 72 function module to add atransaction to a batch input session. ;se the D(K(L)$ KG7);&function module to close a session after you have inserted all of your batchinput data into it.

    What is Dataset an! how you use it?

    % %&/< provides three statements for handling files+

    2he )& ? D%2%$ 2 statement opens a file.

    2he (L)$ D%2%$ 2 statement closes a file.

    2he D L 2 D%2%$ 2 statement deletes a file.

    2o open a file for read access, use the F)7 *?&;2 option of the )& ?D%2%$ 2 statement

    2o open a file for write access, use the F)7 );2&;2 option of the )& ?D%2%$ 2 statement

    2o open a file for appending data to the file, use the F)7 %&& ?D*?G

    option of the )& ? D%2%$ 2 statement

    2o process a file in binary mode, use the *? *?%7C 1)D option of the)& ? D%2%$ 2 statement

    2o process a file in text mode, use the *? 2 2 1)D option of the )& ?D%2%$ 2 statement

  • 8/9/2019 ALL faqs

    73/147

    2o open a file at a specific position, use the %2 &)$*2*)? option of the)& ? D%2%$ 2 statement

    #hen you wor! with the operating systems ;?* or #*?D)#$ ?2, you can

    send an operating system command with the statement )& ? D%2%$ 2. 2odo so, use the option F*L2 7

    2o receive the operating system message after trying to open a file, use the1 $$%G option of the )& ? D%2%$ 2 statement

    2o close a file on the application server, use the (L)$ D%2%$ 2statement

    2o delete a file on the application server, use the D L 2 D%2%$ 2statement

    2o write data to a file on the application server, use the 27%?$F 7statement

    2o read data from a file on the application server, use the 7 %D D%2%$ 2statement.

    - Gi0e real ti&e ork done ". ( in B)! / Transactions (sed /para&eters passed it, f(nctions%

    -H ill ask ( for screen no:s and d.npro na&es for B)! t,at ( sa. ( ,a0edone%

    -QW,ic, tec,nical field in t,e B)!)ATA ta"le ,olds t,e last c(rsor

    position/ 7< W,at is tr(e a"o(t t,e LSMW$ 8c,oose correct option's9

    &art of the $%& system &rocesses hierarchical data files -header and position

    ?eeds a source field for every target field

    775o do .o( read a LO!AL se1(ential file/

    7=

    How !o you write a se(uential "ile? 7

    5o do .o( send t,e B)!)ATA ta"le in a !all Transaction state&ent/

  • 8/9/2019 ALL faqs

    74/147

    7H

    What loop !o you co!e "or a R)AD DA AS) state$ent? =< What are the steps in a BDC session ?

    2he first step in a D( session is to identify the screens of the transactionthat the program will process. ?ext step is to write a program to build theD( table that will be used to submit the data to $%&. 2he final step is tosubmit the D( table to the system in the batch mode or as a singletransaction by the (%LL 27%?$%(2*)? command.

    = How !o you "in! the in"or$ation on the current screen ?

    0 2he information on the current screen can be found by $ystem

    $tatus command from any menu.=- How !o you sa*e !ata in BDC ta%les ?

    0 2he data in D( tables is saved by using the field name ] D(K)B()Dand field value of ]/99

    =7 What is the last entry in all BDC ta%les ?

    0 *n all D( tables, the last entry is to save the data by using the fieldname D(K)B()D and a field value of ]/99 .

    == What is a $ultiple line "iel! ?

    0 % multiple line field is a special !ind of field which allows the user toenter multiple lines of data into it.

    = How !o you populate !ata into a $ultiple line "iel! ?

    • 2o populate data into a multiple line field, an index is added to thefield name to indicate which line is to be populated by the D(session -Line index .

    =H Write t,e B)! ta"le str(ct(re%

    0 D( table structure

    @IEL) TYPE )ES!RIPTION

    &rogram (A%7-E &rogram name of transaction

    Dyn&ro (A%7-< $creen number of transaction

  • 8/9/2019 ALL faqs

    75/147

    Dyn egin (A%7-9 *ndicator for new screen

    Fnam (A%7-8= ?ame of database field from

    $creen

    Fval (A%7-E@ >alue to submit to field= Does the CA&& RA+SAC ,-+ $etho! allow $ultiple transactions to %e

    processe! %y SAP ?

    0 ?o. 2he (%LL 27%?$%(2*)? method allows only a singletransaction to be processed by $%&.

    =Q )oes t,e B)!?INSERT f(nction allo &(ltiple transactions to "eprocessed ". SAP H

    3 Yes%

    What is the synta. "or CA&& RA+SAC ,-+’ ?

    0 (%LL 27%?$%(2*)? trans P using bdctab 1)D mode Q.

    2hree possible entries are there for 1)D .

    % 0 show all screens

    0 show only screens with errors

    ? 0 show no screens

    #hich mode of ](%LL 27%?$%(2*)? method allows bac!groundprocessing H

    0 ? is the only mode that allows bac!ground processing.< ,s it possi%le to use CA&& RA+SAC ,-+’ without a BDC ta%le ?

    0 Ces, it is possible to use ](%LL 27%?$%(2*)? without a D(table. *n such case, the current program is suspended, the transactionspecified is brought up, and a user must enter the data into thescreens.

    What is C-D) ?

    0 2()D is the transaction code for the transaction that should be used toprocess the data in the D( table being inserted.

    - What are the "unction $o!ules that nee! to %e calle! "ro$ BDC progra$ to

  • 8/9/2019 ALL faqs

    76/147

    su%$it the transactions "or processing ?

    0 D(K)& ?KG7);&

    0 D(K*?$ 72

    0 D(K(L)$ KG7);&7 How $any sessions will %e opene! using BDC0-P)+01R-#P ?

    • )nly one session can be created using the D(K)& ?KG7);&functon.

    = What is BACH ,+P# ’ or BDC’ ?

    • 2he $%& system offers two primary methods - D( $ $$*)?1 2A)D, (%LL 27%?$%(2*)? 1 2A)D for transferring data into

    the system from other systems and ?on0$%& systems. 2hese twomethods are collectively called as ] %2(A *?&;2 or ] atch Data(ommunication - D( .

    What are the a!*antages in Batch ,nput ?

    • 2he atch *nput ensures Data integrity.

    ?o manual interaction is re"uired during Data transfer.H What is the "unctionality o" Classical Batch ,nput’ ?

    *n ](lassical atch *nput an % %&/< program reads the external data that isto be entered in the $%& system and stores the data in a atch *nputsession. 2his session stores the actions that are re"uired to enter your datausing normal $%& transactions.Which Function 'o!ules are use! in Classical Batch ,nput’ ?

    • D(K)& ?KG7);& , D(K*?$ 72, D(K(L)$ KG7);&. Q What is Synchronous Data%ase up!ate ?

    • During the processing no transaction is stored until the previoustransaction has been written to the Database. 2his is called$ynchronous Database update.

    H What are the !i""erences %etween CA&& RA+SAC ,-+ an! BA CH ,+P#S)SS,-+ ?

  • 8/9/2019 ALL faqs

    77/147

    0 2he most important aspects of the batch session interface are+

    0 %synchronous processing

    0 2ransfers data for multiple transactions

    0 $ynchronous database update

    During processing, no transaction is started until the previoustransaction has been written to the database.

    0 % batch input processing log is generated for each session

    0 $essions cannot be generated in parallel

    2he most important aspects of the (%LL 27%?$%(2*)? ;$*?Ginterface are+

    0 $ynchronous processing

    0 2ransfers data for a single transaction

    0 $ynchronous and asynchronous database updating both possible

    2he program specifies which !ind of updating is desired.

    0 $eparate L;# for the transaction

    2he system performs a database commit immediately before andafter the (%LL 27%?$%(2*)? ;$*?G statement.

    • ?o batch input processing log is generated H< What are the types o" Batch ,nput ?

    • (lassical atch *nput • (all 2ransaction • (all Dialog

    H What is BDC0-2C-D) ?

    • 2he command field is identified by a special name in batch inputcalled D(K)B()D . 2his name is constant and always identifies

  • 8/9/2019 ALL faqs

    78/147

    the command field.

    H- How can we e.ecute a "unction in a BDC session ?

    • #e can execute a function in a transaction by entering the functioncode or function !ey number in the command field of an $%& session.

    % function !ey number must be prefixed with the / -slash character. %function code must be prefixed with the character.

    • xample+

    D(D%2%0F?%1 ' D(K)B()D '

    D(D%2%0F>%L ' ;&D%' H7 How can we position the cursor on a particular "iel! ?