NWC120 - Col73 Guided Procedures
NWC120 - Col73 Guided Procedures
Guided Procedures
SAP NetWeaver
Date
Training Center
Instructors
Education Website
Participant Handbook
Course Version: 73
Course Duration: 3 Day(s)
Material Number: 50088097
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.
Trademarks
• Microsoft®, WINDOWS®, NT®, EXCEL®, Word®, PowerPoint® and SQL Server® are
registered trademarks of Microsoft Corporation.
• IBM®, DB2®, OS/2®, DB2/6000®, Parallel Sysplex®, MVS/ESA®, RS/6000®, AIX®, S/390®,
AS/400®, OS/390®, and OS/400® are registered trademarks of IBM Corporation.
• ORACLE® is a registered trademark of ORACLE Corporation.
• INFORMIX®-OnLine for SAP and INFORMIX® Dynamic ServerTM are registered trademarks
of Informix Software Incorporated.
• UNIX®, X/Open®, OSF/1®, and Motif® are registered trademarks of the Open Group.
• Citrix®, the Citrix logo, ICA®, Program Neighborhood®, MetaFrame®, WinFrame®,
VideoFrame®, MultiWin® and other Citrix product names referenced herein are trademarks of
Citrix Systems, Inc.
• HTML, DHTML, XML, XHTML 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.
• SAP, SAP Logo, R/2, RIVA, R/3, SAP ArchiveLink, SAP Business Workflow, WebFlow, SAP
EarlyWatch, BAPI, SAPPHIRE, Management Cockpit, mySAP.com Logo and mySAP.com are
trademarks or registered trademarks of SAP AG in Germany and in several other countries all
over the world. All other products mentioned are trademarks or registered trademarks of their
respective companies.
Disclaimer
THESE MATERIALS ARE PROVIDED BY SAP ON AN "AS IS" BASIS, AND SAP EXPRESSLY
DISCLAIMS ANY AND ALL WARRANTIES, EXPRESS OR APPLIED, INCLUDING WITHOUT
LIMITATION WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE, WITH RESPECT TO THESE MATERIALS AND THE SERVICE, INFORMATION, TEXT,
GRAPHICS, LINKS, OR ANY OTHER MATERIALS AND PRODUCTS CONTAINED HEREIN. IN
NO EVENT SHALL SAP BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL,
CONSEQUENTIAL, OR PUNITIVE DAMAGES OF ANY KIND WHATSOEVER, INCLUDING
WITHOUT LIMITATION LOST REVENUES OR LOST PROFITS, WHICH MAY RESULT FROM
THE USE OF THESE MATERIALS OR INCLUDED SOFTWARE COMPONENTS.
g2008419103857
About This Handbook
This handbook is intended to complement the instructor-led presentation of this
course, and serve as a source of reference. It is not suitable for self-study.
Typographic Conventions
American English is the standard used in this handbook. The following typographic
conventions are also used.
Example text Screen output. This includes file and directory names
and their paths, messages, names of variables and
parameters, and passages of the source text of a program.
Example text Exact user entry. These are words and characters that
you enter in the system exactly as they appear in the
documentation.
<Example text> Variable user entry. Pointed brackets indicate that you
replace these words and characters with appropriate
entries.
Icon Meaning
Exception or caution
Procedures
Target Audience
This course is intended for the following audiences:
• Project team members
• Business process experts
• Developers interested in learning about guided procedures
Course Prerequisites
Required Knowledge
• Familiar with SAP NetWeaver
Recommended Knowledge
• Previous experience with business process design
Course Goals
This course will prepare you to:
Course Objectives
After completing this course, you will be able to:
Unit Overview
Before you can build your process to update business partner data, you need to get an
overview of guided procedures and execute an existing guided procedure.
Unit Objectives
After completing this unit, you will be able to:
Unit Contents
Lesson: Basics of Guided Procedures .............................................. 2
Exercise 1: Executing Your First Guided Procedure........................ 11
Lesson Overview
In this lesson we will explain exactly what is guided procedures and the need for
guided procedures.
Lesson Objectives
After completing this lesson, you will be able to:
• Describe guided procedures and its role in SAP NetWeaver
• Execute an existing guided procedure
• Explain the roles required to use guided procedures
Business Example
Your department has just received approval for additional head count. Prior to formal
interviews, you are responsible to pre-screen candidates for your manager. Since you
are so busy, you decide to use an existing, automated process to speed up the reviews.
SAP History
SAP has a large investment in tools that enable business process building and
execution. SAP Business Workflow has been around for many years and enables you
to build processes that follow strict business rules, processes that are very complex,
repeatable, and enable complaince to corporate policies.
Universal Worklist (UWL) was introduced to enable you get your workflow items
from many SAP systems in one location. In Universal Worklist you can get access to
business workflow tasks, knowledge management notifications, alerts, collaboration
tasks, and guided procedure actions. Additionally, there is an API available that
enables you to bring in non-SAP tasks to UWL.
Business Process Management (BPM) was introduced with SAP NetWeaver Process
Integration (also called Exchange Infrastructure or XI). It enables you to build a
process that orchestrates an exchange of messages between systems.
In SAP NetWeaver we began to put more focus on the business user, on the
person who must execute and deal with the business process on a day to day basis.
Collaboration tasks enable business users to create one-time, non-repeatable processes
that can help them with their particular task. If you use collaboration rooms in the
SAP NetWeaver Portal, you can use collaboration tasks to assign work to people in
the rooms. Additionally, if I receive a business workflow item I need to do, such as
approving an invoice, I can use a collaboration task to start a sub-process where I
request input from other users on the invoice.
With SAP NetWeaver 2004s we introduce guided procedures which enable business
users to create their own processes. With guided procedures we begin to put more
of the business process creation and execution in the hands of the business process
experts.
When you look at business processes, there are many stake holders in the processes.
There are some processes that we used for compliance and other policy regulation.
For example, a company is in the service industry and they have guaranteed their
customers they will contact them within 24 hours of a maintenance call. You can have
a corporate IT owned process, that workflows the process of responding to the call.
This process could be quite complex, execute often, and has regulation and reporting
requirements around it. This would be a process owned by central IT.
Another example would be a process to get approval on your expenses or to book
trips. Perhaps there is a corporate process you use to book a trip, and another process
you follow to inbox expense and get reimbursement. These processes are probably
implemented on a corporate-wide basis. However, in your department perhap there
is a process you need to follow to request the option to book a trip. For this, each
department could have their own process.
Business departments often have the need to expand upon the central IT process, or to
create their own processes for their departmental needs. A business department may
not always want to request an IT resource to help them with a small process that only
their department needs.
Individuals may need to request help or guidance with their own tasks. So, once an
employee receives a task, they may want to collaborate with others.
The central IT processes are normally processes that use SAP Business Workflow and
BPM offered by SAP NetWeaver Process Integration. These processes are normally
monitored daily, involve thousands to millions of processes daily, and are normally
regulated by a centrol control group.
Guided Procedures fits the needs of the business department localized processes.
With guided procedures business departments can create their own processes that are
created, controlled, and monitored just by them and for their use.
Typical business scenarios for Guided Procedures In general, Guided Procedures are
best suited for sequential, human based processes. The following are typical examples
of Guided Procedures:
• In this example a company has a centralized process owned by IT. For example,
this could be a process to book a trip (for example, in SAP ERP) or a process for
expense approval. Both of these processes are centralized for the entire company.
• While each business department must follow this central process, some
departments may want slight deviations. For example, a department that
generates direct revenue for the company may be able to book all trips in the
ERP system directly, while another department needs a special departmental
approval before booking a trip.
• The departmental approval process is a good candidate for Guided Procedures.
The person can submit their request for the trip, business reason, expected costs.
Once the departmental manager approves the request, then the corporate-wide
process can begin.
• In this example you need to access a non-SAP system via a URL or web service
call. Perhaps you fill out a form to start a Guided Procedures process. The
process uses a URL to call the external system where required objects are created,
for example a folder or a business object. Once these steps are completed, an
email is sent to the initiator with information on the updates performed.
• In this example you have a process that is human-based, and it uses multiple
systems. In the previous example we mentioned accessing a non-SAP system
via a URL or a web service call. Perhaps once that step is completed we also
need to update one or multiple SAP application systems (SAP ERP, SAP CRM,
or SAP SRM, for example).
• Another example could be a process that uses no systems. Perhaps a process for
approval on an idea for a new product, or a process seeking multiple approvals
before outsourcing a particular project.
• In this example a company creates materials, vendors, or some other object in
an SAP application system, such as ERP, or in SAP NetWeaver Master Data
Management. However, before creating the object, an email is sent to key people
who provide input.
• This business example is a very common usage of Guided Procedures. A Guided
Procedure can facilitate routing SAP Interactive Forms by Adobe to multiple
people. Each person provides their information and a Web Service or API call is
used to update the related SAP system(s).
If we look at the types of groups we involve in guided procedures, the casual user
can execute actions, collaborate with others, and even build very simple processes
using the process wizard.
The business expert creates most of the process and actions. As the transactions get
more complex, we could require a developer to create new services and business
objects for us.
The major components of guided procedures includes an activity gallery that gets you
access to all your systems. The access could be directly to the system, or it could go
through a CAF business object or service.
Business Example
You want to take advantage of an automated procedure for requesting time off. You
first want to check if your permissions are adequate. Next you'll execute a time-off
process, which will guide you through the steps to request vacation days.
Notice the Process Activities Window on the left, of the screen. You should
now see the 1st approval step is now highlighed
c) Click, Add comment. In the pop-up window, enter This employee
really deserves time off. Click, Add comment, to close
window.
Notice the time stamp, with the approving user id added in the comment
box.
d) Click Approve.
Notice the Process Activities Window on the left, of the screen. You should
now see the 2nd approval step is now highlighed
e) Click Approve.
Notice the Process Activities Window on the left, of the screen. You should
now see the Book Request step is now highlighed
f) Click Complete.
Lesson Summary
You should now be able to:
• Describe guided procedures and its role in SAP NetWeaver
• Execute an existing guided procedure
• Explain the roles required to use guided procedures
Unit Summary
You should now be able to:
• Describe guided procedures and its role in SAP NetWeaver
• Execute an existing guided procedure
• Explain the roles required to use guided procedures
Unit Overview
In this unit you will learn how to create guided procedures.
Unit Objectives
After completing this unit, you will be able to:
Unit Contents
Lesson: Guided Procedures: Architecture and Components .................. 18
Lesson: Building a Process......................................................... 30
Exercise 2: Building A Process - Job Application ........................... 39
Lesson Overview
This lesson will provide an overview of the components of guided procedures.
Lesson Objectives
After completing this lesson, you will be able to:
• Explain the building blocks of guided procedures
• Navigate in the guided procedure design time environment.
Business Example
Your department must identify the best strategy to create a guided procedure for a
current business process. In your meeting, you plan to explain development options.
CAF Guided Procedures (CAF GP) is a framework for modeling and managing
workflows using simple and user-friendly tools. In this course we may refer to such a
workflow as a guided procedure or a process. As a part of the Composite Application
Framework (CAF), GP enables access to multiple backend systems, consistently
combining different types of services and applications into processes. In addition, GP
supports collaboration, ad-hoc items, and offline task management using interactive
forms. It provides role-based access to tools and resources and guidance through
the workflows at runtime, thereby helping end users to easily identify and complete
their tasks.
At design time, we build a process template, which we instantiate at runtime into a
process.
Guided Procedures are built up from different structural or executable elements. These
include Blocks, Actions, and Callable Objects.
• Blocks are structural units; that is, they organize processes into reusable sections.
Blocks can contain other blocks, actions, and or complete processes (which
further fosters reuse).
• Blocks also describe the processing mode for that section of the process. For
instance, the actions within a block may be executed sequentially, in parallel, or
repeatedly in a loop.
• The individual steps in a process in GP are implemented as actions. They
contain one or two callable objects, which enable you to use external services
and applications in processes modeled with GP. Actions also contain additional
metadata to define the behavior of the callable objects within the process itself.
• ACallable object is a reusable unit that enables the execution of external
applications or services within the Guided Procedures framework.
• Callable objects are the most fine-grained elements in a process.
Guided Procedures (GP) makes it easy to model business processes that connect
various backend applications and services into a single workflow. In addition, multiple
contributors may be involved in completing the process. The ability to set up and
modify such processes quickly and flexibly is a requirement imposed by a dynamic
business environment. GP responds to the needs of many employees who handle
cross-functional collaborative processes on a daily basis.
Process modeling with GP does not require specific development skills. It is targeted
at business experts who are familiar with business processes, and can use GP to model
them according to specific requirements in the enterprise.
The individual steps in a process are implemented as actions. They contain one or
two callable objects, which enable you to use external services and applications in
processes modeled with GP. Actions also contain additional metadata to define the
behavior of the callable objects within the process itself.
Blocks are the main building elements in a process template. The top-level blocks
(that is, blocks that are not contained within other blocks) in the process template form
process phases. They are always executed in sequence.
Top-down modeling:
• When modeling a process from the top-down, you typically start from the
overall process model and break it down into its individual elements, which you
create using the GP design time tools. This implies that you design most of
the components or all of them according to the requirements of the particular
business case. You can extend the process template when you identify a need
to add another step, and you can define items that are executed when certain
conditions occur.
Bottom-up modeling:
• When you have already defined certain functions and you need to combine them
into a single process, you use the bottom-up modeling approach. The main focus
when using bottom-up modeling should be the definition of the process phases
themselves, and not on the fine-grained components, such as callable objects
and actions.
The gallery is a repository for the objects that build processes in Guided Procedures.
While the process depicted above seems complicated, you will see that for your
first process, you will be able to create a process quickly and easily. As you gain
familiarity with GP and the design time environment, you will be able to do more and
may have more steps to complete to create and configure your process.
Create Process Template: Creating the process template is the first step in the
process design. Using this procedure, you create the framework, in which you can
define process flow, roles, parameters, and so on
Define Process Flow: You model the process flow using blocks. The top-level blocks
in the process define its phases, and are executed sequentially. To define a more
complex flow, you must implement the required flow logic at block level.
The following steps may or may not be required, depending on the specifics of the
process in question:
• Consolidate Parameters: Consolidating parameters means grouping several
parameters and displaying them as a single one. When you consolidate
parameters, they get the same values. The following scenarios are possible
for consolidating parameters:
– You consolidate parameters of the same type either input or output. At
runtime, you enter a value once, and it is valid for all parameters in the
group.
– You map the input parameters of a callable object to the output parameters
of the same object. In this case, the values of the output parameters are
retrieved from the relevant input parameters.
– You map the output parameters of a callable object to the input parameters
of another callable object. At runtime, the input for the second object is
automatically retrieved from the output for the first object.
• Consolidate Roles: For each action that you add to a block flow, the Guided
Procedures framework creates a separate process role. These roles are further
propagated from block to process level. At runtime, you assign user(s) to each
existing process role to define who is responsible for its execution. Consolidating
roles implies grouping and displaying them as a single one. You consolidate the
roles for those actions that must be executed by the same user(s).
– You can consolidate roles at block or process level.
• Define Due Dates: A due date is the point by which an action or a process
must have been completed. In addition, you can set notifications that occur
before the due date reached. For each notification you can choose to execute
a particular callable object.
• Grant Permissions: For each object that you create in the Guided Procedures
design time, you can set permissions for editing and executing the object.
– You can define read, write, delete, initiate, or full control permissions.
• Configure Process Control Items: Process control items are predefined actions
that enable you to manage process instances at runtime; for instance, you may
choose to allow users to change deadlines, to delegate roles to other users at
runtime, or to terminate a process.
• Grant View Permissions: In complex process or block structures where you
have multiple items executed by multiple users, you can define permissions that
allow users to view actions processed by different contributors. In a real-life
scenario, you can use this function if the processor of an action needs to review
the results of the previous actions before he or she can complete the step
assigned to him or her.
• Add Attachments: The Guided Procedures framework enables you to attach
files, URLs, or user management handlers to the actions, blocks, and process
templates that you create. (Note: To be able to see the attachments at runtime,
you must add view Additional Resources. For more information, see Select
Views below).
• Define Info Callable Objects: For each action, block, or process template that
you create, you can define info callable objects. At runtime these objects can be
executed to provide additional information relevant for the item. For example,
you can execute a BI query, or call a Web page to get certain data.
• Add Interactive Forms: Using Guided Procedures, you can replace paper-based
forms by integrating interactive forms into your processes. Interactive forms in
GP enable you to send and receive data as a part of the workflow managed by
the GP framework. For each process template, you can define interactive form
callable objects that can optionally be executed at runtime.
• Select Views: Guided Procedures enables process contributors to check different
aspects of a process at runtime by means of different views. You can configure
the available runtime views when designing the process template. For instance,
you can configure a process to allow processors to see attachments, see a process
overview, or see all the process activities and information. You can also define
custom views.
• Configure Process Instantiation: At design time, you can configure process
instantiation parameters that define how many process instances may be created
at runtime. In addition, you can choose to start the process automatically, and
generate an URL that you can use to start the process.
Activate Process: Before a process can be executed in the runtime environment, it
must be activated
roles when designing the process, the user assignments for each available role are
done when the process is being initiated. However, you can use this function to enable
better control over the process initiation.
There are built in roles, and you can define custom roles as well. You can configure the
built-in roles that are created for each process: Administrator, Overseer, and Owner.
You can choose one of the following role types:
• Initiation Defined: user assignments for the role are done at process initiation.
You can also configure the following options for the role:
– Default Definition Required with this option selected, you must also define
a default user assignment for the role, as explained below.
– Overwritable at Runtime with this option selected, the defaults defined for
the role can be overwritten when the process is being initiated.
• Initiator: the user who initiates the process is assigned to the role.
Sequential block
The items in the block are executed sequentially in the order that you have
defined.
Parallel
The items in the block flow are executed in parallel.
Parallel Dynamic
Multiple processors can be assigned to execute the items in this block type.
For example, asa part of such a block, a survey can be completed by multiple
users and the results sent to the system for further processing. The items are
executed in parallel.
Precondition Loop
The items in the block are executed in a loop, and the loop criteria is checked
before the execution of the first item.
Postcondition Loop
The items in the block are executed in a loop, but the loop criteria is checked
after the last item has been executed. This guarantees that the items in the block
will be executed at least once.
Alternatives
At runtime the user chooses one of the available alternatives and his or her
decision defines which item(s) is(are) executed.
In Guided Procedures (GP), actions are executable units that define a single step when
implemented in a process template. Each action can refer to either one or two callable
objects – one for execution, and an optional one for display. Attaching a callable
Using the callable object wizard in the GP design time, create a callable object of the
appropriate type for each application that you want to use in a process. Define its basic
data, input and output parameters, and the configuration settings. Finally, you activate
the object. Test the callable object. To test the callable object, open it in the design
time environment, and click on the test tab. If there are input parameters associated
with the object you can supply those for the test. The test wizard walks you through
the process of testing the object and allows you to see the results of the test.
Lesson Summary
You should now be able to:
• Explain the building blocks of guided procedures
• Navigate in the guided procedure design time environment.
Lesson Overview
This lesson will cover the basic steps to create a simple guided procedure process.
Lesson Objectives
After completing this lesson, you will be able to:
• Build a guided procedure
• Work with the guided procedures runtime environment
Business Example
Your department has just received approval for additional head count. You are tasked
to pre-screen candidates for you manager. You need to automate the application
process as much as possible.
Design Environment
The first process we will build is a job application process; in this process, a
hypothetical job applicant will be presented with an informational screen describing
the prerequisites for employment. By clicking on the Apply button they can initiate an
online job application. This is in the form of an input screen in which they can enter
their first and last names, their education level, and the languages they speak. Once
they submit the information, a hiring manager can review the application and either
accept or reject it. In either case, an appropriate mail will be sent.
You notice the are two icons each for, SAVE, DISPLAY, and EDIT. This is so that you
can select a single object or all objects.
The Edit icon is available to click. Upon clicking on the edit icon, you will advised
of a new version number to be generated, if you have previously activated the object.
Display Icon, will be available to click if you are in edit mode.
Other Icons
• The Item drop-down box is sensitive to the hierarchical context; that is, it
only shows objects that can be placed under the selected item (for instance,
if you are in a block it will only show blocks and actions, the only allowable
subordinate objects of a block).
• Update (icon just right of the activate icon): Updates a selected deprecated
object with its latest active version.
• Adjust All (icon just right of the update icon): Propagates to the
currently-selected object the changes that are made to the roles and parameters
at the lower levels of the hierarchy.
• Move Up/Down (up and down arrow icons): Moves the selected object up
or down in the process hierarchy. For example, you can move up actions in a
block flow, or move down blocks in a process flow.
• Edit Usage Name and Description (farthest right icon): Enables you to
overwrite the default name and description of the selected object, which are
assigned to it when the object is created (note that this can also be done I the
properties frame).
The Process editor has two frames: a flow frame and a properties frame. Each object
type, for example, BLOCK, ACTION, CALLABLE OBJECT, has a set of properties.
To see the properties for a specific object, click the left most button, of the object
line item.
Parameters
For the callable objects that you create, you can define input and output parameters.
When the callable object is attached to an action, the parameters are inherited by the
action, and are then propagated further to the block and process level. Consolidating
parameters means grouping several parameters and displaying them as a single one.
When you consolidate parameters, they obtain the same values.
Runtime Environment
You can access the GP runtime from the navigation bar in the Portal. In the runtime
you can instantiate a process instance.
After selecting the appropriate process template, you must assign actual users to the
process roles; these will include the built-in roles, such as owner or administrator,
as well as the consolidated roles (Job Applicant, Hiring Manager) that you created
in your process design.
For each role, you can use the search functionality to find and assign a user. Enter a
search term and click, Go, select the appropriate user from the result set, and choose,
Add, You must do this for each role.
To launch the process, accept or change (if possible) the initiator, and click Initiate.
At runtime, the screen is divided into the following areas when you work with process
instances:
• Portal Navigation: The main navigation (above) and the step navigation (left)
of the portal are parts of this screen area. Guided Procedures is embedded in
the portal. The step navigation under Guided Procedures is always empty and
minimized.
• Process Title Bar: This screen area is part of the runtime basic layout. For more
information on the basic layout, refer to Core Elements of the Runtime. The
screen displays the respective title of the current open process.
• Phase Navigator:The Phase Navigator is displayed in the process title bar.
It shows the individual phases of a process. The navigator is only visible for
multi-phase processes.
• Application Area:This screen area is part of the runtime basic layout. For more
information on the basic layout, refer to Core Elements of the Runtime. The
application area is your actual work center in the runtime. All available process
information and processing steps are displayed in the application area.
• Navigation Area: This screen area is part of the runtime basic layout. The
navigation area contains additional screen areas:
– Screen area View Selection -View
Business Example
You would like to automate how you receive and approve candidates for a new
position in your department.
Task 1:
Create the HTML Context Object
1. This first part of the exercise MUST be performed from the server.
2. Log in NetWeaver 7.1 CE Portal and then navigate to Design Time
Task 2:
Create Job Application Process
1. Create the Process, JobApplicationProcess##
2. Create a sequential block, JobAppBlock##,for your process.
3. Create action, StartPageAction##
4. Create a callable object, CO_StartPage##, of type Content Package.
5. Create another action, DatatInputAction##.
6. Create a new callable object, CO_DataInput##, of type Data Input Form.
7. Create another action, ApprovalAction##
8. Create a callable object, CO_Approval##, for your action, ApprovalAction##
Task 3:
Consolidate Parameters
1. Consolidate parameters
Task 4:
Consolidate roles
1. Consolidate roles
Task 5:
Test the Job Application Process
1. Navigate to the Runtime environment to execute your guided procedure
Name StartPage
Description StartPage
Task 2:
Create Job Application Process
1. Create the Process, JobApplicationProcess##
a) Guided Procedures → Design Time → NWC120 → Unit 2 Creating a
Guided Procedure→ Group ##.
With your folder highlighted, click, Create Process and then accept default
language, en, by clicking onCreate.
You should now see the process editor window. The top panel defines the
process flow. The bottom panel is for the process configuration.
b)
Hint: Select the left most button to highlight a line item in the
process flow window.
Make sure to highlight the process line and then enter the following.
Name JobApplicationProcess##
Description Job application process
for Group ##
Hint: The create icon is to the right of the item field, just above
your process line item. The icon looks like a paper, with an
earmark.
Name JobAppBlock##
Description Sequential Block for
Job Application Process
Group##
Name StartPageAction##
Description Start page action
c) Select Next.
d) Choose Browse and navigate to your folder NWC120 → Unit2 → Group##
→ JobApplicationStartPage## and choose Select.
e) Expand on the root folder by clicking the arrow.
f) Click on StartPage.htm and then select Next.
g) Change the button label to Apply and choose Next
h) Click Finish.
5. Create another action, DatatInputAction##.
a) Highlight the JobAppBlock## and click Create New.
b) Highlight the new action and enter the following information.
Name DataInputAction##
Description DataInputAction##
b) Choose Next.
Note: Notice now, that the step is Define Output. This is time to
define the output of the form. These will be the parameter values
that hold the data that the job applicant will input into this form.
c) Using the Insert New Button and also the Insert Child button create
the following entries.
Name ApprovalAction##
Description ApprovalAction##
I
d) Select Next.
e) Choose Next
Note: The output parameters for the callable object are pre-defined.
You can only change their order using Move Up or Move Down,
which is unnecessary.
Task 3:
Consolidate Parameters
1. Consolidate parameters
a) Highlight the block, JobAppBlock##
b) Click the parameters tab
c) Within the bottom panel window, the process configuration editor, click the
line item First Name,DataInputAction## and user the cntrl key and click
the line item, First Name,ApprovalAction and click group
and
d) Accept the pop up window, which should have a default for Name of
FirstName. Choose Create
e) Now do the same for Last Name, Education, and Language
f) Click, SaveAll
Task 4:
Consolidate roles
1. Consolidate roles
a) Highlight the process, JobApplicationProcess##
b) Click the roles tab
c) Within the bottom panel window, the process configuration editor, click the
line item Processor of StartPageAction##, Processor of DataInputAction
and click inside the Consolidate To field to type JobApplicant and
click Go.
d) For the last action, Processor of ApprovalAction, highlight it and for the
Consolidate To field, type Hiring Manager and then click Go.
e) Click Save All
f)
Task 5:
Test the Job Application Process
1. Navigate to the Runtime environment to execute your guided procedure
a) Guided Procedures → Runtime
b) Click the link titled Initiate a New Process
c) Navigate to the folder NWC120 → Unit 2 → Group## →
JobApplicationProcess##
d) Choose Next
e) Type any information for First Name, Last Name, Education, and then click
on the row, Language and then click, add row. Now you can expand on
Language to select a language. After entering some information, choose
Next.
f) And now we're stuck adding user information for the roles of the process.
In the upcoming units, we will correct this. For now, choose add user.
g) In the far right panel, type, GP-## for user and click Go and then click Add.
h) Perform the same exact user assignment steps to the other 4 roles by
clicking the drop-down option, where you currently see Administrator
i) Click Next
j) Leave the defaults and choose initiate.
k) If you're asked for a user id user your GP-## user and use the password
that you created earlier.
l) The start page appears. Click Apply
m) Enter your name and education. For Language, highlight the row
for lang and then click Create. Select the checkbox for English. and
Click Submit.
n) Since you are configure as both the job applicant and hiring manager, you
willl also perform the approval process; approve or reject the application,
and an appropriate email will be sent.
Lesson Summary
You should now be able to:
• Build a guided procedure
• Work with the guided procedures runtime environment
Unit Summary
You should now be able to:
• Explain the building blocks of guided procedures
• Navigate in the guided procedure design time environment.
• Build a guided procedure
• Work with the guided procedures runtime environment
Unit Overview
Callable objects dictate the underlying functionality of guided procedures. In this unit
we will analyze, create, and update callable objects.
Unit Objectives
After completing this unit, you will be able to:
Unit Contents
Lesson: Basics of Callable Objects................................................ 54
Lesson: Application Focused Callable Objects .................................. 62
Exercise 3: Callable Object type Remote Enabled Function .............. 73
Exercise 4: Callable Object type Portal iView ............................... 79
Exercise 5: Callable Object type Web Service for weather ................ 83
Exercise 6: Simple Visual Composer Application ........................... 85
Lesson: Control Focused Callable Objects....................................... 90
Exercise 7: The Google Process .............................................. 97
Lesson: Testing Callable Objects ................................................. 108
Exercise 8: Testing Callable Objects......................................... 111
Lesson Overview
This lesson introduces callable objects
Lesson Objectives
After completing this lesson, you will be able to:
• Navigate through the callable objects definition screens
Business Example
You need to access SAP applications, to allow users to input data, and to access other
SAP NetWeaver components .
Callable Objects
CAF Guided Procedures (CAF GP) is a framework for modeling and managing
workflows using simple and user-friendly tools. In this course we may refer to such a
workflow as a guided procedure or a process. As a part of the Composite Application
Framework (CAF), GP enables access to multiple backend systems, consistently
combining different types of services and applications into processes. In addition, GP
supports collaboration, ad-hoc items, and offline task management using interactive
forms. It provides role-based access to tools and resources and guidance through
the workflows at runtime, thereby helping end users to easily identify and complete
their tasks.
At design time, we build a process template, which we instantiate at runtime into a
process.
Guided Procedures are built up from different structural or executable elements. These
include Blocks, Actions, and Callable Objects.
• Blocks are structural units; that is, they organize processes into reusable sections.
Blocks can contain other blocks, actions, and or complete processes (which
further fosters reuse).
• Blocks also describe the processing mode for that section of the process. For
instance, the actions within a block may be executed sequentially, in parallel, or
repeatedly in a loop.
• The individual steps in a process in GP are implemented as actions. They
contain one or two callable objects, which enable you to use external services
and applications in processes modeled with GP. Actions also contain additional
metadata to define the behavior of the callable objects within the process itself.
• ACallable object is a reusable unit that enables the execution of external
applications or services within the Guided Procedures framework.
• Callable objects are the most fine-grained elements in a process.
A callable object is a reusable unit that enables the execution of external applications
or services. Callable objects are the most fine-grained elements in a process. They
enable you to use external services or application components within the context
of a process modeled with GP.
There is a simple wizard that helps you when creating callable objects. Basic data
for callable objects includes a name, description, the type of callable object, and
a folder location.
There are other parameters that can be defined using the wizard. They are:
Input parameters
Output parameters
Configuration parameters
Result states
Exceptions
context, also known as the local context. Parameters from the local context are only
visible to activities up in the process hierarchy (parent activities) if they are exposed
in, or propagated to, the input and output parameter sets of the child activity. All
parameters that you create are exposed by default. You can choose to hide them at
action, block, or process level. At design time you can set the appropriate values for
these parameters. For example, if you implement a function that sends an e-mail, you
can define the e-mail template and the recipient as configuration parameters, and set
them up when instantiating the callable object using the GP design time.
Result states: The result states of a callable object indicate the outcome of its
execution. In addition, they enable you to manage the process flow in a flexible way,
by defining different workflows depending on the state reached. You define and set
the result states in the implementation of the callable object. At design time, you can
configure a target action for each defined result state.
Exception handling: You can implement your callable object so that it defines
process exceptions. You can implement callable objects with user interfaces, such as
Web Dynpo or BSP applications. The GP framework also provides APIs for callable
objects that are executed in background mode, and do not necessarily provide UIs.
Depending on the type of callable object, you may have some or all of the above
screen numbers. As you define the callable object and select NEXT the editor will
automatically prompt you to the next screen. After defining the callable object, if
you wish to change any of your original definition, you can do so in the properties
screen of the callable object editor.
Basic Data
In this step, you define the basic parameters for the callable object, such as
name, description, and so on.
Define Object
In the second step you define which service or application you want to expose
as a callable object, and the parameters to connect to it. For example, URL,
endpoint alias, and so on.
Define Input
If the callable object requires input, you can define the input parameters in
this step. For certain callable object types, these parameters are displayed
automatically.
Define Output
In this step, you can configure the output parameters of the callable object, if
any. For certain callable object types, they are displayed automatically.
Set Configuration
Finally, you can maintain any specific configuration parameters that the
callable object defines. Certain callable object types have standard predefined
configuration parameters.
Note: Not all of these steps are obligatory for all callable object types. For
some of them, the steps Define Input, Define Output, or Set Configuration
might be skipped.
You can implement a callable object, so that it retrieves input data from a user or from
another object. You do this by creating input parameters of the relevant type.
To enable a callable object to provide data as a result of its execution, you define
output parameters. At runtime, you can map them to the appropriate input parameters
of another object, thereby enabling data flow throughout the process.
For certain types of callable objects, such as Web Dynpro components, CAF
applications, and so on, the implemented input and output parameters are automatically
detected and you can only modify the order in which they are displayed.
For other callable object types, such as Web pages, or content packages, you can
define certain input and output parameters manually if required
Application focused enable you to link to a specific application functionality.
Predefined objects enable you to put boundaries and handle logistics of the guided
procedures (e.g. emails).
Exposing a service or application as a callable object allows re-use of existing
functionality from both SAP and external providers. In addition, you can incorporate
multiple backends and technologies, such as Web Dynpro, ABAP programs,
interactive forms, and so on. Once imported as callable objects, these components can
be used universally in process modeling.
GP comes with a set of registered callable object types that define which applications
you can directly expose as callable objects and enable their handling in the context of
GP processes.
The predefined callable objects are available in the list of callable object categories
that is displayed in the first step of the procedure for creating callable objects. To use
a predefined object, you just select it as a type from the relevant category.
Lesson Summary
You should now be able to:
• Navigate through the callable objects definition screens
Lesson Overview
This lesson will explain details of application focused callable objects.
Lesson Objectives
After completing this lesson, you will be able to:
• List the application focused callable objects
• Define the application focused callable objects
Business Example
Some steps in your business process require information from an application system.
You need to automate this step.
Prerequisites
• The connections to the relevant service providers are configured for example,
endpoint aliases.
• The relevant services or applications are available in the system for example, the
Web Dynpro component is deployed on the SAP Web Application Server.
• Using the callable object wizard in the GP design time, create a callable object of
the appropriate type for each application that you want to use in a process.
• Define its basic data, input and output parameters, and the configuration settings.
• Activate the object.
Interactive forms: You must have created the form template that GP will use for
generating forms.
• If you want to pre-fill the interactive form fields with the output from other
services, you must have exposed these services as callable objects.
• If you want to use a service to validate the output from the callable object, you
must have exposed this service as a callable object as well.
The GP framework enables you to import any function module, thus allowing you to
reuse the modules you have implemented in your system without having to modify
their implementation
When exposing iViews or pages created with the Visual Composer, you cannot create
input parameters other than the ones already defined in VC.
If you have selected a BI or SAP Transaction iView for the portal callable object,
you cannot define input parameters. If you want to define input parameters for BI
Queries, BI Web Applications or SAP Transactions, use the BI or SAP Transaction
callable object.
To use the BSP application in a business process modeled with Guided Procedures
(GP), you must register the application as a callable object.
• Portal System Alias:Select the appropriate portal system alias from the
dropdown list. The GP framework uses the parameters from the alias
configuration to generate the URL for the BSP application at runtime.
• Start Page: Enter the name of the HTML page that you want to be displayed as a
start page when the BSP callable object is executed.
• Customer Namespace: If you use a specific namespace to store your objects in
the SAP system, enter it here. By default, the namespace is sap.
• Application Namespace: If the BSP application that you want to expose as a
callable object is stored in a specific namespace in the SAP system, enter it
here. By default, the namespace is sap.
• Business Server Page (BSP) Application: Enter the name of the BSP
application.Endpoint Alias (optional)Use Choose to select the appropriate
endpoint alias for the system where the BSP application resides.
• Enter the endpoint alias: If you want to define input and output parameters for
the BSP application. Otherwise, it is executed in display mode at runtime, and
you cannot interact with the backend system using the application.
Define the endpoint alias of type Endpoint Alias for EJB Remote call; provide the
endpoint alias name. In the properties, define the remote provider URL. The Remote
Provider URL consists of two parts: the server-name and the port, which is derived
from the http port of your server. Also enter the the security principal and the security
credentials.
After defining the endpoint alias, it can be chosen when defining the callable object.
Business Example
You would like to create a callable object that make a remote function call to the
ECC backend system. At a later time, you will insert this callable object into your
guided procedure process.
Task 1:
Check in ECC system for bapi
1. Log on to the ECC system
2. Display function module
Task 2:
Create Endpoint for Remote Function Call Destination
1. Log into the NetWeaver Administrator, http://host::50000/nwa For example,
http://twdfxxxx.wdf.sap.corp:50000/nwa
Task 3:
Create a callable object to call Z_BAPI_BUPA_CREATE_FROM_DATA.
1. Log in NetWeaver CE Portal
2. Navigate to Design Time
Task 2:
Create Endpoint for Remote Function Call Destination
1. Log into the NetWeaver Administrator, http://host::50000/nwa For example,
http://twdfxxxx.wdf.sap.corp:50000/nwa
a) Configuration Management → Destination
Hint: If for some reason the system hour-glasses here, try this
other way. Configuration Management → Infrastructure → SLD
Data Supplier Configuration → Destinations
b) Click create.
c) Use the following information.
Hint: In the message server field the sid should be lower case.
Feel free to look at the one for T36 and just copy the line but
remember to change T36 to your assigned sid.
Task 3:
Create a callable object to call Z_BAPI_BUPA_CREATE_FROM_DATA.
1. Log in NetWeaver CE Portal
a) http://localhost:50000/irj
2. Navigate to Design Time
c)
Hint: From above or below the type window, you'll see the Next
button.
Click Next.
d) Enter the following information
Select Search.
e)
Business Example
You would like to add a call to an iView to your Guided Procedure.
Task:
iView Portal Page Callable Object
1. Log in NetWeaver CE Portal
2. Navigate to Design Time
c)
Hint: From above or below the type window, you'll see the Next
button.
Click Next.
d) Scroll down through the list of available roles to select, Every User Core
Role.
You should now see on the right panel of the screen another list. This is a
list of portal pages and/or iviews
e) Navigate to Home (2nd one in list)→ Overview → Universal Worklist.
Select Universal Worklist
f) Select Next and select Next again.
You should notice that you're now in step 4, Set Configuration, of your
callable object definition.
g) Click Add
You should notice that an extra line now appears labeled, ResultState1,
under the line complete.
h) Highlight the ResultState1line.
i) Replace the text for both Technical Name and Name with Repeat
j) Click Next.
k) Click Finish and Open.
l) Activate.
Business Example
You know ahead of time that eventually, you'll create a guided procedure that has
steps for booking travel arrangements. Currently, you're not sure how many steps
will go into the process. However, you do foresee the need to check weather the
destination city. You want to create a callable object now that you can insert into you
guided procedure later.
Task:
Create a callable object to call a web service for weather
1. Log in NetWeaver CE Portal
2. Navigate to Design Time to create callable object
c)
Hint: From above or below the type window, you'll see the Next
button.
Click Next.
d) Type http://www.webservicex.net/WeatherFore-
cast.asmx?WSDL and press Enter or click Go.
e) Select GetWeatherByZipCode.
f) Click Next
If you drill into Input Parameters, you see zip code as an input parameter.
g) Click Next.
If you drill into Return Parameters, you see several output parameters.
h) Select Next and then select Finish and Open
i) Choose Save All and Activate
Business Example
You would like to create a callable object that uses a visual composer form.
Task 1:
Create a simple visual composer form
1. Log into Visual Composer
2. Create form
Task 2:
Create a callable object of type WD4VC
1. Log in the NetWeaver CE portal
2. Create a callable object, CO_MyFirstVC_GRP##
Composite View
Name MyFirstVC##
Repository Accept default, Local
Repository
Software Component Accept default, sap.com_UW-
SoftwareComponent
Development Component Click New and enter groupxx for
Development Component and then
click OK
b) Click OK
c) From the right panel, 'Compose Model' window, click to drag Form View
to left panel, the canvas.
d) From the right panel, 'Compose Model' window, click to drag Start Point
to left panel, the canvas.
You should now have a start icon and a form view icon in your canvas.
e) We need point the start icon to the form view icon.Click within the Start
icon, on the diamond and then drag the cursor to point it to 'in' of
the form view icon.
You should now see a line pointing from the diamond within start to the
'in' of form view.
f) Right click on the form and choose Define Data
g) Click the 'plus' sign, then choose String and then type FirstName
for Field Name
h) On the same line, double-click the 'fx'. Drill into DataFields and
double click, FirstName and then click OK.
i) Choose the 'plus' sign, then choose String andt ype LastName for
Field Name and then click OK
j) On the same line, double-click the 'fx'. Drill into DataFields and double
click, LastName and then click OK
k) Choose Close
l) Click the word 'out' and drag the cursor to the right. When you let up
from the mouse, click Endpoint
m) On the bottom of your canvas, click the tab 'Layout'
n) From the right side of the screen, drag the 'button' icon just below
last name.
o) With the new button (Action), highlighted, click Configure, on the very
right side of the screen
p) You'll notice several fields. Notice the field, Action. Currently it is blank
but also, you'll see the Action field has 3 dots. Click on the 3dots.
q) Click the plus and choose submit
r) Click Close
s) Notice the 2nd field, labeled, Text, with the word Action1. Change the
Text field to OK
t) Now click anywhere on the canvas. You'll noticed the button 'OK'
u) Form the bottom of your canvas, click the tab 'Designt'
v) Click on the line leading to 'end'. This part is tricky. If you click in
correctly, you'll notice the right panel with 3 fields, Guard, Event name,
Select mode
w) Click in the Event Name field and choose submit.
x) Click Tools → Options
Hint: Not the Tools from the internet browser window). Tools is
an option in the Visual Composer menu, along top of form.
y) Notice the Compiler area in the right panel. For Default runtime, select
'XGL'
z) Click Deploy, the button on the very far right panel.
aa) Click Compile
ab) Click Deploy
You should see the message, Completed Successfully. Also under groupxx,
you should see Web_Dynpro-HTML with 2 links and Flex with 2 links.
Task 2:
Create a callable object of type WD4VC
1. Log in the NetWeaver CE portal
a) http://host:50000/irj
b) Navigate to Guided Procedures → Design Time
2. Create a callable object, CO_MyFirstVC_GRP##
a) Navigate to NWC120 → Unit3 → Group##
b) With your folder highlighted, click Create Callable Object
c) Use the following information.
d) Click, Next
e) Highlight your line, CO_MyFirstVC_GRP##
f) Select Next, Next, Finish and Open
g) Activate
Lesson Summary
You should now be able to:
• List the application focused callable objects
• Define the application focused callable objects
Lesson Overview
This lesson will describe control focused callable objects.
Lesson Objectives
After completing this lesson, you will be able to:
• List the types of control focused callable objects
Business Example
Many guided procedures need boundaries, or conditions to dictate the flow from
one step to the next within the business process. Therefore, you need to define flow
of the guided procedure steps.
If you do not see the predefined callable objects in the initial screen of the callable
object wizard, make sure that there are permissions defined for these objects in the GP
Administration workset.
Offline Approval
Type:Java Callable Object for background execution; Enables users to approve
or reject a request, and notify process contributors of their decision. In addition,
you can define other input parameters and configure e-mail notifications, in
the same way as for Visual Approval.
Decision (Comparison to Predefined Value)
Type: Java Callable Object for background execution. Compares the input to
a pre-defined comparison value. There are two result states that are possible,
EQUAL or DIFFERENT
Numeric Decision
Type: Java Callable Object for background execution Compares the input with a
predefined numeric value. The comparator can be <, <=, >, >=, = & <>.Two
result states are possible, RESULTSTATE_TRUE or RESULTSTATE_FALSE.
Initiate Process (Using Predefined Template)
Type: Java Callable Object for background execution. Starts a process using
an existing process template. To be able to initiate a process using this callable
object, process roles must be configured with default values. The process
template must be active.
Terminate Process
Type: Java Callable Object for background execution. Stops the current Process
Check User
Type:Java Callable Object for background execution. Checks whether a specified
user is unique. This is done by searching the UME for a particular user by ID or
user name. If the search returns multiple results, they are available as a structure.
Business Example
You would like to automate Google lookups allowing the option for multiple searches.
Task 1:
Build the Google Process
1. Log in NetWeaver 7.1 CE Portal
2. Navigate to Design Time to build process
3. Create a process named GoogleProcess##
4. Create a block named GoogleSearchBlock##
5. Create an action named, GoogleDataInputAction##
6. Create a callable object named, CO_GoogleParameters##.
7. Add a new action called, GoogleSearchAction## to your block.
8. Add a new web page callable object to your action, called
CO_GoogleSearch##.
9. Add a new action to your block, and call it SearchAgainAction##
10. Insert a new callable object of type Process Control → Decision Dialog, into
your action. Name it CO_SearchAgain##
11. You want to configure the process to return to the Data Input Form, if the Yes
button is selected.
Task 2:
Configure and Activate the Process.
1. Consolidate Parameters.
2. Combine roles and assign user.
Task 3:
Test your new guided procedure process
1. Navigate to Runtime
2. Execute the process
Task 4:
Optional. Upon launching your google process, you were required to initially type in
search criteria and then asked to again type the same exact information. Let's correct
this.
1. Log in NetWeaver 7.1 CE Portal
2. Navigate to Design Time to build process
3. Edit the process.
c) With the process line highlighted, notice the bottom panel, the process
configuration screen. Enter the following information.
Name GoogleProcess##
Description Google process
Hint: You won't see the text in the flow editor change until you
once again click the left most button or perform the next step.
Name GoogleSearchBlock##
Description Google search block
Name GoogleDataInputAction##
Description data input for google
search
Click Next
c) Select Insert New twice, to add twonew parameters. Add the following
information.
d) Click Next and Finish to add your callable object to the process.
7. Add a new action called, GoogleSearchAction## to your block.
a) Highlight the GoogleSearchBlock## line item and select Create New.
For the new action, enter the following information.
Name GoogleSearchAction##
Description Search criteria
b) Select Next.
c) For the url type http://www.google.com/search and click Next.
d) Select Insert New twice, to add two new parameters. Add the following
information.
e) Click Next.
f) Accept the default Container height by clicking Next again.
g) Click Finish.
Name SearchAgainAction##
Description new Search criteria
10. Insert a new callable object of type Process Control → Decision Dialog, into
your action. Name it CO_SearchAgain##
a) With the new action line item highlighted, select Create New. Use the
following information.
d) Click Next
e) Click Finish
11. You want to configure the process to return to the Data Input Form, if the Yes
button is selected.
a) In the process flow, under your action, SearchAgainAction##, you will see
a line titled Result States.. Expand this by clicking the arrow next to it,
and you will see two result states: Continue and Break. Use the drop-down
to the right of the Continue state to select GoogleDataInputAction##.
Task 2:
Configure and Activate the Process.
1. Consolidate Parameters.
a) Highlight the block GoogleSearchBlock## and click on the parameters
tab.
b) Within the parameters tab, highlight both SearchString line items, using
the cntrl key to select more than one line. Then click the button Group.
Accept the default name SearchString, and click create.
c) Do the same for language.
2. Combine roles and assign user.
a) Highlight the process, GoogleProcessXX and click the Roles tab.
You should now see roles.
b) Within the roles tab, select the three custom roles, SearchAgainAction,
GoogleSearchAction, GoogleDataInputAction. For the field consolidate,
enter Searcher and then select Go.
You now see 4 roles. You should notice searcher role has an arrow for
expansion
c) For each of the 4 lines, select initiator, as the role type.
d) Save and Activate the process.
Task 3:
Test your new guided procedure process
1. Navigate to Runtime
a) Guided Procedures → Runtime
SearchString SAP
Language en
e) Click Next
f) Click Initiate
You should notice that you are being asked again to supply the information
for SearchString and Language. Wouldn't it be nice if we can fix this
annoyance of redundant entries? For now, type the information again.
When you complete this task, if you're up to the challenge, proceed to the
next optional task.
g) Use the following information.
SearchString SAP
Language en
h) Click submit.
A google search offering SAP links should appear.
i) Choose complete.
j) Choose Yes to perform another search.
k) Enter whatever information of your choice, for example Sodoku, en.
l) When finish choose complete. and then choose No
Notice the list of actions in the Process Activities window.
Task 4:
Optional. Upon launching your google process, you were required to initially type in
search criteria and then asked to again type the same exact information. Let's correct
this.
1. Log in NetWeaver 7.1 CE Portal
a) http://host:50000/irj For example: http://twdfXXXX.wdf.sap.corp:50000/irj
2. Navigate to Design Time to build process
a) Guided Procedures → Design Time → NWC120 → Unit 3 - Callable
Objects → Group ## → GoogleProcess##. and click Open.
3. Edit the process.
a) Click Toggle Multi-Edit Mode
b) Answer Yes to the question about inactivating the current version.
c) Click the Parameters tab.
d) Deselect the check boxes in the column 'Exposed in Input'. You're
doing this so that you no longer receive the initial screen twice, to enter
same information. In a much later exercise, you'll see when it is handy to
leave these check boxes selected.
e) Save All and Activate.
f) To test, proceed as before with instructions from the previous task.
Lesson Summary
You should now be able to:
• List the types of control focused callable objects
Lesson Overview
The purpose of this lesson is to explain how to test callable objects.
Lesson Objectives
After completing this lesson, you will be able to:
• Test all types of callable objects
Business Example
You are responsible for development of guided procedures in SAP NetWeaver 7.1 CE.
You need to test your callable object before end users execute the guided procedure,
which calls the callable object.
If the result of the callable object test is Successful completion, you can activate the
object and make it available for use in actions.
If the result indicates an error, you should check the J2EE Engine log files for more
information about the problem.
Business Example
You want to test your callable objects before using them with a guided procedure
process.
Task 1:
Test callable object CO_SAPBAPITest_##
1. Log in NetWeaver 7.1 CE Portal
2. Navigate to Design Time
3. Test
Task 2:
Check for your business partner number in the ECC backend system.
1. If you're not already logged into the ECC backend system, please do so.
2. Check for your business partner number
Task 3:
Test the callable object CO_WeatherService##.
1. Log in NetWeaver CE Portal
2. Navigate to Design Time
3. Test
Task 4:
Test the callable object CO_MyFirstVC_GRP##.
1. Log in NetWeaver CE Portal
2. Navigate to Design Time
3. Test
Task 5:
Optional. You can try testing your callable object CO_iViewTest##, only to find out
that this type of callable object cannot be tested.
1. Log in NetWeaver CE Portal
2. Navigate to Design Time
3. Test
SearchTerm1 Cool
SearchTerm2 Really Cool
Firstname <your name>
Lastname <your name>
Task 2:
Check for your business partner number in the ECC backend system.
1. If you're not already logged into the ECC backend system, please do so.
a) Log into ERP using your GP-## user
2. Check for your business partner number
a) Execute t-code bp
b) For the field Business Partner type your <business partner
number>
You business partner detail should be displayed.
Task 3:
Test the callable object CO_WeatherService##.
1. Log in NetWeaver CE Portal
a) http://host:50000/irj
2. Navigate to Design Time
a) Guided Procedures → Design Time → NWC120 → Unit 3 Callable Objects
→ Group ##. → CO_WeatherService##. and click OPEN
3. Test
a) Click on the Test tab
b) Type your <zipcode>
c) Click Execute (you may have to scroll down)
Task 4:
Test the callable object CO_MyFirstVC_GRP##.
1. Log in NetWeaver CE Portal
a) http://host:50000/irj For example: http://twdfXXXX.wdf.sap.corp/irj
2. Navigate to Design Time
a) Guided Procedures → Design Time → NWC120 → Unit 3 Callable Objects
→ Group ##. → CO_MyFirstVC_GRP##. and click OPEN
3. Test
a) Click on the Test tab
b) Click Execute (you may have to scroll down)
Your should see your form appear.
c) Enter your first and last name and click OK
You should see a result message, 'Completed successfully'
Task 5:
Optional. You can try testing your callable object CO_iViewTest##, only to find out
that this type of callable object cannot be tested.
1. Log in NetWeaver CE Portal
a) http://host:50000/irjFor example: http://twdfXXXX.wdf.sap.corp/irj
2. Navigate to Design Time
a) Guided Procedures → Design Time → NWC120 → Unit 3 Callable Objects
→ Group ##. → CO_iViewTest##,. and click OPEN
b) Type your <zipcode>
3. Test
a) Click on the Test tab
b) Click Execute (you may have to scroll down)
You should see an error message Callable objects of this type cannot be
run in test mode.
Lesson Summary
You should now be able to:
• Test all types of callable objects
Unit Summary
You should now be able to:
• Navigate through the callable objects definition screens
• List the application focused callable objects
• Define the application focused callable objects
• List the types of control focused callable objects
• Test all types of callable objects
Unit Overview
This unit will demonstrate the need for actions. We will discuss available options for
actions and also create actions.
Unit Objectives
After completing this unit, you will be able to:
Unit Contents
Lesson: Basics of Actions ......................................................... 120
Lesson: Actions with Callable Objects and Ad Hoc Items..................... 126
Exercise 9: Callable Object Type Web Page ............................... 129
Exercise 10: Create ActionsProcess......................................... 131
Lesson Overview
This lesson will explain the use of actions within a guided procedure.
Lesson Objectives
After completing this lesson, you will be able to:
• Discuss the necessity of actions, to initiate a callable object within a guided
procedures
• List capabilities of actions in guided procedures
Business Example
You plan to create a guided procedure which requires user input for processing. An
action will capture the user input. Subsequent actions my require the same previously
entered data. You want to pass data from one action to another.
Actions
CAF Guided Procedures (CAF GP) is a framework for modeling and managing
workflows using simple and user-friendly tools. In this course we may refer to such a
workflow as a guided procedure or a process. As a part of the Composite Application
Framework (CAF), GP enables access to multiple backend systems, consistently
combining different types of services and applications into processes. In addition, GP
supports collaboration, ad-hoc items, and offline task management using interactive
forms. It provides role-based access to tools and resources and guidance through
the workflows at runtime, thereby helping end users to easily identify and complete
their tasks.
At design time, we build a process template, which we instantiate at runtime into a
process.
Guided Procedures are built up from different structural or executable elements. These
include Blocks, Actions, and Callable Objects.
• Blocks are structural units; that is, they organize processes into reusable sections.
Blocks can contain other blocks, actions, and or complete processes (which
further fosters reuse).
• Blocks also describe the processing mode for that section of the process. For
instance, the actions within a block may be executed sequentially, in parallel, or
repeatedly in a loop.
• The individual steps in a process in GP are implemented as actions. They
contain one or two callable objects, which enable you to use external services
and applications in processes modeled with GP. Actions also contain additional
metadata to define the behavior of the callable objects within the process itself.
• ACallable object is a reusable unit that enables the execution of external
applications or services within the Guided Procedures framework.
• Callable objects are the most fine-grained elements in a process.
Guided Procedures (GP) makes it easy to model business processes that connect
various backend applications and services into a single workflow. In addition, multiple
contributors may be involved in completing the process. The ability to set up and
modify such processes quickly and flexibly is a requirement imposed by a dynamic
business environment. GP responds to the needs of many employees who handle
cross-functional collaborative processes on a daily basis.
Process modeling with GP does not require specific development skills. It is targeted
at business experts who are familiar with business processes, and can use GP to model
them according to specific requirements in the enterprise.
The individual steps in a process are implemented as actions. They contain one or
two callable objects, which enable you to use external services and applications in
processes modeled with GP. Actions also contain additional metadata to define the
behavior of the callable objects within the process itself.
Blocks are the main building elements in a process template. The top-level blocks
(that is, blocks that are not contained within other blocks) in the process template form
process phases. They are always executed in sequence.
Actions are important because they are the link between the process step and the
actual callable object. In this graphic teh action AC_iViewXX links to callable object
CO_iViewTestXX.
Actions enable us to capture results from the callable object and control the process
based on the result state. In this example, the action AC_iViewXX has two result
states: Repeat and Complete. If we had a process with many steps, we could use the
result state to tell the process which step to execute next. In our example the result
states both say No Target. However, if this was a process with many steps, we would
replace the No Target with the step (action) that should be executed next.
Ad hoc items enable you to add additional activities that can be used within the
process execution. We will discuss ad hoc items in more detail in this lesson.
Attachments enable you to add permanent attachments to the process execution.
Info callable objects enable you to provide additional information to the process
executor.
If you action has parameters, such as name, address. This parameters can be part of
the task text that appears in the inbox at runtime.
Lesson Summary
You should now be able to:
• Discuss the necessity of actions, to initiate a callable object within a guided
procedures
• List capabilities of actions in guided procedures
Lesson Overview
The purpose of this lesson is to demonstrate the Ad Hoc configuration of actions,
within a guided procedure process.
Lesson Objectives
After completing this lesson, you will be able to:
• Create actions that use callable objects
• Create actions with ad hoc items
Business Example
You have to use actions to initiate callable objects. In doing so, you need to recognize
the options for defining actions.
Actions
Ad-hoc items in Guided Procedures (GP) are actions that might be executed if certain
conditions occur, but they do not change the general process flow.
Example: In a job application process, an applicant does not meet all requirements
but is still a strong candidate for an opening. The HR assistant is not authorized to
take the decision to move the application forward, so he or she requests the explicit
approval of the HR manager. This approval is typically not a part of the first phase in
the hiring process. It can be implemented as an ad-hoc item.
Within the 'You Can' window a user can optionally click any of the links to execute a
different callable object. However for the user to see the additional links you must
first configure the additional view option with the Runtime tab of the process. There
are various views to select from. You simply add the desired view to your list of view
and set the new view as the 'default view'.
Business Example
As part of your business process you need will need to call a web page. In case,
well use the bottom-up approach, meaning we'll first created the callable object and
later insert it into an action. The top-down approach would be if we first created the
process, then the block, then the action, and then callable object.
Task:
Create a web page callable object, which calls your favorite website
1. Log in NetWeaver 7.1 CE Portal
2. Create a User Interface → Web Pages type callable object,
CO_Info_Webpage_GRP_##.
3. Optional: Test the callable
b) Select Next.
c) For the url type http://www.sap.com.
d) Click Next until you see Finish and Open.
e) Click Activate.
3. Optional: Test the callable
a) In the process configuration area, click the Test tab.
b) Click Execute.
Business Example
For you guided procedure, you would like to give the user an option to click other
links that will execute other callable objects.
Task:
Create an action, ActionsProcess##, within a process, that will utilize the You
Can, option.
1. Log in NetWeaver 7.1 CE Portal
2. Create the process, ActionsProcess##.
3. Create the block, ActionsBlock##.
4. Create the action, AC_iView##
5. Insert the callable object, CO_iViewTest##, into your Process
.
6. Update the process roles, setting all role types to be the initiator.
7. Test your new process.
8. Add the web page callable object as an adhoc item and test.
9. Adjust the Runtime view.
10. Test your newly updated process, with an adhoc option.
Name ActionsProcess##
Description Process to demonstrate
ad hoc and info
callable objects,
group##
Name ActionsBlock##
Description actions block
Name AC_iView##
Description this action will call
an iView
Select Toggle Multi-Edit Mode and click Yes, to the prompt regarding
creation of an inactive version.
d) Highlight the action, AC_iVIew##.
e) Select the You Can tab.
f) Select Add and navigate to Guided Procedures → Design
Time → NWC120 → Unit 4 Process Actions→ Group ##. →
CO_Info_Webpage_Group##.
g) Choose Select.
h) Click Save All.
Choose the line labeled, Process Activities (allows to view and execute
activities and access activity related information and start ad-hoc
items)
e) Select Add.
f) Select this new view as the default. Most likely it is the 2nd radio button.
g) Save All and Activate.
10. Test your newly updated process, with an adhoc option.
a) Navigate to Guided Procedures → Runtime
b) Click Initiate a New Process and then drill down to your process NWC120
→ Unit 4 Process Actions→ Group ##. → ActionsProcess##
c) Select the process, and choose Next.
d) Choose Initiate.
BE PATIENT. It may take a moment to display next screen.
e) Notice the left window pane, Process Activities. Now you see an option
to execute another action.Don't bother to press the repeat button because
we have not added a target for that button.
f) Click on text, CO_Info_Webpage_Grp##.
You should see your favorite web page displayed.
g) Select Back and then Complete.
Lesson Summary
You should now be able to:
• Create actions that use callable objects
• Create actions with ad hoc items
Unit Summary
You should now be able to:
• Discuss the necessity of actions, to initiate a callable object within a guided
procedures
• List capabilities of actions in guided procedures
• Create actions that use callable objects
• Create actions with ad hoc items
Unit Overview
You will build an entire guided procedure, using blocks to organize the actions. You
will get business partner data from a central ERP system, update the data, route it for
approval, then update the central ERP system with the new business partner data.
Unit Objectives
After completing this unit, you will be able to:
• Describe a sequential block type
• Create a sequential block type.
• Demonstrate how to map parameters between actions within a block.
• List block types
• Explain when to use pre-/post condition block types
• Discuss when to use the alternative block type
• Recognize the features of personal templates
• Test the guided procedure process from design time.
Unit Contents
Lesson: Sequential Blocks ........................................................ 140
Exercise 11: ProcessBlocks - Sequential Blocks........................... 147
Lesson: Other Block Types ........................................................ 167
Exercise 12: Post Condition Block ........................................... 171
Exercise 13: OPTIONAL: Alternative Blocks ............................... 177
Lesson: Personal Templates ...................................................... 189
Lesson: Design Time Testing...................................................... 193
Exercise 14: Testing a process from Design Time ......................... 195
Lesson Overview
This lesson will introduce sequential blocks
Lesson Objectives
After completing this lesson, you will be able to:
• Describe a sequential block type
• Create a sequential block type.
• Demonstrate how to map parameters between actions within a block.
Business Example
You have defined a list of actions that need to run sequentially within SAP NetWeaver
CE, guided procedures. You need the actions to run in the proper order. To do so,
requires organizing the actions within a block, of the guided procedure.
Sequential Blocks
CAF Guided Procedures (CAF GP) is a framework for modeling and managing
workflows using simple and user-friendly tools. In this course we may refer to such a
workflow as a guided procedure or a process. As a part of the Composite Application
Framework (CAF), GP enables access to multiple backend systems, consistently
combining different types of services and applications into processes. In addition, GP
supports collaboration, ad-hoc items, and offline task management using interactive
forms. It provides role-based access to tools and resources and guidance through
the workflows at runtime, thereby helping end users to easily identify and complete
their tasks.
At design time, we build a process template, which we instantiate at runtime into a
process.
Guided Procedures are built up from different structural or executable elements. These
include Blocks, Actions, and Callable Objects.
• Blocks are structural units; that is, they organize processes into reusable sections.
Blocks can contain other blocks, actions, and or complete processes (which
further fosters reuse).
• Blocks also describe the processing mode for that section of the process. For
instance, the actions within a block may be executed sequentially, in parallel, or
repeatedly in a loop.
• The individual steps in a process in GP are implemented as actions. They
contain one or two callable objects, which enable you to use external services
and applications in processes modeled with GP. Actions also contain additional
metadata to define the behavior of the callable objects within the process itself.
• ACallable object is a reusable unit that enables the execution of external
applications or services within the Guided Procedures framework.
• Callable objects are the most fine-grained elements in a process.
Here is an example process built by a business process expert in the sales department.
As part of their process, they Email the warehouse. However, they do not know that
this will increase Emails to the warehouse by 5 times they number of Emails they
received before this process was put in place. This means the warehouse is behind on
shipping because the Emails must be processed for the order to ship.
Additionally, the Email server was not sized for this increased volume, so IT gets
reports of the Email server performance problems.
While the business process expert built a process needed in the sale department, they
have broken processes in the warehouse and caused performance problems for all
departments using the same Email server.
Guided Procedures (GP) enables the transfer of data across the process flow using
mapping between actions' input and output parameters
Parameter search
At process, block, and action level you can search the parameter list by an
arbitrary string that you enter in the search field. The search works on parameter
names, technical names, and namespaces. You can also apply filtering - for
example, search only for parameters of string type. Asterisk (*) is supported as
a wildcard. You can also choose to perform a search on the deeper levels of
the structure hierarchy.
Semi-automatic parameter mapping
Using this feature, you can also map structures that have different children. The
parameters that are similar are mapped in a new structure. You can use this
feature when you have very large data structures and you only need to map
several matching parameters.
Business Example
You would like to automate the process of approving business partner creations and
updates. You would like to have an online form, users can enter information. After
submitting the business partner information, someone has to approve or reject the
request. Upon approval, the business partner information should be updated in the
backend SAP ERP system.
Task 1:
Build a process with one sequential block
1. Create a process with a sequential step
2. Create a sequential block, BusinessPartnerUpdateBlock##
3. Create an action, AC1_InputBP_GRP##
4. Create a callable object, CO1_InputBP_GRP##, of type Web Dynpro Form.
Task 2:
Add another action and callable action, to read business partner detail.,
1. Create action, AC2_GetBPDetail_GRP##
2. Create a callable object, CO2_GetBPDetail_GRP##, of type Content
Package.
Task 3:
Add an action and callable action, to update business partner detail.,
1. Create action, AC3_UpdateBP_GRP##
2. Create a callable object, CO3_UpdateBP_GRP##, of type Content Package.
Task 4:
Add an action and callable action, to approve business partner detail.,
1. Create action, AC4_ApproveBP_GRP##
2. Create a callable object, CO4_ApproveBP_GRP##, of type Content Package.
Task 5:
Add an action to update the central ERP with the changes to the business partner
that you just made.
1. Create action, AC5_UpdateERPBP_GRP##
2. Create a callable object, CO5_UpdateERPBP_GRP##, of type Content
Package.
Task 6:
Configure parameter mapping to pass data between the actions.
1. Notice the parameters.
2. Map the business partner.
3. Map the first name.
4. Map the last name.
5. Map Search.
Task 7:
Update the process. We do not need all default exposed parameters, and also update
role assignments.
1. Deselect exposed input parameters.
2. Ensure the approval step only occurs if the “Continue” button was selected.
3. Ensure the central ERP system is only updated if the change was approved.
Update the result states of the approve step to only update if approved, end
the process if rejected.
Task 8:
Update roles, save and activate
1. Update roles
Continued on next page
Task 9:
Testing
1. Start the process from the runtime environment.
Task 10:
Check for your business partner number in the ECC backend system.
1. If you're not already logged into the ECC backend system, please do so.
2. Check for your business partner number
Hint: Select the left most button to highlight a line item in the
process flow window.
Make sure to highlight the process line and then enter the following.
Name BusinessPartnerUp-
dateProcess##
Description BusinessPartnerUp-
dateProcess##
Name BusinessPartnerUpdate-
Block##
Description BusinessPartnerUpdate-
Block##
Name AC1_InputBP_GRP##
Description AC1_InputBP_Grp##
c) Select Next.
d) Choose Add → Add Input Field.
e) Use the following entries.
Task 2:
Add another action and callable action, to read business partner detail.,
1. Create action, AC2_GetBPDetail_GRP##
a) Highlight the block, BusinessPartnerUpdateBlock##, click Create New
b) Highlight your action and enter the following information.
Name AC2_GetBPDetail_GRP##
Description AC2_GetBPDetail_GRP##
c) Select Next.
d) Choose a logical destination from drop-down, provided by your instructor,
for example T36..
e) For the field Function enter BAPI_BUPA_CENTRAL* and select Search.
f) Highlight BAPI_BUPA_CENTRAL_GETDETAIL and then select Next.
Notice you're currently on step 3, Define Input. Notice the input parameters.
g) Click Next.
Notice you're currently on step 4, Define Output. Notice the output
parameters.
h) Click Next.
i) For step 5, Set Configuration, change the field Error Handling Mode,
select, No error handling
j) Select Next and Finish
Task 3:
Add an action and callable action, to update business partner detail.,
1. Create action, AC3_UpdateBP_GRP##
a) Highlight the block, BusinessPartnerUpdateBlock##, click Create New
b) Highlight your action and enter the following information.
Name AC3_UpdateBP_GRP##
Description AC3_UpdateBP_GRP##
c) Select Next.
d) Select Add → Add Input Field.
e) Use the following entries.
h) Select Create.
i) Select Add → Add Button
j) Use the following entries.
k) Select Create.
l) Select Next and Finish.
Task 4:
Add an action and callable action, to approve business partner detail.,
1. Create action, AC4_ApproveBP_GRP##
a) highlight BusinessPartnerUpdateBlock##, and click Create New
b) Highlight your action and enter the following information.
Name AC4_ApproveBP_GRP##
Description AC4_ApproveBP_GRP##
c) Select Next.
d) Select Insert New 3 times.
e) Use the following entries.
f) Select Next
g) Select Next, through step 4, Define Output
h) For set configuration, select the following information.
Continued on next page
Field Value
Approve e-mail: Your request was
approved.
Recipients for approval: Initiator
Reject e-mail: Your request was
rejected
Recipients for approval: Initiator
i) Select Create.
j) Select Next and Finish.
Task 5:
Add an action to update the central ERP with the changes to the business partner
that you just made.
1. Create action, AC5_UpdateERPBP_GRP##
a) Highlight block, BusinessPartnerUpdateBlock##, and click Create New
b) Highlight your action and enter the following information.
Name AC5_UpdateERPBP_GRP##
Description AC5_UpdateERPBP_GRP##
c) Select Next.
d) Choose logical destination provided by instructor.
e) For the Function field, enter Z_BAPI_BUPA* and then select Search.
f) Highlight Z_BAPI_BUPA_CENTRAL_CHANGE and select Next.
g) Select Next 2 more times, through step 4, Define Output
h) For set configuration, select the following information.
Field Value
Error Handling Mode: No error handling
Task 6:
Configure parameter mapping to pass data between the actions.
1. Notice the parameters.
a) Place the cursor on your block and select the tab Parameters.
You should see a list of all parameters for each step. This includes all BAPI
import parameters and all RFC import parameters. Notice the parameters
for each of the actions.
b) click Filter.
You should see 3 business parameters in the list from the following
actions, AC1_InputBP_GRPXX, AC2_GetDetailBP_GRPXX,
AC5_UpdateERPBP_GRPXX
c) Highlight all 3 parameters, using the 'cntrl' key to select multiple lines.
d) Select Group.
e) Accept the default values, for example Name probably has the value
BusinessPartner. Select Create.
At this point if you scroll down to the bottom, you should see
BusinessPartner listed as a <Group>.
b) click Filter.
You should see 5 first name parameters in the list from the following
actions but we only need 4.
c) Highlight the following parameters.
• AC2_GetDetailBP_GRP##:Centraldataperson
• AC3_UpdateBP_GRP##
• AC4_ApproveBP_GRP##
• AC5_UpdateERPBP_GRP##,Centralperson
d) Select Group.
e) Accept the default values, for example Name probably has the value
FirstName. Select Create.
At this point if you scroll down to the bottom, you should see FirstName
listed as a <Group>.
b) click Filter.
You should see 5 last name parameters in the list from the following
actions but we only need 4.
c) Highlight the following parameters.
• AC2_GetDetailBP_GRP##:Centraldataperson
• AC3_UpdateBP_GRP##
• AC4_ApproveBP_GRP##
• AC5_UpdateERPBP_GRP##:Centralperson
d) Select Group.
e) Accept the default values, for example Name probably has the value
LastName. Select Create.
At this point if you scroll down to the bottom, you should see LastName
listed as a <Group>.
5. Map Search.
a) Use the following information.
b) click Filter.
You should see 6 search parameters in the list from the following actions
but we only need 4.
c) Highlight the following parameters.
• Searchterm1, AC2_GetDetailBP_GRP##:Centraldataperson
• SearchBy, AC3_UpdateBP_GRP##
• SearchTerm,AC4_ApproveBP_GRP##
• Searchterm1,AC5_UpdateERPBP_GRP##:Centralperson
d) Select Group.
e) Accept the default values, for example Name probably has the value
SearchBy, Select Create.
At this point if you scroll down to the bottom, you should see SearchBy,
listed as a <Group>.
Task 7:
Update the process. We do not need all default exposed parameters, and also update
role assignments.
1. Deselect exposed input parameters.
a) Highlight the process.
b) Select the parameters tab.
c) deselect the check box for every 'Exposed in Input'
d) Select Save All.
2. Ensure the approval step only occurs if the “Continue” button was selected.
a) Highlight action, AC3_UpdateBP_GRP##
b) Expand the Result States.
You should notice two results: Continue and Cancel.
c) Change the target for Cancel to AC1_InputBP_GRP##
d) Change the target for the Continue to AC4_ApproveBP_GRP##
3. Ensure the central ERP system is only updated if the change was approved.
Update the result states of the approve step to only update if approved, end
the process if rejected.
a) Highlight action, AC4_ApproveBP_GRP##.
b) Expand the Result States.
Notice two results: Input data is rejected and Input data is approved.
c) change the target for Input data is rejected to Terminal
d) Change the target for Input data is approved to AC5_Upda-
teERPBP_GRP##.
Task 8:
Update roles, save and activate
1. Update roles
a) Highlight the process.
b) Select the Roles tab.
c) For each of the steps, select the Role type to be Initiator.
d) Activate process.
Task 9:
Testing
1. Start the process from the runtime environment.
a) Guided Procedures → Runtime
b) Choose Initiate
c) Navigate to NWC120 → Unit 5 → BusinessPartnerUpdateProcess##
d) Select Next and Initiate.
e) Enter a business partner number and click complete.
In the top of the screen you see the data from the ERP system.
f) Enter a new first name, last name, and select a
new search term.
g) Click, Continue with approval and update ERP.
h) Enter the comment okay to update bp.
i) Click Approve to send your updates.
j) Optionally, execute the process again but this time reject it.
Task 10:
Check for your business partner number in the ECC backend system.
1. If you're not already logged into the ECC backend system, please do so.
a) Log into SAP ERP using your GP-## user
Lesson Summary
You should now be able to:
• Describe a sequential block type
• Create a sequential block type.
• Demonstrate how to map parameters between actions within a block.
Lesson Overview
This lesson will describe other block types.
Lesson Objectives
After completing this lesson, you will be able to:
• List block types
• Explain when to use pre-/post condition block types
• Discuss when to use the alternative block type
Business Example
All sales orders created at your company, undergo the same business process steps.
However, depending on the region of the customer, additional approval steps may be
necessary. You want to automate the approval process in these cases.
You must add a loop decision action first. The decision action defines the loop
condition. These block types require an action with two result states: Continue and
Break. The result states are not displayed in the block flow because you cannot
define targets for them. If you choose to add a second decision action, the new action
replaces the one you previously inserted.
Business Example
You currently execute a guided procedure process periodically. Now, you've
recognized the need to have an option to re-execute the process.
Task 1:
Build a process with a post-condition block
1. Log in NetWeaver 7.1 CE Portal
2. Create process, PostConditionProcess.
3. Add a post condition block, PostConditionBlock, to this process.
Task 2:
Add the action for condition.
1. Create a loop-decision action, AC1_DecideToLoop##
2. Create a callable object, CO1_DecideToLoop## of type decision dialog.
Task 3:
Import the existing sequential block.
1. Import block, BusinessPartnerUpdateBlock##, as the loop body block.
Task 4:
Update the process
1. Update roles, save and activate.
Task 5:
Testing
1. Start the process from the runtime environment.
Name PostConditionProcess##
Description PostConditionProcess##
Name PostConditionBlock##
Description PostConditionBlock##
Task 2:
Add the action for condition.
1. Create a loop-decision action, AC1_DecideToLoop##
a) Ensure that the block, PostConditionBlock##, is highlighted.
Hint: Notice in the Item field, the default text, Loop Decision
Action. This is because the block is of type 'PostCondition Loop
Block'
Name AC1_DecideToLoop##
Description AC1_DecideToLoop##
c) Select Next.
d) Make sure Decision for Loops is selected and click Next.
e) Select Next again, such that you are at step 4, Set Configuration.
f) Enter the following information.
Task 3:
Import the existing sequential block.
1. Import block, BusinessPartnerUpdateBlock##, as the loop body block.
a) Highlight the block, PostConditionBlock##.
b) Click the drop-down for Item and select Loop Body Block.
c) Click Insert.
d) Navigate to Guided Procedures → Design Time → NWC120 → Unit 5 →
Group## → BusinessPartnerUpdateBlock## and choose Select.
Your process should now have a Process, Postcondition Loop Block, Loop
Decision Action, and a Loop Body Block.
Task 4:
Update the process
1. Update roles, save and activate.
a) Highlight the process, PostConditionProcess##
b) Select the tab, Roles.
c) For each of the steps, select the Role Type to be initiator.
d) Select the tab, Parameters.
e) For each of the parameters, deselect the checkbox in the column ,
Exposed in Input.
f) Select Save All and then Activate.
Task 5:
Testing
1. Start the process from the runtime environment.
a) Guided Procedures → Runtime
b) Click Initiate
c) Navigate to NWC120 → Unit 5 → → GroupXX → PostConditionProcess##
d) Select Next and Initiate.
Business Example
You would like a guided procedure use business logic, to decide which block should
be executed.
Task 1:
Create a process with one sequential block
1. Create a process, AlternativeProcess.
2. Add a sequential block, MainAltBlock##, to this process.
Task 2:
Insert previously crate actions to get business partner number and detail.
1. Insert action, AC1_InputBP_GRP##
2. Insert action, AC2_GetBPDetail_GRP##
Task 3:
Insert and alternative block and the action to determine which block to execute.
1. Create an alternative block, AlternativeBlock##
2. Create an action, SearchBYDetermineWhichBlock##that enables you to
choose which block will execute.
3. Create a callable object of type business logic to look inside the SearchBy field
to determine which block to execute.
4. Test your new business logic callable object.
Task 4:
Create two blocks, one for each result state.
Create two blocks for the result states. For the EMEA result state, you will call
the OneApproverBlock##. For the not EMEA result state, use block name
NoApproversBlock##.
1. Create a sequential block within the alternatives block called
OneApproverBlock##.
2. Create a sequential block within the alternatives block called
NoApproversBlock##.
Task 5:
Create approval steps inside approval blocks and set result state to correct block.
Update the approval blocks by adding appropriate steps for each block.
OneApproverBlock## should have 3 steps:
• Update BP
• Approve BP
• Update ERP
• Update BP
• Update ERP
Task 6:
Update the process
Now we do some final updates to the process before testing. This includes parameters
updates and updating role assignments.
1. Update parameter mapping for MainAltBlock.
2. Update parameter mapping for AlternativesBlock##
3. Complete update parameter mapping for MainAltBlock##
4. Optionally, deselect any parameters that are exposed. If you do not do this step,
you must fill in required parameters when testing your process.
5. Update roles, save, and activate.
Task 7:
Test your process
1. Test your process and verify it works correctly. To do this you need a business
partner number. You should have a business partner number created from a
previous exercise. If not, ask your instructor for a business partner number.
Start your process with the guided procedures runtime. Execute the process
twice to execute each alternative block.
Name AltenrativeProcess##
Description AltenrativeProcess##
Name MainAltBlock##
Description MainAltBlock##
Task 2:
Insert previously crate actions to get business partner number and detail.
1. Insert action, AC1_InputBP_GRP##
a) With the block already highlighted, click Insert.
b) Navigate to Guided Procedures → Design Time → NWC120 → Unit 5 →
Group## → AC1_InputBP_GRP## and choose select.
2. Insert action, AC2_GetBPDetail_GRP##
a) With the block already highlighted, click Insert.
b) Navigate to NWC120 → Unit 5 → Group## → AC1_InputBP_GRP##
and choose select.
Task 3:
Insert and alternative block and the action to determine which block to execute.
1. Create an alternative block, AlternativeBlock##
a) Highlight the block, MainAltBlock## and change the Item area so that
Block as subnode is selected.
b) Select, Alternatives Block and choose Select.
c) Highlight the block and enter the following information.
Name AlternativesBlock##
Description AlternativesBlock##
Name SearchByDetermineWhich-
Block##
Description SearchByDetermineWhich-
Block##
3. Create a callable object of type business logic to look inside the SearchBy field
to determine which block to execute.
a) With the action, SearchByDetermineWhichBlock## highlighted,
click, Create New.
b) Enter the following information.
Task 4:
Create two blocks, one for each result state.
Create two blocks for the result states. For the EMEA result state, you will call
the OneApproverBlock##. For the not EMEA result state, use block name
NoApproversBlock##.
1. Create a sequential block within the alternatives block called
OneApproverBlock##.
a) Place the cursor on your recently created ALTERNATIVE
block,AlternativesBlock## , so that the Item area is focused on Block
(as subnode).
b) Select Create New. Select Sequential block and rename this block
OneApproverBlock##.
c) Select Save all to save your guided procedure.
2. Create a sequential block within the alternatives block called
NoApproversBlock##.
a) Place the cursor on your recently created block, AlternativesBlock## so
that the Item area is focused on Block (as subnode).
b) Select Create New. Select Sequential block and rename this block
NoApproversBlock##.
c) Select Save all to save your guided procedure.
Task 5:
Create approval steps inside approval blocks and set result state to correct block.
Update the approval blocks by adding appropriate steps for each block.
OneApproverBlock## should have 3 steps:
• Update BP
• Approve BP
• Update ERP
• Update BP
• Update ERP
Task 6:
Update the process
Now we do some final updates to the process before testing. This includes parameters
updates and updating role assignments.
1. Update parameter mapping for MainAltBlock.
a) Highlight main block, MainAltBlock##, and select the tab Parameters.
b) Map the business partner, as shown in following table.
BusinessPartnerNumber AC1_InpputBP_GRP##
Businesspartner AC2_GetBPDetail_GRP##,
Businesspartner AlternativesBlock##.
Task 7:
Test your process
1. Test your process and verify it works correctly. To do this you need a business
partner number. You should have a business partner number created from a
previous exercise. If not, ask your instructor for a business partner number.
Start your process with the guided procedures runtime. Execute the process
twice to execute each alternative block.
a) Before testing your process, login to your backend system and update
your business partner to have EMEA as the search term. Do this by going
to transaction code BP and changing your business partner. Ask your
instructor if you do not remember how to access your business partner.
b) You can test the process from the design time via the Instantiation tab or
from the runtime. These instructions use the runtime to test the process.
c) Navigate to Guided Procedures → Runtime. Select Initiate a New Process
under the Start a New Process Item.
d) Select your process in NWC120 → Unit 5 → Group## →
AlternativeProcess## .
e) Select Next and Initiate
f) Enter your business partner number with preceding zeros, for example,
0000000101. The business partner number has a length of 10. Click
Complete.
g) Execute the process so that one of the alternative blocks occurs. Then
execute the process again to test the other alternative block.
Lesson Summary
You should now be able to:
• List block types
• Explain when to use pre-/post condition block types
• Discuss when to use the alternative block type
Lesson Overview
This lesson will explain personal templates
Lesson Objectives
After completing this lesson, you will be able to:
• Recognize the features of personal templates
Business Example
You want to explain options to your department members that will help them to
personalize a guided procedure.
Personal Templates
• Personal Templates
– Guided Procedures Personal Templates enable you to:
Store development objects in a ‘private’ location, unseen from the Gallery.
Enable business users to have their own ‘workspace’.
Can be published to ‘Public’ templates that others can access the templates.
Provides limited functions. Users can create Actions and Processes but
not callable objects.
The Guided Procedures end-user design time and the Personal Templates workset is a
tool with which the end-user can define processes in a simplified environment.
Using this workset, the GP User designs simple processes. The workset is part of the
simplified GP User design time accessible to the GP User portal role (along with GP
runtime). Compared to the GP regular design time it is a restricted workset providing
an easier to use but more limited environment.
The system stores all development objects belonging to the action and the process
template types in this Personal Templates workset.
In particular, if the only role you have is the GP User portal role, you can only use a
specific selection of Callable Objects in the GP User design time when creating your
actions. You can only use those Callable Objects which have been assigned the basic
permission level. Users who have the GP Expert User portal role, however, can see all
elements, that is, all elements from the basic, advanced, and expert levels.
You can use this function to create your own simple processes without having to use
the highly complex GP design time functionality.
You create your processes simply by using the Action development object type. This
means you do not have to bother about integrating further types (blocks, callable
objects); Callable objects are automatically integrated by the system.
You do not have to pay attention to the versioning aspects which are valid for GP
development objects in the design time.
You do not have to activate your development objects - that is your actions and
process templates manually.
Two wizards are available for creating simple Process template objects (see Supported
types of Processes for details):
Check List Wizard - a single phase process with parallel activities and a single
processor.
Simple Sequence Wizard - a single phase sequential process with multiple
processors When creating a process, you always create an action as well. Both
wizards include the step Defining Activities that is identical to the Create Action
function.
When creating a process, you always create an action as well. Both wizards include
the step Defining Activities that is identical to the Create Action function.
This Create Process function in the Personal Templates workset is identical to the
Design and Start a Simple Process function in the Runtime environment.
You can use this function to create your own simple processes without having to use
the complex functionality of the GP design time.
Contextual Navigation Panel
Using the links available in the contextual navigation panel, you can create the
objects that are stored in the Personal Templates workset.
Filters and Content Management
Using the available filters, you can choose to display only the selected types
of objects that are stored in the Personal Templates – actions or processes. In
addition, you can create and edit folders, delete and publish objects.
GP Content
The content of the Personal Templates is displayed in the central frame. Here
you can browse the available folders and manage them or their content.
Lesson Summary
You should now be able to:
• Recognize the features of personal templates
Lesson Overview
The purpose of this lesson is to explain how to test a guided procedure process.
Lesson Objectives
After completing this lesson, you will be able to:
• Test the guided procedure process from design time.
Business Example
As a developer, you need to check that your guided procedure works from the design
time screen.
Testing a process
In design time, while your process in edit or display mode you can test the process
from the Instantiation tab.Optional: Configure the allowed process instance number
by selecting one of the following:
Multiple instances are permitted
At runtime, you can start multiple processes from the same template
simultaneously; this option is enabled by default
A single running instance is permitted for each user
If a user has initiated a process from this template, he or she cannot start another
instance before the first process is completed
Business Example
Before handing off your completed guided process to end users, you would like to test
it from the Design Time Environment
Task:
Test your process from Design Time
1. Log in NetWeaver 7.1 CE Portal
2. Navigate to Design Time
3. Test
Lesson Summary
You should now be able to:
• Test the guided procedure process from design time.
Unit Summary
You should now be able to:
• Describe a sequential block type
• Create a sequential block type.
• Demonstrate how to map parameters between actions within a block.
• List block types
• Explain when to use pre-/post condition block types
• Discuss when to use the alternative block type
• Recognize the features of personal templates
• Test the guided procedure process from design time.
Unit Overview
In this unit you'll design an email template that can be used within a guided procedure.
Unit Objectives
After completing this unit, you will be able to:
Unit Contents
Lesson: Email Templates .......................................................... 200
Exercise 15: Creating an Email Template ................................... 207
Lesson Overview
The lesson introduces you to Guided Procedures (GP) framework which can generate
e-mail messages for notifications.
Lesson Objectives
After completing this lesson, you will be able to:
• Create an email template
Business Example
You require a step within your guided procedure to send an email to an approving
manager. The manager will need to review some of the process specific content to
make a decision.
Email Templates
Since Guided Procedures are often interactive composites that require the input
and cooperation of several actors, there must be a way to communicate vital
information, such as required actions, impending deadlines, approval requests, and
acknowledgements. Users are most comfortable with email, and thus that is a standard
way for CAF GP to link users in processes. It is impossible, however, to know at
design time all of the information which needs to be in the email at runtime; some of
the information will be specific to the sender, recipient, date/time, or specifics of the
process instance. For that reason, CAF GP allows to set up email templates that let
you build the basic message and fill it with process-specific content at runtime.
The Administration workset allows you to manage e-mail templates, which are used
as e-mail notifications in the Guided Procedures (GP) runtime. Guided Procedures
uses e-mails for various purposes. Here are some examples:
• Sending a form (as attachment to an e-mail)
• Sending error reports
• Sending confirmations, for example, of request approvals
Replacement
a parameter that you can enter in a MIME template at design time. This
parameter is replaced by a custom value at runtime.
You can use replacements when you want to personalize the e-mails that are sent by
Guided Procedures (GP). Using the scripting language, you can define replacements
for the context parameters of the callable object using the e-mail template provided,
the built-in parameters that give system information, and the built-in process roles.
For example, if you want to address the recipient directly in the e-mail, you can
enter a replacement at the beginning of the e-mail, and at runtime the system enters
the relevant name there.
Hint: The seemingly quote symbol is actually the key on the keyboard next to
the number '1'.
Business Example
You would like to create an email template that can be used when approving or
rejecting actions during runtime of a guided procedure process.
Task:
Create an email template.
1. Log in NetWeaver CE Portal
2. Navigate to Maintain Email Templates.
3. Create the email template.
<html>
<head>
<title>DueDate</title>
</head>
<body>
<p>
Dear Mr/Mrs
‘
{
writeln (role.initiator.lastname)
‘,
</p>
<p>
This is to alert you that the due date for your process has arrived, and you
must complete the process or miss the deadline.
</p>
<p>Best Regards,</p>
<p><i>Process Administrator</i></p>
Hint: You must enclose the scripting element in the salutation with
the back tick (‘), not the single quote. It is the key to the left of the
#1, on your keyboard. The back tick,(also known as the grave) is
the unshifted tilde key on English keyboards.
Lesson Summary
You should now be able to:
• Create an email template
Unit Summary
You should now be able to:
• Create an email template
Unit Overview
Unit Objectives
After completing this unit, you will be able to:
Unit Contents
Lesson: Reasons for forms ........................................................ 214
Lesson: Using Forms within Guided Procedures ............................... 219
Exercise 16: Adobe Interactive Form Starts Guided Procedure ......... 225
Exercise 17: Optional: Adobe From Troubleshooting ..................... 241
Lesson: Administrative Task....................................................... 246
Exercise 18: Adobe Remote Form Setting .................................. 251
Lesson Overview
This lesson will cover the advantages of using electronic forms.
Lesson Objectives
After completing this lesson, you will be able to:
• Discuss the evolution of paper forms to electronic forms.
Business Example
You have to convince your manager of the advantages of using electronic forms over
paper forms.
• Understanding Forms
– Forms typically offer a service, share knowledge, or collect and provide
answers.
– A form is the document that an end user views or interacts with.
– The form design specifies the layout, data capture, and final presentation
rules for the form
Almost all employees within your company deal with some type of form to initiate
a business process or to continue the process or to finally complete/approve the
process. Some typical examples when forms may be used to facilitate a business
process are as follows.
forms and also automating the rendering of user entries from forms. As such, the steps
of the process which require forms can potentially be handled much more efficiently
between users, which can expedite a more rapid closure of the business process.
Lesson Summary
You should now be able to:
• Discuss the evolution of paper forms to electronic forms.
Lesson Overview
This lesson will demonstrate how to create and use an interactive form, to start a
guided procedure.
Lesson Objectives
After completing this lesson, you will be able to:
• Describe how forms can be used within guided procedures.
• Describe how standalone forms can be used to initiate a guided procedure
process.
• Create an interactive form.
Business Example
You want your guided procedures to be initiated via an interactive form.
The form designer should implement functionality that enables the user to submit data
back to the GP framework. Sending data from an interactive form to the GP system is
possible when parameter http.server.base.url of service caf/eu/gp/model is configured
to the appropriate value. (not shown)
You need to include a button with the following parameters in the form:
• Control Type - select Submit
• Submit Format -select XML Data (XML)
• Submit to URL -enter the following string:%com.sap.caf.gp.if.PostProces-
sorUrl%
At runtime, when the user submits the form back to the system, the above URL string
is replaced by the relevant server-side information, and the data is sent back to the
server in XML format.
Some things to note regarding forms that start a guided procedure process.
• With the process line selected, leave the 'exposed in' field selected for the field
values in the process that will receive data from the form.
• With the process line selected, do not set all actions to be 'initiator'. Remember
the initiator, in this case is the person that submitted the form. Instead, leave the
actions set to 'Initiation Defined'. From the 'Default Roles' tab add a specific user
or users or group or roles. The way when the Guided Procedure server receives
the process, it will know who's inbox should receive the task.
• Logical Configuration (step 6), be prepared to use the browse option to search
for your *.xdpform. Also, in this step, you must first choose save to receive the
define mapping option. Then, you must click define mapping to dictate which
fields on the form you would to be passed through to the guided procedure.
• Configuration (step 7), be prepared to use the browse option to search for the
process, that you wish to invoked from your form. Also, once you select the
appropriate process, you'll have to define mapping between fields of the form
and the guided procedure fields.
In this case, you'll have some actions that execute before the form is updated with
data. The form fields will be filled-in per parameter mappings which indicate which
values to pass into the form. The form is then via email to a recipient. The recipient
will then open their email and the form attachment. When the recipient clicks 'submit',
the form will be sent back to the guided procedure. If you are the guided procedure
owner, you will see the guided procedure appear in your runtime inbox environment.
When defining the composite form, it is important to understand the options in the
configuration step.
Enable Use in Guided Procedures
The form will be exposed as a callable object that is executed in background
mode. The timeout of the form is handled automatically by the GP framework.
Start Process on Completion
Select a process template that will be initiated upon successful post-processing
of the interactive form.
Choose E-mail Template
The interactive form is generated from the form template, and stored in the
process context. The form is then sent via e-mail to a recipient. The recipient
will click submit to have the form returned to the process.
Define Timeout
if the form is not returned to the system for post-processing before the time-out
expires, it gets invalidated
Provide Impersonalized Composite Form
Create an impersonalized form that is not associated with a particular user
session, and may be submitted to the system multiple times.
Business Example
You want to create a business process that will be initiated by someone submitting
a form. Also, you would like to use copy and reuse existing callable objects in you
new process.
Task 1:
Create a process to update a business partner
1. Log into NetWeaver 7.1 CE
2. Log into Design Time
3. Create a sequential block, AdobeBPUpdateBlock
4. Create an action, Adobe_AC1_InputBP_GRP##
5. Create an action, Adobe_AC2_GetBPDetail_GRP##
6. Create an action, Adobe_AC3_UpdateBP_GRP##
7. Insert a step into Adobe_AC1_InputBP_GRP##.
Task 2:
Configure parameter mapping to pass data between the actions.
1. Notice the parameters.
2. Map the business partner.
3. Map the first name.
4. Map the last name.
5. Map the last name.
Task 3:
Configure your user id, for all actions in the Default Roles tab
1. Configure default roles.
Task 4:
Create the composite form to call the *.xdp file.
1. This exercise MUST be performed from the server.
Task 5:
Generate the pdf file.
1. Create the pdf
Task 6:
Test the interactive form
1. Test the interactive form.
Hint: Select the left most button to highlight a line item in the
process flow window.
Make sure to highlight the process line and then enter the following.
Name AdobeToStartBPUp-
dateProcess##
Description AdobeToStartBPUp-
dateProcess##
Name AdobeBPUpdateBlock##
Description AdobeBPUpdateBlock##
Name Adobe_AC1_InputBP_GRP##
Description Adobe_AC1_InputBP_GRP##
Name Adobe_AC2_GetBPDe-
tail_GRP##
Description Adobe_AC2_GetBPDe-
tail_GRP##
Name Adobe_AC3_Up-
dateBP_GRP##
Description Adobe_AC3_Up-
dateBP_GRP##
You have now created all of the necessary actions. At this point, we will
simply insert the callable objects.
Task 2:
Configure parameter mapping to pass data between the actions.
1. Notice the parameters.
a) Place the cursor on your block and select the tab Parameters.
You should see a list of all parameters for each step. This includes all BAPI
import parameters and all RFC import parameters. Notice the parameters
for each of the actions.
c) click Filter.
You should see 2business parameters in the list from the following actions,
AC1_InputBP_GRPXX, AC2_GetDetailBP_GRPXX
d) Highlight both parameters, using the 'cntrl' key to select multiple lines.
e) Select Group.
f) Accept the default values, for example Name probably has the value
BusinessPartner. Select Create.
At this point if you scroll down to the bottom, you should see
BusinessPartner listed as a <Group>.
b) click Filter.
You should see several first name parameters in the list from the following
actions but we only need 2.
c) Highlight the following parameters.
• AC2_GetDetailBP_GRP##:Centraldataperson
• AC3_UpdateBP_GRP##
d) Select Group.
e) Accept the default values, for example Name probably has the value
FirstName. Select Create.
At this point if you scroll down to the bottom, you should see FirstName
listed as a <Group>.
b) click Filter.
You should see several last name parameters in the list from the following
actions but we only need 2.
c) Highlight the following parameters.
• AC2_GetDetailBP_GRP##:Centraldataperson
• AC3_UpdateBP_GRP##
d) Select Group.
e) Accept the default values, for example Name probably has the value
LastName. Select Create.
At this point if you scroll down to the bottom, you should see LastName
listed as a <Group>.
b) click Filter.
You should see several search parameters in the list from the following
actions but we only need 2.
c) Highlight the following parameters.
• Searchterm1, AC2_GetDetailBP_GRP##:Centraldata
• SearchBy, AC3_UpdateBP_GRP##
d) Select Group.
e) Accept the default values, for example Name probably has the value
SearchBy, Select Create.
At this point if you scroll down to the bottom, you should see SearchBy,
listed as a <Group>.
Task 3:
Configure your user id, for all actions in the Default Roles tab
1. Configure default roles.
Choose Add.
g) Notice the current value in the field is Overseer. Click the dropdown to
notice the list of all roles.
h) Repeat the steps to add your user as the default user for each of the
roles.
i) Save All and Activate.
j) Please notice that we did not de-select the 'exposed in input' parameters.
This is so that when the form initiates the process, the first action will
receive the business partner value.
Task 4:
Create the composite form to call the *.xdp file.
1. This exercise MUST be performed from the server.
a) To log into the server: Start → Programs → Accessories → Remote
Desktop Connection
b) Computer is your server name that you've been assigned for the course,
for example, twdf####.
c) User name: should be <ask instructor> and Password should be
<ask instructor>
Now you're logged into the server. If you're not used to logging into a
server from Citrix, please make these observations. At the top, middle of
the screen, you'll notice the server name, within a grey area. Also in this
grey area, you'll notice the minimize button. Use this minimize button to
minimize the server. If you continue to look across the top of the window
you'll notice, in the upper right another minimize. Be careful not to confuse
this minimize icon with the server minimize icon. If you click on the upper
right, minimize button, then you'll be minimizing the entire Citrix window.
Also, when you're finished working on the server, make sure to use the
server start option. Depending on window sizing, you may see two starts
our you may have to scroll down to get to the server start. Anyway, to log
off of the server start →Log Off ce1adm i
d) Log into the NetWeaver CE portal: http://localhost:50000/irj
e) Navigate to Guided Procedures → Design Time → NWC120 → Unit 7
Forms Processing→ Group ##.
f) Click Create Composite Form
g)
Name AdobeFormToStartPro-
cess_Grp##
Description reference *.xdp file.
Task 5:
Generate the pdf file.
1. Create the pdf
a) Navigate to Guided Procedures → Administration → Manage
Impersonalize Forms
b) Highlight the line item AdobeFormToStartProcess##
c) Click Create Form
d) It is okay to leave the fields blank. Click Create
You should now notice a field labeled Download File with the file name of
AdobeXMLForm.pdf
e) Click on the file name AdobeXMLForm.pdf
f) Choose Save
g) Navigate to G:\temp
h) Before you click save, rename the file to AdobeXMLForm##.pdf and
then click Save.
i) Choose Open
Task 6:
Test the interactive form
1. Test the interactive form.
a) Before adding a business partner number and click submit, first check if
you already have a process already open. Toggle to the NetWeaver CE
portal. Go to Guided Procedures → Runtime.
Notice the number for Process which I own.
b) Toggle back to your form.
c) For BusinessParnterNumber, enter the number you had earlier or ask
your instructor for a number
d) Click Submit
e) Toggle back to the Runtime Screen.
f) Refresh the screen by clicking on DesignTime and click on Runtime.
You should the number of processes that I own has increased by 1. If not,
take a break and start trouble-shooting or wait for the next section. Perhaps,
you'll get some troubleshooting ideas.
g) For 'Processes Which I Own', click Incomplete Processes Where Role
Assigned is Owner
h) Click the lineAdobeToStartBPUpdateProcessXX
You should see your business partner number already in the field.
Business Example
You've created a process and also an interactive form that can initiate a guided
procedure. The problem is that no value is being sent to the process. You want to usr
NetWeaver Administrator to analyze the problem.
Task:
Use Netweaver Administrator to analyze a problem.
1. Use the form to initiate the process
2. User NetWeaver Administrator to troubleshoot.
3. Examine the Composite Form.
Lesson Summary
You should now be able to:
• Describe how forms can be used within guided procedures.
• Describe how standalone forms can be used to initiate a guided procedure
process.
• Create an interactive form.
Lesson Overview
This lesson will cover administrative responsibilities to set up ADS, Adobe Document
Services.
Lesson Objectives
After completing this lesson, you will be able to:
• Recognize the possibility to pre-populate fields within the form
• Discuss the option to validate the data entered in the form
Business Example
As a technical person, you need to know the parameters and/or configuration options
that apply to guided procedures.
Impersonalized Forms
Once you have the *.xdp form and also have created the composite form with Design
Time, it is then time to generate the pdf file. This generated pdf file, is the form, with
the submit button. This is the file, in which the user will click submit so that the file
will be passed to the guided procedures process.
You can view the gp parameters by accessing the NetWeaver Administrator. There
are 3 main parameters to check. They are as follows:
http.server.base.url
This parameter should have the server host name. This information is used
when as the properties when the xdp file is created and the pdf is generated. Be
careful not to use the value localhost. If localhost is the value then the pdf will
not work from any other host.
smtp.server
Set with your mail server domain.
mail.connector.start.thread
true
If you checked the guided procedure parameters in the NetWeaver Administrator and
found incorrect values, then you can use the Java configuration tool for editing the
parameters. This is typically a responsibility of the basis team.
Prerequisites: You have made sure your system environment provides access to an
SLD system where Adobe Document Services (ADS) are installed, configured, and
running, as described in the ADS Configuration Guide. For more information see
http://www.sdn.sap.com/irj/sdn/adobe
In the Visual Administrator, make sure the following (cluster) settings for the Web
Services Security service are correct:
• IntheWeb Services navigation tree, under Web Service Clients, configure
tc~wd~pdfobject
• Destination URL SLD; make sure the url field holds a value
• Authentication Basic
Alternatively, if you choose an option that uses client certification, you need to
configure this certificate for a different port on the client proxy. For more information,
refer to the above-mentioned Adobe Document Services configuration guide.
• User, for example, ADSuser
• Password, for example,ads0815
• System Name, for example, SID.SystemHome.xyz4711
• WS Name, {com.adobe/AdobeDocumentServices}{AdobeDocumentService-
sAssembly.jar}{AdobeDocumentServices}
• WS Port, {com.adobe/AdobeDocumentServices}{AdobeDocumentSer-
vicesAssembly.jar}{AdobeDocumentServices}{urn:AdobeDocumentSer-
vicesWsd}ConfigPort_Document
Business Example
You would like for your end users to initiate a guided procedure using an Adobe
form, from their desktop
Task:
Verify parameter value
1. Log into NetWeaver Administrator
Note: This parameter value is used upon creation of the adobe xdp
form. Our xdp form was created with this current parameter setting.
Therefore, currently, if you generate the impersonalized form
(pdf) from the server, the submit button will send the data to itself
(localhost). If you, instead generate the impersonalized form (pdf)
from your citrix session and click the submit button from citrix,
then citrix will attempt to deliver the data to itself, thus error out.
This parameter would have to be changed to hold the actual server
name. This way, when the xdp form is created, it will hold the
actual server name as the target for the submit button.
In this NetWeaver Administration window, the screen information
is display only. Typically, the job of changing java parameters
is a basis responsibility. Java parameters are changed in the
configuration screen cluster data → instance ###### → services
→ caf~eu~gp~model. After changing the parameter, then the
system would have to be restarted, for example, via the SAPMMC
Lesson Summary
You should now be able to:
• Recognize the possibility to pre-populate fields within the form
• Discuss the option to validate the data entered in the form
Unit Summary
You should now be able to:
• Discuss the evolution of paper forms to electronic forms.
• Describe how forms can be used within guided procedures.
• Describe how standalone forms can be used to initiate a guided procedure
process.
• Create an interactive form.
• Recognize the possibility to pre-populate fields within the form
• Discuss the option to validate the data entered in the form
Unit Overview
Unit Objectives
After completing this unit, you will be able to:
• Assign users to roles to establish their authorizations for executing the guided
procedure
• Assign dues dates for individual task within a guided procedure
• Discuss ways to deal with unexpected situations that arise during a guided
procedure execution
• Define the options for starting guided procedures
• Design a universal worklist to receive guided procedures actions
Unit Contents
Lesson: Assignment of Users to Process Roles................................ 256
Exercise 19: User Assignment................................................ 261
Lesson: Additional Step Types .................................................... 267
Exercise 20: Due Dates ....................................................... 275
Exercise 21: Optional:Exception Handling .................................. 281
Lesson Overview
The purpose of this lesson is to describe the options of user assignment for guided
procedure processes.
Lesson Objectives
After completing this lesson, you will be able to:
• Assign users to roles to establish their authorizations for executing the guided
procedure
Business Example
You are responsible for defining the roles for guided procedures and assigning users to
the roles.
User Assignement
However, this will be very slow and tedious if the process is big. Process roles is used
to group steps that are executed by similar user together. And during initiation time,
the initiator just need to assign users to each of the process roles.
Initiation Defined
User assignments for the role are done at process initiation. You can also
configure the following options for the role:
Default Definition Required
With this option selected, you must also define a default user assignment
for the role, as explained in section Defining Defaults.
Overwritable at Runtime
With this option selected, the defaults defined for the role can be
overwritten when the process is being initiated.
Filled from Context Parameter
This option is configurable at block level, whenever input context
parameters are available.
Initiator
The user who initiates the process is assigned to the role.
Runtime Defined
User assignments for the role are done during the process lifetime by the
corresponding callable object (for example Assign Users to Process Roles).
Business Example
You would like a manager to approve a step within the guided procedure.
Task:
Build a Process with a sequential block
1. Create the process, AssignUserToRoleBlockXX
2. Create the block, AssignUserToRoleBlock##
3. Add 3 Actions to the new block.
4. Create callable object, CO_PickUser##, for the action PickUser##.
5. Create callable object, CO_AssignUser##, for the action AssignUserToRole##.
6. Create callable object, CO_DoWork, for the action DoActualWork##
7. Map the UniqueID from PickUser## to User Identifier from
AssignUserToRole##. Map then to the name UserID.
8. Consolidate the roles for steps 2 and 3 to be processed by the same person, and
ensure this role is step to Runtime defined.
9. Test the process
Name AssignUserToRoleBlockXX
Description work with user
assignments
Name AssignUserToRoleBlockXX
Description work with user
assignments
c) Click Next.
d) Enter http://www.sap.com as the URL.
e) Continue through the wizard until you can select Finish
7. Map the UniqueID from PickUser## to User Identifier from
AssignUserToRole##. Map then to the name UserID.
a) Highlight the block and select the tab Parameters.
b) Highlight the following actions, using the control key.
• UniqueID, PickUser
• UserIdentifier, UserList → User Item → UserIdentifier
c) Click Group and for the field Name enter UserId
d) Deselect all 'Exposed in Input' parameters.
e) Save all
Continued on next page
8. Consolidate the roles for steps 2 and 3 to be processed by the same person, and
ensure this role is step to Runtime defined.
a) Highlight the process and select the Roles tab.
b) Highlight the following roles, using the 'cntrl' key
• Processor for AssignUserToRole##
• Processor for DoActualWork##
c) In the Consolidate field enter Worker and select Go.
d) Highlight the Worker role, and set the role type to Runtime Defined
e) Set all the other roles to Initiator
f) Save and Activate.
9. Test the process
a) Navigate to Guided Procedures → Runtime and select Initiate a New
Process
b) Navigate to NWC20 → Unit 8 → Group## → AssignUserToRoleProcess##
and select Next and then click Initiate.
c) For the Find field, type Manager-## and click Go.
d) Login as Manager-## and navigate to Guided Procedures → Runtime.
e) Notice the line item 'Task that require my action'.
f) Drill into this area and then click the process and then click Complete.
g) If you now toggle back to your gp-## user session, you'll notice the process
has completed.
Lesson Summary
You should now be able to:
• Assign users to roles to establish their authorizations for executing the guided
procedure
Lesson Overview
The purpose of this lesson is to explain Deadline, Exception Handling step types.
Lesson Objectives
After completing this lesson, you will be able to:
• Assign dues dates for individual task within a guided procedure
• Discuss ways to deal with unexpected situations that arise during a guided
procedure execution
• Define the options for starting guided procedures
• Design a universal worklist to receive guided procedures actions
Business Example
In designing your guided procedure, you've recognized the need for adding in due
dates for approvals. You also need to define how the guided procedure will react to an
unexpected situation. You want to use special step types in your guided procedure.
Due Dates
As a prerequisite for the action, an e-mail template should be created, for the messages
to be sent. Additionally, a callable object of type Send Notifications must be created.
For a particular process or action, you can create only one due date notification. The
date of this notification is displayed in the GP worklist in the portal. The number of all
other notifications set before the due date is not limited.
• Actions
• Processes
Date
Specify the exact date for the item’s completion.
Duration
Specify the exact period for item’s completion.
On Assign
Available for actions if the notification is not for a due date.
You use this type of notification whenever you want to inform a user that a task
has been assigned to him or her. The task appears as a worklist item in the portal.
On Deassign
Available for actions if the notification is not for a due date.
You use this type of notification whenever you want to inform a user that a task
has been removed from his or her worklist and assigned to a different user.
Exception Handling
To define what happens after the exception handler is called, select Strategy. You can
choose one of the following entries from the dropdown list box:
Continue
The next step after finalizing the exception handler action is the step after the
action that reported the exception.
Repeat
The next step after finalizing the exception handler action is the action that
reported the exception.
You can map the parameters of the current block to those of the exception handler,
or set default values for them.
• To map the output parameters from the block to the correct input parameters for
the exception handler, choose Map Input Parameters.
• To map the output parameters from the exception handler to the correct input
parameters for the block, choose Map Output Parameters.
Select a parameter in the left-hand table and the parameter that you want to map in
the right-hand table. Repeat this step for all parameters that you want to map and
choose Done.
At runtime, if the system returns an error message, the exception handling mechanisms
activate the exception handler, which continues the process flow according to the
defined strategy.
Universal Worklist
Expect additional task engines to be integrated into the Universal Worklist in future
releases.
Business Example
Your process requires action within a specific time frame. You plan to send deadline
notifications to the responsible person of an action.
Task:
Create a process that uses a deadline step
1. Log into NetWeaver 7.1 CE Portal
2. Check email connection
3. Create a callable object, CO_SendNotification## of type Send
Notification.
4. Create a process, DudeDateProcess##, with a deadline
5. Create a block, Block,DueDateBlock##
6. Insert action, DoActualWork##
7. Add deadline
8. Perform user assignment.
9. Test the process
Name DueDateProcess##
Description Due date expected
Name DueDateBlock##
Description Due date expected
7. Add deadline
a) Highlight the action, DoActualWork##
b) Select Toggle Single Edit Mode to create a new version for your action
c) Select the Due Date tab
d) Chose Add Due Date and use the following information
e) Click Ok
f) Chose Add Notification and use the following information
Business Example
You would like to call a bapi to obtain user id detail. If you request a user that does
not exist, you would like for the guided procedure to provide another opportunity to
type in a different user id
Task 1:
Use exception handling to for an BAPI call.
Note: Depending on the support package level of your system, this exception
handling may not work with strategy 'repeat'.
Task 2:
Create an action for the exception processing and add the exception to the block.
1. Create the action, ACTION:HandleException##
2. Insert the callable object, CO_GetUserID##
3. Insert the new action into your process, ExceptionProcess##
Task 3:
Perform parameter mapping and update you process
1. Perform parameter mapping on the block.
Continued on next page
Task 4:
Test the process
1. Test the process
Note: Depending on the support package level of your system, this exception
handling may not work with strategy 'repeat'.
Name ExceptionProcess##
Description exception process
c) With your process highlighted, click Create New and use the following
information
Make sure the highlight the block.
Name ExceptionBlock##
Description exception block
d) With your block highlighted, click Create New and use the following
information
Make sure the highlight the action.
Name AC_GetUserID##
Description get user id
e) With your action highlighted, click Create New and use the following
information
f) Select Next and select Insert New to enter the field for the use ID.
g) Use the following information
Name: UserID
Technical name: UserID
3. Add the action and callable object to retrieve user data from the central ERP
system. Call the action AC_GetUserDetail##. Name the callable object
CO_GetUserDetail##
a) Highlight the block, click Create New and use the following information
Make sure the highlight the action.
Name AC_GetUserDetail##
Description get user detail
b) With your action highlighted, click Create New and use the following
information
c) Click Next
d) Choose the endpoint given to you by instructor
e) For the field Function type BAPI_USER_GET_DETAIL and click
Search
f) Highlight the bapi and choose Next
g) Select Next until you get to Set Configuration. Enter the following
information
4. Add the action and callable object to display the user ID and last name. Call the
action AC_DisplayUser##. Name the callable object CO_DisplayUser##.
a) Highlight the block, click Create New and use the following information
Make sure the highlight the action.
Name AC_DisplayUser##
Description displayuser detail
b) With your action highlighted, click Create New and use the following
information
c) Select Next and select Insert New. Insert a total of 2 fields. Use the
following information.
Task 2:
Create an action for the exception processing and add the exception to the block.
1. Create the action, ACTION:HandleException##
a) Click Gallery and then Navigate toGuided Procedures → Design Time
→ NWC20 → Unit 8 → Group##
b) With your folder highlighted, click Create Action
c) Click Select to accept English as the default language.
d) Highlight the action, use the following information.
Name ACTION:HandleExcep-
toin##
Description repeat action
Task 3:
Perform parameter mapping and update you process
1. Perform parameter mapping on the block.
a) Highlight the block and select Parameters tab.
b) Highlight the following parameters, using the <cntrl>
UserID,AC_GetUserID##
Username,AC_GetUserDetail##
UserID,AC_DisplayUser##
LastName,AC_GetUserDetail## –>Address
LastName,AC_DisplayUser##
Task 4:
Test the process
1. Test the process
a) Navigate to Guided Procedures → Runtime
b) Select Initiate a new process
c) Navigate to NWC20 → Unit 8 → Group## → ExceptionProcess##
d) Select Next and initiate your process. For the user ID field, enter
WF_Batch. The user data should then be diplayed.
e) Restart you process. This time for user id type a user that does not exist,
such as , WF-NOT, as the user. The exception should occur and you will
again be asked for a user id.
Lesson Summary
You should now be able to:
• Assign dues dates for individual task within a guided procedure
• Discuss ways to deal with unexpected situations that arise during a guided
procedure execution
• Define the options for starting guided procedures
• Design a universal worklist to receive guided procedures actions
Unit Summary
You should now be able to:
• Assign users to roles to establish their authorizations for executing the guided
procedure
• Assign dues dates for individual task within a guided procedure
• Discuss ways to deal with unexpected situations that arise during a guided
procedure execution
• Define the options for starting guided procedures
• Design a universal worklist to receive guided procedures actions
Unit Overview
Unit Objectives
After completing this unit, you will be able to:
Unit Contents
Lesson: Administration and Monitoring .......................................... 294
Lesson Overview
The purpose of this lesson is to cover administration and monitoring tools for guided
procedures.
Lesson Objectives
After completing this lesson, you will be able to:
• Discuss monitoring guided procedures
• List the major functions available in guided procedures administration
Business Example
You've been tasked to monitor the guided procedures environment. You want to
analyze the monitoring tools available for guided procedures.
Administration
The Administration workset is the central administration tool for Guided Procedures
(GP). With the Administration workset, you can:
• Carry out general administration tasks related to the GP design time, runtime
and background frameworks
• Manage transports
• Manage archiving and deleting jobs
• Manage archiving and deleting jobs
This function allows you to make complete categories of the design time available
for other users and SAP Systems. A transport request collects these objects for the
export to another SAP System or to your local computer.
Export to Local Computer
The transport request is exported to your local computer in the file format .sda
(Software Deployment Archive). You can then forward this transport request by
e-mail, for example, to other users who may need it. The transport request is
made available in other SAP Systems using the deployment function provided
by the Software Deployment Manager (SDM) of the SAP J2EE Engine.
Export to Another SAP System
By connecting to other SAP Systems, you can directly provide the transport
request in these systems and make it available for general access.
Creating a transport request comprises three steps:
Basic Data:
Entry of the basic data
Select Objects:
Selection of the objects to be exported
Export:
Selection of the export type and creation of the transport request 24
Monitoring
You can search the runtime for all types of process instances and display detailed
information about their attributes. You can monitor the interaction between actions
within a block and between callable objects within an action. You can also examine
the step-by-step data flow and distribution between process items and analyze possible
problems in parameter mapping and consolidation.
When you select a process instance in the result list, the system displays several
details. On the Process Tree screen you can see which actions and blocks are executed
in the process. By selecting each of the process items, you see the following details:
Basic Data
Detailed information about the process instance, time period of execution,
processor and exceptions.
Input Context
Detailed information about all input parameters, their type and value.
Output Context
Detailed information about all output parameters, their type and value.
Local Context
Detailed information about all local parameters, their type and value.
Processors
List of all the processors assigned to the selected activity.
Attachments
List and detailed information about attachments, if any.
Lesson Summary
You should now be able to:
• Discuss monitoring guided procedures
• List the major functions available in guided procedures administration
Unit Summary
You should now be able to:
• Discuss monitoring guided procedures
• List the major functions available in guided procedures administration
Unit Overview
Unit Objectives
After completing this unit, you will be able to:
Unit Contents
Lesson: Development Resources ................................................ 302
Lesson Overview
How to stay current with Guided Procedures
Lesson Objectives
After completing this lesson, you will be able to:
• Discuss development topics.
Business Example
As a developer, you would like to stay current with the latest Guided Procedures
documentation.
Web Sites
Business Process Expert community at SDN: http://bps.sap.com
NetWeaver at SDN:http://www.sdn.sap.com/irj/sdn/nw-ce
Online help: http://help.sap.com
Adobe topics: http://www.sdn.sap.com/irj/sdn/adobe
Lesson Summary
You should now be able to:
• Discuss development topics.
Unit Summary
You should now be able to:
• Discuss development topics.
Course Summary
You should now be able to: