Вы находитесь на странице: 1из 24

Introduction: ALV stands for ABAP List Viewer.

The ABAP List Viewer standardizes and simplifies the use of lists and reports in the R/3 System. ALV provides a lot of inbuilt functions (like searching, sorting, printing filtering, totaling) to our reports thats why it substantially decreases the report development time. ALV takes care of rendering the list and we can concentrate only on the data retrieval part. Common Steps: - Data declarations - Fetch the required data form the tables - Prepare field catalog - Build up the event table if required - Display ALV output by Calling FM All the definitions TYPES and STRUCTURES and CONSTANTS are defined in the TYPE-POOL SLIS, so it should be declared first. ALV List Display: - Field catalog can be prepared manually (should contain at least TABNAME, FIELDNAME, REF_TABNAME, SELTECT_M) or by using REUSE_ALV_FIELDCATALOG_MERGE. - To get all possible events REUSE_ALV_EVENTS_GET can be used. - To write proper comments use REUSE_ALV_COMMENTARY_WRITE. - To print the data REUSE_ALV_LIST_DISPLAY can be used. ALV Grid Display: - The first 3 function modules mentioned above can be used and to print the data REUSE_ALV_GRID_DISPLAY is used. Hierarchical ALV: - Hierarchical display is used for displaying data that are related. Like sales order and item details. - REUSE_ALV_HIERSEQ_LIST_DISPLAY is used to print the data. ALV Using OOPs:

Create Docking/custom container. Create a grid inside container. Call function LVC_FIELDCATALOG_MERGE to get the field catalog. Call method SET_TABLE_FOR_FIRST_DISPLAY for o/p.

Editing and Coloring: - Coloring an entire column To make an entire column be painted with the color you want, you can use the "emphasize" option of the field catalog. Simply assign a color code to this field of the row added for your column. Color codes are constructed as follows: Cxyz: - x: 1-7 (1 for example is gray-blue, 6 is red), y: intensified on/off, z: inverse on/off. - Coloring an entire row Coloring a row is a bit more complicated. To enable row coloring, you should add an additional field to your list data table. It should be of character type and at least 4 bit long. This field will contain the color code for the row. So for example: DATA: BEGIN OF gt_list occurs 0. INCLUDE STRUCTURE . DATA rowcolor(4) TYPE c. DATA: END OF gt_list. As you guess, you should fill the color code to this field. Its format is as explained before. For second you must pass the name of the field to the layout structure:E.g. ps_layout-info_fname = 'ROWCOLOR'. - Coloring an individual cell: Likely coloring rows, you must append an internal table to each line of gt_list containing the color information: DATA: BEGIN OF gt_list occurs 0. INCLUDE STRUCTURE . DATA cellcolors TYPE lvc_t_scol. DATA: END OF gt_list.

If you want to modify the cell in the 5 row and the 2 column, you have to set: DATA: cellcolor type line of lvc_t_scol. READ TABLE gt_list INDEX 2. cellcolor-fname = '.cellcolor-color-col = '6'. cellcolor-color-int = '0'. APPEND cellcolor TO gt_list-cellcolors. Modify GT_LIST INDEX 5. As like coloring rows, you have to pass the info for coloring cell to the layout-structure: ps_layout-info_ctab_fname = 'CELLCOLOR'. - Editing an entire column: When you want to do edit only for particular column and not for the entire grid then you need to perform fieldcat in that particular column only. Loop the field catalog and for that column make the EDIT field of catalog as X and then modify catalog. - Editing a single cell:Add a table to your list data table. Data begin of gt_grid occurs 0. data cellstyles type lvc_t_styl. Data end of gt_grid.Form make_field_edit using pt_grid like gt_grid[]. data: ls_grid like line of pt_grid, ls_style type lvc_s_styl, lt_style type lvc_t_styl.Loop at pt_grid into ls_grid. If ls_grid-curr = xyz. 'your condition for the row ls_style-fieldname = 'CURR'. ls_style-style = cl_gui_alv_grid=>mc_style_enabled. append ls_style to lt_style. endif. Insert lines of lt_style into ls_grid-celltyles.modify pt_grid from ls_grid. Endloop. Endform.

ABAP Dictionary Interview Questions with Answers / Dictionary FAQ

