Upgrade migration to latest version

This commit is contained in:
Sergi Almacellas Abellana 2015-02-09 15:07:18 +01:00
parent 560f958ed3
commit d948ac0bca
8 changed files with 644 additions and 349 deletions

View File

@ -102,6 +102,17 @@ depends = account_move,account_account,account_move_reconciliation
transformation = account_move_line.ktr
delete = True
[account_move_line_fix_party]
insert = False
target = None
migrate = True
mapping =
source = None
depends =
transformation =
delete = False
end_script = fix_party_required.py
[account_tax_line]
insert = False
migrate = True

View File

@ -133,12 +133,40 @@
</attributes>
</connection>
<order>
<hop> <from>Table input</from><to>source</to><enabled>N</enabled> </hop> <hop> <from>create_uid</from><to>write_uid</to><enabled>Y</enabled> </hop> <hop> <from>rename_id</from><to>create_uid</to><enabled>Y</enabled> </hop> <hop> <from>source</from><to>rename_id</to><enabled>Y</enabled> </hop> <hop> <from>Select values</from><to>target</to><enabled>Y</enabled> </hop> <hop> <from>Select values 2</from><to>Table output</to><enabled>N</enabled> </hop> <hop> <from>target</from><to>Select values 2</to><enabled>N</enabled> </hop> <hop> <from>write_uid</from><to>journal</to><enabled>Y</enabled> </hop> <hop> <from>journal</from><to>date</to><enabled>Y</enabled> </hop> <hop> <from>date</from><to>Filter rows</to><enabled>Y</enabled> </hop> <hop> <from>Filter rows</from><to>Select values</to><enabled>Y</enabled> </hop> </order>
<hop> <from>Table input</from><to>source</to><enabled>N</enabled> </hop> <hop> <from>create_uid</from><to>write_uid</to><enabled>Y</enabled> </hop> <hop> <from>rename_id</from><to>create_uid</to><enabled>Y</enabled> </hop> <hop> <from>source</from><to>rename_id</to><enabled>Y</enabled> </hop> <hop> <from>Select values</from><to>target</to><enabled>Y</enabled> </hop> <hop> <from>Select values 2</from><to>Table output</to><enabled>N</enabled> </hop> <hop> <from>target</from><to>Select values 2</to><enabled>N</enabled> </hop> <hop> <from>write_uid</from><to>journal</to><enabled>Y</enabled> </hop> <hop> <from>journal</from><to>date</to><enabled>Y</enabled> </hop> <hop> <from>date</from><to>Filter rows</to><enabled>Y</enabled> </hop> <hop> <from>Filter rows</from><to>Add constants</to><enabled>Y</enabled> </hop> <hop> <from>Add constants</from><to>Select values</to><enabled>Y</enabled> </hop> </order>
<step>
<name>Filter rows</name>
<type>FilterRows</type>
<description/>
<distribute>Y</distribute>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<send_true_to/>
<send_false_to/>
<compare>
<condition>
<negated>N</negated>
<leftvalue>date</leftvalue>
<function>IS NOT NULL</function>
<rightvalue/>
</condition>
</compare>
<cluster_schema/>
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
<xloc>551</xloc>
<yloc>44</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>Select values</name>
<type>SelectValues</type>
<description/>
<distribute>N</distribute>
<distribute>Y</distribute>
<copies>1</copies>
<partitioning>
<method>none</method>
@ -221,7 +249,7 @@
<storage_type/>
</meta> </fields> <cluster_schema/>
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
<xloc>629</xloc>
<xloc>733</xloc>
<yloc>42</yloc>
<draw>Y</draw>
</GUI>
@ -280,7 +308,7 @@
</field> <select_unspecified>N</select_unspecified>
</fields> <cluster_schema/>
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
<xloc>798</xloc>
<xloc>902</xloc>
<yloc>41</yloc>
<draw>Y</draw>
</GUI>
@ -342,7 +370,7 @@
</fields>
<cluster_schema/>
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
<xloc>908</xloc>
<xloc>1012</xloc>
<yloc>41</yloc>
<draw>Y</draw>
</GUI>
@ -532,7 +560,7 @@
</partitioning>
<cluster_schema/>
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
<xloc>700</xloc>
<xloc>804</xloc>
<yloc>41</yloc>
<draw>Y</draw>
</GUI>
@ -580,8 +608,8 @@
</step>
<step>
<name>Filter rows</name>
<type>FilterRows</type>
<name>Add constants</name>
<type>Constant</type>
<description/>
<distribute>Y</distribute>
<copies>1</copies>
@ -589,20 +617,23 @@
<method>none</method>
<schema_name/>
</partitioning>
<send_true_to/>
<send_false_to/>
<compare>
<condition>
<negated>N</negated>
<leftvalue>date</leftvalue>
<function>IS NOT NULL</function>
<rightvalue/>
</condition>
</compare>
<fields>
<field>
<name>company</name>
<type>Integer</type>
<format/>
<currency/>
<decimal/>
<group/>
<nullif>1</nullif>
<length>0</length>
<precision>0</precision>
</field>
</fields>
<cluster_schema/>
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
<xloc>551</xloc>
<yloc>44</yloc>
<xloc>633</xloc>
<yloc>42</yloc>
<draw>Y</draw>
</GUI>
</step>

