(warning) Note that starting from  v 6.6 configuration is available in TIS Board, see also File Guard configuration in TIS Board.

FileGuard is an automation function in TIS using the Windows file system for triggering calculations in TIS. The FileGuard configuration defines which directory and filenames are observed and which solution runner script has to be executed for each file. A solution runner script is by default stored in a TIS Table ./TIS/$SysTables/AdminScripts and has a unique key TIS_FG. The FileGuard configuration is stored in the database table t1510.

Sample Solution

AdminScripts.gzip

TIS OPA 5.5 2013-09-09 17-28-09.gzip

Step #1 - Import project 

Please note that for some of the following installation steps you are required to be server administrators and database administrator.
Firstly, import the project on your target system via [TIS]Board using the following import settings for TIS tables:


Target directory

TIS tables

Table collision handling

Overwrite existing table

Rename folder on collsion

Unchecked


Step #2 - Create user TISU_TISFileGuard


  • Open TIS Admin
  • Login on target client under your administrator account.
  • Add a new user TISU_TISFileGuard. (also with OpenId local TIS user is sufficient.)
  • Check user roles TISERVICEUSER and TISBOARDUSER and uncheck all other user roles.
  • Switch to TIS Tables rights.
  • Select read/write access for folder TIS, check Inherit=Yes and apply these changes.

 

  • (warning) For the SPX context a user must be created in SPX with the same name and same password.


Step #3 - Create I/O directories for file sharing

Create two directories for input/output files on a TIS server. E.g., these directories are:

...\FileShare\<TIS_client>\in

...\FileShare\<TIS_client>\out


The account under which TISEditor and TIService run must be granted full control for the I/O directories. On a typical TIS installation these users are:
AppPoolIdentity, Networkservice or  special web user for the web application.

Localsystem, Networkservice or special service user for TIService.



Step #4 - Setup TIService

Please configure the TIService as follows according to the deployment for TIS (a) or SPX (b):
  • Stop TIService on your server.
  • Open or create a licence.txt file in the TIService's OpHandler folder: (warning) Note the spelling!

    • (a) ...\TIService\config\licence.txt

    • (b) C:\Interflex\SP-EXPERT Forecast\TimeIntelligence\TEMPLATES\OPERATIONS

  • Add the follwing line: <TIS_CLIENT>,<TIS_USER>,1,2 (1.. Instance count, 2... service user type)

    (a) .../TIService/config/licence.txt
    01,TISU_TISFileGuard,1,2
    (b) C:\Interflex\SP-EXPERT Forecast\TimeIntelligence\TEMPLATES\OPERATIONS\licence.txt
    default,TISU_TISFileGuard,1,2
  • Open TISerivce config file: ...\TIService\bin\TIServiceWindowsService.exe.config 

    • Note: multiple instances possible with more TIService instances with different config (key: TIS_OPA)

    • Check if the file contains an entry for the solution runner control script. This entry should look like: 


      TIServiceWindowsService.exe.config
      <add key="ProcessMasterSolutionName" value="AdminScripts" />
      <add key="TIGuardMainKey" value="TIS_OPA" />



Step #5 - Run DB script 


Please replace the yellow marked text '...\FileShare\<TIS_CLIENT>\in' in the data base script below and apply the script to the data base. 
Afterwards start the TIService again.


t1510 (fileguard)

r_____		ROW NUMBER	
c0		FILEGUARD KEY	
c1		SECTION	
c2		SECTION KEY	
c3		SECTION VALUE STRING	
c4		SECTION VALUE INTEGER	
c5		SECTION VALUE FLOAT	
c6		SECTION VALUE DATE	
c9		DESCRIPTION	
c12		VALUE TYPE	
c13		SECTION CONTINOUS NUMBER	
c8		SECTION VALUE BOOLEAN	
c14		ORDER	
c15		LAST MODIFIED	
rver__		ROW VERSION

c12 (value type)

type

column

2

string

c3

1

integer

c4


float

c5


date

c6

6

boolean

c8

Column c13 (Section continous number) is an identifier for section instance and can be refered to in column c3 with the following notation, e.g. "Logon:1".

Section (c1)

Section Key (c2)

Value Type (12)

