Saturday

WORKFLOW

SAP Workflow

SAP workflow is a tool to automate complex business processes where there is more than one user involved. sap workflow maps the position in organization because sap believes that positions are more stable than the people.

SAP workflow is a process tool that is designed to facilitate and automate business processes involving the tasks sequence performed by the users (people in the workplace) and ensure that the right work is assigned in the right sequence at the right time to the right person in the workflow. the sap workflow can be linked to other software tools such as microsoft outlook or lotus notes. using sap workflow, each step of a business transaction can be easily monitored throughout the initiation and completion of the business processes. the sap workflow enables the process owners to track deadlines, determine the workload as well as provide statistics on the length of time to complete work processes.

The key components of the sap workflow include the workflow definition, work items, events triggers and the organizational structure in the workplace.

Why use sap workflow?

SAP Workflow ensures " the right work is brought in the right sequence at the right time to the right people". It is a tool designed to facilitate and automate business processes that require tasks to be performed by people. Ideal for casual or non-SAP users, since all the work items can be performed outside of SAP by simply responding to an email, SAP workflow can be linked to Microsoft Outlook or Lotus Notes. Each step of a business transaction can be easily monitored and processes are completed from the beginning to the end. Workflow allows process owners to keep an eye on deadlines, provides statistics on the length of time to complete work processes, determine the workload with regard to individual employees and save processing time.


Since Workflow delivers work items to employees automatically via email, they do not have to wait or inquire about the status of a particular transaction. SAP Business Workflow can also be used to respond to errors and exceptions - it can start when predefined events occur. For example, an event can be triggered if particular errors are found during an automatic check of the data SAP workflow is particularly useful when there is a business process involving more than one person, when an automatic notification can replace a manual communication and when there is a defined set of individuals and/or documents implicated. It organizes one's work, alerts users and directs traffic by sending work items - once the user executes the work item, then another one can be sent to another user. For example, a Manager could use workflow to approve a vacation request from an employee. The workflow application would ensure that each person involved uses the correct online form and successfully completes their step before the planned leave was entered into SAP - either by an Administrator or automatically. By the same token, if someone registers for a training class, Workflow can act as an alert tool by notifying the supervisor in question or reminding the individual of an upcoming class.


Since Workflow delivers work items to employees automatically via email, they do not have to wait or inquire about the status of a particular transaction. SAP Business Workflow can also be used to respond to errors and exceptions - it can start when predefined events occur. For example, an event can be triggered if particular errors are found during an automatic check of the data SAP workflow is particularly useful when there is a business process involving more than one person, when an automatic notification can replace a manual communication and when there is a defined set of individuals and/or documents implicated. It organizes one's work, alerts users and directs traffic by sending work items - once the user executes the work item, then another one can be sent to another user. For example, a Manager could use workflow to approve a vacation request from an employee. The workflow application would ensure that each person involved uses the correct online form and successfully completes their step before the planned leave was entered into SAP - either by an Administrator or automatically. By the same token, if someone registers for a training class, Workflow can act as an alert tool by notifying the supervisor in question or reminding the individual of an upcoming class.

Since Workflow delivers work items to employees automatically via email, they do not have to wait or inquire about the status of a particular transaction. SAP Business Workflow can also be used to respond to errors and exceptions - it can start when predefined events occur. For example, an event can be triggered if particular errors are found during an automatic check of the data SAP workflow is particularly useful when there is a business process involving more than one person, when an automatic notification can replace a manual communication and when there is a defined set of individuals and/or documents implicated. It organizes one's work, alerts users and directs traffic by sending work items - once the user executes the work item, then another one can be sent to another user. For example, a Manager could use workflow to approve a vacation request from an employee. The workflow application would ensure that each person involved uses the correct online form and successfully completes their step before the planned leave was entered into SAP - either by an Administrator or automatically. By the same token, if someone registers for a training class, Workflow can act as an alert tool by notifying the supervisor in question or reminding the individual of an upcoming class.

