You are on page 1of 268

BC619 ALE Technology

BC619

Release 46D 26.03.2003

Print lists are the results of reports in R/3. They are taken from the R/3 database. The standard R/3 System contains a number of pre-defined reports, for example:

0.2

Copyright

Copyright 2002 SAP AG. 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 AG. The information contained herein may be changed
without prior notice.
All rights reserved.

SAP AG 2002

Trademarks:
Some software products marketed by SAP AG and its distributors contain proprietary software
components of other software vendors.
Microsoft, WINDOWS, NT, EXCEL, Word, PowerPoint and SQL Server are registered
trademarks of Microsoft Corporation.
IBM, DB2, OS/2, DB2/6000, Parallel Sysplex, MVS/ESA, RS/6000, AIX, S/390, AS/400,
OS/390, and OS/400 are registered trademarks of IBM Corporation.
ORACLE is a registered trademark of ORACLE Corporation.
INFORMIX-OnLine for SAP and INFORMIX Dynamic ServerTM are registered trademarks of
Informix Software Incorporated.
UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group.
HTML, DHTML, XML, XHTML are trademarks or registered trademarks of W3C , World Wide
Web Consortium, Massachusetts Institute of Technology.
JAVA is a registered trademark of Sun Microsystems, Inc.
JAVASCRIPT is a registered trademark of Sun Microsystems, Inc., used under license for
technology invented and implemented by Netscape.
SAP, SAP Logo, R/2, RIVA, R/3, ABAP, SAP ArchiveLink, SAP Business Workflow, WebFlow,
SAP EarlyWatch, BAPI, SAPPHIRE, Management Cockpit, mySAP.com Logo and mySAP.com
are trademarks or registered trademarks of SAP AG in Germany and in several other countries all
over the world. All other products mentioned are trademarks or registered trademarks of their
respective companies.

0.3

ALE Technology - Course Environment


Level 2

Level 3
BC619

3 days

Application Link
Enabling (ALE)
BC620
2 days
SAP IDoc Interface
(Standard)
BC095
3 days
Integration
Technologies for
Business Solutions
CA150

2 days

Business Framework:
Overview

CA210
EDI Interface

BC420

5 days

Data Transfer

CA927
5 days
Programming with
BAPIs in C++
SAP AG 1999

Data exchange

4 days

CA925
5 days
Programming with
BAPIs in Visual Basic

BC621
1 day
SAP IDoc Interface
(Development)

BC415
2 days
Interface Programming
in ABAP
CA926
5 days
Programming with
BAPIs in JAVA

Interface
programming

0.4

Display

0.5
Warning: All document types are provided, even those which are not normally provided by this method, for example, outgoing PDF documents.

1
Course Overview

Contents:
Course Goal
Course Objectives
Overview of Contents

SAP AG 1999

(C) SAP AG

BC619

1.2

Course Overview Diagram

Course Overview

Tools

Business Processes
and Business Objects

Administration
Enhancements

Communication
and Networks

Performance

ALE Components

System Security

IDoc Services

Tips and Tricks

Special Functions

Information Sources

SAP AG 1999

(C) SAP AG

BC619

(C) SAP AG

BC619

1.3

Example of Application Integration:


Sales (SD, FI)
Sales

Inquiry

Incoming customer inquiry/


Ammended customer inquiry

Quotation

outgoing customer quotation

Order

Incoming customer order/


Ammended customer order
outgoing order confirmation

Shipping
Incoming cust. sched. agrmt/
Ammended cust. sched. agrmt
outgoing delivery note

Delivery

Billing
Debit
memo

Billing
document

Credit
memo

outgoing rebate credit memo


outgoing invoice
outgoing reminder (dunning notice)

SAP AG 1999

(C) SAP AG

BC619

1.4

For Release 4.5A, the R/3 Business Process 'Sales' was completed by integrating the outgoing reminders (FI). All other named document types have been standard since Release 3.0.

(C) SAP AG

BC619

2
Business Processes and Business Objects

Contents:
Business Processes in Companies
Distributed Business Processes
SAP R/3 Business Objects
IDocs and Message Types
BAPIs
ALE Integration Technology
ALE Business Processes

SAP AG 1999

(C) SAP AG

BC619

2.2

Business Processes and Business Objects: Unit


Objectives

At the conclusion of this unit, you will be able to:


Understand the relationship between business
processes and business data objects
Identify the advantages and disadvantages of
distributing business processes
Understand IDocs, messages types and BAPIs
Understand the purpose of ALE

SAP AG 1999

(C) SAP AG

BC619

2.3

Customizing: Overview and Basic Settings:


Unit Objectives

Understanding of logic and order when


customizing ArchiveLink scenarios
Definition of content repositories and activation
of individual document types for a content
repository

SAP AG 1999

(C) SAP AG

BC619

2.4

Business Processes in the Company

Business processes, tasks and work steps


R/3 business objects are used for structuring business data
Workflow supports business processes
An integrated ERP System such as SAP R/3 automatically fulfils
the requirements for shared data access and a workflow
controlled process.

SAP AG 1999

Business processes, business objects and Workflow


In all companies business processes consist of a sequence of work steps in which individual tasks are
completed.
When the individual tasks are processed, usually existing data is accessed or new business data is
created, for example, customer addresses, bank details, purchase orders. The person processing the
data must have authorization to access shared data.
In R/3 Systems business data is structured in business objects.
The processing of business processes must be supported by appropriate workflow functions. The
processor of the subsequent task must be notified and if there is an error situation, the correct work
steps must be started.
An integrated ERP System such as SAP R/3 automatically fulfils the requirements for shared data
access and a workflow controlled process.

(C) SAP AG

BC619

2.5

Distributed Business Processes

Regional installation

Country-wide installation

local system

business objects

SAP AG 1999

Distributed Business Processes


For various reasons it is practical to decentralize business applications for ensuring simultaneous
data consistency.
You must ensure that the distributed applications can access shared data. The semantics of this data
must be synchronized - updated data must be available in each business environment.
To be able to distribute business processes application data must also be distributed. Business
objects are used to distribute this data.

(C) SAP AG

BC619

2.6

Customizing: Overview
- Definition of communication
- Definition of content repositories
- Assignment of business objects to
content repositories

Store for later


entry/assignment

Storing outgoing image


documents

FI

SD

MM

Entry-program ?

Assign then store

Store with bar code

QM

Basic Customizing

Scenario Customizing

Storing print lists

PM

PP

HR

DMS ADK

Display program?

Application Customizing

Front end Customizing

SAP AG 1999

The increasing globalization of markets has led to the increasing separation of organizational units.
Work steps need to be carried out locally but also be part of a distributed business process.
When enterprises are bought or sold business fields must be quickly integrated or deleted.
Business processes are not restricted to one enterprise only. More and more customers and suppliers
are being included in business processes. In the Internet age business processes are taking place
between companies. A process confined to company boundaries is therefore now unusual.
Autonomous units (e.g. local production plants, sales units) in an enterprise do not want to be
dependent on a centrally administered system. There may be several reasons for this:
When structuring a process, flexibility and individuality is very important.
The technical infrastructure for communicating with a central system is not sufficiently developed
in all regions for enterprises that operate globally.
Release strategies can be independent and individual.

(C) SAP AG

BC619

2.7

Business Object
Business objects are defined by object types in the BOR (Business Object Repository). Methods (functions executed on objects), attributes, and key fields are defined for a business object here. A business object is a concrete form of an object type. For e
xample, the incoming R/3 invoice with document number 4711, company code 0001, fiscal year 2000 is a concrete form of the object type BKPF (accounting documents). Communication between SAP application components and SAP ArchiveLink is by business objects,
which means if a concrete business object calls an SAP ArchiveLink function, it transfers the object type, and the data keys of the business object to SAP ArchiveLink. The call for the function "Display document" for the business object above is: "Displa
y document BKPF 0001 4711 2000".

Systems that map core processes in logistics (production, plant maintenance, warehouse management
system, shipping) have to be available 24 hours every day. The costs of such a high level of system
availability should be kept limited to systems providing this core functionality.

(C) SAP AG

BC619

2.8

Reasons for Distributed Applications III

Distributed applications arise due to:


Load distribution
mySAP.com components (New Dimension Applications)
Failure risks
Use of existing systems

SAP AG 1999

Limited system resources (in particular the DB server) make it necessary to distribute the workload
across several systems. Keep in mind that the primary function of ALE is not in handling
performance bottle necks. With efficient distribution ALE scenarios can reduce the system load in
operative systems (e.g. consolidating nested application data for reporting).
mySAP.com components (New Dimension applications) are to be used.

(C) SAP AG

BC619

2.9

What Distinguishes an Integrated ERP System?

R/3 is an integrated, business application software.


This integration enables:

Application master data to be shared

To model processes as one unit and to control all their


dependencies centrally

To update and monitor quantity and value flows


synchronously

SAP AG 1999

Control of the external content server is determined in the content repository definition. Because
HTTP is used for control, the SAP system has to register on the HTTP content server with a
certificate. This process takes place in the content server administration (transaction CSADMIN) of
the SAP Knowledge Provider (Kpro).

(C) SAP AG

BC619

2.10

Questions You Should Ask

Does the function scope of the individual applications meet my


requirements?

How complex and consistent are distributed systems?

Are the participating departments prepared to support the


required harmonization and standardization at all business and
technical levels?

Global versus local standards

Free space of the decentralized organizational units

How high are the operating costs of a distributed environment?

Hardware and software

Additional employees

Training costs

SAP AG 1999

(C) SAP AG

BC619

10

2.11

Organizational Prerequisites

Identify the business process


Identify the reasons
Analyze the organizational structure of the company
Identify the business objects

SAP AG 1999

Analysis of the company organizational structure


Identify the organizational units
Global organizational units: business areas, company codes

(C) SAP AG

BC619

11

2.12

SAP R/3 Business Objects

A business object

Is the technical representation of a business object in the real world,


for example, a purchase order

Encapsulates business logic

Enables access only via defined interfaces (BAPIs)

Hides internal details, so that the implementation is independent


from the external environment.

Is stored and managed in the Business Object Repository (BOR)

BusinessObjekt

SAP AG 1999

SAP R/3 Business Objects

Definition:

Technical representation of a real world business object:


Customer, vendor, business partner, G/L account
Purchase order, purchase requisition
Material, class

Business processes are modeled using a business object flow.

Encapsulates business logic


Enables access only via defined interfaces (BAPIs, IDoc updating function modules). Complex
data structures are assigned to a business object: message type, business APIs.
Hides internal details so that the implementation can be changed externally.
Stored and managed in the Business Object Repository (BOR) .

(C) SAP AG

BC619

12

2.13

Implementation Guide (IMG): Basis Components --> Basis Services-->SAP ArchiveLink -->Basic Settings -->Maintain Links (Transaction OAC3)

Structure of SAP R/3 Business Objects


So that SAP business objects can be encapsulated, they are created as entities with different layers.
At the heart of an SAP business object is the core that contains the object data.
The second layer is the integrity layer and represents the business logic of the object. It includes the
business rules to ensure consistent embedding in the environment and the constraints for values and
applications that can refer to the business object. .
The third layer - the interface layer describes the implementation and structure of the SAP business
object and defines the object interface to the external environment.
The fourth layer of a business object is the access layer. This layer defines the technologies that can
be used for the external access to the object data e.g. COM/DCOM (Component Object
Model/Distributed Component Object Model).

(C) SAP AG

BC619

13

2.14

Examples of Business Objects

Accounting

Sales and Distribution

Accounts

Sales organization

Charts of
accounts

Customer enquiry

...

Sales order

Controlling

Materials Management

Cost accounting area

Purchasing organization

Cost type

Purchase requisition

Reconciliation ledger

Purchase order

...

Framework order

...

SAP AG 1999

Each business object belongs to a specific object class depending on its characteristics and its type.
These object classes are called object types. For example, all the employees of a company belong to
the object type employee.

(C) SAP AG

BC619

14

2.15

Business Object Repository (BOR)

Collection of all business objects (BO)

BO
BO
BO
BO
BO
BO

BOR

ArchiveLink

BO
BO

Business
Workflow

BO
BO

BO
BO
BO
BO
BAPI
BAPI

BO
BAPI
BAPI BO

BAPI
BAPI

BO
BAPI
BO BAPI

Access &
interfaces
BO
BO

BAPI
BAPI

Modeling

SAP AG 1999

All business objects are defined in the Business Object Repository (BOR) within SAP.
The BOR contains two categories of object types:
Business object types
Interface types
BOR objects are processed by the Business Object Builder. The path in the SAP menu is Tools
ABAP Workbench Development Business Object Builder.

(C) SAP AG

BC619

15

2.16

Business Object Repository Browser

SAP AG 1999

The BOR Browser is called from the Business Object Builder. Choose the pushbutton Business
Object Repository and then display all the object types.

(C) SAP AG

BC619

16

2.17

Storing with Bar Codes: Business Scenario

Bar code scenarios as very simple introductory


scenarios with no effect on processes and
organization using the example:
Invoice receipt processing (FI) with the scenario
"Late Storing with Bar Codes"

SAP AG 1999

(C) SAP AG

BC619

17

2.18

Programming Interface for Business Objects

RFC-enabled function modules


Batch input-enabled transactions
Application interfaces for IDocs
Business Application Programming Interfaces (BAPIs)

Available as of R/3 4.0A

Called synchronously via RFC

Called asynchronously via ALE interface

SAP AG 1999

(C) SAP AG

BC619

18

2.19

IDocs

An IDoc is a container for the data of a business object or


technical R/3 object
Each IDoc has a message type. This indicates the type of
business object or the business function of the data.
Message types have processing rules in the receiving system.
An IDoc contains the data in a segment hierarchy. The IDoc type
describes the technical structure of the IDoc.
IDoc types have versions.

SAP AG 1999

Technical R/3 objects for IDocs with a message type exist, for example, audit data (ALEAUD) and
distribution group (CONDA2)
An IDoc has different characteristics: database table, text, HTML file, XML datastream, RFC call
parameters.

(C) SAP AG

BC619

19

2.20

Structure of an IDoc
Components of an IDoc
Control record
IDoc type information: basic type, extension,
IDoc type, message type, sender and reciver
information. Technical information: release,
serialization information, creation date and time

Structure of the data records


(IDoc type)
Hierarchy level 2
Header
Header segment
segment

Hierarchy level 3
Segment
Segment 11

Data records
E1HDR
E1SEG1
E1SEG2
E1SEG3
E1SUB1
E1SUB2
E1SEGM4
E1SEGM5
E1SUB3

mandatory
mandatory Curr.
Curr. No.
No. 11 Transfer
Transfer No.
No. 00

xxxxxxxx
xxxxxxxxxxxxxxx
xxxx
xxxx
xxxxxxx
xxxxxxxxxxxxxxx
xxxx
xxxx
xxxxxxxx

Segment
Segment 33

optional
optional

Curr.
Curr. No.
No. 33 Transfer
Transfer No.
No. 11

Hierarchy level 4
Subsegment
Subsegment 11

Curr.
Curr. No.
No. 44 Transfer
Transfer No.
No. 33

Subsegment
Subsegment 22

Curr.
Curr. No.
No. 55 Transfer
Transfer No.
No. 33

Hierarchy level 3

Status records in database


For processing"

16:22:34

Successfully processed"

16:22:42

mandatory
mandatory Curr.
Curr. No.
No. 22 Transfer
Transfer No.
No. 11

Segment
Segment 44

Curr.
Curr. No.
No. 66 Transfer
Transfer No.
No. 11

Segment
Segment 55

Curr.
Curr. No.
No. 77 Transfer
Transfer No.
No. 11

SAP AG 1999

