problemas con odbc navision

29/11/2005 - 12:24 por juan | Informe spam
tengo un problema con tipo de datos entre navision y mysql
os pongo el código, es navision con mysql.si en lugar de con.execute,
lo hago con addnew tampoco me funciona, gracias

las query son:
Name ConstValue
Query01 SELECT TPR_CODART FROM TARIFA_PROD WHERE TPR_CODART='%1' AND
TPR_CODTRF='%2' AND TPR_FECINI='%3'
Query02 SELECT ART_CODIGO FROM ARTICULO WHERE ART_CODIGO='%1'
Query03 INSERT INTO TARIFA_PROD (TPR_CODART, TPR_CODTRF, TPR_FECINI,
TPR_PRECIO) VALUES ('%1','%2','%3',%4)
Query04 SELECT USR_CODVND FROM USUARIO WHERE USR_ESTADO='1'
Query05 INSERT INTO AEXPORTAR (COM_SENTEN, COM_NUMVEN, COM_FECHOR)
VALUES('%1','%2','%3')

RecTarifaNavision.RESET;
numrecords:=RecTarifaNavision.COUNT;
contador:=0;
IF RecTarifaNavision.FIND ('-') THEN
REPEAT
fecha:=FORMAT (RecTarifaNavision."Fecha
inicial",0,'<year4>-<month, 2>-<day, 2>');
CLEAR (Tarifas_rs);
CREATE(Tarifas_rs);

Tarifas_rs.Open (STRSUBSTNO (Query01,RecTarifaNavision."Nº
producto",RecTarifaNavision."Cód. tarifa",fecha),Conn);

IF Tarifas_rs.EOF ()
THEN BEGIN
CLEAR (Articulo_rs);
CREATE (Articulo_rs);
precio:=FORMAT(RecTarifaNavision."Precio venta");
precio:=CONVERTSTR(precio,',','.');
Articulo_rs.Open (STRSUBSTNO
(Query02,RecTarifaNavision."Nº producto"),Conn);
IF NOT Articulo_rs.EOF () THEN
BEGIN
//Conn.Execute (STRSUBSTNO
(Query03,RecTarifaNavision."Nº producto",RecTarifaNavision."Cód.
tarifa",fecha,precio)
//,Conn);
Articulo_rs.AddNew();

Articulo_rs.Fields.Item('TPR_CODART').Value(RecTarifaNavision."Nº
producto");

Articulo_rs.Fields.Item('TPR_CODTRF').Value(RecTarifaNavision."Cód.
tarifa");

Articulo_rs.Fields.Item('TPR_FECINI').Value(RecTarifaNavision."Fecha
inicial");

Articulo_rs.Fields.Item('TPR_PRECIO').Value(RecTarifaNavision."Precio
venta");


Articulo_rs.Update();

exportar_sentencia(Query03);
CLEAR (Comercial_rs);
CREATE (Comercial_rs);
Comercial_rs.Open (Query04,Conn);
WHILE NOT Comercial_rs.EOF() DO
BEGIN
Comercial_rs.MoveFirst();
codvendedor:=Comercial_rs.Fields.Item
('USR_CODVND').Value ;
//Conn.Execute (STRSUBSTNO
(Query05,Query03,codvendedor,fecha),Conn);
Comercial_rs.MoveNext ();
Comercial_rs.Close ();
CLEAR (Comercial_rs);

END;
Articulo_rs.Close ();
CLEAR (Articulo_rs);

END;
//Usuario_rs.Close ();
// CLEAR (Usuario_rs);

END;
progreso.UPDATE(1,RecTarifaNavision."Cód. tarifa");
contador+=1;
progreso.UPDATE (2, ROUND ((contador /numrecords ) * 10000, 1));

UNTIL RecTarifaNavision.NEXT=0;
Tarifas_rs.Close ();
CLEAR (Tarifas_rs);

Preguntas similare

Leer las respuestas

#1 Maxi
29/11/2005 - 12:27 | Informe spam
Hola, creo que te has confundido de foro, este es un foro de MS SqlServer y
no de navision!! y mucho menos de Mysql ;-)


Salu2
Maxi [MVP SQL SERVER]


"juan" escribió en el mensaje
news:
tengo un problema con tipo de datos entre navision y mysql
os pongo el código, es navision con mysql.si en lugar de con.execute,
lo hago con addnew tampoco me funciona, gracias

las query son:
Name ConstValue
Query01 SELECT TPR_CODART FROM TARIFA_PROD WHERE TPR_CODART='%1' AND
TPR_CODTRF='%2' AND TPR_FECINI='%3'
Query02 SELECT ART_CODIGO FROM ARTICULO WHERE ART_CODIGO='%1'
Query03 INSERT INTO TARIFA_PROD (TPR_CODART, TPR_CODTRF, TPR_FECINI,
TPR_PRECIO) VALUES ('%1','%2','%3',%4)
Query04 SELECT USR_CODVND FROM USUARIO WHERE USR_ESTADO='1'
Query05 INSERT INTO AEXPORTAR (COM_SENTEN, COM_NUMVEN, COM_FECHOR)
VALUES('%1','%2','%3')

RecTarifaNavision.RESET;
numrecords:=RecTarifaNavision.COUNT;
contador:=0;
IF RecTarifaNavision.FIND ('-') THEN
REPEAT
fecha:=FORMAT (RecTarifaNavision."Fecha
inicial",0,'<year4>-<month, 2>-<day, 2>');
CLEAR (Tarifas_rs);
CREATE(Tarifas_rs);

Tarifas_rs.Open (STRSUBSTNO (Query01,RecTarifaNavision."Nº
producto",RecTarifaNavision."Cód. tarifa",fecha),Conn);

IF Tarifas_rs.EOF ()
THEN BEGIN
CLEAR (Articulo_rs);
CREATE (Articulo_rs);
precio:=FORMAT(RecTarifaNavision."Precio venta");
precio:=CONVERTSTR(precio,',','.');
Articulo_rs.Open (STRSUBSTNO
(Query02,RecTarifaNavision."Nº producto"),Conn);
IF NOT Articulo_rs.EOF () THEN
BEGIN
//Conn.Execute (STRSUBSTNO
(Query03,RecTarifaNavision."Nº producto",RecTarifaNavision."Cód.
tarifa",fecha,precio)
//,Conn);
Articulo_rs.AddNew();

Articulo_rs.Fields.Item('TPR_CODART').Value(RecTarifaNavision."Nº
producto");

Articulo_rs.Fields.Item('TPR_CODTRF').Value(RecTarifaNavision."Cód.
tarifa");

Articulo_rs.Fields.Item('TPR_FECINI').Value(RecTarifaNavision."Fecha
inicial");

Articulo_rs.Fields.Item('TPR_PRECIO').Value(RecTarifaNavision."Precio
venta");


Articulo_rs.Update();

exportar_sentencia(Query03);
CLEAR (Comercial_rs);
CREATE (Comercial_rs);
Comercial_rs.Open (Query04,Conn);
WHILE NOT Comercial_rs.EOF() DO
BEGIN
Comercial_rs.MoveFirst();
codvendedor:=Comercial_rs.Fields.Item
('USR_CODVND').Value ;
//Conn.Execute (STRSUBSTNO
(Query05,Query03,codvendedor,fecha),Conn);
Comercial_rs.MoveNext ();
Comercial_rs.Close ();
CLEAR (Comercial_rs);

END;
Articulo_rs.Close ();
CLEAR (Articulo_rs);

END;
//Usuario_rs.Close ();
// CLEAR (Usuario_rs);

END;
progreso.UPDATE(1,RecTarifaNavision."Cód. tarifa");
contador+=1;
progreso.UPDATE (2, ROUND ((contador /numrecords ) * 10000, 1));

UNTIL RecTarifaNavision.NEXT=0;
Tarifas_rs.Close ();
CLEAR (Tarifas_rs);
Respuesta Responder a este mensaje
#2 juan
29/11/2005 - 12:33 | Informe spam
disculpe, pero si alguien puede ayudarme...lo agradecería.
Maxi ha escrito:

Hola, creo que te has confundido de foro, este es un foro de MS SqlServer y
no de navision!! y mucho menos de Mysql ;-)


Salu2
Maxi [MVP SQL SERVER]


"juan" escribió en el mensaje
news:
tengo un problema con tipo de datos entre navision y mysql
os pongo el código, es navision con mysql.si en lugar de con.execute,
lo hago con addnew tampoco me funciona, gracias

las query son:
Name ConstValue
Query01 SELECT TPR_CODART FROM TARIFA_PROD WHERE TPR_CODART='%1' AND
TPR_CODTRF='%2' AND TPR_FECINI='%3'
Query02 SELECT ART_CODIGO FROM ARTICULO WHERE ART_CODIGO='%1'
Query03 INSERT INTO TARIFA_PROD (TPR_CODART, TPR_CODTRF, TPR_FECINI,
TPR_PRECIO) VALUES ('%1','%2','%3',%4)
Query04 SELECT USR_CODVND FROM USUARIO WHERE USR_ESTADO='1'
Query05 INSERT INTO AEXPORTAR (COM_SENTEN, COM_NUMVEN, COM_FECHOR)
VALUES('%1','%2','%3')

RecTarifaNavision.RESET;
numrecords:=RecTarifaNavision.COUNT;
contador:=0;
IF RecTarifaNavision.FIND ('-') THEN
REPEAT
fecha:=FORMAT (RecTarifaNavision."Fecha
inicial",0,'<year4>-<month, 2>-<day, 2>');
CLEAR (Tarifas_rs);
CREATE(Tarifas_rs);

Tarifas_rs.Open (STRSUBSTNO (Query01,RecTarifaNavision."Nº
producto",RecTarifaNavision."Cód. tarifa",fecha),Conn);

IF Tarifas_rs.EOF ()
THEN BEGIN
CLEAR (Articulo_rs);
CREATE (Articulo_rs);
precio:=FORMAT(RecTarifaNavision."Precio venta");
precio:=CONVERTSTR(precio,',','.');
Articulo_rs.Open (STRSUBSTNO
(Query02,RecTarifaNavision."Nº producto"),Conn);
IF NOT Articulo_rs.EOF () THEN
BEGIN
//Conn.Execute (STRSUBSTNO
(Query03,RecTarifaNavision."Nº producto",RecTarifaNavision."Cód.
tarifa",fecha,precio)
//,Conn);
Articulo_rs.AddNew();

Articulo_rs.Fields.Item('TPR_CODART').Value(RecTarifaNavision."Nº
producto");

Articulo_rs.Fields.Item('TPR_CODTRF').Value(RecTarifaNavision."Cód.
tarifa");

Articulo_rs.Fields.Item('TPR_FECINI').Value(RecTarifaNavision."Fecha
inicial");

Articulo_rs.Fields.Item('TPR_PRECIO').Value(RecTarifaNavision."Precio
venta");


Articulo_rs.Update();

exportar_sentencia(Query03);
CLEAR (Comercial_rs);
CREATE (Comercial_rs);
Comercial_rs.Open (Query04,Conn);
WHILE NOT Comercial_rs.EOF() DO
BEGIN
Comercial_rs.MoveFirst();
codvendedor:=Comercial_rs.Fields.Item
('USR_CODVND').Value ;
//Conn.Execute (STRSUBSTNO
(Query05,Query03,codvendedor,fecha),Conn);
Comercial_rs.MoveNext ();
Comercial_rs.Close ();
CLEAR (Comercial_rs);

END;
Articulo_rs.Close ();
CLEAR (Articulo_rs);

END;
//Usuario_rs.Close ();
// CLEAR (Usuario_rs);

END;
progreso.UPDATE(1,RecTarifaNavision."Cód. tarifa");
contador+=1;
progreso.UPDATE (2, ROUND ((contador /numrecords ) * 10000, 1));

UNTIL RecTarifaNavision.NEXT=0;
Tarifas_rs.Close ();
CLEAR (Tarifas_rs);
Respuesta Responder a este mensaje
#3 Miguel Egea
30/11/2005 - 00:41 | Informe spam
Supongo que será navision con SQL Server, no creo que Navision funcione con
MySql :-).

Puedes usar profiler para ver la sentencia que está lanzando al SQL e
intentar ver por que falla.


Miguel Egea
Visita mi web http://www.portalsql.com
SQL Server MVP, Mentor
Solid Quality Learning
http://www.SolidQualityLearning.com
"Solid Quality Learning is the trusted global provider of advanced education
and solutions for the entire Microsoft database platform"

"juan" wrote in message
news:
tengo un problema con tipo de datos entre navision y mysql
os pongo el código, es navision con mysql.si en lugar de con.execute,
lo hago con addnew tampoco me funciona, gracias

las query son:
Name ConstValue
Query01 SELECT TPR_CODART FROM TARIFA_PROD WHERE TPR_CODART='%1' AND
TPR_CODTRF='%2' AND TPR_FECINI='%3'
Query02 SELECT ART_CODIGO FROM ARTICULO WHERE ART_CODIGO='%1'
Query03 INSERT INTO TARIFA_PROD (TPR_CODART, TPR_CODTRF, TPR_FECINI,
TPR_PRECIO) VALUES ('%1','%2','%3',%4)
Query04 SELECT USR_CODVND FROM USUARIO WHERE USR_ESTADO='1'
Query05 INSERT INTO AEXPORTAR (COM_SENTEN, COM_NUMVEN, COM_FECHOR)
VALUES('%1','%2','%3')

RecTarifaNavision.RESET;
numrecords:=RecTarifaNavision.COUNT;
contador:=0;
IF RecTarifaNavision.FIND ('-') THEN
REPEAT
fecha:=FORMAT (RecTarifaNavision."Fecha
inicial",0,'<year4>-<month, 2>-<day, 2>');
CLEAR (Tarifas_rs);
CREATE(Tarifas_rs);

Tarifas_rs.Open (STRSUBSTNO (Query01,RecTarifaNavision."Nº
producto",RecTarifaNavision."Cód. tarifa",fecha),Conn);

IF Tarifas_rs.EOF ()
THEN BEGIN
CLEAR (Articulo_rs);
CREATE (Articulo_rs);
precio:=FORMAT(RecTarifaNavision."Precio venta");
precio:=CONVERTSTR(precio,',','.');
Articulo_rs.Open (STRSUBSTNO
(Query02,RecTarifaNavision."Nº producto"),Conn);
IF NOT Articulo_rs.EOF () THEN
BEGIN
//Conn.Execute (STRSUBSTNO
(Query03,RecTarifaNavision."Nº producto",RecTarifaNavision."Cód.
tarifa",fecha,precio)
//,Conn);
Articulo_rs.AddNew();

Articulo_rs.Fields.Item('TPR_CODART').Value(RecTarifaNavision."Nº
producto");

Articulo_rs.Fields.Item('TPR_CODTRF').Value(RecTarifaNavision."Cód.
tarifa");

Articulo_rs.Fields.Item('TPR_FECINI').Value(RecTarifaNavision."Fecha
inicial");

Articulo_rs.Fields.Item('TPR_PRECIO').Value(RecTarifaNavision."Precio
venta");


Articulo_rs.Update();

exportar_sentencia(Query03);
CLEAR (Comercial_rs);
CREATE (Comercial_rs);
Comercial_rs.Open (Query04,Conn);
WHILE NOT Comercial_rs.EOF() DO
BEGIN
Comercial_rs.MoveFirst();
codvendedor:=Comercial_rs.Fields.Item
('USR_CODVND').Value ;
//Conn.Execute (STRSUBSTNO
(Query05,Query03,codvendedor,fecha),Conn);
Comercial_rs.MoveNext ();
Comercial_rs.Close ();
CLEAR (Comercial_rs);

END;
Articulo_rs.Close ();
CLEAR (Articulo_rs);

END;
//Usuario_rs.Close ();
// CLEAR (Usuario_rs);

END;
progreso.UPDATE(1,RecTarifaNavision."Cód. tarifa");
contador+=1;
progreso.UPDATE (2, ROUND ((contador /numrecords ) * 10000, 1));

UNTIL RecTarifaNavision.NEXT=0;
Tarifas_rs.Close ();
CLEAR (Tarifas_rs);
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida