Browse Source

Initial package #1

master
Daniel Quathamer 8 months ago
parent
commit
b9c9b6085a
  1. 2
      README.md
  2. 121
      build.xml
  3. 9
      src-modules/module/mobility/conf/excludes.txt
  4. 2
      src-modules/module/mobility/conf/includes.txt
  5. 256
      src-modules/module/mobility/conf/mobility.xml
  6. 63
      src-modules/module/mobility/datentabellen/trans_mobility_person.sql
  7. 137
      src-modules/module/mobility/datentabellen/trans_mobility_stay.sql
  8. 363
      src-modules/module/mobility/etl/read_moveon/apiload.kjb
  9. 706
      src-modules/module/mobility/etl/read_moveon/apiload.ktr
  10. 678
      src-modules/module/mobility/etl/read_moveon/gatherObjects.ktr
  11. 560
      src-modules/module/mobility/etl/read_moveon/gatherObjectsPerson.ktr
  12. 560
      src-modules/module/mobility/etl/read_moveon/gatherObjectsStay.ktr
  13. 947
      src-modules/module/mobility/etl/read_moveon/loadMoveOn.kjb
  14. 101
      src-modules/module/mobility/etl/read_moveon/template_person.php
  15. 99
      src-modules/module/mobility/etl/read_moveon/template_stay.php
  16. 1310
      src-modules/module/mobility/etl/read_moveon/upload_csv.ktr
  17. 726
      src-modules/module/mobility/etl/read_moveon/zend2csv.ktr
  18. 20
      src-modules/module/mobility/etl/read_moveon/zend2csv.xsl
  19. 6
      src-modules/module/mobility/masken/36000_felderinfo.unl
  20. 1
      src-modules/module/mobility/masken/36000_maske_system_bez.unl
  21. 3
      src-modules/module/mobility/masken/36000_masken_felder_bez.unl
  22. 86
      src-modules/module/mobility/masken/36000_maskeninfo.unl
  23. 1
      src-modules/module/mobility/masken/36000_sachgeb_maske_bez.unl
  24. 6
      src-modules/module/mobility/masken/36020_felderinfo.unl
  25. 1
      src-modules/module/mobility/masken/36020_maske_system_bez.unl
  26. 3
      src-modules/module/mobility/masken/36020_masken_felder_bez.unl
  27. 204
      src-modules/module/mobility/masken/36020_maskeninfo.unl
  28. 1
      src-modules/module/mobility/masken/36020_sachgeb_maske_bez.unl
  29. 1
      src-modules/module/mobility/rohdaten/dateien.txt
  30. 17
      src-modules/module/mobility/schluesseltabellen/dim_bp_altsicht_apnr_fuellen.sql
  31. 154
      src-modules/module/mobility/schluesseltabellen/dimension_bp_fuellen.sql
  32. 125
      src-modules/module/mobility/schluesseltabellen/dimension_fuellen.sql
  33. 1
      src-modules/module/mobility/schluesseltabellen/sx_jobs.unl
  34. 24
      src-modules/module/mobility/schluesseltabellen/sx_jobs_fuellen.sql
  35. 16
      src-modules/module/mobility/schluesseltabellen/sx_jobs_update.x
  36. 1
      src-modules/module/mobility/upgrade/dateien.txt

2
README.md

@ -1,2 +1,2 @@
# mobility # Mobilitäten aus MoveOn laden

121
build.xml

@ -0,0 +1,121 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="ModuleCreation" default="all" basedir=".">
<!--Aufruf mit
ant -DMODULE_PATH=$MOBILITY_PFAD -DBASE_DIR=. -DWEBAPP=$WEBAPP -DMODULE=mobility all
So erzeugen Sie dann ein SuperX-Paket:
ant -DMODULE_PATH=$MOBILITY_PFAD -DWEBAPP_DIR=$WEBAPP -DMODULE=mobility dist
-->
<dirname file="${ant.file.superx}" property="superxBuildBaseDir" />
<property name="distDir" location="${superxBuildBaseDir}/superx/WEB-INF/lib" />
<property environment="env" />
<!-- set global properties for this build -->
<property name="BASE_DIR" value="." />
<property name="SUPERX_DIR" value="${WEBAPP}"/>
<property name="BUILD_PATH" value="${WEBAPP}/WEB-INF/classes"/>
<property name="SRC_DIR" value="${BASE_DIR}/src" />
<property name="SRC_DIR_TEST" value="${BASE_DIR}/test-src"/>
<property name="LIB_SUPERX_DIR" value="${WEBAPP}/WEB-INF/lib"/>
<property name="LIB_WEBAPP_DIR" value="${WEBAPP}"/>
<property name="LIB_EXT_SUPERX_DIR" value="${WEBAPP}/WEB-INF/lib_ext"/>
<property name="superx-classes" value="${WEBAPP}/WEB-INF/classes" />
<property name="build_cobertura" value="${superxBuildBaseDir}/cobertura_build_classes" />
<property name="test-target" value="${superxBuildBaseDir}/cobertura_build_tests"/>
<property name="superx-lib" value="${WEBAPP}/WEB-INF/lib" />
<property name="build-results" value="${superxBuildBaseDir}/results" />
<property name="build_cobertura_report" value="${superxBuildBaseDir}/coveragereport" />
<property name="src-java" value="${SRC_DIR}"/>
<property name="test-resource" location="resource"/>
<property name="version" value="0.1" />
<property name="docm_version" value="1.0" />
<property name="mobility_version" value="0.2" />
<dirname file="${ant.file}" property="moduleCreateBaseDir" />
<property name="BASE_DIR" value="${moduleCreateBaseDir}/../.." />
<property name="WEBAPP" value="${MODULE_PATH}/../../../webserver/tomcat/webapps/superx" />
<path id="classpath">
<!--WEB-INF/lib-->
<fileset dir="${WEBAPP}/WEB-INF">
<include name="lib/**/*.jar" />
<include name="classes" />
</fileset>
<fileset dir="${LIB_EXT_SUPERX_DIR}">
<include name="**/*.jar" />
</fileset>
</path>
<condition property="isWindoze">
<os family="windows" />
</condition>
<condition property="isUnix">
<os family="unix" />
</condition>
<taskdef name="groovy"
classname="org.codehaus.groovy.ant.Groovy"
classpathref="classpath"/>
<target name="initTimestamp">
<tstamp>
<format property="SX_TIMESTAMP" pattern="dd.MM.yyyy HH:mm" />
</tstamp>
</target>
<target name="all" description="Gruppe: Kopiere Modul Sourcen in den WEB-INF-Verzeichnisbaum">
<antcall target="module_copy_source" />
<antcall target="call_module_scripts_create_ant" />
<antcall target="module_copy_webapp_files" />
</target>
<target name="module_copy_source" description="Gruppe: Kopiere Modul Sourcen in den WEB-INF-Verzeichnisbaum">
<echo message="Start module_copy_sources für Modul ${MODULE} in Pfad ${MODULE_PATH}" />
<copy todir="${MODULE_PATH}" overwrite="true">
<fileset dir="${BASE_DIR}/src-modules/module/${MODULE}" />
</copy>
<copy todir="${WEBAPP}/edit/${MODULE}" overwrite="true">
<fileset dir="${BASE_DIR}/superx/edit/${MODULE}" />
</copy>
</target>
<target name="call_module_scripts_create_ant" description="Call to module_scripts_create_ant">
<subant target="all">
<!--<property name="basedir" value="${MODULE_PATH}/../../conf/" />-->
<property name="MODULE" value="${MODULE}" />
<property name="DATABASE" value="POSTGRES" />
<property name="WEBAPP_EXT_MODULE" value="${WEBAPP}" />
<property name="WEBAPP" value="${WEBAPP}" />
<property name="SUPERX_BASE" value="${WEBAPP}/WEB-INF" />
<fileset dir="${MODULE_PATH}/../../conf" includes="module_scripts_create_ant.xml" />
</subant>
<chmod dir="${MODULE_PATH}/rohdaten" perm="ugo+x" includes="**/*.x" />
</target>
<target name="module_copy_webapp_files" description="Kopiere webapp-Dateien in den WEBAPP-Verzeichnisbaum">
<echo message="Start module_copy_webapp_files für Modul ${MODULE} in Pfad ${MODULE_PATH}" />
<copy todir="${WEBAPP}" overwrite="true">
<fileset dir="${BASE_DIR}/superx" />
</copy>
</target>
<target name="dist" description="Create Download package">
<subant target="erzeuge_paket">
<!--<property name="basedir" value="${MODULE_PATH}/../../conf/" />-->
<property name="MODULE" value="${MODULE}" />
<property name="PFAD" value="/home/superx/fertige_module" />
<property name="DATABASE" value="POSTGRES" />
<property name="ENCODING" value="utf8" />
<property name="PLATFORM" value="superx" />
<property name="WEBAPP_EXT_MODULE" value="${MODULE_PATH}/../../../webserver/tomcat/webapps/superx" />
<property name="WEBAPP" value="${MODULE_PATH}/../../../webserver/tomcat/webapps/superx" />
<property name="SUPERX_BASE" value="${WEBAPP}/WEB-INF" />
<fileset dir="${MODULE_PATH}/../../conf" includes="build.xml" />
</subant>
</target>
</project>

9
src-modules/module/mobility/conf/excludes.txt

@ -0,0 +1,9 @@
preparation.sql
finalize.sql
rohdaten/*.err
*.log
*.err
rohdaten/unl/*
masken/ids
conf/customize.sql
conf/*.log

2
src-modules/module/mobility/conf/includes.txt

@ -0,0 +1,2 @@
WEB-INF/conf/edustore/db/bin/SQL_ENV_mobility.sam
doku/mobility_modul/mobility.html

256
src-modules/module/mobility/conf/mobility.xml

@ -0,0 +1,256 @@
<?xml version="1.0" encoding="UTF-8"?>
<module name="mobility" version="0.2" sachgebiet_id="240" sachgebiet="Mobilität" systeminfo_id="240" system="Mobilität" thema="Mobilität" thema_parent="Abfragen">
<description>Auswertungen aus MoveOn</description>
<database name="superx" version="3.0" system="superx">
<sachgebiete>
<sachgebiet id="241" name="Administration Mobilität" rightname="CS_BIA_ADMINISTRATE_TOPIC_AREA[MOBILITY]"/>
</sachgebiete>
<table name="mobility_person">
<columns><column name="first_name" type ="VARCHAR" size ="255" default ="" notnull ="false" />
<column name="surname" type ="VARCHAR" size ="255" default ="" notnull ="false" />
<column name="date_of_birth" type ="DATE" size ="255" default ="" notnull ="false" />
<column name="matriculation_id" type ="INTEGER" size ="255" default ="" notnull ="false" />
<column name="id" type ="INTEGER" size ="10" default ="" notnull ="false" />
<column name="matrikel_nr" type ="INTEGER" size ="10" default ="" notnull ="false" description="Matrikelnr. in Stud.-Verwaltung"/>
</columns>
<indexes></indexes>
<primaryKeys>
<rs>
<row>
<fld name='table_cat'>superx</fld>
<fld name='table_schem'>superx</fld>
<fld name='table_name'>mobility_person</fld>
<fld name='column_name'>id</fld>
<fld name='key_seq'>1</fld>
<fld name='pk_name'>pk_mobility_person</fld>
</row>
</rs>
</primaryKeys>
<foreignKeys><rs>
</rs></foreignKeys>
<importedKeys><rs>
</rs></importedKeys>
<privileges><rs>
</rs></privileges>
</table>
<table name="mobility_person_neu">
<columns><column name="first_name" type ="VARCHAR" size ="255" default ="" notnull ="false" />
<column name="surname" type ="VARCHAR" size ="255" default ="" notnull ="false" />
<column name="date_of_birth" type ="DATE" size ="255" default ="" notnull ="false" />
<column name="matriculation_id" type ="VARCHAR" size ="255" default ="" notnull ="false" />
<column name="id" type ="INTEGER" size ="10" default ="" notnull ="false" />
</columns>
<indexes></indexes>
<primaryKeys><rs>
</rs></primaryKeys>
<foreignKeys><rs>
</rs></foreignKeys>
<importedKeys><rs>
</rs></importedKeys>
<privileges><rs>
</rs></privileges>
</table>
<table name="mobility_stay">
<columns><column name="name" type ="VARCHAR" size ="255" default ="" notnull ="false" />
<column name="person_id" type ="INTEGER" size ="10" default ="" notnull ="false" />
<column name="id" type ="INTEGER" size ="10" default ="" notnull ="false" />
<column name="academic_period_start_id" type ="INTEGER" size ="10" default ="" notnull ="false" />
<column name="academic_period_end_id" type ="INTEGER" size ="10" default ="" notnull ="false" />
<column name="is_active" type ="SMALLINT" size ="5" default ="" notnull ="false" />
<column name="ects_credits" type ="DOUBLE" size ="17" default ="" notnull ="false" />
<column name="country_id" type ="INTEGER" size ="10" default ="" notnull ="false" />
<column name="country_name_deu" type ="VARCHAR" size ="255" default ="" notnull ="false" />
<column name="duration_months" type ="DOUBLE" size ="17" default ="" notnull ="false" />
<column name="stay_type" type ="VARCHAR" size ="255" default ="" notnull ="false" />
<column name="stay_type_id" type ="VARCHAR" size ="255" default ="" notnull ="false" />
<column name="framework" type ="VARCHAR" size ="255" default ="" notnull ="false" />
<column name="framework_id" type ="VARCHAR" size ="255" default ="" notnull ="false" />
<column name="is_self_funded" type ="INTEGER" size ="10" default ="" notnull ="false" />
<column name="scholarship_deu" type ="INTEGER" size ="10" default ="" notnull ="false" />
<column name="is_guest" type ="INTEGER" size ="10" default ="" notnull ="false" />
<column name="is_academic_services" type ="INTEGER" size ="10" default ="" notnull ="false" />
<column name="direction_id" type ="INTEGER" size ="10" default ="" notnull ="false" />
<column name="st_abr_country_astat" type ="CHAR" size ="3" default ="" notnull ="false" description="Staat des 1. Auslandsaufenthaltes">
<comment></comment>Staat des 1. Auslandsaufenthaltes</column>
<column name="st_abr_month" type ="SMALLINT" size ="2" default ="" notnull ="false" description="Dauer des 1. Aufenthaltes in Monaten">
<comment>Dauer des 1. Aufenthaltes in Monaten</comment></column>
<column name="st_abr_type" type ="CHAR" size ="2" default ="" notnull ="false" description="Art des 1. Auslandsaufenthaltes">
<comment></comment>Art des 1. Auslandsaufenthaltes</column>
<column name="st_abr_program" type ="CHAR" size ="2" default ="" notnull ="false" description="Art des Mobilitätsprogramms">
<comment></comment>Art des Mobilitätsprogramms</column>
<column name="stay_nr" type ="INTEGER" size ="4" default ="" notnull ="false" description="Nummer des Mobilitätsprogramms pro Person">
<comment></comment></column>
</columns>
<indexes></indexes>
<primaryKeys>
<rs>
<row>
<fld name='table_cat'>superx</fld>
<fld name='table_schem'>superx</fld>
<fld name='table_name'>mobility_stay</fld>
<fld name='column_name'>id</fld>
<fld name='key_seq'>1</fld>
<fld name='pk_name'>pk_mobility_stay</fld>
</row>
</rs>
</primaryKeys>
<foreignKeys><rs>
</rs></foreignKeys>
<importedKeys><rs>
</rs></importedKeys>
<privileges><rs>
</rs></privileges>
</table>
<table name="mobility_stay_neu">
<columns><column name="name" type ="VARCHAR" size ="255" default ="" notnull ="false" />
<column name="person_id" type ="INTEGER" size ="10" default ="" notnull ="false" />
<column name="id" type ="INTEGER" size ="10" default ="" notnull ="false" />
<column name="academic_period_start" type ="VARCHAR" size ="255" default ="" notnull ="false" />
<column name="academic_period_start_id" type ="INTEGER" size ="10" default ="" notnull ="false" />
<column name="academic_period_end" type ="VARCHAR" size ="255" default ="" notnull ="false" />
<column name="academic_period_end_id" type ="INTEGER" size ="10" default ="" notnull ="false" />
<column name="is_active" type ="SMALLINT" size ="5" default ="" notnull ="false" />
<column name="ects_credits" type ="DOUBLE" size ="17" default ="" notnull ="false" />
<column name="country_id" type ="INTEGER" size ="10" default ="" notnull ="false" />
<column name="country_name_deu" type ="VARCHAR" size ="255" default ="" notnull ="false" />
<column name="duration_months" type ="DOUBLE" size ="17" default ="" notnull ="false" />
<column name="stay_type" type ="VARCHAR" size ="255" default ="" notnull ="false" />
<column name="stay_type_id" type ="VARCHAR" size ="255" default ="" notnull ="false" />
<column name="framework" type ="VARCHAR" size ="255" default ="" notnull ="false" />
<column name="framework_id" type ="VARCHAR" size ="255" default ="" notnull ="false" />
<column name="is_self_funded" type ="INTEGER" size ="10" default ="" notnull ="false" />
<column name="scholarship_deu" type ="INTEGER" size ="10" default ="" notnull ="false" />
<column name="is_guest" type ="INTEGER" size ="10" default ="" notnull ="false" />
<column name="is_academic_services" type ="INTEGER" size ="10" default ="" notnull ="false" />
<column name="direction_id" type ="INTEGER" size ="10" default ="" notnull ="false" />
<column name="stay_nr" type ="INTEGER" size ="4" default ="" notnull ="false" description="Nummer des Mobilitätsprogramms pro Person">
<comment></comment></column>
</columns>
<indexes></indexes>
<primaryKeys><rs>
</rs></primaryKeys>
<foreignKeys><rs>
</rs></foreignKeys>
<importedKeys><rs>
</rs></importedKeys>
<privileges><rs>
</rs></privileges>
</table>
<functions>
</functions>
<views>
</views>
<themen>
<thema name="Administration Mobilität" parent="Mobilität">@@mobility_admin_beschreibung@@ @@@mobility_doku_admin_url@@@</thema>
</themen>
<masken>
<maske tid="36000" name="Mobilität Personenverzeichnis" thema="Mobilität">
<src><path>$MOBILITY_PFAD/masken</path><author>D. Quathamer</author><lastChange>23.5.2007</lastChange><dbsystem>INFORMIX</dbsystem></src>
<src><path>$MOBILITY_PFAD/masken</path><author>D. Quathamer</author><lastChange>23.5.2007</lastChange><dbsystem>POSTGRES</dbsystem></src>
</maske>
<maske tid="36020" name="Mobilität Datenblatt" thema="Mobilität">
<src><path>$MOBILITY_PFAD/masken</path><author>D. Quathamer</author><lastChange>23.5.2007</lastChange><dbsystem>INFORMIX</dbsystem></src>
<src><path>$MOBILITY_PFAD/masken</path><author>D. Quathamer</author><lastChange>23.5.2007</lastChange><dbsystem>POSTGRES</dbsystem></src>
</maske>
</masken>
<data-integrity>
<!--mobility_stg_ab-->
<relation from="mobility_datenquellen" to="mobility_data" delete="FALSE" displayType="select" visibleFields="trim(name)" format="%s">
<relation-column from="tid" to="datenquelle" />
</relation>
</data-integrity>
</database>
<install>
<install-step name="Füllen der MOBILITY-Modul-Tabellen">
<action error="stop">
<nativeaction sql="CREATE TABLE tmp_sx_jobs (
uniquename character varying(255),
caption character varying(255),
filepath character varying(255),
sachgebiete_id integer,
kenn_profil integer,
hs_nr integer,
modus_supported smallint,
params character varying(255),
check_sql text
);" scriptfile="" database=""/>
</action>
<action error="stop">
<loadtable refresh="true" delimiter="^" header="false" tabname="tmp_sx_jobs">
<file path="$MOBILITY_PFAD/schluesseltabellen/sx_jobs.unl"/></loadtable>
</action>
<action error="stop">
<nativeaction sql="" scriptfile="$MOBILITY_PFAD/schluesseltabellen/sx_jobs_fuellen.sql"
database=""/>
</action>
</install-step>
</install>
<uninstall-step name="Deinstalliere Konstanten">
</uninstall-step>
<upgrade>
<upgrade-step version="0.6">
<action error="stop">
<nativeaction sql="CREATE TABLE tmp_sx_jobs (
uniquename character varying(255),
caption character varying(255),
filepath character varying(255),
sachgebiete_id integer,
kenn_profil integer,
hs_nr integer,
modus_supported smallint,
params character varying(255),
check_sql text
);" scriptfile="" database=""/>
</action>
<action error="stop">
<loadtable refresh="true" delimiter="^" header="false" tabname="tmp_sx_jobs">
<file path="$MOBILITY_PFAD/schluesseltabellen/sx_jobs.unl"/></loadtable>
</action>
<action error="stop">
<nativeaction sql="" scriptfile="$MOBILITY_PFAD/schluesseltabellen/sx_jobs_fuellen.sql"
database=""/>
</action>
</upgrade-step>
</upgrade>
<etl>
<etl-step name="Upload der MOBILITY-Modul-Rohdaten" type="load">
<!-- hier dürfen keine Actions stehen, damit in HIS1 das Ladedatum aktualisiert wird -->
</etl-step>
<etl-step name="Transformation der MOBILITY-Rohdaten" type="trans">
</etl-step>
<etl-step name="Aggregation der MOBILITY-Rohdaten" type="aggr">
</etl-step>
<etl-step name="Überprüfung der MOBILITY-Daten" type="test">
<action error="stop">
</action>
</etl-step>
</etl>
<dbforms>
</dbforms>
</module>

63
src-modules/module/mobility/datentabellen/trans_mobility_person.sql

@ -0,0 +1,63 @@
--Regeln zum Matching zwischen MoveOn Name zu SuperX/CO Name/Matrikelnr (Protokoll Besprechung Fr. Sommer, Hr. Brüggemann und DQ 20.10.2017):
--1. Wenn über Vorname/Nachname/Geburtsdatum eine Matrikelnummer in CO gefunden wird,
-- wird diese mit höchster Priorität genommen
--2. Wenn über Vorname/Nachname/Geburtsdatum mehrere Matrikelnummern in CO gefunden werden,
-- wird diejenige aus dem (zeitlich gesehen) letzten Studiengang mit höchster Priorität genommen
--3. Wenn nach obigen Regeln eine Matrikelnr. in CO nicht gefunden werden kann,
-- es aber in MoveOn eine Matrikelnr. gibt, wird zunächst geprüft ob in MoveOn das gleiche Geburtsdatum gespeichert ist
-- wie in CO. Wenn ja, wird die Matrikelnr. von MoveOn übernommen
delete from mobility_person
where id in (select id from mobility_person_neu);
insert into mobility_person(first_name,
surname,
date_of_birth,
matriculation_id,
id)
SELECT first_name,
surname,
date_of_birth,
case when length(matriculation_id) < 11 then val(matriculation_id)
else null::integer end as matriculation_id,
id
FROM mobility_person_neu
;
--dann matrikelnr zuweisen:
--Regel 1+2:
update mobility_person set matrikel_nr =(
select max(S.matrikel_nr)
from sos_sos S, sos_stud_d D
where S.matrikel_nr=D.matrikel_nr
and D.nachname=mobility_person.surname
and D.vorname=mobility_person.first_name
and S.d_geburt=mobility_person.date_of_birth
and today() between S.gueltig_von and S.gueltig_bis
)
where matrikel_nr is null
and date_of_birth is not null;
--Regel 3:
update mobility_person set matrikel_nr =matriculation_id
where matrikel_nr is null
and matriculation_id is not null
-- and 0< (select count(*)
-- from sos_sos S, sos_stud_d D
-- where S.matrikel_nr=D.matrikel_nr
-- and S.matrikel_nr=mobility_person.matriculation_id
-- and S.d_geburt=mobility_person.date_of_birth
-- and today() between S.gueltig_von and S.gueltig_bis
-- )
;
select 'Alle',count(*) from mobility_person
union select 'Mit Matrikelnr.',count(*) from mobility_person
where matrikel_nr is not null;

137
src-modules/module/mobility/datentabellen/trans_mobility_stay.sql

@ -0,0 +1,137 @@
--freemarker template
delete from mobility_stay
where id in (select M.id from mobility_stay_neu M);
insert into mobility_stay(name,
person_id,
id,
academic_period_start_id,
academic_period_end_id,
is_active,
ects_credits,
country_id,
country_name_deu,
duration_months,
stay_type,
stay_type_id,
framework,
framework_id,
is_self_funded,
scholarship_deu,
is_guest,
is_academic_services,
direction_id,
stay_nr)
select name,
person_id,
id,
academic_period_start_id,
academic_period_end_id,
is_active,
ects_credits,
country_id,
country_name_deu,
duration_months,
stay_type,
stay_type_id,
framework,
framework_id,
is_self_funded,
scholarship_deu,
is_guest,
is_academic_services,
direction_id,
stay_nr
from mobility_stay_neu;
--WS z.B. 20125 nach 20122
update mobility_stay set academic_period_start_id=academic_period_start_id-3
where substring('' || academic_period_start_id from 5 for 1)='5';
--SoSe z.B. 20140 nach 20141
update mobility_stay set academic_period_start_id=academic_period_start_id+1
where substring('' || academic_period_start_id from 5 for 1)='0';
update mobility_stay set academic_period_end_id=academic_period_end_id-3
where substring('' || academic_period_end_id from 5 for 1)='5';
--SoSe z.B. 20140 nach 20141
update mobility_stay set academic_period_end_id=academic_period_end_id+1
where substring('' || academic_period_end_id from 5 for 1)='0';
--Country
update mobility_stay set st_abr_country_astat =(select min(val(C.astat))
from cifx C
where mobility_stay.country_name_deu=C.druck
and C.key=12
)
where id in (select M.id from mobility_stay_neu M);
--Ausnahmefälle Staaten
update mobility_stay set st_abr_country_astat=479
where country_name_deu='China (VR)'
and st_abr_country_astat is null
;
update mobility_stay set st_abr_country_astat=434
where country_name_deu='Korea, Dem. Volksrep.'
and st_abr_country_astat is null;
update mobility_stay set st_abr_country_astat=368
where country_name_deu='USA'
and st_abr_country_astat is null
;
update mobility_stay set st_abr_country_astat=245
where country_name_deu='Kongo, Dem. Republik'
and st_abr_country_astat is null
;
update mobility_stay set st_abr_country_astat=160
where country_name_deu='Russland'
and st_abr_country_astat is null;
update mobility_stay set st_abr_country_astat=431
where country_name_deu='Sri Lanka'
and st_abr_country_astat is null;
update mobility_stay set st_abr_country_astat=449
where country_name_deu='Laos'
and st_abr_country_astat is null;
update mobility_stay set st_abr_country_astat=164
where country_name_deu='Tschechien'
and st_abr_country_astat is null;
--Prüfselect:
-- SELECT country_id,country_name_deu,count(*)
-- FROM mobility_stay
-- where country_name_deu is not null
-- and st_abr_country_astat is null
-- group by 1,2
-- ;
--st_abr_month
update mobility_stay set st_abr_month=duration_months;
--st_abr_type
--stay.stay_type_id=1 -01 = Studium
--stay.stay_type_id=2 -02 = Praktikum
--stay.stay_type_id ungleich 1 oder 2 -03
update mobility_stay set st_abr_type='0' || stay_type_id
where stay_type_id in ('1','2')
and id in (select M.id from mobility_stay_neu M);
update mobility_stay set st_abr_type='01'
where stay_type_id ='1, 2'
and id in (select M.id from mobility_stay_neu M);
update mobility_stay set st_abr_type='03'
where (stay_type_id not in ('1','2','1, 2') or stay_type_id is null)
and id in (select M.id from mobility_stay_neu M);
--st_abr_program
update mobility_stay set st_abr_program='01'
where framework ilike '%erasmus%'
and id in (select M.id from mobility_stay_neu M);
update mobility_stay set st_abr_program='02'
where st_abr_program is null
and id in (select M.id from mobility_stay_neu M);
update mobility_stay set st_abr_country_astat='0' || trim(st_abr_country_astat)
where length(trim(st_abr_country_astat))<3;
update mobility_stay set st_abr_country_astat='0' || trim(st_abr_country_astat)
where length(trim(st_abr_country_astat))<3;

363
src-modules/module/mobility/etl/read_moveon/apiload.kjb

@ -0,0 +1,363 @@
<?xml version="1.0" encoding="UTF-8"?>
<job>
<name>apiload</name>
<description/>
<extended_description/>
<job_version/>
<job_status>0</job_status>
<directory>&#x2f;</directory>
<created_user>-</created_user>
<created_date>2017&#x2f;11&#x2f;07 23&#x3a;02&#x3a;08.210</created_date>
<modified_user>-</modified_user>
<modified_date>2017&#x2f;11&#x2f;07 23&#x3a;02&#x3a;08.210</modified_date>
<parameters>
<parameter>
<name>dataObject</name>
<default_value/>
<description/>
</parameter>
<parameter>
<name>page</name>
<default_value/>
<description/>
</parameter>
<parameter>
<name>rows</name>
<default_value/>
<description/>
</parameter>
</parameters>
<slaveservers>
</slaveservers>
<job-log-table>
<connection/>
<schema/>
<table/>
<size_limit_lines/>
<interval/>
<timeout_days/>
<field>
<id>ID_JOB</id>
<enabled>Y</enabled>
<name>ID_JOB</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>JOBNAME</id>
<enabled>Y</enabled>
<name>JOBNAME</name>
</field>
<field>
<id>STATUS</id>
<enabled>Y</enabled>
<name>STATUS</name>
</field>
<field>
<id>LINES_READ</id>
<enabled>Y</enabled>
<name>LINES_READ</name>
</field>
<field>
<id>LINES_WRITTEN</id>
<enabled>Y</enabled>
<name>LINES_WRITTEN</name>
</field>
<field>
<id>LINES_UPDATED</id>
<enabled>Y</enabled>
<name>LINES_UPDATED</name>
</field>
<field>
<id>LINES_INPUT</id>
<enabled>Y</enabled>
<name>LINES_INPUT</name>
</field>
<field>
<id>LINES_OUTPUT</id>
<enabled>Y</enabled>
<name>LINES_OUTPUT</name>
</field>
<field>
<id>LINES_REJECTED</id>
<enabled>Y</enabled>
<name>LINES_REJECTED</name>
</field>
<field>
<id>ERRORS</id>
<enabled>Y</enabled>
<name>ERRORS</name>
</field>
<field>
<id>STARTDATE</id>
<enabled>Y</enabled>
<name>STARTDATE</name>
</field>
<field>
<id>ENDDATE</id>
<enabled>Y</enabled>
<name>ENDDATE</name>
</field>
<field>
<id>LOGDATE</id>
<enabled>Y</enabled>
<name>LOGDATE</name>
</field>
<field>
<id>DEPDATE</id>
<enabled>Y</enabled>
<name>DEPDATE</name>
</field>
<field>
<id>REPLAYDATE</id>
<enabled>Y</enabled>
<name>REPLAYDATE</name>
</field>
<field>
<id>LOG_FIELD</id>
<enabled>Y</enabled>
<name>LOG_FIELD</name>
</field>
<field>
<id>EXECUTING_SERVER</id>
<enabled>N</enabled>
<name>EXECUTING_SERVER</name>
</field>
<field>
<id>EXECUTING_USER</id>
<enabled>N</enabled>
<name>EXECUTING_USER</name>
</field>
<field>
<id>START_JOB_ENTRY</id>
<enabled>N</enabled>
<name>START_JOB_ENTRY</name>
</field>
<field>
<id>CLIENT</id>
<enabled>N</enabled>
<name>CLIENT</name>
</field>
</job-log-table>
<jobentry-log-table>
<connection/>
<schema/>
<table/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>LOG_DATE</id>
<enabled>Y</enabled>
<name>LOG_DATE</name>
</field>
<field>
<id>JOBNAME</id>
<enabled>Y</enabled>
<name>TRANSNAME</name>
</field>
<field>
<id>JOBENTRYNAME</id>
<enabled>Y</enabled>
<name>STEPNAME</name>
</field>
<field>
<id>LINES_READ</id>
<enabled>Y</enabled>
<name>LINES_READ</name>
</field>
<field>
<id>LINES_WRITTEN</id>
<enabled>Y</enabled>
<name>LINES_WRITTEN</name>
</field>
<field>
<id>LINES_UPDATED</id>
<enabled>Y</enabled>
<name>LINES_UPDATED</name>
</field>
<field>
<id>LINES_INPUT</id>
<enabled>Y</enabled>
<name>LINES_INPUT</name>
</field>
<field>
<id>LINES_OUTPUT</id>
<enabled>Y</enabled>
<name>LINES_OUTPUT</name>
</field>
<field>
<id>LINES_REJECTED</id>
<enabled>Y</enabled>
<name>LINES_REJECTED</name>
</field>
<field>
<id>ERRORS</id>
<enabled>Y</enabled>
<name>ERRORS</name>
</field>
<field>
<id>RESULT</id>
<enabled>Y</enabled>
<name>RESULT</name>
</field>
<field>
<id>NR_RESULT_ROWS</id>
<enabled>Y</enabled>
<name>NR_RESULT_ROWS</name>
</field>
<field>
<id>NR_RESULT_FILES</id>
<enabled>Y</enabled>
<name>NR_RESULT_FILES</name>
</field>
<field>
<id>LOG_FIELD</id>
<enabled>N</enabled>
<name>LOG_FIELD</name>
</field>
<field>
<id>COPY_NR</id>
<enabled>N</enabled>
<name>COPY_NR</name>
</field>
</jobentry-log-table>
<channel-log-table>
<connection/>
<schema/>
<table/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>LOG_DATE</id>
<enabled>Y</enabled>
<name>LOG_DATE</name>
</field>
<field>
<id>LOGGING_OBJECT_TYPE</id>
<enabled>Y</enabled>
<name>LOGGING_OBJECT_TYPE</name>
</field>
<field>
<id>OBJECT_NAME</id>
<enabled>Y</enabled>
<name>OBJECT_NAME</name>
</field>
<field>
<id>OBJECT_COPY</id>
<enabled>Y</enabled>
<name>OBJECT_COPY</name>
</field>
<field>
<id>REPOSITORY_DIRECTORY</id>
<enabled>Y</enabled>
<name>REPOSITORY_DIRECTORY</name>
</field>
<field>
<id>FILENAME</id>
<enabled>Y</enabled>
<name>FILENAME</name>
</field>
<field>
<id>OBJECT_ID</id>
<enabled>Y</enabled>
<name>OBJECT_ID</name>
</field>
<field>
<id>OBJECT_REVISION</id>
<enabled>Y</enabled>
<name>OBJECT_REVISION</name>
</field>
<field>
<id>PARENT_CHANNEL_ID</id>
<enabled>Y</enabled>
<name>PARENT_CHANNEL_ID</name>
</field>
<field>
<id>ROOT_CHANNEL_ID</id>
<enabled>Y</enabled>
<name>ROOT_CHANNEL_ID</name>
</field>
</channel-log-table>
<pass_batchid>N</pass_batchid>
<shared_objects_file/>
<entries>
<entry>
<name>START</name>
<description/>
<type>SPECIAL</type>
<start>Y</start>
<dummy>N</dummy>
<repeat>N</repeat>
<schedulerType>0</schedulerType>
<intervalSeconds>0</intervalSeconds>
<intervalMinutes>60</intervalMinutes>
<hour>12</hour>
<minutes>0</minutes>
<weekDay>1</weekDay>
<DayOfMonth>1</DayOfMonth>
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>96</xloc>
<yloc>128</yloc>
</entry>
<entry>
<name>php_it</name>
<description/>
<type>SHELL</type>
<filename>&#x2f;usr&#x2f;bin&#x2f;php</filename>
<work_directory>&#x24;&#x7b;Internal.Job.Filename.Directory&#x7d;&#x2f;tmp</work_directory>
<arg_from_previous>N</arg_from_previous>
<exec_per_row>N</exec_per_row>
<set_logfile>Y</set_logfile>
<logfile>&#x24;&#x7b;Internal.Job.Filename.Directory&#x7d;&#x2f;tmp&#x2f;mylog.log</logfile>
<set_append_logfile>N</set_append_logfile>
<logext/>
<add_date>N</add_date>
<add_time>N</add_time>
<insertScript>N</insertScript>
<script/>
<loglevel>Basic</loglevel>
<argument0>phpcode_tmp_&#x24;&#x7b;dataObject&#x7d;_&#x24;&#x7b;page&#x7d;.php</argument0>
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>192</xloc>
<yloc>128</yloc>
</entry>
</entries>
<hops>
<hop>
<from>START</from>
<to>php_it</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>Y</unconditional>
</hop>
</hops>
<notepads>
</notepads>
</job>

706
src-modules/module/mobility/etl/read_moveon/apiload.ktr

@ -0,0 +1,706 @@
<?xml version="1.0" encoding="UTF-8"?><transformation>
<info>
<name>apiload</name>
<description/>
<extended_description/>
<trans_version/>
<trans_type>Normal</trans_type>
<trans_status>0</trans_status>
<directory>/</directory>
<parameters>
<parameter>
<name>dataObject</name>
<default_value>person</default_value>
<description/>
</parameter>
<parameter>
<name>page</name>
<default_value>1</default_value>
<description/>
</parameter>
<parameter>
<name>rows</name>
<default_value>10000</default_value>
<description/>
</parameter>
</parameters>
<log>
<trans-log-table>
<connection/>
<schema/>
<table/>
<size_limit_lines/>
<interval/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>TRANSNAME</id>
<enabled>Y</enabled>
<name>TRANSNAME</name>
</field>
<field>
<id>STATUS</id>
<enabled>Y</enabled>
<name>STATUS</name>
</field>
<field>
<id>LINES_READ</id>
<enabled>Y</enabled>
<name>LINES_READ</name>
<subject/>
</field>
<field>
<id>LINES_WRITTEN</id>
<enabled>Y</enabled>
<name>LINES_WRITTEN</name>
<subject/>
</field>
<field>
<id>LINES_UPDATED</id>
<enabled>Y</enabled>
<name>LINES_UPDATED</name>
<subject/>
</field>
<field>
<id>LINES_INPUT</id>
<enabled>Y</enabled>
<name>LINES_INPUT</name>
<subject/>
</field>
<field>
<id>LINES_OUTPUT</id>
<enabled>Y</enabled>
<name>LINES_OUTPUT</name>
<subject/>
</field>
<field>
<id>LINES_REJECTED</id>
<enabled>Y</enabled>
<name>LINES_REJECTED</name>
<subject/>
</field>
<field>
<id>ERRORS</id>
<enabled>Y</enabled>
<name>ERRORS</name>
</field>
<field>
<id>STARTDATE</id>
<enabled>Y</enabled>
<name>STARTDATE</name>
</field>
<field>
<id>ENDDATE</id>
<enabled>Y</enabled>
<name>ENDDATE</name>
</field>
<field>
<id>LOGDATE</id>
<enabled>Y</enabled>
<name>LOGDATE</name>
</field>
<field>
<id>DEPDATE</id>
<enabled>Y</enabled>
<name>DEPDATE</name>
</field>
<field>
<id>REPLAYDATE</id>
<enabled>Y</enabled>
<name>REPLAYDATE</name>
</field>
<field>
<id>LOG_FIELD</id>
<enabled>Y</enabled>
<name>LOG_FIELD</name>
</field>
<field>
<id>EXECUTING_SERVER</id>
<enabled>N</enabled>
<name>EXECUTING_SERVER</name>
</field>
<field>
<id>EXECUTING_USER</id>
<enabled>N</enabled>
<name>EXECUTING_USER</name>
</field>
<field>
<id>CLIENT</id>
<enabled>N</enabled>
<name>CLIENT</name>
</field>
</trans-log-table>
<perf-log-table>
<connection/>
<schema/>
<table/>
<interval/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>SEQ_NR</id>
<enabled>Y</enabled>
<name>SEQ_NR</name>
</field>
<field>
<id>LOGDATE</id>
<enabled>Y</enabled>
<name>LOGDATE</name>
</field>
<field>
<id>TRANSNAME</id>
<enabled>Y</enabled>
<name>TRANSNAME</name>
</field>
<field>
<id>STEPNAME</id>
<enabled>Y</enabled>
<name>STEPNAME</name>
</field>
<field>
<id>STEP_COPY</id>
<enabled>Y</enabled>
<name>STEP_COPY</name>
</field>
<field>
<id>LINES_READ</id>
<enabled>Y</enabled>
<name>LINES_READ</name>
</field>
<field>
<id>LINES_WRITTEN</id>
<enabled>Y</enabled>
<name>LINES_WRITTEN</name>
</field>
<field>
<id>LINES_UPDATED</id>
<enabled>Y</enabled>
<name>LINES_UPDATED</name>
</field>
<field>
<id>LINES_INPUT</id>
<enabled>Y</enabled>
<name>LINES_INPUT</name>
</field>
<field>
<id>LINES_OUTPUT</id>
<enabled>Y</enabled>
<name>LINES_OUTPUT</name>
</field>
<field>
<id>LINES_REJECTED</id>
<enabled>Y</enabled>
<name>LINES_REJECTED</name>
</field>
<field>
<id>ERRORS</id>
<enabled>Y</enabled>
<name>ERRORS</name>
</field>
<field>
<id>INPUT_BUFFER_ROWS</id>
<enabled>Y</enabled>
<name>INPUT_BUFFER_ROWS</name>
</field>
<field>
<id>OUTPUT_BUFFER_ROWS</id>
<enabled>Y</enabled>
<name>OUTPUT_BUFFER_ROWS</name>
</field>
</perf-log-table>
<channel-log-table>
<connection/>
<schema/>
<table/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>LOG_DATE</id>
<enabled>Y</enabled>
<name>LOG_DATE</name>
</field>
<field>
<id>LOGGING_OBJECT_TYPE</id>
<enabled>Y</enabled>
<name>LOGGING_OBJECT_TYPE</name>
</field>
<field>
<id>OBJECT_NAME</id>
<enabled>Y</enabled>
<name>OBJECT_NAME</name>
</field>
<field>
<id>OBJECT_COPY</id>
<enabled>Y</enabled>
<name>OBJECT_COPY</name>
</field>
<field>
<id>REPOSITORY_DIRECTORY</id>
<enabled>Y</enabled>
<name>REPOSITORY_DIRECTORY</name>
</field>
<field>
<id>FILENAME</id>
<enabled>Y</enabled>
<name>FILENAME</name>
</field>
<field>
<id>OBJECT_ID</id>
<enabled>Y</enabled>
<name>OBJECT_ID</name>
</field>
<field>
<id>OBJECT_REVISION</id>
<enabled>Y</enabled>
<name>OBJECT_REVISION</name>
</field>
<field>
<id>PARENT_CHANNEL_ID</id>
<enabled>Y</enabled>
<name>PARENT_CHANNEL_ID</name>
</field>
<field>
<id>ROOT_CHANNEL_ID</id>
<enabled>Y</enabled>
<name>ROOT_CHANNEL_ID</name>
</field>
</channel-log-table>
<step-log-table>
<connection/>
<schema/>
<table/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>LOG_DATE</id>
<enabled>Y</enabled>
<name>LOG_DATE</name>
</field>
<field>
<id>TRANSNAME</id>
<enabled>Y</enabled>
<name>TRANSNAME</name>
</field>
<field>
<id>STEPNAME</id>
<enabled>Y</enabled>
<name>STEPNAME</name>
</field>
<field>
<id>STEP_COPY</id>
<enabled>Y</enabled>
<name>STEP_COPY</name>
</field>
<field>
<id>LINES_READ</id>
<enabled>Y</enabled>
<name>LINES_READ</name>
</field>
<field>
<id>LINES_WRITTEN</id>
<enabled>Y</enabled>
<name>LINES_WRITTEN</name>
</field>
<field>
<id>LINES_UPDATED</id>
<enabled>Y</enabled>
<name>LINES_UPDATED</name>
</field>
<field>
<id>LINES_INPUT</id>
<enabled>Y</enabled>
<name>LINES_INPUT</name>
</field>
<field>
<id>LINES_OUTPUT</id>
<enabled>Y</enabled>
<name>LINES_OUTPUT</name>
</field>
<field>
<id>LINES_REJECTED</id>
<enabled>Y</enabled>
<name>LINES_REJECTED</name>
</field>
<field>
<id>ERRORS</id>
<enabled>Y</enabled>
<name>ERRORS</name>
</field>
<field>
<id>LOG_FIELD</id>
<enabled>N</enabled>
<name>LOG_FIELD</name>
</field>
</step-log-table>
<metrics-log-table>
<connection/>
<schema/>
<table/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>LOG_DATE</id>
<enabled>Y</enabled>
<name>LOG_DATE</name>
</field>
<field>
<id>METRICS_DATE</id>
<enabled>Y</enabled>
<name>METRICS_DATE</name>
</field>
<field>
<id>METRICS_CODE</id>
<enabled>Y</enabled>
<name>METRICS_CODE</name>
</field>
<field>
<id>METRICS_DESCRIPTION</id>
<enabled>Y</enabled>
<name>METRICS_DESCRIPTION</name>
</field>
<field>
<id>METRICS_SUBJECT</id>
<enabled>Y</enabled>
<name>METRICS_SUBJECT</name>
</field>
<field>
<id>METRICS_TYPE</id>
<enabled>Y</enabled>
<name>METRICS_TYPE</name>
</field>
<field>
<id>METRICS_VALUE</id>
<enabled>Y</enabled>
<name>METRICS_VALUE</name>
</field>
</metrics-log-table>
</log>
<maxdate>
<connection/>
<table/>
<field/>
<offset>0.0</offset>
<maxdiff>0.0</maxdiff>
</maxdate>
<size_rowset>10000</size_rowset>
<sleep_time_empty>50</sleep_time_empty>
<sleep_time_full>50</sleep_time_full>
<unique_connections>N</unique_connections>
<feedback_shown>Y</feedback_shown>
<feedback_size>50000</feedback_size>
<using_thread_priorities>Y</using_thread_priorities>
<shared_objects_file/>
<capture_step_performance>N</capture_step_performance>
<step_performance_capturing_delay>1000</step_performance_capturing_delay>
<step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
<dependencies/>
<partitionschemas/>
<slaveservers/>
<clusterschemas/>
<created_user>-</created_user>
<created_date>2017/11/07 22:47:00.826</created_date>
<modified_user>-</modified_user>
<modified_date>2017/11/07 22:47:00.826</modified_date>
<key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA=</key_for_session_key>
<is_key_private>N</is_key_private>
</info>
<notepads/>
<order>
<hop>
<from>Load file content in memory</from>
<to>Replace rows</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Replace rows</from>
<to>Replace page</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Replace page</from>
<to>replace file</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>replace file</from>
<to>Text file output</to>
<enabled>Y</enabled>
</hop>
</order>
<step>
<name>Load file content in memory</name>
<type>LoadFileInput</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<include>N</include>
<include_field/>
<rownum>N</rownum>
<addresultfile>Y</addresultfile>
<IsIgnoreEmptyFile>N</IsIgnoreEmptyFile>
<rownum_field/>
<encoding>UTF-8</encoding>
<file>
<name>${Internal.Transformation.Filename.Directory}/template_${dataObject}.php</name>
<filemask/>
<exclude_filemask/>
<file_required>N</file_required>
<include_subfolders>N</include_subfolders>
</file>
<fields>
<field>
<name>phpcode</name>
<element_type>content</element_type>
<type>String</type>
<format/>
<currency/>
<decimal/>
<group/>
<length>-1</length>
<precision>-1</precision>
<trim_type>none</trim_type>
<repeat>N</repeat>
</field>
</fields>
<limit>0</limit>
<IsInFields>N</IsInFields>
<DynamicFilenameField/>
<shortFileFieldName/>
<pathFieldName/>
<hiddenFieldName/>
<lastModificationTimeFieldName/>
<uriNameFieldName/>
<rootUriNameFieldName/>
<extensionFieldName/>
<cluster_schema/>
<remotesteps>
<input/>
<output/>
</remotesteps>
<GUI>
<xloc>96</xloc>
<yloc>96</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>Replace page</name>
<type>ReplaceString</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<fields>
<field>
<in_stream_name>phpcode_rows</in_stream_name>
<out_stream_name>phpcode_page</out_stream_name>
<use_regex>no</use_regex>
<replace_string>page=1</replace_string>
<replace_by_string>page=${page}</replace_by_string>
<set_empty_string>N</set_empty_string>
<replace_field_by_string/>
<whole_word>no</whole_word>
<case_sensitive>no</case_sensitive>
</field>
</fields>
<cluster_schema/>
<remotesteps>
<input/>
<output/>
</remotesteps>
<GUI>
<xloc>368</xloc>
<yloc>96</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>Replace rows</name>
<type>ReplaceString</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<fields>
<field>
<in_stream_name>phpcode</in_stream_name>
<out_stream_name>phpcode_rows</out_stream_name>
<use_regex>no</use_regex>
<replace_string>rows=1000</replace_string>
<replace_by_string>rows=${rows}</replace_by_string>
<set_empty_string>N</set_empty_string>
<replace_field_by_string/>
<whole_word>no</whole_word>
<case_sensitive>no</case_sensitive>
</field>
</fields>
<cluster_schema/>
<remotesteps>
<input/>
<output/>
</remotesteps>
<GUI>
<xloc>240</xloc>
<yloc>96</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>Text file output</name>
<type>TextFileOutput</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<separator/>
<enclosure/>
<enclosure_forced>N</enclosure_forced>
<enclosure_fix_disabled>N</enclosure_fix_disabled>
<header>N</header>
<footer>N</footer>
<format>UNIX</format>
<compression>None</compression>
<encoding>UTF-8</encoding>
<endedLine/>
<fileNameInField>N</fileNameInField>
<fileNameField/>
<create_parent_folder>Y</create_parent_folder>
<file>
<name>${Internal.Transformation.Filename.Directory}/tmp/phpcode_tmp_${dataObject}_${page}</name>
<is_command>N</is_command>
<servlet_output>N</servlet_output>
<do_not_open_new_file_init>N</do_not_open_new_file_init>
<extention>php</extention>
<append>N</append>
<split>N</split>
<haspartno>N</haspartno>
<add_date>N</add_date>
<add_time>N</add_time>
<SpecifyFormat>N</SpecifyFormat>
<date_time_format/>
<add_to_result_filenames>N</add_to_result_filenames>
<pad>N</pad>
<fast_dump>Y</fast_dump>
<splitevery>0</splitevery>
</file>
<fields>
<field>
<name>phpcode_file</name>
<type>String</type>
<format/>
<currency/>
<decimal/>
<group/>
<nullif/>
<trim_type>none</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
</fields>
<cluster_schema/>
<remotesteps>
<input/>
<output/>
</remotesteps>
<GUI>
<xloc>624</xloc>
<yloc>96</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>replace file</name>
<type>ReplaceString</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<fields>
<field>
<in_stream_name>phpcode_page</in_stream_name>
<out_stream_name>phpcode_file</out_stream_name>
<use_regex>no</use_regex>
<replace_string>file='out.xml'</replace_string>
<replace_by_string>file='out_${dataObject}_${page}.xml'</replace_by_string>
<set_empty_string>N</set_empty_string>
<replace_field_by_string/>
<whole_word>no</whole_word>
<case_sensitive>no</case_sensitive>
</field>
</fields>
<cluster_schema/>
<remotesteps>
<input/>
<output/>
</remotesteps>
<GUI>
<xloc>496</xloc>
<yloc>96</yloc>
<draw>Y</draw>
</GUI>
</step>
<step_error_handling/>
<slave-step-copy-partition-distribution/>
<slave_transformation>N</slave_transformation>
</transformation>

678
src-modules/module/mobility/etl/read_moveon/gatherObjects.ktr

@ -0,0 +1,678 @@
<?xml version="1.0" encoding="UTF-8"?>
<transformation>
<info>
<name>gatherObjects</name>
<description/>
<extended_description/>
<trans_version/>
<trans_type>Normal</trans_type>
<trans_status>0</trans_status>
<directory>&#x2f;</directory>
<parameters>
<parameter>
<name>dataObject</name>
<default_value>person</default_value>
<description/>
</parameter>
</parameters>
<log>
<trans-log-table>
<connection/>
<schema/>
<table/>
<size_limit_lines/>
<interval/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>TRANSNAME</id>
<enabled>Y</enabled>
<name>TRANSNAME</name>
</field>
<field>
<id>STATUS</id>
<enabled>Y</enabled>
<name>STATUS</name>
</field>
<field>
<id>LINES_READ</id>
<enabled>Y</enabled>
<name>LINES_READ</name>
<subject/>
</field>
<field>
<id>LINES_WRITTEN</id>
<enabled>Y</enabled>
<name>LINES_WRITTEN</name>
<subject/>
</field>
<field>
<id>LINES_UPDATED</id>
<enabled>Y</enabled>
<name>LINES_UPDATED</name>
<subject/>
</field>
<field>
<id>LINES_INPUT</id>
<enabled>Y</enabled>
<name>LINES_INPUT</name>
<subject/>
</field>
<field>
<id>LINES_OUTPUT</id>
<enabled>Y</enabled>
<name>LINES_OUTPUT</name>
<subject/>
</field>
<field>
<id>LINES_REJECTED</id>
<enabled>Y</enabled>
<name>LINES_REJECTED</name>
<subject/>
</field>
<field>
<id>ERRORS</id>
<enabled>Y</enabled>
<name>ERRORS</name>
</field>
<field>
<id>STARTDATE</id>
<enabled>Y</enabled>
<name>STARTDATE</name>
</field>
<field>
<id>ENDDATE</id>
<enabled>Y</enabled>
<name>ENDDATE</name>
</field>
<field>
<id>LOGDATE</id>
<enabled>Y</enabled>
<name>LOGDATE</name>
</field>
<field>
<id>DEPDATE</id>
<enabled>Y</enabled>
<name>DEPDATE</name>
</field>
<field>
<id>REPLAYDATE</id>
<enabled>Y</enabled>
<name>REPLAYDATE</name>
</field>
<field>
<id>LOG_FIELD</id>
<enabled>Y</enabled>
<name>LOG_FIELD</name>
</field>
<field>
<id>EXECUTING_SERVER</id>
<enabled>N</enabled>
<name>EXECUTING_SERVER</name>
</field>
<field>
<id>EXECUTING_USER</id>
<enabled>N</enabled>
<name>EXECUTING_USER</name>
</field>
<field>
<id>CLIENT</id>
<enabled>N</enabled>
<name>CLIENT</name>
</field>
</trans-log-table>
<perf-log-table>
<connection/>
<schema/>
<table/>
<interval/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>SEQ_NR</id>
<enabled>Y</enabled>
<name>SEQ_NR</name>
</field>
<field>
<id>LOGDATE</id>
<enabled>Y</enabled>
<name>LOGDATE</name>
</field>
<field>
<id>TRANSNAME</id>
<enabled>Y</enabled>
<name>TRANSNAME</name>
</field>
<field>
<id>STEPNAME</id>
<enabled>Y</enabled>
<name>STEPNAME</name>
</field>
<field>
<id>STEP_COPY</id>
<enabled>Y</enabled>
<name>STEP_COPY</name>
</field>
<field>
<id>LINES_READ</id>
<enabled>Y</enabled>
<name>LINES_READ</name>
</field>
<field>
<id>LINES_WRITTEN</id>
<enabled>Y</enabled>
<name>LINES_WRITTEN</name>
</field>
<field>
<id>LINES_UPDATED</id>
<enabled>Y</enabled>
<name>LINES_UPDATED</name>
</field>
<field>
<id>LINES_INPUT</id>
<enabled>Y</enabled>
<name>LINES_INPUT</name>
</field>
<field>
<id>LINES_OUTPUT</id>
<enabled>Y</enabled>
<name>LINES_OUTPUT</name>
</field>
<field>
<id>LINES_REJECTED</id>
<enabled>Y</enabled>
<name>LINES_REJECTED</name>
</field>
<field>
<id>ERRORS</id>
<enabled>Y</enabled>
<name>ERRORS</name>
</field>
<field>
<id>INPUT_BUFFER_ROWS</id>
<enabled>Y</enabled>
<name>INPUT_BUFFER_ROWS</name>
</field>
<field>
<id>OUTPUT_BUFFER_ROWS</id>
<enabled>Y</enabled>
<name>OUTPUT_BUFFER_ROWS</name>
</field>
</perf-log-table>
<channel-log-table>
<connection/>
<schema/>
<table/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>LOG_DATE</id>
<enabled>Y</enabled>
<name>LOG_DATE</name>
</field>
<field>
<id>LOGGING_OBJECT_TYPE</id>
<enabled>Y</enabled>
<name>LOGGING_OBJECT_TYPE</name>
</field>
<field>
<id>OBJECT_NAME</id>
<enabled>Y</enabled>
<name>OBJECT_NAME</name>
</field>
<field>
<id>OBJECT_COPY</id>
<enabled>Y</enabled>
<name>OBJECT_COPY</name>
</field>
<field>
<id>REPOSITORY_DIRECTORY</id>
<enabled>Y</enabled>
<name>REPOSITORY_DIRECTORY</name>
</field>
<field>
<id>FILENAME</id>
<enabled>Y</enabled>
<name>FILENAME</name>
</field>
<field>
<id>OBJECT_ID</id>
<enabled>Y</enabled>
<name>OBJECT_ID</name>
</field>
<field>
<id>OBJECT_REVISION</id>
<enabled>Y</enabled>
<name>OBJECT_REVISION</name>
</field>
<field>
<id>PARENT_CHANNEL_ID</id>
<enabled>Y</enabled>
<name>PARENT_CHANNEL_ID</name>
</field>
<field>
<id>ROOT_CHANNEL_ID</id>
<enabled>Y</enabled>
<name>ROOT_CHANNEL_ID</name>
</field>
</channel-log-table>
<step-log-table>
<connection/>
<schema/>
<table/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>LOG_DATE</id>
<enabled>Y</enabled>
<name>LOG_DATE</name>
</field>
<field>
<id>TRANSNAME</id>
<enabled>Y</enabled>
<name>TRANSNAME</name>
</field>
<field>
<id>STEPNAME</id>
<enabled>Y</enabled>
<name>STEPNAME</name>
</field>
<field>
<id>STEP_COPY</id>
<enabled>Y</enabled>
<name>STEP_COPY</name>
</field>
<field>
<id>LINES_READ</id>
<enabled>Y</enabled>
<name>LINES_READ</name>
</field>
<field>
<id>LINES_WRITTEN</id>
<enabled>Y</enabled>
<name>LINES_WRITTEN</name>
</field>
<field>
<id>LINES_UPDATED</id>
<enabled>Y</enabled>
<name>LINES_UPDATED</name>
</field>
<field>
<id>LINES_INPUT</id>
<enabled>Y</enabled>
<name>LINES_INPUT</name>
</field>
<field>
<id>LINES_OUTPUT</id>
<enabled>Y</enabled>
<name>LINES_OUTPUT</name>
</field>
<field>
<id>LINES_REJECTED</id>
<enabled>Y</enabled>
<name>LINES_REJECTED</name>
</field>
<field>
<id>ERRORS</id>
<enabled>Y</enabled>
<name>ERRORS</name>
</field>
<field>
<id>LOG_FIELD</id>
<enabled>N</enabled>
<name>LOG_FIELD</name>
</field>
</step-log-table>
<metrics-log-table>
<connection/>
<schema/>
<table/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>LOG_DATE</id>
<enabled>Y</enabled>
<name>LOG_DATE</name>
</field>
<field>
<id>METRICS_DATE</id>
<enabled>Y</enabled>
<name>METRICS_DATE</name>
</field>
<field>
<id>METRICS_CODE</id>
<enabled>Y</enabled>
<name>METRICS_CODE</name>
</field>
<field>
<id>METRICS_DESCRIPTION</id>
<enabled>Y</enabled>
<name>METRICS_DESCRIPTION</name>
</field>
<field>
<id>METRICS_SUBJECT</id>
<enabled>Y</enabled>
<name>METRICS_SUBJECT</name>
</field>
<field>
<id>METRICS_TYPE</id>
<enabled>Y</enabled>
<name>METRICS_TYPE</name>
</field>
<field>
<id>METRICS_VALUE</id>
<enabled>Y</enabled>
<name>METRICS_VALUE</name>
</field>
</metrics-log-table>
</log>
<maxdate>
<connection/>
<table/>
<field/>
<offset>0.0</offset>
<maxdiff>0.0</maxdiff>
</maxdate>
<size_rowset>10000</size_rowset>
<sleep_time_empty>50</sleep_time_empty>
<sleep_time_full>50</sleep_time_full>
<unique_connections>N</unique_connections>
<feedback_shown>Y</feedback_shown>
<feedback_size>50000</feedback_size>
<using_thread_priorities>Y</using_thread_priorities>
<shared_objects_file/>
<capture_step_performance>N</capture_step_performance>
<step_performance_capturing_delay>1000</step_performance_capturing_delay>
<step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
<dependencies>
</dependencies>
<partitionschemas>
</partitionschemas>
<slaveservers>
</slaveservers>
<clusterschemas>
</clusterschemas>
<created_user>-</created_user>
<created_date>2017&#x2f;10&#x2f;03 21&#x3a;34&#x3a;06.134</created_date>
<modified_user>-</modified_user>
<modified_date>2017&#x2f;10&#x2f;03 21&#x3a;34&#x3a;06.134</modified_date>
<key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>
<is_key_private>N</is_key_private>
</info>
<notepads>
</notepads>
<order>
<hop>
<from>Generate Rows</from>
<to>Add sequence</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Add sequence</from>
<to>Copy rows to result</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Generate Rows 2</from>
<to>Add sequence 2</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Add sequence 2</from>
<to>Copy rows to result</to>
<enabled>Y</enabled>
</hop>
</order>
<step>
<name>Add sequence</name>
<type>Sequence</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<valuename>page</valuename>
<use_database>N</use_database>
<connection/>
<schema/>
<seqname>SEQ_</seqname>
<use_counter>Y</use_counter>
<counter_name/>
<start_at>1</start_at>
<increment_by>1</increment_by>
<max_value>999999999</max_value>
<cluster_schema/>
<remotesteps>
<input>
</input>
<output>
</output>
</remotesteps>
<GUI>
<xloc>320</xloc>
<yloc>320</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>Copy rows to result</name>
<type>RowsToResult</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<cluster_schema/>
<remotesteps>
<input>
</input>
<output>
</output>
</remotesteps>
<GUI>
<xloc>528</xloc>
<yloc>304</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>Generate Rows</name>
<type>RowGenerator</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<fields>
<field>
<name>dataObject</name>
<type>String</type>
<format/>
<currency/>
<decimal/>
<group/>
<nullif>person</nullif>
<length>-1</length>
<precision>-1</precision>
<set_empty_string>N</set_empty_string>
</field>
<field>
<name>rows</name>
<type>Integer</type>
<format/>
<currency/>
<decimal/>
<group/>
<nullif>250</nullif>
<length>-1</length>
<precision>-1</precision>
<set_empty_string>N</set_empty_string>
</field>
</fields>
<limit>100</limit>
<never_ending>N</never_ending>
<interval_in_ms>5000</interval_in_ms>
<row_time_field>now</row_time_field>
<last_time_field>FiveSecondsAgo</last_time_field>
<cluster_schema/>
<remotesteps>
<input>
</input>
<output>
</output>
</remotesteps>
<GUI>
<xloc>160</xloc>
<yloc>320</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>Generate Rows 2</name>
<type>RowGenerator</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<fields>
<field>
<name>dataObject</name>
<type>String</type>
<format/>
<currency/>
<decimal/>
<group/>
<nullif>stay</nullif>
<length>-1</length>
<precision>-1</precision>
<set_empty_string>N</set_empty_string>
</field>
<field>
<name>rows</name>
<type>Integer</type>
<format/>
<currency/>
<decimal/>
<group/>
<nullif>250</nullif>
<length>-1</length>
<precision>-1</precision>
<set_empty_string>N</set_empty_string>
</field>
</fields>
<limit>100</limit>
<never_ending>N</never_ending>
<interval_in_ms>5000</interval_in_ms>
<row_time_field>now</row_time_field>
<last_time_field>FiveSecondsAgo</last_time_field>
<cluster_schema/>
<remotesteps>
<input>
</input>
<output>
</output>
</remotesteps>
<GUI>
<xloc>160</xloc>
<yloc>416</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>Add sequence 2</name>
<type>Sequence</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<valuename>page</valuename>
<use_database>N</use_database>
<connection/>
<schema/>
<seqname>SEQ_</seqname>
<use_counter>Y</use_counter>
<counter_name/>
<start_at>-100</start_at>
<increment_by>1</increment_by>
<max_value>999999999</max_value>
<cluster_schema/>
<remotesteps>
<input>
</input>
<output>
</output>
</remotesteps>
<GUI>
<xloc>320</xloc>
<yloc>416</yloc>
<draw>Y</draw>
</GUI>
</step>
<step_error_handling>
</step_error_handling>
<slave-step-copy-partition-distribution>
</slave-step-copy-partition-distribution>
<slave_transformation>N</slave_transformation>
</transformation>

560
src-modules/module/mobility/etl/read_moveon/gatherObjectsPerson.ktr

@ -0,0 +1,560 @@
<?xml version="1.0" encoding="UTF-8"?><transformation>
<info>
<name>gatherObjectsPerson</name>
<description/>
<extended_description/>
<trans_version/>
<trans_type>Normal</trans_type>
<trans_status>0</trans_status>
<directory>/</directory>
<parameters>
<parameter>
<name>dataObject</name>
<default_value>person</default_value>
<description/>
</parameter>
</parameters>
<log>
<trans-log-table>
<connection/>
<schema/>
<table/>
<size_limit_lines/>
<interval/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>TRANSNAME</id>
<enabled>Y</enabled>
<name>TRANSNAME</name>
</field>
<field>
<id>STATUS</id>
<enabled>Y</enabled>
<name>STATUS</name>
</field>
<field>
<id>LINES_READ</id>
<enabled>Y</enabled>
<name>LINES_READ</name>
<subject/>
</field>
<field>
<id>LINES_WRITTEN</id>
<enabled>Y</enabled>
<name>LINES_WRITTEN</name>
<subject/>
</field>
<field>
<id>LINES_UPDATED</id>
<enabled>Y</enabled>
<name>LINES_UPDATED</name>
<subject/>
</field>
<field>
<id>LINES_INPUT</id>
<enabled>Y</enabled>
<name>LINES_INPUT</name>
<subject/>
</field>
<field>
<id>LINES_OUTPUT</id>
<enabled>Y</enabled>
<name>LINES_OUTPUT</name>
<subject/>
</field>
<field>
<id>LINES_REJECTED</id>
<enabled>Y</enabled>
<name>LINES_REJECTED</name>
<subject/>
</field>
<field>
<id>ERRORS</id>
<enabled>Y</enabled>
<name>ERRORS</name>
</field>
<field>
<id>STARTDATE</id>
<enabled>Y</enabled>
<name>STARTDATE</name>
</field>
<field>
<id>ENDDATE</id>
<enabled>Y</enabled>
<name>ENDDATE</name>
</field>
<field>
<id>LOGDATE</id>
<enabled>Y</enabled>
<name>LOGDATE</name>
</field>
<field>
<id>DEPDATE</id>
<enabled>Y</enabled>
<name>DEPDATE</name>
</field>
<field>
<id>REPLAYDATE</id>
<enabled>Y</enabled>
<name>REPLAYDATE</name>
</field>
<field>
<id>LOG_FIELD</id>
<enabled>Y</enabled>
<name>LOG_FIELD</name>
</field>
<field>
<id>EXECUTING_SERVER</id>
<enabled>N</enabled>
<name>EXECUTING_SERVER</name>
</field>
<field>
<id>EXECUTING_USER</id>
<enabled>N</enabled>
<name>EXECUTING_USER</name>
</field>
<field>
<id>CLIENT</id>
<enabled>N</enabled>
<name>CLIENT</name>
</field>
</trans-log-table>
<perf-log-table>
<connection/>
<schema/>
<table/>
<interval/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>SEQ_NR</id>
<enabled>Y</enabled>
<name>SEQ_NR</name>
</field>
<field>
<id>LOGDATE</id>
<enabled>Y</enabled>
<name>LOGDATE</name>
</field>
<field>
<id>TRANSNAME</id>
<enabled>Y</enabled>
<name>TRANSNAME</name>
</field>
<field>
<id>STEPNAME</id>
<enabled>Y</enabled>
<name>STEPNAME</name>
</field>
<field>
<id>STEP_COPY</id>
<enabled>Y</enabled>
<name>STEP_COPY</name>
</field>
<field>
<id>LINES_READ</id>
<enabled>Y</enabled>
<name>LINES_READ</name>
</field>
<field>
<id>LINES_WRITTEN</id>
<enabled>Y</enabled>
<name>LINES_WRITTEN</name>
</field>
<field>
<id>LINES_UPDATED</id>
<enabled>Y</enabled>
<name>LINES_UPDATED</name>
</field>
<field>
<id>LINES_INPUT</id>
<enabled>Y</enabled>
<name>LINES_INPUT</name>
</field>
<field>
<id>LINES_OUTPUT</id>
<enabled>Y</enabled>
<name>LINES_OUTPUT</name>
</field>
<field>
<id>LINES_REJECTED</id>
<enabled>Y</enabled>
<name>LINES_REJECTED</name>
</field>
<field>
<id>ERRORS</id>
<enabled>Y</enabled>
<name>ERRORS</name>
</field>
<field>
<id>INPUT_BUFFER_ROWS</id>
<enabled>Y</enabled>
<name>INPUT_BUFFER_ROWS</name>
</field>
<field>
<id>OUTPUT_BUFFER_ROWS</id>
<enabled>Y</enabled>
<name>OUTPUT_BUFFER_ROWS</name>
</field>
</perf-log-table>
<channel-log-table>
<connection/>
<schema/>
<table/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>LOG_DATE</id>
<enabled>Y</enabled>
<name>LOG_DATE</name>
</field>
<field>
<id>LOGGING_OBJECT_TYPE</id>
<enabled>Y</enabled>
<name>LOGGING_OBJECT_TYPE</name>
</field>
<field>
<id>OBJECT_NAME</id>
<enabled>Y</enabled>
<name>OBJECT_NAME</name>
</field>
<field>
<id>OBJECT_COPY</id>
<enabled>Y</enabled>
<name>OBJECT_COPY</name>
</field>
<field>
<id>REPOSITORY_DIRECTORY</id>
<enabled>Y</enabled>
<name>REPOSITORY_DIRECTORY</name>
</field>
<field>
<id>FILENAME</id>
<enabled>Y</enabled>
<name>FILENAME</name>
</field>
<field>
<id>OBJECT_ID</id>
<enabled>Y</enabled>
<name>OBJECT_ID</name>
</field>
<field>
<id>OBJECT_REVISION</id>
<enabled>Y</enabled>
<name>OBJECT_REVISION</name>
</field>
<field>
<id>PARENT_CHANNEL_ID</id>
<enabled>Y</enabled>
<name>PARENT_CHANNEL_ID</name>
</field>
<field>
<id>ROOT_CHANNEL_ID</id>
<enabled>Y</enabled>
<name>ROOT_CHANNEL_ID</name>
</field>
</channel-log-table>
<step-log-table>
<connection/>
<schema/>
<table/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>LOG_DATE</id>
<enabled>Y</enabled>
<name>LOG_DATE</name>
</field>
<field>
<id>TRANSNAME</id>
<enabled>Y</enabled>
<name>TRANSNAME</name>
</field>
<field>
<id>STEPNAME</id>
<enabled>Y</enabled>
<name>STEPNAME</name>
</field>
<field>
<id>STEP_COPY</id>
<enabled>Y</enabled>
<name>STEP_COPY</name>
</field>
<field>
<id>LINES_READ</id>
<enabled>Y</enabled>
<name>LINES_READ</name>
</field>
<field>
<id>LINES_WRITTEN</id>
<enabled>Y</enabled>
<name>LINES_WRITTEN</name>
</field>
<field>
<id>LINES_UPDATED</id>
<enabled>Y</enabled>
<name>LINES_UPDATED</name>
</field>
<field>
<id>LINES_INPUT</id>
<enabled>Y</enabled>
<name>LINES_INPUT</name>
</field>
<field>
<id>LINES_OUTPUT</id>
<enabled>Y</enabled>
<name>LINES_OUTPUT</name>
</field>
<field>
<id>LINES_REJECTED</id>
<enabled>Y</enabled>
<name>LINES_REJECTED</name>
</field>
<field>
<id>ERRORS</id>
<enabled>Y</enabled>
<name>ERRORS</name>
</field>
<field>
<id>LOG_FIELD</id>
<enabled>N</enabled>
<name>LOG_FIELD</name>
</field>
</step-log-table>
<metrics-log-table>
<connection/>
<schema/>
<table/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>LOG_DATE</id>
<enabled>Y</enabled>
<name>LOG_DATE</name>
</field>
<field>
<id>METRICS_DATE</id>
<enabled>Y</enabled>
<name>METRICS_DATE</name>
</field>
<field>
<id>METRICS_CODE</id>
<enabled>Y</enabled>
<name>METRICS_CODE</name>
</field>
<field>
<id>METRICS_DESCRIPTION</id>
<enabled>Y</enabled>
<name>METRICS_DESCRIPTION</name>
</field>
<field>
<id>METRICS_SUBJECT</id>
<enabled>Y</enabled>
<name>METRICS_SUBJECT</name>
</field>
<field>
<id>METRICS_TYPE</id>
<enabled>Y</enabled>
<name>METRICS_TYPE</name>
</field>
<field>
<id>METRICS_VALUE</id>
<enabled>Y</enabled>
<name>METRICS_VALUE</name>
</field>
</metrics-log-table>
</log>
<maxdate>
<connection/>
<table/>
<field/>
<offset>0.0</offset>
<maxdiff>0.0</maxdiff>
</maxdate>
<size_rowset>10000</size_rowset>
<sleep_time_empty>50</sleep_time_empty>
<sleep_time_full>50</sleep_time_full>
<unique_connections>N</unique_connections>
<feedback_shown>Y</feedback_shown>
<feedback_size>50000</feedback_size>
<using_thread_priorities>Y</using_thread_priorities>
<shared_objects_file/>
<capture_step_performance>N</capture_step_performance>
<step_performance_capturing_delay>1000</step_performance_capturing_delay>
<step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
<dependencies/>
<partitionschemas/>
<slaveservers/>
<clusterschemas/>
<created_user>-</created_user>
<created_date>2017/10/03 21:34:06.134</created_date>
<modified_user>-</modified_user>
<modified_date>2017/10/03 21:34:06.134</modified_date>
<key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA=</key_for_session_key>
<is_key_private>N</is_key_private>
</info>
<notepads/>
<order>
<hop>
<from>Generate Rows</from>
<to>Add sequence</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Add sequence</from>
<to>Copy rows to result</to>
<enabled>Y</enabled>
</hop>
</order>
<step>
<name>Add sequence</name>
<type>Sequence</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<valuename>page</valuename>
<use_database>N</use_database>
<connection/>
<schema/>
<seqname>SEQ_</seqname>
<use_counter>Y</use_counter>
<counter_name/>
<start_at>1</start_at>
<increment_by>1</increment_by>
<max_value>999999999</max_value>
<cluster_schema/>
<remotesteps>
<input/>
<output/>
</remotesteps>
<GUI>
<xloc>320</xloc>
<yloc>320</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>Copy rows to result</name>
<type>RowsToResult</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<cluster_schema/>
<remotesteps>
<input/>
<output/>
</remotesteps>
<GUI>
<xloc>528</xloc>
<yloc>304</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>Generate Rows</name>
<type>RowGenerator</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<fields>
<field>
<name>dataObject</name>
<type>String</type>
<format/>
<currency/>
<decimal/>
<group/>
<nullif>person</nullif>
<length>-1</length>
<precision>-1</precision>
<set_empty_string>N</set_empty_string>
</field>
<field>
<name>rows</name>
<type>Integer</type>
<format/>
<currency/>
<decimal/>
<group/>
<nullif>250</nullif>
<length>-1</length>
<precision>-1</precision>
<set_empty_string>N</set_empty_string>
</field>
</fields>
<limit>100</limit>
<never_ending>N</never_ending>
<interval_in_ms>5000</interval_in_ms>
<row_time_field>now</row_time_field>
<last_time_field>FiveSecondsAgo</last_time_field>
<cluster_schema/>
<remotesteps>
<input/>
<output/>
</remotesteps>
<GUI>
<xloc>160</xloc>
<yloc>320</yloc>
<draw>Y</draw>
</GUI>
</step>
<step_error_handling/>
<slave-step-copy-partition-distribution/>
<slave_transformation>N</slave_transformation>
</transformation>

560
src-modules/module/mobility/etl/read_moveon/gatherObjectsStay.ktr

@ -0,0 +1,560 @@
<?xml version="1.0" encoding="UTF-8"?><transformation>
<info>
<name>gatherObjectsStay</name>
<description/>
<extended_description/>
<trans_version/>
<trans_type>Normal</trans_type>
<trans_status>0</trans_status>
<directory>/</directory>
<parameters>
<parameter>
<name>dataObject</name>
<default_value>person</default_value>
<description/>
</parameter>
</parameters>
<log>
<trans-log-table>
<connection/>
<schema/>
<table/>
<size_limit_lines/>
<interval/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>TRANSNAME</id>
<enabled>Y</enabled>
<name>TRANSNAME</name>
</field>
<field>
<id>STATUS</id>
<enabled>Y</enabled>
<name>STATUS</name>
</field>
<field>
<id>LINES_READ</id>
<enabled>Y</enabled>
<name>LINES_READ</name>
<subject/>
</field>
<field>
<id>LINES_WRITTEN</id>
<enabled>Y</enabled>
<name>LINES_WRITTEN</name>
<subject/>
</field>
<field>
<id>LINES_UPDATED</id>
<enabled>Y</enabled>
<name>LINES_UPDATED</name>
<subject/>
</field>
<field>
<id>LINES_INPUT</id>
<enabled>Y</enabled>
<name>LINES_INPUT</name>
<subject/>
</field>
<field>
<id>LINES_OUTPUT</id>
<enabled>Y</enabled>
<name>LINES_OUTPUT</name>
<subject/>
</field>
<field>
<id>LINES_REJECTED</id>
<enabled>Y</enabled>
<name>LINES_REJECTED</name>
<subject/>
</field>
<field>
<id>ERRORS</id>
<enabled>Y</enabled>
<name>ERRORS</name>
</field>
<field>
<id>STARTDATE</id>
<enabled>Y</enabled>
<name>STARTDATE</name>
</field>
<field>
<id>ENDDATE</id>
<enabled>Y</enabled>
<name>ENDDATE</name>
</field>
<field>
<id>LOGDATE</id>
<enabled>Y</enabled>
<name>LOGDATE</name>
</field>
<field>
<id>DEPDATE</id>
<enabled>Y</enabled>
<name>DEPDATE</name>
</field>
<field>
<id>REPLAYDATE</id>
<enabled>Y</enabled>
<name>REPLAYDATE</name>
</field>
<field>
<id>LOG_FIELD</id>
<enabled>Y</enabled>
<name>LOG_FIELD</name>
</field>
<field>
<id>EXECUTING_SERVER</id>
<enabled>N</enabled>
<name>EXECUTING_SERVER</name>
</field>
<field>
<id>EXECUTING_USER</id>
<enabled>N</enabled>
<name>EXECUTING_USER</name>
</field>
<field>
<id>CLIENT</id>
<enabled>N</enabled>
<name>CLIENT</name>
</field>
</trans-log-table>
<perf-log-table>
<connection/>
<schema/>
<table/>
<interval/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>SEQ_NR</id>
<enabled>Y</enabled>
<name>SEQ_NR</name>
</field>
<field>
<id>LOGDATE</id>
<enabled>Y</enabled>
<name>LOGDATE</name>
</field>
<field>
<id>TRANSNAME</id>
<enabled>Y</enabled>
<name>TRANSNAME</name>
</field>
<field>
<id>STEPNAME</id>
<enabled>Y</enabled>
<name>STEPNAME</name>
</field>
<field>
<id>STEP_COPY</id>
<enabled>Y</enabled>
<name>STEP_COPY</name>
</field>
<field>
<id>LINES_READ</id>
<enabled>Y</enabled>
<name>LINES_READ</name>
</field>
<field>
<id>LINES_WRITTEN</id>
<enabled>Y</enabled>
<name>LINES_WRITTEN</name>
</field>
<field>
<id>LINES_UPDATED</id>
<enabled>Y</enabled>
<name>LINES_UPDATED</name>
</field>
<field>
<id>LINES_INPUT</id>
<enabled>Y</enabled>
<name>LINES_INPUT</name>
</field>
<field>
<id>LINES_OUTPUT</id>
<enabled>Y</enabled>
<name>LINES_OUTPUT</name>
</field>
<field>
<id>LINES_REJECTED</id>
<enabled>Y</enabled>
<name>LINES_REJECTED</name>
</field>
<field>
<id>ERRORS</id>
<enabled>Y</enabled>
<name>ERRORS</name>
</field>
<field>
<id>INPUT_BUFFER_ROWS</id>
<enabled>Y</enabled>
<name>INPUT_BUFFER_ROWS</name>
</field>
<field>
<id>OUTPUT_BUFFER_ROWS</id>
<enabled>Y</enabled>
<name>OUTPUT_BUFFER_ROWS</name>
</field>
</perf-log-table>
<channel-log-table>
<connection/>
<schema/>
<table/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>LOG_DATE</id>
<enabled>Y</enabled>
<name>LOG_DATE</name>
</field>
<field>
<id>LOGGING_OBJECT_TYPE</id>
<enabled>Y</enabled>
<name>LOGGING_OBJECT_TYPE</name>
</field>
<field>
<id>OBJECT_NAME</id>
<enabled>Y</enabled>
<name>OBJECT_NAME</name>
</field>
<field>
<id>OBJECT_COPY</id>
<enabled>Y</enabled>
<name>OBJECT_COPY</name>
</field>
<field>
<id>REPOSITORY_DIRECTORY</id>
<enabled>Y</enabled>
<name>REPOSITORY_DIRECTORY</name>
</field>
<field>
<id>FILENAME</id>
<enabled>Y</enabled>
<name>FILENAME</name>
</field>
<field>
<id>OBJECT_ID</id>
<enabled>Y</enabled>
<name>OBJECT_ID</name>
</field>
<field>
<id>OBJECT_REVISION</id>
<enabled>Y</enabled>
<name>OBJECT_REVISION</name>
</field>
<field>
<id>PARENT_CHANNEL_ID</id>
<enabled>Y</enabled>
<name>PARENT_CHANNEL_ID</name>
</field>
<field>
<id>ROOT_CHANNEL_ID</id>
<enabled>Y</enabled>
<name>ROOT_CHANNEL_ID</name>
</field>
</channel-log-table>
<step-log-table>
<connection/>
<schema/>
<table/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>LOG_DATE</id>
<enabled>Y</enabled>
<name>LOG_DATE</name>
</field>
<field>
<id>TRANSNAME</id>
<enabled>Y</enabled>
<name>TRANSNAME</name>
</field>
<field>
<id>STEPNAME</id>
<enabled>Y</enabled>
<name>STEPNAME</name>
</field>
<field>
<id>STEP_COPY</id>
<enabled>Y</enabled>
<name>STEP_COPY</name>
</field>
<field>
<id>LINES_READ</id>
<enabled>Y</enabled>
<name>LINES_READ</name>
</field>
<field>
<id>LINES_WRITTEN</id>
<enabled>Y</enabled>
<name>LINES_WRITTEN</name>
</field>
<field>
<id>LINES_UPDATED</id>
<enabled>Y</enabled>
<name>LINES_UPDATED</name>
</field>
<field>
<id>LINES_INPUT</id>
<enabled>Y</enabled>
<name>LINES_INPUT</name>
</field>
<field>
<id>LINES_OUTPUT</id>
<enabled>Y</enabled>
<name>LINES_OUTPUT</name>
</field>
<field>
<id>LINES_REJECTED</id>
<enabled>Y</enabled>
<name>LINES_REJECTED</name>
</field>
<field>
<id>ERRORS</id>
<enabled>Y</enabled>
<name>ERRORS</name>
</field>
<field>
<id>LOG_FIELD</id>
<enabled>N</enabled>
<name>LOG_FIELD</name>
</field>
</step-log-table>
<metrics-log-table>
<connection/>
<schema/>
<table/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>LOG_DATE</id>
<enabled>Y</enabled>
<name>LOG_DATE</name>
</field>
<field>
<id>METRICS_DATE</id>
<enabled>Y</enabled>
<name>METRICS_DATE</name>
</field>
<field>
<id>METRICS_CODE</id>
<enabled>Y</enabled>
<name>METRICS_CODE</name>
</field>
<field>
<id>METRICS_DESCRIPTION</id>
<enabled>Y</enabled>
<name>METRICS_DESCRIPTION</name>
</field>
<field>
<id>METRICS_SUBJECT</id>
<enabled>Y</enabled>
<name>METRICS_SUBJECT</name>
</field>
<field>
<id>METRICS_TYPE</id>
<enabled>Y</enabled>
<name>METRICS_TYPE</name>
</field>
<field>
<id>METRICS_VALUE</id>
<enabled>Y</enabled>
<name>METRICS_VALUE</name>
</field>
</metrics-log-table>
</log>
<maxdate>
<connection/>
<table/>
<field/>
<offset>0.0</offset>
<maxdiff>0.0</maxdiff>
</maxdate>
<size_rowset>10000</size_rowset>
<sleep_time_empty>50</sleep_time_empty>
<sleep_time_full>50</sleep_time_full>
<unique_connections>N</unique_connections>
<feedback_shown>Y</feedback_shown>
<feedback_size>50000</feedback_size>
<using_thread_priorities>Y</using_thread_priorities>
<shared_objects_file/>
<capture_step_performance>N</capture_step_performance>
<step_performance_capturing_delay>1000</step_performance_capturing_delay>
<step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
<dependencies/>
<partitionschemas/>
<slaveservers/>
<clusterschemas/>
<created_user>-</created_user>
<created_date>2017/10/03 21:34:06.134</created_date>
<modified_user>-</modified_user>
<modified_date>2017/10/03 21:34:06.134</modified_date>
<key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA=</key_for_session_key>
<is_key_private>N</is_key_private>
</info>
<notepads/>
<order>
<hop>
<from>Generate Rows 2</from>
<to>Add sequence 2</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Add sequence 2</from>
<to>Copy rows to result</to>
<enabled>Y</enabled>
</hop>
</order>
<step>
<name>Add sequence 2</name>
<type>Sequence</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<valuename>page</valuename>
<use_database>N</use_database>
<connection/>
<schema/>
<seqname>SEQ_</seqname>
<use_counter>Y</use_counter>
<counter_name/>
<start_at>1</start_at>
<increment_by>1</increment_by>
<max_value>999999999</max_value>
<cluster_schema/>
<remotesteps>
<input/>
<output/>
</remotesteps>
<GUI>
<xloc>320</xloc>
<yloc>288</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>Copy rows to result</name>
<type>RowsToResult</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<cluster_schema/>
<remotesteps>
<input/>
<output/>
</remotesteps>
<GUI>
<xloc>528</xloc>
<yloc>304</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>Generate Rows 2</name>
<type>RowGenerator</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<fields>
<field>
<name>dataObject</name>
<type>String</type>
<format/>
<currency/>
<decimal/>
<group/>
<nullif>stay</nullif>
<length>-1</length>
<precision>-1</precision>
<set_empty_string>N</set_empty_string>
</field>
<field>
<name>rows</name>
<type>Integer</type>
<format/>
<currency/>
<decimal/>
<group/>
<nullif>250</nullif>
<length>-1</length>
<precision>-1</precision>
<set_empty_string>N</set_empty_string>
</field>
</fields>
<limit>100</limit>
<never_ending>N</never_ending>
<interval_in_ms>5000</interval_in_ms>
<row_time_field>now</row_time_field>
<last_time_field>FiveSecondsAgo</last_time_field>
<cluster_schema/>
<remotesteps>
<input/>
<output/>
</remotesteps>
<GUI>
<xloc>144</xloc>
<yloc>288</yloc>
<draw>Y</draw>
</GUI>
</step>
<step_error_handling/>
<slave-step-copy-partition-distribution/>
<slave_transformation>N</slave_transformation>
</transformation>

947
src-modules/module/mobility/etl/read_moveon/loadMoveOn.kjb

@ -0,0 +1,947 @@
<?xml version="1.0" encoding="UTF-8"?>
<job>
<name>loadMoveOn</name>
<description/>
<extended_description/>
<job_version/>
<job_status>0</job_status>
<directory>&#x2f;</directory>
<created_user>-</created_user>
<created_date>2017&#x2f;09&#x2f;28 23&#x3a;26&#x3a;46.244</created_date>
<modified_user>-</modified_user>
<modified_date>2017&#x2f;09&#x2f;28 23&#x3a;26&#x3a;46.244</modified_date>
<parameters>
</parameters>
<slaveservers>
</slaveservers>
<job-log-table>
<connection/>
<schema/>
<table/>
<size_limit_lines/>
<interval/>
<timeout_days/>
<field>
<id>ID_JOB</id>
<enabled>Y</enabled>
<name>ID_JOB</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>JOBNAME</id>
<enabled>Y</enabled>
<name>JOBNAME</name>
</field>
<field>
<id>STATUS</id>
<enabled>Y</enabled>
<name>STATUS</name>
</field>
<field>
<id>LINES_READ</id>
<enabled>Y</enabled>
<name>LINES_READ</name>
</field>
<field>
<id>LINES_WRITTEN</id>
<enabled>Y</enabled>
<name>LINES_WRITTEN</name>
</field>
<field>
<id>LINES_UPDATED</id>
<enabled>Y</enabled>
<name>LINES_UPDATED</name>
</field>
<field>
<id>LINES_INPUT</id>
<enabled>Y</enabled>
<name>LINES_INPUT</name>
</field>
<field>
<id>LINES_OUTPUT</id>
<enabled>Y</enabled>
<name>LINES_OUTPUT</name>
</field>
<field>
<id>LINES_REJECTED</id>
<enabled>Y</enabled>
<name>LINES_REJECTED</name>
</field>
<field>
<id>ERRORS</id>
<enabled>Y</enabled>
<name>ERRORS</name>
</field>
<field>
<id>STARTDATE</id>
<enabled>Y</enabled>
<name>STARTDATE</name>
</field>
<field>
<id>ENDDATE</id>
<enabled>Y</enabled>
<name>ENDDATE</name>
</field>
<field>
<id>LOGDATE</id>
<enabled>Y</enabled>
<name>LOGDATE</name>
</field>
<field>
<id>DEPDATE</id>
<enabled>Y</enabled>
<name>DEPDATE</name>
</field>
<field>
<id>REPLAYDATE</id>
<enabled>Y</enabled>
<name>REPLAYDATE</name>
</field>
<field>
<id>LOG_FIELD</id>
<enabled>Y</enabled>
<name>LOG_FIELD</name>
</field>
<field>
<id>EXECUTING_SERVER</id>
<enabled>N</enabled>
<name>EXECUTING_SERVER</name>
</field>
<field>
<id>EXECUTING_USER</id>
<enabled>N</enabled>
<name>EXECUTING_USER</name>
</field>
<field>
<id>START_JOB_ENTRY</id>
<enabled>N</enabled>
<name>START_JOB_ENTRY</name>
</field>
<field>
<id>CLIENT</id>
<enabled>N</enabled>
<name>CLIENT</name>
</field>
</job-log-table>
<jobentry-log-table>
<connection/>
<schema/>
<table/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>LOG_DATE</id>
<enabled>Y</enabled>
<name>LOG_DATE</name>
</field>
<field>
<id>JOBNAME</id>
<enabled>Y</enabled>
<name>TRANSNAME</name>
</field>
<field>
<id>JOBENTRYNAME</id>
<enabled>Y</enabled>
<name>STEPNAME</name>
</field>
<field>
<id>LINES_READ</id>
<enabled>Y</enabled>
<name>LINES_READ</name>
</field>
<field>
<id>LINES_WRITTEN</id>
<enabled>Y</enabled>
<name>LINES_WRITTEN</name>
</field>
<field>
<id>LINES_UPDATED</id>
<enabled>Y</enabled>
<name>LINES_UPDATED</name>
</field>
<field>
<id>LINES_INPUT</id>
<enabled>Y</enabled>
<name>LINES_INPUT</name>
</field>
<field>
<id>LINES_OUTPUT</id>
<enabled>Y</enabled>
<name>LINES_OUTPUT</name>
</field>
<field>
<id>LINES_REJECTED</id>
<enabled>Y</enabled>
<name>LINES_REJECTED</name>
</field>
<field>
<id>ERRORS</id>
<enabled>Y</enabled>
<name>ERRORS</name>
</field>
<field>
<id>RESULT</id>
<enabled>Y</enabled>
<name>RESULT</name>
</field>
<field>
<id>NR_RESULT_ROWS</id>
<enabled>Y</enabled>
<name>NR_RESULT_ROWS</name>
</field>
<field>
<id>NR_RESULT_FILES</id>
<enabled>Y</enabled>
<name>NR_RESULT_FILES</name>
</field>
<field>
<id>LOG_FIELD</id>
<enabled>N</enabled>
<name>LOG_FIELD</name>
</field>
<field>
<id>COPY_NR</id>
<enabled>N</enabled>
<name>COPY_NR</name>
</field>
</jobentry-log-table>
<channel-log-table>
<connection/>
<schema/>
<table/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>LOG_DATE</id>
<enabled>Y</enabled>
<name>LOG_DATE</name>
</field>
<field>
<id>LOGGING_OBJECT_TYPE</id>
<enabled>Y</enabled>
<name>LOGGING_OBJECT_TYPE</name>
</field>
<field>
<id>OBJECT_NAME</id>
<enabled>Y</enabled>
<name>OBJECT_NAME</name>
</field>
<field>
<id>OBJECT_COPY</id>
<enabled>Y</enabled>
<name>OBJECT_COPY</name>
</field>
<field>
<id>REPOSITORY_DIRECTORY</id>
<enabled>Y</enabled>
<name>REPOSITORY_DIRECTORY</name>
</field>
<field>
<id>FILENAME</id>
<enabled>Y</enabled>
<name>FILENAME</name>
</field>
<field>
<id>OBJECT_ID</id>
<enabled>Y</enabled>
<name>OBJECT_ID</name>
</field>
<field>
<id>OBJECT_REVISION</id>
<enabled>Y</enabled>
<name>OBJECT_REVISION</name>
</field>
<field>
<id>PARENT_CHANNEL_ID</id>
<enabled>Y</enabled>
<name>PARENT_CHANNEL_ID</name>
</field>
<field>
<id>ROOT_CHANNEL_ID</id>
<enabled>Y</enabled>
<name>ROOT_CHANNEL_ID</name>
</field>
</channel-log-table>
<pass_batchid>N</pass_batchid>
<shared_objects_file/>
<entries>
<entry>
<name>START</name>
<description/>
<type>SPECIAL</type>
<start>Y</start>
<dummy>N</dummy>
<repeat>N</repeat>
<schedulerType>0</schedulerType>
<intervalSeconds>0</intervalSeconds>
<intervalMinutes>60</intervalMinutes>
<hour>12</hour>
<minutes>0</minutes>
<weekDay>1</weekDay>
<DayOfMonth>1</DayOfMonth>
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>96</xloc>
<yloc>112</yloc>
</entry>
<entry>
<name>gatherObjectsPerson</name>
<description/>
<type>TRANS</type>
<specification_method>filename</specification_method>
<trans_object_id/>
<filename>&#x24;&#x7b;Internal.Job.Filename.Directory&#x7d;&#x2f;gatherObjectsPerson.ktr</filename>
<transname/>
<arg_from_previous>N</arg_from_previous>
<params_from_previous>N</params_from_previous>
<exec_per_row>N</exec_per_row>
<clear_rows>N</clear_rows>
<clear_files>N</clear_files>
<set_logfile>N</set_logfile>
<logfile/>
<logext/>
<add_date>N</add_date>
<add_time>N</add_time>
<loglevel>Basic</loglevel>
<cluster>N</cluster>
<slave_server_name/>
<set_append_logfile>N</set_append_logfile>
<wait_until_finished>Y</wait_until_finished>
<follow_abort_remote>N</follow_abort_remote>
<create_parent_folder>N</create_parent_folder>
<logging_remote_work>N</logging_remote_work>
<parameters>
<pass_all_parameters>Y</pass_all_parameters>
</parameters>
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>256</xloc>
<yloc>112</yloc>
</entry>
<entry>
<name>apiload</name>
<description/>
<type>TRANS</type>
<specification_method>filename</specification_method>
<trans_object_id/>
<filename>&#x24;&#x7b;Internal.Job.Filename.Directory&#x7d;&#x2f;apiload.ktr</filename>
<transname/>
<arg_from_previous>N</arg_from_previous>
<params_from_previous>Y</params_from_previous>
<exec_per_row>Y</exec_per_row>
<clear_rows>N</clear_rows>
<clear_files>N</clear_files>
<set_logfile>N</set_logfile>
<logfile/>
<logext/>
<add_date>N</add_date>
<add_time>N</add_time>
<loglevel>Basic</loglevel>
<cluster>N</cluster>
<slave_server_name/>
<set_append_logfile>N</set_append_logfile>
<wait_until_finished>Y</wait_until_finished>
<follow_abort_remote>N</follow_abort_remote>
<create_parent_folder>N</create_parent_folder>
<logging_remote_work>N</logging_remote_work>
<parameters>
<pass_all_parameters>Y</pass_all_parameters>
<parameter>
<name>dataObject</name>
<stream_name>dataObject</stream_name>
<value/>
</parameter>
<parameter>
<name>page</name>
<stream_name>page</stream_name>
<value/>
</parameter>
<parameter>
<name>rows</name>
<stream_name>rows</stream_name>
<value/>
</parameter>
</parameters>
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>368</xloc>
<yloc>112</yloc>
</entry>
<entry>
<name>executeApiLoad</name>
<description/>
<type>JOB</type>
<specification_method>filename</specification_method>
<job_object_id/>
<filename>&#x24;&#x7b;Internal.Job.Filename.Directory&#x7d;&#x2f;apiload.kjb</filename>
<jobname/>
<arg_from_previous>N</arg_from_previous>
<params_from_previous>Y</params_from_previous>
<exec_per_row>Y</exec_per_row>
<set_logfile>N</set_logfile>
<logfile/>
<logext/>
<add_date>N</add_date>
<add_time>N</add_time>
<loglevel>Nothing</loglevel>
<slave_server_name/>
<wait_until_finished>Y</wait_until_finished>
<follow_abort_remote>N</follow_abort_remote>
<expand_remote_job>N</expand_remote_job>
<create_parent_folder>N</create_parent_folder>
<pass_export>N</pass_export>
<parameters> <pass_all_parameters>Y</pass_all_parameters>
<parameter> <name>dataObject</name>
<stream_name>dataObject</stream_name>
<value/>
</parameter> <parameter> <name>page</name>
<stream_name>page</stream_name>
<value/>
</parameter> <parameter> <name>rows</name>
<stream_name>rows</stream_name>
<value/>
</parameter> </parameters> <set_append_logfile>N</set_append_logfile>
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>656</xloc>
<yloc>112</yloc>
</entry>
<entry>
<name>gatherObjects Person 2</name>
<description/>
<type>TRANS</type>
<specification_method>filename</specification_method>
<trans_object_id/>
<filename>&#x24;&#x7b;Internal.Job.Filename.Directory&#x7d;&#x2f;gatherObjectsPerson.ktr</filename>
<transname/>
<arg_from_previous>N</arg_from_previous>
<params_from_previous>N</params_from_previous>
<exec_per_row>N</exec_per_row>
<clear_rows>N</clear_rows>
<clear_files>N</clear_files>
<set_logfile>N</set_logfile>
<logfile/>
<logext/>
<add_date>N</add_date>
<add_time>N</add_time>
<loglevel>Basic</loglevel>
<cluster>N</cluster>
<slave_server_name/>
<set_append_logfile>N</set_append_logfile>
<wait_until_finished>Y</wait_until_finished>
<follow_abort_remote>N</follow_abort_remote>
<create_parent_folder>N</create_parent_folder>
<logging_remote_work>N</logging_remote_work>
<parameters>
<pass_all_parameters>Y</pass_all_parameters>
</parameters>
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>528</xloc>
<yloc>112</yloc>
</entry>
<entry>
<name>gatherObjects Person 3</name>
<description/>
<type>TRANS</type>
<specification_method>filename</specification_method>
<trans_object_id/>
<filename>&#x24;&#x7b;Internal.Job.Filename.Directory&#x7d;&#x2f;gatherObjectsPerson.ktr</filename>
<transname/>
<arg_from_previous>N</arg_from_previous>
<params_from_previous>N</params_from_previous>
<exec_per_row>N</exec_per_row>
<clear_rows>N</clear_rows>
<clear_files>N</clear_files>
<set_logfile>N</set_logfile>
<logfile/>
<logext/>
<add_date>N</add_date>
<add_time>N</add_time>
<loglevel>Basic</loglevel>
<cluster>N</cluster>
<slave_server_name/>
<set_append_logfile>N</set_append_logfile>
<wait_until_finished>Y</wait_until_finished>
<follow_abort_remote>N</follow_abort_remote>
<create_parent_folder>N</create_parent_folder>
<logging_remote_work>N</logging_remote_work>
<parameters>
<pass_all_parameters>Y</pass_all_parameters>
</parameters>
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>656</xloc>
<yloc>240</yloc>
</entry>
<entry>
<name>zend2csv</name>
<description/>
<type>TRANS</type>
<specification_method>filename</specification_method>
<trans_object_id/>
<filename>&#x24;&#x7b;Internal.Job.Filename.Directory&#x7d;&#x2f;zend2csv.ktr</filename>
<transname/>
<arg_from_previous>N</arg_from_previous>
<params_from_previous>Y</params_from_previous>
<exec_per_row>Y</exec_per_row>
<clear_rows>N</clear_rows>
<clear_files>N</clear_files>
<set_logfile>N</set_logfile>
<logfile/>
<logext/>
<add_date>N</add_date>
<add_time>N</add_time>
<loglevel>Basic</loglevel>
<cluster>N</cluster>
<slave_server_name/>
<set_append_logfile>N</set_append_logfile>
<wait_until_finished>Y</wait_until_finished>
<follow_abort_remote>N</follow_abort_remote>
<create_parent_folder>N</create_parent_folder>
<logging_remote_work>N</logging_remote_work>
<parameters>
<pass_all_parameters>Y</pass_all_parameters>
<parameter>
<name>dataObject</name>
<stream_name>dataObject</stream_name>
<value/>
</parameter>
<parameter>
<name>page</name>
<stream_name>page</stream_name>
<value/>
</parameter>
</parameters>
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>624</xloc>
<yloc>464</yloc>
</entry>
<entry>
<name>gatherObjectsStay</name>
<description/>
<type>TRANS</type>
<specification_method>filename</specification_method>
<trans_object_id/>
<filename>&#x24;&#x7b;Internal.Job.Filename.Directory&#x7d;&#x2f;gatherObjectsStay.ktr</filename>
<transname/>
<arg_from_previous>N</arg_from_previous>
<params_from_previous>N</params_from_previous>
<exec_per_row>Y</exec_per_row>
<clear_rows>Y</clear_rows>
<clear_files>N</clear_files>
<set_logfile>N</set_logfile>
<logfile/>
<logext/>
<add_date>N</add_date>
<add_time>N</add_time>
<loglevel>Basic</loglevel>
<cluster>N</cluster>
<slave_server_name/>
<set_append_logfile>N</set_append_logfile>
<wait_until_finished>Y</wait_until_finished>
<follow_abort_remote>N</follow_abort_remote>
<create_parent_folder>N</create_parent_folder>
<logging_remote_work>N</logging_remote_work>
<parameters>
<pass_all_parameters>Y</pass_all_parameters>
</parameters>
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>464</xloc>
<yloc>352</yloc>
</entry>
<entry>
<name>apiload 2</name>
<description/>
<type>TRANS</type>
<specification_method>filename</specification_method>
<trans_object_id/>
<filename>&#x24;&#x7b;Internal.Job.Filename.Directory&#x7d;&#x2f;apiload.ktr</filename>
<transname/>
<arg_from_previous>N</arg_from_previous>
<params_from_previous>Y</params_from_previous>
<exec_per_row>Y</exec_per_row>
<clear_rows>N</clear_rows>
<clear_files>N</clear_files>
<set_logfile>N</set_logfile>
<logfile/>
<logext/>
<add_date>N</add_date>
<add_time>N</add_time>
<loglevel>Basic</loglevel>
<cluster>N</cluster>
<slave_server_name/>
<set_append_logfile>N</set_append_logfile>
<wait_until_finished>Y</wait_until_finished>
<follow_abort_remote>N</follow_abort_remote>
<create_parent_folder>N</create_parent_folder>
<logging_remote_work>N</logging_remote_work>
<parameters>
<pass_all_parameters>Y</pass_all_parameters>
<parameter>
<name>dataObject</name>
<stream_name>dataObject</stream_name>
<value/>
</parameter>
<parameter>
<name>page</name>
<stream_name>page</stream_name>
<value/>
</parameter>
<parameter>
<name>rows</name>
<stream_name>rows</stream_name>
<value/>
</parameter>
</parameters>
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>320</xloc>
<yloc>352</yloc>
</entry>
<entry>
<name>gatherObjectsStay 2</name>
<description/>
<type>TRANS</type>
<specification_method>filename</specification_method>
<trans_object_id/>
<filename>&#x24;&#x7b;Internal.Job.Filename.Directory&#x7d;&#x2f;gatherObjectsStay.ktr</filename>
<transname/>
<arg_from_previous>N</arg_from_previous>
<params_from_previous>N</params_from_previous>
<exec_per_row>Y</exec_per_row>
<clear_rows>Y</clear_rows>
<clear_files>N</clear_files>
<set_logfile>N</set_logfile>
<logfile/>
<logext/>
<add_date>N</add_date>
<add_time>N</add_time>
<loglevel>Basic</loglevel>
<cluster>N</cluster>
<slave_server_name/>
<set_append_logfile>N</set_append_logfile>
<wait_until_finished>Y</wait_until_finished>
<follow_abort_remote>N</follow_abort_remote>
<create_parent_folder>N</create_parent_folder>
<logging_remote_work>N</logging_remote_work>
<parameters>
<pass_all_parameters>Y</pass_all_parameters>
</parameters>
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>176</xloc>
<yloc>352</yloc>
</entry>
<entry>
<name>executeApiLoad 2</name>
<description/>
<type>JOB</type>
<specification_method>filename</specification_method>
<job_object_id/>
<filename>&#x24;&#x7b;Internal.Job.Filename.Directory&#x7d;&#x2f;apiload.kjb</filename>
<jobname/>
<arg_from_previous>N</arg_from_previous>
<params_from_previous>Y</params_from_previous>
<exec_per_row>Y</exec_per_row>
<set_logfile>N</set_logfile>
<logfile/>
<logext/>
<add_date>N</add_date>
<add_time>N</add_time>
<loglevel>Nothing</loglevel>
<slave_server_name/>
<wait_until_finished>Y</wait_until_finished>
<follow_abort_remote>N</follow_abort_remote>
<expand_remote_job>N</expand_remote_job>
<create_parent_folder>N</create_parent_folder>
<pass_export>N</pass_export>
<parameters> <pass_all_parameters>Y</pass_all_parameters>
<parameter> <name>dataObject</name>
<stream_name>dataObject</stream_name>
<value/>
</parameter> <parameter> <name>page</name>
<stream_name>page</stream_name>
<value/>
</parameter> <parameter> <name>rows</name>
<stream_name>rows</stream_name>
<value/>
</parameter> </parameters> <set_append_logfile>N</set_append_logfile>
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>176</xloc>
<yloc>464</yloc>
</entry>
<entry>
<name>gatherObjectsStay 3</name>
<description/>
<type>TRANS</type>
<specification_method>filename</specification_method>
<trans_object_id/>
<filename>&#x24;&#x7b;Internal.Job.Filename.Directory&#x7d;&#x2f;gatherObjectsStay.ktr</filename>
<transname/>
<arg_from_previous>N</arg_from_previous>
<params_from_previous>N</params_from_previous>
<exec_per_row>Y</exec_per_row>
<clear_rows>Y</clear_rows>
<clear_files>N</clear_files>
<set_logfile>N</set_logfile>
<logfile/>
<logext/>
<add_date>N</add_date>
<add_time>N</add_time>
<loglevel>Basic</loglevel>
<cluster>N</cluster>
<slave_server_name/>
<set_append_logfile>N</set_append_logfile>
<wait_until_finished>Y</wait_until_finished>
<follow_abort_remote>N</follow_abort_remote>
<create_parent_folder>N</create_parent_folder>
<logging_remote_work>N</logging_remote_work>
<parameters>
<pass_all_parameters>Y</pass_all_parameters>
</parameters>
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>384</xloc>
<yloc>464</yloc>
</entry>
<entry>
<name>upload_csv 2</name>
<description/>
<type>TRANS</type>
<specification_method>filename</specification_method>
<trans_object_id/>
<filename>&#x24;&#x7b;Internal.Job.Filename.Directory&#x7d;&#x2f;upload_csv.ktr</filename>
<transname/>
<arg_from_previous>N</arg_from_previous>
<params_from_previous>Y</params_from_previous>
<exec_per_row>Y</exec_per_row>
<clear_rows>N</clear_rows>
<clear_files>N</clear_files>
<set_logfile>N</set_logfile>
<logfile/>
<logext/>
<add_date>N</add_date>
<add_time>N</add_time>
<loglevel>Basic</loglevel>
<cluster>N</cluster>
<slave_server_name/>
<set_append_logfile>N</set_append_logfile>
<wait_until_finished>Y</wait_until_finished>
<follow_abort_remote>N</follow_abort_remote>
<create_parent_folder>N</create_parent_folder>
<logging_remote_work>N</logging_remote_work>
<parameters>
<pass_all_parameters>Y</pass_all_parameters>
</parameters>
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>608</xloc>
<yloc>624</yloc>
</entry>
<entry>
<name>zend2csv 2</name>
<description/>
<type>TRANS</type>
<specification_method>filename</specification_method>
<trans_object_id/>
<filename>&#x24;&#x7b;Internal.Job.Filename.Directory&#x7d;&#x2f;zend2csv.ktr</filename>
<transname/>
<arg_from_previous>N</arg_from_previous>
<params_from_previous>Y</params_from_previous>
<exec_per_row>Y</exec_per_row>
<clear_rows>N</clear_rows>
<clear_files>N</clear_files>
<set_logfile>N</set_logfile>
<logfile/>
<logext/>
<add_date>N</add_date>
<add_time>N</add_time>
<loglevel>Basic</loglevel>
<cluster>N</cluster>
<slave_server_name/>
<set_append_logfile>N</set_append_logfile>
<wait_until_finished>Y</wait_until_finished>
<follow_abort_remote>N</follow_abort_remote>
<create_parent_folder>N</create_parent_folder>
<logging_remote_work>N</logging_remote_work>
<parameters>
<pass_all_parameters>Y</pass_all_parameters>
<parameter>
<name>dataObject</name>
<stream_name>dataObject</stream_name>
<value/>
</parameter>
<parameter>
<name>page</name>
<stream_name>page</stream_name>
<value/>
</parameter>
</parameters>
<parallel>N</parallel>
<draw>Y</draw>
<nr>0</nr>
<xloc>656</xloc>
<yloc>336</yloc>
</entry>
</entries>
<hops>
<hop>
<from>START</from>
<to>gatherObjectsPerson</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>Y</unconditional>
</hop>
<hop>
<from>gatherObjectsPerson</from>
<to>apiload</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>apiload</from>
<to>gatherObjects Person 2</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>executeApiLoad</from>
<to>gatherObjects Person 3</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>gatherObjects Person 2</from>
<to>executeApiLoad</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>gatherObjectsStay</from>
<to>apiload 2</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>apiload 2</from>
<to>gatherObjectsStay 2</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>gatherObjectsStay 2</from>
<to>executeApiLoad 2</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>executeApiLoad 2</from>
<to>gatherObjectsStay 3</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>gatherObjectsStay 3</from>
<to>zend2csv</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>zend2csv</from>
<to>upload_csv 2</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>gatherObjects Person 3</from>
<to>zend2csv 2</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
<hop>
<from>zend2csv 2</from>
<to>gatherObjectsStay</to>
<from_nr>0</from_nr>
<to_nr>0</to_nr>
<enabled>Y</enabled>
<evaluation>Y</evaluation>
<unconditional>N</unconditional>
</hop>
</hops>
<notepads>
</notepads>
</job>

101
src-modules/module/mobility/etl/read_moveon/template_person.php

@ -0,0 +1,101 @@
<?php
error_reporting(1);
// queue
// Your environment destination
//Testsystem: $service_url = 'https://unikoeln01-api.moveon4.de/restService/index.php';
//Prod: $service_url = 'https://unikoeln-api.moveon4.de/restService/index.php';
// $service_url = 'https://unikoeln-api.moveon4.de/restService/index.php';
$service_url = 'https://unikoeln-api.moveon4.de/restService/index.php?version=3.0';
$curl = curl_init($service_url);
$page=1;
$rows=250;
$file='out.xml';
$data='{"filters":"{\"groupOp\":\"AND\",\"rules\":[]}","visibleColumns":"person.first_name;person.surname;person.date_of_birth;person.matriculation_id","locale":"eng","sidx":"person.first_name","sord":"asc","sortName":"person.first_name","sortOrder":"asc","_search":"true","page":"'.$page.'","rows":"'.$rows.'"}';
// serach persons
$curl_post_data = array(
'method' => 'queue',
'entity' => 'person',
'action' => 'list',
'data' => $data
);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $curl_post_data);
// Your certificate
$clientcert = "../ca_cert.pem";
$keyfile = "../mykey.pem";
$challenge = "1234567";
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($curl, CURLOPT_SSLCERT, $clientcert);
curl_setopt($curl, CURLOPT_SSLCERTPASSWD, $challenge);
curl_setopt($curl, CURLOPT_SSLKEYTYPE, 'PEM');
curl_setopt($curl, CURLOPT_SSLKEY, $keyfile);
$curl_response = curl_exec($curl);
if(curl_errno($curl))
{
echo 'error:' . curl_error($curl);
}
//var_dump($curl_response); exit;
//var_dump($data);
$xml = new SimpleXMLElement($curl_response);
if ((string) $xml->queue->status === 'success') {
$queue = json_decode($xml->queue->response);
} else {
echo "failed<br>".(string)$xml->queue->response;
$queue = false;
}
curl_close($curl);
sleep(5);
if ($queue->queueId) {
// Your environment destination
$curl = curl_init($service_url);
$curl_post_data = array(
'method' => 'get',
'id' => (int) $queue->queueId
);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $curl_post_data);
// Your certificate
$clientcert = "../ca_cert.pem";
$keyfile = "../mykey.pem";
$challenge = "1234567";
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($curl, CURLOPT_SSLCERT, $clientcert);
curl_setopt($curl, CURLOPT_SSLCERTPASSWD, $challenge);
curl_setopt($curl, CURLOPT_SSLKEYTYPE, 'PEM');
curl_setopt($curl, CURLOPT_SSLKEY, $keyfile);
$curl_response = curl_exec($curl);
//var_dump($curl_response);
file_put_contents($file, $curl_response);
exit;
$xml = new SimpleXMLElement($curl_response);
if ((string) $xml->get->status === 'success') {
header ("Content-Type:text/xml");
echo"<xml>";
var_dump(json_decode($xml->get->response));
echo"</xml>";
} else {
var_dump(($xml->get->response));
}
curl_close($curl);
}
exit;

99
src-modules/module/mobility/etl/read_moveon/template_stay.php

@ -0,0 +1,99 @@
<?php
error_reporting(1);
// queue
// Your environment destination
// Testsystem: $service_url = 'https://unikoeln01-api.moveon4.de/restService/index.php';
$service_url = 'https://unikoeln-api.moveon4.de/restService/index.php?version=3.0';
$page=1;
$rows=250;
$file='out.xml';
$data='{"filters":"{\"groupOp\":\"AND\",\"rules\":[]}","visibleColumns":"stay.name;stay.person_id;stay.id;stay.academic_period_start;stay.academic_period_start_id;stay.academic_period_end;stay.academic_period_end_id;stay.is_active;stay.ects_credits;stay.country_id;stay.country.name_deu;stay.duration_months;stay.stay_type;stay.stay_type_id;stay.framework;stay.framework_id;stay.is_self_funded;stay.scholarship_deu;stay.is_guest;stay.is_academic_services;stay.direction_id","locale":"eng","sidx":"stay.name;stay.start_date","sord":"","sortName":"stay.name","sortOrder":"asc","_search":"true","page":"'.$page.'","rows":"'.$rows.'"}';
$curl = curl_init($service_url);
$curl_post_data = array(
'method' => 'queue',
'entity' => 'stay',
'action' => 'list',
'data' => $data
);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $curl_post_data);
// Your certificate
$clientcert = "../ca_cert.pem";
$keyfile = "../mykey.pem";
$challenge = "1234567";
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($curl, CURLOPT_SSLCERT, $clientcert);
curl_setopt($curl, CURLOPT_SSLCERTPASSWD, $challenge);
curl_setopt($curl, CURLOPT_SSLKEYTYPE, 'PEM');
curl_setopt($curl, CURLOPT_SSLKEY, $keyfile);
$curl_response = curl_exec($curl);
if(curl_errno($curl))
{
echo 'error:' . curl_error($curl);
}
//var_dump($curl_response); exit;
$xml = new SimpleXMLElement($curl_response);
if ((string) $xml->queue->status === 'success') {
$queue = json_decode($xml->queue->response);
} else {
echo "failed<br>".(string)$xml->queue->response;
$queue = false;
}
curl_close($curl);
sleep(5);
if ($queue->queueId) {
// Your environment destination
$curl = curl_init($service_url);
$curl_post_data = array(
'method' => 'get',
'id' => (int) $queue->queueId
);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $curl_post_data);
// Your certificate
$clientcert = "../ca_cert.pem";
$keyfile = "../mykey.pem";
$challenge = "1234567";
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($curl, CURLOPT_SSLCERT, $clientcert);
curl_setopt($curl, CURLOPT_SSLCERTPASSWD, $challenge);
curl_setopt($curl, CURLOPT_SSLKEYTYPE, 'PEM');
curl_setopt($curl, CURLOPT_SSLKEY, $keyfile);
$curl_response = curl_exec($curl);
//var_dump($curl_response);
file_put_contents($file, $curl_response);
exit;
$xml = new SimpleXMLElement($curl_response);
if ((string) $xml->get->status === 'success') {
header ("Content-Type:text/xml");
echo"<xml>";
var_dump(json_decode($xml->get->response));
echo"</xml>";
} else {
var_dump(($xml->get->response));
}
curl_close($curl);
}
exit;

1310
src-modules/module/mobility/etl/read_moveon/upload_csv.ktr

File diff suppressed because it is too large Load Diff

726
src-modules/module/mobility/etl/read_moveon/zend2csv.ktr

@ -0,0 +1,726 @@
<?xml version="1.0" encoding="UTF-8"?><transformation>
<info>
<name>zend2csv</name>
<description/>
<extended_description/>
<trans_version/>
<trans_type>Normal</trans_type>
<trans_status>0</trans_status>
<directory>/</directory>
<parameters>
<parameter>
<name>dataObject</name>
<default_value>person</default_value>
<description/>
</parameter>
<parameter>
<name>page</name>
<default_value>1</default_value>
<description/>
</parameter>
<parameter>
<name>rows</name>
<default_value/>
<description/>
</parameter>
</parameters>
<log>
<trans-log-table>
<connection/>
<schema/>
<table/>
<size_limit_lines/>
<interval/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>TRANSNAME</id>
<enabled>Y</enabled>
<name>TRANSNAME</name>
</field>
<field>
<id>STATUS</id>
<enabled>Y</enabled>
<name>STATUS</name>
</field>
<field>
<id>LINES_READ</id>
<enabled>Y</enabled>
<name>LINES_READ</name>
<subject/>
</field>
<field>
<id>LINES_WRITTEN</id>
<enabled>Y</enabled>
<name>LINES_WRITTEN</name>
<subject/>
</field>
<field>
<id>LINES_UPDATED</id>
<enabled>Y</enabled>
<name>LINES_UPDATED</name>
<subject/>
</field>
<field>
<id>LINES_INPUT</id>
<enabled>Y</enabled>
<name>LINES_INPUT</name>
<subject/>
</field>
<field>
<id>LINES_OUTPUT</id>
<enabled>Y</enabled>
<name>LINES_OUTPUT</name>
<subject/>
</field>
<field>
<id>LINES_REJECTED</id>
<enabled>Y</enabled>
<name>LINES_REJECTED</name>
<subject/>
</field>
<field>
<id>ERRORS</id>
<enabled>Y</enabled>
<name>ERRORS</name>
</field>
<field>
<id>STARTDATE</id>
<enabled>Y</enabled>
<name>STARTDATE</name>
</field>
<field>
<id>ENDDATE</id>
<enabled>Y</enabled>
<name>ENDDATE</name>
</field>
<field>
<id>LOGDATE</id>
<enabled>Y</enabled>
<name>LOGDATE</name>
</field>
<field>
<id>DEPDATE</id>
<enabled>Y</enabled>
<name>DEPDATE</name>
</field>
<field>
<id>REPLAYDATE</id>
<enabled>Y</enabled>
<name>REPLAYDATE</name>
</field>
<field>
<id>LOG_FIELD</id>
<enabled>Y</enabled>
<name>LOG_FIELD</name>
</field>
<field>
<id>EXECUTING_SERVER</id>
<enabled>N</enabled>
<name>EXECUTING_SERVER</name>
</field>
<field>
<id>EXECUTING_USER</id>
<enabled>N</enabled>
<name>EXECUTING_USER</name>
</field>
<field>
<id>CLIENT</id>
<enabled>N</enabled>
<name>CLIENT</name>
</field>
</trans-log-table>
<perf-log-table>
<connection/>
<schema/>
<table/>
<interval/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>SEQ_NR</id>
<enabled>Y</enabled>
<name>SEQ_NR</name>
</field>
<field>
<id>LOGDATE</id>
<enabled>Y</enabled>
<name>LOGDATE</name>
</field>
<field>
<id>TRANSNAME</id>
<enabled>Y</enabled>
<name>TRANSNAME</name>
</field>
<field>
<id>STEPNAME</id>
<enabled>Y</enabled>
<name>STEPNAME</name>
</field>
<field>
<id>STEP_COPY</id>
<enabled>Y</enabled>
<name>STEP_COPY</name>
</field>
<field>
<id>LINES_READ</id>
<enabled>Y</enabled>
<name>LINES_READ</name>
</field>
<field>
<id>LINES_WRITTEN</id>
<enabled>Y</enabled>
<name>LINES_WRITTEN</name>
</field>
<field>
<id>LINES_UPDATED</id>
<enabled>Y</enabled>
<name>LINES_UPDATED</name>
</field>
<field>
<id>LINES_INPUT</id>
<enabled>Y</enabled>
<name>LINES_INPUT</name>
</field>
<field>
<id>LINES_OUTPUT</id>
<enabled>Y</enabled>
<name>LINES_OUTPUT</name>
</field>
<field>
<id>LINES_REJECTED</id>
<enabled>Y</enabled>
<name>LINES_REJECTED</name>
</field>
<field>
<id>ERRORS</id>
<enabled>Y</enabled>
<name>ERRORS</name>
</field>
<field>
<id>INPUT_BUFFER_ROWS</id>
<enabled>Y</enabled>
<name>INPUT_BUFFER_ROWS</name>
</field>
<field>
<id>OUTPUT_BUFFER_ROWS</id>
<enabled>Y</enabled>
<name>OUTPUT_BUFFER_ROWS</name>
</field>
</perf-log-table>
<channel-log-table>
<connection/>
<schema/>
<table/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>LOG_DATE</id>
<enabled>Y</enabled>
<name>LOG_DATE</name>
</field>
<field>
<id>LOGGING_OBJECT_TYPE</id>
<enabled>Y</enabled>
<name>LOGGING_OBJECT_TYPE</name>
</field>
<field>
<id>OBJECT_NAME</id>
<enabled>Y</enabled>
<name>OBJECT_NAME</name>
</field>
<field>
<id>OBJECT_COPY</id>
<enabled>Y</enabled>
<name>OBJECT_COPY</name>
</field>
<field>
<id>REPOSITORY_DIRECTORY</id>
<enabled>Y</enabled>
<name>REPOSITORY_DIRECTORY</name>
</field>
<field>
<id>FILENAME</id>
<enabled>Y</enabled>
<name>FILENAME</name>
</field>
<field>
<id>OBJECT_ID</id>
<enabled>Y</enabled>
<name>OBJECT_ID</name>
</field>
<field>
<id>OBJECT_REVISION</id>
<enabled>Y</enabled>
<name>OBJECT_REVISION</name>
</field>
<field>
<id>PARENT_CHANNEL_ID</id>
<enabled>Y</enabled>
<name>PARENT_CHANNEL_ID</name>
</field>
<field>
<id>ROOT_CHANNEL_ID</id>
<enabled>Y</enabled>
<name>ROOT_CHANNEL_ID</name>
</field>
</channel-log-table>
<step-log-table>
<connection/>
<schema/>
<table/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>LOG_DATE</id>
<enabled>Y</enabled>
<name>LOG_DATE</name>
</field>
<field>
<id>TRANSNAME</id>
<enabled>Y</enabled>
<name>TRANSNAME</name>
</field>
<field>
<id>STEPNAME</id>
<enabled>Y</enabled>
<name>STEPNAME</name>
</field>
<field>
<id>STEP_COPY</id>
<enabled>Y</enabled>
<name>STEP_COPY</name>
</field>
<field>
<id>LINES_READ</id>
<enabled>Y</enabled>
<name>LINES_READ</name>
</field>
<field>
<id>LINES_WRITTEN</id>
<enabled>Y</enabled>
<name>LINES_WRITTEN</name>
</field>
<field>
<id>LINES_UPDATED</id>
<enabled>Y</enabled>
<name>LINES_UPDATED</name>
</field>
<field>
<id>LINES_INPUT</id>
<enabled>Y</enabled>
<name>LINES_INPUT</name>
</field>
<field>
<id>LINES_OUTPUT</id>
<enabled>Y</enabled>
<name>LINES_OUTPUT</name>
</field>
<field>
<id>LINES_REJECTED</id>
<enabled>Y</enabled>
<name>LINES_REJECTED</name>
</field>
<field>
<id>ERRORS</id>
<enabled>Y</enabled>
<name>ERRORS</name>
</field>
<field>
<id>LOG_FIELD</id>
<enabled>N</enabled>
<name>LOG_FIELD</name>
</field>
</step-log-table>
<metrics-log-table>
<connection/>
<schema/>
<table/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>LOG_DATE</id>
<enabled>Y</enabled>
<name>LOG_DATE</name>
</field>
<field>
<id>METRICS_DATE</id>
<enabled>Y</enabled>
<name>METRICS_DATE</name>
</field>
<field>
<id>METRICS_CODE</id>
<enabled>Y</enabled>
<name>METRICS_CODE</name>
</field>
<field>
<id>METRICS_DESCRIPTION</id>
<enabled>Y</enabled>
<name>METRICS_DESCRIPTION</name>
</field>
<field>
<id>METRICS_SUBJECT</id>
<enabled>Y</enabled>
<name>METRICS_SUBJECT</name>
</field>
<field>
<id>METRICS_TYPE</id>
<enabled>Y</enabled>
<name>METRICS_TYPE</name>
</field>
<field>
<id>METRICS_VALUE</id>
<enabled>Y</enabled>
<name>METRICS_VALUE</name>
</field>
</metrics-log-table>
</log>
<maxdate>
<connection/>
<table/>
<field/>
<offset>0.0</offset>
<maxdiff>0.0</maxdiff>
</maxdate>
<size_rowset>10000</size_rowset>
<sleep_time_empty>50</sleep_time_empty>
<sleep_time_full>50</sleep_time_full>
<unique_connections>N</unique_connections>
<feedback_shown>Y</feedback_shown>
<feedback_size>50000</feedback_size>
<using_thread_priorities>Y</using_thread_priorities>
<shared_objects_file/>
<capture_step_performance>N</capture_step_performance>
<step_performance_capturing_delay>1000</step_performance_capturing_delay>
<step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
<dependencies/>
<partitionschemas/>
<slaveservers/>
<clusterschemas/>
<created_user>-</created_user>
<created_date>2017/09/28 22:15:35.562</created_date>
<modified_user>-</modified_user>
<modified_date>2017/09/28 22:15:35.562</modified_date>
<key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA=</key_for_session_key>
<is_key_private>N</is_key_private>
</info>
<notepads/>
<order>
<hop>
<from>unescapeUnicodes</from>
<to>outraw2csv</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>outraw2csv</from>
<to>Text file output</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>unescapeUnicodes</from>
<to>Write to log</to>
<enabled>N</enabled>
</hop>
<hop>
<from>load_out.xml</from>
<to>unescapeUnicodes</to>
<enabled>Y</enabled>
</hop>
</order>
<step>
<name>Text file output</name>
<type>TextFileOutput</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<separator>;</separator>
<enclosure/>
<enclosure_forced>N</enclosure_forced>
<enclosure_fix_disabled>N</enclosure_fix_disabled>
<header>N</header>
<footer>N</footer>
<format>UNIX</format>
<compression>None</compression>
<encoding>UTF-8</encoding>
<endedLine/>
<fileNameInField>N</fileNameInField>
<fileNameField/>
<create_parent_folder>Y</create_parent_folder>
<file>
<name>${Internal.Transformation.Filename.Directory}/tmp/${dataObject}_${page}</name>
<is_command>N</is_command>
<servlet_output>N</servlet_output>
<do_not_open_new_file_init>N</do_not_open_new_file_init>
<extention>txt</extention>
<append>N</append>
<split>N</split>
<haspartno>N</haspartno>
<add_date>N</add_date>
<add_time>N</add_time>
<SpecifyFormat>N</SpecifyFormat>
<date_time_format/>
<add_to_result_filenames>Y</add_to_result_filenames>
<pad>N</pad>
<fast_dump>N</fast_dump>
<splitevery>0</splitevery>
</file>
<fields>
<field>
<name>outcsv</name>
<type>String</type>
<format/>
<currency/>
<decimal/>
<group/>
<nullif/>
<trim_type>none</trim_type>
<length>-1</length>
<precision>-1</precision>
</field>
</fields>
<cluster_schema/>
<remotesteps>
<input/>
<output/>
</remotesteps>
<GUI>
<xloc>768</xloc>
<yloc>256</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>Write to log</name>
<type>WriteToLog</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<loglevel>log_level_basic</loglevel>
<displayHeader>Y</displayHeader>
<limitRows>N</limitRows>
<limitRowsNumber>0</limitRowsNumber>
<logmessage/>
<fields>
<field>
<name>outdata</name>
</field>
</fields>
<cluster_schema/>
<remotesteps>
<input/>
<output/>
</remotesteps>
<GUI>
<xloc>624</xloc>
<yloc>384</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>load_out.xml</name>
<type>LoadFileInput</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<include>N</include>
<include_field/>
<rownum>N</rownum>
<addresultfile>Y</addresultfile>
<IsIgnoreEmptyFile>N</IsIgnoreEmptyFile>
<rownum_field/>
<encoding>UTF-8</encoding>
<file>
<name>${Internal.Transformation.Filename.Directory}/tmp/out_${dataObject}_${page}.xml</name>
<filemask/>
<exclude_filemask/>
<file_required>N</file_required>
<include_subfolders>N</include_subfolders>
</file>
<fields>
<field>
<name>outdata</name>
<element_type>content</element_type>
<type>String</type>
<format/>
<currency/>
<decimal/>
<group/>
<length>-1</length>
<precision>-1</precision>
<trim_type>none</trim_type>
<repeat>N</repeat>
</field>
</fields>
<limit>0</limit>
<IsInFields>N</IsInFields>
<DynamicFilenameField/>
<shortFileFieldName/>
<pathFieldName/>
<hiddenFieldName/>
<lastModificationTimeFieldName/>
<uriNameFieldName/>
<rootUriNameFieldName/>
<extensionFieldName/>
<cluster_schema/>
<remotesteps>
<input/>
<output/>
</remotesteps>
<GUI>
<xloc>128</xloc>
<yloc>128</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>outraw2csv</name>
<type>XSLT</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<xslfilename>${Internal.Transformation.Filename.Directory}/zend2csv.xsl</xslfilename>
<fieldname>outdata</fieldname>
<resultfieldname>outcsv</resultfieldname>
<xslfilefield/>
<xslfilefielduse>N</xslfilefielduse>
<xslfieldisafile>N</xslfieldisafile>
<xslfactory>JAXP</xslfactory>
<parameters/>
<outputproperties>
<outputproperty>
<name>method</name>
<value>text</value>
</outputproperty>
</outputproperties>
<cluster_schema/>
<remotesteps>
<input/>
<output/>
</remotesteps>
<GUI>
<xloc>608</xloc>
<yloc>272</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>unescapeUnicodes</name>
<type>UserDefinedJavaClass</type>
<description/>
<distribute>N</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<definitions>
<definition>
<class_type>TRANSFORM_CLASS</class_type>
<class_name>Processor</class_name>
<class_source>import org.apache.commons.lang.StringEscapeUtils;
public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException {
Object[] r = getRow();
if (r == null) {
setOutputDone();
return false;
}
Object[] outputRow = createOutputRow(r, data.outputRowMeta.size());
String outdata = get(Fields.In, "outdata").getString(r);
outdata = StringEscapeUtils.unescapeJava(outdata);
get(Fields.Out, "outdata").setValue(outputRow, outdata);
putRow(data.outputRowMeta, outputRow);
return true;
}</class_source>
</definition>
</definitions>
<fields/>
<clear_result_fields>N</clear_result_fields>
<info_steps/>
<target_steps/>
<usage_parameters/>
<cluster_schema/>
<remotesteps>
<input/>
<output/>
</remotesteps>
<GUI>
<xloc>336</xloc>
<yloc>288</yloc>
<draw>Y</draw>
</GUI>
</step>
<step_error_handling/>
<slave-step-copy-partition-distribution/>
<slave_transformation>N</slave_transformation>
</transformation>

20
src-modules/module/mobility/etl/read_moveon/zend2csv.xsl

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util.HtmlUtils">
<!-- aus resulest_html.xsl-->
<xsl:template match="/">
<xsl:for-each select="rest/get/response/data/rows[position()=1]">
<xsl:for-each select="child::*">
<xsl:value-of select="./local-name()"/><xsl:text>^</xsl:text>
</xsl:for-each><xsl:text>^
</xsl:text>
</xsl:for-each>
<xsl:for-each select="rest/get/response/data/rows">
<xsl:for-each select="child::*">
<xsl:value-of select="normalize-space(.)"/><xsl:text>^</xsl:text>
</xsl:for-each>
<xsl:text>^
</xsl:text>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

6
src-modules/module/mobility/masken/36000_felderinfo.unl

@ -0,0 +1,6 @@
36000^Matrikel-Nr.^7^0^0^150^150^1^integer^50^0^0^^^^
36001^Filter Personen^10^0^0^150^80^1^integer^200^0^1^<<SQL>> select 1,'nur Personen mit Matrikelnr.' from xdummy union \
select 0,'nur Personen ohne Matrikelnr.' from xdummy\
union select 2,'nur Personen in amtl. Stat. mit Matrikelnr.' from xdummy union \
select 3,'nur Personen in amtl. Stat. ohne Matrikelnr.' from xdummy^^^
36003^Name^4^0^0^150^150^1^sql^50^0^0^^^^

1
src-modules/module/mobility/masken/36000_maske_system_bez.unl

@ -0,0 +1 @@
36000^240^

3
src-modules/module/mobility/masken/36000_masken_felder_bez.unl

@ -0,0 +1,3 @@
36000^36000^
36000^36001^
36000^36003^

86
src-modules/module/mobility/masken/36000_maskeninfo.unl

@ -0,0 +1,86 @@
36000^Mobilität Personenverzeichnis^--Autor: D. Quathamer\
--Datum: 2.8.2003\
--freemarker template\
\
<#assign filter_person="1=1" />\
/*<#if "<<Filter Personen>>"=="1">\
<#assign filter_person="matrikel_nr is not null" />\
</#if>*/\
/*<#if "<<Filter Personen>>"=="0">\
<#assign filter_person="matrikel_nr is null" />\
</#if>*/\
<#if "<<Filter Personen>>"=="2" || "<<Filter Personen>>"=="3" >\
<#assign filter_person="surname in (select D.nachname from sos_astat A, sos_stud_d D where val(A.ef006)=D.matrikel_nr) " />\
<#if "<<Filter Personen>>"=="2">\
<#assign filter_person=filter_person+ " and matrikel_nr is not null" />\
</#if>\
<#if "<<Filter Personen>>"=="3">\
<#assign filter_person=filter_person+ " and matrikel_nr is null" />\
</#if>\
</#if>\
\
create temp table tmp_ergebnis (tid integer, \
name varchar(255),\
vorname varchar(255),\
gebdat date,\
matriculation_id integer,\
matrikel_nr integer,\
anz_stays integer\
);\
\
insert into tmp_ergebnis(tid, \
name ,\
vorname,\
gebdat ,\
matriculation_id ,\
matrikel_nr)\
select id,\
surname,\
first_name,\
date_of_birth,\
matriculation_id,\
matrikel_nr\
FROM mobility_person \
where ${filter_person}\
/* and surname ilike '%<<Name>>%' */\
/* and matrikel_nr =<<Matrikel-Nr.>> */\
;\
\
update tmp_ergebnis set anz_stays=(select count(*)\
from mobility_stay S\
where S.person_id=tmp_ergebnis.tid);\
\
select tid, \
name ,\
vorname,\
gebdat ,\
matriculation_id ,\
matrikel_nr,\
anz_stays\
from tmp_ergebnis\
order by 2,3,4;^XIL List\
drop_and_delete movable_columns sizable_columns horizontal_scrolling\
white_space_color=COLOR_WHITE fixed_columns=2\
min_heading_height=35\
Column CID=0 heading_text="ID\\nMoveOn " center_heading\
row_selectable col_selectable heading_platform readonly\
width=5 text_size=100\
Column CID=1 heading_text=" Name " center_heading\
row_selectable col_selectable heading_platform readonly\
width=30 text_size=200\
Column CID=1 heading_text="Vorname" center_heading\
row_selectable col_selectable heading_platform readonly\
width=30 text_size=200\
Column CID=1 heading_text="Geb.-Datum" center_heading\
row_selectable col_selectable heading_platform readonly\
width=10 text_size=200\
Column CID=1 heading_text="Matrikelnr.\\nMoveOn" center_heading\
row_selectable col_selectable heading_platform readonly\
width=10 text_size=200\
Column CID=1 heading_text="Matrikelnr.\\nCO" center_heading\
row_selectable col_selectable heading_platform readonly\
width=10 text_size=200\
Column CID=1 heading_text="Anzahl\\nAufenthalte" center_heading\
row_selectable col_selectable heading_platform readonly\
width=10 text_size=200\
@@@^^^Übersicht der Personen^drop table tmp_ergebnis;^^1^440^360^0^1^^