Status records are data records assigned locally to an IDoc - they not part of an IDoc . They are not
sent together with the IDoc.

(C) SAP AG

BC619

20

2.21

Storing with bar codes consists of two independent steps that are linked together by SAP ArchiveLink.

An example of an IDoc type is MATMAS03


Short description: master material
Release 4.6A
First predecessor MATMAS01
Predecessor MATMAS02
Whether the storing with bar codes is "late" or "early" depends on which step is performed first.

(C) SAP AG

BC619

21

2.22
Using this scenario, it is possible to link several incoming documents with the same SAP business object within one linkage run. This means that the same bar code number must be attached to all those incoming documents. It is normally only used in this pa
rticular case.

Message types specify the semantics of application data. The message type is usually based on an
EDIFACT message type.
The syntax (structure information) of the data is described in the IDoc type.

(C) SAP AG

BC619

22

2.23

Business Application Programming Interfaces

BAPIs
Are methods of business objects
Are managed in the Business Object Repository
Are stable and release-independent
Have an open interface
Applications support maintenance and further development
through change management

SAP AG 1999

Change Management
Compatible changes are parameter extensions
With incompatible changes new BAPIs must be created: Object.Create -> Object.Create1

(C) SAP AG

BC619

23

2.24

Why Use BAPIs?

BAPIs:
Are used to separate R/3 components and their responsibilities
Are the basis of distributed ALE business processes that use both
synchronous and asynchronous communication
Open up the R/3 System to desktop applications in C, Visual Basic and
Java
Have a link to the object model COM/DCOM
Support the R/3 Internet connection using the SAP Business Connector
Provide a simple programming model for customers' and partners' own
developments

SAP AG 1999

(C) SAP AG

BC619

24

2.25

Typical Methods

GetList
Gets a list of key fields of objects that meet specific selection criteria (search function)

GetDetail, GetStatus
Gets details (attributes) of an object with a fully specified key

Create, CreateMultiple
Generates instances of R/3 business objects

Replicate, SaveReplica, SaveReplicaMultiple


Used to replicate ALE data

Change, ChangeMultiple
Changes instances of R/3 business objects

Delete, ExistenceCheck
Deletes instances and checks for the existence of instances in R/3

Check, Post
Used in accounting for checking and posting

SAP AG 1999

(C) SAP AG

BC619

25

2.26

BAPIs are defined as methods of SAP business objects in the Business Object Repository (BOR) and
implemented as function modules in R/3.
Object-oriented access:
Object-oriented access to BAPIs in the BOR can be implemented using various programming
platforms, e.g. Windows NT, Win9x, DCOM/COM
RFC access:
You can execute direct RFC calls to the function module that forms the basis of the BAPI, either
using ABAP or from external development platforms, e.g. by using RFC Class Libraries of C/C++.

(C) SAP AG

BC619

26

2.27

BAPIs in the Business Object Browser

SAP AG 1999

Example: business object BUS2012 - purchase order

(C) SAP AG

BC619

27

2.28

BAPI Explorer

SAP AG 1999

BAPI Explorer (transaction BAPI)

(C) SAP AG

BC619

28

2.29

ALE Integration Technology

Accounting
Controlling (central)
SOP (central)
Information systems:
Inventory
Purchasing
Sales
Purchasing (central)
Reference system for
master and control
data

PP (prod. planning)
Inventory
management
Sales, shipping and
billing (internal)
Purchasing (local)
PM (Plant
Maintenance)
SOP (local)

Semantic
Synchronization

Sales, shipping and


billing
Purchasing of
trading goods
Inventory
management
Controlling (local)

SAP AG 1999

ALE was originally used to distribute business processes by forwarding the required data and
triggering a workflow in the external system.
The focus was on a company's internal distribution scenarios: department-to-department
Using the stable IDoc interface ALE enables business processes that go beyond company boundaries:
business-to-business.
ALE is independent of the communication layer and can implement business processes over the
Internet.

(C) SAP AG

BC619

29

2.30

Purpose of ALE

Supports data consistency and data availability in distributed


business processes
Provides an infrastructure for coupling systems loosely through
asynchronous messaging using IDocs or coupling systems
narrowly through synchronous BAPI calls
Enables distribution between systems with different release
versions
Enables R/3 to communicate with non-SAP systems and R/2
Provides functions for administration, monitoring and
development
Predefined ALE business processes cover important business
functions (Library of ALE Business Processes)

SAP AG 1999

(C) SAP AG

BC619

30

2.31

ALE Business Processes

Distribution of master data


Distribution of transaction data

SAP AG 1999

ALE business processes distribute master data and transaction data.


HR Personnel Management Settings
Implementation Guide (IMG): Personnel Management--> Personnel Administration--> Tools-->
Optical Archiving

(C) SAP AG

BC619

31

2.32

Manual Storing

Storing an image document relating to an existing


business object
This is an enhancement rather than a business
scenario
Ad hoc cases
The image document is manually assigned to the
business object
Store and assignment in SAP - transaction OAWD
SAP Easy Access: Office--> Business Documents-->
Documents --> Move--> Scenario "Assign then store"

SAP AG 1999

Outbound function module for the IDoc interface

Outbound function modules for asynchronous BAPI calls

MASTER_IDOC_DISTRIBUTE
ALE_<BO>_<METHOD>

Inbound function modules for IDoc via tRFC


INBOUND_IDOC_PROCESS (3.x)
IDOC_INBOUND_ASYNCHRONOUS (ab 4.x)
Inbound function modules for updating message types

IDOC_INPUT_MSGTYPE

Inbound function modules for updating asynchronous BAPIs


BAPI_<BO>_<METHOD>

(C) SAP AG

BC619

32

2.33

The application object type should provide a correctly implemented business object method, EXISTENCECHECK. If not, then you cannot check the existence of the entered business object key.

Messaging systems are used increasingly, especially in heterogeneous integrated system networks
(R/3 Systems, R/2 Systems, and non-SAP Systems) with a number of permanent interfaces between
systems running on different platforms. Data containers (messages) can be consistently exchanged
between the systems in near real-time, using a service that can be maintained centrally. Certified
products can be found under:
http://www.sap.com/csp -> Complementary Products -> ALE Message Handling.
Interfaces for EDI messages are built into the R/3 application components. It is important to note that
SAP does not supply or sell EDI conversion/communication software (EDI subsystem), but provides
an open, common interface to such systems (CA-EDI). EDI subsystems assume responsibility for all
EDI-oriented tasks, such as data convertion, communication, partner profile administration and
monitoring of processing. Certified products can be found under:
http://www.sap.com/csp -> Complementary Products -> EDI Subsystems.
The ALE concept involves using external converters to connect non-SAP Systems to the R/3 System.
External converters are generic format conversion programs. The ALE converter enhances the
interface concept in EDI subsystems by offering customer-defined assignments. They recognize the
format of any interface structure of a non-SAP System and not just standard EDIFACT or ANSI-X12
formats.
Certified products can be found under:
http://www.sap.com/csp -> Complementary Products -> ALE Converters.

(C) SAP AG

BC619

33

2.34

Message Conversion Between ERP Systems


Different conversion methods are possible
Which conversion method is used depends on the
relationship between the partners
Without
conversion

SAP System R/3

ALE Converter

EDI Subsystem

SAP System R/3

SAP System R/3


IDoc

IDoc

EDI Subsystem
IDoc

ALE Converter

EDI

Converter

?
?

SAP System R/3

ERP System

ERP System

SAP AG 1999

If both partners use SAP R/3 Systems and trust each other, the pure use of SAP IDocs for
communication is possible without conversion.
ALE converters can be used for internal communication and for communication between enterprises.
An assignment step is all that is required. ALE converters are used in external enterprise
communication if there is a high level of trust between the partners or if one partner is very
dependent on the other.

(C) SAP AG

BC619

34

2.35

Business Processes and Business Objects: Unit


Summary

You are now able to:


Understand the relationship between business
processes and business data objects
Identify the advantages and disadvantages of
distributing business processes
Understand IDocs, messages types and BAPIs
Understand the purpose of ALE

SAP AG 1999

(C) SAP AG

BC619

35

2.36Business Processes and Business Objects: Exercises

Unit: Business Processes and Business Objects


Topic: Interface Adviser
At the conclusion of these exercises, you will be able to:
Understand the structure of the Interface Adviser
Understand the content of the Interface Adviser

You want to gain an overview of existing SAP integration


scenarios and available technologies for your interface planning
phase.

1-1

Log on to SAPNet with the user data (ID and password) given to you by your
instructor:
http://sapnet.sap.com/int-adviser
1-1-1 Work through the section Introduction.

1-2

Become familiar with the structure of the Interface Adviser.


1-2-1 Where is the core scenario Sales and Distribution processing standalone?
1-2-2 How many variants are explained in detail?
1-2-3 What master data is distributed in variant 4?

1-3

(C) SAP AG

Which basis technology requirements are mentioned for communication with the
R/3-System 3.11 via RFC for external platforms?

BC619

36

Exercises
Unit: Business Processes and Business Objects
Topic: Business Object Repository

At the conclusion of this exercise, you will be able to:


Navigate through the application hierarchy of the business objects in
the Business Object Repository.

You want to know where you can find business objects in the R/3 System,
and where you can call up information about your attributes, interfaces,
and so on.

1-1

Open the Business Object Repository Browser for all object types in order to
display existing objects in the R/3 System.
1-1-1 Expand the hierarchy node of any hierarchy.
1-1-2 What do the colors of the objects and the STOP indicator signify?
1-1-3 Display details for the business object sales order (BUS2032).

1-2

Use the Business Object Builder in order to identify the object with the technical
name BUS1001.
1-2-1 What is the key field for this object ?

(C) SAP AG

BC619

37

Unit: Business Processes and Business Objects


Topic: Business Application Programming Interface

At the conclusion of this exercise, you will be able to:


Find BAPIs directly in the R/3 System, and understand the connection
between the definition in the BOR and the actual implementation of
the function module.

You want to know where you can find the external interfaces for business
objects in the R/3 System, and where you can call up further details about
their parameters.

2-1

Use the BAPI Explorer to display business objects with BAPIs.


2-1-1 What do the different symbols mean?
2-1-2 Which business objects in the application project system have BAPIs?
2-1-3 Which key field is defined for the business object Network?
2-1-4 Which BAPIs does the business object Network provide?

2-2

Display the documentation for the business object Network.


2-2-1 Display the documentation for the BAPI Getlist.
2-2-2 Which function module does the BAPI GetList of Network implement?

2-3

Use the alphabetical display to display further information about the business object
Applicant.
2-3-1 Which instance-independent method is defined for this business object?

(C) SAP AG

BC619

38

Unit: Business Processes and Business Objects


Topic: Open BAPI Network

At the conclusion of this exercise, you will be able to:


Find further information and products in SAPNet concerning
development support for BAPIs.

You want to know how to make a start in developing external access, and
how SAP supports you in this.

3-1

Visit the Open BAPI Network in SAPNet. Log on using either your own user data
or the user data given to you by your instructor.
3-1-1 Open the BAPI section.
3-1-2 Open the COM section.
3-1-3 Open the Java section.

(C) SAP AG

BC619

39

2.37Business Processes and Business Objects: Solutions

Unit: Business Processes and Business Objects


Topic: Interface Adviser

1.1

SAPNet access to http://service.sap.com/int-adviser.


Use your SAPNet user ID and password.
1-1-1 Select Introduction
Read me
Basics
How to use

1-2

The interface consists of four sections:


1.) Data transfer
2.) Scenarios
3.) Objects
4.) Technology
1-2-1 You can find the core scenario Sales and Distribution processing
(standalone) under
Scenarios Core processes Sales and Distribution
1-2-2 Seven different variants are explained in detail for this core process.
1) No availability check is available in R/3
2) Availability check in R/3 performed against the inventory at delivery
3) Availability check in R/3 performed against the inventory at delivery of
planned outflows from R/3 sales orders to the external system
4) Scheduling the sales orders in the external system
5) Scheduling the sales orders against quotas
6) Availability check in R/3 against preplanning
7) ATP checks in R/3 against reservations
1-2-3 Variant 4 Master data
Material and customer master data must be distributed.

1-3

(C) SAP AG

Return to the homepage of the Interface Adviser and choose technology. In the
section Interfaces there is a link to the availability checklist of the basic
technologies.
Field name

Values

R/3 Release

3.1I

Communication with R/3 Systems (RFCs)

Select

BC619

40

Solutions
Unit: Business Processes and Business Objects
Topic: Business Object Repository

1-1

Tools Business Framework BAPI development Business Object Builder


(SWO1)
Button: Business Object Repository (SWO3)
1-1-1 Expand the node under any application (for example, Real Estate
Management, Sales and Distribution) and expand the subnodes.
1-1-2 Utilities Legends
STOP indicator: obsolete (please do not use this object type any more)
1-1-3 The sales order SalesOrder (BUS2032) is located in the hierarchy under
Sales and Distribution Sales.
Display the details of the business object SalesOrder by double clicking on
it.

1.1

Alternative route to the solution in 1-1:


Tools ABAP Workbench Development Business Object Builder

1.2

Enter BUS1001 => the text material is displayed


Display the details of the business object Material by double clicking on it.
The MatNr (material number) is displayed as the key field.

(C) SAP AG

BC619

41

Unit: Business Processes and Business Objects


Topic: Business Application Programming Interface

2-1

Tools Business Framework BAPI Explorer


Select the tab multi-level in left-hand section of the screen.
2-1-1 Goto Display legend
2-1-2 Expand the node project system.
You will see three business objects: ProjectDefinition, Network, and
WorkBreakdownStruct.
2-1-3 Expand the node Network.
Only the key field Number : Network Plan Number is defined for this
business object.
2-1-4 The business object Network provides five BAPIs: ExistenceCheck,
Getdetail, Getinfo, Getlist, and Maintain.

2-2

Select the node Network in the left-hand section of the screen and choose the tab
Documentation in the right-hand section of the screen.
2-2-1 Repeat this step for the BAPI Getlist. Select the node Getlist in the lefthand section of the screen and choose the tab Documentation in the righthand section of the screen.
2-2-2 Select the node Getlist in the left-hand section of the screen and choose the
tab Detail in the right-hand section of the screen. This BAPI is
implemented via the function module BAPI_NETWORK_GETLIST.

2-3

Choose the tab Alphabetical in the left-hand section of the screen.


2-3-1 Only one instance-independent method is defined for the business object
Applicant:
CreateFromData.

(C) SAP AG

BC619

42

Unit: Business Processes and Business Objects


Topic: Open BAPI Network

3-1

http://service.sap.com/bapi
3-1-1 Become familiar with the BAPI concept; check which BAPIs are available,
or become a member. You can also find up-to-date BAPI information in the
BAPI section.
3-1-2 The COM section contains information and software relating to COM-based
technologies, utilities, documentation, and links to SAP partner sites. On
these sites you can find more information and software relating to COM.
3-1-3 You can find SAP products and partner products for both Java and BAPIs in
the Java section.

(C) SAP AG

BC619

43

(C) SAP AG

BC619

2.38

Communication and Networks:Unit Objectives

At the conclusion of this unit, you will be able to


understand:
Why computer networks are used
How systems communicate with each other
Which Internet services and protocols are
important
Which functions and products SAP provides for
network communication

SAP AG 1999

(C) SAP AG

BC619

2.39

Course Overview Diagram

Course Overview

Tools

Business Processes
and Business Objects

Administration
Enhancements

Communication and
Networks

Performance

ALE Components

System Security

IDoc Services

Tips and Tricks

Special Functions

Information Sources

SAP AG 1999

(C) SAP AG

BC619

2.40

Reasons for Networking Computers

