From 89269d6a2b1a0c73af097710104d3b305322848d Mon Sep 17 00:00:00 2001 From: bdunleavy22 <160290912+bdunleavy22@users.noreply.github.com> Date: Mon, 1 Jun 2026 13:01:36 -0500 Subject: [PATCH 1/3] Add files via upload --- .../}bedrock.data.load.cube.json | 401 ++++++++++++++++++ ...}bedrock.process.execute_http_request.json | 100 +++++ 2 files changed, 501 insertions(+) create mode 100644 bedrock_processes_json/}bedrock.data.load.cube.json create mode 100644 bedrock_processes_json/}bedrock.process.execute_http_request.json diff --git a/bedrock_processes_json/}bedrock.data.load.cube.json b/bedrock_processes_json/}bedrock.data.load.cube.json new file mode 100644 index 0000000..68f3edc --- /dev/null +++ b/bedrock_processes_json/}bedrock.data.load.cube.json @@ -0,0 +1,401 @@ +{ + "Name": "}bedrock.data.load.cube", + "PrologProcedure": "#****Begin: Generated Statements***\r\n#****End: Generated Statements****\r\n\r\n###################################################################################################\r\n##~~Join the bedrock TM1 community on GitHub https://github.com/cubewise-code/bedrock-5 Ver 5.3~~##\r\n###################################################################################################\r\n\r\n#Region @DOC\r\n#### Description:\r\n#This process copies data from a source into a target cube. It is designed for use in production environments where data needs to be moved, transformed, or archived between cubes \u2014 even when those cubes have different structures, dimension counts, or dimension orderings. Common uses include populating a reporting cube from a planning cube, and archiving data from one cube to another.\r\n#\r\n#### How to Use:\r\n#`pDatasource` defines the source of data to load from. It can be passed as either a plain string or a JSON Object.\r\n#\r\n#If passed as a plain string, the process will check whether a cube with that name exists. If it does, it will be used as a cube view datasource. If it does not, it will be assumed to be a CSV file path.\r\n#\r\n#To be more explicit, pass a JSON Object with datasource properties as keys:\r\n#```json\r\n#{\r\n# \"datasourcenameforserver\": \"Sales Cube\",\r\n# \"datasourcecubeview\": \"My View\"\r\n#}\r\n#```\r\n#\r\n#`pTargetCube` is the name of the cube to write data into.\r\n#\r\n#The process automatically maps dimensions that exist in both the source and target cube by name, regardless of their index position in each cube. For dimensions in the source that do not exist in the target, their values will be accumulated (all N-level elements summed) unless constrained by `pFilter`.\r\n#\r\n#`pDimMap` is required when the target cube contains dimensions that do not appear in the source cube. It assigns a fixed element for each such dimension. It must be either a JSON Object or JSON Array.\r\n#\r\n#If `pDimMap` is a JSON Object, the keys are the dimension names and the values are the elements to use:\r\n#```json\r\n#{\r\n# \"Account\": \"9999\",\r\n# \"Scenario\": \"Actual\"\r\n#}\r\n#```\r\n#If `pDimMap` is a JSON Array, the index of each item corresponds to the index of the dimension in the target cube:\r\n#```json\r\n#[null, null, \"9999\", null, \"Actual\"]\r\n#```\r\n#\r\n#> [!NOTE]\r\n#> Elements specified in `pDimMap` must be N-level elements unless `pSuppressConsol` is set to `0`.\r\n#>\r\n#> If a dimension in `pDimMap` is given more than one element, the process will execute recursively \u2014 once per element \u2014 accumulating results.\r\n#\r\n#`pFilter` defines which elements from the source cube to include in the load. It is interpreted in the same way as in other Bedrock processes \u2014 as either a JSON Object (dimension name \u2192 element or array of elements) or a JSON Array (index-aligned to source cube dimensions). Elements can be element names, subset names, MDX expressions, or a JSON Array of any mix of the three.\r\n#\r\n#For example, to copy only Actual data for 2023 from a Sales cube into a General Ledger cube, writing to Account `9999`:\r\n#```json\r\n#{\r\n# \"pDatasource\": \"Sales Cube\",\r\n# \"pTargetCube\": \"General Ledger\",\r\n# \"pFilter\": {\"Year\": \"2023\", \"Version\": \"Actual\"},\r\n# \"pDimMap\": {\"Account\": \"9999\"},\r\n# \"pZeroTarget\": 1\r\n#}\r\n#```\r\n#\r\n#To parallelise the same load across the Region dimension using 4 threads:\r\n#```json\r\n#{\r\n# \"pDatasource\": \"Sales Cube\",\r\n# \"pTargetCube\": \"General Ledger\",\r\n# \"pFilter\": {\"Year\": \"2023\", \"Version\": \"Actual\"},\r\n# \"pDimMap\": {\"Account\": \"9999\"},\r\n# \"pMultithreadDimensions\": [\"Region\"],\r\n# \"pMaxThreads\": 4\r\n#}\r\n#```\r\n#\r\n#> [!NOTE]\r\n#> Any dimension listed in `pMultithreadDimensions` must not also appear in `pFilter`. The process uses that dimension as a parallelisation slicer, splitting it into individual recursive calls \u2014 one per element.\r\n#\r\n#When `pZeroTarget` is `1` (the default), the target cube is cleared before loading begins. The scope of the clear is determined by the intersection of `pFilter` and `pDimMap` values for dimensions that exist in the target. Set `pZeroTarget` to `0` to add source values on top of existing target values instead.\r\n#\r\n#`pFactor` and `pIncrement` allow values to be transformed during the copy. `pFactor` multiplies every source value before it is written. `pIncrement`, when set to `1`, adds the source value to the existing target cell value rather than replacing it. These only apply to numeric cells \u2014 string cells are passed through as-is.\r\n#\r\n#- `pDatasource` - Source cube name, CSV file path, or JSON Object with full datasource specification.\r\n#- `pTargetCube` - Name of the cube to write data into.\r\n#- `pFilter` - JSON Object or Array specifying which source elements to include. See above.\r\n#- `pExcept` - Interpreted the same way as `pFilter`, but any element specified here will be excluded from the source view.\r\n#- `pDimMap` - JSON Object or Array mapping target-only dimensions to fixed element values. Required when the target has dimensions not present in the source.\r\n#- `pMultithreadDimensions` - JSON Array of dimension names to parallelise execution across. Each element in the dimension becomes a separate recursive call. Must not overlap with `pFilter`.\r\n#- `pMaxThreads` - Maximum number of concurrent threads when `pMultithreadDimensions` is in use. Default = `1`.\r\n#- `pZeroTarget` - Clear the target before loading (`1` = yes, `0` = no). Default = `1`.\r\n#- `pFactor` - Multiply all source values by this number before writing. Default = `1`.\r\n#- `pIncrement` - If `1`, add source values to existing target values rather than replacing them. Default = `0`.\r\n#- `pSuppressConsol` - Skip consolidated source elements (`1` = yes). Default = `1`.\r\n#- `pSuppressConsolStrings` - Skip consolidated string cells (`1` = yes). Default = `1`.\r\n#- `pSuppressRules` - Suppress rule-derived values in the source view (`1` = yes). Default = `1`.\r\n#- `pSuppressZero` - Skip zero-value source cells (`1` = yes). Default = `1`.\r\n#- `pMappingOverride` - Directly override the internal dimension index mapping array. Replaces the auto-generated mapping entirely. Use with caution.\r\n#- `pSandbox` - Name of a sandbox to direct writes into. The sandbox must exist and be valid for the current user.\r\n#- `pTemp` - Whether to delete temporary views and subsets after execution. `0` = keep all, `1` = delete all, `2` = keep subsets only. Default = `1`.\r\n#- `pUseFile` - Copy via an intermediate file export/import to reduce cube locking. `0` = no file, `1` = use file and delete it, `2` = use file and retain it. Default = `0`.\r\n#- `pDecimalSeparator` - Decimal separator used for string-to-number conversion. Default = `.`.\r\n#- `pThousandSeparator` - Thousand separator used for string-to-number conversion. Default = `,`.\r\n#- `pLogOutput` - Write parameters and action summary to the server message log (`0` = off, `1` = on). Default = `0`.\r\n#- `pStrictErrorHandling` - If `1`, exit with major error status via `ProcessQuit` on any error. Default = `0`.\r\n#- `pJson` - JSON Object to pass all parameters at once. Overrides individually passed parameters for any keys included.\r\n#EndRegion @DOC\r\n\r\n### Global Variables\r\nStringGlobalVariable('sProcessReturnCode');\r\nNumericGlobalVariable('nProcessReturnCode');\r\n\r\n\r\n### Constants ###\r\ncThisProcName = GetProcessName();\r\ncUserName = TM1User();\r\ncTimeStamp = TimSt( Now, '\\Y\\m\\d\\h\\i\\s' );\r\ncRandomInt = NumberToString( INT( RAND( ) * 1000 ));\r\ncTemp = cThisProcName |'_'| cTimeStamp |'_'| cRandomInt;\r\nsMessages = JsonAdd( '{\"Info\": [], \"Error\": []}', '/Info/0', StringToJson( 'Process: '''|cThisProcName|''' run by User: '''|cUsername|'''.' ) );\r\n\r\n#################################################################################################\r\n#Region - Process Parameters\r\n\r\npJson = IF( JsonType( pJson ) @<> 'object', '{}', pJson );\r\nsMessages = '{\"Process\": \"'|GetProcessName()|'\", \"User\": \"'|TM1User()|'\", \"Info\": [\"Process: '''|GetProcessName()|''' run by User: '''|TM1User()|'''.\"], \"Error\": []}';\r\npDefaultParameters = '{\r\n \"pDatasource\": null,\r\n \"pDecimalSeparator\": \".\",\r\n \"pDimMap\": \"\",\r\n \"pExcept\": \"\",\r\n \"pFilter\": \"\",\r\n \"pMappingOverride\": \"\",\r\n \"pMultithreadDimensions\": \"\",\r\n \"pSandbox\": \"\",\r\n \"pTargetCube\": null,\r\n \"pThousandSeparator\": \",\",\r\n \"pFactor\": 1,\r\n \"pIncrement\": 0,\r\n \"pLogOutput\": 0,\r\n \"pMaxThreads\": 0,\r\n \"pStrictErrorHandling\": 0,\r\n \"pSuppressConsol\": 1,\r\n \"pSuppressConsolStrings\": 1,\r\n \"pSuppressRules\": 1,\r\n \"pSuppressZero\": 1,\r\n \"pTemp\": 1,\r\n \"pZeroTarget\": 1\r\n}';\r\n\r\npPassedParameters = '{\r\n \"pDatasource\": '|StringToJson ( pDatasource )|',\r\n \"pDecimalSeparator\": '|StringToJson ( pDecimalSeparator )|',\r\n \"pFilter\": '|StringToJson ( pFilter )|',\r\n \"pDimMap\": '|StringToJson ( pDimMap )|',\r\n \"pExcept\": '|StringToJson ( pExcept )|',\r\n \"pMappingOverride\": '|StringToJson ( pMappingOverride )|',\r\n \"pMultithreadDimensions\": '|StringToJson ( pMultithreadDimensions )|',\r\n \"pSandbox\": '|StringToJson ( pSandbox )|',\r\n \"pTargetCube\": '|StringToJson ( pTargetCube )|',\r\n \"pThousandSeparator\": '|StringToJson ( pThousandSeparator )|',\r\n \"pFactor\": '|NumberToString( pFactor )|',\r\n \"pIncrement\": '|NumberToString( pIncrement )|',\r\n \"pLogOutput\": '|NumberToString( pLogOutput )|',\r\n \"pMaxThreads\": '|NumberToString( pMaxThreads )|',\r\n \"pStrictErrorHandling\": '|NumberToString( pStrictErrorHandling )|',\r\n \"pSuppressConsol\": '|NumberToString( pSuppressConsol )|',\r\n \"pSuppressConsolStrings\": '|NumberToString( pSuppressConsolStrings )|',\r\n \"pSuppressRules\": '|NumberToString( pSuppressRules )|',\r\n \"pSuppressZero\": '|NumberToString( pSuppressZero )|',\r\n \"pTemp\": '|NumberToString( pTemp )|',\r\n \"pZeroTarget\": '|NumberToString( pZeroTarget )|'\r\n}';\r\n\r\npJson = JsonMergePatch( pPassedParameters, pJson );\r\n# String Parameters\r\npDatasource = JsonToString( pJson, '/pDatasource' );\r\npDecimalSeparator = JsonToString( pJson, '/pDecimalSeparator' );\r\npDimMap = JsonToString( pJson, '/pDimMap' );\r\npExcept = JsonToString( pJson, '/pExcept' );\r\npFilter = JsonToString( pJson, '/pFilter' );\r\npMappingOverride = JsonToString( pJson, '/pMappingOverride' );\r\npMultithreadDimensions = JsonToString( pJson, '/pMultithreadDimensions' );\r\npSandbox = JsonToString( pJson, '/pSandbox' );\r\npTargetCube = JsonToString( pJson, '/pTargetCube' );\r\npThousandSeparator = JsonToString( pJson, '/pThousandSeparator' );\r\n# Numeric Parameters\r\npFactor = StringToNumber( JsonToString( pJson, '/pFactor' ) );\r\npIncrement = StringToNumber( JsonToString( pJson, '/pIncrement' ) );\r\npLogOutput = StringToNumber( JsonToString( pJson, '/pLogOutput' ) );\r\npMaxThreads = StringToNumber( JsonToString( pJson, '/pMaxThreads' ) );\r\npStrictErrorHandling = StringToNumber( JsonToString( pJson, '/pStrictErrorHandling' ) );\r\npSuppressConsol = StringToNumber( JsonToString( pJson, '/pSuppressConsol' ) );\r\npSuppressConsolStrings = StringToNumber( JsonToString( pJson, '/pSuppressConsolStrings' ) );\r\npSuppressRules = StringToNumber( JsonToString( pJson, '/pSuppressRules' ) );\r\npSuppressZero = StringToNumber( JsonToString( pJson, '/pSuppressZero' ) );\r\npTemp = StringToNumber( JsonToString( pJson, '/pTemp' ) );\r\npZeroTarget = StringToNumber( JsonToString( pJson, '/pZeroTarget' ) );\r\n\r\n### Get the parameters that differ from the default\r\npDiffer = JsonDiff( pDefaultParameters, pJson );\r\nnSize = JsonSize( pDiffer );\r\nWHILE( nSize > 0 );\r\n nSize = nSize - 1;\r\n pDiffer = JsonReplace( pDiffer, '/'|NumberToString( nSize )|'/op', '\"add\"' );\r\nEND;\r\npJson = JsonPatch( '{}', pDiffer );\r\n\r\n### LogOutput parameters\r\nnSize = JsonSize( pJson );\r\nWHILE( nSize > 0 );\r\n nSize = nSize - 1;\r\n sKey = JsonGetKey( pJson, nSize );\r\n sVal = JsonGet( pJson, sKey );\r\n sValType = JsonType( JsonToString( sVal ) );\r\n \r\n IF( sValType @= 'object' % sValType @= 'array' );\r\n sVal = JsonToString( sVal );\r\n pJson = JsonReplace( pJson, sKey, sVal );\r\n ENDIF;\r\n pPassedParameters = JsonReplace( pPassedParameters, sKey, JsonGet( pJson, sKey ) );\r\nEND;\r\n\r\nsMessages = JsonAdd( sMessages, '/Info/0', pPassedParameters );\r\nIF( pLogOutput = 1 );\r\n LogOutput('INFO', JsonToString( sMessages, '/Info/0' ) );\r\nENDIF;\r\n\r\n#EndRegion - Process Parameters\r\n#################################################################################################\r\n\r\n################################################################################################# \r\n#Region - Validate Parameters\r\n\r\nnErrors = 0;\r\nsTargetCube = pTargetCube;\r\n\r\nnFactor = IF( pFactor = 0, 1, pFactor );\r\npDecimalSeparator = IF( pDecimalSeparator @= '', '.', pDecimalSeparator );\r\npThousandSeparator = IF( pThousandSeparator @= '', ',', pThousandSeparator );\r\n\r\n# If specified source cube doesn't exist then terminate process\r\n#If( CubeExists( pSrcCube ) = 0 );\r\n# nErrors = nErrors + 1;\r\n# sMessage = Expand( 'Invalid source cube specified: %pSrcCube%.');\r\n# LogOutput( cMsgErrorLevel, Expand( cMsgErrorContent ) );\r\n#EndIf;\r\n\r\n# If specified target cube doesn't exist then terminate process\r\n#If( CubeExists( pTgtCube ) = 0 );\r\n# nErrors = nErrors + 1;\r\n# sMessage = Expand( 'Invalid target cube specified: %pTgtCube%.');\r\n# LogOutput( cMsgErrorLevel, Expand( cMsgErrorContent ) );\r\n#EndIf;\r\n\r\n# Validate Sandbox\r\nIf( TRIM( pSandbox ) @<> '' );\r\n If( ServerSandboxExists( pSandbox ) = 0 );\r\n SetUseActiveSandboxProperty( 0 );\r\n nErrors = nErrors + 1;\r\n sMessage = Expand('Sandbox %pSandbox% is invalid for the current user.');\r\n# LogOutput( cMsgErrorLevel, Expand( cMsgErrorContent ) );\r\n Else;\r\n ServerActiveSandboxSet( pSandbox );\r\n SetUseActiveSandboxProperty( 1 );\r\n EndIf;\r\nElse;\r\n SetUseActiveSandboxProperty( 0 );\r\nEndIf;\r\n\r\n# Convert pDatasource to JSON Object if not already\r\nsDatasourceJsonType = JsonType( pDatasource );\r\nIF( sDatasourceJsonType @<> 'object' );\r\n sDatasourceName = pDatasource;\r\n pDatasource = '{\"Name\":'|StringToJson( sDatasourceName )|'}';\r\nENDIF;\r\n\r\n# LOWER all keys\r\nnCount = JsonSize( pDatasource );\r\nWHILE( nCount > 0 );\r\n nCount = nCount - 1;\r\n \r\n sKey = JsonGetKey( pDatasource, 0 );\r\n pDatasource = JsonMove( pDatasource, sKey, LOWER( sKey ) );\r\nEND;\r\n\r\n# Validate pFilter, pExcept, and pDimMap\r\nIF( pFilter @= '' ); pFilter = '{}'; ENDIF;\r\nIF( pExcept @= '' ); pExcept = '{}'; ENDIF;\r\nIF( pDimMap @= '' ); pDimMap = '{}'; ENDIF;\r\n\r\npFilterType = JsonType( pFilter );\r\npExceptType = JsonType( pExcept );\r\npDimMapType = JsonType( pDimMap );\r\n\r\nIF( pFilterType @<> 'array' & pFilterType @<> 'object' );\r\n sMessages = JsonAdd( sMessages, '/Error/0', StringToJson( 'Error: pFilter has invalid type \"'|pFilterType|'\".' ) );\r\nENDIF;\r\n\r\nIF( pExceptType @<> 'array' & pExceptType @<> 'object' );\r\n sMessages = JsonAdd( sMessages, '/Error/0', StringToJson( 'Error: pExcept has invalid type \"'|pExceptType|'\".' ) );\r\nENDIF;\r\n\r\nIF( pDimMapType @<> 'array' & pDimMapType @<> 'object' );\r\n sMessages = JsonAdd( sMessages, '/Error/0', StringToJson( 'Error: pDimMap has invalid type \"'|pDimMapType|'\".' ) );\r\nENDIF;\r\n\r\n#EndRegion - Validate Parameters\r\n#################################################################################################\r\n\r\n################################################################################################# \r\n#Region - Define Datasource\r\n\r\n# DatasourceName\r\nsName = JsonToString( pDatasource, '/name' );\r\nsDatasourceName = JsonToString( pDatasource, '/datasourcename' );\r\nsDatasourceNameForServer = JsonToString( pDatasource, '/datasourcenameforserver' );\r\nsDatasourceNameForClient = JsonToString( pDatasource, '/datasourcenameforclient' );\r\nsDatasourceName = IF( sDatasourceName @= '', sName, sDatasourceName );\r\nsDatasourceNameForServer = IF( sDatasourceNameForServer @= '', sDatasourceName, sDatasourceNameForServer );\r\nsDatasourceNameForClient = IF( sDatasourceNameForClient @= '', sDatasourceNameForServer, sDatasourceNameForClient );\r\nDatasourceNameforServer = sDatasourceNameForServer;\r\nDatasourceNameForClient = sDatasourceNameForClient;\r\n\r\nDatasourceType = UPPER( JsonToString( pDatasource, '/datasourcetype' ) );\r\n# If DatasourceType is not specified, try to infer from sName, based on if a cube exists \r\nIF( DatasourceType @= '' );\r\n DatasourceType = IF( CubeExists( sDatasourceNameForServer ) = 1, 'VIEW', 'CHARACTERDELIMITED' );\r\nENDIF;\r\n\r\n## Get Datasource Info from pDatasource\r\n# File Datasources\r\nsDatasourceASCIIDelimiter = JsonToString( pDatasource, '/datasourceasciidelimiter' );\r\nsDatasourceASCIIQuoteCharacter = JsonToString( pDatasource, '/datasourceasciiquotecharacter' );\r\nsDatasourceASCIIDecimalSeparator = JsonToString( pDatasource, '/datasourceasciidecimalseparator' );\r\nsDatasourceASCIIThousandSeparator = JsonToString( pDatasource, '/datasourceasciithousandseparator' );\r\nnDatasourceASCIIHeaderRecords = StringToNumberEx( JsonToString( pDatasource, '/datasourceasciiheaderrecords' ), pDecimalSeparator, pThousandSeparator );\r\n\r\n# TM1 Datasources\r\nsDatasourceCubeView = JsonToString( pDatasource, '/datasourcecubeview' );\r\nsDatasourceDimensionSubset = JsonToString( pDatasource, '/datasourcedimensionsubset' );\r\n\r\n# ODBC/OLEDBOLAP Datasources\r\nsDatasourcePassword = JsonToString( pDatasource, '/datasourcepassword' );\r\nsDatasourceQuery = JsonToString( pDatasource, '/datasourcequery' );\r\nsDatasourceUsername = JsonToString( pDatasource, '/datasourceusername' );\r\n\r\n# JSON Datasources\r\nsDatasourceJsonRootPointer = JsonToString( pDatasource, '/datasourcejsonrootpointer' );\r\nsDatasourceJsonVariableMapping = JsonToString( pDatasource, '/datasourcejsonvariablemapping' );\r\n\r\n## Define Datasource based on info\r\n# File Datasources\r\nDatasourceASCIIDelimiter = IF( sDatasourceASCIIDelimiter @= '', ',', sDatasourceASCIIDelimiter );\r\nDatasourceASCIIQuoteCharacter = IF( sDatasourceASCIIQuoteCharacter @= '', '\"', sDatasourceASCIIQuoteCharacter );\r\nDatasourceASCIIDecimalSeparator = IF( sDatasourceASCIIDecimalSeparator @= '', pDecimalSeparator, sDatasourceASCIIDecimalSeparator );\r\nDatasourceASCIIThousandSeparator = IF( sDatasourceASCIIThousandSeparator @= '', pThousandSeparator, sDatasourceASCIIThousandSeparator );\r\n \r\n# TM1 Datasources\r\nDatasourceCubeView = sDatasourceCubeView;\r\nDatasourceDimensionSubset = sDatasourceDimensionSubset;\r\n \r\n# ODBC/OLEDBOLAP Datasources\r\nDatasourcePassword = sDatasourcePassword;\r\nDatasourceQuery = sDatasourceQuery;\r\nDatasourceUsername = sDatasourceUsername;\r\n \r\n# JSON Datasources\r\nDatasourceJsonRootPointer = IF( sDatasourceJsonRootPointer @= '', '/', sDatasourceJsonRootPointer );\r\nDatasourceJsonVariableMapping = IF( sDatasourceJsonVariableMapping @= '', '{}', sDatasourceJsonVariableMapping );\r\n\r\n#EndRegion - Define Datasource\r\n#################################################################################################\r\n\r\n# Create default mapping for pTargetCube\r\nsMapping = '[]';\r\nnTargetDimensionCount = CubeDimensionCountGet( pTargetCube );\r\nsTargetMeasureDimension = TABDIM( pTargetCube, nTargetDimensionCount );\r\ni = 0;\r\nWHILE( i < nTargetDimensionCount );\r\n sMapping = JsonAdd( sMapping, '', NumberToString( i ) );\r\n i = i + 1;\r\nEND;\r\n\r\n# Create a generic sMapping, where all of the Source Dimensions are mapped to the correct Target Dimensions. sMapping will be modified according to passed parameters later on.\r\nIF( DataSourceType @<> 'VIEW' );\r\n sSourceCube = sTargetCube;\r\nELSE;\r\n sSourceCube = DatasourceNameForServer;\r\nENDIF;\r\n\r\nnSourceDimensionCount = CubeDimensionCountGet( sSourceCube );\r\nsMapping = JsonAdd( sMapping, '', NumberToString( nSourceDimensionCount ) );\r\nWHILE( nSourceDimensionCount > 0 );\r\n sSourceDimension = TABDIM( sSourceCube, nSourceDimensionCount );\r\n nTargetCount = nTargetDimensionCount;\r\n WHILE( nTargetCount > 0 );\r\n sTargetDimension = TABDIM( sTargetCube, nTargetCount );\r\n IF( sSourceDimension @= sTargetDimension );\r\n sMapping = JsonReplace( sMapping, nTargetCount-1, NumberToString( nSourceDimensionCount-1 ) );\r\n ENDIF;\r\n \r\n nTargetCount = nTargetCount - 1;\r\n END;\r\n nSourceDimensionCount = nSourceDimensionCount - 1;\r\nEND;\r\n \r\n################################################################################################# \r\n#Region - Interpret parameters based on datasource type\r\n\r\nIF( DatasourceType @= 'CHARACTERDELIMITED' );\r\n \r\nELSEIF( DatasourceType @= 'VIEW' );\r\n IF( DatasourceCubeView @= '' );\r\n ExecuteProcess('}bedrock.cube.view.create.from_json',\r\n 'pCube', sSourceCube,\r\n 'pView', cTemp,\r\n 'pFilter', pFilter,\r\n 'pExcept', pExcept,\r\n 'pJson', pJson );\r\n DatasourceCubeView = cTemp;\r\n ENDIF;\r\n \r\n #################################################################################################\r\n #Region - Interpret pDimMap, pElementMapping, and Multi-Threading Parameters\r\n \r\n # REQUIREMENTS:\r\n # - Convert pFilter to Dimension Object instead of Array, with values as arrays\r\n # - Convert pExcept to Dimension Object instead of Array, with values as arrays\r\n # - Have pDimMap be Object with keys as Dimension and values as arrays\r\n \r\n # Convert Filters (pFilter, pExcept, pDimMap) to standardized form\r\n pFilters = '{\"pFilter\":'|pFilter|',\"pExcept\":'|pExcept|',\"pDimMap\":'|pDimMap|'}';\r\n sFilters = '{\"pFilter\":{},\"pExcept\":{},\"pDimMap\":{}}';\r\n # Loop through pFilter, pExcept, and pDimMap\r\n nKey = JsonSize( sFilters ); WHILE( nKey > 0 ); nKey = nKey - 1;\r\n sKey = JsonGetKey( sFilters, nKey );\r\n \r\n sCube = IF( sKey @= 'pDimMap', sTargetCube, sSourceCube );\r\n nCube = CubeDimensionCountGet( sCube );\r\n \r\n # Loop Through Dimensions\r\n i = 0; WHILE( i < nCube ); i = i + 1;\r\n sDimension = TABDIM( sCube, i );\r\n sI = NumberToString( i-1 );\r\n \r\n sVal = JsonGet( pFilters, '/'|sKey|'/'|IF( JsonType( pFilters, '/'|sKey ) @= 'array', sI, sDimension ) );\r\n IF( JsonType( sVal ) @= 'string' ); \r\n sVal = '['|sVal|']';\r\n ELSEIF( JsonType( sVal ) @<> 'array' );\r\n sVal = '[]';\r\n ENDIF;\r\n sFilters = JsonAdd( sFilters, '/'|sKey|'/'|sDimension, sVal );\r\n \r\n END;\r\n END;\r\n\r\n # Recursive Calls for multiple elements in pDimMap\r\n sFiltersList = '['|sFilters|']';\r\n i = 0; WHILE( i < nTargetDimensionCount ); i = i + 1;\r\n sDimension = TABDIM( sTargetCube, i );\r\n \r\n sTempFiltersList = '[]';\r\n nFiltersSize = JsonSize( sFiltersList ); WHILE( nFiltersSize > 0 ); nFiltersSize = nFiltersSize - 1;\r\n sTempFilters = JsonGet( sFiltersList, nFiltersSize );\r\n \r\n nDimMapSize = JsonSize( sTempFilters, '/pDimMap/'|sDimension ); WHILE( nDimMapSize > 0 ); nDimMapSize = nDimMapSize - 1;\r\n sTempFiltersList = JsonAdd( sTempFiltersList, '', JsonMove( sTempFilters, '/pDimMap/'|sDimension|'/'|NumberToString( nDimMapSize ), '/pDimMap/'|sDimension ) );\r\n END;\r\n END;\r\n IF( sTempFiltersList @<> '[]' );\r\n sFiltersList = sTempFiltersList;\r\n ENDIF;\r\n END;\r\n \r\n # Multi-Thread: For each set of parameters, loop through dimension, and each element in the dimension that is included in pFilter, but excluded in pExcept.\r\n nMultiThreadDimensionCount = JsonSize( pMultiThreadDimensions );\r\n IF( nMultiThreadDimensionCount > 0 );\r\n sTempFiltersList = '[]';\r\n i = 0;\r\n WHILE( i < nMultiThreadDimensionCount );\r\n sDimension = JsonToString( JsonGet( pMultiThreadDimensions, i ) );\r\n \r\n nSize = JsonSize( sFiltersList );\r\n WHILE( nSize > 0 );\r\n nSize = nSize - 1;\r\n sFilters = JsonGet( sFiltersList, nSize );\r\n ExecuteProcess('}bedrock.hier.sub.create.from_json',\r\n 'pDimension', sDimension,\r\n 'pSubset', cTemp,\r\n 'pFilter', JsonGet( sFilters, '/pFilter/'|sDimension ),\r\n 'pExcept', JsonGet( sFilters, '/pExcept/'|sDimension ) \r\n );\r\n sFilters = JsonRemove( sFilters, '/pExcept/'|sDimension );\r\n \r\n nSubsetSize = SubsetGetSize( sDimension, cTemp );\r\n WHILE( nSubsetSize > 0 );\r\n sElement = SubsetGetElementName( sDimension, cTemp, nSubsetSize );\r\n \r\n sFilters = JsonReplace( sFilters, '/pFilter/'|sDimension, StringToJson( sElement ) );\r\n sTempFiltersList = JsonAdd( sTempFiltersList, 0, sFilters );\r\n \r\n nSubsetSize = nSubsetSize - 1;\r\n END;\r\n END;\r\n i = i + 1;\r\n END;\r\n IF( sTempFiltersList @<> '[]' );\r\n sFiltersList = sTempFiltersList;\r\n ENDIF;\r\n ENDIF;\r\n \r\n nSize = JsonSize( sFiltersList );\r\n IF( nSize <> 1 );\r\n Datasourcetype = 'NULL';\r\n \r\n # Single-Thread Recursive Call\r\n IF( nMultiThreadDimensionCount <= 0 % pMaxThreads = 1 );\r\n WHILE( nSize > 0 );\r\n nSize = nSize - 1;\r\n sJson = JsonGet( sFiltersList, nSize );\r\n sJson = JsonMergePatch( pJson, sJson );\r\n \r\n ExecuteProcess( cThisProcName, 'pJson', sJson );\r\n END;\r\n \r\n # Multi-Thread Recursive Call (using '}bedrock.process.multithread')\r\n ELSE;\r\n sTaskList = '[]';\r\n WHILE( nSize > 0 );\r\n nSize = nSize - 1;\r\n sJson = JsonGet( sFiltersList, nSize );\r\n sJson = JsonMergePatch( pJson, sJson );\r\n \r\n sTaskList = JsonAdd( sTaskList, '', '{\"process\":'|StringToJson( cThisProcName )|', \"parameters\":'|sJson|'}' );\r\n END;\r\n ExecuteProcess( '}bedrock.process.multithread',\r\n 'pTaskList', sTaskList );\r\n ENDIF;\r\n ENDIF;\r\n \r\n #EndRegion - Variable Mapping\r\n #################################################################################################\r\n \r\nELSE;\r\n sMessages = JsonAdd( sMessages, '/Error/0', StringToJson( 'Error: Datasource Type \"'|DatasourceType|'\" is not supported' ) );\r\n IF( pLogOutput = 1 ); LogOutput( 'INFO', JsonToString( sMessages, '/0' ) ); ENDIF;\r\n DatasourceType = 'NULL';\r\nENDIF;\r\n\r\n#EndRegion - Interpret parameters based on datasource type\r\n################################################################################################# \r\nIF( DatasourceType @<> 'NULL' );\r\n#################################################################################################\r\n#Region - Interpret pDimMap\r\n\r\n# Reformat pDimMap from array to object\r\nIF( JsonType( pDimMap ) @= 'array' );\r\n pOldDimMap = pDimMap;\r\n pDimMap = '{}';\r\n nSize = JsonSize( pOldDimMap );\r\n WHILE( nSize > 0 );\r\n sDimension = TABDIM( sTargetCube, nSize );\r\n nSize = nSize - 1;\r\n \r\n IF( JsonType( pOldDimMap, nSize ) @= 'string' % JsonType( pOldDimMap, nSize ) @= 'number' );\r\n pDimMap = JsonAdd( pDimMap, sDimension, JsonGet( pOldDimMap, nSize ) );\r\n ENDIF;\r\n END;\r\nENDIF;\r\n\r\n# Apply pDimMap to sMapping\r\ni = 0;\r\nWHILE( i <= nTargetDimensionCount );\r\n i = i + 1;\r\n sDimension = TABDIM( sTargetCube, i );\r\n sDimension = IF( sDimension @= '', '/', sDimension );\r\n sDimensionMap = JsonGet( pDimMap, sDimension );\r\n sType = JsonType( sDimensionMap );\r\n \r\n IF( sType @= 'array' );\r\n IF( JsonSize( sDimensionMap ) = 1 );\r\n sDimensionMap = JsonGet( sDimensionMap, 0 );\r\n sType = JsonType( sDimensionMap );\r\n ELSE;\r\n sMessages = JsonAdd( sMessages, '/Error/0', StringToJson( 'Error: pDimMap had multiple values for dimension \"'|sDimension|'\": '|sDimensionMap ) );\r\n ENDIF;\r\n ENDIF;\r\n \r\n IF( sDimensionMap @<> '' & ( sType @= 'string' % sType @= 'number' ) );\r\n sMapping = JsonReplace( sMapping, i-1, sDimensionMap );\r\n ENDIF;\r\nEND;\r\n\r\n# Allow for Overrides\r\nIF( JsonType( pMappingOverride ) @= 'array' & JsonSize( pMappingOverride ) > 0 );\r\n sMapping = pMappingOverride;\r\nENDIF;\r\n\r\n#EndRegion - Interpret pDimMap\r\n#################################################################################################\r\n\r\n#################################################################################################\r\n#Region - Variable Mapping\r\n \r\nn000 = IF( JsonType( sMapping, '/0' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 000 ) ) = 000 % 000 > nTargetDimensionCount, 0, 2 ) );\r\nn001 = IF( JsonType( sMapping, '/1' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 001 ) ) = 001 % 001 > nTargetDimensionCount, 0, 2 ) );\r\nn002 = IF( JsonType( sMapping, '/2' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 002 ) ) = 002 % 002 > nTargetDimensionCount, 0, 2 ) );\r\nn003 = IF( JsonType( sMapping, '/3' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 003 ) ) = 003 % 003 > nTargetDimensionCount, 0, 2 ) );\r\nn004 = IF( JsonType( sMapping, '/4' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 004 ) ) = 004 % 004 > nTargetDimensionCount, 0, 2 ) );\r\nn005 = IF( JsonType( sMapping, '/5' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 005 ) ) = 005 % 005 > nTargetDimensionCount, 0, 2 ) );\r\nn006 = IF( JsonType( sMapping, '/6' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 006 ) ) = 006 % 006 > nTargetDimensionCount, 0, 2 ) );\r\nn007 = IF( JsonType( sMapping, '/7' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 007 ) ) = 007 % 007 > nTargetDimensionCount, 0, 2 ) );\r\nn008 = IF( JsonType( sMapping, '/8' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 008 ) ) = 008 % 008 > nTargetDimensionCount, 0, 2 ) );\r\nn009 = IF( JsonType( sMapping, '/9' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 009 ) ) = 009 % 009 > nTargetDimensionCount, 0, 2 ) );\r\nn010 = IF( JsonType( sMapping, '/10' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 010 ) ) = 010 % 010 > nTargetDimensionCount, 0, 2 ) );\r\nn011 = IF( JsonType( sMapping, '/11' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 011 ) ) = 011 % 011 > nTargetDimensionCount, 0, 2 ) );\r\nn012 = IF( JsonType( sMapping, '/12' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 012 ) ) = 012 % 012 > nTargetDimensionCount, 0, 2 ) );\r\nn013 = IF( JsonType( sMapping, '/13' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 013 ) ) = 013 % 013 > nTargetDimensionCount, 0, 2 ) );\r\nn014 = IF( JsonType( sMapping, '/14' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 014 ) ) = 014 % 014 > nTargetDimensionCount, 0, 2 ) );\r\nn015 = IF( JsonType( sMapping, '/15' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 015 ) ) = 015 % 015 > nTargetDimensionCount, 0, 2 ) );\r\nn016 = IF( JsonType( sMapping, '/16' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 016 ) ) = 016 % 016 > nTargetDimensionCount, 0, 2 ) );\r\nn017 = IF( JsonType( sMapping, '/17' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 017 ) ) = 017 % 017 > nTargetDimensionCount, 0, 2 ) );\r\nn018 = IF( JsonType( sMapping, '/18' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 018 ) ) = 018 % 018 > nTargetDimensionCount, 0, 2 ) );\r\nn019 = IF( JsonType( sMapping, '/19' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 019 ) ) = 019 % 019 > nTargetDimensionCount, 0, 2 ) );\r\nn020 = IF( JsonType( sMapping, '/20' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 020 ) ) = 020 % 020 > nTargetDimensionCount, 0, 2 ) );\r\nn021 = IF( JsonType( sMapping, '/21' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 021 ) ) = 021 % 021 > nTargetDimensionCount, 0, 2 ) );\r\nn022 = IF( JsonType( sMapping, '/22' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 022 ) ) = 022 % 022 > nTargetDimensionCount, 0, 2 ) );\r\nn023 = IF( JsonType( sMapping, '/23' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 023 ) ) = 023 % 023 > nTargetDimensionCount, 0, 2 ) );\r\nn024 = IF( JsonType( sMapping, '/24' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 024 ) ) = 024 % 024 > nTargetDimensionCount, 0, 2 ) );\r\nn025 = IF( JsonType( sMapping, '/25' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 025 ) ) = 025 % 025 > nTargetDimensionCount, 0, 2 ) );\r\nn026 = IF( JsonType( sMapping, '/26' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 026 ) ) = 026 % 026 > nTargetDimensionCount, 0, 2 ) );\r\nn027 = IF( JsonType( sMapping, '/27' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 027 ) ) = 027 % 027 > nTargetDimensionCount, 0, 2 ) );\r\nn028 = IF( JsonType( sMapping, '/28' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 028 ) ) = 028 % 028 > nTargetDimensionCount, 0, 2 ) );\r\nn029 = IF( JsonType( sMapping, '/29' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 029 ) ) = 029 % 029 > nTargetDimensionCount, 0, 2 ) );\r\nn030 = IF( JsonType( sMapping, '/30' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 030 ) ) = 030 % 030 > nTargetDimensionCount, 0, 2 ) );\r\n \r\ns000 = JsonToString( sMapping, '/0' );\r\ns001 = JsonToString( sMapping, '/1' );\r\ns002 = JsonToString( sMapping, '/2' );\r\ns003 = JsonToString( sMapping, '/3' );\r\ns004 = JsonToString( sMapping, '/4' );\r\ns005 = JsonToString( sMapping, '/5' );\r\ns006 = JsonToString( sMapping, '/6' );\r\ns007 = JsonToString( sMapping, '/7' );\r\ns008 = JsonToString( sMapping, '/8' );\r\ns009 = JsonToString( sMapping, '/9' );\r\ns010 = JsonToString( sMapping, '/10' );\r\ns011 = JsonToString( sMapping, '/11' );\r\ns012 = JsonToString( sMapping, '/12' );\r\ns013 = JsonToString( sMapping, '/13' );\r\ns014 = JsonToString( sMapping, '/14' );\r\ns015 = JsonToString( sMapping, '/15' );\r\ns016 = JsonToString( sMapping, '/16' );\r\ns017 = JsonToString( sMapping, '/17' );\r\ns018 = JsonToString( sMapping, '/18' );\r\ns019 = JsonToString( sMapping, '/19' );\r\ns020 = JsonToString( sMapping, '/20' );\r\ns021 = JsonToString( sMapping, '/21' );\r\ns022 = JsonToString( sMapping, '/22' );\r\ns023 = JsonToString( sMapping, '/23' );\r\ns024 = JsonToString( sMapping, '/24' );\r\ns025 = JsonToString( sMapping, '/25' );\r\ns026 = JsonToString( sMapping, '/26' );\r\ns027 = JsonToString( sMapping, '/27' );\r\ns028 = JsonToString( sMapping, '/28' );\r\ns029 = JsonToString( sMapping, '/29' );\r\ns030 = JsonToString( sMapping, '/30' );\r\n\r\nt000 = JsonToString( sMapping, '/0' ); WHILE( LONG( t000 ) < 3 ); t000 = '0'|t000; END;\r\nt001 = JsonToString( sMapping, '/1' ); WHILE( LONG( t001 ) < 3 ); t001 = '0'|t001; END;\r\nt002 = JsonToString( sMapping, '/2' ); WHILE( LONG( t002 ) < 3 ); t002 = '0'|t002; END;\r\nt003 = JsonToString( sMapping, '/3' ); WHILE( LONG( t003 ) < 3 ); t003 = '0'|t003; END;\r\nt004 = JsonToString( sMapping, '/4' ); WHILE( LONG( t004 ) < 3 ); t004 = '0'|t004; END;\r\nt005 = JsonToString( sMapping, '/5' ); WHILE( LONG( t005 ) < 3 ); t005 = '0'|t005; END;\r\nt006 = JsonToString( sMapping, '/6' ); WHILE( LONG( t006 ) < 3 ); t006 = '0'|t006; END;\r\nt007 = JsonToString( sMapping, '/7' ); WHILE( LONG( t007 ) < 3 ); t007 = '0'|t007; END;\r\nt008 = JsonToString( sMapping, '/8' ); WHILE( LONG( t008 ) < 3 ); t008 = '0'|t008; END;\r\nt009 = JsonToString( sMapping, '/9' ); WHILE( LONG( t009 ) < 3 ); t009 = '0'|t009; END;\r\nt010 = JsonToString( sMapping, '/10' ); WHILE( LONG( t010 ) < 3 ); t010 = '0'|t010; END;\r\nt011 = JsonToString( sMapping, '/11' ); WHILE( LONG( t011 ) < 3 ); t011 = '0'|t011; END;\r\nt012 = JsonToString( sMapping, '/12' ); WHILE( LONG( t012 ) < 3 ); t012 = '0'|t012; END;\r\nt013 = JsonToString( sMapping, '/13' ); WHILE( LONG( t013 ) < 3 ); t013 = '0'|t013; END;\r\nt014 = JsonToString( sMapping, '/14' ); WHILE( LONG( t014 ) < 3 ); t014 = '0'|t014; END;\r\nt015 = JsonToString( sMapping, '/15' ); WHILE( LONG( t015 ) < 3 ); t015 = '0'|t015; END;\r\nt016 = JsonToString( sMapping, '/16' ); WHILE( LONG( t016 ) < 3 ); t016 = '0'|t016; END;\r\nt017 = JsonToString( sMapping, '/17' ); WHILE( LONG( t017 ) < 3 ); t017 = '0'|t017; END;\r\nt018 = JsonToString( sMapping, '/18' ); WHILE( LONG( t018 ) < 3 ); t018 = '0'|t018; END;\r\nt019 = JsonToString( sMapping, '/19' ); WHILE( LONG( t019 ) < 3 ); t019 = '0'|t019; END;\r\nt020 = JsonToString( sMapping, '/20' ); WHILE( LONG( t020 ) < 3 ); t020 = '0'|t020; END;\r\nt021 = JsonToString( sMapping, '/21' ); WHILE( LONG( t021 ) < 3 ); t021 = '0'|t021; END;\r\nt022 = JsonToString( sMapping, '/22' ); WHILE( LONG( t022 ) < 3 ); t022 = '0'|t022; END;\r\nt023 = JsonToString( sMapping, '/23' ); WHILE( LONG( t023 ) < 3 ); t023 = '0'|t023; END;\r\nt024 = JsonToString( sMapping, '/24' ); WHILE( LONG( t024 ) < 3 ); t024 = '0'|t024; END;\r\nt025 = JsonToString( sMapping, '/25' ); WHILE( LONG( t025 ) < 3 ); t025 = '0'|t025; END;\r\nt026 = JsonToString( sMapping, '/26' ); WHILE( LONG( t026 ) < 3 ); t026 = '0'|t026; END;\r\nt027 = JsonToString( sMapping, '/27' ); WHILE( LONG( t027 ) < 3 ); t027 = '0'|t027; END;\r\nt028 = JsonToString( sMapping, '/28' ); WHILE( LONG( t028 ) < 3 ); t028 = '0'|t028; END;\r\nt029 = JsonToString( sMapping, '/29' ); WHILE( LONG( t029 ) < 3 ); t029 = '0'|t029; END;\r\nt030 = JsonToString( sMapping, '/30' ); WHILE( LONG( t030 ) < 3 ); t030 = '0'|t030; END;\r\n\r\n#EndRegion - Variable Mapping\r\n#################################################################################################\r\n\r\n### Check for errors before continuing\r\nIf( nErrors <> 0 );\r\n If( pStrictErrorHandling = 1 ); \r\n ProcessQuit; \r\n Else;\r\n ProcessBreak;\r\n EndIf;\r\nEndIf;\r\n\r\n# CLEAR OUT TARGET\r\nIF( pZeroTarget = 1 );\r\n sZeroOutFilter = '{}';\r\n i = 0;\r\n WHILE( i <= nTargetDimensionCount );\r\n i = i + 1;\r\n sDimension = TABDIM( sTargetCube, i );\r\n \r\n IF( JsonSize( sFilters, '/pDimMap/'|sDimension ) > 0 );\r\n sDimensionFilter = JsonGet( sFilters, '/pDimMap/'|sDimension );\r\n ELSE;\r\n sDimensionFilter = JsonGet( sFilters, '/pFilter/'|sDimension );\r\n ENDIF;\r\n \r\n sZeroOutFilter = JsonAdd( sZeroOutFilter, sDimension, sDimensionFilter );\r\n END;\r\n \r\n ExecuteProcess('}bedrock.cube.view.create.from_json',\r\n 'pCube', sTargetCube,\r\n 'pView', cTemp|'_clear',\r\n 'pFilter', sZeroOutFilter,\r\n 'pExcept', pExcept );\r\n ExecuteProcess('}bedrock.cube.data.clear',\r\n 'pCube', sTargetCube,\r\n 'pView', cTemp|'_clear' );\r\nENDIF;\r\n\r\n# DIFFERENT CALLS FOR pFile = 1\r\n\r\nENDIF;", + "MetadataProcedure": "#****Begin: Generated Statements***\r\n#****End: Generated Statements****", + "DataProcedure": "#****Begin: Generated Statements***\r\n#****End: Generated Statements****\r\n\r\n# Put the Target Elements and Value into an Array\r\nsV000 = IF( n000 = 0, v000, IF( n000 = 1, s000, EXPAND( '%v'|t000|'%' ) ) );\r\nsV001 = IF( n001 = 0, v001, IF( n001 = 1, s001, EXPAND( '%v'|t001|'%' ) ) );\r\nsV002 = IF( n002 = 0, v002, IF( n002 = 1, s002, EXPAND( '%v'|t002|'%' ) ) );\r\nsV003 = IF( n003 = 0, v003, IF( n003 = 1, s003, EXPAND( '%v'|t003|'%' ) ) );\r\nsV004 = IF( n004 = 0, v004, IF( n004 = 1, s004, EXPAND( '%v'|t004|'%' ) ) );\r\nsV005 = IF( n005 = 0, v005, IF( n005 = 1, s005, EXPAND( '%v'|t005|'%' ) ) );\r\nsV006 = IF( n006 = 0, v006, IF( n006 = 1, s006, EXPAND( '%v'|t006|'%' ) ) );\r\nsV007 = IF( n007 = 0, v007, IF( n007 = 1, s007, EXPAND( '%v'|t007|'%' ) ) );\r\nsV008 = IF( n008 = 0, v008, IF( n008 = 1, s008, EXPAND( '%v'|t008|'%' ) ) );\r\nsV009 = IF( n009 = 0, v009, IF( n009 = 1, s009, EXPAND( '%v'|t009|'%' ) ) );\r\nsV010 = IF( n010 = 0, v010, IF( n010 = 1, s010, EXPAND( '%v'|t010|'%' ) ) );\r\nsV011 = IF( n011 = 0, v011, IF( n011 = 1, s011, EXPAND( '%v'|t011|'%' ) ) );\r\nsV012 = IF( n012 = 0, v012, IF( n012 = 1, s012, EXPAND( '%v'|t012|'%' ) ) );\r\nsV013 = IF( n013 = 0, v013, IF( n013 = 1, s013, EXPAND( '%v'|t013|'%' ) ) );\r\nsV014 = IF( n014 = 0, v014, IF( n014 = 1, s014, EXPAND( '%v'|t014|'%' ) ) );\r\nsV015 = IF( n015 = 0, v015, IF( n015 = 1, s015, EXPAND( '%v'|t015|'%' ) ) );\r\nsV016 = IF( n016 = 0, v016, IF( n016 = 1, s016, EXPAND( '%v'|t016|'%' ) ) );\r\nsV017 = IF( n017 = 0, v017, IF( n017 = 1, s017, EXPAND( '%v'|t017|'%' ) ) );\r\nsV018 = IF( n018 = 0, v018, IF( n018 = 1, s018, EXPAND( '%v'|t018|'%' ) ) );\r\nsV019 = IF( n019 = 0, v019, IF( n019 = 1, s019, EXPAND( '%v'|t019|'%' ) ) );\r\nsV020 = IF( n020 = 0, v020, IF( n020 = 1, s020, EXPAND( '%v'|t020|'%' ) ) );\r\nsV021 = IF( n021 = 0, v021, IF( n021 = 1, s021, EXPAND( '%v'|t021|'%' ) ) );\r\nsV022 = IF( n022 = 0, v022, IF( n022 = 1, s022, EXPAND( '%v'|t022|'%' ) ) );\r\nsV023 = IF( n023 = 0, v023, IF( n023 = 1, s023, EXPAND( '%v'|t023|'%' ) ) );\r\nsV024 = IF( n024 = 0, v024, IF( n024 = 1, s024, EXPAND( '%v'|t024|'%' ) ) );\r\nsV025 = IF( n025 = 0, v025, IF( n025 = 1, s025, EXPAND( '%v'|t025|'%' ) ) );\r\nsV026 = IF( n026 = 0, v026, IF( n026 = 1, s026, EXPAND( '%v'|t026|'%' ) ) );\r\nsV027 = IF( n027 = 0, v027, IF( n027 = 1, s027, EXPAND( '%v'|t027|'%' ) ) );\r\nsV028 = IF( n028 = 0, v028, IF( n028 = 1, s028, EXPAND( '%v'|t028|'%' ) ) );\r\nsV029 = IF( n029 = 0, v029, IF( n029 = 1, s029, EXPAND( '%v'|t029|'%' ) ) );\r\nsV030 = IF( n030 = 0, v030, IF( n030 = 1, s030, EXPAND( '%v'|t030|'%' ) ) );\r\n\r\n# IF-Block depending on number of dimensions in target\r\nIF( nTargetDimensionCount = 002 );\r\nELSEIF( nTargetDimensionCount = 003 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV002 ) @= 'S' );\r\n\t\tCellPutS( sV003, sTargetCube, sV000,sV001,sV002 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV003, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 004 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV003 ) @= 'S' );\r\n\t\tCellPutS( sV004, sTargetCube, sV000,sV001,sV002,sV003 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV004, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 005 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV004 ) @= 'S' );\r\n\t\tCellPutS( sV005, sTargetCube, sV000,sV001,sV002,sV003,sV004 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV005, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 006 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV005 ) @= 'S' );\r\n\t\tCellPutS( sV006, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV006, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 007 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV006 ) @= 'S' );\r\n\t\tCellPutS( sV007, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV007, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 008 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV007 ) @= 'S' );\r\n\t\tCellPutS( sV008, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV008, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 009 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV008 ) @= 'S' );\r\n\t\tCellPutS( sV009, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV009, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 010 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV009 ) @= 'S' );\r\n\t\tCellPutS( sV010, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV010, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 011 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV010 ) @= 'S' );\r\n\t\tCellPutS( sV011, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV011, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 012 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV011 ) @= 'S' );\r\n\t\tCellPutS( sV012, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV012, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 013 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV012 ) @= 'S' );\r\n\t\tCellPutS( sV013, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV013, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 014 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV013 ) @= 'S' );\r\n\t\tCellPutS( sV014, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV014, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 015 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV014 ) @= 'S' );\r\n\t\tCellPutS( sV015, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV015, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 016 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV015 ) @= 'S' );\r\n\t\tCellPutS( sV016, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV016, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 017 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV016 ) @= 'S' );\r\n\t\tCellPutS( sV017, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV017, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 018 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV017 ) @= 'S' );\r\n\t\tCellPutS( sV018, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV018, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 019 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV018 ) @= 'S' );\r\n\t\tCellPutS( sV019, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV019, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 020 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV019 ) @= 'S' );\r\n\t\tCellPutS( sV020, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV020, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 021 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV020 ) @= 'S' );\r\n\t\tCellPutS( sV021, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV021, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 022 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV021 ) @= 'S' );\r\n\t\tCellPutS( sV022, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV022, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 023 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV022 ) @= 'S' );\r\n\t\tCellPutS( sV023, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV023, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 024 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV023 ) @= 'S' );\r\n\t\tCellPutS( sV024, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV024, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 025 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV024 ) @= 'S' );\r\n\t\tCellPutS( sV025, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV025, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 026 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024,sV025 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV025 ) @= 'S' );\r\n\t\tCellPutS( sV026, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024,sV025 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV026, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024,sV025 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024,sV025 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 027 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024,sV025,sV026 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV026 ) @= 'S' );\r\n\t\tCellPutS( sV027, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024,sV025,sV026 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV027, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024,sV025,sV026 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024,sV025,sV026 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 028 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024,sV025,sV026,sV027 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV027 ) @= 'S' );\r\n\t\tCellPutS( sV028, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024,sV025,sV026,sV027 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV028, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024,sV025,sV026,sV027 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024,sV025,sV026,sV027 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 029 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024,sV025,sV026,sV027,sV028 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV028 ) @= 'S' );\r\n\t\tCellPutS( sV029, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024,sV025,sV026,sV027,sV028 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV029, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024,sV025,sV026,sV027,sV028 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024,sV025,sV026,sV027,sV028 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 030 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024,sV025,sV026,sV027,sV028,sV029 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV029 ) @= 'S' );\r\n\t\tCellPutS( sV030, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024,sV025,sV026,sV027,sV028,sV029 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV030, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024,sV025,sV026,sV027,sV028,sV029 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024,sV025,sV026,sV027,sV028,sV029 );\r\n\tENDIF;\r\nENDIF;\r\n\r\n", + "EpilogProcedure": "#****Begin: Generated Statements***\r\n#****End: Generated Statements****", + "HasSecurityAccess": true, + "UIData": "_ParameterConstraints=e30=\f", + "DataSource": { + "Type": "TM1CubeView", + "dataSourceNameForClient": "Bedrock Source Cube", + "dataSourceNameForServer": "Bedrock Source Cube", + "view": "Default" + }, + "Parameters": [ + { + "Name": "pDatasource", + "Prompt": "REQUIRED: Data source specification. If a string is passed, it will be assumed to be a cube name. If no cube exists, it will be assumed to be a CSV file. To be more detailed, pass a JSON Object with the data source variable name as the key, and the value as the value. E.g. {\"datasourcenameforserver\":\"file.csv\", \"datasourceasciiheaderrecords\":3}", + "Value": "", + "Type": "String" + }, + { + "Name": "pTargetCube", + "Prompt": "REQUIRED: Target cube name", + "Value": "", + "Type": "String" + }, + { + "Name": "pFilter", + "Prompt": "OPTIONAL: JSON Array or JSON Object specifying which elements to include in the view (JSON Array or JSON Object. Default = '{}')", + "Value": "", + "Type": "String" + }, + { + "Name": "pExcept", + "Prompt": "OPTIONAL: JSON Array or JSON Object specifying which elements to exclude in the view (JSON Array or JSON Object. Default = '{}')", + "Value": "", + "Type": "String" + }, + { + "Name": "pDimMap", + "Prompt": "OPTIONAL: Required if target has dims not in source. Format: 'dim_one\u00a6 el_one & dim_two\u00a6 el_two'", + "Value": "", + "Type": "String" + }, + { + "Name": "pMultithreadDimensions", + "Prompt": "OPTIONAL: Parallelization filter in format: dim_one\u00a6 el_one + el_two. Dimension must not be part of filter", + "Value": "", + "Type": "String" + }, + { + "Name": "pMaxThreads", + "Prompt": "OPTIONAL: Maximum number of threads to run when parallel processing is enabled (Default = 1)", + "Value": 1, + "Type": "Numeric" + }, + { + "Name": "pSuppressConsol", + "Prompt": "OPTIONAL: Suppress consolidated values (Boolean. Default = 1)", + "Value": 1, + "Type": "Numeric" + }, + { + "Name": "pSuppressConsolStrings", + "Prompt": "OPTIONAL: Suppress consolidated string cells (Boolean. Default = 1)", + "Value": 1, + "Type": "Numeric" + }, + { + "Name": "pSuppressRules", + "Prompt": "OPTIONAL: Suppress rules (Boolean. Default = 1)", + "Value": 1, + "Type": "Numeric" + }, + { + "Name": "pSuppressZero", + "Prompt": "OPTIONAL: Suppress zeroes (Boolean. Default = 1)", + "Value": 1, + "Type": "Numeric" + }, + { + "Name": "pZeroTarget", + "Prompt": "OPTIONAL: Zero out target before start of process (Boolean. Default = 1)", + "Value": 1, + "Type": "Numeric" + }, + { + "Name": "pFactor", + "Prompt": "OPTIONAL: Multiply source values by factor (Default = 1)", + "Value": 1, + "Type": "Numeric" + }, + { + "Name": "pTemp", + "Prompt": "OPTIONAL: Delete/create temporary objects (0 = Do not delete, 1 = Delete, 2 = if view and subsets are created, keep only subsets)", + "Value": 1, + "Type": "Numeric" + }, + { + "Name": "pSandbox", + "Prompt": "OPTIONAL: Use sandbox", + "Value": "", + "Type": "String" + }, + { + "Name": "pDecimalSeparator", + "Prompt": "OPTIONAL: Decimal separator for string/number conversion (Exactly 3 digits = ASCII code. Default ='.')", + "Value": ".", + "Type": "String" + }, + { + "Name": "pThousandSeparator", + "Prompt": "OPTIONAL: Thousand separator for string/number conversion (Exactly 3 digits = ASCII code. Default = ',')", + "Value": ",", + "Type": "String" + }, + { + "Name": "pMappingOverride", + "Prompt": "OPTIONAL: Override any mapping that has been created by this process", + "Value": "", + "Type": "String" + }, + { + "Name": "pIncrement", + "Prompt": "OPTIONAL: Increment amounts (Boolean. Default = 0)", + "Value": 0, + "Type": "Numeric" + }, + { + "Name": "pLogOutput", + "Prompt": "OPTIONAL: Write parameters and action summary to server message log (Boolean. Default = 0)", + "Value": 0, + "Type": "Numeric" + }, + { + "Name": "pStrictErrorHandling", + "Prompt": "OPTIONAL: On encountering any error, exit with major error status by ProcessQuit after writing to the server message log (Boolean. Default = 0)", + "Value": 0, + "Type": "Numeric" + }, + { + "Name": "pJson", + "Prompt": "OPTIONAL: JSON Object with process parameter values. This will overwrite user passed parameters for all included parameters.", + "Value": "{}", + "Type": "String" + } + ], + "Variables": [ + { + "Name": "v000", + "Type": "String", + "Position": 1, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v001", + "Type": "String", + "Position": 2, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v002", + "Type": "String", + "Position": 3, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v003", + "Type": "String", + "Position": 4, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v004", + "Type": "String", + "Position": 5, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v005", + "Type": "String", + "Position": 6, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v006", + "Type": "String", + "Position": 7, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v007", + "Type": "String", + "Position": 8, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v008", + "Type": "String", + "Position": 9, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v009", + "Type": "String", + "Position": 10, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v010", + "Type": "String", + "Position": 11, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v011", + "Type": "String", + "Position": 12, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v012", + "Type": "String", + "Position": 13, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v013", + "Type": "String", + "Position": 14, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v014", + "Type": "String", + "Position": 15, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v015", + "Type": "String", + "Position": 16, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v016", + "Type": "String", + "Position": 17, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v017", + "Type": "String", + "Position": 18, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v018", + "Type": "String", + "Position": 19, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v019", + "Type": "String", + "Position": 20, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v020", + "Type": "String", + "Position": 21, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v021", + "Type": "String", + "Position": 22, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v022", + "Type": "String", + "Position": 23, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v023", + "Type": "String", + "Position": 24, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v024", + "Type": "String", + "Position": 25, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v025", + "Type": "String", + "Position": 26, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v026", + "Type": "String", + "Position": 27, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v027", + "Type": "String", + "Position": 28, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v028", + "Type": "String", + "Position": 29, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v029", + "Type": "String", + "Position": 30, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v030", + "Type": "String", + "Position": 31, + "StartByte": 0, + "EndByte": 0 + } + ], + "VariablesUIData": [ + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f" + ] +} \ No newline at end of file diff --git a/bedrock_processes_json/}bedrock.process.execute_http_request.json b/bedrock_processes_json/}bedrock.process.execute_http_request.json new file mode 100644 index 0000000..283ec81 --- /dev/null +++ b/bedrock_processes_json/}bedrock.process.execute_http_request.json @@ -0,0 +1,100 @@ +{ + "Name": "}bedrock.process.execute_http_request", + "PrologProcedure": "#****Begin: Generated Statements***\r\n#****End: Generated Statements****\r\n\r\n###################################################################################################\r\n##~~Join the bedrock TM1 community on GitHub https://github.com/cubewise-code/bedrock-5 Ver 5.3~~##\r\n###################################################################################################\r\n\r\n#Region @DOC\r\n#### Description:\r\n#This process executes an HTTP request from within a TurboIntegrator context. It wraps TM1's native `ExecuteHttpRequest` function with structured JSON-based parameter handling, automatic header management, response capture, and error handling. It is the standard Bedrock mechanism for integrating TM1 with external REST APIs, webhooks, and web services.\r\n#\r\n#### How to Use:\r\n#`pMethod` defines the HTTP method for the request. It must be one of the standard HTTP verbs: `GET`, `POST`, `PUT`, `PATCH`, or `DELETE`. The value is converted to uppercase automatically.\r\n#\r\n#`pURL` is the full URL the request will be sent to. `pURLPath` is an optional string that will be appended to `pURL`. This is useful when the base URL is fixed but the path needs to be constructed dynamically.\r\n#\r\n#`pHeaders` is a JSON Array of header strings to include in the request. Each header must be in `Name:Value` format:\r\n#```json\r\n#[\"Authorization:Bearer eyJhbGci...\", \"Accept:application/json\"]\r\n#```\r\n#For `POST`, `PUT`, and `PATCH` requests, if no `Content-Type` header is present in `pHeaders`, the process will automatically add:\r\n#```\r\n#Content-Type: application/json; charset=utf-8\r\n#```\r\n#\r\n#`pBody` is the request body to send. For REST API calls this will typically be a JSON string. Leave it blank for methods that do not send a body, such as `GET` or `DELETE`:\r\n#```json\r\n#{\"name\": \"New Item\", \"value\": 42}\r\n#```\r\n#\r\n#After the request executes, the process writes its result to the global string variable `sBedrockReturnValue` as a JSON object containing the status code and response body:\r\n#```json\r\n#{\r\n# \"status_code\": 200,\r\n# \"body\": {\"id\": \"abc123\", \"status\": \"ok\"}\r\n#}\r\n#```\r\n#If the response body is not valid JSON, it will be wrapped as a JSON string. To read values from this in a downstream process:\r\n#```\r\n#nStatus = StringToNumber( JsonToString( sBedrockReturnValue, '/status_code' ) );\r\n#sId = JsonToString( sBedrockReturnValue, '/body/id' );\r\n#```\r\n#\r\n#> [!NOTE]\r\n#> Response bodies with a `Content-Type` of `application/octet-stream` are not captured in `sBedrockReturnValue`. Use `pResponseFile` to persist binary responses to disk instead.\r\n#\r\n#`pResponseHeaders` is a JSON Array of response header names you want captured in the return value. Any headers listed here will be retrieved from the HTTP response and added under a `headers` key in `sBedrockReturnValue`. For example, passing `[\"Content-Type\", \"X-Request-Id\"]` would produce:\r\n#```json\r\n#{\r\n# \"status_code\": 200,\r\n# \"body\": {\"id\": \"abc123\"},\r\n# \"headers\": {\r\n# \"Content-Type\": \"application/json\",\r\n# \"X-Request-Id\": \"abc-123\"\r\n# }\r\n#}\r\n#```\r\n#\r\n#Here is a full example calling a REST API with a `POST` request, passing an authorisation header and capturing the response:\r\n#```json\r\n#{\r\n# \"pMethod\": \"POST\",\r\n# \"pURL\": \"https://api.example.com/items\",\r\n# \"pUser\": \"admin:password\",\r\n# \"pBody\": \"{\\\"name\\\": \\\"New Item\\\", \\\"value\\\": 42}\",\r\n# \"pHeaders\": [\"Authorization:Bearer eyJhbGciOiJSUzI1...\"],\r\n# \"pLogOutput\": 1\r\n#}\r\n#```\r\n#\r\n#Here is the same call sending a webhook notification to Microsoft Teams, where no authentication or response parsing is needed:\r\n#```json\r\n#{\r\n# \"pMethod\": \"POST\",\r\n# \"pURL\": \"https://outlook.office.com/webhook/...\",\r\n# \"pBody\": \"{\\\"text\\\": \\\"TM1 process completed successfully.\\\"}\"\r\n#}\r\n#```\r\n#\r\n#> [!NOTE]\r\n#> `pUser` passes credentials as a `-u` curl-style basic auth flag. If the endpoint uses token-based authentication, leave `pUser` blank and pass your token via `pHeaders` using an `Authorization:Bearer ...` header instead.\r\n#\r\n#- `pMethod` - The HTTP method to use for the request (`GET`, `POST`, `PUT`, `PATCH`, `DELETE`).\r\n#- `pURL` - The full URL to send the request to.\r\n#- `pURLPath` - Optional path string to append to `pURL`.\r\n#- `pUser` - Basic auth credentials in `username:password` format. Leave blank if not required.\r\n#- `pHeaders` - JSON Array of `Name:Value` header strings to include in the request.\r\n#- `pBody` - The request body. Typically a JSON string for REST API calls.\r\n#- `pResponseFile` - Server-side file path to write the raw response body to. Useful for large payloads or binary responses.\r\n#- `pResponseHeaders` - JSON Array of response header names to capture in `sBedrockReturnValue`.\r\n#- `pCertificateFile` - Path to a custom CA certificate file (`.pem` or `.crt`) for TLS verification.\r\n#- `pContext` - Value for the `TM1-SessionContext` request header. Defaults to `BedrockTop`. Override this to identify the source of requests in TM1 server logs.\r\n#- `pVerify` - Controls TLS certificate verification. `0` (default) skips verification (`-k`), suitable for internal or self-signed certificate environments. `1` enforces verification.\r\n#- `pLogOutput` - Write parameters, request info, and response info to the server message log (`0` = off, `1` = on).\r\n#- `pStrictErrorHandling` - If `1`, any HTTP response with a status code of `400` or above will call `ItemReject`, resulting in a minor error status on the process. If `0` (default), HTTP errors are silently captured in `sBedrockReturnValue` and the process continues.\r\n#- `pJson` - JSON Object to pass all parameters at once. Overrides individually passed parameters for any keys included.\r\n#EndRegion @DOC\r\n\r\n### Global Variables\r\npJson = IF( pJson @= '', '{}', pJson );\r\nStringGlobalVariable( 'sBedrockReturnValue' );\r\nNumericGlobalVariable( 'nBedrockReturnValue' );\r\n\r\n### Constants ###\r\ncThisProcName = GetProcessName();\r\ncUserName = TM1User();\r\ncTimeStamp = TimSt( Now, '\\Y\\m\\d\\h\\i\\s' );\r\ncRandomInt = NumberToString( INT( RAND( ) * 1000 ));\r\ncTemp = cThisProcName |'_'| cTimeStamp |'_'| cRandomInt;\r\nsMessages = '{\"Process\": \"'|cThisProcName|'\", \"User\": \"'|cUsername|'\", \"Info\": [\"Process: '''|cThisProcName|''' run by User: '''|cUsername|'''.\"], \"Error\": []}';\r\n\r\n#################################################################################################\r\n#Region - Process Parameters\r\n\r\npJson = IF( JsonType( pJson ) @<> 'object', '{}', pJson );\r\nsMessages = '{\"Process\": \"'|GetProcessName()|'\", \"User\": \"'|TM1User()|'\", \"Info\": [\"Process: '''|GetProcessName()|''' run by User: '''|TM1User()|'''.\"], \"Error\": []}';\r\npDefaultParameters = '{\r\n \"pBody\": \"\",\r\n \"pCertificateFile\": \"\",\r\n \"pContext\": \"BedrockTop\",\r\n \"pHeaders\": \"[]\",\r\n \"pMethod\": null,\r\n \"pResponseFile\": \"\",\r\n \"pResponseHeaders\": \"[]\",\r\n \"pURL\": null,\r\n \"pURLPath\": \"\",\r\n \"pUser\": null,\r\n \"pLogOutput\": 0,\r\n \"pStrictErrorHandling\": 0,\r\n \"pVerify\": 0\r\n}';\r\n\r\npPassedParameters = '{\r\n \"pBody\": '|StringToJson ( pBody )|',\r\n \"pCertificateFile\": '|StringToJson ( pCertificateFile )|',\r\n \"pContext\": '|StringToJson ( pContext )|',\r\n \"pHeaders\": '|StringToJson ( pHeaders )|',\r\n \"pMethod\": '|StringToJson ( pMethod )|',\r\n \"pResponseFile\": '|StringToJson ( pResponseFile )|',\r\n \"pResponseHeaders\": '|StringToJson ( pResponseHeaders )|',\r\n \"pURL\": '|StringToJson ( pURL )|',\r\n \"pURLPath\": '|StringToJson ( pURLPath )|',\r\n \"pUser\": '|StringToJson ( pUser )|',\r\n \"pLogOutput\": '|NumberToString( pLogOutput )|',\r\n \"pStrictErrorHandling\": '|NumberToString( pStrictErrorHandling )|',\r\n \"pVerify\": '|NumberToString( pVerify )|'\r\n}';\r\n\r\npJson = JsonMergePatch( pPassedParameters, pJson );\r\n# String Parameters\r\npBody = JsonToString( pJson, '/pBody' );\r\npCertificateFile = JsonToString( pJson, '/pCertificateFile' );\r\npContext = JsonToString( pJson, '/pContext' );\r\npHeaders = JsonToString( pJson, '/pHeaders' );\r\npMethod = JsonToString( pJson, '/pMethod' );\r\npResponseFile = JsonToString( pJson, '/pResponseFile' );\r\npResponseHeaders = JsonToString( pJson, '/pResponseHeaders' );\r\npURL = JsonToString( pJson, '/pURL' );\r\npURLPath = JsonToString( pJson, '/pURLPath' );\r\npUser = JsonToString( pJson, '/pUser' );\r\n# Numeric Parameters\r\npLogOutput = StringToNumber( JsonToString( pJson, '/pLogOutput' ) );\r\npStrictErrorHandling = StringToNumber( JsonToString( pJson, '/pStrictErrorHandling' ) );\r\npVerify = StringToNumber( JsonToString( pJson, '/pVerify' ) );\r\n\r\n### Get the parameters that differ from the default\r\npDiffer = JsonDiff( pDefaultParameters, pJson );\r\nnSize = JsonSize( pDiffer );\r\nWHILE( nSize > 0 );\r\n nSize = nSize - 1;\r\n pDiffer = JsonReplace( pDiffer, '/'|NumberToString( nSize )|'/op', '\"add\"' );\r\nEND;\r\npJson = JsonPatch( '{}', pDiffer );\r\n\r\n### LogOutput parameters\r\nnSize = JsonSize( pJson );\r\nWHILE( nSize > 0 );\r\n nSize = nSize - 1;\r\n sKey = JsonGetKey( pJson, nSize );\r\n pPassedParameters = JsonReplace( pPassedParameters, sKey, JsonGet( pJson, sKey ) );\r\nEND;\r\n\r\nsMessages = JsonAdd( sMessages, '/Info/0', pPassedParameters );\r\nIF( pLogOutput = 1 );\r\n LogOutput('INFO', JsonToString( sMessages, '/Info/0' ) );\r\nENDIF;\r\n\r\n#EndRegion - Process Parameters\r\n#################################################################################################\r\n\r\n#################################################################################################\r\n#Region - Validate Parameters\r\n\r\nIF( JsonType( pHeaders ) @<> 'array' );\r\n pHeaders = '[]';\r\nENDIF;\r\n\r\n### If errors occurred terminate process with a major error status ###\r\nIF( JsonSize( sMessages, '/Error' ) <> 0 );\r\n ProcessBreak;\r\nENDIF;\r\n\r\n#EndRegion - Validate Parameters\r\n#################################################################################################\r\n\r\n#################################################################################################\r\n#Region - Compile Parameters into JSON Array sRequestOptions (sRO)\r\n\r\npMethod = UPPER( pMethod );\r\nsURL = pURL;\r\nsRO = '[]';\r\n\r\n# pUser\r\nIF( pUser @<> '' );\r\n sRO = JsonAdd( sRO, '', StringToJson( '-u '|pUser ) );\r\nENDIF;\r\n\r\n# pHeaders\r\nsHeadersType = JsonType( pHeaders );\r\nIF(sHeadersType @<> 'array' );\r\n IF( sHeadersType @<> 'string' );\r\n pHeaders = StringToJson( pHeaders );\r\n ENDIF;\r\n pHeaders = JsonAdd( '[]', '', pHeaders );\r\nENDIF;\r\n\r\nnContentTypeSpecified = 0;\r\nWHILE( JsonSize( pHeaders ) > 0 );\r\n sHeader = JsonToString( pHeaders, 0 );\r\n IF( SUBST( sHeader, 1, 13 ) @= 'Content-Type:' );\r\n nContentTypeSpecified = 1;\r\n ENDIF;\r\n sRO = JsonAdd( sRO, '', StringToJson( '-h '|sHeader ) );\r\n pHeaders = JsonRemove( pHeaders, 0 );\r\nEND;\r\n\r\n# Add a Content-Type for specific Methods\r\nIF( ( pMethod @= 'POST' % pMethod @= 'PATCH' % pMethod @= 'PUT' ) & nContentTypeSpecified = 0 );\r\n sRO = JsonAdd( sRO, '', StringToJson( '-h Content-Type:application/json; charset=utf-8' ) );\r\nENDIF;\r\n\r\nIF( pContext @<> '' );\r\n sRO = JsonAdd( sRO, '', StringToJson( '-h TM1-SessionContext:'|pContext ) );\r\nENDIF;\r\n\r\n# pBody\r\nIF( pBody @<> '' );\r\n sRO = JsonAdd( sRO, '', StringToJson( '-d '|pBody ) );\r\nENDIF;\r\n\r\n# pResponseFile\r\nIF( pResponseFile @<> '' );\r\n sRO = JsonAdd( sRO, '', StringToJson( '-o '|pResponseFile ) );\r\nENDIF;\r\n\r\n# pCertificateFile\r\nIF( pCertificateFile @<> '' );\r\n sRO = JsonAdd( sRO, '', StringToJson( '-c '|pCertificateFile ) );\r\nENDIF;\r\n\r\n# pVerify\r\nIF( pVerify = 0 );\r\n sRO = JsonAdd( sRO, '', '\"-k\"' );\r\nENDIF;\r\n \r\n\r\n##EndRegion - Compile Parameters into JSON Array sRequestOptions (sRO)\r\n##################################################################################################\r\n\r\n#################################################################################################\r\n#Region - ExecuteHttpRequest\r\n\r\nsRequestInfo = '{\r\n \"method\": '|StringToJson(pMethod)|', \r\n \"url\": '|StringToJson(sURL)|'\r\n}';\r\nsMessages = JsonAdd( sMessages, '/Info/0', StringToJson( 'ExecuteHttpRequest Request Info: '| sRequestInfo ) );\r\nIF( pLogOutput = 1 ); LogOutput( 'INFO', JsonToString( sMessages, '/Info/0' ) ); ENDIF;\r\n \r\nIF( JsonSize( sRO ) = 0 );\r\n\tExecuteHttpRequest( pMethod, sURL );\r\nELSEIF( JsonSize( sRO ) = 1 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ) );\r\nELSEIF( JsonSize( sRO ) = 2 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ) );\r\nELSEIF( JsonSize( sRO ) = 3 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ) );\r\nELSEIF( JsonSize( sRO ) = 4 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ) );\r\nELSEIF( JsonSize( sRO ) = 5 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ) );\r\nELSEIF( JsonSize( sRO ) = 6 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ) );\r\nELSEIF( JsonSize( sRO ) = 7 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ) );\r\nELSEIF( JsonSize( sRO ) = 8 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ) );\r\nELSEIF( JsonSize( sRO ) = 9 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ) );\r\nELSEIF( JsonSize( sRO ) = 10 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ) );\r\nELSEIF( JsonSize( sRO ) = 11 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ) );\r\nELSEIF( JsonSize( sRO ) = 12 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ) );\r\nELSEIF( JsonSize( sRO ) = 13 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ) );\r\nELSEIF( JsonSize( sRO ) = 14 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ) );\r\nELSEIF( JsonSize( sRO ) = 15 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ) );\r\nELSEIF( JsonSize( sRO ) = 16 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ) );\r\nELSEIF( JsonSize( sRO ) = 17 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ) );\r\nELSEIF( JsonSize( sRO ) = 18 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ) );\r\nELSEIF( JsonSize( sRO ) = 19 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ) );\r\nELSEIF( JsonSize( sRO ) = 20 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ) );\r\nELSEIF( JsonSize( sRO ) = 21 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ) );\r\nELSEIF( JsonSize( sRO ) = 22 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ) );\r\nELSEIF( JsonSize( sRO ) = 23 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ) );\r\nELSEIF( JsonSize( sRO ) = 24 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ) );\r\nELSEIF( JsonSize( sRO ) = 25 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ) );\r\nELSEIF( JsonSize( sRO ) = 26 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ) );\r\nELSEIF( JsonSize( sRO ) = 27 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ) );\r\nELSEIF( JsonSize( sRO ) = 28 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ), JsonToString( sRO, 27 ) );\r\nELSEIF( JsonSize( sRO ) = 29 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ), JsonToString( sRO, 27 ), JsonToString( sRO, 28 ) );\r\nELSEIF( JsonSize( sRO ) = 30 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ), JsonToString( sRO, 27 ), JsonToString( sRO, 28 ), JsonToString( sRO, 29 ) );\r\nELSEIF( JsonSize( sRO ) = 31 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ), JsonToString( sRO, 27 ), JsonToString( sRO, 28 ), JsonToString( sRO, 29 ), JsonToString( sRO, 30 ) );\r\nELSEIF( JsonSize( sRO ) = 32 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ), JsonToString( sRO, 27 ), JsonToString( sRO, 28 ), JsonToString( sRO, 29 ), JsonToString( sRO, 30 ), JsonToString( sRO, 31 ) );\r\nELSEIF( JsonSize( sRO ) = 33 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ), JsonToString( sRO, 27 ), JsonToString( sRO, 28 ), JsonToString( sRO, 29 ), JsonToString( sRO, 30 ), JsonToString( sRO, 31 ), JsonToString( sRO, 32 ) );\r\nELSEIF( JsonSize( sRO ) = 34 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ), JsonToString( sRO, 27 ), JsonToString( sRO, 28 ), JsonToString( sRO, 29 ), JsonToString( sRO, 30 ), JsonToString( sRO, 31 ), JsonToString( sRO, 32 ), JsonToString( sRO, 33 ) );\r\nELSEIF( JsonSize( sRO ) = 35 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ), JsonToString( sRO, 27 ), JsonToString( sRO, 28 ), JsonToString( sRO, 29 ), JsonToString( sRO, 30 ), JsonToString( sRO, 31 ), JsonToString( sRO, 32 ), JsonToString( sRO, 33 ), JsonToString( sRO, 34 ) );\r\nELSEIF( JsonSize( sRO ) = 36 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ), JsonToString( sRO, 27 ), JsonToString( sRO, 28 ), JsonToString( sRO, 29 ), JsonToString( sRO, 30 ), JsonToString( sRO, 31 ), JsonToString( sRO, 32 ), JsonToString( sRO, 33 ), JsonToString( sRO, 34 ), JsonToString( sRO, 35 ) );\r\nELSEIF( JsonSize( sRO ) = 37 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ), JsonToString( sRO, 27 ), JsonToString( sRO, 28 ), JsonToString( sRO, 29 ), JsonToString( sRO, 30 ), JsonToString( sRO, 31 ), JsonToString( sRO, 32 ), JsonToString( sRO, 33 ), JsonToString( sRO, 34 ), JsonToString( sRO, 35 ), JsonToString( sRO, 36 ) );\r\nELSEIF( JsonSize( sRO ) = 38 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ), JsonToString( sRO, 27 ), JsonToString( sRO, 28 ), JsonToString( sRO, 29 ), JsonToString( sRO, 30 ), JsonToString( sRO, 31 ), JsonToString( sRO, 32 ), JsonToString( sRO, 33 ), JsonToString( sRO, 34 ), JsonToString( sRO, 35 ), JsonToString( sRO, 36 ), JsonToString( sRO, 37 ) );\r\nELSEIF( JsonSize( sRO ) = 39 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ), JsonToString( sRO, 27 ), JsonToString( sRO, 28 ), JsonToString( sRO, 29 ), JsonToString( sRO, 30 ), JsonToString( sRO, 31 ), JsonToString( sRO, 32 ), JsonToString( sRO, 33 ), JsonToString( sRO, 34 ), JsonToString( sRO, 35 ), JsonToString( sRO, 36 ), JsonToString( sRO, 37 ), JsonToString( sRO, 38 ) );\r\nELSEIF( JsonSize( sRO ) = 40 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ), JsonToString( sRO, 27 ), JsonToString( sRO, 28 ), JsonToString( sRO, 29 ), JsonToString( sRO, 30 ), JsonToString( sRO, 31 ), JsonToString( sRO, 32 ), JsonToString( sRO, 33 ), JsonToString( sRO, 34 ), JsonToString( sRO, 35 ), JsonToString( sRO, 36 ), JsonToString( sRO, 37 ), JsonToString( sRO, 38 ), JsonToString( sRO, 39 ) );\r\nELSEIF( JsonSize( sRO ) = 41 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ), JsonToString( sRO, 27 ), JsonToString( sRO, 28 ), JsonToString( sRO, 29 ), JsonToString( sRO, 30 ), JsonToString( sRO, 31 ), JsonToString( sRO, 32 ), JsonToString( sRO, 33 ), JsonToString( sRO, 34 ), JsonToString( sRO, 35 ), JsonToString( sRO, 36 ), JsonToString( sRO, 37 ), JsonToString( sRO, 38 ), JsonToString( sRO, 39 ), JsonToString( sRO, 40 ) );\r\nELSEIF( JsonSize( sRO ) = 42 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ), JsonToString( sRO, 27 ), JsonToString( sRO, 28 ), JsonToString( sRO, 29 ), JsonToString( sRO, 30 ), JsonToString( sRO, 31 ), JsonToString( sRO, 32 ), JsonToString( sRO, 33 ), JsonToString( sRO, 34 ), JsonToString( sRO, 35 ), JsonToString( sRO, 36 ), JsonToString( sRO, 37 ), JsonToString( sRO, 38 ), JsonToString( sRO, 39 ), JsonToString( sRO, 40 ), JsonToString( sRO, 41 ) );\r\nELSEIF( JsonSize( sRO ) = 43 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ), JsonToString( sRO, 27 ), JsonToString( sRO, 28 ), JsonToString( sRO, 29 ), JsonToString( sRO, 30 ), JsonToString( sRO, 31 ), JsonToString( sRO, 32 ), JsonToString( sRO, 33 ), JsonToString( sRO, 34 ), JsonToString( sRO, 35 ), JsonToString( sRO, 36 ), JsonToString( sRO, 37 ), JsonToString( sRO, 38 ), JsonToString( sRO, 39 ), JsonToString( sRO, 40 ), JsonToString( sRO, 41 ), JsonToString( sRO, 42 ) );\r\nELSEIF( JsonSize( sRO ) = 44 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ), JsonToString( sRO, 27 ), JsonToString( sRO, 28 ), JsonToString( sRO, 29 ), JsonToString( sRO, 30 ), JsonToString( sRO, 31 ), JsonToString( sRO, 32 ), JsonToString( sRO, 33 ), JsonToString( sRO, 34 ), JsonToString( sRO, 35 ), JsonToString( sRO, 36 ), JsonToString( sRO, 37 ), JsonToString( sRO, 38 ), JsonToString( sRO, 39 ), JsonToString( sRO, 40 ), JsonToString( sRO, 41 ), JsonToString( sRO, 42 ), JsonToString( sRO, 43 ) );\r\nELSEIF( JsonSize( sRO ) = 45 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ), JsonToString( sRO, 27 ), JsonToString( sRO, 28 ), JsonToString( sRO, 29 ), JsonToString( sRO, 30 ), JsonToString( sRO, 31 ), JsonToString( sRO, 32 ), JsonToString( sRO, 33 ), JsonToString( sRO, 34 ), JsonToString( sRO, 35 ), JsonToString( sRO, 36 ), JsonToString( sRO, 37 ), JsonToString( sRO, 38 ), JsonToString( sRO, 39 ), JsonToString( sRO, 40 ), JsonToString( sRO, 41 ), JsonToString( sRO, 42 ), JsonToString( sRO, 43 ), JsonToString( sRO, 44 ) );\r\nELSEIF( JsonSize( sRO ) = 46 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ), JsonToString( sRO, 27 ), JsonToString( sRO, 28 ), JsonToString( sRO, 29 ), JsonToString( sRO, 30 ), JsonToString( sRO, 31 ), JsonToString( sRO, 32 ), JsonToString( sRO, 33 ), JsonToString( sRO, 34 ), JsonToString( sRO, 35 ), JsonToString( sRO, 36 ), JsonToString( sRO, 37 ), JsonToString( sRO, 38 ), JsonToString( sRO, 39 ), JsonToString( sRO, 40 ), JsonToString( sRO, 41 ), JsonToString( sRO, 42 ), JsonToString( sRO, 43 ), JsonToString( sRO, 44 ), JsonToString( sRO, 45 ) );\r\nELSEIF( JsonSize( sRO ) = 47 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ), JsonToString( sRO, 27 ), JsonToString( sRO, 28 ), JsonToString( sRO, 29 ), JsonToString( sRO, 30 ), JsonToString( sRO, 31 ), JsonToString( sRO, 32 ), JsonToString( sRO, 33 ), JsonToString( sRO, 34 ), JsonToString( sRO, 35 ), JsonToString( sRO, 36 ), JsonToString( sRO, 37 ), JsonToString( sRO, 38 ), JsonToString( sRO, 39 ), JsonToString( sRO, 40 ), JsonToString( sRO, 41 ), JsonToString( sRO, 42 ), JsonToString( sRO, 43 ), JsonToString( sRO, 44 ), JsonToString( sRO, 45 ), JsonToString( sRO, 46 ) );\r\nELSEIF( JsonSize( sRO ) = 48 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ), JsonToString( sRO, 27 ), JsonToString( sRO, 28 ), JsonToString( sRO, 29 ), JsonToString( sRO, 30 ), JsonToString( sRO, 31 ), JsonToString( sRO, 32 ), JsonToString( sRO, 33 ), JsonToString( sRO, 34 ), JsonToString( sRO, 35 ), JsonToString( sRO, 36 ), JsonToString( sRO, 37 ), JsonToString( sRO, 38 ), JsonToString( sRO, 39 ), JsonToString( sRO, 40 ), JsonToString( sRO, 41 ), JsonToString( sRO, 42 ), JsonToString( sRO, 43 ), JsonToString( sRO, 44 ), JsonToString( sRO, 45 ), JsonToString( sRO, 46 ), JsonToString( sRO, 47 ) );\r\nELSEIF( JsonSize( sRO ) = 49 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ), JsonToString( sRO, 27 ), JsonToString( sRO, 28 ), JsonToString( sRO, 29 ), JsonToString( sRO, 30 ), JsonToString( sRO, 31 ), JsonToString( sRO, 32 ), JsonToString( sRO, 33 ), JsonToString( sRO, 34 ), JsonToString( sRO, 35 ), JsonToString( sRO, 36 ), JsonToString( sRO, 37 ), JsonToString( sRO, 38 ), JsonToString( sRO, 39 ), JsonToString( sRO, 40 ), JsonToString( sRO, 41 ), JsonToString( sRO, 42 ), JsonToString( sRO, 43 ), JsonToString( sRO, 44 ), JsonToString( sRO, 45 ), JsonToString( sRO, 46 ), JsonToString( sRO, 47 ), JsonToString( sRO, 48 ) );\r\nELSEIF( JsonSize( sRO ) = 50 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ), JsonToString( sRO, 27 ), JsonToString( sRO, 28 ), JsonToString( sRO, 29 ), JsonToString( sRO, 30 ), JsonToString( sRO, 31 ), JsonToString( sRO, 32 ), JsonToString( sRO, 33 ), JsonToString( sRO, 34 ), JsonToString( sRO, 35 ), JsonToString( sRO, 36 ), JsonToString( sRO, 37 ), JsonToString( sRO, 38 ), JsonToString( sRO, 39 ), JsonToString( sRO, 40 ), JsonToString( sRO, 41 ), JsonToString( sRO, 42 ), JsonToString( sRO, 43 ), JsonToString( sRO, 44 ), JsonToString( sRO, 45 ), JsonToString( sRO, 46 ), JsonToString( sRO, 47 ), JsonToString( sRO, 48 ), JsonToString( sRO, 49 ) );\r\nENDIF;\r\n\r\n#EndRegion - ExecuteHttpRequest\r\n#################################################################################################\r\n\r\n#################################################################################################\r\n#EndRegion - Return Info\r\n\r\n# Catch content type that can't be converted to a string by 'HttpResponseGetBody()'\r\nsContentType = HttpResponseGetHeader( 'Content-Type' );\r\nIF( sContentType @= 'application/octet-stream' );\r\n sBody = '';\r\nELSE;\r\n sBody = HttpResponseGetBody();\r\n IF( JsonType( sBody ) @= '' );\r\n sBody = StringToJson( sBody );\r\n ENDIF;\r\nENDIF;\r\n\r\nnStatusCode = HttpResponseGetStatusCode();\r\nsResponseInfo = '{\r\n \"status_code\": '|NumberToString( nStatusCode )|', \r\n \"body\": '|sBody|'\r\n}';\r\n\r\n# Add Requested Headers to Return Info\r\nsRequestInfo = IF( JsonSize( pResponseHeaders ) > 0, JsonAdd( sResponseInfo, 'headers', '{}' ), sResponseInfo );\r\nWHILE( JsonSize( pResponseHeaders ) > 0 );\r\n sHeader = JsonToString( pResponseHeaders, 0 );\r\n sResponseInfo = JsonAdd( sResponseInfo, '/headers/'|sHeader, StringToJson( HttpResponseGetHeader( sHeader ) ) );\r\n pResponseHeaders = JsonRemove( pResponseHeaders, 0 );\r\nEND;\r\n\r\nsMessages = JsonAdd( sMessages, '/Info/0', StringToJson( 'ExecuteHttpRequest Request: '| sRequestInfo ) );\r\nIF( pLogOutput = 1 ); LogOutput( 'INFO', JsonToString( sMessages, '/Info/0' ) ); ENDIF;\r\n\r\nsBedrockReturnValue = sResponseInfo;\r\nIF( pLogOutput = 1 ); LogOutput( 'INFO', JsonToString( 'ExecuteHttpRequest Response: '| sResponseInfo ) ); ENDIF;\r\n\r\n# Error Handling\r\nIF( pStrictErrorHandling = 1 & nStatusCode >= 400 );\r\n ItemReject( sResponseInfo );\r\nENDIF;\r\n\r\n\r\n#EndRegion - Return Info\r\n#################################################################################################", + "MetadataProcedure": "#****Begin: Generated Statements***\r\n#****End: Generated Statements****", + "DataProcedure": "#****Begin: Generated Statements***\r\n#****End: Generated Statements****", + "EpilogProcedure": "#****Begin: Generated Statements***\r\n#****End: Generated Statements****", + "HasSecurityAccess": false, + "UIData": "", + "DataSource": { + "Type": "None" + }, + "Parameters": [ + { + "Name": "pMethod", + "Prompt": "REQUIRED: Method of the http request", + "Value": "", + "Type": "String" + }, + { + "Name": "pURL", + "Prompt": "REQUIRED: The URL to send the request to", + "Value": "", + "Type": "String" + }, + { + "Name": "pURLPath", + "Prompt": "OPTIONAL: URL Path to append to pURL", + "Value": "", + "Type": "String" + }, + { + "Name": "pUser", + "Prompt": "REQUIRED: User name", + "Value": "", + "Type": "String" + }, + { + "Name": "pHeaders", + "Prompt": "OPTIONAL: JSON Array of headers for the request (Default = '[]')", + "Value": "[]", + "Type": "String" + }, + { + "Name": "pBody", + "Prompt": "OPTIONAL: Request Body", + "Value": "", + "Type": "String" + }, + { + "Name": "pResponseFile", + "Prompt": "OPTIONAL: The file name to write the response to", + "Value": "", + "Type": "String" + }, + { + "Name": "pCertificateFile", + "Prompt": "OPTIONAL: The file name of a custom CA certificate file", + "Value": "", + "Type": "String" + }, + { + "Name": "pVerify", + "Prompt": "OPTIONAL: Verify the TLS certificates (Boolean. Default = 0)", + "Value": 0, + "Type": "Numeric" + }, + { + "Name": "pResponseHeaders", + "Prompt": "OPTIONAL: JSON Array of headers to include in return value", + "Value": "[]", + "Type": "String" + }, + { + "Name": "pContext", + "Prompt": "OPTIONAL: Set the session's context to this value (Default = 'BedrockTop')", + "Value": "BedrockTop", + "Type": "String" + }, + { + "Name": "pLogOutput", + "Prompt": "OPTIONAL: Write parameters and action summary to server message log (Boolean. Default = 0)", + "Value": 0, + "Type": "Numeric" + }, + { + "Name": "pStrictErrorHandling", + "Prompt": "OPTIONAL: On encountering any error, exit with major error status by ProcessQuit after writing to the server message log (Boolean. Default = 0)", + "Value": 0, + "Type": "Numeric" + }, + { + "Name": "pJson", + "Prompt": "OPTIONAL: JSON Object with process parameter values. This will overwrite user passed parameters for all included parameters.", + "Value": "{}", + "Type": "String" + } + ], + "Variables": [], + "VariablesUIData": [] +} \ No newline at end of file From 8341fde1bc6bb49977cdb3e269f09b601faecb3c Mon Sep 17 00:00:00 2001 From: bdunleavy22 <160290912+bdunleavy22@users.noreply.github.com> Date: Mon, 1 Jun 2026 13:06:50 -0500 Subject: [PATCH 2/3] Added two new processes --- installation_files/assets/bedrock.json | 527 ++++++++++++++++++++++++- 1 file changed, 514 insertions(+), 13 deletions(-) diff --git a/installation_files/assets/bedrock.json b/installation_files/assets/bedrock.json index d8e760e..78663e9 100644 --- a/installation_files/assets/bedrock.json +++ b/installation_files/assets/bedrock.json @@ -3665,7 +3665,7 @@ }, { "Name": "pTemp", - "Prompt": "OPTIONAL: Delete/create temporary objects (0 = Do not delete, 1 = Delete, 2 = if view and subsets are created, keep only subsets)", + "Prompt": "OPTIONAL: Create objects as temporary or permanent (Boolean. Default = 1)", "Value": 1, "Type": "Numeric" }, @@ -3677,22 +3677,28 @@ }, { "Name": "pFilter", - "Prompt": "OPTIONAL:", - "Value": "{}", + "Prompt": "OPTIONAL: JSON Array or JSON Object specifying which elements to include in the view (JSON Array or JSON Object. Default = '{}')", + "Value": "", "Type": "String" }, { "Name": "pExcept", - "Prompt": "OPTIONAL:", - "Value": "", + "Prompt": "OPTIONAL: JSON Array or JSON Object specifying which elements to exclude in the view (JSON Array or JSON Object. Default = '{}')", + "Value": "{}", "Type": "String" }, { "Name": "pDefaultMDX", - "Prompt": "OPTIONAL:", + "Prompt": "OPTIONAL: MDX string to use when a dimension is not specified in pFilter. Will replace pDimensionSubstitution with the dimension's name. (Default = '{TM1FILTERBYLEVEL({TM1SUBSETALL([???].[???])}, 0)}')", "Value": "{TM1FILTERBYLEVEL({TM1SUBSETALL([???].[???])}, 0)}", "Type": "String" }, + { + "Name": "pDimensionSubstitution", + "Prompt": "OPTIONAL: Substring in pDefaultMDX which will be replaced with the dimension's name (Default = '???')", + "Value": "???", + "Type": "String" + }, { "Name": "pLogOutput", "Prompt": "OPTIONAL: Write parameters and action summary to server message log (Boolean. Default = 0)", @@ -3710,12 +3716,6 @@ "Prompt": "OPTIONAL: JSON Object with process parameter values. This will overwrite user passed parameters for all included parameters.", "Value": "{}", "Type": "String" - }, - { - "Name": "pDimensionSubstitution", - "Prompt": "OPTIONAL:", - "Value": "???", - "Type": "String" } ], "Variables": [], @@ -3983,6 +3983,407 @@ "Variables": [], "VariablesUIData": [] }, + { + "Name": "}bedrock.data.load.cube", + "PrologProcedure": "#****Begin: Generated Statements***\r\n#****End: Generated Statements****\r\n\r\n###################################################################################################\r\n##~~Join the bedrock TM1 community on GitHub https://github.com/cubewise-code/bedrock-5 Ver 5.3~~##\r\n###################################################################################################\r\n\r\n#Region @DOC\r\n#### Description:\r\n#This process copies data from a source into a target cube. It is designed for use in production environments where data needs to be moved, transformed, or archived between cubes \u2014 even when those cubes have different structures, dimension counts, or dimension orderings. Common uses include populating a reporting cube from a planning cube, and archiving data from one cube to another.\r\n#\r\n#### How to Use:\r\n#`pDatasource` defines the source of data to load from. It can be passed as either a plain string or a JSON Object.\r\n#\r\n#If passed as a plain string, the process will check whether a cube with that name exists. If it does, it will be used as a cube view datasource. If it does not, it will be assumed to be a CSV file path.\r\n#\r\n#To be more explicit, pass a JSON Object with datasource properties as keys:\r\n#```json\r\n#{\r\n# \"datasourcenameforserver\": \"Sales Cube\",\r\n# \"datasourcecubeview\": \"My View\"\r\n#}\r\n#```\r\n#\r\n#`pTargetCube` is the name of the cube to write data into.\r\n#\r\n#The process automatically maps dimensions that exist in both the source and target cube by name, regardless of their index position in each cube. For dimensions in the source that do not exist in the target, their values will be accumulated (all N-level elements summed) unless constrained by `pFilter`.\r\n#\r\n#`pDimMap` is required when the target cube contains dimensions that do not appear in the source cube. It assigns a fixed element for each such dimension. It must be either a JSON Object or JSON Array.\r\n#\r\n#If `pDimMap` is a JSON Object, the keys are the dimension names and the values are the elements to use:\r\n#```json\r\n#{\r\n# \"Account\": \"9999\",\r\n# \"Scenario\": \"Actual\"\r\n#}\r\n#```\r\n#If `pDimMap` is a JSON Array, the index of each item corresponds to the index of the dimension in the target cube:\r\n#```json\r\n#[null, null, \"9999\", null, \"Actual\"]\r\n#```\r\n#\r\n#> [!NOTE]\r\n#> Elements specified in `pDimMap` must be N-level elements unless `pSuppressConsol` is set to `0`.\r\n#>\r\n#> If a dimension in `pDimMap` is given more than one element, the process will execute recursively \u2014 once per element \u2014 accumulating results.\r\n#\r\n#`pFilter` defines which elements from the source cube to include in the load. It is interpreted in the same way as in other Bedrock processes \u2014 as either a JSON Object (dimension name \u2192 element or array of elements) or a JSON Array (index-aligned to source cube dimensions). Elements can be element names, subset names, MDX expressions, or a JSON Array of any mix of the three.\r\n#\r\n#For example, to copy only Actual data for 2023 from a Sales cube into a General Ledger cube, writing to Account `9999`:\r\n#```json\r\n#{\r\n# \"pDatasource\": \"Sales Cube\",\r\n# \"pTargetCube\": \"General Ledger\",\r\n# \"pFilter\": {\"Year\": \"2023\", \"Version\": \"Actual\"},\r\n# \"pDimMap\": {\"Account\": \"9999\"},\r\n# \"pZeroTarget\": 1\r\n#}\r\n#```\r\n#\r\n#To parallelise the same load across the Region dimension using 4 threads:\r\n#```json\r\n#{\r\n# \"pDatasource\": \"Sales Cube\",\r\n# \"pTargetCube\": \"General Ledger\",\r\n# \"pFilter\": {\"Year\": \"2023\", \"Version\": \"Actual\"},\r\n# \"pDimMap\": {\"Account\": \"9999\"},\r\n# \"pMultithreadDimensions\": [\"Region\"],\r\n# \"pMaxThreads\": 4\r\n#}\r\n#```\r\n#\r\n#> [!NOTE]\r\n#> Any dimension listed in `pMultithreadDimensions` must not also appear in `pFilter`. The process uses that dimension as a parallelisation slicer, splitting it into individual recursive calls \u2014 one per element.\r\n#\r\n#When `pZeroTarget` is `1` (the default), the target cube is cleared before loading begins. The scope of the clear is determined by the intersection of `pFilter` and `pDimMap` values for dimensions that exist in the target. Set `pZeroTarget` to `0` to add source values on top of existing target values instead.\r\n#\r\n#`pFactor` and `pIncrement` allow values to be transformed during the copy. `pFactor` multiplies every source value before it is written. `pIncrement`, when set to `1`, adds the source value to the existing target cell value rather than replacing it. These only apply to numeric cells \u2014 string cells are passed through as-is.\r\n#\r\n#- `pDatasource` - Source cube name, CSV file path, or JSON Object with full datasource specification.\r\n#- `pTargetCube` - Name of the cube to write data into.\r\n#- `pFilter` - JSON Object or Array specifying which source elements to include. See above.\r\n#- `pExcept` - Interpreted the same way as `pFilter`, but any element specified here will be excluded from the source view.\r\n#- `pDimMap` - JSON Object or Array mapping target-only dimensions to fixed element values. Required when the target has dimensions not present in the source.\r\n#- `pMultithreadDimensions` - JSON Array of dimension names to parallelise execution across. Each element in the dimension becomes a separate recursive call. Must not overlap with `pFilter`.\r\n#- `pMaxThreads` - Maximum number of concurrent threads when `pMultithreadDimensions` is in use. Default = `1`.\r\n#- `pZeroTarget` - Clear the target before loading (`1` = yes, `0` = no). Default = `1`.\r\n#- `pFactor` - Multiply all source values by this number before writing. Default = `1`.\r\n#- `pIncrement` - If `1`, add source values to existing target values rather than replacing them. Default = `0`.\r\n#- `pSuppressConsol` - Skip consolidated source elements (`1` = yes). Default = `1`.\r\n#- `pSuppressConsolStrings` - Skip consolidated string cells (`1` = yes). Default = `1`.\r\n#- `pSuppressRules` - Suppress rule-derived values in the source view (`1` = yes). Default = `1`.\r\n#- `pSuppressZero` - Skip zero-value source cells (`1` = yes). Default = `1`.\r\n#- `pMappingOverride` - Directly override the internal dimension index mapping array. Replaces the auto-generated mapping entirely. Use with caution.\r\n#- `pSandbox` - Name of a sandbox to direct writes into. The sandbox must exist and be valid for the current user.\r\n#- `pTemp` - Whether to delete temporary views and subsets after execution. `0` = keep all, `1` = delete all, `2` = keep subsets only. Default = `1`.\r\n#- `pUseFile` - Copy via an intermediate file export/import to reduce cube locking. `0` = no file, `1` = use file and delete it, `2` = use file and retain it. Default = `0`.\r\n#- `pDecimalSeparator` - Decimal separator used for string-to-number conversion. Default = `.`.\r\n#- `pThousandSeparator` - Thousand separator used for string-to-number conversion. Default = `,`.\r\n#- `pLogOutput` - Write parameters and action summary to the server message log (`0` = off, `1` = on). Default = `0`.\r\n#- `pStrictErrorHandling` - If `1`, exit with major error status via `ProcessQuit` on any error. Default = `0`.\r\n#- `pJson` - JSON Object to pass all parameters at once. Overrides individually passed parameters for any keys included.\r\n#EndRegion @DOC\r\n\r\n### Global Variables\r\nStringGlobalVariable('sProcessReturnCode');\r\nNumericGlobalVariable('nProcessReturnCode');\r\n\r\n\r\n### Constants ###\r\ncThisProcName = GetProcessName();\r\ncUserName = TM1User();\r\ncTimeStamp = TimSt( Now, '\\Y\\m\\d\\h\\i\\s' );\r\ncRandomInt = NumberToString( INT( RAND( ) * 1000 ));\r\ncTemp = cThisProcName |'_'| cTimeStamp |'_'| cRandomInt;\r\nsMessages = JsonAdd( '{\"Info\": [], \"Error\": []}', '/Info/0', StringToJson( 'Process: '''|cThisProcName|''' run by User: '''|cUsername|'''.' ) );\r\n\r\n#################################################################################################\r\n#Region - Process Parameters\r\n\r\npJson = IF( JsonType( pJson ) @<> 'object', '{}', pJson );\r\nsMessages = '{\"Process\": \"'|GetProcessName()|'\", \"User\": \"'|TM1User()|'\", \"Info\": [\"Process: '''|GetProcessName()|''' run by User: '''|TM1User()|'''.\"], \"Error\": []}';\r\npDefaultParameters = '{\r\n \"pDatasource\": null,\r\n \"pDecimalSeparator\": \".\",\r\n \"pDimMap\": \"\",\r\n \"pExcept\": \"\",\r\n \"pFilter\": \"\",\r\n \"pMappingOverride\": \"\",\r\n \"pMultithreadDimensions\": \"\",\r\n \"pSandbox\": \"\",\r\n \"pTargetCube\": null,\r\n \"pThousandSeparator\": \",\",\r\n \"pFactor\": 1,\r\n \"pIncrement\": 0,\r\n \"pLogOutput\": 0,\r\n \"pMaxThreads\": 0,\r\n \"pStrictErrorHandling\": 0,\r\n \"pSuppressConsol\": 1,\r\n \"pSuppressConsolStrings\": 1,\r\n \"pSuppressRules\": 1,\r\n \"pSuppressZero\": 1,\r\n \"pTemp\": 1,\r\n \"pZeroTarget\": 1\r\n}';\r\n\r\npPassedParameters = '{\r\n \"pDatasource\": '|StringToJson ( pDatasource )|',\r\n \"pDecimalSeparator\": '|StringToJson ( pDecimalSeparator )|',\r\n \"pFilter\": '|StringToJson ( pFilter )|',\r\n \"pDimMap\": '|StringToJson ( pDimMap )|',\r\n \"pExcept\": '|StringToJson ( pExcept )|',\r\n \"pMappingOverride\": '|StringToJson ( pMappingOverride )|',\r\n \"pMultithreadDimensions\": '|StringToJson ( pMultithreadDimensions )|',\r\n \"pSandbox\": '|StringToJson ( pSandbox )|',\r\n \"pTargetCube\": '|StringToJson ( pTargetCube )|',\r\n \"pThousandSeparator\": '|StringToJson ( pThousandSeparator )|',\r\n \"pFactor\": '|NumberToString( pFactor )|',\r\n \"pIncrement\": '|NumberToString( pIncrement )|',\r\n \"pLogOutput\": '|NumberToString( pLogOutput )|',\r\n \"pMaxThreads\": '|NumberToString( pMaxThreads )|',\r\n \"pStrictErrorHandling\": '|NumberToString( pStrictErrorHandling )|',\r\n \"pSuppressConsol\": '|NumberToString( pSuppressConsol )|',\r\n \"pSuppressConsolStrings\": '|NumberToString( pSuppressConsolStrings )|',\r\n \"pSuppressRules\": '|NumberToString( pSuppressRules )|',\r\n \"pSuppressZero\": '|NumberToString( pSuppressZero )|',\r\n \"pTemp\": '|NumberToString( pTemp )|',\r\n \"pZeroTarget\": '|NumberToString( pZeroTarget )|'\r\n}';\r\n\r\npJson = JsonMergePatch( pPassedParameters, pJson );\r\n# String Parameters\r\npDatasource = JsonToString( pJson, '/pDatasource' );\r\npDecimalSeparator = JsonToString( pJson, '/pDecimalSeparator' );\r\npDimMap = JsonToString( pJson, '/pDimMap' );\r\npExcept = JsonToString( pJson, '/pExcept' );\r\npFilter = JsonToString( pJson, '/pFilter' );\r\npMappingOverride = JsonToString( pJson, '/pMappingOverride' );\r\npMultithreadDimensions = JsonToString( pJson, '/pMultithreadDimensions' );\r\npSandbox = JsonToString( pJson, '/pSandbox' );\r\npTargetCube = JsonToString( pJson, '/pTargetCube' );\r\npThousandSeparator = JsonToString( pJson, '/pThousandSeparator' );\r\n# Numeric Parameters\r\npFactor = StringToNumber( JsonToString( pJson, '/pFactor' ) );\r\npIncrement = StringToNumber( JsonToString( pJson, '/pIncrement' ) );\r\npLogOutput = StringToNumber( JsonToString( pJson, '/pLogOutput' ) );\r\npMaxThreads = StringToNumber( JsonToString( pJson, '/pMaxThreads' ) );\r\npStrictErrorHandling = StringToNumber( JsonToString( pJson, '/pStrictErrorHandling' ) );\r\npSuppressConsol = StringToNumber( JsonToString( pJson, '/pSuppressConsol' ) );\r\npSuppressConsolStrings = StringToNumber( JsonToString( pJson, '/pSuppressConsolStrings' ) );\r\npSuppressRules = StringToNumber( JsonToString( pJson, '/pSuppressRules' ) );\r\npSuppressZero = StringToNumber( JsonToString( pJson, '/pSuppressZero' ) );\r\npTemp = StringToNumber( JsonToString( pJson, '/pTemp' ) );\r\npZeroTarget = StringToNumber( JsonToString( pJson, '/pZeroTarget' ) );\r\n\r\n### Get the parameters that differ from the default\r\npDiffer = JsonDiff( pDefaultParameters, pJson );\r\nnSize = JsonSize( pDiffer );\r\nWHILE( nSize > 0 );\r\n nSize = nSize - 1;\r\n pDiffer = JsonReplace( pDiffer, '/'|NumberToString( nSize )|'/op', '\"add\"' );\r\nEND;\r\npJson = JsonPatch( '{}', pDiffer );\r\n\r\n### LogOutput parameters\r\nnSize = JsonSize( pJson );\r\nWHILE( nSize > 0 );\r\n nSize = nSize - 1;\r\n sKey = JsonGetKey( pJson, nSize );\r\n sVal = JsonGet( pJson, sKey );\r\n sValType = JsonType( JsonToString( sVal ) );\r\n \r\n IF( sValType @= 'object' % sValType @= 'array' );\r\n sVal = JsonToString( sVal );\r\n pJson = JsonReplace( pJson, sKey, sVal );\r\n ENDIF;\r\n pPassedParameters = JsonReplace( pPassedParameters, sKey, JsonGet( pJson, sKey ) );\r\nEND;\r\n\r\nsMessages = JsonAdd( sMessages, '/Info/0', pPassedParameters );\r\nIF( pLogOutput = 1 );\r\n LogOutput('INFO', JsonToString( sMessages, '/Info/0' ) );\r\nENDIF;\r\n\r\n#EndRegion - Process Parameters\r\n#################################################################################################\r\n\r\n################################################################################################# \r\n#Region - Validate Parameters\r\n\r\nnErrors = 0;\r\nsTargetCube = pTargetCube;\r\n\r\nnFactor = IF( pFactor = 0, 1, pFactor );\r\npDecimalSeparator = IF( pDecimalSeparator @= '', '.', pDecimalSeparator );\r\npThousandSeparator = IF( pThousandSeparator @= '', ',', pThousandSeparator );\r\n\r\n# If specified source cube doesn't exist then terminate process\r\n#If( CubeExists( pSrcCube ) = 0 );\r\n# nErrors = nErrors + 1;\r\n# sMessage = Expand( 'Invalid source cube specified: %pSrcCube%.');\r\n# LogOutput( cMsgErrorLevel, Expand( cMsgErrorContent ) );\r\n#EndIf;\r\n\r\n# If specified target cube doesn't exist then terminate process\r\n#If( CubeExists( pTgtCube ) = 0 );\r\n# nErrors = nErrors + 1;\r\n# sMessage = Expand( 'Invalid target cube specified: %pTgtCube%.');\r\n# LogOutput( cMsgErrorLevel, Expand( cMsgErrorContent ) );\r\n#EndIf;\r\n\r\n# Validate Sandbox\r\nIf( TRIM( pSandbox ) @<> '' );\r\n If( ServerSandboxExists( pSandbox ) = 0 );\r\n SetUseActiveSandboxProperty( 0 );\r\n nErrors = nErrors + 1;\r\n sMessage = Expand('Sandbox %pSandbox% is invalid for the current user.');\r\n# LogOutput( cMsgErrorLevel, Expand( cMsgErrorContent ) );\r\n Else;\r\n ServerActiveSandboxSet( pSandbox );\r\n SetUseActiveSandboxProperty( 1 );\r\n EndIf;\r\nElse;\r\n SetUseActiveSandboxProperty( 0 );\r\nEndIf;\r\n\r\n# Convert pDatasource to JSON Object if not already\r\nsDatasourceJsonType = JsonType( pDatasource );\r\nIF( sDatasourceJsonType @<> 'object' );\r\n sDatasourceName = pDatasource;\r\n pDatasource = '{\"Name\":'|StringToJson( sDatasourceName )|'}';\r\nENDIF;\r\n\r\n# LOWER all keys\r\nnCount = JsonSize( pDatasource );\r\nWHILE( nCount > 0 );\r\n nCount = nCount - 1;\r\n \r\n sKey = JsonGetKey( pDatasource, 0 );\r\n pDatasource = JsonMove( pDatasource, sKey, LOWER( sKey ) );\r\nEND;\r\n\r\n# Validate pFilter, pExcept, and pDimMap\r\nIF( pFilter @= '' ); pFilter = '{}'; ENDIF;\r\nIF( pExcept @= '' ); pExcept = '{}'; ENDIF;\r\nIF( pDimMap @= '' ); pDimMap = '{}'; ENDIF;\r\n\r\npFilterType = JsonType( pFilter );\r\npExceptType = JsonType( pExcept );\r\npDimMapType = JsonType( pDimMap );\r\n\r\nIF( pFilterType @<> 'array' & pFilterType @<> 'object' );\r\n sMessages = JsonAdd( sMessages, '/Error/0', StringToJson( 'Error: pFilter has invalid type \"'|pFilterType|'\".' ) );\r\nENDIF;\r\n\r\nIF( pExceptType @<> 'array' & pExceptType @<> 'object' );\r\n sMessages = JsonAdd( sMessages, '/Error/0', StringToJson( 'Error: pExcept has invalid type \"'|pExceptType|'\".' ) );\r\nENDIF;\r\n\r\nIF( pDimMapType @<> 'array' & pDimMapType @<> 'object' );\r\n sMessages = JsonAdd( sMessages, '/Error/0', StringToJson( 'Error: pDimMap has invalid type \"'|pDimMapType|'\".' ) );\r\nENDIF;\r\n\r\n#EndRegion - Validate Parameters\r\n#################################################################################################\r\n\r\n################################################################################################# \r\n#Region - Define Datasource\r\n\r\n# DatasourceName\r\nsName = JsonToString( pDatasource, '/name' );\r\nsDatasourceName = JsonToString( pDatasource, '/datasourcename' );\r\nsDatasourceNameForServer = JsonToString( pDatasource, '/datasourcenameforserver' );\r\nsDatasourceNameForClient = JsonToString( pDatasource, '/datasourcenameforclient' );\r\nsDatasourceName = IF( sDatasourceName @= '', sName, sDatasourceName );\r\nsDatasourceNameForServer = IF( sDatasourceNameForServer @= '', sDatasourceName, sDatasourceNameForServer );\r\nsDatasourceNameForClient = IF( sDatasourceNameForClient @= '', sDatasourceNameForServer, sDatasourceNameForClient );\r\nDatasourceNameforServer = sDatasourceNameForServer;\r\nDatasourceNameForClient = sDatasourceNameForClient;\r\n\r\nDatasourceType = UPPER( JsonToString( pDatasource, '/datasourcetype' ) );\r\n# If DatasourceType is not specified, try to infer from sName, based on if a cube exists \r\nIF( DatasourceType @= '' );\r\n DatasourceType = IF( CubeExists( sDatasourceNameForServer ) = 1, 'VIEW', 'CHARACTERDELIMITED' );\r\nENDIF;\r\n\r\n## Get Datasource Info from pDatasource\r\n# File Datasources\r\nsDatasourceASCIIDelimiter = JsonToString( pDatasource, '/datasourceasciidelimiter' );\r\nsDatasourceASCIIQuoteCharacter = JsonToString( pDatasource, '/datasourceasciiquotecharacter' );\r\nsDatasourceASCIIDecimalSeparator = JsonToString( pDatasource, '/datasourceasciidecimalseparator' );\r\nsDatasourceASCIIThousandSeparator = JsonToString( pDatasource, '/datasourceasciithousandseparator' );\r\nnDatasourceASCIIHeaderRecords = StringToNumberEx( JsonToString( pDatasource, '/datasourceasciiheaderrecords' ), pDecimalSeparator, pThousandSeparator );\r\n\r\n# TM1 Datasources\r\nsDatasourceCubeView = JsonToString( pDatasource, '/datasourcecubeview' );\r\nsDatasourceDimensionSubset = JsonToString( pDatasource, '/datasourcedimensionsubset' );\r\n\r\n# ODBC/OLEDBOLAP Datasources\r\nsDatasourcePassword = JsonToString( pDatasource, '/datasourcepassword' );\r\nsDatasourceQuery = JsonToString( pDatasource, '/datasourcequery' );\r\nsDatasourceUsername = JsonToString( pDatasource, '/datasourceusername' );\r\n\r\n# JSON Datasources\r\nsDatasourceJsonRootPointer = JsonToString( pDatasource, '/datasourcejsonrootpointer' );\r\nsDatasourceJsonVariableMapping = JsonToString( pDatasource, '/datasourcejsonvariablemapping' );\r\n\r\n## Define Datasource based on info\r\n# File Datasources\r\nDatasourceASCIIDelimiter = IF( sDatasourceASCIIDelimiter @= '', ',', sDatasourceASCIIDelimiter );\r\nDatasourceASCIIQuoteCharacter = IF( sDatasourceASCIIQuoteCharacter @= '', '\"', sDatasourceASCIIQuoteCharacter );\r\nDatasourceASCIIDecimalSeparator = IF( sDatasourceASCIIDecimalSeparator @= '', pDecimalSeparator, sDatasourceASCIIDecimalSeparator );\r\nDatasourceASCIIThousandSeparator = IF( sDatasourceASCIIThousandSeparator @= '', pThousandSeparator, sDatasourceASCIIThousandSeparator );\r\n \r\n# TM1 Datasources\r\nDatasourceCubeView = sDatasourceCubeView;\r\nDatasourceDimensionSubset = sDatasourceDimensionSubset;\r\n \r\n# ODBC/OLEDBOLAP Datasources\r\nDatasourcePassword = sDatasourcePassword;\r\nDatasourceQuery = sDatasourceQuery;\r\nDatasourceUsername = sDatasourceUsername;\r\n \r\n# JSON Datasources\r\nDatasourceJsonRootPointer = IF( sDatasourceJsonRootPointer @= '', '/', sDatasourceJsonRootPointer );\r\nDatasourceJsonVariableMapping = IF( sDatasourceJsonVariableMapping @= '', '{}', sDatasourceJsonVariableMapping );\r\n\r\n#EndRegion - Define Datasource\r\n#################################################################################################\r\n\r\n# Create default mapping for pTargetCube\r\nsMapping = '[]';\r\nnTargetDimensionCount = CubeDimensionCountGet( pTargetCube );\r\nsTargetMeasureDimension = TABDIM( pTargetCube, nTargetDimensionCount );\r\ni = 0;\r\nWHILE( i < nTargetDimensionCount );\r\n sMapping = JsonAdd( sMapping, '', NumberToString( i ) );\r\n i = i + 1;\r\nEND;\r\n\r\n# Create a generic sMapping, where all of the Source Dimensions are mapped to the correct Target Dimensions. sMapping will be modified according to passed parameters later on.\r\nIF( DataSourceType @<> 'VIEW' );\r\n sSourceCube = sTargetCube;\r\nELSE;\r\n sSourceCube = DatasourceNameForServer;\r\nENDIF;\r\n\r\nnSourceDimensionCount = CubeDimensionCountGet( sSourceCube );\r\nsMapping = JsonAdd( sMapping, '', NumberToString( nSourceDimensionCount ) );\r\nWHILE( nSourceDimensionCount > 0 );\r\n sSourceDimension = TABDIM( sSourceCube, nSourceDimensionCount );\r\n nTargetCount = nTargetDimensionCount;\r\n WHILE( nTargetCount > 0 );\r\n sTargetDimension = TABDIM( sTargetCube, nTargetCount );\r\n IF( sSourceDimension @= sTargetDimension );\r\n sMapping = JsonReplace( sMapping, nTargetCount-1, NumberToString( nSourceDimensionCount-1 ) );\r\n ENDIF;\r\n \r\n nTargetCount = nTargetCount - 1;\r\n END;\r\n nSourceDimensionCount = nSourceDimensionCount - 1;\r\nEND;\r\n \r\n################################################################################################# \r\n#Region - Interpret parameters based on datasource type\r\n\r\nIF( DatasourceType @= 'CHARACTERDELIMITED' );\r\n \r\nELSEIF( DatasourceType @= 'VIEW' );\r\n IF( DatasourceCubeView @= '' );\r\n ExecuteProcess('}bedrock.cube.view.create.from_json',\r\n 'pCube', sSourceCube,\r\n 'pView', cTemp,\r\n 'pFilter', pFilter,\r\n 'pExcept', pExcept,\r\n 'pJson', pJson );\r\n DatasourceCubeView = cTemp;\r\n ENDIF;\r\n \r\n #################################################################################################\r\n #Region - Interpret pDimMap, pElementMapping, and Multi-Threading Parameters\r\n \r\n # REQUIREMENTS:\r\n # - Convert pFilter to Dimension Object instead of Array, with values as arrays\r\n # - Convert pExcept to Dimension Object instead of Array, with values as arrays\r\n # - Have pDimMap be Object with keys as Dimension and values as arrays\r\n \r\n # Convert Filters (pFilter, pExcept, pDimMap) to standardized form\r\n pFilters = '{\"pFilter\":'|pFilter|',\"pExcept\":'|pExcept|',\"pDimMap\":'|pDimMap|'}';\r\n sFilters = '{\"pFilter\":{},\"pExcept\":{},\"pDimMap\":{}}';\r\n # Loop through pFilter, pExcept, and pDimMap\r\n nKey = JsonSize( sFilters ); WHILE( nKey > 0 ); nKey = nKey - 1;\r\n sKey = JsonGetKey( sFilters, nKey );\r\n \r\n sCube = IF( sKey @= 'pDimMap', sTargetCube, sSourceCube );\r\n nCube = CubeDimensionCountGet( sCube );\r\n \r\n # Loop Through Dimensions\r\n i = 0; WHILE( i < nCube ); i = i + 1;\r\n sDimension = TABDIM( sCube, i );\r\n sI = NumberToString( i-1 );\r\n \r\n sVal = JsonGet( pFilters, '/'|sKey|'/'|IF( JsonType( pFilters, '/'|sKey ) @= 'array', sI, sDimension ) );\r\n IF( JsonType( sVal ) @= 'string' ); \r\n sVal = '['|sVal|']';\r\n ELSEIF( JsonType( sVal ) @<> 'array' );\r\n sVal = '[]';\r\n ENDIF;\r\n sFilters = JsonAdd( sFilters, '/'|sKey|'/'|sDimension, sVal );\r\n \r\n END;\r\n END;\r\n\r\n # Recursive Calls for multiple elements in pDimMap\r\n sFiltersList = '['|sFilters|']';\r\n i = 0; WHILE( i < nTargetDimensionCount ); i = i + 1;\r\n sDimension = TABDIM( sTargetCube, i );\r\n \r\n sTempFiltersList = '[]';\r\n nFiltersSize = JsonSize( sFiltersList ); WHILE( nFiltersSize > 0 ); nFiltersSize = nFiltersSize - 1;\r\n sTempFilters = JsonGet( sFiltersList, nFiltersSize );\r\n \r\n nDimMapSize = JsonSize( sTempFilters, '/pDimMap/'|sDimension ); WHILE( nDimMapSize > 0 ); nDimMapSize = nDimMapSize - 1;\r\n sTempFiltersList = JsonAdd( sTempFiltersList, '', JsonMove( sTempFilters, '/pDimMap/'|sDimension|'/'|NumberToString( nDimMapSize ), '/pDimMap/'|sDimension ) );\r\n END;\r\n END;\r\n IF( sTempFiltersList @<> '[]' );\r\n sFiltersList = sTempFiltersList;\r\n ENDIF;\r\n END;\r\n \r\n # Multi-Thread: For each set of parameters, loop through dimension, and each element in the dimension that is included in pFilter, but excluded in pExcept.\r\n nMultiThreadDimensionCount = JsonSize( pMultiThreadDimensions );\r\n IF( nMultiThreadDimensionCount > 0 );\r\n sTempFiltersList = '[]';\r\n i = 0;\r\n WHILE( i < nMultiThreadDimensionCount );\r\n sDimension = JsonToString( JsonGet( pMultiThreadDimensions, i ) );\r\n \r\n nSize = JsonSize( sFiltersList );\r\n WHILE( nSize > 0 );\r\n nSize = nSize - 1;\r\n sFilters = JsonGet( sFiltersList, nSize );\r\n ExecuteProcess('}bedrock.hier.sub.create.from_json',\r\n 'pDimension', sDimension,\r\n 'pSubset', cTemp,\r\n 'pFilter', JsonGet( sFilters, '/pFilter/'|sDimension ),\r\n 'pExcept', JsonGet( sFilters, '/pExcept/'|sDimension ) \r\n );\r\n sFilters = JsonRemove( sFilters, '/pExcept/'|sDimension );\r\n \r\n nSubsetSize = SubsetGetSize( sDimension, cTemp );\r\n WHILE( nSubsetSize > 0 );\r\n sElement = SubsetGetElementName( sDimension, cTemp, nSubsetSize );\r\n \r\n sFilters = JsonReplace( sFilters, '/pFilter/'|sDimension, StringToJson( sElement ) );\r\n sTempFiltersList = JsonAdd( sTempFiltersList, 0, sFilters );\r\n \r\n nSubsetSize = nSubsetSize - 1;\r\n END;\r\n END;\r\n i = i + 1;\r\n END;\r\n IF( sTempFiltersList @<> '[]' );\r\n sFiltersList = sTempFiltersList;\r\n ENDIF;\r\n ENDIF;\r\n \r\n nSize = JsonSize( sFiltersList );\r\n IF( nSize <> 1 );\r\n Datasourcetype = 'NULL';\r\n \r\n # Single-Thread Recursive Call\r\n IF( nMultiThreadDimensionCount <= 0 % pMaxThreads = 1 );\r\n WHILE( nSize > 0 );\r\n nSize = nSize - 1;\r\n sJson = JsonGet( sFiltersList, nSize );\r\n sJson = JsonMergePatch( pJson, sJson );\r\n \r\n ExecuteProcess( cThisProcName, 'pJson', sJson );\r\n END;\r\n \r\n # Multi-Thread Recursive Call (using '}bedrock.process.multithread')\r\n ELSE;\r\n sTaskList = '[]';\r\n WHILE( nSize > 0 );\r\n nSize = nSize - 1;\r\n sJson = JsonGet( sFiltersList, nSize );\r\n sJson = JsonMergePatch( pJson, sJson );\r\n \r\n sTaskList = JsonAdd( sTaskList, '', '{\"process\":'|StringToJson( cThisProcName )|', \"parameters\":'|sJson|'}' );\r\n END;\r\n ExecuteProcess( '}bedrock.process.multithread',\r\n 'pTaskList', sTaskList );\r\n ENDIF;\r\n ENDIF;\r\n \r\n #EndRegion - Variable Mapping\r\n #################################################################################################\r\n \r\nELSE;\r\n sMessages = JsonAdd( sMessages, '/Error/0', StringToJson( 'Error: Datasource Type \"'|DatasourceType|'\" is not supported' ) );\r\n IF( pLogOutput = 1 ); LogOutput( 'INFO', JsonToString( sMessages, '/0' ) ); ENDIF;\r\n DatasourceType = 'NULL';\r\nENDIF;\r\n\r\n#EndRegion - Interpret parameters based on datasource type\r\n################################################################################################# \r\nIF( DatasourceType @<> 'NULL' );\r\n#################################################################################################\r\n#Region - Interpret pDimMap\r\n\r\n# Reformat pDimMap from array to object\r\nIF( JsonType( pDimMap ) @= 'array' );\r\n pOldDimMap = pDimMap;\r\n pDimMap = '{}';\r\n nSize = JsonSize( pOldDimMap );\r\n WHILE( nSize > 0 );\r\n sDimension = TABDIM( sTargetCube, nSize );\r\n nSize = nSize - 1;\r\n \r\n IF( JsonType( pOldDimMap, nSize ) @= 'string' % JsonType( pOldDimMap, nSize ) @= 'number' );\r\n pDimMap = JsonAdd( pDimMap, sDimension, JsonGet( pOldDimMap, nSize ) );\r\n ENDIF;\r\n END;\r\nENDIF;\r\n\r\n# Apply pDimMap to sMapping\r\ni = 0;\r\nWHILE( i <= nTargetDimensionCount );\r\n i = i + 1;\r\n sDimension = TABDIM( sTargetCube, i );\r\n sDimension = IF( sDimension @= '', '/', sDimension );\r\n sDimensionMap = JsonGet( pDimMap, sDimension );\r\n sType = JsonType( sDimensionMap );\r\n \r\n IF( sType @= 'array' );\r\n IF( JsonSize( sDimensionMap ) = 1 );\r\n sDimensionMap = JsonGet( sDimensionMap, 0 );\r\n sType = JsonType( sDimensionMap );\r\n ELSE;\r\n sMessages = JsonAdd( sMessages, '/Error/0', StringToJson( 'Error: pDimMap had multiple values for dimension \"'|sDimension|'\": '|sDimensionMap ) );\r\n ENDIF;\r\n ENDIF;\r\n \r\n IF( sDimensionMap @<> '' & ( sType @= 'string' % sType @= 'number' ) );\r\n sMapping = JsonReplace( sMapping, i-1, sDimensionMap );\r\n ENDIF;\r\nEND;\r\n\r\n# Allow for Overrides\r\nIF( JsonType( pMappingOverride ) @= 'array' & JsonSize( pMappingOverride ) > 0 );\r\n sMapping = pMappingOverride;\r\nENDIF;\r\n\r\n#EndRegion - Interpret pDimMap\r\n#################################################################################################\r\n\r\n#################################################################################################\r\n#Region - Variable Mapping\r\n \r\nn000 = IF( JsonType( sMapping, '/0' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 000 ) ) = 000 % 000 > nTargetDimensionCount, 0, 2 ) );\r\nn001 = IF( JsonType( sMapping, '/1' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 001 ) ) = 001 % 001 > nTargetDimensionCount, 0, 2 ) );\r\nn002 = IF( JsonType( sMapping, '/2' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 002 ) ) = 002 % 002 > nTargetDimensionCount, 0, 2 ) );\r\nn003 = IF( JsonType( sMapping, '/3' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 003 ) ) = 003 % 003 > nTargetDimensionCount, 0, 2 ) );\r\nn004 = IF( JsonType( sMapping, '/4' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 004 ) ) = 004 % 004 > nTargetDimensionCount, 0, 2 ) );\r\nn005 = IF( JsonType( sMapping, '/5' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 005 ) ) = 005 % 005 > nTargetDimensionCount, 0, 2 ) );\r\nn006 = IF( JsonType( sMapping, '/6' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 006 ) ) = 006 % 006 > nTargetDimensionCount, 0, 2 ) );\r\nn007 = IF( JsonType( sMapping, '/7' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 007 ) ) = 007 % 007 > nTargetDimensionCount, 0, 2 ) );\r\nn008 = IF( JsonType( sMapping, '/8' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 008 ) ) = 008 % 008 > nTargetDimensionCount, 0, 2 ) );\r\nn009 = IF( JsonType( sMapping, '/9' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 009 ) ) = 009 % 009 > nTargetDimensionCount, 0, 2 ) );\r\nn010 = IF( JsonType( sMapping, '/10' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 010 ) ) = 010 % 010 > nTargetDimensionCount, 0, 2 ) );\r\nn011 = IF( JsonType( sMapping, '/11' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 011 ) ) = 011 % 011 > nTargetDimensionCount, 0, 2 ) );\r\nn012 = IF( JsonType( sMapping, '/12' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 012 ) ) = 012 % 012 > nTargetDimensionCount, 0, 2 ) );\r\nn013 = IF( JsonType( sMapping, '/13' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 013 ) ) = 013 % 013 > nTargetDimensionCount, 0, 2 ) );\r\nn014 = IF( JsonType( sMapping, '/14' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 014 ) ) = 014 % 014 > nTargetDimensionCount, 0, 2 ) );\r\nn015 = IF( JsonType( sMapping, '/15' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 015 ) ) = 015 % 015 > nTargetDimensionCount, 0, 2 ) );\r\nn016 = IF( JsonType( sMapping, '/16' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 016 ) ) = 016 % 016 > nTargetDimensionCount, 0, 2 ) );\r\nn017 = IF( JsonType( sMapping, '/17' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 017 ) ) = 017 % 017 > nTargetDimensionCount, 0, 2 ) );\r\nn018 = IF( JsonType( sMapping, '/18' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 018 ) ) = 018 % 018 > nTargetDimensionCount, 0, 2 ) );\r\nn019 = IF( JsonType( sMapping, '/19' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 019 ) ) = 019 % 019 > nTargetDimensionCount, 0, 2 ) );\r\nn020 = IF( JsonType( sMapping, '/20' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 020 ) ) = 020 % 020 > nTargetDimensionCount, 0, 2 ) );\r\nn021 = IF( JsonType( sMapping, '/21' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 021 ) ) = 021 % 021 > nTargetDimensionCount, 0, 2 ) );\r\nn022 = IF( JsonType( sMapping, '/22' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 022 ) ) = 022 % 022 > nTargetDimensionCount, 0, 2 ) );\r\nn023 = IF( JsonType( sMapping, '/23' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 023 ) ) = 023 % 023 > nTargetDimensionCount, 0, 2 ) );\r\nn024 = IF( JsonType( sMapping, '/24' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 024 ) ) = 024 % 024 > nTargetDimensionCount, 0, 2 ) );\r\nn025 = IF( JsonType( sMapping, '/25' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 025 ) ) = 025 % 025 > nTargetDimensionCount, 0, 2 ) );\r\nn026 = IF( JsonType( sMapping, '/26' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 026 ) ) = 026 % 026 > nTargetDimensionCount, 0, 2 ) );\r\nn027 = IF( JsonType( sMapping, '/27' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 027 ) ) = 027 % 027 > nTargetDimensionCount, 0, 2 ) );\r\nn028 = IF( JsonType( sMapping, '/28' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 028 ) ) = 028 % 028 > nTargetDimensionCount, 0, 2 ) );\r\nn029 = IF( JsonType( sMapping, '/29' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 029 ) ) = 029 % 029 > nTargetDimensionCount, 0, 2 ) );\r\nn030 = IF( JsonType( sMapping, '/30' ) @= 'string', 1, IF( StringToNumber( JsonGet( sMapping, 030 ) ) = 030 % 030 > nTargetDimensionCount, 0, 2 ) );\r\n \r\ns000 = JsonToString( sMapping, '/0' );\r\ns001 = JsonToString( sMapping, '/1' );\r\ns002 = JsonToString( sMapping, '/2' );\r\ns003 = JsonToString( sMapping, '/3' );\r\ns004 = JsonToString( sMapping, '/4' );\r\ns005 = JsonToString( sMapping, '/5' );\r\ns006 = JsonToString( sMapping, '/6' );\r\ns007 = JsonToString( sMapping, '/7' );\r\ns008 = JsonToString( sMapping, '/8' );\r\ns009 = JsonToString( sMapping, '/9' );\r\ns010 = JsonToString( sMapping, '/10' );\r\ns011 = JsonToString( sMapping, '/11' );\r\ns012 = JsonToString( sMapping, '/12' );\r\ns013 = JsonToString( sMapping, '/13' );\r\ns014 = JsonToString( sMapping, '/14' );\r\ns015 = JsonToString( sMapping, '/15' );\r\ns016 = JsonToString( sMapping, '/16' );\r\ns017 = JsonToString( sMapping, '/17' );\r\ns018 = JsonToString( sMapping, '/18' );\r\ns019 = JsonToString( sMapping, '/19' );\r\ns020 = JsonToString( sMapping, '/20' );\r\ns021 = JsonToString( sMapping, '/21' );\r\ns022 = JsonToString( sMapping, '/22' );\r\ns023 = JsonToString( sMapping, '/23' );\r\ns024 = JsonToString( sMapping, '/24' );\r\ns025 = JsonToString( sMapping, '/25' );\r\ns026 = JsonToString( sMapping, '/26' );\r\ns027 = JsonToString( sMapping, '/27' );\r\ns028 = JsonToString( sMapping, '/28' );\r\ns029 = JsonToString( sMapping, '/29' );\r\ns030 = JsonToString( sMapping, '/30' );\r\n\r\nt000 = JsonToString( sMapping, '/0' ); WHILE( LONG( t000 ) < 3 ); t000 = '0'|t000; END;\r\nt001 = JsonToString( sMapping, '/1' ); WHILE( LONG( t001 ) < 3 ); t001 = '0'|t001; END;\r\nt002 = JsonToString( sMapping, '/2' ); WHILE( LONG( t002 ) < 3 ); t002 = '0'|t002; END;\r\nt003 = JsonToString( sMapping, '/3' ); WHILE( LONG( t003 ) < 3 ); t003 = '0'|t003; END;\r\nt004 = JsonToString( sMapping, '/4' ); WHILE( LONG( t004 ) < 3 ); t004 = '0'|t004; END;\r\nt005 = JsonToString( sMapping, '/5' ); WHILE( LONG( t005 ) < 3 ); t005 = '0'|t005; END;\r\nt006 = JsonToString( sMapping, '/6' ); WHILE( LONG( t006 ) < 3 ); t006 = '0'|t006; END;\r\nt007 = JsonToString( sMapping, '/7' ); WHILE( LONG( t007 ) < 3 ); t007 = '0'|t007; END;\r\nt008 = JsonToString( sMapping, '/8' ); WHILE( LONG( t008 ) < 3 ); t008 = '0'|t008; END;\r\nt009 = JsonToString( sMapping, '/9' ); WHILE( LONG( t009 ) < 3 ); t009 = '0'|t009; END;\r\nt010 = JsonToString( sMapping, '/10' ); WHILE( LONG( t010 ) < 3 ); t010 = '0'|t010; END;\r\nt011 = JsonToString( sMapping, '/11' ); WHILE( LONG( t011 ) < 3 ); t011 = '0'|t011; END;\r\nt012 = JsonToString( sMapping, '/12' ); WHILE( LONG( t012 ) < 3 ); t012 = '0'|t012; END;\r\nt013 = JsonToString( sMapping, '/13' ); WHILE( LONG( t013 ) < 3 ); t013 = '0'|t013; END;\r\nt014 = JsonToString( sMapping, '/14' ); WHILE( LONG( t014 ) < 3 ); t014 = '0'|t014; END;\r\nt015 = JsonToString( sMapping, '/15' ); WHILE( LONG( t015 ) < 3 ); t015 = '0'|t015; END;\r\nt016 = JsonToString( sMapping, '/16' ); WHILE( LONG( t016 ) < 3 ); t016 = '0'|t016; END;\r\nt017 = JsonToString( sMapping, '/17' ); WHILE( LONG( t017 ) < 3 ); t017 = '0'|t017; END;\r\nt018 = JsonToString( sMapping, '/18' ); WHILE( LONG( t018 ) < 3 ); t018 = '0'|t018; END;\r\nt019 = JsonToString( sMapping, '/19' ); WHILE( LONG( t019 ) < 3 ); t019 = '0'|t019; END;\r\nt020 = JsonToString( sMapping, '/20' ); WHILE( LONG( t020 ) < 3 ); t020 = '0'|t020; END;\r\nt021 = JsonToString( sMapping, '/21' ); WHILE( LONG( t021 ) < 3 ); t021 = '0'|t021; END;\r\nt022 = JsonToString( sMapping, '/22' ); WHILE( LONG( t022 ) < 3 ); t022 = '0'|t022; END;\r\nt023 = JsonToString( sMapping, '/23' ); WHILE( LONG( t023 ) < 3 ); t023 = '0'|t023; END;\r\nt024 = JsonToString( sMapping, '/24' ); WHILE( LONG( t024 ) < 3 ); t024 = '0'|t024; END;\r\nt025 = JsonToString( sMapping, '/25' ); WHILE( LONG( t025 ) < 3 ); t025 = '0'|t025; END;\r\nt026 = JsonToString( sMapping, '/26' ); WHILE( LONG( t026 ) < 3 ); t026 = '0'|t026; END;\r\nt027 = JsonToString( sMapping, '/27' ); WHILE( LONG( t027 ) < 3 ); t027 = '0'|t027; END;\r\nt028 = JsonToString( sMapping, '/28' ); WHILE( LONG( t028 ) < 3 ); t028 = '0'|t028; END;\r\nt029 = JsonToString( sMapping, '/29' ); WHILE( LONG( t029 ) < 3 ); t029 = '0'|t029; END;\r\nt030 = JsonToString( sMapping, '/30' ); WHILE( LONG( t030 ) < 3 ); t030 = '0'|t030; END;\r\n\r\n#EndRegion - Variable Mapping\r\n#################################################################################################\r\n\r\n### Check for errors before continuing\r\nIf( nErrors <> 0 );\r\n If( pStrictErrorHandling = 1 ); \r\n ProcessQuit; \r\n Else;\r\n ProcessBreak;\r\n EndIf;\r\nEndIf;\r\n\r\n# CLEAR OUT TARGET\r\nIF( pZeroTarget = 1 );\r\n sZeroOutFilter = '{}';\r\n i = 0;\r\n WHILE( i <= nTargetDimensionCount );\r\n i = i + 1;\r\n sDimension = TABDIM( sTargetCube, i );\r\n \r\n IF( JsonSize( sFilters, '/pDimMap/'|sDimension ) > 0 );\r\n sDimensionFilter = JsonGet( sFilters, '/pDimMap/'|sDimension );\r\n ELSE;\r\n sDimensionFilter = JsonGet( sFilters, '/pFilter/'|sDimension );\r\n ENDIF;\r\n \r\n sZeroOutFilter = JsonAdd( sZeroOutFilter, sDimension, sDimensionFilter );\r\n END;\r\n \r\n ExecuteProcess('}bedrock.cube.view.create.from_json',\r\n 'pCube', sTargetCube,\r\n 'pView', cTemp|'_clear',\r\n 'pFilter', sZeroOutFilter,\r\n 'pExcept', pExcept );\r\n ExecuteProcess('}bedrock.cube.data.clear',\r\n 'pCube', sTargetCube,\r\n 'pView', cTemp|'_clear' );\r\nENDIF;\r\n\r\n# DIFFERENT CALLS FOR pFile = 1\r\n\r\nENDIF;", + "MetadataProcedure": "#****Begin: Generated Statements***\r\n#****End: Generated Statements****", + "DataProcedure": "#****Begin: Generated Statements***\r\n#****End: Generated Statements****\r\n\r\n# Put the Target Elements and Value into an Array\r\nsV000 = IF( n000 = 0, v000, IF( n000 = 1, s000, EXPAND( '%v'|t000|'%' ) ) );\r\nsV001 = IF( n001 = 0, v001, IF( n001 = 1, s001, EXPAND( '%v'|t001|'%' ) ) );\r\nsV002 = IF( n002 = 0, v002, IF( n002 = 1, s002, EXPAND( '%v'|t002|'%' ) ) );\r\nsV003 = IF( n003 = 0, v003, IF( n003 = 1, s003, EXPAND( '%v'|t003|'%' ) ) );\r\nsV004 = IF( n004 = 0, v004, IF( n004 = 1, s004, EXPAND( '%v'|t004|'%' ) ) );\r\nsV005 = IF( n005 = 0, v005, IF( n005 = 1, s005, EXPAND( '%v'|t005|'%' ) ) );\r\nsV006 = IF( n006 = 0, v006, IF( n006 = 1, s006, EXPAND( '%v'|t006|'%' ) ) );\r\nsV007 = IF( n007 = 0, v007, IF( n007 = 1, s007, EXPAND( '%v'|t007|'%' ) ) );\r\nsV008 = IF( n008 = 0, v008, IF( n008 = 1, s008, EXPAND( '%v'|t008|'%' ) ) );\r\nsV009 = IF( n009 = 0, v009, IF( n009 = 1, s009, EXPAND( '%v'|t009|'%' ) ) );\r\nsV010 = IF( n010 = 0, v010, IF( n010 = 1, s010, EXPAND( '%v'|t010|'%' ) ) );\r\nsV011 = IF( n011 = 0, v011, IF( n011 = 1, s011, EXPAND( '%v'|t011|'%' ) ) );\r\nsV012 = IF( n012 = 0, v012, IF( n012 = 1, s012, EXPAND( '%v'|t012|'%' ) ) );\r\nsV013 = IF( n013 = 0, v013, IF( n013 = 1, s013, EXPAND( '%v'|t013|'%' ) ) );\r\nsV014 = IF( n014 = 0, v014, IF( n014 = 1, s014, EXPAND( '%v'|t014|'%' ) ) );\r\nsV015 = IF( n015 = 0, v015, IF( n015 = 1, s015, EXPAND( '%v'|t015|'%' ) ) );\r\nsV016 = IF( n016 = 0, v016, IF( n016 = 1, s016, EXPAND( '%v'|t016|'%' ) ) );\r\nsV017 = IF( n017 = 0, v017, IF( n017 = 1, s017, EXPAND( '%v'|t017|'%' ) ) );\r\nsV018 = IF( n018 = 0, v018, IF( n018 = 1, s018, EXPAND( '%v'|t018|'%' ) ) );\r\nsV019 = IF( n019 = 0, v019, IF( n019 = 1, s019, EXPAND( '%v'|t019|'%' ) ) );\r\nsV020 = IF( n020 = 0, v020, IF( n020 = 1, s020, EXPAND( '%v'|t020|'%' ) ) );\r\nsV021 = IF( n021 = 0, v021, IF( n021 = 1, s021, EXPAND( '%v'|t021|'%' ) ) );\r\nsV022 = IF( n022 = 0, v022, IF( n022 = 1, s022, EXPAND( '%v'|t022|'%' ) ) );\r\nsV023 = IF( n023 = 0, v023, IF( n023 = 1, s023, EXPAND( '%v'|t023|'%' ) ) );\r\nsV024 = IF( n024 = 0, v024, IF( n024 = 1, s024, EXPAND( '%v'|t024|'%' ) ) );\r\nsV025 = IF( n025 = 0, v025, IF( n025 = 1, s025, EXPAND( '%v'|t025|'%' ) ) );\r\nsV026 = IF( n026 = 0, v026, IF( n026 = 1, s026, EXPAND( '%v'|t026|'%' ) ) );\r\nsV027 = IF( n027 = 0, v027, IF( n027 = 1, s027, EXPAND( '%v'|t027|'%' ) ) );\r\nsV028 = IF( n028 = 0, v028, IF( n028 = 1, s028, EXPAND( '%v'|t028|'%' ) ) );\r\nsV029 = IF( n029 = 0, v029, IF( n029 = 1, s029, EXPAND( '%v'|t029|'%' ) ) );\r\nsV030 = IF( n030 = 0, v030, IF( n030 = 1, s030, EXPAND( '%v'|t030|'%' ) ) );\r\n\r\n# IF-Block depending on number of dimensions in target\r\nIF( nTargetDimensionCount = 002 );\r\nELSEIF( nTargetDimensionCount = 003 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV002 ) @= 'S' );\r\n\t\tCellPutS( sV003, sTargetCube, sV000,sV001,sV002 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV003, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 004 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV003 ) @= 'S' );\r\n\t\tCellPutS( sV004, sTargetCube, sV000,sV001,sV002,sV003 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV004, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 005 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV004 ) @= 'S' );\r\n\t\tCellPutS( sV005, sTargetCube, sV000,sV001,sV002,sV003,sV004 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV005, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 006 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV005 ) @= 'S' );\r\n\t\tCellPutS( sV006, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV006, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 007 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV006 ) @= 'S' );\r\n\t\tCellPutS( sV007, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV007, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 008 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV007 ) @= 'S' );\r\n\t\tCellPutS( sV008, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV008, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 009 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV008 ) @= 'S' );\r\n\t\tCellPutS( sV009, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV009, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 010 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV009 ) @= 'S' );\r\n\t\tCellPutS( sV010, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV010, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 011 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV010 ) @= 'S' );\r\n\t\tCellPutS( sV011, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV011, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 012 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV011 ) @= 'S' );\r\n\t\tCellPutS( sV012, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV012, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 013 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV012 ) @= 'S' );\r\n\t\tCellPutS( sV013, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV013, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 014 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV013 ) @= 'S' );\r\n\t\tCellPutS( sV014, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV014, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 015 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV014 ) @= 'S' );\r\n\t\tCellPutS( sV015, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV015, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 016 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV015 ) @= 'S' );\r\n\t\tCellPutS( sV016, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV016, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 017 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV016 ) @= 'S' );\r\n\t\tCellPutS( sV017, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV017, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 018 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV017 ) @= 'S' );\r\n\t\tCellPutS( sV018, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV018, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 019 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV018 ) @= 'S' );\r\n\t\tCellPutS( sV019, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV019, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 020 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV019 ) @= 'S' );\r\n\t\tCellPutS( sV020, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV020, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 021 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV020 ) @= 'S' );\r\n\t\tCellPutS( sV021, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV021, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 022 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV021 ) @= 'S' );\r\n\t\tCellPutS( sV022, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV022, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 023 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV022 ) @= 'S' );\r\n\t\tCellPutS( sV023, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV023, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 024 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV023 ) @= 'S' );\r\n\t\tCellPutS( sV024, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV024, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 025 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV024 ) @= 'S' );\r\n\t\tCellPutS( sV025, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV025, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 026 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024,sV025 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV025 ) @= 'S' );\r\n\t\tCellPutS( sV026, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024,sV025 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV026, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024,sV025 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024,sV025 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 027 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024,sV025,sV026 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV026 ) @= 'S' );\r\n\t\tCellPutS( sV027, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024,sV025,sV026 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV027, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024,sV025,sV026 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024,sV025,sV026 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 028 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024,sV025,sV026,sV027 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV027 ) @= 'S' );\r\n\t\tCellPutS( sV028, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024,sV025,sV026,sV027 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV028, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024,sV025,sV026,sV027 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024,sV025,sV026,sV027 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 029 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024,sV025,sV026,sV027,sV028 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV028 ) @= 'S' );\r\n\t\tCellPutS( sV029, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024,sV025,sV026,sV027,sV028 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV029, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024,sV025,sV026,sV027,sV028 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024,sV025,sV026,sV027,sV028 );\r\n\tENDIF;\r\nELSEIF( nTargetDimensionCount = 030 );\r\n\tIF( CellIsUpdateable( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024,sV025,sV026,sV027,sV028,sV029 ) = 0 ); ITEMSKIP; ENDIF;\r\n\tIF( DTYPE( sTargetMeasureDimension, sV029 ) @= 'S' );\r\n\t\tCellPutS( sV030, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024,sV025,sV026,sV027,sV028,sV029 );\r\n\tELSE;\r\n\t\tnVal = nFactor * StringToNumberEx( sV030, pDecimalSeparator, pThousandSeparator ) + IF( pIncrement = 0, 0, CellGetN( sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024,sV025,sV026,sV027,sV028,sV029 ) );\r\n\t\tCellPutN( nVal, sTargetCube, sV000,sV001,sV002,sV003,sV004,sV005,sV006,sV007,sV008,sV009,sV010,sV011,sV012,sV013,sV014,sV015,sV016,sV017,sV018,sV019,sV020,sV021,sV022,sV023,sV024,sV025,sV026,sV027,sV028,sV029 );\r\n\tENDIF;\r\nENDIF;\r\n\r\n", + "EpilogProcedure": "#****Begin: Generated Statements***\r\n#****End: Generated Statements****", + "HasSecurityAccess": true, + "UIData": "_ParameterConstraints=e30=\f", + "DataSource": { + "Type": "TM1CubeView", + "dataSourceNameForClient": "Bedrock Source Cube", + "dataSourceNameForServer": "Bedrock Source Cube", + "view": "Default" + }, + "Parameters": [ + { + "Name": "pDatasource", + "Prompt": "REQUIRED: Data source specification. If a string is passed, it will be assumed to be a cube name. If no cube exists, it will be assumed to be a CSV file. To be more detailed, pass a JSON Object with the data source variable name as the key, and the value as the value. E.g. {\"datasourcenameforserver\":\"file.csv\", \"datasourceasciiheaderrecords\":3}", + "Value": "", + "Type": "String" + }, + { + "Name": "pTargetCube", + "Prompt": "REQUIRED: Target cube name", + "Value": "", + "Type": "String" + }, + { + "Name": "pFilter", + "Prompt": "OPTIONAL: JSON Array or JSON Object specifying which elements to include in the view (JSON Array or JSON Object. Default = '{}')", + "Value": "", + "Type": "String" + }, + { + "Name": "pExcept", + "Prompt": "OPTIONAL: JSON Array or JSON Object specifying which elements to exclude in the view (JSON Array or JSON Object. Default = '{}')", + "Value": "", + "Type": "String" + }, + { + "Name": "pDimMap", + "Prompt": "OPTIONAL: Required if target has dims not in source. Format: 'dim_one\u00a6 el_one & dim_two\u00a6 el_two'", + "Value": "", + "Type": "String" + }, + { + "Name": "pMultithreadDimensions", + "Prompt": "OPTIONAL: Parallelization filter in format: dim_one\u00a6 el_one + el_two. Dimension must not be part of filter", + "Value": "", + "Type": "String" + }, + { + "Name": "pMaxThreads", + "Prompt": "OPTIONAL: Maximum number of threads to run when parallel processing is enabled (Default = 1)", + "Value": 1, + "Type": "Numeric" + }, + { + "Name": "pSuppressConsol", + "Prompt": "OPTIONAL: Suppress consolidated values (Boolean. Default = 1)", + "Value": 1, + "Type": "Numeric" + }, + { + "Name": "pSuppressConsolStrings", + "Prompt": "OPTIONAL: Suppress consolidated string cells (Boolean. Default = 1)", + "Value": 1, + "Type": "Numeric" + }, + { + "Name": "pSuppressRules", + "Prompt": "OPTIONAL: Suppress rules (Boolean. Default = 1)", + "Value": 1, + "Type": "Numeric" + }, + { + "Name": "pSuppressZero", + "Prompt": "OPTIONAL: Suppress zeroes (Boolean. Default = 1)", + "Value": 1, + "Type": "Numeric" + }, + { + "Name": "pZeroTarget", + "Prompt": "OPTIONAL: Zero out target before start of process (Boolean. Default = 1)", + "Value": 1, + "Type": "Numeric" + }, + { + "Name": "pFactor", + "Prompt": "OPTIONAL: Multiply source values by factor (Default = 1)", + "Value": 1, + "Type": "Numeric" + }, + { + "Name": "pTemp", + "Prompt": "OPTIONAL: Delete/create temporary objects (0 = Do not delete, 1 = Delete, 2 = if view and subsets are created, keep only subsets)", + "Value": 1, + "Type": "Numeric" + }, + { + "Name": "pSandbox", + "Prompt": "OPTIONAL: Use sandbox", + "Value": "", + "Type": "String" + }, + { + "Name": "pDecimalSeparator", + "Prompt": "OPTIONAL: Decimal separator for string/number conversion (Exactly 3 digits = ASCII code. Default ='.')", + "Value": ".", + "Type": "String" + }, + { + "Name": "pThousandSeparator", + "Prompt": "OPTIONAL: Thousand separator for string/number conversion (Exactly 3 digits = ASCII code. Default = ',')", + "Value": ",", + "Type": "String" + }, + { + "Name": "pMappingOverride", + "Prompt": "OPTIONAL: Override any mapping that has been created by this process", + "Value": "", + "Type": "String" + }, + { + "Name": "pIncrement", + "Prompt": "OPTIONAL: Increment amounts (Boolean. Default = 0)", + "Value": 0, + "Type": "Numeric" + }, + { + "Name": "pLogOutput", + "Prompt": "OPTIONAL: Write parameters and action summary to server message log (Boolean. Default = 0)", + "Value": 0, + "Type": "Numeric" + }, + { + "Name": "pStrictErrorHandling", + "Prompt": "OPTIONAL: On encountering any error, exit with major error status by ProcessQuit after writing to the server message log (Boolean. Default = 0)", + "Value": 0, + "Type": "Numeric" + }, + { + "Name": "pJson", + "Prompt": "OPTIONAL: JSON Object with process parameter values. This will overwrite user passed parameters for all included parameters.", + "Value": "{}", + "Type": "String" + } + ], + "Variables": [ + { + "Name": "v000", + "Type": "String", + "Position": 1, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v001", + "Type": "String", + "Position": 2, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v002", + "Type": "String", + "Position": 3, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v003", + "Type": "String", + "Position": 4, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v004", + "Type": "String", + "Position": 5, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v005", + "Type": "String", + "Position": 6, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v006", + "Type": "String", + "Position": 7, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v007", + "Type": "String", + "Position": 8, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v008", + "Type": "String", + "Position": 9, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v009", + "Type": "String", + "Position": 10, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v010", + "Type": "String", + "Position": 11, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v011", + "Type": "String", + "Position": 12, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v012", + "Type": "String", + "Position": 13, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v013", + "Type": "String", + "Position": 14, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v014", + "Type": "String", + "Position": 15, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v015", + "Type": "String", + "Position": 16, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v016", + "Type": "String", + "Position": 17, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v017", + "Type": "String", + "Position": 18, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v018", + "Type": "String", + "Position": 19, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v019", + "Type": "String", + "Position": 20, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v020", + "Type": "String", + "Position": 21, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v021", + "Type": "String", + "Position": 22, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v022", + "Type": "String", + "Position": 23, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v023", + "Type": "String", + "Position": 24, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v024", + "Type": "String", + "Position": 25, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v025", + "Type": "String", + "Position": 26, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v026", + "Type": "String", + "Position": 27, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v027", + "Type": "String", + "Position": 28, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v028", + "Type": "String", + "Position": 29, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v029", + "Type": "String", + "Position": 30, + "StartByte": 0, + "EndByte": 0 + }, + { + "Name": "v030", + "Type": "String", + "Position": 31, + "StartByte": 0, + "EndByte": 0 + } + ], + "VariablesUIData": [ + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f", + "VarType=32\fColType=827\f" + ] + }, { "Name": "}bedrock.dim.attr.create", "PrologProcedure": "#Region CallThisProcess\r\n# A snippet of code provided as an example how to call this process should the developer be working on a system without access to an editor with auto-complete.\r\nIf( 1 = 0 );\r\n ExecuteProcess( '}bedrock.dim.attr.create', 'pLogOutput', pLogOutput,\r\n 'pStrictErrorHandling', pStrictErrorHandling,\r\n \t'pDim', '', 'pAttr', '',\r\n \t'pPrevAttr', '', 'pAttrType', '',\r\n \t'pDelim', '&'\r\n\t);\r\nEndIf;\r\n#EndRegion CallThisProcess\r\n\r\n#****Begin: Generated Statements***\r\n#****End: Generated Statements****\r\n\r\n################################################################################################# \r\n##~~Join the bedrock TM1 community on GitHub https://github.com/cubewise-code/bedrock-5 Ver 5.0~~##\r\n################################################################################################# \r\n\r\n#Region @DOC\r\n# Description:\r\n# This process can insert one or more attributes in one or more specified dimensions. \r\n\r\n# Use case: Intended for development/prototyping.\r\n# 1/ Add multiple dimension attributes.\r\n\r\n# Note:\r\n# Delimited lists and/or wild card(*) are acceptable for pDim & pAttr.\r\n# Naturally, valid dimension name(s) (pDim) are mandatory otherwise the process will abort.\r\n# Known limitation: This process can insert multiple attributes to multiple dimensions but only for a single attribute type.\r\n#EndRegion @DOC\r\n\r\n### Global Variables\r\nStringGlobalVariable('sProcessReturnCode');\r\nNumericGlobalVariable('nProcessReturnCode');\r\nnProcessReturnCode= 0;\r\n\r\n### Constants ###\r\ncThisProcName = GetProcessName();\r\ncUserName = TM1User();\r\ncTimeStamp = TimSt( Now, '\\Y\\m\\d\\h\\i\\s' );\r\ncRandomInt = NumberToString( INT( RAND( ) * 1000 ));\r\ncTempSub = cThisProcName |'_'| cTimeStamp |'_'| cRandomInt;\r\ncMsgErrorLevel = 'ERROR';\r\ncMsgErrorContent= 'Process:%cThisProcName% ErrorMsg:%sMessage%';\r\ncLogInfo = 'User:%cUserName% Process:%cThisProcName% run with parameters pDim:%pDim%, pPrevAttr:%pPrevAttr%, pAttr:%pAttr%, pAttrType:%pAttrType%, pDelim:%pDelim%.';\r\n\r\n#################################################################################################\r\n#Region - Process Parameters\r\n\r\npJson = IF( JsonType( pJson ) @<> 'object', '{}', pJson );\r\nsMessages = '{\"Process\": \"'|GetProcessName()|'\", \"User\": \"'|TM1User()|'\", \"Info\": [\"Process: '''|GetProcessName()|''' run by User: '''|TM1User()|'''.\"], \"Error\": []}';\r\npDefaultParameters = '{\r\n \"pAttr\": null,\r\n \"pAttrType\": \"S\",\r\n \"pDelim\": \"&\",\r\n \"pDim\": null,\r\n \"pPrevAttr\": \"\",\r\n \"pLogOutput\": 0,\r\n \"pStrictErrorHandling\": 0\r\n}';\r\n\r\npPassedParameters = '{\r\n \"pAttr\": '|StringToJson ( pAttr )|',\r\n \"pAttrType\": '|StringToJson ( pAttrType )|',\r\n \"pDelim\": '|StringToJson ( pDelim )|',\r\n \"pDim\": '|StringToJson ( pDim )|',\r\n \"pPrevAttr\": '|StringToJson ( pPrevAttr )|',\r\n \"pLogOutput\": '|NumberToString( pLogOutput )|',\r\n \"pStrictErrorHandling\": '|NumberToString( pStrictErrorHandling )|'\r\n}';\r\n\r\npJson = JsonMergePatch( pPassedParameters, pJson );\r\n# String Parameters\r\npAttr = JsonToString( JsonGet( pJson, 'pAttr' ) );\r\npAttrType = JsonToString( JsonGet( pJson, 'pAttrType' ) );\r\npDelim = JsonToString( JsonGet( pJson, 'pDelim' ) );\r\npDim = JsonToString( JsonGet( pJson, 'pDim' ) );\r\npPrevAttr = JsonToString( JsonGet( pJson, 'pPrevAttr' ) );\r\n# Numeric Parameters\r\npLogOutput = StringToNumber( JsonToString( JsonGet( pJson, 'pLogOutput' ) ) );\r\npStrictErrorHandling = StringToNumber( JsonToString( JsonGet( pJson, 'pStrictErrorHandling' ) ) );\r\n\r\n### Get the parameters that differ from the default\r\npDiffer = JsonDiff( pDefaultParameters, pJson );\r\nnSize = JsonSize( pDiffer );\r\nWHILE( nSize > 0 );\r\n nSize = nSize - 1;\r\n pDiffer = JsonReplace( pDiffer, '/'|NumberToString( nSize )|'/op', '\"add\"' );\r\nEND;\r\npJson = JsonPatch( '{}', pDiffer );\r\n\r\n### LogOutput parameters\r\nsMessages = JsonAdd( sMessages, '/Info/-', pJson );\r\nIF( pLogOutput = 1 );\r\n LogOutput('INFO', JsonToString( sMessages, '/Info/0', 0, ' ' ) );\r\nENDIF;\r\n\r\n#EndRegion - Process Parameters\r\n#################################################################################################\r\n\r\n## LogOutput parameters\r\nIF( pLogoutput = 1 );\r\n LogOutput('INFO', Expand( cLogInfo ) ); \r\nENDIF;\r\n\r\n### Validate Parameters ###\r\nnErrors = 0;\r\n\r\n# Validate dimension\r\nIf( Trim( pDim ) @= '' );\r\n nErrors = 1;\r\n sMessage = 'No dimension specified.';\r\n LogOutput( cMsgErrorLevel, Expand( cMsgErrorContent ) );\r\nEndIf;\r\n\r\n# Validate attribute\r\nIF( Trim( pAttr ) @= '' );\r\n nErrors = 1;\r\n sMessage = 'No attribute specified.';\r\n LogOutput( cMsgErrorLevel, Expand( cMsgErrorContent ) );\r\nEndIf;\r\n\r\n# Validate attribute type\r\nIF( Trim( pAttrType ) @= '' );\r\n pAttrType = 'S';\r\nENDIF;\r\n\r\npAttrType = Upper( SubSt( pAttrType, 1, 1 ) );\r\nIf( pAttrType @<> 'A' & pAttrType @<> 'S' & pAttrType @<> 'N' );\r\n nErrors = 1;\r\n sMessage = 'Invalid attribute type specified: ' | pAttrType | '. Defaulted to String type';\r\n LogOutput( 'INFO', Expand( cMsgErrorContent ) );\r\nEndIf;\r\n\r\n# Validate previous attribute\r\nIf( DimIx( '}ElementAttributes_' | pDim, pPrevAttr ) = 0 % pPrevAttr @= pAttr );\r\n pPrevAttr = '';\r\nEndIf;\r\n\r\n# If blank delimiter specified then convert to default\r\nIf( pDelim @= '' );\r\n pDelim = '&';\r\nEndIf;\r\n\r\n### Check for errors before continuing\r\nIf( nErrors <> 0 );\r\n If( pStrictErrorHandling = 1 ); \r\n ProcessQuit; \r\n Else;\r\n ProcessBreak;\r\n EndIf;\r\nEndIf;\r\n\r\n# Loop through dimensions in pDim and attributes in pAttr\r\nsDims = pDim;\r\nnDimDelimiterIndex = 1;\r\n# Get 1st dimension\r\nWhile( nDimDelimiterIndex <> 0 );\r\n # Extract 1st dimension > sDim\r\n nDimDelimiterIndex = Scan( pDelim, sDims );\r\n If( nDimDelimiterIndex = 0 );\r\n sDim = sDims;\r\n Else;\r\n sDim = Trim( SubSt( sDims, 1, nDimDelimiterIndex - 1 ) );\r\n sDims = Trim( Subst( sDims, nDimDelimiterIndex + Long(pDelim), Long( sDims ) ) );\r\n EndIf;\r\n \r\n # Check if sDim has wildcard\r\n If( Scan( '*', sDim ) = 0);\r\n # Validate dimension\r\n If( DimensionExists(sDim) = 0 );\r\n nErrors = 1;\r\n sMessage = Expand( 'Dimension \"%sDim%\" does not exist.' );\r\n LogOutput( 'ERROR', Expand( cMsgErrorContent ) );\r\n If( pStrictErrorHandling = 1 ); \r\n ProcessQuit; \r\n Else;\r\n ProcessBreak;\r\n EndIf;\r\n Else;\r\n # Loop through attributes in pAttr \r\n sAttrs = pAttr;\r\n nDelimiterIndex = 1;\r\n sAttrDim = '}ElementAttributes_'|sDim ;\r\n While( nDelimiterIndex <> 0 );\r\n \r\n nDelimiterIndex = Scan( pDelim, sAttrs );\r\n If( nDelimiterIndex = 0 );\r\n sAttr = sAttrs;\r\n Else;\r\n sAttr = Trim( SubSt( sAttrs, 1, nDelimiterIndex - 1 ) );\r\n sAttrs = Trim( Subst( sAttrs, nDelimiterIndex + Long(pDelim), Long( sAttrs ) ) );\r\n EndIf;\r\n \r\n # Check to see if attribute already exists.\r\n If( Dimix( sAttrDim , sAttr ) = 1 );\r\n nErrors = 1;\r\n sMessage = 'Attribute ' | sAttr | ' already exist in dimension ' | sDim;\r\n LogOutput( cMsgErrorLevel, Expand( cMsgErrorContent ) );\r\n Else;\r\n AttrInsert( sDim , pPrevAttr , sAttr , pAttrType ) ;\r\n If( pLogOutput = 1 );\r\n LogOutput( 'INFO', Expand( 'Attribute \"%sAttr%\" added to dimension %sDim%.' ) );\r\n EndIf;\r\n Endif;\r\n End;\r\n EndIf; \r\n Else;\r\n # Create subset using Wildcard to loop through dimensions in pDim with wildcard\r\n sDimExp = '\"'|sDim|'\"';\r\n sMdx = '{TM1FILTERBYPATTERN( EXCEPT ( TM1SUBSETALL( [}Dimensions] ) , TM1FILTERBYPATTERN( TM1SUBSETALL( [}Dimensions] ) , \"*:*\") ) ,'| sDimExp | ')}';\r\n If( SubsetExists( '}Dimensions' , cTempSub ) = 1 );\r\n # If a delimited list of attr names includes wildcards then we may have to re-use the subset multiple times\r\n SubsetMDXSet( '}Dimensions' , cTempSub, sMDX );\r\n Else;\r\n # temp subset, therefore no need to destroy in epilog\r\n SubsetCreatebyMDX( cTempSub, sMDX, '}Dimensions' , 1 );\r\n EndIf;\r\n \r\n # Loop through dimensions in subset created based on wildcard\r\n nCountDim = SubsetGetSize( '}Dimensions' , cTempSub );\r\n While( nCountDim >= 1 );\r\n \r\n sDim = SubsetGetElementName( '}Dimensions' , cTempSub, nCountDim );\r\n # Validate dimension name\r\n If( DimensionExists(sDim) = 0 );\r\n nErrors = 1;\r\n sMessage = Expand( 'Dimension \"%sDim%\" does not exist.' );\r\n LogOutput( 'ERROR', Expand( cMsgErrorContent ) );\r\n If( pStrictErrorHandling = 1 ); \r\n ProcessQuit; \r\n Else;\r\n ProcessBreak;\r\n EndIf;\r\n Else;\r\n # Loop through attributes in pAttr \r\n sAttrs = pAttr;\r\n nDelimiterIndex = 1;\r\n sAttrDim = '}ElementAttributes_'|sDim ;\r\n While( nDelimiterIndex <> 0 );\r\n \r\n nDelimiterIndex = Scan( pDelim, sAttrs );\r\n If( nDelimiterIndex = 0 );\r\n sAttr = sAttrs;\r\n Else;\r\n sAttr = Trim( SubSt( sAttrs, 1, nDelimiterIndex - 1 ) );\r\n sAttrs = Trim( Subst( sAttrs, nDelimiterIndex + Long(pDelim), Long( sAttrs ) ) );\r\n EndIf;\r\n \r\n # Check to see if attribute already exists.\r\n If( Dimix( sAttrDim , sAttr ) = 1 );\r\n nErrors = 1;\r\n sMessage = 'Attribute ' | sAttr | ' already exist in dimension ' | sDim;\r\n LogOutput( cMsgErrorLevel, Expand( cMsgErrorContent ) );\r\n Else;\r\n AttrInsert( sDim , pPrevAttr , sAttr , pAttrType ) ;\r\n If( pLogOutput = 1 );\r\n LogOutput( 'INFO', Expand( 'Attribute \"%sAttr%\" added to dimension %sDim%.' ) );\r\n EndIf;\r\n Endif;\r\n End; \r\n EndIf;\r\n \r\n nCountDim = nCountDim - 1;\r\n End;\r\n EndIf;\r\n \r\n \r\nEnd;\r\n\r\n### End Prolog ###", @@ -7494,6 +7895,106 @@ ], "VariablesUIData": [] }, + { + "Name": "}bedrock.process.execute_http_request", + "PrologProcedure": "#****Begin: Generated Statements***\r\n#****End: Generated Statements****\r\n\r\n###################################################################################################\r\n##~~Join the bedrock TM1 community on GitHub https://github.com/cubewise-code/bedrock-5 Ver 5.3~~##\r\n###################################################################################################\r\n\r\n#Region @DOC\r\n#### Description:\r\n#This process executes an HTTP request from within a TurboIntegrator context. It wraps TM1's native `ExecuteHttpRequest` function with structured JSON-based parameter handling, automatic header management, response capture, and error handling. It is the standard Bedrock mechanism for integrating TM1 with external REST APIs, webhooks, and web services.\r\n#\r\n#### How to Use:\r\n#`pMethod` defines the HTTP method for the request. It must be one of the standard HTTP verbs: `GET`, `POST`, `PUT`, `PATCH`, or `DELETE`. The value is converted to uppercase automatically.\r\n#\r\n#`pURL` is the full URL the request will be sent to. `pURLPath` is an optional string that will be appended to `pURL`. This is useful when the base URL is fixed but the path needs to be constructed dynamically.\r\n#\r\n#`pHeaders` is a JSON Array of header strings to include in the request. Each header must be in `Name:Value` format:\r\n#```json\r\n#[\"Authorization:Bearer eyJhbGci...\", \"Accept:application/json\"]\r\n#```\r\n#For `POST`, `PUT`, and `PATCH` requests, if no `Content-Type` header is present in `pHeaders`, the process will automatically add:\r\n#```\r\n#Content-Type: application/json; charset=utf-8\r\n#```\r\n#\r\n#`pBody` is the request body to send. For REST API calls this will typically be a JSON string. Leave it blank for methods that do not send a body, such as `GET` or `DELETE`:\r\n#```json\r\n#{\"name\": \"New Item\", \"value\": 42}\r\n#```\r\n#\r\n#After the request executes, the process writes its result to the global string variable `sBedrockReturnValue` as a JSON object containing the status code and response body:\r\n#```json\r\n#{\r\n# \"status_code\": 200,\r\n# \"body\": {\"id\": \"abc123\", \"status\": \"ok\"}\r\n#}\r\n#```\r\n#If the response body is not valid JSON, it will be wrapped as a JSON string. To read values from this in a downstream process:\r\n#```\r\n#nStatus = StringToNumber( JsonToString( sBedrockReturnValue, '/status_code' ) );\r\n#sId = JsonToString( sBedrockReturnValue, '/body/id' );\r\n#```\r\n#\r\n#> [!NOTE]\r\n#> Response bodies with a `Content-Type` of `application/octet-stream` are not captured in `sBedrockReturnValue`. Use `pResponseFile` to persist binary responses to disk instead.\r\n#\r\n#`pResponseHeaders` is a JSON Array of response header names you want captured in the return value. Any headers listed here will be retrieved from the HTTP response and added under a `headers` key in `sBedrockReturnValue`. For example, passing `[\"Content-Type\", \"X-Request-Id\"]` would produce:\r\n#```json\r\n#{\r\n# \"status_code\": 200,\r\n# \"body\": {\"id\": \"abc123\"},\r\n# \"headers\": {\r\n# \"Content-Type\": \"application/json\",\r\n# \"X-Request-Id\": \"abc-123\"\r\n# }\r\n#}\r\n#```\r\n#\r\n#Here is a full example calling a REST API with a `POST` request, passing an authorisation header and capturing the response:\r\n#```json\r\n#{\r\n# \"pMethod\": \"POST\",\r\n# \"pURL\": \"https://api.example.com/items\",\r\n# \"pUser\": \"admin:password\",\r\n# \"pBody\": \"{\\\"name\\\": \\\"New Item\\\", \\\"value\\\": 42}\",\r\n# \"pHeaders\": [\"Authorization:Bearer eyJhbGciOiJSUzI1...\"],\r\n# \"pLogOutput\": 1\r\n#}\r\n#```\r\n#\r\n#Here is the same call sending a webhook notification to Microsoft Teams, where no authentication or response parsing is needed:\r\n#```json\r\n#{\r\n# \"pMethod\": \"POST\",\r\n# \"pURL\": \"https://outlook.office.com/webhook/...\",\r\n# \"pBody\": \"{\\\"text\\\": \\\"TM1 process completed successfully.\\\"}\"\r\n#}\r\n#```\r\n#\r\n#> [!NOTE]\r\n#> `pUser` passes credentials as a `-u` curl-style basic auth flag. If the endpoint uses token-based authentication, leave `pUser` blank and pass your token via `pHeaders` using an `Authorization:Bearer ...` header instead.\r\n#\r\n#- `pMethod` - The HTTP method to use for the request (`GET`, `POST`, `PUT`, `PATCH`, `DELETE`).\r\n#- `pURL` - The full URL to send the request to.\r\n#- `pURLPath` - Optional path string to append to `pURL`.\r\n#- `pUser` - Basic auth credentials in `username:password` format. Leave blank if not required.\r\n#- `pHeaders` - JSON Array of `Name:Value` header strings to include in the request.\r\n#- `pBody` - The request body. Typically a JSON string for REST API calls.\r\n#- `pResponseFile` - Server-side file path to write the raw response body to. Useful for large payloads or binary responses.\r\n#- `pResponseHeaders` - JSON Array of response header names to capture in `sBedrockReturnValue`.\r\n#- `pCertificateFile` - Path to a custom CA certificate file (`.pem` or `.crt`) for TLS verification.\r\n#- `pContext` - Value for the `TM1-SessionContext` request header. Defaults to `BedrockTop`. Override this to identify the source of requests in TM1 server logs.\r\n#- `pVerify` - Controls TLS certificate verification. `0` (default) skips verification (`-k`), suitable for internal or self-signed certificate environments. `1` enforces verification.\r\n#- `pLogOutput` - Write parameters, request info, and response info to the server message log (`0` = off, `1` = on).\r\n#- `pStrictErrorHandling` - If `1`, any HTTP response with a status code of `400` or above will call `ItemReject`, resulting in a minor error status on the process. If `0` (default), HTTP errors are silently captured in `sBedrockReturnValue` and the process continues.\r\n#- `pJson` - JSON Object to pass all parameters at once. Overrides individually passed parameters for any keys included.\r\n#EndRegion @DOC\r\n\r\n### Global Variables\r\npJson = IF( pJson @= '', '{}', pJson );\r\nStringGlobalVariable( 'sBedrockReturnValue' );\r\nNumericGlobalVariable( 'nBedrockReturnValue' );\r\n\r\n### Constants ###\r\ncThisProcName = GetProcessName();\r\ncUserName = TM1User();\r\ncTimeStamp = TimSt( Now, '\\Y\\m\\d\\h\\i\\s' );\r\ncRandomInt = NumberToString( INT( RAND( ) * 1000 ));\r\ncTemp = cThisProcName |'_'| cTimeStamp |'_'| cRandomInt;\r\nsMessages = '{\"Process\": \"'|cThisProcName|'\", \"User\": \"'|cUsername|'\", \"Info\": [\"Process: '''|cThisProcName|''' run by User: '''|cUsername|'''.\"], \"Error\": []}';\r\n\r\n#################################################################################################\r\n#Region - Process Parameters\r\n\r\npJson = IF( JsonType( pJson ) @<> 'object', '{}', pJson );\r\nsMessages = '{\"Process\": \"'|GetProcessName()|'\", \"User\": \"'|TM1User()|'\", \"Info\": [\"Process: '''|GetProcessName()|''' run by User: '''|TM1User()|'''.\"], \"Error\": []}';\r\npDefaultParameters = '{\r\n \"pBody\": \"\",\r\n \"pCertificateFile\": \"\",\r\n \"pContext\": \"BedrockTop\",\r\n \"pHeaders\": \"[]\",\r\n \"pMethod\": null,\r\n \"pResponseFile\": \"\",\r\n \"pResponseHeaders\": \"[]\",\r\n \"pURL\": null,\r\n \"pURLPath\": \"\",\r\n \"pUser\": null,\r\n \"pLogOutput\": 0,\r\n \"pStrictErrorHandling\": 0,\r\n \"pVerify\": 0\r\n}';\r\n\r\npPassedParameters = '{\r\n \"pBody\": '|StringToJson ( pBody )|',\r\n \"pCertificateFile\": '|StringToJson ( pCertificateFile )|',\r\n \"pContext\": '|StringToJson ( pContext )|',\r\n \"pHeaders\": '|StringToJson ( pHeaders )|',\r\n \"pMethod\": '|StringToJson ( pMethod )|',\r\n \"pResponseFile\": '|StringToJson ( pResponseFile )|',\r\n \"pResponseHeaders\": '|StringToJson ( pResponseHeaders )|',\r\n \"pURL\": '|StringToJson ( pURL )|',\r\n \"pURLPath\": '|StringToJson ( pURLPath )|',\r\n \"pUser\": '|StringToJson ( pUser )|',\r\n \"pLogOutput\": '|NumberToString( pLogOutput )|',\r\n \"pStrictErrorHandling\": '|NumberToString( pStrictErrorHandling )|',\r\n \"pVerify\": '|NumberToString( pVerify )|'\r\n}';\r\n\r\npJson = JsonMergePatch( pPassedParameters, pJson );\r\n# String Parameters\r\npBody = JsonToString( pJson, '/pBody' );\r\npCertificateFile = JsonToString( pJson, '/pCertificateFile' );\r\npContext = JsonToString( pJson, '/pContext' );\r\npHeaders = JsonToString( pJson, '/pHeaders' );\r\npMethod = JsonToString( pJson, '/pMethod' );\r\npResponseFile = JsonToString( pJson, '/pResponseFile' );\r\npResponseHeaders = JsonToString( pJson, '/pResponseHeaders' );\r\npURL = JsonToString( pJson, '/pURL' );\r\npURLPath = JsonToString( pJson, '/pURLPath' );\r\npUser = JsonToString( pJson, '/pUser' );\r\n# Numeric Parameters\r\npLogOutput = StringToNumber( JsonToString( pJson, '/pLogOutput' ) );\r\npStrictErrorHandling = StringToNumber( JsonToString( pJson, '/pStrictErrorHandling' ) );\r\npVerify = StringToNumber( JsonToString( pJson, '/pVerify' ) );\r\n\r\n### Get the parameters that differ from the default\r\npDiffer = JsonDiff( pDefaultParameters, pJson );\r\nnSize = JsonSize( pDiffer );\r\nWHILE( nSize > 0 );\r\n nSize = nSize - 1;\r\n pDiffer = JsonReplace( pDiffer, '/'|NumberToString( nSize )|'/op', '\"add\"' );\r\nEND;\r\npJson = JsonPatch( '{}', pDiffer );\r\n\r\n### LogOutput parameters\r\nnSize = JsonSize( pJson );\r\nWHILE( nSize > 0 );\r\n nSize = nSize - 1;\r\n sKey = JsonGetKey( pJson, nSize );\r\n pPassedParameters = JsonReplace( pPassedParameters, sKey, JsonGet( pJson, sKey ) );\r\nEND;\r\n\r\nsMessages = JsonAdd( sMessages, '/Info/0', pPassedParameters );\r\nIF( pLogOutput = 1 );\r\n LogOutput('INFO', JsonToString( sMessages, '/Info/0' ) );\r\nENDIF;\r\n\r\n#EndRegion - Process Parameters\r\n#################################################################################################\r\n\r\n#################################################################################################\r\n#Region - Validate Parameters\r\n\r\nIF( JsonType( pHeaders ) @<> 'array' );\r\n pHeaders = '[]';\r\nENDIF;\r\n\r\n### If errors occurred terminate process with a major error status ###\r\nIF( JsonSize( sMessages, '/Error' ) <> 0 );\r\n ProcessBreak;\r\nENDIF;\r\n\r\n#EndRegion - Validate Parameters\r\n#################################################################################################\r\n\r\n#################################################################################################\r\n#Region - Compile Parameters into JSON Array sRequestOptions (sRO)\r\n\r\npMethod = UPPER( pMethod );\r\nsURL = pURL;\r\nsRO = '[]';\r\n\r\n# pUser\r\nIF( pUser @<> '' );\r\n sRO = JsonAdd( sRO, '', StringToJson( '-u '|pUser ) );\r\nENDIF;\r\n\r\n# pHeaders\r\nsHeadersType = JsonType( pHeaders );\r\nIF(sHeadersType @<> 'array' );\r\n IF( sHeadersType @<> 'string' );\r\n pHeaders = StringToJson( pHeaders );\r\n ENDIF;\r\n pHeaders = JsonAdd( '[]', '', pHeaders );\r\nENDIF;\r\n\r\nnContentTypeSpecified = 0;\r\nWHILE( JsonSize( pHeaders ) > 0 );\r\n sHeader = JsonToString( pHeaders, 0 );\r\n IF( SUBST( sHeader, 1, 13 ) @= 'Content-Type:' );\r\n nContentTypeSpecified = 1;\r\n ENDIF;\r\n sRO = JsonAdd( sRO, '', StringToJson( '-h '|sHeader ) );\r\n pHeaders = JsonRemove( pHeaders, 0 );\r\nEND;\r\n\r\n# Add a Content-Type for specific Methods\r\nIF( ( pMethod @= 'POST' % pMethod @= 'PATCH' % pMethod @= 'PUT' ) & nContentTypeSpecified = 0 );\r\n sRO = JsonAdd( sRO, '', StringToJson( '-h Content-Type:application/json; charset=utf-8' ) );\r\nENDIF;\r\n\r\nIF( pContext @<> '' );\r\n sRO = JsonAdd( sRO, '', StringToJson( '-h TM1-SessionContext:'|pContext ) );\r\nENDIF;\r\n\r\n# pBody\r\nIF( pBody @<> '' );\r\n sRO = JsonAdd( sRO, '', StringToJson( '-d '|pBody ) );\r\nENDIF;\r\n\r\n# pResponseFile\r\nIF( pResponseFile @<> '' );\r\n sRO = JsonAdd( sRO, '', StringToJson( '-o '|pResponseFile ) );\r\nENDIF;\r\n\r\n# pCertificateFile\r\nIF( pCertificateFile @<> '' );\r\n sRO = JsonAdd( sRO, '', StringToJson( '-c '|pCertificateFile ) );\r\nENDIF;\r\n\r\n# pVerify\r\nIF( pVerify = 0 );\r\n sRO = JsonAdd( sRO, '', '\"-k\"' );\r\nENDIF;\r\n \r\n\r\n##EndRegion - Compile Parameters into JSON Array sRequestOptions (sRO)\r\n##################################################################################################\r\n\r\n#################################################################################################\r\n#Region - ExecuteHttpRequest\r\n\r\nsRequestInfo = '{\r\n \"method\": '|StringToJson(pMethod)|', \r\n \"url\": '|StringToJson(sURL)|'\r\n}';\r\nsMessages = JsonAdd( sMessages, '/Info/0', StringToJson( 'ExecuteHttpRequest Request Info: '| sRequestInfo ) );\r\nIF( pLogOutput = 1 ); LogOutput( 'INFO', JsonToString( sMessages, '/Info/0' ) ); ENDIF;\r\n \r\nIF( JsonSize( sRO ) = 0 );\r\n\tExecuteHttpRequest( pMethod, sURL );\r\nELSEIF( JsonSize( sRO ) = 1 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ) );\r\nELSEIF( JsonSize( sRO ) = 2 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ) );\r\nELSEIF( JsonSize( sRO ) = 3 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ) );\r\nELSEIF( JsonSize( sRO ) = 4 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ) );\r\nELSEIF( JsonSize( sRO ) = 5 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ) );\r\nELSEIF( JsonSize( sRO ) = 6 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ) );\r\nELSEIF( JsonSize( sRO ) = 7 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ) );\r\nELSEIF( JsonSize( sRO ) = 8 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ) );\r\nELSEIF( JsonSize( sRO ) = 9 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ) );\r\nELSEIF( JsonSize( sRO ) = 10 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ) );\r\nELSEIF( JsonSize( sRO ) = 11 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ) );\r\nELSEIF( JsonSize( sRO ) = 12 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ) );\r\nELSEIF( JsonSize( sRO ) = 13 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ) );\r\nELSEIF( JsonSize( sRO ) = 14 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ) );\r\nELSEIF( JsonSize( sRO ) = 15 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ) );\r\nELSEIF( JsonSize( sRO ) = 16 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ) );\r\nELSEIF( JsonSize( sRO ) = 17 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ) );\r\nELSEIF( JsonSize( sRO ) = 18 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ) );\r\nELSEIF( JsonSize( sRO ) = 19 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ) );\r\nELSEIF( JsonSize( sRO ) = 20 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ) );\r\nELSEIF( JsonSize( sRO ) = 21 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ) );\r\nELSEIF( JsonSize( sRO ) = 22 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ) );\r\nELSEIF( JsonSize( sRO ) = 23 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ) );\r\nELSEIF( JsonSize( sRO ) = 24 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ) );\r\nELSEIF( JsonSize( sRO ) = 25 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ) );\r\nELSEIF( JsonSize( sRO ) = 26 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ) );\r\nELSEIF( JsonSize( sRO ) = 27 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ) );\r\nELSEIF( JsonSize( sRO ) = 28 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ), JsonToString( sRO, 27 ) );\r\nELSEIF( JsonSize( sRO ) = 29 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ), JsonToString( sRO, 27 ), JsonToString( sRO, 28 ) );\r\nELSEIF( JsonSize( sRO ) = 30 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ), JsonToString( sRO, 27 ), JsonToString( sRO, 28 ), JsonToString( sRO, 29 ) );\r\nELSEIF( JsonSize( sRO ) = 31 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ), JsonToString( sRO, 27 ), JsonToString( sRO, 28 ), JsonToString( sRO, 29 ), JsonToString( sRO, 30 ) );\r\nELSEIF( JsonSize( sRO ) = 32 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ), JsonToString( sRO, 27 ), JsonToString( sRO, 28 ), JsonToString( sRO, 29 ), JsonToString( sRO, 30 ), JsonToString( sRO, 31 ) );\r\nELSEIF( JsonSize( sRO ) = 33 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ), JsonToString( sRO, 27 ), JsonToString( sRO, 28 ), JsonToString( sRO, 29 ), JsonToString( sRO, 30 ), JsonToString( sRO, 31 ), JsonToString( sRO, 32 ) );\r\nELSEIF( JsonSize( sRO ) = 34 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ), JsonToString( sRO, 27 ), JsonToString( sRO, 28 ), JsonToString( sRO, 29 ), JsonToString( sRO, 30 ), JsonToString( sRO, 31 ), JsonToString( sRO, 32 ), JsonToString( sRO, 33 ) );\r\nELSEIF( JsonSize( sRO ) = 35 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ), JsonToString( sRO, 27 ), JsonToString( sRO, 28 ), JsonToString( sRO, 29 ), JsonToString( sRO, 30 ), JsonToString( sRO, 31 ), JsonToString( sRO, 32 ), JsonToString( sRO, 33 ), JsonToString( sRO, 34 ) );\r\nELSEIF( JsonSize( sRO ) = 36 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ), JsonToString( sRO, 27 ), JsonToString( sRO, 28 ), JsonToString( sRO, 29 ), JsonToString( sRO, 30 ), JsonToString( sRO, 31 ), JsonToString( sRO, 32 ), JsonToString( sRO, 33 ), JsonToString( sRO, 34 ), JsonToString( sRO, 35 ) );\r\nELSEIF( JsonSize( sRO ) = 37 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ), JsonToString( sRO, 27 ), JsonToString( sRO, 28 ), JsonToString( sRO, 29 ), JsonToString( sRO, 30 ), JsonToString( sRO, 31 ), JsonToString( sRO, 32 ), JsonToString( sRO, 33 ), JsonToString( sRO, 34 ), JsonToString( sRO, 35 ), JsonToString( sRO, 36 ) );\r\nELSEIF( JsonSize( sRO ) = 38 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ), JsonToString( sRO, 27 ), JsonToString( sRO, 28 ), JsonToString( sRO, 29 ), JsonToString( sRO, 30 ), JsonToString( sRO, 31 ), JsonToString( sRO, 32 ), JsonToString( sRO, 33 ), JsonToString( sRO, 34 ), JsonToString( sRO, 35 ), JsonToString( sRO, 36 ), JsonToString( sRO, 37 ) );\r\nELSEIF( JsonSize( sRO ) = 39 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ), JsonToString( sRO, 27 ), JsonToString( sRO, 28 ), JsonToString( sRO, 29 ), JsonToString( sRO, 30 ), JsonToString( sRO, 31 ), JsonToString( sRO, 32 ), JsonToString( sRO, 33 ), JsonToString( sRO, 34 ), JsonToString( sRO, 35 ), JsonToString( sRO, 36 ), JsonToString( sRO, 37 ), JsonToString( sRO, 38 ) );\r\nELSEIF( JsonSize( sRO ) = 40 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ), JsonToString( sRO, 27 ), JsonToString( sRO, 28 ), JsonToString( sRO, 29 ), JsonToString( sRO, 30 ), JsonToString( sRO, 31 ), JsonToString( sRO, 32 ), JsonToString( sRO, 33 ), JsonToString( sRO, 34 ), JsonToString( sRO, 35 ), JsonToString( sRO, 36 ), JsonToString( sRO, 37 ), JsonToString( sRO, 38 ), JsonToString( sRO, 39 ) );\r\nELSEIF( JsonSize( sRO ) = 41 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ), JsonToString( sRO, 27 ), JsonToString( sRO, 28 ), JsonToString( sRO, 29 ), JsonToString( sRO, 30 ), JsonToString( sRO, 31 ), JsonToString( sRO, 32 ), JsonToString( sRO, 33 ), JsonToString( sRO, 34 ), JsonToString( sRO, 35 ), JsonToString( sRO, 36 ), JsonToString( sRO, 37 ), JsonToString( sRO, 38 ), JsonToString( sRO, 39 ), JsonToString( sRO, 40 ) );\r\nELSEIF( JsonSize( sRO ) = 42 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ), JsonToString( sRO, 27 ), JsonToString( sRO, 28 ), JsonToString( sRO, 29 ), JsonToString( sRO, 30 ), JsonToString( sRO, 31 ), JsonToString( sRO, 32 ), JsonToString( sRO, 33 ), JsonToString( sRO, 34 ), JsonToString( sRO, 35 ), JsonToString( sRO, 36 ), JsonToString( sRO, 37 ), JsonToString( sRO, 38 ), JsonToString( sRO, 39 ), JsonToString( sRO, 40 ), JsonToString( sRO, 41 ) );\r\nELSEIF( JsonSize( sRO ) = 43 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ), JsonToString( sRO, 27 ), JsonToString( sRO, 28 ), JsonToString( sRO, 29 ), JsonToString( sRO, 30 ), JsonToString( sRO, 31 ), JsonToString( sRO, 32 ), JsonToString( sRO, 33 ), JsonToString( sRO, 34 ), JsonToString( sRO, 35 ), JsonToString( sRO, 36 ), JsonToString( sRO, 37 ), JsonToString( sRO, 38 ), JsonToString( sRO, 39 ), JsonToString( sRO, 40 ), JsonToString( sRO, 41 ), JsonToString( sRO, 42 ) );\r\nELSEIF( JsonSize( sRO ) = 44 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ), JsonToString( sRO, 27 ), JsonToString( sRO, 28 ), JsonToString( sRO, 29 ), JsonToString( sRO, 30 ), JsonToString( sRO, 31 ), JsonToString( sRO, 32 ), JsonToString( sRO, 33 ), JsonToString( sRO, 34 ), JsonToString( sRO, 35 ), JsonToString( sRO, 36 ), JsonToString( sRO, 37 ), JsonToString( sRO, 38 ), JsonToString( sRO, 39 ), JsonToString( sRO, 40 ), JsonToString( sRO, 41 ), JsonToString( sRO, 42 ), JsonToString( sRO, 43 ) );\r\nELSEIF( JsonSize( sRO ) = 45 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ), JsonToString( sRO, 27 ), JsonToString( sRO, 28 ), JsonToString( sRO, 29 ), JsonToString( sRO, 30 ), JsonToString( sRO, 31 ), JsonToString( sRO, 32 ), JsonToString( sRO, 33 ), JsonToString( sRO, 34 ), JsonToString( sRO, 35 ), JsonToString( sRO, 36 ), JsonToString( sRO, 37 ), JsonToString( sRO, 38 ), JsonToString( sRO, 39 ), JsonToString( sRO, 40 ), JsonToString( sRO, 41 ), JsonToString( sRO, 42 ), JsonToString( sRO, 43 ), JsonToString( sRO, 44 ) );\r\nELSEIF( JsonSize( sRO ) = 46 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ), JsonToString( sRO, 27 ), JsonToString( sRO, 28 ), JsonToString( sRO, 29 ), JsonToString( sRO, 30 ), JsonToString( sRO, 31 ), JsonToString( sRO, 32 ), JsonToString( sRO, 33 ), JsonToString( sRO, 34 ), JsonToString( sRO, 35 ), JsonToString( sRO, 36 ), JsonToString( sRO, 37 ), JsonToString( sRO, 38 ), JsonToString( sRO, 39 ), JsonToString( sRO, 40 ), JsonToString( sRO, 41 ), JsonToString( sRO, 42 ), JsonToString( sRO, 43 ), JsonToString( sRO, 44 ), JsonToString( sRO, 45 ) );\r\nELSEIF( JsonSize( sRO ) = 47 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ), JsonToString( sRO, 27 ), JsonToString( sRO, 28 ), JsonToString( sRO, 29 ), JsonToString( sRO, 30 ), JsonToString( sRO, 31 ), JsonToString( sRO, 32 ), JsonToString( sRO, 33 ), JsonToString( sRO, 34 ), JsonToString( sRO, 35 ), JsonToString( sRO, 36 ), JsonToString( sRO, 37 ), JsonToString( sRO, 38 ), JsonToString( sRO, 39 ), JsonToString( sRO, 40 ), JsonToString( sRO, 41 ), JsonToString( sRO, 42 ), JsonToString( sRO, 43 ), JsonToString( sRO, 44 ), JsonToString( sRO, 45 ), JsonToString( sRO, 46 ) );\r\nELSEIF( JsonSize( sRO ) = 48 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ), JsonToString( sRO, 27 ), JsonToString( sRO, 28 ), JsonToString( sRO, 29 ), JsonToString( sRO, 30 ), JsonToString( sRO, 31 ), JsonToString( sRO, 32 ), JsonToString( sRO, 33 ), JsonToString( sRO, 34 ), JsonToString( sRO, 35 ), JsonToString( sRO, 36 ), JsonToString( sRO, 37 ), JsonToString( sRO, 38 ), JsonToString( sRO, 39 ), JsonToString( sRO, 40 ), JsonToString( sRO, 41 ), JsonToString( sRO, 42 ), JsonToString( sRO, 43 ), JsonToString( sRO, 44 ), JsonToString( sRO, 45 ), JsonToString( sRO, 46 ), JsonToString( sRO, 47 ) );\r\nELSEIF( JsonSize( sRO ) = 49 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ), JsonToString( sRO, 27 ), JsonToString( sRO, 28 ), JsonToString( sRO, 29 ), JsonToString( sRO, 30 ), JsonToString( sRO, 31 ), JsonToString( sRO, 32 ), JsonToString( sRO, 33 ), JsonToString( sRO, 34 ), JsonToString( sRO, 35 ), JsonToString( sRO, 36 ), JsonToString( sRO, 37 ), JsonToString( sRO, 38 ), JsonToString( sRO, 39 ), JsonToString( sRO, 40 ), JsonToString( sRO, 41 ), JsonToString( sRO, 42 ), JsonToString( sRO, 43 ), JsonToString( sRO, 44 ), JsonToString( sRO, 45 ), JsonToString( sRO, 46 ), JsonToString( sRO, 47 ), JsonToString( sRO, 48 ) );\r\nELSEIF( JsonSize( sRO ) = 50 );\r\n\tExecuteHttpRequest( pMethod, sURL, JsonToString( sRO, 0 ), JsonToString( sRO, 1 ), JsonToString( sRO, 2 ), JsonToString( sRO, 3 ), JsonToString( sRO, 4 ), JsonToString( sRO, 5 ), JsonToString( sRO, 6 ), JsonToString( sRO, 7 ), JsonToString( sRO, 8 ), JsonToString( sRO, 9 ), JsonToString( sRO, 10 ), JsonToString( sRO, 11 ), JsonToString( sRO, 12 ), JsonToString( sRO, 13 ), JsonToString( sRO, 14 ), JsonToString( sRO, 15 ), JsonToString( sRO, 16 ), JsonToString( sRO, 17 ), JsonToString( sRO, 18 ), JsonToString( sRO, 19 ), JsonToString( sRO, 20 ), JsonToString( sRO, 21 ), JsonToString( sRO, 22 ), JsonToString( sRO, 23 ), JsonToString( sRO, 24 ), JsonToString( sRO, 25 ), JsonToString( sRO, 26 ), JsonToString( sRO, 27 ), JsonToString( sRO, 28 ), JsonToString( sRO, 29 ), JsonToString( sRO, 30 ), JsonToString( sRO, 31 ), JsonToString( sRO, 32 ), JsonToString( sRO, 33 ), JsonToString( sRO, 34 ), JsonToString( sRO, 35 ), JsonToString( sRO, 36 ), JsonToString( sRO, 37 ), JsonToString( sRO, 38 ), JsonToString( sRO, 39 ), JsonToString( sRO, 40 ), JsonToString( sRO, 41 ), JsonToString( sRO, 42 ), JsonToString( sRO, 43 ), JsonToString( sRO, 44 ), JsonToString( sRO, 45 ), JsonToString( sRO, 46 ), JsonToString( sRO, 47 ), JsonToString( sRO, 48 ), JsonToString( sRO, 49 ) );\r\nENDIF;\r\n\r\n#EndRegion - ExecuteHttpRequest\r\n#################################################################################################\r\n\r\n#################################################################################################\r\n#EndRegion - Return Info\r\n\r\n# Catch content type that can't be converted to a string by 'HttpResponseGetBody()'\r\nsContentType = HttpResponseGetHeader( 'Content-Type' );\r\nIF( sContentType @= 'application/octet-stream' );\r\n sBody = '';\r\nELSE;\r\n sBody = HttpResponseGetBody();\r\n IF( JsonType( sBody ) @= '' );\r\n sBody = StringToJson( sBody );\r\n ENDIF;\r\nENDIF;\r\n\r\nnStatusCode = HttpResponseGetStatusCode();\r\nsResponseInfo = '{\r\n \"status_code\": '|NumberToString( nStatusCode )|', \r\n \"body\": '|sBody|'\r\n}';\r\n\r\n# Add Requested Headers to Return Info\r\nsRequestInfo = IF( JsonSize( pResponseHeaders ) > 0, JsonAdd( sResponseInfo, 'headers', '{}' ), sResponseInfo );\r\nWHILE( JsonSize( pResponseHeaders ) > 0 );\r\n sHeader = JsonToString( pResponseHeaders, 0 );\r\n sResponseInfo = JsonAdd( sResponseInfo, '/headers/'|sHeader, StringToJson( HttpResponseGetHeader( sHeader ) ) );\r\n pResponseHeaders = JsonRemove( pResponseHeaders, 0 );\r\nEND;\r\n\r\nsMessages = JsonAdd( sMessages, '/Info/0', StringToJson( 'ExecuteHttpRequest Request: '| sRequestInfo ) );\r\nIF( pLogOutput = 1 ); LogOutput( 'INFO', JsonToString( sMessages, '/Info/0' ) ); ENDIF;\r\n\r\nsBedrockReturnValue = sResponseInfo;\r\nIF( pLogOutput = 1 ); LogOutput( 'INFO', JsonToString( 'ExecuteHttpRequest Response: '| sResponseInfo ) ); ENDIF;\r\n\r\n# Error Handling\r\nIF( pStrictErrorHandling = 1 & nStatusCode >= 400 );\r\n ItemReject( sResponseInfo );\r\nENDIF;\r\n\r\n\r\n#EndRegion - Return Info\r\n#################################################################################################", + "MetadataProcedure": "#****Begin: Generated Statements***\r\n#****End: Generated Statements****", + "DataProcedure": "#****Begin: Generated Statements***\r\n#****End: Generated Statements****", + "EpilogProcedure": "#****Begin: Generated Statements***\r\n#****End: Generated Statements****", + "HasSecurityAccess": false, + "UIData": "", + "DataSource": { + "Type": "None" + }, + "Parameters": [ + { + "Name": "pMethod", + "Prompt": "REQUIRED: Method of the http request", + "Value": "", + "Type": "String" + }, + { + "Name": "pURL", + "Prompt": "REQUIRED: The URL to send the request to", + "Value": "", + "Type": "String" + }, + { + "Name": "pURLPath", + "Prompt": "OPTIONAL: URL Path to append to pURL", + "Value": "", + "Type": "String" + }, + { + "Name": "pUser", + "Prompt": "REQUIRED: User name", + "Value": "", + "Type": "String" + }, + { + "Name": "pHeaders", + "Prompt": "OPTIONAL: JSON Array of headers for the request (Default = '[]')", + "Value": "[]", + "Type": "String" + }, + { + "Name": "pBody", + "Prompt": "OPTIONAL: Request Body", + "Value": "", + "Type": "String" + }, + { + "Name": "pResponseFile", + "Prompt": "OPTIONAL: The file name to write the response to", + "Value": "", + "Type": "String" + }, + { + "Name": "pCertificateFile", + "Prompt": "OPTIONAL: The file name of a custom CA certificate file", + "Value": "", + "Type": "String" + }, + { + "Name": "pVerify", + "Prompt": "OPTIONAL: Verify the TLS certificates (Boolean. Default = 0)", + "Value": 0, + "Type": "Numeric" + }, + { + "Name": "pResponseHeaders", + "Prompt": "OPTIONAL: JSON Array of headers to include in return value", + "Value": "[]", + "Type": "String" + }, + { + "Name": "pContext", + "Prompt": "OPTIONAL: Set the session's context to this value (Default = 'BedrockTop')", + "Value": "BedrockTop", + "Type": "String" + }, + { + "Name": "pLogOutput", + "Prompt": "OPTIONAL: Write parameters and action summary to server message log (Boolean. Default = 0)", + "Value": 0, + "Type": "Numeric" + }, + { + "Name": "pStrictErrorHandling", + "Prompt": "OPTIONAL: On encountering any error, exit with major error status by ProcessQuit after writing to the server message log (Boolean. Default = 0)", + "Value": 0, + "Type": "Numeric" + }, + { + "Name": "pJson", + "Prompt": "OPTIONAL: JSON Object with process parameter values. This will overwrite user passed parameters for all included parameters.", + "Value": "{}", + "Type": "String" + } + ], + "Variables": [], + "VariablesUIData": [] + }, { "Name": "}bedrock.process.multithread", "PrologProcedure": "#****Begin: Generated Statements***\r\n#****End: Generated Statements****\r\n\r\n###################################################################################################\r\n##~~Join the bedrock TM1 community on GitHub https://github.com/cubewise-code/bedrock Ver 5.3.0~~##\r\n###################################################################################################\r\n\r\n#Region @DOC\r\n#### Description:\r\n#This process manages the multi-threaded execution of tasks\r\n#\r\n#### How to Use:\r\n#\r\n#- `pTaskList` defines the tasks that the process will execute. \r\n#The parameter must be a JSON Array of JSON Objects, e.g. `[{...}, {...}, ..., {...}]`. \r\n#The JSON Objects within pTaskList can have the following key-values:\r\n#```json\r\n#{\r\n# \"process\": ,\r\n# \"parameters\": ,\r\n# \"id\": ,\r\n# \"predecessors\": ,\r\n# \"require_predecessor_success\": \r\n#}\r\n#```\r\n#How to use each key-value pair:\r\n#- `process`: REQUIRED: the name of the process.\r\n#- `parameters`: OPTIONAL: A JSON Object specifying the parameter values of the process. (It is not required to list all the parameters of the process).\r\n#- `id`: OPTIONAL: an ID string that other tasks can use to reference this task.\r\n#- `predecessors`: OPTIONAL: A JSON Array of task ID strings.\r\n#- `require_predecessor_success`: OPTIONAL: JSON boolean, if true the task will not be executed if any of it's predecessors failed (default = false).\r\n#\r\n#Here is an example pTaskList:\r\n#```json\r\n#[\r\n# {\r\n# \"process\": \"}bedrock.server.wait\"\r\n# },\r\n# {\r\n# \"process\": \"}bedrock.server.wait\",\r\n# \"parameters\": {\r\n# \"pWaitSec\": 10,\r\n# \"pLogOutput\": 1\r\n# },\r\n# \"id\": \"second_task\"\r\n# },\r\n# {\r\n# \"process\": \"}bedrock.server.wait\",\r\n# \"parameters\": {\r\n# \"pWaitSec\": 15\r\n# },\r\n# \"predecessors\": [\"second_task\"],\r\n# \"require_predecessor_success\": true\r\n# }\r\n#]\r\n#```\r\n#This task list has three tasks, and each task is the process \"}bedrock.server.wait\". \r\n#If this task list is executed with pMaxThreads = 1, given the predecessors specified, the order of execution will be: the first or second task will execute first, but the third will not execute until the second task finishes executing.\r\n#\r\n#- `pMaxThreads` defines the maximum number of threads allowed to run concurrently.\r\n#- `pRefreshRate` defines the number of milliseconds to wait in between checking the statuses of the created threads.\r\n#- `pSuccessReturnCodes` is a JSON array with either the numeric value of a return code (e.g. 0, 5, 7, 8) or the strings of the return code function (e.g. \"ProcessExitNormal\", \"ProcessExitByBreak\", \"ProcessExitMinorError\"). \r\n#You can also shorten the strings by removing the \"ProcessExit\" prefix (e.g. \"Normal\", ByBreak\", \"MinorError\").\r\n#\r\n#> [!IMPORTANT]\r\n#> The executor ignores the order of the tasks in the list. So if you want a specific task to execute before another, only way to gaurantee that behavior is to use \"predecessors\".\r\n#EndRegion @DOC\r\n\r\n### Global Variables\r\npJson = IF( pJson @= '', '{}', pJson );\r\nStringGlobalVariable( 'sBedrockReturnValue' );\r\nNumericGlobalVariable( 'nBedrockReturnValue' );\r\n\r\n### Constants ###\r\ncThisProcName = GetProcessName();\r\ncUserName = TM1User();\r\ncTimeStamp = TimSt( Now, '\\Y\\m\\d\\h\\i\\s' );\r\ncRandomInt = NumberToString( INT( RAND( ) * 1000 ));\r\ncTemp = cThisProcName |'_'| cTimeStamp |'_'| cRandomInt;\r\nsMessages = '{\"Process\": \"'|cThisProcName|'\", \"User\": \"'|cUsername|'\", \"Info\": [\"Process: '''|cThisProcName|''' run by User: '''|cUsername|'''.\"], \"Error\": []}';\r\n\r\n\r\n#################################################################################################\r\n#Region - Process Parameters\r\n\r\npJson = IF( JsonType( pJson ) @<> 'object', '{}', pJson );\r\nsMessages = '{\"Process\": \"'|GetProcessName()|'\", \"User\": \"'|TM1User()|'\", \"Info\": [\"Process: '''|GetProcessName()|''' run by User: '''|TM1User()|'''.\"], \"Error\": []}';\r\npDefaultParameters = '{\r\n \"pSuccessReturnCodes\": \"[0, 5, 7, 8]\",\r\n \"pTaskList\": null,\r\n \"pLogOutput\": 0,\r\n \"pMaxThreads\": 0,\r\n \"pRefreshRate\": 100,\r\n \"pStrictErrorHandling\": 0\r\n}';\r\n\r\npPassedParameters = '{\r\n \"pSuccessReturnCodes\": '|StringToJson ( pSuccessReturnCodes )|',\r\n \"pTaskList\": '|StringToJson ( pTaskList )|',\r\n \"pLogOutput\": '|NumberToString( pLogOutput )|',\r\n \"pMaxThreads\": '|NumberToString( pMaxThreads )|',\r\n \"pRefreshRate\": '|NumberToString( pRefreshRate )|',\r\n \"pStrictErrorHandling\": '|NumberToString( pStrictErrorHandling )|'\r\n}';\r\n\r\npJson = JsonMergePatch( pPassedParameters, pJson );\r\n# String Parameters\r\npSuccessReturnCodes = JsonToString( pJson, '/pSuccessReturnCodes' );\r\npTaskList = JsonToString( pJson, '/pTaskList' );\r\n# Numeric Parameters\r\npLogOutput = StringToNumber( JsonToString( pJson, '/pLogOutput' ) );\r\npMaxThreads = StringToNumber( JsonToString( pJson, '/pMaxThreads' ) );\r\npRefreshRate = StringToNumber( JsonToString( pJson, '/pRefreshRate' ) );\r\npStrictErrorHandling = StringToNumber( JsonToString( pJson, '/pStrictErrorHandling' ) );\r\n\r\n### Get the parameters that differ from the default\r\npDiffer = JsonDiff( pDefaultParameters, pJson );\r\nnSize = JsonSize( pDiffer );\r\nWHILE( nSize > 0 );\r\n nSize = nSize - 1;\r\n pDiffer = JsonReplace( pDiffer, '/'|NumberToString( nSize )|'/op', '\"add\"' );\r\nEND;\r\npJson = JsonPatch( '{}', pDiffer );\r\n\r\n### LogOutput parameters\r\nnSize = JsonSize( pJson );\r\nWHILE( nSize > 0 );\r\n nSize = nSize - 1;\r\n sKey = JsonGetKey( pJson, nSize );\r\n pPassedParameters = JsonReplace( pPassedParameters, sKey, JsonGet( pJson, sKey ) );\r\nEND;\r\n\r\nsMessages = JsonAdd( sMessages, '/Info/0', pPassedParameters );\r\nIF( pLogOutput = 1 );\r\n LogOutput('INFO', JsonToString( sMessages, '/Info/0' ) );\r\nENDIF;\r\n\r\n#EndRegion - Process Parameters\r\n#################################################################################################\r\n\r\n#################################################################################################\r\n#Region - Validate Parameters\r\n\r\n# pTaskJson must be a valid JSON\r\nIF( JsonSize( pTaskList ) = 0 );\r\n sMessages = JsonAdd( sMessages, '/Info/-', StringToJson( '''pJsonTask'' is empty.' ) );\r\nELSEIF( JsonSize( pTaskList ) = -1 );\r\n sMessages = JsonAdd( sMessages, '/Error/-', StringToJson( '''pJsonTask'' is not a valid JSON string.' ) );\r\nENDIF;\r\n\r\nIF( pSuccessReturnCodes @= '' );\r\n pSuccessReturnCodes = '[]';\r\nENDIF;\r\n\r\n# Convert pSuccessReturnCodes to array of numbers\r\npSuccessReturnCodesType = JsonType( pSuccessReturnCodes );\r\nIF( pSuccessReturnCodesType @= 'number' % pSuccessReturnCodesType @= 'string' );\r\n pSuccessReturnCodes = '['|pSuccessReturnCodes|']';\r\nELSEIF( pSuccessReturnCodesType @<> 'array' );\r\n pSuccessReturnCodes = '['|StringToJson( pSuccessReturnCodes )|']';\r\nENDIF;\r\n\r\nnSuccessReturnCodes = JsonSize( pSuccessReturnCodes );\r\nWHILE( nSuccessReturnCodes > 0 );\r\n nSuccessReturnCodes = nSuccessReturnCodes - 1;\r\n sReturnCode = JsonGet( pSuccessReturnCodes, nSuccessReturnCodes );\r\n IF( JsonType( sReturnCode ) @= 'string' );\r\n sReturnCode = JsonToString( sReturnCode );\r\n sReturnCode = UPPER( sReturnCode );\r\n \r\n IF( SUBST( sReturnCode, LONG( sReturnCode ) - 2, 2 ) @= '()' );\r\n sReturnCode = SUBST( sReturnCode, 1, LONG( sReturnCode ) - 2 );\r\n ENDIF;\r\n IF( SUBST( sReturnCode, 1, 11 ) @= 'PROCESSEXIT' );\r\n sReturnCode = DELET( sReturnCode, 1, 11 );\r\n ENDIF;\r\n \r\n IF( sReturnCode @= 'BYBREAK' ); sReturnCode = NumberToString( ProcessExitByBreak() ); ENDIF;\r\n IF( sReturnCode @= 'BYCHOREQUIT' ); sReturnCode = NumberToString( ProcessExitByChoreQuit() ); ENDIF;\r\n IF( sReturnCode @= 'BYCHOREROLLBACK' ); sReturnCode = NumberToString( ProcessExitByChoreRollback() ); ENDIF;\r\n IF( sReturnCode @= 'BYPROCESSROLLBACK' ); sReturnCode = NumberToString( ProcessExitByProcessRollback() ); ENDIF;\r\n IF( sReturnCode @= 'BYQUIT' ); sReturnCode = NumberToString( ProcessExitByQuit() ); ENDIF;\r\n IF( sReturnCode @= 'BYMINORERROR' ); sReturnCode = NumberToString( ProcessExitMinorError() ); ENDIF;\r\n IF( sReturnCode @= 'NORMAL' ); sReturnCode = NumberToString( ProcessExitNormal() ); ENDIF;\r\n IF( sReturnCode @= 'ONINIT' ); sReturnCode = NumberToString( ProcessExitOnInit() ); ENDIF;\r\n IF( sReturnCode @= 'SERIOUSERROR' ); sReturnCode = NumberToString( ProcessExitSeriousError() ); ENDIF;\r\n IF( sReturnCode @= 'WITHMESSAGE' ); sReturnCode = NumberToString( ProcessExitWithMessage() ); ENDIF;\r\n \r\n pSuccessReturnCodes = JsonReplace( pSuccessReturnCodes, nSuccessReturnCodes, sReturnCode );\r\n ENDIF;\r\nEND;\r\n \r\n\r\n### If errors occurred terminate process with a major error status ###\r\nIf( JsonSize( sMessages, '/Error' ) <> 0 );\r\n ProcessBreak;\r\nEndIf;\r\n\r\nIF( pMaxThreads <= 0 );\r\n pMaxThreads = JsonSize( pTaskList );\r\nENDIF;\r\n\r\n#EndRegion - Validate Parameters\r\n#################################################################################################\r\n\r\n\r\n#################################################################################################\r\n#Region - Main Process\r\n\r\n### Initial Starting Parameters ###\r\nsJsonCompletedJobs = '{}';\r\nsJsonCompletedJobsStatus = '{}';\r\n\r\nnTaskCount = JsonSize( pTaskList ) - 1;\r\nWHILE( nTaskCount >= 0 );\r\n sJsonTask = JsonGet( pTaskList, nTaskCount );\r\n sID = JsonToString( JsonGet( sJsonTask, 'id' ) );\r\n IF( sID @<> '' );\r\n sCurrentCount = JsonGet( sJsonCompletedJobs, sID );\r\n nCurrentCount = IF( sCurrentCount @= '', 0, StringToNumber( sCurrentCount ) ) + 1;\r\n sJsonCompletedJobs = JsonAdd( sJsonCompletedJobs, sID, NumberToString( nCurrentCount ) );\r\n ENDIF;\r\n \r\n nTaskCount = nTaskCount - 1;\r\nEND;\r\n\r\n### Start of Main Loop ###\r\nnTaskListIndex = 0;\r\nsListThreadPool = '[]';\r\nWHILE( JsonSize( pTaskList ) <> 0 );\r\n \r\n ### Initial Task Parameters ###\r\n # Get task from task list\r\n sJsonTask = JsonGet( pTaskList, nTaskListIndex );\r\n \r\n # Get parameters of task\r\n sProcessName = JsonToString( sJsonTask, '/process' );\r\n sID = JsonToString( sJsonTask, '/id' );\r\n sJsonParameters = JsonGet( sJsonTask, 'parameters' );\r\n sRequireSuccess = JsonGet( sJsonTask, 'require_predecessor_success' );\r\n sPredecessors = JsonGet( sJsonTask, 'predecessors' );\r\n \r\n ### Get Predecessor Return Status ###\r\n # Loop through the predecessors\r\n nPredecessorsFinished = 1;\r\n nPredecessorCount = JsonSize( sPredecessors );\r\n WHILE( nPredecessorCount > 0 );\r\n nPredecessorCount = nPredecessorCount - 1;\r\n sPredecessorID = JsonToString( sPredecessors, nPredecessorCount );\r\n sPredecessorStatus = JsonGet( sJsonCompletedJobs, sPredecessorID );\r\n \r\n # If the predecessor doesn't exist, raise an error\r\n IF( sPredecessorStatus @= '' );\r\n sMessages = JsonAdd( sMessages, '/Error/-', StringToJson( 'task with ID '''|sID|''' has predecessor '''|sPredecessorID|''' that doesn''t exist. Task will not be executed.' ) );\r\n pTaskList = JsonRemove( pTaskList, nTaskListIndex );\r\n nTaskListIndex = 0;\r\n IF( pStrictErrorHandling = 1 );\r\n ProcessBreak;\r\n ENDIF;\r\n ELSE;\r\n # Get the number of tasks with sPredecessorID that still need to finish\r\n nPredecessorStatus = StringToNumber( sPredecessorStatus );\r\n IF( nPredecessorStatus > 0 );\r\n nPredecessorsFinished = 0;\r\n BREAK;\r\n # If needed, get the completion status of the predecessor\r\n ELSEIF( sRequireSuccess @= 'true' );\r\n sJobCompletionStatus = JsonGet( sJsonCompletedJobsStatus, sPredecessorID );\r\n IF( sJobCompletionStatus @= 'false' );\r\n sMessageLevel = IF( pStrictErrorHandling = 1, 'Error', 'Info' );\r\n sMessages = JsonAdd( sMessages, '/'|sMessageLevel|'/-', StringToJson( 'Job with ID '''|sID|''' did not run due to predecessor with ID '''|sPredecessorID|''' having an unacceptable return code.' ) );\r\n pTaskList = JsonRemove( pTaskList, nTaskListIndex );\r\n nTaskListIndex = 0;\r\n nPredecessorsFinished = 0;\r\n BREAK;\r\n ENDIF;\r\n ENDIF;\r\n ENDIF;\r\n END;\r\n \r\n ### Call Task with Given Parameters ###\r\n # Continue if all predecessors have finished and there is room in the thread pool\r\n IF( nPredecessorsFinished = 1 & JsonSize( sListThreadPool ) < pMaxThreads );\r\n sMessages = JsonAdd( sMessages, '/Info/-', StringToJson( 'Starting Job: '|sJsonTask ) );\r\n IF( pLogOutput = 1 ); LogOutput( 'INFO', JsonGet( JsonGet( sMessages, '/Info' ), JsonSize( sMessages, '/Info' )-1 ) ); ENDIF;\r\n pTaskList = JsonRemove( pTaskList, nTaskListIndex );\r\n nTaskListIndex = 0;\r\n \r\n # Note: Variable names shortened for scalability\r\n sPN = sProcessName;\r\n \r\n # Json Numeric/String Parameters\r\n sJNP = '{}';\r\n sJSP = '{}';\r\n WHILE( JsonSize( sJsonParameters ) > 0 );\r\n sKey = JsonGetKey( sJsonParameters, 0 );\r\n sVal = JsonGet( sJsonParameters, sKey );\r\n sJsonParameters = JsonRemove( sJsonParameters, sKey );\r\n \r\n IF( JsonType( sVal ) @= 'number' );\r\n sJNP = JsonAdd( sJNP, sKey, sVal );\r\n ELSE;\r\n sJSP = JsonAdd( sJSP, sKey, sVal );\r\n ENDIF;\r\n END;\r\n # String/Numeric Count\r\n nNC = JsonSize( sJNP );\r\n nSC = JsonSize( sJSP );\r\n \r\n # Retrieve Process Parameters from Json Numeric/String Parameters\r\n sNK001 = JsonGetKey( sJNP, 000 );\r\n sSK001 = JsonGetKey( sJSP, 000 );\r\n sNK002 = JsonGetKey( sJNP, 001 );\r\n sSK002 = JsonGetKey( sJSP, 001 );\r\n #Region - ...\r\n sNK003 = JsonGetKey( sJNP, 002 );\r\n sSK003 = JsonGetKey( sJSP, 002 );\r\n sNK004 = JsonGetKey( sJNP, 003 );\r\n sSK004 = JsonGetKey( sJSP, 003 );\r\n sNK005 = JsonGetKey( sJNP, 004 );\r\n sSK005 = JsonGetKey( sJSP, 004 );\r\n sNK006 = JsonGetKey( sJNP, 005 );\r\n sSK006 = JsonGetKey( sJSP, 005 );\r\n sNK007 = JsonGetKey( sJNP, 006 );\r\n sSK007 = JsonGetKey( sJSP, 006 );\r\n sNK008 = JsonGetKey( sJNP, 007 );\r\n sSK008 = JsonGetKey( sJSP, 007 );\r\n sNK009 = JsonGetKey( sJNP, 008 );\r\n sSK009 = JsonGetKey( sJSP, 008 );\r\n sNK010 = JsonGetKey( sJNP, 009 );\r\n sSK010 = JsonGetKey( sJSP, 009 );\r\n sNK011 = JsonGetKey( sJNP, 010 );\r\n sSK011 = JsonGetKey( sJSP, 010 );\r\n sNK012 = JsonGetKey( sJNP, 011 );\r\n sSK012 = JsonGetKey( sJSP, 011 );\r\n sNK013 = JsonGetKey( sJNP, 012 );\r\n sSK013 = JsonGetKey( sJSP, 012 );\r\n sNK014 = JsonGetKey( sJNP, 013 );\r\n sSK014 = JsonGetKey( sJSP, 013 );\r\n sNK015 = JsonGetKey( sJNP, 014 );\r\n sSK015 = JsonGetKey( sJSP, 014 );\r\n sNK016 = JsonGetKey( sJNP, 015 );\r\n sSK016 = JsonGetKey( sJSP, 015 );\r\n sNK017 = JsonGetKey( sJNP, 016 );\r\n sSK017 = JsonGetKey( sJSP, 016 );\r\n sNK018 = JsonGetKey( sJNP, 017 );\r\n sSK018 = JsonGetKey( sJSP, 017 );\r\n sNK019 = JsonGetKey( sJNP, 018 );\r\n sSK019 = JsonGetKey( sJSP, 018 );\r\n #EndRegion - ...\r\n sNK020 = JsonGetKey( sJNP, 019 );\r\n sSK020 = JsonGetKey( sJSP, 019 );\r\n \r\n sNV001 = IF( sNK001 @= '', 0, StringToNumber( JsonGet( sJNP, sNK001 ) ) );\r\n sSV001 = IF( sSK001 @= '', '', JsonToString( JsonGet( sJSP, sSK001 ) ) );\r\n sNV002 = IF( sNK002 @= '', 0, StringToNumber( JsonGet( sJNP, sNK002 ) ) );\r\n sSV002 = IF( sSK002 @= '', '', JsonToString( JsonGet( sJSP, sSK002 ) ) );\r\n #Region - ...\r\n sNV003 = IF( sNK003 @= '', 0, StringToNumber( JsonGet( sJNP, sNK003 ) ) );\r\n sSV003 = IF( sSK003 @= '', '', JsonToString( JsonGet( sJSP, sSK003 ) ) );\r\n sNV004 = IF( sNK004 @= '', 0, StringToNumber( JsonGet( sJNP, sNK004 ) ) );\r\n sSV004 = IF( sSK004 @= '', '', JsonToString( JsonGet( sJSP, sSK004 ) ) );\r\n sNV005 = IF( sNK005 @= '', 0, StringToNumber( JsonGet( sJNP, sNK005 ) ) );\r\n sSV005 = IF( sSK005 @= '', '', JsonToString( JsonGet( sJSP, sSK005 ) ) );\r\n sNV006 = IF( sNK006 @= '', 0, StringToNumber( JsonGet( sJNP, sNK006 ) ) );\r\n sSV006 = IF( sSK006 @= '', '', JsonToString( JsonGet( sJSP, sSK006 ) ) );\r\n sNV007 = IF( sNK007 @= '', 0, StringToNumber( JsonGet( sJNP, sNK007 ) ) );\r\n sSV007 = IF( sSK007 @= '', '', JsonToString( JsonGet( sJSP, sSK007 ) ) );\r\n sNV008 = IF( sNK008 @= '', 0, StringToNumber( JsonGet( sJNP, sNK008 ) ) );\r\n sSV008 = IF( sSK008 @= '', '', JsonToString( JsonGet( sJSP, sSK008 ) ) );\r\n sNV009 = IF( sNK009 @= '', 0, StringToNumber( JsonGet( sJNP, sNK009 ) ) );\r\n sSV009 = IF( sSK009 @= '', '', JsonToString( JsonGet( sJSP, sSK009 ) ) );\r\n sNV010 = IF( sNK010 @= '', 0, StringToNumber( JsonGet( sJNP, sNK010 ) ) );\r\n sSV010 = IF( sSK010 @= '', '', JsonToString( JsonGet( sJSP, sSK010 ) ) );\r\n sNV011 = IF( sNK011 @= '', 0, StringToNumber( JsonGet( sJNP, sNK011 ) ) );\r\n sSV011 = IF( sSK011 @= '', '', JsonToString( JsonGet( sJSP, sSK011 ) ) );\r\n sNV012 = IF( sNK012 @= '', 0, StringToNumber( JsonGet( sJNP, sNK012 ) ) );\r\n sSV012 = IF( sSK012 @= '', '', JsonToString( JsonGet( sJSP, sSK012 ) ) );\r\n sNV013 = IF( sNK013 @= '', 0, StringToNumber( JsonGet( sJNP, sNK013 ) ) );\r\n sSV013 = IF( sSK013 @= '', '', JsonToString( JsonGet( sJSP, sSK013 ) ) );\r\n sNV014 = IF( sNK014 @= '', 0, StringToNumber( JsonGet( sJNP, sNK014 ) ) );\r\n sSV014 = IF( sSK014 @= '', '', JsonToString( JsonGet( sJSP, sSK014 ) ) );\r\n sNV015 = IF( sNK015 @= '', 0, StringToNumber( JsonGet( sJNP, sNK015 ) ) );\r\n sSV015 = IF( sSK015 @= '', '', JsonToString( JsonGet( sJSP, sSK015 ) ) );\r\n sNV016 = IF( sNK016 @= '', 0, StringToNumber( JsonGet( sJNP, sNK016 ) ) );\r\n sSV016 = IF( sSK016 @= '', '', JsonToString( JsonGet( sJSP, sSK016 ) ) );\r\n sNV017 = IF( sNK017 @= '', 0, StringToNumber( JsonGet( sJNP, sNK017 ) ) );\r\n sSV017 = IF( sSK017 @= '', '', JsonToString( JsonGet( sJSP, sSK017 ) ) );\r\n sNV018 = IF( sNK018 @= '', 0, StringToNumber( JsonGet( sJNP, sNK018 ) ) );\r\n sSV018 = IF( sSK018 @= '', '', JsonToString( JsonGet( sJSP, sSK018 ) ) );\r\n sNV019 = IF( sNK019 @= '', 0, StringToNumber( JsonGet( sJNP, sNK019 ) ) );\r\n sSV019 = IF( sSK019 @= '', '', JsonToString( JsonGet( sJSP, sSK019 ) ) );\r\n #EndRegion - ...\r\n sNV020 = IF( sNK020 @= '', 0, StringToNumber( JsonGet( sJNP, sNK020 ) ) );\r\n sSV020 = IF( sSK020 @= '', '', JsonToString( JsonGet( sJSP, sSK020 ) ) );\r\n \r\n \r\n # Based on number of String/Numeric parameters, call RunProcess\r\n IF ( nNC = 000 );\r\n IF ( nSC = 000 );\r\n sPID = RunProcess( sPN );\r\n ELSEIF( nSC = 001 );\r\n sPID = RunProcess( sPN, sSK001, sSV001 );\r\n ELSEIF( nSC = 002 );\r\n sPID = RunProcess( sPN, sSK001, sSV001, sSK002, sSV002 );\r\n #Region - ...\r\n ELSEIF( nSC = 003 );\r\n sPID = RunProcess( sPN, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003 );\r\n ELSEIF( nSC = 004 );\r\n sPID = RunProcess( sPN, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004 );\r\n ELSEIF( nSC = 005 );\r\n sPID = RunProcess( sPN, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005 );\r\n ELSEIF( nSC = 006 );\r\n sPID = RunProcess( sPN, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006 );\r\n ELSEIF( nSC = 007 );\r\n sPID = RunProcess( sPN, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007 );\r\n ELSEIF( nSC = 008 );\r\n sPID = RunProcess( sPN, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008 );\r\n ELSEIF( nSC = 009 );\r\n sPID = RunProcess( sPN, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009 );\r\n ELSEIF( nSC = 010 );\r\n sPID = RunProcess( sPN, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010 );\r\n ELSEIF( nSC = 011 );\r\n sPID = RunProcess( sPN, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011 );\r\n ELSEIF( nSC = 012 );\r\n sPID = RunProcess( sPN, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012 );\r\n ELSEIF( nSC = 013 );\r\n sPID = RunProcess( sPN, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013 );\r\n ELSEIF( nSC = 014 );\r\n sPID = RunProcess( sPN, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014 );\r\n ELSEIF( nSC = 015 );\r\n sPID = RunProcess( sPN, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015 );\r\n ELSEIF( nSC = 016 );\r\n sPID = RunProcess( sPN, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016 );\r\n ELSEIF( nSC = 017 );\r\n sPID = RunProcess( sPN, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017 );\r\n ELSEIF( nSC = 018 );\r\n sPID = RunProcess( sPN, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018 );\r\n ELSEIF( nSC = 019 );\r\n sPID = RunProcess( sPN, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018, sSK019, sSV019 );\r\n ELSEIF( nSC = 020 );\r\n sPID = RunProcess( sPN, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018, sSK019, sSV019, sSK020, sSV020 );\r\n ENDIF;\r\n ELSEIF( nNC = 001 );\r\n IF ( nSC = 000 );\r\n sPID = RunProcess( sPN, sNK001, sNV001 );\r\n ELSEIF( nSC = 001 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sSK001, sSV001 );\r\n ELSEIF( nSC = 002 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sSK001, sSV001, sSK002, sSV002 );\r\n ELSEIF( nSC = 003 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003 );\r\n ELSEIF( nSC = 004 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004 );\r\n ELSEIF( nSC = 005 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005 );\r\n ELSEIF( nSC = 006 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006 );\r\n ELSEIF( nSC = 007 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007 );\r\n ELSEIF( nSC = 008 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008 );\r\n ELSEIF( nSC = 009 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009 );\r\n ELSEIF( nSC = 010 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010 );\r\n ELSEIF( nSC = 011 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011 );\r\n ELSEIF( nSC = 012 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012 );\r\n ELSEIF( nSC = 013 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013 );\r\n ELSEIF( nSC = 014 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014 );\r\n ELSEIF( nSC = 015 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015 );\r\n ELSEIF( nSC = 016 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016 );\r\n ELSEIF( nSC = 017 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017 );\r\n ELSEIF( nSC = 018 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018 );\r\n ELSEIF( nSC = 019 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018, sSK019, sSV019 );\r\n ELSEIF( nSC = 020 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018, sSK019, sSV019, sSK020, sSV020 );\r\n ENDIF;\r\n ELSEIF( nNC = 002 );\r\n IF ( nSC = 000 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002 );\r\n ELSEIF( nSC = 001 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sSK001, sSV001 );\r\n ELSEIF( nSC = 002 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sSK001, sSV001, sSK002, sSV002 );\r\n ELSEIF( nSC = 003 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003 );\r\n ELSEIF( nSC = 004 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004 );\r\n ELSEIF( nSC = 005 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005 );\r\n ELSEIF( nSC = 006 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006 );\r\n ELSEIF( nSC = 007 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007 );\r\n ELSEIF( nSC = 008 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008 );\r\n ELSEIF( nSC = 009 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009 );\r\n ELSEIF( nSC = 010 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010 );\r\n ELSEIF( nSC = 011 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011 );\r\n ELSEIF( nSC = 012 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012 );\r\n ELSEIF( nSC = 013 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013 );\r\n ELSEIF( nSC = 014 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014 );\r\n ELSEIF( nSC = 015 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015 );\r\n ELSEIF( nSC = 016 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016 );\r\n ELSEIF( nSC = 017 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017 );\r\n ELSEIF( nSC = 018 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018 );\r\n ELSEIF( nSC = 019 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018, sSK019, sSV019 );\r\n ELSEIF( nSC = 020 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018, sSK019, sSV019, sSK020, sSV020 );\r\n ENDIF;\r\n ELSEIF( nNC = 003 );\r\n IF ( nSC = 000 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003 );\r\n ELSEIF( nSC = 001 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sSK001, sSV001 );\r\n ELSEIF( nSC = 002 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sSK001, sSV001, sSK002, sSV002 );\r\n ELSEIF( nSC = 003 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003 );\r\n ELSEIF( nSC = 004 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004 );\r\n ELSEIF( nSC = 005 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005 );\r\n ELSEIF( nSC = 006 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006 );\r\n ELSEIF( nSC = 007 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007 );\r\n ELSEIF( nSC = 008 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008 );\r\n ELSEIF( nSC = 009 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009 );\r\n ELSEIF( nSC = 010 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010 );\r\n ELSEIF( nSC = 011 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011 );\r\n ELSEIF( nSC = 012 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012 );\r\n ELSEIF( nSC = 013 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013 );\r\n ELSEIF( nSC = 014 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014 );\r\n ELSEIF( nSC = 015 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015 );\r\n ELSEIF( nSC = 016 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016 );\r\n ELSEIF( nSC = 017 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017 );\r\n ELSEIF( nSC = 018 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018 );\r\n ELSEIF( nSC = 019 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018, sSK019, sSV019 );\r\n ELSEIF( nSC = 020 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018, sSK019, sSV019, sSK020, sSV020 );\r\n ENDIF;\r\n ELSEIF( nNC = 004 );\r\n IF ( nSC = 000 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004 );\r\n ELSEIF( nSC = 001 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sSK001, sSV001 );\r\n ELSEIF( nSC = 002 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sSK001, sSV001, sSK002, sSV002 );\r\n ELSEIF( nSC = 003 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003 );\r\n ELSEIF( nSC = 004 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004 );\r\n ELSEIF( nSC = 005 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005 );\r\n ELSEIF( nSC = 006 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006 );\r\n ELSEIF( nSC = 007 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007 );\r\n ELSEIF( nSC = 008 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008 );\r\n ELSEIF( nSC = 009 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009 );\r\n ELSEIF( nSC = 010 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010 );\r\n ELSEIF( nSC = 011 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011 );\r\n ELSEIF( nSC = 012 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012 );\r\n ELSEIF( nSC = 013 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013 );\r\n ELSEIF( nSC = 014 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014 );\r\n ELSEIF( nSC = 015 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015 );\r\n ELSEIF( nSC = 016 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016 );\r\n ELSEIF( nSC = 017 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017 );\r\n ELSEIF( nSC = 018 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018 );\r\n ELSEIF( nSC = 019 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018, sSK019, sSV019 );\r\n ELSEIF( nSC = 020 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018, sSK019, sSV019, sSK020, sSV020 );\r\n ENDIF;\r\n ELSEIF( nNC = 005 );\r\n IF ( nSC = 000 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005 );\r\n ELSEIF( nSC = 001 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sSK001, sSV001 );\r\n ELSEIF( nSC = 002 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sSK001, sSV001, sSK002, sSV002 );\r\n ELSEIF( nSC = 003 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003 );\r\n ELSEIF( nSC = 004 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004 );\r\n ELSEIF( nSC = 005 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005 );\r\n ELSEIF( nSC = 006 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006 );\r\n ELSEIF( nSC = 007 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007 );\r\n ELSEIF( nSC = 008 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008 );\r\n ELSEIF( nSC = 009 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009 );\r\n ELSEIF( nSC = 010 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010 );\r\n ELSEIF( nSC = 011 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011 );\r\n ELSEIF( nSC = 012 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012 );\r\n ELSEIF( nSC = 013 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013 );\r\n ELSEIF( nSC = 014 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014 );\r\n ELSEIF( nSC = 015 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015 );\r\n ELSEIF( nSC = 016 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016 );\r\n ELSEIF( nSC = 017 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017 );\r\n ELSEIF( nSC = 018 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018 );\r\n ELSEIF( nSC = 019 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018, sSK019, sSV019 );\r\n ELSEIF( nSC = 020 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018, sSK019, sSV019, sSK020, sSV020 );\r\n ENDIF;\r\n ELSEIF( nNC = 006 );\r\n IF ( nSC = 000 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006 );\r\n ELSEIF( nSC = 001 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sSK001, sSV001 );\r\n ELSEIF( nSC = 002 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sSK001, sSV001, sSK002, sSV002 );\r\n ELSEIF( nSC = 003 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003 );\r\n ELSEIF( nSC = 004 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004 );\r\n ELSEIF( nSC = 005 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005 );\r\n ELSEIF( nSC = 006 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006 );\r\n ELSEIF( nSC = 007 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007 );\r\n ELSEIF( nSC = 008 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008 );\r\n ELSEIF( nSC = 009 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009 );\r\n ELSEIF( nSC = 010 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010 );\r\n ELSEIF( nSC = 011 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011 );\r\n ELSEIF( nSC = 012 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012 );\r\n ELSEIF( nSC = 013 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013 );\r\n ELSEIF( nSC = 014 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014 );\r\n ELSEIF( nSC = 015 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015 );\r\n ELSEIF( nSC = 016 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016 );\r\n ELSEIF( nSC = 017 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017 );\r\n ELSEIF( nSC = 018 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018 );\r\n ELSEIF( nSC = 019 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018, sSK019, sSV019 );\r\n ELSEIF( nSC = 020 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018, sSK019, sSV019, sSK020, sSV020 );\r\n ENDIF;\r\n ELSEIF( nNC = 007 );\r\n IF ( nSC = 000 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007 );\r\n ELSEIF( nSC = 001 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sSK001, sSV001 );\r\n ELSEIF( nSC = 002 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sSK001, sSV001, sSK002, sSV002 );\r\n ELSEIF( nSC = 003 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003 );\r\n ELSEIF( nSC = 004 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004 );\r\n ELSEIF( nSC = 005 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005 );\r\n ELSEIF( nSC = 006 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006 );\r\n ELSEIF( nSC = 007 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007 );\r\n ELSEIF( nSC = 008 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008 );\r\n ELSEIF( nSC = 009 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009 );\r\n ELSEIF( nSC = 010 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010 );\r\n ELSEIF( nSC = 011 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011 );\r\n ELSEIF( nSC = 012 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012 );\r\n ELSEIF( nSC = 013 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013 );\r\n ELSEIF( nSC = 014 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014 );\r\n ELSEIF( nSC = 015 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015 );\r\n ELSEIF( nSC = 016 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016 );\r\n ELSEIF( nSC = 017 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017 );\r\n ELSEIF( nSC = 018 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018 );\r\n ELSEIF( nSC = 019 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018, sSK019, sSV019 );\r\n ELSEIF( nSC = 020 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018, sSK019, sSV019, sSK020, sSV020 );\r\n ENDIF;\r\n ELSEIF( nNC = 008 );\r\n IF ( nSC = 000 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008 );\r\n ELSEIF( nSC = 001 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sSK001, sSV001 );\r\n ELSEIF( nSC = 002 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sSK001, sSV001, sSK002, sSV002 );\r\n ELSEIF( nSC = 003 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003 );\r\n ELSEIF( nSC = 004 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004 );\r\n ELSEIF( nSC = 005 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005 );\r\n ELSEIF( nSC = 006 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006 );\r\n ELSEIF( nSC = 007 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007 );\r\n ELSEIF( nSC = 008 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008 );\r\n ELSEIF( nSC = 009 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009 );\r\n ELSEIF( nSC = 010 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010 );\r\n ELSEIF( nSC = 011 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011 );\r\n ELSEIF( nSC = 012 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012 );\r\n ELSEIF( nSC = 013 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013 );\r\n ELSEIF( nSC = 014 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014 );\r\n ELSEIF( nSC = 015 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015 );\r\n ELSEIF( nSC = 016 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016 );\r\n ELSEIF( nSC = 017 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017 );\r\n ELSEIF( nSC = 018 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018 );\r\n ELSEIF( nSC = 019 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018, sSK019, sSV019 );\r\n ELSEIF( nSC = 020 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018, sSK019, sSV019, sSK020, sSV020 );\r\n ENDIF;\r\n ELSEIF( nNC = 009 );\r\n IF ( nSC = 000 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009 );\r\n ELSEIF( nSC = 001 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sSK001, sSV001 );\r\n ELSEIF( nSC = 002 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sSK001, sSV001, sSK002, sSV002 );\r\n ELSEIF( nSC = 003 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003 );\r\n ELSEIF( nSC = 004 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004 );\r\n ELSEIF( nSC = 005 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005 );\r\n ELSEIF( nSC = 006 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006 );\r\n ELSEIF( nSC = 007 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007 );\r\n ELSEIF( nSC = 008 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008 );\r\n ELSEIF( nSC = 009 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009 );\r\n ELSEIF( nSC = 010 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010 );\r\n ELSEIF( nSC = 011 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011 );\r\n ELSEIF( nSC = 012 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012 );\r\n ELSEIF( nSC = 013 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013 );\r\n ELSEIF( nSC = 014 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014 );\r\n ELSEIF( nSC = 015 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015 );\r\n ELSEIF( nSC = 016 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016 );\r\n ELSEIF( nSC = 017 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017 );\r\n ELSEIF( nSC = 018 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018 );\r\n ELSEIF( nSC = 019 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018, sSK019, sSV019 );\r\n ELSEIF( nSC = 020 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018, sSK019, sSV019, sSK020, sSV020 );\r\n ENDIF;\r\n ELSEIF( nNC = 010 );\r\n IF ( nSC = 000 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010 );\r\n ELSEIF( nSC = 001 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sSK001, sSV001 );\r\n ELSEIF( nSC = 002 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sSK001, sSV001, sSK002, sSV002 );\r\n ELSEIF( nSC = 003 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003 );\r\n ELSEIF( nSC = 004 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004 );\r\n ELSEIF( nSC = 005 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005 );\r\n ELSEIF( nSC = 006 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006 );\r\n ELSEIF( nSC = 007 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007 );\r\n ELSEIF( nSC = 008 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008 );\r\n ELSEIF( nSC = 009 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009 );\r\n ELSEIF( nSC = 010 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010 );\r\n ELSEIF( nSC = 011 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011 );\r\n ELSEIF( nSC = 012 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012 );\r\n ELSEIF( nSC = 013 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013 );\r\n ELSEIF( nSC = 014 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014 );\r\n ELSEIF( nSC = 015 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015 );\r\n ELSEIF( nSC = 016 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016 );\r\n ELSEIF( nSC = 017 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017 );\r\n ELSEIF( nSC = 018 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018 );\r\n ELSEIF( nSC = 019 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018, sSK019, sSV019 );\r\n ELSEIF( nSC = 020 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018, sSK019, sSV019, sSK020, sSV020 );\r\n ENDIF;\r\n ELSEIF( nNC = 011 );\r\n IF ( nSC = 000 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011 );\r\n ELSEIF( nSC = 001 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sSK001, sSV001 );\r\n ELSEIF( nSC = 002 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sSK001, sSV001, sSK002, sSV002 );\r\n ELSEIF( nSC = 003 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003 );\r\n ELSEIF( nSC = 004 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004 );\r\n ELSEIF( nSC = 005 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005 );\r\n ELSEIF( nSC = 006 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006 );\r\n ELSEIF( nSC = 007 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007 );\r\n ELSEIF( nSC = 008 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008 );\r\n ELSEIF( nSC = 009 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009 );\r\n ELSEIF( nSC = 010 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010 );\r\n ELSEIF( nSC = 011 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011 );\r\n ELSEIF( nSC = 012 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012 );\r\n ELSEIF( nSC = 013 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013 );\r\n ELSEIF( nSC = 014 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014 );\r\n ELSEIF( nSC = 015 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015 );\r\n ELSEIF( nSC = 016 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016 );\r\n ELSEIF( nSC = 017 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017 );\r\n ELSEIF( nSC = 018 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018 );\r\n ELSEIF( nSC = 019 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018, sSK019, sSV019 );\r\n ELSEIF( nSC = 020 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018, sSK019, sSV019, sSK020, sSV020 );\r\n ENDIF;\r\n ELSEIF( nNC = 012 );\r\n IF ( nSC = 000 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012 );\r\n ELSEIF( nSC = 001 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sSK001, sSV001 );\r\n ELSEIF( nSC = 002 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sSK001, sSV001, sSK002, sSV002 );\r\n ELSEIF( nSC = 003 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003 );\r\n ELSEIF( nSC = 004 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004 );\r\n ELSEIF( nSC = 005 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005 );\r\n ELSEIF( nSC = 006 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006 );\r\n ELSEIF( nSC = 007 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007 );\r\n ELSEIF( nSC = 008 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008 );\r\n ELSEIF( nSC = 009 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009 );\r\n ELSEIF( nSC = 010 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010 );\r\n ELSEIF( nSC = 011 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011 );\r\n ELSEIF( nSC = 012 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012 );\r\n ELSEIF( nSC = 013 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013 );\r\n ELSEIF( nSC = 014 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014 );\r\n ELSEIF( nSC = 015 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015 );\r\n ELSEIF( nSC = 016 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016 );\r\n ELSEIF( nSC = 017 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017 );\r\n ELSEIF( nSC = 018 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018 );\r\n ELSEIF( nSC = 019 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018, sSK019, sSV019 );\r\n ELSEIF( nSC = 020 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018, sSK019, sSV019, sSK020, sSV020 );\r\n ENDIF;\r\n ELSEIF( nNC = 013 );\r\n IF ( nSC = 000 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013 );\r\n ELSEIF( nSC = 001 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sSK001, sSV001 );\r\n ELSEIF( nSC = 002 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sSK001, sSV001, sSK002, sSV002 );\r\n ELSEIF( nSC = 003 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003 );\r\n ELSEIF( nSC = 004 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004 );\r\n ELSEIF( nSC = 005 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005 );\r\n ELSEIF( nSC = 006 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006 );\r\n ELSEIF( nSC = 007 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007 );\r\n ELSEIF( nSC = 008 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008 );\r\n ELSEIF( nSC = 009 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009 );\r\n ELSEIF( nSC = 010 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010 );\r\n ELSEIF( nSC = 011 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011 );\r\n ELSEIF( nSC = 012 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012 );\r\n ELSEIF( nSC = 013 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013 );\r\n ELSEIF( nSC = 014 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014 );\r\n ELSEIF( nSC = 015 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015 );\r\n ELSEIF( nSC = 016 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016 );\r\n ELSEIF( nSC = 017 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017 );\r\n ELSEIF( nSC = 018 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018 );\r\n ELSEIF( nSC = 019 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018, sSK019, sSV019 );\r\n ELSEIF( nSC = 020 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018, sSK019, sSV019, sSK020, sSV020 );\r\n ENDIF;\r\n ELSEIF( nNC = 014 );\r\n IF ( nSC = 000 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014 );\r\n ELSEIF( nSC = 001 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sSK001, sSV001 );\r\n ELSEIF( nSC = 002 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sSK001, sSV001, sSK002, sSV002 );\r\n ELSEIF( nSC = 003 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003 );\r\n ELSEIF( nSC = 004 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004 );\r\n ELSEIF( nSC = 005 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005 );\r\n ELSEIF( nSC = 006 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006 );\r\n ELSEIF( nSC = 007 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007 );\r\n ELSEIF( nSC = 008 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008 );\r\n ELSEIF( nSC = 009 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009 );\r\n ELSEIF( nSC = 010 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010 );\r\n ELSEIF( nSC = 011 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011 );\r\n ELSEIF( nSC = 012 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012 );\r\n ELSEIF( nSC = 013 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013 );\r\n ELSEIF( nSC = 014 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014 );\r\n ELSEIF( nSC = 015 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015 );\r\n ELSEIF( nSC = 016 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016 );\r\n ELSEIF( nSC = 017 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017 );\r\n ELSEIF( nSC = 018 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018 );\r\n ELSEIF( nSC = 019 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018, sSK019, sSV019 );\r\n ELSEIF( nSC = 020 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018, sSK019, sSV019, sSK020, sSV020 );\r\n ENDIF;\r\n ELSEIF( nNC = 015 );\r\n IF ( nSC = 000 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015 );\r\n ELSEIF( nSC = 001 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sSK001, sSV001 );\r\n ELSEIF( nSC = 002 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sSK001, sSV001, sSK002, sSV002 );\r\n ELSEIF( nSC = 003 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003 );\r\n ELSEIF( nSC = 004 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004 );\r\n ELSEIF( nSC = 005 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005 );\r\n ELSEIF( nSC = 006 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006 );\r\n ELSEIF( nSC = 007 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007 );\r\n ELSEIF( nSC = 008 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008 );\r\n ELSEIF( nSC = 009 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009 );\r\n ELSEIF( nSC = 010 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010 );\r\n ELSEIF( nSC = 011 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011 );\r\n ELSEIF( nSC = 012 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012 );\r\n ELSEIF( nSC = 013 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013 );\r\n ELSEIF( nSC = 014 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014 );\r\n ELSEIF( nSC = 015 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015 );\r\n ELSEIF( nSC = 016 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016 );\r\n ELSEIF( nSC = 017 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017 );\r\n ELSEIF( nSC = 018 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018 );\r\n ELSEIF( nSC = 019 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018, sSK019, sSV019 );\r\n ELSEIF( nSC = 020 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018, sSK019, sSV019, sSK020, sSV020 );\r\n ENDIF;\r\n ELSEIF( nNC = 016 );\r\n IF ( nSC = 000 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016 );\r\n ELSEIF( nSC = 001 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sSK001, sSV001 );\r\n ELSEIF( nSC = 002 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sSK001, sSV001, sSK002, sSV002 );\r\n ELSEIF( nSC = 003 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003 );\r\n ELSEIF( nSC = 004 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004 );\r\n ELSEIF( nSC = 005 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005 );\r\n ELSEIF( nSC = 006 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006 );\r\n ELSEIF( nSC = 007 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007 );\r\n ELSEIF( nSC = 008 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008 );\r\n ELSEIF( nSC = 009 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009 );\r\n ELSEIF( nSC = 010 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010 );\r\n ELSEIF( nSC = 011 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011 );\r\n ELSEIF( nSC = 012 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012 );\r\n ELSEIF( nSC = 013 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013 );\r\n ELSEIF( nSC = 014 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014 );\r\n ELSEIF( nSC = 015 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015 );\r\n ELSEIF( nSC = 016 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016 );\r\n ELSEIF( nSC = 017 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017 );\r\n ELSEIF( nSC = 018 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018 );\r\n ELSEIF( nSC = 019 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018, sSK019, sSV019 );\r\n ELSEIF( nSC = 020 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018, sSK019, sSV019, sSK020, sSV020 );\r\n ENDIF;\r\n ELSEIF( nNC = 017 );\r\n IF ( nSC = 000 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017 );\r\n ELSEIF( nSC = 001 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sSK001, sSV001 );\r\n ELSEIF( nSC = 002 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sSK001, sSV001, sSK002, sSV002 );\r\n ELSEIF( nSC = 003 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003 );\r\n ELSEIF( nSC = 004 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004 );\r\n ELSEIF( nSC = 005 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005 );\r\n ELSEIF( nSC = 006 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006 );\r\n ELSEIF( nSC = 007 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007 );\r\n ELSEIF( nSC = 008 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008 );\r\n ELSEIF( nSC = 009 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009 );\r\n ELSEIF( nSC = 010 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010 );\r\n ELSEIF( nSC = 011 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011 );\r\n ELSEIF( nSC = 012 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012 );\r\n ELSEIF( nSC = 013 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013 );\r\n ELSEIF( nSC = 014 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014 );\r\n ELSEIF( nSC = 015 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015 );\r\n ELSEIF( nSC = 016 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016 );\r\n ELSEIF( nSC = 017 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017 );\r\n ELSEIF( nSC = 018 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018 );\r\n ELSEIF( nSC = 019 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018, sSK019, sSV019 );\r\n ELSEIF( nSC = 020 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018, sSK019, sSV019, sSK020, sSV020 );\r\n ENDIF;\r\n ELSEIF( nNC = 018 );\r\n IF ( nSC = 000 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018 );\r\n ELSEIF( nSC = 001 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sSK001, sSV001 );\r\n ELSEIF( nSC = 002 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sSK001, sSV001, sSK002, sSV002 );\r\n ELSEIF( nSC = 003 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003 );\r\n ELSEIF( nSC = 004 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004 );\r\n ELSEIF( nSC = 005 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005 );\r\n ELSEIF( nSC = 006 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006 );\r\n ELSEIF( nSC = 007 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007 );\r\n ELSEIF( nSC = 008 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008 );\r\n ELSEIF( nSC = 009 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009 );\r\n ELSEIF( nSC = 010 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010 );\r\n ELSEIF( nSC = 011 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011 );\r\n ELSEIF( nSC = 012 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012 );\r\n ELSEIF( nSC = 013 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013 );\r\n ELSEIF( nSC = 014 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014 );\r\n ELSEIF( nSC = 015 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015 );\r\n ELSEIF( nSC = 016 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016 );\r\n ELSEIF( nSC = 017 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017 );\r\n ELSEIF( nSC = 018 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018 );\r\n ELSEIF( nSC = 019 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018, sSK019, sSV019 );\r\n ELSEIF( nSC = 020 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018, sSK019, sSV019, sSK020, sSV020 );\r\n ENDIF;\r\n ELSEIF( nNC = 019 );\r\n IF ( nSC = 000 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sNK019, sNV019 );\r\n ELSEIF( nSC = 001 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sNK019, sNV019, sSK001, sSV001 );\r\n ELSEIF( nSC = 002 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sNK019, sNV019, sSK001, sSV001, sSK002, sSV002 );\r\n ELSEIF( nSC = 003 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sNK019, sNV019, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003 );\r\n ELSEIF( nSC = 004 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sNK019, sNV019, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004 );\r\n ELSEIF( nSC = 005 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sNK019, sNV019, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005 );\r\n ELSEIF( nSC = 006 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sNK019, sNV019, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006 );\r\n ELSEIF( nSC = 007 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sNK019, sNV019, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007 );\r\n ELSEIF( nSC = 008 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sNK019, sNV019, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008 );\r\n ELSEIF( nSC = 009 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sNK019, sNV019, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009 );\r\n ELSEIF( nSC = 010 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sNK019, sNV019, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010 );\r\n ELSEIF( nSC = 011 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sNK019, sNV019, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011 );\r\n ELSEIF( nSC = 012 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sNK019, sNV019, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012 );\r\n ELSEIF( nSC = 013 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sNK019, sNV019, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013 );\r\n ELSEIF( nSC = 014 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sNK019, sNV019, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014 );\r\n ELSEIF( nSC = 015 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sNK019, sNV019, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015 );\r\n ELSEIF( nSC = 016 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sNK019, sNV019, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016 );\r\n ELSEIF( nSC = 017 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sNK019, sNV019, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017 );\r\n ELSEIF( nSC = 018 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sNK019, sNV019, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018 );\r\n ELSEIF( nSC = 019 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sNK019, sNV019, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018, sSK019, sSV019 );\r\n ELSEIF( nSC = 020 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sNK019, sNV019, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018, sSK019, sSV019, sSK020, sSV020 );\r\n ENDIF;\r\n ELSEIF( nNC = 020 );\r\n IF ( nSC = 000 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sNK019, sNV019, sNK020, sNV020 );\r\n ELSEIF( nSC = 001 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sNK019, sNV019, sNK020, sNV020, sSK001, sSV001 );\r\n ELSEIF( nSC = 002 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sNK019, sNV019, sNK020, sNV020, sSK001, sSV001, sSK002, sSV002 );\r\n ELSEIF( nSC = 003 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sNK019, sNV019, sNK020, sNV020, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003 );\r\n ELSEIF( nSC = 004 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sNK019, sNV019, sNK020, sNV020, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004 );\r\n ELSEIF( nSC = 005 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sNK019, sNV019, sNK020, sNV020, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005 );\r\n ELSEIF( nSC = 006 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sNK019, sNV019, sNK020, sNV020, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006 );\r\n ELSEIF( nSC = 007 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sNK019, sNV019, sNK020, sNV020, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007 );\r\n ELSEIF( nSC = 008 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sNK019, sNV019, sNK020, sNV020, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008 );\r\n ELSEIF( nSC = 009 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sNK019, sNV019, sNK020, sNV020, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009 );\r\n ELSEIF( nSC = 010 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sNK019, sNV019, sNK020, sNV020, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010 );\r\n ELSEIF( nSC = 011 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sNK019, sNV019, sNK020, sNV020, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011 );\r\n ELSEIF( nSC = 012 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sNK019, sNV019, sNK020, sNV020, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012 );\r\n ELSEIF( nSC = 013 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sNK019, sNV019, sNK020, sNV020, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013 );\r\n ELSEIF( nSC = 014 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sNK019, sNV019, sNK020, sNV020, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014 );\r\n ELSEIF( nSC = 015 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sNK019, sNV019, sNK020, sNV020, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015 );\r\n ELSEIF( nSC = 016 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sNK019, sNV019, sNK020, sNV020, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016 );\r\n ELSEIF( nSC = 017 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sNK019, sNV019, sNK020, sNV020, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017 );\r\n ELSEIF( nSC = 018 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sNK019, sNV019, sNK020, sNV020, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018 );\r\n ELSEIF( nSC = 019 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sNK019, sNV019, sNK020, sNV020, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018, sSK019, sSV019 );\r\n #EndRegion - ...\r\n ELSEIF( nSC = 020 );\r\n sPID = RunProcess( sPN, sNK001, sNV001, sNK002, sNV002, sNK003, sNV003, sNK004, sNV004, sNK005, sNV005, sNK006, sNV006, sNK007, sNV007, sNK008, sNV008, sNK009, sNV009, sNK010, sNV010, sNK011, sNV011, sNK012, sNV012, sNK013, sNV013, sNK014, sNV014, sNK015, sNV015, sNK016, sNV016, sNK017, sNV017, sNK018, sNV018, sNK019, sNV019, sNK020, sNV020, sSK001, sSV001, sSK002, sSV002, sSK003, sSV003, sSK004, sSV004, sSK005, sSV005, sSK006, sSV006, sSK007, sSV007, sSK008, sSV008, sSK009, sSV009, sSK010, sSV010, sSK011, sSV011, sSK012, sSV012, sSK013, sSV013, sSK014, sSV014, sSK015, sSV015, sSK016, sSV016, sSK017, sSV017, sSK018, sSV018, sSK019, sSV019, sSK020, sSV020 );\r\n ENDIF;\r\n ENDIF;\r\n \r\n sJsonTask = JsonAdd( sJsonTask, 'sPID', StringToJson( sPID ) );\r\n sListThreadPool = JsonAdd( sListThreadPool, '/-', sJsonTask );\r\n ENDIF;\r\n \r\n ### Remove Finished Job IDs ###\r\n nRunningJobs = JsonSize( sListThreadPool );\r\n WHILE( nRunningJobs > 0 );\r\n nRunningJobs = nRunningJobs - 1;\r\n \r\n sJobID = JsonToString( JsonGet( sListThreadPool, '/'|NumberToString( nRunningJobs )|'/sPID' ) );\r\n sID = JsonToString( JsonGet( sListThreadPool, '/'|NumberToString( nRunningJobs )|'/id' ) );\r\n nJobStatus = GetJobStatus( sJobID );\r\n sJobStatus = NumberToString( nJobStatus );\r\n \r\n # If the job is not currently executing\r\n IF( nJobStatus <> ProcessExecutionInProgress() );\r\n sListThreadPool = JsonRemove( sListThreadPool, nRunningJobs );\r\n IF( sID @<> '' );\r\n nTaskIDCount = StringToNumber( JsonGet( sJsonCompletedJobs, sID ) );\r\n sJsonCompletedJobs = JsonAdd( sJsonCompletedJobs, sID, NumberToString( nTaskIDCount - 1 ) );\r\n sCurrentJobStatus = JsonGet( sJsonCompletedJobsStatus, sID );\r\n # If the status is not 'false', check if it should be by comparing 'nJobStatus' to 'pSuccessReturnCodes'\r\n IF( sCurrentJobStatus @<> 'false' );\r\n nHasAcceptableReturnCode = 0;\r\n nAcceptableReturnCodesIndex = JsonSize( pSuccessReturnCodes );\r\n WHILE( nAcceptableReturnCodesIndex > 0 );\r\n nAcceptableReturnCodesIndex = nAcceptableReturnCodesIndex - 1;\r\n sAcceptableReturnCode = JsonGet( pSuccessReturnCodes, nAcceptableReturnCodesIndex );\r\n IF( sAcceptableReturnCode @= sJobStatus );\r\n nHasAcceptableReturnCode = 1;\r\n BREAK;\r\n ENDIF;\r\n END;\r\n sJsonCompletedJobsStatus = JsonAdd( sJsonCompletedJobsStatus, sID, IF( nHasAcceptableReturnCode = 1, 'true', 'false' ) );\r\n ENDIF;\r\n ENDIF;\r\n ENDIF;\r\n END;\r\n \r\n ### End of Main Loop ###\r\n SLEEP( pRefreshRate );\r\n nTaskListIndex = MOD( nTaskListIndex + 1, JsonSize( pTaskList ) );\r\nEND;\r\n\r\n# Wait for all jobs to finish\r\nnWait = WaitForInternalJobs();\r\nIF( nWait = 0 );\r\n sMessages = JsonAdd( sMessages, '/Error/-', StringToJson( 'Failed to wait for internal subthreads.' ) );\r\nENDIF;\r\n\r\n#EndRegion - Main Process\r\n#################################################################################################", @@ -7526,7 +8027,7 @@ }, { "Name": "pSuccessReturnCodes", - "Prompt": "OPTIONAL: List of process return codes that are considered \"success\"", + "Prompt": "OPTIONAL: JSON Array process return codes that are considered \"success\"", "Value": "[0, 5, 7, 8]", "Type": "String" }, From 6251f9860e737d457a17009d52011cd919ecd651 Mon Sep 17 00:00:00 2001 From: bdunleavy22 <160290912+bdunleavy22@users.noreply.github.com> Date: Mon, 1 Jun 2026 13:07:25 -0500 Subject: [PATCH 3/3] Update Bedrock 5 release version in README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index dae5928..08f83f9 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@

TM1 versions - v5.0.0 + v5.0.0