Patch level : 12.0 no-patch
Files correlati : Commento : Finita prima beta del programma di trasferimento Campo -> Compass (ca2 -6) - Implementate tutte le tabelle tranne O01B, O01C, A01A (messe in pausa al momento) - Aggiunta messaggi di errore git-svn-id: svn://10.65.10.50/branches/R_10_00@23386 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									51ad4ae994
								
							
						
					
					
						commit
						c926060169
					
				@ -108,7 +108,7 @@ protected:
 | 
			
		||||
	//*****************************************************************
 | 
			
		||||
	bool create_table(const TString& DSN, TIsam_handle lf) const;
 | 
			
		||||
	bool emptyTables(const TString& DSN) const;
 | 
			
		||||
	bool esporta(const TString& DSN, const TDate& datef, const TDate& datet) const;
 | 
			
		||||
	TString esporta(const TString& DSN, const TDate& datef, const TDate& datet) const;
 | 
			
		||||
	// Funzioni di esportazione
 | 
			
		||||
	bool a01a(const TString& DSN, const TString id) const;
 | 
			
		||||
	bool o01a(const TString& DSN, const TString id) const;
 | 
			
		||||
@ -201,62 +201,67 @@ bool TCampass_app::emptyTables(const TString& DSN) const
 | 
			
		||||
	return true;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool TCampass_app::esporta(const TString& DSN, const TDate& datef, const TDate& datet) const
 | 
			
		||||
