THE SAP® Business One SOFTWARE DEVELOPMENT KIT


Download THE SAP® Business One SOFTWARE DEVELOPMENT KIT


Preview text

SAP Functions in Detail

THE SAP® Business SOFTWARE DEVELOPMENT KIT
POWER TOOLS FOR SMALL AND MIDSIZE BUSINESSES

One

© Copyright 2004 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.
Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors.
Microsoft, Windows, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation.
IBM, DB2, DB2 Universal Database, OS/2, Parallel Sysplex, MVS/ESA, AIX, S/390, AS/400, OS/390, OS/400, iSeries, pSeries, xSeries, zSeries, z/OS, AFP, Intelligent Miner, WebSphere, Netfinity, Tivoli, and Informix are trademarks or registered trademarks of IBM Corporation in the United States and/or other countries.

HTML, XML, XHTML and W3C 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.
MaxDB is a trademark of MySQL AB, Sweden.
SAP, R/3, mySAP, mySAP.com, xApps, xApp, and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary.

Oracle is a registered trademark of Oracle Corporation.
UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group.
Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of Citrix Systems, Inc.

These materials are subject to change without notice. These materials are provided by SAP AG and its affiliated companies (“SAP Group”) for informational purposes only, without representation or warranty of any kind, and SAP Group shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP Group products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty.

2

CONTENTS
Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Key Benefits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Easy to Learn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Easy to Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Powerful Integration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Powerful Customization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Upgrade-Friendly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
SAP Business One – Built for Adaptability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 User-Defined Fields and Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 User-Defined Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Formatted Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Custom Queries and Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Alerts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Architecture Overview – Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
The Data Interface API (DI-API) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Master Data Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Transaction Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Metadata Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 General-Purpose Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
The User Interface API (UI-API) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Objects in the UI-API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 – Application/Connection Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 – Menu Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 – Forms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 – Items (Controls) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 – Data Sources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Events in the UI-API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 – Application Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 – Menu Events. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 – General Item Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 – Form Item Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3

The Screen Painter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 The DI Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 The Java Connector (JCo) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Add-On Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Company Preferences. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 User Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Backward Compatibility. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Developing with SAP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Training and Certification. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 SAP Developer Network. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Qualification and Certification of Add-On Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Namespaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Other Tools. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Data Transfer Workbench . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Integration Toolkit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Versions and Licensing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4

INTRODUCTION
In today’s rapidly changing world, businesses need software that can easily adapt to meet new needs as they arise. SAP® Business One is an affordable, easy-to-use solution that allows small and midsize businesses to streamline and integrate a broad range of operational and managerial tasks. SAP Business One was built upon a fundamental design principle: adaptability. Simple, easy-to-use features allow users to add new tables, fields, and business objects; create custom lookup lists; establish new validation and field-default rules; and design custom alerts – all without writing a single line of code.

For more complex enhancements, the SAP Business One Software Development Kit (SDK) provides a comprehensive set of tools for professional software developers. The SDK maximizes your IT investment by allowing you to tailor SAP Business One to your particular needs, streamline and automate many processes, and integrate external applications. Built upon a standards-based platform that is compatible with Microsoft .NET, Microsoft Component Object Model (COM), and Java technologies, the SDK lets you leverage your development team’s existing skills and quickly build solutions that bring tangible value to your organization.

5

KEY BENEFITS

The SAP Business One SDK is a toolkit that enables software developers to add new functionality to SAP Business One, interface with external applications, make minor functional modifications, or simply change the look and feel of SAP Business One. It includes application programming interfaces (APIs), sample code, documentation, and development tools for SAP Business One.
In keeping with the “simple yet powerful” theme of SAP Business One, the SDK is designed to be easy to learn and use, while providing a level of flexibility unmatched by any other business management application in its class.
EASY TO LEARN
The SAP Business One SDK provides interfaces for the most popular technologies on the market today – including Microsoft .NET (C#, ASP.NET, Visual Basic.NET, and so on), Microsoft COM (C++, Visual Basic, ASP, and so on), and Java. There are no proprietary languages, tools, or arcane development environments to learn, neither extensive training nor lengthy ramp-up time is needed.
EASY TO USE
The SAP Business One SDK provides a set of tools to make software development faster and easier and to make deployment of add-on applications simple and efficient.

POWERFUL INTEGRATION
The SAP Business One SDK provides a robust set of programmable business objects for interfacing external applications to SAP Business One. The tiered architecture of SAP Business One maintains a clear separation between business logic and user interface (presentation layer) components, allowing software developers to work directly with the same business logic used by the SAP Business One client application. This approach ensures that integration is not only simple and straightforward, but also powerful.
POWERFUL CUSTOMIZATION
The SAP Business One SDK provides a rich application programming interface for working directly with the SAP Business One client application, allowing programmers to build unique functionality into the user interface: adding new windows, modifying the look and feel of existing windows, or making functional modifications to SAP Business One.
UPGRADE-FRIENDLY
The SAP Business One SDK is designed to be upgrade-friendly. Backward compatibility of interfaces makes it easy to upgrade to the latest release of SAP Business One with little or no modification to custom code.

6

SAP BUSINESS ONE – BUILT FOR ADAPTABILITY
SAP Business One contains numerous features that make it easy for end users to tailor the software to a wide range of specific needs. Although these features are not technically part of the SAP Business One SDK, they are an important part of what makes SAP Business One so flexible and adaptable, and developers interested in working with the SAP Business One SDK should be familiar with them. In many cases, these features provide the fastest, easiest way to modify SAP Business One to suit an organization’s specific needs.

USER-DEFINED FIELDS AND TABLES
Users can quickly and easily add new fields to existing tables or add new tables to the SAP Business One solution. User-defined fields can be added to virtually any of the business objects within SAP Business One, including master records (customers or inventory items, for example), sales and purchasing documents (sales orders, invoices, or purchase orders, for example), document rows (invoice line items and purchase order line items, for example), financial transactions (journal entries or journal entry rows, for example), service calls, service contracts, bills of material, and many other objects.
When a user-defined field is added to the system, the underlying database is automatically modified to include the new field. Users can configure the attributes of a new field, including the data type, length, format mask, list of valid values, and default value. Users may also specify whether or not a field is required, can create indexes, and can easily create links to userdefined tables.

Figure 1: Setting Field Data
When a user-defined field is added, it automatically becomes available to the reporting and query tools within SAP Business One and within its user interface.
Users can also add user-defined tables to SAP Business One very quickly and easily. This ability enables users to manage virtually any kind of information within SAP Business One and to create add-on applications to manage that information alongside all their other accounting, logistics, and CRM data.

7

USER-DEFINED OBJECTS
The user-defined object is a unique feature. It allows end users to link two user-defined tables quickly and easily to create a new business object in SAP Business One. The application automatically creates a new window for the object.
An example best illustrates the concept of a user-defined object. Imagine that your business sells its product through a channel of distribution partners. As part of your effort to ensure that the partners represent your product effectively, you provide a sales training and certification program. You want to maintain a list of certified account representatives in SAP Business One. For each person, you want to keep track of training classes attended, exam results, instructor comments, and a scanned copy of the signed attendance record for each class.

FORMATTED SEARCH
Formatted search is a powerful feature that allows users to create custom look-up lists and add unique business logic without writing any custom code. Formatted searches can be based upon a list of static, user-defined values, or upon a query that returns one or more values based upon other values in an SAP Business One window.
For example, one company that uses SAP Business One charges its customers different prices for the same item, depending upon the project with which the sale is associated. One customer, for example, pays €100 for an item if it is sold as part of the “World Cup” project, but pays $135 for the same item if it is sold in connection with the “Brady” project. Pricing therefore depends upon three dimensions: customer, project, and item.

This information can be managed very easily in SAP Business One by adding a user-defined object. First, you set up a userdefined table to store information for each account representative. Next, you create a second user-defined table to store information on the certification classes attended. Finally, you start a simple, wizard-driven process to create a user-defined object to link the two tables to each other. SAP Business One can create a new window for data entry and it automatically handles insert, update, find, and delete operations. SAP Business One maintains the linkage between parent records (in the table containing the list of certified account representatives) and child records (in the table containing the list of training classes the representatives have attended). The user can also choose from a range of optional services, including automatic document numbering, history logging, and year-end transfer.

Figure 2: Creating a Formatted Search

8

In this case, a custom pricing solution was created by maintaining a user-defined table to store project-based pricing information. The formatted search feature was used to assign a query to the unit price field within each line of the sales order. The query is simply an SQL select statement that looks for a price in the user-defined table, based upon the current customer, project, and item. The formatted search query is set to refresh the unit price automatically whenever the user changes the project code associated with the line in the sales order.

ALERTS
Online alerts in SAP Business One allow users to create realtime notification of important events and conditions that require attention. Users can quickly and easily specify the information they want and can determine how and when they want to be alerted. For example, a sales manager might want to receive an e-mail notification of all sales opportunities that exceed a specified amount each morning at 10:00. Such alerts can be set up in just a few minutes.

CUSTOM QUERIES AND REPORTS
SAP Business One provides several different mechanisms to create custom queries based upon the data in SAP Business One, including user-defined tables and fields. Queries provide a simple, intuitive way to view reports in real time and to export data to Microsoft Excel or other applications. Queries can also be used to create custom alerts based upon user-specified conditions.

The built-in customization features of SAP Business One are available to all SAP Business One customers at no additional cost.

SAP Business One includes a simple, intuitive report writer for creating or modifying printed reports.

9

ARCHITECTURE OVERVIEW – COMPONENTS

The SAP Business One SDK provides APIs that help you interface with and enhance SAP Business One in several ways. From simple screen modifications to sophisticated integration projects, the SDK provides a flexible set of tools that includes:
• The Data Interface API, which lets you build real-time
links between SAP Business One and external applications. By providing a programmatic interface to SAP Business One through a set of fully functional business objects, the Data Interface API gives you the power to connect applications and automate processes. The Data Interface API exposes the business-logic layer of SAP Business One, and is independent of the SAP Business One client application.
• The User Interface API, which lets you modify SAP
Business One by creating new windows, redesigning existing windows, and adding menus or dialog boxes. Modifications can be as simple as hiding or disabling a field, or as complex as adding a new transaction. The User Interface API enhances and extends the SAP Business One client application.

Workstation
Add-On Development Third-Party Application

DI Server

Workstation SAP® Business One
Client
SAP Business One User Interface API
Add-On Development Third-Party Application
Workstation
SAP Business One User Interface API
Add-On Development Third-Party Application

Server SAP Business One
Server Tools
Database Server
Common Database
Company Database

Figure 4: SAP Business One SDK Architecture
• The DI Server, which provides an XML interface based
upon SOAP standards and is designed for high-volume, Webservices integration between SAP Business One and external applications.
• The Java Connector, which gives developers all the power
and flexibility of the Data Interface API in a Java development environment.

Workstation Add-On Development Third-Party Application
Workstation Add-On Development Third-Party Application

Workstation
SAP® Business One Data Interface API
Server

Database Server

The source code of SAP Business One is not publicly available and cannot be viewed or modified by third parties. This approach guarantees a uniform code base for all SAP Business One customers, which ensures stability, reduces risk, and facilitates smooth upgrades.

Workstation
Add-On Development Third-Party Application

Figure 3: The DI Server

10

Preparing to load PDF file. please wait...

0 of 0
100%
THE SAP® Business One SOFTWARE DEVELOPMENT KIT