Value (c3,c4,c5,c6,c8)

Description

FileCleanup

DirIn

string (2)

C:\inetpub\wwwroot\TIS\FileShare\01\in

observed directory

Files

string (2)

X*

wild card for the renamed files 'X*'

WaittimeFilesIn

int (1)

21600

files are deleted if they are older then specified age in seconds

Interval

int (1)

300

Interval in seconds for cleanup

Fileguard

UseLogon

string (2)

Logon:1

"Logon:1" with number 1 in c13

Solutionrunner

string (2)

TIS_FG

Key in AdminScripts

FilesIn

string (2)

FileList:1

"FileList:1" with number 1 in c13

DirIn

string (2)

C:\inetpub\wwwroot\TIS\FileShare\01\in

path to folder

netshares are possible if security and share are configured for TIService user, e.g. LocalSystem

create share and permit full access to computer object in AD

WaittimeFilesIn

int (1)

30

30 seconds

Prefix




WaittimeExclusiveAcc

int (1)

3000

3000 seconds

DeleteFiles

bool (6)

1

deletes files afterwards

WaittimeFilesOut

int (1)

1

1 second

FileList

Name

string (2)

Data.csv

Filename

Logon

ClientId

string (2)

01

TIS Client

UserId

stirng (2)

TISU_TISFileGuard

TIS User




postgresql
begin;
 
-- <TIS_CLIENT> '01' ......... Client/Tenant
-- <FILENAME> 'StartOPA.csv'
-- <SCRIPTNAME> 'OPATest' ......... TableType in AdminScripts
--
-- <SMB_USERNAME>
-- <SMB_PASSWORD> 
 
