{
----------------------------------------------------------------
 PROGRAMA          : TEMNMT000
 OBJETIVO          : Menu de Mantenimiento del Sistema de tesoreria
 PROGRAMADOR       : Ing. Juan F. Soto.         
 FECHA REALIZACION : Junio 15, 1993.      
----------------------------------------------------------------
}

GLOBALS "teprgb000.4gl"
MAIN
 DEFER INTERRUPT
 CALL pantalla()
 CALL temnmt000()
END MAIN

FUNCTION temnmt000()
OPTIONS 
    PROMPT LINE 8, 
    MESSAGE LINE 24 
    CLEAR SCREEN 
    CALL pantalla()

    DISPLAY "         Mantenimientos            " AT 6,24 ATTRIBUTE(BLACK)
    DISPLAY "temnmt000"                            AT 4,3 ATTRIBUTE(RED)
    DISPLAY "1-Registro de Depositos           teprmt001" AT 10,2 
    DISPLAY "2-Maestra de Procedencias         teprmt002" AT 11,2 
    DISPLAY "3-Comisiones Vendedores Anterior  teprmt003" AT 12,2 
    DISPLAY "4-Maestra Partidas Cash-Flow      teprmt004" AT 13,2 
    DISPLAY "5-Estimado de Partidas Cash-Flow  teprmt005" AT 14,2 
    DISPLAY "6-Histor. Real Partidas Cash-Flow teprmt006" AT 15,2 
    DISPLAY "7-Bace. Final Partidas Cash Flow  teprmt007" AT 16,2 
    DISPLAY "8-Actual. Relacion Cash Flow/CK.  teprmt008" AT 17,2 
    DISPLAY "9-Asigna Comisiones A Vededores   teprmt022" AT 18,2 
    DISPLAY "10-Comisiones Vigentes            teprmt010" AT 19,2 
    DISPLAY "11-Asignacion Vend.      teprmt011" AT 10,46 
    DISPLAY "S- Retorna Menu Anterior         " AT 20,28  
                ATTRIBUTE (BLACK)

    LABEL vuelve:
    LET opcion = NULL 
    PROMPT " OPCION: " FOR opcion 
    LET opcion = opcion clipped 
    LET opcion = UPSHIFT(opcion) 

       IF opcion != "S" THEN
           CALL seg000(opcion,"temnmt000") RETURNING luz
           IF luz = "roja" THEN
              ERROR "NO TIENE PERMISO PARA UTILIZAR OPCION"
             GOTO vuelve
           END IF
       END IF
    CASE     
       WHEN opcion = "1"
            CALL teprmt001()
            CALL temnmt000()
       WHEN opcion = "2"
            CALL teprmt002()
            CALL temnmt000()
       WHEN opcion = "3"
            CALL teprmt003()
            CALL temnmt000()
       WHEN opcion = "4"
            CALL teprmt004()
            CALL temnmt000()
       WHEN opcion = "5"
            CALL teprmt005()
            CALL temnmt000()
       WHEN opcion = "6"
            CALL teprmt006()
            CALL temnmt000()
       WHEN opcion = "7"
            CALL teprmt007()
            CALL temnmt000()
       WHEN opcion = "8"
            CALL teprmt008()
            CALL temnmt000()
       WHEN opcion = "9"
            CALL teprmt022()
            CALL temnmt000()
       WHEN opcion = "10"
            CALL teprmt010()
            CALL temnmt000()
       WHEN opcion = "11"
            CALL teprmt011()
            CALL temnmt000()
       WHEN opcion = "S" or opcion = "s" 
            RETURN
       OTHERWISE 
            CALL temnmt000()
    END CASE

END FUNCTION

FUNCTION pantalla() 
    DEFINE fecha CHAR(8),
           hora char(5) 
    LET fecha = today USING "dd/mm/yy"  
    LET hora = time
    DISPLAY " R A Y . O . V A C  D O M I N I C A N A " AT 4,19
            ATTRIBUTE (REVERSE,BLUE)
    DISPLAY fecha AT 4,70 ATTRIBUTE (RED)
    DISPLAY "     Sistema de Tesoreria    " AT 5,25 ATTRIBUTE(RED)
    DISPLAY hora AT 6,73 ATTRIBUTE(RED)

    CALL fgl_drawbox(5,79,3,1)
    CALL fgl_drawbox(1,79,22,1)
END FUNCTION  

FUNCTION integridad()
         IF sqlca.sqlcode <  0 THEN
            LET numero_msg = sqlca.sqlcode
            CALL msg(numero_msg)
            DISPLAY numero_msg AT 23,70
            LET bandera = 1    
            LET status = 0
            SLEEP 2
            RETURN
        END IF
   RETURN
END FUNCTION

FUNCTION prd()

LET a_ano = year(p_fechas)
LET mes_control = MONTH(today)
LET mes_calc = mes_control

IF mes_calc = 01 THEN
  LET mes_calc = 13
  LET a_ano = year(today - 32)
END IF

#Aqui la funcion se posicionaba en dos meses para el control del documento
#LET mes_calc = mes_calc - 2

IF mes_calc <= 0 THEN
  LET mes_calc = 12
  LET a_ano = year(today) - 1
END IF

LET c_ano = year(today)
{IF a_ano != c_ano THEN
   LET numero_msg = 59
   CALL msg(numero_msg)
   LET bandera = 1
   RETURN
END IF}

SELECT MIN(fecha_corte) INTO fecha_c FROM prdtable
WHERE fecha_corte >= p_fechas 

SELECT MIN(dias_gracia) INTO dia FROM prdtable
WHERE fecha_corte = fecha_c   

IF status = notfound THEN
   LET numero_msg = 58
   CALL msg(numero_msg)
   LET bandera = 1
END IF

 IF dia IS NULL THEN
    LET dia = 0
 END IF
SELECT a.usuario FROM seg0003 a
WHERE a.usuario = USER

IF status != notfound THEN
   LET fecha_c = fecha_c + dia
END IF
 LET comp_fech = fecha_c
 LET comp_fech1 = TODAY

  IF comp_fech < comp_fech1 THEN
     LET numero_msg = 57
     CALL msg(numero_msg)
     LET bandera = 1
 END IF

END FUNCTION
