Você está na página 1de 37

SAP R/3 ARCHITECTURE 1. What guarantees the integration of all application o!

ules" The R/3 basis system guarantees the integration of all application modules. The R/3 basis s/w provides the run time environment for the R/3 applications ensures optimal integration, defines a stable architectural frame for system enhancements, and contains the administration tools for the entire system. One of the main tasks of the basis system is to guarantee the portability of the complete system. #. What are the central interfaces of the R/3 s$ste " Presentation nterface. !atabase nterface. Operating system nterface. 3. Which interface controls %hat is sho%n on the p.c." Presentation nterface. &. Which interface con'erts S() re*uire ents in the SAP !e'elop ent s$ste the !ata+ase" !atabase nterface. to those of

,. What is SAP !ispatcher" "#P dispatcher is the control agent that manages the resources for the R/3 applications. -. What are the functions of !ispatcher" $%ual distribution of transaction load to the work processes. &anagement of buffer areas in main memory. ntegration of the presentation levels. Organi'ation of communication activities. .. What is a %or/ process" # work process is where individual dialog steps are actually processed and the work is done. $ach work process handles one type of re%uest. 0. 1a e 'arious %or/ processes of R/3 s$ste " !ialog or Online (processes only one re%uest at a time). *ackground ("tarted at a specific time) +pdate (primary or secondary) $n%ue (,ock mechanism). "pool (generated online or during back ground processing for printing). 2. E3plain a+out the t%o ser'ices that are use! to !eal %ith co unication. &essage "ervice- +sed by the application servers to e.change short internal messages, all system communications. /ateway "ervice- $nables communication between R/3 and e.ternal applications using 0P 10 protocol. 14. Which %or/ process triggers !ata+ase changes" +pdate work process. 11. 5efine ser'ice 6%ithin R/37" # service is a process or group of processes that perform a specific system function and often provide an application1programming interface for other processes to call. 1#. What are the roll an! page areas"

Roll and page areas are "#P R/3 buffers used to store user conte.ts (process re%uests). The "#P dispatcher assigns process re%uests to work processes as they are %ueued in the roll and page areas. Paging area holds data from the application programs. Roll area holds data from previous dialog steps and data that characteri'e the user. 13. What are the !ifferent la$ers in R/3 s$ste " Presentation ,ayer. #pplication ,ayer. !atabase ,ayer. 1&. What are the phases of +ac/groun! processing" 2ob "cheduling. 2ob Processing. 2ob Overview. 1,. What co ponents of the R/e s$ste initiate the start of +ac/groun! 8o+s at the specifie! ti e" The batch scheduler initiates the start of background 3ob. The dispatcher then sends this re%uest to an available background work process for processing. 1-. 5efine Instance. #n instance is an administrative unit in which components of an R/3 systems providing one or more services are grouped together. The services offered by an instance are started and stopped at random. #ll components are parameteri'ed using a 3oint instance profile. # central R/3 system consists of a single instance in which all1necessary "#P services are offered. $ach instance uses separate buffer areas. 1.. 9ro har!%are perspecti'e: e'er$ infor ation s$ste can +e !i'i!e! into three tas/ areas Presentation: Application )ogic an! 5ata Storage. The R/3 *asis software is highly suitable for use in multi1level client/server architectures. 10. What are R/3 ;asis configurations" # central system with centrally installed presentation software. Two1level client/server system with rolled out presentation software. Two1level client/server system. Presentation and #pplication run on the same computer. Three1level client/server system. Presentation, #pplication and database each run on separate computers. 12. What is a Ser'ice in SAP ter inolog$" # service refers to something offered by a s/w component. #4. What is Ser'er in SAP ter inolog$" # component can consist of one process or a group and is then called the server for the respective service. #1. What is a client in SAP ter inolog$" # "/4 component that uses the service (offered by a s/w component) is called a 0lient. #t the same time these clients may also be servers for other services. ##.What is a SAP s$ste " The union of all s/w components that are assigned to the same databases is called as a "#P system.

#3. What is the eans of co unications +et%een R/3 an! e3ternal applications" The means of communication between R/5,R/3 and e.ternal applications is via the 0P 10 handler or "#P /ateway, using the 0P 10 Protocol. #&. What is the protocol use! +$ SAP <ate%a$ process" The "#P /ateway process communicates with the clients based on the T0P/ P Protocol. #,. E3pan! CPI=C. 0ommon Program nterface 0ommunication. #-. What is a Spool re*uest" "pool re%uests are generated during dialog or background processing and placed in the spool database with information about the printer and print format. The actual data is places in the Tem "e (Temporary "e%uential ob3ects). #.. What are !ifferent t$pes of )og recor!s" 67 and 65. 67 must be processed before 65. *ut, we can have more than one 65 logs. #0. What are the t$pes of Up!ate re*uests" #n update re%uest can be divided into one primary (67) and several "econdary update components (65). Time1critical operations are placed in 67 component and those whose timing is less critical are placed in 65 components. f a 67 update fails, 65 components will not be processed. 58. !ialog work processes perform only one dialog step and then available for the ne.t re%uest. 34. E3plain %hat is a transaction in SAP ter inolog$. n "#P terminology, a transaction is series of logically connected dialog steps. 31. E3plain ho% SAP <UI han!les output screen for the user. The "#P front1end s/w can either run on the same computer or on different computers provided for that purpose. +ser terminal input is accepted by the "#P terminal program "#P /+ , converted to "#P proprietary format and sent to the "#P dispatcher. The dispatcher coordinates the information e.change between the "#P /+ s and the work processes. The dispatcher first places the processing re%uest in re%uest %ueues, which it then processes. The dispatcher dispatches the re%uests one after another, to the available work process. The actual processing takes place in the work process. 4hen processing is complete, the result of a work process is returned via the dispatcher to the "#P /+ . The "#P /+ interprets the received data and generates the output screen for the user. 5ATA 5ICTI>1AR? 1. What are the la$ers of !ata !escription in R/3" The e.ternal layer. The #*#P/9 layer. The database layer. #. 5efine e3ternal la$er" The e.ternal layer is the plane at which the user sees and interacts with the data, that is, the data format in the user interface. This data format is independent of the database system used. 3. 5efine A;AP/& la$er" The #*#P/9 layer describes the data formats used by the #*#P/9 processor. &. 5efine 5ata+ase la$er" The database layer describes the data formats used in the database.

,. What is a 5ata Class" The !ata class determines in which table space the table is stored when it is created in the database. -. What is a Si@e Categor$" The "i'e category describes the probable space re%uirement of the table in the database. .. Ho% an$ t$pes of si@e categories an! !ata classes are there" There are five si'e categories (:19) and 77 data classes only three of which are appropriate for application tables #PP,:1 &aster data (data fre%uently accessed but rarely updated). #PP,71 Transaction data (data that is changed fre%uently). #PP,51 Organi'ational data (customi'ing data that is entered when system is configured and then rarely changed). The other two types are +"R +"R7 ; ntended for customer<s own developments. 0. What are control ta+les" The values specified for the si'e category and data class are mapped to database1specific values via control tables. 2. What is the function of the transport s$ste an! %or/+ench organi@er" The function of the transport system and the 4orkbench Organi'er is to manage any changes made to ob3ects of the #*#P/9 !evelopment 4orkbench and to transport these changes between different "#P systems. 14. What is a ta+le pool" # table pool (or pool) is used to combine several logical tables in the #*#P/9 !ictionary. The definition of a pool consists of at least two key fields and a long argument field (6#R!#T#). 11. What are poole! ta+les" These are logical tables, which must be assigned to a table pool when they are defined. Pooled tables can be used to store control data (such as screen se%uences or program parameters). 1#. What is a ta+le cluster" # table cluster combines several logical tables in the #*#P/9 !ictionary. "everal logical rows from different cluster tables are brought together in a single physical record. The records from the cluster tables assigned to a cluster are thus stored in a single common table in the database. 13. Ho% can %e access the correction an! transport s$ste " $ach time you create a new ob3ect or change an e.isting ob3ect in the #*#P/9 !ictionary, you branch automatically to the 4orkbench Organi'er or correction and transport system. 1&. Which o+8ects are in!epen!ent transport o+8ects" !omains, !ata elements, Tables, Technical settings for tables, "econdary inde.es for transparent tables, "tructures, 6iews, &atchcode ob3ects, &atchcode ds, ,ock ob3ects. 1,. Ho% is con'ersion of !ata t$pes !one +et%een A;AP/& A 5; la$er" 0onversion between #*#P/9 data types and the database layer is done within the database interface. 7=. Ho% is con'ersion of !ata t$pes !one +et%een A;AP/& A e3ternal le'el >

0onversion between the e.ternal layer and the #*#P/9 layer is done in the "#P dialog manager !?@P. 1.. What are the 5ata t$pes of the e3ternal la$er" #00P, 0har, 0,@T, 0+A?, 0+RR, !#T", !$"0, B,TP, @T7, @T5, @T9, ,#@/, ,0CR, ,R#4, @+&0, PR$0, D+#@, R#4, T &", +@ T,6#R0. 10. What are the 5ata t$pes of the A;AP/& la$er" Possible #*#P/9 data types0- 0haracter. !- !ate, format ????&&!!. B- Bloating1point number in !O+*,$ PR$0 " O@ (E bytes). - nteger. @- @umerical character string of arbitrary length. P- #mount of counter field (packedF implementation depends on h/w platform). "- Time "tamp ????&&!!CC&&"". 6- 0haracter string of variable length, length is given in the first two bytes. G- Ce.adecimal (binary) storage. 12. Ho% can %e set the ta+le spaces an! e3tent si@es" ?ou can specify the e.tent si'es and the table space (physical storage area in the database) in which a transparent table is to be stored by setting the si'e category and data class. #4. What is the function of the correction s$ste " The correction system manages changes to internal system components. "uch as ob3ects of the #*#P/9 !ictionary. #1. What are local o+8ects" ,ocal ob3ects (!ev classHT&P) are independent of correction and transport system. ##. What is a 5e'elop ent class" Related ob3ects from the #*#P/9 repository are assigned to the same development class. This enables you to correct and transport related ob3ects as a unit. #3. What is a !ata !ictionar$" !ata !ictionary is a central source of data in a data management system. ts main function is to support the creation and management of data definitions. t has details about 4hat data is contained> 4hat are the attributes of the data> 4hat is the relationship e.isting between the various data elements> #&. What functions !oes a !ata !ictionar$ perfor " n a data management system, the principal functions performed by the data dictionary are &anagement of data definitions. Provision of information for evaluation. "upport for s/w development. "upport form documentation. $nsuring that the data definitions are fle.ible and up1to1date. #,. What are the features of A;AP/& 5ictionar$" The most important features are ntegrated to a#*#P/9 !evelopment 4orkbench. #ctive in the runtime environment. #-. What are the uses of the infor ation in the 5ata !ictionar$"

The following information is directly taken from the !ata dictionary nformation on fields displayed with B7 help. Possible entries for fields displayed with B9 help. &atchcode and help views search utilities. #.. What are the +asic o+8ects of the !ata !ictionar$" Tables !omains !ata elements "tructures Boreign Aeys #0. What are the aggregate o+8ects in the !ata !ictionar$" 6iews &atch codes ,ock ob3ects. #2. In the A;AP/& 5ictionar$ Ta+les can +e !efine! in!epen!ent of the un!erl$ing !ata+ase 6T/97. True. 3:. #*#P/9 !ictionary contains the ,ogical definition of the table. 31. A fiel! containing currenc$ a ounts 6!ata t$pe CURR7 ust +e assigne! to a reference ta+le an! a reference fiel!. E3plain. #s a reference table, a system containing all the valid currencies is assigned or any other table, which contains a field with the currency key format. This field is called as reference field. The assignment of the field containing currency amounts to the reference field is made at runtime. The value in the reference field determines the currency of the amount. 3#. A fiel! containing *uantit$ a ounts 6!ata t$pe (UA17 ust +e assigne! to a reference ta+le an! a reference fiel!. E3plain" #s a reference table, a system table containing all the valid %uantity units is assigned or any other table, which contains a field with the format or %uantity units (data type +@ T). This field is called as reference field. The assignment of the field containing %uantity amounts to the reference field is made at runtime. The value in the reference field determines the %uantity unit of the amount. 33. What is the significance of Technical settings 6specifie! %hile creating a ta+le in the !ata !ictionar$7" *y specifying technical settings we can control how database tables are created in the database. The technical settings allows us to Optimi'e storage space re%uirements. Table access behavior. *uffering re%uired. 0hanges to entries logged. 3&. What is a Ta+le attri+ute" The table<s attributes determine who is responsible for maintaining a table and which types of access are allowed for the table. The most important table attributes are !elivery class. Table maintenance allowed. #ctivation type. 3,. What is the significance of 5eli'er$ Class"

The delivery class controls the degree to which the "#P or the customer is responsible for table maintenance. 4hether "#P provides the table with or without contents. !etermines the table type. !etermines how the table behaves when it is first installed, at upgrade, when it is transported, and when a client copy is performed. 3-. What is the a3. no. >f structures that can +e inclu!e! in a ta+le or structure. @ine. 3.. What are t%o etho!s of o!if$ing SAP stan!ar! ta+les" #ppend "tructures and 0ustomi'ing ncludes. 30. What is the !ifference +et%een a Su+structure an! an Appen! Structure" n case of a substructure, the reference originates in the table itself, in the form of a statement includeI. n case of an append structure, the table itself remains unchanged and the reference originates in the append structure. 32. To ho% an$ ta+les can an appen! structure +e assigne!. One. &4. If a ta+le that is to +e e3ten!e! contains a long fiel!: %e cannot use appen! structures %h$" ,ong fields in a table must always be located in the end, as the last field of the table. f a table has an append structure the append line must also be on the last field of the table. &1. Can %e inclu!e custo i@ing inclu!e or an appen! structure %ith Poole! or Cluster ta+les" @o. &#. What are the t%o %a$s for restricting the 'alue range for a !o ain" *y specifying fi.ed values. *y stipulating a value table. &3. Structures can contain !ata onl$ !uring the runti e of a progra True. &&. What are the aggregate o+8ects in the 5ictionar$" 6iews &atch 0ode. ,ock Ob3ect. 6T/97

&,. What are +ase ta+les of an aggregate o+8ect" The tables making up an aggregate ob3ect (primary and secondary) are called aggregate ob3ect. &-. The !ata of a 'ie% is not ph$sicall$ store!: +ut !eri'e! fro True. one or ore ta+les 6t/f7

&.. What are the # other t$pes of Bie%s: %hich are not allo%e! in Release 3.4" "tructure 6iews. $ntity 6iews. &0. What is a Catch Co!e" &atch code is a tool to help us to search for data records in the system. &atch 0odes are an efficient and user1friendly search aid where key of a record is unknown.

&2. What are the t%o le'els in !efining a Catch Co!e" &atch 0ode Ob3ect. &atch 0ode d. ,4. What is the a3 no of atch co!e I!Ds that can +e !efine! for one Catch co!e o+8ect" # match code d is a one character ! that can be a letter or a number. ,1. Can %e !efine our o%n Catch Co!e I5Ds for SAP Catchco!es" ?es, the number : to 8 are reserved for us to create our own &atch 0ode ds for a "#P defined &atchcode ob3ect. J5. 4hat is an +pdate type with reference to a &atch code !> f the data in one of the base tables of a matchcode ! changes, the matchcode data has to be updated. The update type stipulates when the matchcode is to be updated and how it is to be done. The update type also specifies which method is to be used for *uilding matchcodes. ?ou must specify the update type when you define a matchcode !. J3. 0an matchcode ob3ect contain ds with different update types> ?es. J9. 4hat are the update types possible> The following update types are possible +pdate type #- The matchcode data is updated asynchronously to database changes. +pdate type "- The matchcode data is updated synchronously to database changes. +pdate type P- The matchcode data is updated by the application program. +pdate type - #ccess to the matchcode data is managed using a database view. +pdate type ,- #ccess to the matchcode is achieved by calling a function module. JJ. 4hat are the two different ways of building a match code ob3ect> # match code can be built in two different ways ,ogical structure- The matchcode data is set up temporarily at the moment when the match code is accessed. (+pdate type , k). Physical "tructure- The match code data is physically stored in a separate table in the database. (+pdate type #, ", P). J=. 4hat are the differences between a !atabase inde. and a match code> &atch code can contain fields from several tables whereas an inde. can contain fields from only one table. &atch code ob3ects can be built on transparent tables and pooled and cluster tables. JK. 4hat is the function of a !omain> # domain describes the technical settings of a table field. # domain defines a value range, which sets the permissible data values for the fields, which refers to this domain. # single domain can be used as basis for any number of fields that are identical in structure. JE. 0an you delete a domain, which is being used by data elements> @o.

J8. 4hat are conversion routines> @on1standard conversions from display format to sap internal format and vice1 versa are implemented with so called conversion routines. =:. 4hat is the function of a data element> # data element describes the role played by a domain in a technical conte.t. # data element contains semantic information. =7. 0an a domain, assigned to a data element be changed> ?es. 4e can do so by 3ust overwriting the entry in the field domain. =5. 0an you delete data element, which is being used by table fields. @o. =3. 0an you define a field without a data element> ?es. f you want to specify no data element and therefore no domain for a field, you can enter data type and field length and a short te.t directly in the table maintenance. =9. 4hat are null values> f the value of a field in a table is undefined or unknown, it is called a null value. =J. 4hat is the difference between a structure and a table> "tructures are constructed the almost the same way as tables, the only difference using that no database table is generated from them. ==. 4hat is a view> # view is a logical view on one or more tables. # view on one or more tables i.e., the data from a view is not actually physically stored instead being derived from one or more tables. =K. Cow many types of 6iews are there> !atabase 6iew Celp 6iew Pro3ection 6iew &aintenance 6iew =E. 4hat is ,ocking> 4hen two users simultaneously attempt to access the same data record, this is synchroni'ed by a lock mechanism. =8. 4hat is database utility> !atabase utility is the interface between the #*#P/9 !ictionary and the underlying the "#P system. K:. 4hat are the basic functions of !atabase utility> The basic functions of database utility are 0reate database ob3ects. !elete database ob3ects. #d3ust database ob3ects to changed #*#P/9 dictionary definition. K7. 4hat is Repository nfo. "ystems> t is a tool with which you can make data stored in the #*#P/9 !ictionary available.

C>5U)ARIEATI>1 7. !oes every #*#P/9 have a modular structure> ?es. 5. 4hat is &odulari'ation and its benefits> f the program contains the same or similar blocks of statements or it is re%uired to process the same function several times, we can avoid redundancy by using modulari'ation techni%ues. *y modulari'ing the #*#P/9 programs we make them easy to read and improve their structure. &odulari'ed programs are also easier to maintain and to update. 3. @ame the #*#P/9 &odulari'ation techni%ues. "ource code module. "ubroutines. Bunctions. 9. Cow can we create callable modules of program code within one #*#P/9 program> *y defining &acros. *y creating include programs in the library. J. & is the attribute type of the module program. =. s it possible to pass data to and from include programs e.plicitly> @o. f it is re%uired to pass data to and from modules it is re%uired to use subroutines or function modules. K. 4hat are subroutines> "ubroutines are program modules, which can be called from other #*#P/9 programs or within the same program. E. 4hat are the types of "ubroutines> nternal "ubroutines- The source code of the internal subroutines will be in the same #*#P/9 program as the calling procedure (internal call). $.ternal "ubroutines- The source code of the e.ternal subroutines will be in an #*#P/9 program other than the calling procedure. 8. t is not possible to create an #*#P/9 program, which contains only "ubroutines (T/B). Balse. 7:. # subroutine can contain nested form and endform blocks. (T/B) Balse. 77. !ata can be passed between calling programs and the subroutines using Parameters. 75. 4hat are the different types of parameters> Bormal Parameters- Parameters, which are defined during the definition of subroutine with the BOR& statement.