Technical Reasons:
Resource sharing

Reliability and assurance against


breakdown
Hardware costs
Scaling of processing performance
Communication

SAP AG 1999

Reasons for networking


Computer networks are the technical prerequisite for implementing distributed business processes.
The purpose of computer networks are to:
Share data, equipment and system performance over long distances
Guarantee high reliability and availability by providing hardware replacement capacity
Reduce costs since small computers have a considerably higher cost/performance relation than
large computers.
Hardware performance can be scaled up (adjustment to the demand for computer power) by
adding more computers to the network.
Provides communication across the globe.
All the above reasons bring considerable savings in costs.n. The reasons are similar to the business
and technical reasons for distributing business processes.

(C) SAP AG

BC619

2.41

TCP/IP

Transmission Control Protocol/Internet Protocol

Supports the communication of applications in a networked


environment

Combination of two protocols of layers 3 and 4 in OSI


reference model for networks ("IP Stack")

IP sends data in packets

TCP assures data integrity: fragmentation, sequence, avoidance


of data loss

SAP AG 1999

A 1978 protocol from the US Defence Ministry established this as the communications standard
TCP/IP communicates data using data packets. As data packets can reach the receiver via any route,
this protocol is relatively insensitive to a route failure, provided there are alternative routes.

(C) SAP AG

BC619

2.42

Internet Protocol (IP)

Internet Protocol (IP)

Responsible for routing data between sender and receiver

IP sends data in packets Contains information about the


fragmentation and restoration of data

IP routers can suppress data packets if system is overloaded and


reduce the transmission frequency

Missing packets are resent with retransmit requests

SAP AG 1999

(C) SAP AG

BC619

2.43

IP Addresses

Address format

32 bit length

Four decimal digits between 0-255

Dotted decimal format "199.12.1.1"

Divided into network addresses and host addresses

Special addresses

0.0.0.0 local network router

127.0.0.1 local computer

255.255.255.255 broadcast to all computers in the local


network

Domain Name System

Hides the technical address behind a readable name

SAP AG 1999

IP Address
All network layer protocols have a specific address format. The 32 bit IP addresses of the TCP/IP
protocol have the form "199.12.1.1". This format is also called dotted decimal. Each of its four parts
corresponds to a decimal number between 0-255 and represents 8 bits.
Part of the IP address identifies the network, the remaining part the individual computer or host
within the network.
The part of the address that identifies the host can be defined by a subnetwork mask.

(C) SAP AG

BC619

2.44

IP Address Classes

Address classes

A: 7 bit network, 25 bit host for a total of 16.777.214 computers


1.0.0.1 to 126.255.255.254

A: 14 bit network, 24 bit hosts for total of 65.534 computers


128.1.0.1 to 191.254.255.254

A: 21 bit network, 8 bit hosts for total of 65.534 computers


192.00.1.1 to 223.255.254.254

D and E: multicast and experimental usage

SAP AG 1999

IP Address Classes
As the whole IP address is only 32 bits long and networks have different numbers of computers,
several address classes are created. Address classes assign different numbers of bits to the network
component and the host component of the IP address.

(C) SAP AG

BC619

2.45

Transmission Control Protocol (TCP)

Transmission Control Protocol (TCP)

Reliable stream service: guarantees error free communication


between programs with no data loss nor duplication and with data in
correct sequence.

The data is received by the program as a stream of bytes. The real


packet, packet size, and packet sequence remains hidden.

TCP uses a 16 bit port number to identify the process on the


receiving computer that will process the data packet.

SAP AG 1999

Protocol of the communication-oriented transport layer (layer 4). Part of the packet-oriented Internet
Protokoll (IP)

(C) SAP AG

BC619

2.46

TCP Ports

Service

Port

Protocol

Ping echo

TCP

FTP data

20

TCP

FTP control

21

TCP

telnet

23

TCP

SMTP

25

TCP

http

80

TCP

pop-3

110

TCP

SAP AG 1999

TCP Ports
TCP uses a 16 bit port number to identify the process on the receiving computer that will process the
data packet. Port numbers below 512 are assigned to specified services in Request for Comments
(RFCs) and are called "well known ports". Ports under 1024 should only be used by system
processes (root user under UNIX).

(C) SAP AG

BC619

10

2.47

R/3 Interfaces

Communication layer protocols used in R/3

DIAG SAPGUI protocol

RFC

EDI file interface


Batch Input

SMTP

Synchronous BAPI call

FTP File Transfer Protocol

IDoc dispatch

EDI Internet interface (email outbox)


SAP Office

SAP AG 1999

Default settings contain document types and concrete employee assignments for these document
types (to be customized).

SAP provides a range of programming interfaces to integrate external applications into the SAP System. With these interfaces
you can write client/server applications that communicate with SAP Systems. Your external application can function either as
the client or as the server to the SAP System (sometimes even as both).

DIAG
With the GUI interface to R/3 you can write a client program that accesses the datastream exchanged between the R/3
application server and its SAPgui.
With the GUI interface your external client program can provide an alternative interface to the standard SAPgui. This can
either be a graphical or non graphical interface (e.g. language controlled or Web-based).
Programming using the GUI interface also enables your client program to monitor or record a user dialog with SAPgui
images.

RFC
The protocol of the SAP Remote Function Call (RFC) enables you to call ABAP function modules from external
applications. An external application that uses the RFC interface, can function as a server or as a client to an SAP System.
Calling an RFC function in an SAP System from an external program is the same in principle as calling an RFC function
from another SAP System (from ABAP).

BAPI
SAP business objects provide an object-oriented view of SAP data structures and functions. The Business API (BAPI) is an
interface through which you can call the methods of these SAP business objects.

IDoc
The interface Intermediate Document (IDoc) is an SAP standard format for exchanging data between SAP Systems or
between an SAP-System and an external application. An IDoc defines an SAP standard data container (template) for sending
or receiving data from an SAP System.

File interface (FTP)

EDI (IDoc)

Batch Input
The batch input interface enables you to input data into R/3 using R/3 transactions.
Menu path: Office--> Business Documents--> Documents--> Move (TA OAWD)

(C) SAP AG

BC619

11

2.48

IDoc Communication

ALE uses R/3 Basis functions for asynchronous communication


using IDocs
The Basis functions carry out the following tasks:

Write IDocs to the database

Check syntax of IDoc type

Communicate low-level with output devices and R/3 port types

SAP AG 1999

(C) SAP AG

BC619

12

2.49

Partner Profiles

Partner profiles control the communication of asynchronous


IDocs in outbound processing and inbound processing
Different partner types are used in IDoc outbound processing,
e.g. logical system, customer, vendor.
The partner type for ALE communications is the logical system
(LS)
Partner profiles are client-dependent

SAP AG 1999

Partner profiles are client-dependent


Partner profiles with the partner type logical system only exist for systems to which the current client
sends messages or from which the current client receives messages.

(C) SAP AG

BC619

13

2.50

Defining Partner Profiles

SAP AG 1999

(C) SAP AG

BC619

14

2.51

R/3 Ports

R/3 ports define the device interface and its technical parameters
for IDoc outbound processing
The port type defines the output medium

Transactional RFC for ALE business processes

File

CPI-C connection to R/2

Internet (email attachment in MIME format)

ABAP-PSS (programming interface/function module)

XML (XML file format)

SAP AG 1999

(C) SAP AG

BC619

15

2.52

Defining the R/3 Ports

SAP AG 1999

Parameters for R/3 Ports


Version:
If you want to communicate using IDocs with SAP Systems of earlier Releases (2.1 to 3.1) or with
external systems (e.g. EDI sub-systems), you have to specify the release version in the port
description in your system. Then the correct IDoc record types can be sent in outbound processing.
You use the port version to set the release version of the system you want to communicate with. This
means:

(C) SAP AG

BC619

16

2.53

RFC Destinations

The RFC destination contains the access settings for the target
system of a Remote Function Call
Connection types for RFC destinations

R/2 connections

R/3 connections used by ALE

Internal connections

Logical destinations

TCP/IP-Verbindungen, fr Business Connector Anbindung

Connections using ABAP drivers

SAP AG 1999

R/2 connectionsType 2 entries connect to R/2 Systems. If you create an entry of type 2, you only
have to specify the host name; all communication information is already saved in the background
information table of the SAP gateway host. If you want you can specify logon details.
R/3 connectionsType 3 entries connect to R/3 Systems. If you create an entry of type 3, you have to
specify the host name and the communication service. If you want you can specify logon details. As
of R/3 Release 3.0 you can choose to specify a load adjustment.
Internal connectionsType 1 entries connect to R/3 Systems that are connected to the same database as
the current system. These entries are predefined and cannot be changed. The entry names correspond
to the names in the SAP message server (transaction SM51).

(C) SAP AG

BC619

17

2.54

Maintaining RFC Destinations

SAP AG 1999

Logical destinations
Instead of specifying a system connection, entries of type L refer to a physical destination. A type
L destination can refer to further type L destinations. A type L entry uses information from the
reference entry and adds its own information to this. The reference entry usually contains host
information while the type L entry contains the logon information. You can also enter a specific
user name, password, logon language or client.
A type L entry can refer to other entries of type L.
TCP/IP connections
Destinations of type T are connections to external programs which the RFC Library uses to receive
RFCs. The activation type can either be start or registration.
If you choose start you have to enter the host name and the path name of the program you want to
start.
If you choose registration, you have to enter a registered RFC program. With an SAP gateway you
can register an RFC server program under this ID and then wait for RFC calls from other SAP
Systems.
ABAP drivers
Entries of type X specify systems in which device drivers have been especially installed in ABAP.
If you create an entry of type X, you have to specify the host name and the ABAP device driver.

(C) SAP AG

BC619

18

2.55

ALE Communication Settings

Partner profiles, ports and RFC destinations are independent of


each other
To avoid inconsistencies ALE enables partner profiles and ports
for existing RFC destinations and connections to be generated in
the distribution model
For each logical system an RFC destination of the same name (in
upper case) must be defined
The standard settings can be changed later

SAP AG 1999

With automatic generation you can change default settings for parameters of partner profiles and R/3
ports. These settings include:

(C) SAP AG

BC619

19

2.56

(C) SAP AG

BC619

20

2.57Communication and Networks Exercises

Unit: Communication and Networks


Topic: Communication Parameters

At the conclusion of these exercises, you will be able to:


Find the physical definitions that are necessary for
communication between different systems.

You would like to set up communication between R/3 systems.

1. Check the assignment of clients 810 and 811 to the logical system names SALES and
PRODUCTION.
Client 810:_______________
Client 811:_______________

2. RFC destination
On the system SALES:
Use the implementation guide (IMG) to view the RFC destination for the system SALES.
Target computer: _______________
User:

_______________

3. Ports
On the system SALES:
Use the implementation guide (IMG) to view the port for the system SALES.
Port:

(C) SAP AG

_______________

BC619

21

4. Partner Profiles
On the SALES system:

Generate a partner profile for the logical system SUBSYS_##.

Set the following outbound partner profile for the partner SUBSYS_##:
Message type:
Output mode:
Receiver port:

MATMAS
Transfer IDOC immediately
CONVERTER

Recipient of notifications:
Type:
US
ID:
<Your user name>

Set the following inbound partner profile for the partner SUBSYS_##:
Message type:
Processing:
Process code:

MATFET
Trigger immediately
MATF

Recipient of notifications:
Type:
US
ID:
<Your user name>

(C) SAP AG

BC619

22

2.58Communication and Networks: Solutions

Unit: Communication and Networks


Topic: Communication Parameters

Exercise 1: check assignment


Use the Implementation Guide (IMG):
Tools Accelerated SAP Customizing Project Management SAP Reference
IMG
Start setting up the logical systems:
Basis components Distribution (ALE) Sending and Receiving Systems Logical
systems Assign Client to Logical System
Double click on the corresponding client number:
Client 810: SALES
Client 811: PRODUCTION

Exercise 2: RFC destination


Start maintenance of the RFC destination:
Basis Components Distribution (ALE) Sending and Receiving Systems Systems
in Network Define Target Systems for RFC Calls
Choose R/3 connections.
Double click on the destination IDES_Sales.
The target computer and the user are displayed on the screen.

Exercise 3: Ports
Start the maintenance of ports in the IMG:
Basis Components Distribution (ALE) Sending and Receiving Systems Systems
in Network Asynchronous Processing Assigning Ports Define Port
Choose Transactional RFC.
The number of the port Sales system is displayed.

(C) SAP AG

BC619

23

Exercise 4: Partner profiles

Start maintenance of partner profiles in the IMG:


Basis components Distribution (ALE) Modelling and Implementing Business
Processes Partner Profiles and Time of Processing Maintain Partner Profile
Manually
Generate the partner profile SUBSYS_##:
Partner number:

SUBSYS_##

Partner type:

LS

Postprocessing of authorised users:


Type US
ID

<Your user name>

Save the entries.

Setting the outbound partner profile


Under Outbound parameters, choose
New Entries.
Message type:

MATMAS

Receiving port: Converter

(C) SAP AG

Output mode:

Transfer IDOC immediately

IDOC type:

MATMAS01

BC619

24

Postprocessing of authorised users:


Type US
ID

<Your user name>

Save the entries.

Setting the inbound partner profile


Choose F3 back.
Under inbound parameter:
Choose New Entries.
Message type:

MATFET

Processing:

Trigger immediately

Process code

MATF

Postprocessing of authorised users:


Type US
ID

<Your user name>

Save the entries.

(C) SAP AG

BC619

25

Implementation Guide (IMG): Basis -> Basis Services -> SAP ArchiveLink -> Business Workflow Settings -> Call Workflow Wizard

(C) SAP AG

BC619

3.2

ALE Components: Unit Objectives

At the conclusion of this unit, you will be able to:


Name the ALE components and identify their
functions

SAP AG 1999

(C) SAP AG

BC619

3.3

Course Overview Diagram

Course Overview

Tools

Business Processes
and Business Objects

Administration
Enhancements

Communication and
Networks

Performance

ALE Components

System Security

IDoc Services

Tips and Tricks

Special Functions

Information Sources

SAP AG 1999

(C) SAP AG

BC619

3.4

Principles of ALE

Replication of business objects for supporting


distributed business processes
Data is represented the same in all participating R/3
Systems
Supports asynchronous and synchronous
communication
Release-independent

SAP AG 1999

(C) SAP AG

BC619

3.5

Overview of ALE Components

ALE
Shared
Shared Master
Master Data
Data
Tool
Tool
Application
Application Interface
Interface for
for IDocs
IDocs

Tools
Tools
Distribution
Distribution Model
Model

Application
Application interface
interface for
for
asynchronous
asynchronous BAPI
BAPI calls
calls

SAP AG 1999

(C) SAP AG

BC619

3.6

Distribution Model

ALE
Shared
Shared Master
Master Data
Data
Tool
Tool
Application
Application Interface
Interface for
for IDocs
IDocs

Distribution
Distribution Model
Model

Tools
Tools

Message
Message flow
flow
Receiver
Receiver determination
determination
Data
Data filters
filters

Application
Application interface
interface for
for
asynchronous
asynchronous BAPI
BAPI calls
calls

SAP AG 1999

The distribution model describes the flow of business objects between logical systems. SAP, nonSAP or other input/output functions can be hidden behind the logical systems.
In the distribution model conditions can be defined for a data flow. These "filter" conditions are used
for:
Receiver determination

(C) SAP AG

BC619

3.7

Structure of Distribution Model

The distribution model has a tree structure with the following


levels:

View of the distribution model

Logical sending systems

Logical receiving systems

Messages: message types or BAPIs

Conditions for data filtering and receiver determination

A connection is established by assigning


message types or BAPIs to two logical
systems
Distribution model views are used to group
together distribution scenarios

