Вы находитесь на странице: 1из 44

SAP Business One How-To Guide

PUBLIC

Working with the Remote Support Platform Studio for SAP Business One

Applicable Release: Remote Support Platform Studio 2.4 for SAP Business One

All Countries English August 2011

Table of Contents
Introduction ..................................................................................................................................... 4 Glossary ................................................................................................................................. 4 Developing a New Task.................................................................................................................. 6 Creating a New Task ............................................................................................................. 6 Maintaining Task General Information................................................................................... 6 Defining Validity for the Task ................................................................................................. 8 Scheduling Automatic Run for the Task ................................................................................ 8 Defining Parameters for a Task ............................................................................................. 9 Predefined Parameters............................................................................................... 12 Configuring Task Steps ....................................................................................................... 12 Designing Task Workflow .................................................................................................... 17 Defining Style Sheets .......................................................................................................... 22 Testing a Task ..................................................................................................................... 23 Publishing Tasks and Customized Solutions............................................................................ 25 Configuring the Studio ......................................................................................................... 25 Publishing a Task ................................................................................................................ 25 Publishing a Customized Solution ....................................................................................... 26 Delivering the Solution File .................................................................................................. 26 Restoring Tasks from Database .......................................................................................... 27 Managing Customers and Tasks ................................................................................................ 28 Adding and Maintaining Customers..................................................................................... 28 Managing Task Assignments .............................................................................................. 28 Task Workflow Language ............................................................................................................ 30 Workflow Statements ........................................................................................................... 31 CALL Statement ......................................................................................................... 31 LOOP Statement ........................................................................................................ 33 BREAK/CONTINUE Statements ................................................................................ 33 CHOOSE Statement................................................................................................... 34 ASSIGN Statement..................................................................................................... 34 HALT Statement ......................................................................................................... 35 RETURN Statement ................................................................................................... 35 Sub Workflow....................................................................................................................... 36 Main..... ....................................................................................................................... 37 Sub....... ...................................................................................................................... 37 On Error Structure ............................................................................................................... 38 Error on CALL Statement ........................................................................................... 38 Error on Main or Sub Workflow .................................................................................. 39

SAP AG 2011

Core Function Library .......................................................................................................... 39 Boolean Functions ...................................................................................................... 40 Conformance ....................................................................................................................... 40 References .......................................................................................................................... 40 EBNF.... ...................................................................................................................... 40 XML Schema for Task Workflow Language ............................................................... 41 Copyrights, Trademarks, and Disclaimers ................................................................................ 44

SAP AG 2011

Working with the Remote Support Platform Studio for SAP Business One

Introduction
This document shows SAP partners how to use the remote support platform studio for SAP Business One to develop, deliver, and manage tasks. The remote support platform studio for SAP Business One allows partners to publish and assign tasks to customers. After configuration of the partner channel in the remote support platform, customers can retrieve these tasks and send the task results back to the partners concerned. The work flow is as follows: 1. Developing a New Task (SAP partner develops a task using the studio) 2. Publishing a Task (SAP partner publishes the task to the WebDAV server) 3. Managing Customers and Tasks (SAP partner assigns the task to one or more customers to ensure only target customers can download the task)

Glossary
Term Agent Service Description Server side of remote support platform for SAP Business One. After configuration, the agent service communicates with the SAP backend and partner environment to exchange data, task, and status information. Client side of the remote support platform for SAP Business One where users can configure and work with the remote support platform. The agent console is either installed on the same computer with the agent service, or remotely connected to the agent service if installed on different computers within the same network. Automated support or maintenance solution that you can execute either automatically according to a configured schedule, or manually upon user request. You can configure the support platform to receive tasks from SAP and SAP partners. A tailored solution developed for the incident you raised. When you encounter problems with SAP Business One, you can ask an SAP partner to create a message for the incident. After SAP delivers the solution, your SAP partner helps to test and import the customized solution to your installation so you can detect and solve the issue. Management software installed at SAP that is used to manage the remote support platform for SAP Business One support tasks, evaluate task output, and provide early notification to SAP consultants. The backend server receives information from remote support platform for SAP Business One and provides new and updated support tasks for download.

Agent Console

Task

Customized Solution

SAP Backend

SAP AG 2011

Working with the Remote Support Platform Studio for SAP Business One

See Also:
For more information about how to work with the remote support platform for SAP Business One, see the online help documentation for the remote support platform for SAP Business One. You can access the online help documentation by pressing F1 in the application window after you finished installing remote support platform for SAP Business One. For more documents and sessions on the remote support platform for SAP Business One, see the channel partner portal at http://service.sap.com/smb/sbo/rsp (Choose the Documentation and Training tab to view available documentation and sessions) For the most up-to-date information about the remote support platform, see the landing page for the remote support platform in Customer Portal at http://service.sap.com/smb/sbocustomer/rsp and the following SAP Notes: SAP Note 1130948: Central note for the remote support platform for SAP Business One SAP Note 1130947: Release updates note for the remote support platform for SAP Business One SAP Note 1611221: Central note for the remote support platform 2.4 for SAP Business One

SAP AG 2011

Working with the Remote Support Platform Studio for SAP Business One

Developing a New Task


Creating a New Task
Procedure
To c ...

1. To create a new task, do one of the following:


From the Studio menu bar, choose Task New Task. From the Studio tool bar, choose the Press Ctrl+N. (New) icon.

The New Task window appears. 2. In the New Task window, select a template for the new task. Task Template Content Upload Health Check [Generic] Task Function Generate content upload requests, including upload requests for database, files, logs, and so on. Creates a generic health check task to collect necessary information from the users SAP Business One installation. The template contains a predefined parameter hc_result used to indicate whether the system is healthy or not. Specific Health Check [Specific] Create a specific health check task to collect necessary information from the users SAP Business One installation.

3. In the New Task window, specify the Name of the task. 4. Choose OK to save the data and create the new task. The task configuration panel appears. You can now proceed to perform the following tasks: General Information Validity Schedule Parameters Steps Workflow Stylesheets

Maintaining Task General Information


To maintain the general information belonging to a task, proceed as follows:

Procedure
1. Create a new task, or open an existing task from File Open Task. 2. From the left menu tree, choose the name of the task. The General Information tab appears in the central area. 3. Specify data for the following fields: SAP AG 2011 6

Working with the Remote Support Platform Studio for SAP Business One

Field Task Name

Values and User Actions Displays the task name you defined when creating this task. You can change the name if required. Enter a task name that does not include any of the following special characters: / \ : " ? * < > | Maximum length: 200 characters

Category Execution Mode

Displays the template category of the task. Note that you cannot change the category after you have created the task. Select an execution mode for the task: MannualOnly Only allows customers to run the task manually. AutoManual Enable customers to run the task either automatically, or manually. To define the automatic run schedule, see Scheduling the Automatic Run for the Task.