#ctual Parameters- Parameters which are specified during the call of a subroutine with the P$RBOR& statement. 73. Cow can one distinguish between different kinds of parameters> nput parameters are used to pass data to subroutines. Output parameters are used to pass data from subroutines. 79. 4hat are the different methods of passing data> 0alling by reference- !uring a subroutine call, only the address of the actual parameter is transferred to the formal parameters. The formal parameter has no memory of its own, and we work with the field of the calling program within the subroutine. f we change the formal parameter, the field contents in the calling program also changes. 0alling by value- !uring a subroutine call, the formal parameters are created as copies of the actual parameters. The formal parameters have memory of their own. 0hanges to the formal parameters have no effect on the actual parameters. 0alling by value and result- !uring a subroutine call, the formal parameters are created as copies of the actual parameters. The formal parameters have their own memory space. 0hanges to the formal parameters are copied to the actual parameters at the end of the subroutine. 7J. The method by which internal tables are passed is *y Reference. 7=. Cow can an internal table with Ceader line and one without header line be distinguished when passed to a subroutine> tabLM is used in the form and endform if the internal table is passed with a header line. 7K. 4hat should be declared e.plicitly in the corresponding #*#P/9 "tatements to access internal tables without header lines N why> 4ork #rea. This is re%uired as the 4ork #rea is the interface for transferring data to and from the table. 7E. # subroutine can be terminated unconditionally using $G T. (T/B) True. 78. # subroutine can be terminated upon a condition using 0C$0A "tatement. 5:. Bunction &odules are also e.ternal "ubroutines. (T/B). True. 57. 4hat is the difference between the function module and a normal #*#P/9 subroutine> n contrast to normal subroutines function modules have uni%uely defined interface. !eclaring data as common parts is not possible for function modules. Bunction modules are stored in a central library. 55. 4hat is a function group> # function group is a collection of logically related modules that share global data with each other. #ll the modules in the group are included in the same main program. 4hen an #*#P/9 program contains a 0#,, B+@0T O@ statement, the system loads the entire function group in with the program code at runtime. $very function module belongs to a function group. 53. 4hat is the disadvantage of a call by reference> !uring a call by reference damage or loss of data is not restricted to the subroutine, but will instantly lead to changes to the original data ob3ects.

59. # function module can be called from a transaction screen outside an #*#P/9 program. (T/B). True. 5J. 4hat is an update task> t is an "#P provided procedure for updating a database. 5=. 4hat happens if a function module runs in an update task> The system performs the module processing asynchronously. nstead of carrying out the call immediately, the system waits until the ne.t database update is triggered with the O0O&& T 4ORA< command. 5K. The function modules are created and stored in the Bunction ,ibrary. 5E. 4hen a function module is activated synta. checking is performed automatically. (?/@) True. 58. 4hat is the use of the R# " @/ e.ception> The raising e.ception determines whether the calling program will handle the e.ception itself or leave the e.ception to the system. 3:. 4hat is the difference between internal tables and e.tract datasets> The lines of an internal table always have the same structure. *y using e.tract datasets, you can handle groups of data with different structure and get statistical figures from the grouped data. ?ou have to define the structure of the internal table at the beginning. ?ou need not define the structure of the e.tract dataset. n contrast to internal tables, the system partly compresses e.act datasets when storing them. This reduces the storage space re%uired. nternal tables re%uire special work area for interface whereas e.tract datasets do not need a special work area for interface. 37. t is possible to assign a local data ob3ect defined in a subroutine or function module to a field group. (T/B). Balse. 35. 4hat is the difference between field1group header and other field groups> The header field group is a special field group for the sort criteria. The system automatically prefi.es any other field groups with the header field group. 33. 0an a filed occur in several field groups. ?es. *ut it leads to unnecessary data redundancy. 39. 4hen sorting the e.tract dataset the fields used as default sort key lie in the Ceader field group. 3J. 4hat does the insert statement in e.tract datasets do> t defines the fields of a field group. 3=. 4hat does the e.tract statement do in e.tract datasets> The data is written to virtual memory by e.tract commands. 3K. # field1groups statement or an insert statement reverses storage space and transfers values. (T/B). Balse. 3E. 4hile using e.tract datasets it is re%uired to have a special workarea for interface (T/B) Balse. 38. The ,OOP1$@!,OOP on e.tract datasets can be used without any kind of errors (T/B) Balse. t causes runtime errors. 9:. The &a.imum no of key fields that can be used in a header is J:. 97. 4hile sorting field groups we cannot use more than one key field (T/B). Balse.

95. 4hile sorting, if the main storage available is not enough, the system writes data to an e.ternal help file. The "#P profile parameter, which determines this help file, is ! RP"ORTT&P. 93. The e.tract statements in field groups can be used before or after processing the sort statements. (T/B) B#,"$. )><ICA) 5ATA;ASE 7. Preparation of the data records by the ,.!.* and reading of the data records in the actual report are accomplished with the command pair Put and /et. 5. The three main elements of ,!* are "tructure, "elections, and !atabase Program. 3. n ,!* what determines hierarchy of the tables> "tructure. 9. n general what are the two ways in which one can retrieve data from tables> +sing "elect statements, !atabase Program. J. 4ith ,!* one can modify the pre1generated selection screen to their needs (T/B). ?es. =. ,ogical databases are programs that read data from !atabase tables (!ictionary "tructures). K. The event /etQtable nameR ,#T$ process all tables that are hierarchically superior to the Qtable nameR. (True/Balse) Balse. t processes all tables that are hierarchically inferior to the Qtable nameR. E. The !atabase Program of ,!* is a collection of "+*RO+T @$", which selects data and passes it to the report. 8. The layout of the !atabase program is determined by both "tructure and "elections. 7:. The order in which data is made available to the report depends on "tructure of the ,!*. 77. #part from the structure and selections of the ,!* the /$T statements in the report determines the behavior of the database at runtime. 75. @ode at the highest level in the structure is known as Root. 73. There can be more than one node at the highest level in the structure. (T/B) Balse. One can define only one node at the highest level in the structure on ,!*. 79. #ll nodes in the structure of ,!* need not be defined in the #*#P/9 !ictionary (T/B). Balse. One has to define all nodes in the !ictionary or one has to select all nodes that are defined in the !ictionary. 7J. t is not possible to use #*#P/9 !ictionary "tructures without an underlying database using ,!*. (T/B) True. One can use additionally related tables, along with the tables defined in the structure of ,!*. 7=. !ynamic selections allow the user to define further selections for database access in addition to the selection criteria already defined in the ,!* selections. 7K. 0heck statement can be used along with the event /$T in the report for checking the selections, which are not table1specific values. 7E. n sense of !atabase &anagement "ystem (!*&") ,O/ 0#, !#T#*#"$ is a database "tructure. (T/B). Balse. 78. t is not necessary to maintain the Parent10hild relationship between the tables in ,ogical !atabase "tructure. (T/B) Balse. One has to maintain the Parent10hild relationship. 5:. s it possible to e.tract data from tables without using the event O/$T< in the report with an appropriate ,!*. (T/B). Balse. One can e.tract data from tables using "elect statements in a report, though the report is having a ,!* attribute. 57. 4hat sorts of tables one can se in designing the hierarchy of a ,!*> Tables, which are having Boreign Aey relations.

55. # report program, which uses only "$,$0T statements, is called "D, Report. 53. One cannot use "$,$0T statements in a report program linked to a ,ogical !atabase (T/B). Balse. 59. s it true that the ,ogical !atabase reads the data from the database tables using "elect "tatements (T/B). ?es. 4e are coding that in !atabase part of ,!*. 5J. n a report with an ,!* attribute, you do not have to define how the information should be retrieved from the database tables, but only how the data should be represented on the screen. (T/B). True. 5=. One can use the event /$T in a report without ,!* attribute. (T/B). Balse. 5K. The last character of the ,!* name denotes #pplication. 5E. The structure of ,ogical !atabases reflects the Boreign Aey dependencies of hierarchical tables in the "#P system. 58. t is mandatory that for each table in the ,!* hierarchy there should e.ist one /$T statement in the report. (T/B). Balse. t is not necessary. 3:. 4hat happens if a report does not contain a /$T statement for a particular node of a ,ogical !atabase. Process will transfer to the ne.t event. 37. n a ,ogical !atabase, one can define input fields on the selection screen with "elect1 Options and Parameters statements. 35. "uppose a logical database program contains the following lines"$,$0T1OPT O@" 0O@@ ! BOR "PB, 10O@@ !. P#R#&$T$R" 0#RR ! , A$ "B, /CT10#RR ! BOR T#*,$ "B, /CT. 4hat will be the output, for the above two statements> Only select1options connid for spfli1carrid will be displayed on the screen. 33. 0onsider a report with B7" attribute, what will be the output for the following code. 4hether you will get the data from spfli and sflight or not, with corresponding tables statement, /$T "PB, . /$T "B, /CT. 4rite-/ spfli1carrid, spfli1connid, sflight1fldate, sbook1bookid. ?es, you will get the data from spfli and sflight. 39. 0onsider a report with B7" attribute, what will be the output of the following code. 4hether you will get the data from sbook or not, with corresponding tables statement. /$T "PB, . /$T "B, /CT. 4rite-/ spfli1carrid, spfli1connid, sflight1fldate, sbook1bookid. ?ou cannot e.tract data from sbook. 3J. dentify any errors in the following code and correct the same, and what will be the output. f there e.ists corresponding tables statement, for spfli, sflight, sbook. /$T "PB, . /$T "*OOA. 4rite-/ spfli1carrid, spfli1connid, sflight1fldate, sbook1bookid, sbook1class. @o synta. errors. ?ou will get data from all the three tables. 3=. !oes the following two statements do the same task> f so which one takes less time and which one is recommended. "elect S from spfli where spfli1carrid T O,C< and spfli1connid T O9::<. $ndselect.

"elect S from spfli. 0heck- spfli1carrid T O,C< and spflid1connid T O9::<. $ndselect. 1?es they will do the same task. "econd "elect statement takes less time and is recommended. 3K. f you want to improve the response time (time to access data) ,ogical !atabases permits you to achieve this using 6 $4". 3E. s there any upper limit (ma.) to the possible number of nodes in a logical database structure> f so what is the limit> ?es, there is an upper limit for defining number of nodes in a ,ogical !atabase "tructure. &a.imum nodes T 75:: / length where length T ma.. ,ength of name in the structure. 38. n the structure of ,ogical !atabase nodes at different levels are displayed in the same columns. (T/B) f false what types of nodes are displayed in the same columns. f true what type of nodes are not displayed in the same columns. Balse. @odes at same levels are displayed in the same columns. 9:. 4hat are the advantages of ,ogical !atabases> t offers an easy1to1use selection screens. ?ou can modify the pre1generated selection screen to your needs. t offers check functions to check whether user input is complete, correct, and plausible. t offers reasonable data selections. t contains central authori'ation checks for data base accesses. $nhancements such as improved performance immediately apply to all report programs that use the logical database. 97. Though all the #*#P/9 !ictionary "tructures that e.ists in the structure of the ,!*, being defined in !atabase Program, we are defining the !ictionary "tructures in the Report. 4hat is the reason for such declaration> *y declaring so we are providing work areas for data passing between ,ogical !atabase and Report. n addition, the logical database configures the selection screen depending on the selection of database tables. 95. s it mandatory to declare all the tables in Report by the key word tables for all the tables that e.ist in the structure of ,!*, and are being defined in the !atabase part of ,!*. @o, t is not mandatory to declare all tables in report. 93. f one wants to access data using ,ogical !atabase, the use of events is unavoidable. (T/B). True.

REP>RT <E1ERATI>1 F 9>RCATTI1< 7. The alignment of a type Oc< field in a report is left #ligned. 5. n the statement 4rite-/7J(7:) Ofal1lifnr. what do the number 7J and 7: stand for 7J stand for the offset on the screen and 7: stands for the field length displayed. 3. "pecify the default alignment for the following field typesO!< ; ,eft, OB<1Right, O@<1,eft, O <1Right, OT<1,eft. 9. f sPtime has the value O7539J=< how would you get an output of 75-39-J= with a single O4rite-< statement. 4rite-sPtime using edit mask<11-11-11O. J. n order to suppress the leading 'eroes of a number field the keywords used are @O1 U$RO. =. The total no of date formats that can be used to display a date during output is &&/!!/??, !!/&&/??, !!/&&/????, &&/!!/????, &&!!??, !!&&??, ??&&!!. K. The +@!$R 0ommand allows for vertical alignment of fields one below the other. E. n order to concatenate strings only for output purposes the command @O1/#P can be used in con3unction with the O4rite< statement. 8. The no of decimal places for output can be defines within a write statement. (T/B). TR+$. 4rite-/QBR decimals 5. 7:. !ata can be moved from one field to another using a O4rite-< "tatement and stored in the desired format. (T/B). TR+$. 4rite- !ateP7 to !ateP5 format !!/&&/??. 77. n the statement 4rite-/7J(7:) lfa71lifnr. The values 7J and 77 can also be defined by variables (T/B). Balse. 75. !ifferentiate between the following two statements if any. +, @$. 4rite- sy1uline. @o1difference. $.cept that uline is used outside the O4rite< "tatement. 73. n order to skip a single line the number of lines need not be given as an assignment (T/B) TR+$. 79. The V"A P TO , @$ line numberW is dependent on the , @$10O+@T statement included in the report statement of the program. 7J. n order to skip columns the command used is PO" T O@ QnR. 7=. n order to have boldfaced te.t as output the command used is 4rite-QfR @T$@" B $!. 7K. *ackground and foreground colors can be interchanged using the command Bormat nverse. 7E. n order to restore the system defaults for all changes made with the format statement is Bormat Reset. 78. ,ike +, @$ the statement 6, @$ is used to insert vertical lines. (T/B). Balse. 5:. "uppressing the number signs (X/1) is carried out using the addition @O1" /@" to the 4rite statement. (T/B). Balse. 57. f "?1+U$ T has the value =-39-9J it can be displayed as :=399J using @o $dit &ask. 55. f the variable VTe.tW has the value O#*0!$B< the output for the statement V4rite-/Te.tX5(3)W will be V0!$W 53. The fields specified by select1options and parameters statement cannot be grouped together in the selection screen. (T/B). Balse.

59. 4hen calling an e.ternal report the parameters or select1options specified in the e.ternal report cannot be called. (T/B) B#,"$. 5J. "election Te.ts in the te.t elements of the program helps in changing the displayed names of variables in the parameters statement. 5=. Type B datatype cannot be used to define parameters. 5K. Rounding off of values can be carried out using the write statement. (T/B). TR+$ 5E. Cow would you define the e.ponents for a type Of< field> $.ponent QeR. 58. Cow would you format the output as left, centered or right13ustified using the write statement. ,eft13ustified, 0entered, Right13ustified. 3:. f the same formatting options were used for a 4R T$ statement that follows the BOR&#T statement, which settings would take precedence. The settings in the 4rite "tatement. 37. Bor each new event, the system resets all formatting options to their default values (T/B) TR+$. 35. #ll formatting options have the default value OBB. (T/B). TR+$. 33. Cow would you set the formatting options statically and dynamically within a report> "tatically- BOR&#T Qoption7RLO@YOBBMI. !ynamically- BOR&#T Qoption7R T Qvar7RQoption5RTQvar5RI. 39. The page footer is defined using the statement $@!1OB1P#/$. 3J. The processing block following $@!1OB1P#/$ is processed only if you reserve lines for the footer in the , @$10O+@T option of the R$PORT statement. (T/B) TR+$. 3=. To e.ecute a page break under the condition that less than a certain number of lines is left on a page is achieved by R$"$R6$ n lines. 3K. The R$"$R6$ statement only takes effect if output is written to the subse%uent page. @o blank pages are created and it defines a block of lines that must be output as a whole. (T/B). TR+$. 3E. To set the ne.t output line to the first line of a block of lines defined with the R$"$R6$ statement the statement *#0A is used. 38. 4hat is the limit for the length of a page if the page length is not specified in the report statement. =:,::: lines. 9:. Cow would you start the printing process from within the program while creating a list> @$41P#/$ PR @T O@. 97. ?ou can change the width of pages within list levels triggered by page breaks. (T/B). B#,"$. 95. Cotspots are special areas of an output list used to trigger events. (T/B) TR+$. 93. To designate fields as hotspots at runtime, use BOR&#T COT"POT T QhR. 99. Cori'ontal lines created with +, @$ and blank lines created with "A P can be formatted as hotspots. (T/B). B#,"$. 9J. Cow would you suppress the display of a parameter on the selection screen> Parameters QpR III..@o1!isplay. 9=. 0an you assign a matchcode ob3ect to a parameter> f so how> ?es. P#R#&$T$R" QpRII..&#T0C0O!$ O*2$0T Qob3RII.. 9K. Bor each "$,$0T1OPT O@" statement, the system creates a selection table. (T/B) TR+$. 9E. To position a set of parameters or comments on a single line on the selection screen, you must declare the elements in a block enclosed by "$,$0T O@1"0R$$@ *$/ @ OB , @$. II.. "$,$0T O@1"0R$$@ $@! OB , @$. 98. Cow can "ymbols or R/3 icons be output on the screen> 4R T$ Qsymbol1nameR#" "?&*O,.

4R T$ Qicon1nameR #" 0O@. J:. n the standard setting, you cannot create empty lines with the 4R T$ statement alone. (T/B). TR+$.

REP>RTI1< F <E1ERA) 7. The system field, which indicates success or failure of a "D, operation, is "?1"+*R0. 5. 4hat is the synta. for specifying database table name at runtime in "$,$0T statement. @#&$ T O"PB,7<. "$,$0T S BRO& (@#&$). IIIIII. IIIIII. $@!"$,$0T. 3. Cow do you read selected lines of database table into an internal table in packages of predefined si'e. "$,$0T S BRO& Q"PB, R @TO T#*,$ Q T#*RP#0A#/$ " U$Q@R. 4here n is variable. 9. @ame the 4 ,!0#R! characters which are used for comparisons with character strings N numeric strings. OZ< and O1O. J. n "$,$0T statements can you specify a variable in 4C$R$ condition or a part of the condition, if so what is the synta.. "$,$0T S BRO& QtableR4C$R$ Qvar7RQconditionRQvar or constR. =. @ame the #*#P/9 key words, which are used to change the contents of database table. +P!#T$ or &O! B?. K. Cow to specify a client for database table processing. T#*,$" "PB, . "$,$0T S BRO& "PB, 0, $@T "P$0 B $! 4C$R$ &#@!T *$T4$$@ O::7< #@! O::3<. II.. $@!"$,$0T. E. Cow do you write a !#T# ob3ect from #*#P/9 program to #*#P/9 memory and restore the same from memory to program. $GPORT Qf7RLBRO& Qg7RMQf5RLBRO& Qg5RMI. TO &$&OR? ! QkeyR. The ! QkeyR, which can be up to 35 characters long, identifies the data in memory. 8. 4hat are !#T# 0,+"T$R"> ?ou can group any comple. internal data ob3ects of an #*#P/9 program together in data clusters and store them temporarily in #*#P/9 memory or for longer periods in databases. ?ou can store data clusters in special databases of the #*#P/9 !ictionary. These databases are known as #*#P/9 cluster databases and have a predefined structure. "toring a data cluster is specific to #*#P/9. #lthough you can also access cluster databases using "D, statements, only #*#P/9 statements are able to decode the structure of the stored data cluster. 7:. "tatements used to delete data ob3ects in #*#P/9 memory BR$$ &$&OR? L ! QkeyRM. 77. Cow will you create a file on application server. Open dataset QdsnR for output. 75. #*#P/9 statement for opening a file on application server for reading Open dataset QdsnR for input. 73. Cow will you transfer data into a file in application server> !ata fname(=:) value Om?B ,$<. !ata num type i. Open dataset fname for output. !o 7: times. @um T @um X7. Transfer num to fname.