1
src-modules/module/mobility/masken/36000_sachgeb_maske_bez.unl

@ -0,0 +1 @@
240^36000^

6
src-modules/module/mobility/masken/36020_felderinfo.unl

@ -0,0 +1,6 @@
36020^Matrikel-Nr.^7^0^0^150^150^1^integer^50^0^0^^^^
36021^Filter Personen^10^0^0^150^80^1^integer^200^0^1^<<SQL>> select 1,'nur Personen mit Matrikelnr.' from xdummy union \
select 0,'nur Personen ohne Matrikelnr.' from xdummy\
union select 2,'nur Personen in amtl. Stat. mit Matrikelnr.' from xdummy union \
select 3,'nur Personen in amtl. Stat. ohne Matrikelnr.' from xdummy^^^
36023^Name^4^0^0^150^150^1^sql^50^0^0^^^^

1
src-modules/module/mobility/masken/36020_maske_system_bez.unl

@ -0,0 +1 @@
36020^240^

3
src-modules/module/mobility/masken/36020_masken_felder_bez.unl

@ -0,0 +1,3 @@
36020^36020^
36020^36021^
36020^36023^

204
src-modules/module/mobility/masken/36020_maskeninfo.unl

@ -0,0 +1,204 @@
36020^Mobilität Datenblatt^--Autor: D. Quathamer\
--Datum: 2.8.2003\
--freemarker template\
\
<#assign filter_person="1=1" />\
/*<#if "<<Filter Personen>>"=="1">\
<#assign filter_person="matrikel_nr is not null" />\
</#if>*/\
/*<#if "<<Filter Personen>>"=="0">\
<#assign filter_person="matrikel_nr is null" />\
</#if>*/\
<#if "<<Filter Personen>>"=="2" || "<<Filter Personen>>"=="3" >\
<#assign filter_person="surname in (select D.nachname from sos_astat A, sos_stud_d D where val(A.ef006)=D.matrikel_nr) " />\
<#if "<<Filter Personen>>"=="2">\
<#assign filter_person=filter_person+ " and matrikel_nr is not null" />\
</#if>\
<#if "<<Filter Personen>>"=="3">\
<#assign filter_person=filter_person+ " and matrikel_nr is null" />\
</#if>\
</#if>\
\
create temp table tmp_ergebnis (person_id integer, \
name varchar(255),\
vorname varchar(255),\
matrikel_nr integer,\
stay_id INTEGER , \
stay_name varchar(255),\
academic_period_start VARCHAR(255) , \
academic_period_start_id INTEGER , \
academic_period_end VARCHAR(255) , \
academic_period_end_id INTEGER , \
is_active SMALLINT , \
ects_credits double precision , \
country_id INTEGER , \
country_name_deu VARCHAR(255) ,\
duration_months double precision , \
stay_type VARCHAR(255) , \
stay_type_id VARCHAR(255) , \
framework VARCHAR(255) , \
framework_id INTEGER , \
is_self_funded INTEGER , \
scholarship_deu INTEGER , \
is_guest INTEGER , \
is_academic_services INTEGER , \
direction_id INTEGER,\
direction_str varchar(255),\
st_abr_country_astat CHAR(3) , \
st_abr_month SMALLINT , \
st_abr_type CHAR(2) , \
st_abr_program CHAR(2) , \
stay_nr INTEGER\
);\
\
insert into tmp_ergebnis(person_id, \
name ,\
vorname,\
matrikel_nr,\
stay_id,\
stay_name,\
academic_period_start_id,\
academic_period_end_id,\
is_active,\
ects_credits,\
country_id,\
country_name_deu,\
duration_months,\
stay_type_id,\
framework,\
framework_id,\
is_self_funded,\
scholarship_deu,\
is_guest,\
is_academic_services,\
direction_id,\
st_abr_country_astat,\
st_abr_month,\
st_abr_type,\
st_abr_program,\
stay_nr\
)\
select P.id,\
P.surname,\
P.first_name,\
P.matrikel_nr,\
S.id,\
S.name,\
S.academic_period_start_id,\
S.academic_period_end_id,\
S.is_active,\
S.ects_credits,\
S.country_id,\
S.country_name_deu,\
S.duration_months,\
S.stay_type_id,\
S.framework,\
S.framework_id,\
S.is_self_funded,\
S.scholarship_deu,\
S.is_guest,\
S.is_academic_services,\
S.direction_id,\
S.st_abr_country_astat,\
S.st_abr_month,\
S.st_abr_type,\
S.st_abr_program,\
S.stay_nr\
FROM mobility_person P, mobility_stay S\
where P.id=S.person_id\
and ${filter_person}\
/* and P.surname ilike '%<<Name>>%' */\
/* and P.matrikel_nr =<<Matrikel-Nr.>> */\
;\
\
update tmp_ergebnis set academic_period_start=(select S.eintrag\
from semester S\
where S.tid=tmp_ergebnis.academic_period_start_id);\
\
update tmp_ergebnis set academic_period_end=(select S.eintrag\
from semester S\
where S.tid=tmp_ergebnis.academic_period_end_id);\
\
\
\
update tmp_ergebnis set direction_str='Incoming'\
where direction_id=1;\
update tmp_ergebnis set direction_str='Outgoing'\
where direction_id=2;\
\
\
select --tid, \
name ,\
vorname,\
matrikel_nr,\
stay_name,\
academic_period_start_id,\
academic_period_end_id,\
-- is_active,\
-- ects_credits,\
-- country_id,\
country_name_deu,\
duration_months,\
stay_type,\
framework,\
-- is_self_funded,\
-- scholarship_deu,\
-- is_guest,\
-- is_academic_services,\
direction_str,\
st_abr_country_astat,\
-- st_abr_month,\
st_abr_type,\
st_abr_program,\
stay_nr\
from tmp_ergebnis\
order by 1,2,3,4;^XIL List\
drop_and_delete movable_columns sizable_columns horizontal_scrolling\
white_space_color=COLOR_WHITE fixed_columns=2\
min_heading_height=35\
Column CID=1 heading_text=" Name " center_heading\
row_selectable col_selectable heading_platform readonly\
width=30 text_size=200\
Column CID=1 heading_text="Vorname" center_heading\
row_selectable col_selectable heading_platform readonly\
width=30 text_size=200\
Column CID=1 heading_text="Matrikelnr." center_heading\
row_selectable col_selectable heading_platform readonly\
width=10 text_size=200\
Column CID=1 heading_text="Name\\nAufenthalt" center_heading\
row_selectable col_selectable heading_platform readonly\
width=30 text_size=200\
Column CID=1 heading_text="Beginn" center_heading\
row_selectable col_selectable heading_platform readonly\
width=10 text_size=200\
Column CID=1 heading_text="Ende" center_heading\
row_selectable col_selectable heading_platform readonly\
width=10 text_size=200\
Column CID=1 heading_text="Staat" center_heading\
row_selectable col_selectable heading_platform readonly\
width=10 text_size=200\
Column CID=1 heading_text="Dauer in Monaten" center_heading\
row_selectable col_selectable heading_platform readonly\
width=5 text_size=200\
Column CID=1 heading_text="Art des Aufenthaltes" center_heading\
row_selectable col_selectable heading_platform readonly\
width=20 text_size=200\
Column CID=1 heading_text="Rahmen" center_heading\
row_selectable col_selectable heading_platform readonly\
width=20 text_size=200\
Column CID=1 heading_text="Richtung" center_heading\
row_selectable col_selectable heading_platform readonly\
width=10 text_size=200\
Column CID=1 heading_text="Staat (amtl.)" center_heading\
row_selectable col_selectable heading_platform readonly\
width=5 text_size=200\
Column CID=1 heading_text="Art des Auslandsaufenthaltes\\n(amtl.)" center_heading\
row_selectable col_selectable heading_platform readonly\
width=5 text_size=200\
Column CID=1 heading_text="Art des Mobilitätsprogramms\\n(amtl.) " center_heading\
row_selectable col_selectable heading_platform readonly\
width=5 text_size=200\
Column CID=1 heading_text="Nr. des Mobilitätsprogramms\\npro Person " center_heading\
row_selectable col_selectable heading_platform readonly\
width=5 text_size=200\
@@@^^^Aufstellung von Auslandsaufenthalten nach Art und Staat^drop table tmp_ergebnis;^^1^440^360^0^1^^