Task GUID

Displays the GUID of the task. The studio assigns a GUID for a task when you create this task. You cannot edit the task GUID.

Task Version

Specify the version of the task. After a task has been published, in order to update it, you must open the task, make necessary updates, and specify a subsequent version number for the task. If you do not update the task version information, you cannot publish the updated task.

Priority

Select the task priority. By default, the priority is Medium. Priority is used to define the schedule mechanism in task execution. When you request execution of several tasks, those with higher priorities are executed first.

Exclusive

Decides whether the task is an exclusive task. An exclusive task runs only when there is no other task running.

Description

Optional. Enter a short description for the task, for example, the task purpose and tips. Maximum length: 255 characters

Notes

Optional. Enter the number of the relevant SAP note. If more than one note, use a semicolon to separate note numbers.

Document

Optional. Enter the detailed documentation to depict the task process and instructions for users.

SAP AG 2011

Working with the Remote Support Platform Studio for SAP Business One

Defining Validity for the Task


Determine the valid working environments for your task by specifying the validity information. In this way, only qualified customers installations can retrieve and run the task. You can restrict your target group by specifying the database types, SAP Business One versions, SAP Business One company versions, and the remote support platform versions to be supported.

Procedure
...

1. From the left menu tree, choose Validity. 2. Specify the following fields: Field Database Types SAP Business One Version User Actions and Values Select one or more checkboxes to define the database types to be supported. Specify the range of SAP Business One versions to be supported. The symbol * stands for all versions. If you want the task to support all SAP Business One versions, select * for both the From and To fields. Specify the range of company versions to be supported. The symbol * stands for all versions. If you want the task to support all SAP Business One company versions, select * for both the From and To fields. Specify the range of versions of the remote support platform to be supported. The symbol * stands for all versions. If you want the task to support all the remote support platform versions, select * for both the From and To fields.

SAP Business One Company Version Version of the remote support platform for SAP Business One

Scheduling Automatic Run for the Task


Note The Schedule tab is disabled when you define the task Execution Mode as MannualOnly. To enable the task run in schedule mode, define the Execution Mode as AutoMannual. For more information, see Maintaining Task General Information. To define an automatic run for a task proceed as follows:

Procedure
1. From the left menu tree, choose Schedule. The Schedule tab appears in the central area of the window. 2. To enable the schedule function, select the Enable Schedule checkbox. 3. Specify the Start Time and Recurrence Pattern.

SAP AG 2011

Working with the Remote Support Platform Studio for SAP Business One

Defining Parameters for a Task


Use the Parameters tab to define task parameters used in the configuration of task steps. CAUTION The studio predefines one or more parameters for some task types. Do not delete any of the parameters or you may not be able to run the task correctly in the remote support platform for SAP Business One. Procedure 1. From the left menu tree, choose Parameters. The Parameters tab appears in the central area of the window. 2. To add a new parameter, on the Parameters tab, right-click and choose the parameter type you are going to define.

3. Specify values for the following fields:

SAP AG 2011

Working with the Remote Support Platform Studio for SAP Business One

Field Name

User Actions Enter a name for the parameter. In the case of the file path and folder path parameter, enter the file location path.

Description Visibility

Enter any appropriate remarks for the parameter. Do one of the following: To set the parameter so that it is visible to users, in the agent console of the remote support platform, select Visible. To set the parameter invisible to users, select Invisible.

Mandatory

After you set the parameter as visible to task users, you can decide whether to set it as a mandatory field. In the agent console of the remote support platform for SAP Business One, a mandatory field requires configuration before customers approve or run a task. To set a parameter as a mandatory field in the task user interface, select Yes. To set the parameter as an optional field, select No.

Constraints Type

You can define whether to apply constraints to this parameter, and what kind of constraints are to be used. Do one of the following: To set no constraint rules for the parameter value, from the dropdown list, choose No. To restrict the parameter value to one collection of values, from the dropdown list, choose Set. To define the value set, in the Constraints field, specify the value set. To restrict the parameter value to a value range, from the dropdown list, choose Range. To define the value range, in the Constraints field, specify the value range.

Constraints

Note that you can only edit this field when you select Set or Range for Constraint Types. When you select Set for Constraint Types, in the Constraints field, specify a collection of values allowed for this parameter. When you select Range for Constraint Types, specify the range for values allowed for this parameter.

SAP AG 2011

10

Working with the Remote Support Platform Studio for SAP Business One

Field State

User Actions Choose one of the following types for the parameter state. None When customers make changes to the parameter value before executing a task, the changed value will be permanently stored until customers make another change to the parameter value. When customers make changes to the parameter value during the task execution process, the steps and workflow may change the value of the parameter in memory, but the change will not be stored. This means that a change during the execution process will not affect the parameter value after the execution is finished. When developers use the step and workflow definition to change the value, the changed value will be used during execution but will not be stored. Session When customers make changes to the parameter value during the task execution process, the change will be stored for this particular execution. This means that for the next execution the original value is used if customers make no further changes. When developers use the step and workflow definition to change the value, the changed value will be used and stored for the first execution. Task When customers make changes to the parameter value during the task execution process, the change will be stored for this task, which means for the next execution the changed value is used if customers make no further changes. When developers use the step and workflow definition to change the value, the changed value will be used and stored for the task.

4. Specify the value for the parameter. Parameter Type Boolean Parameter Integer Parameter String Parameter Double Parameter Date Time Parameter 5. Choose OK to save data. Parameter Value True or false An integer A string combination of numbers and characters A float number with double precision Date and time

SAP AG 2011

11

Working with the Remote Support Platform Studio for SAP Business One

The application displays the parameter along with its attributes on the Parameters tab. 6. To edit an existing parameter, double click the parameter row.

Predefined Parameters
If required, you can set parameter values in tasks otherwise default values will be assigned by the remote support platform for SAP Business One. At runtime, the remote support platform for SAP Business One uses these parameters to control certain logical operations. Parameter Name EmailOnlyIfResultChang ed Type Boolean Applicable Task Health Check Task (Generic) Health Check Task (Special) Usage Default value: True (Editable). Behavior: The remote support platform for SAP Business One sends the result and notification via E-mail only when the health check result is different from the previous execution. Default value: True (Editable). Behavior: The remote support platform for SAP Business One uploads the task result to the SAP backend only when the health check result is different from the previous execution. Default value: True (Editable). Behavior: Internal parameter. The task diagnoses whether the company database is healthy or not.

BackendOnlyIfResultCh anged

Boolean

Health Check Task (Generic) Health Check Task (Special)

Hc_result

Boolean

Health Check Task (Generic)

Configuring Task Steps