$nddo. II.etc. 79. @ame the function modules to write data from an nternal Table to the Presentation "erver. !O4@,O#! and 4"P!O4@,O#!. 7J. @ame the function module that can be used to give information about files on Presentation "erver and about its Operating "ystem. 4"PD+$R?. 7=. @ame the #*#P/9 key word, which is used to clear the Ceaderline of an nternal Table. 0,$#RQitabR. 7K. @ame the function modules to read data from Presentation "erver into an nternal Table. +P,O#! and 4"P+P,O#!. 7E. @ame the #*#P/9 keywords to initiali'e an nternal Table with and without headerline. R$BR$"C QitabR. 78. Cow to determine the attributes of an internal table> !$"0R *$ T#*,$ QitabRL, @$" QlinRM LO00+R" QoccRM. 5:. @ame the #*#P/9 key word for searching a string in an nternal Table. "$#R0C QitabR BOR QstrRQoptionsR. The different options (QoptionsR) for the search in an internal table are#**R$6 #T$! "earches tableQitabRfor a word containing the character string specified in QstrR, where other characters might separate the characters. The first letter of the word and the string QstrR must be the same. "T#RT @/ #TQlin7R "earches tableQitabR for QstrR, starting at line Qline7R. Q[lin7R can be a variable. $@! @/ #TQn5R "earches table QitabRfor QstrRupto lineQlin5R. Qlin5Rcan be a variable. #@! &#RA f the search string is found, all the characters in the search string (and all the characters in between when using #**R$6 #T$!) are converted to upper case. 57. 4hat are the different attributes that can be assigned to a variant> The different attributes that can be assigned to a variant areI. !escription $nter a short, meaningful description of the variant. This may be upto 3: characters long. *ackground only "pecify whether you want to use the variant in background processing only, or in online environment as well. Protected variant. &ark the field if you want to protect your variant against being changed by other users. !o not display variant. &ark this field if you want the variant name to be displayed in the catalog only, but not in the B9 value list. Bor the selections you cover in a variant, you can enter the following attributesType The system displays whether the field is a parameter or a select option. Protected &ark this field for each field on the selection screen you want to protect from being overwritten. 6alues that you mark this way are displayed to the users, but they cannot change them, that are they are not ready to accept input. nvisible f you mark this column, the system will not display the corresponding field on the selection screen the user sees when starting the report program. 6ariable

&ark this column if you want to set the value for this field at runtime. 55. s it possible to create new dynamic programs during runtime of an #*#P/9 program> f so how> To create new dynamic programs during the runtime of an #*#P/9 program, you must use an internal table. Bor this purpose, you should create this internal table with one character type column and a line width of K5. ?ou can use any method you like from Billing nternal Tables to write the code of your new program into the internal table. $specially, you can use internal fields in which contents are dependent on the flow of the program that you use to create a new one, to influence the coding of the new program dynamically. The following e.ample shows how to proceed in principal!#T# 0O!$ (K5) O00+R" 7:. #PP$@! OR$PORT U!?@7.< TO 0O!$. #PP$@! O4R T$/WCello, am dynamically created\W.< TO 0O!$. Two lines of a very simple program are written into the internal table 0O!$. n the ne.t step you have to put the new module, in the above e.ample it is a report, into the library. Bor this purpose you can use the following statement"ynta. @"$RT R$PORT QprogRBRO& QitabR. The program QprogR is inserted in your present development class in the R/3 Repository. f a program with this name does not already e.ists, it is newly created with the following attributesTitle- none, Type- 7 (Reporting), #pplication- " (*asis). ?ou can specify the name of the program QprogR e.plicitly within single %uotation marks or you can write the name of a character field, which contains the program name. The name of the program must not necessarily be the same as given in the coding, but it is recommended to do so. QitabR is the internal table containing the source code. Bor the above e.ample you could write@"$RT R$PORT OU!?@7< BRO& 0O!$. Or !#T# R$P (E). R$P T OU!?@7< @"$RT R$PORT R$P BRO& 0O!$. 53. !ata types can be elementary or structured (T/B). TR+$. 59. The amount of memory associated with a data type is U$RO. 5J. !ata ob3ects are the physical units a program uses at runtime. (T/B). TR+$. 5=. The data ob3ect does not occupy any space in memory. (T/B) B#,"$. 5K. 4hat are the three hierarchical levels of data types and ob3ects> Program1independent data, defined in the #*#P/9 !ictionary. nternal data used globally in one program. !ata used locally in a procedure (subroutine, function module) 5E. Cow would you find the attributes of a data type or data ob3ect> !$"0R *$ B $,! QfR L,$@/TC Ql.M LT?P$ QtR L0O&PO@$@T" QnRMM

LO+TP+T1,$@/TC QoRM L!$0 &#," QdRM L$! T &#"A QmRM. 58. The components of a field string cannot have different data types. (T/B). B#,"$. 3:. Bield strings are also called as Record or "tructures. 37. f a field string is aligned (,eft, centered, right 3ustified etc.), the filler fields are also added to the length of the type 0 field. (T/B). TR+$. 35. ?ou cannot assign a local data ob3ect defined in a subroutine or function module to a field group. (T/B) TR+$. 33. # field group reserves storage space for the fields, and does not contain pointers to e.isting fields (T/B). Balse. 39. !efining a field group as OC$#!$R< is optional (T/B) B#,"$. 3J. Cow would you define a field symbol> B $,!1"?&*O,"QB"R. 3=. 4hich function module would you use to check the user<s authori'ation to access files before opening a file> #+TCOR T?P0C$0AP!#T#"$T 3K. @ame the function module used to convert logical file names to physical file names in #*#P/9 programs. B ,$P/$TP@#&$. 3E. Parameters, which are defined during the definition of a subroutine with the BOR& statement, are called Bormal Parameters. 38. Parameters which are specified during the call of a subroutine with the P$RBOR& statement are called #ctual Parameters. 9:. n subroutines internal tables that are passed by T#*,$", are always called by value and result. (T/B) B#,"$. They are called by reference.

I1TERACTIBE REP>RTI1< 7. 4hat is interactive reporting> t helps you to create easy1to1read lists. ?ou can display an overview list first that contains general information and provide the user with the possibility of choosing detailed information that you display on further lists. 5. 4hat are the uses of interactive reporting> The user can actively control data retrieval and display during the session. nstead of an e.tensive and detailed list, you create a basic list with condensed information from which the user can switch to detailed displays by positioning the cursor and entering commands. The detailed information appears in secondary lists. 3. 4hat are the event key words in interactive reporting> $vent Aeyword $vent #T , @$1"$,$0T O@ &oment at which the user selects a line by double clicking on it or by positioning the cursor on it and pressing B5. #T +"$R10O&&#@! &oment at which the user presses a function key. TOP1OB1P#/$ !+R @/ &oment during list processing of a , @$1"$,$0T O@ secondary list at which a new page starts. 9. 4hat is secondary list> t allows you to enhance the information presented in the basic list. The user can, for e.ample, select a line of the basic list for which he wants to see more detailed information. ?ou display these details on a secondary list. "econdary lists may either overlay the basic list completely or you can display them in an e.tra window on the screen. The secondary lists can themselves be interactive again. J. Cow to select valid lines for secondary list> To prevent the user from selecting invalid lines, #*#P/9 offers several possibilities. #t the end of the processing block $@!1OB1"$,$0T O@, delete the contents of one or more fields you previously stored for valid lines using the C !$ statement. #t the event #T , @$1 "$,$0T O@, check whether the work area is initial or whether the C !$ statement stored field contents there. #fter processing the secondary list, clear the work area again. This prevents the user from trying to create further secondary lists from the secondary list displayed. =. Cow to create user interfaces for lists> The R/3 system automatically, generates a graphical user interface (/+ ) for your lists that offers the basic functions for list processing, such as saving or printing the list. f you want to include additional functionality, such as pushbuttons, you must define your own interface status. To create a new status, the !evelopment 4orkbench offers the &enu Painter. 4ith the &enu Painter, you can create menus and application toolbars. #nd you can assign Bunction Aeys to certain functions. #t the beginning of the statement block of #T $@!1OB1 "$,$0T O@, active the status of the basic list using the statement- "$T PB1"T#T+" O"T#T+"<. K. 4hat is interactive reporting> # classical non1interactive report consists of one program that creates a single list. nstead of one e.tensive and detailed list, with interactive reporting you create basic list from which the

user can call detailed information by positioning the cursor and entering commands. nteractive reporting thus reduces information retrieval to the data actually re%uired. E. 0an we call reports and transactions from interactive reporting lists> ?es. t also allows you to call transactions or other reports from lists. These programs then use values displayed in the list as input values. The user can, for e.ample, call a transaction from within a list of change the database table whose data is displayed in the list. 8. 4hat are system fields for secondary lists> "?1," @! nde. of the list created during the current event (basic list T :) "?1, "T7 nde. of the list level from which the event was triggered. "?1, ,,7 #bsolute number of the line from which the event was triggered. "?1, "$, 0ontents of the line from which the event was triggered. "?10+RO4 Position of the line in the window from which the event was triggered (counting starts with 7) "?10+0O, Position of the column in the window from which the event was triggered (counting starts with 5). "?10P#/$ Page number of the first displayed page of the list from which the event was triggered. "?1"T#RO @umber of the first line of the first page displayed of the list from which the event was triggered (counting starts with 7). Possibly, a page header occupies this line. "?1"T#0O @umber of the first column displayed in the list from which the event was triggered (counting starts with 7). "?1+0O&& Bunction code that triggered the event. "?1PBA$? "tatus of the displayed list. 7:. Cow to maintain lists> To return from a high list level to the ne.t1lower level ("?1," @!), the user chooses *ack on a secondary list. The system then releases the currently displayed list and activates the list created one step earlier. The system deletes the contents of the released list. To e.plicitly specify the list level, into which you want to place output, set the "?1lsind field. The system accepts only inde. values, which correspond to e.isting list levels. t then deletes all e.isting list levels whose inde. is greater or e%ual to the inde. specify. Bor e.ample, if you set "?1 ," @! to :, the system deletes all secondary lists and overwrites the basic list with the current secondary list. 77. 4hat are the page headers for secondary lists> On secondary lists, the system does not display a standard page header and it does not trigger the event. TOP1OB1P#/$. To create page headers for secondary list, you must enhance TOP1OB1P#/$- "ynta. TOP1OB1P#/$ !+R @/ , @$1"$,$0T O@. The system triggers this event for each secondary list. f you want to create different page headers for different list levels, you must program the processing block of this event accordingly, for e.ample by using system fields such as "?1," @! or "?1PBA$? in control statements ( B, 0#"$). 75. Cow to use messages in lists> #*#P/9 allows you to react to incorrect or doubtful user input by displaying messages that influence the program flow depending on how serious the error was. Candling messages is mainly a topic of dialog programming. ?ou store and maintain messages in Table T7::. &essages are sorted by language, by a two1character !, and by a three1digit number. ?ou can assign different message types to each message you output. The influence of a message on the program flow depends on the message type. n our program, use the &$""#/$ statement to output messages statically or dynamically and to determine the message type. "ynta.-R$PORT QrepR &$""#/$1 ! QidR. 73. 4hat are the types of messages> # message can have five different types. These message types have the following effects during list processing-