1
src-modules/module/mobility/masken/36020_sachgeb_maske_bez.unl

@ -0,0 +1 @@
240^36020^

1
src-modules/module/mobility/rohdaten/dateien.txt

@ -0,0 +1 @@
Rohdaten Dateien

17
src-modules/module/mobility/schluesseltabellen/dim_bp_altsicht_apnr_fuellen.sql

@ -0,0 +1,17 @@
-- XML-generiertes SQL-Script fuer -- von dim_bp_apnr_altsicht_fuellen.xsl
--freemarker template
<sqlvars>
<sqlvar name="dim_bp_altsicht_apnr_exists">
select sp_table_exists('dim_bp_altsicht_apnr') from xdummy;
</sqlvar>
</sqlvars>
<#if dim_bp_altsicht_apnr_exists=1>
</#if>

154
src-modules/module/mobility/schluesseltabellen/dimension_bp_fuellen.sql

@ -0,0 +1,154 @@
-- XML-generiertes SQL-Script fuer -- von dimension_bp_fuellen.xsl
--freemarker template
<sqlvars>
<sqlvar name="dimension_bp_exists">
select sp_table_exists('dimension_bp') from xdummy;
</sqlvar>
</sqlvars>
<#if dimension_bp_exists=1>
create temp table tmp_dimension_bp(
tid SERIAL not null,
d_akt_von DATE ,
d_akt_bis DATE ,
apnr VARCHAR(255) ,
kurz VARCHAR(255) ,
druck VARCHAR(255) ,
lang_1 VARCHAR(255) ,
lang_2 VARCHAR(255) ,
lang_3 VARCHAR(255) ,
keyfield VARCHAR(255) ,
keyfieldtype VARCHAR(255) ,
datatype VARCHAR(255) ,
captionfield VARCHAR(255) ,
sortfield VARCHAR(255) ,
source VARCHAR(255) ,
sourcefilter VARCHAR(255) ,
system_key VARCHAR(255)
);
--updates auf vorh. Schlüssel
<#if SQLdialect='Postgres'>
--Postgres Dialekt:
update dimension_bp set apnr=D.apnr,
d_akt_von=D.d_akt_von,
d_akt_bis=D.d_akt_bis ,
kurz=D.kurz ,
druck=D.druck ,
lang_1=D.lang_1 ,
lang_2=D.lang_2 ,
lang_3=D.lang_3 ,
keyfieldtype=D.keyfieldtype,
datatype=D.datatype,
keyfield=D.keyfield,
captionfield=D.captionfield,
source=D.source,
sourcefilter=D.sourcefilter
<#if TableFieldExists?exists && TableFieldExists('dimension_bp','sortfield')>
,sortfield=D.sortfield
</#if>
from tmp_dimension_bp D
where D.system_key=dimension_bp.system_key;
<#else>
--Informix Dialekt:
update dimension_bp set ( apnr,
d_akt_von,
d_akt_bis,
kurz,
druck,
lang_1,
lang_2,
lang_3,
keyfield,
keyfieldtype,
datatype,
captionfield,
<#if TableFieldExists?exists && TableFieldExists('dimension_bp','sortfield')>
sortfield,
</#if>
source,
sourcefilter)
= ((select
apnr,
d_akt_von,
d_akt_bis,
kurz,
druck,
lang_1,
lang_2,
lang_3,
keyfield,
keyfieldtype,
datatype,
captionfield,
<#if TableFieldExists?exists && TableFieldExists('dimension_bp','sortfield')>
sortfield,
</#if>
source,
sourcefilter
from tmp_dimension_bp D
where D.system_key=dimension_bp.system_key))
where system_key in (select D.system_key from tmp_dimension_bp D);
</#if>
--neue werden eingefügt:
delete from tmp_dimension_bp where system_key in
(select system_key from dimension_bp);
insert into dimension_bp(d_akt_von,
d_akt_bis,
apnr,
kurz,
druck,
lang_1,
lang_2,
lang_3,
keyfield ,
keyfieldtype,
datatype,
captionfield ,
<#if TableFieldExists?exists && TableFieldExists('dimension_bp','sortfield')>
sortfield,
</#if>
source ,
sourcefilter,
system_key
)
select d_akt_von,
d_akt_bis,
apnr,
kurz,
druck,
lang_1,
lang_2,
lang_3,
keyfield ,
keyfieldtype,
datatype,
captionfield ,
<#if TableFieldExists?exists && TableFieldExists('dimension_bp','sortfield')>
sortfield,
</#if>
source ,
sourcefilter,
system_key
from tmp_dimension_bp
;
drop table tmp_dimension_bp;
</#if>