Since Workflow delivers work items to employees automatically via email, they do not have to wait or inquire about the status of a particular transaction. SAP Business Workflow can also be used to respond to errors and exceptions - it can start when predefined events occur. For example, an event can be triggered if particular errors are found during an automatic check of the data SAP workflow is particularly useful when there is a business process involving more than one person, when an automatic notification can replace a manual communication and when there is a defined set of individuals and/or documents implicated. It organizes one's work, alerts users and directs traffic by sending work items - once the user executes the work item, then another one can be sent to another user. For example, a Manager could use workflow to approve a vacation request from an employee. The workflow application would ensure that each person involved uses the correct online form and successfully completes their step before the planned leave was entered into SAP - either by an Administrator or automatically. By the same token, if someone registers for a training class, Workflow can act as an alert tool by notifying the supervisor in question or reminding the individual of an upcoming class.
Before implementing SAP Business Workflow, organizations should start by asking a series of questions, such as: - Which HR processes do we want to automate? - To what extent can we change current procedures and pass them over to electronic control? - What steps are these procedures made up of? - Who are the individuals involved and what are their roles? - How do we get the Workitem to go to the right people?

Before implementing SAP Business Workflow, organizations should start by asking a series of questions, such as: - Which HR processes do we want to automate? - To what extent can we change current procedures and pass them over to electronic control? - What steps are these procedures made up of? - Who are the individuals involved and what are their roles? - How do we get the Workitem to go to the right people?
Even though Workflow can be implemented via user-defined tables without the Organizational Management component in place, having a pre-defined organizational structure adds tremendous value and saves time. A clear reporting structure made up of positions and position holders that is maintained by the HR department, ensures the ongoing ease-of-maintenance effort. The ability of HR personnel to add and delete users from positions as people come and go, without affecting your core workflows, is a tremendous long-term benefit. If you have Personnel Administration in place, employee's email addresses can also be maintained by the HR department in addition to employee's respective Time/HR and Payroll administrators who might be involved in the Workflow.
There are basically three options for connecting workflow to external email: Microsoft Outlook/Exchange, Lotus Notes or SAP Connect and Internet Mail. A key factor in SAP R/3 4.6 implementations and upgrades will be the use of a Web browser as the main workflow interface.
Although the advantages gained by using workflow are not of financial nature, the time saved by optimizing processes could easily be translated into money. - The quality of your processes will be assured by sending relevant information directly to the user. Managers don't have the time to search for information. For example if an employee obtains a qualification as a result of hard work or training, their Managers can be notified immediately. - Cycle time is reduced by providing all the necessary information needed: people can check their list of pending tasks and determine which tasks can be completed the next day without any negative impact. I.e. A Payroll Administrator might be notified immediately of an employee address change via ESS that might implicate taxes. - Workflow allows to monitor deadlines.
It could be used to remind employees of upcoming performance reviews or training or to send payroll year-end tasks items to the relevant Payroll Administrators. Deadline handing ensures that users perform the tasks within the time planned. Escalation measures ensure that the failure to meet a deadline can be corrected by other means. - Users can see at a glance how the process works and who will be selected to perform the different tasks, which creates a transparent work environment. - SAP contains Workflow templates, which can be used as a reference providing more than 200 Workflow samples. - Implementing Workflow will save costs. Ask yourself how much time is spent gathering information, getting hold of people, logging into different systems and trying to understand who to give a task to? How often does this current process fail and how labor intensive is it to fix it? Workflow reduces time and effort spent and the savings in days can be considerable.


How does it work?

There are several components of a workflow: Workflow Definition, Work Items, Triggering Events and at the Receiving end the Organizational Structure. The workflow definition is created in the Workflow builder and is made up of the various steps. Each step of the workflow definition can be a task pointing to a SAP transaction or a decision. A decision might contain specifications about agents and deadline monitoring for a step. The workflow is started either manually or by the system at runtime. For the system to start a workflow, the workflow definition must contain a triggering event (for example the event "Address update by the employee"). When the event occurs, the relevant workflow is started automatically. Tasks or Work items describe the activities involved and can refer to automatically executable methods (i.e. send an email to a supervisor) or they might need a user to execute them (i.e. supervisor has to go and click on a button in his workplace to approve something). Tasks refer to business objects, which are ABAP coding. Events are activities that trigger the workflow - one or several workflows at the time. Once the workflow is triggered, the definition flowchart determines when and in what order work happens. Work items are then received and executed in MS Outlook, Lotus Notes, mySAP Workflow MiniApp or the SAP integrated inbox. Alternatively, the workflow system can transmit e-mail notifications directly to any mail system, informing the user of the need to log in to the SAP system to execute the task. A work item is always assigned to one or more users. Once the task is executed, the work item vanishes from the other users' inboxes.