.# (T#bend).$ (T$rror) or 4 (T4arning). (T nformation)." (T"uccess)79. 4hat are the user interfaces of interactive lists> f you want the user to communicate with the system during list display, the list must be interactive. ?ou can define specific interactive possibilities in the status of the list<s user interface (/+ ). To define the statuses of interfaces in the R/3 system, use the &enu Painter tool. n the &enu Painter, assign function codes to certain interactive functions. #fter an user action occurs on the completed interface, the #*#P/9 processor checks the function code and, if valid, triggers the corresponding event. 7J. 4hat are the drill1down features provided by #*#P/9 in interactive lists> #*#P/9 provides some interactive events on lists such as #T , @$1"$,$0T O@ (double click) or #T +"$R10O&&#@! (pressing a button). ?ou can use these events to move through layers of information about individual items in a list. 7=. 4hat is meant by stacked list> # stacked list is nothing but secondary list and is displayed on a full1si'e screen unless you have specified its coordinates using the window command. 7K. s the basic list deleted when the new list is created> @o. t is not deleted and you can return back to it using one of the standard navigation functions like clicking on the back button or the cancel button. 7E. 4hat is meant by hotspots> # Cotspot is a list area where the mouse pointer appears as an upright hand symbol. 4hen a user points to that area (and the hand cursor is active), a single click does the same thing as a double1click. Cotspots are supported from R/3 release 3.:c. 78. 4hat is the length of function code at user1command> $ach menu function, push button, or function key has an associated function code of length BO+R (for e.ample, BR$$), which is available in the system field "?+0O&& after the user action. 5:. 0an we create a gui status in a program from the ob3ect browser> ?es. ?ou can create a /+ "T#T+" in a program using "$T PB1"T#T+". 57. n which system field does the name of current gui status is there> The name of the current /+ "T#T+" is available in the system field "?1PBA$?. 55. 0an we display a list in a pop1up screen other than full1si'e stacked list> ?es, we can display a list in a pop1up screen using the command 4 @!O4 with the additions starting at G7 ?7 and ending at G5 ?5 to set the upper1left and the lower1right corners where .7 y7 and .5 y5 are the coordinates. 53. 4hat is meant by hide area> The hide command temporarily stores the contents of the field at the current line in a system1 controlled memory called the C !$ #R$#. #t an interactive event, the contents of the field are restored from the C !$ #R$#. 59. 4hen the get cursor command used in interactive lists> f the hidden information is not sufficient to uni%uely identify the selected line, the command /$T 0+R"OR is used. The /$T 0+R"OR command returns the name of the field at the

