Forum Discussion
eduardoeduardo
10 years agoQrew Trainee
Seems that OFX files are something similar to xml and readable with file reader.
The structure has some headers
OFXHEADER:100
DATA:OFXSGML
VERSION:102
SECURITY:NONE
ENCODING:USASCII
CHARSET:1252
COMPRESSION:NONE
OLDFILEUID:NONE
NEWFILEUID:NONE
<OFX>
..........
/<OFX>
Which I splice.
I only need the Basic information of a transaction:
Example:
<STMTTRN>
<TRNTYPE>CHECK
<DTPOSTED>20150930
<TRNAMT>-15840.00
<FITID>2015093011584000
<CHECKNUM>850093
<MEMO>CHEQUE PAGO OUTRA AG NCIA
</STMTTRN>
My problem is that there are no delimiters in between. Expected to be
<STMTTRN>
<TRNTYPE>CHECK</TRNTYPE>
<DTPOSTED>20150930 </DTPOSTED>
<TRNAMT>-15840.00 </TRNAMT>-
<FITID>2015093011584000 </FITID>
<CHECKNUM>850093 </CHECKNUM>
<MEMO>CHEQUE PAGO OUTRA AG NCIA </MEMO>
</STMTTRN>
I Cut and Paste Dan�s Piece of code, after using file reader:
$xml.find("STMTTRN").each(function(row) {
var csv_line = [];
var tipo = $(this).find('TRNTYPE').text();
csv_line.push(tipo);
var data = $(this).find('DTPOSTED').text();
csv_line.push(data);
var valor = $(this).find('TRNAMT').text();
csv_line.push(valor);
var numDoc = $(this).find('FITID').text();
csv_line.push(numDoc);
var numChec = $(this).find('CHECKNUM').text();
csv_line.push(numChec);
var memo = $(this).find('MEMO').text();
csv_line.push(memo);
csv_array.push('"' + csv_line.join('","') + '"');
});
etc etc
It Works but each var picks up all the information from his value and forward.
Output:
"CHECK
20150930
-15840.00
2015093011584000
850093
CHEQUE PAGO OUTRA AG�NCIA
","20150930
-15840.00
2015093011584000
850093
CHEQUE PAGO OUTRA AG�NCIA
","-15840.00
2015093011584000
850093
CHEQUE PAGO OUTRA AG�NCIA
","2015093011584000
850093
CHEQUE PAGO OUTRA AG�NCIA
","850093
CHEQUE PAGO OUTRA AG�NCIA
","CHEQUE PAGO OUTRA AG�NCIA
"
Any hint of how can I limit to pick only the var value?
Sure is some javascript magic that I don't Know
After that is the same as all ImportCsv implementations
The structure has some headers
OFXHEADER:100
DATA:OFXSGML
VERSION:102
SECURITY:NONE
ENCODING:USASCII
CHARSET:1252
COMPRESSION:NONE
OLDFILEUID:NONE
NEWFILEUID:NONE
<OFX>
..........
/<OFX>
Which I splice.
I only need the Basic information of a transaction:
Example:
<STMTTRN>
<TRNTYPE>CHECK
<DTPOSTED>20150930
<TRNAMT>-15840.00
<FITID>2015093011584000
<CHECKNUM>850093
<MEMO>CHEQUE PAGO OUTRA AG NCIA
</STMTTRN>
My problem is that there are no delimiters in between. Expected to be
<STMTTRN>
<TRNTYPE>CHECK</TRNTYPE>
<DTPOSTED>20150930 </DTPOSTED>
<TRNAMT>-15840.00 </TRNAMT>-
<FITID>2015093011584000 </FITID>
<CHECKNUM>850093 </CHECKNUM>
<MEMO>CHEQUE PAGO OUTRA AG NCIA </MEMO>
</STMTTRN>
I Cut and Paste Dan�s Piece of code, after using file reader:
$xml.find("STMTTRN").each(function(row) {
var csv_line = [];
var tipo = $(this).find('TRNTYPE').text();
csv_line.push(tipo);
var data = $(this).find('DTPOSTED').text();
csv_line.push(data);
var valor = $(this).find('TRNAMT').text();
csv_line.push(valor);
var numDoc = $(this).find('FITID').text();
csv_line.push(numDoc);
var numChec = $(this).find('CHECKNUM').text();
csv_line.push(numChec);
var memo = $(this).find('MEMO').text();
csv_line.push(memo);
csv_array.push('"' + csv_line.join('","') + '"');
});
etc etc
It Works but each var picks up all the information from his value and forward.
Output:
"CHECK
20150930
-15840.00
2015093011584000
850093
CHEQUE PAGO OUTRA AG�NCIA
","20150930
-15840.00
2015093011584000
850093
CHEQUE PAGO OUTRA AG�NCIA
","-15840.00
2015093011584000
850093
CHEQUE PAGO OUTRA AG�NCIA
","2015093011584000
850093
CHEQUE PAGO OUTRA AG�NCIA
","850093
CHEQUE PAGO OUTRA AG�NCIA
","CHEQUE PAGO OUTRA AG�NCIA
"
Any hint of how can I limit to pick only the var value?
Sure is some javascript magic that I don't Know
After that is the same as all ImportCsv implementations