Академический Документы
Профессиональный Документы
Культура Документы
ERP
When you search for "ERP" on the web, the sheer amount of information that comes up can be
overwhelmingnot to mention a little confusing. Every website seems to have its own definition of
ERP, and one ERP implementation can vary widely from the next. These differences, however,
underscore the flexibility that can make ERP such a powerful business tool.
To get a deeper understanding of how ERP solutions can transform your business, it helps to get a
better sense of what ERP actually is and how it works. Here's a brief introduction to ERP and why it
seems like everyone's talking about it.
ERP is an acronym for Enterprise Resource Planning, but even its full name doesn't shed much light
on what ERP is or what it does. For that, you need to take a step back and think about all of the
various processes that are essential to running a business, including inventory and order
management, accounting, human resources, customer relationship management (CRM), and beyond.
At its most basic level, ERP software integrates these various functions into one complete system to
streamline processes and information across the entire organization.
The central feature of all ERP systems is a shared database that supports multiple functions used by
different business units. In practice, this means that employees in different divisionsfor example,
accounting and salescan rely on the same information for their specific needs.
ERP software also offers some degree of synchronized reporting and automation. Instead of forcing
employees to maintain separate databases and spreadsheets that have to be manually merged to
generate reports, some ERP solutions allow staff to pull reports from one system. For instance, with
sales orders automatically flowing into the financial system without any manual re-keying, the order
management department can process orders more quickly and accurately, and the finance
department can close the books faster. Other common ERP features include a portal or dashboard to
enable employees to quickly understand the business' performance on key metrics.
Moreover, even though the "e" in ERP stands for "enterprise," high-growth and mid-size companies
are now rapidly adopting ERP systems. Software-as-a-Service (SaaS) solutionsalso referred to as
"cloud computing"have helped fuel this growth. Cloud-based solutions not only make ERP software
more affordable, they also make these systems easier to implement and manage. Perhaps even more
importantly, cloud ERP enables real-time reporting and BI, making them even valuable to executives
and staff seeking visibility into the business.
As a result, companies of all sizes and a wide range of industries are transitioning to cloud ERP
systems. In fact, Forrester predicts that SaaS-based ERP adoption will rise 21 percent annually
through 2015. When you stop to consider the benefits of ERP, it's easy to see why it's become so
popular and why its use will continue to grow so rapidly.
Gives a global, real-time view of data that can enable companies to address concerns
proactively and drive improvements
Automates core business operations such as lead-to-cash, order-to-fulfillment, and procure-topay processes
Enhances customer service by providing one source for billing and relationship tracking.
When you add up these advantages, the value of ERPparticularly cloud ERPis clear. With an ERP
solution, employees have access to accurate information that enables them to make better decisions
faster. Not only that, but ERP software helps to eliminate redundant processes and systems,
dramatically lowering the cost of doing business overall.
ERP Architecture
ERP applications are most commonly deployed in a distributed and often widely dispersed manner. While the servers may
be centralized, the clients are usually spread to multiple locations throughout the enterprise.
Generally there are three functional areas of responsibility that is distributed among the servers and the clients. First,
there is the database component - the central repository for all of the data that is transferred to and from the clients. Then,
of course, the clients - here raw data gets inputted, requests for information are submitted, and the data satisfying these
requests is presented. Lastly, we have the application component that acts as the intermediary between the client and the
database. Where these components physically reside and how the processes get distributed will vary somewhat from one
implementation to the next. The two most commonly implemented architectures are outlined below.
Two-tier Implementations
In typical two-tier architecture, the server handles both application and database duties. The clients are responsible for
presenting the data and passing user input back to the server. While there may be multiple servers and the clients may be
distributed across several types of local and wide area links, this distribution of processing responsibilities remains the
same.
SAP ERP[2] is enterprise resource planning software developed by the German company SAP SE. SAP ERP
incorporates the key business functions of an organization. The latest version (SAP ERP 6.0) was made
available in 2006. The most recent Enhancement Package (EHP7) for SAP ERP 6.0 was released in 2013.
Business Processes included in SAP ERP include Operations (Sales & Distribution, Materials Management,
Production Planning, Logistics Execution, and Quality Management) Financials (Financial Accounting,
Management Accounting, Financial Supply Chain Management) and Human Capital Management (Payroll, eRecruiting).[3]
Overview[edit]
SAP ERP is part of the applications in the SAP Business Suite (and SAP Business All
Development[edit]
SAP ERP was built based on the former SAP R/3 software. SAP R/3 through version 4.6c consisted of various
applications on top of SAP Basis, SAP's set ofmiddleware programs and tools. When SAP R/3 Enterprise was
launched in 2002, all applications were built on top of the SAP Web Application Server. Extension sets were
used to deliver new features and keep the core as stable as possible. The Web Application Server contained
all the capabilities of SAP Basis.
As a result of marketing changes and changes in the industry, new versions of SAP have been released. The
first edition of mySAP ERP was launched in 2003 and bundled previously separate products, including SAP
R/3 Enterprise, SAP Strategic Enterprise Management (SEM) and extension sets. The SAP Web Application
Server was wrapped into NetWeaver, which was also introduced in 2003.
A complete architecture change took place with the introduction of mySAP ERP edition in 2004. R/3 Enterprise
was replaced with the introduction of ERP Central Component (SAP ECC). The SAP Business Warehouse,
SAP Strategic Enterprise Management and Internet Transaction Server were also merged into SAP ECC,
allowing users to run them under one instance. Architectural changes were also made to support an enterprise
service architecture to transition customers to a services-oriented architecture.
Implementation[edit]
SAP ERP consists of several modules, including utilities for marketing and sales, field service, product design
and development, production and inventory control, human resources, finance and accounting. SAP ERP
collects and combines data from the separate modules to provide the company or organization with enterprise
resource planning.
An article in the IEEE Transaction on Engineering Management journal reports an industrial case in which
senior management successfully dealt with a troubled SAP R/3 implementation in an international fast moving
consumer goods (FMCG) company during 2001 and 2002.[4]
Independent studies have shown that deployment and maintenance costs of a SAP solution can greatly vary
depending on the organization. For example, some point out that because of the rigid model imposed by SAP
tools, a lot of customization code to adapt to the business process may have to be developed and maintained.
[6]
Some others pointed out that a return on investment could only be obtained when there was both a sufficient
number of users and sufficient frequency of use.[7][8] Deploying SAP itself can also involve a lot of time and
resources.[9]
SAP Basis[edit]
After extensive developments in SAP, it is now divided into two subgroups stating Basis into one and Security
into other (previously Basis consultants used to work on both basis as well as Security issues) very difficult in
use
ERP advantages and disadvantages[edit]
Advantage
Allows easier global integration (barriers of currency exchange rates, language, and culture can be
bridged automatically)
Vendors have past knowledge and expertise on how to best build and implement a system
User interface is completely customizable allowing end users to dictate the operational structure of the
product
Disadvantages
Locked into relationship by contract and manageability with vendor - a contract can hold a company to
the vendor until it expires and it can be unprofitable to switch vendors if switching costs are too high
Inflexibility - vendor packages may not fit a company's business model well and customization can be
expensive
The SAP NetWeaver Application Server is the central foundation for the entire SAP software stack. It also provides a
platform for other NetWeaver components (Portal, XI, and so on), as well as for ABAP and Java applications. The full
J2EE standard is supported. The SAP NetWeaver Application Server is the further development of the SAP Web
Application Server.
Design
The design of the SAP NetWeaver Application Server is aimed at providing an exceptionally high level of
robustness and maintainability for the applications running on it.
With VM Container technology SAP has achieved a technological foundation that allows Java applications to
be executed with a similar level of robustness as software developed in ABAP. The aim is to isolate
individual users from each other as securely as possible to avoid any unwanted restrictions. In order to
provide an optimal runtime environment for selected scenarios with especially high demands on a narrow
ABAP-Java coupling, in this release a Java VM can also run integrated in the ABAP work process.
For more information about this see Architecture of the VM Container.
Technical Components
An SAP system consists of several application server instances, as well as one or more databases.
In addition to whatever number of dialog instances users choose to execute, there is one central instance
that contains the message server and the enqueue server. It cannot process any dialog requests.
In the SAP system, these functions are provided by the RFC interface system. The RFC interface enables function calls
between two SAP systems, or between an SAP system and an external system.
The RFC interface system is made up of the following elements:
Integration
There are the following installation options for the SAP NetWeaver AS:
ABAP System (with integrated VM Container). In the graphic these are the components in the blue box
on the left. With this installation you can run ABAP programs and selected SAP Java applications.
Java system. In the graphic these are the components in the green box on the right. With this
installation you can run J2EE applications but not any ABAP programs.
The architecture of SAP Web Application Server can be separated into 5 areas:
Presentation layer
In the presentation layer, the user interface can be developed with Java Server Pages (JSP), Business
Server Pages (BSP), or with Web Dynpro technology. The underlying business layer provides the business
content in Java or ABAP.
Business layer
The business layer consists of a J2EE certified run-time environment that processes the requests passed
from the Internet Communication Manager (ICM) and dynamically generates the responses. The business
logic can be written either in ABAP or in Java based on the J2EE standard. Developers can implement
business logic and persistence with Enterprise JavaBeans (EJB) using the J2EE environment. Developers
can also access the business objects of applications running in the ABAP environment to benefit from their
business logic and persistence.
Integration layer
The local integration engine is an integral part of SAP Web AS and allows instant connection to SAP
XI which is currently called as SAP PI. The local integration engine provides messaging services that
exchange messages between the components that are connected in SAP XI.
Connectivity layer
The Internet Communication Manager (ICM) dispatches user interface requests to the presentation layer
and provides a single framework for connectivity using various communication protocols. Currently, modules
are available for Hypertext Transfer Protocol (HTTP), HTTPS (extension of HTTP running under theSecure
Socket Layer (SSL)), Simple Mail Transfer Protocol (SMTP), Simple Object Access Protocol (SOAP),
and Fast Common Gateway Interface (FastCGI).
Persistence layer
The persistence layer supports database independence and scalable transaction handling. Business logic
can be developed completely independent of the underlying database and operating system. Database
independence is also made possible by support for open standards. The database interface ensures
optimized data access from within the ABAP environment through Open SQL. SAP propagates the
outstanding capabilities of Open SQL for ABAP to Open SQL for Java and offers a variety of
standard Application Programming Interfaces (APIs) to application programmers, such as SQLJ. Other
technologies, such asJava Data Objects (JDO) and Container-Managed Persistence (CMP) for EJB, or the
direct use of the Java Database Connectivity (JDBC) API, are also supported.
Work Process
Definition
An SAP application server has to process SAP requests from multiple front ends. The application server has
the use of a dispatcher, which gathers the requests and transfers them for processing to the work
processes. The work processes then execute the desired requests (for example, an ABAP program).
Use
Here are the following types of work processes:
Update
Background
Enqueue
Spool
Several dialog work processes usually run on one application server. There are usually only one or two
other types of work processes.
Structure
A work process consists of a screen processor, the ABAP interpreter, the database interface and the task
handler that calls these programs.
Integration
The dispatcher is the central process of the application server. After it has been started, it generates the
work process. You can configure the number of different types of work processes that run on an application
server.
Work processes are part of the application server which can handle maximum one presentation
server request at a time. It contains a task handler, ABAP interpreter, screen interpreter and database
interface.
1.
2.
3.
4.
interaction)
S Spool Work Processes (To print spool requests)
E Enqueue Work processes (Dealing with lock table)
M Message Work Processes (Dealing with routing the messages between
application servers)
G Gateway Work processes (Dealing with messages into and from the SAP system)
Features
The SDM consists of:
SDM Server
SDM GUI
SDM Repository
SDM GUI connects to the SDM server through a SDM proprietary protocol.
SDM Server
Use - Executes the operations over SDUs.
Integration - It connects the SDM GUI user with the J2EE Engine, database and file system
resources.
Prerequisites -
SDM Repository
Use
Contains:
Information about SDM-specific configurations
Data about all currently deployed SDUs
Prerequisites
SDM Server must have been started.
Central Services
Definition
The Central Services run on one physical machine and constitute a Java instance.
They comprise the Message Service and the Enqueue Services.
Use
The Central Services form the basis of communication and synchronization for the Java cluster.
The Message Service keeps a list of the dispatchers and server processes of the Java cluster. It represents
the infrastructure for data exchange (small datasets only) between the participating nodes. The Message
Service also supplies information to the SAP Web Dispatcher about Load Balancing Between Many Java
Instances.
The Enqueue Service manages logical database locks, which are set by the executed application program
in a server process. The Enqueue Service also synchronizes data across the cluster.
The section Deployment of a New Application describes how the central components handle the
deployment of a new application.
Integration
The Central Services are always required when a Java cluster is installed. The Central Services instance has
its own system number.
When Central Services are running, further Java instances are started with the program JControl.
Notification of events that arise in the cluster, for example when a server process is
started or stopped
The applications can lock objects and release locks again. The enqueue server processes
these requests and manages the lock table with the existing locks.
What is ABAP/4
What is ABAP/4 ?
ABAP (Advanced Business Application Programming) is a programming language for developing applications
for the SAP R/3 system. ABAP is one of many application-specific fourth-generation languages (4GLs) first
developed in the 1980s. The most basic functions were written in ABAP. ABAP/4 is the language created by
SAP AG for implementation and customization of their R/3 system.
The ABAP programming language was originally used by developers to develop the SAP R/3 platform. ABAP
was one of the first languages to include the concept of Logical Databases (LDBs), which provides a high level
of abstraction from the basic database level.
It was also intended to be used by SAP customers to enhance SAP applications customers can develop
custom reports and interfaces with ABAP programming. The language is fairly easy to learn for programmers
but it is not a tool for direct use by non-programmers. Good programming skills, including knowledge of
relational database design and preferably also of object-oriented concepts are required to create ABAP
programs.
From this blog onwards we are looking only for technical part i.e ABAP/4 in detail.
9.Miscellaneous Topics
Correction & Transport request (CTS)
Transport Organizer
Work Bench Request
Task Creation
Release Objects
SAP Memory & ABAP Memory
SD Flow
MM Flow
What is an Instance?
An SAP R/3 instance defines a group of resources such as
memory
work processes
dispatcher
gateway
usually for a single application or database server within an SAP R/3 client-server
environment.
Basically there are three types of instances:1.
Dialog instance
2.
Central Instance
3.
Database Instance
For one SAP system all three instances share the same directory.
Central Instance:- Central instance can also work as dialog instance.But the main
thing is that it contains Enqueue and message servers. All dialog instances communicate
with central instance before requesting database with message server. When an instance
is started, the dispatcher process attempts to establish a connection to the message
server so that it can announce the services it provides (DIA, BTC, SPO, UPD, etc.).Lock
table is managed in central instance by enqueue service.
What is SID ?
Each R/3 installation (SAP system) of a database server and several app servers running the
application logic is uniquely identified by a single SID (SAP System Identification), SAPSID
a three-character code such as C11, PRD, E56, etc.),
Logical System Names:When data is distributed between different systems, each system within a network has to be
clearly identifiable. The "logical system" deals with this issue.
A logical system is an application system in which the applications work together on a
common database. In SAP terms, the logical system is a client.
Since the logical system name is used to identify a system uniquely within the network, two
systems cannot have the same name if they are connected to each other as BW systems or
as source systems, or if there are plans to connect them in any way.
Example for production system logical system name might be:SID PBG
SID Description - P=Production (type), B=BW (component), G=Germany (plant name)
Logical System namePBGCLNT100.This form is easy to understand.
CENTRAL INSTANCE: The SAP Central Instance (CI) is a standalone SAP Basis unit which provides services
used by clients connected to the SAP system. Among these services are the Message server and the Enqueue
server, which run only on the single SAP Central Instance. The Message server maintains a list of all available
resources in an SAP system, determines which instance a user logs on to during a client connect, and handles all
communication between SAP instances. The Enqueue server is used by SAP to administer the lock table in a
distributed SAP system. If the CI server hosting the Enqueue service fails, all SAP transaction locks that have
not yet been committed are lost. R/3 guarantees that no user can perform a transaction while the
Enqueue service is unavailable in order to guarantee database consistency. Placing the Enqueue and Message
services together on the CI is recommended by SAP since the Message service must always access the Enqueue
service for inter-process communication. These services provide critical SAP functions that, by existing only in
the SAP Central Instance, suffer from being a single point of failure in the SAP environment. Obviously, the CI,
which contains the Enqueue and Message services, needs to be restarted as quickly as possible following a
failure so that normal operations can resume.
APPLICATION SERVER: Application server or dialog instance is installed to reduce the load on CI (Central
Instance). Here Central Instance Has Message server and an enqueue work Process, Application Server or
dialog Server : Does not have message server but have work process to reduce the Load on CI
service evaluates entries from the Microsoft Windows start profile, copies
the <sapsid>adm user environment to the registry, and reads the required environment
variables from the registry.
2. Starting the SAP Processes
You can start the SAP processes with the Microsoft Management Console (MMC). To do this,
select an instance and choose Start in the context menu. For more information, see
Microsoft Management Console: Windows.
DCOM communication is set up with the SAP service and messages for starting the
appropriate SAP instance are sent to the service. The SAP service interprets the Microsoft
Windows start profile (see Evaluating the Start Profile below) and starts the processes of
which the instance consists. (The processes are started by the program sapstartsrv.exe.)
The message to start the desired instance can also be issued with the command line
program sapstart.exe orsapcontrol.exe
The following diagram illustrates the interaction of the individual processes during the start
process:
GENERATION LANGUAGES
computer by using a punch card, punch tape or flicking switches. There is no need to translate the code and it will
run straight away. This may sound rather archaic, but there are benefits:
Code can be fast and efficient
Code can make use of specific processor features such as special registers
2nd gen As you can imagine, writing in 1s and 0s all day will leave you prone to mistakes. Secondgeneration programming languages are a way of describing Assembly code which you may have already met.
By using codes resembling English, programming becomes much easier. The usage of these mnemonic codes such
as LDA for load and STA for store means the code is easier to read and write. To convert an assembly code
program into object code to run on a computer requires an Assembler and each line of assembly can be replaced
by the equivalent one line of object (machine) code:
Assembly Code
Object Code
000100110100
LDA A
ADD #5
STA A
JMP #3
001000000101
001100110100
010000000011
Assembly code has similar benefits to writing in machine code; it is a one to one relationship after all. This means
that assembly code is often used when writing low level fast code for specific hardware. Until recently machine code
was used to program things such as mobile phones, but with the speed and performance of languages such
as C being very close to Assembly, and with C's ability to talk to processor registers, Assembly's use is declining.
As you can hopefully see there are benefits to using Second-Generation Languages over First-Generation, plus a
few other things that makes Assembly great:
Code can be fast and efficient
Code can make use of specific processor features such as special registers
As it is closer to plain English, it is easier to read and write when compared to machine code
3rd gen Even though Assembly code is easier to read than machine code, it is still not straightforward to
perform loops and conditionals and writing large programs can be a slow process creating a mish-mash
of goto statements and jumps. Third-generation programming languages brought many programmer-friendly
features to code such as loops, conditionals, classes etc. This means that one line of third generation code can
produce many lines of object (machine) code, saving a lot of time when writing programs.
Imperative languages - code is executed line by line, in a programmer defined sequence
Third generation (High Level Languages) codes are imperative. Imperative means that code is executed line by line,
in sequence. For example:
1 dim x as integer
2 x = 3
3 dim y as integer
4 y = 5
5 x = x + y
6 console.writeline(x)
Would output: 8
Third generation languages can be platform independent, meaning that code written for one system will work on
another. To convert a 3rd generation program into object code requires a Compiler or an Interpreter.
To summarise:
Hardware independence, can be easily ported to other systems and processors
Time saving programmer friendly, one line of 3rd gen is the equivalent of many lines of 1st and 2nd gen
However
Code produced might not make the best use of processor specific features unlike 1st and 2nd gen
Advanced 3rd gen Python, Ruby, Perl bcz they have few
properties of 4t GLs also
4th gen Fourth-generation languages are designed to reduce programming effort and the time it takes to
develop software, resulting in a reduction in the cost of software development. They are not always successful in
this task, sometimes resulting in inelegant and hard to maintain code. Languages have been designed with a
specific purpose in mind and this might include languages to query databases (SQL), languages to make reports
(Oracle Reports) and languages to construct user interface (XUL). An example of 4th generation programming type
is the declarative language
--an example of a Structured Query Language (SQL) to select criminal details from a
database
SELECT name, height, DoB FROM criminals WHERE numScars = 7;
A fourth generation (programming) language (4GL) is a grouping of programming languages that attempt to get
closer than 3GLs to human language, form of thinking and conceptualization.
4GLs are designed to reduce the overall time, effort and cost of software development. The main domains and
families of 4GLs are: database queries, report generators, data manipulation, analysis and reporting, screen
painters and generators, GUI creators, mathematical optimization, web development and general purpose
languages. Also known as a 4th generation language, a domain specific language, or a high productivity
language.
5th gen A fifth generation programming language (abbreviated as 5GL) is a programming language based
on solving problems using constraints given to the program, rather than using an algorithm written by a programmer.
Most constraint-based and logic programming languages and some declarative languages are fifth-generation
languages.
While fourth-generation programming languages are designed to build specific programs, fifth-generation languages
are designed to make the computer solve a given problem without the programmer. This way, the programmer only
needs to worry about what problems need to be solved and what conditions need to be met, without worrying about
how to implement a routine or algorithm to solve them. Fifth-generation languages are used mainly in artificial
intelligence research. Prolog,OPS5, and Mercury are examples of fifth-generation languages.
These types of languages were also built upon Lisp, many originating on the Lisp machine, such as ICAD. Then,
there are many frame languages, such as KL-ONE.
In the 1980s, fifth-generation languages were considered to be the way of the future, and some predicted that they
would replace all other languages for system development, with the exception of low-level languages. [citation needed] Most
notably, from 1982 to 1993 Japan[1][2] put much research and money into their fifth generation computer systems
project, hoping to design a massive computer network of machines using these tools.
However, as larger programs were built, the flaws of the approach became more apparent. It turns out that, given a
set of constraints defining a particular problem, deriving an efficient algorithm to solve it is a very difficult problem in
itself. This crucial step cannot yet be automated and still requires the insight of a human programmer.
PROLOG (acronym for PROgramming LOGic) is an example of a Logical Programming Language. It uses a
form of mathematical logic (predicate calculus) to solve queries on a programmer-given database of facts
and rules.
Third Generation Language -- Event Driven Programing. Coding is done using the
FORTRAN, PASCAL, COBOL, C, C++, Java, C#, VC++, VB etc. JavaScript