Expand +



Tips from a Workflow Wizard: Use SAP's Generic Object Services for Better Business Intelligence ...

by Alan Rickayzen | SAPinsider

January 1, 2001

by Alan Rickayzen SAPinsider - 2001 (Volume 2), January (Issue 1)

Since the emergence of e-mail, your company's written communications have never been the same. Unlike those handwritten or typed letters of an earlier era, an e-mail can be hammered out in seconds and dispatched to hundreds at the push of a button. But it's precisely because e-mail is so easy to use that it's so hard to manage: Which should you read first? Which can be ignored? Which inquiries have been sent to 20 colleagues in the hopes of getting just one answer? And which of those questions have been answered already?

     With business intelligence problems like these, you'd think that e-mail would be pretty close to extinction - but, of course, quite the opposite is true. So how can you use e-mail to maximize workflow processes and productivity? If it weren't for a couple of simple PC utilities that I've relied on for the past few years, this information flood would have burst the banks of my inbox long ago.

     This column describes Generic Object Services (GOS), a utility included in SAP Release 4.0 and up. Like most freeware, it works, it's child's play to use, and it requires no customizing.

     Although its name might not sound very glamorous, Generic Object Services moves beyond e-mail to add a whole fistful of services to any transaction that activates it. These services help you maximize workflow features, get automatic updates on your most important records (or "objects"), and improve exception-handling processes. This article describes what GOS offers, how you can access its services, and how they can boost your productivity.

Use GOS to Send Messages Straight from a Transaction

Within the SAP environment, most e-mail communication is related to data in the SAP system. You might want to query a purchase requisition, notify someone about a customer's change of address, or ask for input to complete a sales order. GOS allows you to send an e-mail directly from the transaction that you are using. This is possible from the system menu and, in more recent SAP releases (4.6 and up), as part of the toolbar just below the menu, both indicated in Figure 1.

Figure 1 Using the Generic Object Services Tool to Send a Message from a Transaction

     By selecting "Send object with note," you then reach the "Create Document and Send" screen shown in Figure 2. Type in your message and send it along - the record you are looking at is included as an attachment in the e-mail message. The recipients see a screen like the one in Figure 3. They can then read your message and view the record directly by clicking on the link shown in the screen. When they click on the attachment, the relevant transaction is called and recipients can navigate through the record (as long as they have sufficient authorization).

     The beauty of this is that it involves no messy cut-and-paste. If you attach a record, the data is passed by reference. If the data is updated immediately by one of many recipients, this is reflected globally in the attachment of each message - so when another recipient gets around to reading the message later, he will see a completely up-to-date record. He can then simply delete the message without wasting further time on it.

     But the real benefit is that this e-mail links directly to the record, which can be viewed by anyone else within the organization (again, authorization issues aside). This is real business intelligence: it encourages communication and helps eliminate the duplicated effort that can occur when colleagues are left out of the loop. Correspondence, decisions, and changes are visible in the messages, so they become transparent to anyone with access. (Of course, if you want any correspondence to remain private, you can simply supplement the public GOS correspondences with your own private e-mails or phone calls.)

     If you're using Basis Technology Release 4.6C, you can view the original record in your Web browser. A URL reference is attached to the mail so that the HTML GUI is called directly. This works even if the e-mail is forwarded to another groupware product such as Microsoft Outlook, Lotus Notes, or Netscape Communicator.

Figure 2 Sending a Message with the Attached Record

Figure 3 Receiving a Message with the Attached Record

Evolving from Mail to Workflow Automation

GOS mail can cut down on the processing required for ad hoc inquiries and requests in the production environment. I have also seen it used very effectively while setting up an SAP system, for example. In any testing or customizing setting, you often notice errors or inconsistencies. Using GOS mail, you can pass these on directly, without interrupting your own work. You simply type the message, and the reference is added automatically - much easier than making a note on paper in the faint hope that you'll make out an official report later.

     For more formal exception handling, use GOS to start a workflow. The workflow can be very simple (built in less than half an hour) but still effective, because it can automatically route the task to the correct group of people. To start the workflow, you don't even necessarily need to know who will be handling the process. You simply start the relevant workflow from the system menu (adding a message, if you like) and the system does the rest: routes it to the correct people, handles the deadlines, and notifies the initiator when processing is complete.

TIP: GOS works off-the-shelf without customizing. However, if your users access their e-mail outside SAP, then some customizing makes sense. Configure auto-forwarding so that e-mail is passed to the standard e-mail client, and also set up a mail gateway between the SAP system and the e-mail system. This can be done with either SAP Lotus Connector, SAP Exchange Connector, or the SMTP Gateway. SAP MS Outlook Integration at the client level is also an option.

     How do you choose which workflow is relevant? The system basically decides for you - it automatically selects only the workflows that you have the authorization to start and those that apply to the type of record you are currently processing. Again, this feature is automatic; no customizing is necessary. So you will probably only have two or three workflows to choose from in the first place.

     These workflows are very useful for exception handling from the user perspective as well. Users may notice problems or inconsistencies in an application, but may not be motivated to report them because the process is so time consuming: they need to track down the right person, explain the problem, and send the e-mail. Workflow automates this task and makes it easier for users to identify problem spots immediately.

     As with e-mail services, with GOS any user can navigate directly from the record to any workflow process this record is involved in. The workflow log is visible, too, so all users are kept up-to-date on the progress of the workflow. With time, you can improve frequently called workflows, so an ad hoc process can evolve into a fully structured, automated process, with all the bells and whistles that can save your company lots of money and boost your customer or partner satisfaction ratings. (When you get to this stage, you'll use SAP's Workflow Information System, since it will locate these automated processes for you directly.)