-- FileCleanup
with s(C0,C1,C2,C3,C4,C5,C6,C9,C12,C13,C8,C14) as ( values
('TIS_OPA', 'FileCleanup', null, null , null , null , null , 'Filecleanup' , null, 1, null, 1),
('TIS_OPA', 'FileCleanup', 'DirIn', '...\FileShare\<TIS_CLIENT>\in', null, null, null, 'Verzeichnis das überwacht wird', 2, 1, null, 1),
('TIS_OPA', 'FileCleanup', 'Files', 'X*', null, null, null, 'Dateidefinition', 2, 1, null, 1),
('TIS_OPA', 'FileCleanup', 'WaittimeFilesIn', null, 21600, null, null, 'Dateien älter als ... werden gelöscht', 1, 1, null, 1),
('TIS_OPA', 'FileCleanup', 'Interval', null, 300, null, null, 'Aufrufintervall in Sekunden1', 1, 1, null, 1)
),
upd(c0,c1,c2,c13) as (
update t1510 d
set c3 = s.c3, c4 = s.c4, c5 = s.c5::float8, c6 = s.c6::timestamp, c9 = s.c9,c12 = s.c12, c8 = s.c8::boolean, c14 = s.c14, rver__ = nextval('xseqt1510'),c15 = now()
from s
where s.c0 = d.c0 and s.c1 = d.c1 and (s.c2 = d.c2 or (s.c2 is null and d.c2 is null)) and (s.c13 = d.c13 or (s.c13 is null and d.c13 is null))
returning d.c0,d.c1,d.c2,d.c13
)
insert into t1510 (R_____,C0,C1,C2,C3,C4,C5,C6,C9,C12,C13,C8,C14,C15,RVER__)
select nextval('xseqt1510'),s.c0,s.c1,s.c2,s.c3,s.c4,s.c5::float8,s.c6::timestamp,s.c9,s.c12,s.c13,s.c8::boolean,s.c14,now(),0
from s
where not exists (select 1 from upd u where s.c0 = u.c0 and s.c1 = u.c1 and (s.c2 = u.c2 or (s.c2 is null and u.c2 is null)) and (s.c13 = u.c13 or (s.c13 is null and u.c13 is null)));
-- FILE GUARD 1
with s(C0,C1,C2,C3,C4,C5,C6,C9,C12,C13,C8,C14) as (values
('TIS_OPA', 'Logon', null,null, null, null, null, 'LogOn1', null, 1, null, 1),
('TIS_OPA', 'Logon', 'ClientId', '<TIS_CLIENT>', null, null, null, 'LogOn1 - Client ID' , 2, 1, null, 1),
('TIS_OPA', 'Logon', 'UserId', 'TISU_TISFileGuard', null, null, null, 'LogOn1 - UserId' , 2, 1, null, 1),
('TIS_OPA', 'Fileguard', null, null, null, null, null, 'Fileguard1' , null, 1, null, 1),
('TIS_OPA', 'Fileguard', 'UseLogon', 'Logon:1', null, null, null, 'FileGuard1: Logon-User' , 2, 1, null, 1),
('TIS_OPA', 'Fileguard', 'UseWindowsPrincipal', 'WindowsPrincipal:1', null, null, null, 'FileGuard1: Logon' , 2, 1, null, 1),
('TIS_OPA', 'Fileguard', 'Solutionrunner', '<SCRIPTNAME>', null, null, null, 'FileGuard1: SolutionKey' , 2, 1, null, 1),
('TIS_OPA', 'Fileguard', 'FilesIn', 'FileList:1', null, null, null, 'FileGuard1: Filelist' , 2, 1, null, 1),
('TIS_OPA', 'Fileguard', 'DirIn', 'n:\srv\kundendl\ftpk132\in', null, null, null, 'FileGuard1: DirIn' , 2, 1, null, 1),
('TIS_OPA', 'Fileguard', 'WaittimeFilesIn', null, 30, null, null, 'FileGuard1: FileInWaitingTime' , 1, 1, null, 1),
('TIS_OPA', 'Fileguard', 'Prefix', null, 0, null, null, 'FileGuard1: Prefix' , 1, 1, null, 1),
('TIS_OPA', 'Fileguard', 'WaittimeExclusiveAcc', null, 3000, null, null, 'FileGuard1: WaittimeExclusiveAcc' , 1, 1, null, 1),
('TIS_OPA', 'Fileguard', 'DeleteFiles', null, null, null, null, 'FileGuard1: DeleteFiles' , 6, 1, 0, 1),
('TIS_OPA', 'Fileguard', 'WaittimeFilesOut', null, 1, null, null, 'FileGuard1: Filesout' , 1, 1, null, 1),
('TIS_OPA', 'Fileguard', 'AllowedAppId', null, 2081, null, null, 'AllowedAppId 1', 1, 1, null, 1), -- since TIS 6.4
('TIS_OPA', 'Fileguard', 'AllowedAppId', null, 2082, null, null, 'AllowedAppId 2', 1, 1, null, 1), -- since TIS 6.4
('TIS_OPA', 'FileList', null, null, null, null, null, 'FileList1' , null, 1, null, 1),
('TIS_OPA', 'FileList', 'Name', '<FILENAME>', null, null, null, 'FileList1' , 2, 1, null, 0),
('TIS_OPA', 'WindowsPrincipal', null, null, null, null, null, 'samba user' , null, 1, null, 1),
('TIS_OPA', 'WindowsPrincipal', 'DriveLetter', 'n:', null, null, null, 'samba user driveletter' , 2, 1, null, 1),
('TIS_OPA', 'WindowsPrincipal', 'Share', '\\dl1.ximeshosted.com\ftpk132', null, null, null, 'samba user sharename' , 2, 1, null, 1),
('TIS_OPA', 'WindowsPrincipal', 'UserId', '<SMB_USERNAME>', null, null, null, 'samba user username' , 2, 1, null, 1),
('TIS_OPA', 'WindowsPrincipal', 'Password', '<SMB_PASSWORD>', null, null, null, 'samba user password' , 2, 1, null, 1),
('TIS_OPA', 'WindowsPrincipal', 'Domain', '<SMB_DOMAIN>', null, null, null, 'samba user workgroup' , 2, 1, null, 1)
 
),
upd(c0,c1,c2,c13) as (
update t1510 d
set c3 = s.c3, c4 = s.c4, c5 = s.c5::float8, c6 = s.c6::timestamp, c9 = s.c9,c12 = s.c12, c8 = s.c8::boolean, c14 = s.c14, rver__ = nextval('xseqt1510'), c15 = now()
from s
where s.c0 = d.c0 and s.c1 = d.c1 and (s.c2 = d.c2 or (s.c2 is null and d.c2 is null)) and (s.c13 = d.c13 or (s.c13 is null and d.c13 is null))
returning d.c0,d.c1,d.c2,d.c13
)
insert into t1510 (R_____,C0,C1,C2,C3,C4,C5,C6,C9,C12,C13,C8,C14,C15,RVER__)
select nextval('xseqt1510'),s.c0,s.c1,s.c2,s.c3,s.c4,s.c5::float8,s.c6::timestamp,s.c9,s.c12,s.c13,s.c8::boolean,s.c14,now(),0
from s
where not exists (select 1 from upd u where s.c0 = u.c0 and s.c1 = u.c1 and (s.c2 = u.c2 or (s.c2 is null and u.c2 is null)) and (s.c13 = u.c13 or (s.c13 is null and u.c13 is null)));
 
