|
allsapsites
Rating: 52
Member since: 2008-10-08
Feeds: 2
Categories
|
Preview: ALL SAP ABAP PROGRAMMING
ALL SAP ABAP PROGRAMMINGall sap,abap programming,alv,User,Customer Exits,ale,idoc,edi,badi,bapi,Reports,Bdc,Scripts,Smart Forms.Updated: 2009-11-11T23:02:48.303+05:30
DIFFERENCE BETWEEN BADI'S AND USER EXITS 2009-02-12T17:09:27.416+05:30 DIFFERENCE BETWEEN BADI'S AND USER EXITS:Business Add-Ins are a new SAP enhancement technique based on ABAP Objects. They can be inserted into the SAP System to accommodate user requirements too specific to be included in the standard delivery. Since specific industries often require special functions, SAP allows you to predefine these points in your software. As with customer exits two different views are available: In the definition view, an application programmer predefines exit points in a source that allow specific industry sectors, partners, and customers to attach additional software to standard SAP source code without having to modify the original object. In the implementation view, the users of Business Add-Ins can customize the logic they need or use a standard logic if one is available. In contrast to customer exits, Business Add-Ins no longer assume a two-level infrastructure (SAP and customer solutions), but instead allow for a multi-level system landscape (SAP, partner, and customer solutions, as well as country versions, industry solutions, and the like). Definitions and implementations of Business Add-Ins can be created at each level within such a system infrastructure. SAP guarantees the upward compatibility of all Business Add-In interfaces. Release upgrades do not affect enhancement calls from within the standard software nor do they affect the validity of call interfaces. You do not have to register Business Add-Ins in SSCR. The Business Add-In enhancement technique differentiates between enhancements that can only be implemented once and enhancements that can be used actively by any number of customers at the same time. In addition, Business Add-Ins can be defined according to filter values. This allows you to control add-in implementation and make it dependent on specific criteria (on a specific Country value, for example). All ABAP sources, screens, GUIs, and table interfaces created using this enhancement technique are defined in a manner that allows customers to include their own enhancements in the standard. A single Business Add-In contains all of the interfaces necessary to implement a specific task. The actual program code is enhanced using ABAP Objects. In order to better understand the programming techniques behind the Business Add-In enhancement concept, SAP recommends reading the section on ABAP Objects. SAP R/3 ABAP/4 FAQ – User Exits What is the gap bridging / Enhancement / Gap Development? Customer changes to SAP repository objects without modifications. Why do you need to use exits? They do not affect standard SAP source code, do not affect software upgrade. Various types of enhancement Program, Menu, Screen, Field How do you identify the user exits? Use the transaction CMOD and for that respective development class exits available with + sign. What do mean by SSCR & OSS. “SAP Software Change Registration” & “Online Service System”. How does the production system take the benefit from the user exit? Development would be carried out in the Development system and the changes / user exits can be transported to the target system (quality or production)[...]
ABAP ENHANCEMENTS 2009-02-12T17:08:43.286+05:30 ABAP ENHANCEMENTS:SAP delivers a broad range of business functions within its R/3 application suite. You may find that the standard applications do not offer some of the functionality you need. The R/3 enchancement concept allows you to add your own functionality to SAP's standard business applications.SAP creates customer exits for specific programs, screens and menus within standard R/3 applications. These exits do not contain any functionality. Instead, the customer exits act as hooks. You can hang your own add-on functionality onto these hooks.Purpose of the Enhancement ConceptWith the ABAP/4 Development Workbench, SAP's client-server development environment, you can create add-ons or entire applications. Before the enhancement concept existed, customers who wanted to add their own specific functions to SAP software had to modify the standard SAP programs.Modifying SAP's software holds at least two dangers:1.Modifying standard code can lead to errorsWhen a customer changes the source code of a standard program, these changes can have unwanted results within other parts of the application. Once a customer has begun 'reconstructing' a standard program, SAP can no longer guarantee that this customer's system will run without serious errors.2.Modifications mean more work during software upgradesCustomers of standard software packages often want to take advantage of software upgrades or new releases. Customers who have modified the software of their current release must save these modifications and reenter them into the new software after each upgrade or release change. Depending on the number and scope of modifications, this reentry process may make it difficult or even impossible to take advantage of new software releases.The enhancement concept offers a better alternative to the problem-ridden modification approach.Reason for Using ExitsIf you want to extend the functionality of your R/3 System, you should take advantage of the exits available within the standard R/3 applications. There are two main reasons why you should use exits rather than modifying SAP software. Add-ons that are attached to exits have the advantage that they:1.Do not affect standard SAP source code When you add new functionality to your R/3 System using SAP's exits, you do not change the source code of standard SAP programs. The code and screens you create are encapsulated as separate objects. These customer objects are linked to standard applications, but they exist apart from SAP's standard software package.2.Do not affect software upgrades When you add new functions using SAP's exits, the objects you develop are customer objects. Customer objects adhere to strict naming conventions. When the time comes to upgrade a software release, the special names of customer objects ensure that they will not be affected by either changes or additions within the standard software package. As a result, you do not need to save and then reenter add-ons attached to exits.Customer exits are not available for all programs and screens within the R/3 standard applications. You can only use exits if they already exist within the SAP R/3 System. Locating Applications that Have Exits explains how to find applications with predefined exits.If no user exit is available in an area where you want to add your own functionality, you can request that SAP develop an exit. You can make this request via the Online Service System (OSS).Types of ExitsThere are four basic types of customer exits. Each of these exits is a hook that you can hang your add-ons onto.Menu exits Add items to the pulldown menus in standard R/3 applications. You can use these menu items, for example, to call up your own screens or to trigger entire add-on applications.SAP creates menu exits by defining special menu items in the Menu Painter. These special entries have function codes that begin with + (plus sign). You specify the menu item's text when activating the item within an add-on project.Screen exits Add fields to the screens within R/3 applications. SAP creates screen ex[...]
CHANGING THE SAP STANDARD 2009-02-12T17:08:04.438+05:30 CHANGING THE SAP STANDARD:You can adjust the R/3 System to meet your needs in the following ways:Customizing: This means setting up specific business processes and functions for your system according to an implementation guide. The need for these changes has already been foreseen by SAP and an implementation procedure has been developed.Personalization: This means making changes to certain fields' global display attributes (Setting default values or fading fields out altogether), as well as creating user-specific menu sequences.Modifications:These are changes to SAP Repository objects made at the customer site. If SAP delivers a changed version of the object, the customer's system must be adjusted to reflect these changes. Prior to Release 4.0B these adjustments had to be made manually using upgrade utilities. From Release 4.5A, this procedure has been automated with the Modification Assistant.Enhancements:This means creating Repository objects for individual customers that refer to Objects that already exist in the SAP Repository.Customer Developments:This means creating Repository objects unique to individualCustomers in a specific namespace reserved for new customer objects.Customizing and most personalization are done using tools found in Accelerated SAP; customer developments, enhancements, and modifications are all made using the tools available in the ABAP Workbench.If your requirements cannot be met by Customizing or personalization, you may either start a development project or try using a CSP solution (= Complementary Software Product).A development project falls into the customer development category if the SAP standard does not already contain functions similar to the one you are trying to develop. If, however, a similar SAP function exists, try to assimilate it into your development project by either enhancing or modifying it, by using a user exit, or simply by making a copy the appropriate SAP program.Modifications can create problems, as new versions of SAP objects must be adjusted after an upgrade to coincide with modified versions of SAP objects you have created. Prior to Release 4.0B these adjustments had to be made manually using upgrade utilities. From Release 4.5A, this procedure has been automated with the Modification Assistant.Thus, you should only make modifications if:Customizing or personalizing cannot satisfy your requirementsEnhancements or user exits are not plannedIt would not make sense to copy the SAP object to the customer namespace.The Business Engineer is made up of all SAP implementation tools. These include:The R/3 Reference Model contains all of the models used to describe R/3 (the process model, the data model, the organization model) The Implementation Guide (IMG)A complete list of all Customizing changesPersonalization accelerates and simplifies how business cases are processed by the R/3 System. During personalization, individual application transactions are adjusted to meet the business needs of your company as a whole or even to the needs of specific user groups within your company. All unnecessary information and functions found in the transaction are switched off.Global display attributes allow you to define default values for specific screen fields. You can also suppress individual fields or table control columns in a particular transaction, or even a whole screen.Role-based menus, favorites, and shortcuts allow you to adjust menu sequences to reflect the needs of different user groups within your company.Modifications are changes to SAP objects in customer systems. They are:Executed with the help of user exits (these are subroutines reserved for customers that have been inserted in objects in the SAP namespace)'hard-coded' at various points within SAP Repository objects.Customer developments are programs developed by customers that can call SAP Repository objects.Example: A customer creates a program that calls an SAP function module.The enhancement concepts embody the reverse of this principle: SAP programs call Repos[...]
MODIFICATIONS OF SAP STANDARD OBJECTS 2009-02-12T17:07:13.606+05:30 MODIFICATIONS:An object is original in only one system. In the case of objects delivered by SAP, the original system is at SAP itself. These objects are only copies in customer systems. This applies to your development system and all other systems that come after it.If you write your own applications, the objects that you create are original in your development system. You assign your developments to a change request, which has the typeDevelopment/Correction.This request ensures that the objects are transported from the development system into thesubsequent systems.Changes to an original are called corrections. They are recorded in a change request whose tasks have the type "Development/correction".If, on the other hand, you change a copy (an object outside its own original system), the change is recorded in a task with the type "Repair". Repairs to SAP objects are called modifications.When you repair your own objects (for example, if something goes wrong in your production system), you can correct the original in your development system straight away. When you change copies, you must correct the original immediately!However, you cannot do this with SAP objects, because they are not original in any of your systems.You should only modify the SAP standard if the modifications you want to make are absolutely necessary for optimizing workflow in your company. Be aware that good background knowledge of application structure and flow are important prerequisites for deciding what kind of modifications to make and how these modifications should be designed.Whenever you upgrade your system, apply a support package, or import a transport request, conflicts can occur with modified objects.Conflicts occur when you have changed an SAP object and SAP has also delivered a new version of it. The new object delivered by SAP becomes an active object in the Repository of your system.If you want to save your changes, you must perform a modification adjustment for the objects. If you have a lot of modified SAP objects, your upgrade can be slowed down considerably.To ensure consistency between your development system and subsequent systems, you should only perform modification adjustments in your development system. The objects from the adjustment can then be transported into other systems.A registered developer must register registers changes to SAP objects. Exceptions to this registration are match codes, database indexes, buffer settings, customer objects, patches, and objects whose changes are based on automatic generation (for example , in Customizing). If the object is changed again at a later time, no new query is made for the registration key. Once an object is registered, the related key is stored locally and automatically copied for later changes, regardless of which registered developer is making the change. For the time being, these keys remain valid even after a release upgrade.How do you benefit from SSCR (SAP Software Change Registration)?Quick error resolution and high availability of modified systemsAll objects that have been changed are logged by SAP. Based on this information, SAP's First Level Customer Service can quickly locate and fix problems. This increases the availability of your R/3 system.Dependable operationHaving to register your modifications helps prevent unintended modification. This in turn ensures that your R/3 software runs more reliably.Simplification of upgradesUpgrades and release upgrades become considerably easier due to the smaller number ofmodifications.If you want to change an SAP Repository object, you must provide the Workbench Organizer with the following information:SSCR keyChange RequestWe saw above how you get an SSCR key. If you now continue to change the object, you must confirm the following warning dialogs: At this point, you can still cancel the action without repairing the object.The Workbench Organizer asks you to enter a change request, as it would for yo[...]
LESSON 51CHANGING THE SAP STANDARD 2009-02-12T17:06:12.650+05:30 You can adjust the R/3 System to meet your needs in the following ways:Customizing: This means setting up specific business processes and functions for your system according to an implementation guide. The need for these changes has already been foreseen by SAP and an implementation procedure has been developed.Personalization: This means making changes to certain fields' global displayattributes(Setting default values or fading fields out altogether), as well as creatinguser-specific menu sequences.Modifications: These are changes to SAP Repository objects made at the customer site. If SAP delivers a changed version of the object, the customer's system must be adjusted to reflect these changes. Prior to Release 4.0B these adjustments had to be made manually using upgrade utilities. From Release 4.5A, this procedure has been automated with the Modification Assistant.Enhancements: This means creating Repository objects for individual customers that refer to Objects that already exist in the SAP Repository.Customer Developments: This means creating Repository objects unique to individualCustomers in a specific namespace reserved for new customer objects.Customizing and most personalization are done using tools found in Accelerated SAP; customer developments, enhancements, and modifications are all made using the tools available in the ABAP Workbench.If your requirements cannot be met by Customizing or personalization, you may either start a development project or try using a CSP solution (= Complementary Software Product).A development project falls into the customer development category if the SAP standard does not already contain functions similar to the one you are trying to develop. If, however, a similar SAP function exists, try to assimilate it into your development project by either enhancing or modifying it, by using a user exit, or simply by making a copy the appropriate SAP program.Modifications can create problems, as new versions of SAP objects must be adjusted after an upgrade to coincide with modified versions of SAP objects you have created. Prior to Release 4.0B these adjustments had to be made manually using upgrade utilities. From Release 4.5A, this procedure has been automated with the Modification Assistant.Thus, you should only make modifications if:Customizing or personalizing cannot satisfy your requirementsEnhancements or user exits are not plannedIt would not make sense to copy the SAP object to the customer namespace.The Business Engineer is made up of all SAP implementation tools. These include:The R/3 Reference Model contains all of the models used to describe R/3 (the process model, the data model, the organization model) The Implementation Guide (IMG)A complete list of all Customizing changesPersonalization accelerates and simplifies how business cases are processed by the R/3 System. During personalization, individual application transactions are adjusted to meet the business needs of your company as a whole or even to the needs of specific user groups within your company. All unnecessary information and functions found in the transaction are switched off.Global display attributes allow you to define default values for specific screen fields. You can also suppress individual fields or table control columns in a particular transaction, or even a whole screen.Role-based menus, favorites, and shortcuts allow you to adjust menu sequences to reflect the needs of different user groups within your company.Modifications are changes to SAP objects in customer systems. They are:Executed with the help of user exits (these are subroutines reserved for customers that have been inserted in objects in the SAP namespace)'hard-coded' at various points within SAP Repository objects.Customer developments are programs developed by customers that can call SAP Repository objects.Example: A customer creates a program that calls an SAP function module.The enhancement concepts embody the reverse of this princ[...]
LESSON 52 ENHANCEMENTS TO DICTIONERY ELEMENTS 2009-02-12T17:04:54.785+05:30 ENHANCEMENTS TO DICTIONERY ELEMENTSTables and structures can be expanded in one of two different ways:Append structures allow you to enhance tables by adding fields to them that are not part of the standard. With append structures; customers can add their own fields to any table or structure they want.Append structures are created for use with a specific table. However, a table can have multiple append structures assigned to it.If it is known in advance that one of the tables or structures delivered by SAP needs to have customer-specific fields added to it, the SAP application developer includes these fields in the table using a Customizing include statement.The same Customizing include can be used in multiple tables or structures. This ensures consistency in these tables and structures whenever the include is extended.Nonexistent Customizing includes do not lead to errors.Append structures allow you to attach fields to a table without actually having to modify the table itself.Append structures may only be assigned to a single table. A table may, however, have several append structures attached to it. Whenever a table is activated, the system searches for all active append structures for that table and attach them to the table. If an append structure is created or changed and then activated, the table it is assigned to is also activated, and all of the changes made to the append structure take effect in the table as well.You can use the fields in append structures in ABAP programs just as you would any other field in the table.Note: If you copy a table that has an append structure attached to it, the fields in the append structure become normal fields in the target table.You create append structures in the customer namespace. This protects them from being overwritten at upgrade or during release upgrade. New versions of standard tables are loaded during upgrades.The fields contained in active append structures are then appended to the new standard tables when these new standard tables are activated for the first time.From Release 3.0, the field sequence in the ABAP Dictionary can differ from the field sequence in the database. Therefore, no conversion of the database table is necessary when adding an append structure or inserting fields into an existing one. All necessary structure adjustment is taken care of automatically when you adjust the database catalog (ALTER TABLE). The table's definition is changed when it is activated in the ABAP Dictionary and the new field is appended to the database table.Pay attention to the following points when using append structures:You cannot create append structures for pool and cluster tables.If a table contains a long field (either of data type LCHR or LRAW), then it is not possible to expand the table with an append structure. This is because long fields of this kind must always be the last field in their respective tables. No fields from an append structure may be added after them.If you use an append structure to expand an SAP table, the field names in your append structure must be in the customer namespace, that is, they must begin with either YY or ZZ. This prevents naming conflicts from occurring with any new fields that SAP may insert in the future.Some of the tables and structures delivered with the R/3 standard contain special include statements:Customizing includes. These are often inserted in those standard tables that need to have customer specific fields added to them.In contrast to append structures, Customizing includes can be inserted into more than one table. This provides for data consistency throughout the tables and structures affected whenever the include is altered.Customizing include programs is part of the customer namespace: all of their names begin with 'CI_'. This naming convention guarantees that nonexistent Customizing includes do not lead to errors. No code for Customizing includes is delivered with the R/3 standard.Y[...]
LESSON 54 ENHANCEMENTS USING COSTMER EXITS 2009-02-12T17:04:21.165+05:30 ENHANCEMENTS USING COSTMER EXITSApplication enhancements allow customers to enhance their application functions. Customer exits are preplanned by SAP and generally consist of several components.Application enhancements are inactive when delivered and can be completed and activated by customers as they are needed.Application enhancement characteristics:Each enhancement provides you with a set of preplanned, precisely defined functions.Each interface between SAP and customer functions is clearly defined.As a customer, you do not need in-depth knowledge of how to implement SAP applications.You do not need to adjust enhancements at upgrade because of new functions that SAP has developed.The SAP application programmer creates SAP enhancements from function module exits, menu exits and screen exits. A management function is provided for this purpose (transaction code SMOD).Customers are given a catalog containing an overview of existing SAP enhancements. They can then combine the SAP enhancements they want into an enhancement project using transaction CMOD.SAP enhancements are made up of component parts. These components include function module exits, menu exits, and screen exits. A specific component may be used only once in a single SAP enhancement (this guarantees the uniqueness of SAP enhancements).Customer enhancement projects consist of SAP enhancements. Each individual SAP enhancement may be used only once in a single customer enhancement program (this guarantees the uniqueness of a customer project).The SAP application programmer plans possible application enhancements in an application and defines the necessary components. These components are combined in SAP enhancements.The programmers document their enhancements as best they can, so that customers can implement the enhancements without having to analyze program source code or screen source code.First, create an enhancement project and then choose the SAP enhancements that you want to use.Next, edit your individual components using the project management function and document the entire enhancement project.Finally, activate the enhancement project. This activates all of the project's component parts.Transaction CMOD starts the project management function. You must give your enhancement project a name. SAP recommends that you think up a naming convention for all of your projects.You can, for example, include the project's transaction or module pool in its name. All enhancement project names must be unique.Next, go to the project's attributes and enter a short text describing the enhancement project. The system inserts the entire project's other attributes (such as created by, created on, or status).Use the project management function to assign SAP enhancements to customer enhancement projects. Enter the names of the SAP enhancements you want to use on the appropriate screen.The search function gives you a catalog-like overview of existing SAP enhancements. From there you can select those enhancements that are of interest to you.Use the product management function to edit the components of your enhancement project.Depending on whether the component you are editing is a function module, a menu entry, or a SUB SCREEN, you branch to either the Function Builder, a dialog box for entering menu entries, or to the Screen Painter.Activation of an enhancement project affects all of its components. After it has been activated successfully, the project has the status active.During activation, all programs, screens, and menus containing components that belong to the project are regenerated (programs at the time they are executed). After activation, you can see the effect of the enhancements in your application functions.The Deactivate function allows you to reset an active enhancement project's status to inactive.When the enhancement project was created; you should have assigned it to a change request. Each of the comp[...]
LESSON 56 SAP MODIDICAITONS 2009-02-12T17:03:40.915+05:30 An object is original in only one system. In the case of objects delivered by SAP, the original system is at SAP itself. These objects are only copies in customer systems. This applies to your development system and all other systems that come after it.If you write your own applications, the objects that you create are original in your development system. You assign your developments to a change request, which has the typeDevelopment/Correction.This request ensures that the objects are transported from the development system into thesubsequent systems.Changes to an original are called corrections. They are recorded in a change request whose tasks have the type "Development/correction".If, on the other hand, you change a copy (an object outside its own original system), the change is recorded in a task with the type "Repair". Repairs to SAP objects are called modifications.When you repair your own objects (for example, if something goes wrong in your production system), you can correct the original in your development system straight away. When you change copies, you must correct the original immediately!However, you cannot do this with SAP objects, because they are not original in any of your systems.You should only modify the SAP standard if the modifications you want to make are absolutely necessary for optimizing workflow in your company. Be aware that good background knowledge of application structure and flow are important prerequisites for deciding what kind of modifications to make and how these modifications should be designed.Whenever you upgrade your system, apply a support package, or import a transport request, conflicts can occur with modified objects.Conflicts occur when you have changed an SAP object and SAP has also delivered a new version of it. The new object delivered by SAP becomes an active object in the Repository of your system.If you want to save your changes, you must perform a modification adjustment for the objects. If you have a lot of modified SAP objects, your upgrade can be slowed down considerably.To ensure consistency between your development system and subsequent systems, you should only perform modification adjustments in your development system. The objects from the adjustment can then be transported into other systems.A registered developer must register registers changes to SAP objects. Exceptions to this registration are match codes, database indexes, buffer settings, customer objects, patches, and objects whose changes are based on automatic generation (for example , in Customizing). If the object is changed again at a later time, no new query is made for the registration key. Once an object is registered, the related key is stored locally and automatically copied for later changes, regardless of which registered developer is making the change. For the time being, these keys remain valid even after a release upgrade.How do you benefit from SSCR (SAP Software Change Registration)?Quick error resolution and high availability of modified systemsAll objects that have been changed are logged by SAP. Based on this information, SAP's First Level Customer Service can quickly locate and fix problems. This increases the availability of your R/3 system.Dependable operationHaving to register your modifications helps prevent unintended modification. This in turn ensures that your R/3 software runs more reliably.Simplification of upgradesUpgrades and release upgrades become considerably easier due to the smaller number ofmodifications.If you want to change an SAP Repository object, you must provide the Workbench Organizer with the following information:SSCR keyChange RequestWe saw above how you get an SSCR key. If you now continue to change the object, you must confirm the following warning dialogs: At this point, you can still cancel the action without repairing the object.The Workbench Organizer asks you [...]
LESSON 57 MODIFICAITONS EXITEDED 2009-02-12T17:02:55.190+05:30 MODIFICAITONS EXITEDED:Modifications can be categorized as 'critical' if:They affect numerous other Repository objects (such as Dictionary objects or function modules) Modification adjustment is either difficult (as with menus, pushbuttons, and GUI interfaces up to 4.5A) or not supported by a tool (transaction codes, message classes, logical databases)Without the Modification Assistant (prior to Release 4.5A), both modifying GUI statuses and GUI titles, as well as assigning customer function modules to SAP function groups, should be considered 'critical' activities.SAP only changes the following Repository objects in an upwardly compatible manner. They should therefore be considered 'uncritical' by customers who want to call them:Function modules that have been releasedBAPIsIncludes for user exitsScreen, program, menu, and field exitsAfter an upgrade, you must test customer reports that call SAP objects, as well as all objects displayed in the upgrade utility SPAU. This is also true for Repository objects that have been automatically adjusted using the Modifications Assistant (from Release 4.5A).You must be familiar with the processing logic of your application in order to be able to adjust programs properly.Modification adjustment is not necessary if you avoid making changes to SAP objects.Use program enhancements and appends with SAP tables to enhance SAP objects in such a way that your changes cannot be overwritten by SAP at upgrade.From Release 3.0, you can use Online Correction Services to import and cancel Support packages and patches automatically (instead of having to insert preliminary corrections manually).Modification has the advantage that your live Repository objects do not lose their connection to the SAP standard. Copying, on the other hand, has the advantage that no modification adjustment will be necessary for your live Repository objects during subsequent upgrades.Choose copying instead of modifying if:You have to make numerous changes to an SAP programYour requirements will not be met by the standard in future R/3 releasesDuring copying, pay attention to a Repository object's environment as well. You should only decide whether to modify or copy after having informed yourself of the consequences for the main program, as well as for all of the includes attached to the main program. The same holds true for function groups and function modules.ABAP development projects can be evaluated according to the following criteria:What will implementation cost, measured in manpower (creating the concept, implementation, testing)?How will the ABAP development project influence:Production operation performance?The amount of adjustment at upgrade?By calling SAP objects in your own Repository object, you can drastically reduce the amount of effort needed to implement your object. However, any changes that SAP makes to the Repository object you choose to call may make extra adjustment necessary after an upgrade. For example, SAP could conceivably change the user interface of a screen for which you have written a batch input program.Naming conventions allow you to avoid naming conflicts and give your Repository objects meaningful names (that can be understood by others).The following naming conflicts can occur:An SAP Repository object and a customer Re pository object conflictSAP Repository objects and customer Repository objects should be separated from each other by strict adherence to SAP naming conventions. OSS note 16466 gives you an overview of the current naming conventions for customer Repository objects (usually names that begin with either Y or Z).Two customer Repository objects conflictNaming conflicts can also occur between customers Repository objects in decentralizedDevelopment scenarios where more than one development system is being used. You can avoid naming conflicts in this area by reserv[...]
USER EXITS IN DETAIL 2009-02-12T17:02:19.590+05:30 In computer software, a user exit is a place in a software program where a customer can arrange for their own tailor-made program to be called.In the R/3 system from SAP, a user exit is contrasted with a customer exit and allows a customer's developer to access program components and data objects within the R/3 system. In R/3, some user exits use Include statements to include customer program enhancements that are called from the program.Other user exits use tables that are accessed through customization.OverviewExtension of SAP functionalitySAP makes different possibilities available to extend SAP functionality in the R/3 without modifying the delivered R/3-Standard. Thus these extensions are further present also after a R/3-Release-Wechsel.• User exit• Field exit• Text extensions• Customer exit• Table extensions1. User exitUser exits are original one in the selling module (SD) developed expandability.They consist of empty subroutines (FORM) in special Includes, which can be filled by a ABAP Use developer.In special places in the SA P-CODE such subroutine references were inserted by SAP. An extension is thus only possible, where SAP planned it.They usually offer a rather rudimentary expandability, since purely technically objects in the SAP name area are modified.2. Field exitField exits are bypasses of a Dynprofield with data element purchase into a functional module. These will go through when leaving the Dynpros. There are global and local field exits.Global field exitsare not limited to a Dynpro. If a data element is used on several Dynpros, after activation of the field exit with all this Dynpros to a functional module one branches out.Local one field exitwork only on a Dynpro limited. There is the possibility of putting on bus to 36 local field exits to a data element.3. Text extensionsWith text extensions it acts around user keywords and user documentation (F1-Hilfe) to data elements. The new keywords can refer to SAP documentation and to user documentation. Thus one has also the possibility of overwriting the keywords delivered by SAP.With text extensions the changes are global effective for all SAP applications concerned contrary to application extensions after activation.4. Customer exitAn application function can be extended by application extensions by the customer. Customer exits must be intended by SAP. They consist generally of several components. The interface SAP/Kunde is clearly defined.With a R/3-Release-Wechsel and/or. Upgrade remain the customer extensions without effort.• Function exit• Menu exit• Dynpro exitA) Function exitBy functional module exits the customer can implement additional logic in an application function.SAP built such exits in different places into many application functions. Thus are the interfaces are already given, and/or which data handed over.These functional modules can be filled now by the customer. It can insert also user Dynpros with associated processing logic and GUI surface and put on user text elements.B) Menu exitMenu exits make it for the customer possible to build and occupy with a function code in an SAP application new menu entries.SAP determined, where in the program additional function codes are queried and like to it is being reacted, either by a functional module exit or by an already firmly given functionality.C) Dynpro exitDynpro exits permit the customer to arrange ranges of a dynpros reserved by SAP. Within these ranges large information can be indicated or data be seized. Those for this force fields by the customer on a user Dynpro are arranged.In DetailsWhat is User Exits?The following document is about exits in SAP: -The R/3 enhancement concept allows you to add your own functionality to SAP’s standard business applications without having to modify the original applications.SAP creates user exi[...]
SAP USER EXITS 2009-02-12T17:00:51.771+05:30 Locating User ExitsBefore you can add functionality to a SAP system, you need to be able to locate the appropriate user exits. SAP has provided around 2000 user exits.Searching from transaction CMODSearching from the Application HierarchyMaking your own customized searchKeep in mind that you must first search for an enhancement. Once you find an enhancement, you can display its components -- the actual user exits. Then you need to include the enhancement containing the required user exit as a component in your own project.Method #1: Using Transaction CMOD - Transaction CMOD contains search functionality to help locate enhancements.- Selecting the "Utilities -> SAP enhancements" menu path in transaction CMOD will take you to an enhancement selection screen .- You can limit the search for enhancements based on: Enhancement name Development class- After clicking on the ‘Execute’ pushbutton (or ‘F8’) on the selection screen, the system will display a listing of the development classes that contain enhancements (see graphic above).- From this listing, you can double-click a development class to display its enhancements.- If you have clicked on the ‘Display components’ pushbutton on the selection screen (see graphic on previous page), the components of each enhancement will automatically be displayed.Remark: To use this search method one must either know the part of the enhancement name or the development class. But if one looks at SAP’s naming convention for user exits (see note below), the screen numbers/program names/ function codes/etc are contained in the components name and there is no scope for that in selection options. Also one cannot restrict the search to only one type of exit.Method #2: Using SAP Application Hierarchy- Selecting the "Overview -> Applic. hierarchy -> SAP" menu path in the ABAP/4 Development Workbench will take you to a listing of all standard SAP applications and components .- To locate a user exit for a particular application, follow these stepsfrom the SAP Application Hierarchy:- Select the appropriate application by single clicking on it.- Choose the "Edit Sel./desel. subtree" menu path.- Click on the ‘Repository Infosys.’ pushbutton.- This will take you to the ABAP/4 Repository Information System.- Double click on the ‘Environment’ branch.- Double click on the ‘Customer enhancement’ branch.- Double-click on the ‘Customer exit’ branch.- This will take you to the customer exit (or enhancement) selection screen with the appropriate development class for the application selecting on the Application Hierarchy.- Click on the ‘Execute’ pushbutton.- This will take you to a listing of all enhancements that meet the selection criteria.From this listing, you can display the components of each enhancement and the documentation. You will be taken automatically to transaction SMOD from the ABAP/4 Repository Information System.Remark: To use this one must have knowledge about the application hierarchy to which that particular enhancement belongs. Also one has to explode individual enhancements to identify weather the component is contained in that enhancement.Like previous method, there is no scope for selection option on the components name.Method #3: Writing a small report programThe details about projects, enhancements and components are contained in two SAP tables: MODSAP: containing enhancement name, type of exit and component MODACT: containing project name and enhancementsThus by writing a report program to retrieve data from these two tables, you can customize your search requirements. Code for one such sample program is attached in annexure A and the corresponding transaction code to execute this program is YSMD .Using this you can list all components that match a particular[...]
LESSON 35 BASICS OF INTERACTIVE REPORTS 2009-02-12T16:59:32.745+05:30 BASICS OF INTERACTIVE REPORTS:When the user starts an executable (type 1) program, the program context and memory space for data objects (variables and structures) are made available on the application server. The subsequent program flow is controlled by the ABAP runtime system.If the program contains a selection screen, the ABAP runtime system sends it to the presentation server at the start of the program.Once the user has finished entering data on the selection screen, he or she chooses 'Execute' to tell the system to start processing the rest of the program. The data entered on the selection screen is automatically placed in the corresponding data objects. The ABAP runtime system takes over control of the program.In this simple example, there is only one ABAP processing block to be processed by the runtime system.This processing block contains a read access to the database. The program sends information to the database about the records that should be read.The database returns the required database records and the runtime system ensures that the data is placed in the relevant data objects.The list output is also programmed in the processing block. After the processing block finishes, the runtime system sends the list as a screen to the presentation server.Selection screens allow users to enter ranges of values. They are normally used to define the set of data that needs to be read from the database.As well as the normal graphical elements (group boxes, checkboxes, radio buttons, and so on) that you use in screens, selection screens also have input/output fields (PARAMETERS) and special groups of input/output fields (SELECT-OPTIONS).You place a single input/output field on the selection screen using the PARAMETERS statement.You can use the SELECT-OPTIONS statement to place a group of fields on the screen that allows users to enter complex selections. The selection may be a single value, or any form of interval (discrete or continuous). You can also use patterns. (See following slides).You can create variants for selection screens.If you declare an input field with reference to an ABAP Dictionary field, any search helps defined for the Dictionary field will be available on the selection screen.Selection texts can be translated into other languages. They are then displayed in the user's logon language.Selection ranges are stored in programs using an internal table.The ABAP statement SELECT-OPTIONS FOR declares an internal table called , containing four fields - SIGN, OPTION, LOW, and HIGH. The fields LOW and HIGH have the same type as the field .The SIGN field can take the value 'I' (for inclusive) or 'E' (for exclusive).The OPTION field can contain relational operators, pattern operators, and operators that allow you to enter intervals.For more information about selection ranges, choose Goto -> Selection screen help from any selection screen.To define a selection screen, include the required PARAMETERS and SELECT-OPTIONS statements in your data declarations. If you define more selection screens than just the standard selection screen, you must enclose the additional definitions in the statements SELECTIONSCREEN BEGIN OF SCREEN and SELECTION-SCREEN END OF SCREEN where is the number of the selection screen.For information about other graphical elements that you can place on a sele ction screen, such as group boxes, checkboxes, radio buttons, references to input fields on other selection screens and so on, see the keyword documentation for the SELECTION-SCREEN statement The standard selection screen is displayed by the ABAP runtime system when the program starts.User-defined selection screens are displayed when you use the statement CALL SELECTIONSCREEN . This statement sets the return code sy-subrc to zero if the user ch[...]
LESSON 37 Interactive List Techniques 2009-02-12T16:58:48.408+05:30 INTERACTIVE LIST TECHNIQUES:When a user chooses a function from a list, it triggers that function's function code. This function code, in turn, triggers a corresponding event.Some function codes are reserved for use by the system and therefore do not trigger an interactive event when the user chooses them (that is, the system does not return to the program). Instead these codes trigger a corresponding system function.All function codes with the exception of "PICK" as well as all codes reserved for system use trigger the event AT USER-COMMAND. For more information, refer to the Program Interface unit.The statement MODIFY LINE modifies the first line of the list. The values stored in the hide area for this line are placed in the corresponding fields, and are thus available in the program.The statement MODIFY CURRENT LINE changes the last line to have been chosen by line selection or the READ LINE statement (even if it was in a different list level).If you use the LINE FORMAT addition, the selected line is formatted according to thespecifications , , ...The addition FIELD VALUE replaces the field contents of , , ... in the list line with the current values of , , ... (all values are converted to type C).The contents of , , ... themselves are not replaced.If a field from the line being modified is displayed more than once, that line will only be modified the first time it is displayed.The LINE VALUE FROM addition allows you to replace the entire line being modified with the current contents of field .The FIELD statement, allows you to find out the name of the field in which the cursor is positioned. The name of the variable from which the value comes is placed in the field . However, for the sort criterion, you only use the name of the field as it appears in the table definition. You therefore need to use an offset specification to find out the field name. The offset is the length of the structure name plus one character for the hyphen.The name of the output field is provided in the field specified in the FIELD parameter. The output value is contained in the field specified in the VALUE parameter.The operation sets the return code sy-subrc.sy- subrc = 0: The cursor was positioned on a field.sy- subrc = 4: The cursor was not positioned on a field.Caution: Do not use the value from the VALUE parameter as a selection criterion in a SELECT statement. If it is not a character field, the system will convert its type, which could lead to undesired results. It is better to use the hide technique instead.Before you find out the sort field, check that the user placed the cursor on a valid line. If this is not the case, you should display an appropriate message.Decreasing the list level (changing the value of sy-lsind) should always be the last action before you display the list buffer. This system field determines the list level at which the new list is displayed. The hide area and list buffer of any higher list levels are automatically initialized.You can use system field sy-lsind to determine the list level at which the list is displayed. In the example above, list level 2 where the list is sorted according to the number of unoccupied seats is being displayed. The statement sy-lsind = 1 causes the list to be displayed at list level 1, thus replacing the list sorted according to date, which would normally be displayed first.You cannot assign a value to sy-lsind that is greater than the current value of the field assigned by the system. This means you cannot bypass list levels in ascending direction.You should only change sy-lsind in the last statement before the list is displayed, since changing the value does not always lead to an immediate change of list level. The new list level is assigned to the list at [...]
ABAP Project Overview XI 2009-02-10T08:52:23.984+05:30 MANAGING ABAP PROJECT OBJECT-ABAP PROJECT OVERVIEW:TeamSAP is the coordinated network of people, processes & products from SAP & partners that delivers fast, integrated and assured solutions over time.There are three key components: People, Processes, and Products.The people component represents SAP and its partners. Any R/3 implementation team is usually composed of multiple organizations which bring different skills to the table.Our objective with TeamSAP is to ensure that the right vendor skills are coordinated, at the right time, with appropriate quantities and management.The product, SAP’s Business Framework, is a vital piece of TeamSAP because it’s the platform on which SAP and non-SAP applications work together. It also provides the flexibility to change over time and includes R/3 business components, integration technologies, and open interfaces that allow R/3 and complementary partner software to operate together.Third party software and hardware products are certified by SAP within this infrastructure. Certification programs for TeamSAP partners that are part of the Business Framework include Joint Development Partners, Certified Interface Partners, and Technology Partners.The processes represent SAP an its partners working together to synthesize the knowledge gained in over 11,000 completed R/3 installations. Three key areas that reflect this experience: the ASAP Roadmap and accelerators, Business Engineer, and Services, Support and Training.AcceleratedSAP (ASAP) is SAP’s total process-oriented solution for accelerated implementation and continuous optimization of R/3. ASAP was developed and enhanced with the knowledge of a team of international consultants. It consists of the ASAP Roadmap, tools, service & support and training.The ASAP Roadmap is an implementation plan that includes detailed descriptions of why, when, how, and by whom certain jobs should be completed. The ASAP Implementation Assistant is the ASAP Roadmap browser. The ASAP Roadmap contains technical information and numerous accelerators (questionnaires, project forms, and check lists), with which you can start your implementation project.The Business Engineer makes up the backbone of ASAP within the R/3 system.Additional ASAP tools include the Project Estimator, with which project costs and time can be analyzed in cooperation with your consultant, and the Q&A database for creating a business blueprint.ABAP Workbench Tools are implemented in the following project phases:Phase 1: Project Preparationno ABAP Workbench toolsPhase 2: Business Blueprintprocess design template, technical design template, Data Modeler, Screen Painter (Early Prototype Screens), Menu PainterPhase 3: Realizationall ABAP Workbench toolsPhase 4: Final PreparationTest Workbench, tuning tools, LSM Workbench (Legacy System Migration)Phase 5: Go Live and Supporttuning tools (in particular workload analysis)Large reengineering projects are initiated at either phase 1 or phase 2.Depending on the scope and complexity of your project the roles described below could fall to one and the same person.The steering committee consists of those people from the board of directors initiating and sponsoring the project and the committee has ultimate authority over which direction the project takes.Project management is responsible for the R/3 implementation project as a whole. Project management plans the proje ct (budgets, deadlines, personnel, functions), resolves conflicts and delivers status reports to the steering committee.Project coordination is responsible for standardization and marketing the project within the company.In addition, the responsibility for project logistics belongs to the project coordinators.Develo[...]
Implementing a SAP Project 2009-02-10T08:52:39.381+05:30 Successfully Implementing SAPImplementing a package can be a traumatic affair for both the customer and the vendor. Get it wrong and the vendor may get paid late or have to resort to lawyers to get paid and tarnish their reputation. For the company the new package may not work the way they expected, be late or cost a more than budgeted for and take management will take their eye off running their business.Recently a client asked me what I would consider to be the five most important things one should consider before embarking on an implementation.top five factors to consider would be:1. Set up a Project Board,2. Secure the resources,3. Complete the GAP Analysis,4. Have detailed Cut Over Plans,5. Train the users.Taking each one in turn:The Project BoardThe correct set up and operation of the Project Board in my view is major factor in the success failure of the project. The Project Board will consist of the stakeholders, key users and the vendor. The Project Board is part of the governance of the project. The Project Board will meet regularly to ensure that the project plans are created and being executed as planned, moves from stage to stage with all the deliverables being signed off is resourced properly.The ResourcesThree types of resources are absolutely necessary -- end users, change team and technicians.Early involvement by the end users is absolutely necessary, as they will be the ones living with the system for hopefully many years to come. They will want to feel involved in its implementation. Buy in from the end users of the system is absolutely essential if the system is to have a long and stable life in any organisation.The Change Team will identify the gaps between the package and the business requirements, re-engineer some of the businesses process to cope with the package, train the users to ensure implementation is smooth as possible into the business.The Technical Team will prepare the systems environment for the package, apply any software fixes from the vendor, implement the software in the best way possible for the organisation set up and tune the software for the particular technical environment.GAP AnalysisA through gap analysis will identify the gaps between how the business operates ad its needs against what the package can can't do. For each gap there will be one of three outcomes which must be recorded and actioned, GAP must be closed and customised software can be developed close the gap, GAP must be closed but software cannot be written therefore a workaround is required, GAP does not need to be closed.In simple terms:Gap means small cracks. In SAP world. In information technology, gap analysis is the study of the differences between two different information systems or applications( ex; existing system or legacy system with Client and new is SAP), often for the purpose of determining how to get from one state to a new state. A gap is sometimes spoken of as "the space between where we are and where we want to be." Gap analysis is undertaken as a means of bridging that space.Actual gap analysis is time consuming and it plays vital role in blue print stage.Cut Over PlansDetailed plans need to be developed for cutting over from the old system(s) to the new. Parallel runs of what will happen over the conversion period using test data, convert and watch for a period after wards to ensure nothing unexpected happens.Train UsersWell trained users will support and defend the system on site. Unsupportive users will continually undermine the system and eventually it will be replaced. Therefore the more effort you put into helping the users master the system early the better.Difference between the User Exit & Gap analysis.Both[...]
EDI and International Standards for SAP 2009-02-10T08:49:40.576+05:30 Electronic Data Interchange (EDI) as a tool for paperless inter-company communication and basic instrument for e-commerce is heavily regulated by several international standards.Unfortunately, it is true for many areas in the industry that an international standard does not mean that everybody uses the same conventions.Too many organizations play their own game and define standards more or lesscompatible with those set by competing organizations.The main contenders are the national standards organizations and private companiesversus the big international organizations ISO and ANSI.The private companies being backed up by their country organizations usually fightfor maintaining conventions, which have been often established for many years withsatisfaction.The American National Standards Organisation ANSI and the internationalpartner International Standards Organization ISO will usually fight for a solid openstandard to cover the requirements of everybody.This generally leads to a more or less foul trade-off between pragmatism andcompleteness. Tragically the big organizations put themselves in question. Theirpublications are not free of charge. The standards are publications which cost a lotof money. So they mostly remain unread.Nowadays computing standards have mostly been published and established byprivate organizations who made their knowledge accessible free of charge toeverybody. Examples are manifold like PostScript by Adobe, HTML and JavaScriptby Netscape, Java by SUN, SCSI by APPLE, ZIP by PK Systems or MP3 by – whocares, XML by W3C and EDIFACT by the United Nations Organization UNESCO.The well-known standards EDIFACT, X.12 and XML have similar characteristics and aredesigned like a document description language. Other standards and R/3 IDocs are based on segmented files.ANSI X.12 is the US standard for EDI and e-commerce. Why is it still thestandard? There are chances that X.12 will be soon replaced by the more flexibleXML, especially with the upcoming boost of e-commerce. ANSI X.12 is adocument description language.An ANSI X.12 message is made up of segments with fields. The segments have asegment identifier and the fields are separated by a special separator character, e.g. an asterisk.BEG*00*NE*123456789**991125**AC~EDIFACT was originally a European standard. It became popular when chosen bythe UNO for their EDI transactions. EDIFACT is a document description language.EDIFACT is very similar to ANSI X.12 and differs merely in syntactical details andthe meaning of tags.XML and the internet page description language HTML are both subsets derivedfrom the super standard SGML...The patent and trademark holder of XML describes theadvantages of XML very precisely as follows.1. XML is a method for putting structured data in a text file.2. XML looks a bit like HTML but isn't HTML.3. XML is text, but isn't meant to be read.4. XML is verbose, but that is not a problem.5. XML is license-free and platform-independent.And XML is fully integrated in the world wide web. It can be said briefly: XMLsends the form just as the customer entered the data.XMLThis is an excerpt of an XML EDI message. The difference from all other EDI standards is that the message information is tagged in a way that it can be displayed in human readable form by a browser.XML differs from the other standards. It is a document markup language like itssister and subset HTML.XML defines additional tags to HTML, which are specially designed to mark upformatted data information.The advantage is that the XML message has the same information as an EDIFACTor X.12 message. In addition, it can be displayed in an XML capable web browser .[...]
EDI Converter for SAP 2009-02-10T08:49:02.917+05:30 R/3 does not provide any tool to convert IDocs into international EDI format like ANSI X.12, EDIFACT or XML. This conversion needs to be done by an external add-on product which is Provided by a variety of companies who specialize in general EDI and e-commerce solutions.R/3 does not provide conversion to EDI standard formats like X.12, EDIFACT or XML.Converters exist on UNIX and PC platforms. Many converters are simple PC programs. R/3 certification only guarantees that the converter complies to RFC technology and works fine with standard IDoc scenarios. Real life situations require a flexible and easily adaptable converter program. SAP R/3 has foregone implementing routines to convert IDocs into international EDI standard formats and forwards those requests to the numerous third party companies who specialize in commercial EDI and e-commerce solutions.. Nearly every standard organization defined an own EDI standard for their members. So there is X.12 by ANSI for the US, EDIFACT/UN adopted by the United Nations Organization UNO or XML as proposed by the internet research gurus of W3C. But there is still more about it. All major industry companies define an additional file format standard for their EDI partners. Even if they adhere officially to one of the big standards, they yet issue interpretation guidelines with their own modifications according to their needs. If a company does not play in the premier league of industry or banking companies, it will have to comply with the demands of the large corporations. As this leads to the insight that there are as many different EDI formats as companies, it is evident that an EDI converter needs to have at least one major feature, which is flexibility in the sense of openness towards modification of the conversion rules. There are hundreds of converter solutions on the market not counting the individual in-house programming solutions done by many companies. EDI is a market on its own. Numerous companies specialize in providing EDI solutions and services. The majority of those companies also provide converters. Many of the converters are certified by SAP to be used with R/3. However, this does not tell anything about the usability or suitability to task of the products.
SAP EDI introduction 2009-02-10T08:48:33.848+05:30 EDI is the electronic exchange of business documents between the computer systems of business partners, using a standard format over a communication network. EDI is also called paperless exchange.Why do we need EDI ?Business scenario :A customer who wants to purchase an item creates a purchase order and then faxes or mails it to the vendor.The vendor receives the purchase order and manually keys in a sales order. The vendor's system generates a confirmation date that is sent back to the customer via fax or mail. The vendor then ships the goods via a carrier. The carrier delivers the products to the customer.When the goods are shipped, the vendor invoices the customer. The customer makes the payment by check, and the vendor deposits the check in the bank. Finally, funds are transferred from the customer's account to the vendor's account.This simple scenario requires the exchange of various documents between several business partners at different times.A business process is a series of actions or functions that bring about a business result, and as such there are some inherent problems with this scenario. They areIs highly inefficient and laborious · Cannot be tracked easily · Gives no visibility into the process · Has a very long lead time · Includes redundant data entry at various points.The electronic exchange of business documents in a standard format gave birth to what is now known as EDI.Benefits of the EDI Process :1.Reduced data entry errors: EDI does not involve data entry at multiple points. In the traditional process, a sender creates a purchase order on the system, prints the order, and then faxes or mails it to a trading partner. The receiver then rekeys the same information on his or her computer. The process is prone to data entry errors. This procedure is repeated when invoicing takes place. With EDI, data goes directly from one computer to another without involving a human being.2· Reduced processing cycle time : The biggest advantage is the reduced processing time of the complete cycle. As soon as orders are entered into the system, they can be processed on the receiving side in seconds. There is a considerable savings in the processing time of document transfer.3. Availability of data in electronic form : Data from EDI is in electronic form, which makes it easy to share across the organization.4· Reduced paperwork : The entire EDI process can be handled without using a single piece of paper.5· Reduced cost : Time is money. Any savings in time is directly linked to savings in money. The initial cost of an EDI setup is certainly higher compared to the paper process, but over a long period it is very cost−effective.6·Reduced inventories and better planning : Companies do not have to keep a safety stock for the time taken with order processing. Changes to planning schedules can be communicated instantaneously. MRP (Material Requirements Planning) can take into account a shipment in transit as soon as an Advance ship notice (EDI 856) transaction is received.7·Standard means of communication : Because EDI enforces standards on the contents of data,uniform naming standards and field sizes have emerged. Such consistency leads to clearer communication and less ambiguity.8·Better business processes : Compared to traditional methods of exchanging business documents, EDI is certainly a better way of communicating with your trading partners. Companies are willing to share information and participate in inter−organizational issues. This environment enhances supply−chain management.9·Competitive advantage: In many cases, companies that have imple[...]
SAP Business Process using EDI 2009-02-10T08:47:53.430+05:30 In the process of buying and selling goods, partners exchange business documents at various times. These documents record the process of creating and executing a contract for sales of goods or services. While many of these documents help to meet legal requirements, they are also all significant factors in the efficiency of processing a particular sales transaction. Well−run businesses pay a lot of attention to optimizing these business processes, and EDI frequently plays a major role in efforts to improve speed and efficiency. Many modern business process designs are feasible only because of the existence of EDI technology. Documents Exchanged with Customers :Between a customer and a supplier, it is the customer who typically drives the EDI requirements. The following are key business documents exchanged between a customer and supplier.
A carrier is a party who undertakes the transportation of goods. The following documents are exchanged during the transportation process.
SAP EDI Process Components 2009-02-10T08:46:15.669+05:30 An EDI process is a transfer of one or a sequence of electronic messages.It involves senders, receivers, language, content, and a medium. In EDI, the senders and receivers are called trading partners, and the X12 or EDIFACT standards supply a common language for formatting the information content of common messages. Software tools called translators enable trading partners to converse in a standard language, and application programs (such as SAP R/3), coupled with networking facilities such as the Internet or a commercial VAN (Value−Added Network), supply the messaging medium. Trading Partners Parties involved in a business transaction are called trading partners. The trading partners can be any combination of organizations or business types. For example, customers and vendors are trading partners. Business Documents A business document is a legal document that defines the transaction conducted between trading partners. The legal boundaries for these transactions are defined by trade agencies, trading partners, and the ISO (International Standards Organization). The trading partners are bound by the terms and conditions of these documents. Numerous business documents are in existence today. Examples of some typical business documents follow.
EDI Messages
SAP EDI Process Components II 2009-02-10T08:46:59.788+05:30 This post is in continuation with EDI Process components part one .Transaction : A transaction is the electronic equivalent of a business document. A transaction is usually divided into three areas: header area, detail area, and summary area. The header area consists of segments that apply to the entire document, and is usually mandatory.For example, in a purchase order, vendor number and vendor address are part of the header segments. The detail area contains document details. The items being ordered and their quantities are considered detail segments. The summary area consists of data that summarizes the entire document, and the total amount and taxes are part of the summary segments.Segment : A segment is equivalent to a record in a document. A data segment has the following attributes: a unique ID, a name, a flag indicating whether it is optional or mandatory, and a number of occurrences. A group of segments can be combined to form a loop, which can also be mandatory or optional, and can be nested as well.Segments are contained in a segment directory .A segment consists of a sequence of logically related data elements. Data elements are separated by a data element separator and can be mandatory or optional. Some data elements are conditional, or mandatory, in certain situations.Data Elements : Data elements are the smallest unit of information in a transaction and are defined in the data element dictionary (X12.3). A data element is identified by a data element reference number, a data type, and a minimum and maximum length.UN/EDIFACT (United Nations EDI for Administration, Commerce, and Transport) was formed in 1985, using the ANSIX12 and UNTDI (United Nations Trade Data Interchange) as the base standards. The purpose of the standard was to develop an international standard to meet the needs of a global economy.Most companies are moving toward adopting EDIFACT because of its international recognition. EDIFACT is quite similar to ANSI X12, with some minor differences in terminology and layout.EDIFACT calls business documents messages and represents them by a name such as ORDERS for a purchase order, whereas ANSI X12 calls them transactions and represents them by a number such as 850 for a purchase order.EDIFACT uses different terminology for fields. Conditional fields of EDIFACT are the same as optional fields in ANSI X12.EDIFACT uses the same segment in multiple places, whereas ANSI has a specific use for each segment.EDIFACT has additional segments that apply to international trade.Application ProgramsApplication programs are responsible for generating and processing data in business documents. These application programs are part of the application suite commonly referred to as ERP (Enterprise Resource Planning). ERP systems meet a broad range of a company's business needsSAP R/3 is an example. Most ERP vendors recognize the business needs for EDI and thus enable their software to support EDI processes. An ERP system must do the following:Support standard EDI transactions in the business area of interest. For example, if the focus of a company is shipping and distribution, the software must support basic shipping transactions. Make the data necessary for EDI messages readily available. Document the EDI processes and functionality. Be flexible enough to incorporate business requirements within the existing process. Provide support for enhancing existing transactions. Contain easily configurable and manageable systems. Contain a sufficient number of control points to meet business[...]
SAP EDI Standards 2009-02-10T08:44:05.301+05:30 SAP provides the application logic, application data, and format for the data contents for EDI. Third−party software vendors supply the other pieces. EDI−enabled applications in SAP are capable of generating IDoc (Intermediate Document) data from an SAP document or reading IDoc data and creating application documents.The application must understand the syntax and semantics of the data in the IDoc format. In the case of outbound processes, a separate selection program reads application data and creates an IDoc, as shown in Figure below. Similarly, for inbound processes, a posting program reads IDoc data to create an application document. In the standard SAP system, several EDI−enabled applications in various modules are capable of generating and processing IDoc data, but all EDI documents are not supported. It is very likely that SAP supports the business process but not the creation or processing of IDocs. However, with every release of SAP, the list of supported IDocs grows considerably.Note An application that is not EDIenabled can be enabled by developing the selection and posting programs and IDoc structures. SAP provides a comprehensive set of tools for developing IDocs and programs.(24.3)
EDI Outbound Process 2009-02-10T08:43:27.270+05:30 Here i am going to present the overview of EDI process in SAP. The SAP EDI process comprises two distinct processes. The outbound process sends documents from the SAP system to a business partner (vendor, customer, bank). Figure below shows the outbound process at a very high level. The outbound process consists of six steps.1.The application document is created: The first step in the outbound process involves creating an application document such as a purchase order or sales order and saving it in the database tables. This step is no different from the way in which these documents are normally created. It is the following steps that have relevance to EDI. The document is created and leaves some hooks for the EDI process to begin.2.The IDoc is generated : The application document just created is now formatted to an IDoc format. At this point you can think of IDoc as yet another format in which the application document has been represented. For example, think of how a date can be stored in different formatsimagine a date as a document with three components: day, month, and year.In one case, you represent it as MM/DD/YYYY, a standard American way of representing a date. To make it meaningful for a German partner, you have to represent it as DD.MM.YY. IDocs follow a similar concept of representing information in different ways. The data in the application document format is suitable for the application modules, screens, and internal programs.3.The IDoc is transferred from SAP to the operating system layer : The IDoc created in Step 2 resides in the SAP database repository. This IDoc document must be passed down to the operating system layer for processing by the EDI subsystem. In Step 3, the IDoc is transferred to the operating system as a text file. The document is still in an IDoc format. The only difference is the medium of storage.4.The IDoc is converted to EDI standards : The IDoc format is an SAP proprietary format. For EDI purposes, the document in IDoc format has to be converted into an EDI standard format. Third−party software called a translator carries out the transformation process and reports status back to the SAP system.SAP refers to these translators as EDI subsystems, and has certified several subsystems for connectivity to SAP. SAP takes no responsibility for translation. Thus, from SAP's perspective, after the IDoc is delivered to the subsystem, SAP does not have control over the process, but it maintains the status reported by the EDI subsystem.5.The EDI document is transmitted to the business partner : After the document is converted to an EDI standard format, it is transmitted to a trading partner based on the partner's EDI settings. This step is not part of the SAP EDI architecture, but is mentioned here to describe the complete process from a business perspective.6.The EDI subsystem reports status to SAP : When an IDoc is under the control of the EDI subsystem, the subsystem can optionally report the state of processing at various milestones back to the SAP system. This mechanism is always recommended because it provides complete visibility of the process from within SAP, and the user does not have to be involved with the intricacies of the EDI subsystem.(26.2)[...]
What is inbound EDI Process 2009-02-04T13:21:51.006+05:30 The inbound process simply reverses the steps of the outbound process. The inbound process receives an EDI document (such as a purchase order response, sales order, or payment information) from a business partner (such as a vendor, a customer, or a bank) and creates SAP documents from it. Figure at the bottom of the post shows the inbound process at a very high level. The inbound process consists of five steps. 1.The EDI transmission is received : EDI documents are received from a business partner via the VAN. These documents are in one of the EDI standard formats. The documents are deposited in a common repository for the subsystem. This part of the process is not part of the SAP EDI architecture. 2 .The EDI document is converted into an IDoc:The EDI−specific headers and trailers are stripped off, and the document is converted into an IDoc format suitable for SAP applications. The process is carried out at the EDI subsystem level. 3. The IDoc is transferred to the SAP layer : The IDoc created in Step 2 is stored in a text file at the operating system layer. The subsystem starts an inbound program in the SAP layer. This program reads the IDoc file and creates an IDoc in the SAP repository for further processing. 4. The application document is created : The IDoc received from the subsystem is passed to a posting program. This program creates an application document such as a sales order, purchase order acknowledgment, invoice, or shipment notice. 5. The application document can be viewed: The application document created via EDI is the same as any document created manually in the system: The document can be viewed using standard application transactions. For example, if an incoming sales order was created via EDI, you could view the sales order document via transaction VA03. Exception Handling via Work flow : Exceptions can occur at any point during either the outbound or inbound process. They are caused by technical problems (such as network connectivity failures or file system problems), data−related problems (such as data that is formatted incorrectly or missing), or a combination of both. Workflow provides a very sophisticated method for managing the exception−handling process. Based on the type of error, workflow can be configured to identify the persons responsible for handling the problem, notify them in a timely manner, and provide a mechanism for making the necessary correction. After the problem is fixed, the process can be restarted from the point of failure.(27.2)
SAP Out bound EDI Process Over view 2009-02-04T13:26:41.055+05:30 The outbound process uses IDoc types, Message control, partner profiles, port definitions, selection programs, service programs, and tables to generate an IDoc.The IDoc StructureThe EDI document to be generated has an equivalent message type defined in the SAP system. The message type is based on an IDoc structure. For example, if you are going to generate EDI transaction 850, which is a purchase order, the message type ORDERS is assigned in SAP to purchase orders. This message is based on IDoc type ORDERS01 and ORDERS02.Selection ProgramsSelection programs, which are typically implemented as function modules, are designed to extract application data and create an IDoc. A selection program exists for each message type. The programs are generally named with the following naming convention:IDOC_OUTPUT_message typeThe naming convention mentioned here is not a rule, but it is a common practice for naming the outbound programs.These function modules have a standard interface for input and output parameters. A process code is assigned to each selection program that executes under Message control. Because process codes are flexible, you can assign any processing option to a process code. A process code can point to a function module or a workflow. In the standard system, process codes always point to a function module.Message ControlMessage control is a cross−application technology. It is used in pricing, account determination, material determination, and output determination. The message control component enables you to encapsulate business rules without having to write ABAP/4 programs. In the EDI process, Message control determines and processes the various outputs associated with an application document (for example, EDI, printed output, fax, confirmation, and mail).The Port DefinitionPort is used in the outbound process to determine the name of the EDI subsystem program ,the directory path where the IDoc file will be created at the operating system level, the IDoc file names, and the RFC destination.The RFC DestinationRFC (Remote Function Call) destination is the term used to define the characteristics of communication links to a remote system on which a function needs to be executed. In EDI, it is used to specify information required to gain access to the system on which the EDI subsystem is installed.The Partner ProfileA partner profile specifies the various components used in an outbound process (partner number, IDoc type, message type, port, process code), the mode in which it communicates with the subsystem (batch versus immediate), and the person to be notified in case of errors. A partner profile is created for each business partner, and a record exists for each outbound message sent to a business partner.For example, if two outbound messages (purchase order and purchase order change) are being sent to vendor number VEN001, a partner profile must exist for VEN001, and two outbound records (one for each message type) must exist in the partner profile. The partner profile is an important and frequently referenced component.Service Programs and Configuration TablesThe asynchronous outbound process can be seen as a sequence of several processes that work together. SAP provides service programs and configuration tables to link the various components and provide customizing options for an outbound process. The process flow for the outbound process describes the role played by [...] |
|||||||