Add Sticky Notes to Records

You can also add your own attachments, which will be visible to everyone. These attachments to the record can be descriptions, PC documents such as MS Word files, barcodes, or links to other archived documents. In addition to these public documents, in Release 4.5 you can also create your own private notes. A private note is automatically visible (but only to you) when you view that particular record and can be edited. This way, you don't clutter up your monitor with "stickies."

Subscribe to Records

for Ad Hoc Updates A very useful GOS service, available in 4.6D, is the ability to subscribe to a record. You do this at the touch of a button from the transaction itself, and it allows you to receive an e-mail notification whenever a particular record is changed or deleted. This allows you to keep track of master records that you are responsible for. For example, if your biggest customer's address changes in a record, you can choose to be automatically notified. You then have the opportunity to contact them directly, see that they have moved from one office to another, and ensure that they have had uninterrupted service during the move.

     The possibilities of the subscribe feature are unlimited, and it is up to you to decide which records you subscribe to. A word of warning, though: automatic notifications about changes that take place with business objects, where it is imperative that specific users are informed (information broadcast) - as opposed to the ad hoc subscription described here (voluntary information request) - is still best handled by workflow.

Access "Favorites" and Object History

You can think of MyObject as a "favorites" list within the SAP R/3 4.6D environment. By making a record - such as a material, customer, or account - one of your "favorites" (via the system menu), you can later access it directly from the SMY2 Easy Web Transaction. SMY2 polls all satellite systems so you can access all your favorites from one Web page, no matter which SAP system (for example, HR, Logistics, or CRM) the MyObject resides in.

TIP: To make good use of this very helpful transaction, include it in your mySAP Workplace Launchpad.

     In Release 4.6C, the most recently accessed objects are automatically recorded whenever you call up a transaction. When you access it, you will see a list of the last records that you viewed, independent of the record type (see Figure 4).

     For example, in your history list, you may see the customer orders that you created earlier in the day, together with the customer records and perhaps a leave of absence request that you created for yourself. Select any item from the list, and you will be whisked away to the relevant transaction. To make this service available wherever you are in the system, the history list is accessed directly from the system menu.

Figure 4 List of Recently Viewed Records

Implementing GOS in Your Homegrown Transactions

The key to GOS is the way SAP record types are consistently handled by the system. Most record types are accessible directly by transactions or function modules, and have been encapsulated as business objects in SAP's Business Object Repository (BOR).¹ You can add this functionality to your own homegrown transactions, too - and it's really quite simple.

GOS Functionality for Your Own Business Objects

If you're working in SAP releases before 4.6C, after first checking that no appropriate SAP BOR object already exists, create a BOR object to represent your record. You may already have done this in order to use it with Workflow or Drag and Relate functionality. If not, don't worry. BOR simply requires you to specify:

  • The key of the object (a Data Dictionary, or ddic, reference)

  • The transaction or function module to display the record (BOR generates the necessary ABAP code automatically)

  • A default attribute (ddic reference again) that shows the user, in a readable form, which record (object instance) is being referred to. This might be the customer name, plant location, or a user's full name. In the transaction that is used to process the record (e.g., "Edit" or "Display"), you publish this object to GOS by calling a single function module. Listing 1 is all you need - that's it!

		OBJTYPE = BusinessObjectType "E.g. Insurance claim
		OBJKEY	=	KeyOfBusinessObject "E.g. claim 123123
Listing 1 Publish an Object to GOS by Calling a Function Module

Now when you call the transaction to display the object, you can call up the Generic Object Services tool to send e-mail, start a workflow, or perform other functions provided by GOS. When was the last time you got so much functionality for just one line of source code?

Calling GOS in Release 4.6C

If you're using Release 4.6C, you can add the functionality via the class cl_gos_manager. The basic call is shown in Listing 2.

data: go_myobject type ref to cl_gos_manager,
	ls_object type borident.
create object go_myobject
	exporting is_object = ls_object
	no_commit = 'x' 
	exceptions others = 1.
Listing 2 Calling cl_gos_manager in Release 4.6C

     Using the class is more convenient because it gives you complete control over which services are offered. It even allows you to add your own services or to publish several different objects in one screen, as is done in the CRM component. There is excellent information available in the class documentation of cl_gos_manager describing its capabilities with examples and explaining in detail how to add a new service.

Imagination Is the Only Limitation

Just like any good utility, the GOS functionality is easy to use, off-the-shelf, without customizing, and is definitely already helping many people take control of their workload - whether it helps with basic e-mail management, document management, system development and testing, exception handling, or as a way to manage workflow processes better. If you were not aware of GOS before, take a few minutes to try it out. You may well find that it revolutionizes not only your own efficiency, but your entire department's, too!

¹ You can think of the Business Object Repository as a structured catalog of the functions, record types, and data that make up the SAP environment. More object-oriented readers will think of BOR as a tree of object classes, methods, and attributes. For the rest of us, it is a sort of magic that, five years ago, allowed you to see everything in the SAP environment at a glance. BAPIs, SAP WebFlow, and the Drag and Relate functionality rely on BOR to integrate with applications.

Alan Rickayzen has been with SAP since 1992 and in data processing since 1988. In 1995, he joined the SAP Business Workflow group, performing development work as well as consulting for various major U.S. customers, and as a result amassed a good technical knowledge of the product. In 1998, he moved to the area of workflow product management. The author may be contacted at For more information about SAP WebFlow, please visit our Web site at

An email has been sent to:

More from SAPinsider


Please log in to post a comment.

No comments have been submitted on this article. Be the first to comment!