commit;
Oracle
select * from t1510 order by c0, c1, c13, c2;
 
 
-- FileCleanup
merge into t1510 d using
 (select C0,C1,C2,C3,C4,C5,C6,C9,C12,C13,C8,C14 from
   (
 select 'TIS_OPA' as c0, 'FileCleanup' as c1 , null as c2, null as c3,  null as c4, null as c5, null as c6, 'Filecleanup'  as c9, null as c12, 1 as c13,  null as c8, 1 as c14 from dual union
 select 'TIS_OPA' as c0, 'FileCleanup' as c1 , 'DirIn' as c2, '...\FileShare\<TIS_CLIENT>\in' as c3,  null as c4, null as c5, null as c6, 'Verzeichnis das überwacht wird'  as c9, 2 as c12, 1 as c13,  null as c8, 1 as c14 from dual union
 select 'TIS_OPA' as c0, 'FileCleanup' as c1 , 'Files' as c2, 'X*' as c3,  null as c4, null as c5, null as c6, 'Dateidefinition'  as c9, 2 as c12, 1 as c13,  null as c8, 1 as c14 from dual union
 select 'TIS_OPA' as c0, 'FileCleanup' as c1 , 'WaittimeFilesIn' as c2, null as c3,  21600 as c4, null as c5, null as c6, 'Dateien älter als ... werden gelöscht'  as c9, 1 as c12, 1 as c13,  null as c8, 1 as c14 from dual union
 select 'TIS_OPA' as c0, 'FileCleanup' as c1 , 'Interval'as c2, null as c3, 300 as c4, null as c5, null as c6, 'Aufrufintervall in Sekunden1'  as c9, 1 as c12, 1 as c13,  null as c8, 1 as c14 from dual
 ) i
 ) s
on (s.c0 = d.c0 and s.c1 = d.c1 and (s.c2 = d.c2 or (s.c2 is null and d.c2 is null)) and (s.c13 = d.c13 or (s.c13 is null and d.c13 is null)))
when not matched then
insert (R_____,C0,C1,C2,C3,C4,C5,C6,C9,C12,C13,C8,C14,C15,RVER__)
 values (st1510.nextval,s.c0,s.c1,s.c2,s.c3,s.c4,s.c5,s.c6,s.c9,s.c12,s.c13,s.c8,s.c14,sysdate,0)
when matched then
update set  d.c3 = s.c3, d.c4 = s.c4, d.c5 = s.c5, d.c6 = s.c6, d.c9 = s.c9,d.c12 = s.c12, d.c8 = s.c8, d.c14 = s.c14, d.rver__ = st1510.nextval,d.c15 = sysdate;
 
 
 
