Meu método ficou assim:
[code]protected String doIt() throws Exception {
PreparedStatement pstm = null;
ResultSet rs = null;
String trx = null;
String sql = " SELECT cbp.name2, cmr.grandtotal, cmr.startdate "+
" FROM c_commissionrun cmr "+
" INNER JOIN c_commission cm ON cmr.c_commission_id = cm.c_commission_id "+
" INNER JOIN c_bpartner cbp ON cm.c_bpartner_id = cbp.c_bpartner_id “+
" WHERE cmr.startdate = ? “;
try {
pstm = DB.prepareStatement(sql, trx);
pstm.setTimestamp(1, p_Date);
rs = pstm.executeQuery();
JFileChooser chooser = new JFileChooser();
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
int acao = chooser.showOpenDialog(chooser);
String fileName = null;
switch(acao){
case JFileChooser.APPROVE_OPTION:
fileName = chooser.getSelectedFile().getPath() + System.getProperty(“file.separator”) + “TBDIGI.004”;
break;
case JFileChooser.CANCEL_OPTION:
return null;
}
while(rs.next())
{
String Nome2 = rs.getString(“name2”);
BigDecimal ValorTotal = rs.getBigDecimal(“grandtotal”);
BufferedWriter arquivo;
String Nome = StringUtils.leftPad(Nome2, 8, “0”);
String Total = StringUtils.leftPad(ValorTotal.setScale(2).toString().replace(”.”, “”), 18, “0”);
String valores = “460”+ Nome + “00322” + Total;
arquivo = new BufferedWriter(new FileWriter(fileName, true));
arquivo.write(valores);
arquivo.newLine();
arquivo.flush();
arquivo.close();
if(Nome2 == "")
continue;
}
}catch(Exception ex){
//
}
finally {
DB.close(rs, pstm);
pstm = null;
rs = null;
}
return null;
}[/code]
Só meu único problema agora, é ver qual é a organização, porque muda o nome do arquivo salvo:
Organização 1 = TBDIGI.004
Organização 2 = TBDIGI.005
Tentei pegar o getAD_Org_ID mas pelo jeito não dá