Files
2026-09-22 20:38:51 -04:00

544 lines
21 KiB
Plaintext

{
========================================================================
PROGRAMA : ccprmt010
OBJETIVO : CONTROL DE TRANSPORTE
========================================================================
}
GLOBALS "ccprgb000.4gl"
MAIN
DEFER INTERRUPT
CALL ARG_VAL(1) RETURNING usuarios
CALL ARG_VAL(2) RETURNING clave
CALL ARG_VAL(4) RETURNING impresor
CONNECT to "decomarmol" USER usuarios USING clave
CALL ccprmt010()
END MAIN
FUNCTION ccprmt010()
DEFINE
actualice BOOLEAN,
registros INT
OPTIONS INPUT WRAP
OPEN WINDOW w1 AT 5,5 WITH FORM "ccfmmt010"
DIALOG ATTRIBUTES(UNBUFFERED,FIELD ORDER FORM)
CONSTRUCT BY NAME criterio ON a.estado,c.num_oc,c.cotizacion_no,x.cerrada,
a.estado_despacho
BEFORE CONSTRUCT
CLEAR FORM
END CONSTRUCT
ON ACTION procesar
LET selec =
" SELECT DISTINCT '1',a.estado,a.estado_despacho,RTRIM(CAST(a.sec_vend AS CHAR))+' '+RTRIM(b.nom1_emp)+' '+b.apell1_emp , ",
" a.num_req,CONVERT(CHAR(10),a.fecha_autorizacion,103),c.cotizacion_no,c.num_oc,g.descripcion as tipo_venta, ",
" CAST(e.tipo_cliente AS CHAR(2))+'-'+CAST(e.sec_cliente AS CHAR(6))+' '+RTRIM(e.nombre) ",
" AS cliente,d.total_neto as valor_cotizacion, ",
" SUM(c.valor),a.sec_vend,e.tipo_cliente,e.sec_cliente ",
" FROM cctb00025 a,adtb00003 b,cctb00026 c,vetb00050 d,vetb00004 e,vetb00061 g,vetb00060 h, ",
" prtb00012 x ",
"WHERE ",
" a.sec_vend = d.sec_vend and ",
" a.sec_vend = b.num_emp and ",
" a.num_req = c.num_req and ",
" c.cotizacion_no = d.cotizacion_no AND ",
" d.tipo_cliente = e.tipo_cliente AND ",
" d.sec_cliente = e.sec_cliente AND ",
" d.tipo_cliente = h.tipo_cliente AND ",
" c.num_oc = x.num_oc AND ",
" h.ventas = g.ventas and ",criterio CLIPPED,
" and a.status_t is null and x.status_t is null ",
" AND a.estado = 'AUTORIZADA' AND a.estado_despacho <> 'DESPACHADA' ",
" GROUP BY a.estado,RTRIM(CAST(a.sec_vend AS CHAR))+' '+RTRIM(b.nom1_emp)+' '+b.apell1_emp, ",
" a.num_req,c.cotizacion_no,g.descripcion, ",
" CAST(e.tipo_cliente AS CHAR(2))+'-'+CAST(e.sec_cliente AS CHAR(6))+' '+RTRIM(e.nombre) ",
" ,d.total_neto,a.fecha_autorizacion,a.sec_vend,c.num_oc, ",
" a.fecha_transporte,a.estado_despacho, ",
" c.cod_n,c.cod_grupo,c.cod_tipo,c.cod_Sec,e.tipo_cliente,e.sec_cliente ",
" ORDER BY a.estado DESC,CONVERT(CHAR(10),a.fecha_autorizacion,103) DESC"
DISPLAY "BUSCANDO INORMACION" TO proceso
PREPARE comando FROM selec
DECLARE busca_requisi CURSOR FOR comando
LET idx = 1
FOREACH busca_requisi INTO arr_autoriza[idx].*
LET idx = idx + 1
END FOREACH
IF idx = 1 THEN
CLEAR FORM
CALL fgl_winmessage("ERROR","NO EXISTEN REQUISICIONES CON ESA CONDICION ","STOP")
CONTINUE DIALOG
END IF
DISPLAY idx-1 TO registros
CALL SET_COUNT(idx-1)
DISPLAY " " TO proceso
INPUT ARRAY arr_autoriza WITHOUT DEFAULTS FROM s_autoriza.*
BEFORE INPUT
#CALL DIALOG.setactionactive("accept",FALSE)
CALL DIALOG.setactionactive("insert",FALSE)
CALL DIALOG.setactionactive("append",FALSE)
CALL DIALOG.setactionactive("delete",FALSE)
ON IDLE 60
DISPLAY " " TO proceso
CALL refrescar()
ON ACTION imprimir
LET curr=arr_curr()
CALL imprime_req(arr_autoriza[curr].num_req)
ON ACTION buscaMaterial
LET curr = arr_curr()
CALL fbuscaMaterial(arr_autoriza[curr].num_req,arr_autoriza[curr].num_oc)
ON ACTION buscamensaje
LET curr = arr_curr()
CALL entramensaje(arr_autoriza[curr].num_req,arr_autoriza[curr].cotizacion_no,"V",usuarios)
AFTER INPUT
#WHENEVER ERROR CONTINUE
IF int_flag THEN
CALL fgl_winmessage("WARNING","OPERACION CANCELADA","STOP")
CALL arr_autoriza.clear()
CLEAR FORM
LET int_flag = FALSE
EXIT INPUT
END IF
END INPUT
ON ACTION limpiar
CALL arr_autoriza.clear()
CLEAR FORM
ON ACTION cancel
EXIT PROGRAM
END DIALOG
CLOSE WINDOW w1
END FUNCTION
FUNCTION fbuscaMaterial(xreq,xnumoc)
DEFINE arr_material DYNAMIC ARRAY OF RECORD
fecha_compromiso CHAR(10),
fecha_transporte DATE,
fecha_llegada DATE,
material CHAR(50),
cantidad DEC(12,4),
pendiente DEC(12,4),
pendiente_ord DEC(12,4),
cod_n SMALLINT,
cod_grupo SMALLINT,
cod_tipo SMALLINT,
cod_sec SMALLINT,
num_oc INT
END RECORD,
xreq,xnumoc INT,
cantidad_req,cantidad_desp,cantidad_ord,cantidad_desp1 DEC(12,4)
OPEN WINDOW w2 AT 5,5 WITH FORM "ccfmmt014"
LET selec =
"SELECT CONVERT(CHAR(10),c.fecha_compromiso,103),CONVERT(CHAR(10),a.fecha_transporte,103),CONVERT(CHAR(10),a.fecha_llegada,103),",
"CAST(a.cod_n AS CHAR(2))||'-'||CAST(a.cod_grupo AS CHAR(4))||'-'|| ",
"CAST(a.cod_tipo AS CHAR(4))||'-'||CAST(a.cod_sec AS CHAR(4))||' '|| ",
"RTRIM(b.descrip_esp)||' '||b.unidad_med,a.cantidad,'0', '0',",
" b.cod_n,b.cod_grupo,b.cod_tipo,b.cod_Sec,a.num_oc ",
"FROM cctb00026 a,iptb00002 b,prtb00013 c ",
"WHERE a.num_req = '", xreq,"' AND ",
" a.num_oc = c.num_oc AND ",
" a.cod_n = c.cod_n AND ",
" a.cod_Grupo = c.cod_grupo AND ",
" a.cod_tipo = c.cod_tipo AND ",
" a.cod_Sec = c.cod_sec AND ",
" a.cod_n = b.cod_n AND ",
" a.cod_Grupo = b.cod_grupo AND ",
" a.cod_tipo = b.cod_tipo AND ",
" a.cod_Sec = b.cod_sec "
PREPARE comando10 FROM selec
DECLARE buscaM CURSOR FOR comando10
LET idx = 1
FOREACH buscam INTO arr_material[idx].*
LET cantidad_req = 0
SELECT SUM(a.cantidad) INTO cantidad_req FROM cctb00026 a
WHERE a.cod_n = arr_material[idx].cod_n AND
a.cod_grupo = arr_material[idx].cod_grupo AND
a.cod_tipo = arr_material[idx].cod_tipo AND
a.cod_sec = arr_material[idx].cod_sec AND
a.num_req = xreq AND
a.status_t IS NULL
IF cantidad_req IS NULL THEN
LET cantidad_req = 0
END IF
LET cantidad_Desp=0
SELECT SUM(a.cantidad_2) INTO cantidad_desp
FROM iptb00006 a
WHERE a.cod_n = arr_material[idx].cod_n AND
a.cod_grupo = arr_material[idx].cod_grupo AND
a.cod_tipo = arr_material[idx].cod_tipo AND
a.cod_sec = arr_material[idx].cod_sec AND
a.conduce_no = arr_material[idx].num_oc AND
a.num_req = xreq AND
a.status_t IS NULL
IF cantidad_Desp IS NULL THEN
LET cantidad_desp = 0
END IF
LET cantidad_ord = 0
SELECT SUM(a.cantidad) INTO cantidad_ord FROM prtb00013 a
WHERE a.cod_n = arr_material[idx].cod_n AND
a.cod_grupo = arr_material[idx].cod_grupo AND
a.cod_tipo = arr_material[idx].cod_tipo AND
a.cod_sec = arr_material[idx].cod_sec AND
a.num_oc =xnumoc AND
a.status_t IS NULL
IF cantidad_ord IS NULL THEN
LET cantidad_ord = 0
END IF
LET cantidad_desp1 = 0
SELECT SUM(a.cantidad_2) INTO cantidad_desp1 FROM iptb00006 a
WHERE a.cod_n = arr_material[idx].cod_n AND
a.cod_grupo = arr_material[idx].cod_grupo AND
a.cod_tipo = arr_material[idx].cod_tipo AND
a.cod_sec = arr_material[idx].cod_sec AND
a.num_oc =xnumoc AND
a.cod_mov IN (30,31,55,56,12,13) AND
a.status_t IS NULL
IF cantidad_desp1 IS NULL THEN
LET cantidad_desp1 = 0
END IF
LET arr_material[idx].pendiente_ord = cantidad_ord - cantidad_desp1
LET arr_material[idx].pendiente= cantidad_req - cantidad_desp
LET idx = idx + 1
END FOREACH
CALL set_count(idx-1)
INPUT ARRAY arr_material FROM s_transporte.* ATTRIBUTE(WITHOUT DEFAULTS)
AFTER INPUT
IF int_flag THEN
CALL msg(2)
EXIT INPUT
END IF
LET curr = arr_curr()
IF arr_material[curr].fecha_transporte > arr_material[curr].fecha_llegada THEN
CALL fgl_Winmessage("ERROR","FECHA TRANSPORTE NO PUEDE SER MAYOR FECHA LLEGADA","STOP")
NEXT FIELD fecha_transporte
END IF
BEGIN WORK
FOR idx = 1 TO arr_count()
IF arr_material[idx].fecha_llegada IS NOT NULL THEN
UPDATE cctb00026 set fecha_llegada = arr_material[idx].fecha_llegada,
fecha_transporte = arr_material[idx].fecha_transporte,
us_mod = usuarios,
fech_mod = getdate()
WHERE num_req = xreq AND
cod_n = arr_material[idx].cod_n and
cod_grupo = arr_material[idx].cod_grupo and
cod_tipo = arr_material[idx].cod_tipo and
cod_Sec = arr_material[idx].cod_sec
IF STATUS < 0 THEN
ROLLBACK WORK
LET chmensaje = SQLERRMESSAGE CLIPPED,"NO ES POSIBLE GUARDAR LA TRANSACCION"
CALL fgl_winmessage("ERROR",chmensaje,"STOP")
CONTINUE INPUT
ELSE
COMMIT WORK
CALL msg(1)
END IF
END IF
END FOR
END INPUT
IF Int_flag THEN
LET Int_flag = FALSE
END IF
CLOSE WINDOW w2
END FUNCTION
FUNCTION imprime_req(xnumreq)
DEFINE xnumreq INT,
handler om.SaxDocumentHandler, -- return value from fgl_report_commitCurrentSettings()
r_filename STRING, -- filename of Report Design Document including .4rp extension
r_output STRING, -- output format option
preview INTEGER -- TRUE/FALSE, to set preview option
DEFINE mrequisicion RECORD
numreq INT,
numoc INT,
nombre VARCHAR(80),
vendedor VARCHAR(80),
fecha VARCHAR(10),
estatus_req VARCHAR(50),
direccion VARCHAR(100),
telefono_r VARCHAR(20),
telefono_o VARCHAR(20),
celular VARCHAR(20),
usuario_autoriza VARCHAR(50),
fecha_autorizacion CHAR(16),
estado_despacho VARCHAR(50),
cod_n SMALLINT,
cod_grupo SMALLINT,
cod_tipo SMALLINT,
cod_sec SMALLINT,
descripcion VARCHAR(80),
cantidad DEC(12,4),
etiqueta CHAR(20),
lado_1 DEC(12,5),
lado_2 DEC(12,5),
lado_3 DEC(12,5),
cantidad_r DEC(12,4),
medida_r DEC(12,4),
cantidad1 DEC(12,5),
codn SMALLINT,
codgrupo SMALLINT,
codtipo SMALLINT,
codsec SMALLINT,
descripcion1 VARCHAR(60),
kit INT,
observacion VARCHAR(180),
cantidad_despachada_req DEC(12,4),
cantidad_despachada_ord DEC(12,4),
cantidad_pendiente_ord DEC(12,4),
cantidad_pendiente_req DEC(12,4),
cantidad_ord DEC(12,4),
codigo CHAR(30)
END RECORD
DECLARE busca_req CURSOR FOR
SELECT b.num_req,c.num_oc, CAST (a.tipo_cliente AS varchar(2))+'-'+CAST(a.sec_cliente AS varchar(6))+' '+ISNULL(a.nombre,' ') AS cliente,
CAST(e.num_emp AS varchar(5))+' '+ISNULL(RTRIM(e.nom1_emp),' ')+' '+ISNULL(e.apell1_emp,' ') AS vendedor,
CONVERT(CHAR(10),b.fecha,103) AS fecha,b.estado,
RTRIM(d.direccion_proyecto)+ '-'+ISNULL(x2.mensaje,' ') AS direccion,d.telefono_r,d.telefono_o,d.celular,
(SELECT isnull(adtb00003.nom1_emp,' ')+' '+isnull(adtb00003.apell1_Emp,' ') FROM adtb00003 WHERE adtb00003.num_emp = b.sec_vend_aprobado),
CONVERT(CHAR(10),b.fecha_autorizacion,103),
b.estado_despacho,
c.cod_n,c.cod_grupo,c.cod_tipo,c.cod_sec,f.descrip_esp,
sum(c.cantidad),x1.descripcion,x.lado_1,x.lado_2,x.lado_3,x.cantidad_r,x.medida_r,
sum(c.cantidad),c.cod_n,c.cod_grupo,c.cod_tipo,c.cod_sec,(SELECT k1.descrip_esp FROM iptb00002 k1
WHERE k1.cod_n = c.cod_n AND k1.cod_grupo = c.cod_grupo AND k1.cod_tipo = c.cod_tipo AND
k1.cod_sec = c.cod_sec),c.id_kit,x3.observacion
FROM vetb00004 a,cctb00025 b LEFT OUTER JOIN cctb00029 x2 ON b.num_req = x2.num_req,
cctb00026 c LEFT OUTER JOIN cctb00027 x
ON c.num_req = x.num_req AND
c.cod_n = x.cod_n AND
c.cod_grupo = x.cod_grupo AND
c.cod_tipo = x.cod_tipo AND
c.cod_sec = x.cod_Sec
LEFT OUTER JOIN vetb00026 x1 ON x.etiqueta = x1.codid ,
vetb00050 d,adtb00003 e,iptb00002 f,prtb00014 x3
WHERE a.tipo_cliente = d.tipo_cliente AND b.num_req = c.num_req AND
a.sec_cliente = d.sec_cliente AND
c.cotizacion_no = d.cotizacion_no AND
c.cod_n = f.cod_n AND c.cod_grupo =f.cod_grupo AND c.cod_tipo=f.cod_tipo AND
c.cod_sec = f.cod_Sec AND c.status_t IS NULL AND
b.num_req = xnumreq AND d.sec_vend = e.num_emp AND
c.num_oc = x3.num_oc
GROUP BY b.num_req,a.tipo_cliente,a.sec_cliente,a.nombre, e.num_emp,e.nom1_emp,e.apell1_emp,c.num_oc,
b.fecha,b.estado,
c.cod_n,c.cod_grupo,c.cod_tipo,c.cod_sec,f.descrip_esp,b.sec_vend_aprobado,
b.fecha_autorizacion,b.estado_despacho,
x.lado_1,x.lado_2,x.lado_3,x.cantidad_r,x.medida_r,
x1.descripcion,d.direccion_proyecto,x2.mensaje,
d.telefono_r,d.telefono_o,d.celular,
c.cod_n,c.cod_grupo,c.cod_tipo,c.cod_sec,
c.id_kit,x3.observacion
ORDER BY b.num_req, c.cod_n,c.cod_grupo,c.cod_tipo,c.cod_sec
LET r_output="SVG"
LET r_filename = "ccprmt010.4rp"
LET preview = 1
iF fgl_report_loadCurrentSettings(r_filename) THEN -- load the .4rp file
CALL fgl_report_selectDevice(r_output) -- changing default
CALL fgl_report_selectPreview(preview) -- changing default
LET handler = fgl_report_commitCurrentSettings() -- commit changes
START REPORT CCRP10 TO XML HANDLER HANDLER
FOREACH busca_req INTO mrequisicion.*
LET mrequisicion.codigo =mrequisicion.kit USING "<<<<","/", mrequisicion.cod_n USING "&&&&","-",
mrequisicion.cod_grupo USING "&&&&","-",
mrequisicion.cod_tipo USING "&&&&","-",
mrequisicion.cod_sec USING "&&&&&&"
OUTPUT TO REPORT ccrp10(mrequisicion.*)
END FOREACH
FINISH REPORT ccrp10
END IF
END FUNCTION
REPORT ccrp10(x)
DEFINE X RECORD
numreq INT,
numoc INT,
nombre VARCHAR(80),
vendedor VARCHAR(80),
fecha VARCHAR(10),
estatus_req VARCHAR(50),
direccion VARCHAR(100),
telefono_r VARCHAR(20),
telefono_o VARCHAR(20),
celular VARCHAR(20),
usuario_autoriza VARCHAR(50),
fecha_autorizacion CHAR(16),
estado_despacho VARCHAR(50),
cod_n SMALLINT,
cod_grupo SMALLINT,
cod_tipo SMALLINT,
cod_sec SMALLINT,
descripcion VARCHAR(80),
cantidad DEC(12,4),
etiqueta CHAR(20),
lado_1 DEC(12,5),
lado_2 DEC(12,5),
lado_3 DEC(12,5),
cantidad_r DEC(12,4),
medida_r DEC(12,4),
cantidad1 DEC(12,5),
codn SMALLINT,
codgrupo SMALLINT,
codtipo SMALLINT,
codsec SMALLINT,
descripcion1 VARCHAR(60),
kit INT,
observacion VARCHAR(180),
cantidad_despachada_req DEC(12,4),
cantidad_despachada_ord DEC(12,4),
cantidad_pendiente_ord DEC(12,4),
cantidad_pendiente_req DEC(12,4),
cantidad_ord DEC(12,4),
codigo CHAR(30)
END RECORD,
fecha_imp CHAR(16),
semaforo BOOLEAN,
chkit CHAR(100)
ORDER BY x.numreq
FORMAT
FIRST PAGE HEADER
SELECT a.* INTO p_companias.* FROM companias a
LET fecha_imp = TODAY USING "DD/MM/YYYY",":",TIME
BEFORE GROUP OF x.numreq
PRINTX x.numreq,x.estado_despacho,x.estatus_req,x.fecha,x.fecha_autorizacion,p_companias.nombre,
x.nombre,x.usuario_autoriza,x.vendedor,fecha_imp,x.numoc,X.direccion,X.telefono_r,x.telefono_o,
x.celular,x.observacion
BEFORE GROUP OF x.codigo
# BUSCA LAS CANTIDADES PENDIENTES
LET x.cantidad_despachada_req=0
SELECT SUM(a.cantidad_2) INTO x.cantidad_despachada_req
FROM iptb00006 a
WHERE a.num_req = x.numreq AND a.cod_n = x.cod_n AND
a.cod_grupo = x.cod_grupo AND
a.cod_tipo = x.cod_tipo AND a.cod_Sec = x.cod_Sec AND a.status_t IS NULL
LET x.cantidad_despachada_ord=0
SELECT SUM(a.cantidad_2) INTO x.cantidad_despachada_ord
FROM iptb00006 a
WHERE a.num_oc = x.numoc AND a.cod_n = x.cod_n AND
a.cod_grupo = x.cod_grupo AND a.cod_mov IN (30,31,55,56,12,13) AND
a.cod_tipo = x.cod_tipo AND a.cod_Sec = x.cod_Sec
AND a.status_t IS NULL
SELECT SUM(a.cantidad) INTO x.cantidad_ord
FROM prtb00013 a
WHERE a.num_oc = x.numoc AND a.cod_n = x.cod_n AND
a.cod_grupo = x.cod_grupo AND
a.cod_tipo = x.cod_tipo AND a.cod_Sec = x.cod_Sec AND
a.status_t IS NULL
IF x.cantidad_despachada_req IS NULL THEN
LET x.cantidad_despachada_req = 0
END IF
IF x.cantidad_despachada_ord IS NULL THEN
LET x.cantidad_despachada_ord = 0
END IF
IF x.cantidad_ord IS NULL THEN
LET x.cantidad_ord = 0
END IF
LET x.cantidad_pendiente_ord=x.cantidad_ord+x.cantidad_despachada_ord
LET x.cantidad_pendiente_req=x.cantidad + x.cantidad_despachada_req
PRINTX x.cod_n,x.cod_grupo,x.cod_tipo,x.cod_Sec,x.descripcion,x.cantidad,
x.cantidad_pendiente_req,x.cantidad_pendiente_ord
ON EVERY ROW
# IF x.codn IS NOT NULL THEN
# LET semaforo = TRUE
# LET chkit = x.codn USING "&&&&","-",x.codgrupo USING "&&&&","-",x.codtipo USING "&&&&","-",
# x.codsec USING "&&&&"," ",x.descripcion1
# ELSE
LET semaforo = FALSE
# END IF
PRINTX x.etiqueta,x.lado_1,x.lado_2,x.lado_3,x.cantidad_r,x.medida_r,
chkit,x.cantidad1,semaforo
END REPORT
FUNCTION refrescar()
LET selec =
" SELECT '1',a.estado,a.estado_despacho,RTRIM(CAST(a.sec_vend AS CHAR))+' '+RTRIM(b.nom1_emp)+' '+b.apell1_emp , ",
" a.num_req,CONVERT(CHAR(10),a.fecha_autorizacion,103),c.cotizacion_no,c.num_oc,g.descripcion as tipo_venta, ",
" CAST(e.tipo_cliente AS CHAR(2))+'-'+CAST(e.sec_cliente AS CHAR(6))+' '+RTRIM(e.nombre) ",
" AS cliente,d.total_neto as valor_cotizacion, ",
" SUM(c.valor),a.sec_vend,c.cod_n,c.cod_grupo,c.cod_tipo,c.cod_Sec,e.tipo_cliente,e.sec_cliente ",
" FROM cctb00025 a,adtb00003 b,cctb00026 c,vetb00050 d,vetb00004 e,vetb00061 g,vetb00060 h, ",
" prtb00012 x ",
"WHERE ",
" a.sec_vend = d.sec_vend and ",
" a.sec_vend = b.num_emp and ",
" a.num_req = c.num_req and ",
" c.cotizacion_no = d.cotizacion_no AND ",
" d.tipo_cliente = e.tipo_cliente AND ",
" d.sec_cliente = e.sec_cliente AND ",
" d.tipo_cliente = h.tipo_cliente AND ",
" c.num_oc = x.num_oc AND ",
" h.ventas = g.ventas and ",criterio CLIPPED,
" and a.status_t is null and x.status_t is null ",
" AND a.estado = 'AUTORIZADA' AND a.estado_despacho <> 'DESPACHADA' ",
" GROUP BY a.estado,RTRIM(CAST(a.sec_vend AS CHAR))+' '+RTRIM(b.nom1_emp)+' '+b.apell1_emp, ",
" a.num_req,c.cotizacion_no,g.descripcion, ",
" CAST(e.tipo_cliente AS CHAR(2))+'-'+CAST(e.sec_cliente AS CHAR(6))+' '+RTRIM(e.nombre) ",
" ,d.total_neto,a.fecha_autorizacion,a.sec_vend,c.num_oc, ",
" a.fecha_transporte,a.estado_despacho, ",
" c.cod_n,c.cod_grupo,c.cod_tipo,c.cod_Sec,e.tipo_cliente,e.sec_cliente ",
" ORDER BY a.estado DESC,CONVERT(CHAR(10),a.fecha_autorizacion,103) DESC"
DISPLAY "REFRESCANDO INFORMACION" TO proceso
PREPARE comando1 FROM selec
DECLARE busca_requisi1 CURSOR FOR comando1
LET idx = 1
CALL arr_autoriza.clear()
FOREACH busca_requisi1 INTO arr_autoriza[idx].*
LET idx = idx + 1
END FOREACH
END FUNCTION