Procedure 1. From the left menu tree, choose Steps. The Steps tab appears in the central area of the window. On the Steps tab, right-click and choose New Step. Then choose the step type that you are going to define. The Step Details window appears. 2. In the Step Details window, configure the detailed settings.

Content Upload Request Tasks CAUTION The studio predefines steps for this task type. Do not delete any of the steps otherwise you may not be able to run the task correctly in the remote support platform for SAP Business One.

SAP AG 2011

12

Working with the Remote Support Platform Studio for SAP Business One

Default Step Sub Type CurInformation Step

Step Function Define the target customers installation information.

Step Definition In the Content area, specify the customers installation and system information. You can add the responsible consultants information as required. After the customer uploads the files, your consultants receive a notification via E-Mail.

CurDB Upload Step

Upload one or more databases to the SAP backend. Upload one or more files to the SAP backend. Upload SAP Business One log to the SAP backend.

To add the databases to be uploaded, specify the database names. To add files to be uploaded, specify the file extensions.

CurFile Upload Step

CurB1 Log Upload Step

Note This step type applies only for SAP Business One 8.8 and higher versions. To add SAP Business One logs to be uploaded, specify the relevant PC names.

Health Check Tasks (Specific and Generic) Note There are no default steps for the health check tasks; you can add relevant steps as required. The most commonly used steps for a health check task are SQL steps, batch steps, and quick store procedure steps. For more information about these steps, see Other Steps.

SAP AG 2011

13

Working with the Remote Support Platform Studio for SAP Business One

Other Steps Step Sub Type Batch Step Step Function Run a Microsoft Windows batch script. Run a stored procedure according to the SQL script you defined, and remove this script from database automatically. This is a more efficient way to run SQL scripts in tasks. You can use Print error message to print some error messages to task results. For result sets, you do not need to use print statements; the Select query result will be included in the task results automatically. SQL Step Execute an SQL script. In the Content area, specify the SQL script as required. Step Definition In the Content area, specify the batch script as required. In the Content area, specify the SQL script as required.

Quick Store Procedure Step

User Confirmation Step

A built-in step which checks the customers confirmation before fixing spotted issues. Transform the style of a step result file (XML file) for further processing. Add two parameters to this step: Parameter 1: the name of the step for which you want to transform the result file. Parameter 2: the name of the style sheet that you are going to use to perform the transformation.

Xsl Transformation Step

3. Specify the following fields if required.

SAP AG 2011

14

Working with the Remote Support Platform Studio for SAP Business One

Field Description Group

User Actions Enter a short description for the task. Note This field affects only data displayed in the task results, for example, a health check report. Enter a group name. In a task report, data belonging to the same group would be displayed in a section entitled with the group name you specify here.

4. To set parameters for the step, In the Step Details window, choose the Parameters button. The Set Parameters window appears and displays all the parameters you have defined for the task in the left area of the list. Proceed as follows: a. Select the parameters for this step and choose the right area of the list. b. Define the direction type for the parameters: (Add) button to add them to the

Input: The parameter is used for input only. Output: The parameter is used for output only. InputOutput: The parameter is used for both input and output. ReturnValue: The parameter is used to return a value. (Up) and (Down) buttons to adjust the parameters position in the list.

c. Use the

5. To enable the rating function for the task, choose the Ratings button. The Step Ratings window appears. You can add, edit, and remove rating rules. To add a rating rule, choose Add Rating Rules, in the Script area, enter the script for rating the task result. You can define the following thresholds for status indicators: Excellent, Acceptable, and Poor. You can use the parameters below to define the rating rules: Parameter this_column: For example: if ${this_column}>0 Parameter this_row[index](index from 1): For example, this_row[1], or this_row[column_name] Note The code sample below shows how to write a script for rating rules: <Step Name=" MyStep " Group=" MyGroup " Type=" TheType " Url="" BeginTime="2009-10-21 17:08:01" EndTime="2009-10-21 17:08:01"> <Result Status="Successful" Rating="Poor" Type="Data"> <Row Id="1" Rating=Yellow> <Column Name="A" Type="Int32" Rating=>12</Column> <Column Name="B" Type="Int32" Rating=>12</Column> <Column Name="C" Type="Int32" Rating=Poor>12</Column> </Row>

SAP AG 2011

15

Working with the Remote Support Platform Studio for SAP Business One

<Row Id="2"> <Column Name="A" Type="Int32" Rating=>12</Column> <Column Name="B" Type="Int32" Rating=yellow>12</Column> <Column Name="C" Type="Int32" Rating=yellow>12</Column> </Row> <Row Id="3" Rating=Poor> <Column Name="A" Type="Int32" Rating=>12</Column> <Column Name="B" Type="Int32" Rating=Poor>12</Column> <Column Name="C" Type="Int32" Rating=>12</Column> </Row>

</Result> <Message> <StepMessage><![CDATA[message from execution part]]></StepMessage> <RatingContext> <ColumnRating> <column index=1> <Abstract></Abstract> <Excellent></ Excellent > <Acceptable></ Acceptable > <Poor></ Poor > </column> </ ColumnRating > <RowRating> <Abstract></Abstract> <Excellent></ Excellent > <Acceptable></ Acceptable > <Poor></ Poor > </RowRating> <GeneralRating> <Abstract></Abstract> <Excellent></ Excellent > <Acceptable></ Acceptable > <Poor></ Poor > < GeneralRating > SAP AG 2011 16

Working with the Remote Support Platform Studio for SAP Business One

</RatingContext> </Message> </Step> Example When designing a health check task, you can add rating rules to evaluate the customers databases status data. After customers run the task for their particular databases they will be able to view detailed status data in the resulting report. For example, if the database performance is excellent, acceptable, or poor.

Designing Task Workflow


The studio predefines a workflow for each type of task. You can edit the workflow as required. Procedure 1. From the left menu tree, choose Workflow. The Workflow tab appears in the central area of the window, displaying the Main workflow. 2. To add a Sub workflow, right-click Workflow in the left menu tree and choose New Sub. 3. To add a statement, in the left menu structure, choose the Main or Sub workflow you are going to edit. In the central panel, right-click the Main or Sub structure, then specify a statement type to be added. 4. To edit a node in design view, click on the appropriate node and in the Misc area change the attribute values as required.

For more information about how to design a workflow, see Task Workflow Language. The following table introduces the statements you can use.

SAP AG 2011

17

Working with the Remote Support Platform Studio for SAP Business One

Menu Options Call Step

Description Runs a step. Note You can only add a Call Step statement, when you have defined one or more Subs for this task.

User Action Specify the following attributes: ErrorHalt o To stop the step execution when encountering errors and exceptions, select True. To ignore errors and exceptions during the execution process, select False.

ErrorHandlerType o o To invoke a step to handle the possible errors, select Call Step. To invoke a Sub to handle the possible errors, select Call Sub.