There are several components of a workflow: Workflow Definition, Work Items, Triggering Events and at the Receiving end the Organizational Structure. The workflow definition is created in the Workflow builder and is made up of the various steps. Each step of the workflow definition can be a task pointing to a SAP transaction or a decision. A decision might contain specifications about agents and deadline monitoring for a step. The workflow is started either manually or by the system at runtime. For the system to start a workflow, the workflow definition must contain a triggering event (for example the event "Address update by the employee"). When the event occurs, the relevant workflow is started automatically. Tasks or Work items describe the activities involved and can refer to automatically executable methods (i.e. send an email to a supervisor) or they might need a user to execute them (i.e. supervisor has to go and click on a button in his workplace to approve something). Tasks refer to business objects, which are ABAP coding. Events are activities that trigger the workflow - one or several workflows at the time. Once the workflow is triggered, the definition flowchart determines when and in what order work happens. Work items are then received and executed in MS Outlook, Lotus Notes, mySAP Workflow MiniApp or the SAP integrated inbox. Alternatively, the workflow system can transmit e-mail notifications directly to any mail system, informing the user of the need to log in to the SAP system to execute the task. A work item is always assigned to one or more users. Once the task is executed, the work item vanishes from the other users' inboxes.


There are several components of a workflow: Workflow Definition, Work Items, Triggering Events and at the Receiving end the Organizational Structure. The workflow definition is created in the Workflow builder and is made up of the various steps. Each step of the workflow definition can be a task pointing to a SAP transaction or a decision. A decision might contain specifications about agents and deadline monitoring for a step. The workflow is started either manually or by the system at runtime. For the system to start a workflow, the workflow definition must contain a triggering event (for example the event "Address update by the employee"). When the event occurs, the relevant workflow is started automatically. Tasks or Work items describe the activities involved and can refer to automatically executable methods (i.e. send an email to a supervisor) or they might need a user to execute them (i.e. supervisor has to go and click on a button in his workplace to approve something). Tasks refer to business objects, which are ABAP coding. Events are activities that trigger the workflow - one or several workflows at the time. Once the workflow is triggered, the definition flowchart determines when and in what order work happens. Work items are then received and executed in MS Outlook, Lotus Notes, mySAP Workflow MiniApp or the SAP integrated inbox. Alternatively, the workflow system can transmit e-mail notifications directly to any mail system, informing the user of the need to log in to the SAP system to execute the task. A work item is always assigned to one or more users. Once the task is executed, the work item vanishes from the other users' inboxes.

There are several components of a workflow: Workflow Definition, Work Items, Triggering Events and at the Receiving end the Organizational Structure. The workflow definition is created in the Workflow builder and is made up of the various steps. Each step of the workflow definition can be a task pointing to a SAP transaction or a decision. A decision might contain specifications about agents and deadline monitoring for a step. The workflow is started either manually or by the system at runtime. For the system to start a workflow, the workflow definition must contain a triggering event (for example the event "Address update by the employee"). When the event occurs, the relevant workflow is started automatically. Tasks or Work items describe the activities involved and can refer to automatically executable methods (i.e. send an email to a supervisor) or they might need a user to execute them (i.e. supervisor has to go and click on a button in his workplace to approve something). Tasks refer to business objects, which are ABAP coding. Events are activities that trigger the workflow - one or several workflows at the time. Once the workflow is triggered, the definition flowchart determines when and in what order work happens. Work items are then received and executed in MS Outlook, Lotus Notes, mySAP Workflow MiniApp or the SAP integrated inbox. Alternatively, the workflow system can transmit e-mail notifications directly to any mail system, informing the user of the need to log in to the SAP system to execute the task. A work item is always assigned to one or more users. Once the task is executed, the work item vanishes from the other users' inboxes.

