Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
See why IDC MarketScape names Qlik a 2025 Leader! Read more
cancel
Showing results for 
Search instead for 
Did you mean: 
hamdi_bourbia
Partner - Contributor
Partner - Contributor

tSystem component on remote engine does nothing : permission issue ?

Hi,

I have an issue with the tSystem component on remote engine. 

My use case is the following : I have to parse an Excel file, but it has a picklist and dynamic cells which update accordingly. So I loop over the picklist values. At each iteration:

1/ I use a tJava to update the picklist pragrammatically and force Excel to update its buffer (cell values) at opening

2/ A 1st tSystem calls a script "command_open.bat" which opens the Excel file

3/ A 2nd tSystem calls a script "command_save_close.bat", which calls a VBA script "CloseExcelWB.vbs" to save the buffer and close the file

You can find the content of these 3 scripts at the end below.

On the studio (Cloud data integration 7.3.1), it works fine. When I parse the data inside the excel file I can see cells are updated. But on the remote engine (v2.10.4), which is on the same machin as the studio, the 2 tSystem components actually do nothing, without error message (TMC logs below as well). So I just have the picklist updated (the tJava part), but neither of the other cells. It could be that the 2 tsystem don't have the right permissions to access the scripts stored in the file system. There is a solution which points to the right direction to give the remote engine the proper permissions :

https://help.talend.com/r/en-US/Cloud/remote-engine-gen2-quick-start-guide/accessing-local-files-fro...

But this works only for Gen2 remote engine as far as I understand, and we have a standard one. The first step in the solution invokes a subdirectory "default" in the remote engine install directory, which does not exist in mine :

0695b00000HAoBlAAL.png

Thank you for any help!

Best regards,

== command_open.bat :

start "C:/Program Files/Microsoft Office/root/Office16/EXCEL.EXE" "tmp.xlsm"

== command_save_close.bat:

ping localhost -n 5 

"C:/Users/svc_talend/Documents/Distrigo/tool/CloseExcelWB" "tmp.xlsm"

== CloseExcelWB.vbs

Dim objExcel

Dim objWB

dim i

dim WB_To_Close

dim msg

if wscript.arguments.Count = 0 then 

 Call Syntax

 wscript.quit

end if

WB_To_Close = wscript.arguments.item(0)

set objExcel = GetObject(, "Excel.Application")

If UCase(WB_To_Close) = "ALL" then

 Do While ObjExcel.Workbooks.Count > 0

  set objWB = objExcel.Workbooks(1)

  objWB.Save

  objWB.Close

 Loop

Else

 for i = 1 to objExcel.Workbooks.Count

  set objWB = objExcel.Workbooks(i)

  if UCase(objWB.Name) = UCase(WB_To_Close) then

   objWB.Save

   objWB.Close

   exit for

  end if

 next

End If

if objExcel.Workbooks.Count = 0 then 

 objExcel.Quit

end if

wscript.quit

Sub Syntax()

 msg = "Syntax: " 

 msg = msg & vbCrLF & "CloseExcelWB [All | WB Name to Close.xls?]"

 msg = msg & vbCrLF & " the All argument will save and close all WBs"

 msg = msg & vbCrLF & " WB Name is not case sensitive"

 msg = msg & vbCrLF & " Each WB to be closed is saved first"

 msg = msg & vbCrLF & " If no more WBs are in the instance of Excel, then"

 msg = msg & vbCrLF & "  the instance of Excel is closed, otherwise"

 msg = msg & vbCrLF & "  the Excel application is not closed."

 msgbox msg

End Sub

== TMC logs

INFO | 2021-07-30T13:00:39.795+0000 | tipaas-jobserver-client:2.10.4 | tSystem_2 - Command to execute: 'cmd /c command_open_sellin.bat'.

INFO | 2021-07-30T13:00:39.795+0000 | tipaas-jobserver-client:2.10.4 | tSystem_2 - Setting the parameters.

INFO | 2021-07-30T13:00:39.795+0000 | tipaas-jobserver-client:2.10.4 | tSystem_2 - The command has been executed successfully.

INFO | 2021-07-30T13:00:39.795+0000 | tipaas-jobserver-client:2.10.4 | tSystem_2 - Root directory: 'C:/Users/svc_talend/Documents/Distrigo/tmp'.

INFO | 2021-07-30T13:00:39.795+0000 | tipaas-jobserver-client:2.10.4 | tSystem_2 - Executing the command.

INFO | 2021-07-30T13:00:39.811+0000 | tipaas-jobserver-client:2.10.4 | tSystem_1 - Command to execute: 'cmd /c command_save_close_sellin.bat'.

INFO | 2021-07-30T13:00:39.811+0000 | tipaas-jobserver-client:2.10.4 | tSystem_1 - Setting the parameters.

INFO | 2021-07-30T13:00:39.811+0000 | tipaas-jobserver-client:2.10.4 | tSystem_1 - Executing the command.

INFO | 2021-07-30T13:00:39.811+0000 | tipaas-jobserver-client:2.10.4 | tLogRow_12 - Content of row 1: 2021-07-30 15:00:39|20210730150025_ZX9P6|20210730150025_ZX9P6|20210730150025_ZX9P6|INSIDBOARD|LoadKPI_distriGO_toPowerSlide_SellIn|Production_8229832789887098276|4|tWarn|tWarn_9|Il repassera par la|42

INFO | 2021-07-30T13:00:39.811+0000 | tipaas-jobserver-client:2.10.4 | tSystem_1 - Root directory: 'C:/Users/svc_talend/Documents/Distrigo/tmp'.

INFO | 2021-07-30T13:00:39.811+0000 | tipaas-jobserver-client:2.10.4 | tLogRow_12 - Printed row count: 1.

WARN | 2021-07-30T13:00:39.811+0000 | tipaas-jobserver-client:2.10.4 | tWarn_9 - Message: Il repassera par la. Code: 42

INFO | 2021-07-30T13:00:39.811+0000 | tipaas-jobserver-client:2.10.4 | tSystem_1 - The command has been executed successfully.

Labels (2)
4 Replies
Anonymous
Not applicable

Have you tried providing the full path to the scripts within the tSystem?

hamdi_bourbia
Partner - Contributor
Partner - Contributor
Author

Hi Mr Sullivan,

 

I have tried. As before, only the tJava is effective, the 2 tSystem components still do nothing (although the TMC logs say their completion is successful). But this time, the execution freezes after the 2nd tSystem (tSystem_2) :

 

Info2021-08-07 14:03:24

Task 610122edd3b3ed698b51f408/8.8 execution 09538f89-1f32-4184-987b-a51494cc4736 has been completed with status EXECUTION_TERMINATED.

 

Info2021-08-07 13:56:35

tSystem_2 - The command has been executed successfully.

 

Info2021-08-07 13:56:35

tSystem_2 - Executing the command.

 

Info2021-08-07 13:56:35

tSystem_2 - Command to execute: 'cmd /c C:/Users/svc_talend/Documents/Distrigo/tool/command_save_close_sellin.bat'.

 

Info2021-08-07 13:56:35

tSystem_2 - Root directory: 'C:/Users/svc_talend/Documents/Distrigo/tmp'.

 

Info2021-08-07 13:56:35

tSystem_2 - Setting the parameters.

 

Warning2021-08-07 13:56:35

tWarn_3 - Message: Il repassera par la. Code: 42

 

Info2021-08-07 13:56:34

tSystem_1 - Command to execute: 'cmd /c C:/Users/svc_talend/Documents/Distrigo/tool/command_open_sellin.bat'.

 

Info2021-08-07 13:56:34

tSystem_1 - Setting the parameters.

 

Info2021-08-07 13:56:34

tSystem_1 - The command has been executed successfully.

 

Info2021-08-07 13:56:34

tSystem_1 - Executing the command.

hamdi_bourbia
Partner - Contributor
Partner - Contributor
Author

 
hamdi_bourbia
Partner - Contributor
Partner - Contributor
Author

Hi Mr Sullivan,

Would you have another idea please ? Is there any people experiencing the same issue with (not Gen2) classical remote engine and tSystem components ? I couldn't find any discussion with this precise issue ... I am a bit surprised since this is standard components after all.

Thank you very much for any additionnal help,

Best regards