{ ------------------------------------------------------------------------------ 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 "smarmotech" 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