Q: What is an ABAP data dictionary? A: ABAP 4 data dictionary describes the logical structures of the objects used in application development and shows how they are mapped to the underlying relational database in tables/views. Q: What are domains and data element? A: Domains: Domain is the central object for describing the technical characteristics of an attribute of a business objects. It describes the value range of the field. Data Element: It is used to describe the semantic definition of the table fields like description the field. Data element describes how a field can be displayed to end-user. Q: What Function does data dictionary perform? A. Central information repository for application and system data. The ABAP Dictionary contains data definitions (metadata) that allow you to describe all of the data structures in the system (like tables, views, and data types) in one place. This eliminates redundancy. Q: Difference between domain and data element? What are aggregate object? A: Domain - Specifies the technical attributes of a data element - its data type, length, possible values, and appearance on the screen. Each data element has an underlying domain. A single domain can be the basis for several data elements. Domains are objects in the ABAP Dictionary. Data Element - Describes the business function of a table field. Its technical attributes are based on a domain, and its business function is described by its field labels and documentation. Aggregate Object Views, Match Code and Lock objects are called aggregate objects because they are formed from several related table. Q: What is view? Different types of view. Explain? A: View - A view is a virtual table containing fields from one or more tables. Different Types of View: 1) Maintenance 2) Database It is on more than two tables. 3) Projection It is only on one table. 4) Help Q: What are the check tables and value tables? A: Check Table: The ABAP Dictionary allows you to define relationships between tables using foreign keys. A dependent table is called a foreign key table, and the referenced table is called the check table. Each key field of the check table

corresponds to a field in the foreign key table. These fields are called foreign key fields. One of the foreign key fields is designated as the check field for checking the validity of values. The key fields of the check table can serve as input help for the check field. Value Table: Prior to Release 4.0, it was possible to use the value table of a domain to provide input help. This is no longer possible, primarily because unexpected results could occur if the value table had more than one key field. It was not possible to restrict the other key fields, which meant that the environment of the field was not considered, as is normal with check tables. In cases where this kind of value help was appropriate, you can reconstruct it by creating a search help for the data elements that use the domain in question, and using the value table as the selection method. Check table will be at field level checking. Q: What is the difference between tables and structures? A: Tables: 1) Data is permanently stored in tables in the database. 2) Database tables are generated from them. Structure: 1) It contains data temporarily during program run-time. 2) No Database tables are generated from it. Q: What is the difference between a pool table and a transparent table and how they are stored at the database level? A: Pooled table -1) Many to One Relationship. 2) Table in the Dictionary has the different name, different number of fields, and the fields have the different name as in the R3 Table definition. 3) It can hold only pooled tables. Transparent Table 1) One to One relationship. 2) Table in the Dictionary has the same name, same number of fields, and the fields have the same name as in the R3 Table definition. 3) It can hold Application data. Q: What are the different types of data dictionary objects? A: 1) Tables

2) Views 3) Data elements 4) Structure 5) Domains 6) Search Helps 7) Local Objects Q: How many types of tables exist and what are they in data dictionary? A: 1. Transparent tables - Exists with the same structure both in dictionary as well as in database exactly with the same data and fields. Both Open SQL and Native SQL can be used. 2. Pool tables 3. Cluster tables - These are logical tables that are arranged as records of transparent tables. One cannot use Native SQL on these tables (only Open SQL). They are not manageable directly using database system tools. 4. Internal tables Q: Can a transparent table exist in data dictionary but not in the database physically? A: No, Transparent table do exist with the same structure both in the dictionary as well as in the database, exactly with the same data and fields. Q: What is foreign key relationship? A: A relationship which can be defined between tables and must be explicitly defined at field level. Foreign keys are used to ensure the consistency of data. Data entered should be checked against existing data to ensure that there is now contradiction. While defining foreign key relationship cardinality has to be specified. Cardinality mentions how many dependent records or how referenced records are possible. Q: Describe data classes? A: Master data: It is the data which is seldom changed. Transaction data: It is the data which is often changed. Organization data: It is a customizing data which is entered in the system when the system is configured and is then rarely changed. System data: It is the data which R/3 system needs for Itself. Q: What are indexes? A: Indexes are described as a copy of a database table reduced to specific fields. This data exists in sorted form. This sorting form eases fast access to the field of the tables. In order that other fields are also read, a pointer to the