HandlerName Specify the step or sub workflows name that you use to handle possible errors and exceptions.

Name Displays the name of the step concerned.

Persistence To keep the result value of this step, select True. Otherwise, choose False.

Call Sub

Runs a sub workflow you defined. Note You can only add a Call Sub statement, when you have defined one or more steps for this task.

Specify the following attributes: ErrorHandlerType o o To invoke a step to handle the possible errors, select Call Step. To invoke a Sub to handle the possible errors, select Call Sub.

HandlerName Specify the step or sub workflows name that you use to handle possible errors and exceptions.

ReturnParameter Specify a parameter. The return value of this Sub will be assigned to this parameter.

SAP AG 2011

18

Working with the Remote Support Platform Studio for SAP Business One

Menu Options Choose

Description Executes a sequence of statements depending on the value of a condition.

User Action Add When and Otherwise statements to design the condition of statements execution.

When

Defines a condition. And when the condition is satisfied, run the defined step or sub workflow. You can define one or more When statements under one Choose statement. Note You can only add the When statement under a Choose statement.

Specify the following attributes: Function Specify one of the following functions to compare parameters: o o o o less-than great-than equals unequals

LeftPara Specify the parameter in the left side of the expression.

RightPara Specify the parameter on the right side of the expression.

Otherwise

When all the When conditions cannot be satisfied under the Choose statement, triggers the defined step or sub workflow. Note You can only add the Otherwise statement under a Choose statement.

Specify the following attributes: Function Specify one of the following functions to compare parameters: o o o o less-than great-than equals unequals

LeftPara Specify the parameter in the left side of the expression.

Loop Execute a sequence of statements multiple times as long as it satisfies the condition you defined.

RightPara Specify the parameter on the right side of the expression.

For the Condition attribute, enter a supported condition expression, for example, less-than, equals, and so on.

SAP AG 2011

19

Working with the Remote Support Platform Studio for SAP Business One

Menu Options Break

Description Exits a loop. Note You can only add the Break statement under a Loop statement.

User Action N/A

Continue

Breaks the current loop round and proceeds to the next round. Note You can only add the Continue statement under a Loop statement.

N/A

Assign

Assigns a value or an expression to a parameter.

Specify the following attributes: Expression Enter an expression or a value for the parameter. Parameter Specify the target parameter.

Halt

Terminates the task execution.

Specify the following attributes: Error Message Enter the error message you want to display when the program stops. WithError o To define the halt as caused by errors, select True. Otherwise, select False.

Return

Terminates the Sub workflow and returns the value.

Define the value you want to return in the Return Value attribute. Supported value types include: Literal string Boolean Decimal Date/Time

SAP AG 2011

20

Working with the Remote Support Platform Studio for SAP Business One

Menu Options Delete Node

Description Deletes the node you select. Note You cannot delete a node if it is referenced in other existing nodes.

User Action N/A

5. In the bottom of the window, use the Source and Design buttons to switch between the source code view and the design view.

SAP AG 2011

21

Working with the Remote Support Platform Studio for SAP Business One

Defining Style Sheets


Use the Stylesheets tab to transfer the task results in XML format into a report in HTML format. Import XSLT files (files with the .xsl extension) before you define the applicants for the HTML report. To enhance the usability and visual effects of the HTML report , you may refine the HTML formats and layout using the CSS style sheets language in the XSLT files to be imported. Procedure 1. From the left menu tree, choose Stylesheets. The Stylesheets tab appears in the central area of the window. 2. In the Style Sheets area, right click and choose New. The NewStyleSheetsForm window is displayed. 3. In the window, specify the Name, Local Path, and URI of the XSLT file. 4. Choose OK to save data and import the XSLT file into the current task. The application displays the style sheet information in a row on the tab. 5. To apply the imported stylesheets to the task result, in the Applicants area, right-click and choose New. The ApplicantForm window appears. 6. In the Stylesheet area, right-click.

To select style sheets to apply to this applicant, choose Select. You can select a set of style sheets to jointly configure the HTML.

To remove a style sheet from the chosen ones, choose Remove. Note When you have defined multiple applicants, the applicants are applied to the task execution results sequentially.

7. Choose OK to save data.

SAP AG 2011

22

Working with the Remote Support Platform Studio for SAP Business One

Testing a Task
Before you release a task to your partner, we recommend that you test the task in your installation of the remote support platform for SAP Business One.

Prerequisites
You have successfully configured the WebDAV connection and RSPSrv Database connection. For more information, see Configuring the Studio. You have configured at least one installation of the remote support platform as the testing environment for your tasks. In the testing environment, make sure you have successfully enabled the Partner Channel and connected to the WebDAV server you use in the studio.

Procedure
To do so, proceed as follows: 1. To open the task that you plan to test, from the menu bar, choose Task Open Task. 2. To publish the task to your WebDAV server, choose Tool Publish Task. The studio uploads this task both to your RSPSrv database and WebDAV database. 3. To assign the task to your testing environment, from the menu bar, choose Tool Manage Tasks Task View. The Tasks Management window appears, displaying all the published tasks. 4. Select the task you are going to test, and then choose Assign Task. The Task Assignment window appears, displaying all your customers. 5. Select the customer system you use as a testing environment, and then choose the Assign button. Note Make sure not to assign tasks that are still in the testing phase to customer systems (other than your testing environments), or set them as generic tasks. For more information about tasks and customer management, see Managing Customers and Tasks. 6. Launch and log on to your remote support platform for SAP Business One. For more information about how to work with the remote support platform, see the online help documentation. You can access the online help documentation by pressing F1 in the application window after you finished installing the remote support platform for SAP Business One. 7. To retrieve tasks, do one of the following:

From the menu bar, choose File Retrieve Task In your keyboard, press F5. From the tool bar, choose the (Retrieve Tasks) icon.

The wizard starts to retrieve tasks. Note that after configuration, the remote support platform can download tasks both from the SAP backend and from your WebDAV server. If retrieving tasks from your WebDAV server fails, you should check your connection and configuration for the WebDAV server, and make sure your customers can successfully configure and use the partner channel.

SAP AG 2011

23

Working with the Remote Support Platform Studio for SAP Business One

8. After you download the task for testing, you can execute the task to see whether the task works in the remote support platform. For more information about how to work with tasks, see the online help for the remote support platform for SAP Business One.

SAP AG 2011

24

Working with the Remote Support Platform Studio for SAP Business One

Publishing Tasks and Customized Solutions


After you develop a task, you can publish the task to let your customers download and use this task. The process also applies to sending a customized solution to a specific customer. When you publish the task, the studio uploads the task to both the RSPSrv database and your WebDAV server. Should your WebDAV server data become corrupt, you can always recover the data by restoring tasks from your RSPSrv database. To publish tasks and customized solutions, you first configure the connections to your RSPSrv database and your WebDAV server.

