You are on page 1of 12

Thoughts On R/3 Consulting

This chapter takes everything that would not fit well in the main sections of this book. It
is mainly comments and thoughts and some peripheral information that may be useful
when collaborating with R/3.

Chapter Contents

10

What, Why, How, Who, When, Where


The Troyan Horse and the Security Dilemma
Hiatus
Hiatus
Hiatus
The SAP R/3 Releases
The Art Of Computer Programming
Test The (Best) Expert

Thoughts On R/3 Consulting

What, Why, How, Who, When, Where


As the starting point of any project, lecture or training you have to answer the famous W. It
will bring some order into your brainstormed thoughts and bring to mind the true
difficulties right at the beginning of the activities.
What: Access To R/3 Business Intelligence Through the Internet
20

What is the goal: We want to add the internet and web browser functionality to our IT
infrastructure while simultaneously avoiding to rebuild and redefine the enormous amount of
business intelligence we had built before into R/3.
Why: Add the standard look and feel and the universal accessibility of web browser applications to our
existing IT solutions

Why we do it: Above all we want to streamline our business, avoid redundancy and increase
maintainability of our IT infrastructure. The web browser client GUI seems to have crystalled
out as the universal tool for user-computer interaction. Today we can expect a modern
browser to be installed on nearly any modern workstation of a modern enterprise. On the other
end there is an enormous amount of existing IT solutions in any enterprise which habitually
comprise enterprise specific business knowledge which often cannot easily be reengineered
or even remodelled.
How: The browser will call ASP web pages that in turn will make RFC calls to R/3 or any other COM
compliant BackOffice component
30

How we do it? We will let the browser call Active Server Pages (ASP) on the web server. The
ASP contain the code to query the business intelligence from a BackOffice component like an
R/3 application server instance. The access to R/3 will be done through convenient COM
components, which are part of any R/3 client installation. (Mind: the web server acts there as a
client to the R/3 application server)
Who (needs it): Any enterprise that has intensive customer or vendor relationship activities or a wide
spread network of affiliates or storage locations

40

Who needs these kind of solution? Let us say it the other way around. An enterprise which
accesses R/3 basically through intranets and company internal people, it is much more
efficient and appropriate to install the SAPGUI on a workplace and access R/3 through the
SAPGUI. A browser solution makes sense if you need to create highly interactive data entry
screens, when you need to access business intelligence from different BackOffice sources
simultaneously.
Who (shall do it): A collaboration of R/3 technical experts and experienced web and Visual Basic
developers

50

Who is the right person to do the work? Like with all client server developments, it is all about
integration or collaboration. To develop powerful solutions with a web client and R/3
BackOffice component you need
an experienced web development guru who masters all the tricks and fancies of JavaScript,
COM+, Active Server, TCP/IP, XML, Message Queues, MTS and more
a web designer who cares for the artistic and ergonomic layout of your web page designs, can
paint icons, graphics and cartoons on a computer and checks the degree of ergonomy of your
solution
an experienced R/3 guru who masters everything about RFC and BAPI, understands how R/3
can be access through COM or CORBA components and is able to right efficient function
modules and classes in R/3
Where: Place the web server developer near your R/3 application team

Where should the web server be placed? This question does not mean the physical placement
of your server. This may be relatively unimportant. The questions refers to, where you place
the brains behind the solution. As we talk mainly about collaboration, it is of utmost importance
that the people who dig the tunnel from the both ends, i.e. the web application developers and
the R/3 application customizing and development team are stationed physically at the same
place and site, better in the same room. Communication is ore than talking via the telephone

2 of 12

Axel Angeli 12 March 2001

XML Extended Mark-up Language


and exchanging opinions via email. Communication without the physical presence of the
correspondent makes you feel like a one legged man trying to win in a hurdle run.
When: Have a framework of solutions ready before the run begins
60

When shall I implement the web to BackOffice application: This is certainly a questions that
cannot be answered in general. It is mainly determined when if ever your users will be
ready to use such a solution. If it comes to web ordering and self service ordering through the
web, the need may be there already. In any case, if you have a slight feeling that your
competitor moves to the web then be prepared and start now to gather the necessary
competence.

70

Axel Angeli 12 March 2001

