Introduction
Contents:
The SAP Business One SDK
Components of the SAP Business One SDK
Introduction to DI API
Introduction to UI API
SAP Business One integration for SAP NetWeaver
Introducing the Course Project
Introduction: Unit Objectives
At the conclusion of this unit, you will be able to describe and explain:
The SAP Business One Software Development Kit
Data Interface API
User Interface APISAP Business One integration for SAP NetWeaver
Course Overview Diagram
Client Server
User Interface API
3rd Party SAP Business One SAP Business One
Application Database
3 3 DI Server
Java Co
Data Interface
API
Server
License
Service
1 2
UDO 4 6 6
SAP Business One - Technology and
Interfacing
SAP® Business One ■ Continuous and integrated solution
■ Windows look & feel (SAP style)
Ease of Use ■ Simple navigation
■ Ability to drill down to details
Client ■ “Drag and relate” feature
GUI SDK (COM)
■ Two-tier client-server architecture (fat client)
Product ■ Microsoft Windows 32 based, 64 Bit supp.
Architecture ■ Microsoft SQL Server
Server
Interfaces
■ Customizing
Integration
■ Form Settings
■ Queries / Reports
Adaptations ■ User-Defined Tables and Fields
SDK (COM)
■ Linkage of input fields to queries
Microsoft
SQL Server Services ■ User-Defined Objects (UDOs)
SDK (DI Server)
Email MS Office ■ Microsoft Excel, Word (out)
RDBMS Backup
Integration ■ Microsoft Outlook (in / out)
License ■ File-based (built-in)
■ SOAP (HTTP/XML)
Interfaces ■ APIs (COM, web services (SOA) starting)
■ User-Defined objects (UDOs)
■ Integration (not only) to SAP systems
Introducing SAP Business One SDK: Unit
Overview Diagram
Introduction
Topic 1: Introducing SAP Business One SDK
Topic 2: Introducing Data Interface API
Topic 3: Introducing User Interface API
Topic 4: SAP Business One integration for SAP NetWeaver
Topic 5: Introduction to the Course Project
Introducing SAP Business One SDK: Topic
Objectives
After completing this topic, you will be able to:
Describe purpose and components of the SDK
Explain SDK packages and licenses shortly
Tell where to find further information or seek help
Use test tools available on the SAP Community Network
SAP Business One SDK - Motivation
SAP Partner
■ Customization Add-Ons Add-Ons
capabilities are
powerful!
■ Customization
capabilities cannot
solve every
requirement. SAP
Business One
■ Source code not
accessible!
Use SDK!
Software
Development Kit
SAP Business One SDK – Components
Overview
Client Server
User Interface API
3rd Party SAP Business One SAP Business One
Application Database
DI Server
Java Co
Data Interface
API
Server
License
Service
?
UDO
SAP Business One SDK – Terminology and
Packaging
The SDK consists of 2 major packages:
1) The Runtimes (i.e. the APIs)
The runtimes (DI API + UI API) are installed together with the SAP Business One client application
DI API can be installed stand-alone (separate installer package available)
2) The documentation (samples, helpfiles, utilities) named „SDK Installation“
“SDK” Installation
Development package for partners – includes SDK help, samples, tools
(SDK) Licenses
SDK Implementation License
For customer specific implementation (usage of UI API only)
SDK Implementation license (99999 licenses) included in Professional User license
SDK Development License / Add-On Solution License
Need development or solution license to use UI&DI API (we will talk about that later)
Partner has to order SDK Development License to start development
AddOn Access User License
Allows to work via UI&DI API – cannot be used to do anything in the B1 application
Indirect Access User License
Allows to work via DI only – cannot be used to do anything in the B1 application
New in version 8.8: Add-on connection requires user having an SAP License!
SAP Business One SDK - More Information
Visit us at:
http://www.sap.com/smb
http://service.sap.com/smb
The most important source of information for developers:
The SAP Community Network (aka SAP Developer Network):
http://scn.sap.com/community/business-one-sdk
What you can find on SDN: People like you...
ums
o r
n F
ssio
u
isc
t oD
on
tr a ti
is
reg
ree
F
What you can find on SDN: Technical
information...
Q
FA
e s: etc
lu d Q
c A
in s, F
a – le
r e r t ic
er A ls, a
l op oo
v e to t
De ks
Lin
What you can find on SDN: Development tools
s er
o w
Br
D B ser
B1 po
m
Co
e st
1 T
B
k er
hec
C
o rm t or
1 F ra
B e ne
G
ode
C
B1
Introducing SAP Business One SDK: Topic
Summary
You should now be able to:
Describe purpose and components of the SDK
Explain SDK packages and licenses shortly
Tell where to find further information or seek help
Use test tools available on the SAP Community Network
Introducing SAP Business One SDK: Unit
Overview Diagram
Introduction
Topic 1: Introducing SAP Business One SDK
Topic 2: Introducing Data Interface API
Topic 3: Introducing User Interface API
Topic 4: SAP Business One integration for SAP NetWeaver
Topic 5: Introduction to the Course Project
Introducing Data Interface API (DI API): Topic
Objectives
After completing this topic, you will be able to:
Explain what DI API is high-level
Tell how DI API is used
Know about DI Server
Explain the User-Defined Objects concept high-level
SAP Business One SDK – Data Interface API /
DIServer
Provides objects and methods (add, update etc.) to work on data level – installing the SAP
Business One client application is not required
Provides access to business objects (e.g. master data and transactional data) and cross
functionalities (services)
Performs the same checks as the SAP Business One client application
Links existing third-party solutions “as-is”
Use COM capable development tools (e.g. Microsoft Visual Studio)
SAP Business One SAP Business One
Company
3rd Party Database
Application
DI API
(or JCo
UDO or DI Server)
Data Interface API – Use cases
There are a couple of scenarios where Data Interface API is engaged:
■ Data level integration of existing applications:
■ Easily read or write data from / to SAP Business One – when needed
■ Data Import / Export scenarios – which are not covered through SAP tools – and where
the capabilities of the SAP Business One application are not sufficient.
■ Depending on the architecture of the overall solution you might consider to use DI Server
though.
■ Handling data in an Add-On that uses UI API (see next unit) beyond UI API‘s capabilities.
■ Essentially writing data to the SAP Business One database by default requires usage of
DI API
■ Even though other techniques may be faster when it comes to reading data from the
database – usage of DI API is often a good choice regarding usability (no need to request
additional credentials etc) and data coherence (imagine that the required data might be
stored in various tables).
SAP Business One SDK – Special: DI Server
The DI Server is designed to run on a server machine and supplies a light-weight
SOAP-based access layer
■ Based on the DI API technology but acts as a “Server” (as a service)
■ Supports all business objects that are exposed by the DI API
■ Enables to develop SOAP-based solutions
■ Potential Solution to heavy duty operations (e.g. batch)
■ Can support larger number of clients working at the same time.
The DI Server implements a connection pooling mechanism to enhance
performance and scalability of the server.
As DI Server is a SOAP-based interface it does not limit the client to a COM
interface, but allows a wide range of possible client technologies.
Limitations:
Meta data operations not supported
Different support for transaction handling than plain DI API
SAP Business One SDK – User Defined Object
(UDO)
The User Defined Object offers partners the ability to:
Add own Business Objects to the application’s object collection.
Use the set of services that the application offers, such as:
Connect a Form to the Object; use Find, Add, and Update modes and other predefined
services.
Optionally the predefined behavior of the services can be modified and extended
through implementing a class that inherits (C++) from a business object base class in a
DLL and overriding virtual methods.
SAP Business One supports two types of main Objects:
Master Data Object
Document Object
New partner
Object Collection UDO object
Add
Find Register the object
Remove for services
…..
Introducing Data Interface API (DI API): Topic
Summary
You should now be able to:
Explain what DI API is high-level
Tell how DI API is used
Know about DI Server
Explain the User-Defined Objects concept high-level
Introducing SAP Business One SDK: Unit
Overview Diagram
Introduction
Topic 1: Introducing SAP Business One SDK
Topic 2: Introducing Data Interface API
Topic 3: Introducing User Interface API
Topic 4: SAP Business One integration for SAP NetWeaver
Topic 5: Introduction to the Course Project
Introducing User Interface API (UI API): Topic
Objectives
After completing this topic, you will be able to:
Explain what UI API is high-level
Tell how UI API is used
SAP Business One SDK – User Interface API
Provides objects and methods to access screen objects of the User Interface
Provides access to internal system events of the user interface
Provides ability to modify or add menus, windows, or fields
Provides one integrated user interface
Use COM capable development tools (Microsoft Visual …)
User Interface API SAP Business One
SAP Business One Company
Database
3rd Party
Application
Data Interface
API
User Interface API – Use Cases
User Interface API is usually used to:
■ Reach a „seamless“ integration of additional functionality with SAP Business One
(usually requested by customers)
■ …including hooking on SAP Business One standard processes
■ …including adding own GUI elements into SAP Business One standard forms
■ …including adding own forms and plugging the corresponding data behind
■ Manipulate SAP Business One standard functionality (when standard options do not
apply to the customer‘s processes (or the branch the customer works in))
■ …including hiding SAP Business One GUI elements
■ …including blocking SAP Business One events
Introducing User Interface API (UI API): Topic
Summary
You should now be able to:
Explain what UI API is high-level
Tell how UI API is used
Introducing SAP Business One SDK: Unit
Overview Diagram
Introduction
Topic 1: Introducing SAP Business One SDK
Topic 2: Introducing Data Interface API
Topic 3: Introducing User Interface API
Topic 4: SAP Business One integration for SAP NetWeaver
Topic 5: Introduction to the Course Project
Introducing SAP Business One integration for
SAP NetWeaver: Topic Objectives
After completing this topic, you will be able to:
Explain the purpose of B1iSN
Tell what connectivity types it supports
Describe how to set it up
…and how to build your own scenarios
Talk about getting information about errors
“SAP Business One integration for SAP NetWeaver”
B1iSN
B1iSN – Solution for seamless integration between SAP Business One and:
SAP R/3 and/or SAP ERP (ECC 6.0) and/or SAP Business One and/or …
Key benefits of B1iSN:
Rapidly connects subsidiaries running SAP Business One to headquarters (and other
subsidiaries)
Standardizes and unifies business processes across the business ecosystem
Subsidiary
Headquarters Headquarters
Customer
Branch Office Manufacturing
Acquisition Site
Branch Office Supplier
Customer
B1iSN Connectivity Types
B1iSN 2007 provides many of out-of-the-box
connectivity types
SAP Business One (DI, SQL) Web Services
RFC, ALE,
BAPI, XI
SAP ERP (RFC / ALE/XI-PI) SOAP
SAP NetWeaver BW (RFC / SOAP) DI, SQL
Database systems (SQL) CSV, DSV, Offset,
IDE
HTTP any
SQL
File (CSV, Offset)
Web Services (In/Out, Sync/Async)
For each connectivity type multiple systems can
be set up (many to many)
Connectivity types are represented in B1iSN via
System Types
B1iSN Simple sample for deployment
DI-API
B1
DI Proxy
Database
B1i SN Server
Notification Mech. Event Sender
B1
Database Server B1 Server
1 Dedicated
B1 Server B1i SNServer
Notification Mechanism: Creating Events for change in SAP B1 (table SBO-COMMON.SEVT)
EventSender: Sending Events to SAP B1iSN
DI Proxy: The Data Channel between SAP B1 and SAP B1iSN
B1iSN Server: The Integration Server
B1iSN – Model Driven Integration approach
Actual development
effort
structural mapping
BIU
Building Blocks
error handling data enrichment
value mapping primary key handling
value defaulting receiver determination
Sender Receiver
Receiver
Receiver
Technical Services
guaranteed delivery
in-order-processing
Adapters
Adapters
tracing, logging
job scheduling
transactional control
Technical Flow Control
Graphical overview of BizStep
Object MyPO to be created
System Ext property to be
defined
A green box says that a specific element is relevant and correct.
A yellow box show elements that are “not correct”
A red box is displayed in case the item relevant for the scenario, mandatory but not yet
specified or missing in the repository.
B1iSN Server: Monitoring during Runtime –
Message Logs
1 The list of Message Logs can
be limited for the following
parameters
Time range
Sender / Receiver System
Sender / Receiver Object
Sender / Receiver Object
Status
2
As a result we have Message
Logs with the Status “Success”
The logging functionality should be switched – there is no further need for
off in the productive environment. As per paying attention
process step a copy of the processed
Furthermore Messages with
message is created and stored – messages
status “Failure” are logged –
with status failure are created always – even
here it is necessary to further
if the logging is switched off
investigate on the failure root
Introducing SAP Business One integration for
SAP NetWeaver: Topic Summary
You should now be able to:
Explain the purpose of B1iSN
Tell what connectivity types it supports
Describe how to set it up
…and how to build your own scenarios
Talk about getting information about errors
Introducing SAP Business One SDK: Unit
Overview Diagram
Introduction
Topic 1: Introducing SAP Business One SDK
Topic 2: Introducing Data Interface API
Topic 3: Introducing User Interface API
Topic 4: SAP Business One integration for SAP NetWeaver
Topic 5: Introduction to the Course Project
Course Project Introduction: Topic Objectives
After completing this topic, you will be able to:
Explain the course project
Course Project - Description: Video Library
Module
Business case:
Add a small module that will enhance SAP Business One application
functionality to manage a video library.
Features:
■ A movie is consider as an Item with some specific properties
■ Add a new DVD
■ DVD Availability Check
■ Rent DVD
■ Return DVD
Within the Course Project we will create an Add-On using UI API and DI API.
The following slides show how these forms could look like…
Course Project – Add New DVD
A Movie is considered as an Item Master Data with some specific properties.
Adding a DVD will insert an item master data as well. DVD Code = Item Code…
Course Project – DVD Availability Check
Check the DVD availability before rental.
Course Project – Rent/Return DVD
Rent DVD: The stock no. of DVD will decrease.
Return DVD: The stock no. of DVD will increase.
Course Project - Display “Movies Rental
History” on Item Master Data
A Movie is considered as an Item Master Data The form displays a list of the
movie Rental.
Course Project Introduction: Topic Summary
You should now be able to:
Explain the course project
Introduction: Unit Summary
You should now be able to describe and explain:
The SAP Business One Software Development Kit
The components of the SAP Business One Software Development Kit
How to use SDK in general
Data Interface API
User Interface API
How SAP Add-Ons and applications use SDK
SAP Business One Integration for SAP NetWeaver