SAP AG 1999

The distribution model is client-dependent and may contain one or more views.
The individual views of the distribution model have their own maintenance system that may be
different from the logical system of the client.

(C) SAP AG

BC619

3.8

Maintenance of Distribution Model

Distribution model maintenance is a function of ALE Customizing


Important functions:

Creating, changing and deleting views, systems, messages and


conditions for receiver determination and data filtering

Modeling complete ALE business processes using templates

Automatic generation of partner profiles

Distributing the model to participating R/3 Systems

Various display options

Display filters, expanding and collapsing whole


nodes

Recommendation: Modeling the distribution


model centrally and distributing the relevant
views

SAP AG 1999

Maintenance of the distribution model Application Link Enabling Modeling and implementing
business processes Maintain distribution model

(C) SAP AG

BC619

3.9

Logical Systems

Messages in ALE flow between logical systems


Logical systems are defined cross-client in R/3.
Precisely one logical system is assigned to one client When
messages are posted, this logical system is transferred into
application documents
CAUTION WHEN RENAMING THE LOGICAL
SYSTEM OF A CLIENT

SAP AG 1999

Other characteristics of logical systems


Logical systems have a technical name up to 10 characters long and an explanatory short text.
The maintenance of logical systems is an ALE Customizing activity
Application documents with an empty logical system or with the logical system of the current
client are interpreted as local documents.
Problems with the logical system name
If the logical system name of a client is changed, the modeling of the ALE message flow may
become inconsistent.
If the logical system name of a client is changed, application documents may become invisible
because the application classifies them as external documents.
As of R/3 Release 4.5A a logical system must be assigned to each client. For this reason,
meaningless logical system names had often been assigned that had to later be renamed. When the
logical systems were renamed, the problems with application documents described above
occurred.
ALE provides a tool to rename logical system names in application tables. You can find more
information in ALE Customizing or in a note.

(C) SAP AG

BC619

3.10

Partner Profiles

Partner profiles control the processing of inbound and outbound


IDocs
They can be generated in the maintenance transaction for the
distribution model
Important parameters:

The size of IDoc packets per RFC call

The size of IDoc packets for processing

Output and processing mode: collect or process immediately

SAP AG 1999

Partner profiles are client-dependent.


Partner profiles with the partner type logical system only exist for systems which the current client
sends messages to or receives messages from.
For this reason when the partner profiles are generated, ALE only considers connections that contain
the logical system of the current client.

(C) SAP AG

BC619

10

3.11

Conditional Distribution: Filters

Filters can be defined in the distribution model to set conditions for the
dispatch and processing of outbound messages
IDocs and BAPIs have different filter functions
IDocs use conditions for:

Filtering segments

Dependencies of message types and BAPIs

Distributing classified master data

BAPIs use conditions for:

Receiver determination

Data filtering of table parameters for BAPIs that were called asynchronously

SAP AG 1999

(C) SAP AG

BC619

11

3.12

Data Filtering for Message Types

Data Filtering

If the message type allows, the IDoc segments of message types can
be filtered.

All the segments are suppressed that do not contain the value
specified in the distribution model

Dependencies

Conditions for dependencies can be set from the distribution of


other message types

Classification

The distribution can be made dependent on the master data object


belonging to a class relevant for distribution

SAP AG 1999

Data filters are defined as part of modeling the distribution model You define the data filters for a
connection in one or more filter groups.

The user or process assigns the document number directly. Internal assignment is done by the
SAP System. The document number is based on the the document type. The number range has
20 characters. An important advantage of DMS is the ability to use mixed number assignments.
In this case the user or processor assigns an external number that is later changed or updated to
an internal number by the system.
The document type is the most central controlling element for the Document Management
System. For example, the status network can be setup or object links can be created based on
the document type.
Document parts serve to split a document up.
If the filter condition for a mandatory segment is not met, it is either:
The higher-level optional segment is removed and the IDoc is sent
All the higher-level mandatory segments and any existing optional segments are removed in
sequence If the header segment is also removed in this process, the IDoc is not sent.

(C) SAP AG

BC619

12

3.13

Selection of IDoc Segments

Data filtering is used for sending specific data to the receiver


Example

Only finished products should exist in the sales and distribution


systems. When material master data is distributed, a condition can
be defined for the material type = FERT.

SAP AG 1999

The document type is the central control element for the Document Management System. It
subdivides documents according to characteristics and the organizational processes that follow
because of these characteristics. Examples include status network or object links.
Please note the following:

(C) SAP AG

BC619

13

3.14

Classification

The distribution of master data can be made


dependent on the data belonging to a class
relevant for distribution

SAP AG 1999

Selection by classification means that an IDoc is only sent, if the application object belongs to a class
defined in Customizing.
The selection by classification setting is part of modeling the distribution model. Maintain the
attribute Dependent on class membership in the data filters of a connection.
In ALE Customizing you should set the classes that are to be included in the selection. Assign the
classes to be used for distributing the master data to the message type and logical receiving system.
The function can be found under Modelling and Implementing Business Processes -> Master Data
Distribution -> Distribution Using Object Classes -> Assign Classes to Receiving Logical System.

(C) SAP AG

BC619

14

3.15

Dependencies

Dependencies between message types


Dependencies between message types and BAPIs
Dependencies between BAPIs

SAP AG 1999

If dependencies between message types and/or BAPIs have been defined in the distribution model,
message dispatch is dependent on the dispatch of the other messages.
Dependencies are defined as part of modeling the distribution model. You define the dependencies in
the data filters of a connection.

(C) SAP AG

BC619

15

3.16

Receiver Determination with BAPIs

Whether the application finds a receiver for a synchronous or for


an asynchronous BAPI call can be controlled by:

Value filters

Dependencies of message types and BAPIs

SAP AG 1999

(C) SAP AG

BC619

16

3.17

Data Filtering with Asynchronously Called BAPIs

BAPI table parameters can be filtered provided that the BAPI has
provided for this
All the lines are suppressed that do not contain the value
specified in the distribution model

SAP AG 1999

(C) SAP AG

BC619

17

3.18

Filter Groups

Filter conditions are organized into filter groups


Filter groups are created in the distribution model for receiver
determination and data filtering
Any number of filter groups can be created for one connection
Filter groups are linked together by the logical operation OR
The filter conditions of a filter group are linked together by the
logical operator AND

SAP AG 1999

(C) SAP AG

BC619

18

3.19

Demo

SAP AG 1999

(C) SAP AG

BC619

19

3.20

Application Interface for IDocs

ALE

Shared
Shared Master
Master
Data
Data Tool
Tool

Application
Application Interface
Interface for
for IDocs
IDocs
Outbound
Outbound
processing
processing

Inbound
Inbound
processing
processing

Receiver
Receiver
Determination
Determination Data
Data
filtering
filtering
Explicit
Explicit segment
segment
filtering
filtering
Conversion
Conversion of
of global
global
organizational
organizational units
units
Data
Data conversion
conversion
Version
Version change
change

Version
Version change
change
Segment
Segment filtering
filtering data
data
Conversion
Conversion of
of global
global
organizational
organizational units
units

Tools
Tools

Application
Application interface
interface for
for
asynchronous
BAPI
calls
asynchronous BAPI calls

Distribution
Distribution Model
Model

SAP AG 1999

The task of the IDoc application interfaces is to process outbound and inbound IDocs based on
message types. There is a close relationship between outbound processing and the distribution
model. The application interfaces for IDocs provide special services for processing messages:
Data filtering
Segment filtering
Conversion of global organizational units

(C) SAP AG

BC619

20

3.21

Outbound processing for IDocs

The application program determines with APIs of ALE, whether


the business object is to distributed
The application program fills the data structures for the IDoc
control record and the IDoc data record. The data is transferred
to the function module MASTER_IDOC_DISTRIBUTE
For each potential receiver MASTER_IDOC_DISTRIBUTE creates
a separate temporary IDoc, processes the IDoc data in IDoc
services and, if required, creates an IDoc for each receiver in the
database
The IDocs are transferred in the communication layer. This
forwards the IDocs to the partner systems

SAP AG 1999

(C) SAP AG

BC619

21

3.22

Flow Diagram
IDoc Outbound Processing
Application

ALE

Determine receivers,
if required

APIs for receiver


determination

Fill IDoc structures


and forward to ALE

Receiver Determination

Communication

IDoc Services
Data filtering
Explicit segment filtering
Conversion of global org.units
Data conversion
Version change

Creating IDocs
Writing links to
application objects

APIs for creating IDocs

Process IDocs according


to partner profile

SAP AG 1999

(C) SAP AG

BC619

22

3.23

Flow Diagram
IDoc Inbound Processing
Application

ALE

Communication
IDocs received
via tRFC
Write IDoc to database

IDoc Services
Explicit segment filtering
Conversion of global org.units
Data conversion
Version change

Function module

Call application function


module

SAP AG 1999

(C) SAP AG

BC619

23

3.24

Application Interface for Asynchronous BAPIs

ALE

Shared
Shared Master
Master
Data
Tool
Data Tool

Application
Application Interface
Interface for
for IDocs
IDocs

Application
Application interface
interface for
for
asynchronous
BAPI
calls
asynchronous BAPI calls
BAPI/IDoc
BAPI/IDoc
outbound
outbound
processing
processing
Parameter
Parameter mapping
mapping

BAPI/IDoc
BAPI/IDoc
inbound
inbound
processing
processing
Parameter
Parameter mapping
mapping

Distribution
Distribution Model
Model

Data
Data filtering
filtering
Segment
Segment filtering
filtering
Field
Field conversion
conversion
Dependencies
Dependencies
Serialization
Serialization using
using BO
BO

Tools
Tools

SAP AG 1999

(C) SAP AG

BC619

24

3.25

Application Interface for Asynchronous BAPIs

Outbound processing for asynchronous BAPI calls is similar to


IDoc processing
In an interim step the ALE interface converts the BAPI
parameters into an IDoc with the appropriate segment structure
and message type
For the ALE users the usage of a BAPI is transparent and
equivalent to classical message types

SAP AG 1999

(C) SAP AG

BC619

25

3.26

Flow Diagram: Asynchronous BAPI Outbound


Processing
Application

ALE

Determine receivers,
if required

APIs for receiver


determination

Forward BAPI
parameters to ALE

ALE interface for


asynchronous BAPI call

Communication

ALE services
Receiver determination
Data filtering
Data conversion
Version change
Serialization

Creating IDocs
Writing links to
application objects

APIs for creating IDocs

IDoc processing by
partner profile

SAP AG 1999

(C) SAP AG

BC619

26

3.27

A link entry is written in SAP ArchiveLink containing the archive doc. ID and the R/3 key of the document info record. The document type DRW is entered in the SAP ArchiveLink link entry irrespective of which document type is actually used in the DMS.

(C) SAP AG

BC619

27

3.28

Shared Master Data Tool (SMD Tool)

ALE

Shared
Shared Master
Master
Data
Tool
Data Tool

Application
Application Interface
Interface for
for IDocs
IDocs

Management
Management of
of
master
master data
data changes
changes

Tools
Tools
Distribution
Distribution Model
Model

Application
Application interface
interface for
for
asynchronous
asynchronous BAPI
BAPI calls
calls

SAP AG 1999

The stored document is copied from the archive to the administrators file system.

(C) SAP AG

BC619

28

3.29

What is the SMD Tool?

The SMD tool is an independent ALE component that enables


the application to send master data changes
These include changes to existing master data, newly created
master data and deletions
The SMD Tool is connected to the R/3 Engineering Change
Management and logs master data changes relevant for
distribution in change pointers
Change pointers can be processed and the changes distributed

SAP AG 1999

(C) SAP AG

BC619

29

3.30

Complete DMS Customizing can be found in the SAP Reference IMG under cross-application components document management.

Processing change pointers


Change pointers can be processed manually in ALE Administration or in the background by calling
program RBDMIDOC. You can restrict processing to a specified message type. Change pointers can
also be processed for extended or reduced message types

(C) SAP AG

BC619

30

3.31

Tools

ALE

Shared
Shared Master
Master
Data
Tool
Data Tool

Application
Application Interface
Interface for
for IDocs
IDocs

Tools
Tools
Distribution
Distribution Model
Model

ALE
ALE Audit:
Audit:
Synchronization
Synchronization of
of
Customizing
Customizing data
data
Reduction
Reduction of
of
message
message types
types

Application
Application interface
interface for
for
asynchronous
asynchronous BAPI
BAPI calls
calls

IDoc
IDoc recovery
recovery
Conversion
Conversion of
of logical
logical
system
system names
names

SAP AG 1999

The ALE tool box contains separate programs for monitoring, modeling and error handling.
ALE Audit
Synchronization of Customizing data
Reduction of message types
IDoc recovery following database crash
Conversion of logical system names

(C) SAP AG

BC619

31

3.32

Integrating ALE Components into R/3

Application &
Master data
outbound FMs

Shared
Shared Master
Master
Data
Data Tool
Tool

Application
Application IDoc
IDoc
interface
interface -outbound
outbound

Asynchronous

IDoc
IDoc
Services
Services
and
and special
special
functions
functions

Synchronous

Interface
Interface for
for
asynchronous
asynchronous BAPI
BAPI
calls
calls -- outbound
outbound

Communication
Communication layer
layer
Application
Application IDoc
IDoc
interface
interface -inbound
inbound

IDoc
IDoc
Services
Services
and
and special
special
functions
functions

Inbound function
modules

Call BAPI

Interface
Interface for
for
asynchronous
asynchronous BAPI
BAPI
calls
calls -- inbound
inbound

Distribution Model
Model
Distribution

Engineering
Engineering change
change
management
management

IDoc data

Tools
Tools

BAPI

Application

SAP AG 1999

(C) SAP AG

BC619

32

3.33

ALE Components: Unit Objectives

You are now able to:


Name the ALE components and identify their
functions

SAP AG 1999

(C) SAP AG

BC619

33

3.34ALE Components Exercises

Unit: ALE Components


Topic: Model maintenance

At the conclusion of these exercises, you will be able to:


Build a distribution model

You would like to model the distribution between two systems


and to exchange master data.

1.

Set up the distribution customer model TRAINING## on the system 'SALES' in such a
way that the message MATMAS is sent to the subsystem SUBSYS_##.
(## corresponds to the last two digits of your group number.)

2.

Ensure that the system 'SUBSYS_##' exists.

3.

Distribute your model in the logical system 'PRODUCTION'.

(C) SAP AG

BC619

34

Exercises
Unit: ALE Components
Topic: Distribution of master data

At the conclusion of these exercises, you will be able to:


Distribute material master data from the system SALES in the
system PRODUCTION

You would like to model the distribution between two systems


and to exchange master data.

1.

Distribute material directly


On the SALES system:
a)

2.

Generate the material MATALE-## as a finished product:

Create the basic data 1/2.

Use the material group 009 and maintain the gross weight, the net weight, the
weight unit and maintain a basic data text.

b)

Send the material with the message type MATMAS directly to the system
PRODUCTION.

c)

On the system 'PRODUCTION':


View your material.

Fetch material master


a)

On the system SALES


Change the weight of your material.

b)

On the system 'PRODUCTION:


Fetch your material with the message types MATMAS.

(C) SAP AG

BC619

35

c)

View your material.

(C) SAP AG

BC619

36

3.35ALE Components: Solutions

Unit: ALE Components


Topic: Model maintenance

Exercise 1: Set up model


Use the Implementation Guide (IMG):
Tools Accelerated SAP Customizing Project Management SAP Reference
IMG
Start direct model maintenance by choosing the following:
Basis components Distribution (ALE) Modelling and Implementing Business
Processes Maintain Distribution Model and Distribute Views