associated record of the actual table is included in the index. The indexes are activated along with the table and are created automatically with it in the database. 1. What are the layers of data description in R/3? The external layer. The ABAP/4 layer. The database layer. 2. Define external layer? The external 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. Define ABAP/4 layer? The ABAP/4 layer describes the data formats used by the ABAP/4 processor. 4. Define Database layer? The database layer describes the data formats used in the database. 5. What is a Data Class? The Data class determines in which table space the table is stored when it is created in the database. 6. What is a Size Category? The Size category describes the probable space requirement of the table in the database. 7. How many types of size categories and data classes are there? There are five size categories (0-4) and 11 data classes only three of which are appropriate for application tables: APPL0- Master data (data frequently accessed but rarely updated). APPL1- Transaction data (data that is changed frequently). APPL2- Organizational data (customizing data that is entered when system is configured and then rarely changed). The other two types are: USR USR1 - Intended for customer's own developments. 8. What are control tables? The values specified for the size category and data class are mapped to database-specific values via control tables. 9. What is the function of the transport system and workbench organizer?

The function of the transport system and the Workbench Organizer is to manage any changes made to objects of the ABAP/4 Development Workbench and to transport these changes between different SAP systems. 10. What is a table pool? A table pool (or pool) is used to combine several logical tables in the ABAP/4 Dictionary. The definition of a pool consists of at least two key fields and a long argument field (VARDATA). 11. What are pooled tables? 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 sequences or program parameters). 12. What is a table cluster? A table cluster combines several logical tables in the ABAP/4 Dictionary. Several 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. How can we access the correction and transport system? Each time you create a new object or change an existing object in the ABAP/4 Dictionary, you branch automatically to the Workbench Organizer or correction and transport system. 14. Which objects are independent transport objects? Domains, Data elements, Tables, Technical settings for tables, Secondary indexes for transparent tables, Structures, Views, Match code objects, Match code Ids, Lock objects. 15. How is conversion of data types done between ABAP/4 & DB layer? Conversion between ABAP/4 data types and the database layer is done within the database interface. 16. How is conversion of data types done between ABAP/4 & external level? Conversion between the external layer and the ABAP/4 layer is done in the SAP dialog manager DYNP. 17. What are the Data types of the external layer? ACCP, Char, CLNT, CUKY, CURR, DATS, DESC, FLTP, INT1, INT2, INT4, LANG, LCHR, LRAW, NUMC, PREC, QUAN, RAW, TIMS, UNIT,VARC. 18. What are the Data types of the ABAP/4 layer? Possible ABAP/4 data types:

C: Character. D: Date, format YYYYMMDD. F: Floating-point number in DOUBLE PRECISION (8 bytes). I: Integer. N: Numerical character string of arbitrary length. P: Amount of counter field (packed; implementation depends on h/w platform). S: Time Stamp YYYYMMDDHHMMSS. V: Character string of variable length, length is given in the first two bytes. X: Hexadecimal (binary) storage. 19. How can we set the table spaces and extent sizes? You can specify the extent sizes and the table space (physical storage area in the database) in which a transparent table is to be stored by setting the size category and data class. 20. What is the function of the correction system? The correction system manages changes to internal system components. Such as objects of the ABAP/4 Dictionary.
21. What are local objects? Local objects (Dev class$TMP) are independent of correction and transport system. 22. What is a Development class? Related objects from the ABAP/4 repository are assigned to the same development class. This enables you to correct and transport related objects as a unit. 23. What is a data dictionary? Data Dictionary is a central source of data in a data management system. Its main function is to support the creation and management of data definitions. It has details about what data is contained? What are the attributes of the data? What is the relationship existing between the various data elements? 24. What functions does a data dictionary perform? In a data management system, the principal functions performed by the data dictionary are Management of data definitions. Provision of information for evaluation. Support for s/w development. Support form documentation. Ensuring that the data definitions are flexible and up-to-date. 25. What are the features of ABAP/4 Dictionary? The most important features are: Integrated to a ABAP/4 Development Workbench. Active in the runtime environment. 26. What are the uses of the information in the Data dictionary? The following information is directly taken from the Data dictionary: Information on fields displayed with F1 help. Possible entries for fields displayed with F4 help. Matchcode and help views search utilities. 27. What are the basic objects of the data dictionary?