View File

@ -0,0 +1,57 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
##############################################################################
#
# Copyright (c) 2015 NaN Projectes de Programari Lliure, S.L.
# http://www.NaN-tic.com
# All Rights Reserved.
#
# WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsability of assessing all potential
# consequences resulting from its eventual inadequacies and bugs
# End users who are looking for a ready-to-use solution with commercial
# garantees and support are strongly adviced to contract a Free Software
# Service Company
#
# This program is Free Software; you can redistribute it and/or
# modify it under the terms of the GNU Affero General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
##############################################################################
##############################################################################
# Remove party for all moves that doesn't allow to have one.
##############################################################################
import os
import sys
sys.path.append(os.path.abspath(os.getcwd()))
from KafkaDB import tools
config = tools.read_kettle_properties()
target_db = tools.get_target_connection(config)
if __name__ == '__main__':
targetCR = target_db.cursor()
targetCR.execute('''
UPDATE account_move_line ml SET party = null
FROM account_account a
WHERE a.id = ml.account
AND NOT a.party_required
AND ml.party is not null;''')
target_db.commit()
target_db.close()

View File

@ -74,7 +74,7 @@
<type>POSTGRESQL</type>
<access>Native</access>
<database>${source}</database>
<port>${source_port}</port>
<port>5432</port>
<username>${source_user}</username>
<password>${source_password}</password>
<servername/>
@ -84,7 +84,7 @@
<attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
<attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
<attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
<attribute><code>PORT_NUMBER</code><attribute>${source_port}</attribute></attribute>
<attribute><code>PORT_NUMBER</code><attribute>5432</attribute></attribute>
<attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
<attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
<attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
@ -113,7 +113,7 @@
</attributes>
</connection>
<order>
<hop> <from>Table input</from><to>source</to><enabled>N</enabled> </hop> <hop> <from>target</from><to>Table output</to><enabled>N</enabled> </hop> <hop> <from>source</from><to>Stream lookup</to><enabled>Y</enabled> </hop> <hop> <from>get payment_type from OpenERP account_invoice</from><to>Stream lookup</to><enabled>Y</enabled> </hop> <hop> <from>Stream lookup</from><to>Database lookup</to><enabled>Y</enabled> </hop> <hop> <from>Database lookup</from><to>Select values</to><enabled>Y</enabled> </hop> <hop> <from>Select values</from><to>target</to><enabled>Y</enabled> </hop> </order>
<hop> <from>Table input</from><to>source</to><enabled>N</enabled> </hop> <hop> <from>target</from><to>Table output</to><enabled>N</enabled> </hop> <hop> <from>source</from><to>Stream lookup</to><enabled>Y</enabled> </hop> <hop> <from>get payment_type from OpenERP account_invoice</from><to>Stream lookup</to><enabled>Y</enabled> </hop> <hop> <from>Database lookup</from><to>Select values</to><enabled>Y</enabled> </hop> <hop> <from>Select values</from><to>target</to><enabled>Y</enabled> </hop> <hop> <from>Stream lookup</from><to>prep</to><enabled>Y</enabled> </hop> <hop> <from>prep</from><to>Database lookup</to><enabled>Y</enabled> </hop> </order>
<step>
<name>Database lookup</name>
<type>DBLookup</type>
@ -155,7 +155,7 @@
</lookup>
<cluster_schema/>
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
<xloc>441</xloc>
<xloc>460</xloc>
<yloc>294</yloc>
<draw>Y</draw>
</GUI>
@ -228,7 +228,7 @@
</lookup>
<cluster_schema/>
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
<xloc>311</xloc>
<xloc>252</xloc>
<yloc>293</yloc>
<draw>Y</draw>
</GUI>
@ -334,7 +334,7 @@ WHERE
<lazy_conversion_active>N</lazy_conversion_active>
<cluster_schema/>
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
<xloc>312</xloc>
<xloc>253</xloc>
<yloc>145</yloc>
<draw>Y</draw>
</GUI>
@ -376,6 +376,50 @@ WHERE
</GUI>
</step>
<step>
<name>prep</name>
<type>ScriptValueMod</type>
<description/>
<distribute>Y</distribute>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<compatible>N</compatible>
<optimizationLevel>9</optimizationLevel>
<jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
<jsScript_name>Script 1</jsScript_name>
<jsScript_script>&#47;&#47;Script here
if (type == &apos;receivable&apos; || type == &apos;payable&apos;) {
if (credit &gt; 0 || debit &lt; 0) {
var type = &apos;payable&apos;;
}
if (debit &gt; 0 || credit &lt; 0) {
var type = &apos;receivable&apos;;
}
}
</jsScript_script>
</jsScript> </jsScripts> <fields> <field> <name>old_type</name>
<rename>old_type</rename>
<type>String</type>
<length>-1</length>
<precision>-1</precision>
<replace>N</replace>
</field> <field> <name>type</name>
<rename>type</rename>
<type>String</type>
<length>-1</length>
<precision>-1</precision>
<replace>Y</replace>
</field> </fields> <cluster_schema/>
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
<xloc>348</xloc>
<yloc>293</yloc>
<draw>Y</draw>
</GUI>
</step>
<step_error_handling>
</step_error_handling>
<slave-step-copy-partition-distribution>

View File

