Patch level : 12.0 no-patch
Files correlati : Commento : - Sistemati errori connessione, adesso oltre al nome del DSN chiede user e password, (il server del cliente da errore altrimenti) - Sistemate query secondo le ultime richieste di Roberto - Aggiunto salvataggio su ditta.ini nella sezione "Campo_Compass" delle informazioni per il server git-svn-id: svn://10.65.10.50/branches/R_10_00@23396 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
277938dc14
commit
9ab30e1bbf
@ -48,10 +48,9 @@ bool TCampass_msk::on_field_event(TOperable_field& o, TField_event e, long jolly
|
|||||||
|
|
||||||
TCampass_msk::TCampass_msk() : TAutomask("ca2600a")
|
TCampass_msk::TCampass_msk() : TAutomask("ca2600a")
|
||||||
{
|
{
|
||||||
TDate d(TODAY);
|
set(F_DSN, ini_get_string(CONFIG_DITTA, "Campo_Compass", "DSN"));
|
||||||
set(F_DATA_FIN, d);
|
set(F_USR, ini_get_string(CONFIG_DITTA, "Campo_Compass", "User"));
|
||||||
d.set_day(1);
|
set(F_PWD, ini_get_string(CONFIG_DITTA, "Campo_Compass", "Password"));
|
||||||
set(F_DATA_INI, d, true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class TCampass_app : public TSkeleton_application
|
class TCampass_app : public TSkeleton_application
|
||||||
@ -64,21 +63,20 @@ protected:
|
|||||||
const TString zeroFill(TString val) const; // Riempe di 0 se non ci sono 6 caratteri
|
const TString zeroFill(TString val) const; // Riempe di 0 se non ci sono 6 caratteri
|
||||||
//*****************************************************************
|
//*****************************************************************
|
||||||
// Funzioni per segnalare a Compass il trasferimento delle tabelle
|
// Funzioni per segnalare a Compass il trasferimento delle tabelle
|
||||||
TString startExport(const TString& DSN, TString prefixTables) const;
|
TString startExport(const TString& DSN, const TString& usr, const TString& psw, TString prefixTables) const;
|
||||||
void endExport(const TString& DSN, TString id) const;
|
void endExport(const TString& DSN, const TString& usr, const TString& psw, TString id) const;
|
||||||
//*****************************************************************
|
//*****************************************************************
|
||||||
bool create_table(const TString& DSN, TIsam_handle lf) const;
|
bool emptyTables(const TString& DSN, const TString& usr, const TString& psw) const;
|
||||||
bool emptyTables(const TString& DSN) const;
|
TString esporta(const TString& DSN, const TString& usr, const TString& psw) const;
|
||||||
TString esporta(const TString& DSN, const TDate& datef, const TDate& datet) const;
|
|
||||||
// Funzioni di esportazione
|
// Funzioni di esportazione
|
||||||
bool a01a(const TString& DSN, const TString id) const;
|
bool a01a(const TString& DSN, const TString& usr, const TString& psw, const TString id) const;
|
||||||
bool o01a(const TString& DSN, const TString id) const;
|
bool o01a(const TString& DSN, const TString& usr, const TString& psw, const TString id) const;
|
||||||
bool o02a(const TString& DSN, const TString id) const;
|
bool o02a(const TString CodNum, const TString& DSN, const TString& usr, const TString& psw, const TString id) const;
|
||||||
bool o02c(const TString& DSN, const TString id) const;
|
bool o02c(const TString CodNum, const TString& DSN, const TString& usr, const TString& psw, const TString id) const;
|
||||||
bool o03a(const TString& DSN, const TString id) const;
|
bool o03a(const TString& DSN, const TString& usr, const TString& psw, const TString id) const;
|
||||||
bool p01a(const TString& DSN, const TString id) const;
|
bool p01a(const TString& DSN, const TString& usr, const TString& psw, const TString id) const;
|
||||||
bool p01b(const TString& DSN, const TString id) const;
|
bool p01b(const TString& DSN, const TString& usr, const TString& psw, const TString id) const;
|
||||||
bool p02a(const TString& DSN, const TString id) const;
|
bool p02a(const TString& DSN, const TString& usr, const TString& psw, const TString id) const;
|
||||||
//bool o01b(const TString& DSN) const; Messa in pausa
|
//bool o01b(const TString& DSN) const; Messa in pausa
|
||||||
|
|
||||||
public:
|
public:
|
||||||
@ -113,11 +111,11 @@ const TString TCampass_app::zeroFill(TString val) const
|
|||||||
return app;
|
return app;
|
||||||
}
|
}
|
||||||
|
|
||||||
TString TCampass_app::startExport(const TString& DSN, TString prefixTables) const
|
TString TCampass_app::startExport(const TString& DSN, const TString& usr, const TString& psw, TString prefixTables) const
|
||||||
{
|
{
|
||||||
TODBC_recordset sqlset("", true);
|
TODBC_recordset sqlset("", true);
|
||||||
// Controllo la connessione
|
// Controllo la connessione
|
||||||
if (!sqlset.connect(DSN))
|
if (!sqlset.connect(DSN, usr, psw))
|
||||||
return "";
|
return "";
|
||||||
|
|
||||||
//Preparo la query
|
//Preparo la query
|
||||||
@ -131,22 +129,22 @@ TString TCampass_app::startExport(const TString& DSN, TString prefixTables) cons
|
|||||||
return idrunimp.as_string();
|
return idrunimp.as_string();
|
||||||
}
|
}
|
||||||
|
|
||||||
void TCampass_app::endExport(const TString& DSN, TString id) const
|
void TCampass_app::endExport(const TString& DSN, const TString& usr, const TString& psw, TString id) const
|
||||||
{
|
{
|
||||||
TODBC_recordset sqlset("", true);
|
TODBC_recordset sqlset("", true);
|
||||||
sqlset.connect(DSN);
|
sqlset.connect(DSN, usr, psw);
|
||||||
//Preparo la query
|
//Preparo la query
|
||||||
TString sqlQuery; sqlQuery << "UPDATE RunImp SET DWEND = CURRENT_TIMESTAMP WHERE IDRUNIMP = '" << id << "'";
|
TString sqlQuery; sqlQuery << "UPDATE RunImp SET DWEND = CURRENT_TIMESTAMP WHERE IDRUNIMP = '" << id << "'";
|
||||||
sqlset.exec(sqlQuery);
|
sqlset.exec(sqlQuery);
|
||||||
sqlset.commit();
|
sqlset.commit();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TCampass_app::emptyTables(const TString& DSN) const
|
bool TCampass_app::emptyTables(const TString& DSN, const TString& usr, const TString& psw) const
|
||||||
{
|
{
|
||||||
TODBC_recordset sqlset("");
|
TODBC_recordset sqlset("");
|
||||||
TString table;
|
TString table;
|
||||||
|
|
||||||
if (!sqlset.connect(DSN))
|
if (!sqlset.connect(DSN, usr, psw))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
for (int i = 0; i < tables.size(); i++)
|
for (int i = 0; i < tables.size(); i++)
|
||||||
@ -162,7 +160,7 @@ bool TCampass_app::emptyTables(const TString& DSN) const
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
TString TCampass_app::esporta(const TString& DSN, const TDate& datef, const TDate& datet) const
|
TString TCampass_app::esporta(const TString& DSN, const TString& usr, const TString& psw) const
|
||||||
{
|
{
|
||||||
TString errors;
|
TString errors;
|
||||||
// Funzione disabilitata di debug
|
// Funzione disabilitata di debug
|
||||||
@ -184,53 +182,60 @@ TString TCampass_app::esporta(const TString& DSN, const TDate& datef, const TDat
|
|||||||
//endExport(DSN, a01);
|
//endExport(DSN, a01);
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// Lo so potevo mettere DSN, usr e psw nella classe senza passarli sempre ma me ne sono reso conto dopo
|
||||||
|
|
||||||
|
TODBC_recordset sqlset("");
|
||||||
|
if (!sqlset.connect(DSN, usr, psw))
|
||||||
|
return "Connessione fallita!";
|
||||||
|
|
||||||
// INIZIO O01
|
// INIZIO O01
|
||||||
TString o01; o01 << startExport(DSN, "O01");
|
TString o01; o01 << startExport(DSN, usr, psw, "O01");
|
||||||
|
|
||||||
if(!o01a(DSN, o01)) errors << "ERRORE TABELLA: O01A\n"; // O01A
|
if(!o01a(DSN, usr, psw, o01)) errors << "ERRORE TABELLA: O01A\n"; // O01A
|
||||||
|
|
||||||
endExport(DSN, o01);
|
endExport(DSN, usr, psw, o01);
|
||||||
|
|
||||||
// INIZIO O02
|
// INIZIO O02
|
||||||
TString o02; o02 << startExport(DSN, "O02");
|
TString o02; o02 << startExport(DSN, usr, psw, "O02");
|
||||||
|
|
||||||
if(!o02a(DSN, o02)) errors << "ERRORE TABELLA: O02A\n"; // O02A
|
if(!o02a("ORC", DSN, usr, psw, o02)) errors << "ERRORE TABELLA: O02A\n"; // O02A ORC
|
||||||
if(!o02c(DSN, o02)) errors << "ERRORE TABELLA: O02C\n"; // O02C
|
if(!o02a("PRC", DSN, usr, psw, o02)) errors << "ERRORE TABELLA: O02A\n"; // O02A PRC
|
||||||
|
if(!o02c("ORC", DSN, usr, psw, o02)) errors << "ERRORE TABELLA: O02C\n"; // O02C ORC
|
||||||
|
if(!o02c("PRC", DSN, usr, psw, o02)) errors << "ERRORE TABELLA: O02C\n"; // O02C PRC
|
||||||
|
|
||||||
endExport(DSN, o02);
|
endExport(DSN, usr, psw, o02);
|
||||||
|
|
||||||
// INIZIO O03
|
// INIZIO O03
|
||||||
TString o03; o03 << startExport(DSN, "O03");
|
TString o03; o03 << startExport(DSN, usr, psw, "O03");
|
||||||
|
|
||||||
if(!o03a(DSN, o03)) errors << "ERRORE TABELLA: O03A\n"; // O03A
|
if(!o03a(DSN, usr, psw, o03)) errors << "ERRORE TABELLA: O03A\n"; // O03A
|
||||||
|
|
||||||
endExport(DSN, o03);
|
endExport(DSN, usr, psw, o03);
|
||||||
|
|
||||||
// INIZIO p01
|
// INIZIO p01
|
||||||
TString p01; p01 << startExport(DSN, "P01");
|
TString p01; p01 << startExport(DSN, usr, psw, "P01");
|
||||||
|
|
||||||
if(!p01a(DSN, p01)) errors << "ERRORE TABELLA: P01A\n"; // P01A
|
if(!p01a(DSN, usr, psw, p01)) errors << "ERRORE TABELLA: P01A\n"; // P01A
|
||||||
if(!p01b(DSN, p01)) errors << "ERRORE TABELLA: P01B\n"; // P01B
|
if(!p01b(DSN, usr, psw, p01)) errors << "ERRORE TABELLA: P01B\n"; // P01B
|
||||||
|
|
||||||
endExport(DSN, p01);
|
endExport(DSN, usr, psw, p01);
|
||||||
|
|
||||||
// INIZIO p02
|
// INIZIO p02
|
||||||
TString p02; p02 << startExport(DSN, "P02");
|
TString p02; p02 << startExport(DSN, usr, psw, "P02");
|
||||||
|
|
||||||
if(!p02a(DSN, p02)) errors << "ERRORE TABELLA: P02A\n"; // P02A
|
if(!p02a(DSN, usr, psw, p02)) errors << "ERRORE TABELLA: P02A\n"; // P02A
|
||||||
|
|
||||||
endExport(DSN, p02);
|
endExport(DSN, usr, psw, p02);
|
||||||
|
|
||||||
return errors;
|
return errors;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Non sono molto sicuro del suo funzionamento
|
// Non sono molto sicuro del suo funzionamento
|
||||||
bool TCampass_app::a01a(const TString& DSN, const TString id) const
|
bool TCampass_app::a01a(const TString& DSN, const TString& usr, const TString& psw, const TString id) const
|
||||||
{
|
{
|
||||||
TODBC_recordset sqlset("", true);
|
TODBC_recordset sqlset("", true);
|
||||||
// Controllo la connessione
|
// Controllo la connessione
|
||||||
if (!sqlset.connect(DSN))
|
if (!sqlset.connect(DSN, usr, psw))
|
||||||
return false;
|
return false;
|
||||||
TRelation rilprod(LF_RILPROD),rdoc(LF_RIGHEDOC);
|
TRelation rilprod(LF_RILPROD),rdoc(LF_RIGHEDOC);
|
||||||
int items;
|
int items;
|
||||||
@ -256,8 +261,6 @@ bool TCampass_app::a01a(const TString& DSN, const TString id) const
|
|||||||
filtroFiltro.put("PROVV", rowRilprod.get("PROVV"));
|
filtroFiltro.put("PROVV", rowRilprod.get("PROVV"));
|
||||||
filtroFiltro.put("NDOC", rowRilprod.get("NDOC"));
|
filtroFiltro.put("NDOC", rowRilprod.get("NDOC"));
|
||||||
TCursor curFiltro(&rdoc, "RIGAEVASA != \"X\"", 1, &filtroFiltro, &filtroFiltro);
|
TCursor curFiltro(&rdoc, "RIGAEVASA != \"X\"", 1, &filtroFiltro, &filtroFiltro);
|
||||||
if(curFiltro.items() > 1)
|
|
||||||
bool wtf = true;
|
|
||||||
if(curFiltro.items() > 0)
|
if(curFiltro.items() > 0)
|
||||||
{
|
{
|
||||||
curFiltro = 0;
|
curFiltro = 0;
|
||||||
@ -289,11 +292,11 @@ bool TCampass_app::a01a(const TString& DSN, const TString id) const
|
|||||||
}
|
}
|
||||||
return sqlset.commit() == -1 ? false : true;
|
return sqlset.commit() == -1 ? false : true;
|
||||||
}
|
}
|
||||||
bool TCampass_app::o01a(const TString& DSN, const TString id) const
|
bool TCampass_app::o01a(const TString& DSN, const TString& usr, const TString& psw, const TString id) const
|
||||||
{
|
{
|
||||||
TODBC_recordset sqlset("", true);
|
TODBC_recordset sqlset("", true);
|
||||||
// Controllo la connessione
|
// Controllo la connessione
|
||||||
if (!sqlset.connect(DSN))
|
if (!sqlset.connect(DSN, usr, psw))
|
||||||
return false;
|
return false;
|
||||||
TRelation doc(LF_DOC),rdoc(LF_RIGHEDOC);
|
TRelation doc(LF_DOC),rdoc(LF_RIGHEDOC);
|
||||||
int items;
|
int items;
|
||||||
@ -366,19 +369,20 @@ bool TCampass_app::o01a(const TString& DSN, const TString id) const
|
|||||||
}
|
}
|
||||||
return sqlset.commit() == -1 ? false : true;
|
return sqlset.commit() == -1 ? false : true;
|
||||||
}
|
}
|
||||||
bool TCampass_app::o02a(const TString& DSN, const TString id) const
|
bool TCampass_app::o02a(const TString CodNum, const TString& DSN, const TString& usr, const TString& psw, const TString id) const
|
||||||
{
|
{
|
||||||
TODBC_recordset sqlset("", true);
|
TODBC_recordset sqlset("", true);
|
||||||
// Controllo la connessione
|
// Controllo la connessione
|
||||||
if (!sqlset.connect(DSN))
|
if (!sqlset.connect(DSN, usr, psw))
|
||||||
return false;
|
return false;
|
||||||
TRelation doc(LF_DOC),rdoc(LF_RIGHEDOC);
|
TRelation doc(LF_DOC),rdoc(LF_RIGHEDOC);
|
||||||
int items;
|
int items;
|
||||||
TString msg("Esportazione tabella "); msg << "O02A";
|
TString msg("Esportazione tabella "); msg << "O02A";
|
||||||
// Creo il filtro per la chiave del cursore, da quel che ho capito le chiavi sono più veloci di un filtro (come è possibile?)
|
// Creo il filtro per la chiave del cursore, da quel che ho capito le chiavi sono più veloci di un filtro (come è possibile?)
|
||||||
TRectype filtroRDoc(rdoc.curr()); filtroRDoc.put("CODNUM", "ORC");
|
TRectype filtroRDoc(rdoc.curr()); filtroRDoc.put("CODNUM", CodNum);
|
||||||
TCursor curRDoc(&rdoc, "", 1, &filtroRDoc, &filtroRDoc);
|
TCursor curRDoc(&rdoc, "", 1, &filtroRDoc, &filtroRDoc);
|
||||||
items = curRDoc.items();
|
items = curRDoc.items();
|
||||||
|
|
||||||
TProgress_monitor p(items, msg);
|
TProgress_monitor p(items, msg);
|
||||||
// Adesso inserisco tutta la bella roba
|
// Adesso inserisco tutta la bella roba
|
||||||
for (curRDoc = 0; curRDoc.pos() < items && !p.is_cancelled(); ++curRDoc)
|
for (curRDoc = 0; curRDoc.pos() < items && !p.is_cancelled(); ++curRDoc)
|
||||||
@ -406,7 +410,7 @@ bool TCampass_app::o02a(const TString& DSN, const TString id) const
|
|||||||
|
|
||||||
// Inserisco IKRUNIMP, FAZI, CStr, CMAG, CCLIH, CCLIR, CCLI
|
// Inserisco IKRUNIMP, FAZI, CStr, CMAG, CCLIH, CCLIR, CCLI
|
||||||
sqlQuery << "INSERT INTO O02A ( IKRUNIMP, FAZI, CStr, CMAG, CCLIH, CCLIR, CCLI, FLGSTA, XRIFCLI, XNOTE, CART, QCORD, QCSPE, DCCONF ) \
|
sqlQuery << "INSERT INTO O02A ( IKRUNIMP, FAZI, CStr, CMAG, CCLIH, CCLIR, CCLI, FLGSTA, XRIFCLI, XNOTE, CART, QCORD, QCSPE, DCCONF ) \
|
||||||
VALUES('" << id << "','U','DBS','" << rowRDoc.get("CODMAG") << "','" << zeroFill(rowRDoc.get("NDOC")) << "','" << rowRDoc.get("NRIGA") << "','" << zeroFill(rowDoc.get("CODCF")) << "','";
|
VALUES('" << id << "','U','DBS','" << rowRDoc.get("CODMAG") << "','" << rowRDoc.get("ANNO") << "." << zeroFill(rowRDoc.get("NDOC")) << "','" << rowRDoc.get("NRIGA") << "','" << zeroFill(rowDoc.get("CODCF")) << "','";
|
||||||
// Inserisco FLGSTA
|
// Inserisco FLGSTA
|
||||||
sqlQuery << (rowRDoc.get("RIGAEVASA") == "X" ? "C" : "A");
|
sqlQuery << (rowRDoc.get("RIGAEVASA") == "X" ? "C" : "A");
|
||||||
// Inserisco XRIFCLI, XNOTE, CART, QCORD, QCSPE, DCCONF
|
// Inserisco XRIFCLI, XNOTE, CART, QCORD, QCSPE, DCCONF
|
||||||
@ -418,11 +422,11 @@ bool TCampass_app::o02a(const TString& DSN, const TString id) const
|
|||||||
}
|
}
|
||||||
return sqlset.commit() == -1 ? false : true;
|
return sqlset.commit() == -1 ? false : true;
|
||||||
}
|
}
|
||||||
bool TCampass_app::o02c(const TString& DSN, const TString id) const
|
bool TCampass_app::o02c(const TString CodNum, const TString& DSN, const TString& usr, const TString& psw, const TString id) const
|
||||||
{
|
{
|
||||||
TODBC_recordset sqlset("", true);
|
TODBC_recordset sqlset("", true);
|
||||||
// Controllo la connessione
|
// Controllo la connessione
|
||||||
if (!sqlset.connect(DSN))
|
if (!sqlset.connect(DSN, usr, psw))
|
||||||
return false;
|
return false;
|
||||||
TRelation doc(LF_DOC),rdoc(LF_RIGHEDOC);
|
TRelation doc(LF_DOC),rdoc(LF_RIGHEDOC);
|
||||||
int items;
|
int items;
|
||||||
@ -431,6 +435,7 @@ bool TCampass_app::o02c(const TString& DSN, const TString id) const
|
|||||||
TRectype filtroRDoc(rdoc.curr()); filtroRDoc.put("CODNUM", "ORP1");
|
TRectype filtroRDoc(rdoc.curr()); filtroRDoc.put("CODNUM", "ORP1");
|
||||||
TCursor curRDoc(&rdoc, "", 1, &filtroRDoc, &filtroRDoc);
|
TCursor curRDoc(&rdoc, "", 1, &filtroRDoc, &filtroRDoc);
|
||||||
items = curRDoc.items();
|
items = curRDoc.items();
|
||||||
|
|
||||||
TProgress_monitor p(items, msg);
|
TProgress_monitor p(items, msg);
|
||||||
// Adesso inserisco tutta la bella roba
|
// Adesso inserisco tutta la bella roba
|
||||||
for (curRDoc = 0; curRDoc.pos() < items && !p.is_cancelled(); ++curRDoc)
|
for (curRDoc = 0; curRDoc.pos() < items && !p.is_cancelled(); ++curRDoc)
|
||||||
@ -444,7 +449,7 @@ bool TCampass_app::o02c(const TString& DSN, const TString id) const
|
|||||||
|
|
||||||
// Vado a prendere la riga di riferimento
|
// Vado a prendere la riga di riferimento
|
||||||
TRectype filtroFiltro(rdoc.curr());
|
TRectype filtroFiltro(rdoc.curr());
|
||||||
if(rowRDoc.get("DACODNUM") == "ORC")
|
if(rowRDoc.get("DACODNUM") == CodNum)
|
||||||
{
|
{
|
||||||
filtroFiltro.put("CODNUM", rowRDoc.get("DACODNUM"));
|
filtroFiltro.put("CODNUM", rowRDoc.get("DACODNUM"));
|
||||||
filtroFiltro.put("ANNO", rowRDoc.get("DAANNO"));
|
filtroFiltro.put("ANNO", rowRDoc.get("DAANNO"));
|
||||||
@ -468,11 +473,11 @@ bool TCampass_app::o02c(const TString& DSN, const TString id) const
|
|||||||
}
|
}
|
||||||
return sqlset.commit() == -1 ? false : true;
|
return sqlset.commit() == -1 ? false : true;
|
||||||
}
|
}
|
||||||
bool TCampass_app::o03a(const TString& DSN, const TString id) const
|
bool TCampass_app::o03a(const TString& DSN, const TString& usr, const TString& psw, const TString id) const
|
||||||
{
|
{
|
||||||
TODBC_recordset sqlset("", true);
|
TODBC_recordset sqlset("", true);
|
||||||
// Controllo la connessione
|
// Controllo la connessione
|
||||||
if (!sqlset.connect(DSN))
|
if (!sqlset.connect(DSN, usr, psw))
|
||||||
return false;
|
return false;
|
||||||
TRelation clifo(LF_CLIFO);
|
TRelation clifo(LF_CLIFO);
|
||||||
int items;
|
int items;
|
||||||
@ -502,11 +507,11 @@ bool TCampass_app::o03a(const TString& DSN, const TString id) const
|
|||||||
}
|
}
|
||||||
return sqlset.commit() == -1 ? false : true;
|
return sqlset.commit() == -1 ? false : true;
|
||||||
}
|
}
|
||||||
bool TCampass_app::p01a(const TString& DSN, const TString id) const
|
bool TCampass_app::p01a(const TString& DSN, const TString& usr, const TString& psw, const TString id) const
|
||||||
{
|
{
|
||||||
TODBC_recordset sqlset("", true);
|
TODBC_recordset sqlset("", true);
|
||||||
// Controllo la connessione
|
// Controllo la connessione
|
||||||
if (!sqlset.connect(DSN))
|
if (!sqlset.connect(DSN, usr, psw))
|
||||||
return false;
|
return false;
|
||||||
TRelation anamag(LF_ANAMAG), rdist(LF_RDIST), umart(LF_UMART);
|
TRelation anamag(LF_ANAMAG), rdist(LF_RDIST), umart(LF_UMART);
|
||||||
int items;
|
int items;
|
||||||
@ -527,8 +532,8 @@ bool TCampass_app::p01a(const TString& DSN, const TString id) const
|
|||||||
// Prendo la riga di ANAMAG
|
// Prendo la riga di ANAMAG
|
||||||
TRectype rowAna = curAna.curr();
|
TRectype rowAna = curAna.curr();
|
||||||
// Inserisco IKRUNIMP,CART,RPART,CFAM
|
// Inserisco IKRUNIMP,CART,RPART,CFAM
|
||||||
sqlQuery << "INSERT INTO P01A (IKRUNIMP,CART,RART,CFAM,CTART,CUDMP,CUDMM,CUDMA,CUDMV,PCONVPMN,PCONVPMD,PCONVPVN,PCONVPVD,PCONVPAN,PCONVPAD,FOBS) \
|
sqlQuery << "INSERT INTO P01A (IKRUNIMP,FAZI,CStr,CART,RART,CFAM,CTART,CUDMP,CUDMM,CUDMA,CUDMV,PCONVPMN,PCONVPMD,PCONVPVN,PCONVPVD,PCONVPAN,PCONVPAD,FOBS) \
|
||||||
VALUES('" << id << "','" << toEscape(rowAna.get("CODART")) << "','" << toEscape(rowAna.get("DESCR")) << "','" << getFam(rowAna.get("CODART")) <<"','";
|
VALUES('" << id << "','U','DBS','" << toEscape(rowAna.get("CODART")) << "','" << toEscape(rowAna.get("DESCR")) << "','" << getFam(rowAna.get("CODART")) <<"','";
|
||||||
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -605,11 +610,11 @@ bool TCampass_app::p01a(const TString& DSN, const TString id) const
|
|||||||
}
|
}
|
||||||
return sqlset.commit() == -1 ? false : true;
|
return sqlset.commit() == -1 ? false : true;
|
||||||
}
|
}
|
||||||
bool TCampass_app::p01b(const TString& DSN, const TString id) const
|
bool TCampass_app::p01b(const TString& DSN, const TString& usr, const TString& psw, const TString id) const
|
||||||
{
|
{
|
||||||
TODBC_recordset sqlset("", true);
|
TODBC_recordset sqlset("", true);
|
||||||
// Controllo la connessione
|
// Controllo la connessione
|
||||||
if (!sqlset.connect(DSN))
|
if (!sqlset.connect(DSN, usr, psw))
|
||||||
return false;
|
return false;
|
||||||
TRelation anamag(LF_ANAMAG);
|
TRelation anamag(LF_ANAMAG);
|
||||||
int items;
|
int items;
|
||||||
@ -639,11 +644,11 @@ bool TCampass_app::p01b(const TString& DSN, const TString id) const
|
|||||||
}
|
}
|
||||||
return sqlset.commit() == -1 ? false : true;
|
return sqlset.commit() == -1 ? false : true;
|
||||||
}
|
}
|
||||||
bool TCampass_app::p02a(const TString& DSN, const TString id) const
|
bool TCampass_app::p02a(const TString& DSN, const TString& usr, const TString& psw, const TString id) const
|
||||||
{
|
{
|
||||||
TODBC_recordset sqlset("", true);
|
TODBC_recordset sqlset("", true);
|
||||||
// Controllo la connessione
|
// Controllo la connessione
|
||||||
if (!sqlset.connect(DSN))
|
if (!sqlset.connect(DSN, usr, psw))
|
||||||
return false;
|
return false;
|
||||||
TRelation tab(LF_TAB);
|
TRelation tab(LF_TAB);
|
||||||
int items;
|
int items;
|
||||||
@ -704,12 +709,19 @@ void TCampass_app::main_loop()
|
|||||||
while (m.run() == K_ENTER)
|
while (m.run() == K_ENTER)
|
||||||
{
|
{
|
||||||
const TString& DSN = m.get(F_DSN);
|
const TString& DSN = m.get(F_DSN);
|
||||||
const TDate datef = m.get(F_DATA_INI);
|
const TString& usr = m.get(F_USR);
|
||||||
const TDate datet = m.get(F_DATA_FIN);
|
const TString& psw = m.get(F_PWD);
|
||||||
// Non ho la più pallida idea di cosa siano ste robe
|
// Non ho la più pallida idea di cosa siano ste robe
|
||||||
xvt_vobj_set_visible(task, TRUE);
|
xvt_vobj_set_visible(task, TRUE);
|
||||||
TString errors; errors << esporta(DSN, datef, datet);
|
TString errors; errors << esporta(DSN, usr, psw);
|
||||||
if(errors = "") message_box("Esportazione effettuata correttamente!");
|
if(errors == "")
|
||||||
|
{
|
||||||
|
message_box("Esportazione effettuata correttamente!");
|
||||||
|
// Salvo i parametri
|
||||||
|
ini_set_string(CONFIG_DITTA, "Campo_Compass", "DSN", DSN);
|
||||||
|
ini_set_string(CONFIG_DITTA, "Campo_Compass", "User", usr);
|
||||||
|
ini_set_string(CONFIG_DITTA, "Campo_Compass", "Password", psw);
|
||||||
|
}
|
||||||
else message_box(errors);
|
else message_box(errors);
|
||||||
xvt_vobj_set_visible(task, FALSE);
|
xvt_vobj_set_visible(task, FALSE);
|
||||||
}
|
}
|
||||||
@ -720,11 +732,18 @@ void TCampass_app::main_loop()
|
|||||||
while (m.run() == K_ENTER)
|
while (m.run() == K_ENTER)
|
||||||
{
|
{
|
||||||
const TString& DSN = m.get(F_DSN);
|
const TString& DSN = m.get(F_DSN);
|
||||||
const TDate datef = m.get(F_DATA_INI);
|
const TString& usr = m.get(F_USR);
|
||||||
const TDate datet = m.get(F_DATA_FIN);
|
const TString& psw = m.get(F_PWD);
|
||||||
// Chiamo la funzione globale esporta
|
// Chiamo la funzione globale esporta
|
||||||
TString errors; errors << esporta(DSN, datef, datet);
|
TString errors; errors << esporta(DSN, usr, psw);
|
||||||
if(errors = "") message_box("Esportazione effettuata correttamente!");
|
if(errors == "")
|
||||||
|
{
|
||||||
|
message_box("Esportazione effettuata correttamente!");
|
||||||
|
// Salvo i parametri
|
||||||
|
ini_set_string(CONFIG_DITTA, "Campo_Compass", "DSN", DSN);
|
||||||
|
ini_set_string(CONFIG_DITTA, "Campo_Compass", "User", usr);
|
||||||
|
ini_set_string(CONFIG_DITTA, "Campo_Compass", "Password", psw);
|
||||||
|
}
|
||||||
else message_box(errors);
|
else message_box(errors);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -747,7 +766,7 @@ bool TCampass_app::o01b(const TString& DSN) const
|
|||||||
{
|
{
|
||||||
TODBC_recordset sqlset("", true);
|
TODBC_recordset sqlset("", true);
|
||||||
// Controllo la connessione
|
// Controllo la connessione
|
||||||
if (!sqlset.connect(DSN))
|
if (!sqlset.connect(DSN, usr, psw))
|
||||||
return false;
|
return false;
|
||||||
TRelation rdoc(LF_RIGHEDOC), rdist(LF_RDIST), tab(LF_TAB);
|
TRelation rdoc(LF_RIGHEDOC), rdist(LF_RDIST), tab(LF_TAB);
|
||||||
int items;
|
int items;
|
||||||
|
@ -1,3 +1,6 @@
|
|||||||
#define F_DSN 250
|
#define F_DSN 250
|
||||||
#define F_DATA_INI 251
|
#define F_USR 251
|
||||||
#define F_DATA_FIN 252
|
#define F_PWD 252
|
||||||
|
#define F_DATA_INI 253
|
||||||
|
#define F_DATA_FIN 254
|
||||||
|
|
||||||
|
@ -14,6 +14,19 @@ BEGIN
|
|||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
END
|
END
|
||||||
|
|
||||||
|
STRING F_USR 16
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 2 "User "
|
||||||
|
CHECKTYPE REQUIRED
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_PWD 16
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 3 "Password "
|
||||||
|
CHECKTYPE REQUIRED
|
||||||
|
FLAGS "*"
|
||||||
|
END
|
||||||
|
|
||||||
DATE F_DATA_INI
|
DATE F_DATA_INI
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 2 "Data iniziale "
|
PROMPT 1 2 "Data iniziale "
|
||||||
|
Loading…
x
Reference in New Issue
Block a user