Files
MBS/PROYECTOS/isdir/isprrp008.4gl
T

178 lines
5.0 KiB
Plaintext

{
-------------------------------------------------------------------------------
PROGRAMA : ISPRRP008
OBJETIVO : TIPOS DE MOVIMIENTOS
PROGRAMADOR : Ing. Juan Soto
FECHA REALIZACION : Octubre 21, 1993
-------------------------------------------------------------------------------
}
GLOBALS "isprgb000.4gl"
FUNCTION isprrp008()
DEFINE tipo RECORD
cod_mov LIKE istb00005.cod_mov,
descrip_mov LIKE istb00005.descrip_mov,
status_mov LIKE istb00005.status_mov,
cuenta_1 LIKE istb00005.cuenta_1,
cuenta_2 LIKE istb00005.cuenta_2,
cuenta_3 LIKE istb00005.cuenta_3
END RECORD
WHENEVER ERROR CONTINUE
OPTIONS
FORM LINE 8,
ERROR LINE 23,
COMMENT LINE 21
CLEAR SCREEN
OPEN FORM isfmrp008 FROM "isfmrp008"
DISPLAY FORM isfmrp008
CALL pantalla()
DISPLAY "isprrp008" AT 4,3 ATTRIBUTE(RED)
DISPLAY "Tipos de Movimientos" AT 6,30 ATTRIBUTE(BLACK)
LET tipo_papel = 1
CALL msgrp000(tipo_papel)
CALL defecto(impresor) RETURNING imprime, letras.*, archivo
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
INPUT BY NAME decide
ON KEY(CONTROL-P)
CALL busca_printer() RETURNING imprime, letras.*, archivo
AFTER FIELD decide
IF decide IS NULL THEN
NEXT FIELD decide
END IF
END INPUT
CONSTRUCT criterio ON istb00005.cod_mov
FROM cod_mov
ON KEY(CONTROL-P)
CALL busca_printer() RETURNING imprime, letras.*, archivo
AFTER CONSTRUCT
EXIT CONSTRUCT
END CONSTRUCT
IF decide = "A" THEN
LET SELEC = "SELECT cod_mov,descrip_mov,status_mov,cuenta_1, ",
"cuenta_2,cuenta_3 ",
" FROM istb00005 ",
" WHERE ",
criterio clipped,
"AND status_t is null ",
" ORDER BY 2"
ELSE
LET SELEC = "SELECT cod_mov,descrip_mov,status_mov,cuenta_1, ",
"cuenta_2,cuenta_3 ",
" FROM istb00005 ",
" WHERE ",
criterio clipped,
"AND status_t is null ",
" ORDER BY 1"
END IF
PREPARE busca FROM selec
CALL integridad()
IF bandera = 1 THEN
LET bandera = 0
RETURN
END IF
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
DECLARE accion CURSOR FOR busca
DISPLAY "<< Reporte Generandose ... Por Favor Espere. >>"
AT 19,14 ATTRIBUTE (REVERSE)
START REPORT movimiento TO archivo
FOREACH accion INTO tipo.*
IF status = NOTFOUND THEN
EXIT FOREACH
ELSE
OUTPUT TO REPORT movimiento(tipo.*)
END IF
END FOREACH
FINISH REPORT movimiento
RUN imprime
CLEAR SCREEN
END FUNCTION
REPORT movimiento(x)
DEFINE x RECORD
cod_mov LIKE istb00005.cod_mov,
descrip_mov LIKE istb00005.descrip_mov,
status_mov LIKE istb00005.status_mov,
cuenta_1 LIKE istb00005.cuenta_1,
cuenta_2 LIKE istb00005.cuenta_2,
cuenta_3 LIKE istb00005.cuenta_3
END RECORD
DEFINE hora CHAR(5)
OUTPUT
TOP MARGIN 0
LEFT MARGIN 1
FORMAT
PAGE HEADER
LET hora = time
PRINT COLUMN 1 ,letras.doce
PRINT COLUMN 1, "isprrp008",
COLUMN 22, "R A Y . O . V A C D O M I N I C A N A, S. A.",
COLUMN 93, "Pag. ",
COLUMN 96, pageno using "###"
PRINT COLUMN 1,
COLUMN 25, "Sistema de Inventario de Suministros",
COLUMN 93, today using "dd/mm/yyyy"
PRINT COLUMN 1,
COLUMN 34, "Tipos de Movimientos",
COLUMN 96, hora
SKIP 1 LINE
PRINT COLUMN 1, "----------------------------------------------------",
"-----------------------------------------------"
PRINT COLUMN 1, "Codigo",
COLUMN 9, "Descripcion del Movimiento",
COLUMN 53, "Status",
COLUMN 61, "Cuenta_1",
COLUMN 72, "Cuenta_2",
COLUMN 83, "Cuenta_3"
PRINT COLUMN 1, "----------------------------------------------------",
"-----------------------------------------------"
ON EVERY ROW
PRINT COLUMN 3, x.cod_mov using "<<",
COLUMN 9, x.descrip_mov,
COLUMN 55, x.status_mov,
COLUMN 63, x.cuenta_1,
COLUMN 74, x.cuenta_2,
COLUMN 85, x.cuenta_3
ON LAST ROW
SKIP 1 LINE
PRINT COLUMN 3, "Total de Registros Impresos = ", count(*) USING "####"
PRINT COLUMN 3, ASCII 27, ASCII 80
END REPORT