{ ------------------------------------------------------------------------------- PROGRAMA : INPRRP008 OBJETIVO : TIPOS DE MOVIMIENTOS PROGRAMADOR : Ing. Betania Guerrero Perez FECHA REALIZACION : Septiembre 29, 1992 ------------------------------------------------------------------------------- } GLOBALS "inprgb000.4gl" MAIN DEFER INTERRUPT SELECT * INTO p_companias.* FROM companias CALL inprrp008() END MAIN FUNCTION inprrp008() DEFINE tipo RECORD cod_mov LIKE intb00005.cod_mov, descrip_mov LIKE intb00005.descrip_mov, status_mov LIKE intb00005.status_mov, cuenta_1 LIKE intb00005.cuenta_1, cuenta_2 LIKE intb00005.cuenta_2, cuenta_3 LIKE intb00005.cuenta_3 END RECORD WHENEVER ERROR CONTINUE OPTIONS FORM LINE 8, ERROR LINE 23, COMMENT LINE 21 CLEAR SCREEN OPEN FORM infmrp008 FROM "infmrp008" DISPLAY FORM infmrp008 CALL pantalla() DISPLAY "inprrp008" AT 4,3 DISPLAY "Tipos de Movimientos" AT 6,30 LET tipo_papel = 1 CALL msgrp000(tipo_papel) IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF INPUT BY NAME decide AFTER FIELD decide IF decide IS NULL THEN NEXT FIELD decide END IF END INPUT CONSTRUCT criterio ON intb00005.cod_mov FROM cod_mov IF decide = "A" THEN LET SELEC = "SELECT cod_mov,descrip_mov,status_mov,cuenta_1,cuenta_2,cuenta_3 ", "FROM intb00005 ", "WHERE ",criterio clipped," AND status_t is null ORDER BY 3,2" ELSE LET SELEC = "SELECT cod_mov,descrip_mov,status_mov,cuenta_1,cuenta_2,cuenta_3 ", "FROM intb00005 ", "WHERE ",criterio clipped," AND status_t is null ORDER BY 3,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 "C:\\archivo" FOREACH accion INTO tipo.* IF status = NOTFOUND THEN EXIT FOREACH ELSE OUTPUT TO REPORT movimiento(tipo.*) END IF END FOREACH FINISH REPORT movimiento CLEAR SCREEN RUN "type C:\\archivo > %USPRINT%" END FUNCTION REPORT movimiento(x) DEFINE x RECORD cod_mov LIKE intb00005.cod_mov, descrip_mov LIKE intb00005.descrip_mov, status_mov LIKE intb00005.status_mov, cuenta_1 LIKE intb00005.cuenta_1, cuenta_2 LIKE intb00005.cuenta_2, cuenta_3 LIKE intb00005.cuenta_3 END RECORD DEFINE doble_on CHAR(2) DEFINE doble_off CHAR(2) DEFINE negrillas_on CHAR(2) DEFINE negrillas_off CHAR(2) DEFINE comp_on CHAR(3) DEFINE comp_off CHAR(2) DEFINE doce CHAR(3) DEFINE hora CHAR(5) OUTPUT TOP MARGIN 0 LEFT MARGIN 1 FORMAT PAGE HEADER LET doble_on = ASCII 14 LET doble_off = ASCII 20 LET negrillas_on = ASCII 27, ASCII 69 LET negrillas_off = ASCII 27, ASCII 70 LET comp_on = ASCII 15 LET comp_off = ASCII 18 LET doce = ASCII 27, ASCII 77 LET hora = time LET lj = (80 - LENGTH(p_companias.nombre CLIPPED))/2 PRINT ASCII 27, ASCII 80 PRINT COLUMN 1 ,comp_off,doce PRINT COLUMN 1, "inprrp008", COLUMN lj, p_companias.nombre CLIPPED, COLUMN 73, "Pag. ",pageno using "###" PRINT COLUMN 21, "Sistema de Inventario de Materia Prima", COLUMN 73, today using "dd/mm/yyyy" PRINT COLUMN 30, "Tipos de Movimientos", COLUMN 76, hora SKIP 1 LINE PRINT COLUMN 1, "----------------------------------------------------", "----------------------------" PRINT COLUMN 1, "Codigo", COLUMN 9, "Descripcion del Movimiento", COLUMN 51, "Cuenta_1", COLUMN 61, "Cuenta_2", COLUMN 71, "Cuenta_3" PRINT COLUMN 1, "----------------------------------------------------", "----------------------------" BEFORE GROUP OF x.status_mov IF x.status_mov = 1 THEN PRINT "ENTRADAS" ELSE PRINT "SALIDAS" END IF ON EVERY ROW PRINT COLUMN 3, x.cod_mov using "<<", COLUMN 9, x.descrip_mov, COLUMN 52, x.cuenta_1, COLUMN 62, x.cuenta_2, COLUMN 72, x.cuenta_3 AFTER GROUP OF x.status_mov SKIP 1 LINE PRINT COLUMN 3, "Total de Registros Por Status = ", GROUP COUNT(*) USING "####" SKIP 1 LINE ON LAST ROW SKIP 1 LINE PRINT COLUMN 3, "Total de Registros Impresos = ", COUNT(*) USING "####" PRINT COLUMN 3, ASCII 27, ASCII 80 PAGE TRAILER PRINT COLUMN 3, "STATUS: 1 = POSITIVO 2 = NEGATIVO" PRINT COLUMN 3, ASCII 27, ASCII 80 END REPORT