Tables Domains Data elements Structures Foreign Keys 28. What are the aggregate objects in the data dictionary? Views Match codes Lock objects. 29. In the ABAP/4 Dictionary Tables can be defined independent of the underlying database (T/F). True. 30. ABAP/4 Dictionary contains the Logical definition of the table. 31. A field containing currency amounts (data type CURR) must be assigned to a reference table and a reference field. Explain. As 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. 32. A field containing quantity amounts (data type QUAN) must be assigned to a reference table and a reference field. Explain? As a reference table, a system table containing all the valid quantity units is assigned or any other table, which contains a field with the format or quantity units (data type UNIT). This field is called as reference field. The assignment of the field containing quantity amounts to the reference field is made at runtime. The value in the reference field determines the quantity unit of the amount. 33. What is the significance of Technical settings (specified while creating a table in the data dictionary)? By specifying technical settings we can control how database tables are created in the database. The technical settings allows us to Optimize storage space requirements. Table access behavior. Buffering required. Changes to entries logged. 34. What is a Table attribute? 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: Delivery class. Table maintenance allowed. Activation type. 35. What is the significance of Delivery Class? The delivery class controls the degree to which the SAP or the customer is responsible for table maintenance. Whether SAP provides the table with or without contents. Determines the table type. Determines how the table behaves when it is first installed, at upgrade, when it is transported, and when a client copy is performed. 36. What is the max. no. Of structures that can be included in a table or structure. Nine. 37. What are two methods of modifying SAP standard tables? Append Structures and Customizing Includes. 38. What is the difference between a Substructure and an Append Structure?

In case of a substructure, the reference originates in the table itself, in the form of a statement include.... In case of an append structure, the table itself remains unchanged and the reference originates in the append structure. 39. To how many tables can an append structure be assigned. One. 40. If a table that is to be extended contains a long field, we cannot use append structures why? Long fields in a table must always be located in the end, as the last field of the table. If a table has an append structure the append line must also be on the last field of the table. 41. Can we include customizing include or an append structure with Pooled or Cluster tables? No. 42. What are the two ways for restricting the value range for a domain? By specifying fixed values. By stipulating a value table. 43. Structures can contain data only during the runtime of a program (T/F) True. 44. What are the aggregate objects in the Dictionary? Views Match Code. Lock Object. 45. What are base tables of an aggregate object? The tables making up an aggregate object (primary and secondary) are called aggregate object. 46. The data of a view is not physically stored, but derived from one or more tables (t/f) True. 47. What are the 2 other types of Views, which are not allowed in Release 3.0? Structure Views. Entity Views. 48. What is a Match Code? Match code is a tool to help us to search for data records in the system. Match Codes are an efficient and user-friendly search aid where key of a record is unknown. 49. What are the two levels in defining a Match Code? Match Code Object. Match CodeId. *50. What is the max no of match code Id's that can be defined for one Match code object?* A match code Id is a one character ID that can be a letter or a number. *51. Can we define our own Match Code ID's for SAP Matchcodes? Yes, the number 0 to 9 are reserved for us to create our own Match Code Ids for a SAP defined Matchcode object. 52. What is an Update type with reference to a Match code ID? If the data in one of the base tables of a matchcode ID 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 Building matchcodes. You must specify the update type when you define a matchcode ID. 53. Can matchcode object contain Ids with different update types? Yes. 54. What are the update types possible? The following update types are possible: Update type A: The matchcode data is updated asynchronously to database changes.

Update type S: The matchcode data is updated synchronously to database changes. Update type P: The matchcode data is updated by the application program. Update type I: Access to the matchcode data is managed using a database view. Update type L: Access to the matchcode is achieved by calling a function module. 55. What are the two different ways of building a match code object? A match code can be built in two different ways: Logical structure: The matchcode data is set up temporarily at the moment when the match code is accessed. (Update type I, k). Physical Structure: The match code data is physically stored in a separate table in the database. (Update types A, S, P). 56. What are the differences between a Database index and a match code? Match code can contain fields from several tables whereas an index can contain fields from only one table. Match code objects can be built on transparent tables and pooled and cluster tables. 57. What is the function of a Domain? A domain describes the technical settings of a table field. A domain defines a value range, which sets the permissible data values for the fields, which refers to this domain. A single domain can be used as basis for any number of fields that are identical in structure. 58. Can you delete a domain, which is being used by data elements? No. 59. What are conversion routines? Non-standard conversions from display format to sap internal format and vice-versa are implemented with so called conversion routines. 60. What is the function of a data element? A data element describes the role played by a domain in a technical context. A data element contains semantic information. 61. Can a domain, assigned to a data element is changed? Yes. We can do so by just overwriting the entry in the field domain. 62. Can you delete data element, which is being used by table fields. No. 63. Can you define a field without a data element? Yes. If 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 text directly in the table maintenance. 64. What are null values? If the value of a field in a table is undefined or unknown, it is called a null value. 65. What is the difference between a structure and a table? Structures are constructed the almost the same way as tables, the only difference using that no database table is generated from them. 66. What is a view? A view is a logical view on one or more tables. A 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. 67. How many types of Views are there? Database View Help View Projection View Maintenance View 68. What is locking? When two users simultaneously attempt to access the same data record, this is synchronized by a lock mechanism. 69. What is database utility? Database utility is the interface between the ABAP/4 Dictionary and the underlying the SAP

system. 70. What are the basic functions of Database utility? The basic functions of database utility are: Create database objects. Delete database objects. Adjust database objects to changed ABAP/4 dictionary definition. 71. What is Repository Info. Systems? It is a tool with which you can make data stored in the ABAP/4 Dictionary available.

Q: Whats ABAP dictionary and its role in SAP? A: ABAP dictionary is the central information base for the developers. This manages all definitions(metadata) required for different applications in SAP. ABAP dictionary is completely integrated into ABAP development workbench. All other component of ABAP development workbench can access the data definitions(meta data) stored in the data dictionary. Role: ABAP data dictionary supports

Definition of user-defined types (data elements, structures, table types). Structure of database objects (tables, indexes and views) can also be defined. These user-defined types/objects are then automatically created in the underlying relational database using the above data definitions. The ABAP dictionary also provides tools for editing screen fields (e.g., for assigning a field an input help i.e. F4 help). Data dictionary ensures data integrity, consistency and security. Q: What are the main object types of ABAP dictionary? A: Tables: Tables are defined in the ABAP Dictionary independently of the database. A table having the same structure is then created from this table definition in the underlying database. Views: are logical views on more than one table. The structure of the view is defined in the ABAP Dictionary. A view on the database can then be created from this structure. Types (elements, structures, table types): Types are created in ABAP programs. The structure of a type can be defined globally in ABAP programs. Changes to a type automatically take effect in all the programs using the type.

Lock objects:are used to synchronize access to the same data by more than one user. Function modules that can be used in application programs are generated from the definition of a lock object in the ABAP Dictionary. Domains: Different fields having the same technical type can be combined in domains. Domain defines the value range of all table fields and structure components that refer to this domain. Data element: The ABAP Dictionary also contains the information displayed with the F1 and F4 help for a field in an input template. The documentation about the field is created for a data element. Input help: The list of possible input values that appears for the input help is created by a foreign key or a search help. Q: What are the components of a table definition. A:

Table fields: For table fields, field names and data types are defined. Foreign keys: Relationship between the table and the other tables are defined. Technical settings: Data class and size category defines that what type of table to be created and how much space required. Indexes: Secondary indexes are created for a table for faster data selection. Again following are defined for a table fields:

Field name can be of maximum 16 characters in a table and must start with a letter. Key flag determines if a field should be the table key. Field type depicts the data type of the field in the ABAP dictionary. Field length denotes the number of valid places in the field. Decimal places Number of places after decimal point for float type value. Short text describes the business meaning of the field. Also fields from other structures can be added to the table definition as include. Q: What are the assignment options to the field? A:

i. Direct assignment of data types, field length, short text to a field. ii. Data element assignment to a field. iii. An input check(check table) for a field can be defined with a foreign key. iv. A search help can be assigned to a field. v. Reference field or reference table must be specified for a table field that holds currency or quantity type value. Q: Whats reference table and reference field? A: Reference table is specified for fields containing quantities(data type QUAN) or currency(Data type CURR).This reference table must contain a field with the format for the currency key (data type CUKY) or unit of measure (data type UNIT). This field is called the reference field of the output field. The reference field can also reside in the table itself. Q: Whats the maximum depth of nested includes in a table? A: Maximum depth is 9 i.e. maximum 9 structures can be included in a table/structure. Q: Whare are the uses of foreign keys in SAP? A: Using foreign keys(as main table-field is linked with check table), input value check for any input field can be done. Foreign keys can also be used to link several tables. Q: How many types of data classes are there in SAP? A: i.Choose APPL0(master data) for data that is frequently accessed but rarely updated/changed. ii.Choose APPL1(transaction data) for data that is frequently changed. iii.Choose APPL2(organizational data) for customizing data that is defined/entered during system installation and rarely changed.

Q: How many types of size category are there in SAP? A: There are five size categories. Size category from 0 to 4 can be choosen for the tables. A certain fixed memory size is assigned to each category in the SAP database. Q:What is delivery class? A: We need to insert an delivery class value while creating customized table in SAP through the transaction code SE11. Delivery class is that which regulates the transport of the tables data records (during SAP installations, SAP software upgrade, client copies, and data transport to other SAP system). SAP and its customers have different write types depending on the variety of delivery class. If Delivery class is A, it depicts that the application table for master and transaction data changes only rarely. Q: Whats value table? A: Value table is maintained at domain level in SAP. During domain creation, value range of the domain is defined by specifying value table. Suppose for a particular domain, its value table holds the values A, B, Z. So whenever the domain will be used, system will allow to use these values only.

SAP WorkFlow Interview Questions And Answers


SAP WORKFLOW INTERVIEW QUESTIONS On ABAP: Did you set up a workflow ? Are you familiar with all steps for setting up a workflow ?

Yes. Execute the Txn SWDD (Creating a new Workflow). In the header of the Workflow, define the Business Object and Event you refer to for triggering the Wf. Create the Steps required for your workflow(Activity). Inside the Activity, Create the task and assign the Business Object and the related method for that business object. Activate the Workflow.

Have you used performance tuning? What major steps will you use for these ? The Main Transaction Code Involved in Performance Tuning is SE30-Run Time Analysis and ST05-SQL Tracer. In the 'select' statement what is "group by"?

Group by clause is used to fetch the data from the table by the specified field ex.select count (*) from emp table group by deptno where deptno = 1. It is used to find the number of employees present in the specified department no.

SAP R/3 screens how will you develop a table control having 3 columns with only one editable ?

we can develop it by giving the code in PBO (process before output) giving table control line = 3. it will give only 3 lines and we can make 2 lines disable in screen painter options available in table control Elementary search helps, Collective search help. Elementary search helps defines a search path where we will define the table from which the data has to be read and the selection criteria. Through import and export parameters. Used when we gets the data rom a single table. Collective search helps: Combination of elementary search helps. When we need to fetch data based on multiple selection criteria's. More than one tables are Selection from multiple tables Difference between Search Helps and Match Codes search help: adding f4 functionality is search help(adding help for any topic) match code: adding search help for the input field is called as math code object

Have you created database tables ? YES , IF WE HAVE CUSTOMISED DATA TO STORE IN TABLE , WE CREATE A TABLE. Difference between client dependent and client independent tables ?

tables which can be access by all user are client independent (no mandt field in table) tables which can be access by some specific user are client dependent (use mandt field in table)

How to create client independent tables ?


the table in which the first field is not mandt is the client independent tables mandt is the field with mandt as the data element

automatically client which we login is populated to mandt

Have you created Maintenance dialog or Table Maintenance ? At the time of creating table through, there is a check box for table maintenance allowed.So if you want to activate the table maintenance, just mark this box. Once table gets activated, u can change its contents through SM30 ot Through Table Maintenance. List the various advantages of SAP Business Workflow

Workflow provides numerous advantages to SAP users and consultants: It allows consultants to create new business processes without modifying the standard SAP code. Workflow ensures that the tasks are executed in the correct sequential order, involving the relevant personnel. SAP Business Workflow may be run through the internet or intranet web applications via the Webflow Engine. Deadline Monitoring functionality is also incorporated within SAP Workflow. The timely execution of activities is guaranteed even when a number of parties (users) are involved. Workflow reduces both time and expense involved in managing business activities.

What is a work item ? How does it differ from a simple SAP office mail item ?

A work item is a runtime object generated by a step within a workflow. Whenever user interaction is required, the respective users are informed via work items. These work items will be received by the user in their Business Workplace inbox, or other email application such as Microsoft Outlook&rights; The work item may be a user decision or a dialog form that allow you to enter data for starting a process within SAP, or a confirmation of whether a particular task may be performed. The user then chooses an appropriate option which determines the subsequent behavior of the workflow in question. There are a variety of applicable work items. Each work item has a status reflecting the stage of processing at any given point in time. A work item comprises of text explaining what action needs to be taken, whom to refer to and any information pertinent to the business object involved. Unlike simple SAP office mails, work items are active entities, as they determine the subsequent direction of the workflow. SAP office mails can also be deleted from the inbox without viewing them whereas a work item has to be executed to have it removed from your inbox.

What is a background work item ? Are they displayed in the Business Workplace ?