3 of 12

Thoughts On R/3 Consulting

The Troyan Horse and the Security Dilemma


Security is a sensitive issue in all networking activities. There is only few literature about
security in networking and that for a good reason. Security only works when the
security mechanisms are kept confidential.
The keylock dilemma: if you know how it works, everybody may do so and then it is no longer secure

Security is a sensitive issue in all networking activities. There is only few literature about
security in networking and that for a good reason. Security only works when the security
mechanisms used are secret. It is the same situation with a safe manufacturer. Publishing the
mechanisms he uses to assure safety will attract potential safe crackers. The more a safe
cracker is familiar with a keylock system, the easier he can open it.
Keep your security means unique
80

So it can be desirable to tell you how the better security measures in networking and
connecting R/3 to your internet. It can be generally said, the more abstruse and more unique a
safety mean is, they more difficult it is for a hacker to break in. When we nevertheless tell you
something about security, then it is its only intent to give your mind some ideas in order to
choose or invent right measures. The dilemma we are in is like the question, whether it is
desirable or permissible to disclose information about how burglars have broken into
apartments. By knowing it, you may protect yourself against this very method but at the same
time, another criminal learns about the trick he might have not yet known.
Sometimes it is better to publish, sometimes you better hide the information

90

As a compromise I present you some common techniques used to hack your system. I may
well do so, because they are so popular and familiar in hacker circles, that you hardly find a
hacker that may not know of it. There is e.g. the method of the Troyan horse. Here it is clear
that publishing the strategy is more beneficial than disguising it.
The Troyan Horse

In ancient Greece, the people of Troya received a giant wooden horse of unknown origin as a
present. They did not know that hidden inside the horse, agents of the enemy waited for the
night to escape from the horse in order to open the town gate for the invaders so they could
conquer the city. The Troyan horse in networking is a kind of virus that places an agent in the
target system and sends information actively from inside out. By scanning disks it can reveal
passwords, true IP addresses, session information and many more vital data.

4 of 12

Axel Angeli 12 March 2001

XML Extended Mark-up Language

Calculating The Budget


100An

interesting part when planning a project is an accurate estimate of costs. Costs will be
mainly driven by the amount of time consumed by the people involved and to a lower
extent the costs for hardware, runtime software, development tools and books.

Education of development teams

To estimate the times for the education of your development team we assume an experienced
and talented programmer, who has a sound knowledge in algorithmic and knows the standard
techniques of development and how client server networks principally function. The figures
given are estimates from our experience and can of course deviate much from the actual
times needed, depending largely on the present experience and know-how of the developer
and on her/his learning skills. The estimates given for training refers to one single developer or
functional consultant, thus you have to multiply the times by the number of people participating
in the team.

110

No of estimated days to educate one single developer for web development with R/3
What to Learn
Getting familiar with R/3
ABAP IV Development
Visual Basic Programming
DCOM and ActiveX Technology
Database SQL programming
ASP Development
R/3 DCOM connectivity
Create an own prototype web app in a workshop

Estimated Training Days


5
20
5
5
5
5
5
5

Total Training Time in days

55

Hiatus

Hiatus
No of estimated days for a full shopping cart style web application with R/3
What to Do

Analysis of requirements (developer)


Set-up and customize a proper R/3 client
Create sample data
Load productive master data (material, client etc.)
Develop proxy database tools on SQL server
Develop proxy classes for ASP and R/3 in VB
R/3 DCOM connectivity
Develop R/3 function modules or BAPI classes
Presentation of results
Test and enhance
Documentation
Producing end user documentation
Total Times
Total man days for project

Axel Angeli 12 March 2001

Estimated Estimated Estimated


Man Days Man Days Man Days
Developer Functional Key Users
10
30
30
2
10
2
2
10
5
2
5
10
2
10
3
2
10
10
10
10
5
5
2
5
3
1
5
10
72
211

75

64

5 of 12

Thoughts On R/3 Consulting

Hiatus

Hiatus
120

6 of 12

Axel Angeli 12 March 2001

XML Extended Mark-up Language

The SAP R/3 Releases