Configuring the Studio


To configure the studio, proceed as follows: 1. From the menu bar, choose Tool Configuration. The Configuration window appears. 2. To configure the connection to your WebDAV server, select the WebDAV Server tab. Specify the WebDAV server address, user name, and password. If necessary, choose the Use Proxy checkbox, and specify your proxy settings. To test your connection to the WebDAV server, choose the Test Connection button. If the connection fails, check your WebDAV settings and your Internet connection. 3. To configure the connection to your RSPSrv database, select the RSPSrv Database tab. The RSPSrv database is created during the installation process of the studio. Enter the database address, user name, and password that you specified during the installation process. If you create the database in the current machine, enter localhost for the Server field. To enable the connection to the database server with Microsoft Windows authentication, select the Use Trusted Connection checkbox. When using the trusted connection, you do not need to specify a database server user name and password. To test your connection to the RSPSrv database, choose the Test Connection button. If the connection fails, check your RSPSrv database settings and your Internet connection. 4. Choose OK to confirm your change and save data. Choose Cancel to discard your changes and close the window.

Publishing a Task
After you finish developing a task, you can deliver it to your customer by uploading the task to your WebDAV server. Customers using the remote support platform for SAP Business One are able to retrieve partner-delivered tasks that are assigned to their systems by connecting to the partners WebDAV servers.

Prerequisites
You have configured a WebDAV server for the remote support platform and the studio. You have configured the settings in Configuring the Studio and successfully connected to WebDAV server and the RSPSrv database.

SAP AG 2011

25

Working with the Remote Support Platform Studio for SAP Business One

Procedure
To publish a task, proceed as follows: 1. To open the task that you plan to test, from the menu bar, choose Task Open Task. 2. To publish the task to your WebDAV server, choose Tool Publish Task. The studio uploads this task both to your RSPSrv database and WebDAV database. The RSPSrv database works as a backup database for your delivered tasks and other data. If your WebDAV server is corrupt, you can restore tasks from RSPSrv database.

Publishing a Customized Solution


A customized solution is a tailored solution package developed for the incident you raised. SAP partners can help you create a message for the incident, and after SAP delivers the solution, SAP partners can help you test and import the customized solution package to detect and solve the issue. The process flow for customized solutions is: 1. The customer reports an issue to an SAP partner. 2. The partner creates a message in SAP Service Marketplace to report the issue. 3. The SAP consultant receives the message and develops a customized solution package (a zipped file with .rsp extension). 4. The SAP consultant attaches the file as an attachment in the CRM system and sends a message to the partner. 5. The partner opens the message and downloads the file. 6. The partner tests the solution and if everything is OK, sends the solution file to the customer. 7. The customer imports the solution file and runs it to solve the issue.

Delivering the Solution File


To use the studio to deliver the solution file to your customer, proceed as follows: Note You can also send the solution package (zipped file with the .rsp extension) to customers. Customers can use the Import Customized Solution function in the remote support platform to import and use the customized solution.

Prerequisites
You have configured a WebDAV server for the remote support platform and the studio. You have configured the settings in Configuring the Studio and successfully connected to WebDAV server and the RSPSrv database.

Procedure
1. To release a customized solution, from the menu bar, choose Tool Release Customized Solution. 2. Specify the customized solution file (with .rsp extension) you are going to release and choose OK. The studio uploads this solution file both to your RSPSrv database and WebDAV database. 3. To assign this customized solution to the customer who reported the issue, from the menu bar, choose Tool Manage Tasks Task View.

SAP AG 2011

26

Working with the Remote Support Platform Studio for SAP Business One

The Task Management window appears. 4. In the window, choose Assign Task and then select the customer who reported the issue. 5. Choose OK to confirm. The customer can now retrieve the solution using the same method as used to retrieve other tasks in the remote support platform for SAP Business One.

Restoring Tasks from Database


To deliver tasks and customized solutions to your customer, you need to configure the WebDAV server connection and your database connection for the studio. To do so, from the menu bar, choose Tool Restore Task from Database. A message is displayed informing you that the data in the RSPSrv database is going to overwrite that of the WebDAV server. To confirm the change, choose OK; to cancel the change, and then choose Cancel.

SAP AG 2011

27

Working with the Remote Support Platform Studio for SAP Business One

Managing Customers and Tasks


After you publish a task, you need to assign the task to your customers. Only customers with the assignment are able to retrieve the task that you deliver.

Adding and Maintaining Customers


To assign a task to a customer, you must first add the customer. To add a customer and maintain customer data, proceed as follows: 1. From the menu bar, choose Tool Manage Customers. The Customers window appears. 2. To add a customer, choose Add. 3. Specify the customer name, system number, and installation number for the remote support platform. 4. To save your changes and go back to the Customers window, choose Save. To discard your changes, choose Cancel. 5. To update the customer information for a particular customer, select the customer, then choose the Update button. Update the customer information as appropriate. 6. To delete a customer, select the customer, and then choose the Delete button.

Managing Task Assignments


Partners assign published tasks to customers, so that the customers with the assignment can retrieve the corresponding tasks via the partner channel in the remote support platform. To assign a task, proceed as follows: 1. From the menu bar, choose Tool Manage Tasks Task View. The Tasks Management window appears, displaying all the published tasks. 2. To assign a task to one or more customers, select one task, and then choose Assign Task. The Task Assignment window appears, displaying all your customers. 3. To set this task as a generic task, select the Generic Task for All Customers checkbox. A generic task is a task that automatically becomes available to all of your existing and future customers. Example You have three customers: A, B, C. You set task 01 as a generic task. Therefore the studio automatically assigns the task to all of your existing customers (A, B, and C). You add a new customer D. Since task 01 is a generic task, the studio automatically assigns this task to the newly added customer D. 4. To set this task only to selected customers, select one or more customers, and then choose the Assign button.

SAP AG 2011

28

Working with the Remote Support Platform Studio for SAP Business One

Example You have three customers: A, B, C. You assign task 02 to all of your existing customers. Therefore task 02 becomes available for customers A, B, and C. You add a new customer D. Since task 01 is not a generic task, to assign this task to the newly added customer, you have to manually apply the assignment in the Task Assignment window. 5. To cancel the assignment for a customer, from the menu bar, choose Tool Manage Tasks Customer View. Note For generic tasks, you cannot cancel the assignment for specific customers. Select the customer whose assignment you want to cancel. The list in the right part of the window displays all the tasks that available for this customer. Select the task you want to remove for this customer, and then choose the Unassign button. Note If your customer has retrieved this task before you cancel the assignment, the remote support platform removes the downloaded task the next time the customer retrieves tasks.