Switch: display/maintain
Button: create model view
Customer model: TRAINING##
Button: insert message type
Sender:

SALES

Recipient:

SUBSYST_##

Logical message type:

MATMAS

Save the model.

(C) SAP AG

BC619

37

Exercise 2: Does system SUBSYST_## exist?


To confirm that system SUBSYST_## exists, choose:
Basis Components Distribution (ALE) Sending and Receiving Systems Define
Logical Systems.

Exercise 3: Distribution of the model


For distribution, choose:
Basis Components Distribution (ALE) Modelling and Implement Business
Processes Maintain Distribution Model and Distribute Views
Process Model View Distribute Training## and target system
PRODUCTION

(C) SAP AG

BC619

38

Solutions
Unit: ALE Components
Topic: Distribution of master data
Exercise 1: Sending material

Use the menu to generate the new material.


Logistics Materials Management Material Master Material Create (Special)
Finished Product
Material:

MATALE-##

Industry:

Mechanical engineering

Choose view selection.


Choose:

Basic data 1/2

Choose Next.
Update the values for your material.
Save the entries.

Send your material.


Go to the ALE menu:
Tools ALE Master Data Distribution Cross-application Material Send

c)

Material:

MATALE-##

Message type:

MATMAS

Logical System:

PRODUCTION

Display your material in the system PRODUCTION.

Log on to the system PRODUCTION.


Display your material.
Logistics Materials management Material master Material Display Display
current status
(C) SAP AG

BC619

39

Material:

MATALE-##

Exercise 2: Call up material master

Change the weight of your material.


Log on to the system SALES.
Logistics Materials Management Material Master Material Change
Immediately
Material:

MATALE-##

Selected view:

Basic data 1/2

Change the weight.


Save your entries.

Call up your changes.


Log on to the system PRODUCTION.
Tools ALE Master Data Distribution Cross-application Material Get

Material:

MATALE-##

Message type:

MATMAS

Display material.
Display your material.

Logistics Materials Management Material Master Material Display Display


Current

(C) SAP AG

BC619

40

4
Storing Outgoing Image Documents
(SAPscript or Smart Forms)

Direct storage of image documents to be printed from the SAP application


Possible for all SAPscript + Smart Forms print programs
Integration of image documents with the underlying business object

For example image document "order confirmation" is integrated with business object
"order" (VBAK)

SAP Basis
(Technology
development)

Printer,
Fax, EDI..

Content server

SAP AG 1999

(C) SAP AG

BC619

4.2

Invoices

(C) SAP AG

BC619

4.3

Course Overview Diagram

Course Overview

Tools

Business Processes
and Business Objects

Administration
Enhancements

Communication and
Networks

Performance

ALE Components

System Security

IDoc Services

Tips and Tricks

Special Functions

Information Sources

SAP AG 1999

(C) SAP AG

BC619

4.4

What are IDoc Services?

IDoc services are functions in outbound and inbound


processing for the:

Application Interface for IDocs

Application interface for asynchronous BAPI calls

Messages are modified by IDoc services to the requirements of


the receiving logical system
IDoc services can change the structure and the data content of
an IDoc
The dispatch of IDocs can be suppressed by IDoc services

SAP AG 1999

IDoc services tailor messages to the requirements of the receiving logical system. Business factors
and the organizational structure play an important role in these requirements: data filtering, global
organizational units, field conversion.
IDoc services distinguish between IDocs defined from message types (< 4.x) and IDocs of the
generated interface for asynchronous BAPI calls (> 4.x).

(C) SAP AG

BC619

4.5

Services of the IDoc Application Interface

Data filtering (outbound only)

Selection of IDoc segments

Selection by classification

Selection by dependencies

Explicit segment filtering


Conversion of global organizational units
Data conversion
Version change

SAP AG 1999

Sequence of IDoc services in outbound processing:


Data filtering (IDOC_DATA_APPLY_FILTER_VALUES)
Segment filtering (ALE_IDOC_SERVICES_APPLY_OUT)
Conversion of global organizational units
The messages to be created are proposed in the sales documents using the condition technique.
For output determination using the condition technique, condition records must be available for the
various message types. The transmission medium, the send time and the partner role are defined in
the condition record.

Version change (ALE_IDOC_SERVICES_APPLY_IN)


Segment filtering

(C) SAP AG

BC619

4.6

Converting Global Organizational Units

Global organizational units must be defined similarly on all


systems, so that no errors occur in the distributed environment.
Local organizational units are assigned to global organizational
units on the individual systems.
The following organizational units have global organizational
units:

Company code

Business area

SAP AG 1999

Local organizational units must be assigned to global organizational units in your systems to ensure
that organizational units are standardized in the distributed environment.

Make the settings for converting global organizational units in ALE Customizing under
Modelling and Implementing Business Processes. Cross-application Settings Set global
organizational units

(C) SAP AG

BC619

4.7

Data Conversion Between Sending and Receiving


Systems

The data conversion between the sending and receiving


systems enables the contents of IDoc fields to be changed
during runtime
The data can be converted in outbound or inbound
processing of IDocs

SAP AG 1999

Setting data conversion between the sending and receiving systems


The tool enables field contents to be converted and mapped from a sender field to a receiver field.
Organizational units, units of measurements and customer-defined fields can be transferred from
one system to another.
A generic R/3 tool is used for defining and maintaining rules.
The settings for data conversion are made in ALE Customizing under Modelling and
Implementing Business Processes -> Converting Data Between Sender and Receiver .

(C) SAP AG

BC619

4.8

Version Change

The version change modifies the outbound or


inbound IDoc of the release version defined in the
partner profile

SAP AG 1999

The settings for IDoc version change are made in partner profile maintenance in field Segment
release in IDoc type. Refer to the F1 help.
If the field is empty, the segment definition currently assigned to it is used. The current segment
definition does not need to have been released. Following an upgrade the segment definition can
change.
The definition used for each segment type from the current IDoc is the definition that was actually
released in the Release specified. Following an upgrade the same segment definition can still be
used,, if you specify the release.
The setting made here does not take into account that an earlier function module has to be called for
tRFC communication between 4.x and 3.x systems. This is specified in the port settings by the IDoc
record type version.

(C) SAP AG

BC619

4.9

The message type NEU stands for a new message and can be used for outgoing inquiries, purchase orders and outline agreements. Each instance of this message type must be customized separately.

(C) SAP AG

BC619

4.10IDoc Services: Exercises

Unit: IDoc Services


Topic: Data conversion

At the conclusion of these exercises, you will be able to:


State a rule for data conversion in communication between
two systems
Distribute message types via filters.
You want to establish a rule which allows data to be adapted
during communication.

1.

Creating rules
In the SALES system:
Generate your own message type ZMA0XX:
Derived from:
Active segments:

MATMAS (Master Material).


Everything that appears after you click on the first segment
+ the fields from E1MARAM, E1MAKTM,
E1MARCM, E1MTXHM and E1MTXLM.

Define and maintain a conversion rule CONV_##.


Set a constant value for this (your) message type in the field Old Material Number
(field BISMT in segment E1MARAM).
Replace net weight with gross weight.

(C) SAP AG

BC619

10

2.

Modelling:
Set your distribution model and the communications parameters in such a way that you
can send your message type from the system SALES to the system PRODUCTION.

Set the conversion on the outbound side for communication with the system
PRODUCTION.

Set up the conversion on the inbound side for communication with the system SALES.

Send an IDoc with your message type to the system PRODUCTION and use the IDoc list
to check the result of the conversion.

Set the filter material type = HAWA for your message type.

Send an IDoc with your message type to the system PRODUCTION and use the IDoc list
to check the result of the conversion.
What happens and why?

Delete the filter.

(C) SAP AG

BC619

11

4.11IDoc Services: Solutions

Unit: IDoc Services


Topic: Data conversion

Exercise 1: Define conversion rules

Maintain your message type.


Start IDOC reduction in IMG:
Basis Components Distribution (ALE) Modelling and Implementing Business
Processes Master Data Distribution Scope of Data for Distribution Message
Reduction Create Reduced Message Type
View (NachrTyp):

ZMA0##

Choose Create.
Model:

MATMAS

Choose Next.
Enter a short text.
Choose Next.

Open the structure and mark all segments as selected.


Note: the fields within the segment on the uppermost level must also be selected. .

Define the rule CONV_##.


Basis components Distribution (ALE) Model and implement business processes
Data conversion between sender and recipient Define rules for the IDoc segment name
Choose New Entries.
Conversion rule
Segment type

CONV_##
E1MARAM

Save your entry.

(C) SAP AG

BC619

12

Update the rule.


Basis components Distribution (ALE) Modelling and Implementing Business
Processes Converting Data between Sender and Receiver Maintain Rules
Conversion rule

CONV_##

Choose Maintain.
Choose the field BISMT (Old mat. number).
Specify the characteristic value of the constant.
Choose Enter.
Enter the sender value BRGEW in the receiving field NTGEW (net weight).
Save your entry.

Assign rules to a message type.


Distribution (ALE) Modelling and Implementing Business Processes Converting
Data between Sender and Receiver Assign Rule to Message Type
Log. message type

ZMA0##

Choose Next.
Choose New entries.
Partner type (sender):
Sender

LS
:

Partner type (recipient):


Recipient

SALES
LS

PRODUCTION

Segment type:

E1MARAM

Conversion rule:

CONV_##

Save your entry.


Exercise 2: Modeling, test conversion
In your Model Training_xx, model the exchange of your message type ZMA0_xx from
the system SALES to the system PRODUCTION, as explained in the exercise for Unit 4,
and create the partner profiles as in Unit 3.

Model:
(C) SAP AG

Training_xx
BC619

13

Sender:

SALES

Recipient:

PRODUCTION

Message type:

ZMA0##

Generate the partner profile in the system SALES:


Setting the outbound partner profile.
Under outbound parameter, choose
New Entries.
Message type:

ZMA0##

Receiving port:

Production system

Output mode:

Transfer IDOC immediately.

IDOC type:

MATMAS01

Postprocessing of authorised users:


Type

US

ID

<Your user name>

Save the entries.

(C) SAP AG

BC619

14

Generate the partner profile in the system PRODUCTION:


Setting the inbound partner profile
Under inbound parameter:
Choose New Entries.
Message type:

ZMA0##

Processing:

Trigger immediately

Process code

MATM

Postprocessing of authorised users:


Type

US

ID

<Your user name>

Save the entries.

Send your material with your message type directly from the system SALES to the system
PRODUCTION.
Use the IDOC list in the system PRODUCTION to check the conversion.

Create filter:
Maintain your distribution model.
Choose display/change.
Open your message types for the system PRODUCTION.
Double-click on: no active filters.
Choose Create Filter Group.
Enter MatArt = HAWA.
Save the model.

(C) SAP AG

BC619

15

5
Special Functions

Contents:
Serialization
Distributing classes and classified master data
Links between objects in the R/3 Business Object
Repository

SAP AG 1999

(C) SAP AG

BC619

5.2

For more detailed information on activating storage of outgoing documents in specific applications, (for example FI, QM), see the online documentation:
Basis Components--> Basis Services--> SAP ArchiveLink - 'Application scenarios'

(C) SAP AG

BC619

5.3

Course Overview Diagram

Course Overview

Tools

Business Processes
and Business Objects

Administration
Enhancements

Communication and
Networks

Performance

ALE Components

System Security

IDoc Services

Tips and Tricks

Special Functions

Information Sources

SAP AG 1999

(C) SAP AG

BC619

5.4

Serialization

Serialization at IDoc level via time stamp


Serialization by message type groups
Serialization using business objects

SAP AG 1999

(C) SAP AG

BC619

5.5

Serialization at IDoc Level Via Time Stamp

Applications can use serialization via a time stamp to specify


the order IDocs of the same message type are processed in
This prevents old data from being posted if processing is
repeated

SAP AG 1999

Delays in transferring IDocs may result in an IDoc containing data belonging to a specific
application object arriving at its destination before an "older" IDoc that contains different data
belonging to the same object. Applications can use the ALE Serialization API to specify the order
IDocs of the same message type are processed in and to prevent old data from being posted if
processing is repeated.
IDocs from interfaces generated for asynchronous BAPI calls cannot be serialized at IDoc level
because the function module for inbound processing does not use the ALE Serialization API.
ALE provides two function modules to serialize IDocs, which the posting function module has to
call:
IDOC_SERIALIZATION_CHECK: Checks the time stamps in the serialization field of the IDoc
header. IDocs are read and organized according to serialization criteria. The IDoc data, IDoc
control records, and IDoc serialization data are returned in the results. The control records and
serialization data are sorted according to serialization criteria.
IDOC_SERIAL_POST: Updates the serialization table. A record is written in table BDFL for each
serialization object.

(C) SAP AG

BC619

5.6

Serialization By Message Type Groups

IDocs can be created, sent, and posted in a specified order by


distributing message types serially
Object interdependency is important at the message type level.
This avoids any errors in the inbound processing of the IDocs
The distribution of the interdependent messages is serialized
using serialization groups

SAP AG 1999

With master data distribution, interdependent objects are often distributed together (purchasing info
record with vendor and material, for example). Serialized distribution is only used to transfer
changes to master data. IDoc message types are assigned to serialization groups according to the
order specified for their transfer. Master data is distributed in exactly the same order. If all the IDocs
belonging to the same serialization group are dispatched successfully, the sending system sends a
special control message to the receiving system. This control message contains the order IDocs are
to be processed in and starts inbound processing in the receiving systems.
An example is the purchasing info record with vendor and material. To avoid any processing errors,
the vendor and material must be created in the receiving system before the purchasing info record.

(C) SAP AG

BC619

5.7

Serialization Using Business Objects

With object serialization, the messages belonging to a given


object are always processed in the correct order on the receiver
system
A unique serial number is assigned to each outbound message
for the application object in question.

SAP AG 1999

Serialized messages may be of different types (for example, create, change, cancel messages). All
messages here relate to one special application object
Transfer errors (IDoc sequence mixed up) and inbound posting errors (IDoc cannot be posted due to
Customizing errors) no longer affect the sequential order.
A unique serial number is assigned to each outbound message for the application object in question.
When processing inbound IDocs, the ALE layer determines whether a given IDoc can now be posted
or whether other IDocs have to be posted first. (In this case, the IDoc is assigned status 66 and must
be posted again with the program RBDAPP01.)
Objects are assigned to messages by the application.
To implement serialized distribution using objects, the following settings must be made in
Customizing:
Activate outbound object types
Activate inbound object types
To prevent posting coming to a standstill, the object types must be activated in both systems!

(C) SAP AG

BC619

5.8

Distributing Classes and Classified Master Data

ALE allows you to send master data on the basis of the


distributable class to which it belongs

SAP AG 1999

(C) SAP AG

BC619

5.9

Classification System in a Nutshell

The classification system allows you to use characteristics to


describe R/3 objects, and to group similar objects in classes - to
classify objects, in other words.
The class type is a central concept in the classification system.
Class types are always created for a particular classification
object type, such as material.
A class type can be marked as distributable
Classes that can be used for ALE must refer to a distributable
class type

SAP AG 1999

(C) SAP AG

BC619

5.10

Settings For Distributing Classified Master Data

Prerequisites:

There is a distributable class type for the desired classification


object type

There is a class of the above class type

ALE Customizing: The class has been assigned to the logical


receiving system

Distribution model: The attribute Dependent on class membership


must be selected in the data filter of the connection

SAP AG 1999

The selection by classification setting is part of modeling the distribution model. Maintain the
attribute Dependent on class membership in the data filters of a connection.
In ALE Customizing you should set the classes that are to be included in the selection. Assign the
classes to be used for distributing the master data to the message type and logical
receiving system. The function can be found under Modelling and Implementing Business
Processes -> Master Data Distribution -> Distribution Using Object Classes -> Assign
Classes to Receiving Logical System.

(C) SAP AG

BC619

10

5.11

Links in the R/3 System

Links are used to document relationships between objects in the


R/3 Business Object Repository. These settings include:

R/3 business objects


Selected technical objects

Links are used

By the application if application objects are closely related.


Example: Sales order and delivery
By technical services for tracing errors and for monitoring purposes

Linked objects are characterized by

A object type
An object ID

SAP AG 1999

(C) SAP AG

BC619

11

5.12

Controlled by the print request definition, the spool work process creates two files (data file and description file). These are written into the exchange directory with the content server.

(C) SAP AG

BC619

12

5.13

Storing Print Lists: Pre-Considerations


Search options for print list management records

Standard SAP ArchiveLink print list management

Additional DMS document info records with classification (old)

Displaying stored print lists

Within the SAPGUI

SAP ArchiveLink Viewer

Search options in displayed stored print lists

Indexing

Free text search

Reference from stored print list to other stored documents or


SAP business objects
Storage format

SAP AG 1999

With ALE audit, the audit data is sent using message type ALEAUD.

(C) SAP AG

BC619

13

5.14

How Does ALE Use Links?

Status monitor

Selection screen for the display filter


To select the message belonging to an application object

IDoc tracing:
To reconstruct the object history
To display the partner IDoc

IDoc display:
Display links and object keys

ALE audit:
To reconstruct the object history

SAP AG 1999

(C) SAP AG

BC619

14

5.15

Special Functions: Unit Summary

You are now able to:


Distribute master data on the basis of its class
assignment
Define the links between objects in the R/3
Business Object Repository

SAP AG 1999

(C) SAP AG

BC619

15

5.16Special Functions: Exercises

Unit: Special Functions


Topic: Sending Messages Using Classes

At the conclusion of these exercises, you will be able to:


Send messages using the filter class membership

You want to distribute master data among systems that are filtered
according to their class membership.

1.

Sending Via Classes


In the system SALES: create a class class_## for materials.

Create a class with class type ALM.

Assign your class to the logical system PRODUCTION.

Add the facility for distribution among classes in your distribution model to your message
type.

Send the material with your message type to the system PRODUCTION.

Check the result.

Allocate your material to your class.

Send the material from your class with your message type to the system PRODUCTION.

Check the result.

(C) SAP AG

BC619

16

5.17Special Functions: Solutions

Unit: Special Functions


Topic: Sending Messages Using Classes

Exercise 1: Sending using classes

Generating a class
Basis Distribution (ALE) Modelling and Implementing Business Processes
Master Data Distribution Distribution Using Object Classes
Choose Maintain Classes.
Choose the class type:

ALM

Class:

CLASS_##

Choose Enter.
Enter a name.
Save your entry.

Assign your class to the system PRODUCTION.


Basis Distribution (ALE) Modelling and Implementing Business Processes
Master Data Distribution Distribution Using Object Classes Assign Classes to
Receiving Logical System
Logical System:

PRODUCTION

Choose Next.
Choose New Entries.
Type:

ZMA0##

Class:

CLASS_##

Push/Pull

Save your entry.

(C) SAP AG

BC619

17

Include class in distribution model.


Basis Components Distribution (ALE) Modelling and Implementing Business
Processes Master Data Distribution Distribution Using Object Classes
Model Distribution Using Classes
Maintain your distribution model.
Choose display/change.
Open your message types for the system PRODUCTION.
Double-click on: no filter set up.
Choose Create Filter Group.
Check independent of class.
Save the model.

Send your material.


Tools ALE Master Data Distribution Cross-application Material Send
Message type:

ZMA0##

Logical System:

PRODUCTION

Execute the program.

Check the result.


Use the IDOC Monitor to check that the message has arrived in the system SALES.

Assign your material to your class.


Logistics Materials Management Material Master Material Create
(Special) Immediately
Enter Material Number Select View(s) Classification
Material:

MATALE-##

Class type:

ALM

Choose Enter.
Class:
(C) SAP AG

Class_##
BC619

18

Save your entry.

Send your material.


Tools ALE Master Data Distribution Cross-application Material Send
Message type:

ZMA0##

Logical System:

PRODUCTION

Execute the program.

Check the result.


Use the IDOC Monitor to check that the message has arrived in the system SALES.

(C) SAP AG

BC619

19

6
Tools

Contents:
ALE audit
Synchronization of Customizing objects
Reduction of message types
Conversion of logical system names
IDoc recovery following database error

SAP AG 1999

(C) SAP AG

BC619

6.2

Tools: Unit Objectives

At the conclusion of this unit, you will be able to:


Identify and use ALE tools to complete particular
tasks

SAP AG 1999

(C) SAP AG

BC619

6.3

Course Overview Diagram

Course Overview

Tools

Business Processes
and Business Objects

Administration
Enhancements

Communication and
Networks

Performance

ALE Components

System Security

IDoc Services

Tips and Tricks

Special Functions

Information Sources

SAP AG 1999

(C) SAP AG

BC619

6.4

ALE Audit

What is the function of ALE audit?

ALE audit is a tool for monitoring the processing status of


IDocs in the receiving system

How does ALE audit work?

ALE audit provides the sending system with information on


the processing status of the receiving system

SAP AG 1999

How does ALE audit work?

ALE audit provides the sending system with


information on the processing status of the
receiving system.
ALE audit uses the asynchronous IDoc interface
to send messages with status information to the
sending system. The confirmation has the
message type ALEAUD.
Audit confirmations are either sent periodically via
a batch job or sent directly.

(C) SAP AG

BC619

6.5

Within the complete print list file (for example 50 columns), individual output fields are defined as index fields (these can be used as search criteria). You can use these index fields to search in the index display (with the appropriate technical prereq
uisites).

(C) SAP AG

BC619

6.6

Configuring ALE Audit

Configure the distribution model for ALE audit

You must define a message flow for the message type ALEAUD in
the distribution model

As the data filter values, specify the message types for which the
audit confirmations are to be created

Schedule the confirmation of audit data

The receiving system must provide the sending system with


information on the processing status of the messages. The
program RBDSTATE performs this task and has to be scheduled to
run periodically in the receiving system

SAP AG 1999

The storage system searches for the search terms in the description file and if the search is
successful, indicates the relevant position in the data file
In the distribution model, maintain a link to message type ALEAUD in the opposite direction for
each link of a message type to be monitored.
Maintain the filter object type message type as the data filter for ALEAUD.

(C) SAP AG

BC619

6.7

Using ALE Audit

How do you analyze the audit data?

The confirmed audit data generates new status records in the


sending system for the dispatched IDoc

Status information from audit data is displayed in the status


monitor for ALE messages

The status monitor also contains functions for

Deleting audit data that is no longer required

Sending audit confirmations directly

SAP AG 1999

If audit information is available, the IDocs in the sending system have the status
39 IDoc in receiving system (ALE service)

(C) SAP AG

BC619

6.8

Synchronization of Customizing Data

Why synchronize Customizing data?

Helps to integrate the participating systems as required

Local know-how is not always available

Available employee resources can be used more effectively

Optimizes the supply of data between the system chain,


development system - quality assurance system - productive
system

SAP AG 1999

Because of company policy


Influence on the business processes

(C) SAP AG

BC619

(C) SAP AG

BC619

6.9

Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors.

Distribution model for synchronizing Customizing data


The ALE distribution model describes which Customizing objects are distributed and the systems
that data is distributed from and to. This model is defined in one central system and distributed
from here to all other participating systems. The distribution is modeled in message type
CONDA2.
The distribution groups relevant for a logical system are specified as values of data filters.

(C) SAP AG

BC619

10

6.10

Define output device (Default ARCH):


SAP Easy Access: Tools--> Business Documents--> Environment--> Spooler Administration Output devices

Modeling (functions of ALE Customizing)


Determines project-specific Customizing objects relevant to message types and assignment to
distribution groups
Creates a distribution model for Customizing objects
Distributing the DM: Creates object lock for ALE Customizing objects in the decentralized
systems

(C) SAP AG

BC619

11

6.11

Possible Customizing Objects

L Logical transport object


S Table (with text table)
T Single transaction object
V View
C View cluster

SAP AG 1999

The tool can only process client-dependent Customizing objects of the category CUST. The
objects must be defined in transaction SOBJ. The following object types can be used:
The units can be divided as follows:
Units which describe how to configure the IDoc Interface
The unit "Test" describes an important step in the process of configuring the IDoc Interface. The
emphasis is placed on the implementation of the test programs in the data flow.

C View cluster
The Customizing objects to be distributed can be defined further using the object key. This
allows you to distinguish between central and local instances of a Customizing object.

(C) SAP AG

BC619

12

6.12

Storing Print Lists: Scenario Customizing

Create number range


If using several clients, create a number range for each
client

Create logical device (see format)

Default device type ARCHLINK

Check profile parameter rspo/archive_format

Create SAP ArchiveLink queues


Schedule SAP ArchiveLink jobs

SAP AG 1999

Define number range


Unique control records are generated using the number range.

Implementation Guide (IMG): Basis Components --> Basis Services-->SAP ArchiveLink -->Basic
Settings
-->Maintain number ranges
Create Queues
Queues are activated and the queue administrator is entered. This process should be a part of the
installation routine of the storage system. Absence of activated queues could lead to irreparable
errors (the print list then has to be generated and stored again).
Implementation Guide (IMG): Basis Components --> Basis Services-->SAP ArchiveLink -->Basic
Settings --> Create queues
Schedule a Job
The job periodically executes the individual queues. You should note that the job is only scheduled
during the daily online work when it does not hinder this.
For performance reasons it is not
recommended to schedule jobs more frequently than once every fifteen minutes.
Implementation Guide (IMG): Basis Components --> Basis Services-->SAP ArchiveLink -->Basic
Settings -->Schedule jobs

(C) SAP AG

BC619

13

6.13

ALE Transports

Customizing objects are grouped into ALE transports on the


basis of the distribution group modeling
ALE transports can be formed for entire logical systems, certain
distribution groups, or on the basis of other selection criteria
Individual ALE transports can be consolidated in a single
Customizing request

SAP AG 1999

Function 'Display stored document' -->

(C) SAP AG

BC619

14

6.14

Explicit Segment Filtering

With explicit segment filtering you can define which IDoc


segments are not to be transferred for each combination of
message type and receiver
Mandatory segments cannot be be filtered
Segments that are subordinate to another segment in the
hierarchy are also filtered, if you filter the superordinate segment

SAP AG 1999

Two special IDoc application areas should be defined:

(C) SAP AG

BC619

15

6.15
The storage system transfers the files to the content server. As long as this happens, an open asynchronous request remains in the administration, and if there is a transfer error then this is logged in the open asynchronous requests.

Outbound processing includes:


Generating the corresponding outbound IDoc
Finding the partner and the port

(C) SAP AG

BC619

16

6.16

IDoc Settings: Sending Data


R/3 System
Post document

Archive
Archive IDoc
IDoc ??

Generate IDoc

Partner
Partner Profiles
Profiles

Check partner, find port

Port
Port Definition
Definition
External System
EDI
EDI Subsystem
Subsystem ?
?

Transfer data,
process further

Documentation
Documentation
Tools
Tools

SAP AG 1999

When reducing a message type, a new message type is created in the customer namespace.
The reduced message type refers to an existing message type, which is classed as reducible, and its
associated IDoc basic type. The IDoc segments and fields to be distributed can be chosen on the
basis of an IDoc basic type.
The inbound function module of the IDoc basic type is assigned to the reduced message type.
For the IDoc to be posted correctly on the receiving side, the receiving system needs to know the
settings for the reduced message type.
The message type information can be entered in a transport request and then imported.

(C) SAP AG

BC619

17

6.17

Steps in Customizing

Create a reduced message type


Activate the change pointer
Note that the activate change pointers function must be
performed again after the reduced message type has been
changed

SAP AG 1999

In ALE Customizing, choose Modeling and Implementing Business Processes Master Data
Distribution Scope of Data for Distribution Message Reduction to call up the two points
Create Reduced Message Type and Generate Transport Request for Message Type.

(C) SAP AG

BC619

18

6.18

IDocs in Business Processes

IDoc Record Types


IDoc and IDoc type
IDoc processing: Inbound and outbound

processing

SAP AG 1999

(C) SAP AG

BC619

19

6.19

What is the Problem?

Clients distributed via the ALE distribution model must have a


logical system name

Necessary for the receiver determination

Necessary for generating partner profiles

The name of the logical system of a client is registered in links


and application documents
If the logical system name of a client changes

Application documents cannot be found since


they are classified as external

The distribution model becomes inconsistent

SAP AG 1999

(C) SAP AG

BC619

20

6.20

How Are Logical System Names Converted?

To convert system names, start transaction BDLS


After entering the old and new logical system name, you can
start the conversion in a test mode
When converting the names, client-dependent and clientindependent application tables, as well as tables with technical
settings for the communication partners, are processed
Only the logical system name of the current client is converted

SAP AG 1999

For information on converting the logical system name of a client, refer to ALE Customizing under
Sending and Receiving Systems Logical Systems Convert Logical System Names in Application
Tables and to the online library.
Authorizations
To run the report, you must be authorized to convert logical system names (authorization object
B_ALE_LSYS).
Test mode
You are advised to start the conversion in test mode. If you activate the test run selection field, all
relevant tables will be analyzed and the number of entries contained in the tables will be
determined. These will then be output in a list. If the new logical system name is already available
in the relevant tables, the system queries whether the conversion is to be continued or not. You
must check the table in which this logical system name was found and determine whether you
want to perform the conversion for these entries. If this is not the case, the conversion must be
terminated.

(C) SAP AG

BC619

21

6.21

Conversion - Points to Observe

Note the following points!


There should be no IDocs waiting to be processed in the
system, since the IDoc data record could contain the old logical
system name, which is then not considered in the conversion
While the conversion report is running, no other activities may
be carried out in the system, including communication with the
system
The conversion of the logical system name must be performed
in all partner systems (transaction BDLS is only used for
conversions in the current client)

SAP AG 1999

(C) SAP AG

BC619

22

6.22

The IDoc number of the IDoc to which the status record refers is an important part of the status record. This allows the IDoc relevant to a status conformation message to be identified in the system and the returned status records can therefore be appende
d.

The IDoc recovery uses two transactions


BDRC to determine the recovery objects
BDRL to process the recovery objects

(C) SAP AG

BC619

23

6.23

Database reorganization and database backups are independent of data archiving and SAP recommends that they be carried out at regular intervals.

Before the start of the transaction, the following message flows to the distribution model are
maintained. S1 is the system that has crashed.
S1 - RCYFET -> S2
S1 <- RCYRSP - S2
For SAP R/3 releases 3.1I and earlier, read Note #89324, 'Revised ADK Versions'.
For inbound processing, the external system must be assigned certain authorizations. Documents
(IDocs and application documents) are to be created in the R/3 System.
Different options are available for both inbound and outbound processing. These options are
explained in the following slides.

(C) SAP AG

BC619

24

6.24

IDoc Recovery - Procedure II

Start transaction BDRC. Choose the logical systems to be


synchronized. The standard settings are all the systems that
supply the local system with IDocs
Determine the recovery objects in the reset system

SAP AG 1999

All participating systems are provided with information on the date and time of the reset system via
message type RCYFET.

(C) SAP AG

BC619

25

6.25
Change the (segment) version: if the recipient only recognizes an earlier version of the IDoc type, the version can be changed here. This means that less data is transported, as later versions of IDoc types can only contain more data than former versions
and never less.