-- FILE GUARD 1
merge into t1510 d using
 (select C0,C1,C2,C3,C4,C5,C6,C9,C12,C13,C8,C14 from
   (
 select 'TIS_OPA' as c0, 'Logon' as c1 ,  null as c2,null as c3, null as c4, null as c5, null as c6, 'LogOn1' as c9, null as c12, 1 as c13,  null as c8, 1 as c14 from dual union
 select 'TIS_OPA' as c0, 'Logon' as c1 , 'ClientId' as c2, '<TIS_CLIENT>' as c3, null as c4, null as c5, null as c6,  'LogOn1 - Client ID'  as c9, 2 as c12, 1 as c13,  null as c8, 1 as c14 from dual union
 select 'TIS_OPA' as c0, 'Logon' as c1 , 'UserId' as c2,  'TISU_TISFileGuard' as c3, null as c4, null as c5, null as c6, 'LogOn1 - UserId'  as c9, 2 as c12, 1 as c13,  null as c8, 1 as c14 from dual union
 select 'TIS_OPA' as c0, 'Fileguard' as c1 , null as c2, null as c3, null as c4, null as c5, null as c6, 'Fileguard1'  as c9, null as c12, 1 as c13,  null as c8, 1 as c14 from dual union
 select 'TIS_OPA' as c0, 'Fileguard' as c1 , 'UseLogon' as c2, 'Logon:1' as c3, null as c4, null as c5, null as c6, 'FileGuard1: Logon-User'  as c9, 2 as c12, 1 as c13,  null as c8, 1 as c14 from dual union
 select 'TIS_OPA' as c0, 'Fileguard' as c1 , 'Solutionrunner' as c2, 'OPATest' as c3, null as c4, null as c5, null as c6, 'FileGuard1: SolutionKey'  as c9, 2 as c12, 1 as c13,  null as c8, 1 as c14 from dual union
 select 'TIS_OPA' as c0, 'Fileguard' as c1 , 'FilesIn' as c2, 'FileList:1' as c3, null as c4, null as c5, null as c6, 'FileGuard1: Filelist'  as c9, 2 as c12, 1 as c13,  null as c8, 1 as c14 from dual union
 select 'TIS_OPA' as c0, 'Fileguard' as c1 , 'DirIn' as c2, '...\FileShare\<TIS_CLIENT>\in' as c3, null as c4, null as c5, null as c6, 'FileGuard1: DirIn'  as c9, 2 as c12, 1 as c13,  null as c8, 1 as c14 from dual union
 select 'TIS_OPA' as c0, 'Fileguard' as c1 , 'WaittimeFilesIn' as c2, null as c3,  30 as c4, null as c5, null as c6, 'FileGuard1: FileInWaitingTime'  as c9, 1 as c12, 1 as c13,  null as c8, 1 as c14 from dual union
 select 'TIS_OPA' as c0, 'Fileguard' as c1 , 'Prefix' as c2, null as c3, 0 as c4, null as c5, null as c6, 'FileGuard1: Prefix'  as c9, 1 as c12, 1 as c13,  null as c8, 1 as c14 from dual union
 select 'TIS_OPA' as c0, 'Fileguard' as c1 , 'WaittimeExclusiveAcc' as c2, null as c3,  3000 as c4, null as c5, null as c6, 'FileGuard1: WaittimeExclusiveAcc'  as c9, 1 as c12, 1 as c13,  null as c8, 1 as c14 from dual union
 select 'TIS_OPA' as c0, 'Fileguard' as c1 , 'DeleteFiles' as c2, null as c3,  null as c4, null as c5, null as c6, 'FileGuard1: DeleteFiles'  as c9, 6 as c12, 1 as c13,  0 as c8, 1 as c14 from dual union
 select 'TIS_OPA' as c0, 'Fileguard' as c1 , 'WaittimeFilesOut' as c2, null as c3,  1 as c4, null as c5, null as c6, 'FileGuard1: Filesout'  as c9, 1 as c12, 1 as c13,  null as c8, 1 as c14 from dual union
select 'TIS_OPA' as c0, 'Fileguard' as c1 , 'AllowedAppId' as c2, null as c3, 2081 as c4, null as c5, null as c6, 'AllowedAppId 1' as c9, 1 as c12, 1 as c13, null as c8, 1 as c14 from dual union -- since TIS 6.4
select 'TIS_OPA' as c0, 'Fileguard' as c1 , 'AllowedAppId' as c2, null as c3, 2082 as c4, null as c5, null as c6, 'AllowedAppId 2' as c9, 1 as c12, 1 as c13, null as c8, 1 as c14 from dual union -- since TIS 6.4
 select 'TIS_OPA' as c0, 'FileList' as c1 , null as c2, null as c3,  null as c4, null as c5, null as c6, 'FileList1'  as c9, null as c12, 1 as c13,  null as c8, 1 as c14 from dual union
 select 'TIS_OPA' as c0, 'FileList' as c1 , 'Name' as c2, 'StartOPA.csv' as c3,  null as c4, null as c5, null as c6, 'FileList1'  as c9, 2 as c12, 1 as c13,  null as c8, 0 as c14 from dual
 ) i
 ) s