R/3 had major changes in tits repository system with release 4.x, until 4.5 only functional
changes have been made and with 4.6 the appearance but not the functionality has
changed and 4.6 made OOP an integral part of the ABAP language.
Release changes can cost a lot

Even more than with Windows it is a never ending discussion about the releases and release
changes of SAP R/3. This has to do with the fact that changing a current release a complex
and hybrid system like R/3 will always require immense efforts and costs.
Fears of release changes or often exaggerated

130

Yet the fear of a release change in R/3 is often exaggerated. Release changes in R/3 do
usually not impact the existing modules apart from injecting bug fixes. In general these bug
fixes would have been available before as hot packages. If a site installs such hot packages
regularly, it should not encounter major disturbances of the daily work.
Many add-ons rely on certain bugs of the base system

As so often with software the problems are not caused by the bug fixes but by bugs which
resided silently in a system for a long while. In an open system like R/3 where developer can
build their own add-ons and are even able to change the source code of the base installation
for enhancements or own fixes, it happens that developers create programs that rely on the
presence of a certain bug or behaviors of the system that is different from how it has been
originally designed. If this error eventually will be corrected the add-on might fail or become
instable or behave differently because the error it tries to circumvent or compensate is no
longer present.
Release policy of SAP
140

Since release 4.0A releases in R/3 are published in a dual approach. There is and will always
be a beta version, called First Customer Shipment (FCS) and a final release. You can tell the
status from the letter in the release, all odd letter (4.0A,4.0C etc.) are the FCS versions while
the even letters (4.0B,4.0D etc.) refer to final releases.
Releases 3.0A, 3.0B, 3.0C, 3.0D, 3.1F, 3.1G, 3.1H

The interesting enhancements with release 3.x is the introduction of the Remote Function Call
capability. With release 3.1F the RFC technologies reached its maturity and is more or less in
the same level at it is now with release 4.6. As an interesting feature the batch input recorder
(transaction SHDB) has been introduced.
Releases 4.0A, 4.5B

150

With 4.0 SAP changed the design f its repository and data dictionary. This meant mainly that
program names could now be longer than 8 characters. Similar statements are true for other
data dictionary elements and identifiers. These changes caused occasional problems during
release upgrade with improper programs, especially that used hard coded identifier
references such as references to eight byte program names instead of inheriting the length of
a program name from the data dictionary. (e.g. a variable referencing to a program should be
declared as DATA. PROG LIKE SY-REPID and never as DATA: PROG(30), although in the
current release both would produce the same data variable).
Releases 4.5A (4.0C), 4.5B(4.0D)

160

Shortly before being released to the market the release 4.0C had been promoted to 4.5A and
4.0D consequently became 4.5B. Changes to its predecessors are only on the functionally
level and there mostly enhancements. To be honest, with 4.5 SAP put in most of the feature
they had originally promised for 4.0. The difference between 4.0 and 4.5 is like Windows 95
vs. Windows 98, i.e. get same bugs out, put some new bugs in and add a lot of highly
desirably and long promised features.

Axel Angeli 12 March 2001

7 of 12

Thoughts On R/3 Consulting


Releases 4.6

The changes to 4.6 are not as big as it may appear. They changed a lot on the surface and
the appearance however the kernel and the applications remain of course the same. On the
ABAP side the highly efficient SPF like editor has been replaced by more fancy PC like one,
which unfortunately is less powerful and convenient for experienced developers. Then they
redesigned the way how public object classes are maintained in R/3 and they made the OOP
syntax an integral part of ABAP while since releases 3.x the OOP language elements like call
method, create object etc. had been realized as macros.

8 of 12

Axel Angeli 12 March 2001

XML Extended Mark-up Language

The Art Of Computer Programming


170

The Art Of Computer Programming is a six volume master piece by old time computer guru
Professor Donald Knuth. Everyone who works closely as a computer expert should be
familiar with its contents. It is the universal reference, the bible and guide book to
algorithmics.
Hiatus

Hiatus.

Axel Angeli 12 March 2001

9 of 12

Thoughts On R/3 Consulting

Test The (Best) Expert


Before you give a contract away test your expert.
A parable: buying a tourist guide book

180

When you buy a guide book for a foreign country you face the problem that there are many
different publishers, editors and authors. Which one to choose? Luckily most publishers have
their guide books assembled in series. So you probably will choose from a series that you find
pleasing to your taste and needs. The solution is, that you rate for yourself the guide book of
your home town. This is not a guarantee but if you do not like what they say about your home
town, maybe this is not information you are looking for.
Test your consultant by asking him for advise for a problem you already solved

Ask them for advise for a problem you already solved with some difficulties. Then see how the
consultant demonstrates his opinions. Is he fixed to single solution? Does he weigh other
options? Can he then defend his solution? Does he understand your business at all?

10 of 12

Axel Angeli 12 March 2001

XML Extended Mark-up Language


10

XML Extended Mark-up Language


190The

W3C proposed HTML successor is XML. A purely ASCII (UNICODE) based document markup language which is mainly designed to exchange documents between computers
through the internet. The wide support and quasi standard of XML in the internet and
intranet world makes XML an ideal format to exchange any kind of hierarchical
information between programs.

A client posts its inquiry to a common bulletin board to be picked up by a server

To demonstrate how an XML document may look like, we will assume a scenario that we will
be able to use later in the messaging application. We want to create an XML document that
shall be posted to a message server and then be picked up by a handler in order to perform a
remote function call to R/3.
XML document to specify name and import parameters of an RFC
200

We construct an XML document that shall contain the name an R/3 function module and the
name and values of the importing parameters. For the demonstration we will use the RFC
function RFC_READ_:TABLE. The XML document may then look like follows:
<?xml version=1.0?>
<rfc-function_call>
<name>RFC_TABLE_READ</name>
<exporting>QUERY_TABLE
<value>T000</value>
</exporting>
<exporting>DELIMITER
<value>;</value>
</exporting>
<exporting>NO_DATA
<value>X</value>
</exporting>
<exporting>ROWSKIPS
<value>0</value>
</exporting>
<exporting>ROWCOUNT
<value>10</value>
</exporting>
<importing/>
<table>
OPTIONS
</table>
<table>
FIELDS
<row>
<name>MANDT</name>
</row>
</table>
<table>
DATA
</table>
</rfc-function_call>

The resulting XML document shall be returned to the message queue with the resulting
exporting and tables parameters filled.
SAP Business Connector is an SAP provided XML converter

There is a lot of mystery about the SAP Business connector. In fact, it is nothing than an XML
converter especially designed to interface XML documents to R/3. There are many competitve
and equally powerful products, just to mention Microsoft BIZTALK, Mercator, eWay and
many more. The outstanding feature of the Business connector is that it is from SAP and
designed to work with and to work primarily with R/3.
210

Axel Angeli 12 March 2001

11 of 12

Thoughts On R/3 Consulting

UNIX versus Microsoft NT


Deciding for the right platform may not be an easy task. Many facets and aspects within your
company may influence this decision as there are:
Will the new server fit in the existing landscape?

The question is not trivial. If you host e.g. UNIX servers only, a new NT server will be a unique
exotic one which requires your company to educate your staff with the knowledge of the
peculiarities of the new system. Having a reasonable number of skilled and trained personnel
in your company is essential for a cost-effective and successful operation of an IT landscape
Will there be sufficient resources available in the future?

This is mainly the question, if there will be sufficient skilled and trained people available on the
free market to extend your business and if there are sufficient expert companies out there that
could assist you in case of need and difficulties to troubleshoot any problem.
Costs to set up and maintain
220

This decision is not so critical. Both NT and UNIX operate on the same type of machines. It is
definitely no longer true that UNIX be for the upper end middle-ware computers while NT
would be good only for the low-performance PC-like servers. So the costs for installation and
maintenance of either UNIX or NT are practically the same.
NT provides more utilities for back office processing

In my judgement the race is already decided in favour of NT. While UNIX definitely has some
appeal with its flexibility and the existence of reliable tools, there is no questions that the
overwhelming quantity of development tools and design aids and the ubiquitous presence of
Windows workstation even for developers is easier to handle and will lead into shorter and
more flexible (=cheaper) development cycles. Therefore, if you look out for a recommendation,
I can but state: the winner is Microsoft NT.
230

12 of 12

Axel Angeli 12 March 2001

You might also like