//Aqui obtengo los datos que necesito guardar en mi archivo de texto
$query_rs_scoplaen = "SELECT so.idccodso AS idccodso, so.scrccopl, so.scrcndni, (so.scrcapep || ' ' || so.scrcapem || ', ' || so.scrcnomb) as nombres, (so.scrcapep || ' ' || so.scrcapem || ' ' || so.scrcnomb) AS socio,
(SELECT scrnacti FROM scrtipso WHERE idectiso=so.scrctiso) AS scrnacti,
pl.sccoapor, pl.sccopram, pl.sccoprin, pl.sccocred, (pl.sccomocr+pl.sccoprmo) AS sccomora,
pl.sccofose, pl.sccoacti, pl.sccomult, pl.sccomant, to_char(pl.sccdfech,'MM') AS mes, to_char(pl.sccdfech,'YY') AS ano_corto, to_char(pl.sccdfech,'YYYY') AS ano_largo,
(pl.sccoapor + pl.sccopram + pl.sccoprin + pl.sccocred + pl.sccomocr + pl.sccoprmo + pl.sccofose +
pl.sccoacti + pl.sccomult + pl.sccomant) AS sccotota
FROM
scrsocio so INNER JOIN scoplaen_corregido pl ON pl.idccodso=so.idccodso
INNER JOIN saudepen de ON pl.idccodpro=de.sauccode
WHERE so.scrccoso NOT IN ('00034') AND de.idcuniej = '".$idcuniej."'
AND date_part('MONTH',pl.sccdfech) = ".$mes." AND date_part('YEAR',pl.sccdfech) = '".$anno."'
ORDER BY so.scrcapep, so.scrcapem, so.scrcnomb";
$rs_scoplaen = $cn->SelectLimit($query_rs_scoplaen);
while (!$rs_scoplaen->EOF){
$monto_total[]=$rs_scoplaen->Fields("sccotota");
$scrccopl[]=$rs_scoplaen->Fields("scrccopl");
$scrcndni[]=$rs_scoplaen->Fields("scrcndni");
$scrnacti[]=$rs_scoplaen->Fields("scrnacti");
$socio[]=$rs_scoplaen->Fields("socio");
$mes = $rs_scoplaen->Fields("mes");
$ano_corto = $rs_scoplaen->Fields("ano_corto");
$ano_largo = $rs_scoplaen->Fields("ano_largo");
$rs_scoplaen->MoveNext();
}
$rs_scoplaen->MoveFirst();//Ubicamos el Cursor en el Primer Registro
//Este es el Bloque para cargar los datos al archivo de texto, y claro esto se ejecuta con un boton que llama mediante una funcion javascript al submit() de mi formulario.
if ($consultar == "grabar"){
//Obtenemos el Codigo de Ministerio
$sql_minis = "SELECT idcminis FROM sauuniej WHERE idcuniej = '".$idcuniej."'";
$rs_minis = $cn->SelectLimit($sql_minis);
$idcminis = $rs_minis->Fields("idcminis");
//Proceso de Generar el Archivo de Texto
$sql = "SELECT * FROM scoarche WHERE idcminis = '".$idcminis."' ORDER BY sconnoca ASC ";
$rs_scoarche = $cn->SelectLimit($sql) or die($cn->ErrorMsg());
$scotipa = $rs_scoarche->Fields("scotipa");
if($scotipa == "TXT") {
header("Content-disposition: attachment; filename=\"2109".$mes.$ano_corto.".txt\"");
} else {
header("Content-disposition: attachment; filename=\"2109".$mes.$ano_corto.".dbf\"");
$i = 0;
$rs_scoarche->MoveFirst();
while(!$rs_scoarche->EOF) {
$tabla_def[$i][0] = $rs_scoarche->Fields("scocnom");
$tabla_def[$i][1] = "C";
$tabla_def[$i][2] = $rs_scoarche->Fields("scontama");
$i++;
$rs_scoarche->MoveNext();
}
$dbf_arch = get_nombre_arch_dbf();
$dbf_db_ok = false;
if(dbase_create("temp/".$dbf_arch, $tabla_def)) {
$dbf_db = dbase_open("temp/".$dbf_arch, 2);
if($dbf_db !== false) {
$dbf_db_ok = true;
}
}
}
header("Content-type: application/octetstream");
header("Pragma: no-cache");
header("Expires: 0");
for($i = 0; $i <= ($item - 1); $i++) {
if($monto_total[$i] > 0) {
$j = 1;
$rs_scoarche->MoveFirst();
while(!$rs_scoarche->EOF) {
$scocvalo = $rs_scoarche->Fields("scocvalo");
if(substr($scocvalo, 0, 1) != "'") {
switch($scocvalo) {
case "NP":
$valores[$j] = $scrccopl[$i];
break;
case "NCS":
$valores[$j] = $socio[$i];
break;
case "DNI":
$valores[$j] = $scrcndni[$i];
break;
case "TS":
if($scrnacti[$i] == "A") {
$valores[$j] = "1";
} else {
$valores[$j] = "5";
}
break;
case "MD":
formatear_monto($monto_total[$i]);
$valores[$j] = $monto_total[$i];
break;
case "AL":
$valores[$j] = $ano_largo;
break;
case "AC":
$valores[$j] = $ano_corto;
break;
case "MC":
$valores[$j] = $mes;
break;
}
} else {
$valores[$j] = $scocvalo;
}
$j++;
$rs_scoarche->MoveNext();
}
if($scotipa == "TXT") {
$linea = get_linea_arch_txt_env($idcminis, $valores, &$rs_scoarche);
echo $linea;
} else {
$fila = get_fila_arch_dbf_env($idcminis, $valores, &$rs_scoarche);
if($dbf_db_ok) {
dbase_add_record($dbf_db, $fila);
}
}
}
}
if($dbf_db_ok) {
dbase_close($dbf_db);
$arch = fopen("temp/".$dbf_arch, "r");
$arch_cont = fread($arch, filesize("temp/".$dbf_arch));
fclose($arch);
echo $arch_cont;
//chmod("temp/".$dbf_arch, 0777);
//unlink("temp/".$dbf_arch);
}
die();
}