Files
MBS/PROYECTO/ccdir/ccprcs007.4gl
T

134 lines
4.5 KiB
Plaintext

{
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