A background work item (code B) represents tasks that do not require any user interaction. They are controlled and executed automatically by the workflow system, and do not appear in the Business Workplace. However, you may view them using the Work Item Selection Report. Which method is executed if space is passed for the method parameter of macro SWC_CALL_METHOD ? The Default method of the object type is executed if a space is passed as the method parameter value. You can find the default method by viewing the applicable object using transaction SWO1 and going to menu option "Goto -> Basic Data" and clicking on the Defaults tab. The default method is located in the field "Method" Name the tables used for storing the event linkages ?

SWETYPECOU - Type Linkage Table SWEINSTCOU - Instance Linkage Table

What is a classic BAdI?


BAdI stands for Business Add-In. These are like user exits but are implemented using ABAP Objects. BADIs can be implemented in every stage of the systems landscape. That means there are more than SAP and Customer specific views, but also country or language specific views. They are named "classic" BAdIs since the concept "new" BAdIs was introduced in NetWeaver 7.0 (along with enhancement framework and switch framework). For each Business Add-In you have one interface and an adapter class that implements this. The interface is implemented by the user. The generated class (Add-In adapter) has the following tasks: Control

The adapter class calls the active implementations. Filtering

If a Business Add-In is to be executed only under certain conditions, the adapter class ensures that only certain implementations will be executed. More information can be found inSap Library How to Search BADI for a Transaction? ?Finding BADI Using CL_EXITHANDLER=>GET_INSTANCE Go to the Transaction, for which we want to find the BADI, Get the Program Name of Corresponding Transaction. (Click on System->Status. Double Click on Program Name) Once inside the program search for 'CL_EXITHANDLER=>GET_INSTANCE'. Make sure the radio button "In main program" is checked. A list of all the programs with call to the BADI's will be listed. The export parameter 'EXIT_NAME' for the method GET_INSTANCE of class CL_EXITHANDLER will give you the BADI name for the Transaction

Go to start of metadata
1. Introduction Customer exits (aka user exits) are possibilites offered by SAP at strategic moments to call customer ABAP code so that to enhance the standard. Hence, customer exits acts as 'Hook' points for the custom business functionality. These exits are function modules called by SAP, with fixed input and output parameters, and only containing an INCLUDE ZX... ABAP statement, that the client may create. The exit belongs to exactly one Enhancement (an 8 characters code), that SAP creates using SMOD transaction. To add ABAP code, the client has to create a Project via CMOD transaction, link it to the Enhancement, create the ZX... include where he puts ABAP code, and activate both the include and the project. Note: since NetWeaver 7.0, this concept is obsolete because replaced by the classic and new BAdIs, and SAP does not create any more customer exit. Moreover, SAP may have migrated some customer exits to classic BAdIs (an enhancement is migrated into a BAdI definition, and its customer exits are migrated into methods with the same names and signatures, i.e. list of parameters).

More documentation is provided in SAP Library - Customer Exits. For more general documentation on Enhancements, go to SDN Home Page - Enhancements and Modifications This wiki shows screen captures of how to create a project 2. How SAP calls the exit The call to an exit is implemented by SAP as: ?

CALL CUSTOMER-FUNCTION '<3 digit suffix>' [EXPORTING <parameters>] [IMPORTING <parameters>] [CHANGING <parameters>] [TABLES <parameters>] [EXCEPTIONS <exceptions>].
Which calls function module EXIT_<program name>_<3 digit suffix> (where <program name> is the program which calls the customer function). Notes:

Sometimes, SAP uses directly CALL FUNCTION statement because the exit needs to be called from 2 different programs. The difference between the 2 ABAP statements is that CALL CUSTOMER-FUNCTION does NOT call the function module if it is not linked to an active project (see below "how to implement an exit"). Thus, a break-point in the function module will be ineffective. In this function module, SAP usually puts this code: ?

INCLUDE
Example:

ZX<3 characters>U<2 digits>.

The program for transaction VA01 Create sales order is 'SAPMV45A' In program SAPMV45A (SAP R/3 or ECC), there is: ?

CALL CUSTOMER-FUNCTION '003' exporting xvbak = vbak xvbuk = vbuk xkomk = tkomk importing lvf_subrc = lvf_subrc tables xvbfa = xvbfa xvbap = xvbap xvbup = xvbup.
It means that it will call the function module 'EXIT_SAPMV45A_003', which only contains this code: INCLUDE zxvvau05. (as already said, this include is not initially delivered by SAP, but it may be created by the client) 3. How to implement an exit First of all, the client must check whether an existing customer exit fits his requirements. There are 2 main ways to do this: 1. 2. Use transaction SPRO (SAP IMG reference guide) and look for activities named "enhancement" or "extension" and display its documentation. OR get the main program which corresponds to the transaction (status option in system menu), so that you know the potential exit function module names (EXIT_<program name>_*), then look at their documentation (SE37 transaction) or at the documentation of their corresponding enhancement (SMOD transaction). You may get the enhancement and enhancement projects associated to the customer exit by using the extended options of the search help, or by using transaction SE84 - Repository Information System. Now, you may implement the exit this way:

a.

Go to transaction CMOD Create a project Go to the Enhancement screen, and enter the Enhancement code which contains the user exit. Note that an enhancement can only be used in 1 project. Go to the Components screen (where the available customer exits are displayed). Double click on the one you want to implement. Now the function module is displayed, double click on the include ZX..., SAP displays a warning that this include will be created Press enter, SAP asks for a package and a transport request Insert the ABAP code into the include Activate the include program. Go back to CMOD and activate the project. Example:

For example, we want to enhance transaction 'VA01', so that to default Sold-to-party field to value "2155". We already know that we have to implement user exit EXIT_SAPMV45A_002, which belongs to enhancement V45A0002 Go to transaction CMOD Create a project called ZVA01 Choose the Enhancement assign radio button and press the Change button In the first column enter 'V45A0002', predefine sold-to party in sales document. Press Save Go to the Components tab. You can now see that enhancement uses user exit EXIT_SAPMV45A_002. Double click on the exit. Now the function module is displayed. Double click on include ZXVVAU04 in the function module Insert the following code into the include: E_KUNNR = '2155'. Activate the include program. Go back to CMOD and activate the project. Go to transaction VA01 and create a salesorder. You see that Sold-to-party is automatically set to "2155"

Tools

1. ABAP Development 2. Enhancements and Modifications - BADI, Enhancement Framework, User Exits, BTE

BTE - Business Transaction Event


Skip to end of metadata Page restrictions apply Added by Peter Inotai, last edited by Alon Mizrahi on Nov 01, 2011 (view change) show comment Go to start of metadata
BTE - Business Transaction Event Enhancement type developed for FI (Financial Accounting). SAP Reference IMG -> Financial Accounting -> Financial Accounting Global Settings -> Business Transaction Events . Customizing can be done via transaction FIBF. Main steps for activating a BTE: 1. 2. 3. 4. 5. Check OSS note for documentation and explanation Copy sample function module SAMPLE_INTERFACE_<event_number> to Customer namespace Make sure the application is active for Business Transaction Events , else maintain table TBE11. Maintain table TBE34 and TBE01 Enter code to the BTE function module How to check/debug? To check the functionality, you can put a break-point in your BTE function module. If it's not called, put a breakpoint at FM OPEN_FI_PERFORM_<BTE number>_E.

Related Transaction Code : BERE Business Event Repository BERP Business Processes BF31 Application modules per Event BF32 Partner Modules per Event BF34 Customer Modules per Event BF41 Application Modules per Process BF42 Partner Modules per Process BF44 Customer Modules per Process BTE exits to add additional components to the SAP standard system, for example in the form of function modules. There are two types of interface: Publish and Subscribe interfaces

These give information that specific events have occurred in the SAP standard application and provide the data generated to external software. However the external software does not return any data to the SAP standard system. Process interfaces

These subject business processes to an external control function that is not part of the standard system; in other words the process interfaces interrupt the standard process and deliver data to the SAP application. A BTE exit is called up in the process, meaning that process modules check the events in Customizing for calling up the BTE exits. In the BTE method, function modules are called up in specified events, to which they have been assigned in Customizing. The event interface is predefined. To activate the process modules, choose _Settings for Process Interfaces -> Assign Customer Function Modules to Process Interfaces.

TCodes used in this Procedure


When we are working with IDocs we need to know following Tcodes. - This is used to Customizing IDoc Interface/Application Link Enabling ( ALE ) - Used to configure RFC connections - Create/Change Ports used in IDoc Processing - Used to define the Partner Profiles - Used to define Distribution Model for IDoc Processing - Used to send Materials - Used to check the status of IDoc

Major Steps Involved in IDoc Processing


FC Destinations

In the following documents I am using 2 SAP application servers i.e. IDES with 800 client and RD2 with client 120 servers. My plan is the material which is created in IDES System should be moved to RD2 server using IDoc process. This is a combination of Technical and basis so make sure that you have enough permission to the above Tcodes.

Вам также может понравиться