Problem in implementing CompanyTransactionsTutorial Example

Hi,

I am facing problem in one of the graphs given in CompanyTransactionsTutorial given by CloverEtl.

Here is my graph,


<?xml version="1.0" encoding="UTF-8"?>
<Graph author="mgarg" created="Wed Mar 07 11:25:04 IST 2012" guiVersion="3.2.1" id="1331102882062" licenseCode="CLDEXU13351FA2BE4EX" licenseType="Evaluation" modified="Wed Mar 07 14:06:18 IST 2012" modifiedBy="mgarg" name="A05_CreatingXMLEmplFamCustAm" revision="1.1" showComponentDetails="true">
<Global>
<Metadata fileURL="${META_DIR}/Amounts.fmt" id="Metadata0"/>
<Metadata fileURL="${META_DIR}/AmountsWithEmpID_WithCustID.fmt" id="Metadata1"/>
<Metadata fileURL="${META_DIR}/Children.fmt" id="Metadata2"/>
<Metadata fileURL="${META_DIR}/CustomersFixed.fmt" id="Metadata3"/>
<Metadata fileURL="${META_DIR}/CustomersWithEmployeeID.fmt" id="Metadata4"/>
<Metadata fileURL="${META_DIR}/Employees.fmt" id="Metadata5"/>
<Metadata fileURL="${META_DIR}/IDs.fmt" id="Metadata6"/>
<Metadata fileURL="${META_DIR}/Spouses.fmt" id="Metadata7"/>
<Property fileURL="workspace.prm" id="GraphParameter0"/>
<Dictionary/>
</Global>
<Phase number="0">
<Node enabled="enabled" fileURL="${DATATMP_DIR}/Amounts.dat" guiHeight="93" guiName="AmountsDelimited" guiWidth="135" guiX="57" guiY="352" id="AMOUNTS_DELIMITED" type="DATA_READER"/>
<Node enabled="enabled" fileURL="${DATATMP_DIR}/EmployeesWthChildren2.xls" guiHeight="93" guiName="ChildrenXLS" guiWidth="128" guiX="49" guiY="50" id="CHILDREN_XLS" type="XLS_READER"/>
<Node enabled="enabled" fileURL="${DATATMP_DIR}/CustomersFixed.txt" guiHeight="93" guiName="CustomersFixed" guiWidth="128" guiX="49" guiY="153" id="CUSTOMERS_FIXED" type="DATA_READER"/>
<Node dedupKey="EmployeeID(a);CustomerID(a)" enabled="enabled" guiHeight="67" guiName="Dedup" guiWidth="128" guiX="850" guiY="140" id="DEDUP0" type="DEDUP"/>
<Node enabled="enabled" fileURL="${DATATMP_DIR}/EmplFamAm$$$.xml" guiHeight="93" guiName="EmployeesCustomersAmounts" guiWidth="198" guiX="1018" guiY="-33" id="EMPLOYEES_CUSTOMERS_AMOUNTS" type="EXT_XML_WRITER">
<attr name="mapping"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<Employees xmlns:clover="http://www.cloveretl.com/ns/xmlmapping">
  <employee clover:inPort="0" clover:include="$0.*">
    <spouse clover:inPort="2" clover:key="EmployeeID" clover:parentKey="EmployeeID" clover:include="$2.*" clover:exclude="$2.EmployeeID">
      <children>
        <child clover:inPort="1" clover:key="ParentID" clover:parentKey="EmployeeID" clover:include="$1.*" clover:exclude="$1.ParentID"/>
      </children>
      <customer clover:inPort="3" clover:key="EmployeeID" clover:parentKey="EmployeeID" clover:include="$3.*" clover:exclude="$3.EmployeeID">
        <transactions clover:inPort="4" clover:key="EmployeeID;CustomerID" clover:parentKey="EmployeeID;CustomerID" clover:include="$4.*" clover:exclude="$4.EmployeeID;$4.CustomerID"/>
      </customer>
    </spouse>
  </employee>