@ -1,4 +1,4 @@
[asset_vehicle]
[asset]
insert = False
target = None
parent = False

View File

@ -74,7 +74,7 @@
<type>POSTGRESQL</type>
<access>Native</access>
<database>${source}</database>
<port>${source_port}</port>
<port>5432</port>
<username>${source_user}</username>
<password>${source_password}</password>
<servername/>
@ -84,7 +84,7 @@
<attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
<attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
<attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
<attribute><code>PORT_NUMBER</code><attribute>${source_port}</attribute></attribute>
<attribute><code>PORT_NUMBER</code><attribute>5432</attribute></attribute>
<attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
<attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
<attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
@ -113,7 +113,7 @@
</attributes>
</connection>
<order>
<hop> <from>Select values</from><to>Table output</to><enabled>N</enabled> </hop> <hop> <from>Select values</from><to>target</to><enabled>Y</enabled> </hop> <hop> <from>Table input</from><to>source</to><enabled>N</enabled> </hop> <hop> <from>create_uid</from><to>write_uid</to><enabled>Y</enabled> </hop> <hop> <from>source</from><to>create_uid</to><enabled>Y</enabled> </hop> <hop> <from>target</from><to>Table output</to><enabled>N</enabled> </hop> <hop> <from>write_uid</from><to>Add constants</to><enabled>Y</enabled> </hop> <hop> <from>Add constants</from><to>write_uid 2</to><enabled>Y</enabled> </hop> <hop> <from>write_uid 2</from><to>template sequence</to><enabled>Y</enabled> </hop> <hop> <from>template sequence</from><to>Templates</to><enabled>Y</enabled> </hop> <hop> <from>Templates</from><to>product sequence</to><enabled>Y</enabled> </hop> <hop> <from>product sequence</from><to>products</to><enabled>Y</enabled> </hop> <hop> <from>assets</from><to>Select values</to><enabled>Y</enabled> </hop> <hop> <from>products</from><to>Code</to><enabled>Y</enabled> </hop> <hop> <from>Code</from><to>assets</to><enabled>Y</enabled> </hop> <hop> <from>Row Normaliser</from><to>Stream lookup</to><enabled>Y</enabled> </hop> <hop> <from>Stream lookup</from><to>prep</to><enabled>Y</enabled> </hop> <hop> <from>fields</from><to>Stream lookup</to><enabled>Y</enabled> </hop> <hop> <from>prep</from><to>property</to><enabled>Y</enabled> </hop> <hop> <from>Templates</from><to>Row Normaliser</to><enabled>Y</enabled> </hop> </order>
<hop> <from>Select values</from><to>Table output</to><enabled>N</enabled> </hop> <hop> <from>Select values</from><to>target</to><enabled>Y</enabled> </hop> <hop> <from>Table input</from><to>source</to><enabled>N</enabled> </hop> <hop> <from>create_uid</from><to>write_uid</to><enabled>Y</enabled> </hop> <hop> <from>source</from><to>create_uid</to><enabled>Y</enabled> </hop> <hop> <from>target</from><to>Table output</to><enabled>N</enabled> </hop> <hop> <from>write_uid</from><to>Add constants</to><enabled>Y</enabled> </hop> <hop> <from>Add constants</from><to>write_uid 2</to><enabled>Y</enabled> </hop> <hop> <from>write_uid 2</from><to>template sequence</to><enabled>Y</enabled> </hop> <hop> <from>template sequence</from><to>Templates</to><enabled>Y</enabled> </hop> <hop> <from>Templates</from><to>product sequence</to><enabled>Y</enabled> </hop> <hop> <from>product sequence</from><to>products</to><enabled>Y</enabled> </hop> <hop> <from>products</from><to>Code</to><enabled>Y</enabled> </hop> <hop> <from>Row Normaliser</from><to>Stream lookup</to><enabled>Y</enabled> </hop> <hop> <from>Stream lookup</from><to>prep</to><enabled>Y</enabled> </hop> <hop> <from>fields</from><to>Stream lookup</to><enabled>Y</enabled> </hop> <hop> <from>prep</from><to>property</to><enabled>Y</enabled> </hop> <hop> <from>Templates</from><to>Row Normaliser</to><enabled>Y</enabled> </hop> <hop> <from>Code</from><to>Select values</to><enabled>Y</enabled> </hop> </order>
<step>
<name>Add constants</name>
<type>Constant</type>
@ -191,6 +191,17 @@
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>asset_type</name>
<type>String</type>
<format/>
<currency/>
<decimal/>
<group/>
<nullif>vehicle</nullif>
<length>-1</length>
<precision>-1</precision>
</field>
</fields>
<cluster_schema/>
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
@ -222,12 +233,37 @@
<max_value>999999999</max_value>
<cluster_schema/>
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
<xloc>926</xloc>
<xloc>946</xloc>
<yloc>222</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>Row Normaliser</name>
<type>Normaliser</type>
<description/>
<distribute>Y</distribute>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<typefield>field</typefield>
<fields> <field> <name>list_price</name>
<value>list_price</value>
<norm>value</norm>
</field> <field> <name>cost_price</name>
<value>cost_price</value>
<norm>value</norm>
</field> </fields> <cluster_schema/>
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
<xloc>686</xloc>
<yloc>103</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>Select values</name>
<type>SelectValues</type>
@ -241,9 +277,7 @@
<fields> <select_unspecified>N</select_unspecified>
<remove> <name>create_uid</name>
</remove> <remove> <name>write_uid</name>
</remove> <remove> <name>code</name>
</remove> <remove> <name>product_active</name>
</remove> <remove> <name>product_id</name>
</remove> <remove> <name>type</name>
</remove> <remove> <name>uom</name>
</remove> <remove> <name>uom_symbol</name>
@ -275,14 +309,73 @@
<grouping_symbol/>
<currency_symbol/>
<storage_type/>
</meta> <meta> <name>product_id</name>
<rename>product</rename>
<type>Integer</type>
<length>-2</length>
<precision>-2</precision>
<conversion_mask/>
<date_format_lenient>false</date_format_lenient>
<encoding/>
<decimal_symbol/>
<grouping_symbol/>
<currency_symbol/>
<storage_type/>
</meta> <meta> <name>asset_type</name>
<rename>type</rename>
<type>String</type>
<length>-2</length>
<precision>-2</precision>
<conversion_mask/>
<date_format_lenient>false</date_format_lenient>
<encoding/>
<decimal_symbol/>
<grouping_symbol/>
<currency_symbol/>
<storage_type/>
</meta> </fields> <cluster_schema/>
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
<xloc>1088</xloc>
<xloc>1042</xloc>
<yloc>220</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>Stream lookup</name>
<type>StreamLookup</type>
<description/>
<distribute>Y</distribute>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<from>fields</from>
<input_sorted>N</input_sorted>
<preserve_memory>Y</preserve_memory>
<sorted_list>N</sorted_list>
<integer_pair>N</integer_pair>
<lookup>
<key>
<name>field</name>
<field>name</field>
</key>
<value>
<name>id</name>
<rename>field_id</rename>
<default/>
<type>Integer</type>
</value>
</lookup>
<cluster_schema/>
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
<xloc>777</xloc>
<yloc>105</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>Table input</name>
<type>TableInput</type>
@ -339,7 +432,7 @@
</fields>
<cluster_schema/>
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
<xloc>1189</xloc>
<xloc>1143</xloc>
<yloc>343</yloc>
<draw>Y</draw>
</GUI>
@ -402,59 +495,6 @@
</GUI>
</step>
<step>
<name>assets</name>
<type>TableOutput</type>
<description/>
<distribute>Y</distribute>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<connection>target</connection>
<schema/>
<table>asset</table>
<commit>1000</commit>
<truncate>N</truncate>
<ignore_errors>N</ignore_errors>
<use_batch>N</use_batch>
<specify_fields>Y</specify_fields>
<partitioning_enabled>N</partitioning_enabled>
<partitioning_field/>
<partitioning_daily>N</partitioning_daily>
<partitioning_monthly>Y</partitioning_monthly>
<tablename_in_field>N</tablename_in_field>
<tablename_field/>
<tablename_in_table>Y</tablename_in_table>
<return_keys>Y</return_keys>
<return_field>asset</return_field>
<fields>
<field>
<column_name>active</column_name>
<stream_name>active</stream_name>
</field>
<field>
<column_name>product</column_name>
<stream_name>product_id</stream_name>
</field>
<field>
<column_name>name</column_name>
<stream_name>name</stream_name>
</field>
<field>
<column_name>code</column_name>
<stream_name>code</stream_name>
</field>
</fields>
<cluster_schema/>
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
<xloc>996</xloc>
<yloc>221</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>create_uid</name>
<type>DBLookup</type>
@ -496,6 +536,71 @@
</GUI>
</step>
<step>
<name>fields</name>
<type>TableInput</type>
<description/>
<distribute>Y</distribute>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<connection>target</connection>
<sql>select f.id,f.name
from ir_model_field f
join ir_model m on m.id = f.model
where m.model = &apos;product.template&apos; and f.name like &apos;%_price&apos;; </sql>
<limit>0</limit>
<lookup/>
<execute_each_row>N</execute_each_row>
<variables_active>N</variables_active>
<lazy_conversion_active>N</lazy_conversion_active>
<cluster_schema/>
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
<xloc>777</xloc>
<yloc>29</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>prep</name>
<type>ScriptValueMod</type>
<description/>
<distribute>Y</distribute>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<compatible>N</compatible>
<optimizationLevel>9</optimizationLevel>
<jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
<jsScript_name>Script 1</jsScript_name>
<jsScript_script>&#47;&#47;Script here
var res = &apos;product.template,&apos;+template_id;
var value = &apos;,&apos;+value;</jsScript_script>
</jsScript> </jsScripts> <fields> <field> <name>res</name>
<rename>res</rename>
<type>String</type>
<length>-1</length>
<precision>-1</precision>
<replace>N</replace>
</field> <field> <name>value</name>
<rename>value</rename>
<type>String</type>
<length>-1</length>
<precision>-1</precision>
<replace>Y</replace>
</field> </fields> <cluster_schema/>
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
<xloc>850</xloc>
<yloc>100</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>product sequence</name>
<type>Sequence</type>
@ -573,6 +678,59 @@
</GUI>
</step>
<step>
<name>property</name>
<type>TableOutput</type>
<description/>
<distribute>Y</distribute>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<connection>target</connection>
<schema/>
<table>ir_property</table>
<commit>1000</commit>
<truncate>N</truncate>
<ignore_errors>N</ignore_errors>
<use_batch>N</use_batch>
<specify_fields>Y</specify_fields>
<partitioning_enabled>N</partitioning_enabled>
<partitioning_field/>
<partitioning_daily>N</partitioning_daily>
<partitioning_monthly>Y</partitioning_monthly>
<tablename_in_field>N</tablename_in_field>
<tablename_field/>
<tablename_in_table>Y</tablename_in_table>
<return_keys>Y</return_keys>
<return_field>party</return_field>
<fields>
<field>
<column_name>res</column_name>
<stream_name>res</stream_name>
</field>
<field>
<column_name>value</column_name>
<stream_name>value</stream_name>
</field>
<field>
<column_name>company</column_name>
<stream_name>company</stream_name>
</field>
<field>
<column_name>field</column_name>
<stream_name>field_id</stream_name>
</field>
</fields>
<cluster_schema/>
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
<xloc>941</xloc>
<yloc>99</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>source</name>
<type>Dummy</type>
@ -603,7 +761,7 @@
</partitioning>
<cluster_schema/>
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
<xloc>1175</xloc>
<xloc>1129</xloc>
<yloc>216</yloc>
<draw>Y</draw>
</GUI>
@ -719,184 +877,6 @@
</GUI>
</step>
<step>
<name>Row Normaliser</name>
<type>Normaliser</type>
<description/>
<distribute>Y</distribute>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<typefield>field</typefield>
<fields> <field> <name>list_price</name>
<value>list_price</value>
<norm>value</norm>
</field> <field> <name>cost_price</name>
<value>cost_price</value>
<norm>value</norm>
</field> </fields> <cluster_schema/>
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
<xloc>686</xloc>
<yloc>103</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>Stream lookup</name>
<type>StreamLookup</type>
<description/>
<distribute>Y</distribute>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<from>fields</from>
<input_sorted>N</input_sorted>
<preserve_memory>Y</preserve_memory>
<sorted_list>N</sorted_list>
<integer_pair>N</integer_pair>
<lookup>
<key>
<name>field</name>
<field>name</field>
</key>
<value>
<name>id</name>
<rename>field_id</rename>
<default/>
<type>Integer</type>
</value>
</lookup>
<cluster_schema/>
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
<xloc>777</xloc>
<yloc>105</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>fields</name>
<type>TableInput</type>
<description/>
<distribute>Y</distribute>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<connection>target</connection>
<sql>select f.id,f.name
from ir_model_field f
join ir_model m on m.id = f.model
where m.model = &apos;product.template&apos; and f.name like &apos;%_price&apos;; </sql>
<limit>0</limit>
<lookup/>
<execute_each_row>N</execute_each_row>
<variables_active>N</variables_active>
<lazy_conversion_active>N</lazy_conversion_active>
<cluster_schema/>
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
<xloc>777</xloc>
<yloc>29</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>prep</name>
<type>ScriptValueMod</type>
<description/>
<distribute>Y</distribute>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<compatible>N</compatible>
<optimizationLevel>9</optimizationLevel>
<jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
<jsScript_name>Script 1</jsScript_name>
<jsScript_script>&#47;&#47;Script here
var res = &apos;product.template,&apos;+template_id;
var value = &apos;,&apos;+value;</jsScript_script>
</jsScript> </jsScripts> <fields> <field> <name>res</name>
<rename>res</rename>
<type>String</type>
<length>-1</length>
<precision>-1</precision>
<replace>N</replace>
</field> <field> <name>value</name>
<rename>value</rename>
<type>String</type>
<length>-1</length>
<precision>-1</precision>
<replace>Y</replace>
</field> </fields> <cluster_schema/>
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
<xloc>850</xloc>
<yloc>100</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>property</name>
<type>TableOutput</type>
<description/>
<distribute>Y</distribute>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<connection>target</connection>
<schema/>
<table>ir_property</table>
<commit>1000</commit>
<truncate>N</truncate>
<ignore_errors>N</ignore_errors>
<use_batch>N</use_batch>
<specify_fields>Y</specify_fields>
<partitioning_enabled>N</partitioning_enabled>
<partitioning_field/>
<partitioning_daily>N</partitioning_daily>
<partitioning_monthly>Y</partitioning_monthly>
<tablename_in_field>N</tablename_in_field>
<tablename_field/>
<tablename_in_table>Y</tablename_in_table>
<return_keys>Y</return_keys>
<return_field>party</return_field>
<fields>
<field>
<column_name>res</column_name>
<stream_name>res</stream_name>
</field>
<field>
<column_name>value</column_name>
<stream_name>value</stream_name>
</field>
<field>
<column_name>company</column_name>
<stream_name>company</stream_name>
</field>
<field>
<column_name>field</column_name>
<stream_name>field_id</stream_name>
</field>
</fields>
<cluster_schema/>
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
<xloc>941</xloc>
<yloc>99</yloc>
<draw>Y</draw>
</GUI>
</step>
<step_error_handling>
</step_error_handling>
<slave-step-copy-partition-distribution>

