{ ------------------------------------------------------------------------------ PROGRAMA : CGPRMT011 OBJETIVO : Mantenimiento de Conciliaciones Bancarias PROGRAMADOR : Ing. Juan F. Soto FECHA REALIZACION : Diciembre 28, 1993. ------------------------------------------------------------------------------ } GLOBALS "cgprgb000.4gl" DEFINE concilia RECORD cuenta_no CHAR(8), descripcion LIKE cgtb00001.descripcion, cheque_no INTEGER, fecha DATE, portador LIKE cgtb00005.portador, monto LIKE cgtb00005.monto, status_t CHAR(1), us_crea CHAR(9), fech_crea LIKE cgtb00005.fech_crea, us_mod CHAR(9), fech_mod LIKE cgtb00005.fech_crea END RECORD DEFINE cuenta_no1 CHAR (8) DEFINE descrip_st CHAR (15) 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 SELECT a.* INTO p_compania.* FROM companias a CALL cgprmt011() END MAIN FUNCTION cgprmt011() OPTIONS FORM LINE 9, ERROR LINE 24, COMMENT LINE 23 #CALL pantalla() OPEN FORM cgfmmt011 FROM "cgfmmt011" DISPLAY FORM cgfmmt011 DISPLAY "cgprmt011" AT 4,3 DISPLAY "Conciliacion Bancaria" AT 6,30 CLEAR FORM MENU "OPCION" COMMAND "Conciliar" " Conciliacion Cancela Operacion" LET int_flag = false CALL cgpcad11() COMMAND "Salir" EXIT MENU END MENU END FUNCTION FUNCTION cgpcad11() # Captura de informacion INITIALIZE concilia.* TO NULL INPUT BY NAME concilia.* WITHOUT DEFAULTS ATTRIBUTE (blue ) BEFORE FIELD cuenta_no LET concilia.cuenta_no = cuenta_no1 DISPLAY BY NAME concilia.cuenta_no AFTER FIELD cuenta_no IF concilia.cuenta_no is not null THEN SELECT UNIQUE a.descripcion INTO concilia.descripcion FROM cgtb00001 a, cgtb00012 b WHERE a.cuenta_no =b.cuenta_no AND a.cuenta_no = concilia.cuenta_no AND a.status_t is null # Chequeo si el registro existe, si existe desplega las informaciones IF status = notfound THEN LET numero_msg = 12 CALL msg(numero_msg) DISPLAY BY NAME concilia.* INITIALIZE concilia.* TO NULL NEXT FIELD cuenta_no END IF DISPLAY BY NAME concilia.descripcion END IF LET cuenta_no1 = concilia.cuenta_no AFTER FIELD cheque_no IF concilia.cheque_no is null THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD cheque_no END IF SELECT a.fecha,a.portador,a.monto,a.status_t,a.us_crea,a.fech_crea, a.us_mod,a.fech_mod INTO concilia.fecha,concilia.portador,concilia.monto,concilia.status_t, concilia.us_crea,concilia.fech_crea,concilia.us_mod,concilia.fech_mod FROM cgtb00005 a WHERE a.cuenta_no = concilia.cuenta_no and a.cheque_no = concilia.cheque_no IF status = notfound THEN LET numero_msg = 177 CALL msg(numero_msg) NEXT FIELD cheque_no END IF #----------------------------------------- # Iniciliza el Status con C #----------------------------------------- #LET concilia.status_t ="C" LET descrip_st = null CASE WHEN concilia.status_t = "E" LET descrip_st = "ELIMINADO" LET numero_msg = 1001 CALL msg(numero_msg) NEXT FIELD cheque_no EXIT CASE WHEN concilia.status_t = "C" LET descrip_st = "CONCILIADO" LET numero_msg = 1000 CALL msg(numero_msg) NEXT FIELD cheque_no EXIT CASE END CASE Let concilia.status_t = "C" DISPLAY BY NAME concilia.fecha,concilia.portador,concilia.monto, concilia.status_t,descrip_st,concilia.fech_crea, concilia.us_crea,concilia.us_mod,concilia.fech_mod # IF concilia.status_t IS NOT NULL OR concilia.status_t != " " THEN # RETURN # END IF AFTER FIELD status_t IF concilia.status_t IS NOT NULL THEN IF concilia.status_t != "C" THEN LET numero_msg = 34 CALL msg(numero_msg) NEXT FIELD status_t END IF LET descrip_st = "CONCILIADO" DISPLAY BY NAME descrip_st END IF AFTER INPUT IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = false RETURN END IF UPDATE cgtb00005 set (status_t,us_mod,fech_mod) = (concilia.status_t,SUSER_SNAME(),GETDATE()) WHERE cheque_no = concilia.cheque_no and cuenta_no = concilia.cuenta_no CALL integridad() IF bandera = 1 THEN LET bandera = 0 RETURN END IF LET numero_msg = 1 CALL msg(numero_msg) INITIALIZE concilia.* TO NULL CLEAR FORM NEXT FIELD cuenta_no EXIT INPUT END INPUT END FUNCTION