There are several components of a workflow: Workflow Definition, Work Items, Triggering Events and at the Receiving end the Organizational Structure. The workflow definition is created in the Workflow builder and is made up of the various steps. Each step of the workflow definition can be a task pointing to a SAP transaction or a decision. A decision might contain specifications about agents and deadline monitoring for a step. The workflow is started either manually or by the system at runtime. For the system to start a workflow, the workflow definition must contain a triggering event (for example the event "Address update by the employee"). When the event occurs, the relevant workflow is started automatically. Tasks or Work items describe the activities involved and can refer to automatically executable methods (i.e. send an email to a supervisor) or they might need a user to execute them (i.e. supervisor has to go and click on a button in his workplace to approve something). Tasks refer to business objects, which are ABAP coding. Events are activities that trigger the workflow - one or several workflows at the time. Once the workflow is triggered, the definition flowchart determines when and in what order work happens. Work items are then received and executed in MS Outlook, Lotus Notes, mySAP Workflow MiniApp or the SAP integrated inbox. Alternatively, the workflow system can transmit e-mail notifications directly to any mail system, informing the user of the need to log in to the SAP system to execute the task. A work item is always assigned to one or more users. Once the task is executed, the work item vanishes from the other users' inboxes.
Integration to Email systems
Usually executable work items are received in the Workflow inbox. But casual SAP users, especially Managers might forget to check their inbox at a regular basis and so it makes sense to set up reminder emails, informing people via a batch job that they have work items in their inbox. Alternatively, an email can be sent directly to their Lotus Notes / Outlook account with a hotlink to the Workflow inbox. All emails, whether they exists in the form of Workflow notifications, Workflow Workitems, or just a standard SAP Office memo, are sent out of SAP through SAPConnect. This provides the all in one gateway between SAP and the mail server. The transport of workflow items between SAPConnect and the mail server (whether that's Lotus Notes or Microsoft Outlook) has been facilitated by SAP provided add-ons that are fully optimized for the different protocols required for each server. Lotus Notes, for example, uses a 'pipe' called the MTA, or Message Transfer Agent. This was designed jointly between SAP and Lotus to provide full integration between the two systems.
It should be noted that the type of transport medium used is dependent on the mail server and not the mail client. In other words, if the employee uses Outlook on their computer but the mail server is a Lotus Domino server, the MTA would be the mail gateway used. Each workflow background user must have an email address stored in their user profile. It is note worthy that no approval or reply notification will be allowed from an external mail system - in other words external email systems cannot respond back to SAP for security reasons.
Workflow is becoming more and more web-oriented which allows external business partners to receive notifications. Companies can adopt Workflow together with "Webflow" where workflows can be initiated via Internet transactions and where different external business partners can receive notifications sent by the workflow. The Web inbox offers access to partner companies logging on to your Web portal and it refreshes itself automatically. Any type of work item can be executed directly from a centralized list of work items, no matter what graphical user interface is needed to run it. Webflow is particularly useful when a company deals with outside partners using different software platforms.

Benefits of SAP Workflow

Workflows can make an ERP system more efficient by automating situations in which work processes have to be run through repeatedly, or situations in which the business process requires the involvement of a large number of agents in a specific sequence. It is essential that the Workflow consultant is an expert in ABAP development or has access to ABAP programmers since a good deal of the work is technical. You will also need someone familiar with Lotus Notes / Outlook concepts and development in order to create the interfaces between the systems. The Workflow consultant should also have experience in installing and integrating efficient electronic archive systems.

Tuesday

Badi and User Exits

Badi ...

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.

For More Details: Click Here


User Exits :

SAP creates user 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.
Types of Exits
There are several different types of user exits. Each of these exits acts as hooks where you can attach or "hang" your own add-ons.

Menu Exits
Menu exits add items to the pulldown menus in standard SAP applications. You can use these menu items 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 "+" (a plus sign). You specify the menu item’s text when activating the item in an add-on project.
Screen Exits
Screen exits add fields to screens in R/3 applications. SAP creates screen exits by placing special subscreen areas on a standard R/3 screen and calling a customer subscreen from the standard screen’s flow logic.

Function Module Exits
Function module exits add functions to R/3 applications. Function module exits play a role in both menu and screen exits.

When you add a new menu item to a standard pull down menu, you use a function module exit to define the actions that should take place once your menu is activated.
Function module exits also control the data flow between standard programs and screen exit fields. SAP application developers create function module exits by writing calls to customer functions into the source code of standard R/3 programs.
Click Here

Wednesday

SAP Smart Forms

What is Smartforms ?


SAP Smart Forms are used to create and maintain forms for mass printing in SAP Systems. As an output
medium SAP Smart Forms support a printer, a fax, e-mail. Many a times there is requirement to download
output of SAP Smart Forms in a PDF file.


SAP Smart Forms allow us to execute simple modifications to the form and in the form logic by using simple
graphical tools.  To print a form, we need a program for data retrieval and a Smart Form that contains the entire from logic. As data retrieval and form logic are separated, we must only adapt the Smart Form if changes to the form logic are necessary.


Transaction Code of Smartforms is  SMARTFORMS.
When you create a Smart Form, the tree structure of the Form Painter already contains two root nodes:
• Global setting


  • Form Attribute
  • Form Interface
  • Global Definitions
      We can initialize the Local and Global Variable, Tables and types.
In Global Definitions->Global Data,
Variable Name  Type Assignment       Reference Type
ZMARA       TYPE                     ZMARA
ITAB        TYPE STANDARD TABLE OF   ZMARA
WA          TYPE                     ZMARA

Command
Then Right Click the Loop and create a Command. Make the Command (move accordingly).

Loop

In Loop->Data,
Internal table itab into wa.
The settings of Loop->Output options is shown below [Since in the output, we are going to display a box with border].


Table
Right click %Code1 and Create a Table.

Pages and Windows
·         First Page -> Header Window (Cursor at First Page then click Edit -> Node -> Create)
Here, you can specify your title and page numbering &SFSY-PAGE&
 (Page 1) of &SFSY-FORMPAGES(Z4.0)& (Total Page)
·         Main windows -> TABLE -> DATA
·         In the Loop section, tick Internal table and fill in
·         ITAB1 (table in ABAP SMARTFORM calling function) INTO ITAB2

Global Setting The node Global Settings as well as its three successors Form attributes, Form interface, and Global definitions always exist for any newly created forms.



What is the Main Window in smart forms ? What is the Secondary Window or Variable Window smart froms?

You can identify only one window of a form as main window. You use the main window to spread output over several print pages, which is a prerequisite for printing tables. The output control of the main window triggers an automatic page break as soon as the main window is full, that is as soon as in the main window no space is left for printing outout.

However, the main window "keeps in mind" the exact location at which the output was interrupted. On the next page, the output control resumes printing at exactly this position as soon as in the processing tree the main window is reached again. The subsequent print pages may also include other windows or output areas; they are printed unless a condition suppresses them.
Depending on your needs, it may make sense to use the main window either only on one draft page or on several draft pages.
*Soruce http://help.sap.com/saphelp_nw70/helpdata/en/b1/243fdabeee11d4b633006094192fe3/content.htm




How to import/Export the Value from /to other program?
  We can define the Internal Table and Varriables in Global Setting Section.
How to call the Program?
  For call the Smartforms through se38 Program. 


call function 'SSF_FUNCTION_MODULE_NAME'
exporting
formname = 'ZSMARTFORM'
* VARIANT = ' '
* DIRECT_CALL = ' '
IMPORTING
FM_NAME = FM_NAME
EXCEPTIONS
NO_FORM = 1
NO_FUNCTION_MODULE = 2
OTHERS = 3.
if sy-subrc <> 0.
WRITE: / 'ERROR 1'.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.

call function FM_NAME
* EXPORTING
* ARCHIVE_INDEX =
* ARCHIVE_INDEX_TAB =
* ARCHIVE_PARAMETERS =
* CONTROL_PARAMETERS =
* MAIL_APPL_OBJ =
* MAIL_RECIPIENT =
* MAIL_SENDER =
* OUTPUT_OPTIONS =
* USER_SETTINGS = 'X'
* IMPORTING
* DOCUMENT_OUTPUT_INFO =
* JOB_OUTPUT_INFO =
* JOB_OUTPUT_OPTIONS =
TABLES
GS_MKPF = INT_MKPF
EXCEPTIONS
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2
SEND_ERROR = 3
USER_CANCELED = 4
OTHERS = 5.
if sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
---Define the table in Smartforms.


Find some more information about this Press Here

Friday

SAP NetWeaver

SAP NetWeaver is the latest advancement in the SAP Technology.

Net Weaver in simple words is an application and Integration platform in which Web Services play a major role and which is open for Non-SAP applications and platform.

For example, If you want to connect SAP to Java or to Dotnet or whichever language,
you will be having connectors/adapters to have a provision for that.

Net Weaver in simple words is an application and Integration platform in which Web Services play a major role and which is open for Non-SAP applications and platform. It is used by organizations to improve productivity and enhance efficiency by making all the resources that are available in an enterprise to work collectively. The SAP customers to bring heterogeneous environments at one platform use SAP NetWeaver. In addition, it enables customers to use the already existing systems without putting in much investment. Further in the near future, the various corporate sectors and Organizations have to take a decision for some common platform; could be Microsoft .NET, IBM WebSphere or SAP NetWeaver. Irrespective of the choice that they make, SAP NetWeaver is the one that integrates with all the three technologies
SAP NetWeaver attains the process of integration by integrating all the available heterogeneous resources of the existing system and unifying them into a homogeneous form. This integrated information forms the basis of total, comprehensible  focused solution as desired in an enterprise.

You can combine various information coming from different sources in a single window.
Portal is a one of the component of SAP NW which provides role based( Manager or team member) access to services.

SAP R/3 (R means Response/real time and 3 - 3 tier architecture) - Was not web-enabled whereas mySAP ERP - Web enabled
mySAP ERP has SAP Web Application Server- NetWeaver
mySAP is an integrated Business Suite, Its totally based on web/NetWever/JAVA Platform.
It supports online transaction. it includes SRM, CRM, APO BI etc.

Code Inspector

The Code Inspector is a tool for checking Repository objects regarding performance, security, syntax, and adherence to name conventions.

Thursday

Memory Inspector

The Memory Inspector is a tool that is used to display and analyze memory snapshots.


We can use the Memory Inspector to:
· Display memory snapshots in various ways
· Compare memory snapshots and display the results in various ways
· Save memory snapshots on the presentation server and load them from there

Starting the Memory Inspector 

There are two ways of calling the Memory Inspector:
       1.      Calling the transaction S_MEMORY_INSPECTOR
       2.      Choosing the function Memory Analysis ® Compare Memory Snapshots in the ABAP Debugger

Runtime Monitor

The Runtime Monitor is an instrument that supports the recording of information on user-defined events that can occur during runtime of an ABAP program. For example, the information can consist of a test name and a text, which are recorded and stored with the time stamp and frequency of the event. Because this information is collected directly in the main memory, the runtime behavior of the program is barely influenced.
The events are mainly triggered by ABAP programmers and recorded using system classes. However, they can also be directly triggered by the runtime system (SAP kernel). The collected information of all application servers involved is transferred to the database at regular intervals. The Runtime Monitor includes the following functions. Use the links provided to call up more detailed descriptions of these functions.
The Runtime Monitor collects information on user-defined events that are triggered by ABAP programs at runtime. This information is first recorded in the main memory and then transferred to the  database in regular intervals. There it can be adjusted and asynchronously evaluated at any time. The Runtime Monitor provides system-wide information on the current program statuses and their frequency.
The Runtime Monitor also provides functions for defining, activating, and deleting test cases. The tests can be assigned to specific application servers and are then executed on these servers only. The log records can subsequently be displayed in different views and, if necessary, deleted.
Using the Maintain Tests function, you can edit individual tests. Using the Administration function, on the other hand, you can change entire system log records or settings, for example - irrespective of a particular test.

Runtime Analysis in ABAP

The runtime analysis provides an overview of the duration and performance of your source code, from individual statements up to complete transactions.
The runtime analysis tool allows you to examine the performance of any ABAP programs, such as reports, subroutines, function modules or classes, that you create in the ABAP Workbench. It saves its results in performance data files, which you can display as lists. You can use these results to identify runtime-intensive statements, to combine table accesses, and show the hierarchy of program calls.

Transaction SE30 to start the runtime analysis. In the initial screen, we see the four main functions of this tool, which can be activated by pushing the corresponding button.
·         Measurement in dialog status
·         Measurement of external session
·        Selection of measurement restrictions
·         Evaluation of measurement results
With large applications, it is advisable to first analyze the entire application and then check details in the hit lists.

Use the runtime analysis tool to measure the runtime of complex program segments or complete transactions.  
        
·       Excessive or unnecessary use of modularization units 
·       CPU-intensive program functions
·        User-specific functions that could be replaced with ABAP statements
·        Inefficient or redundant database access.


ABAP Debugger

The Debugger is a programming tool that we can use to execute ABAP programs, by line or by section. With this tool, we can display data objects and check the flow logic of programs.
At the moment, two types of debugging are possible: Debugging with the classic Debugger for release levels prior to 6.40 or debugging with the new Debugger, which is available for all releases after 6.40.
 The main differences between the classic and the new ABAP Debuggers are described below:
  • The new ABAP Debugger is executed in its own external mode (Debugger), while the application to be analyzed (debuggee) uses a second external mode. So far, the application to be analyzed and the debugger itself shared the same roll area of an external mode. For this reason, each action of the Debugger could influence the program flow of the application. Therefore, the classic Debugger cannot use any ABAP statements for designing the user interface. The path for designing modern UI techniques is not available for it.
· With the classic Debugger it is generally not possible to analyze programs in debugging mode that run in an ABAP processor unit and are called recursively from a subordinate unit. For example, a conversion exit cannot be analyzed using the Debugger if it runs within a WRITE statement. However, with the new Debugger this is possible.
  • The new Debugger provides the user with a flexible interface that can be configured as required and has more than eight desktops. Here it is possible to place and arrange up to four tools - depending on the user's selection. For example, it is possible to display source texts or structures. In this way, the user can design the Debugger interface according to his own individual requirements.
There are plans to make the new Debugger the default option as soon as it contains the following functions, which are currently not available:
  1. Watchpoints
  2. Debugging special types (http, BSP, RFC, update task)
  3. Display of memory consumption
  4. Display of system areas

The Transportation in SAP

The Transport Organizer

The Transport Organizer provides you with functions for organizing software development projects. It is designed to support projects of all sizes, whether they are carried out centrally or in a distributed environment.
We use the Transport Organizer to move applications from the development system to the production system. The Workbench Organizer also provides version control and tracking. When you work with the Workbench, you will encounter safeguards provided by the Transport Organizer.
 A brief overview of these checks and how they affect the development process is provided in Development in a Team Environment .

The Package Concept

At present, the SAP System contains more than 300 000 development objects (programs, tables, screens, BAPIs, function modules, types, and so on). These objects are grouped in over 1700 development classes stored in a flat structure.
Any developer can use any object. A developer can hardly set up a protection for his own development objects. He can also only with difficulty mark the development objects that he would like to make available to others. The technical modularization options open to developers on a small scale – for example, using module pools, function groups, or classes – are very limited. Whether on a large or small scale however, there are no mechanisms for technical modularization.
The package concept was developed to address these issues. Packages are a further development of the current development classes with new additional semantics. 
They are designed to help developers modularizeencapsulate, and decouple units in the SAP System.

Packages


A package is a container for objects that logically belong together; for example, all of the objects in an application. A package is also a type of development object.An example of a package might be ZSD,ZMM etc
When you create a new object or change an existing object, the system asks you to assign the object to a package.

Storing Development Objects

The SAP system stores development objects in the Repository, which is a part of the database.
When you complete work on a development object like a program, screen, or menu, you generate a runtime version of the object. This runtime version is stored, along with the object, in the Repository. An application consists of several runtime objects that are processed by the work processes in the SAP System.
In a standard SAP installation, development and live operation take place in separate systems. New applications are created in the development system and transported to the production system. Daily work takes place in the production system which uses run-time versions created in the development system.
The division between production and development systems is recommended because changes to an existing ABAP application take immediate effect. To prevent disturbances in daily work flow in the production system, all developments are carried out in development systems designed especially for this purpose.
Existing development classes are simply containers for development objects with a transport layer that determines how the objects will be transported. Packages extend the concept of development classes with the addition of new attributes: nesting, interfaces, visibility, and use accesses.
· Nesting allows you to embed packages in other packages.
· Visibility is a property of package elements. Elements may be visible outside their package. However, they are always visible to other elements in the same package and always invisible to embedded (sub-)packages within their package. For an element to be visible outside the package, it must be contained in at least one package interface.
· Use access is the right of one package to use the visible elements in the interface of a second package (but not the other way round).
Packages use interfaces and visibility to make their services known to other packages. All the visible elements in a package can, potentially, be sued by other packages. In contrast, invisible elements cannot be used by other packages as well. This allows the package to encapsulate its contents and protect its elements from being used by unspecified external packages.
Use accesses restrict the use of the visible elements of other packages’ interfaces. Not all visible elements can be used. A package can only use the visible elements of the provider package after the use access to the latter’s interface has been created.
Nesting allows you to split up larger units of the SAP System and structure them in a hierarchy. The interplay between interfaces and use accesses allows the elements of a package to be hidden simply, and thus protect them from unintentional use.
The package concept also offers the option of splitting and encapsulating the SAP System into technical units (the packages), reducing high levels of dependency and thus decoupling the system on a large and small scale.
(Source From Help.sap.com)

Wednesday

WebDynpro- Web Dyanamic Program in ABAP

Definition:
WebDynpro is a great modeling environment which stores the user-interface details in the form of metadata. We can write less code and fix bugs in a shorter time with lesser effort. It increases a programmer’s productivity by manifolds.

Webdynpro is nothing but one framework for development of user interface for use with SAP NetWeaver. It support programming for different platform such as JAVA, ABAP,.NET .

In case of JAVA webdynpro comes with extensive design tool. These tools are based upon Eclipse framework ans SAP’s NWDS

Technical Definition : WebDynpro is a client-independent programming model used for developing sophisticated user interfaces for web based business applications.


History: The name WebDynpro , Dynpro means Dynamic Program it is SAP’s Legacy technology for interactive UI’s.It is to Combine High Interactivity (dynamic GUI) and Zero Installation.


Web Dynpro is the SAP NetWeaver programming model for user interfaces (UIs).


The Web Dynpro programmning model is based on the Model View Controller paradigm, and has the following features that build on the classic dynpro model:

* Clear separation of business logic and display logic
* Uniform metamodel for all types of user interfaces
* Execution on a number of client platforms
* Extensive platform independence of interfaces

What are the naming conventions to be followed while developing Web Dynpro applications?


Web Dynpro context names should use only the characters A..Z, a..z, 0..9, _ . Digits can be used only from 2nd position. The JAVA naming conventions can be followed but avoid using unicode characters to keep the names simple. However one should avoid using the prefixes wd, WD or IWD since these are the prefixes used during generation of internal coding entities.


Web Dynpro for ABAP or Web Dynpro for ABAP is the SAP standard UI technology for developing Web applications in the ABAP environment. It consists of a runtime environment and a graphical development environment with special Web Dynpro tools that are integrated in the ABAP Workbench (SE80)


Web Dynpro provides support for developing Web representation of a business application. You use specific tools to describe the properties of a Web Dynpro application in the form of Web Dynpro metadata. The necessary source code is then generated automatically and executed at runtime. In addition to the events offered by the framework, you can also define your own events for a Web Dynpro application. However, the event handling must always be programmed in separate source code areas which are executed automatically when the event is triggered at runtime.


In Web Dynpro, each user interface is always made up of the same basic elements. These elements of the metamodel can be statically declared using Web Dynpro tools.


It is also possible to implement elements of the metamodel at runtime and to change them or reintegrate them at runtime. Using these implementations, you can make changes or enhancements to a user interface that has been created by declarative methods by generating new interface structures at runtime.


This means that you can combine declarative processes and the implementation of source code.


Basic Concepts


1. View – is the central logical layout element in the Web Dynpro application.It is responsible for the presentation logic and for the browser layout.


Description of a visible screen area

Contains and lays out controls (aka widgets)
Defines actions (i.e. relevant input on controls by the user), which trigger event handling

2. Controller – active part of web dynpro application,handles the data flow between the model and the view in both directions


Performs event handling

Each component has a component controller
Each view has a view controller
Custom controllers may be added for further structuring

3. Model – is the interface to the back end systm and is responsible for providing data to the entire application.


Represents the data in the back end


4. Component


Reusable UI program package

Mostly contains views, often uses models
Communicates with other components via component interfaces

5. Application


Something runnable (from client application, i.e. web browser)

Identified by URL
Running an application means starting a component, navigating” to an initial view in an initial window.

6. Windows


Single UI unit representing a component’s user Interface/View Composition needed for embedding purposes.


7. Context


A controller contains a context which holds the data. The data flow between the contexts is referred to as context mapping.


Advantages for application developers:


● The use of declarative and graphical tools significantly reduces the implementation effort

● Web Dynpro supports a structured design process
● Strict separation between layout and business data
● Reuse and better maintainability by using components
● The layout and navigation is easily changed using the Web Dynpro tools
● Stateful applications are supported – that is, if the page is changed and the required data remains intact so that you can access it at any time throughout the entire application context.

Note that stateless applications are not possible.

● Automatic data transport using data binding
● Automatic input check
● User interface accessibility is supported
● Full integration in the reliable ABAP development environment

You can see more information about WebDynpro from :http://sapdocs.info/sap/netweaver/what-is-web-dynpro/ and help.sap.com

Followers

DISCLAIMER

All about contents or data or information taken from sap.com or other sap related web sites which are available on the Internet for this BLOG.
If you find any doubts or mistakes please refer the other SAP/ABAP related sites .