Ver Mensaje Individual
  #10 (permalink)  
Antiguo 14/09/2011, 21:56
mevalenzuela
 
Fecha de Ingreso: marzo-2010
Mensajes: 22
Antigüedad: 14 años, 1 mes
Puntos: 0
Pregunta Respuesta: Problemas en insert ms-sql y php

Ahi va.

$archivo = $_POST["archivo"] ;
$path = "C:";
$fichero = $path . "\P81.CLASIF";
$consulta = "";
$consulta = $consulta . "DELETE FROM T_Prestamos_SFB";
$result = odbc_exec($connect, $consulta ) or die ("El Borrado de T_Prestamos_SFB ha fallado");

$consulta = "";
$consulta = $consulta . "DELETE FROM T_Prestamos_SFB_1";
$result = odbc_exec($connect, $consulta ) or die ("El Borrado de T_Prestamos_SFB ha fallado");

$consulta = "";
$consulta = $consulta . "DELETE FROM T_Clientes";
$result = odbc_exec($connect, $consulta );

$consulta = "";
$consulta = $consulta . "DELETE FROM T_Productos";
$result = odbc_exec($connect, $consulta );

$consulta = "";
$consulta = $consulta . "DELETE FROM T_RelCteProd";
$result = odbc_exec($connect, $consulta );

$contenido = file ( $fichero );
for( $i = 0; $i < sizeof( $contenido ); $i++)
{
$linea = trim( $contenido[ $i ] );
$pr_moneda = substr($linea, 0, 2);
$pr_sucursal = substr($linea, 2, 3);
$pr_producto = substr($linea, 5, 3);
$pr_cuenta = substr($linea, 8, 6);
$pr_pnu_renov = substr($linea, 14, 1);
$pr_sco_ident = substr($linea, 15, 13);
$pr_apellido_nombre = substr($linea, 28, 15);
$pr_tipo_docum = substr($linea, 43, 2);
$pr_nro_documento = substr($linea, 45, 12);
$pr_filler = substr($linea, 57, 248);

$consulta = "";
$consulta = $consulta . "INSERT INTO T_Prestamos_SFB (PR_Moneda, PR_Sucursal, PR_Producto, ";
$consulta = $consulta . "PR_Cuenta, PR_PNU_Renov, PR_Sco_Ident, ";
$consulta = $consulta . "PR_ApellidoNombre, PR_Tipo_Documento, PR_Nro_Documento, PR_Filler) ";
$consulta = $consulta . "VALUES ('$pr_moneda', '$pr_sucursal', '$pr_producto', ";
$consulta = $consulta . "'$pr_cuenta', '$pr_pnu_renov', '$pr_sco_ident', '$pr_apellido_nombre', ";
$consulta = $consulta . "'$pr_tipo_docum', '$pr_nro_documento', '$pr_filler')";
$result = odbc_exec($connect, $consulta );
}
// Controla si hay error
if (odbc_error())
{
echo odbc_errormsg($connect) ."<br>\n";
}

$consulta = "";
$consulta = $consulta . "DELETE from T_Prestamos_SFB WHERE ((T_Prestamos_SFB.PR_Moneda)='MO');";
$result = odbc_exec($connect, $consulta );

$consulta = "";
$consulta = $consulta . "INSERT INTO T_Prestamos_SFB_1 ( PR_Moneda, PR_Sucursal, PR_Producto, ";
$consulta = $consulta . "PR_Cuenta, PR_PNU_Renov, PR_Sco_Ident, PR_ApellidoNombre, PR_Tipo_Documento, ";
$consulta = $consulta . "PR_Nro_Documento, PR_Filler, Documentacion ) ";
$consulta = $consulta . "SELECT Cast([PR_Moneda] as int) AS Moneda, ";
$consulta = $consulta . "Cast([PR_Sucursal] as int) AS Sucursal, ";
$consulta = $consulta . "Cast([PR_Producto] as int) AS Producto, ";
$consulta = $consulta . "Cast([PR_Cuenta] as int) AS Cuenta, T_Prestamos_SFB.PR_PNU_Renov, ";
$consulta = $consulta . "T_Prestamos_SFB.PR_Sco_Ident, T_Prestamos_SFB.PR_ApellidoNombre, ";
$consulta = $consulta . "Cast([PR_Tipo_Documento] as int) AS TipoDocumento, ";
$consulta = $consulta . "Cast([PR_Nro_Documento] as bigint) AS NroDocumento, ";
$consulta = $consulta . "T_Prestamos_SFB.PR_Filler, T_Prestamos_SFB.Documentacion ";
$consulta = $consulta . "FROM T_Prestamos_SFB;";
$result = odbc_exec($connect, $consulta );

$consulta = "";
$consulta = $consulta . "UPDATE T_Prestamos_SFB_1 ";
$consulta = $consulta . "SET T_Prestamos_SFB_1.Documentacion = [T_Prod_Prestamos].[Documentacion] ";
$consulta = $consulta . "FROM T_Prestamos_SFB_1 INNER JOIN T_Prod_Prestamos ";
$consulta = $consulta . "ON ((T_Prestamos_SFB_1.PR_Producto = T_Prod_Prestamos.Producto) AND ";
$consulta = $consulta . "(T_Prestamos_SFB_1.PR_Moneda = T_Prod_Prestamos.Moneda)) ";
$consulta = $consulta . "WHERE (((T_Prod_Prestamos.Documentacion)=0))";
$result = odbc_exec($connect, $consulta );