TString TCampass_app::esporta(const TString& DSN, const TDate& datef, const TDate& datet) const
 | 
			
		||||
{
 | 
			
		||||
	TString errors;
 | 
			
		||||
	// Funzione disabilitata di debug
 | 
			
		||||
	// Innanzitutto svuoto le tabelle
 | 
			
		||||
	if(!emptyTables(DSN)) return false;
 | 
			
		||||
	//if(!emptyTables(DSN)) return false;
 | 
			
		||||
 | 
			
		||||
	// Adesso inizio a popolarle
 | 
			
		||||
 | 
			
		||||
	// O01B, quasi finito di implementarla, è stata messa in pausa
 | 
			
		||||
	//if(!o01b(DSN)) return false;
 | 
			
		||||
 | 
			
		||||
	/*
 | 
			
		||||
	// INIZIO A01
 | 
			
		||||
	TString a01; a01 << startExport(DSN, "A01");
 | 
			
		||||
	//TString a01; a01 << startExport(DSN, "A01");
 | 
			
		||||
 | 
			
		||||
	// A01A, quasi finito di implementarla, è stata messa in pausa
 | 
			
		||||
	//if(!a01a(DSN, a01)) return false; // A01A 
 | 
			
		||||
 | 
			
		||||
	endExport(DSN, a01);
 | 
			
		||||
	//endExport(DSN, a01);
 | 
			
		||||
	*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	// INIZIO O01
 | 
			
		||||
	TString o01; o01 << startExport(DSN, "O01");
 | 
			
		||||
 | 
			
		||||
	//if(!o01a(DSN, o01)) return false; // O01A
 | 
			
		||||
	if(!o01a(DSN, o01)) errors << "ERRORE TABELLA: O01A\n"; // O01A
 | 
			
		||||
 | 
			
		||||
	endExport(DSN, o01);
 | 
			
		||||
 | 
			
		||||
	// INIZIO O02
 | 
			
		||||
	TString o02; o02 << startExport(DSN, "O02");
 | 
			
		||||
	
 | 
			
		||||
	//if(!o02a(DSN, o02)) return false; // O02A
 | 
			
		||||
	if(!o02c(DSN, o02)) return false; // O02C
 | 
			
		||||
	if(!o02a(DSN, o02)) errors << "ERRORE TABELLA: O02A\n"; // O02A
 | 
			
		||||
	if(!o02c(DSN, o02)) errors << "ERRORE TABELLA: O02C\n"; // O02C
 | 
			
		||||
 | 
			
		||||
	endExport(DSN, o02);
 | 
			
		||||
 | 
			
		||||
	// INIZIO O03
 | 
			
		||||
	TString o03; o03 << startExport(DSN, "O03");
 | 
			
		||||
 | 
			
		||||
	//if(!o03a(DSN, o03)) return false;	// O03A
 | 
			
		||||
	if(!o03a(DSN, o03)) errors << "ERRORE TABELLA: O03A\n";	// O03A
 | 
			
		||||
 | 
			
		||||
	endExport(DSN, o03);
 | 
			
		||||
 | 
			
		||||
	// INIZIO p01
 | 
			
		||||
	TString p01; p01 << startExport(DSN, "P01");
 | 
			
		||||
 | 
			
		||||
	//if(!p01a(DSN, p01)) return false; // P01A
 | 
			
		||||
	//if(!p01b(DSN, p01)) return false;	// P01B
 | 
			
		||||
	if(!p01a(DSN, p01)) errors << "ERRORE TABELLA: P01A\n"; // P01A
 | 
			
		||||
	if(!p01b(DSN, p01)) errors << "ERRORE TABELLA: P01B\n";	// P01B
 | 
			
		||||
 | 
			
		||||
	endExport(DSN, p01);
 | 
			
		||||
 | 
			
		||||
	// INIZIO p02
 | 
			
		||||
	TString p02; p02 << startExport(DSN, "P02");
 | 
			
		||||
 | 
			
		||||
	//if(!p02a(DSN, p02)) return false;	// P02A
 | 
			
		||||
	if(!p02a(DSN, p02)) errors << "ERRORE TABELLA: P02A\n";	// P02A
 | 
			
		||||
 | 
			
		||||
	endExport(DSN, p02);
 | 
			
		||||
 | 
			
		||||
	return true;
 | 
			
		||||
	return errors;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Non sono molto sicuro del suo funzionamento
 | 
			
		||||
@ -269,7 +274,7 @@ bool TCampass_app::a01a(const TString& DSN, const TString id) const
 | 
			
		||||
	TRelation rilprod(LF_RILPROD),rdoc(LF_RIGHEDOC);
 | 
			
		||||
	int items;
 | 
			
		||||
	TString msg("Esportazione tabella "); msg << "A01A";
 | 
			
		||||
	TCursor curRilprod(&rilprod, "CODNUM == \"ORC\"");
 | 
			
		||||
	TCursor curRilprod(&rilprod, "CODNUM = \"ORC\"");
 | 
			
		||||
 | 
			
		||||
	items = curRilprod.items();
 | 
			
		||||
	TProgress_monitor p(items, msg);
 | 
			
		||||
@ -285,11 +290,13 @@ bool TCampass_app::a01a(const TString& DSN, const TString id) const
 | 
			
		||||
 | 
			
		||||
		// Vado a prendere il documento di riferimento
 | 
			
		||||
		TRectype filtroFiltro(rdoc.curr());
 | 
			
		||||
		filtroFiltro.put("CODNUM", "ORC"); // Passo direttamente questo senza richiederlo
 | 
			
		||||
		filtroFiltro.put("CODNUM", rowRilprod.get("CODNUM"));
 | 
			
		||||
		filtroFiltro.put("ANNO", rowRilprod.get("ANNO"));
 | 
			
		||||
		filtroFiltro.put("PROVV", rowRilprod.get("PROVV"));
 | 
			
		||||
		filtroFiltro.put("NDOC", rowRilprod.get("NDOC"));
 | 
			
		||||
		TCursor curFiltro(&rdoc, "RIGAEVASA != \"X\"", 1, &filtroFiltro, &filtroFiltro);
 | 
			
		||||
		if(curFiltro.items() > 1)
 | 
			
		||||
			bool wtf = true;
 | 
			
		||||
		if(curFiltro.items() > 0)
 | 
			
		||||
		{
 | 
			
		||||
			curFiltro = 0;
 | 
			
		||||
@ -297,14 +304,14 @@ bool TCampass_app::a01a(const TString& DSN, const TString id) const
 | 
			
		||||
			TRectype rowFiltro = curFiltro.curr();
 | 
			
		||||
			// Preparo la riga del documento
 | 
			
		||||
			TRectype filtroRDoc(rdoc.curr());
 | 
			
		||||
			filtroRDoc.put("DAPROVV", rowFiltro.get("PROVV")); // Passo direttamente questo senza richiederlo
 | 
			
		||||
			filtroRDoc.put("DAPROVV", rowFiltro.get("PROVV")); 
 | 
			
		||||
			filtroRDoc.put("DAANNO", rowFiltro.get("ANNO"));
 | 
			
		||||
			filtroRDoc.put("DACODNUM", "ORC");
 | 
			
		||||
			filtroRDoc.put("DACODNUM", rowFiltro.get("CODNUM"));
 | 
			
		||||
			filtroRDoc.put("DANDOC", rowFiltro.get("NDOC"));
 | 
			
		||||
			filtroRDoc.put("DAIDRIGA", rowFiltro.get("NRIGA"));
 | 
			
		||||
			TString codartmag; codartmag << "CODARTMAG == \"" << rowRilprod.get("CODART") << "\"";
 | 
			
		||||
			TCursor curRdoc(&rdoc, codartmag, 4, &filtroRDoc, &filtroRDoc);
 | 
			
		||||
			if(curRdoc.items() == 1)
 | 
			
		||||
			if(curRdoc.items() > 0)
 | 
			
		||||
			{
 | 
			
		||||
				curRdoc = 0;
 | 
			
		||||
				// Prendo la riga di RDOC
 | 
			
		||||
@ -312,8 +319,8 @@ bool TCampass_app::a01a(const TString& DSN, const TString id) const
 | 
			
		||||
				// Dichiaro la stringa
 | 
			
		||||
				TString sqlQuery;
 | 
			
		||||
				sqlQuery << "INSERT INTO A01A ( IKRUNIMP, FAZI, CPRD, NMOV, CMAC, QPFPRO, FSALDO ) \
 | 
			
		||||
									 VALUES('" << id << "','U','" << rowRDoc.get("NDOC") << "." << rowRDoc.get("NRIGA") << "','1','" << rowRilprod.get("LINEA") << "','" << rowRilprod.get("QTA") << "','";
 | 
			
		||||
				sqlQuery << (rowRilprod.get("CHIUSO") == "-1" ? "1" : "0"); sqlQuery << "');";
 | 
			
		||||
									 VALUES('" << id << "','U','" << zeroFill(rowRDoc.get("NDOC")) << "." << rowRDoc.get("NRIGA") << "','1','" << rowRilprod.get("LINEA") << "','" << rowRilprod.get("QTA") << "','";
 | 
			
		||||
				sqlQuery << (rowRilprod.get("CHIUSO") == "X" ? "1" : "0"); sqlQuery << "');";
 | 
			
		||||
				if(sqlset.exec(sqlQuery) != 1)
 | 
			
		||||
					return false;
 | 
			
		||||
			}
 | 
			
		||||
@ -375,7 +382,7 @@ bool TCampass_app::o01a(const TString& DSN, const TString id) const
 | 
			
		||||
 | 
			
		||||
					// Inserisco IIKRUNIMP, FAZI, CStr, CPRD, CART
 | 
			
		||||
					sqlQuery << "INSERT INTO O01A ( IKRUNIMP, FAZI, CStr, CPRD, CART, TIPORD, FLGSTA, CMAG, DPRICHI, DPRICHF, QPORD, XNOTE, CCLI ) \
 | 
			
		||||
											VALUES('" << id << "','U','DBS','" << rowDoc.get("NDOC") << "." << rowRDoc.get("NRIGA") << "','" << rowRDoc.get("CODARTMAG") << "','";
 | 
			
		||||
											VALUES('" << id << "','U','DBS','" << zeroFill(rowDoc.get("NDOC")) << "." << rowRDoc.get("NRIGA") << "','" << rowRDoc.get("CODARTMAG") << "','";
 | 
			
		||||
 | 
			
		||||
					// Inserisco TIPORD
 | 
			
		||||
					sqlQuery << (rowRDoc.get("DACODNUM") == "ORC" ? "R" : "P");
 | 
			
		||||
@ -438,7 +445,7 @@ bool TCampass_app::o02a(const TString& DSN, const TString id) const
 | 
			
		||||
 | 
			
		||||
		// 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 ) \
 | 
			
		||||
								VALUES('" << id << "','U','DBS','" << rowRDoc.get("CODMAG") << "','" << rowRDoc.get("NDOC") << "','" << rowRDoc.get("NRIGA") << "','" << rowDoc.get("CODCF") << "','";
 | 
			
		||||
								VALUES('" << id << "','U','DBS','" << rowRDoc.get("CODMAG") << "','" << zeroFill(rowRDoc.get("NDOC")) << "','" << rowRDoc.get("NRIGA") << "','" << rowDoc.get("CODCF") << "','";
 | 
			
		||||
		// Inserisco FLGSTA
 | 
			
		||||
		sqlQuery << (rowRDoc.get("RIGAEVASA") == "X" ? "C" : "A");
 | 
			
		||||
		// Inserisco XRIFCLI, XNOTE, CART, QCORD, QCSPE, DCCONF
 | 
			
		||||
@ -491,7 +498,7 @@ bool TCampass_app::o02c(const TString& DSN, const TString id) const
 | 
			
		||||
 | 
			
		||||
				// Inserisco Tutto (yeeeeeeeeeeeeeee)
 | 
			
		||||
				sqlQuery << "INSERT INTO O02C ( IKRUNIMP, CStr, CPRD, CCLIH, CCLIR, BVAL) \
 | 
			
		||||
										VALUES('" << id << "','DBS','" << zeroFill(rowRDoc.get("NDOC")) << "." << rowRDoc.get("NRIGA") << "','" << rowRDoc.get("DANDOC") << "','" << rowRDoc.get("DAIDRIGA") << "','1');";
 | 
			
		||||
										VALUES('" << id << "','DBS','" << zeroFill(rowRDoc.get("NDOC")) << "." << rowRDoc.get("NRIGA") << "','" << zeroFill(rowRDoc.get("DANDOC")) << "','" << rowRDoc.get("DAIDRIGA") << "','1');";
 | 
			
		||||
 | 
			
		||||
				if(sqlset.exec(sqlQuery) != 1)
 | 
			
		||||
					return false;
 | 
			
		||||
@ -740,7 +747,9 @@ void TCampass_app::main_loop()
 | 
			
		||||
			const TDate datet = m.get(F_DATA_FIN);
 | 
			
		||||
			// Non ho la più pallida idea di cosa siano ste robe
 | 
			
		||||
			xvt_vobj_set_visible(task, TRUE);
 | 
			
		||||
			esporta(DSN, datef, datet);
 | 
			
		||||
			TString errors; errors << esporta(DSN, datef, datet);
 | 
			
		||||
			if(errors = "") message_box("Esportazione effettuata correttamente!");
 | 
			
		||||
			else message_box(errors);
 | 
			
		||||
			xvt_vobj_set_visible(task, FALSE);
 | 
			
		||||
		}
 | 
			
		||||
		xvt_trayicon_destroy(tray);
 | 
			
		||||
@ -753,7 +762,9 @@ void TCampass_app::main_loop()
 | 
			
		||||
			const TDate datef = m.get(F_DATA_INI);
 | 
			
		||||
			const TDate datet = m.get(F_DATA_FIN);
 | 
			
		||||
			// Chiamo la funzione globale esporta
 | 
			
		||||
			esporta(DSN, datef, datet);
 | 
			
		||||
			TString errors; errors << esporta(DSN, datef, datet);
 | 
			
		||||
			if(errors = "") message_box("Esportazione effettuata correttamente!");
 | 
			
		||||
			else message_box(errors);
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -6,13 +6,19 @@ TOOLBAR "topbar" 0 0 0 2
 | 
			
		||||
 | 
			
		||||
ENDPAGE
 | 
			
		||||
 | 
			
		||||
PAGE "Invio a Board" 0 2 0 0
 | 
			
		||||
PAGE "Invio a Compass" 0 2 0 0
 | 
			
		||||
 | 
			
		||||
STRING F_DSN 260 40
 | 
			
		||||
STRING F_DSN 260 50
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 1 0 "ODBC DSN "
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRING DLG_PROFILE 260 50
 | 
			
		||||
BEGID
 | 
			
		||||
  PROMPT 1 2 "Profilo  "
 | 
			
		||||
  PSELECT
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
DATE F_DATA_INI
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 1 2 "Data iniziale "
 | 
			
		||||
@ -25,12 +31,6 @@ BEGIN
 | 
			
		||||
  FLAGS "H"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRING DLG_PROFILE 260 50
 | 
			
		||||
BEGID
 | 
			
		||||
  PROMPT 1 -1 "Profilo "
 | 
			
		||||
  PSELECT
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
ENDPAGE
 | 
			
		||||
 | 
			
		||||
ENDMASK
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user