cursor position in a field specified after the addition field, and the value of the selected field in a field specified after value. 5J. Cow can you display frames (hori'ontal and vertical lines) in lists> ?ou can display tabular lists with hori'ontal and vertical lines (BR#&$") using the +, @$ command and the system field "?16, @$. The corners arising at the intersection of hori'ontal and vertical lines are automatically drawn by the system. 5=. 4hat are the events used for page headers and footers> The events TOP1OB1P#/$ and $@!1OB1P#/$ are used for pager headers and footers. 5K. Cow can you access the function code from menu painter> Brom within the program, you can use the "?1+0O&& system field to access the function code. ?ou can define individual interfaces for your report and assign them in the report to any list level. f you do not specify self1defined interfaces in the report but use at least one of the three interactive event keywords. #T , @$1"$,$0T O@, #T PBQnnR, OR #T +"$R1 0O&&#@! in the program, the system automatically uses appropriate predefined standard interfaces. These standard interfaces provide the same functions as the standard list described under the standard list. 5E. Cow the at1user command serves mainly in lists> The #T +"$R10O&&#@! event serves mainly to handle own function codes. n this case, you should create an individual interface with the &enu Painter and define such function codes. 58. Cow to pass data from list to report> #*#P/9 provides three ways of passing data111Passing data automatically using system fields 111+sing statements in the program to fetch data 111Passing list attributes 3:. Cow can you manipulate the presentation and attributes of interactive lists> 111"crolling through nteractive ,ists. 111"etting the 0ursor from within the Program. 111&odifying ,ist ,ines. 37. Cow to call other programs> Report 0all and return "+*& T #@! R$T+R@ 0all without return "+*& T ?ou can use these statements in any #*#P/9 program. 35. 4hat will e.actly the hide statement do> Bor displaying the details on secondary lists re%uires that you have previously stored the contents of the selected line from within the program. To do this, #*#P/9 provides the C !$ statement. This statement stores the current field contents for the current list line. 4hen calling a secondary list from a list line for which the C !$ fields are stored, the system fills the stored values back into the variables in the program. n the program code, insert the C !$ statement directly after the 4R T$ statement for the current line. nteractive lists provide the user with the so1called O @T$R#0T 6$ R$PORT @/< facility. Bor background processing the only possible method of picking the relevant data is through O@O@ @T$R#0T 6$ R$PORT< . #fter starting a background 3ob, there is no way of influencing the program. *ut whereas for dialog sessions there are no such restrictions. 33. Cow many lists can a program can produce> Transaction 0#,, TR#@"#0T O@ ,$#6$ TO TR#@"#0T O@

$ach program can produce up to 57 lists- one basic list and 5: secondary lists. f the user creates a list on the ne.t level (that is, "?1," @! increases), the system stores the previous list and displays the new one. Only one list is active, and that is always the most recently created list.

TRA1SACTI>1S 7. 4hat is a transaction> 1 # transaction is dialog program that change data ob3ects in a consistant way. 5. 4hat are the re%uirements a dialog program must fulfill> # dialog program must fulfil the following re%uirements 1 a user friendly user interface. 1 Bormat and consistancey checks for the data entered by the user. 1 $asy correction of input errors. 1 #ccess to data by storing it in the data bases. 3.4hat are the basic components of dialog program> 1 "creens (!ynpros) 1 $ach dialog in an "#P system is controlled by dynpros.# dynpros consists of a screen #nd its flow logic and controls e.actly one dialog step. 1 #*#P/9 module Pool. $ach dynpro refers to e.actly one #*#P/9 dialog program ."uch a dialog program is also called a module pool ,since it consists of interactive modules. 9.4hat is P*O and P# events> P*O1 Process *efore Output1 t determines the flow logic before displaying the screen. P# 1Process #fter nput1 t determines the flowlogic after the display of the screen and after receiving inputs from the +ser. J. 4hat is dynpro>4hat are its components > 1 # dynpro (!ynamic Program) consists of a screen and its flow logic and controls e.actly one dialog steps. 1 The different components of the dynpro are Blow ,ogic- calls of the #*#P/9 modules for a screen . "creen layout-Positions of the te.t ,fields,pushbuttons and so on for a screen "creen #ttributes-@umber of the screen,number of the subse%uent screen,and others Bields attributes -!efinition of the attributes of the individual fields on a screen. =. 4hat is a #*#P/9 module pool> 1$ach dynpro refers to e.actly one #*#P/9 dialog program."uch a dialog program is also called a module pool ,since it consists on interactive modules. K..0an we use 4R T$ statements in screen fields>if not how is data transferred from field data to screen fields> 14e cannot write field data to the screen using the 4R T$ statement.The system instead transfers data by comparing screen fields names with #*#P/9 variable names. f both names are the same,it

transfers screen fields values to #*#P/9 programs fields and 6ice 6ersa.This happens immediately after displaying the screen. E.0an we use flow logic control key words in #*#P/9 and vice1versa> 1 The flow control of a dynpro consists os a few statements that syntactically ressemble #*#P/9 statements .Cowever ,4e cannot use flow control keywords in #*#P/9 and vice1versa. 8.4hat is /+ status> Cow to create /$dit /+ status> 1# /+ status is a subset of the interface elements used for a certain screen.The status comprises those elements that are currently needed by the transaction .The /+ status for a transaction may be composed of the following elements1Title bar. 1&neu bar. 1#pplication tool bar 1Push buttons. To create and edit /+ status and /+ title,we use the &enu Painter. 7:. Cow does the interection between the !ynpro and the #*#P/9 &odules takes place> 1# transaction is a collection os screens and #*#P/9 routines ,controlled and e.ecuted by a !ialog processor.The !ilaog processor processes screen after the screen ,thereby triggering the appropriate #*#P/9 processing of each screen .Bor each screen,the system e.ecutes the flow logic that contains the corresponding #*#P/9 processing.The controls passes from screen flow logic to #*#P/9 code and back. 77. Cow does the !ialog handle user re%uests> 1 when an action is performed ,the system triggers the PRO0$"" #BT$R @P+T event.The data passed includes field screen data data entered by the user and a function code. # functioncode is a technical name that has been allocated in a screen Painter or &enu Painter to a meny entry,a push button,the $@T$R key or a function Aey of a screen.#n internal work field(ok1code)in the P# module evaluates the function code,and the appropriate action is taken. 75. 4hat is to be defined for a push button fields in the screen attributes> 1 # function code has to be defined in the screen attributes for the push buttons in a screen. 73. Cow are the function code handles in Blow ,ogic> 1 4hen the +ser selects a function in a transaction ,the system copies the function code into a specially designated work field called OAP0O!$.This field is /lobal in #*#P/9 &odule Pool.The OAP0O!$ can then be evaluated in the corresponding P# module. The function code is always passed in $.actly the same way , regardless of 4hether it comes from a screen<s pushbutton,a menu option ,function key or other /+ element. 79.4hat controls the screen flow> 1 The "$T "0R$$@ and ,$#6$ "0R$$@ statements controls screen flow.

79. The Bunction code currently active is ascertained by what 6ariable>

The function code currently active in a Program can be ascertained from the "?1 +0O&& 6ariable.

7J. The function code currently active is ascertained by what variable > 1 *y "?1+0O&& 6ariable. 7=. 4hat are the VfieldW and VchainW "tatements> 1 The B $,! and 0C# @ flow logic statements let you Program ?our own checks.B $,! and 0C# @ tell the system 4hich fields you are checking and 4hether the "ystem should Perform 0hecks in the flow logic or call an #*#P/9 &odule. 7K. 4hat is an Von input filedW statements> 1 O@ @P+T The #*#P/9 module is called only if a field contains the 6alue other than the initial 6alue.This initial 6alue is determined by the filed<s !ta Type- blanks for character Bields ,Ueroes for numerics. f the user changes the Bields 6alue back t o its initial value,O@ @P+T does not trigger a call. 7E. 4hat is an Von re%uest BieldW statement> 1 O@ R$D+$"T The #*#P/9 &odule is called only if the user has entered the value in the field value since the last screen display .The 6alue counts as changed $ven if the +ser simply types in the value that was already there . n general ,the O@ R$D+$"T condition is triggered through any Borm ofW &#@+#, @P+T<. 78. 4hat is an onWS1input filedW statement> O@ S1 @P+T 1 The #*#P/9 module is called if the user has entered the VSW in the first character of the field, and the field has the attribute S1entry in the screen Painter.?ou can use this option in $.ceptionla cases where you want to check only fields with certain Ainds of nput. 5:. 4hat are conditional chain statement> O@ 0C# @1 @P+T similar to O@ @P+T. The #*#P/9 module is called if any one of the fields in the chain contains a value other than its initial value(blank or nulls). O@ 0C# @1R$D+$"T This condition functions 3ust like O@ R$D+$"T, but the #*#P/9 module is called if any one of the fields in the chain changes value. 57. 4hat is Vat e.it1command-> The flowlogic Aeyword at $G T10O&&#@! is a special addition to the &O!+,$ statement in the Blow ,ogic .#T $G T10O&&#@! lets you call a module before the system e.ecutes the automatic fields checks. 55. 4hich Bunction type has to be used for using Vat e.it1commandW > 1 To +se #T $G T ; 0O&&#@! ,4e must assign a function Type V$W to the relevant function in the &$@+ Painter OR "creen Painter . 53. 4hat are the different message types available in the #*#P/9 >

1 1 1 1 1 1

There are J types of message types available. $- $RROR 414#R@ @/ ; @BOR&#T O@ #1#*@OR&#, T$R& @#T O@. "1"+00$""

59. Of the two V ne.t screen V attributes the attributes that has more priority is 1111111111111111111. !ynamic. 5J. @avigation to a subse%uent screen can be specified statically/dynamically . (TR+$/B#,"$). TR+$. 5=. !ynamic screen se%uence for a screen can be set using 1111111111111 and 11111111111111111 commands "et "creen, 0all screen. 5K. The commands through 4hich an #*#P/9 &odule can Vbranch to V or VcallW the ne.t screen are 7.111111111111,511111111111111,3111111111111111,9111111111111. 1 "et screenQscr noR,0all screenQscr noR ,,eave screen, ,eave to screen Qscr noR.

5E. 4hat is difference between "$T "0R$$@ and 0#,, "0R$$@ > 1 4ith "$T "0R$$@ the current screen simply specifies the ne.t screen in the chain , control branches to this ne.t screen as sonn as th e current screen has been processed .Return from ne.t screen to current screen is not automatic . t does not interrupt processing of the current screen. f we want to branch to the ne.t screen without finishing the current one ,use ,$#6$ "0R$$@. 4ith 0#,, "0R$$@ , the current (calling) chain is suspended , and a ne.t screen (screen chain) is called .The called can then return to the suspended chain with the statement ,$#6$ "0R$$@ TO "0R$$@ : ."ometime we might want to let an user call a pop up screen from the main application screen to let him enter secondary information.#fter they have completed their enteries, the users should be able to close the popup and return directly to the place where they left off in the main screen.Cere comes 0#,, "0R$$@ into picture .This statement lets us insert such a se%uence intp the current one.

58. 0an we specify the ne.t screen number with a variable (S?es/@o)> 1 ?es

3:. The field "?1!?@R refers to11111111111111 @umber of the current screen. 37. 4hat is dialog &odule>

# dialog &odule is a callable se%uence of screens that does not belong to a particular transaction.!ialog modules have their module pools , and can be called by any transaction.

35. The "ynte. used to call a screen as dialog bo. (pop up)is111111111 0#,, "0R$$@ Qscreen number.R "T#RT @/ #T Qstart columnRQstart lineR $@! @/ #T Qend columnR Qend lineR 33. 4hat is Vcall modeW> 1 n the #*#P/9 4OR,! each stackable se%uence of screens is a Vcall modeW, This is &P because of the way u return from the given se%uence .To terminate a call mode and return to a suspended chain set the Vne.t screenW to : and leave to it,$#6$ TO "0R$$@ : or ("$T "0R$$@ : and ,$#6$ "0R$$@) .4hen u return to the suspended chain e.ecution resumes with the statement directly following the original 0#,, "0R$$@ statement.The original se%uence of screens in a transaction (that is , without having stacked any additional call modes),you returned from the transaction altogether. 39. The ma. number of calling modes stacked at one time is> 1 @ @$ 3J. 4hat is ,+4 or !ata base Transaction > 1 # V,+4W(logical unit of work) is the span of time during which any database updates must be performed in an Vall or nothingW manner .$ither they are all performed (committed),or they are all thrown away (rolled back). n the #*#P/9 world , ,+4s and Transactions can have several meanings-

,+4 (or Vdatabase ,+4W or Vdatabase transactionW) This is the set of updates terminated by a database commit. # ,+4 lasts ,at most , from one screen change to the ne.t (because the "#P system triggers database commits automatically at every screen change). 3=. 4hat is "#P ,+4 or +pdate Transaction> +pdate transaction (or V"#P ,+4W) This is a set of updates terminated by an #*#P/9 commit. # "#P ,+4 may last much longer than a database ,+4, since most update processing e.tends over multiple transaction screens. The programmer terminates an update transaction by issuing a 0O&& T 4ORA statement. 3K. 4hat happens if only one of the commands "$T "0R$$@ and ,$#6$ "0R$$@ is used without using the other> f we use "$T "0R$$@ without ,$#6$ "0R$$@, the program finishes processing for the current screen before branching to Qscr noR. f we use ,$#6$ "0R$$@ without a "$T "0R$$@ before it, the current screen process will be terminated and branch directly to the screen specified as the default ne.t1screen in the screen attributes. 3E. 4hat is the significance of the screen number O:<>

n Vcalling modeW, the special screen number : (,$#6$ TO "0R$$@ :) causes the system to 3ump back to the previous call level. That is, if you have called a screen se%uence with 0#,, "0R$$@ leaving to screen : terminates the se%uence and returns to the calling screen. f you have not called a screen se%uence, ,$#6$ TO "0R$$@ : terminates the transaction. 38. 4hat does the O"+PPR$"" ! #,O/< do> "uppressing of entire screens is possible with this command. This command allows us to perform screen processing Vin the backgroundW. "uppresing screens is useful when we are branching to list1mode from a transaction dialog step. 9:. 4hat is the significance of the memory table O"0R$$@<> #t runtime, attributes for each screen field are stored in the memory table called O"0R$$@<. 4e need not declare this table in our program. The system maintains the table for us internally and updates it with every screen change. 97. 4hat are the fields in the memory table O"0R$$@<> @ame ,ength !escription @#&$ /RO+P7 /RO+P5 /RO+P3 /RO+P9 #0T 6$ R$D+ R$! @P+T O+TP+T @T$@" B $! @6 " *,$ ,$@/TC ! "P,#?P3! 6#,+$PC$,P 3: 3 3 3 3 7 7 7 7 7 7 7 7 7 @ame of the screen field Bield belongs to field group 7 Bield belongs to field group 5 Bield belongs to field group 3 Bield belongs to field group9 Bield is visible and ready for input. Bield input is mandatory. Bield is ready for input. Bield is display only. Bield is highlighted Bield is suppressed. Bield output length is reduced. Bield is displayed with 3! frames. Bield is displayed with value help.

95. 4hy grouping of fields is re%uired> 4hat is the ma. no of modification groups for each field> f the same attribute need to be changed for several fields at the same time these fields can be grouped together. 4e can specify up to four modification groups for each field. 93. 4hat are the attributes of a field that can be activated or deactivated during runtime> nput, Output, &andatory, #ctive, Cighlighted, nvisible. 99. 4hat is a screen group> Cow it is useful> "creen group is a field in the "creen #ttributes of a screen. Cere we can define a string of up to four characters which is available at the screen runtime in the "?1 !@/R field. Rather than maintaining field selection separately for each screen of a program, we can combine logically associated screens together in a screen group. 9J. 4hat is a "ubscreen> Cow can we use a "ubscreen> # subscreen is an independent screen that is displayed in a n area of another (VmainW) screen. To use a subscreen we must call it in the flow logic (both P*O and P# ) of the main screen. The 0#,, "+*"0R$$@ stratement tells the system to e.ecute the P*O and P# events for the subscreen as part of the P*O or P# events of the main screen. The flow logic of your main program should look as follows-

PRO0$"" *$BOR$ O+TP+T. 0#,, "+*"0R$$@ QareaR @0,+! @/ OQprogramR< <QscreenR<. PRO0$"" #BT$R @P+T. 0#,, "+*"0R$$@ QareaR. #rea is the name of the subscreen area you defined in your main screen. This name can have up to ten characters. Program is the name of the program to which the subscreen belongs and screen is the subscreen<s number. 9=. 4hat are the restrictions on "ubscreens> "ubscreens have several restrictions. They cannot "et their own /+ status Cave a named OA code 0all another screen 0ontain an #T $G T10O&&#@! module "upport positioning of the cursor. 9K. Cow can we use / display table in a screen> #*#P/9 offers two mechanisms for displaying and using table data in a screen. These mechanisms are T#*,$ 0O@TRO," and "T$P ,OOP". 9E. 4hat are the differences between T#*,$ 0O@TRO," and "T$P ,OOP"> T#*,$ 0O@TRO," are simply enhanced "T$P ,OOP" that display with the look and feel of a table widget in a desktop application. *ut from a programming standpoint, T#*,$ 0O@TRO," and "T$P ,OOP" are almost e.actly the same. One ma3or difference between "T$P ,OOP" and T#*,$ 0O@TRO," is in "T$P ,OOP" their table rows can span more than one time on the screen. *y contrast the rows in a T#*,$ 0O@TRO," are always single lines, but can be very long. (Table control rows are scrollable). The structure of table control is different from step loops. # step loop, as a screen ob3ect, is simply a series of field rows that appear as a repeating block. # table control, as a screen ob3ect consists of- ) table fields (displayed in the screen ) ii) a control structure that governs the table display and what the user can do with it. 98. 4hat are the dynapro keywords> B $,!, &O!+,$, "$,$0T, 6#,+$" and 0C# @ are the dynapro keywords. J:. 4hy do we need to code a ,OOP statement in both the P*O and P# events for each table in the screen> 4e need to code a ,OOP statement in both P*O and P# events for each table in the screen. This is because the ,OOP statement causes the screen fields to be copied back and forth between the #*#P/9 program and the screen field. Bor this reason, at least an empty ,OOPI.$@!,OOP must be there. J7. The field "?1"T$P, refers to the inde. of the screen table row that is currently being processed. The system variable "?1stepl only has a meaning within the confines of ,OOPI.$@!,OOP processing. Outside the loop, it has no valid value. J5. Cow can we declare a table control in the #*#P/9 program> +sing the synta. controls Qtable control nameR type tableview using screen Qscr noR. J3. !ifferentiate between static and dynamic step loops. "tep loops fall into two classes- "tatic and !ynamic. "tatic step loops have a fi.ed si'e that cannot be changed at runtime. !ynamic step loops are variable in si'e. f the user re1si'es the window the system automatically increases or decreases the

number of step loop blocks displayed. n any given screen you can define any number of static step loops but only a single dynamic one. J9. 4hat are the two ways of producing a list within a transaction> *y submitting a separate report. *y using leave to list1processing. JJ. 4hat is the use of the statement ,eave to ,ist1processing> ,eave to ,ist1processing statement is used to produce a list from a module pool. ,eave to list processing statement allows to switch from dialog1mode to list1mode within a dialog program. J=. 4hen will the current screen processing terminates> # current screen processing terminates when control reaches either a ,eave1screen or the end of P# . JK. Cow is the command "uppress1!ialog useful> "uppressing entire screens is possible using this command. This command allows us to perform screen processing Vin the backgroundW. The system carries out all P*O and P# logic, but does not display the screen to the user. "uppressing screens is useful when we are branching to list1mode from a transaction dialog step. JE. 4hat happens if we use ,eave to list1processing without using "uppress1!ialog> f we don<t use "uppress1!ialog to ne.t screen will be displayed but as empty, when the user presses $@T$R, the standard list output is displayed. J8. Cow the transaction that are programmed by the user can be protected> *y implementing an authority check. =:. 4hat are the modes in which any update tasks work> "ynchronous and #synchronous. =7. 4hat is the difference between "ynchronous and #synchronous updates> # program asks the system to perform a certain task, and then either waits or doesn<t wait for the task to finish. n synchronous processing, the program waits- control returns to the program only when the task has been completed. n asynchronous processing, the program does not wait- the system returns control after merely logging the re%uest for e.ecution. =5. "#P system configuration incluedes !ialog tasks and +pdate tasks. =3. !ialog1task updates are "ynchronous updates. =9. +pdate ;task updates are #synchronous updates. =J. 4hat is the difference between 0ommit1work and Rollback14ork tasks> 0ommit14ork statement VperformsW many functions relevant to synchroni'ed e.ecution of tasks. Rollback1work statement Vcancels- all reuests relevant to synchroni'ed e.ecution of tasks. ==. 4hat are the different database integrities> "emantic ntegrity. Relational ntegrity. Primary Aey ntegrity. 6alue "et ntegrity. Boreign Aey integrity and Operational integrity. =K. #ll "#P !atabases are Relational !atabases.

=E. 4hat is "#P locking> t is a mechanism for defining and applying logical locks to database ob3ects. =8. 4hat does a lock ob3ect involve> The tables. The lock argument. K:. 4hat are the different kinds of lock modes> "hared lock $.clusive lock. $.tended e.clusive list. K7. Cow can a lock ob3ect be called in the transaction> *y calling $n%ueueQlock ob3ectR and !e%ueueQlock ob3ectR in the transaction. K5. 4hat are the events by which we can program Vhelp te.tsW and display Vpossible value listsW> 1PRO0$"" O@ C$,P1R$D+$"T (POC). 1PRO0$"" O@ 6#,+$1R$D+$"T (PO6). K3. 4hat is a matchcode> # matchcode is an aid to finding records stored in the system whenever an ob3ect key is re%uired in an input field but the user only knows other (non1key) information about the ob3ect. K9. n what ways we can get the conte.t sensitive B7 help on a field> 1 !ata element documentation. 1 !ata element additional te.t in screen painter. 1 +sing the process on help re%uest event. KJ. 4hat is roll area> # roll area contains the program<s runtime conte.t. n addition to the runtime stack and other structures, all local variables and any data known to the program are stored here. K=. Cow does the system handle roll areas for e.ternal program components> 1 Transactions run in their own roll areas. 1 Reports run in their own roll areas. 1 !ialog modules run in their own roll areas 1 Bunction modules run in the roll area of their callers. KK. !oes the e.ternal program run in the same "#P ,+4 as the caller, or in a separate one> 1 Transactions run with a separate "#P ,+4 1 Reports run with a separate "#P ,+4. 1 !ialog modules run in the same "#P ,+4 as the caller 1 Bunction modules run in the same "#P ,+4 as the caller. The only e.ceptions to the above rules are function modules called with @ +P!#T$ T#"A (65 function only) or @ *#0A/RO+@! T#"A (#,$ applications). These always run in their own (separate) update transactions. KE. 4hat are function modules> Bunction modules are general1purpose library routines that are available system1wide. K8. 4hat are the types of parameters in the function modules> n general, function module can have four types of parameters-

1 1 1 1

$GPORT @/- for passing data to the called function. &PORT @/- for receiving data returned from the function module. T#*,$"- for passing internal tables only, by reference (that is, by address). 0C#@/ @/- for passing parameters to and from the function.

E:. 4hat is the difference between ,eave Transaction and 0all Transaction> n contrast to ,$#6$ TO TR#@"#0T O@, the 0#,, TR#@"#0T O@ statement causes the system to start a new "#P ,+4. This second "#P ,+4 runs parallel to the "#P ,+4 for the calling transaction. E7. Cow can we pass selection and parameter data to a report> There are three options for passing selection and parameter data to the report. 1 +sing "+*& TI4 TC 1 +sing a report variant. 1 +sing a range table. E5. Cow to send a report to the printer instead of displaying it on the screen> 4e can send a report to the printer instead of diplaying it on the screen. To do this, use the keywords TO "#P1"POO,"+*& T R"B,B @!ITO "#P1"POO, !$"T @#T O@ O,TJ:<. E3. Cow can we send data to e.ternal programs> +sing "P#//P# parameters("#P memory). +sing $GPORT/ &PORT data (#*#P/9 memory) E9. 4hat are "P#//P# parameters ("#P memory) "P#//P# parameters are field values saved globally in memory. There are two ways to use "P#//P# parmeters*y setting field attributes in the "creen Painter. *y using the "$T P#R#&$T$R or /$T P#R#&$T$R statements.

;5C 7. 4hat is full form of *!0 "ession> *atch !ata 0ommunication "ession. 5. 4hat are the steps in a *!0 session> The first step in a *!0 session is to identify the screens of the transaction that the program will process. @e.t step is to write a program to build the *!0 table that will be used to submit the data to "#P. The final step is to submit the *!0 table to the

system in the batch mode or as a single transaction by the 0#,, TR#@"#0T O@ command. 3. Cow do you find the information on the current screen> The information on the current screen can be found by "?"T$& "T#T+" command from any menu. 9. Cow do you save data in *!0 tables> The data in *!0 tables is saved by using the field name O*!0POA0O!$< and field value of O/77<. J. 4hat is the last entry in all *!0 tables> n all *!0 tables the last entry is to save the data by using the field name *!0POA0O!$ and a field value of O/77<. =. 4hat is a multiple line field> # multiple line field is a special kind of field which allows the user to enter multiple lines of data into it. K. Cow do you populate data into a multiple line field> To populate data into a multiple line field, an inde. is added to the field name to indicate which line is to be populated by the *!0 session (,ine inde.). E. 4rite the *!0 table structure. *!0 table structure B $,! Program !ynPro !yn*egin Bnam Bval T?P$ 0C#R (E) 0C#R (9) 0C#R (7) 0C#R (3J) 0C#R (E:) !$"0R PT O@ Program name of transaction. "creen number of transaction. ndicator for new screen. @ame of database field from screen. 6alue to submit to field.

8. !oes the 0#,, TR#@"#0T O@ method allow multiple transactions to be processed by "#P> @o. The 0#,, TR#@"#0T O@ method allows only a single transaction to be processed by "#P. 7:. !oes the *!01 @"$RT function allow multiple transactions to be processed by "#P> ?es. 77. 4hat is the synta. for O0#,, TR#@"#0T O@<> 0#,, TR#@"#0T O@ trans L using bdctab &O!$ mode M. Three possible entries are there for &O!$. # 1 "how all screens. $ 1 "how only screens with errors. @ 1 "how no screens.

Você também pode gostar