(C) SAP AG

BC619

26

6.26

Revised Integration of Storing in External Content


Servers for Rel. 4.6C

Data Archiving (ADK)


Until Basis Release 4.6B

From Basis
Release 4.6C
onwards

ArchiveLink API
for applications

...

ArchiveLink/CMS
interface
ArchiveLink interface
ext.
Content
servers
toto
ext.
Content
servers

...

...

SAP Content Management Infrastructure

External content server (ArchiveLink storage system


or SAP content server)

SAP AG 2001

(C) SAP AG

BC619

27

6.27Tools: Exercises

Unit: Tools
Topic: Reduction of Messages

At the conclusion of these exercises, you will be able to:


Reduce messages and segments

You want to distribute messages that do not correspond to the


complete basic type.

2.

Reducing the message type


In the system SALES:
change the reduced message type ZMA0XX:
Derived from:

MATMAS (Master Material).

Active segments: E1MARAM, E1MAKTM, E1MTXHM, E1MTXLM


Active fields:
in E1MARAM:
all core fields
Old material number (BISMT),
Gross weight (BRGEW),
Net weight (NTGEW),
Unit of weight (GEWEI)
in E1MAKTM:

all fields

in E1MTXHM:

all fields

in E1MTXHM:

all fields

Send your material with your message type.


Check the IDoc in the IDoc list.

(C) SAP AG

BC619

28

3.

Segment reduction
Create a segment filter for your message type for the segment E1MTXLM.
Send your material with your message type.
Check the IDoc in the IDoc list.
Do you see the difference between message reduction and segment reduction?

(C) SAP AG

BC619

29

Exercises
Unit: Tools
Topic: ALE Auditing

At the conclusion of these exercises, you will be able to:


Set up an ALE audit

You want to set up cross-system monitoring of ALE messages.

1.

Structure of the ALE audit


In the system SALES, check that the ALE audit for your message type has been
maintained (model ALE audit).
Messages of the type ALEAUD should be sent from the system PRODUCTION to the
system SALES. Also, the MESSAGE filter should be set for your message type.
In the system PRODUCTION, send confirmation messages for your message type.
Using the ALE audit, check the result in the production system from the system SALES.

(C) SAP AG

BC619

30

6.28Tools: Solutions

Unit: Tools
Topic: Reduction of Messages

Exercise 1: Reduction
Start IDOC reduction in IMG:
Basis Components Distribution (ALE) Modelling and Implementing Business
Processes Master Data Distribution Scope of Data for Distribution Message
Reduction Create Reduced Message Type
View (NachrTyp):

ZMA0##

Choose Change.
Model:

MATMAS

Choose Next.
Enter a short text.
Choose Next.
Open the structure.
Select the segments E1MARAM, E1MAKTM and E1MTXHM.
Double-click the segment E1MARAM in order to call up the field lists.
Mark the fields that are to be activated.
Choose select.
Choose Next.
Double-click the segment E1MAKTM in order to call up the field lists.
Mark all fields.
Choose select.
Choose Next.
Double-click the segment E1MTXHM in order to call up the field lists.
Mark the fields that are to be activated.
Choose select.
(C) SAP AG

BC619

31

Choose Next.
Double-click the segment E1MTXLM in order to call up the field lists.
Mark the fields that are to be activated.
Choose select.
Choose Next.

Save your message type.

Send your material with your message type directly from the system SALES to the system
PRODUCTION.
Use the IDOC list in the system PRODUCTION to check the conversion.

(C) SAP AG

BC619

32

Exercise 2: Segment Reduction


Start IDOC reduction in IMG:
Basis Components Distribution (ALE) Modelling and Implementing Business
Processes Master Data Distribution Scope of Data for Distribution Message
Reduction Filter IDoc Segments

Log. message type

ZMA0##

Choose Next.
Choose New entries.
Partner type (sender):
Sender

LS
:

SALES

Partner type (recipient):

LS

Recipient

PRODUCTION

Segment type:

E1MTXLM

Save your entry.

Send your material with your message type directly from the system SALES to the system
PRODUCTION.
Use the IDOC list in the system PRODUCTION to check the conversion.

(C) SAP AG

BC619

33

Solutions
Unit: Tools
Topic: ALE Auditing

Exercise 1: ALE Monitor


In the distribution model, check the entries in the ALE audit view with message type
ALEAUD and filter MESSAGES, to see whether your messages are contained there.
Recipient:

SALES

Sender:

PRODUCTION

Message:

ALEAUD

Filter:

ZMA0xx

In the ALE audit of the PRODUCTION system, send the confirmations:


Tools ALE ALE Administration Monitoring ALE Audit Send audit
confirmations
To be confirmed to the system:

SALES

Message type:

ZMA0xx

Date changed:

today

n the ALE audit of the system SALES, please check the confirmations:
Tools ALE ALE Administration Monitoring ALE Audit Reorganize audit
database
Message type:

(C) SAP AG

ZMA0xx

BC619

34

7
Administration of ALE Functions

Contents:
ALE in the R/3 System
Monitor functions
Special functions and tools

SAP AG 1999

(C) SAP AG

BC619

7.2

Interaction Between Logical and Physical Paths


When Using SAP ArchiveLink for Final Storage
Note: Scenario applies up to and including Release 4.6B

T-Code SARA - Archiving object


Logical file name
Archive_Data_File_With_Archive_Link
T-Code OAC0 - ArchiveLink
Customizing
Basis path in ArchiveLink archive
Customizing; explicit physical
path/logical file name

T-Code FILE
Logical file name
Archive_Data_File_With_Archive_Link

Logical file path


Archive_Global_Path_With_Archive_Link

Physical file path


UNIX
<F=Archivelink><Filename>

Physical file path


NT
<F=Archivelink><Filename>

SAP AG 2002

(C) SAP AG

BC619

7.3

Course Overview Diagram

Course Overview

Tools

Business Processes
and Business Objects

Administration
Enhancements

Communication and
Networks

Performance

ALE Components

System Security

IDoc Services

Tips and Tricks

Special Functions

Information Sources

SAP AG 1999

(C) SAP AG

BC619

7.4

The transaction for maintaining content repositories is OAC0.


Path:
Tools > Business Documents > Environment > Knowledge Provider > Kpro > Content Repositories

(C) SAP AG

BC619

7.5

ALE Functions in the SAP Menu

SAP AG 1999

(C) SAP AG

BC619

7.6

ALE Roles in the User Menu

SAP AG 1999

(C) SAP AG

BC619

7.7

Overview Diagram (Sending Data)


R/3 System
Post document

Archive
Archive IDoc
IDoc ??

Generate IDoc

Check partner, find port

External System

EDI
EDI Subsystem
Subsystem ??

Transfer data,
process further

Partner
Partner Profiles
Profiles

Port Definition

Documentation
Documentation
Tools
Tools

SAP AG 1999

(C) SAP AG

BC619

7.8

Monitor Functions in ALE Administration

Status monitor (for ALE messages)


Monitor in the CCMS
Workflow messages (in the Business
Workplace inbox)

SAP AG 1999

(C) SAP AG

BC619

7.9

Ports are the channels via which the IDocs are exchanged. The IDoc Interface supports six different transmission methods. These are the port types:

In releases < 4.6 you can access DART using transaction FTW0. As of release 4.6 the path is
Tools > Administration > Administration > Data Retention Tool.

Data for technical linking is determined in the port definition for the IDoc Interface. So that a port
can be used, settings outside of the IDoc Interface must be made.
The port definition for the port type "file" includes
Instead of the outbound file, you can also store a function module, which dynamically generates
names and thus helps to prevent files from being over-written. You can also use logical file names:
You should also see the F1 Help for the field.

(C) SAP AG

BC619

7.10

Process Flow: Port Type File (with Triggering)

IDoc Interface
Write

RFC

IDoc file
Status report

IDoc file

out.script

RFC

Read

rfcexec

Call

Read

in.script
status.script

startrfc

Write

Call

External System

SAP AG 1999

The status monitor offers extended selection possibilities for the display:
Business object

(C) SAP AG

BC619

10

7.11

Object Keys in the IDoc Display

SAP AG 1999

(C) SAP AG

BC619

11

7.12

Administration and Authorization Concept:


Unit Objectives

Understanding of all functions available to the


SAP ArchiveLink administrator
Understanding of the authorization concept of
SAP ArchiveLink

SAP AG 1999

Since it is geared to application objects, manual IDoc processing is very suitable as a monitoring tool
for ALE application specialists. It allows
IDoc selection on the basis of a variety of criteria
Detailed display of the IDocs
Triggering of further processing
For Release 4.6A/B, only incorrect messages are displayed in "Manual IDoc processing".

(C) SAP AG

BC619

12

(C) SAP AG

BC619

13

7.13

Additional Functions of ALE Administration

Processing change pointers

Processing and reorganizing change pointers

Synchronizing Customizing data

Displaying, generating, importing, and consolidating ALE


Customizing requests

Functions of the Transport Management System

Serialization functions

Deleting old time stamps

Processing serialization groups for message types

Processing serialization using business objects

SAP AG 1999

Processing serialization groups for message types

(C) SAP AG

BC619

14

7.14

The R/2 System is always passive, the communication is always started from the R/3 System. The data bindings supported are:

(C) SAP AG

BC619

15

7.15Administration Exercises

Unit: Administration
Topic: ALE Monitoring

At the conclusion of these exercises, you will be able to:


Administer sent messages.

You want to monitor the exchange of your messages.

In the SALES system:


Change your material (the short text) again and send it to the PRODUCTION
system.
Your material was sent to the PRODUCTION system with an IDoc. What is the
number of this IDoc?
IDOC number:

__________

__________

Use the links to view the material in the IDoc list.

Use IDoc tracing to ensure that the number you obtain from this list is retained in the
PRODUCTION system.
IDOC number:

__________

__________

View the material obtained from IDoc tracing in the PRODUCTION system.

(C) SAP AG

BC619

16

(C) SAP AG

BC619

17

7.16Administration Solutions

Unit: Administration
Topic: ALE Monitoring

Exercise 1: IDoc List


Use the IDoc List.
Tools ALE ALE Administration Monitoring IDoc List
Select all IDocs with the message type MATMAS that were created today.
To find the IDoc with your material, examine the contents of the data records.
Note the IDOC number.

Exercise 2: Linking
View your material in the IDoc display by selecting System Links.

Exercise 3: IDoc Tracing


Use IDoc tracing:
Tools ALE ALE Administration Monitoring IDoc List
Logical message type:

ZMAxx

Receivers partner type:

LS

Receivers partner number:

LS

LS
PRODUCTION

Examine your IDoc number in order to receive the number of the corresponding IDoc in
the receiving system.
View your material in the IDoc display by selecting System Links.

(C) SAP AG

BC619

18

8
Document Link Administration

Find

Selects document links and displays them in a hit list

Display

Selects all links and displays them in a hit list

Create

Stores an image document and creates a link between the image document and
business object

Assign subsequently

Creates a link between business object and an already stored image document. No
image document is stored (in contrast to the Create function)

Reassign

Reassigns an image document from one business object to another

SAP AG 1999

(C) SAP AG

BC619

8.2

Outbound Processing
The IDoc Interface calls the function module and transfers the IDoc control records in table format. Further processing (reading data, processing data, writing status records) is programmed by the user.

(C) SAP AG

BC619

8.3

Administration of Document Links: Functions in


Link Entry Detail View
Display image document
Display business object
Check image document status
Create (store) new image document (from Release
4.6A)
Delete link
Reassign image document (from Release 4.6A)
Subsequently assign object (from Release 4.6A)
Change image document type
Display all links to this image document
Start a workflow using the image document
Activate generic object services (Rel. 4.6C onwards)

SAP AG 1999

(C) SAP AG

BC619

8.4

Administration of Print Lists

Find

Selects stored print lists and displays them in a


hit list

Display

Selects all links and displays them in a hit list

SAP AG 1999

(C) SAP AG

BC619

8.5

For functions in the hit list, see Administration of document links.

(C) SAP AG

BC619

8.6

IDoc Enhancement Procedure

General definitions

Combining segments
Enhancing basic (IDoc) types
Assigning a basic type and an enhancement to a message
type

Configuring outbound processing

Enhancing outbound function modules (user exit)


Entering enhancements in the partner profiles

Configuring inbound processing

Enhancing inbound function modules (user exit)


Assigning function modules to the enhancement

SAP AG 1999

(C) SAP AG

BC619

8.7

ALE User Exit

User exits are interfaces that allow customers to implement


enhanced functions
User exits are activated for an enhancement project via
transaction CMOD
ALE has the user exit ALE00001, which is called up within the
IDoc version change. It can be used for enhanced IDoc
processing. Its function is not restricted to tasks of the IDoc
version change
The user code must be stored in the function module
EXIT_SAPLBD11_001
The interface allows access to all relevant IDoc data
and parameters

SAP AG 1999

The FB EXIT_SAPLBD11_001 is called during IDoc outbound processing in the form routine
CHANGE_IDOC_VERSION and during IDoc inbound processing in the form routine
IDOC_CONVERT_VERSION_INBOUND. The call hierarchy is as follows

Outbound:
When distributing via message types, the user exit is called while the function module MASTER_IDOC_DISTRIBUTE is
being processed. If the distribution is performed by the asynchronous BAPI call, the user exit is executed in the sequence
ALE_IDOCS_CREATE.
FUNCTION MASTER_IDOC_DISTRIBUTE -> FORM IDOC_SELECTION_AND_SERVICES -> FUNCTION
ALE_IDOC_SERVICES_APPLY_OUT -> FORM IDOC_CONVERT_VERSION_OUTBOUND -> FORM
CHANGE_IDOC_VERSION -> FUNCTION EXIT_SAPLBD11_001
FUNCTION ALE_IDOCS_CREATE -> FUNCTION ALE_IDOC_SERVICES_APPLY_OUT -> FORM IDOCCONVERT_VERSION_OUTBOUND -> FORM CHANGE_IDOC_VERSION -> FUNCTION
EXIT_SAPLBD11_001

Inbound
FUNCTION INBOUND_IDOC_PROCESS -> FUNCTION ALE_IDOC_SERVICES_APPLY_IN -> FORM
IDOC_CONVERT_VERSION_INBOUND -> FUNCTION EXIT_SAPLBD11_001

(C) SAP AG

BC619

8.8

Enhancements: Unit Summary

You are now able to:


Enhance IDoc data
Carry out additional tasks at certain points in IDoc
ALE outbound processing

SAP AG 1999

(C) SAP AG

BC619

9
Performance Optimization

Contents:
Time schedule of outbound and inbound processing
Parallel processing of IDocs
Packet processing

SAP AG 1999

(C) SAP AG

BC619

9.2

Performance Optimization: Unit Objectives

At the conclusion of this unit, you will be able to:


Make settings and execute administrative
functions to increase the throughput of IDocs

SAP AG 1999

(C) SAP AG

BC619

9.3

Course Overview Diagram

Course Overview

Tools

Business Processes
and Business Objects

Administration
Enhancements

Communication and
Networks

Performance

ALE Components

System Security

IDoc Services

Tips and Tricks

Special Functions

Information Sources

SAP AG 1999

(C) SAP AG

BC619

(C) SAP AG

BC619

9.4

There is an n:m relationship between process codes and message types. For new definitions of business processes or IDoc types you determine new process codes or messages in the assignment table (see BC621).

(C) SAP AG

BC619

9.5

The IDoc Interface programs use sequential numbers for outbound modes: field OUTMOD has values from 1 to 4 (read from top to bottom in the diagram).

Partner profiles can also be sent via the special IDoc type SYPART01. A partner profile for this IDoc
type with the "logical" message SYPART is therefore a prerequisite.

(C) SAP AG

BC619

9.6

Partner Profiles: Summary

Partner profiles specify which messages are sent to which

users, using which method and how they are processed.


Partners must be entered in the partner profile before IDocs can
be sent successfully.
The port (the "way") is part of the outbound partner profile.

Technical communication parameters are entered in the port


definition. Inbound ports do not require such parameters - their
technical parameters are defined by the external sending
system.
Process codes are also part of the partner profiles.

They are used for processing data.


Process codes which are defined outside the partner profile are

used in error handling.

SAP AG 1999

If the same master data is changed several times, only the last change pointer is used to create the
master data IDoc. This minimizes the number of IDocs dispatched.
To create change pointers, in ALE Customizing you have to activate change pointers generally as
well as for individual message types.

(C) SAP AG

BC619

9.7

Scheduling IDoc Transfer

When an IDoc is transferred to the communication layer, a


transactional RFC forwards it to an external system
You should use the outbound processing mode Collect IDocs,
especially if you are distributing mass data
You can process IDocs in packets in the collect processing
mode
The RSEOUT00 program forwards the collected IDocs to the
communication layer. It can be scheduled in a batch job

12
9

SAP AG 1999

Creating and transferring the IDoc to the communication layer at separate times improves system
performance
The outbound processing mode Collect IDocs is set in the partner profiles

(C) SAP AG

BC619

9.8

You always create a new test-IDoc with the test tool. However, you can use one of the IDocs available in the database as a template and edit the copy.

The following options are available in the test tool for both inbound and outbound processing:
Mass testing: Several copies of the edited IDoc are sent for processing. If the relevant flag is not
set, only one copy is sent.
In addition, the following options are available for inbound processing:
ALE inbound processing splits the IDoc packets into individual IDocs.

(C) SAP AG

BC619

9.9

Processing IDocs in Parallel

Several IDocs can be processed at the same time in different


dialog processes
This processing is used for

Creating IDocs in parallel (A)

Sending IDocs in parallel (C)

Posting IDocs in parallel (D)

SAP AG 1999

This is particularly advantageous for sending mass data

(C) SAP AG

BC619

10

9.10

Business Scenario

As a member of the implementation team for

SmartMart, you are responsible for configuring the


IDoc Interface.
A purchase order from SmartMart is firstly created as a
message by the Message Control module, before being
converted into IDoc format. You know that the basic
settings for this module exist in the standard SAP
system, but wish to find out more about other Message
Control functions.

SAP AG 1999

There are no benefits of creating IDocs in parallel for distributing transaction data in ALE, because
this mainly involves single events which cannot be accelerated by running dialog processes at the
same time.
The server group is a list of the application servers, whose available dialog processes are used to
create IDocs. Two dialog processes remain unused on every application server in a server group.

(C) SAP AG

BC619

11

9.11

Maintaining Server Groups

There might be only one application server in a server group


If master data is sent by this application server, local dialog
processes are used to create the IDocs in parallel

SAP AG 1999

(C) SAP AG

BC619

12

9.12

Parallel Transfer to the Communication Layer

IDocs that have the status 30 "IDoc ready for


dispatch (ALE service)" are transferred to the
communication layer interactively in the status
monitor or in the background using program
RSEOUT00
Schedule the background processing of several
variants of RSEOUT00 to process IDocs that are
ready for dispatch for particular logical receiving
systems or message types
The IDocs can be transferred to the communication
layer in parallel

SAP AG 1999

(C) SAP AG

BC619

13

(C) SAP AG

BC619

14

9.13

The condition component "Access sequence can be used to define whether only one message is to be found: If this is the case, you should set the "exclusive flag. If this flag is not set, the entire access sequence is processed, that is, several messages
have possibly been found.

"6"
EDI (Electronic Data Interchange), that is, without distribution model
The EDI program for message processing is started with these parameters: RSNASTED, with the
form routines EDI_PROCESSING or ALE_PROCESSING.
IDocs are transferred individually from program RSNASTED when using output modes "1" and "2"
(field OUTMOD in the control record).

(C) SAP AG

BC619

15

9.14

Posting IDocs in Parallel

Background processing:

Inbound IDoc packets are split into individual IDocs


and stored in the database

All application servers in a server group can be used in


parallel for posting IDocs in the background

If you do not specify a server group, all dialog


processes in the local server are used in parallel. This
could block the application server

SAP AG 1999

You can process IDocs that are ready for transfer (status 64) manually in ALE administration (status
monitor BD87) or by scheduling the program RBDAPP01.

(C) SAP AG

BC619

16

9.15

Packet Processing

Packet processing allows batches of data of the same type to be


processed
This reduces the number of dialog processes called and
improves system performance
You can use packet processing in ALE for:

Creating IDocs (A)

IDoc communication (C)

Posting IDocs (D)

SAP AG 1999

(C) SAP AG

BC619

17

9.16

Creating IDoc Packets

If you send master data directly, a function module creates an


IDoc for each individual master data object
In most cases, more than one master data object can be passed
to the function modules for IDoc creation, which means that a
multiple call is not used
If there are too many master data objects in each process, it is
possible that not all available dialog processes will be used

SAP AG 1999

(C) SAP AG

BC619

18

9.17

Sending IDoc Packets

Several IDocs can be grouped into a packet and sent in one


transactional Remote Functional Call (tRFC)
This has the following benefits:

The fewer administrative tasks reduce the load on the system

tRFC uses less dialog processes in the sending R/3 System

tRFC uses less dialog processing in the receiving R/3 System

SAP AG 1999

You can specify the packet size of message types in Customizing for ALE:
Modeling and Implementing Business Processes Partner Profiles and Time of Processing
Maintain Partner Profile Manually
From Release 4.5B, the main relevant communication types for displaying and storing documents are
those mentioned in the slide.
The previous communication standard 'ICC', present in the first line of the SAP ArchiveLink viewer
using Archive DLL, is still available, but in the background.

(C) SAP AG

BC619

19

9.18

Number ranges are intervals of natural numbers which are assigned to objects centrally by the R/3 System. This is called "internal number assignment".

INPUTTYP contains the code for posting function modules. INPUTTYP can contain the following
values:
"0", for function modules which process IDocs in packets
When IDocs are received, they are first saved in the database. In a second and independent step, they
are processed further (for port types "file", "XML", "CPI-C"). This is made possible by the workflow
event concept: If IDocs are saved in the database, an event is created , which waits for the "receiver"
in the system. The "receiver" (a function module) finds the event and triggers inbound processing. As
a result of this step, the function module has used the event, which no longer exists in the system.
The Workflow Manager determines when the receiver starts to search for events: There is therefore
an interval between the data being saved and further processing being initiated (asynchronous
processing).
To display the function module INPUTTYP, on the ALE Development screen, choose IDoc
Inbound Function module attributes (BD51).
You must therefore activate the event-receiver linkage in the IMG for the IDoc Interface.
OLE communication is most frequently used in connection with the front end components of the
particular storage system provider. The storage system provider or executive business partner is
responsible for notifying the SAP System of the OLE classes of these components and for
maintaining the communication sequence for displaying and storing documents.
The OLE communication can also be used to integrate OLE automation 2.0 compatible standard PC
components in the scenarios.
OLE Automation 2.0 offers a wide range of possibilities for
controlling the front end components from the SAP System.
For the front end components named above there are generation functions in the protocol
maintenance which produce a simple local display of the document.

(C) SAP AG

BC619

20

9.19

Parallel Processing Versus Packet Processing

Packet processing and parallel processing complement each


other, although in some situations they may compete!
If the size of the packet is too big, this may mean that not all of
the available dialog processes are being used

SAP AG 1999

(C) SAP AG

BC619

21

9.20

Display using SAP ArchiveLink Viewer


SAP ArchiveLink Viewer will no longer be delivered after Release 4.5B, but will still be used by customers for some time. For the different front end Customizing options of SAP ArchiveLink Viewer, see the Appendix.

(C) SAP AG

BC619

22

10
System Security

Contents:
Authorizations
Notes for avoiding security problems

SAP AG 1999

(C) SAP AG

BC619

10.2

Long Names - Short Names

Release 4.0

Release 3.X

Type
"LongNameXYZ01"

Type "Short01"

SAP AG 1999

(C) SAP AG

BC619

10.3

Course Overview Diagram

Course Overview

Tools

Business Processes
and Business Objects

Administration
Enhancements

Communication and
Networks

Performance

ALE Components

System Security

IDoc Services

Tips and Tricks

Special Functions

Information Sources

SAP AG 1999

(C) SAP AG

BC619

(C) SAP AG

BC619

10.4

Authorization Profiles and Objects

For posting IDocs, the authorization objects of the application


must also be specified
If processing is terminated as a result of an authorization
overlap, the missing authorization object can be displayed using
transaction SU53

SAP AG 1999

S_IDOC_ALL
S_IDOCMONI
S_IDOCCTRL
S_IDOCDEFT
S_IDOCPORT
S_IDOCPART

WFEDI: Access to IDOC monitoring


WFEDI: General access to IDOC functions
WFEDI: Access to IDOC development
WFEDI: Access to port profiles (IDoc)
WFEDI: Access to partner profiles (IDoc)

S_TRANSPRT

(C) SAP AG

BC619

10.5

If many formats can be displayed at the same time using the supplier viewer, this increases the usability of the front end components.

(C) SAP AG

BC619

10.6

Test Layers: Outbound Processing

Application
MC
MC
WE15

IDoc Interface
WE14, WE19

External
System

SAP AG 1999

(C) SAP AG

BC619

10.7

R/3 Users For IDoc Processing in the Background

With IDoc processing in the background, there are no security


problems, since the posting batch job has an explicit user
This only requires the authorization objects S_IDOCMONI of the
program RBDMANIN and the authorization objects of the
application function in question

SAP AG 1999

(C) SAP AG

BC619

10.8

Status records must refer to outbound IDocs in the system, otherwise an error occurs in status processing.

(C) SAP AG

BC619

11
Integration of External Clients: Technical Process
for Storage Using Supplier Scan Software (OLE)

SAPGUI

OLE automation 2.0


Storage request for
scanned image document

OLE automation 2.0


notification of unique
image document number

Scan software
supplier

3
2

Front end PC

Internal communication
for storing in
the storage system

Content server

storage system

SAP AG 1999

(C) SAP AG

BC619

11.2

Tips and Tricks: Unit Objectives

At the conclusion of this unit, you will be able to:


Specify solutions for particular problems in the
ALE environment

SAP AG 1999

(C) SAP AG

BC619

11.3

Course Overview Diagram

Course Overview

Tools

Business Processes
and Business Objects

Administration
Enhancements

Communication and
Networks

Performance

ALE Components

System Security

IDoc Services

Tips and Tricks

Special Functions

Information Sources

SAP AG 1999

(C) SAP AG

BC619

11.4

Protocols:
SAP Easy Access: Tools--> Business Documents--> Basic Settings--> Communication--> Protocols

(C) SAP AG

BC619

11.5

Sending Messages to Your Own Logical System

Problem
You want to exchange messages between the same logical
system because an internal interface is not available. In
the distribution model, however, it is impossible to enter
the same logical system for sender and receiver.

Solution
Define logical systems and RFC destinations with different
names for sender and receiver. Use the same system and
access settings in the RFC destinations.
Note! With different logical systems for the same clients,
the partner profiles must be maintained manually.

SAP AG 1999

(C) SAP AG

BC619

11.6

Various Partner Profiles For the Same Messages


and Clients

Problem
You would like to send messages of the same message type
to the same client and define various outbound partner
profiles on the basis of certain conditions.

Solution
For each partner profile, define a logical receiving system
and an RFC destination with the same name. In the
distribution model, generate the required connections and
generate and modify the partner profiles. You can use
various filter conditions to assign the messages to the
required connections.

SAP AG 1999

(C) SAP AG

BC619

11.7

For QuickDeliver, the data flow appears as follows:

(C) SAP AG

BC619

11.8
The SD master data must contain EDI-specific parameters which are compared with the data from the order IDoc:

(C) SAP AG

BC619

11.9

Tips and Tricks: Unit Summary

You are now able to:


Specify solutions for particular problems in the
ALE environment

SAP AG 1999

(C) SAP AG

BC619

12
Information Sources

Contents:
SAP Library
SAPNet
Development news
Release information
Online Service System
ALE Users' Group
Books and magazines

SAP AG 1999

(C) SAP AG

BC619

12.2

Information Sources: Unit Objectives

At the conclusion of this unit, you will be able to:


List the most important information sources on
the topic ALE
Identify the resources that may be of use to you

SAP AG 1999

(C) SAP AG

BC619

12.3

Trademarks:

(C) SAP AG

BC619

12.4

What is Certification?

Certification is the comprehensive technical assessment


of the interface between an SAP application and third
party software
The third party product always includes an application.
SAP does not certify the application.

Partner
Interface

SAP Application

SAP ArchiveLink
/ Content Server
Interface

Object of certification

Partner
Application

SAP AG 1999

(C) SAP AG

BC619

12.5

Certification includes technical assessment of communication of a third party system to a SAP standard interface.

(C) SAP AG

BC619

12.6

SAPNet

The ALE home page in SAPNet for customers and partners


provides information on current developments in the
Application Link Enabling environment
Downloads: Additional components and support packages can
be downloaded from the ALE pages
The ALE pages can be called up via the alias / ale.
The complete URL:
http://sapnet.sap.com/ale
The Business Framework pages contain much
useful information on R/3 interfaces and
components in the ALE environment:
http://sapnet.sap.com/bf

SAP AG 1999

(C) SAP AG

BC619

(C) SAP AG

BC619

12.7

Contents of Units (3)

Unit "DATA ARCHIVING TRANSACTION SARA

Implementing Data Archiving


Executing the Archiving Process
Flow Control
Restart Scenarios in the Event of Errors
Flow Control: Common Reasons for Errors
The Archiving Log
Managing Archiving Sessions
Managing Archiving Files
Storing Archive Files on Tertiary Media
Authorization Checks
Phases of Data Archiving Project:
Design/Conception
Implementation and "Going Live"
Creating a Long-Term Plan

Page

6-5
6-9
6-16
6-19
6-24
6-26
6-27
6-31
6-34
6-38
6-40
6-41
6-48

SAP AG 2002

(C) SAP AG

BC619

12.8

Status values for active monitoring and statistics about status groups are combined to prevent the information becoming too complicated.

(C) SAP AG

BC619

12.9

Books on ALE

SAP R/3 ALE & EDI Technologies


Rajeev Kasturi, McGraw-Hill, 1999,ISBN 0-07-134730-5

ALE, EDI & IDoc Technologies for SAP


Arvind Nagpal, Prima Publishing, 1999, ISBN 0-7615-1903-3

SAP AG 1999

Rajeev Kasturi and Arvind Nagpal are independent ALE consultants

(C) SAP AG

BC619

10

12.10

Magazines

SAP Insider

Wellesley Information Services


Diane L. Gottheiner, Programs and Publications Manager
mailto:diane.gottheiner@sap.com
Free, $39.95 per year outside U.S. and Canada
http://www.sapinsider.com/

SAP Professional Journal

Wellesley Information Services, ISSN 1524-7767


Heather Black, Celeste Otrowsky, Editors
Price $495, 6 editions per year
http://www.sappro.com

SAP AG 1999

(C) SAP AG

BC619

11

12.11

For SAP R/3 releases 3.1I and earlier, read Note #89324, 'Revised ADK Versions'.

(C) SAP AG

BC619

12

12.12

Information Sources: Unit Summary

You are now able to:


List the most important information sources on
the topic ALE
Identify the resources that may be of use to you

SAP AG 1999

(C) SAP AG

BC619

13

You might also like