</Employees>]]></attr>
</Node>
<Node enabled="enabled" fileURL="${DATATMP_DIR}/EmployeesWithChildren1.xls" guiHeight="93" guiName="EmployeesXLS" guiWidth="128" guiX="49" guiY="-46" id="EMPLOYEES_XLS" type="XLS_READER"/>
<Node enabled="enabled" guiHeight="93" guiName="ExtHashJoin" guiWidth="128" guiX="462" guiY="138" id="EXT_HASH_JOIN0" joinKey="$CustomerID=$CustomerID" type="EXT_HASH_JOIN">
<attr name="transform"><![CDATA[//#CTL2

// Transforms input record into output record.
function integer transform() {
	$out.0.CustomerSurname = $in.0.CustomerSurname;
	$out.0.CustomerFirstname = $in.0.CustomerFirstname;
	$out.0.CustomerState = $in.0.CustomerState;
	$out.0.EmployeeID = $in.1.EmployeeID;
	$out.0.CustomerID = $in.0.CustomerID;

	return OK;
}

// Called during component initialization.
// function boolean init() {}

// Called during each graph run before the transform is executed. May be used to allocate and initialize resources
// required by the transform. All resources allocated within this method should be released
// by the postExecute() method.
// function void preExecute() {}

// Called only if transform() throws an exception.
// function integer transformOnError(string errorMessage, string stackTrace) {}

// Called during each graph run after the entire transform was executed. Should be used to free any resources
// allocated within the preExecute() method.
// function void postExecute() {}

// Called to return a user-defined error message when an error occurs.
// function string getMessage() {}
]]></attr>
</Node>
<Node enabled="enabled" guiHeight="93" guiName="ExtHashJoin" guiWidth="128" guiX="482" guiY="300" id="EXT_HASH_JOIN1" joinKey="$AmountID=$AmountID" type="EXT_HASH_JOIN">
<attr name="transform"><![CDATA[//#CTL2

// Transforms input record into output record.
function integer transform() {
	$out.0.AmountID = $in.0.AmountID;
	$out.0.CustomerID = $in.0.CustomerID;
	$out.0.EmployeeID = $in.0.EmployeeID;
	$out.0.Amount = $in.1.Amount;

	return OK;
}

// Called during component initialization.
// function boolean init() {}

// Called during each graph run before the transform is executed. May be used to allocate and initialize resources
// required by the transform. All resources allocated within this method should be released
// by the postExecute() method.
// function void preExecute() {}

// Called only if transform() throws an exception.
// function integer transformOnError(string errorMessage, string stackTrace) {}

// Called during each graph run after the entire transform was executed. Should be used to free any resources
// allocated within the preExecute() method.
// function void postExecute() {}

// Called to return a user-defined error message when an error occurs.
// function string getMessage() {}
]]></attr>
</Node>
<Node enabled="enabled" guiHeight="93" guiName="ExtSort" guiWidth="128" guiX="646" guiY="168" id="EXT_SORT0" sortKey="EmployeeID(a);CustomerID(a)" type="EXT_SORT"/>
<Node enabled="enabled" fileURL="${DATATMP_DIR}/IDs.dat" guiHeight="93" guiName="IDsDelimited" guiWidth="128" guiX="49" guiY="251" id="IDS_DELIMITED" type="DATA_READER"/>
<Node enabled="enabled" guiHeight="72" guiName="SimpleCopy" guiWidth="128" guiX="314" guiY="234" id="SIMPLE_COPY0" type="SIMPLE_COPY"/>
<Node enabled="enabled" fileURL="${DATATMP_DIR}/EmployeesWithChildren3.xls" guiHeight="93" guiName="SpousesXLS" guiWidth="128" guiX="638" guiY="50" id="SPOUSES_XLS" type="XLS_READER"/>
<Edge fromNode="AMOUNTS_DELIMITED:0" guiBendpoints="" guiRouter="Manhattan" id="Edge7" inPort="Port 1 (slave)" metadata="Metadata0" outPort="Port 0 (output)" toNode="EXT_HASH_JOIN1:1"/>
<Edge fromNode="CHILDREN_XLS:0" guiBendpoints="" guiRouter="Manhattan" id="Edge1" inPort="Port 1 (in)" metadata="Metadata2" outPort="Port 0 (out)" toNode="EMPLOYEES_CUSTOMERS_AMOUNTS:1"/>
<Edge fromNode="CUSTOMERS_FIXED:0" guiBendpoints="" guiRouter="Manhattan" id="Edge3" inPort="Port 0 (driver)" metadata="Metadata3" outPort="Port 0 (output)" toNode="EXT_HASH_JOIN0:0"/>
<Edge fromNode="DEDUP0:0" guiBendpoints="" guiRouter="Manhattan" id="Edge10" inPort="Port 3 (in)" metadata="Metadata4" outPort="Port 0 (unique)" toNode="EMPLOYEES_CUSTOMERS_AMOUNTS:3"/>
<Edge fromNode="EMPLOYEES_XLS:0" guiBendpoints="" guiRouter="Manhattan" id="Edge0" inPort="Port 0 (in)" metadata="Metadata5" outPort="Port 0 (out)" toNode="EMPLOYEES_CUSTOMERS_AMOUNTS:0"/>
<Edge fromNode="EXT_HASH_JOIN0:0" guiBendpoints="" guiRouter="Manhattan" id="Edge8" inPort="Port 0 (in)" metadata="Metadata4" outPort="Port 0 (out)" toNode="EXT_SORT0:0"/>
<Edge fromNode="EXT_HASH_JOIN1:0" guiBendpoints="" guiRouter="Manhattan" id="Edge11" inPort="Port 4 (in)" metadata="Metadata1" outPort="Port 0 (out)" toNode="EMPLOYEES_CUSTOMERS_AMOUNTS:4"/>
<Edge fromNode="EXT_SORT0:0" guiBendpoints="" guiRouter="Manhattan" id="Edge9" inPort="Port 0 (in)" metadata="Metadata4" outPort="Port 0 (out)" toNode="DEDUP0:0"/>
<Edge fromNode="IDS_DELIMITED:0" guiBendpoints="" guiRouter="Manhattan" id="Edge4" inPort="Port 0 (in)" metadata="Metadata6" outPort="Port 0 (output)" toNode="SIMPLE_COPY0:0"/>
<Edge fromNode="SIMPLE_COPY0:0" guiBendpoints="" guiRouter="Manhattan" id="Edge5" inPort="Port 1 (slave)" metadata="Metadata6" outPort="Port 0 (out)" toNode="EXT_HASH_JOIN0:1"/>
<Edge fromNode="SIMPLE_COPY0:1" guiBendpoints="" guiRouter="Manhattan" id="Edge6" inPort="Port 0 (driver)" metadata="Metadata6" outPort="Port 1 (out)" toNode="EXT_HASH_JOIN1:0"/>
<Edge fromNode="SPOUSES_XLS:0" guiBendpoints="" guiRouter="Manhattan" id="Edge2" inPort="Port 2 (in)" metadata="Metadata7" outPort="Port 0 (out)" toNode="EMPLOYEES_CUSTOMERS_AMOUNTS:2"/>
</Phase>
</Graph>

When I am executing this graph, it is successfully running… But I am not able to get the output which i should get.I mean, I should get 14 XML files in data-temp folder. But I am getting only one XML file in data-temp folder and that too I am not able to open it. It is showing the following error:


org.eclipse.ui.PartInitException: Editor could not be initialized.
	at org.eclipse.ui.texteditor.AbstractTextEditor.internalInit(AbstractTextEditor.java:3077)
	at org.eclipse.ui.texteditor.AbstractTextEditor.init(AbstractTextEditor.java:3088)
	at org.eclipse.wst.sse.ui.StructuredTextEditor.init(StructuredTextEditor.java:2495)
	at org.eclipse.ui.part.MultiPageEditorPart.addPage(MultiPageEditorPart.java:237)
	at org.eclipse.ui.part.MultiPageEditorPart.addPage(MultiPageEditorPart.java:211)
	at org.eclipse.wst.xml.ui.internal.tabletree.XMLMultiPageEditorPart.addSourcePage(XMLMultiPageEditorPart.java:493)
	at org.eclipse.wst.xml.ui.internal.tabletree.XMLMultiPageEditorPart.createPages(XMLMultiPageEditorPart.java:713)
	at org.eclipse.ui.part.MultiPageEditorPart.createPartControl(MultiPageEditorPart.java:348)
	at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:670)
	at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:465)
	at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)
	at org.eclipse.ui.internal.EditorReference.getEditor(EditorReference.java:289)
	at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2863)
	at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2768)
	at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:2760)
	at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2711)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2707)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2691)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2682)
	at org.eclipse.ui.ide.IDE.openEditor(IDE.java:651)
	at org.eclipse.ui.ide.IDE.openEditor(IDE.java:610)
	at org.eclipse.ui.actions.OpenFileAction.openFile(OpenFileAction.java:99)
	at org.eclipse.ui.actions.OpenSystemEditorAction.run(OpenSystemEditorAction.java:99)
	at org.eclipse.ui.views.navigator.OpenActionGroup.runDefaultAction(OpenActionGroup.java:133)
	at org.eclipse.ui.views.navigator.MainActionGroup.runDefaultAction(MainActionGroup.java:330)
	at org.eclipse.ui.views.navigator.ResourceNavigator.handleOpen(ResourceNavigator.java:787)
	at org.eclipse.ui.views.navigator.ResourceNavigator$6.open(ResourceNavigator.java:499)
	at org.eclipse.ui.OpenAndLinkWithEditorHelper$InternalListener.open(OpenAndLinkWithEditorHelper.java:48)
	at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:845)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)
	at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
	at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:843)
	at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1131)
	at org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(StructuredViewer.java:1235)
	at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:264)
	at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:258)
	at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:298)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1383)
