inubit 6.1 inubit Workbench/Process Engine Modules Guide: Data Converter, Format Adapter, Utilities, Workflow and Web Service Controls

Size: px
Start display at page:

Download "inubit 6.1 inubit Workbench/Process Engine Modules Guide: Data Converter, Format Adapter, Utilities, Workflow and Web Service Controls"

Transcription

1 inubit 6.1 inubit Workbench/Process Engine Modules Guide: Data Converter, Format Adapter, Utilities, Workflow and Web Service Controls

2 Copyright Bosch Software Innovations GmbH Schöneberger Ufer Berlin Germany Phone: Fax: URL: Bosch Software Innovations GmbH 2013 Legal Provisions The information and data, including URLs and other references on an Internet basis, contained in this documentation may be changed without prior notice. The product documentation was carefully prepared. However, the information contained therein cannot be guaranteed to reflect the properties of inubit. The liability of Bosch Software Innovations GmbH encompasses only the provisions stated in the sales and delivery conditions. The users are responsible for compliance with all applicable copyrights. Regardless of applicability of the respective copyright laws, no portion of this document may be reproduced or transferred for any purpose, regardless of the means or resources used, electronically or automatically, without prior explicit written approval from Bosch Software Innovations GmbH. Bosch Software Innovations GmbH may be the owner of patents, patent applications, trademarks, copyrights or other rights of intellectual property that concern the content of this document. The provision of this document does not grant license rights to these patents, trademarks, copyrights or other intellectual property, unless this was explicitly granted by Bosch Software Innovations GmbH in a written license agreement. Software provided by Bosch Software Innovations GmbH may include software components of other producers. inubit is a registered trademark of Bosch Software Innovations GmbH. All other product and company names listed in this document may be registered trademarks of their respective owners.

3 Table of Contents 3 Table of Contents Notes on the Modules Guide...11 Scope of the Documentation...11 Tips, Notes and Links in the Documentation...13 Further Information and Support Complex Lookup Table (Data Converter) Functional Principle Creating Processing Rules Example: Creating Elements Example: Fixed Values as Additional Search Condition Example: Values of Variables as Additional Search Condition Example: XPath Expression as Additional Search Condition Dialog Descriptions Data sources Tab Dialog Add data source (1) Dialog Add data source (2) Processing Rules Tab Dialog Processing rule properties Action list area FO Converter (Data Converter) Creating PDF/A-1b and Changing Fonts UNIX/Linux: Generating SVG Graphics Dialog FO Converter Properties Lookup Table (Data Converter) Functional Principle Creating a Data Source Defining XML Data Sources Importing Data into an XML Data Source Manually Adding Data to an XML Data Source Editing and Deleting Data in an XML Data Source Defining DB Data Sources Referencing Database Tables, Setting Table and Column Names Defining Tables and Columns with the DB Manager...48 inubit 6.1: Workbench/Process Engine: Modules Guide

4 4 Table of Contents 3.5 Defining Replacement Rules Dialog Descriptions Data sources Tab Add data source Dialog (1) Add data source Dialog (2) Table properties Dialog Processing rules Tab Processing rules properties Dialog Task Generator (Data Converter) Functional Principle: Task Generator for Forms and Web Applications Creating Forms with the Form Designer Defining Form Layouts and Positioning Elements on Panels Previewing the Form Designing Forms with CSS Defining CSS Classes Centrally Defining CSS Locally Alternatives Creating Combo Boxes Creating Lists with Multiple Selection Dynamically Changing the Unit for Indications of Size Displaying Form Elements Dependent upon User Rights (Web Applications only) Generating Form Parts from XML Schemas or WSDL Files with the Client Generator Accessing Resources of the Process Engine from Portlets Accessing the Repository of the Process Engine Accessing an HTTP Input Listener Connector Accessing a REST Input Listener Connector Accessing a secured HTTP Input Listener Connector Accessing a secured REST Input Listener Connector Using JavaScript in Forms Updating Portlets and Form Sections using Ajax Updating a Portlet with Ajax Updating a Form Section with Ajax Validating User Input in Forms Client-side User Input Validation with Patterns Server-sided User Input Validation with AJAX Creating Context-sensitive Online Help for Forms inubit 6.1: Workbench/Process Engine: Modules Guide

5 Table of Contents Exporting and Importing Form Texts for Translation Using and Creating Widgets Using and Configuring the Grid Widget Example: Dynamic Table with Client-Side Sorting, without Paging Example: Dynamic Table with Paging and Server-Side Sorting Creating a Widget and Integrating it into the inubit Software Integrating Employees into Workflows by Tasks Integrating Tasks in Technical Workflows Displaying Task Lists Displaying Task Lists in the inubit Workbench Displaying Task Lists as Servlets in a Browser Form Designer User Interface Form Mapping Mapping the Source to Elements in the Designer Absolute Layout in the Designer Output Mapping Form Elements in the Toolbar Properties of Form Elements Client Generator User Interface Dialog Descriptions Task Generator Properties Dialog Permissions Dialog Application Profile Dialog XSLT Mapper Settings Dialog Panel Layout Dialog XSLT Converter (Data Converter) XSLT Mapper User Interface Toolbar Functions Other Functions XSLT Command Wizard Testing the XSLT Stylesheet Debugging the XSLT Stylesheet Validating the Result Using Extensions and Java Packages Using Extensions Embedding Java Packages of the inubit Software inubit 6.1: Workbench/Process Engine: Modules Guide

6 6 Table of Contents 5.6 Embedding Any XSLT Processor Using Variables Dialog XSLT Converter Properties CSV-XML/XML-CSV Adapter (Format Adapter) Example: CSV to XML Conversion Dialog Module Editor EDI Adapter (Format Adapter) Functional Principle of the EDI > XML Conversion Creating an EDI Adapter and Configuring a Rule Creating XML Input Messages for XML-EDI Adapters Creating a New Rule Publishing Rules to the inubit Process Engine for Re-use Creating an SAP IDoc XML Rule Using Rule Editors Creating a New mapping set Dialog Descriptions Dialog Qualifier Definition Dialog "Auto Detection" EDI-XML Adapter Properties Dialog Syntax and Validation Dialog Delimiters Dialog XML-EDI Adapter Properties Dialog New Rule Wizard: Select creation method New Rule Wizard: New rule Rule File Explorer Flat Adapter (Format Adapter) Functional Principle Rule Editor (User Interface) Creating a New Rule Dialog Descriptions Dialog Flat File-XML Adapter Properties Dialog XML-Flat File Adapter Properties MIME Adapter (Format Adapter) inubit 6.1: Workbench/Process Engine: Modules Guide

7 Table of Contents Example: MIME > XML MIME Conversion Dialog Descriptions MIME-XML Adapter Dialog XML-MIME Adapter Dialog XLS Adapter (Format Adapter) Creating Input Messages for the XML-XLS Adapter XSL > XML: Change Time Zone for Converting Values with Type Date Dialog Descriptions Dialog XLS-XML Adapter Properties Dialog XML-XSL Adapter Properties XLSX Adapter (Format Adapter) Preparing Input Messages for XML > XLSX Conversion XLSX Adapter Properties Dialog Barcode Generator (Utility) Sample Workflow Barcode Generator Properties Dialog Compressor (Utility) Compressing Multiple Files in a Zip Archive Compressor/Decompressor Properties Dialog Cryptographer (Utility) Dialog Descriptions Cryptographer Plug-in Dialog Websale Cryptographic 3DES Dialog CMS (Cryptographic Message Syntax) Dialog HMAC (Hash-based Message Authentication Code) Dialog Data Stream Modifier (Utility) Data Stream Modifier Properties Dialog Encoder (Utility) Encoder Properties Dialog inubit IS Configuration (Utility) inubit 6.1: Workbench/Process Engine: Modules Guide

8 8 Table of Contents 17.1 Functional Principle Creating Input Message for Calling-up Operations Identifying Repository Objects for a User and a Tag Using Encrypted Login Data Executing Operations Remotely/as a Different User Reading Log Entries from Monitoring Components Filtering Log Entries Sorting Log Entries Searching for Strings in Log Entries Calculating the Size of Input Messages Line Reader (Utility) Line Reader Properties Dialog PDF Toolbox (Utility) Generating an Input Messages for the PDF Toolbox Sample Workflow Process Data Logger (Utility) Configuring the Process Data Logger Dialog Process Data Logger Properties Report Data Collector (Utility) Requirements Under UNIX/Linux Creating a Process Model Report Adapting the Process Model Report Dialog Descriptions Diagram Selection Dialog Configuring the Selection Dialog S/MIME (Utility) Generating Keys and Certificates Dialog Description Dialog S/MIME Configuration Dialog S/MIME Encryption Dialog S/MIME Decryption Dialog S/MIME Signing Dialog Check S/MIME Signature inubit 6.1: Workbench/Process Engine: Modules Guide

9 Table of Contents 9 23 XML Diff (Utility) Output Messages XML Diff Module Settings Dialog XML Enveloper (Utility) Dialog XML Enveloper Properties XML Formatter (Utility) Examples for Input and Output Messages XML Formatter Properties Dialog XML Validator (Utility) XML Validator Properties Dialog Web Service Controls Invoke Dialog Description OnMessage Receive Dialog Web Service Settings Reply Dialog Descriptions Dialog Reply Module Settings in Technical Workflows Dialog Reply Module Properties in BPEL Diagrams Workflow Controls Assign Compensate Compensate Scope Demultiplexer Defining Conditions for Message Transfers Dialog Demultiplexer Configuration Empty Exit Joiner Multiplexer Dialog Multiplexer Properties Rethrow inubit 6.1: Workbench/Process Engine: Modules Guide

10 10 Table of Contents Splitter Dialog Splitter Throw Dialog Throw Settings Validate Dialog Validate Module Settings Wait Workflow Connector Dialog Descriptions Workflow Connector Dialog Workflow Selection and Properties Dialog Module Selection Workflow Starter Dialog Workflow Starter inubit 6.1: Workbench/Process Engine: Modules Guide

11 Notes on the Modules Guide 11 Target audience This guide offers detailed information for system administrators, system integrators, and developers who manage and configure inubit software (or parts thereof). The guide describes the following modules: Data Converter Data Converters convert XML-formatted data into a different XML format. Format Adapter Format Adapters convert data that are not available in an XML structure (such as CSV or EDI data formats) into XML formats. Utilities Utilities are useful auxiliary modules for optimizing Technical Workflows. With an Utility you can, for example, compress or decompress or encode/decode data or log selected process data. Workflow Controls Workflow Controls are control structures that influence the processing sequence for modules in Technical Workflows (iterations, sequences, conditional selection, etc.). Web Service Controls In BPEL processes Web Service Controls are the main elements for calling and providing Web services. In Technical Workflows they can be used as alternatives to Web Services Connectors. Scope of the Documentation inubit provides comprehensive documentation and is available as a printed manual, a PDF file and as online help in the inubit Workbench. The documentation covers the following content: inubit - Quick Start Describes the hardware and software prerequisites, the installation and the first steps. - Migration Guide - Tutorials For novices. Using technical scenarios the tutorials detail the use of the most important components of inubit. inubit Workbench, inubit Process Engine und inubit Enterprise Portal: - User Guide inubit 6.1: Workbench/Process Engine: Modules Guide

12 12 Explains how to work with the inubit Workbench, the Designer, working with different diagram types, modules, with metadata and workflow variables, simulations, tests, technically-based monitoring and reporting. - Administrator and Developer Guide Administrative topics such as the configuration of inubit Process Engine, backup and restore, user administration, security aspects, monitoring and clustering, development of plug-ins and Thin Clients. - Modules Guide Use and configuration of Data Converter, Format Adapter, Utilities, Workflow and Web Service Controls. - System Connectors Guide Everything involving the use and configuration of system connectors. inubit Solution Center User Guide Information about creating business models, working with Business Solutions, creating views, integrating processes and default models and the REST interface. - Administrator Guide Explains how to backup and restore data, to install the Solution Center as a service, to adjust ports, to configure the portal, the database and HTTPS, to manage users and import diagrams. inubit WebModeler Administrator and User Guide Everything about creating and editing models, adjusting ports, configuring the database and HTTPS. You can download the most current documentation in the inubit User Portal from the software tab at Further information The following information is enclosed as a booklet with the DVD, or as files in the installation package: readme.txt Notes on the installation and migration of inubit. Read this file thoroughly before installing or updating inubit! Quick Start System requirements and installation instruction as booklet delivered with the inubit-dvd. API documentation for plug-in software development kit Found under <is-installdir>/documentation/apidoc/ index.html. JavaScript-Framework of the inubit inubit 6.1: Workbench/Process Engine: Modules Guide

13 13 Found under <is-installdir>/documentation/jsdoc/ index.html Tips, Notes and Links in the Documentation Tips offering useful information for working with inubit. Notes that must be read and observed. Failure to follow the instructions may lead to data loss or may cause serious system problems. References to other text locations within this or any other inubit manual are labeled with an arrow. Links to external web pages. Further Information and Support Press releases and white papers are available from our website For further inquiries, please contact our support by: Telephone: SupportSystem: We wish you every success in working with inubit. Your team from Bosch Software Innovations GmbH! inubit 6.1: Workbench/Process Engine: Modules Guide

14 inubit 6.1: Workbench/Process Engine: Modules Guide

15 1 Complex Lookup Table (Data Converter) 15 This section details the following topics: Functional Principle, p. 15 Creating Processing Rules, p. 17 Example: Creating Elements, p. 20 Example: Fixed Values as Additional Search Condition, p. 22 Example: Values of Variables as Additional Search Condition, p. 24 Example: XPath Expression as Additional Search Condition, p. 26 Dialog Descriptions, p. 27 Use With a Complex Lookup Table you can replace values in XML messages, add elements to XML messages or remove elements based on complex processing rules. 1.1 Functional Principle Processing rules and actions Each module can contain several processing rules. In turn, a processing rule consists of several actions, which are executed on the input messages, as for example, first searching for a defined value and then replacing it. The values, which are to be replaced, and the replacement values are stored and mapped onto each other in tables. As tables, you can use static XML tables and dynamic database tables: Static tables are directly created in the Complex Lookup Table and filled with value/value pairs. Dynamic tables can be loaded from a database. Batch processing The processing rules are executed in the order of their appearance. Each processing rules is applied exactly once to the input message. The Complex Lookup Table calls the first processing rule and uses it to process the input message. Then, the next processing rule is applied to the already modified message. The input message changes step-by-step with each processing rule. inubit 6.1: Workbench/Process Engine: Modules Guide

16 16 Complex Lookup Table (Data Converter) Functional Principle Example: Replacing values In the following example, English country names are replaced by their German equivalents. The input message has the following structure: The processing rule is: a. Search for the value of the first land element, which is a child element from /root/person and whose value can be found in the table MappingCountries in the column Name_In. Here: Italy. b. Replace the existing value by the value, which can be found in the same table in the column Name_Out in the same row like Italy. The result is Italien: c. Do the same with all further values of the land elements. Within the Complex Lookup Table, the processing rule is expresses like this: The output message looks like this: inubit 6.1: Workbench/Process Engine: Modules Guide

17 Complex Lookup Table (Data Converter) Creating Processing Rules 17 Refer to Creating Processing Rules (Workbench/Process Engine: Modules Guide, chap. 1.2, p. 17). 1.2 Creating Processing Rules Prerequisites You need an XML based sample message with the same structure like the input messages, which are processed by the Complex Lookup Table in productive operations. If you wish to use a database as data source: - The driver appropriate for your database must be installed. Refer to Installing Drivers (inubit Process Engine: Administrator and Developer Guide, chap. 3.4, p. 57). - You need the access data (user name and password) for the database. Proceed as follows 1. Creating a data source a. Display the Data sources tab. b. In the left area open the context menu and select Add. The Dialog Add data source (1) (Workbench/Process Engine: Modules Guide, chap , p. 28) opens. c. Check one of the options XML data source or DB data source. d. Enter an unambiguous name and optionally a description for the new data source. e. Only for DB data sources Click Next. The Dialog Add data source (2) (Workbench/ Process Engine: Modules Guide, chap , p. 29) opens. Configure the connection to the database. inubit 6.1: Workbench/Process Engine: Modules Guide

18 18 Complex Lookup Table (Data Converter) Creating Processing Rules f. Click Finish. Your data source is displayed in the left area. XML data sources are labeled by the prefix XML:, DB data sources by the prefix DB:. 2. Entering/displaying data in the data view - XML data sources You can import data or enter it manually: - For importing data, open the context menu in the right area and select Import table data. - For entering data, manually open the context menu in the right area and select Add. - DB data sources a. In the right area open the context menu and select Table properties. A dialog opens: b. Select the database table and check the check box of all columns, which you want to edit with the processing rule. c. Click OK to save the selection. In the data view, an empty table is displayed. The column names are used as headings. d. To load the data from the database open the context menu and select Add. The first 25 database records are read from the database and displayed. 3. Creating a processing rule a. Display the Processing rules tab. b. In the left area open the context menu and select Add. The Dialog Processing rule properties (Workbench/Process Engine: Modules Guide, chap , p. 32) opens. c. Enter a name for the processing rule. The name is displayed in the processing rules list and as heading of the action list. Define the other parameters and select data source to be used. d. Click OK to save the processing rule. 4. Loading sample messages a. In the Source document area click the button and select Open. A file explorer opens. b. Navigate to the sample message and load it. The message is displayed in the same area. 5. Defining the XPath of the reference node For each processing rule, you must define a common reference node for all actions with XPath. You can enter the XPath manually or drag the element out of the sample message and drop it onto the XPath of reference node entry field. 6. Defining actions inubit 6.1: Workbench/Process Engine: Modules Guide

19 Complex Lookup Table (Data Converter) Creating Processing Rules 19 The first action must always be a search for an element. If the search was successful, you can have values replaced or new elements created. - Searching In order to search for an element, you can define multiple actions. All actions are connected by a logic AND implicitly. In case the first search criterion for the first data source does not match, the next conditions for the next data sources are checked (if exist). If no other condition exists, the following actions are performed: - The next processing rule is executed (if there is one). - If there is none and the action is a replacement, the default value is used (if one exists). - If no default value is given, an error message is displayed and the module processing is cancelled. The first search must always be carried out in a table. The following search can refer to values in the input message or to additional fixed values if the column entry is not sufficient for uniquely identifying a row or if the search is to be restricted to values of a specific row. You also can search for workflow variables. For this purpose enter the name of the desired variable prefixed with a $ sign into the Fixed field. Refer to - Example: Fixed Values as Additional Search Condition (Workbench/Process Engine: Modules Guide, chap. 1.4, p. 22) - Example: Values of Variables as Additional Search Condition (Workbench/Process Engine: Modules Guide, chap. 1.5, p. 24), - Example: XPath Expression as Additional Search Condition (Workbench/Process Engine: Modules Guide, chap. 1.6, p. 26). If the search is to be carried out within a data source, the XPath expression must end square brackets, e.g. like in book[@id='20']. Instead, use the XSLT function text(), z. B. book[@id='20']/text(). - Replacing The element whose value is to be replaced is addressed via an XPath expression. The element must be positioned underneath the reference node. Refer to Defining the XPath of the reference node (Workbench/Process Engine: Modules Guide, chap. 1, p. 18). - Creating inubit 6.1: Workbench/Process Engine: Modules Guide

20 20 Complex Lookup Table (Data Converter) Example: Creating Elements An XML element is created and assigned a value. Position and name of the new element are defined via an XPath expression, for example, the expression /root/person/ort creates an element Ort below the XML node person. The element must be positioned underneath the reference node. Refer to Defining the XPath of the reference node (Workbench/Process Engine: Modules Guide, chap. 1, p. 18). If you have phrased a search and configured a creation or replacement afterwards, you cannot define any further actions in the same processing rule. For further actions, you must create a new processing rule. 7. Testing processing rules In the toolbar, click. The test result is displayed in the Result area. If errors occur, these are output as message. 1.3 Example: Creating Elements The example illustrates how to create elements. Input message The input message has the following structure: inubit 6.1: Workbench/Process Engine: Modules Guide

21 Complex Lookup Table (Data Converter) Example: Creating Elements 21 Processing rule 1. Search for the value of the first land element, which is a child element of /root/person and whose value can be found in the data source Regionen in the column Name_In. Here: Italy. 2. Create the element province and assign the value, which can be found in the same data source in the column Name_New in the same row like Italy. Here, this applies to Apulien: In the action list the processing rule looks like this: Output message The result is: In order to make sure that new values are created even if values are missing in a data source, enter a default value! inubit 6.1: Workbench/Process Engine: Modules Guide

22 22 Complex Lookup Table (Data Converter) Example: Fixed Values as Additional Search Condition 1.4 Example: Fixed Values as Additional Search Condition The example illustrates how to use fixed values as additional search condition. This is necessary if defining the column is not sufficient for identifying a row, or if only values from a certain row are to be searched. In the example, the current value of the land element is to be replaced by the value, which stands in the column Name_New. However, the output values cannot be assigned to input values unambiguously because some values occur more than once in the data source and are assigned to different output values. Thus, an additional criterion must apply: exactly the value must be output, where in the column Season a very distinct value can be found. Input message The input message has the following structure: Processing rule In the Lookup Configuration area, the option Use fixed values as additional search key is selected. Then, the column Fixed is displayed. The following actions are defined: 1. In the AddSeason data source in the Name_In column, search for the value of the first occurrence of the land element from the input message inubit 6.1: Workbench/Process Engine: Modules Guide

23 Complex Lookup Table (Data Converter) Example: Fixed Values as Additional Search Condition 23 Result: Italy. But this value occurs twice in the column. 2. In addition, check in both rows where the value italy appears, whether the column Season has the value Autumn. This applies to row 3. The current value of the column Region in row 3 is Rom, thus the entry province with the value Rom is created in the output message. In the Complex Lookup Table, these actions are expressed as follows: Output message The result looks like this: inubit 6.1: Workbench/Process Engine: Modules Guide

24 24 Complex Lookup Table (Data Converter) Example: Values of Variables as Additional Search Condition 1.5 Example: Values of Variables as Additional Search Condition You can use the value of workflow variables (both system variables and user-defined variables) as an additional search condition to limit the result set. Prerequisites You have defined the variable VarAddComment at the Complex Lookup Table as follows: - Source: Static value, Type: Text, Value: true - Target: Variable VarAddComment, Type: xs:string You have created a data source with the following entries: You have created an input message using the following structure and you have opened it in the XML source file area: You have created a new processing rule and you have selected the data source described above. You have activated the checkboxes Active and Use fixed values as additional search key. Processing rule Create the following actions: 1. Search for a value for the shipdate node in the input message, which is equal to the first value of the ShippingDate entry in the database ( ). For this purpose, proceed as follows: a. Enter the following XPath in the field XPath of the reference node : /purchaseorder/items/item b. Enter shipdate in the first line of the column XPath/child node inubit 6.1: Workbench/Process Engine: Modules Guide

25 Complex Lookup Table (Data Converter) Example: Values of Variables as Additional Search Condition 25 c. Select the Search action. d. From the column AddComment ( name of the data source) select the entry ShippingDate (name of the first column of the data source). 2. Search for a column Var_Add_Comment in the data source and check if the value in the current line is equal to the value of the variable VarAddComment which has been handed over from the predecessor module. For this purpose proceed as follows: a. Select the Search action in the second line. b. Select the entry Var_Add_Comment in the second line of the column AddComment. c. Enter the name of the variable with a prefixed $ sign in the field Fixed : $VarAddComment 3. When both of the conditions are met, create the element ConfirmComment below the reference node of the input message with the value of the current line of the column CommentToAdd in the data source. For this purpose, proceed as follows: a. Enter ConfirmComment in the third line of the column XPath/ child node. This element should be appended below the reference node. b. Select the Create action. c. Select the entry CommentToAdd in the column AddComment to assign the value of the current line of the column CommentToAdd in the data source to the new element ConfirmComment : Confirm the desired shipping date. d. Optionally, you can enter a default value in the column Default which will be added to the new element in the case one of the conditions is not met. e. Save your changes. f. Start the module with the input message. In the Complex Lookup Table, these actions look like this: Output message The result looks like this: inubit 6.1: Workbench/Process Engine: Modules Guide

26 26 Complex Lookup Table (Data Converter) Example: XPath Expression as Additional Search Condition 1.6 Example: XPath Expression as Additional Search Condition To restrict your search, you can use as additional search condition an XPath expression referring to values in the input message rather than to XML or database tables. Input message The input message has the following structure: Processing rules The following actions are carried out: 1. In the books data source, in the author column, search for the value of the first author element. In the data source, the first author element is mapped to the value IBM. 2. In the input message, search for the value of the title element which in parallel is associated with the attribute id and the corresponding value 20. This is true for the book Java 1.6 API inubit 6.1: Workbench/Process Engine: Modules Guide

27 Complex Lookup Table (Data Converter) Dialog Descriptions Create a Publisher element directly under this title element and assign to this element the value which - in the books data source - corresponds to the value found in step 1 (IBM) in the publisher column. This is true for the value DATA AG. In the Complex Lookup Table, these actions look like this: Output message The result looks like this: 1.7 Dialog Descriptions This section details the following topics: Data sources Tab, p. 28 Processing Rules Tab, p. 30 inubit 6.1: Workbench/Process Engine: Modules Guide

28 28 Complex Lookup Table (Data Converter) Dialog Descriptions Data sources Tab This section details the following topics: Dialog Add data source (1), p. 28 Dialog Add data source (2), p. 29 In the Data sources tab you administrate static XML data sources and dynamic DB data sources. The tab consists of the following areas: 1. List of all data sources Displays a list of all existing data sources. Refer to Creating a data source (Workbench/Process Engine: Modules Guide, chap. 1, p. 17) 2. Data view Display the column structure of the data sources selected in the List of all data sources area. Using the context menu, you can edit the column structure of an XML data source or adjust the table properties of a DB data source. Here, you can only add, modify and move values and import table data for XML data sources. You modify values of DB data sources directly in the database table Dialog Add data source (1) In this dialog, you select the type of the new data source and name it. Type XML Data source inubit 6.1: Workbench/Process Engine: Modules Guide

29 Complex Lookup Table (Data Converter) Dialog Descriptions 29 You create XML data sources directly in the Complex Lookup module. Alternatively, you can also import existing XML data sources. Refer to Creating Processing Rules (Workbench/Process Engine: Modules Guide, chap. 1.2, p. 17). DB data source A DB data source references an external database table. Data source information Name Name of the data source. The name can differ from the name used in the database. Description: Optionally Dialog Add data source (2) (Only for DB data sources) In this dialog, you enter the database connection data. Data source Database Select a Database or Business Object Connector. Its current connection parameter are copied and used for creating the database connection. You can modify these values later on. Database connection Presetting Selects a database type. Based on the selection, a database sample URL and the correct database driver are set in the following fields. Choose the option Custom for not setting any defaults! Database URL If a selection has been made in the Presetting field, the correct sample URL for accessing the database is displayed. To access a different database than the one shown in Presetting, ignore the presetting and enter the correct URL for your database. Database driver class Name of the database driver class. Automatically set if a database is selected in Presetting. The database driver matching the selected database must be installed! Refer to Installing Drivers (inubit Process Engine: Administrator and Developer Guide, chap. 3.4, p. 57). inubit 6.1: Workbench/Process Engine: Modules Guide

30 30 Complex Lookup Table (Data Converter) Dialog Descriptions User Valid user name for the selected database. Password The password the specified user will use to log on to the database. Set special encoding When activated, you can select a character set from the list or enter another one. Trim string values from database Deletes leading and trailing blank spaces from text values. Connection pooling Opens the Dialog Connection Pooling Properties (Workbench/ Process Engine: System Connectors Guide, chap , p. 85) dialog in which you can configure the reuse of physical database connections in order to optimize the time-consuming process of establishing and disconnecting the database connection. Refer to Dialog Connection Pooling Properties (Workbench/ Process Engine: System Connectors Guide, chap , p. 85). Specific connection parameters For creating parameters like timeouts or number of open connections, which are used for configuring the database connection depending on the used database. Parameters are defined as name/value pairs. Connection test Test connection For testing whether the connection can be successfully established using your configuration Processing Rules Tab This section details the following topics: Dialog Processing rule properties, p. 32 Action list area, p inubit 6.1: Workbench/Process Engine: Modules Guide

31 Complex Lookup Table (Data Converter) Dialog Descriptions 31 In the Processing rules tab, you create and configure processing rules. The tab consists of the following areas: 1. List of all processing rules Displays a list of all already created processing rules. You can create, edit, and delete processing rules via the context menu of this area. Refer to Creating Processing Rules (Workbench/Process Engine: Modules Guide, chap. 1.2, p. 17). 2. Action list For configuring the selected processing rules and for defining the individual actions. Refer to Action list area (Workbench/Process Engine: Modules Guide, chap , p. 33). 3. Source document For loading sample input messages. For creating XPath expressions in the Action list area, the input message is automatically displayed in the XPath assistant. 4. Namespaces inubit 6.1: Workbench/Process Engine: Modules Guide

32 32 Complex Lookup Table (Data Converter) Dialog Descriptions In this area, the namespaces are displayed which are defined the input message. You can add, modify, and delete namespace definitions. 5. Result In this area, the result is displayed after testing the processing rules. Refer to Testing processing rules (Workbench/Process Engine: Modules Guide, chap. 7., p. 20) Dialog Processing rule properties Processing rule Name Unambiguous name of the processing rule. Processing rule settings Active Specifies whether or not a processing rule should be included in the message processing. Only active processing rules are included. Use fixed values as additional search key Select this option, if the value in a column is not sufficient to uniquely identify a row, or if you want to search for values in a particular row only. When you have activated this option, you can also use workflow variables as an additional search condition. Refer to - Example: Fixed Values as Additional Search Condition (Workbench/Process Engine: Modules Guide, chap. 1.4, p. 22) - Example: Values of Variables as Additional Search Condition (Workbench/Process Engine: Modules Guide, chap. 1.5, p. 24) Case sensitive When selected replacing values is case sensitive. Throw exception if no value is found When activated, an error message is displayed if there is an element matching a mapping rule but it is not equal to the value in the data source. - Ignore error if source node is not found When activated, no error message is displayed even if no matching element for a mapping rule can be found. Convert empty string value to NULL during database lookup inubit 6.1: Workbench/Process Engine: Modules Guide

33 Complex Lookup Table (Data Converter) Dialog Descriptions 33 When activated, empty character strings are replaced by NULL values. Select this option if undefined empty values are to be output as NULL values from a database. Used data sources The table list all existing data sources with their names, types and comments. Select the data sources processing rules should use. The data sources appear in the defined order as a column in the action list. The search conditions are connected by an OR operator Action list area XPath of the reference node Path to the element serving as a reference for all created actions. Searches, replacements, and creations must refer to elements whose path includes the reference node. Table - # (First column): Sequential number of the row. - XPath/Child node Path to an element in the input XML message. Select the element in the XML source file and drag the node to the desired row. - Action The actions Search, Replace, and Create are available. Refer to Defining actions (Workbench/Process Engine: Modules Guide, chap. 6., p. 18). - <Name of data source> Names of the tables displayed in the Tables tab and referenced in the processing rules. Name of the data sources activated in the Dialog Processing rule properties (Workbench/Process Engine: Modules Guide, chap , p. 32) in the Used data sources table. The cells in this column are lists from which you can select all of the column names in the table. If you use several data sources, they appear as additional columns from the left to the right in the same order you have configured on the Processing rule properties page. If the search condition is not satisfied by the first data source, the other data sources are searched. Once a search criterion matches, the next action is processed. Refer to Dialog Processing rule properties (Workbench/ Process Engine: Modules Guide, chap , p. 32). - Fixed inubit 6.1: Workbench/Process Engine: Modules Guide

34 34 Complex Lookup Table (Data Converter) Dialog Descriptions Enter a fixed value or a reference to a workflow variable. Refer to - Example: Fixed Values as Additional Search Condition (Workbench/Process Engine: Modules Guide, chap. 1.4, p. 22) - Example: Values of Variables as Additional Search Condition (Workbench/Process Engine: Modules Guide, chap. 1.5, p. 24) This column is only displayed if you have selected the Use fixed values as additional search key option in the Dialog Processing rule properties (Workbench/Process Engine: Modules Guide, chap , p. 32). - > (Operator) When selected and a Replace or Create action is chosen, you can enter a default value in the next column. - Default Default value. The XML element in the same row is always used as a replacement or for creation if no value is found that fulfills the specified condition. When you have activated the option Throw exception if no value is found the processing will end if one of the conditions defined is not met. In this case, the default value will be ignored inubit 6.1: Workbench/Process Engine: Modules Guide

35 2 FO Converter (Data Converter) 35 This section details the following topics: Creating PDF/A-1b and Changing Fonts, p. 35 UNIX/Linux: Generating SVG Graphics, p. 37 Dialog FO Converter Properties, p. 38 Use Using the FO Converter you convert XSL-FO-formatted input messages into one of the following output formats: PDF PDF/A-1b Refer to Creating PDF/A-1b and Changing Fonts (Workbench/ Process Engine: Modules Guide, chap. 2.1, p. 35). PDF/X-3:2003 PCL (Printer Control Language) PostScript RTF (Rich Text Format) SVG (Scalable Vector Graphic) Refer to UNIX/Linux: Generating SVG Graphics (Workbench/ Process Engine: Modules Guide, chap. 2.2, p. 37). TXT WML (Word Markup Language) Also refer to Output format (Workbench/Process Engine: Modules Guide, chap. 2, p. 38) To create an XSL-FO formatted input message, you can use the XSLT Converter, refer to XSLT Converter (Data Converter) (Workbench/Process Engine: Modules Guide, chap. 5, p. 133). 2.1 Creating PDF/A-1b and Changing Fonts Requirements You will need a font metrics file. This file contains general and character-set-specific information for the fonts that are to be used. Do not use PDF encryption, as this is not allowed for PDF/A. Do not use CMYK graphics without an ICC color profile. Currently, the FO processor provides reliable support for the srgb color space only, and mixing color spaces is not allowed. By default, FOP embeds a standard srgb ICC profile (srgb IEC ). inubit 6.1: Workbench/Process Engine: Modules Guide

36 36 FO Converter (Data Converter) Creating PDF/A-1b and Changing Fonts This profile is used if no other information is provided in the configuration file. For SVG graphics, use RGB colors only. Do not use EPS graphics for fo:external-graphic. Embedded EPS graphics are not allowed for PDF/A. You may not specify explicit filters for metadata objects. Metadata must be embedded in plain text to enable non-pdf-enabled applications to extract the XMP metadata. In the input messages, the root element must include the fontfamily attribute: <?xml version="1.0" encoding="utf-8"?> <fo:root xmlns:fo=" font-family="arial"> [ ] </fo:root> Make sure that all fonts are embedded. If you use base14 fonts (such as Helvetica), the fonts must be licensed and embedded just like other fonts. PDF Version 1.4 is forced if PDF/A-1b output is enabled. Proceed as follows 1. Create a configuration file for the FO processor (FOP), for example fop.xconf: <?xml version="1.0"?> <fop version="1.0"> <!-- Base URL for resolving relative URLs --> <base>/home/tests/fop/pdfa-1b</base> <!-- Source resolution in dpi (dots/pixels per inch) for determining the size of pixels in SVG and bitmap images, default: 72dpi --> <source-resolution>72</source-resolution> <!-- Target resolution in dpi (dots/pixels per inch) for specifying the target resolution for generated bitmaps, default: 72dpi --> <target-resolution>300</target-resolution> <!-- Default page-height and page-width, in case value is specified as auto --> <default-page-settings height="29.7cm" width="21cm"/> <!--Information for specific renderers--> <!--Uses renderer mime type for renderers--> <renderers/> </fop> inubit 6.1: Workbench/Process Engine: Modules Guide

37 FO Converter (Data Converter) UNIX/Linux: Generating SVG Graphics In the <base> element, enter the base directory for fonts. For example <base>c:\fop\fonts</base>. 3. Copy the font you would like to embed, including its font metrics, to the base directory. 4. Add the definition of the embedded fonts to the FOP configuration file. For example: <renderers> <renderer mime="application/pdf"> <fonts> <font metrics-url="arial.xml" kerning="yes" embed-url="arial.ttf"> <font-triplet name="arial" style="normal" weight="normal"/> </font> </fonts> </renderer> </renderers> 5. Create an FO Converter. a. Configure the following settings: - XSL-FO processor: Apache FOP - Output format: PDF/A-1B b. Click Finish. 6. To lodge the configuration file add the following module property: - Name: ConfigFile - Data type: Text (einzeilig) - Value: Path to the FOP configuration file Refer to Adding Module Properties (Workbench: User Guide, chap. 3.7, p. 121). 7. Save the changes. 2.2 UNIX/Linux: Generating SVG Graphics If no X Server is installed, you have to customize a file in order to generate graphics: inubit 6.1: Workbench/Process Engine: Modules Guide

38 38 FO Converter (Data Converter) Dialog FO Converter Properties Proceed as follows 1. Open one of the following files, depending on the used application server: - JBoss: <inubit-installdir>server/jboss/bin/ run.sh - Tomcat: <inubit-installdir>server/tomcat/bin/ setenv.sh bzw..bat 2. Under the variable JAVA_OPTS add the following parameter: -Djava.awt.headless=true 3. Save your changes. 4. Restart the application server. 2.3 Dialog FO Converter Properties This dialog offers the following options: XSL-FO Processor The processors differ in their functions and the output formats they support: - Apache FOP Supports PDF/A-1b as archive format and offers a better support of the FOP standard. - Apache FOP Default processor in inubit versions < 5.1 This version is not further developed. - XMLmind XSL-FO Supports RTF and WordML output. Output format Depending on the selected XSL-FO processor one of the following output formats can be generated: - PDF Adobe s Portable Document Format can be viewed using Acrobat Reader, a free application. - PDF/A-1b Standard for long-term archiving of electronic documents. The following must be included in a PDF/A-1b document: - All fonts used (subgroups are allowed) - All images inubit 6.1: Workbench/Process Engine: Modules Guide

39 FO Converter (Data Converter) Dialog FO Converter Properties 39 - Metadata in XMP format Refer to Creating PDF/A-1b and Changing Fonts (Workbench/Process Engine: Modules Guide, chap. 2.1, p. 35). - PDF/X-3:2003 ISO standard defining the transfer of digital PDF print. If used, the following data must be embedded: - Fonts - TrimBoxes - Graphic data The following are not allowed: - OPI comments - Comments and form fields - Encryption - Transparencies - PCL (Printer Control Language): A format for controlling printers, defined by Hewlett Packard. PCL output files can be sent directly to a printer. - PostScript A standard developed by Adobe for layout description of a printed page. A PostScript-formatted page can be viewed in special viewer applications, or it can be sent directly to a printer supporting the PostScript format. - RTF (Rich Text Format) A file format for exchanging formatted text between different word-processing applications. The document s font, font size, and font color remain unchanged when used in applications from different manufacturers. - SVG (Scalable Vector Graphic): XML-based format for vector graphics. If an SVG file is embedded in an HTML page, the browser must have a plug-in that can display this format. Refer to UNIX/Linux: Generating SVG Graphics (Workbench/Process Engine: Modules Guide, chap. 2.2, p. 37). - TXT Text file without any layout information. - WML (Wireless Markup Language) XML-Format, used by MS Word since version Working directory Absolute path to multimedia files (images, videos, etc.), which are to be embedded into the selected output format. inubit 6.1: Workbench/Process Engine: Modules Guide

40 40 FO Converter (Data Converter) Dialog FO Converter Properties inubit 6.1: Workbench/Process Engine: Modules Guide

41 3 Lookup Table (Data Converter) 41 This section details the following topics: Functional Principle, p. 41 Creating a Data Source, p. 43 Referencing Database Tables, Setting Table and Column Names, p. 47 Defining Tables and Columns with the DB Manager, p. 48 Defining Replacement Rules, p. 48 Dialog Descriptions, p. 49 Usage With a Lookup Table you change values in messages. 3.1 Functional Principle Replacement rules A Lookup Table can execute a rule composed of multiple replacement rules. The values to be replaced and the replacement values are mapped to each other in tables (data sources). You can use both static XML tables and dynamic database tables as data sources: XML data source Suitable only if few values are to be changed. XML data sources are created directly in the Lookup Table and filled with value pairs. Refer to Defining XML Data Sources (Workbench/Process Engine: Modules Guide, chap , p. 43). DB data source Suitable for executing numerous conversion steps as the table is only loaded once and then held in the memory. Refer to Defining DB Data Sources (Workbench/Process Engine: Modules Guide, chap , p. 46). Stack processing Replacement rules are processed in the order in which they occur. Each replacement rule is applied exactly once. The Lookup Table calls up the first replacement rule and uses it to process the input message. Then the next replacement rule is applied to the already changed message. The input message changes stepby-step with each replacement rule. inubit 6.1: Workbench/Process Engine: Modules Guide

42 42 Lookup Table (Data Converter) Functional Principle Example In the following example, English country names are replaced by German ones. The input message has the following structure: The replacement rule is: a. Search the input message for the first occurrence of the element /root/person/country with the value Italy. b. Replace Italy with the value in the Country mapping XML data source in the Output column in the same row as Italy, which in this case is Italien: c. Proceed in the same manner for all other values of the country elements entered in the XML table. In the Lookup Table the replacement rule looks as follows: The input message looks like this: inubit 6.1: Workbench/Process Engine: Modules Guide

43 Lookup Table (Data Converter) Creating a Data Source Creating a Data Source This section details the following topics: Defining XML Data Sources, p. 43 Importing Data into an XML Data Source, p. 44 Manually Adding Data to an XML Data Source, p. 45 Editing and Deleting Data in an XML Data Source, p. 45 Defining DB Data Sources, p. 46 Usage A data source contains the values for input and output. A replacement rule describes how the input values are to be replaced by the output values. You assign the values to an XML data source directly in the Lookup Table; you link a DB data source with an external database Defining XML Data Sources Usage An XML data source is used to maintain input and output values directly in the Lookup Table. Prerequisites You have opened a Lookup Table for editing. inubit 6.1: Workbench/Process Engine: Modules Guide

44 44 Lookup Table (Data Converter) Creating a Data Source Proceed as follows 1. Go to the Data sources tab. 2. Open the context menu in the left area and choose Add. The Add data source Dialog (1) (Workbench/Process Engine: Modules Guide, chap , p. 50) opens. 3. Choose the option XML data source. 4. Name the data source. 5. Optional: Enter a detailed description of the data source. 6. Click Finish to save the data source. The new data source appears in the list of data sources. In the right window area, an empty table with the columns Input and Output is displayed. You can now import or manually add data: Refer to - Importing Data into an XML Data Source (Workbench/Process Engine: Modules Guide, chap , p. 44) - Manually Adding Data to an XML Data Source (Workbench/ Process Engine: Modules Guide, chap , p. 45) Importing Data into an XML Data Source Prerequisites XML tables must have the following structure: <?xml version="1.0" encoding="utf-8"?> <Table> <Row in="inputvalue" out="outputvalue"/> <Row in="inputvalue" out="outputvalue"/> </Table> Proceed as follows 1. Display the Data sources tab. 2. Open the context menu on the right and choose Import table data. A file explorer opens. 3. Navigate to the XML file containing the data and click Open. The data is loaded and displayed inubit 6.1: Workbench/Process Engine: Modules Guide

45 Lookup Table (Data Converter) Creating a Data Source Manually Adding Data to an XML Data Source Prerequisites You have opened a Lookup Table for editing. You have defined an XML data source. Proceed as follows 1. Display the Data sources tab. 2. Select the data source to which you want to add values. 3. Optional: Enter a default value that the module uses if it does not find an entry in the data source for a value in the input message. 4. In the right area, open the context menu and choose Add to add a new row to the table. 5. Double-click in the field of the new row in the Input column to enter the value from the input message. 6. Double-click in the field of the new row in the Output column to enter the value for the output message. 7. Save your entries. 8. Repeat steps 3 through 6 for all possible values in the input message. For information about editing and deleting values in an XML data source, refer to Editing and Deleting Data in an XML Data Source (Workbench/Process Engine: Modules Guide, chap. 3, p. 45) Editing and Deleting Data in an XML Data Source Prerequisites You have opened a Lookup Table for editing. You have defined an XML data source. Editing value pairs Proceed as follows 1. Display the Data sources tab. 2. Select the data source whose values you want to change. 3. Execute one of the following steps: - Double-click in the field containing the desired entry in the Input column to enter a new value from the input message. - Double-click in the field of the desired row in the Output column to enter a new value for the output message. 4. Save your entries. inubit 6.1: Workbench/Process Engine: Modules Guide

46 46 Lookup Table (Data Converter) Creating a Data Source 5. Repeat steps 3 and 4 for all values you want to change. Deleting value pairs If you no longer require an entry in the data source, open the context menu and choose Delete for the desired row Defining DB Data Sources Usage A DB data source is used to read the input and output values from an external database. This database is maintained outside of the Lookup Table. Prerequisites You have opened a Lookup Table for editing. Proceed as follows 1. Display the Data sources tab. 2. Open the context menu in the left area and choose Add. The Add data source Dialog (1) (Workbench/Process Engine: Modules Guide, chap , p. 50) opens. 3. Choose the option DB data source. 4. Name the data source. 5. Optionally, enter a detailed description of the data source. 6. Click Next. The Add data source Dialog (2) (Workbench/ Process Engine: Modules Guide, chap , p. 50) opens. 7. Configure the database settings. 8. Click Finish to save the data source. The new data source is displayed in left area. In the right area, an empty table is displayed. Now reference the desired database table. Refer to Referencing Database Tables, Setting Table and Column Names (Workbench/Process Engine: Modules Guide, chap. 3.3, p. 47). Exporting/importing connection settings You can export and import connection settings as an XML structure using the context menu of a data source inubit 6.1: Workbench/Process Engine: Modules Guide

47 Lookup Table (Data Converter) Referencing Database Tables, Setting Table and Column Names Referencing Database Tables, Setting Table and Column Names Prerequisites You have opened a Lookup Table for editing. You have defined a DB data source. You have created a database with at least one table and two columns. - You have determined which column contains the input or output values. - The column with the input values must contain the values expected in the input message. - The column with the output values must contain the values with which the input values are to be replaced. Proceed as follows 1. Display the Data sources tab. 2. In the left area, select the DB data source you want to link with a database. 3. Open the context menu in the right area and choose Table properties. The Table properties Dialog (Workbench/Process Engine: Modules Guide, chap , p. 52) opens. 4. Select the desired table. If you have not yet created a table with the appropriate columns, you can use the DB Manager to create the columns. Refer to Defining Tables and Columns with the DB Manager (Workbench/Process Engine: Modules Guide, chap. 3.4, p. 48). 5. Activate the checkboxes for the Input and Output columns. 6. Click OK to save the entries. 7. In the right area, open the Add context menu to read data from the database into the table. The read data is only to check the connection to the correct database. With larger data volumes, not all data is read and displayed. 8. Check whether the connection to the database table is correct and the data was read correctly. inubit 6.1: Workbench/Process Engine: Modules Guide

48 48 Lookup Table (Data Converter) Defining Tables and Columns with the DB Manager 3.4 Defining Tables and Columns with the DB Manager Prerequisites You have opened a Lookup Table for editing. You have created a DB data source. Creating New Tables Proceed as follows 1. Display the Data sources tab. 2. Select the desired DB data source. 3. Open the context menu in the right area and choose Table properties. 4. Click the DB Manager button. The Dialog Database Manager (inubit Process Engine: Administrator and Developer Guide, chap. 8.4, p. 123) opens. 5. Create a new table with the columns Input and Output with the attributes required for your input message and output message (type, length, null and default value). 6. Click OK to save the column definitions. When using the module in a Technical Workflow, you can overwrite the table names and column names as well as the DB connection parameters using variable mapping. 3.5 Defining Replacement Rules Prerequisites You have opened a Lookup Table for editing. You have created a data source. You have added values for the Input and Output columns to the XML data source or the referenced database. Proceed as follows 1. Display the Processing rule tab. 2. In the Source document area, open a suitable input message. 3. Open the context menu in the Replacement rules area and choose Add. A new row is created inubit 6.1: Workbench/Process Engine: Modules Guide

49 Lookup Table (Data Converter) Dialog Descriptions Double-click in the new row in the column XPath to define an XPath query with which you can search for the affected value in the input message. 5. Select the appropriate data source. 6. Activate the checkboxes as desired to influence the behavior of the replacement rules. Refer to Processing rules Tab (Workbench/Process Engine: Modules Guide, chap , p. 52). 3.6 Dialog Descriptions This section details the following topics: Data sources Tab, p. 49 Processing rules Tab, p. 52 Processing rules properties Dialog, p. 53 Table properties Dialog, p Data sources Tab This section details the following topics: Add data source Dialog (1), p. 50 Add data source Dialog (2), p. 50 Table properties Dialog, p. 52 On the Data sources tab, you manage the static XML data sources and dynamic DB data sources. The tab consists of the following areas: Left area: list of all data sources Displays a list of all existing data sources. Refer to Creating a Data Source (Workbench/Process Engine: Modules Guide, chap. 3.2, p. 43). Right area: data view Displays the column structure of the data source selected in the left area. Using the context menu, you can change the column structure of an XML data source or modify the table properties of a DB data source. inubit 6.1: Workbench/Process Engine: Modules Guide

50 50 Lookup Table (Data Converter) Dialog Descriptions Adding, changing and moving values as well as importing table data is only possible for XML data sources here. You change the values of a DB data source directly in the database table. Refer to - Importing Data into an XML Data Source (Workbench/Process Engine: Modules Guide, chap , p. 44) - Manually Adding Data to an XML Data Source (Workbench/ Process Engine: Modules Guide, chap , p. 45) - Referencing Database Tables, Setting Table and Column Names (Workbench/Process Engine: Modules Guide, chap. 3.3, p. 47) Add data source Dialog (1) In this dialog you select the type of the new data source and name the data source. Type XML data source You create XML data sources directly in the Complex Lookup module. Alternatively, you can import existing XML data sources. DB data source A DB data source references an external database table. Information about the data source Name Name of the data source. This name can be different than the name used in the database. Description: Optional Add data source Dialog (2) (Only for the data source type DB data source ) In this dialog you enter the connection data for the database. Data source Database Select a database or Business Object Connector whose current connection parameters can be copied and used to establish the database connection. You can always change these values later inubit 6.1: Workbench/Process Engine: Modules Guide

51 Lookup Table (Data Converter) Dialog Descriptions 51 Database connection Default Used to select a database type. Based on this selection, a database sample URL and the correct database driver are set in the following fields. Select the option Custom if you do not want to set anything. Database URL If a selection has been made in the Default field, a correct sample URL for addressing the database is displayed. To address a different database than the one specified as the Default, ignore the default and enter the correct URL of your database. Database driver class Name of the database driver class. This is automatically set correctly if a database has been selected as the Default. The appropriate database driver for the selected database must be installed. Refer to Installing Drivers (inubit Process Engine: Administrator and Developer Guide, chap. 3.4, p. 57). User Valid user name for the selected database. Password Password used to authenticate the user with the database. Trim string values from database Deletes leading and trailing spaces in string values. Set special coding If this is selected, you can select a character string or add any character string. Connection pooling Opens the Dialog Database Manager (inubit Process Engine: Administrator and Developer Guide, chap. 8.4, p. 123), in which you configure the reuse of physical databases in order to optimize the time-consuming opening and closing of database connections. Special connection parameters Here you create parameters (e.g. timeouts, number of active connections, etc.) with which you configure the database configuration dependent on the respective database in use. You define the parameters as name-value pairs. Connection test Test connection For testing whether the connection can be successfully established using your configuration. inubit 6.1: Workbench/Process Engine: Modules Guide

52 52 Lookup Table (Data Converter) Dialog Descriptions Table properties Dialog In this dialog you define the properties of the tables of a DB data source. Table For the selection of a table from a list. You must have already created the table in the database. The names of the DB table; the input and output columns can be overwritten dynamically via variable mapping. To do so, select module property as the target and then enter the name of the module property to be overwritten: - DB: <table name>.sql_table - DB: <table name>.sql_colin - DB: <table name>.sql_colout DB Manager button For creating a new table and the required columns. Refer to Dialog Database Manager (inubit Process Engine: Administrator and Developer Guide, chap. 8.4, p. 123). Column structure In the row with the column name for the input value, activate the checkbox in the Input column and in the row with the column name for the output values the checkbox in the Output column Processing rules Tab On the Processing rules tab you create and configure processing rules. The tab consists of the following areas: Rule For editing, testing and checking the rule: - Execute test: For testing the processing rules. The result is displayed in the Result area. If all replacements have been executed correctly, you can save the module configuration and publish the module. - Check rule For checking the validity of processing rules. Replacement rules For creating individual replacement rules. In the table you assign a data source to each of the selected XML elements in the input message. You can specify the following information for each assignment: - XPath inubit 6.1: Workbench/Process Engine: Modules Guide

53 Lookup Table (Data Converter) Dialog Descriptions 53 To select an XML node, double-click in the XPath column in a table row. Click the button to open the XPath assistant. - Data source To select a data source, click in the field and select a table. You can assign each replacement rule its own data source. - Active: Displays whether the row is to be processed. - Case sensitive If selected, value replacements are case sensitive. - Invert Defines that the data source is to be used in inverse order, i.e. in incoming messages the system searches for the values in the Output column of the data source and maps them to the values in the Input column. Source document For opening and displaying an example source input message. To create the XPath entries in the Action list area, the input message is automatically opened in the XPath assistant. Namespaces This area displays the namespaces defined in the input message. You can add, change and delete namespace definitions. Result This area displays the result once you have tested the processing rules Processing rules properties Dialog Call Processing rule tab > Double-click the Rule entry Processing rule Name The displayed name is fixed and cannot be changed. Processing rule properties Throw exception if value was not found If this option is activated and during execution of the module in the table no matching value is found for an XML element in the corresponding data source, execution is terminated with an error. Used data sources Thus table lists the defined data sources with name, type, comment and status (active/inactive). You can also create new ones. inubit 6.1: Workbench/Process Engine: Modules Guide

54 54 Lookup Table (Data Converter) Dialog Descriptions inubit 6.1: Workbench/Process Engine: Modules Guide

55 4 Task Generator (Data Converter) 55 This section details the following topics: Functional Principle: Task Generator for Forms and Web Applications, p. 56 Creating Forms with the Form Designer, p. 59 Validating User Input in Forms, p. 82 Creating Context-sensitive Online Help for Forms, p. 85 Exporting and Importing Form Texts for Translation, p. 88 Using and Creating Widgets, p. 90 Integrating Employees into Workflows by Tasks, p. 101 Form Designer User Interface, p. 108 Client Generator User Interface, p. 121 Dialog Descriptions, p. 124 Use The Task Generator is an important tool for integrating users in automated processes. By using a Task Generator you can create tasks and web applications: 1. Tasks Tasks can be created to allow user interaction with business processes while they are processed. A typical task is, for example, releasing a purchase requisition. If you integrate a staff member into a process by assigning a task, an entry in the individual task list of this staff member is created. The task list can be displayed in a Web browser, in the inubit Enterprise Portal or in the inubit Workbench. Tasks can be assigned based on roles and rules. When creating tasks, you can also define a time frame which must be observed for processing them. If a task is not processed within this time frame, it can be escalated or delegated. The different tasks types enable you to include for example reports, documents or external applications, to only display information or allow users to edit them within given time limits. Refer to Integrating Employees into Workflows by Tasks (Workbench/Process Engine: Modules Guide, chap. 4.7, p. 101). 2. Web applications If a process should be initiated by a user interaction, you can create a form for Web applications using a Task Generator. Web applications are entirely form-based application within the inubit Enterprise Portal. Refer to - Developing Your Own Web Application (Tutorials, chap. 5.2, p. 82) inubit 6.1: Workbench/Process Engine: Modules Guide

56 56 Task Generator (Data Converter) Functional Principle: Task Generator for Forms and Web Applications - Using inubit Enterprise Portal (Workbench: User Guide, chap. 20, p. 485) Task Generator features The following features of the Task Generator can be used in all forms, no matter whether forms in web applications are concerned or tasks with the type Form: Checking validity of user input on client or server side Refer to - Client-side User Input Validation with Patterns (Workbench/ Process Engine: Modules Guide, chap , p. 82) - Server-sided User Input Validation with AJAX (Workbench/ Process Engine: Modules Guide, chap , p. 83) Defining context-sensitive help texts for form fields Refer to Creating Context-sensitive Online Help for Forms (Workbench/Process Engine: Modules Guide, chap. 4.4, p. 85). Using multi-lingual help and form texts Refer to Exporting and Importing Form Texts for Translation (Workbench/Process Engine: Modules Guide, chap. 4.5, p. 88). Using widgets Refer to Using and Creating Widgets (Workbench/Process Engine: Modules Guide, chap. 4.6, p. 90). Generating forms dynamically Refer to Generating Form Parts from XML Schemas or WSDL Files with the Client Generator (Workbench/Process Engine: Modules Guide, chap , p. 68). 4.1 Functional Principle: Task Generator for Forms and Web Applications A Task Generator generating a form task or a form for a web application functions according to the following principle: inubit 6.1: Workbench/Process Engine: Modules Guide

57 Task Generator (Data Converter) Functional Principle: Task Generator for Forms and Web Applications 57 In a Task Generator, two conversion steps are performed consecutively: 1. The data of the input message are mapped to a form. Then, the form is edited by users. 2. The result of the form editing is returned to the Task Generator and is prepared as expected by the next module. The conversion steps in detail: 1. In the Form mapping, a request is generated out of the input message by using an XSLT style sheet. 2. Out of the request, either a form for display in the inubit Workbench or an HTML request for a browser is created. The browser converts the HTML request into a form. 3. The form is edited by the users. By clicking the Submit button, the form data are returned as response to the Task Generator. 4. The response is merged with the input message and, in the output mapping, mapped to the XML format, which is expected by the next module in the workflow. Watch points in the Designer The input messages of both conversion steps are also visible in the Watch Mode of the Designer: 1. As long as the form is displayed, a watch point stands well ahead of the linking arrow (in this case: in front of the module TG Source ): inubit 6.1: Workbench/Process Engine: Modules Guide

58 58 Task Generator (Data Converter) Functional Principle: Task Generator for Forms and Web Applications When you open the watch point, the Task Generator s input message is displayed. Now, the Workflow waits until the browser returns the form data, which means, until a user presses the Submit button of the form. 2. After clicking the Submit button, the response is sent to the Task Generator and the next form is displayed. Now, the watch point is displayed on the arrowhead close to the Task Generator (in this case: in front of the module TG Source ): When you open the watch point, the result is displayed. The response is not displayed in the Task Generator in the output mapping in this way. There, it is directly merged with the input message. You need the response, for example, for the inter-portletcommunication, for mapping the transferred data in the form. Refer to Exchanging Data between Portlets: Inter-Portlet Communication (Workbench: User Guide, chap , p. 525) inubit 6.1: Workbench/Process Engine: Modules Guide

59 Task Generator (Data Converter) Creating Forms with the Form Designer Creating Forms with the Form Designer This section details the following topics: Defining Form Layouts and Positioning Elements on Panels, p. 59 Previewing the Form, p. 61 Designing Forms with CSS, p. 61 Creating Combo Boxes, p. 64 Creating Lists with Multiple Selection Dynamically, p. 65 Changing the Unit for Indications of Size, p. 67 Displaying Form Elements Dependent upon User Rights (Web Applications only), p. 67 Generating Form Parts from XML Schemas or WSDL Files with the Client Generator, p. 68 Accessing Resources of the Process Engine from Portlets, p. 70 Using JavaScript in Forms, p. 76 Updating Portlets and Form Sections using Ajax, p. 78 You find a hands-on introduction into working with the form Designer in the tutorial Developing a Web Application in inubit Workbench (Tutorials, chap. 5, p. 81) in the sections Creating the Form Mapping (Tutorials, chap , p. 86) and Creating Output Mapping (Tutorials, chap , p. 90) Defining Form Layouts and Positioning Elements on Panels When configuring a Task Generator you already define the basic layout of your form by specifying the so-called panel layout. Having finished the Task Generator, the form Designer is displayed. You use it to arrange different form elements like, for example, entry fields, labels and buttons via Drag'n'Drop to a form. Refer to - Panel Layout Dialog (Workbench/Process Engine: Modules Guide, chap , p. 130) - Form Designer User Interface (Workbench/Process Engine: Modules Guide, chap. 4.8, p. 108) - Form Elements in the Toolbar (Workbench/Process Engine: Modules Guide, chap , p. 112) - Properties of Form Elements (Workbench/Process Engine: Modules Guide, chap , p. 115) inubit 6.1: Workbench/Process Engine: Modules Guide

60 60 Task Generator (Data Converter) Creating Forms with the Form Designer Proceed as follows 1. Using multiple panels Initially, the form Designer displays an empty area. This area is the first panel of the form named main. A form can consist of one or more panels. a. To create a panel, click the Panel button: A dialog opens where you can name this panel. Name the panel and close the dialog with OK. The new, empty panel is displayed. b. For changing between panels in the form Designer, use the panel list: c. Changing between panels in the form: Add a button to the panel. Clicking the button displays a specific panel. Enter the name of the panel which is to be displayed, in the Properties tab at the button s attribute event, e. g.: You can assign different layouts to a panel. When creating a new form, you must define in the wizard in which way the form should be started. A panel for which you have defined a xsl:if or xsl:for-each dependency remains visible in the Designer. 2. Positioning form elements a. Drag a form element from the toolbar to the panel underneath the toolbar. It is displayed in its default configuration. b. Drag another form element to the panel. To specify how this new element should be positioned, use your mouse to drag the element just to the side of the existing element next to which you want to position the new element inubit 6.1: Workbench/Process Engine: Modules Guide

61 Task Generator (Data Converter) Creating Forms with the Form Designer 61 A thin red line shows where the element will be inserted: - : To the right of the form element - : To the left of the form element - : Above the form element - : Below the form element Previewing the Form You can view the form during any phase of its development: inubit Workbench form preview Used for forms that are displayed in the inubit Workbench in the Tasklist tab. In the toolbar, click the button. Browser form preview Used for forms that are displayed in a browser. In the toolbar, click the button. If a Web Application Connector is selected in the Task Generator dialog Permissions Dialog (Workbench/Process Engine: Modules Guide, chap , p. 127), the CSS style sheets and the JavaScript code of this Web Application Connector and of the inubit Enterprise Portal are considered in the preview. It depends on the settings of your application profile which browser is used for displaying your form. Refer to Application Profiles (inubit Process Engine: Administrator and Developer Guide, chap. 11.1, p. 141) Designing Forms with CSS This section details the following topics: Defining CSS Classes Centrally, p. 62 inubit 6.1: Workbench/Process Engine: Modules Guide

62 62 Task Generator (Data Converter) Creating Forms with the Form Designer Defining CSS Locally, p. 62 Alternatives, p Defining CSS Classes Centrally You can create CSS classes for form elements and define the properties of these classes centrally in a Web Application Connector. The advantage of this approach is that you can use the CSS classes in all Task Generator forms, which reference the Web Application Connector. Proceed as follows 1. Select the element in the form Designer. 2. To connect the element with a CSS class, display the Properties tab and, at the attribute class enter the class name. 3. Create a Web Application Connector and define the properties of the class in the dialog Dialog Internal Resources (Workbench/ Process Engine: System Connectors Guide, chap. 39, p. 397). For information about the syntax of class format definitions, refer to 4. Publish the Web Application Connector. The Web Application Connector must be published and deployed, but it does not need to be part of any workflow! 5. Display the dialog Permissions Dialog (Workbench/Process Engine: Modules Guide, chap , p. 127) of the Task Generator and reference the Web Application Connector Defining CSS Locally Proceed as follows 1. Select the form element in the Designer or in the XML target: inubit 6.1: Workbench/Process Engine: Modules Guide

63 Task Generator (Data Converter) Creating Forms with the Form Designer In the form Designer in the Properties tab, fill the form element attributes with values Alternatives If you do not wish to use CSS classes in the Web Application Connector and if the desired attributes are not available in the Designer s Properties tab, use one of the following options: Add the style attribute to the form element inubit 6.1: Workbench/Process Engine: Modules Guide

64 64 Task Generator (Data Converter) Creating Forms with the Form Designer Example: <Button label="next" event="submit(ok) style="text-align: center; color: black; fontfamily: arial"/> This approach is suitable for supplementing attributes from the properties tab. Add the css attribute to the form element Example: <Button label="next" event="submit(ok) css="text-align: center; color: black; fontfamily: arial"/> With this approach, only styles are used that are defined via the css attribute. All attribute values from the properties tab are ignored Creating Combo Boxes In combo boxes form users can select one value out of a given set of values or enter an arbitrary value, for example: Entering arbitrary values is only available in forms that are displayed in the Tasklist tab of the inubit Workbench! Proceed as follows 1. Creating a combo box a. In the Designer add a ComboBox element. b. Add an Item element for each value that is to be displayed in the list. c. To pass on an internal value, additionally to the value which is selected by the users, define the attribute value for each Item element. 2. Allowing for individual input in the combo box Only for forms which are displayed in the Tasklist tab of the inubit Workbench. In the Designer, select the ComboBox element and check the property editable. If the property is not checked, then users can only choose one of the predefined values from the list inubit 6.1: Workbench/Process Engine: Modules Guide

65 Task Generator (Data Converter) Creating Forms with the Form Designer Defining a default value To define a default value which is already selected when the list is displayed, select the ComboBox element and enter the default value as value of the property select, for example: Alternatively, you can also set a default value using the following attributes: - selectindex= [number] at the ComboBox element, if the order of the Item entries is known. - selected= true at an Item element, if the Item-entries are generated dynamically Creating Lists with Multiple Selection Dynamically From a list with multiple selection option, form users can select one or more values out of a fixed set of values. inubit 6.1: Workbench/Process Engine: Modules Guide

66 66 Task Generator (Data Converter) Creating Forms with the Form Designer Prerequisites Input message with a list of elements, in order to have the form list dynamically generated. Proceed as follows 1. In the Designer insert a group element with absolute layout. 2. Into this group insert another group with vertical layout. 3. And finally, into the vertical group add as many CheckBox elements as needed by using xsl:for-each, for example: The result is a scrollable list in which any entry can be selected: inubit 6.1: Workbench/Process Engine: Modules Guide

67 Task Generator (Data Converter) Creating Forms with the Form Designer Changing the Unit for Indications of Size As a default, in forms the unit pt (point) is used for all indications of size. You can change this unit. Proceed as follows 1. In the Designer, add the metric attribute to the Form element. 2. As value, enter the desired unit, for example px Displaying Form Elements Dependent upon User Rights (Web Applications only) In forms for Web applications ( Form sequence (Web application page) task type), you can specify which user rights are needed to display and/or edit form elements, such as buttons, input fields or lists. These rights are assigned to portal roles in the inubit Enterprise Portal; portal roles are assigned to portal users. This gives you strict control over which users have rights to display and edit form elements. Prerequisites The Task Generator module that generates the form must be part of a Technical Workflow deployed as a portlet via a Web Application Connector to the inubit Enterprise Portal. You must have already created a form. Proceed as follows 1. When configuring the Web Application Connector, define all necessary application rights. 2. Publish the Web Application Connector. 3. Open the Task Generator module for editing, and specify from which Web Application Connector you want to copy the application rights. 4. Display the form in the Form Designer. 5. Select a form element you want to make dependent on application rights. The attributes of the selected element can be viewed in the Properties tab. 6. Double-click the attribute visible to specify that the element should be visible only to users with particular rights. A dialog opens listing the available rights. 7. Select all rights that will qualify users to view the element. inubit 6.1: Workbench/Process Engine: Modules Guide

68 68 Task Generator (Data Converter) Creating Forms with the Form Designer 8. To specify that an element may only be modified by users with selected rights, double-click the attribute enabled and select the rights. All form elements that have been assigned rights will have a green border. Refer to - Assigning rights to roles: Granting Web Application Permissions, Assigning Them to Portal Roles (Tutorials, chap. 5.4, p. 104) - Dialog Permission Management (Workbench/Process Engine: System Connectors Guide, chap , p. 397) - Permissions Dialog (Workbench/Process Engine: Modules Guide, chap , p. 127) Generating Form Parts from XML Schemas or WSDL Files with the Client Generator The Task Generator offers you the option to quickly and easily create form parts from XML schemas or WSDL files. XML type definitions are mapped to form elements as follows: XML element/attribute complextype complextype with one sequence simpletype simple Type, enumeration type simple Type, Boolean type minoccurs/maxoccurs Form elements Generates an OuterGroup element, a Label element and an InnerGroup element for each element contained. A group element with a number of fields whose order is determined by their occurrence in the sequence element Generates a group element containing a label and a form element (matching the element); in the generated form, the element name is used as an identifier for the element (as a label). Dropdown list Check box Specifies the element s cardinality, and thus also specifies how often an element may or must occur in the form. A maxoccurs=n can be limited as desired. Prerequisites XML Schema: - The XML Schema is valid. - The XML Schema is stored in the Repository. WSDL file: The WSDL file must contain a Types section with completely specified definitions inubit 6.1: Workbench/Process Engine: Modules Guide

69 Task Generator (Data Converter) Creating Forms with the Form Designer 69 Proceed as follows 1. Create a Task Generator module. 2. Display the Form Editor. 3. Insert one of the following elements: - Group - Horizontal Layout - Group - Vertical Layout 4. Select the element so that the border is highlighted in pink. 5. Open the context menu, and select Open Client Generator. The Client Generator opens in a separate window. 6. In the Client Generator, click Open. The Repository browser opens. 7. Navigate to your XML schema or WSDL file to load the file. The file is displayed. 8. Click to select the start element for your form. The element is highlighted in grey. The start element must be unique; its cardinality must therefore be Select the Start element option. This completes the minimum information required to create the form. 10. You have the following options for displaying the form: - Click Test. A preview of the form is displayed in a separate Java window. Not all of the form s functions are available in this window. - To test all functions, display the form in your standard Web browser: a. Click OK. The properties are saved, and the Client Generator closes. In the Form Editor, the form elements you have generated are displayed within the group to which the schema/wsdl file was loaded. The group also has a yellow border. b. In the inubit Workbench menu bar, click. The browser opens and displays the form fields you have created. Do not change the generated fields in the group element manually. Any manual changes will be overwritten when the schema or WSDL file is reloaded. inubit 6.1: Workbench/Process Engine: Modules Guide

70 70 Task Generator (Data Converter) Creating Forms with the Form Designer To add elements, such as buttons for submitting or canceling the form, drag and drop the desired elements. Refer to Creating the Form Mapping (Tutorials, chap , p. 86). Refer to Client Generator User Interface (Workbench/Process Engine: Modules Guide, chap. 4.9, p. 121) Accessing Resources of the Process Engine from Portlets This section details the following topics: Accessing the Repository of the Process Engine, p. 71 Accessing an HTTP Input Listener Connector, p. 72 Accessing a REST Input Listener Connector, p. 74 Accessing a secured HTTP Input Listener Connector, p. 75 Accessing a secured REST Input Listener Connector, p. 76 Use For loading files from the Repository of the inubit Process Engine and for accessing a secured HTTP Input Listener Connector or REST Input Listener Connector from a web browser in case the Process Engine and the Enterprise Portal are installed on different distributed systems inubit 6.1: Workbench/Process Engine: Modules Guide

71 Task Generator (Data Converter) Creating Forms with the Form Designer 71 The following steps are executed when accessing the Process Engine from a web browser by using the Form Proxy portlet of the Enterprise Portal: 1. Sending the form to the Form portlet. 2. Displaying the form in the web browser. 3. Reloading Repository files or calling up an HTTP Connector directly from within the inubit software is not allowed. Therefore, requests using the Form Proxy Servlet must be addressed to the Process Engine. 4. Redirecting requests to the Form Proxy Servlet - Reloading Repository data a. The Form Proxy Servlet accesses the Repository. b. The Repository provides the requested file to the Form Proxy Servlet. - Accessing a HTTP/REST Connector a. The Form Proxy Servlet accesses an HTTP Connector or a REST Connector. b. The Repository provides the output data from the HTTP Connector or from the REST Connector to the HTTP Connector Form Proxy Servlet. 5. The Form Proxy Servlet sends the data from the Repository, from the HTTP Connector or from the REST Connector to the web browser, which displays them. Prerequisites You have created a workflow containing at least one Web Application Connector and a succeeding Task Generator. The workflow and the contained Web Application Connector are activated. The Repository files to be loaded are anonymously readable. Refer to Properties (Workbench: User Guide, chap , p. 481). Call up The url property of a form element (e.g. Button ) is responsible for accessing the Repository or an HTTP Connector Accessing the Repository of the Process Engine Proceed as follows 1. In the Module Editor, open the respective Task Generator for editing. 2. Add the url attribute to the desired element. inubit 6.1: Workbench/Process Engine: Modules Guide

72 72 Task Generator (Data Converter) Creating Forms with the Form Designer 3. Set the value for the url attribute. FormProxyServlet?url=inubitrepository:///Root/jh/iS61/logo.png - Portal server Host name or IP address of the portal server - Portal port Port number for accessing the portal server - /isp/formproxyservlet Context path (Domain name, Default: isp) and name of the Form Proxy Servlet that is freely selectable during deployment - url=inubitrepository:///<path>/<file_name> Path and name of the Repository file You find theses information in the Repository on the Details tab in the Internal repository URL parameter (refer to Properties (Workbench: User Guide, chap. 19, p. 481)). 4. Publish the workflow. 5. Deploy the portlet Accessing an HTTP Input Listener Connector Use Starting a workflow from within a portlet Returning the results of the workflow to the portlet Prerequisites You have created a workflow containing an HTTP Input Listener Connector as workflow starter and you have published it. Proceed as follows 1. In the Module editor, open the respective Task Generator for editing. 2. Add the url attribute to the desired element. 3. Set the value for the url attribute inubit 6.1: Workbench/Process Engine: Modules Guide

73 Task Generator (Data Converter) Creating Forms with the Form Designer 73 <inubit_hostname>:<inubit_port>/ibis/servlet/ibishttpuploadservlet/<http Connector> Alternatively, you can use the connector attribute containing the unique name of the connector instead of the url attribute. server>:<portal port>/isp/ FormProxyServlet?connector=<HTTP Connector> - portal server Host name or IP address of the portal server - portal port Port number for accessing the portal server - /isp/formproxyservlet Context path (Domain name) and name of the Form Proxy Servlet that is freely selectable during deployment - url (alternatively for connector ) - inubit server Host name or IP address of the Process Engine - inubit port Port number for accessing the Process Engine - /ibis/servlet/ibishttpuploadservlet/ <HTTP Connector> Path and name of the HTTP Input Listener Connector - connector=<http Connector> (as an alternative to url) Name of the HTTP Input Listener Connector You find the URL in the ServerName property of the HTTP Connector or in the wizard on the HTTP Connector Properties tab in the field Server URL in the Base Configuration area. 4. Publish the workflow. 5. Deploy the portlet. inubit 6.1: Workbench/Process Engine: Modules Guide

74 74 Task Generator (Data Converter) Creating Forms with the Form Designer Accessing a REST Input Listener Connector Use Starting a workflow out of the portlet Returning workflow results back to the portlet Prerequisites You have created and published a workflow containing a REST Input Listener Connector. Optionally, you can use the internal Process Engine user instead of a real user in the REST Connector. All HTTP methods (GET, POST, PUT und DELETE) are supported. Proceed as follows 1. Open the desired Task Generator for editing in the module editor. 2. Add the url attribute to the desired element. 3. Specify the value for the url attribute. <inubit_hostname>:<inubit_port>/ibis/rest/rc/<rest Connector> Optionally, you can use the connector attribute together with the unique connector name instead of the url attribute: FormProxyServlet?connector=<REST Connector>&type=rest - Portal-Server Host name or IP address of the portal server - Portal-Port Port number to access to the portal server - /isp/formproxyservlet Freely selectable context path (domain name) and name of the Form Proxy Servlet - url (instead of connector ) You find the URL in the URL field in the Provided resource section on the Resource Configuration tab in the REST Connector Wizard. - inubit_hostname inubit 6.1: Workbench/Process Engine: Modules Guide

75 Task Generator (Data Converter) Creating Forms with the Form Designer 75 Host name or IP address of the Process Engine - inubit_port Port number to access the Process Engine - /ibis/rest/rc/<rest Connector> Path and name of the REST Input Listener Connector - connector=<rest Connector> (instead of url ) Name of the REST Input Listener Connector - type=rest Connector type Possible values: - http HTTP Connector (default value, can be omitted) - rest - REST Connector 4. Publish the workflow. 5. Deploy the portlet Accessing a secured HTTP Input Listener Connector In order to call up a secured HTTP Input Listener Connector, you must set the password of the Process Engine in portal settings. By default, this password is a generated string. You must change this password so that you can use it for the HTTP Input Listener Connector. Proceed as follows 1. On the Tab Configuration > General Settings, select the attribute Portal > Server configuration > Password for portal server. 2. Enter a new password. 3. Save the new password. 4. Open the respective HTTP Input Listener Connector for editing. 5. Switch to the HTTP Connector Properties tab. 6. Activate the option Authentication required. 7. In the User name field, enter inubit. 8. In the Password field, enter the newly created password. 9. Click Finish. 10. Publish the workflow. If you want to use another user, you must enter it by using the login attribute when calling the Form Proxy Servlets in the HTTP Header.. FormProxyServlet?login=<Username>&connector=<HTTP Connector> inubit 6.1: Workbench/Process Engine: Modules Guide

76 76 Task Generator (Data Converter) Creating Forms with the Form Designer Accessing a secured REST Input Listener Connector The REST Connector can be accessed similarly to the method described for the HTTP Connector. Refer to Accessing a secured HTTP Input Listener Connector (Workbench/Process Engine: Modules Guide, chap , p. 75). Optionally, you can use the internal Process Engine user. Proceed as follows 1. Open the desired REST Connector for editing in the module editor. 2. Switch to the Resource Configuration tab. 3. Activate the checkbox Authentication required. 4. Activate the option Use Process Engine user (password from the server configuration). 5. Click Finish to save the changes. 6. Publish the REST Connector Using JavaScript in Forms How you utilize JavaScript in forms depends on how forms and the JavaScript code are used: JavaScript in form tasks/web applications (Workbench/Process Engine: Modules Guide, chap. 4, p. 76) JavaScript in Web applications (Workbench/Process Engine: Modules Guide, chap. 4, p. 77) Javascript event handlers (Workbench/Process Engine: Modules Guide, chap. 4, p. 78) You find the documentation of the inubit JavaScript framework in the directory <inubit-installdir>/documentation/ jsdoc/index.html, if you have installed the inubit documentation. Or call the documentation directly. By using an <NS/> tag anywhere within a JavaScript tag, you can access the namespace of the portlet. The <NS/> tag is replaced by the namespace text during execution. JavaScript in form tasks/web applications In forms used for tasks and web applications you can enter JavaScript code directly or reference to it as external file: Entering directly inubit 6.1: Workbench/Process Engine: Modules Guide

77 Task Generator (Data Converter) Creating Forms with the Form Designer 77 Enter the JavaScript code in the Designer in one of the following elements: - Web element Refer to Web (Workbench/Process Engine: Modules Guide, chap. 4, p. 114). - Script element, Example: Reference as external file a. Save the *.js file containing the JavaScript code in a directory below <inubit-installdir>/server/ <Tomcat JBoss>/webapps/ROOT. b. Add a Script element to the style sheet. c. In the attribute src, enter the path of the *.js file, for example <Script language="javascript" src="/myportal/ myjavascript.js"/>. If the form is displayed in a browser, the JavaScript file is found in the directory <inubit-installdir>/server/ <Tomcat JBoss>/webapps/ROOT/myPortal/ myjavascript.js. External JavaScript code is not executed when displaying the form preview in the browser! JavaScript in Web applications Only when using a form as part of a web application you also can enter the JavaScript code centrally in the Web Application Connector in the dialog Dialog Internal Resources (Workbench/Process Engine: System Connectors Guide, chap , p. 397). Advantages: The JavaScript code can be modified without needing to modify the XSLT style sheet, inubit 6.1: Workbench/Process Engine: Modules Guide

78 78 Task Generator (Data Converter) Creating Forms with the Form Designer can be reused in and accessed from all forms of the Technical Workflow. Javascript event handlers You add JavaScript event handlers directly as attribute of the concerned element, for example: The TextArea element defines an input field. If a cursor is placed into the input field, the event handler onfocus becomes active and prompts users to enter information into the input field. For information about the various JavaScript event handlers refer to Updating Portlets and Form Sections using Ajax This section details the following topics: Updating a Portlet with Ajax, p. 78 Updating a Form Section with Ajax, p. 79 You can use Ajax (Asynchronous JavaScript and XML) to exchange contents of a web page specifically without having to load the entire web page anew. The contents are loaded from the web server. In the inubit software, you can use Ajax in web applications in order to specifically update a portlet and sections in a portlet form on a portal page Updating a Portlet with Ajax Prerequisites Ajax-based updating is only available in web applications that are deployed as portlets on a portal server inubit 6.1: Workbench/Process Engine: Modules Guide

79 Task Generator (Data Converter) Creating Forms with the Form Designer 79 The form in your web application must contain a button with a submit event because the Ajax-based update is always triggered manually by clicking such a button. Proceed as follows 1. Display the form in the Designer. 2. Select the Submit button. The Properties tab shows the properties of the button. 3. Activate the Ajax option: 4. Save the change and publish the task generator. When you click the Ajax submit button in the changed portlet, all form data is updated in the portlet. If additional portlets exist on the same portal page, the data in these portlets is not loaded anew Updating a Form Section with Ajax You can use Ajax to change selected contents of a form on a web page without reloading the entire portlet. For you as the workflow designer, this has the following advantages: To restructure the page, you only have to map the changed data anew in the task generator, not the entire form. You can respond flexibly to current user entries, for example, by showing additional form elements according to the last entry You can design easier to read forms, e.g. by showing optional fields only when they are required. inubit 6.1: Workbench/Process Engine: Modules Guide

80 80 Task Generator (Data Converter) Creating Forms with the Form Designer This section explains how to configure the Ajax update by means of an example. Table data is sorted in the example. Prerequisites Ajax-based updating is only available in web applications that are deployed as portlets on a portal server. The form in your web application must contain at least one button (possibly hidden) with a submit event because the Ajax-based update is always triggered by clicking such a button (possibly triggered by JavaScript). The workflow that your web application implements contains a module that makes updated data available. This module is connected to the task generator via a path. Example workflow The mapped workflow generates a portlet with a table. You can sort the table data in ascending or descending order at the click of the mouse: Sorting is implemented with Ajax: As soon as a user clicks a column header, the currently displayed data is sent from the Table task generator directly to the Sort and Filter converter for sorting. In the figure, the dotted Jump line visualizes this action. The data consists of the response and the input message of the task generator, that is, of the data that the browser normally returns to the task generator when a user clicks the Submit button after making a form entry. The XSLT Converter sorts the data and transfers it to the next module in the workflow. The workflow between the XSLT Converter and the task generator is signalized by the unbroken Display line in the figure inubit 6.1: Workbench/Process Engine: Modules Guide

81 Task Generator (Data Converter) Creating Forms with the Form Designer 81 The task generator receives the updated data and performs the form mapping. That is why the task generator expects the data in the same format as the original input message. Make sure that the data is available in the same format as the input message! Instead of an individual module such as the XSLT Converter you can, of course, also configure a complex workflow for updating the data. Button configuration The column headers are implemented as submit buttons. In addition, each submit button is configured as follows: ajax: The option is active. ajaxgroup: This option is used to specify which data should be updated. The value always refers to a named group element, which must enclose the data to be updated. The name of the Group element is specified in the name attribute of the group element. In this example, all table data is to be sorted, hence the value is table. Between the element <xsl:template match="/"> and the named Group element, the following commands must not be used: call-template and apply-template. Make sure that the group element always exists! That means, amongst others, that the group element must not be conditioned by, for example, an if-element. inubit 6.1: Workbench/Process Engine: Modules Guide

82 82 Task Generator (Data Converter) Validating User Input in Forms jump: This option is used to specify the module to which the data is sent for updating. 4.3 Validating User Input in Forms This section details the following topics: Client-side User Input Validation with Patterns, p. 82 Server-sided User Input Validation with AJAX, p. 83 You have the following options for validating user input: Client-side validation using regular expressions Formula elements such as input fields are linked with regular expressions and error messages. The user input is validated in the browser before the form is submitted. Incorrect entries are highlighted, an error message is output, and the form will not be sent. Server-side, context-sensitive validation with AJAX XPath expressions and appropriate error messages are saved in the form elements from which the form fields are generated. Before the form is submitted, an Ajax call with the form fields and user input is sent to the server. The server validates the information using the XPath expressions. Any invalid fields detected by Ajax are then highlighted in the browser and a list of error messages is displayed Client-side User Input Validation with Patterns To validate user input in forms in your browser before the form is submitted, you can define regular expressions for the input fields. Fields containing incorrect entries are highlighted, the pertinent fields are highlighted, an error message is displayed, and the form will not be sent. Prerequisites The form must have at least one button element with a submit event. At the button element, the attribute validate is selected inubit 6.1: Workbench/Process Engine: Modules Guide

83 Task Generator (Data Converter) Validating User Input in Forms 83 Proceed as follows 1. Enter a textfield element in the designer. 2. Select the element, and display the Properties tab. 3. Define the restrictions of the possible user input as regular expression. Enter the regular expression as value of the pattern attribute. Regular expressions must be delimited by forward slashes (/), e.g.: /(\d\d)\.(\d\d)\.(\d\d\d\d)/ 4. Enter the error message to be displayed if the user input does not match as value of the errortext attribute. 5. If the form is not displayed in the inubit Enterprise Portal, you must add the <textarea name= errorviewer > element for displaying the error message. The element must be positioned hierarchically above the input field where pattern is defined. As a default, the element is hidden. 6. Publish the module Server-sided User Input Validation with AJAX User input in forms can be validated context-sensitively by using own validation rules. Validations such as the following are possible: Mandatory fields filled? Data types and input values valid? Date formats valid? The user input is validated on the server side. For this validation the user input is sent to the server in the background. The validation is triggered by a Submit event. This means that the user input is validated as soon as the user clicks on a Submit or Send button in the form. In the form, the validation results are displayed as a list in a tooltip. Clicking on an individual validation result highlights the input field in which the invalid value was entered: inubit 6.1: Workbench/Process Engine: Modules Guide

84 84 Task Generator (Data Converter) Validating User Input in Forms Technical background The validation rules are saved in the WS-Policy MessagePredicates standard, i.e. in the form of XPath expressions. The entire XPath 2.0 syntax is supported. All validation rules apply directly to the form structure and are reusable. You can map dependencies of any complexity between the form fields. Example A form requests the annuity rate, residence and gender of retirees. In layman s terms, the validation rule is as follows: The monthly annuity rate for a female resident of Berlin cannot exceed 1000 Euros. As an XPath expression, the validation rule looks like this: Requirements The form must have at least one button element with a submit event. At the button element, the attribute validate is selected. You are familiar with XPath inubit 6.1: Workbench/Process Engine: Modules Guide

85 Task Generator (Data Converter) Creating Context-sensitive Online Help for Forms 85 Proceed as follows 1. Display the form in the Form Designer. 2. Select Edit > Server-sided validation. The editor opens and displays an XML document with sample validation rules. 3. Modify the samples to match your form structures, or add new elements. In order to highlight the corresponding input field when the validation result is clicked, the validation rules must be created in accordance with the following pattern: not(invalidelement). Example: A rule is The InputElement input field must not be empty, in pseudo code this would be not(input field InputElement empty). The correct XPath expression is not(/form/ Response/Group/InputElement[string-length(.)=0]) By default, validation results can be displayed in German and English. To add other languages, insert the following for each language: - a wsp:policyattachment attribute, such as inubit:heading.es='{errorcount} Error durante la validación del formulario'. This information is used as a title for the result list. - a HTML list element with an explanation, such as inubit:responsehtml.es='<li>elemento1 es un campo obligatorio.</li>' 4. Click OK to save your changes. Your changes are saved, and the editor closes. 4.4 Creating Context-sensitive Online Help for Forms You can create help texts for form elements and have them displayed in specified situations. There may be one or more help texts for each form element. Example When a user clicks on the Department field, the help text with information regarding responsible unit as insurance criterion will be displayed. inubit 6.1: Workbench/Process Engine: Modules Guide

86 86 Task Generator (Data Converter) Creating Context-sensitive Online Help for Forms Technical background The help text for the input field Department is displayed as soon as it gets the focus. This is expressed in an XML file by using an XPath in the following manner: </inubit:helppredicate> <inubit:helppredicate inubit:disabled="false" inubit:elementname="department"> local-name(.)='department' The XML structure and the field name are created correctly automatically when defining the help text. Now the actual help text follows: <inubit:responsehtml inubit:language="de"> Indicate the responsible unit or department. </inubit:responsehtml> </inubit:helppredicate> Proceed as follows 1. Display the form in the Form Designer. 2. Select the form element for which you want to create a help text, and display the Properties tab. 3. In the Misc area, click the empty field next to the help attribute. The editor opens and displays an XML document with a HelpPredicate for the selected form element. Example: inubit 6.1: Workbench/Process Engine: Modules Guide

87 Task Generator (Data Converter) Creating Context-sensitive Online Help for Forms Replace the content of the inubit:responsehtml element with your help text. Other languages: By default, help texts are displayed in German and English. To display Spanish help texts, for instance, proceed as follows: - Into the inubit:helppredicates element add the following attribute: value heading.es= información on-line This text is displayed as title of the help text. - Enclose each Spanish help text with the <inubit:responsehtml inubit:language.es> element. 5. Click OK to save. The editor closes, and your changes are saved. Once you have entered a help text, the help attribute value will be 1. If several help texts exist, the number increases accordingly. To display or edit all help texts for a form, select Edit > All help texts. The editor opens and displays an XML document with all help predicates. 6. Activate the display of the help texts in the portal: a. Move your cursor to the upper-right border of the task list or portlet in which you are viewing your form. A number of buttons are displayed. b. Click Preferences: inubit 6.1: Workbench/Process Engine: Modules Guide

88 88 Task Generator (Data Converter) Exporting and Importing Form Texts for Translation The general properties are displayed: c. Click Activate help. The task list or your portlet is displayed together with your help texts. 4.5 Exporting and Importing Form Texts for Translation The inubit software supports multilingual forms. You can export the form labels (the task texts) from Task Generator modules into an Excel file, forward them for translation and then re-import them into the appropriate Task Generator module. The texts are imported into an Excel file containing the original label and a column for each target language. After translation, you can import the file back into the inubit software. Exporting Proceed as follows 1. In the inubit Workbench display the server directory of the module editor. 2. In the menu bar, select Edit > Export > Task texts. The following dialog is displayed: inubit 6.1: Workbench/Process Engine: Modules Guide

89 Task Generator (Data Converter) Exporting and Importing Form Texts for Translation 89 The server directory lists all Task Generator modules for which you (according to your role) have viewing/editing rights. 3. Select the modules whose labels you want to export. 4. Click Next. The following dialog opens: 5. Specify for which languages you would like to create translations. For each language, a column named new.label.[country abbreviation] is created in the Excel export file. If the labels have already been translated, an additional column named old.label.[country abbreviation] is generated with the existing translation. a. Select a language from the dropdown list. b. Click the Plus button. The language is displayed in the upper area. c. Repeat these steps for each language. 6. Click Finish. An Excel file with the existing labels is created and a file explorer is displayed. 7. Enter a file location and the file name, if necessary, and save the Excel file. inubit 6.1: Workbench/Process Engine: Modules Guide

90 90 Task Generator (Data Converter) Using and Creating Widgets In the Excel file the source texts and all target languages are each stored in their own table column. The column containing the source texts is highlighted in yellow; the columns containing the text which is to be translated are highlighted in white. Be sure to change only text in white columns; columns highlighted in yellow contain original text or earlier translations and may not be edited. Do not edit forms while task texts are exported for translation. Problems will occur if the exported and translated texts do not match the existing texts in the module when you re-import. Importing Proceed as follows 1. In the inubit Workbench, display the server directory of the module editor. 2. In the menu bar, select Edit > Import > Task text. A file explorer is displayed. Navigate to the Excel file containing the translations, and open the file in the file explorer. A message is displayed if the task texts are imported successfully. Troubleshooting for imports If problems arise with the import process, all texts that can be positively matched will still be imported, and an import log listing the modules in which differences were encountered is displayed. Example: You can then re-export the texts for the displayed module in order to verify the current task texts and their translations. 4.6 Using and Creating Widgets This section details the following topics: inubit 6.1: Workbench/Process Engine: Modules Guide

91 Task Generator (Data Converter) Using and Creating Widgets 91 Using and Configuring the Grid Widget, p. 92 Creating a Widget and Integrating it into the inubit Software, p. 98 Widgets are re-usable control elements for graphical user interfaces of web applications, e.g. calendar, toolbars, menus, RSS feeds or tables. The inubit Widget framework enables you to create your own widgets. For your widgets, you can, for example, use the functions of the Ext JS framework that is delivered with the inubit software. The Ext JS framework is a client-side JavaScript or Ajax framework and offers an extensive collection of control elements. Refer to Creating a Widget and Integrating it into the inubit Software (Workbench/Process Engine: Modules Guide, chap , p. 98). The inubit software scope of delivery includes the ready-to-use Grid widget. This widget displays the data as a table and offers, among other functions, paging and sorting on the basis of the Ext JS grid, for example: Refer to Using and Configuring the Grid Widget (Workbench/ Process Engine: Modules Guide, chap , p. 92). Functional principle A widget consists of HTML, JavaScript and CSS code. In the inubit software, this code is generated dynamically in the execution of the task generator, just like the normal form in which the widget is embedded: The XML structure of the form that is displayed in the Form mapping tab of the task generator also contains the XML structure of the widget. For the included Grid widget, for example, an XML table structure is generated which contains additional data for the configuration of the table, such as for paging, the maximum number of data records displayed on a page. inubit 6.1: Workbench/Process Engine: Modules Guide

92 92 Task Generator (Data Converter) Using and Creating Widgets This XML structure is usually filled dynamically with data from the input message. A widget-specific XSLT style sheet generates the HTML code from the XML structure. This HTML code is then displayed in the form in the browser. In addition to the XSLT commands, the widgetspecific XSLT style sheet also contains JavaScript and CSS code used to implement the functionality and the layout of the widget. The XML structure and the XSLT style sheet of the widget are stored in the repository. Hence, the XML structure of the form remains compact and readable in the task generator and the widget can be reused in other task generators. Just like in other GUI components, widgets are integrated into a form using drag & drop. You can use the same widget several times on the same page even on different panels Using and Configuring the Grid Widget The Grid widget enables you to display your web application data in table form. The Grid widget is based on the functions of the Ext JS framework and offers the following features: Sorting Sort column content in ascending or descending order: Depending on the configuration of the table, sorting takes place on the server or the client. Refer to - Example: Dynamic Table with Client-Side Sorting, without Paging (Workbench/Process Engine: Modules Guide, chap , p. 94) - Example: Dynamic Table with Paging and Server-Side Sorting (Workbench/Process Engine: Modules Guide, chap , p. 95) Changing the order of the columns Using drag & drop: inubit 6.1: Workbench/Process Engine: Modules Guide

93 Task Generator (Data Converter) Using and Creating Widgets 93 Showing/hiding columns Paging Large quantities of data can be split and displayed page-by-page. The amount of data displayed on a page can be configured; the data is dynamically loaded using Ajax calls. Refer to Example: Dynamic Table with Client-Side Sorting, without Paging (Workbench/Process Engine: Modules Guide, chap , p. 94). Proceed as follows 1. In the task generator, display the Form mapping tab. 2. Drag the Grid icon from the widget bar of the designer into its work area: The XML target area shows the expected XML structure of the grid: inubit 6.1: Workbench/Process Engine: Modules Guide

94 94 Task Generator (Data Converter) Using and Creating Widgets You can statically or dynamically fill the XML structure of the grid with data. The following sections provide some examples: Example: Dynamic Table with Client-Side Sorting, without Paging (Workbench/Process Engine: Modules Guide, chap , p. 94) Example: Dynamic Table with Paging and Server-Side Sorting (Workbench/Process Engine: Modules Guide, chap , p. 95) Example: Dynamic Table with Client-Side Sorting, without Paging The following graphic shows the form mapping of a table that is filled through XML input messages. The number of rows and columns is defined by the XML input messages: inubit 6.1: Workbench/Process Engine: Modules Guide

95 Task Generator (Data Converter) Using and Creating Widgets 95 Sorting by table columns is available automatically as long as the sortable attribute of the Column elements has the value true Example: Dynamic Table with Paging and Server-Side Sorting In order to use the paging mechanism and server-side sorting, it must be possible to load the data in the Grid widget from a data source. To do so, the workflow that implements your Grid widget as a portlet must be structured as in the following graphic: The task generator that generates the grid widget is connected to the data source via a path: In the depicted workflow, this path starts with the WFC_JumpTarget Workflow Connector and leads to a Database Connector in a sub-workflow, and from there back to the task generator. The branch-in point in this path, i.e. the ID of the first module, is entered in the Grid widget. inubit 6.1: Workbench/Process Engine: Modules Guide

96 96 Task Generator (Data Converter) Using and Creating Widgets User actions such as the display of the Grid portlet or the sorting of data trigger a request in the task generator. The content of the request depends on the user action: For a sort action, for example, the request contains the following information: First data record that is supposed to be displayed on the page Number of all data records that are supposed to be displayed on the page Selected sorting criterion (ascending/descending) The request is transferred to the first module in the path and forwarded from there. The Database Connector evaluates the request and makes the data available. Following that, the requested data is sent to the task generator and displayed in the table. Defining the branch-in point in the path to the data source The following graphic shows the form mapping of the table: inubit 6.1: Workbench/Process Engine: Modules Guide

97 Task Generator (Data Converter) Using and Creating Widgets 97 You define the first module in the path to the data source in the Properties tab using the jump attribute of the widget element: A click a blank cell next to the attribute opens a dialog in which you choose the module. The module must be located in the same workflow as the task generator! Whether and which modules are located between the branch-in point and the data source depends on whether the request has to be formatted further. This can be necessary, for example, if you want to have the data sorted on the server side. Refer to Configuring server-side sorting (Workbench/Process Engine: Modules Guide, chap. 4, p. 97). Defining the number of displayed data records You define the number of data records per page in the Properties tab using the start and limit attributes of the Header element: start: Number of the first displayed data record limit: Number of displayed data records Configuring server-side sorting You have to implement the sorting manually. If you are using a database as the data source, you can implement the sort criteria, for example, by using the corresponding SQL commands. Sorting criteria are included in the request that is sent to the data source. You can display the request by opening the watch point preceding the data source in watch mode. inubit 6.1: Workbench/Process Engine: Modules Guide

98 98 Task Generator (Data Converter) Using and Creating Widgets Creating a Widget and Integrating it into the inubit Software Files required To develop your own widget, you have to create the following files: Name Widget.xml Widget.xsl Widget.gif Widget.jar Function XML structure of the widgets. This has two functions: 1. It forms the structure in which the data from the input message is displayed. In the supplied Grid widget, for example, a table structure is generated. 2. Used for configuring the widget: In the XML structure, you can define all parameters that are, for example, required by the JavaScript code of the widget. You can enter the parameter values in the Properties tab in the designer, just like for all other GUI components in the designer. For the supplied Grid widget, for example, the maximum number of visible data records per page is defined using the start and limit attributes of the header element. Refer to Widget.xml (Workbench/Process Engine: Modules Guide, chap. 4, p. 99). XSLT style sheet for displaying the widget in the web application. Contains e.g. HTML, JavaScript code (possibly Ext JS framework code) for the functions of the widget and layout information (as CSS references). Refer to Widget.xml (Workbench/Process Engine: Modules Guide, chap. 4, p. 99). Graphic for the widget icon in the toolbar of the task generator. You can use the icon to drag & drop the XML structure to the desired position on the form. The graphic must be available in gif-format and have a max. height of 14 pixels. Optional. Java class for displaying the widget in the Form mapping tab of the task generator. The class must implement com.inubit.ibis.configuration.form.xulwidget. If you are not providing a Java class, you must remove the uiclass attribute in the wd:description element in the XML structure of your widget (Widget.xml). If no Java class is available, the designer shows a placeholder instead of the widget. This does not affect the functionality of the widget. The files must be made available in the global area of the repository at Global > System > Widgets in a separate folder and must be readable anonymously. Refer to - Ext JS API documentation: <NameOfYourinubit Process Engine>:8000/html/js/extjs/docs - Ext JS examples: <NameOfYourinubit Process Engine>:8000/html/js/extjs/ examples/samples.html - Ext JS homepage: inubit 6.1: Workbench/Process Engine: Modules Guide

99 Task Generator (Data Converter) Using and Creating Widgets 99 Proceed as follows 1. Use the Widget.xml and Widget.xsl files of the supplied Grid widget as templates: Download these Files from the repository directory at Global > System > Widgets > Grid. 2. Open the Widget.xml file and adjust the XML structure. Note the comments in the file; they explain the use of the different XML elements. 3. Adapt the Widget.xsl file. Also note the comments in this file. 4. Generate an icon called Widget.gif. 5. In the Repository, create a new directory underneath Global > System> Widgets. Add all files to this directory. Make sure that the files can be read anonymously. 6. If you want to use the widget immediately, you have to make the icon visible first: Open a task generator, display the Form mapping tap and choose View > Reload external elements from the menu bar. Otherwise, the widget is only available once you restart the inubit Workbench. Example: Date picker widget A date picker widget makes it easier to enter a date: The date picker uses the Ext JS framework and is based on the DateField class. Refer to Widget.xml Listing?xml version="1.0" encoding="utf-8"?> <wd:description xmlns:wd=" type="extdatefield" uiclass="com.inubit.web.extjs.form.extdatefieldwidget" namespace=" prefix=""> /Listing (Abschnitt 1 von 2) inubit 6.1: Workbench/Process Engine: Modules Guide

100 100 Task Generator (Data Converter) Using and Creating Widgets Listing <Widget> <wd:attributes> <!-- Keep in mind that, if you are using several date pickers in a form, every instance must have a unique name--> <name/> </wd:attributes> <DateField> <wd:attributes> <!-- The date field should be 300 px wide; the text field can have all attributes of a "normal" text field --> <width>300</width> </wd:attributes> </DateField> <Meta> <wd:attributes> <!-- The format value can be defined in the designer and defines in which format the date is displayed, permissible values are specified by the Ext JS framework --> <format/> </wd:attributes> </Meta> </Widget> </wd:description> /Listing (Abschnitt 2 von 2) Widget.xsl Listing <?xml version="1.0" encoding="utf-8"?> <xsl:output method="html" encoding="utf-8"/> <xsl:template match="extform:widget[@type='extdatefield']"> <xsl:variable name="wid" select="concat($ns,@name)"/> <xsl:variable name="tf"> <TextField name="{@name}" xmlns=""> <xsl:for-each name="{local-name(.)}"><xsl:value-of select="."/></xsl:attribute></xsl:for-each> <xsl:value-of select="extform:datefield"/> </TextField> </xsl:variable> <script language="javascript" type="text/javascript"> addcssis('/html/js/extjs/resources/css/ext-all.css'); addcssis('/html/js/extjs/resources/css/xtheme-gray.css'); </script> /Listing (Abschnitt 1 von 2) inubit 6.1: Workbench/Process Engine: Modules Guide

101 Task Generator (Data Converter) Integrating Employees into Workflows by Tasks 101 Listing <xsl:apply-templates select="$tf/textfield"/> <script language="javascript" type="text/javascript"> Ext.onReady(function(){ try { new Ext.form.DateField({ applyto: '<xsl:value-of select="$wid"/>' <xsl:if test="extform:defaulttextfield/@mandatory = 'true'">,allowblank: false </xsl:if> <xsl:if test="extform:meta/@format!= ''">,format: '<xsl:value-of select="extform:meta/@format"/>' </xsl:if> }); } catch(e) { showmessageis('error in ExtDateField widget!',e); } }); </script> </xsl:template> </xsl:stylesheet> /Listing (Abschnitt 2 von 2) 4.7 Integrating Employees into Workflows by Tasks This section details the following topics: Integrating Tasks in Technical Workflows, p. 104 Displaying Task Lists, p. 106 Task types The inubit software provides the following task types: Forms Form tasks are useful if employees are required to fill in or control data. You can create forms by Drag n Drop in the Form Designer of the Task Generator. Refer to Creating Forms with the Form Designer (Workbench/ Process Engine: Modules Guide, chap. 4.2, p. 59). Information inubit 6.1: Workbench/Process Engine: Modules Guide

102 102 Task Generator (Data Converter) Integrating Employees into Workflows by Tasks For conveniently displaying textual information. External application Suitable, if an external application is needed for attending the task. Example: A File Input Connector fetches an MS Word file from the file system, forwards it to the Task Generator and thus triggers the task Open file with MS Word. The program is opened, the file displayed and the employee can process the file. The task is completed when MS Word is closed. Refer to Task Generator Properties Dialog (Workbench/ Process Engine: Modules Guide, chap , p. 125). Task delivery There are the following options to assign tasks to employees: Portal roles If you want to display the tasks in the inubit Enterprise Portal, then use portal roles for assigning tasks to employees. Refer to Specifying Visibility of Portlets for Selected Roles (inubit Process Engine: Administrator and Developer Guide, chap , p. 181). Process roles To display tasks in the inubit Workbench, use process roles. Refer to Using Process Roles (inubit Process Engine: Administrator and Developer Guide, chap. 6.9, p. 84). Rule-based task delivery Additionally, you can assign tasks via Business Rules with the type task rule. Refer to - Example (Workbench: User Guide, chap. 15, p. 381). There, you find information about how to deploy Business Rules. - Using Business Rules (Workbench: User Guide, chap. 15, p. 381) - Rule Type Task Rule (Workbench: User Guide, chap. 15.1, p. 383) - Creating Tasks, Data, or Decision Rules (Workbench: User Guide, chap. 15.4, p. 386) To assign portal and process roles and task rules to tasks, you use the dialog Permissions Dialog (Workbench/Process Engine: Modules Guide, chap , p. 127) of the Task Generator. You can also overwrite role assignments dynamically at the runtime of the Task Generator. Refer to Overwriting List Module Properties (Workbench: User Guide, chap , p. 367) inubit 6.1: Workbench/Process Engine: Modules Guide

103 Task Generator (Data Converter) Integrating Employees into Workflows by Tasks 103 Example Assigning a task directly to a user Proceed as follows 1. Create a new organizational diagram or open an existing one. 2. Define the user(s) to which you want to assign the tasks, e.g. the portal user(s) and publish the diagram. 3. In the Repository, create a task rule. 4. In the Technical definition tab, select the diagram. 5. Use an XPath expression to define which user the task could be assigned to, e.g.: //orgunit[@name='sales']/orgperson 6. Save the task rule. 7. Open the Task Generator the tasks of which you want to assign. 8. Change to the Permissions tab and in the Task delegation area select the task rule created in step Click Finish and publish the Task Generator. Task delegation Employees may delegate their tasks to other employees. They can, just as with the task delivery, specify, for which tasks delegation should be enabled, to whom tasks should be delegated and who should be allowed to delegate. To define the recipients of a delegated task, select a Business Rule with the type task rule in the dialog Permissions Dialog (Workbench/Process Engine: Modules Guide, chap , p. 127) of the Task Generator. In the same dialog, you can also define the roles which are authorized to delegate tasks. Start and execution of tasks For each task, you can define a processing time. By doing so, you specify, when and how long the task is to be displayed in the Task List. The Technical Workflow, which generated the task, may wait until the task is finished or can proceed immediately after generating the task. You configure these properties when creating the Task Generator, Refer to Task Generator Properties Dialog (Workbench/Process Engine: Modules Guide, chap , p. 125). Task escalation Tasks for which the processing time has expired can be escalated automatically. The inubit software error handling is used for this purpose: The task generator is configured so that it throws an error if the processing time of a task is expired. You catch this error in another module that is connected to the task generator as an error branch. inubit 6.1: Workbench/Process Engine: Modules Guide

104 104 Task Generator (Data Converter) Integrating Employees into Workflows by Tasks As an error branch you can, for example, connect a second task generator to the first task generator. The second task generator generates a new task for the escalation as soon as the error is thrown: To ensure that the first task generator throws an error once the processing time has expired, the following options of the task generator must not be selected: Do not rate timeout as error and Consider workflow as successful despite executed error branch or scope. If the task for which the processing time has expired was delegated beforehand, it makes sense to determine to whom the task was generated before generating the new task. To do so, evaluate the system variable ISTaskDelegatedTo. This variable contains the role and the name of the user to whom the task was last delegated. The list is empty if the task has not been deleted Integrating Tasks in Technical Workflows With task you can integrate employees, customers and business partners into your business processes. To do so, you add one Task Generator for each task, which is required in the course of the business process, to the Technical Workflow, which implements your business process. Example In the depicted example workflow, invoices are created, then checked and released by members of the controlling staff: inubit 6.1: Workbench/Process Engine: Modules Guide

105 Task Generator (Data Converter) Integrating Employees into Workflows by Tasks 105 The invoice data are pre-processes by the XSLT Converter and then handed over to the Task Generator. The Task Generator then generates a form task for all staff members having the role Controlling. The task is then displayed in the Task List: To take over the task, a staff member simply clicks it. The form containing the invoice data is displayed and the invoice can be controlled. Before assigning tasks to employees via portal or process roles, make sure these roles already exist. Refer to Managing Portal Roles (inubit Process Engine: Administrator and Developer Guide, chap. 14.6, p. 177) and Using Process Roles (inubit Process Engine: Administrator and Developer Guide, chap. 6.9, p. 84) Proceed as follows 1. Create a Task Generator. 2. In the dialog Task Generator Properties Dialog (Workbench/ Process Engine: Modules Guide, chap , p. 125) define the task type. 3. In the dialog Permissions Dialog (Workbench/Process Engine: Modules Guide, chap , p. 127), assign process roles or portal roles to the task in order to define for whom the task should be visible. The module wizard leads you through the further generation of the Task Generator. 4. Form tasks only: Create a form and output mapping in the Designer tab. If the Designer tab for creating the form mapping is not displayed, check in the Task Generator dialog XSLT Mapper Settings Dialog (Workbench/Process Engine: Modules Guide, chap , inubit 6.1: Workbench/Process Engine: Modules Guide

106 106 Task Generator (Data Converter) Integrating Employees into Workflows by Tasks p. 129) the option Ignore input mapping. This option must not be selected! Also refer to - Creating the Form Mapping (Tutorials, chap , p. 86) - Creating Output Mapping (Tutorials, chap , p. 90) Displaying Task Lists This section details the following topics: Displaying Task Lists in the inubit Workbench, p. 107 Displaying Task Lists as Servlets in a Browser, p. 107 Overview Tasks are presented as lists to employees. For each new task another entry is created in these so-called Task Lists: Task Lists can be displayed in the following components: In the inubit Enterprise Portal Refer to Portlet Task List in the inubit Process Cockpit (Workbench: User Guide, chap. 20.9, p. 506). In the inubit Workbench Refer to Displaying Task Lists in the inubit Workbench (Workbench/Process Engine: Modules Guide, chap , p. 107) inubit 6.1: Workbench/Process Engine: Modules Guide

107 Task Generator (Data Converter) Integrating Employees into Workflows by Tasks 107 In the browser Refer to Displaying Task Lists as Servlets in a Browser (Workbench/Process Engine: Modules Guide, chap , p. 107) Displaying Task Lists in the inubit Workbench The Tasklist tab displays all tasks visible to the registered users in accordance with their process role. For users with the role Tasklist User, the Tasklist tab is the only visible tab in the inubit Workbench! The tasks are sorted by the process roles to which they are assigned. The task types are identified as follows: Form After clicking the name of the task, the form is displayed in the area on the right. Information The information is displayed as a tooltip above the task. When you click it, the information is removed from the list. External application After clicking on the name of the task the external application opens. The task is removed from the list after closing the external application. For information about creating and editing tasks, refer to Integrating Tasks in Technical Workflows (Workbench/Process Engine: Modules Guide, chap , p. 104) Displaying Task Lists as Servlets in a Browser The task list can be displayed as a servlet in the following browsers without customization: Windows: Firefox version 2 and higher Linux: Firefox version 2 and higher Prerequisites Users must have the role Tasklist User or any other role with the right Tasklist. Cookies must be allowed in the browser. inubit 6.1: Workbench/Process Engine: Modules Guide

108 108 Task Generator (Data Converter) Form Designer User Interface Login Proceed as follows 1. Open a browser and enter the following URL: servlet/formservlet The login dialog is displayed. 2. Enter the username and password. 3. Click Login. The Task list is displayed. Logout To log out, simply close the browser. This completes the logout process. 4.8 Form Designer User Interface This section details the following topics: Form Mapping, p. 109 Output Mapping, p. 111 Form Elements in the Toolbar, p. 112 Properties of Form Elements, p inubit 6.1: Workbench/Process Engine: Modules Guide

109 Task Generator (Data Converter) Form Designer User Interface Form Mapping In the Form Mapping tab you define how XML input messages are mapped to the XML request out of which the form for display in the inubit Workbench or browser is created. Refer to Creating the Form Mapping (Tutorials, chap , p. 86). 1. Mapping table Displays the XSLT style sheet, which you create for mapping the input messages to the XML response: - XML source Contains values, XPath expressions and functions. These mostly originate from the XML source area and are dragged and dropped into the column. - XML target inubit 6.1: Workbench/Process Engine: Modules Guide

110 110 Task Generator (Data Converter) Form Designer User Interface Contains XSLT commands (elements and attributes), which are the result of the Drag n Drop actions in the Designer. 2. Input - Properties For defining the properties of the form element that is selected in the Designer tab or in the XML target area. Finish entering values by pressing the return key. Use the context menu to restore default values. Refer to Properties of Form Elements (Workbench/Process Engine: Modules Guide, chap , p. 115). - Source For loading and displaying an input message. - Debugging/Profiling Refer to Debugging the XSLT Stylesheet (Workbench/ Process Engine: Modules Guide, chap. 5.3, p. 143). 3. Output - Designer For creating the form by dragging and dropping elements from the toolbar to the designer s workspace. Refer to Form Elements in the Toolbar (Workbench/Process Engine: Modules Guide, chap , p. 112). - Result Displays the result after testing the mapping. - Templates Contains all form elements as XML Mapping the Source to Elements in the Designer When mapping a source element to a designer element with a label attribute, you can decide, if you want to apply the source element s name or value. When mapping to Designer elements, the dialog that appears is the same as for mapping directly to the mapping table. You can decide between for-each, if, value-of, or copy. Hence, you can map an element that occurs more than once directly to a group in the Designer using for-each Absolute Layout in the Designer You can move elements directly between groups of different layouts by using drag-and-drop without being forced to place them before in one of these groups inubit 6.1: Workbench/Process Engine: Modules Guide

111 Task Generator (Data Converter) Form Designer User Interface 111 When using absolute layout, double arrows ( ) for scaling are displayed in the right or lower (right) corner of the element. In all other layouts, these double arrows appear when pressing the shift key before hovering the mouse the element. By default, elements automatically fit in the grid when moving them at grid ends. In contrast, you can place the element freely by pressing the CTRL+SHIFT keys when the element is released Output Mapping inubit 6.1: Workbench/Process Engine: Modules Guide

112 112 Task Generator (Data Converter) Form Designer User Interface In the Output Mapping tab you define how the XML response coming from the modified form is mapped to the XML format, which is expected by the next module in the workflow. Refer to Creating Output Mapping (Tutorials, chap , p. 90). 1. Mapping table Displays the XSLT style sheet that you create for mapping the XML Response to the output XML format. 2. XML source file Shows the original request and the response that the browser has sent back to the Task Generator after the form was edited and submitted. 3. XML target file - Target structure For loading an XML file that is already structured in a way as expected by the subsequent module, and which is used as template when creating the output mapping. - Mapping result Structure and contents of the output message of the Task Generators. - Debugging/Profiling Refer to Debugging the XSLT Stylesheet (Workbench/ Process Engine: Modules Guide, chap. 5.3, p. 143) Form Elements in the Toolbar The toolbar in the Form Designer offers the following buttons for creating form elements: Button Name Use The explanations in the following table refer to the buttons on the toolbar, from left to right: Button Checkbox Radio button Label Button that triggers an action Enables/disables one option in a group element Selects one of several options; all options in a group element are always displayed Label, such as for a text field inubit 6.1: Workbench/Process Engine: Modules Guide

113 Task Generator (Data Converter) Form Designer User Interface 113 Button Name Use Textfield Text input field Passwordfield FileField Textarea Combobox List Tree Group - Absolute Layout Group - Table Layout Group - Horizontal Layout Group - Vertical Layout Filler Filler h Filler v Separator Password input field; for security reasons, all characters entered are displayed as asterisks (*) Generates form fields for uploading files (input field and button with a Search label). When the form is submitted, the uploaded files are base64-encoded and written to the XML response. The input field for longer texts. Expandable list for selecting options; one of the options can be selected as a default and always be displayed. The list can also be edited. A list of options from which one can be selected. Tree view with nodes that can be expanded and collapsed. Sorts by pixels all form elements in this group as specified by the user. The size of the absolute group is not automatically adjusted to the content; you should therefore enable the scrollbar if needed (scrollable attribute). Groups can be nested. Generates a table with three columns and three rows (more can be added). Helpful for aligning form elements. Groups can be nested. Horizontally arranges all form elements dragged into this group one below the other; groups can be nested. Vertically arranges all form elements dragged into this group one below the other; groups can be nested. Generates a square area whose side length can be specified Generates a horizontal space whose width can be specified Generates a vertical space whose height can be specified Horizontal or vertical separator line, depending on the value of the orientation attribute inubit 6.1: Workbench/Process Engine: Modules Guide

114 114 Task Generator (Data Converter) Form Designer User Interface Button Name Use Image Web Panel Theme For displaying images in the form. There are the following options: You store the graphic file in the file system and enter its absolute path as value of the url attribute. You store the graphic file in the Repository and include it. When doing so, the images are routed via an internal proxy which has the following advantages: - The images are also displayed in the Designer. - The images are still loaded, if the inubit software is installed on another computer than the portal server. Refer to Accessing Files in the Repository via URL or path (Workbench: User Guide, chap , p. 479). You can define the image size by indicating a percentage value for width and height (e.g. 50%) and specify the border in the indicated manner by entering 4 values for up, below, right and left. (only for Theme Web) Adds a Web element into the XSLT style sheet. You can enter any XHTML code as contents of the element. The XHTML code is copied directly into the HTML page, for example: <Web> <div align="center"> <object type="application/x-shockwaveflash" data="inubit.swf" width="700" height="400" title="inubit AG"> <param name="movie" value="inubit.swf"> <param name="quality" value="high"> </object> </div> </Web> Adds a new panel. Refer to Defining Form Layouts and Positioning Elements on Panels (Workbench/Process Engine: Modules Guide, chap , p. 59). Specifies the layout for the form: Toolset is especially suitable for forms that are displayed in the inubit Workbench s task list. Web is suitable for browser-based forms inubit 6.1: Workbench/Process Engine: Modules Guide

115 Task Generator (Data Converter) Form Designer User Interface Properties of Form Elements The elements of the attribute that is currently selected in the form can be viewed in the Properties tab. The attributes are divided into the following areas: Misc area (Workbench/Process Engine: Modules Guide, chap. 4, p. 115) Specific area (Workbench/Process Engine: Modules Guide, chap. 4, p. 116) Conditional area (Workbench/Process Engine: Modules Guide, chap. 4, p. 120) Misc area name For referencing an element via its name. The name must consist of XML-compliant characters, because it is used as XML tag in the response. Until a name is assigned, an ID, such as CheckBox_ , is automatically assigned to the element. Alternatively, you can reference elements via their position, refer to path (Workbench/Process Engine: Modules Guide, chap. 4, p. 115). You can only use the name attribute if the element does not have a path attribute. path For referencing an element via its position. With the path attribute you can create, for example multidimensional structures, because the fields in the response are generated in the corresponding XML structure. Example: - path=/order 0/Goods 0/Book 1. - In the response, the following structure is emitted: <Path> <Order> <Goods> <Book>false</Book> </Goods> </Order> </Path> inubit 6.1: Workbench/Process Engine: Modules Guide

116 116 Task Generator (Data Converter) Form Designer User Interface The index does not refer to the named element, as with XPath, but to all elements on this level. With it, the complete order is reconstructed. Alternatively, you can reference elements via their name, refer to name (Workbench/Process Engine: Modules Guide, chap. 4, p. 115). You can only use the path attribute, if the element does not have a name attribute! enabled Enables/disables the form element. foreground When you click this field, a button appears at the end of the input line. Click this button to open a color selector. This color specifies the text color. background Background color of the element. width Width of the element (integer) Invalid width entries are set to 1. height Height of the element (integer) border The width of the border that is to be drawn around the element (integer). The border color is the color set as a background for the panel. tooltip Text that is displayed when the cursor hovers over the element in the form. A tooltip is made up of no more than 80 characters because some Web browsers cannot display longer texts. halign Horizontal alignment: left-aligned (left), centered (center), or rightaligned (right). valign Vertical alignment: top, centered, bottom Specific area If a Panel element is selected, the specific attribute will impact the properties of all elements for which no values have been entered. There are also a number of additional specific attributes. The following list includes those attributes and values that are not selfexplanatory: label: The label of an element, such as a button. escape inubit 6.1: Workbench/Process Engine: Modules Guide

117 Task Generator (Data Converter) Form Designer User Interface true: special and control characters are html-encoded or devalued. - false: special and control characters are not html-encoded or devalued. Fomatting by using HTML tags such as <b>bold</ b> or <i>italics</i> is possible in the label attribute of a label element. event: Select an event, or enter the name of the panel to be displayed when the event is triggered. The following events are available: - <Panel_Name> For navigating from one panel to the next, used for example on a Next button. Refer to Defining Form Layouts and Positioning Elements on Panels (Workbench/Process Engine: Modules Guide, chap , p. 59). - back(): Jumps back to the panel last displayed. - submit(value): Sends the form. The data included in the form are sent to the Task Generator module as an XML message. If a form contains several buttons, the value can be used to identify the event trigger and determine the action that follows. The character string is issued as value of the submitter attribute in the response. - cancel(): Cancels the display of the form. The task remains in the task list. - get(componentname): Searches the element whose name is given in brackets and analyzes the contents of the element that it currently displays. Example: The combo box cb contains a list with the names of all existing panels. For the Show button, the event get(cb) is defined. When users select a list entry and click the Show button, then the currently displayed value of the combo box is analyzed and the corresponding panel is displayed. inubit 6.1: Workbench/Process Engine: Modules Guide

118 118 Task Generator (Data Converter) Form Designer User Interface - browse() Opens a file explorer. The path and name of the selected file are returned and written to a text field. Only for forms that are displayed in the inubit Workbench. - execute(profilename URL) For forms that are displayed by the inubit Workbench a profile name must be specified. The indicated profile is executed. The profile name must be the name of an application profile that is defined in the Configuration > Aplication profile menu in the Configuration tab. For forms displayed in a Web browser a URL must be specified. validate Refer to Server-sided User Input Validation with AJAX (Workbench/Process Engine: Modules Guide, chap , p. 83). statechange Changes the portlet s size after its submitting the form according to the selected value. This function can be used, for example, for providing a portlet in a minimized and thus space-saving state and for enlarging it up to its complete size not until the first user entry. ajax Updates the content of the form containing the button, without reloading the entire web site. This function accelerates the reaction of web applications on user actions and prevents the need to transfer static data again, which has not changed. Do not use the options ajax and ajaxgroup neither for interportlet communication nor in groups that contain a FileField for uploading a file! Both options are not functional in these contexts. Using Ajax submits you can also let update parts of a form instead of the complete form, refer to Updating Portlets and Form Sections using Ajax (Workbench/Process Engine: Modules Guide, chap , p. 78). ajaxgroup For updating the content of selected form groups without reloading the entire web site. Refer to Updating Portlets and Form Sections using Ajax (Workbench/Process Engine: Modules Guide, chap , p. 78). jump inubit 6.1: Workbench/Process Engine: Modules Guide

119 Task Generator (Data Converter) Form Designer User Interface 119 Defines the entry point in the Technical Workflow, where the data for the ajax group update is preprocessed. Refer to Updating a Form Section with Ajax (Workbench/ Process Engine: Modules Guide, chap , p. 79). mnenomic (Only for forms that are displayed in the inubit Workbench in the Tasklist tab) Elements such as buttons, that can trigger events, are automatically assigned a shortcut. In the element label, the letter that can be typed on the keyboard to trigger the event without using the mouse is underlined. In Linux, the underlined letter is always displayed. In Windows, press the ALT key to display the shortcuts. scrollable By default, the panel is located in a container having a horizontal and vertical scrollbar (scrollable="true"). Scrollbars permit that the entire form can be edited even if the screen is smaller than the panel. By using scrollable="false" yout switch off the scrollbars. mandatory Designates an element as a mandatory field. maxlength (only for text and file fields) maximum length of field content tabindex (only for editable and selectable elements) Order in which the the fields can be accessed by using the Tab key pattern Contains a regular expression that defines the pattern of the permitted user input. Example: Using regular expressions you can define the structure of a number which must include special characters and a restricted number of digits. Use slashes as start and end tokens of the regular expression, for example /(\d\d).(\d\d).(\d\d\d\d)/. The pattern attribute cannot be used in combination with the mandatory attribute! If the user input into a field is restricted by pattern and the field is to be a mandatory field at the same time, then you need to express this with a suitable regular expression. TextArea searchtext='searchstring' (Only for displaying tasks in the inubit Workbench) Searches for text and highlights it in the component TextArea Highlight (Only for displaying tasks in the inubit Workbench) The Highlight element can appear any number of times under TextArea. The element has the following attributes: inubit 6.1: Workbench/Process Engine: Modules Guide

120 120 Task Generator (Data Converter) Form Designer User Interface - start='number' - stop='number' You can use either stop or length. Number = integer. - length='number' - color='#xxxxxx' Tree searchxpath='expression': (Only for displaying tasks in the inubit Workbench) Searches for and highlights the appropriate XPath, such as /*/ Row[3] disableback Attribute of the Form element. When selected, then using the Back button in a sequence of forms is prevented. After clicking the Back button the browser immediately tries to display the form containing the clicked Back button. ss In order to use this function, JavaScript must be activated. Conditional area visible The element is visible only for portal users having the given rights. enabled The element can only be modified or clicked by portal users having a role with the given rights. Refer to Displaying Form Elements Dependent upon User Rights (Web Applications only) (Workbench/Process Engine: Modules Guide, chap , p. 67) inubit 6.1: Workbench/Process Engine: Modules Guide

121 Task Generator (Data Converter) Client Generator User Interface Client Generator User Interface The Client Generator includes the following areas: 1. Basic settings: All settings in this area apply to the entire file: - Source: The path to the loaded schema or WSDL file. - Layout: - BackgroundDelta and Background: Background specifies the background color for nested group elements; activated if BackgroundDelta is defined and at least two nested group elements exist. For positive values for BackgroundDelta the background color brightness decreases for the inner group, for negative values the brightness increases. inubit 6.1: Workbench/Process Engine: Modules Guide

122 122 Task Generator (Data Converter) Client Generator User Interface - LabelPostfix: A character displayed by default after a form label. - LabelMandatoryPostfix: A character identifying mandatory fields as mandatory. Set to a cardinality of 1 1 for all elements. - ChangingLabelWidth: Defines for nested groups that the element labels of a group are aligned to the left and displayed completely. To do so, for each group the value of the Border attribute is subtracted from the value defined here. - Panel: Number of panels in the form. In the form, a panel is displayed as a tab. - OptionalSwitch: When selected, optional groups ( ComplexType type elements with a cardinality of 0 unbounded ) are replaced by a checkbox and a label name. The group s elements are displayed when the checkbox is selected in the form. - OptionalSwitchVisible: Use only when OptionalSwitch is activated! Ensures that the checkbox is selected when the form is displayed so that all elements in the group are visible. - MandatoryParentsVisible: Use only when OptionalSwitch is activated! When the form is viewed and this option has been selected, optional groups are always displayed if elements in the group are mandatory fields (cardinality of 1...1). - Selection: - StartElement: Displays the element selected as the root element for the form. - OnlyMandatory: When selected, only mandatory fields are displayed in the form. - UsePatterns: When selected, form field input must conform to the pattern defined in the schema. - UseMandatory: When selected, mandatory fields that have not been filled out are highlighted in color, and the Submit and Next buttons are deactivated. - AnnotationsAsToolTip: Uses schema annotations as tooltips, which will be displayed when the cursor hovers over the element. The annotation element must be placed in the element to which it refers and must contain a documentation element, such as <complextype name="tooltip"><annotation><documentation xml:lang="de">all tooltips 2. Display: Displays the loaded schema or WSDL file. 3. Element (group) configuration: Configures the element selected in the display inubit 6.1: Workbench/Process Engine: Modules Guide

123 Task Generator (Data Converter) Client Generator User Interface Display field: Displays the XPath to the selected element in the current display. All of the following settings are applied to this element. - Start element: Defines the selected element as the root element for the form. - Omit element: No form elements are generated for the selected element and its child elements. - Omit element layer: No form elements are generated for the selected element. Form elements are, however, generated for the child elements. - Position change: Changes the sequence of the selected element and thus the sequence of the form element. - Put in this panel: Specifies in which tab the selected element is displayed. The number of panels in area 1 must be defined. - Next button: Adds a button to the currently indicated panel that leads to the next panel. This button does not need to be added to the last panel. - Repeats: Generates at least the specified number of instances for the selected element upon displaying. If the input message contains several elements, more instances are generated. This can only be applied to groups (ComplexTypes). - Numbering: Adds consecutive numbering to generated instances. - Change number dynamically: Adds +/- buttons above the selected elements to help the user generate additional instances of the element. This can only be applied to groups (ComplexTypes). - Generate buttons after group: Adds the buttons after the group instead of before. - Jump to added elements: Scrolls the form to where the element was added. This is helpful when more elements can be generated than fit onto one screen page. - Added group: Select adds a red border around the new element; this border is only removed after the element has been edited. Highlight briefly highlights the new element in color. - Minimum/Maximum: You can manually increase restrictions on existing limits for the occurrence of an element. A maximum of -1 means that any number of elements can be added. - Recursions: Defines the maximum recursion depth for recursively defined elements. - Customize view: When selected, you can click the button located next to the option to open an editor in which you can edit the form elements to be created. For instance, you can add a label attribute to a label element, and its value will be used inubit 6.1: Workbench/Process Engine: Modules Guide

124 124 Task Generator (Data Converter) Dialog Descriptions as a label in the form (instead of the otherwise mandatory element name). These changes remain effective even after the form has been regenerated. 4. Omit elements: For the selected elements, no form elements will be created (regardless of their position in the hierarchy). 5. This area consists of the following tabs: - Form element templates: Contains templates for all form elements to be generated. You can change the templates and thus the generation of the forms. The class attributes specify the CSS classes, which in turn define the layout of the form you are creating. To use customized CSS classes, reference CSS classes in the class attributes, and define these class values as an internal resource in the Web Application Connector. - Translations: For translating labels generated from the elements. - Format changes: Customizes the date formats used. Refer to - for information about distributing elements to panels: Element (group) configuration: Configures the element selected in the display. (Workbench/Process Engine: Modules Guide, chap. 3., p. 122) - Dialog Internal Resources (Workbench/Process Engine: System Connectors Guide, chap , p. 397) 4.10 Dialog Descriptions This section details all dialog boxes in the Task Generator: Task Generator Properties Dialog, p. 125 Permissions Dialog, p. 127 Application Profile Dialog, p. 128 XSLT Mapper Settings Dialog, p. 129 Panel Layout Dialog, p inubit 6.1: Workbench/Process Engine: Modules Guide

125 Task Generator (Data Converter) Dialog Descriptions Task Generator Properties Dialog This dialog offers the following options: Form sequence Web application page Refer to - Developing Your Own Web Application (Tutorials, chap. 5.2, p. 82) - Web Application Connector (Workbench/Process Engine: System Connectors Guide, chap. 39, p. 391) Task list entry Form Refer to Forms (Workbench/Process Engine: Modules Guide, chap. 4, p. 101). External program Refer to External application (Workbench/Process Engine: Modules Guide, chap. 4, p. 102). Information Refer to Information (Workbench/Process Engine: Modules Guide, chap. 4, p. 101). Task properties Not all properties are always displayed; the selected task type determines which properties are displayed. Task name Name under which the task appears in the Task list. Description Short text used as a description of the task displayed in the task list. Name and description can be multi-lingual. In Information type tasks, the description contains the actual information. Time of generation Options: - When the module is executed. - At a specified point in time. Wait for next task (seconds) Waiting time in seconds, if the current task including the following server operations must be finished before the next task is displayed to the same user without a previous entry in the task list (see Display form directly option). inubit 6.1: Workbench/Process Engine: Modules Guide

126 126 Task Generator (Data Converter) Dialog Descriptions After submitting the form, the web browser waits for a maximum of the configured time for the next form. The next form is displayed as soon as it is created after finishing the server operations. If the form could not be created within the maximum waiting time, the task list is displayed. In this case, the waiting time configured is to short and must be increased. 0 value (default): There is no follow-on task. Stop workflow execution When selected, the workflow execution will not be continued until the task has been executed. When the option is not selected, the task is triggered, and the workflow execution is continued immediately. In this case, the task response cannot be processed within the workflow, because the workflow will have advanced before the response is received. In test mode, the Technical Workflow always waits for the execution of a task. Display form directly (without prior entry into the Task List) When selected, the form is displayed without first displaying the task list. This option is useful if the currently configured module generates a follow-up form to a form which is displayed in the task list. By distributing user interactions to several forms, you can enable interaction with the server in between. Assign task only to the person which processed the prior task Tasks are assigned to a process role, not to a person. This option ensures that a form is displayed only to the person who edited the previous form. In this context, the user is asked to provide his/her login name to ensure the form is not displayed to users with the same process role. Timeout After the given time span is exceeded, the following happens: - The task is removed from the task list, provided that it is not still being processed. - The workflow execution is cancelled. - In the Queue Manager the workflow is listed with an error, if the option Do not rate timeout as error is not activated. - If an error exit is connected with the Task Generator, the error exit is executed. - If the option Do not rate timeout as error is not activated, an e- mail is send to the given address. The time span defined in the Timeout field and the time of creation are used for calculating the time of the task s expiration. This value is displayed in the field Expiration in the task list. Timeout after, if blocked inubit 6.1: Workbench/Process Engine: Modules Guide

127 Task Generator (Data Converter) Dialog Descriptions 127 If a task is being processed, the timeout will keep running. When the timeout is exceeded, a second timeout is started with the period specified here. This will ensure that a task is not deleted while it is being processed, and that the work performed on the task can be completed and saved. On timeout send to The address an is sent to if the task has not been completed when the timeout is reached. To ensure the can be sent, activate and configure the notification. Refer to Activating Notifications (inubit Process Engine: Administrator and Developer Guide, chap. 9.2, p. 127). Do not rate timeout as error: When selected, no is sent when the specified timeout is exceeded. The task will be removed from the task list Permissions Dialog This dialog offers the following options: Task delivery This area is displayed for the Form, Information, and External program task types only. Create an individual task for each user - If selected, a task is created for each user who has one of the selected portal or process roles. This means: if there are 10 users with the role X, then all ten of them receive their own task. - If not selected, then only one task is created and displayed to all users having one of the selected portal or process roles. As soon as one user accepts the task, it is removed from the task lists of all other users. Use portal roles When activated a list of all existing portal roles is displayed. The task is assigned to all roles which are checked. Use process roles When activated a list of all available process roles is displayed. The task is assigned to all roles which are checked. Task rule To assign the task to employees via a task rule. Refer to Assigning Rules on the Technical Level (Workbench: User Guide, chap. 15.7, p. 390). inubit 6.1: Workbench/Process Engine: Modules Guide

128 128 Task Generator (Data Converter) Dialog Descriptions Task delegation This area is displayed for the Form, Information, and External program task types only. Task rule To specify the role, group, or user to which the owner of a task can delegate the task. Select a task rule. Refer to - Assigning Rules on the Technical Level (Workbench: User Guide, chap. 15.7, p. 390) - Task delegation (Workbench/Process Engine: Modules Guide, chap. 4, p. 103) Enable delegation only for role By selecting a role you restrict the permission to delegate tasks to other role owners. Only owners of the selected role are allowed to delegate tasks. The role which may delegate tasks must be able to view these tasks and must thus be specified in the Task delivery area! Web Application Connectors In this area all published Web Application Connectors are displayed. In the form you can use the properties of these Web Application Connectors, as for example rights, CSS classes and JavaScript code, by selecting the check box of a Web Application Connector. Refer to - Displaying Form Elements Dependent upon User Rights (Web Applications only) (Workbench/Process Engine: Modules Guide, chap , p. 67) - Using inubit Enterprise Portal (Workbench: User Guide, chap. 20, p. 485) - Using Process Roles (inubit Process Engine: Administrator and Developer Guide, chap. 6.9, p. 84) - For information about generating rule sets: Routing Rules for Task Allocation/Delegation (Workbench: User Guide, chap. 8.3, p. 225) Application Profile Dialog The application profile dialog is displayed for the External program task type. Application Application profile inubit 6.1: Workbench/Process Engine: Modules Guide

129 Task Generator (Data Converter) Dialog Descriptions 129 Select an application profile. Refer to Application Profiles (inubit Process Engine: Administrator and Developer Guide, chap. 11.1, p. 141). MiME type Enter the Mime type if the task is to be displayed in the browser and the external program is to be opened from within the browser. Extension Suffix added to a file name, such as.doc for MS Word files. Not all programs recognize if a file can be opened by an external program when they access the file. - File recognition by the external program: Some programs use the extension only to determine whether or not a file can be opened. For these programs, it is important to enter an extension here, which will be appended to the file during the workflow execution. Be sure to enter the period before the extension as well. - Automatic appending of file extension: Some programs automatically append an extension to a file name if the file has no extension. If the correct extension has already been entered here, it will be appended again. If no extension has been indicated, and the application that has been invoked automatically appends an extension to the data, the input and output files no longer have the same name. In this case, the output and the input message have the same content, and user changes are not visible. It is therefore always safer to enter an extension. If several instances of one program are open, such as Microsoft Word in several windows, changes to a file that is to be edited as a task will not be applied. MS Word: If one instance of MS Word is open, and Word is invoked through the task list, the workflow execution will not stop because of the open MS Word instance, but will continue running. This means that changes will be lost rather than being transmitted to the next module! You should therefore make sure that the program being invoked by the task is not open before it is called up. Refer to Application Profiles (inubit Process Engine: Administrator and Developer Guide, chap. 11.1, p. 141) XSLT Mapper Settings Dialog This dialog offers the following options: inubit 6.1: Workbench/Process Engine: Modules Guide

130 130 Task Generator (Data Converter) Dialog Descriptions General Ignore input message When selected, the source area in the Designer s user interface remains hidden. In this case, only the users form input is used as input data. Save source and target files on the server The source and target files are typically saved on the client machine only. Saving the files on the server has the following advantages and disadvantages: - Advantage: The module can be edited on other machines. - Disadvantage: The files are loaded each time the module is executed. If the files are large, this can have a negative impact on performance. If you deselect the option after editing and publishing, the files are deleted from the server along with the reference to the local copy on the client machine. The files will be empty the next time they are edited. Form mapping (input)/output mapping XSLT processor: Selects an XSLT processor. XSLT processors differ in terms of the language scope they support. Instead of using an XSLT processor that was included, you can use any other XSLT processor. Cache the XSLT stylesheet If the module is called up several times in succession, caching the script will increase performance. Refer to - XSL versions and EXSL support (Workbench/Process Engine: Modules Guide, chap. 5, p. 133) - Embedding Any XSLT Processor (Workbench/Process Engine: Modules Guide, chap. 5.6, p. 146) Panel Layout Dialog By selecting a layout you define the layout of your form. After having created the module, you can modify the layout manually any time. Layout template Vertical layout All elements which you add by dragging and dropping to the panel are positioned automatically vertically along the Y-axis. Table layout inubit 6.1: Workbench/Process Engine: Modules Guide

131 Task Generator (Data Converter) Dialog Descriptions 131 Inserts a table element into the panel. You can add further elements into the table cells. Absolute layout Allows to exactly position all form elements by dragging and dropping on the panel. Client Generator Opens the Client Generator for creating a layout based on an XML Schema. The layout generated by the Client Generator is inserted automatically into a group element in the panel. Refer to Client Generator User Interface (Workbench/Process Engine: Modules Guide, chap. 4.9, p. 121). inubit 6.1: Workbench/Process Engine: Modules Guide

132 132 Task Generator (Data Converter) Dialog Descriptions inubit 6.1: Workbench/Process Engine: Modules Guide

133 5 XSLT Converter (Data Converter) 133 This section details the following topics: XSLT Mapper User Interface, p. 134 Testing the XSLT Stylesheet, p. 143 Debugging the XSLT Stylesheet, p. 143 Validating the Result, p. 144 Using Extensions and Java Packages, p. 145 Embedding Any XSLT Processor, p. 146 Using Variables, p. 147 Dialog XSLT Converter Properties, p. 148 Use Using the XSLT Converter, you can transform an XML format to any other file format. The transformation the XSLT Converter uses one or more XSLT stylesheets including instructions on how to transform the content of the XML files. An XSLT processor supports you in the following tasks: Transform file formats, e.g. from one XML format to another XML format. Create messages by using templates for the following System Connectors: Web Services Connector, Topcall Connector, SAP Connector, JCA Connector, Database Connector Create messages by using templates from the repository. XSL versions and EXSL support The range of languages available to you in the XSLT converter depends on the XSL processor you are using. The supplied XSLT processors support the following functions: XSL processor Xalan 2.7 XSLTC Saxon 6 Saxon 9 (standard) XSLT 1.0 x x x (x) XSLT 2.0 x EXSLT common x x x x sets x x x x math x x x x dates-and-times x x x x functions x x random x string x x inubit 6.1: Workbench/Process Engine: Modules Guide

134 134 XSLT Converter (Data Converter) XSLT Mapper User Interface XSL processor Xalan 2.7 XSLTC Saxon 6 Saxon 9 (standard) inubit Extensions (including functions for date conversion, for returning line feeds and other control characters, for creating tags and replacing umlauts) x x x x You can replace the supplied XSLT processors by any other XSLT processor, if needed. Refer to your XSLT processor s documentation for information about its extensions. Refer to - Embedding Any XSLT Processor (Workbench/Process Engine: Modules Guide, chap. 5.6, p. 146) - Using Extensions and Java Packages (Workbench/Process Engine: Modules Guide, chap. 5.5, p. 145) 5.1 XSLT Mapper User Interface This section details the following topics: Toolbar Functions, p. 136 Other Functions, p. 139 XSLT Command Wizard, p. 141 User interface The XSLT Mapper is displayed after an XSLT Converter module is created: inubit 6.1: Workbench/Process Engine: Modules Guide

135 XSLT Converter (Data Converter) XSLT Mapper User Interface XML source/xml target (Stylesheet area) The stylesheet pane displays the created XSLT stylesheet as mapping table. The table columns include: - XML source: Values, XPath expressions or functions, usually dragged and dropped from the XML source file pane. - XML target: XSLT commands (elements and attributes), usually dragged and dropped from the pane Target structure. Breakpoint Refer to Output, Breakpoints, Internal (Workbench/Process Engine: Modules Guide, chap. 7., p. 136). For information about the pane toolbar refer to Toolbar Functions (Workbench/Process Engine: Modules Guide, chap , p. 136). 2. Icon to open the XPath assistant 3. XML source file inubit 6.1: Workbench/Process Engine: Modules Guide

136 136 XSLT Converter (Data Converter) XSLT Mapper User Interface For loading and displaying an example input message, which serves as data source for creating the XSLT stylesheet. This pane is hidden if you selected the Ignore input message checkbox when you created the XSLT Converter. For information about the pane toolbar refer to Toolbar Functions (Workbench/Process Engine: Modules Guide, chap , p. 136). 4. Target structure for loading and displaying of a template for the target structure. Any example file or template from the repository can serve as template. A template can be created by using any explorer, e.g. SAP explorer, database explorer or Web service explorer. For information about the pane toolbar refer to Toolbar Functions (Workbench/Process Engine: Modules Guide, chap , p. 136). 5. Mapping results displays the result after having tested the XSLT stylesheet and the amount of run time needed. Refer to - Using an XSLT converter: Creating a Technical Workflow 3: Converting CSV-XML to opentrans (Tutorials, chap. 4.5, p. 67) - Testing the XSLT Stylesheet (Workbench/Process Engine: Modules Guide, chap. 5.2, p. 143) 6. Debugging / Profiling Clicking the button shows the pane Debugging/Profiling (not for the XSLTC (Xalan compiled) and Saxon 6 (XSLT 1.0) XSLT processors). Refer to Debugging the XSLT Stylesheet (Workbench/Process Engine: Modules Guide, chap. 5.3, p. 143). 7. Output, Breakpoints, Internal To display the style sheet output, breakpoints defined, and the style sheet structure Toolbar Functions Each pane has a toolbar that gives you access to the following functions: : Opens a menu with the following commands: - New: Deletes the current content and creates a new document with a root element inubit 6.1: Workbench/Process Engine: Modules Guide

137 XSLT Converter (Data Converter) XSLT Mapper User Interface Open: For loading files from the file system, the Repository or content from the clipboard. The editor automatically loads the view that matches the file type. Additionally, used to load Business Object Diagrams or URLs or templates from the following explorers: - Database Explorer - Java Reflection Explorer - JCA Explorer - Rule File Explorer Refer to Creating XML Input Messages for XML-EDI Adapters (Workbench/Process Engine: Modules Guide, chap. 7.3, p. 161). - SAP Explorer - Web Services Explorer - Save: - File: For saving the displayed content. - File as: Opens the file explorer for saving the displayed content to any location. - Repository: For saving the displayed content to the repository. - Clipboard: Copies the displayed content to the clipboard. - Print: Opens the printer dialog for printing the current file. The following functions are not necessarily available in all areas! - Display appropriate editors for the content: Reduces the number of available editors to those which are appropriate for the currently displayed file format. - Generate XML schema template: Creates on the basis of an XML file a template for an XML schema. Refer to Generating an XML Schema Template from an XML File (Workbench: User Guide, chap , p. 56). - Compare Compares an XML file with a file in the file system, a file in the repository or with the content of the clipboard. Refer to Comparing XML Documents (Workbench: User Guide, chap , p. 52). - XPath search: If checked, the text in the search field is interpreted and searched for as an XPath expression. Refer to Searching with XPath Expressions (Workbench: User Guide, chap , p. 56). - Editable (source and target areas only): Edits existing files and creates new files. inubit 6.1: Workbench/Process Engine: Modules Guide

138 138 XSLT Converter (Data Converter) XSLT Mapper User Interface - Parameters from clipboard (only in XSLT script pane): Copies variables from the clipboard to the XSLT script. - Adjust toolbar to content: Based on the format of the current content, the appropriate commands for the pane are enabled. For ASCII text files, for instance, Schema view and Tree view will not be available. - Only distinct nodes (not in the XSLT script pane): Hides all duplicate elements. - Remove data from structure (only in target pane): Deletes all content that is neither an element nor an attribute. - Remove only text nodes from structure (only in target pane): Deletes all element contents. Attribute values remain unchanged. - Remove only attribute texts from structure (only in target pane): Deletes all attribute values. Element contents remain unchanged. XSLT mapping table A view for creating XSLT scripts by dragging and dropping. This mode is automatically displayed after you create an XSLT Converter module. - Left: XPath expressions and values display - Right: Elements and attributes For color settings: Refer to Changing inubit Workbench Settings (Workbench: User Guide, chap. 1.2, p. 29). - Middle column: - Cell containing an equal sign: One attribute (right column) is assigned one value (left column). - Cell containing an arrow: Indicates that one element (right column) is assigned one XPath expression (left column). By clicking the icon, you open the XSLT command wizard. Refer to XSLT Command Wizard (Workbench/Process Engine: Modules Guide, chap , p. 141). Schema view Use this view to edit a schema (only available if a schema has been loaded). Refer to Schema Editor (Workbench: User Guide, chap , p. 57). Tree view Text view Displays file elements as text. Open external editor Displays a list of all application profiles that can be used to open the file inubit 6.1: Workbench/Process Engine: Modules Guide

139 XSLT Converter (Data Converter) XSLT Mapper User Interface 139 Search Refer to Searching in inubit Workbench (Workbench: User Guide, chap. 1.9, p. 45) Other Functions Drag n Drop The XSLT Mapper offers the following options for creating elements, XPath expressions or structures by using Drag n Drop: The area where you want to create something must be editable. From the toolbar, select > Editable. Drag and drop to copy elements between any of the three panes Copy elements within a single pane: Hold the Control key while dragging and dropping. Create new source and target structure a. From the toolbar, select > New > <type_of_the_new_ file>. b. Drag an element in the area. Create XPath specifications by dragging and dropping: Drag elements from the source file to the left side of the XSLT script pane. Context menus If you right-click a selected element in the script pane or in the XML source and target files, a context menu is displayed, showing commands relevant to the selection. Command Note Copy Align text Only available in text views Modifies the document Cut Paste inubit 6.1: Workbench/Process Engine: Modules Guide

140 140 XSLT Converter (Data Converter) XSLT Mapper User Interface Command Move node Collapse node Expand node to the left to the right up down Note Select node first Expand all subordinate nodes Open input field for search Open menu below arrow Find used nodes in source document Breakpoint on/off XSLT command wizard: Testing XSLT file To close the menu without selecting a command, press the Escape key. When you select an element in the mapping table and enable this option, all nodes in the XML source file that are used for the script element are selected. If no node is found in the XML source file, a warning signal will sound. Creates a breakpoint for debugging/profiling Refer to Output, Breakpoints, Internal (Workbench/ Process Engine: Modules Guide, chap. 7., p. 136). Opens the XSLT command wizard Refer to XSLT Command Wizard (Workbench/Process Engine: Modules Guide, chap , p. 141). You can test your XSLT style sheet while creating it. Keys and their functions Key DEL(ETE) HOME, END, PAGE UP, PAGE DOWN ENTER UMSCHALT- ENTER UMSCHALT-, UMSCHALT-, TABULATOR Function Deletes the selected element or attribute To navigate within the stylesheet Navigates one line down Navigates one line up Marks the current and the following line(s) Switches between XML source and XML target inubit 6.1: Workbench/Process Engine: Modules Guide

141 XSLT Converter (Data Converter) XSLT Mapper User Interface 141 Key INS(ERT) and all the other keys not mentioned here Function Switching to edit mode for the element/attribute selected XSLT Command Wizard Call Up Do one of the following in the Stylesheet area: select an element in the right column > context menu > XSLT command wizard double-click or in the table s center column. You cannot call up the wizard in cells containing an equal sign (attribute with value assignment)! inubit 6.1: Workbench/Process Engine: Modules Guide

142 142 XSLT Converter (Data Converter) XSLT Mapper User Interface The XSLT command wizard provides information about the XSTL element which is selected in the Script area and inserts elements and attributes at the selected position. The XSLT command wizard includes the following panes: 1. Element list Optionally XSLT 1.0 or Element Descriptions For the element selected in the list. 3. Attribute Descriptions For the attribute selected in the attribute table. 4. Attribute table Displays all attributes and the values of the selected element. - Black font: Mandatory attributes. - Grey Font: Optional attributes. The value ranges of attributes are displayed as tool tips above the value fields. To assign a value to an attribute, click the Value field and enter the value inubit 6.1: Workbench/Process Engine: Modules Guide

143 XSLT Converter (Data Converter) Testing the XSLT Stylesheet Position of an XSLT element - Precede: The command is placed in the hierarchical level where the selected element was located. The element is indented below it. - Replace: Replaces the existing XSLT command with the selected command. - Append: The command is added below the currently selected element (one level lower in the hierarchy). 5.2 Testing the XSLT Stylesheet You can test your XSLT stylesheet while you are creating it. Proceed as follows Do one of the following: Select Edit > Test XSLT file. Click the button in the toolbar. The result and the execution time required are displayed in the XML target file area in the Mapping results tab. 5.3 Debugging the XSLT Stylesheet Call up Button Debugging/Profiling Use the following toolbar buttons to debug your XSLT style sheet: Button Explanation Starts debugging up to the next break point. Errors are displayed in a dialog. Click the button again to continue debugging up to the next break point. During the debugging process, the number of times the debugger has run through each command is shown in square brackets by the XSLT commands in the right column of the table. These values are deleted when you click Stop. inubit 6.1: Workbench/Process Engine: Modules Guide

144 144 XSLT Converter (Data Converter) Validating the Result Button Explanation Starts debugging line by line up to the next break point. The current line in the XSLT script is highlighted in grey. At the same time, the node corresponding to the XSLT script in the XML source file in the bottom left window is highlighted in grey. In the text view, the target XML file is built step by step. Any syntactic errors found in the XSLT script are displayed immediately. You can only scuttle through a syntactically correct XSLT script. This mode therefore supports identification of logic errors. Using the Next processing step button, you can use the functionality available for Scuttling. However, you must click the button to switch lines to the next element. Stops the debugging process. If you click, or again, the process will resume from where you stopped it. Ends the debugging process. To debug an XSLT script again from the beginning, click this button first; otherwise, the debugging process will resume from where it was last stopped. 5.4 Validating the Result You have the following options for validating a mapping: Check result file with DTD Go to Edit > Check result file with DTD. Check result file with schema Go to Edit > Check result file with schema. The path to the DTD resp. the XML schema must be either specified in the XSLT stylesheet, or the system will ask you to open a matching file. The validation result is displayed in a dialog. Any errors detected are specified in detail, enabling you to change your mapping accordingly inubit 6.1: Workbench/Process Engine: Modules Guide

145 XSLT Converter (Data Converter) Using Extensions and Java Packages Using Extensions and Java Packages Using Extensions, p. 145 Embedding Java Packages of the inubit Software, p. 146 Overview In order to implement features in an XSLT stylesheet, which are not covered by the XSLT commands, you can use extensions or functions from Java packages Using Extensions For extensions ready for use refer to Once you use processor specific extensions, your XSLT stylesheet becomes dependent on the selected processor! If you change the processor afterwards, your stylesheet might not run any longer. Proceed as follows 1. Display your XSLT stylesheet. 2. Add a namespace attribute to the xsl:stylesheet element via the context menu, e. g.: <xsl:stylesheet xmlns:string=" 3. Add the extension-element-prefixes attribute and enter the prefix of the extension as value, e.g. extension-element-prefixes="string" Calling up extensions An extension is called via its defined prefix and its name, e. g.: <xsl:template match="/"> <tokens> <xsl:for-each select="string:tokenize('a,b,c,d,', ',' )"> <xsl:copy-of select=""./> </xsl:for-each> inubit 6.1: Workbench/Process Engine: Modules Guide

146 146 XSLT Converter (Data Converter) Embedding Any XSLT Processor Embedding Java Packages of the inubit Software For a description of the extensions provided with the inubit Process Engine refer to <inubit-installdir>/ pluginsdk/apidoc/index.html, Package com.inubit.ibis.xsltext, Formatter and Misc classes. Requirements: You installed the SDK with inubit software. Proceed as follows 1. Display your XSLT stylesheet. 2. Add a namespace attribute to the xsl:stylesheet element via the context menu. As value enter the package name, e. g.: <xsl:stylesheet xmlns:misc="com.inubit.ibis.utils.xsltext.misc"> Calling functions from the package A method from a package is called via its prefix and name: <xsl:template match="/"> <DateTime> <xsl:value-of select="misc:getdatetime('yyyymmddhhmmss')" /> </DateTime> 5.6 Embedding Any XSLT Processor Different processors can be used for the XSLT transformation language. Common uses include the Xalan and SAXON processors, which are included in the system. In addition to the XSLT processors included, you can use any other XSLT processor. You will need a JAR file with the XSLT processor, which must correspond to the specified Java interface. Proceed as follows 1. In the inubit Workbench, display the Configuration tab. 2. To load the JAR file to the server, select from the menu bar Configuration > Upload library. 3. Open your XSLT converter s properties for editing, or create a new module inubit 6.1: Workbench/Process Engine: Modules Guide

147 XSLT Converter (Data Converter) Using Variables In the Dialog XSLT Converter Properties (Workbench/Process Engine: Modules Guide, chap. 5.8, p. 148), enter the new XSLT processor s class name in the XSLT processor field. 5. Click Finish. You can now use the new XSLT processor. 5.7 Using Variables You can easily access variables in the XSLT Converter, for instance to send comprehensible error messages to an error branch. When using base64binary type variables in XSLT Converters of inubit versions 5.1 or older: In these XSLT Converters, the variables content was output in compressed form. In this case, you must use the XPath function misc:decodewithdecompression($variable)for decoding the content of the variable. Alternatively, you can create a new XSLT Converter. In doing this, you get the uncompressed content of the variable. Proceed as follows 1. Create an XSL Converter module, and integrate it into a Technical Workflow. 2. Test the Technical Workflow. 3. Double-click the watch point before the XSLT Converter module. A dialog opens, displaying the result file with the existing variables. 4. To copy the result file and the variables to the clipboard, click Copy data. Close the dialog. 5. Open the XSLT Converter module for editing. 6. In the XSLT script area, open the menu ( ) and select Parameters from clipboard. A window in which you can select a variable opens. 7. Select a variable and click OK. The dialog will close. A parameter with the same name like the variable is created and displayed in the script pane: inubit 6.1: Workbench/Process Engine: Modules Guide

148 148 XSLT Converter (Data Converter) Dialog XSLT Converter Properties If the parameter is not set from the outside when executing the Technical Workflow, the value shown here becomes the default value. You should therefore always set default values for parameters. Refer to - Workflow Variables and Mappings (Workbench: User Guide, chap. 14, p. 351) - Test Mode: Testing Diagrams (Workbench: User Guide, chap. 16.1, p. 402) 5.8 Dialog XSLT Converter Properties Transformer properties XSLT processor Selects an XSLT processor. XSLT processors differ in terms of the language scope they support. Debugging and profiling are optimized for Saxon and functions only to a limited extend with Xalan. Processor attributes Enter properties with values for the XSLT processor in this table. The properties are implementation-specific transformer factory attributes. Mapper properties Save source- and target files on the Process Engine If checked, source and target files are stored on the inubit Process Engine. Thus, these files can also be edited on other client machines. If the source and target files are very large, the performance can be affected, because these files are loaded each time the XSLT Converter is executed inubit 6.1: Workbench/Process Engine: Modules Guide

149 XSLT Converter (Data Converter) Dialog XSLT Converter Properties 149 If you have already published the XSLT Converter at and deselect the option later on, the files on the inubit Process Engine and the reference to the local copy on the client machine are deleted. Ignore input message When selected, the pane XML source file is hidden from the XSLT Mapper user interface. Ignoring the input message can be helpful when using one or more XSLT stylesheets for recreating a structured output message. Cache the XSLT stylesheet If the XSLT converter is called up several times in short succession, caching the script will increase performance. The module in the cache is updated during server start and during module publishing. Refer to - XSL versions and EXSL support (Workbench/Process Engine: Modules Guide, chap. 5, p. 133) - Embedding Any XSLT Processor (Workbench/Process Engine: Modules Guide, chap. 5, p. 146) inubit 6.1: Workbench/Process Engine: Modules Guide

150 150 XSLT Converter (Data Converter) Dialog XSLT Converter Properties inubit 6.1: Workbench/Process Engine: Modules Guide

151 6 CSV-XML/XML-CSV Adapter (Format Adapter) 151 This section details the following topics: Example: CSV to XML Conversion, p. 152 Dialog Module Editor, p. 153 Use The CSV-XML/XML-CSV Adapter converts inbound CSV messages to XML messages, and XML to CSV: CSV > XML: Use this option to convert messages to a standard XML format, such as xcbl or BMEcat when a workflow is being processed with XSLT. XML > CSV: Converts data from an XML format to a CSV format. The expected XML input format is a flat XML format containing the individual records to be converted. Create this XML format using an XSLT Converter module. inubit 6.1: Workbench/Process Engine: Modules Guide

152 152 CSV-XML/XML-CSV Adapter (Format Adapter) Example: CSV to XML Conversion 6.1 Example: CSV to XML Conversion Input message The adapter removes from the different fields of the csv file all blank and control characters in front of and after the string, before transferring the values into the XML elements of the output file. Thus, the adapter prevents problems that might appear in the further processing of the XML file in case of CSV data with fixed length columns containing e.g. blank characters inubit 6.1: Workbench/Process Engine: Modules Guide

153 CSV-XML/XML-CSV Adapter (Format Adapter) Dialog Module Editor 153 Output message 6.2 Dialog Module Editor XML root tag The root element identifier for the created XML document, such as <ORDER>. Segment name inubit 6.1: Workbench/Process Engine: Modules Guide

154 154 CSV-XML/XML-CSV Adapter (Format Adapter) Dialog Module Editor The segment name is added to the XML tag enclosing the individual attribute tags, such as <LINE ITEM>, in the XML document created by the Format Adapter. Text qualifier This string encloses the individual values in a record in the source message and identifies them as text. Field names In some CSV formats, the individual field attribute names are located in the first line of the CSV file. If this is the case for your CSV format, enable this selection box. Ignore overlapping fields/ignore missing fields (Only for CSV>XML) Enables parsing of non-csv-compliant messages. Fixed length columns (Only for XML>CSV) For each field type its maximum length is calculated. All other fields of the same type are filled up with blanks until the maximum length is reached. Field delimiter This string separates individual values in a record in the source message. Record delimiter Enabled for XML>CSV conversion only. For CSV>XML conversion, use \n as the record delimiter. If the character for record delimiters is used in the data, it must be escaped by a backslash (\) or enclosed by two exclamation marks (!!). Record delimiter at end of file Can only be selected for XML>CSV adapters. Character encoding (CSV) Specifies the character set in which the input message is encoded. By default, the ISO character set is used. It contains all characters of the common Western European languages, including their special characters. You can select or enter a different character set. Field names from CSV file Instead of importing field names from the input message, the field names can be read from any other CSV file as well. Remember to define field and record delimiters as they appear in the file you are importing. Field names from XML file inubit 6.1: Workbench/Process Engine: Modules Guide

155 CSV-XML/XML-CSV Adapter (Format Adapter) Dialog Module Editor 155 Instead of importing field names from the input message, the field names can be read from an XML file as well. In this case, entries in the XML root tag and Segment name fields must match the names of the root and segment elements in the file you are importing. inubit 6.1: Workbench/Process Engine: Modules Guide

156 156 CSV-XML/XML-CSV Adapter (Format Adapter) Dialog Module Editor inubit 6.1: Workbench/Process Engine: Modules Guide

157 7 EDI Adapter (Format Adapter) 157 This section details the following topics: Functional Principle of the EDI > XML Conversion, p. 158 Creating an EDI Adapter and Configuring a Rule, p. 160 Creating XML Input Messages for XML-EDI Adapters, p. 161 Creating a New Rule, p. 162 Publishing Rules to the inubit Process Engine for Re-use, p. 164 Creating an SAP IDoc XML Rule, p. 164 Using Rule Editors, p. 165 Creating a New mapping set, p. 168 Dialog Descriptions, p. 169 Use The EDI Format Adapter is used to convert EDI messages based on certain rules. EDI messages can be used to automatically continue processing business correspondence in the recipient's software system without manual intervention. For popular EDI standards, such as UN/EDIFACT, ANSI X12, or VDA, there are conversion rules which can be applied immediately. If no matching rules can be found for your EDI messages in the inubit software, the EDI Rule Editor will help you create a new rule. A license is required to use EDI rules. Only EDI standards for which you own a license will be displayed. Adapter types There are two types of adapters that can convert EDI messages: EDI-XML Adapter: Converts EDI messages to an XML format. XML-EDI Adapter: Converts XML messages to EDI messages. HL7 messages via TCP/IP MLLP: For transferring and confirming HL7 messages via TCP/IP, use the HL7 TCP/IP Connector. Refer to Processing IP Messages Using Start and Stop Bytes (Workbench/Process Engine: System Connectors Guide, chap. 37.2, p. 379). inubit 6.1: Workbench/Process Engine: Modules Guide

158 158 EDI Adapter (Format Adapter) Functional Principle of the EDI > XML Conversion 7.1 Functional Principle of the EDI > XML Conversion An EDI module generally requires two files to operate: 1. EDI input message Sample message that you receive from your business partner or a message that your business partner expects. 2. Conversion rule An XML file containing the conversion rules. The rules can typically be used for both conversion directions. The rule file will either be saved with the adapter, or on the inubit Process Engine (when using message auto detect). During the conversion, the message syntax is automatically checked. The following image illustrates the connection between an EDI input message and the conversion rule: p Input EDI message To ensure that the recipient can process EDI messages, the characters in the message must match a known structure in terms of their order (syntax) and meaning (semantics). These structures are defined in the various EDI standards. In principle, an EDI message consists of metadata and usable content (payload). Metadata contains processing information, especially about routing to the recipient. In the image, it is the UNH EDI element that corresponds to the MessageHeader XML element. The payload is the data captured by the receiving system. In the message shown, the payload begins with the BGM EDI element (which corresponds to the BeginningOfMessage XML element) inubit 6.1: Workbench/Process Engine: Modules Guide

159 EDI Adapter (Format Adapter) Functional Principle of the EDI > XML Conversion 159 Payload and metadata consist of elements made up of continuous segments: For each element, properties such as length, position in the segment, type (numeric/alphanumeric), conditional or mandatory occurrence, and delimiters are defined. Each segment's definition specifies in which order the segment may or must appear. Conversion rule Based on the standard, this rule defines how EDI elements or EDI segments are mapped on XML elements. The image shows the same conversion rule in the EDI-XML adapter in two different views: Attribute ID view Displays all of the rule file's attributes with the name ID. This ID matches the EDI element's or segment's identifier. The message will only be processed if the identifiers in the message match the IDs in the rule file. Following the ID, the letter C or M shows whether the element is conditional or mandatory. The numbers in square brackets define how often the element may appear in the message structure. The image shows that the CNT element appears three times in the EDI message. The element complies with the rule, because the rule states that the element may appear zero or up to nine times: CNT C[0 9]. XML tag view Instead of EDI IDs, this view shows XML tags to which the IDs are mapped; after the conversion, for instance, the CNT element receives the ControlTotal identifier. Self-documenting XML element names in rules improve the readability of XML messages and make it easier to process them, for example, in subsequent XSLT conversions. To emit element names, in the module s properties set the option output format of XML tags to xmltag. Note that long XML element names result in large XML structures which affect the performance. If performance is important, set short XML element names (max. 3 characters) or in the module s properties set the option Output format of XML tags to id. Refer to XML elements names (Workbench/Process Engine: Modules Guide, chap. 7, p. 173). inubit 6.1: Workbench/Process Engine: Modules Guide

160 160 EDI Adapter (Format Adapter) Creating an EDI Adapter and Configuring a Rule 7.2 Creating an EDI Adapter and Configuring a Rule Prerequisites You will need the following information: The standard and the version of the standard with which the messages comply, such as EDIFACT, IFCSUM, 1996 version, Release A. If the messages merely resemble a standard, or if they do not adhere to a particular standard, you will need detailed information about the message structure (segments, elements). List of separators used Proceed as follows 1. Create an EDI adapter: - If the message is compliant with EDIFACT, ANSI X12, or HL7 format or with a subset of these, e. g. EDIGAS, activate automatic rule detection in EDI-XML Adapter Properties Dialog (Workbench/Process Engine: Modules Guide, chap , p. 173). You will not need to create a rule for the module. This option is available for all EDIFACT, ANSI X12, and HL7 messages if the appropriate rule exists on the server. After closing the wizard, you can immediately begin using the EDI adapter. - If the message format is different, or if the message does not comply with any standard format, follow the adapter s wizard to create the module. Alternatively, you can download rules from the Process Engine: Open the menu and select Download from Process Engine. Use this command to deploy a rule as template which was already published to the inubit Process Engine. Several standards are already included in delivery. EDIFACT rules included in the delivery do not contain qualifier lists. You can define the qualifiers by yourself or you can create a new rule based on the library. 2. For creating a new rule open the EDI-XML Adapter tab, open the menu and select New > Rule. The rule wizard opens. 3. Select one of the following options depending on your message type: - Create user-defined rule: If no suitable or similar rule can be found. A rule file containing only the Message root element is created. In addition, you can select a standard as a template to inubit 6.1: Workbench/Process Engine: Modules Guide

161 EDI Adapter (Format Adapter) Creating XML Input Messages for XML-EDI Adapters 161 automatically populate structure data in the Structure field. If this value is not suitable, select Custom as a standard value, and manually define the structure. Refer to Creating a New Rule (Workbench/Process Engine: Modules Guide, chap. 7.4, p. 162). - Create rule from the library: For the standards EDIFACT, ANSI X12 and HL7 you can apply existing complete rules as templates and customize them to your particular format. - Create rule from XML Schema: For SAP IDoc you can load the appropriate schema as a template. 4. The rule wizard guides you through the process of creating the rule. For rules created from the library you select the version. For rules created from an XML no further information is required. After finishing the wizard you can edit the complete structure of the new rule manually in the rule editor. Refer to Using Rule Editors (Workbench/Process Engine: Modules Guide, chap. 7.7, p. 165). You can publish your own rules to the server to make them available to others. Refer to Publishing Rules to the inubit Process Engine for Re-use (Workbench/Process Engine: Modules Guide, chap. 7.5, p. 164). 7.3 Creating XML Input Messages for XML-EDI Adapters The XML-EDI Adapter expects input messages with a specific format depending on the EDI target format. This section describes how to create the expected input message. Prerequisites The XML-EDI Adapter is already created and configured as follows: - The auto detection is not activated. - The rule file is defined and stored in the XML-EDI Adapter. The XML-EDI is already published. You dispose of an XML sample input message. Proceed as follows 1. Create an XSLT Converter. inubit 6.1: Workbench/Process Engine: Modules Guide

162 162 EDI Adapter (Format Adapter) Creating a New Rule 2. From the XML target file area, open the menu and select Open > Rule File Explorer. The dialog Rule File Explorer is displayed. 3. Select your XML-EDI Adapter from the list. 4. Optionally: Select any of the displayed options in order to obtain further information about the rule structure. This information is displayed as comments in the XML template. Refer to Rule File Explorer (Workbench/Process Engine: Modules Guide, chap , p. 179). 5. Click Finish to close the dialog. Based on the rule file, which is stored in the adapter, the structure of the XML input message at the selected XML-EDI Adapter is created and displayed. 6. Drag the root element of the structure upwards and drop it on the xsl:template element in order to take over the structure into the mapping. 7. Load your XML sample message into the XML source file area. 8. Fill up the structure by dragging and dropping elements from your XML sample message on the structure elements. 7.4 Creating a New Rule If there are no rules you can modify for your purposes, generate an empty rule and manually add elements to the new rule. You will need the default specifications for this process. Proceed as follows 1. Open a rule editor. 2. Click, and select New > Rule. The New Rule Wizard: Select creation method (Workbench/Process Engine: Modules Guide, chap , p. 177) dialog opens. 3. Select Create customized rule > New rule. 4. Click Next. The New Rule Wizard: New rule (Workbench/ Process Engine: Modules Guide, chap , p. 177) dialog is displayed. Complete the fields. 5. Click Finish inubit 6.1: Workbench/Process Engine: Modules Guide

163 EDI Adapter (Format Adapter) Creating a New Rule 163 The rule editor shows an empty rule in the target window. This rule contains only the Message root element. 6. If the structure or the new rule is similar to that of an existing rule, load the existing rule as a support rule: Click and select Support rule tree. The Support rule area is displayed (highlighted in red). 7. In the Support rule area, click, and select Open to load a rule from the file system, or repository or select Download from server. The template rule is displayed and highlighted in red. 8. Drag the entire rule or selected segments or elements into the target window to build the new rule step by step: 9. Use the context menu in the target window to add, delete, or move segments, segment groups, or elements. 10. For each component, fill in the fields in the properties window on the right. Depending on the rule editor used, you can publish the EDI adapter after editing the rule, or you can publish the rule to the server. Refer to Using Rule Editors (Workbench/Process Engine: Modules Guide, chap. 7.7, p. 165). If you have opened a support rule and load a new rule with a different structure, an error message is displayed. You can cancel the action, otherwise the support rule is removed. Opening a support rule with another structure than that of the rule is also prevented. inubit 6.1: Workbench/Process Engine: Modules Guide

164 164 EDI Adapter (Format Adapter) Publishing Rules to the inubit Process Engine for Re-use 7.5 Publishing Rules to the inubit Process Engine for Re-use Once created, rules can be re-used in different EDI adapters. To do this, the rules must be published to the inubit Process Engine. You can then access these rules from any EDI adapter and load a rule as a template. Prerequisites The rule already exists at an EDI adapter. Proceed as follows 1. Display the EDI Adapter in local mode. 2. Open the menu, and select Save as to temporarily save the rule in the file system. 3. Select Tools > EDI rule editor to open the EDI rule editor. 4. Open the menu and select Open > File to load the rule from the file system. The rule is displayed. 5. Open the menu and select Publish rule file to Process Engine. The rule is displayed. This automatically generates a file name for the rule. The file name will be generated from the information entered in the message s root element (Message element). If a file with the same name already exists on the inubit Process Engine it will be overwritten. Do not change the generated file name! If the file name does not comply with the naming convention, the rule can no longer be used for auto detect. The name must have the following format: <message type>-<message name>-<version>-<release>.xml If you do not know the release or version, enter a hyphen, e.g. EDIFACT-ORDERS---96A.xml. The file name must be entered in all caps. 7.6 Creating an SAP IDoc XML Rule Prerequisites You will need an SAP IDoc schema file which must be saved on a computer that can be accessed via your network inubit 6.1: Workbench/Process Engine: Modules Guide

165 EDI Adapter (Format Adapter) Using Rule Editors 165 The SAP Interface Repository, which used to be available for loading schemas, was discontinued by SAP in To date, no replacement has been made available. Proceed as follows 1. Open a rule editor. 2. Click, and select New > Rule. The New Rule Wizard: Select creation method (Workbench/Process Engine: Modules Guide, chap , p. 177) dialog opens. 3. Select SAP IDoc. 4. Enter the path and name of the SAP IDoc schema file, or click Browse file to navigate to the schema file. 5. Click Finish. The rule is created based on the schema and displayed. Depending on the rule editor used, you can publish the EDI adapter after editing the rule, or you can publish the rule to the server. Refer to Using Rule Editors (Workbench/Process Engine: Modules Guide, chap. 7.7, p. 165). 7.7 Using Rule Editors You can use the rule editors to display and edit rules for EDI message conversion and to create new rules. The inubit Workbench includes the following rule editors: 1. EDI rule editor You can use this editor to edit rule files on the inubit Process Engine, to create new rules and publish them to the server. Refer to Publishing Rules to the inubit Process Engine for Reuse (Workbench/Process Engine: Modules Guide, chap. 7.5, p. 164). The rules are used for message auto detect, and are available as templates to all inubit Workbench users with access to EDI Adapters. 2. XML-EDI Adapter or EDI-XML Adapter tab in a local adapter You can use this editor to create and edit a rule to be saved with the adapter. This rule cannot be used for auto detect and no be re-used by other adapters. inubit 6.1: Workbench/Process Engine: Modules Guide

166 166 EDI Adapter (Format Adapter) Using Rule Editors If the Auto detection for EDIFACT, X12 and HL7 option in the EDI-XML Adapter Properties Dialog (Workbench/Process Engine: Modules Guide, chap. 7, p. 173) is selected, an empty tab with a corresponding note is displayed. Edit To expand and edit the rule, select an element and open the context menu. Menu bar The Editor menu bar includes the following commands: : Opens a sub-menu with the following commands: - New Opens the New Rule Wizard: Select creation method (Workbench/Process Engine: Modules Guide, chap , p. 177) dialog. Refer to Creating an EDI Adapter and Configuring a Rule (Workbench/Process Engine: Modules Guide, chap. 7.2, p. 160). - Open For loading a rule from the file system, the Repository or out of the clipboard. - Save For storing the rule in XML format into the file system, the Repository or the clipboard. - Print Opens a print dialog enabling you to send the currently displayed rule to your default printer. - Download from Process Engine For selecting a supplied rule. Refer to Publishing Rules to the inubit Process Engine for Re-use (Workbench/Process Engine: Modules Guide, chap. 7.5, p. 164). - Publish rule file to Process Engine (only, if you open the EDI rule editor via the Tools menu) Loads the current rule to the inubit Process Engine as an XML file. This makes the rule available for auto detecting messages. Refer to Publishing Rules to the inubit Process Engine for Re-use (Workbench/Process Engine: Modules Guide, chap. 7.5, p. 164). - Validate rule structure (only in the rule editor of a local adapter) Starts validating the rule against an internal XML Schema file. - Generate mapping template inubit 6.1: Workbench/Process Engine: Modules Guide

167 EDI Adapter (Format Adapter) Using Rule Editors 167 Generates an sample message containing all structural information in the currently displayed rule. You can, for example, load this mapping template into an XSLT Converter and use it for generating an input message. Rule File Explorer (Workbench/Process Engine: Modules Guide, chap , p. 179) Refer to Creating XML Input Messages for XML-EDI Adapters (Workbench/Process Engine: Modules Guide, chap. 7.3, p. 161). - Generate XML Schema Creates an XML out of the rule. You can use the XML Schema for validating incoming messages, for example. For the validation you can use an XML Validator or activate the Schema check at the EDI Adapter. Refer to - Rule File Explorer (Workbench/Process Engine: Modules Guide, chap , p. 179) - XML Validator (Utility) (Workbench/Process Engine: Modules Guide, chap. 26, p. 257) - Schema check of module messages (Workbench: User Guide, chap. 2, p. 107) - Rule view - Attribute id: ID, complies to the entry in the ID field in the properties area. - Attribute xmltag: XML element name, complies to the entry in the XML tag field in the properties area. - Element type: Default name of the rule node, e. g. segment. - Description: Displays next to each element its description in the tree, complies to the Description field in the properties area. - Conditional option: Shows in the tree whether an element is optional (C for conditional ) or mandatory (M). - Repetition: Shows for each element its frequency of occurrence in the tree, e. g. [0 n]. - Length (or position of element): Shows the type and length or position of elements in the tree, e. g. {an 1-7}. Rule File Explorer (Workbench/Process Engine: Modules Guide, chap , p. 179) - Support rule tree Displays an additional area, into which you can load another rule as template for a new rule. - Clear view (only available in support rule tree view) Removes the support rule and all its information. : Opens an entry field for a string search within the rule tree. inubit 6.1: Workbench/Process Engine: Modules Guide

168 168 EDI Adapter (Format Adapter) Creating a New mapping set Edit menu Validating the rule file for publishing If activated, each rule is verified against an internal XML schema describing the rule structure before publishing. The module will not be published unless all rule files correspond to this structure. 7.8 Creating a New mapping set If you want to use your individual EDI rules for auto detection, you can create mapping sets. For each rule a mapping line is stored in the mapping set and specific field information is defined to detect them. Auto detection as well as advanced auto detection have to be activated. Rule format is set to HL7. Proceed as follows 1. Display the dialog auto detection of the EDI-XML adapter. 2. Click. The mapping details are displayed. 3. Enter a mapping name. 4. Click. The dialog select rule file opens. Select an EDI rule file. 5. Click OK. The rule tree displays the header elements of the selected EDI rule file. 6. Select a single element or multiple elements and click. The selection is stored in the mapping table. 7. In the mapping table double-click the field value and enter a value inubit 6.1: Workbench/Process Engine: Modules Guide

169 EDI Adapter (Format Adapter) Dialog Descriptions 169 When creating multiple mapping sets they are combined in disjunction. Mapping sets are processed from top to bottom. You can change the order of the mapping sets. If none of the created mapping set conditions match, the standard rule name creation is used. Mapping details are used to verify single elements from the rule tree against values.the verification is done in conjunction and from top to bottom. 7.9 Dialog Descriptions This section details the following topics: Dialog Qualifier Definition, p. 170 Dialog "Auto Detection", p. 171 inubit 6.1: Workbench/Process Engine: Modules Guide

170 170 EDI Adapter (Format Adapter) Dialog Descriptions EDI-XML Adapter Properties Dialog, p. 173 Syntax and Validation Dialog, p. 174 Delimiters Dialog, p. 176 XML-EDI Adapter Properties Dialog, p. 177 New Rule Wizard: Select creation method, p. 177 New Rule Wizard: New rule, p Dialog Qualifier Definition Call up Tools > Edi rule editor menu, open a rule in the EDI rule editor, select an element > in the Element > Type area, select the Qualifier option > click the arrow button. In the dialog for qualifier definition you can assign a qualifier to the currently displayed element and create new qualifiers. Elements of the qualifier data type can only have values contained in a pre-defined, named list. The element values can be checked when reading the messages. Refer to - Assigning a qualifier to an element (Workbench/Process Engine: Modules Guide, chap. 7, p. 171) - Adding and editing qualifiers (Workbench/Process Engine: Modules Guide, chap. 7, p. 171) - Checking qualifier lists (Workbench/Process Engine: Modules Guide, chap. 7, p. 171) This dialog consists of the following areas: Left: List containing all existing qualifiers Right: Detailed information about the qualifier selected in the list. - Qualifier name: Unique name for the qualifier. - Description: Explanation of the qualifier. - Column R (restricted): You can restrict the number of values. This can be helpful in creating EDIFACT subsets. The following rules apply: - If no value is selected, all values can be used. - Once a value is selected, only the selected values can be used. Dynamic values cannot be used. Values must be unique: All values in a list must be unique compared inubit 6.1: Workbench/Process Engine: Modules Guide

171 EDI Adapter (Format Adapter) Dialog Descriptions 171 to all other values in the list. This applies in particular if the element using a qualifier as type represents the identifier for a segment or a segment group. Therefore, you are not allowed to use e.g. the following values: B BB BBB This is because B is contained in BB as well as in BBB and BB is contained in BBB. If the EDI parser finds an element starting with BBB, interpretation is ambiguous: is it B B B or B BB or BBB or BB B etc. Functions in the dialog Assigning a qualifier to an element In order to assign a qualifier to the currently selected element, select the qualifier in the list, and click OK. Adding and editing qualifiers Use the toolbar above the table. Checking qualifier lists To let elements with the data type Qualifier check on reading messages, activate the option Validate field values against qualifier list in the module s properties. If message values do not match the given qualifier lists an error is thrown. Refer to Validate field values against qualifier list (Workbench/ Process Engine: Modules Guide, chap. 7, p. 175) Dialog "Auto Detection" Rule file auto detection Auto detection for EDIFACT, ANSI X12 and HL7 Activate the check box to auto detect incoming EDI message formats. The format detected will determine the conversion rule. If there is no matching rule file, the system will generate an error message. For a list of all EDIGAS messages the EDI Adapter uses for auto detection refer to /Global/System/EDI Specification/ Rule Metadata. inubit 6.1: Workbench/Process Engine: Modules Guide

172 172 EDI Adapter (Format Adapter) Dialog Descriptions To let new EDIGAS messages detect automatically, you must add them to the file EDIGAS-MESSAGES.xml. To do so, extend, the XML structure by a new element message with the attribute name and the appropriate value of the new EDIGAS message type. The EDI Adapter will then detect this message type automatically. After workflow execution the EDI Adapter writes a new variable into the workflow: edi.autodetect.rule.name. This variable contains the name (no path information) of the rule file, that has been used for parsing the message. This information can be used for workflow automation. - Load rule from: Select where to obtain the rule file from: server or repository. A path has to be set for loading the rule file from repository. Optional you can select if all sub directories are included in the search. If the rule file is obtained from the server make sure the rule file has been published! Extended auto detection Extended auto detection This option allows to evaluate more header information to detect the appropriate rule file (required for EDIFACT/EDIGAS, HL7). - Rule format Rule format valid for the extended auto detection. EDIFACTsubversions on basis of the same year and the same version are detected. If the rule format is set to "HL7" you can modify the auto detection by assigning values to elements from the rule tree and link this assignment with a dedicated rule file. - Mapping sets Here you can create mapping sets that store the mapping of values to rule tree elements. When creating multiple mapping sets they are combined in disjunction. Mapping sets are processed from top to bottom. You can change the order of the mapping sets. If none of the created mapping set conditions match, the standard rule name creation is used. Mapping details Mapping details are used to verify single elements from the rule tree against values.the verification is done in conjunction and from top to bottom inubit 6.1: Workbench/Process Engine: Modules Guide

173 EDI Adapter (Format Adapter) Dialog Descriptions EDI-XML Adapter Properties Dialog XML elements names Use attribute id When selected, the output message contains XML elements with abbreviated identifiers (X_<ID> or D_<ID>). Use attribute xmltag When selected, the message is output with meaningful element names based on the value for XML tag in the conversion rule. Though meaningful element names improve the message s readability, they also increase the file size and thus have an impact on the performance. EDI message formatting End of line character/line length If the EDI file should be prepared for display in an operating system that requires specific end of line characters or a maximum line length, you must define these specifications. Example: EDIFACT messages normally do not have line breaks while the OS/400 operating system only allows line length to a maximum of 80 characters. Here, you should define \n as end of line character and 80 as line length. The end of line character must not be identical with any of the delimiters of used in the message! Character encoding Character encoding for incoming messages. This setting ensures that the incoming message is correctly converted to XML and that German umlauts, for instance, are correctly displayed. By default, the ISO character set is used. It contains all characters of the common Western European languages, including their special characters. You can also select any other character set. XML message formatting No indentation/newlines after an element, all whitespaces are trimmed This option is self-explanatory. Remove leading zeros which were added to fill numeric fields This option is self-explanatory. Append EDIFACT messages group to XML message The output message additionally contains the body of the EDI input message. Output decimal fields with uniform separator inubit 6.1: Workbench/Process Engine: Modules Guide

174 174 EDI Adapter (Format Adapter) Dialog Descriptions If checked, the separator is set uniformly for all decimal fields. Select from the list to define the unique decimal separator: -. (point on the line): in all decimal fields, a point is used to set digits after the decimal point. -, (comma): in all decimal fields, a comma is used as decimal mark to separate numeric data. - UNA defined: the separator for all decimal fields is determined on basis of the UNA segment. If UNA defined is selected, but no UNA segment is present, the point is used as separator by default Syntax and Validation Dialog To let an EDI message check completely against a rule file, activate the options XML validation, Ignore syntax errors occurring in input message and Validate field values against qualifier list. Analysis Cache rule file When selected, the rule file will remain cached during the entire workflow execution. This setting is useful when a number of consecutive messages need to be converted, because the conversion can be completed more quickly if the rule file does not need to be reloaded for each message. Caching is useful for messages larger than 300 KB. When dimensioning your memory, you should remember that caching uses additional memory. Ignore syntax errors occurring in input messages When selected, the conversion will not be cancelled in case of an error. Instead, sections containing erroneous formatting will be skipped. Note that if sections in the input message have been skipped due to erroneous formatting, those sections will be missing in the outbound message. To identify erroneous sections, activate the Server Trace. This will create a log of error messages generated while using the EDI format adapter. The log will be displayed on the Monitoring > Trace Log tab. Refer to Activating and Configuring Server Traces (inubit Process Engine: Administrator and Developer Guide, chap , p. 22). - Add error info to output message inubit 6.1: Workbench/Process Engine: Modules Guide

175 EDI Adapter (Format Adapter) Dialog Descriptions 175 Enable this option to identify the skipped, and thus missing, segments. Do not activate this option at the same time as you run the XML validation. Otherwise, the additional error information produces further errors when handed over in the XML output message to the XML validation. - Generate EDIFACT CONTRL message Automatically generates CONTRL messages. Depending on the processing result an Error or Acknowledge CONTRL message is created and stored into one of the following variables: - Error: edifact.contrl.reject - Acknowledged: edifact.contrl.acknowledged Validation Validate field values against qualifier list If activated, element values of type Qualifier are checked when reading the input messages. Refer to Dialog Qualifier Definition (Workbench/Process Engine: Modules Guide, chap , p. 170). XML validation If active, the XML messages are validated against an XML Schema which is generated after each rule modification based on the conversion rule. In this process, the element type and the qualifier list are checked, in contrast what happens during the normally carried out automatic syntax check. Activate the option Ignore syntax errors if you use the XML validation. Then, all checks are executed against the XML Schema and in case of an error only one error type is output. If the option Ignore syntax error is deactivated, an erroneous with an element exceeding the limit generates another error type than an erroneous message with a faulty qualifier. - In case of defective Schema validation, use error branch When selected, this option will cancel the workflow execution if the schema validation fails. The message will be directed to error output. - Schema style Only activate this option, if you have problems when validating your messages against an XML Schema created on basis of the rule. - Russian Doll Design (elements are defined inline) inubit 6.1: Workbench/Process Engine: Modules Guide

176 176 EDI Adapter (Format Adapter) Dialog Descriptions Default design for non-edifact rule files. The Schema structure reflects the structure of the instance: all element declarations are nested, there are no references to identical elements. - Venetian Blind Design (elements are referenced) Default design for EDIFACT rule files. The element types are declared globally. Elements reference these declarations Delimiters Dialog Delimiter detection Auto detection for EDIFACT, ANSI X12 and HL7 For EDIFACT, ANSI X12, and HL7, you can activate delimiter auto detect. For all other standards, delimiters must be indicated manually. Even auto detect cannot always recognize all delimiters. You should therefore verify the result or set the values manually. You will need the specifications of the standard on which your EDI message will be based. Standard Select a standard to prepopulate the delimiter fields. Only standards for which you own a license will be displayed. Delimiters If you selected a standard, the fields are correctly prepopulated. You can overwrite the defaults by selecting other delimiters from the lists or by entering them manually. EDIFACT (only for XML/EDI Adapters) Create EDIFACT UNA segment Adds a string as first segment into the EDI message describing the delimiters in use, e. g. UNA:+.? '. This option is only useful when using EDIFACT rule files inubit 6.1: Workbench/Process Engine: Modules Guide

177 EDI Adapter (Format Adapter) Dialog Descriptions XML-EDI Adapter Properties Dialog Besides the following options, this dialog is identical to EDI-XML Adapter Properties Dialog (Workbench/Process Engine: Modules Guide, chap , p. 173). XML message formatting Insert optional elements of the rule file into EDI message - If this option is enabled and the rule file contains optional elements that cannot be matched with values in the incoming XML message, empty EDI structures are generated for these optional elements in the outbound EDI message. - If this option is disabled, those elements are ignored. Ignore empty XML elements and structures When enabled, elements without value in the XML message are not converted to EDI. This option is not applied to messages with fixed elements, refer to Hierarchical structure with fixed elements (Workbench/Process Engine: Modules Guide, chap. b., p. 178). Empty elements could have been generated in a previous conversion from EDI to XML, when empty XML structures were created for optional parts of the XML file to enable a successful structural validation New Rule Wizard: Select creation method Refer to Creating an EDI Adapter and Configuring a Rule (Workbench/Process Engine: Modules Guide, chap. 7.2, p. 160). A license is required to use EDI rules. Only EDI standards for which you own a license will be displayed New Rule Wizard: New rule Message standard Default inubit 6.1: Workbench/Process Engine: Modules Guide

178 178 EDI Adapter (Format Adapter) Dialog Descriptions Pre-selection for the rule being created. If the desired default is not available, select Custom to create an entirely new rule. When selecting the S.W.I.F.T standard, currently only MT940 messages are supported. MT940 is used for the paperless transmission of account information. Currently, it is only possible to convert MT940 messages to XML, not vice versa. A license is required to use EDI rules. Only EDI standards for which you own a license will be displayed. Custom name Enabled when the Custom standard has been selected. The name of the standard being generated. Structure Enabled when the Custom standard has been indicated. Select a rule structure. Based on the pre-selected structure, the rule editor will display the appropriate controls that will make it easy for you to build your rule. a. Hierarchical with element delimiters, such as EDIFACT - Hierarchical structure: A message can contain several other messages. A message can consist of groups > segments > elements - Elements vary in length and are separated by delimiters b. Hierarchical structure with fixed elements such as VDA Like a., but with fixed lengths. Non-occupied places are filled with fill characters. c. Mixed segments with element delimiters such as DATANORM Like a., but without a hierarchical structure Properties Enter a name for the rule you are creating. All other entries are optional and can be modified at a later point. Refer to Creating a New Rule (Workbench/Process Engine: Modules Guide, chap. 7.4, p. 162) inubit 6.1: Workbench/Process Engine: Modules Guide

179 EDI Adapter (Format Adapter) Dialog Descriptions Rule File Explorer Use Generate an incoming message for an XML-EDI adapter Call up XSLT Converter: Module Editor > XML target file area > icon > Open > Rule File Explorer Choose module Displays a list with all available XML-EDI adapters to select the module for which the incoming message should be generated. - Use attribute id When selected, the output message contains XML elements with abbreviated identifiers (X_<ID> or D_<ID>). - Use attribute xmltag When selected, the rule template is output with meaningful element names based on the value for XML tag in the conversion rule. Though meaningful element names improve the message s readability, they also increase the file size and thus have an impact on the performance. - Create segment/element condition When selected, a comment with the segment/element condition (mandatory[m]/optional[c], e.g. req='m') is added to the rule template below segment groups, segments, complex elements, and elements. - Create segment/element type When selected, a comment with the type (alpha-numeric [AN]/numeric[N]/qualifier[QL]/decimal places[d]/base64 coded[b], e.g. type='an') is added to the rule template below segment groups, segments, complex elements, and elements. - Create description When selected, a comment with the description, e.g. name='beginning of message', is added to the rule template below segment groups, segments, complex elements, and elements. - Create segment repetition When selected, a comment with the repetition, e.g. loop='1' ('n' stands for unlimited), is added to the rule template below segment groups, segments, complex elements, and elements. - Create element minimum length (available only for rules with variable length formats, e.g. EDIFACT) When selected, a comment with the minimum length, e.g. min='1', is added to the rule template below elements. inubit 6.1: Workbench/Process Engine: Modules Guide

180 180 EDI Adapter (Format Adapter) Dialog Descriptions - Create element maximum length (available only for rules with variable length formats, e.g. EDIFACT) When selected, a comment with the minimum length, e.g. max='14', is added to the rule template below elements. - Create element start position (available only for rules with fix length formats, e. g. VDA) When selected, a comment with the start position is added to the rule template below elements. - Create element end position (available only for rules with fix length formats, e. g. VDA) When selected, a comment with the end position is added to the rule template below elements. - Create Interchange Header (UNB) and Trailer (UNZ) (available only for EDIFACT rules) When selected, header and trailer segments are added to the rule template and commented in the previous settings. - Create Interchange Header (ISA) and Trailer (IEA) (available only for ANSI.X12 rules) When selected, header and trailer segments are added to the rule template and commented in the previous settings. - Create Datanorm Header (V) (available only for DATANORM rules) When selected, a comment containing header information is added to the rule template inubit 6.1: Workbench/Process Engine: Modules Guide

181 8 Flat Adapter (Format Adapter) 181 This section details the following topics: Functional Principle, p. 181 Rule Editor (User Interface), p. 184 Creating a New Rule, p. 186 Dialog Descriptions, p. 186 Use Flat files contain records without explicit information about the record structure. A Flat Adapter is used to convert flat files to XML files, and to convert XML files to flat files. The conversion uses on XML-based rules. For each message type, a specific rule must be created, which can then be used for conversions in both directions. The rule specifies how flat file elements are mapped to flat XML elements. Refer to EDI Adapter (Format Adapter) (Workbench/Process Engine: Modules Guide, chap. 7, p. 157). Note that if you try to convert incoming flat-file messages containing the character 0x00 to XML, the output messages created will have an invalid entity reference. Before converting, use a Data Stream Modifier to replace the 0x00 character with a different character that does not appear in your input messages. 8.1 Functional Principle A flat file has a non-hierarchic structure consisting of several segments, each containing one or more elements. Implicit segment and element properties, such as the frequency of an element within a segment, are either notated explicitly as an attribute value of the respective XML elements in XML, such as loop=3, or they are configured as an adapter property when the adapter is created, such as a delimiter signaling the end of a segment. The following table shows how segments and elements are mapped to XML elements. Hierarchy level Structure within the flat file Structure within the flat XML 1 no root element root element <Flatfile> Name cannot be changed! inubit 6.1: Workbench/Process Engine: Modules Guide

182 182 Flat Adapter (Format Adapter) Functional Principle Hierarchy level Structure within the flat file Structure within the flat XML 2 segments XML element <Segment> properties no segment name one or more segments frequency of occurrence specified mandatory or optional segment each segment can contain one or more elements elements are separated by delimiters, or successive without interruption attributes ID and xmltag, any value loop=n [number] required=c(onditional) M(andatory) can be specified using an XML schema for the template specified during adapter configuration 3 elements XML element <Element> properties no element name specified length specified position Example: The statement {n 15-23} means that this is about a numeric value beginning at position 15 and ending at position 23. unavailable characters specified data type mandatory or optional element properties analogous to segment ID and name, any value length specified via start and end positions e.g. posstart=1, posend=14 type=(an N) required=c(onditional) M(andatory) Example The following image shows a flat file (in the background) and the flat XML message created from the flat file (foreground): inubit 6.1: Workbench/Process Engine: Modules Guide

183 Flat Adapter (Format Adapter) Functional Principle 183 The flat file (in the background) consists of several segments separated by a line break (not visible). In the flat XML message, a <Flatfile> root element was added. One XML element was created for each flat file element, and each XML element was named in accordance with the convention D_n+1 (D_01, D_02 ). Leading zeros were removed from the element values: the second element 01 in the flat file becomes element D_02 with the value of 1 in the flat XML file. The following image shows a section from a rule used to convert the files shown above: This section shows that the <Flatfile> root element was a mandatory addition the first segment must exist ( M in the tree structure) it can occur any number of times ([1 n] in the tree structure) it consists of a series of elements, including element 01, which is also mandatory (M), has an alphanumeric data type, begins at position 1 and ends at position 3 ({an 1-3} in the tree structure). inubit 6.1: Workbench/Process Engine: Modules Guide

184 184 Flat Adapter (Format Adapter) Rule Editor (User Interface) 8.2 Rule Editor (User Interface) The Flat Rule Editor helps you create rules. Also refer to the documentation of the EDI Adapter (Format Adapter) (Workbench/Process Engine: Modules Guide, chap. 7, p. 157). The editor consists of the following areas: 1. Support rule area Initially not visible. To display this area, select > Support rule tree. In this area, you can load an additional rule and use it as a template for your new rule. You can create a new rule by dragging and dropping elements and segments from the support rule to the rule area. 2. Rule area Use this area to establish a new rule. You can use the tree s context menu to add, move and delete segments and elements. To change the presentation of the tree, select > Rule view. 3. Properties area Shows the properties of the element/segment selected in the rule. Menu bar The Editor menu bar includes the following commands: : Opens a text field for a string search within the rule tree. Opens a menu with the following commands: - New: Creates a new rule file with the root element <Flatfile>. - Open: Displays a rule saved in the file system. - Save: Saves the rule currently displayed. - Print Opens a print dialog enabling you to send the currently displayed rule to your default printer. - Validate rule structure Starts validating the rule against an internal XML Schema file. - Generate mapping template Opens the wizard that creates a flat-xml template containing all of the structural information of the currently displayed rule. The template can be loaded as a target file in the XSLT Converter. Alternatively, the rule file explorer in the XSLT converter can be used to create, save, and load the rule inubit 6.1: Workbench/Process Engine: Modules Guide

185 Flat Adapter (Format Adapter) Rule Editor (User Interface) Generate XML Schema Creates an XML out of the rule. You can use the XML Schema for validating incoming messages, for example. For the validation you can use an XML Validator or activate the Schema check at the EDI Adapter. Refer to XML Validator (Utility) (Workbench/Process Engine: Modules Guide, chap. 26, p. 257) and Schema check of module messages (Workbench: User Guide, chap. 2, p. 107) - Generate Excel report Opens a wizard in which you can specify in detail which data should be exported from the rule to the Excel report. In addition to selecting xls as export format, you can select an option to specify csv as export format for rule files. Rule view - id attribute: ID, corresponds to the ID field entry in the properties area. - xmltag attribute: XML element name, corresponds to the XML tag field entry in the properties area. - Element type: The standard name of the rule node, e.g. segment. - Description Shows a description of each element next to the element in the tree. This entry corresponds to the value in the Description field in the properties area. - Conditional option Indicates in the tree whether an element is conditional (C) or mandatory (M). - Repetition Shows the number of occurrences of elements in the tree, e.g. [0 n]. - Length (or element position) Shows the type and length or the position of elements in the tree, e.g. {an 1-7}. Support rule tree Displays an additional area that can be used to load an additional rule as a template for the new rule. Edit menu Validating the rule file for publishing If activated, each rule is verified against an internal XML schema describing the rule structure before publishing. The module will not be published unless all rule files correspond to this structure. If in the Syntax and Validation Dialog (Workbench/Process Engine: Modules inubit 6.1: Workbench/Process Engine: Modules Guide

186 186 Flat Adapter (Format Adapter) Creating a New Rule Guide, chap , p. 174) the XML-Validierung option is selected, then all rule files must comply to this structure. Otherwise the module cannot be published. 8.3 Creating a New Rule To create a conversion rule, you will need detailed information about the structure of the messages you want to process with the adapter. Proceed as follows 1. Load the support rule (if necessary) Support rules are normal rules you created previously or rules that are available to you. The inubit software does not include rules. a. In the rule area click and select Support rule view. The support rule area is displayed on the left side of the rule area. b. In the empty area, click, and select Open. A file explorer is displayed. c. Navigate to the rule you would like to display as a support rule, and select the rule. The rule is displayed. 2. Generating a new rule In the rule area, click, and select Open > New. A new rule with root element Flatfile is displayed. 3. Editing a new rule The following options are available: - Add segments and elements using the context menu in the rule area - Drag and drop segments and elements from the support rule The rule is automatically saved with the adapter. 8.4 Dialog Descriptions This section details the following topics: inubit 6.1: Workbench/Process Engine: Modules Guide

187 Flat Adapter (Format Adapter) Dialog Descriptions 187 Dialog Flat File-XML Adapter Properties, p. 187 Dialog XML-Flat File Adapter Properties, p Dialog Flat File-XML Adapter Properties XML element names Use attribute id When selected, the output message contains XML elements with abbreviated identifiers (X_<ID> or D_<ID>). Use attribute xmltag When selected, the message is output with meaningful element names based on the value for XML tag in the conversion rule. Though meaningful element names improve the message s readability, they also increase the file size and thus have an impact on the performance. Flat message formatting Segment delimiter Select a value from the list in order to define how segments are separated from each other in the input messages. Decimal separator (input) Define which character (dot or comma) separates decimals with decimal places. Decimal separator (output) The decimal separator can be replaced during the conversion. Define which character is be used (dot or comma). Character encoding Character encoding for incoming messages. This setting ensures that the incoming message is correctly converted to XML and that German umlauts, for instance, are correctly displayed. By default, the ISO character set is used. It contains all characters of the common Western European languages, including their special characters. You can also select any other character set. XML message formatting Remove leading zeros which were added to fill numeric fields This option is self-explanatory. Skip empty elements inubit 6.1: Workbench/Process Engine: Modules Guide

188 188 Flat Adapter (Format Adapter) Dialog Descriptions When this option is selected, XML elements will not be created for flat file elements containing only blank spaces. This reduces the size of the output messages, and XSLT stylesheets for any subsequent processing are easier to maintain. No indentation/newlines after an element, all whitespaces are trimmed Removes all leading and trailing blank spaces in the outbound messages elements. Analysis Cache rule file When selected, the rule file will remain cached during the entire workflow execution. This setting is useful when a number of consecutive messages need to be converted, because the conversion can be completed more quickly if the rule file does not need to be reloaded for each message. Caching is useful for messages larger than 300 KB. When dimensioning your memory, you should remember that caching uses additional memory. Ignore syntax errors occurring in input message When selected, the conversion will not be cancelled in case of an error. Instead, sections containing errors will be skipped. When the option is disabled, an error message is displayed and processing is stopped if an error is found. Disable this option to test a rule and find possible errors. - Attach error info to output message Adds the original segment and element data to flat-xml output messages. Validation XML validation If active, the XML messages are validated against an XML Schema generated by the conversion rule. In this process, the element type and the qualifier list are checked, in contrast what happens during the normally carried out automatic syntax check. After changing the rule file, you must activate this option! Otherwise, messages are validated against an outdated rule file. Using this option will impact performance when processing a large number of input messages. - Use error branch as output for the schema validation error When selected, this option will cancel the workflow execution if the schema validation fails. The message will be directed to error output inubit 6.1: Workbench/Process Engine: Modules Guide

189 Flat Adapter (Format Adapter) Dialog Descriptions Dialog XML-Flat File Adapter Properties XML element names Use attribute id When selected, the output message contains XML elements with abbreviated identifiers (X_<ID> or D_<ID>). Use attribute xmltag When selected, the message is output with meaningful element names based on the value for XML tag in the conversion rule. Though meaningful element names improve the message s readability, they also increase the file size and thus have an impact on the performance. Output message formatting Segment delimiter Select a value from the list in order to define how segments are separated from each other in the input messages. Decimal separator (input) Define which character (dot or comma) separates decimals with decimal places. Decimal separator (output) The decimal separator can be replaced during the conversion. Define which character is to be used (dot or comma). Character encoding Character encoding for incoming messages. This setting ensures that the incoming message is correctly converted to XML and that German umlauts, for instance, are correctly displayed. By default, the ISO character set is used. It contains all characters of the common Western European languages, including their special characters. You can also select any other character set. Analysis Cache rule file When selected, the rule file will remain cached during the entire workflow execution. This setting is useful when a number of consecutive messages need to be converted, because the conversion can be completed more quickly if the rule file does not need to be reloaded for each message. Caching is useful for messages larger than 300 KB. When dimensioning your memory, you should remember that caching uses additional memory. Ignore syntax errors occurring in input message When selected, the conversion will not be cancelled in case of an error. Instead, sections containing errors will be skipped. inubit 6.1: Workbench/Process Engine: Modules Guide

190 190 Flat Adapter (Format Adapter) Dialog Descriptions When the option is disabled, an error message is displayed and processing is stopped if an error is found. Disable this option to test a rule and find possible errors. Validation XML validation If active, the XML messages are validated against an XML Schema generated by the conversion rule. In this process, the element type and the qualifier list are checked, in contrast what happens during the normally carried out automatic syntax check. - Use error branch as output for the schema validation error When selected, this option will cancel the workflow execution if the schema validation fails. The message will be directed to error output inubit 6.1: Workbench/Process Engine: Modules Guide

191 9 MIME Adapter (Format Adapter) 191 This section details the following topics: Example: MIME > XML MIME Conversion, p. 192 Dialog Descriptions, p. 193 Use A MIME Adapter converts MIME messages to XML MIME, and XML MIME messages to MIME: MIME > XML - If the attribute charset is missing in the content-type of a message, it is assumed that this MIME part s content is US- ASCII encoded - For multipart messages the charset value which was found at first, is used as default character set for all other MIME parts in case these do not have any charset parameters defined within their content-types. XML > MIME For converting the following rules apply if the content in the XML is available as text instead of base64: - If in the XML the content-type is not defined explicitly, text/ plain is assumed. - If the content-type is defined in the XML, then the message is send with charset="utf-8", because the content must be text, if the XML s content is not base64-encoded. Templates There are following templates available for your convenience in the repository at Global > System > Mapping Templates > MIME Adapter. AttachmentExample.mime Example message with an image as attachment AttachmentExample.xml Example message with an image as attachment as MIME-XML IBISMime1.0.xsd Schema file which describes the MIME XML format used in the inubit software and which is used for converting MIME>XML-MIME. Textexample.mime MIME example message Textexample.xml MIME example message as MIME-XML Message types MIME > XML MIME inubit 6.1: Workbench/Process Engine: Modules Guide

192 192 MIME Adapter (Format Adapter) Example: MIME > XML MIME Conversion The input message type is irrelevant because the message content is MIME encoded; the output message type must be XML. XML MIME > MIME The input message must be XML; the output message type is irrelevant, because the message content is MIME encoded. 9.1 Example: MIME > XML MIME Conversion Input message MIME format Date: Thu, 27 Mar :25: (GMT+01:00) Mime-Version: 1.0 Content-Type: multipart/related; boundary="----=_part_1404_ " Content-ID: 1e9aa068-78ac e85-c0a80c7a =_Part_1404_ Content-Type: plain/text Content-Transfer-Encoding: 8bit Content-ID: 1e9aa068-78ac e84-c0a80c7a0001 Content-Description: Document Content-Disposition: inline That is Part =_Part_1404_ Content-Type: plain/text Content-Transfer-Encoding: 7bit Content-ID: 1e802c92-78ac c-40272c Content-Description: Catalog Content-Disposition: inline That is Part =_Part_1404_ Output message XML MIME <?xml version="1.0" encoding="iso "?> <IBISMime version="1.0"> <Header name="date" value="thu, 27 Mar :25: (GMT+01:00)"/> inubit 6.1: Workbench/Process Engine: Modules Guide

193 MIME Adapter (Format Adapter) Dialog Descriptions 193 <Header name="mime-version" value="1.0"/> <Header name="content-type" value="multipart/related"> <Parameter name="boundary" value="----=_part_ 1404_ "/> </Header> <Header name="content-id" value="1e9aa068-78ac e85-c0a80c7a0001"/> <Header name="message-id" <Part> <Header name="content-type" value="plain/text"/> <Header name="content-transfer-encoding" value="7bit"/> <Header name="content-id" value="1e9aa068-78ac e84-c0a80c7a0001"/> <Header name="content-description" value="document"/> <Header name="content-disposition" value="inline"/> <Content>Thats Part 1</Content> </Part> <Part> <Header name="content-type" value="plain/text"/> <Header name="content-transfer-encoding" value="7bit"/> <Header name="content-id" value="1e802c92-78ac c-40272c850001"/> <Header name="content-description" value="catalog"/> <Header name="content-disposition" value="inline"/> <Content>Thats Part 2</Content> </Part> </IBISMime> 9.2 Dialog Descriptions This section details the following topics: inubit 6.1: Workbench/Process Engine: Modules Guide

194 194 MIME Adapter (Format Adapter) Dialog Descriptions MIME-XML Adapter Dialog, p. 194 XML-MIME Adapter Dialog, p MIME-XML Adapter Dialog XML output configuration Write header names lower case Produces header names in lower case that can be conveniently accessed via XPath. Always encode contents Base64 Encodes MIME content with base64. If the option is not activated, then text contents (MimeType text/*) are written as text nodes underneath from Content. Preserve Content-Transfer-Encoding if possible If this option is activated, then the coding of the input message remains unchanged for transporting if possible, that means plain text remains plain text and Base64 coded content will be passed unchanged. Input messages using other encodings are base64 encoded XML-MIME Adapter Dialog This format adapter has no configurable properties and is ready for immediate usage inubit 6.1: Workbench/Process Engine: Modules Guide

195 10 XLS Adapter (Format Adapter) 195 This section details the following topics: Creating Input Messages for the XML-XLS Adapter, p. 196 XSL > XML: Change Time Zone for Converting Values with Type Date, p. 196 Dialog Descriptions, p. 197 Use The XLS Format Adapter generates XML formats from Microsoft Excel files, and vice versa. XLS-XML You can import files with the format XLS of the Excel versions 95, 97, 2000, 2003, 2007, and You can handle an Excel file s individual worksheets or all of its worksheets. Excel-specific display formats (such as font and font size, colors, orientation, etc.) can also be represented in the XML structure. For cell formatting, fonts, dates, and numbers are supported. Formulas can also be applied. However, only arithmetic formulas are supported. String functions are not supported. The last calculated value from any formula type can be applied. Graphics can neither be generated nor imported. The output XML has a three-dimensional structure corresponding to the original Excel file format. The three dimensions correspond to the worksheet, row and column in the Excel file. XML > XLS When converting XML messages into the XLS forma, the XLS Adapter expects input messages in XMLSS format and outputs messages in Excel 97 format. Named colors from the Microsoft XML spreadsheet format (MXLSS) are not supported. Only certain colors are supported. All other colors are converted into a color contained in the list of supported colors that is most similar to the desired color, e.g.: #CD5C5C is replaced by # inubit 6.1: Workbench/Process Engine: Modules Guide

196 196 XLS Adapter (Format Adapter) Creating Input Messages for the XML-XLS Adapter 10.1 Creating Input Messages for the XML-XLS Adapter The XML-XLS Adapter needs input messages in the XMLSS format. To generate this format, use an XSLT Converter and a mapping template provided by the inubit software. Proceed as follows 1. Create an XSLT Converter. 2. In the XML target file area, click the button and select Open from > Repository. The Repository Explorer is displayed. 3. Open the Global > System > Mapping Templates > XLS Adapter directory and select the file template.xml. 4. Click OK. The explorer closes, and the template is displayed. 5. Create a mapping to generate a format. Refer to XSLT Converter (Data Converter) (Workbench/ Process Engine: Modules Guide, chap. 5, p. 133) XSL > XML: Change Time Zone for Converting Values with Type Date When converting Microsoft Excel files to XML you can explicitly define the time zone which is to be used for converting values with the type date. In order to guarantee that the summer time is ignored so that there is a value for 2:00 a.m. in time series extending the day of clock change, you must specify the time zone relatively to Greenwich Mean Time, for example as GMT+1. Proceed as follows 1. Add the module property timezone to your module. Refer to Adding Module Properties (Workbench: User Guide, chap. 3.7, p. 121). 2. Enter the time zone abbreviation of the dates contained in your Excel file as value of the module property inubit 6.1: Workbench/Process Engine: Modules Guide

197 XLS Adapter (Format Adapter) Dialog Descriptions Dialog Descriptions This section details the following topics: Dialog XLS-XML Adapter Properties, p. 197 Dialog XML-XSL Adapter Properties, p Dialog XLS-XML Adapter Properties This dialog offers the following options: Choose XLS processor Processor Select the XLS or XLSX processor suitable for your input messages. Choose worksheets Worksheet - All sheets Select this option to import all worksheets in an Excel file. - Selected sheet Select this option to import a selected worksheet. Click Select to load an Excel file. The worksheets in the file are shown in the selection box. Rows and columns Include empty rows Select this check box if you want empty rows located above datafilled rows to be imported into the XML format as empty XML tags. Otherwise, this type of empty row will be ignored. Empty rows located at the end of a worksheet are always ignored. Include empty cells Select this check box if you want empty cells located in front of data-filled cells to be imported into the XML format as empty XML tags. Otherwise, this type of empty cell will be ignored. Empty cells located at the end of a row are always ignored. Skip rows from top Number of rows to be ignored. Skip columns from left Number of columns to be ignored in each row. inubit 6.1: Workbench/Process Engine: Modules Guide

198 198 XLS Adapter (Format Adapter) Dialog Descriptions XML spreadsheet (XMLSS) configuration Number representation - Exponential format Displays numbers in an exponential format - Decimal format If you select decimal format, you must next define the decimal separator. Decimal separator Select a period or a comma. Minimum fractional digits Number of decimal places. Date format Select a format for the date. With XMLSS namespaces - When selected: XML is generated with namespaces. - When not selected: XML is generated without namespaces. Convert layout information to XML When the checkbox is selected, the information regarding colors, lines and font weight, etc., is imported the XML file. Otherwise, this information is stripped. Importing layout information results in a significant increase in the size of the XML file. Encoding The standard character encoding in Excel is UTF-8. In addition, the following character sets can be selected: US-ASCII, UTF-8, UTF-16BE, UTF-16LE, and UTF-16. The character-set selection box can also be modified. You can enter any other character set into this box. The six character sets are pre-selected because SUN Microsystems, the creator of the Java development and runtime environment, guarantees that these character sets are always supported Dialog XML-XSL Adapter Properties This dialog offers the following options: Choose XLS processor Select the XLS or XLSX processor suitable for your input messages. The following XML Schema contains all elements and attributes which are supported referring to POI 37: Global/System/Mapping Templates/XLS Adapter/POI37.xsd inubit 6.1: Workbench/Process Engine: Modules Guide

199 XLS Adapter (Format Adapter) Dialog Descriptions 199 XML spreadsheet (XMLSS) configuration Date format You can select one of the date formats. Action if no document exists Specify what the adapter should do if the XML file is empty: Create XLS document with empty sheet Throw error inubit 6.1: Workbench/Process Engine: Modules Guide

200 200 XLS Adapter (Format Adapter) Dialog Descriptions inubit 6.1: Workbench/Process Engine: Modules Guide

201 11 XLSX Adapter (Format Adapter) 201 This section details the following topics: Preparing Input Messages for XML > XLSX Conversion, p. 201 XLSX Adapter Properties Dialog, p. 202 Use The XLSX format (since Office 2007) is a zip archive comprising several XML-based configuration and data files. The XLSX Format Adapter transforms this archive into a single XML structure based on the IBISDirectory-XML format and creates an XLSX zip archive from a file in the IBISDirectory-XML format, respectively. When converting XLSX > XML no layout information is taken over Preparing Input Messages for XML > XLSX Conversion When converting from XML > XLSX, the XLSX adapter expects input messages to have the IBISDirectory-XML format. Use an XSLT converter and the supplied mapping template for converting your input message into this format. Proceed as follows 1. Create an XSLT converter. 2. In the XML target file area, click the button and select Open from > Repository. The Repository Explorer is displayed. 3. Open the directory Global > System > Mapping Templates > XLSX Adapter and select the file ExampleFolder.xml 4. Click OK. The explorer closes and the template is displayed. 5. Map your input message on the template structure. Refer to XSLT Converter (Data Converter) (Workbench/ Process Engine: Modules Guide, chap. 5, p. 133). inubit 6.1: Workbench/Process Engine: Modules Guide

202 202 XLSX Adapter (Format Adapter) XLSX Adapter Properties Dialog 11.2 XLSX Adapter Properties Dialog Base configuration Conversion direction Select one of the following: - XLSX to IBISDirectory-XML - IBISDirectory-XML to XLSX inubit 6.1: Workbench/Process Engine: Modules Guide

203 12 Barcode Generator (Utility) 203 This section details the following topics: Sample Workflow, p. 203 Barcode Generator Properties Dialog, p. 205 Use A Barcode Generator creates a barcode based on an alphanumeric value. Each Barcode Generator module can create only one barcode type. To create different barcode types, you must use several Barcode Generator modules. The alphanumeric value used to create the barcode must be transmitted to the module by means of an incoming XML message. You will specify the barcode type to be generated when you configure the Barcode Generator module. The barcode is output as an SVG file in an XML message, which can be processed in an FO Converter module to generate a PDF file, for instance Sample Workflow The workflow shown creates a barcode from an item number in a text file. ASCII > XML The File Connector sends the text file to a flat XML adapter. The flat XML adapter generates a simple XML structure from the flat text structure: BJ becomes <?xml version="1.0" encoding="iso "?> <Flatfile> inubit 6.1: Workbench/Process Engine: Modules Guide

204 204 Barcode Generator (Utility) Sample Workflow <NS> <ProductionOrder>157560</ProductionOrder> <Sep1> </Sep1> <Project>40684</Project> <Sep2> </Sep2> <Iteml> BJ</Iteml> <Sep3> </Sep3> <ItemNoCust> </ItemNoCust> </NS> </Flatfile> XML > XML The XSLT Converter uses the XML code to generate the following specific XML format expected by the Barcode Generator: <?xml version="1.0" encoding="iso "?> <Barcodes> <Barcode> <ID>CustomerItemNumber</ID> <!-- was: ItemNoCust --> <Value> </Value> </config2> </Barcode> </Barcodes> You can find the XML barcode schema in the repository at Global > System > Mapping Templates > Barcode Utility > barcode.xsd. XML > Barcode XML The Barcode Generator generates an SVG-encoded barcode from the content of the Value element: inubit 6.1: Workbench/Process Engine: Modules Guide

205 Barcode Generator (Utility) Barcode Generator Properties Dialog 205 From this XML, you can now generate a PDF, for instance, by using an additional XSLT converter and an FO converter Barcode Generator Properties Dialog You can use this dialog for barcode generator properties to define the type and layout of the barcode you want to generate. Once you have selected a barcode type, the dialog displays an explanation of the barcode, and the input and selection fields are preset accordingly. The input and selection fields displayed for defining the layout depend on the type of barcode you selected. Lengths must be specified in mm or mw (in relation to the width of the module). inubit 6.1: Workbench/Process Engine: Modules Guide

206 206 Barcode Generator (Utility) Barcode Generator Properties Dialog inubit 6.1: Workbench/Process Engine: Modules Guide

207 13 Compressor (Utility) 207 This section details the following topics: Compressing Multiple Files in a Zip Archive, p. 207 Compressor/Decompressor Properties Dialog, p. 208 Use The Compressor module allows you to compress input messages and unpack compressed messages Compressing Multiple Files in a Zip Archive By using the Compressor, you can compress multiple files. Prerequisites The files are stored in a directory in the file system. Proceed as follows 1. Create the following Technical Workflow: The File Input Connector reads the directory, the Compressor compresses the directory and the File Output Connector writes the resulting zip archive into the file system. 2. Configure the File Input Connector as follows: - The directory mode is selected. - Data transfer = IBISDirectory-Xml - At XML configuration Encoding = UTF-8 is selected and the options inclusive data and Encode data base64 are checked. 3. In the Compressor select the following options: - Action = Zip - Input format = IBISDirectory XML 4. When configuring the File Output Connector select Data as input format. inubit 6.1: Workbench/Process Engine: Modules Guide

208 208 Compressor (Utility) Compressor/Decompressor Properties Dialog 13.2 Compressor/Decompressor Properties Dialog This dialog offers the following options: Settings Action Select one of the following actions: - Compress data The input message will be compressed. - Decompress data The input message will be decompressed. An exception is thrown if an input message cannot be identified as Zip/GZip or cannot be decompressed. Algorithm - ZIP: For compressing directories and their files. - GZIP: For compressing single files. If, while using GZIP, a file name and/or a file date is found in the file, these are read and are output as variables ReadFileName and ReadFileDate. Input format (for action = Compress data) - Data Check this option for all formats except IBISDirectoryXML. - IBISDirectory XML If your messages are formatted as specified, enable this option to compress them correctly. Output format (for action = Decompress data) - Data Check this option for all formats except IBISDirectoryXML. - IBISDirectory XML If your messages are formatted as specified, enable this option to decompress them correctly. Ignore uncompressed Data If selected non-compressed data will be ignored for decompression. Zip options (only for algorithm=zip) File name encoding The encoding of the file name must be identical to the encoding of the archive. If the two encodings are not identical, file names are possibly not found that contain characters outside the US-ASCII character set (like umlauts, etc.) inubit 6.1: Workbench/Process Engine: Modules Guide

209 Compressor (Utility) Compressor/Decompressor Properties Dialog 209 File name inside zip archive - When compressing: File name within the ZIP file that the compressor generates. If no file name is specified, IBISData is used as the default name. - When decompressing: Name and file extension of the file to be compressed. Comment for zip archive Comment. inubit 6.1: Workbench/Process Engine: Modules Guide

210 210 Compressor (Utility) Compressor/Decompressor Properties Dialog inubit 6.1: Workbench/Process Engine: Modules Guide

211 14 Cryptographer (Utility) 211 This section details the following topics: Dialog Descriptions, p. 211 Use Using the Cryptographer you can encrypt and decrypt messages Dialog Descriptions This section details the following topics: Cryptographer Plug-in Dialog, p. 211 Websale Cryptographic 3DES Dialog, p. 212 CMS (Cryptographic Message Syntax) Dialog, p. 213 HMAC (Hash-based Message Authentication Code) Dialog, p Cryptographer Plug-in Dialog In this dialog you select one of the algorithms: Available algorithms Select one of the algorithms: Websale Cryptographic 3DES Symmetrical encrypting algorithm for exchanging messages. When using this procedure, the very same key is used for encrypting and decrypting the input message. CMS (Cryptographic Message Syntax) When you select this option, the input message is encrypted/ decrypted and transferred using a hybrid procedure. This hybrid procedure combines the asymmetrical encryption/decryption procedure with the symmetrical: - At runtime, a session key is generated automatically. With this session key the input message is encrypted symmetrically. You define the symmetrical procedure that should be used in the next step. inubit 6.1: Workbench/Process Engine: Modules Guide

212 212 Cryptographer (Utility) Dialog Descriptions - The session key and the input message are transferred to the recipient using the asymmetrical procedure CMS. Thus, the Cryptographer makes use of the advantages of both procedures: symmetrical procedures are more performant when used on large amounts of data, asymmetrical procedures are more secure. Unix Password Hashing (crypt) For producing a hash from the input message using the Unix crypt function. This hash allows the messages receiver to check whether messages are corrupt, for example by the transfer via an insecure net, because this procedure always returns the same value when used on the same input message. HMAC (Hash-based Message Authentication Code) Used for adding a hash to a message to be sent and for checking the integrity of the message received by the addressee. Sender and receiver need the same private key to compute the hash Websale Cryptographic 3DES Dialog If you selected Websale Cryptographic 3DES in the dialog Cryptographer Plug-in Dialog (Workbench/Process Engine: Modules Guide, chap , p. 211) as encryption/decryption procedure, then you use the Websale Cryptographic 3DES dialog to define whether the Cryptographer should encrypt or decrypt the input message. Settings Encrypt/Decrypt Define whether input messages are to be decrypted or encrypted. Password/Password again The given string is used as key for the symmetrical encryption/ decryption. If you encrypt your messages make sure the message s recipient possesses the key for decrypting the message! inubit 6.1: Workbench/Process Engine: Modules Guide

213 Cryptographer (Utility) Dialog Descriptions CMS (Cryptographic Message Syntax) Dialog If you selected CMS in the dialog Cryptographer Plug-in Dialog (Workbench/Process Engine: Modules Guide, chap , p. 211) as encryption/decryption procedure, you use the CMS dialog to define whether the Cryptographer should encrypt or decrypt the input message and the session key and which symmetrical procedure should be used to do so. Additionally, you store your public and private key, respectively. Encryption settings Encrypt For defining that the Cryptographer should encrypt the input message and the session key. Select certificate or truststore For storing the key used for encrypting the input message and the session key. After the selection the validity of the certificate and the truststore, respectively, is displayed. Encryption algorithm For selecting the symmetrical procedure used for encrypting the input message and the session key. Decryption settings Decrypt For defining that the Cryptographer should decrypt the input message and the session key. Select private key For storing the key used for decrypting the input message and the session key HMAC (Hash-based Message Authentication Code) Dialog If you selected HMAC in the Cryptographer Plug-in Dialog (Workbench/Process Engine: Modules Guide, chap , p. 211) as encryption/decryption procedure, you use the this dialog to specify the Hash algorithm. the private key, and the key encoding. Hash algorithm To specify one of the algorithms supported Key To enter the private key Key encoding To specify the key encoding used for the private key. inubit 6.1: Workbench/Process Engine: Modules Guide

214 214 Cryptographer (Utility) Dialog Descriptions inubit 6.1: Workbench/Process Engine: Modules Guide

215 15 Data Stream Modifier (Utility) 215 This section details the following topics: Data Stream Modifier Properties Dialog, p. 215 Use The Data Stream Modifier allows you to replace specific characters in the input message with different characters, for instance to remove line breaks. A Data Stream Modifier can process any type of message. You have the option to search for ASCII, hexadecimal or octal values, and you can limit the range in which the search-and-replace function is performed Data Stream Modifier Properties Dialog Limit processing range When the checkbox is activated, you can define a range in the file in which the replacements are to be made. From position: Start of area. Number of bytes To position: End of area. Calculated using the From position and the number of bytes Properties You can define multiple replacement pairs. The replacements are performed in the order displayed in the table. The buttons above the table are used to create, delete, and move the replacement pairs. Character entry To enter the value to be replaced or the replacement value, doubleclick Search for or Replace with in a table cell, and in the cell click. A dialog opens. Enter the value you would like replaced into one of the rows. The other corresponding character representations are generated automatically. To specify how the characters are displayed in the table, select one of the character formats, such as Integer. inubit 6.1: Workbench/Process Engine: Modules Guide

216 216 Data Stream Modifier (Utility) Data Stream Modifier Properties Dialog inubit 6.1: Workbench/Process Engine: Modules Guide

217 16 Encoder (Utility) 217 This section details the following topics: Encoder Properties Dialog, p. 217 Use Using the Encoder utility, you can decode and encode the input messages and, for example, provide them with a checksum or change the character set while doing so: Encoding of data is necessary when the data must be available for transfers or XML representations in an ASCII-based representation, for example. During decoding, the data is converted back into its original format Encoder Properties Dialog In this dialog, you define the way the Encoder utility works. Configuring input data Input data from XML If the input data is XML formatted, you can also allow individual elements to be encoded and decoded: Enter the XPath to the XML element whose content is to be encoded/decoded. If you have a sample input file, click the button to load the file and navigate to the XML element. The XPath is created automatically in the process. Character encoding Only active if the algorithm Character encoding or URL is selected. Select a character encoding from the list. Operation Select action Select whether the input data is to be encoded or decoded. Select algorithm The following processes are available for selection: - Character encoding: When this option is selected, you can select character encoding for the output data. - base64: base64 encoding is used to transfer binary data using technologies that cannot cleanly transfer 8-bit, such as . The binary character strings are converted into text character strings that can be easily sent via or used as part of an HTTP POST request. base64 uses a subset of the ASCII inubit 6.1: Workbench/Process Engine: Modules Guide

218 218 Encoder (Utility) Encoder Properties Dialog character set; the encoded lines must be exactly 64 printable lines long. Encoding causes the space requirements of the data to increase by 25%. - MIME-base64: This process is based on base64 encoding, but does not define a fixed length for base64-encoded lines. Only the maximum length has a fixed definition of 76 characters. - hex: This algorithm converts binary data into a series of hexadecimal numbers. - URL: URL encoding is necessary when input messages are to be sent as HTTP requests or HTTP responses. Since only a subset of the US-ASCII character set may be used in HTTP communication, all characters that are not contained in this subset are replaced by what are known as escape sequences. For example, spaces are replaced with sequence %20. Using the following algorithms, you can create checksums with which the integrity of messages can be checked. In order to determine whether a message was changed or damaged, the current checksum of the message is compared with a known, previously generated sum. The checksum is transferred at the end of the message. The following algorithms are available for selection: - MD5: A widely used cryptographic function that generates a 128-bit checksum from any data. MD5 sums are used by PGP, among others. - SHA1: A cryptographic function that generates a 160-bit checksum from any data. - SHA-224, SHA-256, SHA-384 and SHA-512: Cryptographic functions that belong to the SHA-2 family of hash algorithms and reduce the risk of conflict through better algorithms. Configuring output data Character encoding Only active if Encode is selected as the action and Character encoding or URL is selected as the algorithm. Select a character encoding from the list to specify the character set with which the output data is to be output inubit 6.1: Workbench/Process Engine: Modules Guide

219 17 inubit IS Configuration (Utility) 219 This section details the following topics: Functional Principle, p. 220 Creating Input Message for Calling-up Operations, p. 221 Identifying Repository Objects for a User and a Tag, p. 222 Using Encrypted Login Data, p. 223 Executing Operations Remotely/as a Different User, p. 224 Reading Log Entries from Monitoring Components, p. 224 Filtering Log Entries, p. 227 Sorting Log Entries, p. 228 Searching for Strings in Log Entries, p. 228 Calculating the Size of Input Messages, p. 229 Use With the inubit IS Configuration Utility you can access functionalities offered by the inubit Workbench during the execution of workflows. Amongst others, you can call up the following operations: Share JVM memory or check available memory Verify the validity of the plug-in licenses Generate and delete entries in the Connection Manager Delete processes from the Queue Manager Create and edit users (change password, etc.) Copy, delete, export, import, activate, or edit Technical Workflows (activate/deactivate, change metadata) Read out Technical Workflow properties (such as name, comment, status active/inactive, module types used, owner, version number, date, and creator of the last modifications, workflow group) Read and modify module properties Identifying Repository Objects for a User and a Tag Refer to Identifying Repository Objects for a User and a Tag (Workbench/Process Engine: Modules Guide, chap. 17.3, p. 222). Read organization diagrams Check the portal server configuration Check all visible portal server users Read user task list Read a list of all users visible to a selected user Read a list of all workflows visible for the current user or user group Debugging purposes for server traces status and changing level inubit 6.1: Workbench/Process Engine: Modules Guide

220 220 inubit IS Configuration (Utility) Functional Principle Read out logs Refer to Reading Log Entries from Monitoring Components (Workbench/Process Engine: Modules Guide, chap. 17.6, p. 224). For a detailed overview about all operations provided by the inubit IS Configuration Utility, refer to the Configuration Mapping Template im Repository. Also refer to Functional Principle (Workbench/Process Engine: Modules Guide, chap. 17.1, p. 220) Functional Principle The IS Configuration Utility expects an XML request as input message. The Utility will then use the XML request for read or write access to the inubit Process Engine s configuration and it generates an output message as result. Creating a request You can create the XML request with an XSLT Converter into which you load the configuration mapping template. The mapping template contains all operations of the inubit IS Configuration Utility. From the template, select the desired operations and adapt them. Each XML request can be used to execute multiple and different operations. Refer to Creating Input Message for Calling-up Operations (Workbench/Process Engine: Modules Guide, chap. 17.2, p. 221). Behavior in case of error If one of the operations defined in the request cannot be processed, the execution is continued with the next operation. Content of the response As output message the IS Configuration module emits an XML response, which not only contains the XML request, but also status information about the executed operation. The XML response may be processed in an XSLT Converter inubit 6.1: Workbench/Process Engine: Modules Guide

221 inubit IS Configuration (Utility) Creating Input Message for Calling-up Operations Creating Input Message for Calling-up Operations Proceed as follows 1. In the XSLT converter, open the arrow menu in the XML target file area. 2. Select Open from > Repository. A repository explorer is displayed. 3. Go to Global System > Mapping Templates > IS Configuration. 4. Select the configuration.xml template. 5. Click OK. The explorer closes. The template is displayed. The template contains commented XML structures for all operations in the following form: 6. To use an operation in an XSLT script, drag the ISConfiguration element belonging to the operation to the xsl:template element in the XSLT converter script area. 7. To add additional operations, insert the appropriate operation elements below the ISConfiguration element. inubit 6.1: Workbench/Process Engine: Modules Guide

222 222 inubit IS Configuration (Utility) Identifying Repository Objects for a User and a Tag 8. For some operations you must enter values for the elements; for instance, when creating a user you must specify the name, password, and user group: 17.3 Identifying Repository Objects for a User and a Tag Proceed as follows 1. Create an XSLT Converter to generate an input message. Refer to Creating Input Message for Calling-up Operations (Workbench/Process Engine: Modules Guide, chap. 17.2, p. 221). 2. Select the getrepositoryobjectlist operation inubit 6.1: Workbench/Process Engine: Modules Guide

223 inubit IS Configuration (Utility) Using Encrypted Login Data 223 getrepositoryobjectlist Operation name UserName (optional) Name of the user whose data are to be read UserGroupName (optional) Name of the user group whose data are to be read If both parameters (UserName and UserGroupName) are set, the user name is used. If neither the UserName parameter nor the UserGroupName parameter is set, the name of the user currently logged in is used. TagName (optional) Name of the tag the objects of which are to be identified. By default, the getrepositoryobjectlist operation identifies the current version of all Repository objects. If you have set the TagName, the version of all objects tagged with this TagName is returned. For objects that are not tagged with this TagName the current version is returned. If you have not set a tag, the current versions of all Repository objects of the user/user group are returned Using Encrypted Login Data You can use encrypted login data by adding two module properties to the inubit IS Configuration module and by setting these properties via mapping of variables (variables type: is:password). Proceed as follows 1. Add the module properties Password and Login using the Text (single line) data type. Refer to Adding Module Properties (Workbench: User Guide, chap. 3.7, p. 121). In the properties table the labels Password and Login are displayed. 2. Save your changes. inubit 6.1: Workbench/Process Engine: Modules Guide

224 224 inubit IS Configuration (Utility) Executing Operations Remotely/as a Different User 17.5 Executing Operations Remotely/as a Different User By default, all operations are executed locally and with the permission of the workflow owner. Alternatively, you can execute these operations from a different remote inubit Process Engine, using another user s rights. Proceed as follows Insert the User, Password, and ServerURL elements to your XSLT style sheet below the ISConfiguration element. Enter the information of the user whose rights will be used to execute the operations, and specify the URL of the inubit Process Engine on which the module will be executed. You can drag and drop elements from the configuration template to your XSLT stylesheet Reading Log Entries from Monitoring Components Using an IS Configuration module, you can read out log files displayed in the following monitoring components: System Log Connection Manager Queue Manager Scheduler Manager Audit Log Process Log Proceed as follows 1. For monitoring component requests, you always need a Technical Workflow with several modules, such as 2. Using the first XSLT converter, you will generate an XML request to query a particular monitoring component s table structure, such as: inubit 6.1: Workbench/Process Engine: Modules Guide

225 inubit IS Configuration (Utility) Reading Log Entries from Monitoring Components 225 Enter the internal name of the component as the value of the LogName element; you will find the name in the configuration template. The IS Configuration module outputs an XML response with information about the table structure, such as: The XML response always has the following structure: - Response element with number of table columns (size attribute), and a unique identifier generated for this response (ID attribute). - Column elements with column names (name attribute), type (type attribute), and indication whether or not a text search can be performed in the column (like attribute) - Status element with information about the response s success - Request element with the original request 3. Using the next XSLT converter, you can generate the actual request on the data in the response. This example shows a request to read the first 10 records in the Queue Manager. inubit 6.1: Workbench/Process Engine: Modules Guide

226 226 inubit IS Configuration (Utility) Reading Log Entries from Monitoring Components The attributes are defined as follows: - type: Reads all table values (getdata) or all values in a specified table column indicated as a value of the restrict attribute (getavailable). - restrict: The name of the column, if values will be read from one column only. - id: The response s unique identifier the request is referencing - start: The first record to be read in the table. Numeric values and XPath expressions are valid values. - amount: The number of records to be read, beginning the record specified by the start attribute. Numeric values and XPath expressions are valid values. 4. The last IS Configuration module then generates the response containing the queried data: The Result element contains the queried records, where R (row) represents a record, and C (column) contains the value inubit 6.1: Workbench/Process Engine: Modules Guide

227 inubit IS Configuration (Utility) Filtering Log Entries Filtering Log Entries Hide duplicate values in a column Use getavailable to hide duplicate records in a selected column (same as select distinct): <Request id="3" type="getavailable" restrict="is_modulename"/> <Response size="3" id="4"> <Column name="is_modulename" like=""> <Available>CIM-CSV-Parser(8677)</Available> <Available>backupAll( )</Available> <Available>retryFtp( )</Available> </Column> </Response> The result will contain only unique values in the specified column, as shown in the following example: Filtering data You can use the resulting values as a filter in another query. Filters can also contain the keyword LIKE : <Request type="getdata"> <Column name="is_modulename" like="cim" /> </Request> The result shows those records in the table, whose values in the is_modulename column contain the string CIM. Min and max filter For columns with a numeric data type (such as long, int, float) and dates (such as java.util.date) min and max filters can be set as shown in the following example: <Request id="3" type="getdata"> <Column name="is_workflowid" min="30" max="245"/> </Request> All records with a workflow ID greater than or equal to 30 and less than or equal to 245 are displayed. Hiding a table column Use setcolumns to define a table view: <Request id="1" type="setcolumns"> <Column name="is_workflowid"/> <Column name="is_status"/> <Column name="is_priority"> </Request> inubit 6.1: Workbench/Process Engine: Modules Guide

228 228 inubit IS Configuration (Utility) Sorting Log Entries Table columns will only be output if they are listed in the Request element Sorting Log Entries To sort records, use the sort and sortlevel attributes as follows: sort="[asc desc]" specifies whether the values should be sorted in ascending or descending order sortlevel sets the sorting priority. <Request type="getdata"> <!-- sortlevel=0: sort by name first--> <Column name="is_workflowname"sort="asc" sortlevel="0"/> <!-- sortlevel=1: then by ID--> <Column name="is_workflowid"sort="desc" sortlevel="1"/> </Request> 17.9 Searching for Strings in Log Entries If your log table contains columns with the like attribute, you can search these columns for (partial) strings: <Request id="3" type="getdata"> <Column name="is_moduletype" like="is Conf"/> </Request> Wildcards are not needed to search for partial strings. If you were searching for an IS module, the system would find the module named IS Config as well inubit 6.1: Workbench/Process Engine: Modules Guide

229 inubit IS Configuration (Utility) Calculating the Size of Input Messages Calculating the Size of Input Messages You can determine the size of input messages by adding a property to the inubit IS Configuration Utility. The size is written out as value of the variable DataStreamSize. Proceed as follows 1. To the module properties of the inubit IS Configuration Utility add the property Operation having the data type Text (singleline). Refer to Adding Module Properties (Workbench: User Guide, chap. 3.7, p. 121). In the properties table the label Operation and an entry field are displayed. 2. Enter getdatastreamsize. 3. Save your changes. inubit 6.1: Workbench/Process Engine: Modules Guide

230 230 inubit IS Configuration (Utility) Calculating the Size of Input Messages inubit 6.1: Workbench/Process Engine: Modules Guide

231 18 Line Reader (Utility) 231 This section details the following topics: Line Reader Properties Dialog, p. 231 Use By using the Line Reader you can copy text line-by-line from a textbased input message, as e. g. an HTML or XML files, into the output message Line Reader Properties Dialog This dialog offers the following options: Basic settings Character encoding Enter the character encoding of the input messages or select an entry from the list. Start index Define the line where copying text is going to start. The line numbering starts with 0. Block size (lines) Define how many lines ought to be copied beginning with the start index. To copy all lines including the start index enter -1. Line breaks To keep all line breaks contained in the input messages, activate the option Preserve. To convert the line breaks of the input messages, if for example further processing requires other line breaks, select the designated target type (Unix or Windows) from the list. inubit 6.1: Workbench/Process Engine: Modules Guide

232 232 Line Reader (Utility) Line Reader Properties Dialog inubit 6.1: Workbench/Process Engine: Modules Guide

233 19 PDF Toolbox (Utility) 233 This section explains the following topics: Generating an Input Messages for the PDF Toolbox, p. 233 Sample Workflow, p. 234 Use The PDF Toolbox is used within a workflow to merge several PDF files into one PDF file. The PDF Toolbox module has no configurable properties but requires an input message in a specifically defined XML format. The workflow configuration defines the way in which the PDF files are merged together Generating an Input Messages for the PDF Toolbox The PDF Toolbox module requires an input message in a specifically defined XML format. You generate the XML input message by using an XSLT Converter. In order to ensure a correct mapping, the XSLT style sheet must look like this: Also refer to - XSLT Converter (Data Converter) (Workbench/Process Engine: Modules Guide, chap. 5, p. 133) - Configuring an XSLT Converter: Creating a Technical Workflow 3: Converting CSV-XML to opentrans (Tutorials, chap. 4.5, p. 67) inubit 6.1: Workbench/Process Engine: Modules Guide

234 234 PDF Toolbox (Utility) Sample Workflow 19.2 Sample Workflow The depicted workflow merges two PDF files into one PDF file. PDF > Base64 The Encoder modules encode the imported PDF files with base64 and output them. The binary input data is encoded with the base64 algorithm because otherwise it cannot be further processed. Select the following setting in the dialog window Encoder/Decoder properties : Settings > Encode data > Choose algorithm: base64 Refer to Encoder (Utility) (Workbench/Process Engine: Modules Guide, chap. 16, p. 217). Base64 > XML XML Enveloper modules convert base64 encoded input messages to XML formatted output messages. Refer to XML Enveloper (Utility) (Workbench/Process Engine: Modules Guide, chap. 24, p. 253). XML > XML The Multiplexer module merges the incoming XML messages arriving at various times into one output XML message Refer to Multiplexer (Workbench/Process Engine: Modules Guide, chap. 28.8, p. 271). XSLT Converter The Multiplexer transfers this XML output message to an XSLT Converter, which generates the input message for the PDF Toolbox module. Refer to Generating an Input Messages for the PDF Toolbox (Workbench/Process Engine: Modules Guide, chap. 19.1, p. 233) inubit 6.1: Workbench/Process Engine: Modules Guide

235 PDF Toolbox (Utility) Sample Workflow 235 XML >Base64 The XSLT Converter forwards the XML output message to the PDF Toolbox, which generates one single base64 encoded PDF file. Base64 > PDF The base64 encoded output message from the PDF Toolbox is transferred for decoding to an Encoder/Decoder module. Decoding is necessary to revert the data to its original PDF format. inubit 6.1: Workbench/Process Engine: Modules Guide

236 236 PDF Toolbox (Utility) Sample Workflow inubit 6.1: Workbench/Process Engine: Modules Guide

237 20 Process Data Logger (Utility) 237 This section details the following topics: Configuring the Process Data Logger, p. 237 Dialog Process Data Logger Properties, p. 238 Use You can use the Process Data Logger to log process-specific data. Possible uses include: Accessing current values for system variables Logging values from XML-based input messages. Filling a database column with static values and using the variables mapping to overwrite these values with workflow specific values during the workflow execution. Bosch Software Innovations GmbH recommends logging at minimum the global process ID, the workflow process ID and the time stamp. To view the logged data, go to the Monitoring > Process Log tab. Refer to Displaying Business-Related Process Data in the Process Log (Workbench: User Guide, chap , p. 342) Configuring the Process Data Logger Prerequisites You need a sample message with the same structure like the XML which you want to document. Proceed as follows 1. Generate a Process Data Logger -type model. 2. In the Dialog Process Data Logger Properties (Workbench/ Process Engine: Modules Guide, chap. 20.2, p. 238), select the data target where you would like to save the logged process data. An example for a data target would be the inubit log database. 3. Do one of the following, to specify in which table the data is to be stored: - Select one of the already existing tables. - To create a new table, click the DB Manager button. The Dialog Database Manager (inubit Process Engine: Administrator and Developer Guide, chap. 8.4, p. 123) opens. In the mapping table all columns of the selected table are displayed. inubit 6.1: Workbench/Process Engine: Modules Guide

238 238 Process Data Logger (Utility) Dialog Process Data Logger Properties 4. For each column, specify the source of the data which you want to document: - To log elements values from XML input messages a. In the row containing the desired table column, select the check box in column D. b. To define the XML element whose data are to be logged, double click the Value column. The button is displayed. c. Click the button. The XPath Assistant opens. d. Load your sample XML message. e. Drag the desired XML element in the XPath field. f. Click OK to close the dialog. - To log system variable values a. Specify the row in which the variable is to be placed by activating the checkbox in that row in column V. b. In the same row, click the Value column, and select the desired system variable from the list. - To add static values a. Do not select any option (neither D nor V ). b. Double click into the field Value and enter a string. To comfortably enter longer texts, click the button. A text editor is displayed. - Leave column empty Select the option Ignore to the right of the column. Now, the column is not processed. 5. When you have finished configuring the log table, click Finish. The dialog closes, and you can use the configured Process Data Logger Dialog Process Data Logger Properties This dialog offers the following options: Logging target Database Target where all data which are to be logged are stored. Shows all published Database Connectors which are available for the current user inubit 6.1: Workbench/Process Engine: Modules Guide

239 Process Data Logger (Utility) Dialog Process Data Logger Properties 239 Another possible target is the IS Log Database of the inubit Process Engine. Table/DB Manager For selecting a table in the given database. If there are no appropriate tables yet or an existing table structure needs to be changed, the DB Manager button opens the Dialog Database Manager (inubit Process Engine: Administrator and Developer Guide, chap. 8.4, p. 123) so that one or more database tables can be created. Mapping table This table displays all columns of the selected table. You can specify for each column whether it is to be filled with data and if so, from which source the data to be logged originates. XPath to the reference node: Sets the element in the input message that will be used to iterate, and which functions as a reference for all subsequent XPath information in the Value column. Element of the input message with following functions: - Paths to elements which are located underneath the reference node can be entered relatively to the reference node. - If the element exists multiple times in the input message, then the XSLT processor iterates over it. Column D (Data) When activated, the corresponding column in the database table will be populated with values from XML-formatted input messages. In the field Value an editor can be opened for loading an example message. Column V (Variable) When activated, the corresponding columns in the database table will be populated with values from the specified system variable. The field Value provides a list of all system variables. If none of both options is selected, then any string can be entered as value. Column Value Possible details are - XPath of an XML element, - any string, - a system variable. Column Ignore If selected, the corresponding table column will be ignored and will not be output. inubit 6.1: Workbench/Process Engine: Modules Guide

240 240 Process Data Logger (Utility) Dialog Process Data Logger Properties If the option is not selected and no value is given, the column is filled with. Reset (button) Reloads the module s settings which were stored most recently. This command equates to clicking on Cancel and re-opening the dialog. Refer to Configuring the Process Data Logger (Workbench/ Process Engine: Modules Guide, chap. 20.1, p. 237) inubit 6.1: Workbench/Process Engine: Modules Guide

241 21 Report Data Collector (Utility) 241 This section details the following topics: Requirements Under UNIX/Linux, p. 241 Creating a Process Model Report, p. 242 Adapting the Process Model Report, p. 242 Dialog Descriptions, p. 243 Use The Report Data Collector provides you with a convenient opportunity to generate with little effort a comprehensive documentation for your process model. The Report Data Collector generates reports containing screenshots of the used technical and business diagrams, its modules and forms. Content and layout of the reports can be freely configured Requirements Under UNIX/Linux By default, the application servers Tomcat and JBoss are configured in a way to enable the use of the Report Data Collectors without a running X server. However, without a graphical user interface, only some features of the Report Data Collector can be used, e.g. only images of workflows can be created. Forms screenshots cannot be generated. Prerequisites To use the full functionality of the Report Data Collector, the following requirements must be fulfilled: The X server is started. The option JVM_PARAMS="$JVM_PARAMS - Djava.awt.headless= true" was removed from the start script and, afterwards, the application server was restarted. You find the start script at: - JBoss: <inubit-installdir>server/jboss/bin/ run.conf.bat or run.conf - Tomcat: <inubit-installdir>server/tomcat/bin/ setenv.bat or setenv.sh inubit 6.1: Workbench/Process Engine: Modules Guide

242 242 Report Data Collector (Utility) Creating a Process Model Report 21.2 Creating a Process Model Report You can let your process model generate with few clicks and define, whether the entire process model should be documented or only parts thereof and which information about the processes should be contained. For generating the process model a pre-configured workflow is included in delivery. In this workflow the layout and the logo of the report are defined, amongst others. Refer to Adapting the Process Model Report (Workbench/Process Engine: Modules Guide, chap. 21.3, p. 242). Proceed as follows 1. In the inubit Workbench, in the File menu, select Create process model report. The report wizard opens. The option is displayed only, when you have got a license for the Process Data Logger! 2. Let the module wizard guide you through the process of creating a report. Refer to - Diagram Selection Dialog (Workbench/Process Engine: Modules Guide, chap , p. 244) - Configuring the Selection Dialog (Workbench/Process Engine: Modules Guide, chap , p. 244). The report is generated as a PDF file and displayed immediately Adapting the Process Model Report For creating the process model report a pre-configured workflow is used, in which the layout and the logo are defined, amongst others. You can adapt this workflow and, for example, extend it by a Workflow Starter in order to automatize the report generation. Overview The supplied system workflow process model report collects diagram data according to your specifications, generates a PDF report and stores it to an export directory inubit 6.1: Workbench/Process Engine: Modules Guide

243 Report Data Collector (Utility) Dialog Descriptions Report Data Collector: Compiles all data for the report as an XML file. Images and screenshots are saved in the directory at <inubit-installdir>/server/ibis_root/ <UserNameOrGroup>/workflow/report prozessmodell. 2. XSLT Converter: Creates the report layout. 3. FO Converter: Creates a PDF file named report.pdf. 4. File Connector: Saves the PDF file to the workflow s export directory <inubit-installdir>/server/ibis_root/ <BenutzernameOderGruppe>/workflow/ report prozessmodell\export. Proceed as follows 1. Import the system workflow Process model report from the <inubit-installdir>/client/templates/workflows/ Report_Prozessmodell.zip directory into your inubit Workbench. 2. Adapt your workflow: - You define the selection of diagrams in the Report Data Collector. - To adjust the report to the corporate design of your company, you can replace the report logo: a. Create a GIF file of your logo. The logo must be 450 pixels in width and 161 pixels in height. Bigger logos are proportionally adjusted to the indicated size. b. Save the file in the <inubit-installdir>/server/ ibis_root/conf/images/ directory under name is_ logo.gif. 3. Execute the workflow Dialog Descriptions This section details the following topics: Diagram Selection Dialog, p. 244 Configuring the Selection Dialog, p. 244 inubit 6.1: Workbench/Process Engine: Modules Guide

244 244 Report Data Collector (Utility) Dialog Descriptions Diagram Selection Dialog Display only diagrams with the following tag Select the tag from the list for which the diagrams are to be displayed. Available diagrams Expand the tree structure to view all diagrams you would like to include in the generated report. Select one or more diagrams or diagram groups, and click the icon. All diagrams on the inubit Process Engine This is only visible if you have logged in as a root user. This option enables you to include in a report all business and Technical Workflows for every group and user. The option will not be displayed to other users. Selected diagrams The selected diagrams are listed in the right-hand pane. Use the icon to remove diagrams from the selection Configuring the Selection Dialog This dialog offers the following options: Language of the report: Language of the pre-configured report elements, e.g. Table of Contents, generated on. Language of the diagrams: Language of the diagram and element comments and of all other element identifiers. If you select Default, the language is selected which you indicated in the Default tab. Refer to Adding Multi-Lingual Texts (Workbench: User Guide, chap , p. 97). Document title: You can assign your own title to the process model report, which is presented on the report s front page. Business Process Diagrams, System Diagrams, Organization Diagrams In this section you determine how diagrams are added to reports. Diagram image: If you select this option, a screenshot of each selected diagram is added to the report. Include linked diagrams: If this option is selected, all diagrams linked with a selected diagram will be included in the report. If other linked diagrams in turn have their own links to other inubit 6.1: Workbench/Process Engine: Modules Guide

245 Report Data Collector (Utility) Dialog Descriptions 245 diagrams, these diagrams will also be included in the report. This option can be used to include the entire process model in the report, provided all workflows are completely linked. Element list (including properties): If this option is selected, a list of all elements used in a diagram, including their properties is created. Technical Workflows, BPEL Diagrams Diagram image: If you select this option, a screenshot of each selected diagram is added to the report. Module list (including properties): If this option is selected, a list of all modules used in a diagram, including their properties is created. Module-specific properties: This option also includes in the report images that show specific information for the following modules: - EDI Format Adapter: displays configured rules - Flat File Format Adapter: displays configured rules - XSLT Converter: displays XSLT converter table - Web Services Connector: displays the WDSL file - Task Generator: displays the forms Introductory text (Optional) Input field for introductory text that will precede the process model report. inubit 6.1: Workbench/Process Engine: Modules Guide

246 246 Report Data Collector (Utility) Dialog Descriptions inubit 6.1: Workbench/Process Engine: Modules Guide

247 22 S/MIME (Utility) 247 This section details the following topics: Generating Keys and Certificates, p. 247 Dialog Description, p. 248 Use The S/MIME module enables you to encrypt, decrypt or sign MIME formatted input messages as well as check their signatures Generating Keys and Certificates For encryption you need keys which you can generate using the Java keytool. You can enter the algorithm to be used while generating the key. For information about calling keytool refer to Configuring SSL Connections and Server Authentication (inubit Process Engine: Administrator and Developer Guide, chap. 5.1, p. 61). Example: Generating a key keytool -genkey -dname "O=inubit AG, C=de" -validity 365 -keystore smime.keystore -keypass inubit -storepass inubit -alias inubit -keyalg RSA Example: Generating a certificate keytool -export -keystore smime.keystore -alias inubit -file smime.cer inubit 6.1: Workbench/Process Engine: Modules Guide

248 248 S/MIME (Utility) Dialog Description 22.2 Dialog Description This section details the following topics: Dialog S/MIME Configuration, p. 248 Dialog S/MIME Encryption, p. 248 Dialog S/MIME Decryption, p. 249 Dialog S/MIME Signing, p. 249 Dialog Check S/MIME Signature, p Dialog S/MIME Configuration MIME encryption Output messages are S/MIME encrypted. To this end, the sender must know the recipient s public key. To do so, you as sender need to have the public key of the recipient. You store this key in the next dialog. MIME decryption Input messages are decrypted by using the recipient s private key. You store this key in the next dialog. Sign MIME Signs the output messages by adding an encrypted checksum. To do so, you need a private key. You store this key in the next dialog. The recipient must have the sender s public key to verify the signature. Check MIME signature Verifies the correctness of the signature in the input message by comparing the signature with the sender s public key. You store this key in the next dialog Dialog S/MIME Encryption Use For the option MIME encryption Add recipient's public certificate Click Add to add the certificate file. Certificate data inubit 6.1: Workbench/Process Engine: Modules Guide

249 S/MIME (Utility) Dialog Description 249 This field displays already added certificats Dialog S/MIME Decryption Use For the option MIME decryption Add private key Click Add to add the private key in JKS format. Public key data This field displays already added private keys Dialog S/MIME Signing Use For the option Signe MIME Add private key Click Add to add the private key in JKS format.. Public key data This field displays already added private keys Dialog Check S/MIME Signature Use For the optione Check MIME signature Unpack signed data If activated, the signed message is transferred unchanged. Otherwise, the signed user data are extracted from the message and only these are transferred. Add public certificate of the signer Click Add to add the certificate of the signer. Certificate data inubit 6.1: Workbench/Process Engine: Modules Guide

250 250 S/MIME (Utility) Dialog Description This field displays already added certificates inubit 6.1: Workbench/Process Engine: Modules Guide

251 23 XML Diff (Utility) 251 This section details the following topics: Output Messages, p. 251 XML Diff Module Settings Dialog, p. 252 Use The XML Diff utility find out the differences between XML documents, XML elements or variables, which are including XML documents. The XML Diff utility is often used for finding out the differences between an older and a newer version of an XML document, for detecting the changes, which have been made in the mean time. Finding out the differences of XML documents is computationally very intensive, therefore Bosch Software Innovations GmbH recommends using a high-performance CPU with high clock frequency and several cores Output Messages The differences are displayed in an XML output message, using insert, update or delete elements. They are referring to the corresponding text nodes of elements and attributes, e. g.: <?xml version="1.0" encoding="utf-8"?> <XmlDifferences count="3"> <Difference> <Type>delete</Type> <Path> /ns1:root/document/position[3]/price </Path> <nodetype>element</nodetype> <nodename>price</nodename> <oldvalue>12.36</oldvalue> </Difference> <Difference> <Type>update</Type> <Path> /ns1:root/document/position[3]/article </Path> <nodetype>element</nodetype> <nodename>article</nodename> <oldvalue>table</oldvalue> inubit 6.1: Workbench/Process Engine: Modules Guide

252 252 XML Diff (Utility) XML Diff Module Settings Dialog <newvalue>chair</newvalue> </Difference> <Difference> <Type>insert</Type> <nodetype>attribute</nodetype> <nodename>orderid</nodename> <newvalue>0815</newvalue> </Difference> </XmlDifferences> 23.2 XML Diff Module Settings Dialog In this dialog, you define which XML structures (XML documents, XML elements or XML variables) should be compared. Base document Select one of these options: D: Indicates an element in an XML document. V: Indicates a variable of the type xs:anytype, which includes an XML document. Fix: For importing a static XML document into the module. Source: By clicking the Set base document button you select an XML document that serves as the basis for comparison. Comparison document Refer to Base document. Object identification If you deal with a list of objects with identifiers, you can accelerate the comparison process by breaking down your diff and transferring single objects of the comparison documents one by one into the diff. To do this, use the Object iterator column to specify the path to the element that will be used to iterate and use the Object identifier column to define the corresponding identifier element or attribute inubit 6.1: Workbench/Process Engine: Modules Guide

253 24 XML Enveloper (Utility) 253 This section explains the following topics: Dialog XML Enveloper Properties, p. 253 Use The XML Enveloper generates an XML-formatted output message from text-based input messages. You need to convert data which does not comply with the XML syntax before using the XML Enveloper. You can, for example, encode binary data with the base64 algorithm Dialog XML Enveloper Properties Properties Character set of the source data/character set of the target document The default setting is the UTF-8 character set. In addition, the following character sets can be selected: CP437, CP850, ISO , US-ASCII, UTF-16, UTF-16BE und UTF- 16LE. You can also enter any other character set, if needed. XML root element name The default name is DATA. You can choose any XML-compliant name. CDATA element (ignore special characters) Select this option if the input message contains reserved XML special characters, such as <, >, or /. When the option is selected, the entire content of the input message is enclosed in a CDATA element (beginning with the tag <![CDATA[ and ending with ]]>). CDATA segments will be ignored in the syntax analysis. Sample CDATA tag Input text file: The number 9 is greater than the number 7. Or: 9 > 7 For divisions, the / character can be used. In XML, tags are enclosed in angle brackets. <ITEM> is an example. inubit 6.1: Workbench/Process Engine: Modules Guide

254 254 XML Enveloper (Utility) Dialog XML Enveloper Properties XML file output: <?xml version="1.0" encoding="iso "?> <DATA> <![CDATA[The number 9 is greater than number 7. Or: 9 > 7 For divisions, the / character can be used. In XML, tags are enclosed in angle brackets. <ITEM> is an example.]]> </DATA> inubit 6.1: Workbench/Process Engine: Modules Guide

255 25 XML Formatter (Utility) 255 This section details the following topics: Examples for Input and Output Messages, p. 255 XML Formatter Properties Dialog, p. 256 Use The XML Formatter is used to format XML input messages. The content of an XML file can be contained in a single, long line. For humans, this type of display is difficult to read, and in the case of larger files, it can be nearly impossible to comprehend. The XML Formatter adds indents and line breaks so that you can work with a legible structure Examples for Input and Output Messages Input message <?xml version="1.0" encoding="iso "?> <Invoice> <test1> <ArticleId>1</ArticleId><Price>1</Price></test1></Invoice> Output message <?xml version="1.0" encoding="iso "?> <Invoice> <test1> <ArticleId>1</ArticleId> <Price>1</Price> </test1> </Invoice> inubit 6.1: Workbench/Process Engine: Modules Guide

256 256 XML Formatter (Utility) XML Formatter Properties Dialog 25.2 XML Formatter Properties Dialog Indentations Indent XML elements Indents XML elements in accordance with their hierarchical position. Number of whitespaces Determines the degree of indentation for the element. The default value is 2. To restore the value after, click the Default button. Newlines Add newlines Adds a line break after 80 characters. This prevents the need for horizontal scrolling. In some cases, however, this option makes an overview more difficult. White spaces Remove leading and trailing white spaces Removes blank spaces in front of and behind an element. Namespaces Activates the following options to optimize the namespaces. Optimize namespaces Removes all duplicate and unused namespace declarations. Remove listed namespaces Removes all namespace declarations indicated in a list; to create the list, click Edit list. Remove all namespaces Removes all namespace declarations. Encoding Character set of the output message Defines the character set for the output. The default setting is the ISO character set. This is the default character set containing all characters used in the major Western European languages (including their country-specific special characters). Alternatively, you can enter any other character set inubit 6.1: Workbench/Process Engine: Modules Guide

257 26 XML Validator (Utility) 257 This section details the following topics: XML Validator Properties Dialog, p. 257 Use For any incoming XML files the XML Validator checks the following: Well-formedness Validity according to an internal/external XML Schema Validity according to an internal/external DTD Depending on the DTDs (or the XML Schema s) size and the location where the file can be accessed, the XML Validator module can have a negative impact on the inubit Process Engine s performance. To minimize this impact, you should save the DTD (or the schema) in the local file directory instead of making it available via a Web server or an external address (such as HTTP or FTP). Validator results Depending on the validation results, processing of input messages proceeds as follows: Validation was successful The input message is forwarded as output message without any changes. Validation failed The input message is forwarded as follows: <Validation> <Errors> <Error [error message]</error> <Errors> <OriginalDocument> [content of the input message] </OriginalDocument> </Validation> 26.1 XML Validator Properties Dialog This dialog offers the following options: inubit 6.1: Workbench/Process Engine: Modules Guide

258 258 XML Validator (Utility) XML Validator Properties Dialog Verification of input message Verify only if input message contains well-formed XML When activated, the module only checks whether the input messages are consistent with the XML rules. For example: - Each message must have exactly one root element. - Each element with content has one start and one end tag. - Start and end tags are twin nested. - No element owns several attributes with the same name. If the verification fails, the error exit is used. Validate input message against XML Schema When activated, the input messages are validated against the XML Schemas which are contained or referenced in the input messages. Validate input message against DTD When activated, the input messages are validated against the DTD which are contained or referenced in the input messages. Use external XML Schema /DTD For validating input messages against an XML Schema or a DTD which is referenced by an URI or loaded into the module statically: URI The file can be accesses via http, ftp or file protocol, e. g.: - file:///usr/local/schema/test.xsd file:///c:/example.xsd Static file After loading the file name, the file size and the file s MIME type are displayed in the dialog. Cache XML Schema/DTD In order to improve the module s performance, files are precompiled and kept in the working memory. Further settings Break validation when finding the first error The validation stops as soon as the first error is found. The rest of the message is not checked. Use error branch as output for the validation error If the validation fails and the Technical Workflow includes an error branch, this branch is activated inubit 6.1: Workbench/Process Engine: Modules Guide

259 27 Web Service Controls 259 This section details the following topics: Invoke, p. 259 OnMessage, p. 261 Receive, p. 261 Reply, p. 263 Use In BPEL processes, Web Service Controls are the main elements for calling and providing Web services. In Technical Workflows Web Service Controls can be used alternatively to Web Services Connectors Invoke An Invoke control calls exactly one operation of a Web service and accepts the Web service s responses. This control does not have any configurable properties, but is configured within the workflow. Create a partnerlink with a partner endpoint before you configure the Invoke control! Dialog Description Service definition PartnerLink For selecting the partnerlink which is to be invoked. Address of the service to be invoked Is displayed automatically as soon as a partnerlink is selected. A click on the button opens the following menu: - Copy address Copies the address of the Web service to the clipboard. - Copy address of WSDL Copies the address of the WSDL to the clipboard. - Show published services inubit 6.1: Workbench/Process Engine: Modules Guide

260 260 Web Service Controls Invoke Opens the Web page and displays all active Web Services provided by the inubit Process Engine. Invoked operation Operation For selecting the operation which the Invoke has to call. In Technical Workflows: As a default the operation is not defined. An attempt is being made to detect the operation on basis of the given SOAP message. - determine according to given SOAP message This option is only activated if you have not defined an operation. - SOAP action Define a SOAP action, if it cannot or should not be detected on basis of the SOAP message. - The operation to be called does not return a result. Activate this option, if the invoked operation does not return a result. Input/output data Use input/output message Only in Technical Workflows. If selected, then the Web service is called with the input message of the control and the Web service s response is output by the control (comparable with Web service Output Connectors). - With complete SOAP message If selected, a complete SOAP message including envelope and body is required as input and the output message includes the complete SOAP message. - With only payload (content of SOAP body) If selected, only the element within the SOAP body is required as input and the output message includes only the content element. Use variables If selected, then the Web service request is generated out of the selected input variable. If the Web service returns a response, then the response is written into the output variable. - Input variable For selecting an already declared variable and for creating a new variable. - Output Variable For selecting an already declared variable and for creating a new variable inubit 6.1: Workbench/Process Engine: Modules Guide

261 Web Service Controls OnMessage OnMessage Use OnMessage controls carry out the same actions as Receive modules, but are always deployed in connection with Pick modules. This control does not have any configurable properties, but is configured within the workflow. Create a partnerlink with a local endpoint, before configuring this control! Refer to - Receive (Workbench/Process Engine: Modules Guide, chap. 27.3, p. 261) - Pick: Usage (Workbench: User Guide, chap , p. 283) 27.3 Receive This section details the following topics: Dialog Web Service Settings, p. 261 Use At the beginning of a workflow, the Receive control waits for a Web service request. As soon as the request arrives, the data is extracted from the request body and filled into the given variable. The workflow is started. Within a workflow the control waits for callbacks of asynchronous Web services. This control does not have any configurable properties, but is configured within the workflow. Create a partnerlink with a local endpoint, before configuring this control! Dialog Web Service Settings This dialog offers the following options: inubit 6.1: Workbench/Process Engine: Modules Guide

262 262 Web Service Controls Receive Mode For selecting the function of the module: Receive request and start workflow The module works as listener and workflow starter. Receive asynchronous callback and resume workflow The module works as callback listener, especially when calling asynchronous Web Services. Service definition PartnerLink For selecting the partnerlink. Address of the provided service Is displayed automatically as soon as a partnerlink is selected. A click on the button opens the following menu: - Copy address Copies the address of the Web service to the clipboard. - Copy address of WSDL Copies the address of the WSDL to the clipboard. - Show published services Opens the Web page and displays all active Web Services provided by the inubit Process Engine. Accepted operation Operation For selecting the operation which the control provides. Received data Set output message Only in Technical Workflows. If selected, then the control writes the received request into the message (comparable with Web Services Input Connectors). - With complete SOAP message If selected, a complete SOAP message is output. - With only payload (content of SOAP body) If selected, only the content of the SOAP body is output. Set variable content If selected, then the control writes the received request into the given variable. - Variable For selecting an already declared variable and for creating a new variable inubit 6.1: Workbench/Process Engine: Modules Guide

263 Web Service Controls Reply Reply A Reply control returns the result of a Technical Workflow or BPEL process as SOAP response to the calling Web Service Dialog Descriptions This section details the following topics: Dialog Reply Module Settings in Technical Workflows, p. 263 Dialog Reply Module Properties in BPEL Diagrams, p Dialog Reply Module Settings in Technical Workflows This dialog offers the following options: Response data Use input message as output Useful for example when combined with a Web Services Input Connector in order to display the return of values explicitly and thus to improve the readability of the workflow. Create output from variable content Generates a SOAP message out of the input message which is used as response. Response creation from variable Module receiving incoming request Information which Receive or onmessage module or which Web Services Input Connector has accepted the request for which the response is to be generated. - Operation Shows, which operation the module offers. Response type Normal response Generates a positive response, according to the output message which is defined in the partnerlink. - Variable Name of the variable from whose content the answer is to be generated. Error response inubit 6.1: Workbench/Process Engine: Modules Guide

264 264 Web Service Controls Reply Only active, if in the partnerlink a fault output message is defined. - Error name/error variable List of defined error names and error variables Dialog Reply Module Properties in BPEL Diagrams This dialog offers the following options: Response creation from variable Module receiving incoming request Information which Receive or onmessage module or which Web Services Input Connector has accepted the request for which the response is to be generated. - Operation Shows, which operation the module offers. Response type Normal Response Generates a positive response, according to the output message which is defined in the partnerlink. - Variable Name of the variable from which content the answer is generated. Error Response Only active, if a return parameter is defined in the Web Service definition. - Error name/error variable List of defined error names and error variables inubit 6.1: Workbench/Process Engine: Modules Guide

265 28 Workflow Controls 265 This section details the following topics: Assign, p. 265 Compensate, p. 266 Compensate Scope, p. 266 Demultiplexer, p. 266 Empty, p. 270 Exit, p. 271 Joiner, p. 271 Multiplexer, p. 271 Rethrow, p. 275 Splitter, p. 275 Throw, p. 276 Validate, p. 277 Wait, p. 278 Workflow Connector, p. 278 Workflow Starter, p. 281 Use Workflow Controls manage the sequence of processing in Technical Workflows and BPEL diagrams. With the Workflow Controls, you can implement all common EAI and Workflow Patterns Assign Use The Assign module enables you to modify variable values. You can e.g. copy variable values, map incoming/output messages to variables or validate variables (thus supporting the validate attribute). This module type has no configurable properties. Assignments are made in the workflow using the variable mapping feature. Refer to - BPEL Diagrams (Workbench: User Guide, chap. 11, p. 277) - Workflow Variables and Mappings (Workbench: User Guide, chap. 14, p. 351) inubit 6.1: Workbench/Process Engine: Modules Guide

266 266 Workflow Controls Compensate 28.2 Compensate Use A Compensate module is always connected to the error or compensation output of a scope, which includes at least one more scope. As soon as the configured error or compensation case occurs, the Compensate module activates all compensation outputs of internal scopes, which had been executed successfully already. This undoes the actions of the internal scopes. This is comparable to the rollback mechanism of database transactions. This module type has no configurable properties. Refer to BPEL Diagrams (Workbench: User Guide, chap. 11, p. 277) Compensate Scope Use The Compensate Scope is comparable to the Compensate module. The difference is that the compensation output of only one, specified scope is activated. Refer to Configuring Compensation in Scopes (Workbench: User Guide, chap , p. 300). This module type has no configurable properties. The called scope resp. it s compensation output is defined at the module in the workflow Demultiplexer This section details the following topics: Defining Conditions for Message Transfers, p. 267 Dialog Demultiplexer Configuration, p inubit 6.1: Workbench/Process Engine: Modules Guide

267 Workflow Controls Demultiplexer 267 Use The Demultiplexer transfers an input message to one of several outputs, provided that the conditions are fulfilled, which are specified for the output. The module can split XML-based input messages into several parts before transferring them Defining Conditions for Message Transfers After you have added the Demultiplexer to a diagram and connected it with the subsequent modules, you will specify the conditions for transferring the input message. Proceed as follows 1. Select a connection by using one of the following alternatives: - Double-click a connection between the Demultiplexer and the subsequent module. - Select the connection, open the context menu, and select Edit Demultiplexer Configuration. A dialog is displayed. 2. Define under which circumstances the selected connection should be used: - Always, if no condition or Business Rule applies: Select the option use this connection in case no conditions on other connections apply. - If one or more conditions apply: Click the Add condition button.the entry fields for defining conditions are opened. A condition consists of the following elements: - Value in the XML input message itself or a variable value in the message or an XPath expression referring to the XML input message. - Comparison value (XML data, variables or a character string) - An operator that defines the type of the comparison value. For each connection, you can define several conditions and you can match them with AND or OR. - If a Business Rule applies: Click the button Use business rule. The control panels for selecting a routing rule are displayed. The routing rule must already be created and saved in the Repository. Refer to Using Business Rules (Workbench: User Guide, chap. 15, p. 381). 3. Split XML input message inubit 6.1: Workbench/Process Engine: Modules Guide

268 268 Workflow Controls Demultiplexer An XML input message can be split in several output messages. Thus, you can e.g. split an XML input message containing several orders in order elements into several messages each containing one order in one order element. If such a message is split e.g. at the order elements, order is the splitting element and becomes the root element in the newly created messages. The splitting element is defined by means of an XPath expression. a. In order to create the XPath expression, click the button next to the option XML splitting element. The XPath assistant opens. Refer to XPath Assistant (Workbench: User Guide, chap. 1.17, p. 66). b. Load a sample message containing the splitting element and drag the splitting element to the XPath field. c. Close the dialog with OK. 4. To configure the next connection, select the next module for which you would like to define connection conditions from the Module for connecting drop-down list and repeat the steps 2 and Click OK to save the configured connections and to close the dialog Dialog Demultiplexer Configuration Modules for connections List of all modules which are connected with the tool. The dialog always shows the configuration of the currently selected module and its exit, respectively. The exits are processed in the order they are displayed in the list. You can change this order by using the arrow buttons. Description Explanatory comment. Shown on the connection line. Conditions Use this output if no conditions on other connections apply Defines the connection as the default output for all messages that do not fulfill any of the other conditions. This connection is automatically named otherwise. When the option is not enabled and the message does not fulfill any of the requirements, an error is generated and displayed in Monitoring. Add condition (button) inubit 6.1: Workbench/Process Engine: Modules Guide

269 Workflow Controls Demultiplexer 269 Shows the following control fields for defining conditions: - Operator: For connecting two or more conditions. - AND: All conditions must apply. - OR: One of the conditions must apply. - Button "D": The condition applies to an element in the XML based data stream. In the input field, an XPath expression to must be entered. If there is a sample XML file, click on the button and select the element interactively. - Button "V": The condition applies to a system variable. The list offers all system variables. - Button "X": The condition applies to n XPath expression The XPath is processed on an empty document, not on the data stream. The button opens a wizard for creating the XPath expression. - Operator selection box Selects an operator for a value comparison. The following operators can be selected: Operator Meaning = equal to < less than > greater than >= greater than or equal to <= less than or equal to!= not equal to Exists exists NotExists does not exist XPath XPath expression - Buttons "D" and "V": See above - Button "S": The condition applies to a string. Example: - /ORDER/ORDERTOTAL > /ORDER/DELIVERY/ = Express - /IBISProfile/Profile/Name Exists If the Name node exists in the incoming message, then the process branches to this connection. inubit 6.1: Workbench/Process Engine: Modules Guide

270 270 Workflow Controls Empty - count(/order/test1) > 1 If the XPath function s count analysis shows that the /Order/ test1 node exists more than once, then the process branches to this connection. Use Business Rules (Button) Displays the following controls for assigning a Business Rule: Refer to Assigning Rules on the Technical Level (Workbench: User Guide, chap. 15.7, p. 390). Splitting configuration XML splitting element XML-based input messages can be split at a selected splitting element. For instance, you can split an invoice containing four individual items into four invoices each containing one item. The splitting element is defined by means of an XPath expression and is transformed into the root element in the newly created messages. The button next to the option opens the XPath assistant in order to define the XPath expression. Refer to XPath Assistant (Workbench: User Guide, chap. 1.17, p. 66). Execute splitting on higher level? Expands splitting to include the parent node of the splitting element. This option is useful if the parent node contains metadata needed for each message created by the splitting Empty Use An Empty module does not perform any action. It simply transfers the input messages without modifications on to the subsequent module inubit 6.1: Workbench/Process Engine: Modules Guide

271 Workflow Controls Exit 271 Example: An Empty Module can be used as a singular module in the error exit, in case an error is caught but not processed any further. This module type has no configurable properties Exit Use The Exit module ends the execution of a workflow. It can be used at branches, for ending the workflow execution or if none of the connection conditions of the diverse connections applies. This module type has no configurable properties Joiner Use A Joiner aggregates two or more input messages and transfers them as one message to the subsequent module; messages simply pass through the module, without any modification. The Joiner module has no configurable properties Multiplexer This section details the following topics: Dialog Multiplexer Properties, p. 273 Use A Multiplexer merges several incoming XML messages arriving at various times into one output XML message. inubit 6.1: Workbench/Process Engine: Modules Guide

272 272 Workflow Controls Multiplexer Merging of variables The variables of all incoming branches are merged. The basis is formed by the variables of the branch taken last of all. The variables of all other branches are added in case their variable names do not yet exist in the basis. Example The following illustration demonstrates how two messages from two connectors are merged into one message at the multiplexer and are forwarded: In the following illustration, the multiplexer merges a message from the splitter with the results of the database query: Configuration A Multiplexer module has no configurable properties. Merging the messages is configured in the workflow at the input connections. Format of the output message The output message has an inubit-internal XML format, which can be configured to a large extent inubit 6.1: Workbench/Process Engine: Modules Guide

273 Workflow Controls Multiplexer Dialog Multiplexer Properties Call up In the Technical Workflow > open the Multiplexer input context menu > Select Edit configuration data of multiplexer. Use the dialog for Multiplexer properties to specify how you want the Multiplexer to merge input messages. The settings for the Envelope-XML element and for the mode apply to all incoming connections of the multiplexer. All other settings only apply to the specific connection selected in the list Module for connection. XML Root Envelope Envelope XML element for output message: Enter the name of the XML message s root element of the XML output message generated by the Multiplexer. Mode Process only messages from one workflow execution: If activated, the Multiplexer processes only messages belonging to the same workflow execution and which thus have the same process ID ( system variable ISProcessID). Time controlled processing of the message (FIFO): When activated, messages are processed in the order they are received at the Multiplexer ( first in, first out ). In FIFO mode, it is not possible to handle messages from different workflow instances separately. Use isprocessid, isglobalprocessid and istagname from In the FIFO mode, you can specify the connection from which the system variables mentioned above are to be used. Module Module for connecting: The list displays all modules that are connected to the Multiplexer s input. Select the module whose connection with the Multiplexer you would like to configure. Each connection must be configured separately. If not all connections are configured, messages are processes in a time-controlled manner (FIFO). Description Description of the connection. The description is displayed on the connection line. inubit 6.1: Workbench/Process Engine: Modules Guide

274 274 Workflow Controls Multiplexer Value matching Use XML element from input message for value matching If activated, the value of a selected XML element is matched in all input messages and the Multiplexer merges only those messages whose values correlate. By using this function, you can e.g. merge all messages containing the same order number. XML element: Specify the XPath to the XML element in the incoming XML document that will be used for value matching. Alternatively, you can click to load a suitable sample file and select the XML element in the file. Miscellaneous Set XML envelope element for message: Select this option to enclose the input message in an element with an individually indicated name. Ignore XML root element in input message: If you select Yes, the Multiplexer merges the input message with the other messages while leaving out the root element. Input message required: If you select Yes, the Multiplexer waits for the input message. Process execution only continues after the message arrived. If you select No, the Multiplexer processes the input messages as soon as it arrives. However, in case the input message has not yet arrived while for all other connections the conditions for continued workflow processing are fulfilled, the Multiplexer waits for the expiration of the Timeout. After that, the workflow is continued. Ignore input message: If you select Yes, the arrival of the input message is used as a trigger to continue the workflow (provided that conditions at the other connections are fulfilled). The input message itself is not transferred. Timeout: Specifies how long the Multiplexer should wait for the arrival of a message at this entry point. If the specified time has been exceeded without the arrival of a message - either the workflow is cancelled and throws an error if the input message was required - or the process is continued if the message was not mandatory. A timeout starts as soon as the first message for the process has been received. This is also the starting point for calculating timeout intervals for other messages that have yet to be received. A timeout equaling 0 means that the Multiplexer will wait indefinitely ( disabling the Multiplexer). Number of input messages: Number of expected messages per workflow execution inubit 6.1: Workbench/Process Engine: Modules Guide

275 Workflow Controls Rethrow Rethrow Use A Rethrow module is used in nested scopes for forwarding errors, which are not dealt with at the current error output, to the error output of the next outer scope. Unlike when using a Throw module, which creates a new error, the Rethrow module always forwards the same error instance Splitter This section details the following topics: Dialog Splitter, p. 275 Use A Splitter multiplies input messages and transfers them to the subsequent modules. The number of output messages depends on the number of outputs of the Splitter. This module type has no configurable properties. You specify the connections processing order in the workflow Dialog Splitter Modules for connecting In the list all modules are displayed which are connected with the splitter. The connections are processes in the same order they are displayed in the list. The processing order can be modified by using the arrow buttons shown above the list inubit 6.1: Workbench/Process Engine: Modules Guide

276 276 Workflow Controls Throw Throw This section details the following topics: Dialog Throw Settings, p. 276 Use A Throw control produces an error which can be caught and handled by the error exit of a scope, for example. If needed, an entry in the Queue Manager is created and an is send to a configurable recipient. By using a Throw control you can define errors yourself and catch and handle them, for example, with the error exit of a Scope. You define the name of the error and the variable, in which the information about the error should be written, after having added the Throw to the workflow. When executing the Throw, an entry is created in the Queue Manager by default and an error mail is sent. You can switch this behavior off. When testing, the error is displayed in the default error dialog. This control does not have any configurable module properties Dialog Throw Settings Call up By clicking the Settings button after inserting the Throw control into the workflow. Options Error name (ISErrorKey) Name of the error. The name is used for matching the error to the corresponding error exit at the scope. Error text (ISErrorString) - Fixed value Static error message - From variable value inubit 6.1: Workbench/Process Engine: Modules Guide

277 Workflow Controls Validate 277 For selecting the variable from which the error message is to be read. Create entry in Queue Manager and send error mail If activated, the error causes an entry in the Queue Manager. Additionally an is send. For information about configuring the s recipient, refer to After incorrect execution to (Workbench: User Guide, chap. 2, p. 107) Validate This section details the following topics: Dialog Validate Module Settings, p. 277 Use The Validate control checks selected variable values against XML Schemas or WSDL files that are referenced at the workflow. If the validation was successful, then the process is running further. Otherwise an error is thrown and the validation result is output as part of the error message. Refer to Handling and Suppressing Errors (Workbench: User Guide, chap. 12.3, p. 293) Dialog Validate Module Settings In this dialog you select the variables which should be validated. The list contains all variables which are defined in the workflow. Clicking on the Plus button copies the selected variable into the display area above the list. inubit 6.1: Workbench/Process Engine: Modules Guide

278 278 Workflow Controls Wait Wait Use A Wait module stops the execution of a workflow for a specified period, or until a particular point in time has been reached or corresponding to the result of an XPath expression. When waiting, the workflow changes from the Processing status into the Waiting status. The module configuration is specified in the workflow by using the context menu of the module! Workflow Connector This section details the following topics: Dialog Module Selection, p. 281 A Workflow Connector connects Technical Workflows. By using it, you can modularize Technical Workflows and reuse individual partial workflows in other Technical Workflows. Use A Workflow Connector connects a Technical Workflow with a subworkflow and thus enables re-using Technical Workflows in other Technical Workflows. When creating a Workflow Connector you can define, amongst others, if the subworkflow should be called synchronously or asynchronously: inubit 6.1: Workbench/Process Engine: Modules Guide

inubit 6.1 Quick Start

inubit 6.1 Quick Start inubit 6.1 Quick Start Copyright Bosch Software Innovations GmbH Schöneberger Ufer 89-91 10785 Berlin Germany Phone: +49.30.72 61 12-0 Fax: +49.30.72 61 12-100 E-Mail: info@bosch-si.com URL: www.bosch-si.com

More information

inubit 6.1 inubit Solution Center 3.0 User Guide

inubit 6.1 inubit Solution Center 3.0 User Guide inubit 6.1 inubit Solution Center 3.0 User Guide Copyright Bosch Software Innovations GmbH Schöneberger Ufer 89-91 10785 Berlin Germany Phone: +49.30.72 61 12-0 Fax: +49.30.72 61 12-100 E-Mail: info@bosch-si.com

More information

inubit 6.1 Migration Guide

inubit 6.1 Migration Guide inubit 6.1 Migration Guide Copyright Bosch Software Innovations GmbH Schöneberger Ufer 89-91 10785 Berlin Germany Phone: +49.30.72 61 12-0 Fax: +49.30.72 61 12-100 E-Mail: info@bosch-si.com URL: www.bosch-si.com

More information

inubit Suite 6 Quick Start

inubit Suite 6 Quick Start inubit Suite 6 Quick Start Copyright inubit AG Schöneberger Ufer 89-91 10785 Berlin Germany Phone: +49.30.72 61 12-0 Fax: +49.30.72 61 12-100 E-Mail: contact@inubit.com URL: www.inubit.com inubit AG 2011

More information

inubit Suite 6 Tutorials

inubit Suite 6 Tutorials inubit Suite 6 Tutorials Copyright inubit AG Schöneberger Ufer 89-91 10785 Berlin Germany Phone: +49.30.72 61 12-0 Fax: +49.30.72 61 12-100 E-Mail: contact@inubit.com URL: www.inubit.com inubit AG 2011

More information

inubit 6.1 inubit Process Engine Administrator and Developer Guide

inubit 6.1 inubit Process Engine Administrator and Developer Guide inubit 6.1 inubit Process Engine Administrator and Developer Guide Copyright Bosch Software Innovations GmbH Schöneberger Ufer 89-91 10785 Berlin Germany Phone: +49.30.72 61 12-0 Fax: +49.30.72 61 12-100

More information

Apache FOP: Configuration

Apache FOP: Configuration $Revision: 446928 $ Table of contents 1 Configuration File Basics... 2 1.1 Making Configuration Available to FOP... 2 2 Summary of the General Configuration Options... 2 3 Renderer configuration... 4 3.1

More information

Apache FOP: Configuration

Apache FOP: Configuration $Revision: 562023 $ Table of contents 1 Configuration File Basics... 2 1.1 Making Configuration Available to FOP... 2 2 Summary of the General Configuration Options... 2 3 Renderer configuration... 6 3.1

More information

inubit 6.1 inubit Workbench/Process Engine System Connectors Guide

inubit 6.1 inubit Workbench/Process Engine System Connectors Guide inubit 6.1 inubit Workbench/Process Engine System Connectors Guide Copyright Bosch Software Innovations GmbH Schöneberger Ufer 89-91 10785 Berlin Germany Phone: +49.30.72 61 12-0 Fax: +49.30.72 61 12-100

More information

Oracle Cloud. Using the Oracle Mapper Release 16.4 E

Oracle Cloud. Using the Oracle Mapper Release 16.4 E Oracle Cloud Using the Oracle Mapper Release 16.4 E64409-09 December 2016 This guide describes how to use the mapper to map source data structures to target data structures. Oracle Cloud Using the Oracle

More information

inubit Suite 6 inubit Workbench/Process Engine System Connectors Guide

inubit Suite 6 inubit Workbench/Process Engine System Connectors Guide inubit Suite 6 inubit Workbench/Process Engine System Connectors Guide Copyright inubit AG Schöneberger Ufer 89-91 10785 Berlin Germany Phone: +49.30.72 61 12-0 Fax: +49.30.72 61 12-100 E-Mail: contact@inubit.com

More information

This script in Report.OnRenderBegin will get the RenderDetails for PDF.

This script in Report.OnRenderBegin will get the RenderDetails for PDF. Render Details When rendering a report, various output options can be set using the Render Wizard. These options are stored in the report when you save and therefore apply on the server also. If you want

More information

Format Type Support Thru. vector (with embedded bitmaps)

Format Type Support Thru. vector (with embedded bitmaps) 1. Overview of Graphics Support The table below summarizes the theoretical support for graphical formats within FOP. In other words, within the constraints of the limitations listed here, these formats

More information

Tzunami Deployer Lotus Notes Exporter Guide

Tzunami Deployer Lotus Notes Exporter Guide Tzunami Deployer Lotus Notes Exporter Guide Version 2.5 Copyright 2010. Tzunami Inc. All rights reserved. All intellectual property rights in this publication are owned by Tzunami, Inc. and protected by

More information

Style Report Enterprise Edition

Style Report Enterprise Edition INTRODUCTION Style Report Enterprise Edition Welcome to Style Report Enterprise Edition! Style Report is a report design and interactive analysis package that allows you to explore, analyze, monitor, report,

More information

User guide. PRISMAdirect Order processing

User guide. PRISMAdirect Order processing User guide PRISMAdirect Order processing Copyright 2016, Océ All rights reserved. No part of this work may be reproduced, copied, adapted, or transmitted in any form or by any means without written permission

More information

Legal Notes. Regarding Trademarks. Models supported by the KX printer driver KYOCERA MITA Corporation

Legal Notes. Regarding Trademarks. Models supported by the KX printer driver KYOCERA MITA Corporation Legal Notes Unauthorized reproduction of all or part of this guide is prohibited. The information in this guide is subject to change without notice. We cannot be held liable for any problems arising from

More information

P6 Professional Reporting Guide Version 18

P6 Professional Reporting Guide Version 18 P6 Professional Reporting Guide Version 18 August 2018 Contents About the P6 Professional Reporting Guide... 7 Producing Reports and Graphics... 9 Report Basics... 9 Reporting features... 9 Report Wizard...

More information

Connecting to System i System i Access for Web

Connecting to System i System i Access for Web System i Connecting to System i System i Access for Web Version 6 Release 1 System i Connecting to System i System i Access for Web Version 6 Release 1 Note Before using this information and the product

More information

ER/Studio Enterprise Portal User Guide

ER/Studio Enterprise Portal User Guide ER/Studio Enterprise Portal 1.1.1 User Guide Copyright 1994-2009 Embarcadero Technologies, Inc. Embarcadero Technologies, Inc. 100 California Street, 12th Floor San Francisco, CA 94111 U.S.A. All rights

More information

KYOCERA Net Admin User Guide

KYOCERA Net Admin User Guide KYOCERA Net Admin User Guide Legal Notes Unauthorized reproduction of all or part of this guide is prohibited. The information in this guide is subject to change without notice. We cannot be held liable

More information

User Manual. pdoc Forms Designer. Version 3.7 Last Update: May 25, Copyright 2018 Topaz Systems Inc. All rights reserved.

User Manual. pdoc Forms Designer. Version 3.7 Last Update: May 25, Copyright 2018 Topaz Systems Inc. All rights reserved. User Manual pdoc Forms Designer Version 3.7 Last Update: May 25, 2018 Copyright 2018 Topaz Systems Inc. All rights reserved. For Topaz Systems, Inc. trademarks and patents, visit www.topazsystems.com/legal.

More information

Group footers The two columns example The Barcodes and dynamic images example explained The chart example explained...

Group footers The two columns example The Barcodes and dynamic images example explained The chart example explained... J4L FO Designer 2.7 Table of contents 1. Introduction...4 Requirements...4 Setup & startup...5 Delivered files...8 2. The user interface...9 The properties view...10 XML Schema folder...12 The XML test

More information

Using the VMware vcenter Orchestrator Client. vrealize Orchestrator 5.5.1

Using the VMware vcenter Orchestrator Client. vrealize Orchestrator 5.5.1 Using the VMware vcenter Orchestrator Client vrealize Orchestrator 5.5.1 You can find the most up-to-date technical documentation on the VMware website at: https://docs.vmware.com/ If you have comments

More information

Business Insight Authoring

Business Insight Authoring Business Insight Authoring Getting Started Guide ImageNow Version: 6.7.x Written by: Product Documentation, R&D Date: August 2016 2014 Perceptive Software. All rights reserved CaptureNow, ImageNow, Interact,

More information

Dell One Identity Manager Administration Guide for Connecting to SharePoint

Dell One Identity Manager Administration Guide for Connecting to SharePoint Dell One Identity Manager 7.1.3 Administration Guide for Connecting to SharePoint 2016 Dell Inc. All rights reserved. This product is protected by U.S. and international copyright and intellectual property

More information

Printer Driver User Guide

Printer Driver User Guide PRINT COPY SCAN FAX ECOSYS M660idn ECOSYS M655idn ECOSYS M65idn ECOSYS M65dn Printer Driver User Guide PRINT COPY SCAN ECOSYS M5idn ECOSTS M5dn Legal Notes Unauthorized reproduction of all or part of this

More information

Avaya Event Processor Release 2.2 Operations, Administration, and Maintenance Interface

Avaya Event Processor Release 2.2 Operations, Administration, and Maintenance Interface Avaya Event Processor Release 2.2 Operations, Administration, and Maintenance Interface Document ID: 13-603114 Release 2.2 July 2008 Issue No.1 2008 Avaya Inc. All Rights Reserved. Notice While reasonable

More information

ImageNow eforms. Getting Started Guide. ImageNow Version: 6.7. x

ImageNow eforms. Getting Started Guide. ImageNow Version: 6.7. x ImageNow eforms Getting Started Guide ImageNow Version: 6.7. x Written by: Product Documentation, R&D Date: September 2016 2014 Perceptive Software. All rights reserved CaptureNow, ImageNow, Interact,

More information

Ad Creation Guide. Table of Contents

Ad Creation Guide. Table of Contents Ad Creation Guide Table of Contents BEST PRACTICES 2 INDESIGN USERS 4 QUARKXPRESS 4, 5, AND 6 USERS 5 QUARKXPRESS 7, 8, AND 9 USERS 7 DISTILLING 9 INDESIGN PRESET DETAILS 10 QUARKXPRESS PRINT STYLE DETAILS

More information

Printer Driver User Guide

Printer Driver User Guide PRINT COPY SCAN FAX TASKalfa 0i TASKalfa i Printer Driver User Guide Legal Notes Unauthorized reproduction of all or part of this guide is prohibited. The information in this guide is subject to change

More information

Using the VMware vrealize Orchestrator Client

Using the VMware vrealize Orchestrator Client Using the VMware vrealize Orchestrator Client vrealize Orchestrator 7.0 This document supports the version of each product listed and supports all subsequent versions until the document is replaced by

More information

9. The two columns example The Barcodes and dynamic images example explained The chart example explained

9. The two columns example The Barcodes and dynamic images example explained The chart example explained J4L FO Designer 2.4 Table of contents 1. Introduction...4 Requirements...4 Setup & startup...5 Delivered files...8 2. The user interface...9 The properties view...10 XML Schema folder...12 The XML test

More information

GA Printing from Mac OS

GA Printing from Mac OS GA-1310 Printing from Mac OS 2009 Electronics for Imaging, Inc. The information in this publication is covered under Legal Notices for this product. 45085389 5 May 2009 CONTENTS 3 CONTENTS INTRODUCTION

More information

Release Notes1.1 Skelta BPM.NET 2009 March 2010 Release <Version > Date: 20 th May, 2010

Release Notes1.1 Skelta BPM.NET 2009 March 2010 Release <Version > Date: 20 th May, 2010 Skelta BPM.NET 2009 March 2010 Release Date: 20 th May, 2010 Document History Date Version No. Description of creation/change 30 th March, 2010 1.0 Release Notes for March Update

More information

10. The Barcodes and dynamic images example explained The chart example explained The running totals example explained

10. The Barcodes and dynamic images example explained The chart example explained The running totals example explained J4L FO Designer 2.1 Table of contents 1. Introduction...4 Requirements...4 Setup & startup...5 Delivered files...8 2. The user interface...9 The properties view...10 XML Schema folder...12 The XML test

More information

TIBCO Spotfire Automation Services 7.5. User s Manual

TIBCO Spotfire Automation Services 7.5. User s Manual TIBCO Spotfire Automation Services 7.5 User s Manual Revision date: 15 January 2016 Important Information SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCH EMBEDDED OR BUNDLED TIBCO

More information

Printer Driver User Guide

Printer Driver User Guide PRINT ECOSYS P500cdn ECOSYS P500cdw ECOSYS P50cdn ECOSYS P50cdw ECOSYS P505cdn ECOSYS P506cdn ECOSYS P506cdw Printer Driver User Guide PRINT COPY SCAN FAX ECOSYS M550cdn ECOSYS M550cdw ECOSYS M55cdn ECOSYS

More information

One Identity Manager Administration Guide for Connecting to SharePoint

One Identity Manager Administration Guide for Connecting to SharePoint One Identity Manager 8.0.2 Administration Guide for Connecting to Copyright 2018 One Identity LLC. ALL RIGHTS RESERVED. This guide contains proprietary information protected by copyright. The software

More information

Authorized Send User s Guide Version 4.0

Authorized Send User s Guide Version 4.0 Canon Authorized Send User s Guide Version 4.0 08011-40-UD1-003 This page is intentionally left blank. 2 Authorized Send User s Guide Contents Preface...5 How to Use This Manual... 5 Symbols Used in This

More information

ARIS Architect QUICK START GUIDE. Version Service Release 7

ARIS Architect QUICK START GUIDE. Version Service Release 7 ARIS Architect QUICK START GUIDE Version 9.8 - Service Release 7 December 2016 This document applies to ARIS Version 9.8 and to all subsequent releases. Specifications contained herein are subject to change

More information

C1 CMS User Guide Orckestra, Europe Nygårdsvej 16 DK-2100 Copenhagen Phone

C1 CMS User Guide Orckestra, Europe Nygårdsvej 16 DK-2100 Copenhagen Phone 2017-02-13 Orckestra, Europe Nygårdsvej 16 DK-2100 Copenhagen Phone +45 3915 7600 www.orckestra.com Content 1 INTRODUCTION... 4 1.1 Page-based systems versus item-based systems 4 1.2 Browser support 5

More information

Printer Driver User Guide

Printer Driver User Guide PRINT COPY SCAN FAX TASKalfa 700i TASKalfa 800i Printer Driver User Guide Legal Notes Unauthorized reproduction of all or part of this guide is prohibited. The information in this guide is subject to change

More information

COGNOS (R) ENTERPRISE BI SERIES COGNOS REPORTNET (TM)

COGNOS (R) ENTERPRISE BI SERIES COGNOS REPORTNET (TM) COGNOS (R) ENTERPRISE BI SERIES COGNOS REPORTNET (TM) GETTING STARTED Cognos ReportNet Getting Started 07-05-2004 Cognos ReportNet 1.1MR1 Type the text for the HTML TOC entry Type the text for the HTML

More information

Product Documentation. ER/Studio Portal. User Guide. Version Published February 21, 2012

Product Documentation. ER/Studio Portal. User Guide. Version Published February 21, 2012 Product Documentation ER/Studio Portal User Guide Version 1.6.3 Published February 21, 2012 2012 Embarcadero Technologies, Inc. Embarcadero, the Embarcadero Technologies logos, and all other Embarcadero

More information

Business Intelligence and Reporting Tools

Business Intelligence and Reporting Tools Business Intelligence and Reporting Tools Release 1.0 Requirements Document Version 1.0 November 8, 2004 Contents Eclipse Business Intelligence and Reporting Tools Project Requirements...2 Project Overview...2

More information

Nimsoft Service Desk. Single Sign-On Configuration Guide. [assign the version number for your book]

Nimsoft Service Desk. Single Sign-On Configuration Guide. [assign the version number for your book] Nimsoft Service Desk Single Sign-On Configuration Guide [assign the version number for your book] Legal Notices Copyright 2012, CA. All rights reserved. Warranty The material contained in this document

More information

TOSHIBA GA Printing from Mac OS

TOSHIBA GA Printing from Mac OS TOSHIBA GA-1211 Printing from Mac OS 2008 Electronics for Imaging, Inc. The information in this publication is covered under Legal Notices for this product. 45075930 24 October 2008 CONTENTS 3 CONTENTS

More information

HTMLDOC On Line Help

HTMLDOC On Line Help HTMLDOC On Line Help HTMLDOC On Line Help Table of Contents HTMLDOC On Line Help...1 Loading and Saving Books...2 The Input Tab...3 Setting the Document Type...3 Adding HTML Input Files...3 Adding URLs...3

More information

User Manual. Admin Report Kit for Exchange Server

User Manual. Admin Report Kit for Exchange Server User Manual Admin Report Kit for Exchange Server Table of Contents 1 About ARKES-Admin Report Kit for Exchange Server 1 1.1 System requirements 2 1.2 How to activate the software? 3 1.3 ARKES Reports Primer

More information

Writer Guide. Chapter 5 Printing, Exporting, Faxing, and ing

Writer Guide. Chapter 5 Printing, Exporting, Faxing, and  ing Writer Guide Chapter 5 Printing, Exporting, Faxing, and E-Mailing Copyright This document is Copyright 2005 2010 by its contributors as listed below. You may distribute it and/or modify it under the terms

More information

Report Designer Report Types Table Report Multi-Column Report Label Report Parameterized Report Cross-Tab Report Drill-Down Report Chart with Static

Report Designer Report Types Table Report Multi-Column Report Label Report Parameterized Report Cross-Tab Report Drill-Down Report Chart with Static Table of Contents Report Designer Report Types Table Report Multi-Column Report Label Report Parameterized Report Cross-Tab Report Drill-Down Report Chart with Static Series Chart with Dynamic Series Master-Detail

More information

API Gateway Version September Key Property Store User Guide

API Gateway Version September Key Property Store User Guide API Gateway Version 7.5.2 15 September 2017 Key Property Store User Guide Copyright 2017 Axway All rights reserved. This documentation describes the following Axway software: Axway API Gateway 7.5.2 No

More information

ABBYY FineReader 14. User s Guide ABBYY Production LLC. All rights reserved.

ABBYY FineReader 14. User s Guide ABBYY Production LLC. All rights reserved. ABBYY FineReader 14 User s Guide 2017 ABBYY Production LLC All rights reserved Information in this document is subject to change without notice and does not bear any commitment on the part of ABBYY The

More information

Early Data Analyzer Web User Guide

Early Data Analyzer Web User Guide Early Data Analyzer Web User Guide Early Data Analyzer, Version 1.4 About Early Data Analyzer Web Getting Started Installing Early Data Analyzer Web Opening a Case About the Case Dashboard Filtering Tagging

More information

Coveo Platform 6.5. Microsoft SharePoint Connector Guide

Coveo Platform 6.5. Microsoft SharePoint Connector Guide Coveo Platform 6.5 Microsoft SharePoint Connector Guide Notice The content in this document represents the current view of Coveo as of the date of publication. Because Coveo continually responds to changing

More information

Creating Dashboard. Version: 7.3

Creating Dashboard. Version: 7.3 Creating Dashboard Version: 7.3 Copyright 2015 Intellicus Technologies This document and its content is copyrighted material of Intellicus Technologies. The content may not be copied or derived from, through

More information

BW C SILWOOD TECHNOLOGY LTD. Safyr Metadata Discovery Software. Safyr User Guide

BW C SILWOOD TECHNOLOGY LTD. Safyr Metadata Discovery Software. Safyr User Guide BW C SILWOOD TECHNOLOGY LTD Safyr Metadata Discovery Software Safyr User Guide S I L W O O D T E C H N O L O G Y L I M I T E D Safyr User Guide Safyr 7.1 This product is subject to the license agreement

More information

Delivery Options: Attend face-to-face in the classroom or remote-live attendance.

Delivery Options: Attend face-to-face in the classroom or remote-live attendance. XML Programming Duration: 5 Days Price: $2795 *California residents and government employees call for pricing. Discounts: We offer multiple discount options. Click here for more info. Delivery Options:

More information

SAS Model Manager 2.3

SAS Model Manager 2.3 SAS Model Manager 2.3 Administrator's Guide SAS Documentation The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2010. SAS Model Manager 2.3: Administrator's Guide. Cary,

More information

XDS Connector. Installation and Setup Guide. Version: 1.0.x

XDS Connector. Installation and Setup Guide. Version: 1.0.x XDS Connector Installation and Setup Guide Version: 1.0.x Written by: Product Knowledge, R&D Date: November 2016 2016 Lexmark. All rights reserved. Lexmark is a trademark of Lexmark International Inc.,

More information

EMC ApplicationXtender Web Access

EMC ApplicationXtender Web Access EMC ApplicationXtender Web Access Version 8.1 User Guide EMC Corporation Corporate Headquarters Hopkinton, MA 01748-9103 1-508-435-1000 www.emc.com Legal Notice Copyright 1994 2016 EMC Corporation. All

More information

Forms iq Designer Training

Forms iq Designer Training Forms iq Designer Training Copyright 2008 Feith Systems and Software, Inc. All Rights Reserved. No part of this publication may be reproduced, transmitted, stored in a retrieval system, or translated into

More information

TIBCO Spotfire Automation Services

TIBCO Spotfire Automation Services TIBCO Spotfire Automation Services Software Release 7.9 May 2017 Two-Second Advantage 2 Important Information SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCH EMBEDDED OR BUNDLED

More information

Oracle Cloud Using the Evernote Adapter. Release 17.3

Oracle Cloud Using the Evernote Adapter. Release 17.3 Oracle Cloud Using the Evernote Adapter Release 17.3 E69234-07 September 2017 Oracle Cloud Using the Evernote Adapter, Release 17.3 E69234-07 Copyright 2016, 2017, Oracle and/or its affiliates. All rights

More information

OpenText StreamServe 5.6 Document Broker Plus

OpenText StreamServe 5.6 Document Broker Plus OpenText StreamServe 5.6 Document Broker Plus User Guide Rev A OpenText StreamServe 5.6 Document Broker Plus User Guide Rev A Open Text SA 40 Avenue Monterey, Luxembourg, Luxembourg L-2163 Tel: 35 2 264566

More information

HYPERION SYSTEM 9 BI+ GETTING STARTED GUIDE APPLICATION BUILDER J2EE RELEASE 9.2

HYPERION SYSTEM 9 BI+ GETTING STARTED GUIDE APPLICATION BUILDER J2EE RELEASE 9.2 HYPERION SYSTEM 9 BI+ APPLICATION BUILDER J2EE RELEASE 9.2 GETTING STARTED GUIDE Copyright 1998-2006 Hyperion Solutions Corporation. All rights reserved. Hyperion, the Hyperion H logo, and Hyperion s product

More information

How to Mail Merge PDF Documents

How to Mail Merge PDF Documents How to Mail Merge PDF Documents A step-by-step guide to creating personalized documents using AutoMailMerge plug-in for Adobe Acrobat Table of Contents What is a mail merge?...2 What do I need to start?...2

More information

Legal Notes. Regarding Trademarks. Models supported by the KX printer driver KYOCERA MITA Corporation

Legal Notes. Regarding Trademarks. Models supported by the KX printer driver KYOCERA MITA Corporation Legal Notes Unauthorized reproduction of all or part of this guide is prohibited. The information in this guide is subject to change without notice. We cannot be held liable for any problems arising from

More information

SPARK. User Manual Ver ITLAQ Technologies

SPARK. User Manual Ver ITLAQ Technologies SPARK Forms Builder for Office 365 User Manual Ver. 3.5.50.102 0 ITLAQ Technologies www.itlaq.com Table of Contents 1 The Form Designer Workspace... 3 1.1 Form Toolbox... 3 1.1.1 Hiding/ Unhiding/ Minimizing

More information

Tzunami Deployer Oracle WebCenter Interaction Exporter Guide

Tzunami Deployer Oracle WebCenter Interaction Exporter Guide Tzunami Deployer Oracle WebCenter Interaction Exporter Guide Supports extraction of Oracle WebCenter Interaction components and migrate to Microsoft SharePoint using Tzunami Deployer Version 2.8 Table

More information

Authorized Send User s Guide Version 3.5

Authorized Send User s Guide Version 3.5 Canon Authorized Send User s Guide Version 3.5 08011-35-UD1-004 This page is intentionally left blank. 2 Authorized Send User s Guide Contents Preface...5 How to Use This Manual... 5 Symbols Used in This

More information

Introduction to IBM Rational HATS For IBM System i (5250)

Introduction to IBM Rational HATS For IBM System i (5250) Introduction to IBM Rational HATS For IBM System i (5250) Introduction to IBM Rational HATS 1 Lab instructions This lab teaches you how to use IBM Rational HATS to create a Web application capable of transforming

More information

File: SiteExecutive 2013 Core Modules User Guide.docx Printed September 30, 2013

File: SiteExecutive 2013 Core Modules User Guide.docx Printed September 30, 2013 File: SiteExecutive 2013 Core Modules User Guide.docx Printed September 30, 2013 Page i Contact: Systems Alliance, Inc. Executive Plaza III 11350 McCormick Road, Suite 1203 Hunt Valley, Maryland 21031

More information

User Scripting April 14, 2018

User Scripting April 14, 2018 April 14, 2018 Copyright 2013, 2018, Oracle and/or its affiliates. All rights reserved. This software and related documentation are provided under a license agreement containing restrictions on use and

More information

Oracle Cloud. Using the Google Calendar Adapter Release 16.3 E

Oracle Cloud. Using the Google Calendar Adapter Release 16.3 E Oracle Cloud Using the Google Calendar Adapter Release 16.3 E68599-05 September 2016 Oracle Cloud Using the Google Calendar Adapter, Release 16.3 E68599-05 Copyright 2015, 2016, Oracle and/or its affiliates.

More information

Legal Notes. Regarding Trademarks. Models supported by the KX printer driver KYOCERA Document Solutions Inc.

Legal Notes. Regarding Trademarks. Models supported by the KX printer driver KYOCERA Document Solutions Inc. Legal Notes Unauthorized reproduction of all or part of this guide is prohibited. The information in this guide is subject to change without notice. We cannot be held liable for any problems arising from

More information

Intellicus Getting Started

Intellicus Getting Started Intellicus Getting Started Intellicus Web-based Reporting Suite Version 4.5 Enterprise Professional Smart Developer Smart Viewer Intellicus Technologies info@intellicus.com www.intellicus.com Copyright

More information

TIBCO Spotfire Automation Services

TIBCO Spotfire Automation Services Software Release 7.11 LTS November 2017 Two-Second Advantage 2 Important Information SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCH EMBEDDED OR BUNDLED TIBCO SOFTWARE IS SOLELY

More information

Getting Started with BarTender

Getting Started with BarTender Getting Started with BarTender MANUAL Contents Getting Started with BarTender 3 Installation 4 Choosing What to Install 4 Automation Editions (Automation and Enterprise Automation) 4 Installing BarTender

More information

ithenticate User Guide Getting Started Folders Managing your Documents The Similarity Report Settings Account Information

ithenticate User Guide Getting Started Folders Managing your Documents The Similarity Report Settings Account Information ithenticate User Guide Getting Started Folders Managing your Documents The Similarity Report Settings Account Information 1 Getting Started Whether you are a new user or a returning one, to access ithenticate

More information

Oracle BI Publisher 11g R1: Fundamentals

Oracle BI Publisher 11g R1: Fundamentals Oracle BI Publisher 11g R1: Fundamentals Volume I Student Guide D68420GC10 Edition 1.0 June 2011 D73304 Authors Lea Shaw Sindhu Rao Technical Contributors and Reviewers Timothy McGlue Nikos Psomas Pradeep

More information

Printing System Driver User Guide

Printing System Driver User Guide Printing System Driver User Guide Legal Notes Unauthorized reproduction of all or part of this guide is prohibited. The information in this guide is subject to change for improvement without notice. We

More information

InQuira Analytics Installation Guide

InQuira Analytics Installation Guide InQuira Analytics Installation Guide Installing and Configuring InQuira Analytics Applications InQuira Version 8.1.2 Document Number IA80-IG-00 August 27, 2008 InQuira 851 Traeger Ave. Suite 125 San Bruno,

More information

Legal Notes. Regarding Trademarks. Models supported by the KX printer driver. Copyright 2009 KYOCERA MITA Corporation All rights reserved.

Legal Notes. Regarding Trademarks. Models supported by the KX printer driver. Copyright 2009 KYOCERA MITA Corporation All rights reserved. Legal Notes Unauthorized reproduction of all or part of this guide is prohibited. The information in this guide is subject to change for improvement without notice. We cannot be held liable for any problems

More information

ImageNow Interact for Microsoft SharePoint Installation, Setup, and User Guide

ImageNow Interact for Microsoft SharePoint Installation, Setup, and User Guide ImageNow Interact for Microsoft SharePoint Installation, Setup, and User Guide Version: 6.6.x Written by: Product Documentation, R&D Date: ImageNow and CaptureNow are registered trademarks of Perceptive

More information

CLIQ Web Manager. User Manual. The global leader in door opening solutions V 6.1

CLIQ Web Manager. User Manual. The global leader in door opening solutions V 6.1 CLIQ Web Manager User Manual V 6.1 The global leader in door opening solutions Program version: 6.1 Document number: ST-003478 Date published: 2016-03-31 Language: en-gb Table of contents 1 Overview...9

More information

Quick Start Guide. ARIS Architect. Version 9.8 Service Release 2

Quick Start Guide. ARIS Architect. Version 9.8 Service Release 2 ARIS Architect Version 9.8 Service Release 2 October 2015 This document applies to ARIS Version 9.8 and to all subsequent releases. Specifications contained herein are subject to change and these changes

More information

Amyuni PDF Converter. User s Manual Updated September 26, 2005

Amyuni PDF Converter. User s Manual Updated September 26, 2005 Amyuni PDF Converter Version 2.50e Version 2.50e Professional For Windows 95, 98, Me, NT4, 2000, XP/2003 32-bits, XP/2003 64-bits User s Manual Updated September 26, 2005 Amyuni Consultants Amyuni Technologies

More information

SOA Software Policy Manager Agent v6.1 for WebSphere Application Server Installation Guide

SOA Software Policy Manager Agent v6.1 for WebSphere Application Server Installation Guide SOA Software Policy Manager Agent v6.1 for WebSphere Application Server Installation Guide Trademarks SOA Software and the SOA Software logo are either trademarks or registered trademarks of SOA Software,

More information

StreamServe Persuasion SP5 StreamServe Connect for SAP - Business Processes

StreamServe Persuasion SP5 StreamServe Connect for SAP - Business Processes StreamServe Persuasion SP5 StreamServe Connect for SAP - Business Processes User Guide Rev A StreamServe Persuasion SP5StreamServe Connect for SAP - Business Processes User Guide Rev A SAP, mysap.com,

More information

How to Create a PDF. Using Acrobat Distiller. Acrobat Distiller settings. Adobe Acrobat Professional 8.0 Guide

How to Create a PDF. Using Acrobat Distiller. Acrobat Distiller settings. Adobe Acrobat Professional 8.0 Guide How to Create a PDF With Adobe Acrobat, you can convert a variety of file formats to Adobe Portable Document Format (PDF), a universal file format that preserves all the fonts, formatting, images, and

More information

Lava New Media s CMS. Documentation Page 1

Lava New Media s CMS. Documentation Page 1 Lava New Media s CMS Documentation 5.12.2010 Page 1 Table of Contents Logging On to the Content Management System 3 Introduction to the CMS 3 What is the page tree? 4 Editing Web Pages 5 How to use the

More information

IBM DB2 Web Query for IBM i. Version 2 Release 2

IBM DB2 Web Query for IBM i. Version 2 Release 2 IBM DB2 Web Query for IBM i Version 2 Release 2 Active Technologies, EDA, EDA/SQL, FIDEL, FOCUS, Information Builders, the Information Builders logo, iway, iway Software, Parlay, PC/FOCUS, RStat, Table

More information

Developing and Deploying vsphere Solutions, vservices, and ESX Agents. 17 APR 2018 vsphere Web Services SDK 6.7 vcenter Server 6.7 VMware ESXi 6.

Developing and Deploying vsphere Solutions, vservices, and ESX Agents. 17 APR 2018 vsphere Web Services SDK 6.7 vcenter Server 6.7 VMware ESXi 6. Developing and Deploying vsphere Solutions, vservices, and ESX Agents 17 APR 2018 vsphere Web Services SDK 6.7 vcenter Server 6.7 VMware ESXi 6.7 You can find the most up-to-date technical documentation

More information

Sophos Mobile. startup guide. Product Version: 8.1

Sophos Mobile. startup guide. Product Version: 8.1 Sophos Mobile startup guide Product Version: 8.1 Contents About this guide... 1 Sophos Mobile licenses... 2 Trial licenses...2 Upgrade trial licenses to full licenses... 2 Update licenses... 2 What are

More information

Tzunami Deployer Oracle WebCenter Interaction Exporter Guide

Tzunami Deployer Oracle WebCenter Interaction Exporter Guide Tzunami Deployer Oracle WebCenter Interaction Exporter Guide Supports extraction of Oracle WebCenter Interaction components and migrate to Microsoft SharePoint using Tzunami Deployer Version 3.2 Table

More information

XF Rendering Server 2008

XF Rendering Server 2008 XF Rendering Server 2008 Using XSL Formatting Objects for Producing and Publishing Business Documents Abstract IT organizations are under increasing pressure to meet the business goals of their companies.

More information

Tzunami Deployer Confluence Exporter Guide

Tzunami Deployer Confluence Exporter Guide Tzunami Deployer Confluence Exporter Guide Supports extraction of Confluence Enterprise contents and migrate to Microsoft SharePoint using Tzunami Deployer. Version 2.7 Table of Content PREFACE... I INTENDED

More information

Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Primavera Portfolio Management 9.0 What s New Copyright 1999-2011, Oracle and/or its affiliates. The Programs (which include both the software and documentation) contain proprietary information; they are

More information