Ver Mensaje Individual
  #3 (permalink)  
Antiguo 23/06/2006, 13:54
crossover
 
Fecha de Ingreso: mayo-2006
Mensajes: 13
Antigüedad: 17 años, 10 meses
Puntos: 0
Cita:
Iniciado por nicolaspar
Y como estas haciendo ese proceso? Poné el código así podemos ver como lo haces...
PD: Lo pregunto por que es un proceso que no debe consumir absolutamente nada.
//llamada a funcion insertar en maestro

inserta_maestro($dbh2,$num_requisicion,$nuevafecha ,$adscripcion);

//llamada a funcion extrae clave

$cve_requisicion=extrae_cve($dbh2, $num_requisicion);

//llamada a funcion inserta detalle

inserta_detalle($dbh2,$cve_requisicion,partida1,$d escripcion1,$cantidad1,$unidad1);
inserta_detalle($dbh2,$cve_requisicion,partida2,$d escripcion2,$cantidad2,$unidad2);

//funcion Inserta maestro

function inserta_maestro($dbh,$i_nreq, $i_fecha, $i_adscripcion){
$sql = "INSERT into BS_REQUISICION (num_req,fecha_elab, cve_area) values(:val1, :val2, :val3)";
$stmt = OCIParse($dbh, $sql);
if (!$stmt) {
require("inserta2.htm");
}

else {
oci_bind_by_name($stmt, ':val1', $i_nreq);
oci_bind_by_name($stmt, ':val2', $i_fecha);
oci_bind_by_name($stmt, ':val3', $i_adscripcion);

OCIExecute($stmt);
}
}

//funcion inserta detalle

function inserta_detalle($dbh1,$v2_1, $v2_2, $v2_3,$v2_4,$v2_5){
$sql2 = 'INSERT into BS_REQ_DET (CVE_REQ, NUM_PARTIDA, DESCRIPCION, CANTIDAD, UNIDAD)values(:val2_1, :val2_2, :val2_3,:val2_4,:val2_5)';
$stmt2 = OCIParse($dbh1, $sql2);
if (!$stmt2) {
require ("inserta2.htm");
}

else {
oci_bind_by_name($stmt2, ':val2_1', $v2_1);
oci_bind_by_name($stmt2, ':val2_2', $v2_2);
oci_bind_by_name($stmt2, ':val2_3', $v2_3);
oci_bind_by_name($stmt2, ':val2_4', $v2_4);
oci_bind_by_name($stmt2, ':val2_5', $v2_5);
OCIExecute($stmt2);
}
}


el error es marcado en la siguiente función en oi execute

//funcion extrae clave

function extrae_cve($dbh3,$n_reqs){
while($valor==NULL){
$sql3 = 'SELECT CVE_REQ FROM BS_REQUISICION WHERE NUM_REQ=:N_REQ';
$stmt3 = OCIParse($dbh3, $sql3);
oci_bind_by_name($stmt3, ':N_REQ', $n_reqs);
OCIExecute($stmt3);

while ($row = oci_fetch_array ($stmt3, OCI_NUM)) {
$valor=$row[0];
}
}
return $valor;
}