{ PROGRAMA : CCPRCS007 OBJETIVO : VISUALIZAR LAS TRANSACCIONES REALIZADAS VIA DIFERENTES PROCESOS DE LAS REQUISICIONES DE DESPACHOS DESARROLLADO POR : ING. JUAN SOTO FECHA : ENERO 24, 2023 } GLOBALS "ccprgb000.4gl" DEFINE encabezado STRING, fecha_ini,fecha_fin DATE MAIN DEFER INTERRUPT CALL STARTLOG("ccprcs007.log") CALL ARG_VAL(1) RETURNING usuarios CALL ARG_VAL(2) RETURNING clave CONNECT to "smarmotech" USER usuarios USING clave CALL ccprcs007() END MAIN FUNCTION ccprcs007() DEFINE arr_data DYNAMIC ARRAY OF RECORD fecha VARCHAR(50), usuario VARCHAR(100), vendedor VARCHAR(100), tipo_cliente,sec_cliente INT, cliente VARCHAR(100), num_req INT, limite_cr , monto_pendiente,balance DEC(18,2), estado VARCHAR(50), tipo VARCHAR(20), factura INT, fecha_vence VARCHAR(10), descripcion_estado VARCHAR(200), numero_recibo INT, tipo_doc VARCHAR(50), monto_recibo,valor_cotizacion DEC(18,2), cotizacion_no,num_oc INT END RECORD, idx INT call ui.Interface.loadStyles("formularios") OPEN WINDOW w1 WITH FORM 'ccfmcs007' DIALOG ATTRIBUTE(UNBUFFERED) INPUT BY NAME fecha_ini,fecha_fin BEFORE INPUT CALL arr_data.clear() CLEAR FORM LET encabezado = 'VISUALIZACION TRANSACCIONES REQUISICIONES DESPACHOS' DISPLAY BY NAME encabezado AFTER INPUT END INPUT CONSTRUCT criterio ON a.tipo_cliente,a.sec_cliente,a.num_req,a.cotizacion_no,a.num_oc FROM tipo_cliente,sec_cliente,num_req,cotizacion_no,num_oc END CONSTRUCT ON ACTION buscar ATTRIBUTE(TEXT="Buscar",IMAGE="find") IF fecha_ini IS NOT NULL OR fecha_fin IS NOT NULL THEN LET selec = "SELECT a.fecha,a.us_crea, cast(a.sec_vend as varchar)+' '+a.nombreVendedor, a.tipo_cliente,a.sec_cliente, a.nombreCliente, a.num_req, a.limite_cr , a.monto_cotizacion,a.balance, a.estado, CASE WHEN a.tipo_doc_ref= 'EV' THEN 'FUNCION EVALUA CLIENTE' WHEN a.tipo_doc_ref='AV' THEN 'AVANCE A COTIZACION' WHEN a.tipo_doc_ref='RQ' THEN 'REQUISICION DESPACHOS' END , a.factura, a.fecha_vence , a.descrip_estado , a.num_recibo, CASE WHEN a.tipo_doc = 'AV' THEN 'AVANCE A COTIZACION' WHEN a.tipo_doc = 'PG' THEN 'PAGO FACTURAS' ELSE 'OTRO' END, a.monto_avance,a.valor_cotizacion , a.cotizacion_no,a.num_oc FROM cctb00031 a WHERE ", " a.fecha between '",fecha_ini USING 'yyyy-mm-dd',"' AND '",fecha_fin USING 'yyyy-mm-dd',"' AND ", CRITERIO CLIPPED, " ORDER BY a.fecha" DISPLAY "en fecha" ELSE LET selec = "SELECT a.fecha,a.us_crea, cast(a.sec_vend as varchar)+' '+a.nombreVendedor, a.tipo_cliente,a.sec_cliente, a.nombreCliente, a.num_req, a.limite_cr , a.monto_cotizacion,a.balance, a.estado, CASE WHEN a.tipo_doc_ref= 'EV' THEN 'FUNCION EVALUA CLIENTE' WHEN a.tipo_doc_ref='AV' THEN 'AVANCE A COTIZACION' WHEN a.tipo_doc_ref='RQ' THEN 'REQUISICION DESPACHOS' END , a.factura, a.fecha_vence , a.descrip_estado , a.num_recibo, CASE WHEN a.tipo_doc = 'AV' THEN 'AVANCE A COTIZACION' WHEN a.tipo_doc = 'PG' THEN 'PAGO FACTURAS' ELSE 'OTRO' END, a.monto_avance,a.valor_cotizacion , a.cotizacion_no,a.num_oc FROM cctb00031 a WHERE ",CRITERIO CLIPPED, " ORDER BY a.fecha" END IF PREPARE comando FROM selec DECLARE buscar CURSOR FOR comando LET idx = 1 FOREACH buscar INTO arr_data[idx].* LET idx = idx + 1 END FOREACH DISPLAY ARRAY arr_data TO sdata.* END DISPLAY ON ACTION CANCEL CLEAR FORM CALL arr_data.clear() EXIT DIALOG END DIALOG CLOSE WINDOW w1 END FUNCTION