$consulta = "";
$consulta = $consulta . "DELETE FROM T_Prestamos_SFB_1 ";
$consulta = $consulta . "WHERE ((T_Prestamos_SFB_1.Documentacion)=0)";
$result = odbc_exec($connect, $consulta );


$consulta = "";
$consulta = $consulta . "INSERT INTO T_Clientes (TipoDoc, NroDocumento, ApeyNom, Caja, Orden, ";
$consulta = $consulta . "Observacion, CodOficina, FechaProceso_Cliente ) SELECT T_Prestamos_SFB_1.PR_Tipo_Documento, ";
$consulta = $consulta . "T_Prestamos_SFB_1.PR_Nro_Documento, T_Prestamos_SFB_1.PR_ApellidoNombre, ";
$consulta = $consulta . "99999 AS C, 99999 AS O, 'Cliente ingresado por Interfase' AS Obs, ";
$consulta = $consulta . "12 AS CO, " . "" . "GETDATE() AS FA" . " ";
$consulta = $consulta . "FROM T_Prestamos_SFB_1 ";
$consulta = $consulta . "GROUP BY T_Prestamos_SFB_1.PR_Tipo_Documento, T_Prestamos_SFB_1.PR_Nro_Documento, ";
$consulta = $consulta . "T_Prestamos_SFB_1.PR_ApellidoNombre;";
$result = odbc_exec($connect, $consulta );

$consulta = "";
$consulta = $consulta . "INSERT INTO T_Productos ( Sucursal, TipoProducto, Clave1, Producto, Caja, Orden, ";
$consulta = $consulta . "Observacion, CodOficina, FechaProceso_Producto ) ";
$consulta = $consulta . "SELECT T_Prestamos_SFB_1.PR_Sucursal, 9 AS TP, ";
$consulta = $consulta . "T_Prestamos_SFB_1.PR_Cuenta, T_Prestamos_SFB_1.PR_Producto, 99999 AS C, 99999 AS O, ";
$consulta = $consulta . "'Producto ingresado por Interfase - A' AS Obs, 12 AS CO, " . "" . "GETDATE() AS FA" . " ";
$consulta = $consulta . "FROM T_Prestamos_SFB_1 ";
$consulta = $consulta . "ORDER BY T_Prestamos_SFB_1.PR_Cuenta";
$result = odbc_exec($connect, $consulta);

$consulta = "";
$consulta = $consulta . "INSERT INTO T_RelCteProd ( Sucursal, TipoProducto, Clave1, TipoDoc, NroDocumento ) ";
$consulta = $consulta . "SELECT T_Prestamos_SFB_1.PR_Sucursal, 9 AS TP, T_Prestamos_SFB_1.PR_Cuenta, ";
$consulta = $consulta . "T_Prestamos_SFB_1.PR_Tipo_Documento, T_Prestamos_SFB_1.PR_Nro_Documento ";
$consulta = $consulta . "FROM T_Prestamos_SFB_1 ";
$consulta = $consulta . "ORDER BY T_Prestamos_SFB_1.PR_Nro_Documento;";
$result = odbc_exec($connect, $consulta);


// AQUI ES DONDE SE INSERTAN EN LA TABLAS DE LA BASE DE DATOS
$sql = "";
$sql = $sql . "INSERT INTO Productos ( Sucursal, TipoProducto, Clave1, Clave2, Producto, Caja, Orden, Observacion, ";
$sql = $sql . "CodOficina, FechaProceso_Producto ) SELECT DISTINCT T_Productos.Sucursal, T_Productos.TipoProducto, ";
$sql = $sql . "T_Productos.Clave1, T_Productos.Clave2, T_Productos.Producto, T_Productos.Caja, T_Productos.Orden, ";
$sql = $sql . "T_Productos.Observacion, T_Productos.CodOficina, ";
$sql = $sql . "T_Productos.FechaProceso_Producto FROM T_Productos ";
$sql = $sql . "GROUP BY T_Productos.Sucursal, T_Productos.TipoProducto, T_Productos.Clave1, T_Productos.Clave2, ";
$sql = $sql . "T_Productos.Producto, T_Productos.Caja, T_Productos.Orden, T_Productos.Observacion, ";
$sql = $sql . "T_Productos.CodOficina, T_Productos.FechaProceso_Producto;";
$result = odbc_exec($connect, $sql);

$sql = "";
$sql = $sql . "INSERT INTO Clientes ( TipoDoc, NroDocumento, Apellido, Nombre, Caja, Orden, ";
$sql = $sql . "Observacion, CodOficina, FechaProceso_Cliente ) SELECT DISTINCT T_Clientes.TipoDoc, ";
$sql = $sql . "T_Clientes.NroDocumento, T_Clientes.ApeyNom, T_Clientes.Nombre, T_Clientes.Caja, ";
$sql = $sql . "T_Clientes.Orden, T_Clientes.Observacion, T_Clientes.CodOficina, T_Clientes.FechaProceso_Cliente ";
$sql = $sql . "FROM T_Clientes GROUP BY T_Clientes.TipoDoc, T_Clientes.NroDocumento, T_Clientes.ApeyNom, ";
$sql = $sql . "T_Clientes.Nombre, T_Clientes.Caja, T_Clientes.Orden, T_Clientes.Observacion, ";
$sql = $sql . "T_Clientes.CodOficina, T_Clientes.FechaProceso_Cliente;";
//$consulta = $consulta . "FROM T_Clientes WHERE DATEDIFF(DAY,T_Clientes.FechaProceso_Cliente,GETDA TE()) < 1";
$result = odbc_exec($connect, $sql);

// Cierra la conexion
odbc_close($connect);

?>