SAP AG 2011

29

Working with the Remote Support Platform Studio for SAP Business One

Task Workflow Language


Task workflow language is used to design the process flow of steps in remote support platform tasks. It provides a common syntax and semantics for ordering the precedence of steps in a task. Task workflow language enables you to design the workflow of steps in tasks and define error handling for task workflow. Task workflow statements are expressed in XML. The XML namespace derives from task schema definition. The definition for workflow in task development is optional. When there is no workflow element in a task, the steps in the steps element perform in appearing order. Otherwise, the steps execution order shall follow the workflow rule. The example below shows the source code of the workflow defined for a task: Example <?xml version=1.0 encoding=UTF-8?> <Tasks xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" schema-version=2.0> <Task> <General> <Name>CheckAndNotify</Name> </General> <Validity/> <Schedule/> <Parameters/> <Channels/> <Steps> <Step Name=CheckCount Type=Sql></Step> <Step Name=SendSMS Type=other></Step> <Step Name=MakeCall Type=other></Step> <Step Name=SendEMail Type=other></Step> </Steps> <Workflow> <Main> <call-step name=CheckCount/> <choose> <when condition=equals(${count}, 10)> <call-step name=MakeCall/> </when> <when condtion=less-than(${count}, 10)> <loop occurrence=2> <call-step name=SendSMS/> </loop> </when> <otherwise> <call-step name=SendEMail/> </otherwise> </choose>

SAP AG 2011

30

Working with the Remote Support Platform Studio for SAP Business One

</Main> </Workflow> </Task> </Tasks> In the above code sample, task CheckAndNotify defines four steps: Step CheckCount : collect count through SQL statement Step SendSMS: send short messages Step MakeCall : make phone calls Step SendEMail : send emails

The Workflow Main constructs the process order for steps. The following list explains the step process order in the example above: 1. Process step CheckCount because it appears in the first workflow statement. 2. The second workflow statement is CHOOSE statement which has three execution branches: Step MakeCall in a WHEN clause Step SendSMS in a WHEN clause Step SendEMail in an Otherwise Clause

The first two WHEN clauses execute corresponding steps when the Boolean functions are matched. The OTHERWISE clause that shall be executed by default when no WHEN clause is matched. If the second WHEN clause matches the condition that the parameter count less than 10, Step SendSMS will perform twice because it is wrapped by the LOOP statement with occurrence equals 2.

Workflow Statements
Task workflow language introduces the following three types of workflow statements. Workflow statements are the primary elements to construct workflows for tasks. CALL statement: represents invocation to Step or Sub workflow. LOOP statement: repeats or loops work statements within it over a given occurrence. BREAK/CONTINUE statement: exits a loop, or breaks the current loop round and proceeds to the next round. CHOOSE statement: represents a multi-way conditional branching of workflow. ASSIGN statement: assigns a value or an expression to a parameter. HALT statement: terminates the task execution. RETURN statement: terminates the workflow and returns the value.

Definition (EBNF): Workflow_Statement ::= Call_Statement | Loop_Statement | Choose_Statement

CALL Statement
Use call-step to call a step. Use call-sub to call a sub workflow. SAP AG 2011 31

Working with the Remote Support Platform Studio for SAP Business One

The required attribute name specifies which step in Steps shall be executed when process meets callstep; likewise, name specifies sub workflow for call-sub statement. For more information about sub workflow, see Sub Workflow . For more information about error handling, see On Error Structure.

Definition (EBNF): Call_Statement ::= Call_Step | Call_Sub Call_Step Call_Sub ::= '<call-step' S 'name=' StepName S (On_Error)? ( '/>' | '>' S '</call-step>' ) ::= '<call-sub' S 'name='SubFlowName S (On_Error)? ( '/>' | '>' S '</call-sub>' )

Example The following statements demonstrate the use of call-step and call-sub: Statement <call-step name=CheckCount/> <call-step name=CheckCount onerrorstep=WriteLog/> Behavior Call step CheckCount. 1. Call step CheckCount. 2. When encountering system error, call another step set in on error attribute onerrorstep. 3. End the task. <call-step name=CheckCount onerrorsub=WriteLogAndRollback/> 1. Call step CheckCount. 2. When encountering system error, call a sub flow set in on error attribute onerror-sub. 3. End the task.

<call-sub name=CheckHealth/>

Call sub workflow CheckHealth.

<call-sub name=CheckHealth onerrorstep=WriteLog/>

1. Call sub workflow CheckHealth. 2. When encountering system error, call another step set in on error attribute onerror-step. 3. End the task.

<call-sub name= CheckHealth onerror-sub= WriteLogAndRollback/>

1. Call sub workflow CheckHealth. 2. When encountering system error, call a sub flow set in on error attribute onerrorsub. 3. End the task.

SAP AG 2011

32

Working with the Remote Support Platform Studio for SAP Business One

LOOP Statement
LOOP statements execute a sequence of statements multiple times as long as it satisfies the condition you defined. For the Condition attribute, enter a supported condition expression, for example, less-than, great-than, equals, and so on. Definition (EBNF): [5] Loop_Statement ::= '<loop' S condition=' Argument '>' (Workflow_Statement)+ '</loop>' Example 1 <Loop condition=$HasNext(SessionListForBackup)> <Assign Parameter=MySession>$GetNext(SessionListForBackup)</Assign> <Assign Parameter=TestValue>$GetValueOf(${Mysession}, SomePara)<Assign> <Choose> <When condition=equals (${TestValue}, OK)> <Continue/> section </When> </Choose> <call-step name=huge/> </Loop> Example 2 <Loop> <Choose> <When condition=equals (${TestValue}, OK)> <Break/> </When> </Choose> </Loop> //See Break statement in next section //See Continue statement in next

BREAK/CONTINUE Statements
BREAK and CONTINUE statements are subsidiary statements for loop. They only affect the nearest loop statement where they embrace. To break the loop, use <Break/>. To stop the current round of loop and go to the next round, use <Continue/>.

SAP AG 2011

33

Working with the Remote Support Platform Studio for SAP Business One

CHOOSE Statement
A CHOOSE statement execute a sequence of statements depending on the value of a condition, which is a fundamental statement used to navigate the process in different directions. CHOOSE statements consist of one or more WHEN clauses and an optional OTHERWISE clause. Starting from the first WHEN clause, once the condition is satisfied, the system execute this WHEN clause, and ignores the following WHEN and OTHERWISE clauses. Refer to Core function library to get details about Boolean condition.

Definition (EBNF): Choose_Statement ::= '<choose>' S (When_Clause)+ S (Otherwise_Clause)? S '</choose>' When_Clause '</when>' Otherwise_Clause ::= '<when' S 'condition=' Boolean_Condition '>' (Workflow_Statement)+ ::= '<otherwise>' (Workflow_Statement)+ '</otherwise>'