on (s.c0 = d.c0 and s.c1 = d.c1 and (s.c2 = d.c2 or (s.c2 is null and d.c2 is null)) and (s.c13 = d.c13 or (s.c13 is null and d.c13 is null)))
when not matched then
insert (R_____,C0,C1,C2,C3,C4,C5,C6,C9,C12,C13,C8,C14,C15,RVER__)
 values (st1510.nextval,s.c0,s.c1,s.c2,s.c3,s.c4,s.c5,s.c6,s.c9,s.c12,s.c13,s.c8,s.c14,sysdate,0)
when matched then
update set  d.c3 = s.c3, d.c4 = s.c4, d.c5 = s.c5, d.c6 = s.c6, d.c9 = s.c9,d.c12 = s.c12, d.c8 = s.c8, d.c14 = s.c14, d.rver__ = st1510.nextval,d.c15 = sysdate;
 
commit;
MSSQL
USE <DATABASE>
GO
 
DECLARE @RC int
DECLARE @prid int
DECLARE @pc0 varchar(10)
DECLARE @pc1 varchar(20)
DECLARE @pc2 varchar(30)
DECLARE @pc3 varchar(50)
DECLARE @pc4 int
DECLARE @pc5 float
DECLARE @pc6 datetime
DECLARE @pc9 varchar(50)
DECLARE @pc12 smallint
DECLARE @pc13 smallint
DECLARE @pc8 bit
DECLARE @pc14 int
DECLARE @pc15 datetime
DECLARE @prver__ bigint
DECLARE @insertflag bit
DECLARE @updatemask bigint
DECLARE @retval_out int
 
 
EXECUTE @RC = [dbo].[xisp0041] @prid OUTPUT,'TIS_OPA', 'FileCleanup', null, null, null, null, null, 'Filecleanup', null, 1, null, 1, @pc15,@prver__,1,@updatemask,@retval_out OUTPUT
EXECUTE @RC = [dbo].[xisp0041] @prid OUTPUT,'TIS_OPA', 'FileCleanup', 'DirIn', '...\FileShare\<TIS_CLIENT>\in', null, null, null, 'Verzeichnis das überwacht wird', 2, 1, null, 1, @pc15,@prver__,1,@updatemask,@retval_out OUTPUT
EXECUTE @RC = [dbo].[xisp0041] @prid OUTPUT,'TIS_OPA', 'FileCleanup', 'Files', 'X*', null, null, null, 'Dateidefinition', 2, 1, null, 1, @pc15,@prver__,1,@updatemask,@retval_out OUTPUT
EXECUTE @RC = [dbo].[xisp0041] @prid OUTPUT,'TIS_OPA', 'FileCleanup', 'WaittimeFilesIn', null, 21600, null, null, 'Dateien älter als ... werden gelöscht', 1, 1, null, 1, @pc15,@prver__,1,@updatemask,@retval_out OUTPUT
EXECUTE @RC = [dbo].[xisp0041] @prid OUTPUT,'TIS_OPA', 'FileCleanup', 'Interval', null, 300, null, null, 'Aufrufintervall in Sekunden1', 1, 1, null, 1, @pc15,@prver__,1,@updatemask,@retval_out OUTPUT
 
