{ ------------------------------------------------------------------------------- PROGRAMA : IPPRRP008 OBJETIVO : TIPOS DE MOVIMIENTOS Producto Terminados PROGRAMADOR : Juan Fco. Soto FECHA REALIZACION : Febrero 1997 DIRECTOR PROYECTO : JOSE ALFREDO PAULINO ALEJO ------------------------------------------------------------------------------- } GLOBALS "ipprgb000.4gl" MAIN DEFER INTERRUPT SELECT * INTO p_companias.* FROM companias CALL ipprrp008() END MAIN FUNCTION ipprrp008() DEFINE tipo RECORD cod_mov LIKE iptb00005.cod_mov, descrip_mov LIKE iptb00005.descrip_mov, status_mov LIKE iptb00005.status_mov, cuenta_1 LIKE iptb00005.cuenta_1, cuenta_2 LIKE iptb00005.cuenta_2, cuenta_3 LIKE iptb00005.cuenta_3 END RECORD WHENEVER ERROR CONTINUE OPTIONS FORM LINE 8, ERROR LINE 23, COMMENT LINE 21 CLEAR SCREEN OPEN FORM ipfmrp008 FROM "ipfmrp008" DISPLAY FORM ipfmrp008 CALL pantalla() DISPLAY "ipprrp008" 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 iptb00005.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 iptb00005 ", "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 iptb00005 ", "WHERE ",criterio clipped," AND status_t is null ", "ORDER BY 1,3" END IF IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF DISPLAY "<< Buscando Informacion ... Espere Por Favor. >>" AT 19,14 ATTRIBUTE(REVERSE,BOLD) 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 "<< >>" AT 19,14 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 iptb00005.cod_mov, descrip_mov LIKE iptb00005.descrip_mov, status_mov LIKE iptb00005.status_mov, cuenta_1 LIKE iptb00005.cuenta_1, cuenta_2 LIKE iptb00005.cuenta_2, cuenta_3 LIKE iptb00005.cuenta_3 END RECORD DEFINE l INTEGER DEFINE doble_on CHAR(2) DEFINE doble_off CHAR(2) DEFINE negrillas_on CHAR(2) DEFINE negrillas_off CHAR(2) DEFINE comp_on CHAR(2) DEFINE comp_off CHAR(2) DEFINE doce CHAR(3) DEFINE hora CHAR(5) OUTPUT TOP MARGIN 0 LEFT MARGIN 1 ORDER BY x.status_mov,x.cod_mov 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 030 LET hora = time LET l = (80 - LENGTH(p_companias.nombre CLIPPED))/2 PRINT COLUMN 1, comp_off,negrillas_on PRINT COLUMN 1, "ipprrp008", COLUMN l, p_companias.nombre CLIPPED, COLUMN 76, "Pag. ",pageno using "###" PRINT COLUMN 1, COLUMN 21, " Sistema de Inventario Producto Terminado", COLUMN 76, today using "dd/mm/yy" PRINT COLUMN 1, COLUMN 21, " Tipos de Movimientos", COLUMN 79, hora SKIP 1 LINE PRINT COLUMN 1, "--------------------------------------------------", "----------------------------------" PRINT COLUMN 1, "Movimiento", COLUMN 45, "Status", COLUMN 52, "Cuenta_1", COLUMN 64, "Cuenta_2", COLUMN 76, "Cuenta_3" PRINT COLUMN 1, "--------------------------------------------------", "----------------------------------" PRINT COLUMN 1,negrillas_off BEFORE GROUP OF x.status_mov IF x.status_mov = "1" THEN PRINT COLUMN 1, negrillas_on PRINT COLUMN 1, "ENTRADAS",negrillas_off END IF IF x.status_mov = "2" THEN PRINT COLUMN 1, negrillas_on PRINT COLUMN 1, "SALIDAS",negrillas_off END IF ON EVERY ROW PRINT COLUMN 1, x.cod_mov using "###"," ",x.descrip_mov CLIPPED, COLUMN 48, x.status_mov, COLUMN 52, x.cuenta_1, COLUMN 64, x.cuenta_2, COLUMN 76, 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