Example <choose> <when condition=equals(${count}, 10)> <call-step name=MakeCall/> </when> <when condtion=less-than(${count}, 10)> <loop occurrence=2> <call-step name=SendSMS/> </loop> </when> <otherwise> <call-step name=SendEMail/> </otherwise> </choose> If the variable count has an integral value of 10, the system executes the first WHEN clause and ignores the following WHEN clause and OTHEWISE clause. If the variable count value is less than 10, the system ignores the first WHEN clause, executes the second WHEN clause, and ignores the OTHERWISE clause. If the variable count does not match either of the above two conditions, the system ignores the two WHEN clauses, and executes the OTHERWISE clause.

ASSIGN Statement
Use the ASSIGN statement to assign a value or an expression to a parameter. You can define the following attributes: Parameter: Specify the target parameter name. Supported parameter states include: None and Task parameters. For more information about the parameter states, see Defining Parameters for a Task. Expression: A single parameter reference or function.

SAP AG 2011

34

Working with the Remote Support Platform Studio for SAP Business One

If the expression returns a list of values, the parameter of the ASSIGN statement must have the type of List.

Definition (EBNF): Assign_Statement::= <assignSParameter=Parameter_Name><expression>Expression</expression></assign> Example <Assign Parameter=SessionListForBackup>$GetFirstDaysSessions(3, 0001234567)</Assign> The code sample above represents an operation to retrieve the first 3 days sessions, and assign the value to parameter SessionListForBackup.

HALT Statement
HALT statement provides the immediate exit point within Task workflow. The HALT statements must: Appear as the last statement within Main or Sub workflows Appear as the last statement within WHEN or OTHERWISE clauses in a CHOOSE statement. To stop the task execution when an error occurs, specify True for the WithError attribute. If not, specify False for the attribute. Definition (EBNF): Halt_Statement ::= '<halt (with-error='true|false')?>Error_Message</halt>' Error_Message ::= tokens | S Example <choose> <when condition=equals(${count}, 10)> <call-step name=MakeCall/> <halt with-error=true>intended error here</halt> </when> <otherwise> <call-step name=SendEMail/> </otherwise> </choose>

RETURN Statement
Return statement is an atomic statement which can be presented at anywhere under Main or Sub workflows to stop the execution process. When the program comes across a return statement, it terminates the workflow immediately with the returned value. The returned value could be anything, recommended types include: Literal string

SAP AG 2011

35

Working with the Remote Support Platform Studio for SAP Business One

Boolean Decimal Date/Time

Definition (EBNF): Return_Statement ::= '<return>Return_Value</return>' Return_Value ::= Stoken

Example <Main> <call-sub name=CheckStatus return=IsHealthy/> <choose> <when condition=equals(${IsHealthy},true)> <call-step name=DoRight/> </when> <otherwise> <call-step name=FixingSomething/> </otherwise> </choose> </Main> <Sub name=CheckStatus> <call-step name=YepDoit/> <choose> <when condition=lessthan(${certainParameter},100)> <call-step name=IamFine/> <return>true</return> </when> </choose> <return>false</return> </Sub>

Sub Workflow
Use the sub workflow to group a set of statements.

SAP AG 2011

36

Working with the Remote Support Platform Studio for SAP Business One

Some workflow statements in the same order as a group may appear in the whole task workflow for more than once. To avoid write same code snippets many times in different place in the same task workflow, grouping them and give a name as an identity. Another important reason that introducing sub workflow will mention in section 4 On Error Structure.

Main
A Main workflow is a mandatory workflow in a task. It appears only once in one task and is the only entry point of step processing when the task execution is triggered. It supports all the workflow statement types: CALL statements, LOOP statements, and CHOOSE statements.

Definition (EBNF): Main_Workflow ::= '<Main' S (On_Error)? '>' (Workflow_Statement)+ '</Main>' Workflow ::= Main_Workflow (Sub_Workflow)*

Sub
A Sub workflow is an optional workflow in a task. You can define one or more Sub workflows in a task and use different names to identify them. Sub workflows support all the workflow statement types: CALL statements, LOOP statements, and CHOOSE statements. Definition (EBNF): Sub_Workflow ::= '<Sub' S 'name='SubFlowName S (On_Error)? '>' (Workflow_Statement)+ '</Sub>' Note To avoid deadlock and endless call stack, CALL statement or On_Error attribute set shall not refer to the Sub workflow itself. The following example demonstrates a simple Sub workflow, and a Sub workflow referred by a CALL statement which causes endless call stack.

Example Simple Sub workflow: <Sub name=Hello> <call-step name=Collect/> </Sub> Endless call stack: <Sub name=Hello> <call-step name=Collect onerror-sub=Hello/> endless call */ <call-sub name=Hello/> /* endless call */ </Sub> /*

SAP AG 2011

37

Working with the Remote Support Platform Studio for SAP Business One

On Error Structure
On Error structure is a mechanism to let you handle errors for or make supplements to your task when a step within workflow encourters environment changes or system exception. To support error handling on step granularity, define onerror-step attribute for a CALL statement. By doing this you are able to: Invoke the onerror-step attribute to cover possible exception or error encountered during execution. Use the onerror-sub attribute to define a sub workflow to cover the exception that occurred. Note Do not use the same name for the On_Error attribute as the CALL statement. Task workflow language also provides a similar try-catch mechanism to cover exceptions or errors derived from statements with no definition for On_Error attribute. To do so, set On_Error in Main or Sub workflow. For example, when a Sub or Main workflow with onerror-step setting detects an error on a CALL statement at runtime (when there is no onerror-step attribute defined for this statement), the step sets onerror-step to cover the error. Same as the onerror-sub attribute on Sub or Main workflow, but call another sub workflow to handle the error. This is another reason why the sub workflow concept was introduced.

Definition (EBNF): On_Error ::= 'onerror-step='StepName | 'onerror-sub='SubFlowName

Error on CALL Statement


The On_Error setting in a CALL statement always has precedence against that in Sub or Main. Example The following code samples demonstrate how to define onerror-step attributes and onerror-sub attributes to handle possible errors in a CALL statement: <call-step name=Collect onerror-step=Clear/> When an error or exception occurs on step Collect, the step Clear in onerror-step runs to cover the problem. <call-step name=Collect onerror-sub=ProcessError/> <Sub name=ProcessError> <call-step name=WriteLog/> <call-step name=Clear/> </Sub> When error or exception occurs on step Collect, the Sub workflow ProcessError runs. <call-sub name=Hello onerror-step=Bye/> <Sub name=Hello> <call-step name=Capture/> <call-step name=Say/> </Sub> SAP AG 2011 38

Working with the Remote Support Platform Studio for SAP Business One

When error or exception occurs on Sub Hello, the step Bye runs. <call-sub name=Hello onerror-sub=Again/> <Sub name=Again> <call-step name=PoliteWord/> </Sub> <Sub name=Hello onerror-step=Bye> <call-step name=Capture/> <call-step name=Say/> </Sub> When an error or exception occurs on Sub Hello, the sub Again runs. Since the On_Error setting in a CALL statement always has precedence against that in Sub or Main, in this example, the step onerror-step Bye defined in Sub Hello is ignored.

Error on Main or Sub Workflow


Example <Main onerror-step=ProcessError> <call-step name=Collect/> <call-step name=Send/> </Main> When error or exception occurs on Main workflow, the step ProcessError runs. <call-sub name=Hello onerror-sub=Bye/> <Sub name=Hello> <call-step name=Capture/> <call-step name=Say/> </Sub> <Sub name=Bye onerror-sub=Again> <call-step name=Leave/> </Sub> <Sub name=Again onerror-step=Nothing> <call-step name=PoliteWord/> </Sub> The above code sample shows an error handling chain as follows: 1. When error or exception occurs on Sub Hello, the Sub workflow Bye runs. 2. If Bye has an error, the Sub workflow Again runs. 3. If error again, the step Nothing runs.

Core Function Library


To support definition for conditions and variables, the task workflow language provides the following functions: Boolean Number String

SAP AG 2011

39

Working with the Remote Support Platform Studio for SAP Business One

Boolean Functions
Task workflow defines three Boolean functions, and only integer values are supported. equals(operand-one, operand-two): presents two operands are equal, in terms of have the same integer values. If equal, return true, otherwise false. less-than(operand-one, operand-two): denotes whether operand-one less than operand-two, if true return true, if false return false. great-than(operand-one, operand-two): reverse the less-than function. If operand-one is greater than operand-two, return true, otherwise return false.

Definition (EBNF): Boolean_Condition ::= ' " ' Equals_Expression | Less_than_Expression | Great_than_Expression ' " ' Equals_Expression ::= 'equals(' Argument ', ' Argument ') '

Less_than_Expression ::= 'less-than(' Argument ', ' Argument ') ' Great_than_Expression ::= 'great-than(' Argument ', ' Argument ') ' Argument Referred_Parameter ::= ' " ' Constant_Integer | Referred_Parameter ' " ' ::= '${' Parameter_Name '}'

Conformance
Task workflow is intended primarily as a component that can be used by task specification. Therefore, it relies on task specification.

References EBNF
The EBNF used in this document derives from a simple EBNF notation. Refer to the XML language definition. http://www.w3.org/TR/2004/REC-xml-20040204/#sec-notation

List of EBNF referred in document. StepName ::= NameAttribute SubFlowName ::= NameAttribute NameAttribute ::= ' " ' BasicName ' " ' Parameter_Name ::= BasicName Constant_Interger::= Digit BasicName */ ::= [0-9] ::= [A-Za-z] ([A-Za-z0-9._] | '-')* /* Encoding name contains only Latin characters ( '0' | [1-9]([0-9])* )

S ::= (#x20|#x9|#xD|#xA)+ /* White Space, consists of one or more space characters, carriage returns, line feeds, or tabs */

SAP AG 2011

40

Working with the Remote Support Platform Studio for SAP Business One

XML Schema for Task Workflow Language


<xs:element name="Workflow" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="Main"> <xs:complexType> <xs:sequence> <xs:element name="call-step" type="callWF"/> <xs:element name="choose" type="chooseWF"/> <xs:element name="loop" type="loopWF"/> <xs:element name="call-sub" type="callWF"/> </xs:sequence> <xs:attributeGroup ref="onerror"/> </xs:complexType> </xs:element> <xs:sequence minOccurs="0" maxOccurs="unbounded"> <xs:element name="Sub"> <xs:complexType> <xs:sequence> <xs:element name="call-step" type="callWF"/> <xs:element name="choose" type="chooseWF"/> <xs:element name="loop" type="loopWF"/> <xs:element name="call-sub" type="callWF"/> </xs:sequence> <xs:attribute name="name" type="xs:string" use="required"/> <xs:attributeGroup ref="onerror"/> </xs:complexType> </xs:element> </xs:sequence> </xs:sequence> </xs:complexType> </xs:element>

<xs:complexType name="callWF">

SAP AG 2011

41

Working with the Remote Support Platform Studio for SAP Business One

<xs:annotation> <xs:documentation> call a real step</xs:documentation> </xs:annotation> <xs:attribute name="name" use="required"/> <xs:attributeGroup ref="onerror"/> </xs:complexType>

<xs:complexType name="loopWF"> <xs:annotation> <xs:documentation>loop one or more steps </xs:documentation> </xs:annotation> <xs:sequence maxOccurs="unbounded"> <xs:choice> <xs:element name="call-step" type="callWF"/> <xs:element name="loop" type="loopWF"/> <xs:element name="choose" type="chooseWF"/> <xs:element name="call-sub" type="callWF"/> </xs:choice> </xs:sequence> <xs:attribute name="ocurrence" type="xs:int" use="required"/> </xs:complexType>

<xs:complexType name="chooseWF"> <xs:sequence> <xs:sequence maxOccurs="unbounded"> <xs:element name="when"> <xs:complexType> <xs:sequence maxOccurs="unbounded"> <xs:choice> <xs:element name="call-step" type="callWF"/> <xs:element name="loop" type="loopWF"/> <xs:element name="choose" type="chooseWF"/> <xs:element name="call-sub" type="callWF"/> </xs:choice> </xs:sequence> <xs:attribute name="condition" type="xs:string" use="required"/>

SAP AG 2011

42

Working with the Remote Support Platform Studio for SAP Business One

</xs:complexType> </xs:element> </xs:sequence> <xs:element name="otherwise" minOccurs="0"> <xs:complexType> <xs:sequence maxOccurs="unbounded"> <xs:choice> <xs:element name="call-step" type="callWF"/> <xs:element name="loop" type="loopWF"/> <xs:element name="choose" type="chooseWF"/> <xs:element name="call-sub" type="callWF"/> </xs:choice> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType>

<xs:attributeGroup name="onerror"> <xs:attribute name="onerror-step" type="xs:string" use="optional"/> <xs:attribute name="onerror-sub" type="xs:string" use="optional"/> </xs:attributeGroup>

SAP AG 2011

43

Working with the Remote Support Platform Studio for SAP Business One

Copyrights, Trademarks, and Disclaimers


Copyright 2011 SAP AG. All rights reserved. The current version of the copyrights, trademarks, and disclaimers at http://service.sap.com/smb/sbocustomer/documentation is valid for this document.

SAP AG 2011

44