Monday, September 4, 2017

A comprehensive list of questions to ask when designing a SAP Event Management solution

If you are contemplating implementing SAP Event Management, you will need to be prepared to answer a series of questions to be able to establish a design that caters to your needs. These list of questions should help guide your JAD whiteboard session. No substitution from standing up there and guiding the discussion with questions that need answering -> that ultimately lead to a solid, scalable and efficient solution design.
The following list of questions is a comprehensive list of what needs to be asked…

1      Project Management

1.1      Do you have the right level of project engagement?

  • If you are going to embark on a SAP EM project, which is heavily intertwined in the business process, are you sure that the business has bought in to the solution and that solid representation is going to be available during the project?
  • Do we have executive sponsorship / buy in for the project?

1.2      Do I have access to the following resources: Functional and technical resources?

  • Do you have detailed knowledge in SAP EM and if not, what is your plan for getting up to speed on SAP EM?
  • Do your ABAP folks have knowledge in SAP EM? SAP EM’s ABAP is a little different to normal ABAP code in that it is object oriented in nature and tied to configuration. I.e. You need to know both to develop and unit test in the SAP EM space.
  • Who has authorization to do configuration and who has authorization to do development? Can external consultants do these activities?

1.3      Do you have the right change management resources and process in place?

  • Do you have the right focus on change management and education to drive out the intended advantages of the project?
  • What is the change control process for both configuration and development objects?

1.4      How are project documents managed?

  • Where are the project documents to be stored?
  • What documents are required for the project? SPA EM Design Template, Functional Specifications, Technical Specifications, User Acceptance Test Script, …

2      Design Process

2.1      Do you have a SAP EM Solution Architect?

  • Do you have an expert in SAP Event Management to drive the design workshops? SAP EM is a “framework” providing Track and Trace functionality to any business process. With this being said, it is possible to implement any solution in many ways, with many of them being incorrect, based on the requirements

2.2      What is the design philosophy for the project?

  • What is the current design and adapt vs. adopt philosophy of the company? I.e. Does the company prescribe a standard approach to any change made to the system?

3      Trackable Processes

3.1      Which processes do I want to track?

  • Having a good understanding of what SAP Event Management is used for is key here. One of its main functions is to monitor a business process matching the execution of the process against the plan of the process to uncover exceptions or opportunities in the process.
  • Another key function of SAP EM is to provide visibility of the status of the business process to interested parties to that business process.
  • If your need for your business process falls in one or both the above 2 categories then the business process is a candidate for tracking…
  • g. Order to Cash, Procure to Pay, Outbound Delivery, Incoming Vendor Payment

3.2      Which objects of these processes should be monitored?

  • Once you have determined which business processes are in scope you need to be able to isolate the objects that are utilized in the business process
  • g. Order to Cash: Sales Order, Outbound Delivery (Warehouse scenario), Purchase Order (Drop ship scenario), Customer Invoice

3.3      For each trackable object do you now at which level you want to track the object?

  • Most trackable objects within SAP are broken down in to header and item level. Some are down to schedule line level as well. At which level do you want to track each object?
  • Do you understand the relationship between the objects? Can they be correlated with each other based on data in the sending system?

3.4      For each trackable object what data needs to captured? (Parameters)

  • For each parameter do you have the following detail?
    • Description of parameter
    • Data length and type
    • What is the source location (table and field) for each parameter?
    • Are there lookup values for the parameter and if so where do they come from?

3.5      For each trackable object what historical data do you want to retain in the user view of the data?

  • Do you want to see past Expected Event history?
  • Do you want to see past status history?
  • Do you want to see past measurement history (if applicable)?

4      Visibility Processes

4.1      Will I use the out of the box scenarios or will I be customizing the delivered scenarios?

  • Firstly, are you familiar with what comes pre-delivered with SAP EM?
  • Once you have an understanding of what is available can you recognize common processes or business objects that meet some of your needs?
  • Any advantage of pre-delivered content should be leveraged. Understand that all pre-delivered scenarios (visibility processes) need to be tweaked in some way in order to make it work in your environment.

5      Trackable Events

5.1      Which events within my processes am I interested in tracking?

  • For each object in your business process you will need to determine which events are relevant for tracking. Be sure to address changes to the business object as well. E.g. Sales Order create, Sales Order complete, Sales Order Changed, Delivery Created, Delivery Picked, Delivery Packed, Delivery Issued, …
  • For each event was is the condition that needs to be upheld before the event is triggered?

5.2      For each event what data needs to captured? (Event Parameters)

  • For each parameter do you have the following detail?
    • Description of parameter
    • Data length and type
    • What is the source location (table and field) for each parameter?
    • Are there lookup values for the parameter and if so where do they come from?

6      Planned Events

6.1      Are my events expected? If so what is the associated plan for the event?

  • For each event check whether the event is expected to occur at a certain date or time during the normal execution of a process? Where do I extract this data from?
  • Is there a window of time that is relevant to determine if the event is “on-time” or “early” / “late”? Is this determined using business days? E.g. leveraging a factory calendar (Is this calendar maintained in the SAP EM system?)
  • Do you distinguish between an event and the message about the event? If so, then what are the time requirements for an event message to be “on-time” or “early” / “late”?
  • For each event check whether the event is expected to occur at a certain location during the normal execution of a process? Where do I extract this data from?
  • For each event check whether the event is expected to be executed by a certain partner during the normal execution of a process? Where do I extract this data from?
  • Is the event expected to maintain a certain measurement threshold during the normal execution of a process? E.g of measurements: Weight, temperature, … Where do I extract this data from?

6.2      Where should the planned dates and times for my expected events come from?

  • If you have established that certain events are bound to a date and time then can you determine how to calculate what that date and time should be?
  • Consider when, in the process, is the best time to determine the expected date and time for each event. E.g. Sales Order line complete should get it’s expected date and time from the next confirmed schedule line’s material availability date. A customer Invoice Creation date time would be determined once the outbound delivery has been PGI’d.

6.3      What should occur when an expected event doesn’t happen as expected?

  • For each expected event that goes overdue what activities should occur? E.g. Change status to late, trigger a workflow or fire off an alert

7      Actual Events

7.1      Do I have any events which may occur but are not planned?

  • Are you able to list out all the possible unexpected events that might occur in a business process? An unexpected event is any event that can occur during a business process but is not expected to occur every time. E.g. Sales order on CR block, Sales order on Delivery block – Neither of these are expected to occur each and every time a Sales Order is created but both of them are critical for tracking purposes

7.2      From where will the actual events be reported (i.e. IDoc’s, Legacy, R/3)?

  • Consider where these events will be reported from.
  • If they are coming in from an SAP system, will you be using the SAP EM Application Interface framework to create the events or will you utilize another technique because you might be concerned of performance in the existing process?
  • If the events are to be reported via a legacy system, a 3rd party system, RFID scanner, mobile device or another method do you know how to accomplish that? Do you have security requirements about this data flow between the systems?

7.3      How do I identify a new event?

  • Under what conditions should we trigger each event?
  • What Tracking IDs are associated with each trackable object? Are each known at the time of the creation of the trackable object? If not, when are these tracking IDs triggered?

7.4      Where do I get the date timestamp for the event?

  • For each event do we have access to the date, time and time zone (important) that the event took place?
  • If the time zone of the event is not available then can you determine the time zone based on the location of the event?

7.5      Is the Event Location based?

  • Consider if the event is location based. I.e. Does the event occur at a particular location and is this information relevant to the tracking of the process? E.g. Picking at Warehouse ABC, Delivery to Customer Port LAX. Do we have access to populate this data at the execution of the event?

7.6      Is the Event Partner based?

  • Consider if the event is partner based. I.e. Is the event executed by a particular partner and is this information relevant to the tracking of the process? E.g. Delivery to Customer ABC, Manufactured by Vendor XYZ. Do we have access to populate this data at the execution of the event?

7.7      Is there a reason for the event?

  • Do we need to capture a reason for the event? E.g. If the event is unexpected (delay) a reason might be “Weather delay”.

7.8      Which rules should be applied to my process when events are or are not posted?

  • For each event can you describe what should occur in SAP EM when each of these events are reported? As a general rule you always want to consider updating the status of the business process whenever an event is processed (or not) in order to keep the interested parties in touch with what’s happening (transparent visibility to the process)
  • Can you also describe what should be done if expected events aren’t posted in time?
  • With SAP EM’s integration with SAP workflow and the SAP Alert Framework you could consider a proactive alerting approach when you uncover and exception. Note that SAP EM can also be used to uncover opportunities as well…
  • Does the event need to update the parameters / attributes of the trackable object? I.e. Has an attribute changed with the creation of the event? E.g. On PGI Creation event the Shipping Date parameter is filled in and assigned to the trackable object: delivery
  • Does the event need to adjust any tracking IDs. E.g. A delivery create event would update the associated sales order with the delivery number as a new tracking ID

7.9      Which information would I like to bring into SAP EM associated to my Events / Process?

  • For each event, do you have a good idea as to what information (parameters) is needed in SAP EM in order to display in your reports or send to BW for reporting purposes? E.g. material description, sold to number, ship to number, ship to address.
  • For each of these parameters is there an applicable list of values that are relatively static that will help a user if they were available as a lookup value in SAP EM? If so, where do we get this data from? E.g. Plant values, Sales Organization name, Purchasing Organization, …

8      Master Data

8.1      What locations are relevant to the processes?

  • What locations are the events taking place in? E.g. Ports, airports, warehouses, …
  • Do you have access to all these location’s data? E.g. Address, geo-location, …
  • Do you need a utility to upload this data or will this be taken care of manually? Note: This data is deemed to be configuration.
  • Is the geo-location of the location needed?

8.2      What partners are relevant to the processes?

  • What partners relevant for these processes? E.g. Customers, Vendors, Carriers, …
  • Do you have access to all these partner’s data? E.g. Address, name, …
  • Do you need a utility to upload this data or will this be taken care of manually? Note: This data is deemed to be configuration.

8.3      Are there a list of Reason codes?

  • Events can be tagged with a reason. Do we have a list of potential reasons that we could use?

9      Status Management

9.1      Which statuses do I want to have assigned to my process and at what time within my process

  • Are you able to list out what categories of statuses you want to assign to your business process? You need to have a clear understanding that each process can have several categories of statuses associated with it at any one time and each category can only have 1 value assigned to it at any one time…E.g. Order status ‘delayed’ should appear when a delayed event has been posted to a related shipment. It should be assigned to the “Delivery Status” category
  • For each status do you know what Icon can be associated to it to allow it to be pictorially displayed?
  • Which of the statuses would be considered the default status

10   Reporting and User Interface

10.1   Will I be interested in using the Web Dynpro to display information regarding my processes to internal or external users such as carriers or customers?

  • There are several options to display SAP EM data to the end user. Do you know which option best suits your users? E.g. Web Dynpro, Web Communication Layer (not recommended), Custom UI

10.2   If using the Web Dynpro there are few considerations related to design.

  • Which search criteria do I want to give my users?
  • Which column header information should I display on the results screen?
  • Which events should I display on the detail page?
  • What functionality for reporting events via the web should I enable, if any?
  • Which roles should I cater for? E.g. Sales Representative, Sales Manager, Customer
  • Are there any trackable objects that certain roles are not allowed to see? E.g. Sales Org 1000 is not allowed to view Sales Org 2000 data
  • Are there any data attributes / parameters that certain roles are not allowed to see? E.g. Sales Reps are not allowed to view Sales Order costs
  • Are there certain events that certain roles are not allowed to see? E.g. Procurement team are not allowed to view the Invoice Created event

10.3   Do we have the right reporting resources?

  • If we are going to use SAP NW BW to provide the analytics of the project then do we have the right resources assigned to the project?

10.4   Which information should be analyzed within BW

  • Do you know which KPI’s you would like to define and which data should come directly from the SAP EM?
  • Do you have a good understanding around what is available standard within SAP EM functionality?
  • SAP EM provides tight integration with BW and leveraging this technique can provide great benefit to your solution. E.g. What % of sales orders went on CR hold – Break it down by sales region. E.g. On average, how long did it take to remove a CR block from a sales order – Break it down per CR agent. E.g. What % of deliveries were shipped on time vs. Late?
  • SAP NetWeaver BW provides 3 objects that are available to report on:
  • Event Handler and Parameter data: What data will we need to query on in BW?
  • Event Messages: What events are we going to analyze in BW? What characteristics of each event are to be used to analyze the event? E.g. Message created vs. Event created.
  • Event Duration: Is there a duration between 2 events that needs to be measured? If so, can you describe this detail for each event pairing?

10.5   Do you understand how users will query the data?

  • For each trackable object do you have a good idea around how the data will be queried? This will direct database indexes as required.

11   Archiving

11.1   When should event handlers be archived to maintain a good system performance?

  • It is critical to plan a process from the beginning with archiving in mind. Are you able to define your retention periods for each of your business processes? E.g. My sales order history should be available for operational reporting for 3 months after the associated invoice has been fully paid. Additionally, it needs to be searchable for an additional 9 months after which it needs to be retrieved for analysis purposes only. For Auditing purposes data older than a year needs to be restored within 24 hours.
  • Should archived data be retained for easy access? Should it be stored on tape or purged altogether?

12   Alerting

12.1   Will I be interested in using the Alert Framework to send out alert notifications during the tracking of my process?

  • Do you know when and who should be notified when an exception or particular event occurs?
  • Do you know the detail that the alert should contain? The message subject and the message content.
  • Is this a notification only or should the recipient actually be forced to execute a series of tasks (workflow) to correct the situation? E.g. if my shipment has been delayed, should the Account Executive be notified? E.g. a delivery block is added to a sales order so the appropriate rep is notified via a workflow to remove the delivery block.

13   Workflow

13.1   Will I be interested in using SAP Business Workflow to send out work items during the tracking of my process?

  • Do you know when and who should be sent a work item when an exception or particular event occurs?
  • Do you know the detail that the work item should contain? The work item subject, work item content, workflow functionality and associated business objects. This process should follow the full workflow design process.
  • On which system should the workflow be triggered?

14   Interfacing

14.1   Which systems will be interfaced with SAP EM?

  • Can you list out the various systems that you will need to integrate with SAP EM?
  • Do you know the techniques needed to extract data from these systems?
  • Are there security considerations in these interfaces?
  • What is the timing needed for these interfaces? E.g. Batched every 10 minutes
  • Is SAP EM going to be used to update an external system? What technique will be used to interface with the external system? E.g. IDoc to SAP NW PI -> Mapped to XML and web service call to external system

14.2   What protocols are to be used between systems?

  • Various techniques are used to interface between systems. What protocols are standard for the current organization?
  • What integration software is to be used to perform the integration mapping and execution?
  • How is this integration tool to be administered? How will errors be identified and corrected?

14.3   Are the required skills in place?

  • Does the organization have the skills and infrastructure to implement the integration between the needed systems? E.g SAP NetWeaver PI skills
  • Have these resources been assigned to the project?

15   Security

15.1   Who will be granted access to the SAP EM data?

  • What roles are needed for internal users to access SAP EM data? Note that roles should also include the ability to not only run the reporting but also potentially trigger events manually from the SAP EM Web UI.
  • Do these internal users need to be added to the single-sign-on functionality, if applicable?
  • Will external users be granted access to SAP EM data? If so how is this going to be achieved? Via the standard SAP EM Web UI or a custom front-end UI?

16   Architecture

16.1   Should I set up SAP EM as a stand-alone system or on the same box as ERP or APO?

  • There are many considerations around making this decision. In general, implementations have gone for the standalone option in a productive system and as an add-on in the development environment

16.2   What does the end-to-end landscape look like?

  • What servers will be used for SAP Event Management? Sandbox, Development, QA, Training, Staging, Production
  • What is the client strategy that is to be leveraged? E.g. Golden client config, …

16.3   How large should my server be?

  • There is no quicksizer for SAP EM so you will need to consult with an experienced SAP EM architect to guide you through the proper sizing of SAP EM
  • SAP has provided a disk sizing template to gauge the required capacity needed for your solution N.B: we had to modify this to be Unicode compliant as it definitely makes a difference - At Reveal we use our version to guide folks in this department
  • SAP has provided a document describing the needed "SAPS" from a CPU perspective - This document is old and not too useful at this stage. Traditionally SAP EM has a low CPU footprint and high disk usage footprint.

16.4   What volume and velocity are applicable for the intended solution?

  • For each trackable process what are the number of events expected to be raised per trackable object for a given period of time?
  • How often are new trackable objects created?

16.5   What version should I install?

  • What version and service pack are we going to use?
  • What is the upgrade strategy for the SAP EM server?

17   Development Considerations

17.1   Do we have access to the development guidelines?

  • Do we know what is required by the organization in order to produce a quality development product?
  • Are there enhancements to the development guidelines that are needed? SAP EM introduces the concept of a “Function Module Add-In” and is often used to execute the needed logic in SAP EM. Some organizations look at these “Z functions” as an enhancement when in fact it is the preferred method of SAP to achieve the desired behavior in the system.

17.2   What naming conventions are we going to use?

  • What naming convention are we going to use for all the SAP EM related configuration?
  • What naming convention are we going to use for all the SAP EM related development objects?

18   Basis Considerations

18.1   What naming conventions are we going to use?

  • What names are we going to adopt for RFC destinations, RFC users, background jobs, background users and logical systems

18.2   What is the system time zone?

  • SAP EM relies on normalizing a datetime stamp – What is the system time zone?

18.3   System setup

  • What is the backup strategy for the SAP EM server
When all is said and done you should have enough information to complete a comprehensive SAP EM design template (We, at ERPGenie, have a comprehensive template). In addition an event flow diagram, like the one shown below, should be able to be put together.

Ankit Kedia and Kevin Wilson contributed to this article.
If there is anything else we have left out please leave a comment below.