125
src-modules/module/mobility/schluesseltabellen/dimension_fuellen.sql

@ -0,0 +1,125 @@
-- XML-generiertes SQL-Script fuer -- von dimension_fuellen.xsl
--freemarker template
--(c) 2008 Daniel Quathamer
<sqlvars>
<sqlvar name="dimension_exists">
select sp_table_exists('dimension') from xdummy;
</sqlvar>
</sqlvars>
<#if dimension_exists=1>
create temp table tmp_dimension(
tid integer,
dimension_bp_id INTEGER not null,
fact_table VARCHAR(255) ,
d_akt_von DATE ,
d_akt_bis DATE ,
name VARCHAR(255) ,
druck VARCHAR(255) ,
lang_1 VARCHAR(255) ,
lang_2 VARCHAR(255) ,
lang_3 VARCHAR(255) ,
sourcefilter VARCHAR(255),
system_key VARCHAR(255)
);
--Vorhandene Schlüssel werden ersetzt, nicht vorhandene Schlüssel bleiben:
--vorhandene Schlüssel ermitteln:
update tmp_dimension set tid=(select tid from
dimension D where D.fact_table=tmp_dimension.fact_table
and D.system_key=tmp_dimension.system_key);
--vorhandene Schlüssel updaten:
<#if SQLdialect='Postgres'>
--Postgres Dialekt:
update dimension set dimension_bp_id=D.dimension_bp_id,
d_akt_von=D.d_akt_von,
d_akt_bis=D.d_akt_bis ,
name=D.name ,
druck=D.druck ,
lang_1=D.lang_1 ,
lang_2=D.lang_2 ,
lang_3=D.lang_3 ,
sourcefilter=D.sourcefilter
from tmp_dimension D
where D.tid is not null
and D.tid=dimension.tid;
<#else>
--Informix Dialekt:
update dimension set (dimension_bp_id,
d_akt_von,
d_akt_bis,
name,
druck,
lang_1,
lang_2,
lang_3,
sourcefilter)
= ((select
dimension_bp_id,
d_akt_von,
d_akt_bis,
name,
druck,
lang_1,
lang_2,
lang_3,
sourcefilter
from tmp_dimension D
where D.tid=dimension.tid))
where tid in (select D.tid from tmp_dimension D);
</#if>
--neue Schlüssel:
insert into dimension(
dimension_bp_id,
fact_table,
d_akt_von,
d_akt_bis,
name,
druck,
lang_1,
lang_2,
lang_3,
sourcefilter,
system_key)
select dimension_bp_id,
fact_table,
d_akt_von,
d_akt_bis,
name,
druck,
lang_1,
lang_2,
lang_3,
sourcefilter,
system_key
from tmp_dimension
where tid is null;
--gelöschte Dimensionen:
delete from dimension
where fact_table in (select fact_table from tmp_dimension)
and 0 = (select count(*) from tmp_dimension D
where D.system_key=dimension.system_key);
drop table tmp_dimension;
</#if>