EXECUTE @RC = [dbo].[xisp0041] @prid OUTPUT,'TIS_OPA', 'Logon', null,null, null, null, null, 'LogOn1', null, 1, null, 1, @pc15,@prver__,1,@updatemask,@retval_out OUTPUT
EXECUTE @RC = [dbo].[xisp0041] @prid OUTPUT,'TIS_OPA', 'Logon', 'ClientId', '<TIS_CLIENT>', null, null, null, 'LogOn1 - Client ID' , 2, 1, null, 1, @pc15,@prver__,1,@updatemask,@retval_out OUTPUT
EXECUTE @RC = [dbo].[xisp0041] @prid OUTPUT,'TIS_OPA', 'Logon', 'UserId', 'TISU_TISFileGuard', null, null, null, 'LogOn1 - UserId' , 2, 1, null, 1, @pc15,@prver__,1,@updatemask,@retval_out OUTPUT
EXECUTE @RC = [dbo].[xisp0041] @prid OUTPUT,'TIS_OPA', 'Fileguard', null, null, null, null, null, 'Fileguard1' , null, 1, null, 1, @pc15,@prver__,1,@updatemask,@retval_out OUTPUT
EXECUTE @RC = [dbo].[xisp0041] @prid OUTPUT,'TIS_OPA', 'Fileguard', 'UseLogon', 'Logon:1', null, null, null, 'FileGuard1: Logon-User' , 2, 1, null, 1, @pc15,@prver__,1,@updatemask,@retval_out OUTPUT
EXECUTE @RC = [dbo].[xisp0041] @prid OUTPUT,'TIS_OPA', 'Fileguard', 'UseWindowsPrincipal', 'WindowsPrincipal:1', null, null, null, 'FileGuard1: Logon' , 2, 1, null, 1, @pc15,@prver__,1,@updatemask,@retval_out OUTPUT
EXECUTE @RC = [dbo].[xisp0041] @prid OUTPUT,'TIS_OPA', 'Fileguard', 'Solutionrunner', '<SCRIPTNAME>', null, null, null, 'FileGuard1: SolutionKey' , 2, 1, null, 1, @pc15,@prver__,1,@updatemask,@retval_out OUTPUT
EXECUTE @RC = [dbo].[xisp0041] @prid OUTPUT,'TIS_OPA', 'Fileguard', 'FilesIn', 'FileList:1', null, null, null, 'FileGuard1: Filelist' , 2, 1, null, 1, @pc15,@prver__,1,@updatemask,@retval_out OUTPUT
EXECUTE @RC = [dbo].[xisp0041] @prid OUTPUT,'TIS_OPA', 'Fileguard', 'DirIn', 'n:\srv\kundendl\ftpk132\in', null, null, null, 'FileGuard1: DirIn' , 2, 1, null, 1, @pc15,@prver__,1,@updatemask,@retval_out OUTPUT
EXECUTE @RC = [dbo].[xisp0041] @prid OUTPUT,'TIS_OPA', 'Fileguard', 'WaittimeFilesIn', null, 30, null, null, 'FileGuard1: FileInWaitingTime' , 1, 1, null, 1, @pc15,@prver__,1,@updatemask,@retval_out OUTPUT
EXECUTE @RC = [dbo].[xisp0041] @prid OUTPUT,'TIS_OPA', 'Fileguard', 'Prefix', null, 0, null, null, 'FileGuard1: Prefix' , 1, 1, null, 1, @pc15,@prver__,1,@updatemask,@retval_out OUTPUT
EXECUTE @RC = [dbo].[xisp0041] @prid OUTPUT,'TIS_OPA', 'Fileguard', 'WaittimeExclusiveAcc', null, 3000, null, null, 'FileGuard1: WaittimeExclusiveAcc' , 1, 1, null, 1, @pc15,@prver__,1,@updatemask,@retval_out OUTPUT
EXECUTE @RC = [dbo].[xisp0041] @prid OUTPUT,'TIS_OPA', 'Fileguard', 'DeleteFiles', null, null, null, null, 'FileGuard1: DeleteFiles' , 6, 1, 0, 1, @pc15,@prver__,1,@updatemask,@retval_out OUTPUT
EXECUTE @RC = [dbo].[xisp0041] @prid OUTPUT,'TIS_OPA', 'Fileguard', 'WaittimeFilesOut', null, 1, null, null, 'FileGuard1: Filesout' , 1, 1, null, 1, @pc15,@prver__,1,@updatemask,@retval_out OUTPUT
EXECUTE @RC = [dbo].[xisp0041] @prid OUTPUT,'TIS_OPA', 'Fileguard', 'AllowedAppId', null, 2081, null, null, 'AllowedAppId 1' , 1, 1, null, 1, @pc15,@prver__,1,@updatemask,@retval_out OUTPUT -- since TIS 6.4
EXECUTE @RC = [dbo].[xisp0041] @prid OUTPUT,'TIS_OPA', 'Fileguard', 'AllowedAppId', null, 2082, null, null, 'AllowedAppId 2' , 1, 1, null, 1, @pc15,@prver__,1,@updatemask,@retval_out OUTPUT -- since TIS 6.4
EXECUTE @RC = [dbo].[xisp0041] @prid OUTPUT,'TIS_OPA', 'FileList', null, null, null, null, null, 'FileList1' , null, 1, null, 1, @pc15,@prver__,1,@updatemask,@retval_out OUTPUT
EXECUTE @RC = [dbo].[xisp0041] @prid OUTPUT,'TIS_OPA', 'FileList', 'Name', '<FILENAME>', null, null, null, 'FileList1' , 2, 1, null, 0, @pc15,@prver__,1,@updatemask,@retval_out OUTPUT
EXECUTE @RC = [dbo].[xisp0041] @prid OUTPUT,'TIS_OPA', 'WindowsPrincipal', null, null, null, null, null, 'samba user' , null, 1, null, 1, @pc15,@prver__,1,@updatemask,@retval_out OUTPUT
EXECUTE @RC = [dbo].[xisp0041] @prid OUTPUT,'TIS_OPA', 'WindowsPrincipal', 'DriveLetter', 'n:', null, null, null, 'samba user driveletter' , 2, 1, null, 1, @pc15,@prver__,1,@updatemask,@retval_out OUTPUT
EXECUTE @RC = [dbo].[xisp0041] @prid OUTPUT,'TIS_OPA', 'WindowsPrincipal', 'Share', '\\dl1.ximeshosted.com\ftpk132', null, null, null, 'samba user sharename' , 2, 1, null, 1, @pc15,@prver__,1,@updatemask,@retval_out OUTPUT
EXECUTE @RC = [dbo].[xisp0041] @prid OUTPUT,'TIS_OPA', 'WindowsPrincipal', 'UserId', '<SMB_USERNAME>', null, null, null, 'samba user username' , 2, 1, null, 1, @pc15,@prver__,1,@updatemask,@retval_out OUTPUT
EXECUTE @RC = [dbo].[xisp0041] @prid OUTPUT,'TIS_OPA', 'WindowsPrincipal', 'Password', '<SMB_PASSWORD>', null, null, null, 'samba user password' , 2, 1, null, 1, @pc15,@prver__,1,@updatemask,@retval_out OUTPUT
EXECUTE @RC = [dbo].[xisp0041] @prid OUTPUT,'TIS_OPA', 'WindowsPrincipal', 'Domain', '<SMB_DOMAIN>', null, null, null, 'samba user workgroup' , 2, 1, null, 1, @pc15,@prver__,1,@updatemask,@retval_out OUTPUT
 
GO



Step #6 - Adapt project and start TIS OPA


Please adapt the job file within TIS project TIS OPA 01 Trigger:
  • Login [TIS]Editor.
  • Open project: TIS OPA 01 Trigger.

  • Change job file to: ...\FileShare\<TIS_CLIENT>\in\StartOPA.csv.
  • Please log on [TIS]Board and start the TIS OPA.
Further remarks:
  • When exporting TIS OPA from [TIS]Board please check project TIS OPA 02 - Shift generation as a solution to be exported.

Sample AdminScript

Note that the Action OpInstruction is obsolete. Ensure that all datanodes in the calculation tree are recalculated, since there are no intermediate results in a solution runner. The TIS File in the Data Management stays untouched.

Tabletype

Solution

B/D

Datanode

NewParent

ConnString

Select/Values

Where/Keys

OrderBy

Action

Targettable

Order

Comment

WorkLog

WorkLogReport3

2

a_01 import csv






SetImportFileName

0

0


WorkLog

WorkLogReport3

2

a_01 import csv






Recalculate


1


WorkLog

WorkLogReport3

2

a_01 import csv






DeleteFileName

0

2


WorkLog

WorkLogReport3

2

a_10 employees






Recalculate


3


WorkLog

WorkLogReport3

2

a_02 prepare data






Recalculate


4


WorkLog

WorkLogReport3

2

a_22 stimulsoft report






Recalculate


5