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