View File

@ -14,9 +14,9 @@ insert = False
parent = False
script = False
migrate = True
mapping =
mapping =
source = res_partner_bank
depends = bank
depends = party_party,bank
transformation = bank_account.ktr
delete = False
@ -25,7 +25,7 @@ insert = False
parent = False
script = False
migrate = True
mapping =
mapping =
source = res_partner_bank
target = bank_account-party_party
depends = party_party,bank_account
@ -37,7 +37,7 @@ insert = False
parent = False
script = False
migrate = True
mapping =
mapping =
source = res_partner_bank
depends = party_party,bank_account
transformation = bank_account_number.ktr
@ -49,9 +49,9 @@ target = None
parent = False
script = False
migrate = False
mapping =
mapping =
source = res_partner_address
depends =
depends =
transformation = party_address.ktr
delete = False
@ -61,9 +61,9 @@ target = None
parent = False
script = False
migrate = False
mapping =
mapping =
source = res_partner
depends =
depends =
transformation = party_party.ktr
delete = False

View File

@ -45,7 +45,7 @@
<size_rowset>10000</size_rowset>
<sleep_time_empty>50</sleep_time_empty>
<sleep_time_full>50</sleep_time_full>
<unique_connections>N</unique_connections>
<unique_connections>Y</unique_connections>
<feedback_shown>Y</feedback_shown>
<feedback_size>50000</feedback_size>
<using_thread_priorities>Y</using_thread_priorities>
@ -74,7 +74,7 @@
<type>POSTGRESQL</type>
<access>Native</access>
<database>${source}</database>
<port>${source_port}</port>
<port>5432</port>
<username>${source_user}</username>
<password>${source_password}</password>
<servername/>
@ -84,7 +84,7 @@
<attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
<attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
<attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
<attribute><code>PORT_NUMBER</code><attribute>${source_port}</attribute></attribute>
<attribute><code>PORT_NUMBER</code><attribute>5432</attribute></attribute>
<attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
<attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
<attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
@ -113,7 +113,7 @@
</attributes>
</connection>
<order>
<hop> <from>OpenERP res_partner_bank</from><to>source</to><enabled>Y</enabled> </hop> <hop> <from>BankAccount values</from><to>target</to><enabled>Y</enabled> </hop> <hop> <from>create_uid</from><to>write_uid</to><enabled>Y</enabled> </hop> <hop> <from>write_uid</from><to>Filter rows</to><enabled>Y</enabled> </hop> <hop> <from>select-bank_account</from><to>BankAccount</to><enabled>N</enabled> </hop> <hop> <from>Filter rows</from><to>BankAccount values</to><enabled>Y</enabled> </hop> <hop> <from>target</from><to>select-bank_account</to><enabled>N</enabled> </hop> <hop> <from>Filter rows 2</from><to>Strings cut</to><enabled>N</enabled> </hop> <hop> <from>Filter rows 2</from><to>bank</to><enabled>N</enabled> </hop> <hop> <from>bank_by_account</from><to>Select values</to><enabled>Y</enabled> </hop> <hop> <from>bank</from><to>create_uid</to><enabled>N</enabled> </hop> <hop> <from>Select values</from><to>create_uid</to><enabled>Y</enabled> </hop> <hop> <from>Strings cut</from><to>prep</to><enabled>Y</enabled> </hop> <hop> <from>prep</from><to>bank_by_account</to><enabled>Y</enabled> </hop> <hop> <from>source</from><to>Replace in string</to><enabled>Y</enabled> </hop> <hop> <from>Replace in string</from><to>Strings cut</to><enabled>Y</enabled> </hop> </order>
<hop> <from>OpenERP res_partner_bank</from><to>source</to><enabled>N</enabled> </hop> <hop> <from>BankAccount values</from><to>target</to><enabled>Y</enabled> </hop> <hop> <from>create_uid</from><to>write_uid</to><enabled>Y</enabled> </hop> <hop> <from>write_uid</from><to>Filter rows</to><enabled>Y</enabled> </hop> <hop> <from>select-bank_account</from><to>BankAccount</to><enabled>N</enabled> </hop> <hop> <from>target</from><to>select-bank_account</to><enabled>N</enabled> </hop> <hop> <from>Strings cut</from><to>prep</to><enabled>Y</enabled> </hop> <hop> <from>prep</from><to>bank_by_account</to><enabled>Y</enabled> </hop> <hop> <from>source</from><to>Replace in string</to><enabled>Y</enabled> </hop> <hop> <from>Replace in string</from><to>Strings cut</to><enabled>Y</enabled> </hop> <hop> <from>bank_by_account</from><to>create_uid</to><enabled>Y</enabled> </hop> <hop> <from>Generate Rows</from><to>party</to><enabled>Y</enabled> </hop> <hop> <from>party</from><to>insert bank</to><enabled>Y</enabled> </hop> <hop> <from>insert bank</from><to>Join</to><enabled>Y</enabled> </hop> <hop> <from>Filter rows</from><to>Join</to><enabled>Y</enabled> </hop> <hop> <from>Filter rows</from><to>union</to><enabled>Y</enabled> </hop> <hop> <from>union</from><to>BankAccount values</to><enabled>Y</enabled> </hop> <hop> <from>Select values 2</from><to>union</to><enabled>Y</enabled> </hop> <hop> <from>Join</from><to>prep 2</to><enabled>Y</enabled> </hop> <hop> <from>prep 2</from><to>Select values 2</to><enabled>Y</enabled> </hop> </order>
<step>
<name>BankAccount</name>
<type>TableOutput</type>
@ -145,7 +145,7 @@
</fields>
<cluster_schema/>
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
<xloc>1242</xloc>
<xloc>1274</xloc>
<yloc>220</yloc>
<draw>Y</draw>
</GUI>
@ -165,6 +165,7 @@
<remove> <name>create_uid</name>
</remove> <remove> <name>write_uid</name>
</remove> <remove> <name>bank</name>
</remove> <remove> <name>bank_by_account</name>
</remove> <meta> <name>create_uid_target</name>
<rename>create_uid</rename>
<type>Integer</type>
@ -203,7 +204,7 @@
<storage_type/>
</meta> </fields> <cluster_schema/>
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
<xloc>908</xloc>
<xloc>940</xloc>
<yloc>221</yloc>
<draw>Y</draw>
</GUI>
@ -219,8 +220,8 @@
<method>none</method>
<schema_name/>
</partitioning>
<send_true_to/>
<send_false_to/>
<send_true_to>union</send_true_to>
<send_false_to>Join</send_false_to>
<compare>
<condition>
<negated>N</negated>
@ -231,15 +232,15 @@
</compare>
<cluster_schema/>
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
<xloc>762</xloc>
<xloc>726</xloc>
<yloc>220</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>Filter rows 2</name>
<type>FilterRows</type>
<name>Generate Rows</name>
<type>RowGenerator</type>
<description/>
<distribute>Y</distribute>
<copies>1</copies>
@ -247,20 +248,76 @@
<method>none</method>
<schema_name/>
</partitioning>
<send_true_to>bank</send_true_to>
<send_false_to>Strings cut</send_false_to>
<fields>
<field>
<name>bank_code</name>
<type>String</type>
<format/>
<currency/>
<decimal/>
<group/>
<nullif>NOBANK</nullif>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>bank_name</name>
<type>String</type>
<format/>
<currency/>
<decimal/>
<group/>
<nullif>Non existing bank</nullif>
<length>-1</length>
<precision>-1</precision>
</field>
<field>
<name>bank_active</name>
<type>Boolean</type>
<format/>
<currency/>
<decimal/>
<group/>
<nullif>N</nullif>
<length>-1</length>
<precision>-1</precision>
</field>
</fields>
<limit>1</limit>
<cluster_schema/>
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
<xloc>477</xloc>
<yloc>327</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>Join</name>
<type>JoinRows</type>
<description/>
<distribute>Y</distribute>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<directory>%%java.io.tmpdir%%</directory>
<prefix>out</prefix>
<cache_size>500</cache_size>
<main/>
<compare>
<condition>
<negated>N</negated>
<leftvalue>bank</leftvalue>
<function>IS NOT NULL</function>
<rightvalue/>
<leftvalue>new_bank_id</leftvalue>
<function>=</function>
<rightvalue>new_bank_id</rightvalue>
</condition>
</compare>
<cluster_schema/>
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
<xloc>361</xloc>
<yloc>222</yloc>
<xloc>726</xloc>
<yloc>327</yloc>
<draw>Y</draw>
</GUI>
</step>
@ -276,7 +333,7 @@
<schema_name/>
</partitioning>
<connection>source</connection>
<sql>select * from res_partner_bank where id = 693;
<sql>select * from res_partner_bank;
</sql>
<limit>0</limit>
<lookup/>
@ -322,17 +379,27 @@
<whole_word>no</whole_word>
<case_sensitive>no</case_sensitive>
</field>
<field>
<in_stream_name>acc_number</in_stream_name>
<out_stream_name/>
<use_regex>no</use_regex>
<replace_string>IBAN</replace_string>
<replace_by_string/>
<replace_field_by_string/>
<whole_word>no</whole_word>
<case_sensitive>no</case_sensitive>
</field>
</fields>
<cluster_schema/>
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
<xloc>273</xloc>
<xloc>232</xloc>
<yloc>221</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>Select values</name>
<name>Select values 2</name>
<type>SelectValues</type>
<description/>
<distribute>Y</distribute>
@ -342,11 +409,15 @@
<schema_name/>
</partitioning>
<fields> <select_unspecified>N</select_unspecified>
<remove> <name>bank_by_account</name>
<remove> <name>new_bank_id</name>
</remove> <remove> <name>new_party_id</name>
</remove> <remove> <name>bank_code</name>
</remove> <remove> <name>bank_name</name>
</remove> <remove> <name>bank_active</name>
</remove> </fields> <cluster_schema/>
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
<xloc>553</xloc>
<yloc>143</yloc>
<xloc>865</xloc>
<yloc>327</yloc>
<draw>Y</draw>
</GUI>
</step>
@ -377,49 +448,8 @@
</fields>
<cluster_schema/>
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
<xloc>258</xloc>
<yloc>141</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>bank</name>
<type>DBLookup</type>
<description/>
<distribute>Y</distribute>
<copies>4</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<connection>target</connection>
<cache>Y</cache>
<cache_load_all>Y</cache_load_all>
<cache_size>0</cache_size>
<lookup>
<schema>migration</schema>
<table>bank_mapping</table>
<orderby/>
<fail_on_multiple>N</fail_on_multiple>
<eat_row_on_failure>N</eat_row_on_failure>
<key>
<name>bank</name>
<field>source</field>
<condition>=</condition>
<name2/>
</key>
<value>
<name>target</name>
<rename>target_bank</rename>
<default/>
<type>Integer</type>
</value>
</lookup>
<cluster_schema/>
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
<xloc>462</xloc>
<yloc>219</yloc>
<xloc>317</xloc>
<yloc>222</yloc>
<draw>Y</draw>
</GUI>
</step>
@ -459,8 +489,8 @@
</lookup>
<cluster_schema/>
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
<xloc>459</xloc>
<yloc>142</yloc>
<xloc>467</xloc>
<yloc>222</yloc>
<draw>Y</draw>
</GUI>
</step>
@ -506,6 +536,100 @@
</GUI>
</step>
<step>
<name>insert bank</name>
<type>TableOutput</type>
<description/>
<distribute>Y</distribute>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<connection>target</connection>
<schema>public</schema>
<table>bank</table>
<commit>1000</commit>
<truncate>N</truncate>
<ignore_errors>N</ignore_errors>
<use_batch>N</use_batch>
<specify_fields>Y</specify_fields>
<partitioning_enabled>N</partitioning_enabled>
<partitioning_field/>
<partitioning_daily>N</partitioning_daily>
<partitioning_monthly>Y</partitioning_monthly>
<tablename_in_field>N</tablename_in_field>
<tablename_field/>
<tablename_in_table>Y</tablename_in_table>
<return_keys>Y</return_keys>
<return_field>new_bank_id</return_field>
<fields>
<field>
<column_name>party</column_name>
<stream_name>new_party_id</stream_name>
</field>
<field>
<column_name>bic</column_name>
<stream_name>bank_code</stream_name>
</field>
</fields>
<cluster_schema/>
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
<xloc>640</xloc>
<yloc>327</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>party</name>
<type>TableOutput</type>
<description/>
<distribute>Y</distribute>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<connection>target</connection>
<schema>public</schema>
<table>party_party</table>
<commit>1000</commit>
<truncate>N</truncate>
<ignore_errors>N</ignore_errors>
<use_batch>N</use_batch>
<specify_fields>Y</specify_fields>
<partitioning_enabled>N</partitioning_enabled>
<partitioning_field/>
<partitioning_daily>N</partitioning_daily>
<partitioning_monthly>Y</partitioning_monthly>
<tablename_in_field>N</tablename_in_field>
<tablename_field/>
<tablename_in_table>Y</tablename_in_table>
<return_keys>Y</return_keys>
<return_field>new_party_id</return_field>
<fields>
<field>
<column_name>code</column_name>
<stream_name>bank_code</stream_name>
</field>
<field>
<column_name>name</column_name>
<stream_name>bank_name</stream_name>
</field>
<field>
<column_name>active</column_name>
<stream_name>bank_active</stream_name>
</field>
</fields>
<cluster_schema/>
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
<xloc>559</xloc>
<yloc>327</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>prep</name>
<type>ScriptValueMod</type>
@ -536,8 +660,38 @@ if (substr(bank_by_iban, 0, 2) == &apos;ES&apos;) {
<replace>Y</replace>
</field> </fields> <cluster_schema/>
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
<xloc>354</xloc>
<yloc>141</yloc>
<xloc>391</xloc>
<yloc>223</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>prep 2</name>
<type>ScriptValueMod</type>
<description/>
<distribute>Y</distribute>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<compatible>N</compatible>
<optimizationLevel>9</optimizationLevel>
<jsScripts> <jsScript> <jsScript_type>0</jsScript_type>
<jsScript_name>Script 1</jsScript_name>
<jsScript_script>&#47;&#47;Script here
var target_bank = new_bank_id;</jsScript_script>
</jsScript> </jsScripts> <fields> <field> <name>target_bank</name>
<rename>target_bank</rename>
<type>Integer</type>
<length>-1</length>
<precision>-1</precision>
<replace>Y</replace>
</field> </fields> <cluster_schema/>
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
<xloc>788</xloc>
<yloc>326</yloc>
<draw>Y</draw>
</GUI>
</step>
@ -579,7 +733,7 @@ if (substr(bank_by_iban, 0, 2) == &apos;ES&apos;) {
</field> <select_unspecified>N</select_unspecified>
</fields> <cluster_schema/>
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
<xloc>1118</xloc>
<xloc>1150</xloc>
<yloc>220</yloc>
<draw>Y</draw>
</GUI>
@ -597,7 +751,7 @@ if (substr(bank_by_iban, 0, 2) == &apos;ES&apos;) {
</partitioning>
<cluster_schema/>
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
<xloc>158</xloc>
<xloc>155</xloc>
<yloc>220</yloc>
<draw>Y</draw>
</GUI>
@ -615,12 +769,30 @@ if (substr(bank_by_iban, 0, 2) == &apos;ES&apos;) {
</partitioning>
<cluster_schema/>
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
<xloc>1020</xloc>
<xloc>1052</xloc>
<yloc>221</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>union</name>
<type>Dummy</type>
<description/>
<distribute>Y</distribute>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<cluster_schema/>
<remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
<xloc>854</xloc>
<yloc>217</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>write_uid</name>
<type>DBLookup</type>