Caused by: java.lang.OutOfMemoryError: Java heap space

Can anyone please tell me what should I do to eradicate this error and how can i get all the output files.

Thanks

Hi megha,

you probably can’t open XML because is too big for Eclipse editor (even files in order of MB can be problematic - there is huge overhead due to DOM+syntax highlighting). There is message “caused by: java.lang.OutOfMemoryError: Java heap space”. You can try to adjust -Xmx parameter (http://docs.oracle.com/javase/1.4.2/doc … /java.html) of your Designer (pass -Xmx{mem in MB}m to command line when starting).

There is just one file, because you removed “Records per file” and “Max number of records” parameters from XmlWriter. Take a look on default graph for reference.

Here’s a hint for passing the Xmx argument to Designer - open the CloverETLDesigner.ini file in your Designer installation and you’ll find the Xmx argument there. If you installed Designer from an update site into an existing Eclipse, then the file will be called eclipse.ini.

Regards,
Jaro

Thanks jurban and kubosj for your reply. It really helped me a lot.
Well i have gone through the refernce graphs and got that i have to set Records per file and Max number of records field.
In the reference graph Records per file is set to 1 and Max number of records is set to {MAPPINGS}.
Well, when i am setting the Max number of records to {Mappings} and clicking OK button then the value gets disappeared due to which m getting very large number of XML files approximately 100.000 files. :frowning:
Can anyone help me out and guide me how do i set Max number of files field to {MAPPINGS} and restrict the number of output XML files to 14.

Thanks

Hi megha,

the value of “Records per file” should be “${MAPPINGS}” not “{MAPPINGS}”. Please take also a look to its value - in sample it is 15.

For reference I attached unaltered graph. Are you sure you didn’t do any changes in it?

Hey Kubosj,
Thanx for your response and guidance. Oops sry but by mistake I wrote the value of Max number of records as {MAPPINGS}.
Actually I created a new parameter known as MAPPINGS and put the value as 15. And then i substituted the value of Max number of records as ${MAPPINGS}. Well now I am getting 15 XML files as o/p but the content in those XML files are not the same as the one in CompanyTransactionsTutorial graph. And also I am getting Varying number of XML files same o/p ie. the first 3 XML o/p files content is same and then the next few XML o/p files are same.
I have done the mapping the same way as it is done in CompanyTransactionsTutorial graph.
But still I am not getting the o/p as per expected.
Whereas in the CompanyTransactionsTutorial graph they are getting 15 XML o/p files distinct and correct.
I am not able to identify where I am going wrong. :frowning:
Can you please help me out in this.

Hi megha,

can you send me samples of “wrong” files? I also do not understand abbreviation “o/p” :slight_smile:

Hey Kubosj,

I am greatful to you for your continuous response to my post.
With O/p I mean to say output. :slight_smile:

And in output I am getting duplicate XML files means with same content. I am sending you some of my output files below:

CustEmplFamAm000.xml:


<?xml version="1.0" encoding="UTF-8" ?> 
- <Customers>
- <customers CustomerID="1" CustomerState="Virginia" CustomerSurname="Driggers" CustomerFirstname="Tauni">
- <employee EmployeeID="12" EmployeeSurname="Schmidt" EmployeeFirstname="Daniel">
  <spouse SpouseName="Rosemary" /> 
  <Children /> 
  <transactions AmountID="98920" Amount="39.14" CustomerID="1" EmployeeID="12" /> 
  </employee>
  </customers>
  </Customers>

CustEmplFamAm001.xml:


  <?xml version="1.0" encoding="UTF-8" ?> 
- <Customers>
- <customers CustomerID="1" CustomerState="Virginia" CustomerSurname="Driggers" CustomerFirstname="Tauni">
- <employee EmployeeID="12" EmployeeSurname="Schmidt" EmployeeFirstname="Daniel">
  <spouse SpouseName="Rosemary" /> 
  <Children /> 
  <transactions AmountID="98920" Amount="39.14" CustomerID="1" EmployeeID="12" /> 
  </employee>
  </customers>
  </Customers>

CustEmplFamAm002.xml:


  <?xml version="1.0" encoding="UTF-8" ?> 
- <Customers>
- <customers CustomerID="1" CustomerState="Virginia" CustomerSurname="Driggers" CustomerFirstname="Tauni">
- <employee EmployeeID="12" EmployeeSurname="Schmidt" EmployeeFirstname="Daniel">
  <spouse SpouseName="Rosemary" /> 
  <Children /> 
  <transactions AmountID="98920" Amount="39.14" CustomerID="1" EmployeeID="12" /> 
  </employee>
  </customers>
  </Customers>

CustEmplFamAm003.xml:


  <?xml version="1.0" encoding="UTF-8" ?> 
- <Customers>
- <customers CustomerID="2" CustomerState="Montana" CustomerSurname="Keane" CustomerFirstname="Wathalee">
- <employee EmployeeID="2" EmployeeSurname="Galvin" EmployeeFirstname="William">
  <spouse SpouseName="Valerie" /> 
- <Children>
  <child ChildName="Amanda" /> 
  <child ChildName="Zoe" /> 
  </Children>
  <transactions AmountID="2" Amount="768.5" CustomerID="2" EmployeeID="2" /> 
  </employee>
- <employee EmployeeID="7" EmployeeSurname="Salazar" EmployeeFirstname="Jacqueline">
  <spouse SpouseName="Rowan" /> 
- <Children>
  <child ChildName="Daniel" /> 
  <child ChildName="Stanley" /> 
  <child ChildName="Zoe" /> 
  </Children>
  <transactions AmountID="96624" Amount="376.2" CustomerID="2" EmployeeID="7" /> 
  </employee>
- <employee EmployeeID="17" EmployeeSurname="Jans" EmployeeFirstname="Amy">
  <spouse SpouseName="James" /> 
- <Children>
  <child ChildName="Agatha" /> 
  <child ChildName="Frank" /> 
  </Children>
  <transactions AmountID="88057" Amount="836.88" CustomerID="2" EmployeeID="17" /> 
  </employee>
- <employee EmployeeID="37" EmployeeSurname="Zwier" EmployeeFirstname="James">
  <spouse SpouseName="Francene" /> 
- <Children>
  <child ChildName="Amy" /> 
  <child ChildName="Gilbert" /> 
  <child ChildName="Peter" /> 
  </Children>
  <transactions AmountID="72212" Amount="364.13" CustomerID="2" EmployeeID="37" /> 
  </employee>
- <employee EmployeeID="75" EmployeeSurname="Tusting" EmployeeFirstname="Leonardo">
  <spouse SpouseName="Francene" /> 
- <Children>
  <child ChildName="Robert" /> 
  <child ChildName="Rosemary" /> 
  </Children>
  <transactions AmountID="36880" Amount="239.55" CustomerID="2" EmployeeID="75" /> 
  </employee>
  </customers>
  </Customers>

CustEmplFamAm004.xml:


  <?xml version="1.0" encoding="UTF-8" ?> 
- <Customers>
- <customers CustomerID="2" CustomerState="Montana" CustomerSurname="Keane" CustomerFirstname="Wathalee">
- <employee EmployeeID="2" EmployeeSurname="Galvin" EmployeeFirstname="William">
  <spouse SpouseName="Valerie" /> 
- <Children>
  <child ChildName="Amanda" /> 
  <child ChildName="Zoe" /> 
  </Children>
  <transactions AmountID="2" Amount="768.5" CustomerID="2" EmployeeID="2" /> 
  </employee>
- <employee EmployeeID="7" EmployeeSurname="Salazar" EmployeeFirstname="Jacqueline">
  <spouse SpouseName="Rowan" /> 
- <Children>
  <child ChildName="Daniel" /> 
  <child ChildName="Stanley" /> 
  <child ChildName="Zoe" /> 
  </Children>
  <transactions AmountID="96624" Amount="376.2" CustomerID="2" EmployeeID="7" /> 
  </employee>
- <employee EmployeeID="17" EmployeeSurname="Jans" EmployeeFirstname="Amy">
  <spouse SpouseName="James" /> 
- <Children>
  <child ChildName="Agatha" /> 
  <child ChildName="Frank" /> 
  </Children>
  <transactions AmountID="88057" Amount="836.88" CustomerID="2" EmployeeID="17" /> 
  </employee>
- <employee EmployeeID="37" EmployeeSurname="Zwier" EmployeeFirstname="James">
  <spouse SpouseName="Francene" /> 
- <Children>
  <child ChildName="Amy" /> 
  <child ChildName="Gilbert" /> 
  <child ChildName="Peter" /> 
  </Children>
  <transactions AmountID="72212" Amount="364.13" CustomerID="2" EmployeeID="37" /> 
  </employee>
- <employee EmployeeID="75" EmployeeSurname="Tusting" EmployeeFirstname="Leonardo">
  <spouse SpouseName="Francene" /> 
- <Children>
  <child ChildName="Robert" /> 
  <child ChildName="Rosemary" /> 
  </Children>
  <transactions AmountID="36880" Amount="239.55" CustomerID="2" EmployeeID="75" /> 
  </employee>
  </customers>
  </Customers>

The same output continues till CustEmplFamAm011.xml.
Then the next output file is below:

CustEmplFamAm012.xml:


  <?xml version="1.0" encoding="UTF-8" ?> 
- <Customers>
- <customers CustomerID="3" CustomerState="South Carolina" CustomerSurname="Barile" CustomerFirstname="Marlowe">
- <employee EmployeeID="3" EmployeeSurname="Barrier" EmployeeFirstname="Agatha">
  <spouse SpouseName="John" /> 
  <Children /> 
  <transactions AmountID="3" Amount="297.59" CustomerID="3" EmployeeID="3" /> 
  </employee>
- <employee EmployeeID="94" EmployeeSurname="Ashbrook" EmployeeFirstname="William">
  <spouse SpouseName="Valerie" /> 
- <Children>
  <child ChildName="Flora" /> 
  <child ChildName="Janessa" /> 
  </Children>
  <transactions AmountID="72293" Amount="359.69" CustomerID="3" EmployeeID="94" /> 
  </employee>
- <employee EmployeeID="122" EmployeeSurname="Cammack" EmployeeFirstname="Raquel">
  <spouse SpouseName="Daniel" /> 
  <Children /> 
  <transactions AmountID="51760" Amount="578.4" CustomerID="3" EmployeeID="122" /> 
  </employee>
- <employee EmployeeID="124" EmployeeSurname="Trouse" EmployeeFirstname="Arnold">
  <spouse SpouseName="Vanessa" /> 
  <Children /> 
  <transactions AmountID="91667" Amount="447.11" CustomerID="3" EmployeeID="124" /> 
  </employee>
  </customers>
  </Customers>

And now the above output continues till CustEmplFamAm014.xml… Means CustEmplFamAm012.xml, CustEmplFamAm013.xml, CustEmplFamAm014.xml contains same output.

Now I am not able to understand why I am getting such outputs?? :frowning:

The correct output files should have distinct output and you might also be knowing what exactly I should get in output XML files.

I would be great if u can help me out with this issue.

Thanks,
Megha

Hi Megha,

I am starting to be confused by amount of inputs. So lets clarify:

1] does original&unaltered “A05_CreatingXMLEmplFamCustAm” work as expected with your installation?
2] you derived your graph from “A05_CreatingXMLEmplFamCustAm” - can’t you compare it against original and find difference? (this is hard for me because I am missing e.g. external metadata you created)
3] maybe you can derive your graph again and check outputs after each small change
4] you can use http://www.cloveretl.com/documentation/ … edges.html for debugging
5] you should take a care of each property of each component - even small change may have major impact (type of join, …)

Hi Kubosj,
Thanks for ur reply.

Well i have checked the original & unaltered graph from CompanyTransactionsTutorial. It is giving the expected output.

I have designed the same graph with same configuration and same metadata fields and checked all the parameters for each component and have kept all the parameters same as given in the Original Graph. But still I am not getting the exact output which i should get.

In the original unaltered graph, 15 XML files are generated and none of the XML file contains the same output. All of the 15 XML files have distinct output which means no duplicacy of output exists.

When I am running my graph, I am also getting 15 XML files but more than 1 Xml files consists of same output. I am not getting all the 15 XML files distinct.

Can you please figure out in what field I may be going wrong?? :frowning:

Thanks,
Megha

Hi megha,

did you tried to debug your graph? You should see number of records send through each edge, as well as values. Then you should follow your data from input components to output components. Check records count and records data after each component. Compare between original and your graph. When you find discrepancy, then try to find out what is wrong with problematic component - what is difference between original and your graph. It may be one small settings.

Also take a look on link from my last post.

Hey kubosj,

Thankyou so much for ur suggestion. Finally, I have identified my mistake and now I am getting correct output. :slight_smile: