Documente Academic
Documente Profesional
Documente Cultură
The documentation may have changed since you downloaded the PDF. You can always find the latest information on SAP Help
Portal.
Note
This PDF document contains the selected topic and its subtopics (max. 150) in the selected structure. Subtopics from other structures are not included.
2016 SAP SE or an SAP affiliate company. All rights reserved. No part of this publication may be reproduced or transmitted in any form or for any purpose
without the express permission of SAP SE. The information contained herein may be changed without prior notice. Some software products marketed by SAP
SE and its distributors contain proprietary software components of other software vendors. National product specifications may vary. These materials are
provided by SAP SE and its affiliated companies ("SAP Group") for informational purposes only, without representation or warranty of any kind, and SAP
Group shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP Group products and services are those that are set
forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional
warranty. SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP SE in
Germany and other countries. Please see www.sap.com/corporate-en/legal/copyright/index.epx#trademark for additional trademark information and notices.
Table of content
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 1 of 44
Table of content
1 SAP NetWeaver Developer's Guide
1.1 Release Notes
1.2 Development Concepts and Architecture
1.3 Fundamentals
1.3.1 Using ABAP
1.3.2 Using Java
1.3.3 Secure Programming
1.3.4 Creating First-Class User Interfaces
1.3.5 Enabling Enterprise Services
1.3.6 Creating Composite Applications
1.3.7 Modeling Applications with SAP NetWeaver Visual Composer
1.3.8 Making Applications Enterprise-Ready
1.3.8.1 Supportability for Developments Under SAP NetWeaver
1.3.8.2 Search Integration Capabilities
1.3.8.3 Developing Forms Using Interactive Forms Based on Adobe Software
1.3.8.4 Secure Programming
1.3.8.5 Developing Data Archiving Solutions
1.3.8.5.1 Introduction to Data Archiving (CA-ARC)
1.3.8.5.2 Archive Development Kit
1.4 IT Scenario-Driven Enhancements to Applications
1.4.1 Developing, Configuring, and Adapting Applications
1.4.1.1 Developing Java Applications Using Web Dynpro
1.4.1.2 Leveraging J2EE Standards for Porting and Adopting Applications
1.4.1.3 Creating Composite Applications
1.4.1.4 Developing ABAP Applications Using Web Dynpro
1.4.2 Running an Enterprise Portal
1.4.3 Enabling User Collaboration
1.4.4 Enterprise Knowledge Management
1.4.5 Business Planning and Analytical Services
1.4.6 Enterprise Reporting, Query, and Analysis
1.4.7 Enterprise Data Warehousing
1.4.8 Enabling Application-to-Application Processes
1.4.9 Enabling Business-to-Business Processes
1.4.10 Business Process Management
1.4.11 Business Task Management
1.4.12 Enabling Enterprise Services
1.4.13 SAP NetWeaver Operations
1.4.13.1 Developing and Enhancing in the CCMS Monitoring Infrastructure
1.4.13.1.1 Getting Involved
1.4.13.1.2 Go and Create
1.4.13.1.3 Core Development Tasks
1.4.13.1.4 Ensuring Quality
1.4.13.1.5 Reference
1.4.13.1.5.1 Creating a Data Supplier for the CCMS Alert Monitor
1.4.13.1.5.1.1 Elements of the CCMS Monitoring Infrastructure
1.4.13.1.5.1.2 Checklist for Implementation
1.4.13.1.5.1.2.1 Example Decision Table: Organizational Decisions
1.4.13.1.5.1.2.2 Decision Table: Monitoring Attributes for the Attribute Types
1.4.13.1.5.1.3 Data Supplier for the Users Currently Logged On
1.4.13.1.5.1.3.1 Data Supplier for Users Logged On: Decision Tables
1.4.13.1.5.1.3.2 Data Supplier for Users Logged On: Report RSDSUSER
1.4.13.1.5.1.3.3 Data Supplier for Users Logged On: Settings in RZ21
1.4.13.2 Developing and Enhancing the Java Monitoring Framework with JMX
1.4.13.3 Logging in Java Technology
1.4.13.4 Printing
1.4.13.5 Background Processing
1.4.13.6 Alert Management
1.4.13.7 Supportability for Developments Under SAP NetWeaver
1.4.13.8 Developing Data Archiving Solutions
1.4.13.8.1 Introduction to Data Archiving (CA-ARC)
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 2 of 44
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 3 of 44
Restrictions
Please note that any software coding and/or code lines/strings ("Code") included in this documentation are only examples and are not intended to be used in a
production system environment. The Code is only intended to better explain and visualize the syntax and phrasing rules of certain coding. SAP does not
warrant the correctness and completeness of the Code given herein, and SAP shall not be liable for errors or damages caused by the usage of the Code,
except if such damages were caused by SAP intentionally or grossly negligent.
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 4 of 44
1.3 Fundamentals
Business Benefit
The SAP NetWeaver platform heralds a new approach to IT development and applications. It brings together the disparate worlds of packaged applications
and custom development in a single ecosystem, in which enterprise applications as we know them become the building blocks of a new generation of serviceoriented applications.
Custom development with SAP NetWeaver is about the very latest in application development practices. Efficiency and flexibility are the watchwords.
Application development is based on the model-driven paradigm as little coding as possible, paired with maximum application robustness and flexibility with
regard to front-ends. It is about visual, pattern-based programming that still offers complete control for the power developer.
In this Fundamentals section, you will learn everything you need for modeling as well as coding in the traditional way. You will learn about ABAP, how to use
Java, and about the Composite Application Framework.
In addition, you will learn about application management for developers, which contains information about data archiving and databases for instance.
Architectural Background
SAP NetWeaver is based on a dual-stack architecture based on ABAP and Java. While ABAP has been with SAP for years and provides a robust and
scalable development and runtime environment for any type of business programming, Java is based on open standards and leverages SAP NetWeaver to the
broad community of Java developers. In a service-oriented environment, however, the programming languages boundaries disappear, since components
written in one language (for example, ABAP) can expose their capabilities as services that are used by components written in another language (for example,
Java). The interoperability is achieved through Web service standards that have been implemented for both stacks. Likewise, SAPs user interface strategy is
built on top of the Web Dynpro programming model that is supported seamlessly both in the Java space and in the ABAP space.
The question of which environment you should use when depends on a couple of criteria that have to be weighed up carefully.
ABAPs strength lies in its proven application server architecture. The language is based on a strong integration of OPEN SQL and manages large data sets
known as internal tables. This allows use of ABAP in transaction-oriented environments with good performance. The development environment (ABAP
Workbench) is tightly integrated in the application server. Since ABAP is essentially a server-based development infrastructure, working in large development
teams is organized by the correction and transport system in a distributed development landscape. ABAP support a variety of data types that are optimized for
business processes. Many important engines in SAP NetWeaver, such as the BI OLAP engine or the XI integration engine, are implemented in ABAP.
Java focuses more on the user-interface side although more and more applications make use of the entire Java stack from user interface to business logic
and persistence. Many of the ABAP scalability features have been adapted for the Java stack, such as the proven scalability by means of a J2EE dispatcher
and J2EE server nodes (that correspond to the ABAP dispatcher and work processes). The NetWeaver Development Infrastructure organizes distributed
development in teams by means of central repository, build and transportation services similar in philosophy to ABAPs change and transport system.
However, there are subtle differences that have to be taken into account. Java development is carried out on the client side in the NetWeaver Developer
Studio. A local J2EE engine makes it easy for Java developers to work offline and subsequently integrate their work into a central test system. Sources are
checked out locally so that you only need to connect to the development infrastructure from time to time. SAP has implemented a lot of SAP NetWeaver
components in Java such as the J2EE server itself, the Portal, the Developer Studio to name just a few.
ABAP and Java are code-based environments. Although they offer model-driven and highly graphical tools, such as the Web Dynpro View Designer and the
Web Dynpro Data Modeler, you end up in editor and debugger sessions, since most of the developers work has to be done here. This excludes other types of
roles, such as the business analyst, who typically has a lot of technical insight, but lacks coding skills in most cases. Here, SAP focuses on purely modeldriven tools, such as the Visual Composer. The Visual Composer allows you to model the flow of your application or iView, helps to integrate various data
sources, and makes deployment to the portal easy. It enables rapid prototyping.
Finally, it is important to note that SAP NetWeaver is in transition from an integration platform to a composition and business process platform.
Composite applications can be developed on top of SAP NetWeaver and are supported by the SAP Composite Application Framework (CAF) and Guided
Procedures.
Both technologies accelerate composition on top of SAP NetWeaver, but are integrated in the Developer Studio and leverage existing technologies such as
Web Dynpro and Adobe Forms integration.
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 5 of 44
Topics
Getting Involved
Provides an overview of the architecture of the development environment and
introduces the basic concepts and features of the tools that SAP currently delivers.
Go and Create
Provides selected tutorials that introduce you to working with the Developer Studio.
Here you are given step by step instructions on using the Developer Studio to
create, implement, deploy, and finally execute your own Web Dynpro and J2EE
applications on a test server.
Core Development Tasks
Makes up the central part of the development manual and covers topics relevant to
the development phase. Subjects discussed are UI technologies (Web Dynpro and
J2EE Web applications), the development of business logic, as well as the concepts
and infrastructure for accessing relational databases. The topics of Web services,
security, and connectivity are also covered in detail.
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 6 of 44
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 7 of 44
Web Dynpro Client for Windows and Java for a non-browser-based look and feel.
BSPs) are fully supported in the future and are tightly integrated in SAP NetWeaver
To guarantee a seamless user experience, all SAP UI technologies follow the unified rendering approach to guarantee a consistent look and feel; portal
services such as client-side eventing and WorkProtect mode can be used to interact between Web Dynpro applications and non-Web Dynpro applications.
With SAP NetWeaver, the
Server.
SAP GUI for HTML of the ITS and the Internet Application Component (IAC) runtime is integrated in the NetWeaver Application
Development Approach
Inside-Out
Outside-In
and
More Information
Web Services
Enabling Application-to-Application Processes in
the SAP NetWeaver Developers Guide
Inside-Out
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 8 of 44
In the second scenario variant, the development approaches are combined, since the Integration Builder also supports the import of interface descriptions into
the Integration Repository to facilitate communication between SAP and non-SAP systems. The first scenario variant is generally intended for simple,
synchronous, cross-application communication, whereas additional integration services of the Integration Server (such as routing and mapping) can be used in
the second scenario variant. The advantage of the first variant is that it involves a relatively short adjustment period compared to the second variant.
Development Tools
Application
Inside-Out
ABAP Workbench
(Creation of ABAP proxies)
Outside-In
SOAP adapter.
In ABAP, the programming model for the communication between client and server proxies is independent of whether or not the communication is made using
the Integration Server. This does not yet apply to Java in SAP NetWeaver 7.0.
Topics
Developing Composite Applications with CAF Core
Describes how you use CAF Core tools to create the business object layer of composites.
Developing Composite Applications with CAF GP
Describes how you leverage the CAF Guided Procedures framework to implement process logic and service orchestration.
Topics
Getting Involved
Go and Create
Core Development Tasks
Ensuring Quality
Reference
Caution
Be sure to read the SAP Central Note that is relevant to your version of SAP Visual Composer. The Central Note gives you the latest information
about limitations, known issues, and workarounds for SAP Visual Composer.
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 9 of 44
The following Central Notes are available for SAP Visual Composer:
SAP NetWeaver 7.0: 919388
SAP NetWeaver 7.0 including Enhancement Package 1: 1169887
SAP NetWeaver 7.0 including Enhancement Package 2: 1331228
You can find the SAP Notes at SAP Service Marketplace at service.sap.com/notes.
Topics
Supportability for Developments On SAP NetWeaver
In this section, you learn how to ensure that your application can be integrated in the SAP NetWeaver monitoring environment.
Search Integration Capabilities
This section describes how you can use the search framework to search uniformly for structured data (business objects) and unstructured data
(documents).
Developing Forms Using Interactive Forms Based on Adobe Software
In this section, you learn how to use Adobe PDF technology to include electronic forms in your applications and fill them automatically with data from your
applications. In addition, you can use this technology to control print output for your application.
Developing Data Archiving Solutions
This section familiarizes you with the data archiving essentials that help you decide on, plan, and design new data archiving solutions for your application.
You learn how to develop archiving objects and the corresponding archiving programs, and how to integrate them into the SAP data archiving framework.
AS ABAP
The CCMS monitoring infrastructure is the basis for monitoring across systems and components. It collects values using data suppliers and sends them to a
central monitoring system using CCMS agents. If errors occur, alerts are triggered, to which you can assign auto-reaction methods. You can display the
collected data in the
alert monitor (transaction RZ20) or in
SAP NetWeaver Administrator. This data also forms the basis for monitoring in the SAP
Solution Manager. You can also include analysis methods in the monitoring infrastructure, with which you can perform a detailed investigation of the
corresponding component directly from the alert monitor.
To be able to meaningfully monitor an application with the monitoring infrastructure, at least the following information is required:
Status of the application (such as active , configured , stopped , and so on)
Availability or information about the current function of the application (Health Check); this should certainly include information about critical workloaddependent resources (such as available threads)
Response time behavior or throughput for the applications requests
Number of requests that the application has processed per time unit, if a corresponding value is meaningful for this application
Important events of the application as text messages (note, however, that you only have limited storage space available in the monitoring segment)
Status of the communication interfaces of the application (if they exist)
Information about caches (such as hits, quality) that the application uses
Information that should be written when the application is started:
Date and time of the start
Version (or Release, Build, or Patch Level) of the component
All configuration parameters of the application (such as configuration files, and, under Microsoft Windows, the entries in the registry)
Operating system environment variables used
To instrument the application for the monitoring infrastructure, you need to perform the following steps:
Write a data supplier that collected the above data for the application and transfers it to the monitoring infrastructure. For more information, see the
document Writing a Data Supplier .
To download the document, start the SAP Developer Network (http://sdn.sap.com), and go to the SAP NetWeaver Developers' Guide Quick Link.
Choose Application Development System Management System Management Development , and in the ABAP System Management area,
select the specified document.
This information should be displayed in a separate Alert Monitor monitor. In the case of components with multiple instances, the instance-dependent
information should form a separate subtree in each case. For information about creating corresponding monitor definitions, see
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 10 of 44
Monitor Sets.
AS Java
You should connect Java applications to the monitoring framework of SAP NetWeaver using JMX, that is, the application should deliver the most important
data about its current status, in the same way as above (see Developing and Enhancing the Java Monitoring Framework with JMX).
You should monitor the availability of the application using the Generic Request and Message Generator (GRMG). For more information, see
Instrumenting an Application.
The application must use the logging infrastructure of the J2EE Engine. For more information, see
GRMG:
All of this monitoring data is automatically transferred to the CCMS and is therefore also available centrally in the Alert Monitor or in the SAP NetWeaver
Administrator.
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 11 of 44
Integration
All SAP forms development efforts will focus solely on Interactive Forms.
To protect customer investments made in existing forms solutions, the existing SAP forms solutions Smart Forms and SAPscript will continue
to be supported by SAP in their current functional scope.
Features
SAP and Adobe have combined their development efforts and expertise to provide their customers with new collaborative business solutions.
Business processes that use forms to communicate, for example in HR or the public sector, can provide visually accurate representations of forms on the
desktop, which allow end users to capture the data required in the backend.
With Interactive Forms based on Adobe software, users can
Process forms online with a connection to the system and offline on a local computer
Capture a form's appearance and data in one object
Fill in forms with specific data from SAP applications and transmit them securely to their intended recipients
Automatically check documents for consistency
Activate additional functions, such as inserting comments or digital signatures
Transmit completed forms back to the SAP application, updating the business data automatically
Create templates for interactive forms that include logos or images
Example
Online Interactive Forms
A user logs on to the company intranet to fill in a form required by the HR department (for example, a Non-Disclosure Agreement to be signed by a new
employee). The form is displayed in the browser.
As the user is logged on in the background to the company's HR system, her master data is displayed in the form. The user enters the required information in
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 12 of 44
the fillable fields of the interactive form, and sends the data back to the system by pushing a button. The system extracts the data from the form and saves it
in the database.
Note that XML-based data archiving has not been released for customer-specific development. Therefore, documentation is not yet available
for this function.
For more information on how to use XML-based data archiving and how it differs from ADK-based data archiving, see
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 13 of 44
Data in the database can only be archived using archiving objects, which describe the data structure and context.
Financial Accounting documents are archived using the archiving object FI_DOCUMNT. It includes the document header, company codedependent postings, change documents, SAPscript texts, and other elements.
In addition to the aforementioned technology SAP also offers XML-based archiving, as of SAP Web Application Server 6.40. With this new procedure XML
archiving objects are used to write data in the form of resources either to a file system or directly to a WebDAV system, which takes on the role of the storage
system shown in the figure above.
Integration
For the majority of the archiving objects the SAP Data Archiving concept is based on the Archive Development Kit (ADK). As of SAP Web AS 6.40 SAP
offers an additional technology especially designed for XML-based archiving. This new technology comprises the XML Data Archiving Service (XML DAS) and
the XML DAS Connector. Both ADK-based and XML-based archiving are carried out with the help of Archive Administration, transaction SARA.
For some applications it is possible to start archiving directly from the application menu. In these cases the application-specific parameters, such as the
archiving object or the archiving program appear as default values.
Archiving objects for each application component are predefined in the system. Their structures are described in the application-specific sections.
Features
The archiving procedure is divided into three main steps:
Creation of archive files
In the write phase the data to be archived is written sequentially into newly created archive files.
Delete from the database
The delete program reads the data from the archive files and then deletes it from the database.
Storage of archive files
The newly created archive files can then be moved to a storage system or copied to a tape. The removal to an external storage system can be triggered
manually or automatically. It is also possible to store the data before the delete phase.
In XML-based archiving this phase does not exist as a separate step. The data can be written directly to a WebDAV system.
The archiving programs are generally scheduled in the background. However, they can also run in online mode.
The following documentation describes ADK-based archiving. It is important that you understand the basic archiving concepts described in this documentation
before you begin with XML-based archiving. The differences between the two technologies and processes are described under XML-based Archiving.
Data archiving should be a periodic process, planned and scheduled on a regular basis.
The Archive Development Kit (ADK), which is delivered with SAP NetWeaver, is the technical framework and basis for SAPs data archiving solution. ADK is a
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 14 of 44
development environment and an application program interface between SAP applications, the database, and the archive files where your data is stored. It is
available in every standard mySAP.com e-business solution and is also used by SAP. ADK ensures that data archiving is independent of hardware and
release changes and provides you with the tools you need for data archiving.
As of SAP Web Application Server 6.10 (SAP Web AS), ADK also supports Unicode. This means you can:
Archive data created in a system that supports Unicode
Develop data archiving solutions for a Unicode environment
Access both Unicode and non-Unicode archives
Features
ADK includes:
Archive Administration functions
An application programming interface (API) you can use to develop your own archiving programs
The development of an archiving program is based on the definition of an Archiving Object, which specifies which tables comprise a business object.
Archiving objects are complex objects of interdependent tables.
Archiving-specific function modules
This includes the ADK Interface and Class Interface function modules. You do not need to know the technical details of the archiving procedures, as
they are localized in the function modules.
The data archiving functions provided by these function modules include:
Automatic job scheduling
File management using the SAP Content Management Infrastructure
Automatic conversion of archived data
Compression during archiving
Connection to a storage system
Ability to archive while system is running
Access to individual data objects in the archive
Sample programs and documentation
See Also
Archiving Application Data (CA-ARC)
The units in this section of the NW Developers Guide describe how to approach each of these integration topics when planning and executing your
development project. Each of these topics is embedded in an IT scenario view.
An IT scenario provides a process-oriented view of a certain subset of SAP NetWeaver capabilities, suitable for implementing those capabilities in a project.
There are different kinds of scenarios, ranging from pure development through supporting a particular integration goal to setting up or operating the IT
infrastructure in a certain way.
Typical aspects covered in these units answer questions like the following:
What do you have to do when planning and developing your application in order to make it fit into a service-oriented architecture, that is, how and where
do you need to model your data types and business objects in order for them to be exposed to other applications?
What do you have to do to have your application's data easily integrated into an enterprise data warehousing scenario?
What do you have to do to ensure that your application can easily participate in integrated access management and user management, and provide
single sign-on capabilities, for example, for UI integration in the portal?
Once again, these are just a few examples... Read on to find out more about those important development topics.
Page 15 of 44
This IT scenario comprises a variety of ways to develop, configure, extend and adapt applications. The scenario covers all aspects of application
development, starting with elementary questions of software logistics and continuing with the development of both back-end logic and Web-based user
interfaces for subsequent deployment in the portal.
Features
Depending on the use case of your development project, you can choose any of the following scenario variants:
Variant Name
Description
Organizations that have adopted the Java 2 Platform, Enterprise Edition (J2EE)
standard are offered the methodology and tools to easily port their applications to
SAP NetWeaver. After the migration, they can maintain their applications with SAPs
complete Java tool set, including the SAP NetWeaver Developer Studio and the
SAP NetWeaver Development Infrastructure.
In the SAP standard applications, ABAP is still the prevailing technology. This
variant focuses on how to customize and extend SAPs custom applications in
customer projects, using the so-called switch framework and enhancement
framework.
The comfortable Web Dynpro technology for building user interfaces is also
available for the ABAP world, and can thus be used to put modern, professional
user interfaces on top of existing ABAP applications.
Composite applications combine services from many different sources, and make
heavy use of collaboration and knowledge management features to support groups
of end users in innovative ways. SAP NetWeavers composite application
framework (CAF) offers a special set of tools to generate, adapt and maintain
composite applications.
Steps
The current scenario variant comprises the following phases, which you process in the context of Web Dynpro application development:
1. Model the complete Java Web Dynpro application, including the back end to be used.
a. Plan the back end to be called, which obtains the data for your Web Dynpro application. The back end is specified by means of the
model definition and use access.
Web Dynpro
b. Arrange the Web Dynpro application into development components, which are infrastructure entities. This step is carried out in the context of
Web Dynpro project to be set up.
the
c. The
navigation within the Web Dynpro application and the
Portal Navigation must be taken into account during the modeling. You will usually
first plan the navigation between the views of the application. However, you should already consider at an early stage what function your application
is to have within the SAP Enterprise Portal (EP).
2. Develop the Java Web Dynpro application using the
design time tools in the development environment, the SAP NetWeaver Developer Studio. All Java
Web Dynpro tools are available in the Web Dynpro perspective.
a. Implement the back-end model, such as the Adaptive Remote Function Call (Adaptive RFC) model, using the
b. Define the
data binding. The term data binding refers to the data flow between a UI element and the controller context or between the controller
context and a back-end model. For this reason, SAP has added Web Dynpro-specific properties to the standard Eclipse Properties view, which
enable direct navigation to the controller context for definition purposes.
c. Implement the view layout in the graphical
View Designer tool. Choose the required UI elements from the range provided. There is also a
Favorites category, which lists the most frequently use elements.
d.
Deploy the application on the Java engine of the SAP Web Application Server. During Web Dynpro development, you can query the current status
of your engine using the J2EE view.
e.
Debug and
process.
test the Web Dynpro application, including functional application tests. A separate perspective is available for the debugging
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 16 of 44
3. Adapt the Java Web Dynpro application for the end user, or enable the end user to adjust the application to suit his or her requirements.
a.
Internationalize the user interface to ensure that the application is multilingual. SAP supports the Java standard and creates resource files, but
also provides an input form. Developers are thus able to send users detailed information electronically.
b. Personalize the Web Dynpro application using the corresponding functions of the Portal, as described under User Guide Personalization .
c. If necessary, carry out an
implicit configuration of the Web Dynpro application to adapt the user interface accordingly. Examples of implicit
configurations are the role-specific altering of labels or changing the visibility of fields.
Steps
The implementation of this scenario variant includes the following processes and steps:
1. Port existing application from a different vendor to your NetWeaver-based development environment.
a. Do your migration planning using the J2EE Migration Kit. For more information, see SAP Developer Network at sdn.sap.com.
b. Import the application sources in the SAP NetWeaver Developer Studio as described in
2. Create a model of your application using the tools in the SAP NetWeaver Developer Studio.
a. Structure the components of your J2EE application according to the SAP NetWeaver
Component Model.
b. Define the application components and interactions between them in UML notation using the built-in Borland Together UML modeling tool. For more
information, refer to the tools documentation in the Eclipse help.
3. Implement applications components.
a. Build the presentation layer of your application using JSPs and servlets as described in
b. Implement the business logic of the application using enterprise beans as described in
OpenSQL/JDBC technology to build the persistence layer as described in
J2EE
JLin tests. Use the integrated tools for remote debugging to pin-point errors in your application as
described in
Remote Debugging in the Developer Studio.
4. Configure and adapt your application to fit into the SAP NetWeaver development and runtime infrastructure.
a. Configure the declarative settings of the application using the UI editors of the SAP NetWeaver Developer Studio as described in
Deployment Descriptors.
Editors for
b. Configure the security aspects for your application such as security roles, authorization and authentication properties, as described in
Security Functions.
c. Deploy your J2EE application directly from your SAP NetWeaver Developer Studio project as described in
use the standalone deployment options listed in
Integrating
d. Manage the life cycle of your application using the services that the SAP NetWeaver Development Infrastructure provides as described in
with the SAP NetWeaver Development Infrastructure.
Working
b. Create entity services to implement the data model. For more information, see
a. Create and configure the callable objects that you need for the process, as described in
b. Personalize your process.
c. Maintain the process authorizations.
Steps b and c are typically done by a power user. For more information, see
d. Set up the services of the application. See
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 17 of 44
You can find the complete description of the IT processes that this variant comprises in
Scenarios At a Glance documentation suite.
Development Process
Working with this scenario variant means programming user interfaces for business applications using the UI technology Web Dynpro for ABAP. The following
sections of the Web Dynpro ABAP programming manual help you in this task:
Basics
This section contains the information on how to build a simple Web Dynpro application.
Cross-Component Programming
In this section, the previous topics are extended to allow communication across multiple components.
Dynamic Programming
This section contains information about the dynamic manipulation of the context or layout, for example. Dynamic programming requires good knowledge of
ABAP Objects.
Advanced Concepts
This section covers different topics relevant to advanced projects with Web Dynpro for ABAP. These topics are self-contained and do not build on one
another. See also:
Portal Integration
Enhancements
Prerequisites
The guide assumes that you have the basic knowledge of the following areas:
Java and servlet programming.
Basic operating system commands for navigating in the file system, copying and editing files.
Some portal services require knowledge of the following:
JSP (Java Server Pages)
HTML
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 18 of 44
This documentation describes, how to develop and integrate new services and extensions in order to enhance the collaboration capabilities of SAP
NetWeaver.
Prerequisites
Developers that want to enhance the Enabling User Collaboration scenario with custom developments need to have a basic understanding of the underlying
technical components. The following table lists the knowledge required as prerequisites for this documentation:
Prerequisite
Description
The Collaboration capabilities of SAP NetWeaver are part of the Enterprise Portal
(EP) usage type.
IT scenario variants
Ad-hoc collaboration
Collaboration in virtual rooms.
See the description of the
Development environment
In order to develop the enhancements for Collaboration within SAP NetWeaver you
need the knowledge of Java.
Disclaimer
Any software coding and/or code lines / strings ("Code") included in this documentation are only examples and are not intended to be used in a productive
system environment. The Code is only intended better explain and visualize the syntax and phrasing rules of certain coding. SAP does not warrant the
correctness and completeness of the Code given herein, and SAP shall not be liable for errors or damages caused by the usage of the Code, except if such
damages were caused by SAP intentionally or grossly negligent.
Topics
Developers that want to enhance the 1.4.4 Enterprise Knowledge Management scenario with custom developments need to have a basic understanding of
the underlying Knowledge Management platform and the development options. The following documentation provides information on various aspects of the
platform and points out the most effective ways in which developers can use and extend the platform.
Getting Involved
Briefly introduces the architecture of Knowledge Management and then explains the main components: the repository framework layer, the Knowledge
Management layer and extensions. It describes the role of repository managers and focuses in detail on the functions that are available for objects when they
are exposed as resources within the repository framework. Further sections focus on the Knowledge Management layer, which implements functions that are
available for users on the UI, and extensions, which are plugged into the framework to enhance its capabilities.
For developers that are familiar with the basic concepts of Knowledge Management and want to get started with development work, this section gives useful
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 19 of 44
information for setting up the development environment and defining development projects.
Go and Create
Provides a tutorial for creating a repository manager that integrates a document store into Knowledge Management, enabling read access for clients. The
tutorial offers a link to a deployable sample program.
Core Development Tasks
Informs about the details of programming with Knowledge Management. Developers can build applications on top of the existing implementation or develop
extensions for the implementation. The documentation describes both these approaches and provides links to tutorials and samples that illustrate common
programming tasks. Further topics deal with the UI technologies which Knowledge Management supports, the development of configurable applications and
performance optimization.
Reference
Provides links to Javadocs, tutorials and sample programs. A check list summarizes points that must be taken into consideration during the development
process to avoid errors.
Disclaimer
Any software coding and/or code lines / strings ("Code") included in this documentation are only examples and are not intended to be used in a productive
system environment. The Code is only intended better explain and visualize the syntax and phrasing rules of certain coding. SAP does not warrant the
correctness and completeness of the Code given herein, and SAP shall not be liable for errors or damages caused by the usage of the Code, except if such
damages were caused by SAP intentionally or grossly negligent.
Also see the information in the SAP NW Technical Operations Manual about the
BI Integrated Planning and analysis process design (for data mining solutions, for example) are now explained in more detail.
BI Integrated Planning
You can develop your own data models and planning-specific metadata objects for your business planning.
You can use the BEx Query Designer to define input-ready queries for the manual entry of plan data.
In the BEx Analyzer and Web Application Designer, you can develop planning applications that support manual data entry and automatic changes to data.
With the SAP enhancement concept, you can make enhancements to the standard in the BI system. Within the BI system, you can use customer exits
and BAdIs to make enhancements in the Query Designer and the Web Application Designer.
Prerequisites
Area
Prerequisites
ABAP proficiency
Data mining
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 20 of 44
Prerequisites
Area
Prerequisites
BI in Visual Composer
ABAP proficiency
ICF services
ABAP proficiency
Report-report interface
BI Java SDK
Open Analysis
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 21 of 44
systems into a BI system, and use third-party tools to distribute this data into further non-SAP systems.
BI allows you to implement routines for transferring data.
With the SAP enhancement concept, you can make enhancements to the standard in the BI system. In the BI system, customer exits and BAdIs are
used in open hub destinations, the formula editor and documents to enable enhancements.
Services that are based on the SAP NetWeaver Internet Communication Framework (ICF) are delivered with BI. The HTTP services of BI allow you to
display or swap BI metadata using a URL. You can also display user-specific documentation on metadata.
Prerequisites
Area
Prerequisites
ABAP proficiency
ABAP proficiency
Modeling BI objects
ABAP proficiency
Implementing routines
ABAP proficiency
ABAP proficiency
ICF services
ABAP proficiency
Prerequisites
The following table lists the prerequisites for this documentation:
Prerequisites
Description
Tools
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 22 of 44
Prerequisites
The following table lists the prerequisites for this documentation:
Prerequisite
Description
IT scenarios
Tools
Prerequisites
The following table lists the prerequisites for using this documentation:
Prerequisites
Description
IT Scenarios
Topics
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 23 of 44
Getting Involved
Gives an overview of the business task management concepts and the development tools used to implement this scenario.
Go and Create
Enables you to get started with scenario development by creating a simple form-based process.
Core Development Tasks
Provides detailed instructions on how you implement development aspects of business task management.
Integration
Outlines integration aspects of this scenario.
Reference
Includes tutorials that show you how you implement different aspects of business task management.
Development Approach
Inside-Out
Outside-In
and
More Information
Web Services
Enabling Application-to-Application Processes in
the SAP NetWeaver Developers Guide
Inside-Out
In the second scenario variant, the development approaches are combined, since the Integration Builder also supports the import of interface descriptions into
the Integration Repository to facilitate communication between SAP and non-SAP systems. The first scenario variant is generally intended for simple,
synchronous, cross-application communication, whereas additional integration services of the Integration Server (such as routing and mapping) can be used in
the second scenario variant. The advantage of the first variant is that it involves a relatively short adjustment period compared to the second variant.
Development Tools
Application
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 24 of 44
Inside-Out
Outside-In
SOAP adapter.
In ABAP, the programming model for the communication between client and server proxies is independent of whether or not the communication is made using
the Integration Server. This does not yet apply to Java in SAP NetWeaver 7.0.
Description
This section shows what developers need to do to integrate Java components into a
central CCMS monitoring.
This section focuses on the efficient writing of log files in Java using the SAP
Logging API.
Printing
In the area of printing, the XOM and XDC programming interfaces provided by SAP
are of particular interest from a developers point of view.
Background Processing
Alert Management
SAP Alert Management ensures that business-critical alerts are delivered to those
responsible quickly. This section describes how alerts can be triggered and
managed.
Data archiving for ABAP and Java is a core requirement for efficient and legal
operation of business applications. This section describes how data archiving can
be provided for ABAP and Java applications.
Area
ABAP
Monitoring
Printing
Background Processing
Alert Management
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Focuses
Page 25 of 44
Java
Monitoring
Logging
The monitoring infrastructure is open for extensions. You can therefore use your own developments to:
Instrument your own components, that is, report data to the monitoring infrastructure
Read monitoring infrastructure into your own application for further use
The methods available for both scenarios are introduced in the following sections.
Development Possibilities
In principle, you can extend the possibilities of the monitoring infrastructure with your own developments at two points:
Reporting monitoring data to the monitoring infrastructure, such as instrumenting additional components
Reading monitoring infrastructure monitoring data, for example, to display the data in your own display tool
Performance Attributes,
Status Attributes, and
Log Attributes in any tree structure of the monitoring infrastructure.
For information about this topic, see Creating a Data Supplier for the CCMS Alert Monitor.
In the case of smaller projects, you can also create the desired attributes using XML documents that are transferred using an HTTP client of the
monitoring infrastructure. The certifiable interface BC-XMW is available for this purpose.
create rule-based monitors, so that the reported monitoring data can be clearly displayed in
The
Generic Request and Message Generator (GRMG) is also available to monitor the availability of components or business processes. You can
instrument your own components for monitoring with GRMG. Scenarios with different software components (especially if there are no active data suppliers
available for these components) and Web-based business scenarios are typical examples of applications that you can usefully monitor with the GRMG
(see
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 26 of 44
Creating and Changing Monitors. There is also a relevant SAP Tutor available on the SAP Service Marketplace .
To download the SAP Tutor, start the SAP Service Marketplace , and go to the System Monitoring and Alert Management area
(http://service.sap.com/monitoring). Choose Education & Workshops , and select the document Creating a Rule-Based-Monitor from the list.
Generic Request and Message Generator (GRMG) is also available to monitor the availability of components or business processes. To monitor the
availability of a new application with the GRMG, develop a corresponding GRMG application. For a corresponding example, see
GRMG Application.
There are also specific methods for troubleshooting and error analysis for the methods described in Getting Involved:
CCMS Selfmonitoring Monitor for Instance-Specific Data. For more information, see the
To download the relevant document, start the SAP Developer Network (http://sdn.sap.com), and go to the SAP NetWeaver Developers' Guide Quick Link.
Choose Application Development System Management System Management Development , and in the ABAP System Management area, select
the Writing a Data Supplier document. The coding that you require is in the section Issuing Self-Monitoring Messages .
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 27 of 44
1.4.13.1.5 Reference
For more information about the topics covered in Getting Involved, see the following:
Topic
Additional Information
The term data supplier is used here for all programs that provide monitoring functions. There are two types of data suppliers:
Passive data suppliers or data collection methods
These data suppliers are periodically started by the monitoring architecture and are formally defined there. Passive describes the behavior of the data
supplier: it is started by the CCMS monitoring infrastructure.
A passive data supplier collects the users logged on to the system every five minutes.
Active data suppliers
These data suppliers are started by the monitored application itself and not by the CCMS monitoring infrastructure. These data suppliers are active in
their start behavior in relation to the CCMS monitoring infrastructure.
If a message is written to the system (transaction SM21), it is also reported to the CCMS monitoring infrastructure at the same time.
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 28 of 44
The following overview documentation confines itself to passive data suppliers under ABAP. For a complete description of the interface, see the document
Writing a Data Supplier .
To download the document, start the SAP Developer Network (http://sdn.sap.com), and go to the SAP NetWeaver Developers' Guide Quick Link. Choose
Application Development System Management System Management Development , and in the ABAP System Management area, select the
specified document.
Example
For a detailed description of a data supplier that reports the number of users currently logged on to the CCMS monitoring infrastructure, see Data Supplier for
the Users Currently Logged On.
Monitoring Objects
Monitoring objects are particular components of your systems that the monitoring architecture monitors (such as SpaceManagement or CPU ). Like the
summary nodes, they are created by the data suppliers. The objects combine various monitoring attributes that belong to the same component or the same
attribute of the SAP system. They are identified in the alert monitoring tree by the icon
Monitoring Attributes
Monitoring attributes are data types that can be reported for a particular monitoring object. The monitoring object CPU , for example, has the attributes CPU
utilization and 5MinuteLoadAverage , among others. A data supplier reports data for these attributes, and the alert monitor triggers alerts for the attributes if
the data violates the defined alert thresholds.
There are various types of monitoring attributes:
attribute type
Description
Performance attribute
Status attribute
Reports error message texts and alert statuses; a status attribute contains individual
messages (such as individual status, warning, and error messages)
Log attribute
If your component might output multiple related messages, you can use a log
attribute instead of a status attribute to report the messages to the Alert Monitor. The
log attribute presents the messages as a log. This means that the user can see the
messages in context. Use a log attribute to implement a log or trace for your
component. The monitoring architecture provides the log function. You only need to
report your messages to the log attribute.
Log attributes can use an existing log mechanism, such as the SAP system log,
or they can be used by an application for the implementation of a separate log.
Allows a data supplier to report information that does not have an alert value; the
text can be updated if required; use text attributes for text information for a
monitoring object that is seldom changed (such as an ID).
Text attribute
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 29 of 44
Methods
You can assign
methods to monitoring attributes, and use transaction RZ21 of the alert monitor to access the method definitions. A method can be a report,
a function module, an SAP transaction, or a URL that is to be executed as a reaction to an alert. You can execute these methods within the Alert Monitor. If
you double click, for example, the MTE for prematurely terminated jobs, the monitoring architecture automatically starts the job management transaction, in
which the job reported in the MTE is already selected.
The following methods exist:
Data Collection Methods
These methods allow the collection of information about the SAP system and its environment that is then reported to the monitoring architecture. The
method starts automatically or is automatically started by the Alert Monitor at specified time intervals.
Auto-Reaction Methods
These methods start automatically when an alert is triggered. There are multiple predefined auto-reaction methods in the monitoring architecture, which
you can assign to MTE classes (see also
Selected Methods of the Alert Monitor):
Sending an e-mail
Executing an operating system command
Executing an auto-reaction in the central monitoring system
Analysis Method
This method allows an analysis of error situations without leaving the Alert Monitor. You start an analysis method manually. An analysis method is, for
example, an ABAP program for displaying information about a node in the monitoring tree and for collecting information about the problem that triggered an
alert in this node.
The following methods are assigned to the MTE class R3UsersLoggedIn (and therefore to all corresponding attribute nodes of all instances):
Data collection method CCMS_User_Collect; this regularly collects the number of users logged on
Analysis method CCMS_User_Analyse; this shows the number of users currently logged on if there is a problem
An MTE class describes the general properties (such as assigned help texts) and method assignments that are common to a particular group of MTEs.
An attribute group describes the specific properties that are shared for a particular attribute type, such as threshold values for alerts in the case of
performance attributes.
The attribute group R3DialogResponseTime defines that a yellow alert is to be displayed if the average response time exceeds two seconds. A
red alert is displayed if the average response time exceeds three seconds.
MTE classes and attribute groups simplify the Customizing of the Alert Monitor, since you do not need to change threshold values, properties, or methods
individually for every MTE, but only for the corresponding attribute group or MTE class.
You can easily define a monitor that displays the number of users logged on for all systems in the landscape. This monitor selects all nodes of
the MTE class R3UsersLoggedIn for all registered systems.
Start Page Creating a Data Supplier for the CCMS Alert Monitor
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 30 of 44
In addition to the data supplier, developers define an analysis method that provides additional information about the component if a problem occurs. If
necessary, an auto-reaction can also be defined, which is automatically started if an alert occurs.
The CCMS monitoring infrastructure provides the periodic start of the data supplier and the display and alert administration services. The quality and
usefulness of the monitoring data for your component depend entirely on the developer of the component.
Report only the most important information. Nothing is worse than an Alert Monitor overloaded with data, which is always red, and with which
no customer can work. If errors occur, the analysis method can collect detailed information and display it centrally.
2. How can the information be collected reliably and precisely? Do you have a function module or a report that collects the required information? Can you
build this function module or report into your data supplier? Does your component contain the necessary instrument to collect the required data?
3. How can the user react to problems (alerts)? Do you have an analysis method a transaction, a report, or an external operating system command with
which the user can obtain additionally required information or take the required action to correct the problem?
4. Do you have a tool that can automatically react to an alert (auto-reaction method)? Or is there a standard action that is to be taken when an alert occurs
(such as the informing of an administrator or the sending of a mail to a call center)?
Process Flow
To instrument your component for the CCMS monitoring infrastructure, proceed as follows:
1. Design monitoring of the component
Consider how you want to monitor your component.
2. Design the monitor in the CCMS monitoring infrastructure
Decide how you want to add your component to the CCMS monitoring infrastructure. This is essentially about the structure of the tree in the Alert Monitor
(transaction RZ20).
3. Attribute design
Consider whether you require particular functions of the CCMS monitoring infrastructure to implement your design. The attribute types to be used depend
on this.
4. Preparation for programming
Produce the prerequisites for the programming, such as preparing messages (short and long texts) for display in the Alert Monitor, preparing data
collection and analysis methods, and so on.
5. Implementation
Perform the programming of the data supplier and the definition of the methods
6. Test
For detailed information about the above steps, see the following sections:
Decision Table: Organizational Decisions
Decision Table: Monitoring Attributes for the Attribute Types
If you do not have time for detailed design decisions, or simply want to create a prototype, you can copy one of the following examples reports
and change them to meet your requirements:
Rsdssmpl_performancecreates a monitoring object and a performance attribute that displays numbers, such as:
Dialog Response Time = 1000ms
Rsdssmpl_singlemsgcreates a monitoring object and a status attribute that displays individual messages, such as an ABAP short dump:
Short dump: [Error SYSTEM_CORE_DUMPED occured. P1=0] (Client 000) (User SAPSYS)
Rsdssmpl_log creates a monitoring object and a log attribute that displays multiple messages, such as an SAP system log.
Productive data supplier RSDSUSER for collecting the users currently logged on to the instance (see also Data Supplier for the Users
Currently Logged On).
For more information about this, see SAP Note 429381.
Start Page Creating a Data Supplier for the CCMS Alert Monitor
Monitoring Data
(What type of information is to be reported?)
Performance attributes
Status attributes
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 31 of 44
Log attributes
Text attributes
The attribute determines the function module of the monitoring architecture that you
need to use.
Scope of your data supplier
Is the data supplier to be started only once for each SAP NetWeaver
system ( system-wide data supplier )?
Is the data supplier to be started on one or on all SAP NetWeaver
instances ( local data supplier )?
If the Alert Monitor is to start the data supplier:
Should the alert monitor start the data collection method in a dialog work
process, and how often should it do so (every so many seconds)?
Should the alert monitor start the data collection method in a background
work process, and how often should it do so (every so many hours)?
Other specifications about the start behavior (you determine here how and where
a data supplier runs)
Define message IDs and numbers from table T100 for the following objects:
Assign the nodes that you want to create using the data supplier to
and attribute groups:
MTE classes
Which headings are required for structural elements (summaries for the
display) to group subordinate MTEs (length of the name up to 20
characters)?
At which points in your monitoring tree are the summaries to appear in the
form of summary MTEs? What are the parent nodes?
Start Page Creating a Data Supplier for the CCMS Alert Monitor
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 32 of 44
Start Page Creating a Data Supplier for the CCMS Alert Monitor
What information does a user require to monitor and administer your component? You also need to implicitly decide what monitoring and administering
your component means:
Does the monitoring include one or more performance values?
Does it include the operator waiting for particular messages to appear?
Does it include a combination of these two possibilities?
Answer:
Only the number of users logged on is reported for each instance. This is therefore a performance value.
2. How can the information be collected reliably and precisely? Do you have a function module or a report that collects the required information? Can you
build this function module or report into your data supplier? Does your component contain the necessary instrument to collect the required data?
Answer:
The function module TH_USER_LIST determines the number of users for each instance.
3. How can the user react to problems (alerts)? Do you have an analysis method a transaction, a report, or an external operating system command with
which the user can obtain additionally required information or take the required action to correct the problem?
Answer:
Transaction AL08, which displays the number of users currently logged on, is suitable as an analysis method .
4. Do you have a tool that can automatically react to an alert (auto-reaction method)? Or is there a standard action that is to be taken when an alert occurs
(such as the informing of an administrator or the sending of a mail to a call center)?
Answer:
Alerts are not to be traced further. It is therefore not necessary to define an auto-reaction.
For more information about this example, see the following sections:
Data Supplier for Users Logged On: Decision Tables
Data Supplier for Users Logged On: Report RSDSUSER
Data Supplier for Users Logged On: Settings in RZ21
Start Page Creating a Data Supplier for the CCMS Alert Monitor
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 33 of 44
Monitoring Data
(What type of information is to be reported?)
The Alert Monitor should start the data collection method every 300
seconds in a dialog work process.
Other specifications about the start behavior (you determine here how and where
a data supplier runs)
How should the data collection method behave at the system start?
If the data collection method is started by the Alert Monitor, for which MTEs should it
be started?
Define message IDs and numbers from table T100 for the following objects:
Summary MTEs (enter any summary MTEs to structure your monitoring tree)
40
For more information about this example, see the following sections:
Data Supplier for Users Currently Logged On
Data Supplier for Users Logged On: Report RSDSUSER
Data Supplier for Users Logged On: Settings in RZ21
Start Page Creating a Data Supplier for the CCMS Alert Monitor
RSDSUSER
*&--------------------------------------------------------------------*
*&
*&
*
*
*&--------------------------------------------------------------------*
REPORT
RSDSUSER.
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 34 of 44
DATA: MOTID
LIKE ALGLOBTID,
*--
START-OF-SELECTION.
* get tid for for self-monitoring message log
perform create_datasupplier_log_node
changing self_moni_tid.
* self moni
send rt 39 ("gestartet")
perform send_selfmon_msc_message
using
self_moni_tid
039
sy-repid
space
sy-repid.
PERFORM SEND_SELFMON_MSC_MESSAGE
USING
SELF_MONI_TID
101
SY-REPID
SPACE
SY-REPID.
endif.
** end of the main program
FORM
GET_NBRUSER.
= USER_TBL
EXCEPTIONS
OTHERS = 1.
DESCRIBE TABLE USER_TBL LINES NUMBER_OF_USERS.
ENDFORM.
*-----------------------------------------------*
*-- CREATE_MA_NBRUSER
-----------------------*
*-----------------------------------------------*
FORM CREATE_MA_NBRUSER.
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 35 of 44
MT_FULL_NAME
= DIALOG_FULLNAME
importing
TID
= MOTID
exceptions
unable_to_expand_name = 1
name_not_found
= 2
communication_failure = 3
other_problem
others
= 4
= 5.
Send RT 34
PERFORM SEND_SELFMON_MSC_MESSAGE
USING
SELF_MONI_TID
039
DIALOG_FULLNAME
SPACE
SY-REPID.
exit.
endif.
MTE_NAME
*
= MOTID
= NUSR_CLASS_NAME
MTE_NUMRANGE
= AL_NR_AUTO
MTE_SECONDS_TIL_COLLECTINGTOOL = 240
*
collecting interval
MTE_SECONDS_UNTIL_SET_INACTIVE = 900
MTE_F1_HELP_TEXT_MSGID
= CCMS_SELFMON_MSGID
MTE_F1_HELP_TEXT_MSGNO
= 068
describing text
PERF_CUSTOMIZING_GROUP
= NUSR_CLASS_NAME
PERF_THRESHOLD_DIRECTION
= AL_THRESHDIR_ABOVE
PERF_THRESHOLD_GREEN_TO_YELLOW = 50
PERF_THRESHOLD_YELLOW_TO_RED
= 70
PERF_THRESHOLD_YELLOW_TO_GREEN = 400
PERF_THRESHOLD_RED_TO_YELLOW
PERF_UNIT_TO_DISPLAY
*
PERF_DECIMALS
thresholds
= 0
PERF_ALERT_TEXT_MSGID
= 'RT'
PERF_ALERT_TEXT_MSGNO
*
= 600
= SPACE
= 577
alert text
TOOL_COLLECTING
= 'CCMS_User_Collect'
TOOL_ONALERT
TOOL_ANALYZE
*
= 'CCMS_User_Analyse'
= NUSR_TID
EXCEPTIONS
INVALID_TID
= 1
UNABLE_TO_EXPAND_NAME
INVALID_PARAMETERS
= 2
= 3
COMMUNICATION_FAILURE
OTHER_PROBLEM
WRONG_SEGMENT
= 4
= 5
= 6
INTERNAL_FAILURE_SALS
OTHERS
= 7
= 8.
if sy-subrc <> 0.
AN_ERROR_OCCURED = 'X'.
* self moni
Send RT 31
PERFORM SEND_SELFMON_MSC_MESSAGE
USING
SELF_MONI_TID
031
NUSR_NAME
SPACE
SY-REPID.
exit.
endif.
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 36 of 44
ENDFORM.
*&--------------------------------------------------------------------*
*&
Form
REPORT_NBRUSER
*&--------------------------------------------------------------------*
*
text
*---------------------------------------------------------------------*
*
-->
p1
text
<--
p2
text
*---------------------------------------------------------------------*
FORM REPORT_NBRUSER.
DATA: REPORTEDBY(16).
REPORTEDBY = SY-REPID.
* Main call to report number of users logged in
call function 'SALI_PERF_REPORT_VALUE'
exporting
TOTAL_OF_REPORTED_VALUES
*
= NUMBER_OF_USERS
number_of_reported_values = 1
REPORTEDBY
= REPORTEDBY
changing
TID
= NUSR_TID
exceptions
invalid_tid
= 1
wrong_typeclass
= 2
invalid_parameters
= 3
communication_failure
other_problem
others
= 4
= 5
= 6.
if sy-subrc <> 0.
* self moni
Send RT 33
PERFORM SEND_SELFMON_MSC_MESSAGE
USING
SELF_MONI_TID
an_error_occured = 'X'.
endif.
ENDFORM.
" REPORT_NBRUSER
You can also call the function modules SALI_MT_GET_TID_BY_NAME and SALI_PERF_CREATE_ATTACH (or the corresponding call for
other attribute types) directly from the coding of your component. In this case, you have created an active data supplier that is not called by
the CCMS monitoring infrastructure (and therefore does not appear in the method definitions, or in the assigned methods for the node).
An active data supplier makes sense, for example, if values are only to be reported if certain conditions are fulfilled on the application server
(such as the occurrence of an error).
For more information about this example, see the following sections:
Data Supplier for Users Currently Logged On
Data Supplier for Users Logged On: Decision Tables
Data Supplier for Users Logged On: Settings in RZ21
Start Page Creating a Data Supplier for the CCMS Alert Monitor
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 37 of 44
Edit Data .
The settings for the existing method are presented here as an example; to instrument your component, you need to create a corresponding
method of your own.
c. The Execution tab page shows, in the Execute method on group box, that the report RSDSUSER is to be executed on The local server of the
MTE to be processed . The report described above collects the number of users logged on individually on each instance.
d. On the Control tab page, in the Startup Method group box, you can see that the data supplier is started by the CCMS monitoring infrastructure
immediately after the instance start. It is then started periodically in a dialog work process (passive data supplier).
e. On the Release tab page, you can see that the method has been released and can therefore be used as a Data Collection Method in the context of
the CCMS monitoring infrastructure.
f. Exit the screen by choosing Back (
2. Properties of the Analysis Method
).
a.
b.
c.
d.
e.
f.
g.
).
The following properties are set by parameters in the function module SALI_PERF_CREATE_ATTACH (see Data Supplier for Users Logged
On: Report RSDSUSER), this means that you also do not need to set these properties in transaction RZ20/RZ21 for your own
instrumentations. The intention here is simply to show you where you can view (and change) these properties in the user interface.
Start the Alert Monitor by calling transaction RZ20.
Expand the monitor set SAP CCMS Monitor Templates , and start the Entire System monitor.
Expand the following path in the monitoring tree:
<SysID> <Application Server> <instance> R3Services Dialog
The node UsersLoggedIn is displayed at the end of the list of nodes.
Select the node UsersLoggedIn , and choose Properties .
You can see on the PerformanceAttribute tab page that the performance properties are assigned by the attribute group R3UsersLoggedIn ; you can
also see the properties that have been assigned to the node in the report RSDSUSER in the Threshold values and Alert text group boxes.
On the General tab page, you can see, among other things, that message RT 068 is assigned to the MTE class of the node.
On the Methods tab page, you can see, among other things, that the data collection method CCMS_User_Collect and the analysis method
CCMS_User_Analyse are assigned to the MTE class of the node.
Start Page Creating a Data Supplier for the CCMS Alert Monitor
Reference
For an example application, see
Example of Application Instrumented with Monitoring. For information about the types of monitor that you can use, see
Types of Monitors and Their Usage.
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 38 of 44
Log Configuration.
The logging configuration can be changed at runtime. Adjusting the logging configuration is one of the administrators tasks. For more information, see
Log Configuration.
Reference
For a basic introduction to the functions of logging, see
1.4.13.4 Printing
The following interfaces might be relevant for developers in the area of printing:
XOM Generic interface to the SAP spool system for external output management systems
You can integrate the SAP spool system into an external output management system (OMS) so that you can use the functions of the OMS from your
SAP system. To do this, you require the XOM application programming interface.
XDC Interface for external document converters
To be able to print documents from SAP systems with an external format, you require an external converter. This interface allows the connection of a
converter of this type. It was created due to the need to print documents created with SAP systems together with attachments that were not created in
SAP system, such as an invoice created with SAP Smart Forms with the payment conditions as a Microsoft Word document appendix. Technically, the
XDC interface is implemented using RFC calls between the SAP system and the external converter. The interface is defined in such a way that, in
addition to the formats DOC, PPT; or XLS, it can optionally also support other input formats (such as TIF, PDF) and other output formats for the
conversion (such as PDF, TIF).
Reference
For more information, see the corresponding certification documentation in the SAP Developer Network (http://sdn.sap.com) under the path SAP Integration
and Certification Center Integration Scenarios SAP Web Application Server (Technology) . In the Background Processing and Output
Management area, select the BC-XOM or BC-XDC interface.
Reference
The following points are relevant for developers in the area of background processing:
XBP interface for connecting external job management systems to the SAP background processing system.
This interface allows external job scheduling software outside the SAP system to schedule, start, and monitor jobs.
For more information, see the corresponding certification documentation in the SAP Developer Network (http://sdn.sap.com) under the path SAP
Integration and Certification Center Integration Scenarios SAP Web Application Server (Technology) . In the Background Processing and
Output Management area, select the BC-XBP interface.
For information about programming in the SAP background processing system, see
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 39 of 44
Alert Management
Alert Management (ALM) comes into play, when business-critical problems occur. Within ALM, conditions for critical situations are predefined. When an alert
is triggered in ALM that meets these conditions, responsible or interested parties are determined and informed immediately. Examples of critical situations
might be an important customer terminating a contract or a budget being exceeded.
The alerts are polled from the UWL of the Enterprise Portal, application-specific display programs, or the alert inbox. These display programs can be
personalized due to the users needs. In addition, the users can receive alerts as e-mail, SMS, and fax, if these external methods of communication are
configured in SAPconnect. End users can personalize their alert notifications, for example, create notification variants or determine a substitute.
Integration
The following picture shows the components that participate in the generation and delivery of an alert.
First, a situation arises in an application. An application-independent decision tool decides whether or not an alert has to be triggered. If the decision tool
comes to the conclusion that an alert has to be triggered, the triggered alert is pushed to ALM. ALM takes care of the correct and timely alert delivery to the
display programs such as the Universal Worklist in the Enterprise Portal and to external media such as fax, e-mail, and SMS.
Reference
The following list shows you the basic steps of alert triggering with ALM together with links where to find further information:
Every alert belongs to an alert category, which contains alert meta data. This meta data has to be configured before raising an alert. For further information
see
Alert Category.
Business Add-Ins.
Alert Management.
On the SAP Service Marketplace (quicklink /alert ), you find more information, such as SAP Tutors.
AS ABAP
The CCMS monitoring infrastructure is the basis for monitoring across systems and components. It collects values using data suppliers and sends them to a
central monitoring system using CCMS agents. If errors occur, alerts are triggered, to which you can assign auto-reaction methods. You can display the
collected data in the
alert monitor (transaction RZ20) or in
SAP NetWeaver Administrator. This data also forms the basis for monitoring in the SAP
Solution Manager. You can also include analysis methods in the monitoring infrastructure, with which you can perform a detailed investigation of the
corresponding component directly from the alert monitor.
To be able to meaningfully monitor an application with the monitoring infrastructure, at least the following information is required:
Status of the application (such as active , configured , stopped , and so on)
Availability or information about the current function of the application (Health Check); this should certainly include information about critical workloaddependent resources (such as available threads)
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 40 of 44
To instrument the application for the monitoring infrastructure, you need to perform the following steps:
Write a data supplier that collected the above data for the application and transfers it to the monitoring infrastructure. For more information, see the
document Writing a Data Supplier .
To download the document, start the SAP Developer Network (http://sdn.sap.com), and go to the SAP NetWeaver Developers' Guide Quick Link.
Choose Application Development System Management System Management Development , and in the ABAP System Management area,
select the specified document.
This information should be displayed in a separate Alert Monitor monitor. In the case of components with multiple instances, the instance-dependent
information should form a separate subtree in each case. For information about creating corresponding monitor definitions, see
Monitor Sets.
AS Java
You should connect Java applications to the monitoring framework of SAP NetWeaver using JMX, that is, the application should deliver the most important
data about its current status, in the same way as above (see Developing and Enhancing the Java Monitoring Framework with JMX).
You should monitor the availability of the application using the Generic Request and Message Generator (GRMG). For more information, see
Instrumenting an Application.
The application must use the logging infrastructure of the J2EE Engine. For more information, see
GRMG:
All of this monitoring data is automatically transferred to the CCMS and is therefore also available centrally in the Alert Monitor or in the SAP NetWeaver
Administrator.
Note that XML-based data archiving has not been released for customer-specific development. Therefore, documentation is not yet available
for this function.
For more information on how to use XML-based data archiving and how it differs from ADK-based data archiving, see
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 41 of 44
Data in the database can only be archived using archiving objects, which describe the data structure and context.
Financial Accounting documents are archived using the archiving object FI_DOCUMNT. It includes the document header, company codedependent postings, change documents, SAPscript texts, and other elements.
In addition to the aforementioned technology SAP also offers XML-based archiving, as of SAP Web Application Server 6.40. With this new procedure XML
archiving objects are used to write data in the form of resources either to a file system or directly to a WebDAV system, which takes on the role of the storage
system shown in the figure above.
Integration
For the majority of the archiving objects the SAP Data Archiving concept is based on the Archive Development Kit (ADK). As of SAP Web AS 6.40 SAP
offers an additional technology especially designed for XML-based archiving. This new technology comprises the XML Data Archiving Service (XML DAS) and
the XML DAS Connector. Both ADK-based and XML-based archiving are carried out with the help of Archive Administration, transaction SARA.
For some applications it is possible to start archiving directly from the application menu. In these cases the application-specific parameters, such as the
archiving object or the archiving program appear as default values.
Archiving objects for each application component are predefined in the system. Their structures are described in the application-specific sections.
Features
The archiving procedure is divided into three main steps:
Creation of archive files
In the write phase the data to be archived is written sequentially into newly created archive files.
Delete from the database
The delete program reads the data from the archive files and then deletes it from the database.
Storage of archive files
The newly created archive files can then be moved to a storage system or copied to a tape. The removal to an external storage system can be triggered
manually or automatically. It is also possible to store the data before the delete phase.
In XML-based archiving this phase does not exist as a separate step. The data can be written directly to a WebDAV system.
The archiving programs are generally scheduled in the background. However, they can also run in online mode.
The following documentation describes ADK-based archiving. It is important that you understand the basic archiving concepts described in this documentation
before you begin with XML-based archiving. The differences between the two technologies and processes are described under XML-based Archiving.
Data archiving should be a periodic process, planned and scheduled on a regular basis.
The Archive Development Kit (ADK), which is delivered with SAP NetWeaver, is the technical framework and basis for SAPs data archiving solution. ADK is a
development environment and an application program interface between SAP applications, the database, and the archive files where your data is stored. It is
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 42 of 44
available in every standard mySAP.com e-business solution and is also used by SAP. ADK ensures that data archiving is independent of hardware and
release changes and provides you with the tools you need for data archiving.
As of SAP Web Application Server 6.10 (SAP Web AS), ADK also supports Unicode. This means you can:
Archive data created in a system that supports Unicode
Develop data archiving solutions for a Unicode environment
Access both Unicode and non-Unicode archives
Features
ADK includes:
Archive Administration functions
An application programming interface (API) you can use to develop your own archiving programs
The development of an archiving program is based on the definition of an Archiving Object, which specifies which tables comprise a business object.
Archiving objects are complex objects of interdependent tables.
Archiving-specific function modules
This includes the ADK Interface and Class Interface function modules. You do not need to know the technical details of the archiving procedures, as
they are localized in the function modules.
The data archiving functions provided by these function modules include:
Automatic job scheduling
File management using the SAP Content Management Infrastructure
Automatic conversion of archived data
Compression during archiving
Connection to a storage system
Ability to archive while system is running
Access to individual data objects in the archive
Sample programs and documentation
See Also
Archiving Application Data (CA-ARC)
Java Development
The SAP NetWeaver Development Infrastructure (NWDI) is designed for the development and maintenance of business applications. It provides the services
for all development steps that are part of the software life cycle: from the administrator creating the development landscape using the central and projectspecific administration of source files and archives of the developers, to consolidation and test phases of quality management through to the final delivery and
production of support packages.
The NWDI offers the following services:
Administration of development landscape and transport management in the Change Management Service (CMS)
Central archive and build management in the Component Build Service (CBS)
Central management of source files in the Design Time Repository (DTR)
The NWDI is integrated into the process by means of the System Landscape Directory (SLD).
As a developer, you use the SAP NetWeaver Developer Studio to access the services stated above. When you use the NWDI for your development, the
development steps follow the Component Model. This enhances your options for structuring Java-based applications and forms the basis for a build process at
component level.
For more information, see
ABAP Development
You administer ABAP developments using the Change and Transport System of your SAP system.
For more information, see:
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 43 of 44
The example shown in this scenario does not involve any development tasks, however, depending on your system landscape, you may be interested in
providing additional authentication and SSO functions that are not explained in this scenario, for example, the use of the Java Authentication and Authorization
Service (JAAS) to provide for custom login modules for Java applications.
Therefore, for more information about what is available and how to implement additional authentication and SSO services with SAP NetWeaver, see the
following:
Java:
Integrating Security Functions in the section for Authentication and Single Sign-On .
ABAP: See
For other technologies, see the corresponding documentation that applies to the technology.
Integrating Security Functions in the sections Using Security Roles and Permissions in Applications and User Management Engine (APIs) .
ABAP: See
Authorization Checks.
For other technologies, see the corresponding documentation that applies to the technology.
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 44 of 44