1
src-modules/module/mobility/schluesseltabellen/sx_jobs.unl

@ -0,0 +1 @@
read_moveon^Mobilitäten laden (Moveon)^mobility/etl/read_moveon/loadMoveOn.kjb^240^^^1^ ^select 'mobility_stay_neu: ' || count(*)::integer from mobility_stay_neu union select 'mobility_person_neu: ' || count(*)::integer from mobility_person_neu^

24
src-modules/module/mobility/schluesseltabellen/sx_jobs_fuellen.sql

@ -0,0 +1,24 @@
--Freemarker Template
--Achtung: Macro fügt Inhalte ein
--Bitte nur Freemarker Variablen füllen
<sqlvars>
<sqlvar name="sx_jobs_exists">select sp_table_exists('sx_jobs') from xdummy;</sqlvar>
</sqlvars>
<#if sx_jobs_exists=1>
delete from sx_jobs where uniquename in (select uniquename from tmp_sx_jobs);
insert into sx_jobs (uniquename,caption,filepath,sachgebiete_id,kenn_profil,hs_nr,modus_supported,params,check_sql)
select uniquename,caption,filepath,sachgebiete_id,kenn_profil,hs_nr,modus_supported,params,check_sql
from tmp_sx_jobs;
<#if SQLdialect='Postgres'>
select sp_update_sequence('sx_jobs');
</#if>
</#if>
drop table tmp_sx_jobs;

16
src-modules/module/mobility/schluesseltabellen/sx_jobs_update.x

@ -0,0 +1,16 @@
#!/bin/bash
DOQUERY "CREATE TABLE tmp_sx_jobs (
uniquename character varying(255),
caption character varying(255),
filepath character varying(255),
sachgebiete_id integer,
kenn_profil integer,
hs_nr integer,
modus_supported smallint,
params character varying(255),
check_sql text
);"
sx_auto_upload_table.x tmp_sx_jobs sx_jobs.unl
DOSQL sx_jobs_fuellen.sql

1
src-modules/module/mobility/upgrade/dateien.txt

@ -0,0 +1 @@
Upgrade Dateien
Loading…
Cancel
Save