private void processXML( str _filename)
{
str filename, nodeName,nodeName1,nodeName2,nodeName3,bodynodeDDPI,bodynodevat,bodyLinesname,summarybodyname,nodename4,nodename5,getsummaryinvoicenum;
str getsummaryinvoiceddate;
int i,j,k,l,m,n,vatcount,nodevat,lineCount = 1,poLineCount=1;
int attachmentseqheader;
XMLDocument XMLdoc = new XMLDocument();
Dialog dialog = new Dialog('Enter File Name Complete Path');
DialogField xmlfile;
XMLNode rootNode, bodyNode,bodyNode1,bodyNode2,AttNode,bodyNode3,bodyNode4,bodyNode5;
XMLNodeList bodyLines,childLine,childSubLine,bodyLines2,childline2,childline4,childline5;
XMLElement xmlElement;
SON_SummaryDDVATInvoice SummaryVATInvoice;
int sequenceno = 0;
//SON_AttachmentELMOInvoiceTmp SON_AttachmentELMOInvoiceTmp;
SON_AttachmentDDInvoiceTmp SON_AttachmentDDInvoiceTmp;
;
XMLdoc.load(_filename);
if(!xmldoc.load(_filename))
{
box::info('Can not load xml document');
}
rootNode = xmldoc.documentElement();
nodeName = rootnode.baseName();
xmlElement = xmldoc.documentElement();
if(rootnode.hasChildNodes())
{
bodyLines = rootnode.childNodes();
for(j = 0; j< bodyLines.length(); j++)
{
bodyNode = bodyLines.nextNode();
bodyLinesname = bodyNode.baseName();
if (bodyLinesname == 'SON_DDAttachmentInvoice')
{
attachmentseqheader++;
if(bodyNode.hasChildNodes())
{
childLine = bodyNode.childNodes();
for(k= 0; k<childLine.length(); k++)
{
lineCount = 0;
bodyNode1 = childLine.nextNode();
if(bodyNode1.hasChildNodes())
{
childLine2 = bodyNode1.childNodes();
nodeName3 = bodyNode1.baseName();
for(l= 0; l<childLine2.length(); l++)
{
bodyNode3 = childLine2.nextNode();
nodeName1 = bodyNode3.baseName();
if(nodeName1 != 'DDPI_Lines')
{
SON_AttachmentDDInvoiceTmp.FieldName = nodeName1;
SON_AttachmentDDInvoiceTmp.LineNumber = 1;
SON_AttachmentDDInvoiceTmp.FieldValue = childLine2.item(l).text();
SON_AttachmentDDInvoiceTmp.AttachmentHeader = attachmentseqheader;
SON_AttachmentDDInvoiceTmp.insert();
}
else
{
if(childLine2.item(l).baseName() == 'DDPI_Lines')
{
lineCount++;
poLineCount = any2int(childLine2.item(l).text());
if(bodyNode3.hasChildNodes())
{
childline4 = bodyNode3.childNodes();
for(m= 0; m < childline4.length(); m++)
{
//info("1");
bodyNode4 = childline4.nextNode();
//DDPI_Lines
bodynodeDDPI = bodyNode4.baseName();
if(nodeName1 == 'DDPI_Lines')
{
SON_AttachmentDDInvoiceTmp.FieldName = childline4.item(m).baseName();
SON_AttachmentDDInvoiceTmp.LineNumber = lineCount;
SON_AttachmentDDInvoiceTmp.FieldValue = strFmt("%1",childline4.item(m).text());
SON_AttachmentDDInvoiceTmp.AttachmentHeader = attachmentseqheader;
SON_AttachmentDDInvoiceTmp.insert();
} //if(nodeName1 == 'DDPI_Lines')
}//for(m= 0; m < childline4.length(); m++)
} //if(bodyNode3.hasChildNodes())
}//else
//attachmentInvoiceTmp.LineNumber = lineCount;
//lineCount = 0;
}
//attachmentInvoiceTmp.FieldValue = childLine2.item(l).text();
//attachmentInvoiceTmp.insert();
}//for loop l
}//if body node 1
} //for loop k
} //if body node
}// if (bodyLinesname == 'SON_DDAttachmentInvoice')
if(bodyLinesname == 'SON_DDSummaryInvoice')
{
if(bodyNode.hasChildNodes())
{
childLine = bodyNode.childNodes();
for(k= 0; k<childLine.length(); k++)
{
bodyNode1 = childLine.nextNode();
if(bodyNode1.hasChildNodes())
{
childLine2 = bodyNode1.childNodes();
nodeName3 = bodyNode1.baseName();
for(l= 0; l<childLine2.length(); l++)
{
bodyNode3 = childLine2.nextNode();
nodeName1 = bodyNode3.baseName();
if(nodeName1 != 'Vats')
{
summaryInvIBTmp.FieldName = nodeName1;
summaryInvIBTmp.LineNumber = 1;
summaryInvIBTmp.FieldValue = childLine2.item(l).text();
summaryInvIBTmp.insert();
if(nodeName1 == 'InvoiceNumber')
{
getsummaryinvoicenum = childLine2.item(l).text();
}
if(nodeName1 == 'InvoiceDate')
{
getsummaryinvoiceddate = childLine2.item(l).text();
}
}
else
{
if(childLine2.item(l).baseName() == 'Vats')
{
// lineCount++;
poLineCount = any2int(childLine2.item(l).text());
if(bodyNode3.hasChildNodes())
{
childline4 = bodyNode3.childNodes();
for(m= 0; m < childline4.length(); m++)
{
bodyNode4 = childline4.nextNode();
nodename4 = bodyNode4.baseName();
if( nodename4 == 'Vat' && bodyNode4.hasChildNodes())
{
childline5 = bodyNode4.childNodes();
SummaryVATInvoice.clear();
for(n= 0; n < childline5.length(); n++)
{
bodyNode5 = childline5.nextNode();
nodename5 = bodyNode5.baseName();
if( nodename5 == 'VatPercent')
{
SummaryVATInvoice.VATPercent =any2real(strFmt("%1",childline5.item(n).text()));
}
if(nodename5 == 'WithoutVatAmount')
{
SummaryVATInvoice.WithoutVATAmount = any2real(strFmt("%1",childline5.item(n).text()));
}
if(nodename5 == 'VatAmount')
{
SummaryVATInvoice.VATAmount = any2real(strFmt("%1",childline5.item(n).text()));
}
SummaryVATInvoice.InvoiceNumber = getsummaryinvoicenum;
SummaryVATInvoice.InvoiceDate = str2Date(getsummaryinvoiceddate,321);
}
SummaryVATInvoice.insert();
}
}//for m
} //if bodynode3
}//if Vats
}//else
}
}
}
}
}//if SON_DDSummaryInvoice
} //for j loop
}//if root node
}////method closing
{
str filename, nodeName,nodeName1,nodeName2,nodeName3,bodynodeDDPI,bodynodevat,bodyLinesname,summarybodyname,nodename4,nodename5,getsummaryinvoicenum;
str getsummaryinvoiceddate;
int i,j,k,l,m,n,vatcount,nodevat,lineCount = 1,poLineCount=1;
int attachmentseqheader;
XMLDocument XMLdoc = new XMLDocument();
Dialog dialog = new Dialog('Enter File Name Complete Path');
DialogField xmlfile;
XMLNode rootNode, bodyNode,bodyNode1,bodyNode2,AttNode,bodyNode3,bodyNode4,bodyNode5;
XMLNodeList bodyLines,childLine,childSubLine,bodyLines2,childline2,childline4,childline5;
XMLElement xmlElement;
SON_SummaryDDVATInvoice SummaryVATInvoice;
int sequenceno = 0;
//SON_AttachmentELMOInvoiceTmp SON_AttachmentELMOInvoiceTmp;
SON_AttachmentDDInvoiceTmp SON_AttachmentDDInvoiceTmp;
;
XMLdoc.load(_filename);
if(!xmldoc.load(_filename))
{
box::info('Can not load xml document');
}
rootNode = xmldoc.documentElement();
nodeName = rootnode.baseName();
xmlElement = xmldoc.documentElement();
if(rootnode.hasChildNodes())
{
bodyLines = rootnode.childNodes();
for(j = 0; j< bodyLines.length(); j++)
{
bodyNode = bodyLines.nextNode();
bodyLinesname = bodyNode.baseName();
if (bodyLinesname == 'SON_DDAttachmentInvoice')
{
attachmentseqheader++;
if(bodyNode.hasChildNodes())
{
childLine = bodyNode.childNodes();
for(k= 0; k<childLine.length(); k++)
{
lineCount = 0;
bodyNode1 = childLine.nextNode();
if(bodyNode1.hasChildNodes())
{
childLine2 = bodyNode1.childNodes();
nodeName3 = bodyNode1.baseName();
for(l= 0; l<childLine2.length(); l++)
{
bodyNode3 = childLine2.nextNode();
nodeName1 = bodyNode3.baseName();
if(nodeName1 != 'DDPI_Lines')
{
SON_AttachmentDDInvoiceTmp.FieldName = nodeName1;
SON_AttachmentDDInvoiceTmp.LineNumber = 1;
SON_AttachmentDDInvoiceTmp.FieldValue = childLine2.item(l).text();
SON_AttachmentDDInvoiceTmp.AttachmentHeader = attachmentseqheader;
SON_AttachmentDDInvoiceTmp.insert();
}
else
{
if(childLine2.item(l).baseName() == 'DDPI_Lines')
{
lineCount++;
poLineCount = any2int(childLine2.item(l).text());
if(bodyNode3.hasChildNodes())
{
childline4 = bodyNode3.childNodes();
for(m= 0; m < childline4.length(); m++)
{
//info("1");
bodyNode4 = childline4.nextNode();
//DDPI_Lines
bodynodeDDPI = bodyNode4.baseName();
if(nodeName1 == 'DDPI_Lines')
{
SON_AttachmentDDInvoiceTmp.FieldName = childline4.item(m).baseName();
SON_AttachmentDDInvoiceTmp.LineNumber = lineCount;
SON_AttachmentDDInvoiceTmp.FieldValue = strFmt("%1",childline4.item(m).text());
SON_AttachmentDDInvoiceTmp.AttachmentHeader = attachmentseqheader;
SON_AttachmentDDInvoiceTmp.insert();
} //if(nodeName1 == 'DDPI_Lines')
}//for(m= 0; m < childline4.length(); m++)
} //if(bodyNode3.hasChildNodes())
}//else
//attachmentInvoiceTmp.LineNumber = lineCount;
//lineCount = 0;
}
//attachmentInvoiceTmp.FieldValue = childLine2.item(l).text();
//attachmentInvoiceTmp.insert();
}//for loop l
}//if body node 1
} //for loop k
} //if body node
}// if (bodyLinesname == 'SON_DDAttachmentInvoice')
if(bodyLinesname == 'SON_DDSummaryInvoice')
{
if(bodyNode.hasChildNodes())
{
childLine = bodyNode.childNodes();
for(k= 0; k<childLine.length(); k++)
{
bodyNode1 = childLine.nextNode();
if(bodyNode1.hasChildNodes())
{
childLine2 = bodyNode1.childNodes();
nodeName3 = bodyNode1.baseName();
for(l= 0; l<childLine2.length(); l++)
{
bodyNode3 = childLine2.nextNode();
nodeName1 = bodyNode3.baseName();
if(nodeName1 != 'Vats')
{
summaryInvIBTmp.FieldName = nodeName1;
summaryInvIBTmp.LineNumber = 1;
summaryInvIBTmp.FieldValue = childLine2.item(l).text();
summaryInvIBTmp.insert();
if(nodeName1 == 'InvoiceNumber')
{
getsummaryinvoicenum = childLine2.item(l).text();
}
if(nodeName1 == 'InvoiceDate')
{
getsummaryinvoiceddate = childLine2.item(l).text();
}
}
else
{
if(childLine2.item(l).baseName() == 'Vats')
{
// lineCount++;
poLineCount = any2int(childLine2.item(l).text());
if(bodyNode3.hasChildNodes())
{
childline4 = bodyNode3.childNodes();
for(m= 0; m < childline4.length(); m++)
{
bodyNode4 = childline4.nextNode();
nodename4 = bodyNode4.baseName();
if( nodename4 == 'Vat' && bodyNode4.hasChildNodes())
{
childline5 = bodyNode4.childNodes();
SummaryVATInvoice.clear();
for(n= 0; n < childline5.length(); n++)
{
bodyNode5 = childline5.nextNode();
nodename5 = bodyNode5.baseName();
if( nodename5 == 'VatPercent')
{
SummaryVATInvoice.VATPercent =any2real(strFmt("%1",childline5.item(n).text()));
}
if(nodename5 == 'WithoutVatAmount')
{
SummaryVATInvoice.WithoutVATAmount = any2real(strFmt("%1",childline5.item(n).text()));
}
if(nodename5 == 'VatAmount')
{
SummaryVATInvoice.VATAmount = any2real(strFmt("%1",childline5.item(n).text()));
}
SummaryVATInvoice.InvoiceNumber = getsummaryinvoicenum;
SummaryVATInvoice.InvoiceDate = str2Date(getsummaryinvoiceddate,321);
}
SummaryVATInvoice.insert();
}
}//for m
} //if bodynode3
}//if Vats
}//else
}
}
}
}
}//if SON_DDSummaryInvoice
} //for j loop
}//if root node
}////method closing
No comments:
Post a Comment