Export Report

Exports a report created in IBM RPA Studio, according to the defined format.

Command availability: IBM RPA SaaS and IBM RPA on premises

Script syntax

IBM RPA's proprietary script language has a syntax similar to other programming languages. The script syntax defines the command's syntax in the script file. You can work with this syntax in RPA Studio's Script mode.

exportReport --format(ReportFormats) [--title(String)] [--author(String)] --watermark(ReportWatermark) --encoding(Nullable<EncodingType>) [--createrandomfile(Boolean)] --filepath(String) [--password(String)] --asset(String) [--automap(Boolean)] --mappings(String) --text(String) --textcolor(String) [--textfont(String)] --textsize(Numeric) --image(String) --transparency(Numeric) [--pagerange(String)] (String)=filepath (Numeric)=pagecount

Input parameters

The following table displays the list of input parameters available in this command. In the table, you can see the parameter name when working in RPA Studio's Script mode and its Designer mode equivalent label.

Designer mode label Script mode name Required Accepted variable types Description
Format format Required ReportFormats Format in which the report will be generated.
Title title Optional Text Title of the exported report.
Author author Optional Text Name of the report's author.
Watermark watermark Only when Format is Html, Rtf, or Docx ReportWatermark Watermark present in the report. The command accepts the following types: Image, Text, or None. See the watermark parameter options for details.
Encoding encoding Only when Format is Text or Csv EncodingType Type of character encoding used.
Create random file createrandomfile Optional Boolean Enable it to create a report file at random.
File path filepath Only when Create random file is False Text Report file path.
Password password Optional Text Password to unlock the file for viewing.
Asset asset Required Text Asset that contains the report template to be used.
Automap automap Optional Boolean Enable it to map variables that have the same type as the report parameters.
Mappings mappings Only when Automap is False Text, Database connection Maps which variables will fill the report parameters. The Parameter field receives the report name and the Value field receives the variable with the value. Check the Example to have a context on how to use it.
Text text Only when Watermark is Text Text Text used as a watermark.
Text color textcolor Only when Watermark is Text Text Color of the text in hexadecimal format.
Text font textfont Optional Text Font type applied to the text.
Text size textsize Only when Watermark is Text Number Font size.
Image image Only when Watermark is Image Text, Image Image used as a watermark.
Transparency transparency Only when Watermark is Text or Image Number Degree of transparency of the watermark.
Page range pagerange Optional when Watermark is Text or Image Text Range of pages where the watermark appears.

watermark parameter options

The following table displays the options available for the watermark input parameter. The table shows the options available when working in Script mode and the equivalent label in the Designer mode.

Designer mode label Script mode name Description
Image image The watermark is an Image.
Text text The watermark is a Text.

Output parameters

Designer mode label Script mode name Accepted variable types Description
File path filepath Text Return the path of the generated report.
Page count pagecount Number Return the amount of printed pages.

Example

The following example creates a simple report using an SQL Server database as a data source. The report contains data about the clients of a coffee shop and is exported as a PDF file.

import --name report --type "File" --content 77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxYdHJhUmVwb3J0c0xheW91dFNlcmlhbGl6ZXIgU2VyaWFsaXplclZlcnNpb249IjIzLjEuMy4wIiBSZWY9IjEiIENvbnRyb2xUeXBlPSJEZXZFeHByZXNzLlh0cmFSZXBvcnRzLlVJLlh0cmFSZXBvcnQsIERldkV4cHJlc3MuWHRyYVJlcG9ydHMudjIzLjEsIFZlcnNpb249MjMuMS4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YSIgTmFtZT0iUmVwb3J0MSIgUGFnZVdpZHRoPSI4NTAiIFBhZ2VIZWlnaHQ9IjExMDAiIFZlcnNpb249IjIzLjEiIERhdGFTb3VyY2U9IiNSZWYtMCIgRm9udD0iQXJpYWwsIDkuNzVwdCI+DQogIDxCYW5kcz4NCiAgICA8SXRlbTEgUmVmPSIyIiBDb250cm9sVHlwZT0iVG9wTWFyZ2luQmFuZCIgTmFtZT0iVG9wTWFyZ2luIiAvPg0KICAgIDxJdGVtMiBSZWY9IjMiIENvbnRyb2xUeXBlPSJCb3R0b21NYXJnaW5CYW5kIiBOYW1lPSJCb3R0b21NYXJnaW4iPg0KICAgICAgPENvbnRyb2xzPg0KICAgICAgICA8SXRlbTEgUmVmPSI0IiBDb250cm9sVHlwZT0iWFJQYWdlSW5mbyIgTmFtZT0icGFnZUluZm8xIiBQYWdlSW5mbz0iRGF0ZVRpbWUiIFNpemVGPSIzMjUsMjMiIExvY2F0aW9uRmxvYXQ9IjAsMCIgU3R5bGVOYW1lPSJQYWdlSW5mbyIgLz4NCiAgICAgICAgPEl0ZW0yIFJlZj0iNSIgQ29udHJvbFR5cGU9IlhSUGFnZUluZm8iIE5hbWU9InBhZ2VJbmZvMiIgVGV4dEZvcm1hdFN0cmluZz0iUGFnZSB7MH0gb2YgezF9IiBUZXh0QWxpZ25tZW50PSJUb3BSaWdodCIgU2l6ZUY9IjMyNSwyMyIgTG9jYXRpb25GbG9hdD0iMzI1LDAiIFN0eWxlTmFtZT0iUGFnZUluZm8iIC8+DQogICAgICA8L0NvbnRyb2xzPg0KICAgIDwvSXRlbTI+DQogICAgPEl0ZW0zIFJlZj0iNiIgQ29udHJvbFR5cGU9IlJlcG9ydEhlYWRlckJhbmQiIE5hbWU9IlJlcG9ydEhlYWRlciIgSGVpZ2h0Rj0iNjAiPg0KICAgICAgPENvbnRyb2xzPg0KICAgICAgICA8SXRlbTEgUmVmPSI3IiBDb250cm9sVHlwZT0iWFJMYWJlbCIgTmFtZT0ibGFiZWwxIiBUZXh0PSJDbGllbnQgUmVwb3J0cyIgU2l6ZUY9IjY1MCwyNC4xOTQzMzQiIExvY2F0aW9uRmxvYXQ9IjAsMCIgU3R5bGVOYW1lPSJUaXRsZSIgLz4NCiAgICAgIDwvQ29udHJvbHM+DQogICAgPC9JdGVtMz4NCiAgICA8SXRlbTQgUmVmPSI4IiBDb250cm9sVHlwZT0iRGV0YWlsQmFuZCIgTmFtZT0iRGV0YWlsIiBIZWlnaHRGPSIwIiAvPg0KICAgIDxJdGVtNSBSZWY9IjkiIENvbnRyb2xUeXBlPSJEZXRhaWxSZXBvcnRCYW5kIiBOYW1lPSJEZXRhaWxSZXBvcnQiIExldmVsPSIwIiBEYXRhTWVtYmVyPSJjbGllbnRzIiBEYXRhU291cmNlPSIjUmVmLTAiPg0KICAgICAgPEJhbmRzPg0KICAgICAgICA8SXRlbTEgUmVmPSIxMCIgQ29udHJvbFR5cGU9Ikdyb3VwSGVhZGVyQmFuZCIgTmFtZT0iR3JvdXBIZWFkZXIxIiBHcm91cFVuaW9uPSJXaXRoRmlyc3REZXRhaWwiIExldmVsPSIxIiBIZWlnaHRGPSIyNyI+DQogICAgICAgICAgPEdyb3VwRmllbGRzPg0KICAgICAgICAgICAgPEl0ZW0xIFJlZj0iMTEiIEZpZWxkTmFtZT0iZW1haWwiIC8+DQogICAgICAgICAgPC9Hcm91cEZpZWxkcz4NCiAgICAgICAgICA8Q29udHJvbHM+DQogICAgICAgICAgICA8SXRlbTEgUmVmPSIxMiIgQ29udHJvbFR5cGU9IlhSVGFibGUiIE5hbWU9InRhYmxlMSIgU2l6ZUY9IjY1MCwyNSIgTG9jYXRpb25GbG9hdD0iMCwyIj4NCiAgICAgICAgICAgICAgPFJvd3M+DQogICAgICAgICAgICAgICAgPEl0ZW0xIFJlZj0iMTMiIENvbnRyb2xUeXBlPSJYUlRhYmxlUm93IiBOYW1lPSJ0YWJsZVJvdzEiIFdlaWdodD0iMSI+DQogICAgICAgICAgICAgICAgICA8Q2VsbHM+DQogICAgICAgICAgICAgICAgICAgIDxJdGVtMSBSZWY9IjE0IiBDb250cm9sVHlwZT0iWFJUYWJsZUNlbGwiIE5hbWU9InRhYmxlQ2VsbDEiIFdlaWdodD0iMC4wNjcxNDY3MTc5NTE4NDc5NTYiIFRleHQ9IkVNQUlMIiBTdHlsZU5hbWU9Ikdyb3VwQ2FwdGlvbjIiIC8+DQogICAgICAgICAgICAgICAgICAgIDxJdGVtMiBSZWY9IjE1IiBDb250cm9sVHlwZT0iWFJUYWJsZUNlbGwiIE5hbWU9InRhYmxlQ2VsbDIiIFdlaWdodD0iMC45MzI4NTMzNDY2MDQ1NjczMSIgU3R5bGVOYW1lPSJHcm91cERhdGEyIj4NCiAgICAgICAgICAgICAgICAgICAgICA8RXhwcmVzc2lvbkJpbmRpbmdzPg0KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0xIFJlZj0iMTYiIEV2ZW50TmFtZT0iQmVmb3JlUHJpbnQiIFByb3BlcnR5TmFtZT0iVGV4dCIgRXhwcmVzc2lvbj0iW2VtYWlsXSIgLz4NCiAgICAgICAgICAgICAgICAgICAgICA8L0V4cHJlc3Npb25CaW5kaW5ncz4NCiAgICAgICAgICAgICAgICAgICAgPC9JdGVtMj4NCiAgICAgICAgICAgICAgICAgIDwvQ2VsbHM+DQogICAgICAgICAgICAgICAgPC9JdGVtMT4NCiAgICAgICAgICAgICAgPC9Sb3dzPg0KICAgICAgICAgICAgPC9JdGVtMT4NCiAgICAgICAgICA8L0NvbnRyb2xzPg0KICAgICAgICA8L0l0ZW0xPg0KICAgICAgICA8SXRlbTIgUmVmPSIxNyIgQ29udHJvbFR5cGU9Ikdyb3VwSGVhZGVyQmFuZCIgTmFtZT0iR3JvdXBIZWFkZXIyIiBHcm91cFVuaW9uPSJXaXRoRmlyc3REZXRhaWwiIExldmVsPSIyIiBIZWlnaHRGPSIyNyI+DQogICAgICAgICAgPEdyb3VwRmllbGRzPg0KICAgICAgICAgICAgPEl0ZW0xIFJlZj0iMTgiIEZpZWxkTmFtZT0ibGFzdF9uYW1lIiAvPg0KICAgICAgICAgIDwvR3JvdXBGaWVsZHM+DQogICAgICAgICAgPENvbnRyb2xzPg0KICAgICAgICAgICAgPEl0ZW0xIFJlZj0iMTkiIENvbnRyb2xUeXBlPSJYUlRhYmxlIiBOYW1lPSJ0YWJsZTIiIFNpemVGPSI2NTAsMjUiIExvY2F0aW9uRmxvYXQ9IjAsMiI+DQogICAgICAgICAgICAgIDxSb3dzPg0KICAgICAgICAgICAgICAgIDxJdGVtMSBSZWY9IjIwIiBDb250cm9sVHlwZT0iWFJUYWJsZVJvdyIgTmFtZT0idGFibGVSb3cyIiBXZWlnaHQ9IjEiPg0KICAgICAgICAgICAgICAgICAgPENlbGxzPg0KICAgICAgICAgICAgICAgICAgICA8SXRlbTEgUmVmPSIyMSIgQ29udHJvbFR5cGU9IlhSVGFibGVDZWxsIiBOYW1lPSJ0YWJsZUNlbGwzIiBXZWlnaHQ9IjEyMjYxMjcuMzc1IiBUZXh0PSJMQVNUIE5BTUUiIFN0eWxlTmFtZT0iR3JvdXBDYXB0aW9uMiIgLz4NCiAgICAgICAgICAgICAgICAgICAgPEl0ZW0yIFJlZj0iMjIiIENvbnRyb2xUeXBlPSJYUlRhYmxlQ2VsbCIgTmFtZT0idGFibGVDZWxsNCIgV2VpZ2h0PSI5NDIzNDcyIiBTdHlsZU5hbWU9Ikdyb3VwRGF0YTIiPg0KICAgICAgICAgICAgICAgICAgICAgIDxFeHByZXNzaW9uQmluZGluZ3M+DQogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbTEgUmVmPSIyMyIgRXZlbnROYW1lPSJCZWZvcmVQcmludCIgUHJvcGVydHlOYW1lPSJUZXh0IiBFeHByZXNzaW9uPSJbbGFzdF9uYW1lXSIgLz4NCiAgICAgICAgICAgICAgICAgICAgICA8L0V4cHJlc3Npb25CaW5kaW5ncz4NCiAgICAgICAgICAgICAgICAgICAgPC9JdGVtMj4NCiAgICAgICAgICAgICAgICAgIDwvQ2VsbHM+DQogICAgICAgICAgICAgICAgPC9JdGVtMT4NCiAgICAgICAgICAgICAgPC9Sb3dzPg0KICAgICAgICAgICAgPC9JdGVtMT4NCiAgICAgICAgICA8L0NvbnRyb2xzPg0KICAgICAgICA8L0l0ZW0yPg0KICAgICAgICA8SXRlbTMgUmVmPSIyNCIgQ29udHJvbFR5cGU9Ikdyb3VwSGVhZGVyQmFuZCIgTmFtZT0iR3JvdXBIZWFkZXIzIiBHcm91cFVuaW9uPSJXaXRoRmlyc3REZXRhaWwiIExldmVsPSIzIiBIZWlnaHRGPSIyNyI+DQogICAgICAgICAgPEdyb3VwRmllbGRzPg0KICAgICAgICAgICAgPEl0ZW0xIFJlZj0iMjUiIEZpZWxkTmFtZT0iZmlyc3RfbmFtZSIgLz4NCiAgICAgICAgICA8L0dyb3VwRmllbGRzPg0KICAgICAgICAgIDxDb250cm9scz4NCiAgICAgICAgICAgIDxJdGVtMSBSZWY9IjI2IiBDb250cm9sVHlwZT0iWFJUYWJsZSIgTmFtZT0idGFibGUzIiBTaXplRj0iNjUwLDI1IiBMb2NhdGlvbkZsb2F0PSIwLDIiPg0KICAgICAgICAgICAgICA8Um93cz4NCiAgICAgICAgICAgICAgICA8SXRlbTEgUmVmPSIyNyIgQ29udHJvbFR5cGU9IlhSVGFibGVSb3ciIE5hbWU9InRhYmxlUm93MyIgV2VpZ2h0PSIxIj4NCiAgICAgICAgICAgICAgICAgIDxDZWxscz4NCiAgICAgICAgICAgICAgICAgICAgPEl0ZW0xIFJlZj0iMjgiIENvbnRyb2xUeXBlPSJYUlRhYmxlQ2VsbCIgTmFtZT0idGFibGVDZWxsNSIgV2VpZ2h0PSIwLjEyMDAzMTMyNzQ2NzY5ODMyIiBUZXh0PSJGSVJTVCBOQU1FIiBTdHlsZU5hbWU9Ikdyb3VwQ2FwdGlvbjIiIC8+DQogICAgICAgICAgICAgICAgICAgIDxJdGVtMiBSZWY9IjI5IiBDb250cm9sVHlwZT0iWFJUYWJsZUNlbGwiIE5hbWU9InRhYmxlQ2VsbDYiIFdlaWdodD0iMC44Nzk5Njg3MzEyMTk5NTE4OSIgU3R5bGVOYW1lPSJHcm91cERhdGEyIj4NCiAgICAgICAgICAgICAgICAgICAgICA8RXhwcmVzc2lvbkJpbmRpbmdzPg0KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0xIFJlZj0iMzAiIEV2ZW50TmFtZT0iQmVmb3JlUHJpbnQiIFByb3BlcnR5TmFtZT0iVGV4dCIgRXhwcmVzc2lvbj0iW2ZpcnN0X25hbWVdIiAvPg0KICAgICAgICAgICAgICAgICAgICAgIDwvRXhwcmVzc2lvbkJpbmRpbmdzPg0KICAgICAgICAgICAgICAgICAgICA8L0l0ZW0yPg0KICAgICAgICAgICAgICAgICAgPC9DZWxscz4NCiAgICAgICAgICAgICAgICA8L0l0ZW0xPg0KICAgICAgICAgICAgICA8L1Jvd3M+DQogICAgICAgICAgICA8L0l0ZW0xPg0KICAgICAgICAgIDwvQ29udHJvbHM+DQogICAgICAgIDwvSXRlbTM+DQogICAgICAgIDxJdGVtNCBSZWY9IjMxIiBDb250cm9sVHlwZT0iRGV0YWlsQmFuZCIgTmFtZT0iRGV0YWlsMSIgSGVpZ2h0Rj0iMCIgLz4NCiAgICAgICAgPEl0ZW01IFJlZj0iMzIiIENvbnRyb2xUeXBlPSJHcm91cEZvb3RlckJhbmQiIE5hbWU9Ikdyb3VwRm9vdGVyMSIgR3JvdXBVbmlvbj0iV2l0aExhc3REZXRhaWwiIEhlaWdodEY9IjYiPg0KICAgICAgICAgIDxDb250cm9scz4NCiAgICAgICAgICAgIDxJdGVtMSBSZWY9IjMzIiBDb250cm9sVHlwZT0iWFJMYWJlbCIgTmFtZT0ibGFiZWwyIiBTaXplRj0iNjUwLDIuMDgiIExvY2F0aW9uRmxvYXQ9IjAsMCIgU3R5bGVOYW1lPSJHcm91cEZvb3RlckJhY2tncm91bmQzIiBCb3JkZXJzPSJOb25lIj4NCiAgICAgICAgICAgICAgPFN0eWxlUHJpb3JpdHkgUmVmPSIzNCIgVXNlQm9yZGVycz0iZmFsc2UiIC8+DQogICAgICAgICAgICA8L0l0ZW0xPg0KICAgICAgICAgIDwvQ29udHJvbHM+DQogICAgICAgIDwvSXRlbTU+DQogICAgICA8L0JhbmRzPg0KICAgIDwvSXRlbTU+DQogICAgPEl0ZW02IFJlZj0iMzUiIENvbnRyb2xUeXBlPSJEZXRhaWxSZXBvcnRCYW5kIiBOYW1lPSJEZXRhaWxSZXBvcnQxIiBMZXZlbD0iMSIgRGF0YU1lbWJlcj0ib3JkZXJfaXRlbXMiIERhdGFTb3VyY2U9IiNSZWYtMCI+DQogICAgICA8QmFuZHM+DQogICAgICAgIDxJdGVtMSBSZWY9IjM2IiBDb250cm9sVHlwZT0iRGV0YWlsQmFuZCIgTmFtZT0iRGV0YWlsMiIgSGVpZ2h0Rj0iMCIgLz4NCiAgICAgIDwvQmFuZHM+DQogICAgPC9JdGVtNj4NCiAgICA8SXRlbTcgUmVmPSIzNyIgQ29udHJvbFR5cGU9IkRldGFpbFJlcG9ydEJhbmQiIE5hbWU9IkRldGFpbFJlcG9ydDIiIExldmVsPSIyIiBEYXRhTWVtYmVyPSJvcmRlcnMiIERhdGFTb3VyY2U9IiNSZWYtMCI+DQogICAgICA8QmFuZHM+DQogICAgICAgIDxJdGVtMSBSZWY9IjM4IiBDb250cm9sVHlwZT0iRGV0YWlsQmFuZCIgTmFtZT0iRGV0YWlsMyIgSGVpZ2h0Rj0iMCIgLz4NCiAgICAgIDwvQmFuZHM+DQogICAgPC9JdGVtNz4NCiAgICA8SXRlbTggUmVmPSIzOSIgQ29udHJvbFR5cGU9IkRldGFpbFJlcG9ydEJhbmQiIE5hbWU9IkRldGFpbFJlcG9ydDMiIExldmVsPSIzIiBEYXRhTWVtYmVyPSJwcm9kdWN0cyIgRGF0YVNvdXJjZT0iI1JlZi0wIj4NCiAgICAgIDxCYW5kcz4NCiAgICAgICAgPEl0ZW0xIFJlZj0iNDAiIENvbnRyb2xUeXBlPSJEZXRhaWxCYW5kIiBOYW1lPSJEZXRhaWw0IiBIZWlnaHRGPSIwIiAvPg0KICAgICAgPC9CYW5kcz4NCiAgICA8L0l0ZW04Pg0KICA8L0JhbmRzPg0KICA8U3R5bGVTaGVldD4NCiAgICA8SXRlbTEgUmVmPSI0MSIgTmFtZT0iVGl0bGUiIEJvcmRlclN0eWxlPSJJbnNldCIgUGFkZGluZz0iNiw2LDAsMCwxMDAiIEZvbnQ9IkFyaWFsLCAxNC4yNXB0IiBGb3JlQ29sb3I9IjI1NSw3NSw3NSw3NSIgQmFja0NvbG9yPSJUcmFuc3BhcmVudCIgQm9yZGVyQ29sb3I9IkJsYWNrIiBTaWRlcz0iTm9uZSIgU3RyaW5nRm9ybWF0PSJOZWFyO05lYXI7MDtOb25lO0NoYXJhY3RlcjtHZW5lcmljRGVmYXVsdCIgQm9yZGVyV2lkdGhTZXJpYWxpemFibGU9IjEiIC8+DQogICAgPEl0ZW0yIFJlZj0iNDIiIE5hbWU9Ikdyb3VwQ2FwdGlvbjIiIEJvcmRlclN0eWxlPSJJbnNldCIgUGFkZGluZz0iNiwyLDAsMCwxMDAiIEZvbnQ9IkFyaWFsLCA4LjI1cHQsIHN0eWxlPUJvbGQiIEZvcmVDb2xvcj0iMjU1LDIyOCwyMjgsMjI4IiBCYWNrQ29sb3I9IjI1NSwxMTEsMTExLDExMSIgQm9yZGVyQ29sb3I9IldoaXRlIiBTaWRlcz0iQm90dG9tIiBTdHJpbmdGb3JtYXQ9Ik5lYXI7Q2VudGVyOzA7Tm9uZTtDaGFyYWN0ZXI7R2VuZXJpY0RlZmF1bHQiIFRleHRBbGlnbm1lbnQ9Ik1pZGRsZUxlZnQiIEJvcmRlcldpZHRoU2VyaWFsaXphYmxlPSIyIiAvPg0KICAgIDxJdGVtMyBSZWY9IjQzIiBOYW1lPSJHcm91cERhdGEyIiBCb3JkZXJTdHlsZT0iSW5zZXQiIFBhZGRpbmc9IjYsMiwwLDAsMTAwIiBGb250PSJBcmlhbCwgOC4yNXB0LCBzdHlsZT1Cb2xkIiBGb3JlQ29sb3I9IldoaXRlIiBCYWNrQ29sb3I9IjI1NSwxMTEsMTExLDExMSIgQm9yZGVyQ29sb3I9IldoaXRlIiBTaWRlcz0iQm90dG9tIiBTdHJpbmdGb3JtYXQ9Ik5lYXI7Q2VudGVyOzA7Tm9uZTtDaGFyYWN0ZXI7R2VuZXJpY0RlZmF1bHQiIFRleHRBbGlnbm1lbnQ9Ik1pZGRsZUxlZnQiIEJvcmRlcldpZHRoU2VyaWFsaXphYmxlPSIyIiAvPg0KICAgIDxJdGVtNCBSZWY9IjQ0IiBOYW1lPSJHcm91cEZvb3RlckJhY2tncm91bmQzIiBCb3JkZXJTdHlsZT0iSW5zZXQiIFBhZGRpbmc9IjYsMiwwLDAsMTAwIiBGb250PSJBcmlhbCwgOC4yNXB0LCBzdHlsZT1Cb2xkIiBGb3JlQ29sb3I9IjI1NSwyMjgsMjI4LDIyOCIgQmFja0NvbG9yPSIyNTUsMTMxLDEzMSwxMzEiIEJvcmRlckNvbG9yPSJXaGl0ZSIgU2lkZXM9IkJvdHRvbSIgU3RyaW5nRm9ybWF0PSJOZWFyO0NlbnRlcjswO05vbmU7Q2hhcmFjdGVyO0dlbmVyaWNEZWZhdWx0IiBUZXh0QWxpZ25tZW50PSJNaWRkbGVMZWZ0IiBCb3JkZXJXaWR0aFNlcmlhbGl6YWJsZT0iMiIgLz4NCiAgICA8SXRlbTUgUmVmPSI0NSIgTmFtZT0iUGFnZUluZm8iIEJvcmRlclN0eWxlPSJJbnNldCIgUGFkZGluZz0iNiw2LDAsMCwxMDAiIEZvbnQ9IkFyaWFsLCA4LjI1cHQsIHN0eWxlPUJvbGQiIEZvcmVDb2xvcj0iMjU1LDc1LDc1LDc1IiBTdHJpbmdGb3JtYXQ9Ik5lYXI7TmVhcjswO05vbmU7Q2hhcmFjdGVyO0dlbmVyaWNEZWZhdWx0IiAvPg0KICA8L1N0eWxlU2hlZXQ+DQogIDxDb21wb25lbnRTdG9yYWdlPg0KICAgIDxJdGVtMSBSZWY9IjAiIE9iamVjdFR5cGU9IkRldkV4cHJlc3MuRGF0YUFjY2Vzcy5TcWwuU3FsRGF0YVNvdXJjZSxEZXZFeHByZXNzLkRhdGFBY2Nlc3MudjIzLjEiIE5hbWU9InNxbERhdGFTb3VyY2UiIEJhc2U2ND0iUEZOeGJFUmhkR0ZUYjNWeVkyVWdUbUZ0WlQwaWMzRnNSR0YwWVZOdmRYSmpaU0krUEVOdmJtNWxZM1JwYjI0Z1RtRnRaVDBpWTJ4cFpXNTBjeUlnVUhKdmRtbGtaWEpMWlhrOUlsTlJUR2wwWlNJK1BGQmhjbUZ0WlhSbGNuTStQRkJoY21GdFpYUmxjaUJPWVcxbFBTSmtZWFJoWW1GelpTSWdWbUZzZFdVOUlrTTZYRlZ6WlhKelhGY3dNREF6T0RZek1WeEVaWE5yZEc5d1hHTnNhV1Z1ZEhNdVpHSWlJQzgrUEZCaGNtRnRaWFJsY2lCT1lXMWxQU0p5WldGa0lHOXViSGtpSUZaaGJIVmxQU0l4SWlBdlBqeFFZWEpoYldWMFpYSWdUbUZ0WlQwaVoyVnVaWEpoZEdWRGIyNXVaV04wYVc5dVNHVnNjR1Z5SWlCV1lXeDFaVDBpWm1Gc2MyVWlJQzgrUEM5UVlYSmhiV1YwWlhKelBqd3ZRMjl1Ym1WamRHbHZiajQ4VVhWbGNua2dWSGx3WlQwaVUyVnNaV04wVVhWbGNua2lJRTVoYldVOUltTnNhV1Z1ZEhNaVBqeFVZV0pzWlhNK1BGUmhZbXhsSUU1aGJXVTlJbU5zYVdWdWRITWlJQzgrUEM5VVlXSnNaWE0rUEVOdmJIVnRibk0rUEVOdmJIVnRiaUJVWVdKc1pUMGlZMnhwWlc1MGN5SWdUbUZ0WlQwaVkyeHBaVzUwWDJsa0lpQXZQanhEYjJ4MWJXNGdWR0ZpYkdVOUltTnNhV1Z1ZEhNaUlFNWhiV1U5SW1acGNuTjBYMjVoYldVaUlDOCtQRU52YkhWdGJpQlVZV0pzWlQwaVkyeHBaVzUwY3lJZ1RtRnRaVDBpYkdGemRGOXVZVzFsSWlBdlBqeERiMngxYlc0Z1ZHRmliR1U5SW1Oc2FXVnVkSE1pSUU1aGJXVTlJbVZ0WVdsc0lpQXZQand2UTI5c2RXMXVjejQ4TDFGMVpYSjVQanhSZFdWeWVTQlVlWEJsUFNKVFpXeGxZM1JSZFdWeWVTSWdUbUZ0WlQwaWIzSmtaWEpmYVhSbGJYTWlQanhVWVdKc1pYTStQRlJoWW14bElFNWhiV1U5SW05eVpHVnlYMmwwWlcxeklpQXZQand2VkdGaWJHVnpQanhEYjJ4MWJXNXpQanhEYjJ4MWJXNGdWR0ZpYkdVOUltOXlaR1Z5WDJsMFpXMXpJaUJPWVcxbFBTSnZjbVJsY2w5cGRHVnRYMmxrSWlBdlBqeERiMngxYlc0Z1ZHRmliR1U5SW05eVpHVnlYMmwwWlcxeklpQk9ZVzFsUFNKdmNtUmxjbDlwWkNJZ0x6NDhRMjlzZFcxdUlGUmhZbXhsUFNKdmNtUmxjbDlwZEdWdGN5SWdUbUZ0WlQwaWNISnZaSFZqZEY5cFpDSWdMejQ4UTI5c2RXMXVJRlJoWW14bFBTSnZjbVJsY2w5cGRHVnRjeUlnVG1GdFpUMGljWFZoYm5ScGRIa2lJQzgrUEM5RGIyeDFiVzV6UGp3dlVYVmxjbmsrUEZGMVpYSjVJRlI1Y0dVOUlsTmxiR1ZqZEZGMVpYSjVJaUJPWVcxbFBTSnZjbVJsY25NaVBqeFVZV0pzWlhNK1BGUmhZbXhsSUU1aGJXVTlJbTl5WkdWeWN5SWdMejQ4TDFSaFlteGxjejQ4UTI5c2RXMXVjejQ4UTI5c2RXMXVJRlJoWW14bFBTSnZjbVJsY25NaUlFNWhiV1U5SW05eVpHVnlYMmxrSWlBdlBqeERiMngxYlc0Z1ZHRmliR1U5SW05eVpHVnljeUlnVG1GdFpUMGlZMnhwWlc1MFgybGtJaUF2UGp3dlEyOXNkVzF1Y3o0OEwxRjFaWEo1UGp4UmRXVnllU0JVZVhCbFBTSlRaV3hsWTNSUmRXVnllU0lnVG1GdFpUMGljSEp2WkhWamRITWlQanhVWVdKc1pYTStQRlJoWW14bElFNWhiV1U5SW5CeWIyUjFZM1J6SWlBdlBqd3ZWR0ZpYkdWelBqeERiMngxYlc1elBqeERiMngxYlc0Z1ZHRmliR1U5SW5CeWIyUjFZM1J6SWlCT1lXMWxQU0p3Y205a2RXTjBYMmxrSWlBdlBqeERiMngxYlc0Z1ZHRmliR1U5SW5CeWIyUjFZM1J6SWlCT1lXMWxQU0p1WVcxbElpQXZQanhEYjJ4MWJXNGdWR0ZpYkdVOUluQnliMlIxWTNSeklpQk9ZVzFsUFNKd2NtbGpaU0lnTHo0OEwwTnZiSFZ0Ym5NK1BDOVJkV1Z5ZVQ0OFVtVnpkV3gwVTJOb1pXMWhQanhFWVhSaFUyVjBJRTVoYldVOUluTnhiRVJoZEdGVGIzVnlZMlVpUGp4V2FXVjNJRTVoYldVOUltTnNhV1Z1ZEhNaVBqeEdhV1ZzWkNCT1lXMWxQU0pqYkdsbGJuUmZhV1FpSUZSNWNHVTlJa2x1ZERZMElpQXZQanhHYVdWc1pDQk9ZVzFsUFNKbWFYSnpkRjl1WVcxbElpQlVlWEJsUFNKVGRISnBibWNpSUM4K1BFWnBaV3hrSUU1aGJXVTlJbXhoYzNSZmJtRnRaU0lnVkhsd1pUMGlVM1J5YVc1bklpQXZQanhHYVdWc1pDQk9ZVzFsUFNKbGJXRnBiQ0lnVkhsd1pUMGlVM1J5YVc1bklpQXZQand2Vm1sbGR6NDhWbWxsZHlCT1lXMWxQU0p2Y21SbGNsOXBkR1Z0Y3lJK1BFWnBaV3hrSUU1aGJXVTlJbTl5WkdWeVgybDBaVzFmYVdRaUlGUjVjR1U5SWtsdWREWTBJaUF2UGp4R2FXVnNaQ0JPWVcxbFBTSnZjbVJsY2w5cFpDSWdWSGx3WlQwaVNXNTBOalFpSUM4K1BFWnBaV3hrSUU1aGJXVTlJbkJ5YjJSMVkzUmZhV1FpSUZSNWNHVTlJa2x1ZERZMElpQXZQanhHYVdWc1pDQk9ZVzFsUFNKeGRXRnVkR2wwZVNJZ1ZIbHdaVDBpU1c1ME5qUWlJQzgrUEM5V2FXVjNQanhXYVdWM0lFNWhiV1U5SW05eVpHVnljeUkrUEVacFpXeGtJRTVoYldVOUltOXlaR1Z5WDJsa0lpQlVlWEJsUFNKSmJuUTJOQ0lnTHo0OFJtbGxiR1FnVG1GdFpUMGlZMnhwWlc1MFgybGtJaUJVZVhCbFBTSkpiblEyTkNJZ0x6NDhMMVpwWlhjK1BGWnBaWGNnVG1GdFpUMGljSEp2WkhWamRITWlQanhHYVdWc1pDQk9ZVzFsUFNKd2NtOWtkV04wWDJsa0lpQlVlWEJsUFNKSmJuUTJOQ0lnTHo0OFJtbGxiR1FnVG1GdFpUMGlibUZ0WlNJZ1ZIbHdaVDBpVTNSeWFXNW5JaUF2UGp4R2FXVnNaQ0JPWVcxbFBTSndjbWxqWlNJZ1ZIbHdaVDBpUkc5MVlteGxJaUF2UGp3dlZtbGxkejQ4TDBSaGRHRlRaWFErUEM5U1pYTjFiSFJUWTJobGJXRStQRU52Ym01bFkzUnBiMjVQY0hScGIyNXpJRU5zYjNObFEyOXVibVZqZEdsdmJqMGlkSEoxWlNJZ0x6NDhMMU54YkVSaGRHRlRiM1Z5WTJVKyIgLz4NCiAgPC9Db21wb25lbnRTdG9yYWdlPg0KPC9YdHJhUmVwb3J0c0xheW91dFNlcmlhbGl6ZXI+ --extension ".repx"
defVar --name databaseConnection --type DbConnection --output
defVar --name hasResult --type Boolean
defVar --name path --type String
defVar --name result --type String
defVar --name connectionString --type String
getSpecialFolder --folder "Desktop" path=value
setVar --name "${connectionString}" --value "Server=(localdb)\\mssqllocaldb;Database=automation;User Id=<user>;Password=<pass>;"
sqlServerConnect --connectionstring "${connectionString}"
sqlExecute --connection ${databaseConnection} --statement "CREATE TABLE IF NOT EXISTS clients (client_id INTEGER PRIMARY KEY AUTOINCREMENT,first_name TEXT NOT NULL,last_name TEXT NOT NULL,email TEXT NOT NULL);"
sqlExecute --connection ${databaseConnection} --statement "CREATE TABLE IF NOT EXISTS products (product_id INTEGER PRIMARY KEY AUTOINCREMENT,name TEXT NOT NULL,price REAL NOT NULL);"
sqlExecute --connection ${databaseConnection} --statement "CREATE TABLE IF NOT EXISTS orders (order_id INTEGER PRIMARY KEY AUTOINCREMENT,client_id INTEGER,FOREIGN KEY(client_id) REFERENCES clients(client_id));"
sqlExecute --connection ${databaseConnection} --statement "CREATE TABLE IF NOT EXISTS order_items (order_item_id INTEGER PRIMARY KEY AUTOINCREMENT,order_id INTEGER,product_id INTEGER NOT NULL,quantity INTEGER NOT NULL,FOREIGN KEY(order_id) REFERENCES orders(order_id),FOREIGN KEY(product_id) REFERENCES products(product_id));"
sqlExecuteScalar --connection ${databaseConnection} --statement "SELECT COUNT(*) FROM orders;" result=value hasResult=hasresult
if --left "${hasResult}" --operator "Is_True" --negate
	sqlExecute --connection ${databaseConnection} --statement "INSERT INTO clients (first_name, last_name, email)\r\nVALUES\r\n(\'John\', \'Doe\', \'john.doe@example.com\'),\r\n(\'Jane\', \'Doe\', \'jane.doe@example.com\'),\r\n(\'Peter\', \'Parker\', \'peter.parker@example.com\'),\r\n(\'Bruce\', \'Wayne\', \'bruce.wayne@example.com\'),\r\n(\'Clark\', \'Kent\', \'clark.kent@example.com\');"
	sqlExecute --connection ${databaseConnection} --statement "INSERT INTO products (name, price)\r\nVALUES\r\n(\'Espresso\', 3.99),\r\n(\'Latte\', 4.99),\r\n(\'Capuccino\', 5.99),\r\n(\'Macchiato\', 4.50),\r\n(\'Americano\', 3.50),\r\n(\'Iced coffee\', 4.50),\r\n(\'Cold brew coffee\', 5.00),\r\n(\'Frappuccino\', 6.00),\r\n(\'Mocha\', 5.50),\r\n(\'White chocolate mocha\', 6.00);"
	sqlExecute --connection ${databaseConnection} --statement "INSERT INTO orders (client_id)\r\nVALUES\r\n(1),\r\n(2),\r\n(3),\r\n(4),\r\n(5);"
	sqlExecute --connection ${databaseConnection} --statement "INSERT INTO order_items (order_id, product_id, quantity)\r\nVALUES\r\n(1, 1, 2),\r\n(1, 2, 1),\r\n(2, 3, 3),\r\n(2, 4, 1),\r\n(3, 5, 2),\r\n(3, 6, 1),\r\n(4, 7, 3),\r\n(4, 8, 1),\r\n(5, 9, 2),\r\n(5, 10, 1);"
endIf
exportReport --format "Pdf" --watermark "None" --filepath "${path}\\myReport.pdf" --asset "${asset.report}" --automap
Important:Use a valid connection to SQL Server to connect to the database. Replace the Server=(localdb)\\mssqllocaldb;Database=automation;User Id=<user>;Password=<pass> with a valid connection string.

If you use a database as a data source and you want to map variables individually, check the name of the database variable under the Properties tab in the Report view in IBM RPA Studio. By default, the database variable is named sqlDataSource. The previous script with manually mapped parameters looks as follows:

import --name report --type "File" --content 77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxYdHJhUmVwb3J0c0xheW91dFNlcmlhbGl6ZXIgU2VyaWFsaXplclZlcnNpb249IjIzLjEuMy4wIiBSZWY9IjEiIENvbnRyb2xUeXBlPSJEZXZFeHByZXNzLlh0cmFSZXBvcnRzLlVJLlh0cmFSZXBvcnQsIERldkV4cHJlc3MuWHRyYVJlcG9ydHMudjIzLjEsIFZlcnNpb249MjMuMS4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YSIgTmFtZT0iUmVwb3J0MSIgUGFnZVdpZHRoPSI4NTAiIFBhZ2VIZWlnaHQ9IjExMDAiIFZlcnNpb249IjIzLjEiIERhdGFTb3VyY2U9IiNSZWYtMCIgRm9udD0iQXJpYWwsIDkuNzVwdCI+DQogIDxCYW5kcz4NCiAgICA8SXRlbTEgUmVmPSIyIiBDb250cm9sVHlwZT0iVG9wTWFyZ2luQmFuZCIgTmFtZT0iVG9wTWFyZ2luIiAvPg0KICAgIDxJdGVtMiBSZWY9IjMiIENvbnRyb2xUeXBlPSJCb3R0b21NYXJnaW5CYW5kIiBOYW1lPSJCb3R0b21NYXJnaW4iPg0KICAgICAgPENvbnRyb2xzPg0KICAgICAgICA8SXRlbTEgUmVmPSI0IiBDb250cm9sVHlwZT0iWFJQYWdlSW5mbyIgTmFtZT0icGFnZUluZm8xIiBQYWdlSW5mbz0iRGF0ZVRpbWUiIFNpemVGPSIzMjUsMjMiIExvY2F0aW9uRmxvYXQ9IjAsMCIgU3R5bGVOYW1lPSJQYWdlSW5mbyIgLz4NCiAgICAgICAgPEl0ZW0yIFJlZj0iNSIgQ29udHJvbFR5cGU9IlhSUGFnZUluZm8iIE5hbWU9InBhZ2VJbmZvMiIgVGV4dEZvcm1hdFN0cmluZz0iUGFnZSB7MH0gb2YgezF9IiBUZXh0QWxpZ25tZW50PSJUb3BSaWdodCIgU2l6ZUY9IjMyNSwyMyIgTG9jYXRpb25GbG9hdD0iMzI1LDAiIFN0eWxlTmFtZT0iUGFnZUluZm8iIC8+DQogICAgICA8L0NvbnRyb2xzPg0KICAgIDwvSXRlbTI+DQogICAgPEl0ZW0zIFJlZj0iNiIgQ29udHJvbFR5cGU9IlJlcG9ydEhlYWRlckJhbmQiIE5hbWU9IlJlcG9ydEhlYWRlciIgSGVpZ2h0Rj0iNjAiPg0KICAgICAgPENvbnRyb2xzPg0KICAgICAgICA8SXRlbTEgUmVmPSI3IiBDb250cm9sVHlwZT0iWFJMYWJlbCIgTmFtZT0ibGFiZWwxIiBUZXh0PSJDbGllbnQgUmVwb3J0cyIgU2l6ZUY9IjY1MCwyNC4xOTQzMzQiIExvY2F0aW9uRmxvYXQ9IjAsMCIgU3R5bGVOYW1lPSJUaXRsZSIgLz4NCiAgICAgIDwvQ29udHJvbHM+DQogICAgPC9JdGVtMz4NCiAgICA8SXRlbTQgUmVmPSI4IiBDb250cm9sVHlwZT0iRGV0YWlsQmFuZCIgTmFtZT0iRGV0YWlsIiBIZWlnaHRGPSIwIiAvPg0KICAgIDxJdGVtNSBSZWY9IjkiIENvbnRyb2xUeXBlPSJEZXRhaWxSZXBvcnRCYW5kIiBOYW1lPSJEZXRhaWxSZXBvcnQiIExldmVsPSIwIiBEYXRhTWVtYmVyPSJjbGllbnRzIiBEYXRhU291cmNlPSIjUmVmLTAiPg0KICAgICAgPEJhbmRzPg0KICAgICAgICA8SXRlbTEgUmVmPSIxMCIgQ29udHJvbFR5cGU9Ikdyb3VwSGVhZGVyQmFuZCIgTmFtZT0iR3JvdXBIZWFkZXIxIiBHcm91cFVuaW9uPSJXaXRoRmlyc3REZXRhaWwiIExldmVsPSIxIiBIZWlnaHRGPSIyNyI+DQogICAgICAgICAgPEdyb3VwRmllbGRzPg0KICAgICAgICAgICAgPEl0ZW0xIFJlZj0iMTEiIEZpZWxkTmFtZT0iZW1haWwiIC8+DQogICAgICAgICAgPC9Hcm91cEZpZWxkcz4NCiAgICAgICAgICA8Q29udHJvbHM+DQogICAgICAgICAgICA8SXRlbTEgUmVmPSIxMiIgQ29udHJvbFR5cGU9IlhSVGFibGUiIE5hbWU9InRhYmxlMSIgU2l6ZUY9IjY1MCwyNSIgTG9jYXRpb25GbG9hdD0iMCwyIj4NCiAgICAgICAgICAgICAgPFJvd3M+DQogICAgICAgICAgICAgICAgPEl0ZW0xIFJlZj0iMTMiIENvbnRyb2xUeXBlPSJYUlRhYmxlUm93IiBOYW1lPSJ0YWJsZVJvdzEiIFdlaWdodD0iMSI+DQogICAgICAgICAgICAgICAgICA8Q2VsbHM+DQogICAgICAgICAgICAgICAgICAgIDxJdGVtMSBSZWY9IjE0IiBDb250cm9sVHlwZT0iWFJUYWJsZUNlbGwiIE5hbWU9InRhYmxlQ2VsbDEiIFdlaWdodD0iMC4wNjcxNDY3MTc5NTE4NDc5NTYiIFRleHQ9IkVNQUlMIiBTdHlsZU5hbWU9Ikdyb3VwQ2FwdGlvbjIiIC8+DQogICAgICAgICAgICAgICAgICAgIDxJdGVtMiBSZWY9IjE1IiBDb250cm9sVHlwZT0iWFJUYWJsZUNlbGwiIE5hbWU9InRhYmxlQ2VsbDIiIFdlaWdodD0iMC45MzI4NTMzNDY2MDQ1NjczMSIgU3R5bGVOYW1lPSJHcm91cERhdGEyIj4NCiAgICAgICAgICAgICAgICAgICAgICA8RXhwcmVzc2lvbkJpbmRpbmdzPg0KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0xIFJlZj0iMTYiIEV2ZW50TmFtZT0iQmVmb3JlUHJpbnQiIFByb3BlcnR5TmFtZT0iVGV4dCIgRXhwcmVzc2lvbj0iW2VtYWlsXSIgLz4NCiAgICAgICAgICAgICAgICAgICAgICA8L0V4cHJlc3Npb25CaW5kaW5ncz4NCiAgICAgICAgICAgICAgICAgICAgPC9JdGVtMj4NCiAgICAgICAgICAgICAgICAgIDwvQ2VsbHM+DQogICAgICAgICAgICAgICAgPC9JdGVtMT4NCiAgICAgICAgICAgICAgPC9Sb3dzPg0KICAgICAgICAgICAgPC9JdGVtMT4NCiAgICAgICAgICA8L0NvbnRyb2xzPg0KICAgICAgICA8L0l0ZW0xPg0KICAgICAgICA8SXRlbTIgUmVmPSIxNyIgQ29udHJvbFR5cGU9Ikdyb3VwSGVhZGVyQmFuZCIgTmFtZT0iR3JvdXBIZWFkZXIyIiBHcm91cFVuaW9uPSJXaXRoRmlyc3REZXRhaWwiIExldmVsPSIyIiBIZWlnaHRGPSIyNyI+DQogICAgICAgICAgPEdyb3VwRmllbGRzPg0KICAgICAgICAgICAgPEl0ZW0xIFJlZj0iMTgiIEZpZWxkTmFtZT0ibGFzdF9uYW1lIiAvPg0KICAgICAgICAgIDwvR3JvdXBGaWVsZHM+DQogICAgICAgICAgPENvbnRyb2xzPg0KICAgICAgICAgICAgPEl0ZW0xIFJlZj0iMTkiIENvbnRyb2xUeXBlPSJYUlRhYmxlIiBOYW1lPSJ0YWJsZTIiIFNpemVGPSI2NTAsMjUiIExvY2F0aW9uRmxvYXQ9IjAsMiI+DQogICAgICAgICAgICAgIDxSb3dzPg0KICAgICAgICAgICAgICAgIDxJdGVtMSBSZWY9IjIwIiBDb250cm9sVHlwZT0iWFJUYWJsZVJvdyIgTmFtZT0idGFibGVSb3cyIiBXZWlnaHQ9IjEiPg0KICAgICAgICAgICAgICAgICAgPENlbGxzPg0KICAgICAgICAgICAgICAgICAgICA8SXRlbTEgUmVmPSIyMSIgQ29udHJvbFR5cGU9IlhSVGFibGVDZWxsIiBOYW1lPSJ0YWJsZUNlbGwzIiBXZWlnaHQ9IjEyMjYxMjcuMzc1IiBUZXh0PSJMQVNUIE5BTUUiIFN0eWxlTmFtZT0iR3JvdXBDYXB0aW9uMiIgLz4NCiAgICAgICAgICAgICAgICAgICAgPEl0ZW0yIFJlZj0iMjIiIENvbnRyb2xUeXBlPSJYUlRhYmxlQ2VsbCIgTmFtZT0idGFibGVDZWxsNCIgV2VpZ2h0PSI5NDIzNDcyIiBTdHlsZU5hbWU9Ikdyb3VwRGF0YTIiPg0KICAgICAgICAgICAgICAgICAgICAgIDxFeHByZXNzaW9uQmluZGluZ3M+DQogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbTEgUmVmPSIyMyIgRXZlbnROYW1lPSJCZWZvcmVQcmludCIgUHJvcGVydHlOYW1lPSJUZXh0IiBFeHByZXNzaW9uPSJbbGFzdF9uYW1lXSIgLz4NCiAgICAgICAgICAgICAgICAgICAgICA8L0V4cHJlc3Npb25CaW5kaW5ncz4NCiAgICAgICAgICAgICAgICAgICAgPC9JdGVtMj4NCiAgICAgICAgICAgICAgICAgIDwvQ2VsbHM+DQogICAgICAgICAgICAgICAgPC9JdGVtMT4NCiAgICAgICAgICAgICAgPC9Sb3dzPg0KICAgICAgICAgICAgPC9JdGVtMT4NCiAgICAgICAgICA8L0NvbnRyb2xzPg0KICAgICAgICA8L0l0ZW0yPg0KICAgICAgICA8SXRlbTMgUmVmPSIyNCIgQ29udHJvbFR5cGU9Ikdyb3VwSGVhZGVyQmFuZCIgTmFtZT0iR3JvdXBIZWFkZXIzIiBHcm91cFVuaW9uPSJXaXRoRmlyc3REZXRhaWwiIExldmVsPSIzIiBIZWlnaHRGPSIyNyI+DQogICAgICAgICAgPEdyb3VwRmllbGRzPg0KICAgICAgICAgICAgPEl0ZW0xIFJlZj0iMjUiIEZpZWxkTmFtZT0iZmlyc3RfbmFtZSIgLz4NCiAgICAgICAgICA8L0dyb3VwRmllbGRzPg0KICAgICAgICAgIDxDb250cm9scz4NCiAgICAgICAgICAgIDxJdGVtMSBSZWY9IjI2IiBDb250cm9sVHlwZT0iWFJUYWJsZSIgTmFtZT0idGFibGUzIiBTaXplRj0iNjUwLDI1IiBMb2NhdGlvbkZsb2F0PSIwLDIiPg0KICAgICAgICAgICAgICA8Um93cz4NCiAgICAgICAgICAgICAgICA8SXRlbTEgUmVmPSIyNyIgQ29udHJvbFR5cGU9IlhSVGFibGVSb3ciIE5hbWU9InRhYmxlUm93MyIgV2VpZ2h0PSIxIj4NCiAgICAgICAgICAgICAgICAgIDxDZWxscz4NCiAgICAgICAgICAgICAgICAgICAgPEl0ZW0xIFJlZj0iMjgiIENvbnRyb2xUeXBlPSJYUlRhYmxlQ2VsbCIgTmFtZT0idGFibGVDZWxsNSIgV2VpZ2h0PSIwLjEyMDAzMTMyNzQ2NzY5ODMyIiBUZXh0PSJGSVJTVCBOQU1FIiBTdHlsZU5hbWU9Ikdyb3VwQ2FwdGlvbjIiIC8+DQogICAgICAgICAgICAgICAgICAgIDxJdGVtMiBSZWY9IjI5IiBDb250cm9sVHlwZT0iWFJUYWJsZUNlbGwiIE5hbWU9InRhYmxlQ2VsbDYiIFdlaWdodD0iMC44Nzk5Njg3MzEyMTk5NTE4OSIgU3R5bGVOYW1lPSJHcm91cERhdGEyIj4NCiAgICAgICAgICAgICAgICAgICAgICA8RXhwcmVzc2lvbkJpbmRpbmdzPg0KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0xIFJlZj0iMzAiIEV2ZW50TmFtZT0iQmVmb3JlUHJpbnQiIFByb3BlcnR5TmFtZT0iVGV4dCIgRXhwcmVzc2lvbj0iW2ZpcnN0X25hbWVdIiAvPg0KICAgICAgICAgICAgICAgICAgICAgIDwvRXhwcmVzc2lvbkJpbmRpbmdzPg0KICAgICAgICAgICAgICAgICAgICA8L0l0ZW0yPg0KICAgICAgICAgICAgICAgICAgPC9DZWxscz4NCiAgICAgICAgICAgICAgICA8L0l0ZW0xPg0KICAgICAgICAgICAgICA8L1Jvd3M+DQogICAgICAgICAgICA8L0l0ZW0xPg0KICAgICAgICAgIDwvQ29udHJvbHM+DQogICAgICAgIDwvSXRlbTM+DQogICAgICAgIDxJdGVtNCBSZWY9IjMxIiBDb250cm9sVHlwZT0iRGV0YWlsQmFuZCIgTmFtZT0iRGV0YWlsMSIgSGVpZ2h0Rj0iMCIgLz4NCiAgICAgICAgPEl0ZW01IFJlZj0iMzIiIENvbnRyb2xUeXBlPSJHcm91cEZvb3RlckJhbmQiIE5hbWU9Ikdyb3VwRm9vdGVyMSIgR3JvdXBVbmlvbj0iV2l0aExhc3REZXRhaWwiIEhlaWdodEY9IjYiPg0KICAgICAgICAgIDxDb250cm9scz4NCiAgICAgICAgICAgIDxJdGVtMSBSZWY9IjMzIiBDb250cm9sVHlwZT0iWFJMYWJlbCIgTmFtZT0ibGFiZWwyIiBTaXplRj0iNjUwLDIuMDgiIExvY2F0aW9uRmxvYXQ9IjAsMCIgU3R5bGVOYW1lPSJHcm91cEZvb3RlckJhY2tncm91bmQzIiBCb3JkZXJzPSJOb25lIj4NCiAgICAgICAgICAgICAgPFN0eWxlUHJpb3JpdHkgUmVmPSIzNCIgVXNlQm9yZGVycz0iZmFsc2UiIC8+DQogICAgICAgICAgICA8L0l0ZW0xPg0KICAgICAgICAgIDwvQ29udHJvbHM+DQogICAgICAgIDwvSXRlbTU+DQogICAgICA8L0JhbmRzPg0KICAgIDwvSXRlbTU+DQogICAgPEl0ZW02IFJlZj0iMzUiIENvbnRyb2xUeXBlPSJEZXRhaWxSZXBvcnRCYW5kIiBOYW1lPSJEZXRhaWxSZXBvcnQxIiBMZXZlbD0iMSIgRGF0YU1lbWJlcj0ib3JkZXJfaXRlbXMiIERhdGFTb3VyY2U9IiNSZWYtMCI+DQogICAgICA8QmFuZHM+DQogICAgICAgIDxJdGVtMSBSZWY9IjM2IiBDb250cm9sVHlwZT0iRGV0YWlsQmFuZCIgTmFtZT0iRGV0YWlsMiIgSGVpZ2h0Rj0iMCIgLz4NCiAgICAgIDwvQmFuZHM+DQogICAgPC9JdGVtNj4NCiAgICA8SXRlbTcgUmVmPSIzNyIgQ29udHJvbFR5cGU9IkRldGFpbFJlcG9ydEJhbmQiIE5hbWU9IkRldGFpbFJlcG9ydDIiIExldmVsPSIyIiBEYXRhTWVtYmVyPSJvcmRlcnMiIERhdGFTb3VyY2U9IiNSZWYtMCI+DQogICAgICA8QmFuZHM+DQogICAgICAgIDxJdGVtMSBSZWY9IjM4IiBDb250cm9sVHlwZT0iRGV0YWlsQmFuZCIgTmFtZT0iRGV0YWlsMyIgSGVpZ2h0Rj0iMCIgLz4NCiAgICAgIDwvQmFuZHM+DQogICAgPC9JdGVtNz4NCiAgICA8SXRlbTggUmVmPSIzOSIgQ29udHJvbFR5cGU9IkRldGFpbFJlcG9ydEJhbmQiIE5hbWU9IkRldGFpbFJlcG9ydDMiIExldmVsPSIzIiBEYXRhTWVtYmVyPSJwcm9kdWN0cyIgRGF0YVNvdXJjZT0iI1JlZi0wIj4NCiAgICAgIDxCYW5kcz4NCiAgICAgICAgPEl0ZW0xIFJlZj0iNDAiIENvbnRyb2xUeXBlPSJEZXRhaWxCYW5kIiBOYW1lPSJEZXRhaWw0IiBIZWlnaHRGPSIwIiAvPg0KICAgICAgPC9CYW5kcz4NCiAgICA8L0l0ZW04Pg0KICA8L0JhbmRzPg0KICA8U3R5bGVTaGVldD4NCiAgICA8SXRlbTEgUmVmPSI0MSIgTmFtZT0iVGl0bGUiIEJvcmRlclN0eWxlPSJJbnNldCIgUGFkZGluZz0iNiw2LDAsMCwxMDAiIEZvbnQ9IkFyaWFsLCAxNC4yNXB0IiBGb3JlQ29sb3I9IjI1NSw3NSw3NSw3NSIgQmFja0NvbG9yPSJUcmFuc3BhcmVudCIgQm9yZGVyQ29sb3I9IkJsYWNrIiBTaWRlcz0iTm9uZSIgU3RyaW5nRm9ybWF0PSJOZWFyO05lYXI7MDtOb25lO0NoYXJhY3RlcjtHZW5lcmljRGVmYXVsdCIgQm9yZGVyV2lkdGhTZXJpYWxpemFibGU9IjEiIC8+DQogICAgPEl0ZW0yIFJlZj0iNDIiIE5hbWU9Ikdyb3VwQ2FwdGlvbjIiIEJvcmRlclN0eWxlPSJJbnNldCIgUGFkZGluZz0iNiwyLDAsMCwxMDAiIEZvbnQ9IkFyaWFsLCA4LjI1cHQsIHN0eWxlPUJvbGQiIEZvcmVDb2xvcj0iMjU1LDIyOCwyMjgsMjI4IiBCYWNrQ29sb3I9IjI1NSwxMTEsMTExLDExMSIgQm9yZGVyQ29sb3I9IldoaXRlIiBTaWRlcz0iQm90dG9tIiBTdHJpbmdGb3JtYXQ9Ik5lYXI7Q2VudGVyOzA7Tm9uZTtDaGFyYWN0ZXI7R2VuZXJpY0RlZmF1bHQiIFRleHRBbGlnbm1lbnQ9Ik1pZGRsZUxlZnQiIEJvcmRlcldpZHRoU2VyaWFsaXphYmxlPSIyIiAvPg0KICAgIDxJdGVtMyBSZWY9IjQzIiBOYW1lPSJHcm91cERhdGEyIiBCb3JkZXJTdHlsZT0iSW5zZXQiIFBhZGRpbmc9IjYsMiwwLDAsMTAwIiBGb250PSJBcmlhbCwgOC4yNXB0LCBzdHlsZT1Cb2xkIiBGb3JlQ29sb3I9IldoaXRlIiBCYWNrQ29sb3I9IjI1NSwxMTEsMTExLDExMSIgQm9yZGVyQ29sb3I9IldoaXRlIiBTaWRlcz0iQm90dG9tIiBTdHJpbmdGb3JtYXQ9Ik5lYXI7Q2VudGVyOzA7Tm9uZTtDaGFyYWN0ZXI7R2VuZXJpY0RlZmF1bHQiIFRleHRBbGlnbm1lbnQ9Ik1pZGRsZUxlZnQiIEJvcmRlcldpZHRoU2VyaWFsaXphYmxlPSIyIiAvPg0KICAgIDxJdGVtNCBSZWY9IjQ0IiBOYW1lPSJHcm91cEZvb3RlckJhY2tncm91bmQzIiBCb3JkZXJTdHlsZT0iSW5zZXQiIFBhZGRpbmc9IjYsMiwwLDAsMTAwIiBGb250PSJBcmlhbCwgOC4yNXB0LCBzdHlsZT1Cb2xkIiBGb3JlQ29sb3I9IjI1NSwyMjgsMjI4LDIyOCIgQmFja0NvbG9yPSIyNTUsMTMxLDEzMSwxMzEiIEJvcmRlckNvbG9yPSJXaGl0ZSIgU2lkZXM9IkJvdHRvbSIgU3RyaW5nRm9ybWF0PSJOZWFyO0NlbnRlcjswO05vbmU7Q2hhcmFjdGVyO0dlbmVyaWNEZWZhdWx0IiBUZXh0QWxpZ25tZW50PSJNaWRkbGVMZWZ0IiBCb3JkZXJXaWR0aFNlcmlhbGl6YWJsZT0iMiIgLz4NCiAgICA8SXRlbTUgUmVmPSI0NSIgTmFtZT0iUGFnZUluZm8iIEJvcmRlclN0eWxlPSJJbnNldCIgUGFkZGluZz0iNiw2LDAsMCwxMDAiIEZvbnQ9IkFyaWFsLCA4LjI1cHQsIHN0eWxlPUJvbGQiIEZvcmVDb2xvcj0iMjU1LDc1LDc1LDc1IiBTdHJpbmdGb3JtYXQ9Ik5lYXI7TmVhcjswO05vbmU7Q2hhcmFjdGVyO0dlbmVyaWNEZWZhdWx0IiAvPg0KICA8L1N0eWxlU2hlZXQ+DQogIDxDb21wb25lbnRTdG9yYWdlPg0KICAgIDxJdGVtMSBSZWY9IjAiIE9iamVjdFR5cGU9IkRldkV4cHJlc3MuRGF0YUFjY2Vzcy5TcWwuU3FsRGF0YVNvdXJjZSxEZXZFeHByZXNzLkRhdGFBY2Nlc3MudjIzLjEiIE5hbWU9InNxbERhdGFTb3VyY2UiIEJhc2U2ND0iUEZOeGJFUmhkR0ZUYjNWeVkyVWdUbUZ0WlQwaWMzRnNSR0YwWVZOdmRYSmpaU0krUEVOdmJtNWxZM1JwYjI0Z1RtRnRaVDBpWTJ4cFpXNTBjeUlnVUhKdmRtbGtaWEpMWlhrOUlsTlJUR2wwWlNJK1BGQmhjbUZ0WlhSbGNuTStQRkJoY21GdFpYUmxjaUJPWVcxbFBTSmtZWFJoWW1GelpTSWdWbUZzZFdVOUlrTTZYRlZ6WlhKelhGY3dNREF6T0RZek1WeEVaWE5yZEc5d1hHTnNhV1Z1ZEhNdVpHSWlJQzgrUEZCaGNtRnRaWFJsY2lCT1lXMWxQU0p5WldGa0lHOXViSGtpSUZaaGJIVmxQU0l4SWlBdlBqeFFZWEpoYldWMFpYSWdUbUZ0WlQwaVoyVnVaWEpoZEdWRGIyNXVaV04wYVc5dVNHVnNjR1Z5SWlCV1lXeDFaVDBpWm1Gc2MyVWlJQzgrUEM5UVlYSmhiV1YwWlhKelBqd3ZRMjl1Ym1WamRHbHZiajQ4VVhWbGNua2dWSGx3WlQwaVUyVnNaV04wVVhWbGNua2lJRTVoYldVOUltTnNhV1Z1ZEhNaVBqeFVZV0pzWlhNK1BGUmhZbXhsSUU1aGJXVTlJbU5zYVdWdWRITWlJQzgrUEM5VVlXSnNaWE0rUEVOdmJIVnRibk0rUEVOdmJIVnRiaUJVWVdKc1pUMGlZMnhwWlc1MGN5SWdUbUZ0WlQwaVkyeHBaVzUwWDJsa0lpQXZQanhEYjJ4MWJXNGdWR0ZpYkdVOUltTnNhV1Z1ZEhNaUlFNWhiV1U5SW1acGNuTjBYMjVoYldVaUlDOCtQRU52YkhWdGJpQlVZV0pzWlQwaVkyeHBaVzUwY3lJZ1RtRnRaVDBpYkdGemRGOXVZVzFsSWlBdlBqeERiMngxYlc0Z1ZHRmliR1U5SW1Oc2FXVnVkSE1pSUU1aGJXVTlJbVZ0WVdsc0lpQXZQand2UTI5c2RXMXVjejQ4TDFGMVpYSjVQanhSZFdWeWVTQlVlWEJsUFNKVFpXeGxZM1JSZFdWeWVTSWdUbUZ0WlQwaWIzSmtaWEpmYVhSbGJYTWlQanhVWVdKc1pYTStQRlJoWW14bElFNWhiV1U5SW05eVpHVnlYMmwwWlcxeklpQXZQand2VkdGaWJHVnpQanhEYjJ4MWJXNXpQanhEYjJ4MWJXNGdWR0ZpYkdVOUltOXlaR1Z5WDJsMFpXMXpJaUJPWVcxbFBTSnZjbVJsY2w5cGRHVnRYMmxrSWlBdlBqeERiMngxYlc0Z1ZHRmliR1U5SW05eVpHVnlYMmwwWlcxeklpQk9ZVzFsUFNKdmNtUmxjbDlwWkNJZ0x6NDhRMjlzZFcxdUlGUmhZbXhsUFNKdmNtUmxjbDlwZEdWdGN5SWdUbUZ0WlQwaWNISnZaSFZqZEY5cFpDSWdMejQ4UTI5c2RXMXVJRlJoWW14bFBTSnZjbVJsY2w5cGRHVnRjeUlnVG1GdFpUMGljWFZoYm5ScGRIa2lJQzgrUEM5RGIyeDFiVzV6UGp3dlVYVmxjbmsrUEZGMVpYSjVJRlI1Y0dVOUlsTmxiR1ZqZEZGMVpYSjVJaUJPWVcxbFBTSnZjbVJsY25NaVBqeFVZV0pzWlhNK1BGUmhZbXhsSUU1aGJXVTlJbTl5WkdWeWN5SWdMejQ4TDFSaFlteGxjejQ4UTI5c2RXMXVjejQ4UTI5c2RXMXVJRlJoWW14bFBTSnZjbVJsY25NaUlFNWhiV1U5SW05eVpHVnlYMmxrSWlBdlBqeERiMngxYlc0Z1ZHRmliR1U5SW05eVpHVnljeUlnVG1GdFpUMGlZMnhwWlc1MFgybGtJaUF2UGp3dlEyOXNkVzF1Y3o0OEwxRjFaWEo1UGp4UmRXVnllU0JVZVhCbFBTSlRaV3hsWTNSUmRXVnllU0lnVG1GdFpUMGljSEp2WkhWamRITWlQanhVWVdKc1pYTStQRlJoWW14bElFNWhiV1U5SW5CeWIyUjFZM1J6SWlBdlBqd3ZWR0ZpYkdWelBqeERiMngxYlc1elBqeERiMngxYlc0Z1ZHRmliR1U5SW5CeWIyUjFZM1J6SWlCT1lXMWxQU0p3Y205a2RXTjBYMmxrSWlBdlBqeERiMngxYlc0Z1ZHRmliR1U5SW5CeWIyUjFZM1J6SWlCT1lXMWxQU0p1WVcxbElpQXZQanhEYjJ4MWJXNGdWR0ZpYkdVOUluQnliMlIxWTNSeklpQk9ZVzFsUFNKd2NtbGpaU0lnTHo0OEwwTnZiSFZ0Ym5NK1BDOVJkV1Z5ZVQ0OFVtVnpkV3gwVTJOb1pXMWhQanhFWVhSaFUyVjBJRTVoYldVOUluTnhiRVJoZEdGVGIzVnlZMlVpUGp4V2FXVjNJRTVoYldVOUltTnNhV1Z1ZEhNaVBqeEdhV1ZzWkNCT1lXMWxQU0pqYkdsbGJuUmZhV1FpSUZSNWNHVTlJa2x1ZERZMElpQXZQanhHYVdWc1pDQk9ZVzFsUFNKbWFYSnpkRjl1WVcxbElpQlVlWEJsUFNKVGRISnBibWNpSUM4K1BFWnBaV3hrSUU1aGJXVTlJbXhoYzNSZmJtRnRaU0lnVkhsd1pUMGlVM1J5YVc1bklpQXZQanhHYVdWc1pDQk9ZVzFsUFNKbGJXRnBiQ0lnVkhsd1pUMGlVM1J5YVc1bklpQXZQand2Vm1sbGR6NDhWbWxsZHlCT1lXMWxQU0p2Y21SbGNsOXBkR1Z0Y3lJK1BFWnBaV3hrSUU1aGJXVTlJbTl5WkdWeVgybDBaVzFmYVdRaUlGUjVjR1U5SWtsdWREWTBJaUF2UGp4R2FXVnNaQ0JPWVcxbFBTSnZjbVJsY2w5cFpDSWdWSGx3WlQwaVNXNTBOalFpSUM4K1BFWnBaV3hrSUU1aGJXVTlJbkJ5YjJSMVkzUmZhV1FpSUZSNWNHVTlJa2x1ZERZMElpQXZQanhHYVdWc1pDQk9ZVzFsUFNKeGRXRnVkR2wwZVNJZ1ZIbHdaVDBpU1c1ME5qUWlJQzgrUEM5V2FXVjNQanhXYVdWM0lFNWhiV1U5SW05eVpHVnljeUkrUEVacFpXeGtJRTVoYldVOUltOXlaR1Z5WDJsa0lpQlVlWEJsUFNKSmJuUTJOQ0lnTHo0OFJtbGxiR1FnVG1GdFpUMGlZMnhwWlc1MFgybGtJaUJVZVhCbFBTSkpiblEyTkNJZ0x6NDhMMVpwWlhjK1BGWnBaWGNnVG1GdFpUMGljSEp2WkhWamRITWlQanhHYVdWc1pDQk9ZVzFsUFNKd2NtOWtkV04wWDJsa0lpQlVlWEJsUFNKSmJuUTJOQ0lnTHo0OFJtbGxiR1FnVG1GdFpUMGlibUZ0WlNJZ1ZIbHdaVDBpVTNSeWFXNW5JaUF2UGp4R2FXVnNaQ0JPWVcxbFBTSndjbWxqWlNJZ1ZIbHdaVDBpUkc5MVlteGxJaUF2UGp3dlZtbGxkejQ4TDBSaGRHRlRaWFErUEM5U1pYTjFiSFJUWTJobGJXRStQRU52Ym01bFkzUnBiMjVQY0hScGIyNXpJRU5zYjNObFEyOXVibVZqZEdsdmJqMGlkSEoxWlNJZ0x6NDhMMU54YkVSaGRHRlRiM1Z5WTJVKyIgLz4NCiAgPC9Db21wb25lbnRTdG9yYWdlPg0KPC9YdHJhUmVwb3J0c0xheW91dFNlcmlhbGl6ZXI+ --extension ".repx"
defVar --name databaseConnection --type DbConnection --output
defVar --name hasResult --type Boolean
defVar --name path --type String
defVar --name result --type String
defVar --name connectionString --type String
getSpecialFolder --folder "Desktop" path=value
setVar --name "${connectionString}" --value "Server=(localdb)\\mssqllocaldb;Database=automation;User Id=<user>;Password=<pass>"
sqlServerConnect --connectionstring "${connectionString}"
sqlExecute --connection ${databaseConnection} --statement "CREATE TABLE IF NOT EXISTS clients (client_id INTEGER PRIMARY KEY AUTOINCREMENT,first_name TEXT NOT NULL,last_name TEXT NOT NULL,email TEXT NOT NULL);"
sqlExecute --connection ${databaseConnection} --statement "CREATE TABLE IF NOT EXISTS products (product_id INTEGER PRIMARY KEY AUTOINCREMENT,name TEXT NOT NULL,price REAL NOT NULL);"
sqlExecute --connection ${databaseConnection} --statement "CREATE TABLE IF NOT EXISTS orders (order_id INTEGER PRIMARY KEY AUTOINCREMENT,client_id INTEGER,FOREIGN KEY(client_id) REFERENCES clients(client_id));"
sqlExecute --connection ${databaseConnection} --statement "CREATE TABLE IF NOT EXISTS order_items (order_item_id INTEGER PRIMARY KEY AUTOINCREMENT,order_id INTEGER,product_id INTEGER NOT NULL,quantity INTEGER NOT NULL,FOREIGN KEY(order_id) REFERENCES orders(order_id),FOREIGN KEY(product_id) REFERENCES products(product_id));"
sqlExecuteScalar --connection ${databaseConnection} --statement "SELECT COUNT(*) FROM orders;" result=value hasResult=hasresult
if --left "${hasResult}" --operator "Is_True" --negate
	sqlExecute --connection ${databaseConnection} --statement "INSERT INTO clients (first_name, last_name, email)\r\nVALUES\r\n(\'John\', \'Doe\', \'john.doe@example.com\'),\r\n(\'Jane\', \'Doe\', \'jane.doe@example.com\'),\r\n(\'Peter\', \'Parker\', \'peter.parker@example.com\'),\r\n(\'Bruce\', \'Wayne\', \'bruce.wayne@example.com\'),\r\n(\'Clark\', \'Kent\', \'clark.kent@example.com\');"
	sqlExecute --connection ${databaseConnection} --statement "INSERT INTO products (name, price)\r\nVALUES\r\n(\'Espresso\', 3.99),\r\n(\'Latte\', 4.99),\r\n(\'Capuccino\', 5.99),\r\n(\'Macchiato\', 4.50),\r\n(\'Americano\', 3.50),\r\n(\'Iced coffee\', 4.50),\r\n(\'Cold brew coffee\', 5.00),\r\n(\'Frappuccino\', 6.00),\r\n(\'Mocha\', 5.50),\r\n(\'White chocolate mocha\', 6.00);"
	sqlExecute --connection ${databaseConnection} --statement "INSERT INTO orders (client_id)\r\nVALUES\r\n(1),\r\n(2),\r\n(3),\r\n(4),\r\n(5);"
	sqlExecute --connection ${databaseConnection} --statement "INSERT INTO order_items (order_id, product_id, quantity)\r\nVALUES\r\n(1, 1, 2),\r\n(1, 2, 1),\r\n(2, 3, 3),\r\n(2, 4, 1),\r\n(3, 5, 2),\r\n(3, 6, 1),\r\n(4, 7, 3),\r\n(4, 8, 1),\r\n(5, 9, 2),\r\n(5, 10, 1);"
endIf
exportReport --format "Pdf" --watermark "None" --filepath "${path}\\myReport.pdf" --asset "${asset.report}" --mappings "{\"sqlDataSource\":\"${databaseConnection}\"}"