{ ------------------------------------------------------------------------------- PROGRAMA : NOPRRP004 OBJETIVO : Validacion codigos de movimientos con su descripcion PROGRAMADOR : Tadeo A. Ferreras FECHA REALIZACION : Agosto 25, 1993 ------------------------------------------------------------------------------- } GLOBALS "noprgb000.4gl" MAIN DEFER INTERRUPT CALL ARG_VAL(1) RETURNING usuarios CALL ARG_VAL(2) RETURNING clave CONNECT to "smarmotech" USER usuarios USING clave SELECT * INTO p_companias.* FROM companias --LET usuarios = 'bisaac' CALL noprrp004() END MAIN FUNCTION noprrp004() ## SE DEFINE EL REGISTRO DE BUSQUEDA CON LOS CAMPOS NECESARIOS PARA EL REPORTE DEFINE list_mov RECORD cod_mov LIKE notb00002.cod_mov, primer_enc LIKE notb00002.primer_enc, segundo_enc LIKE notb00002.segundo_enc, tercer_enc LIKE notb00002.tercer_enc , descrip_mov LIKE notb00002.descrip_mov, tipo_mov LIKE notb00002.tipo_mov, clase_mov LIKE notb00002.clase_mov, cantidad_cia LIKE notb00002.cantidad_cia, cantidad_emp LIKE notb00002.cantidad_emp END RECORD WHENEVER ERROR CONTINUE OPTIONS FORM LINE 8, ERROR LINE 23, COMMENT LINE 21 CLEAR SCREEN OPEN FORM nofmrp004 FROM "nofmrp004" DISPLAY FORM nofmrp004 CALL pantalla() DISPLAY "noprrp004" AT 4,3 DISPLAY "Catalogo de Movimientos" AT 6,28 ## INDICA EL PAPEL NECESARIO PARA IMPRIMIR EL REPORTE. 1 - PAPEL 9 1/2 X 11 ## 2 - PAPEL 14 7/8 X 11 LET tipo_papel = 1 CALL msgrp000(tipo_papel) CONSTRUCT criterio ON a.cod_mov FROM cod_mov ## SE SELECCIONAN LOS CAMPOS NECESARIOS PARA EL REPORTE LET SELEC = "SELECT a.cod_mov,a.primer_enc,a.segundo_enc,tercer_enc, ", "a.descrip_mov,a.tipo_mov,a.clase_mov,a.cantidad_cia,a.cantidad_emp ", " FROM notb00002 a ", " WHERE a.status_t IS NULL AND ",criterio CLIPPED, " ORDER BY 1,5" DISPLAY "Buscando Informacion ... Espere Por Favor" AT 19,14 ATTRIBUTE (REVERSE,BOLD) ## AQUI SE PREPARA LA INFORMACION SELECCIONADA PREPARE busca FROM selec ## DECLARACION DEL CURSOR PARA BUSCAR LA INFORMACION SELECCIONADA DECLARE accion CURSOR FOR busca DISPLAY " " AT 19,14 START REPORT movim TO "C:\\archivo" DISPLAY "<< Reporte Generandose ... Por Favor Espere. >>" AT 19,14 ATTRIBUTE (REVERSE) ## AQUI SE BUSCA LA INFORMACION DE LOS CAMPOS DEL REGISTRO PARA DARLE ## SALIDA AL REPORTE FOREACH accion INTO list_mov.* IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF OUTPUT TO REPORT movim(list_mov.*) END FOREACH FINISH REPORT movim CLEAR SCREEN RUN "type C:\\archivo > %USPRINT%" END FUNCTION ## AQUI SE DEFINE EL REGISTRO DE IMPRESION CON LOS CAMPOS NECESARIOS PARA ## EL REPORTE REPORT movim(x) DEFINE x RECORD cod_mov LIKE notb00002.cod_mov, primer_enc LIKE notb00002.primer_enc, segundo_enc LIKE notb00002.segundo_enc, tercer_enc LIKE notb00002.tercer_enc , descrip_mov LIKE notb00002.descrip_mov, tipo_mov LIKE notb00002.tipo_mov, clase_mov LIKE notb00002.clase_mov, cantidad_cia LIKE notb00002.cantidad_cia, cantidad_emp LIKE notb00002.cantidad_emp END RECORD ## DEFINICION DE LAS VARIABLES DE IMPRESION 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(2) DEFINE normal CHAR(2) DEFINE hora CHAR(5) DEFINE l SMALLINT DEFINE varia CHAR(12) OUTPUT ## DEFINICION DE LOS MARGENES DE IMPRESION TOP MARGIN 0 LEFT MARGIN 0 BOTTOM MARGIN 4 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 normal = ASCII 27, ASCII 80 LET hora = time ## SE CALCULA LA LONGITUD DE LA VARIABLE -VARIA- LET l = (82 - LENGTH(p_companias.nombre CLIPPED))/2 ## AQUI SE INDICA LA IMPRESION DE LOS ENCABEZADOS PRINT comp_off PRINT COLUMN 2, "noprrp004", COLUMN l, p_companias.nombre CLIPPED, COLUMN 75, "Pag. ",pageno using "###" PRINT COLUMN 33, "Sistema de Nomina", COLUMN 75, today using "dd/mm/yy" PRINT COLUMN 26, "Validacion de los movimientos", COLUMN 78, hora PRINT COLUMN 1, "---------------------------------------------------", "--------------------------------" PRINT COLUMN 63, "Cantidad", COLUMN 75, "Cantidad" PRINT COLUMN 2, "Movimiento", COLUMN 50, "Tipo", COLUMN 55, "Clase", COLUMN 63, "Compania", COLUMN 75, "Empleado" PRINT COLUMN 1, "---------------------------------------------------", "--------------------------------" SKIP 1 LINE ## AQUI SE INDICA LA IMPRESION DEL DETALLE ON EVERY ROW PRINT COLUMN 2,x.cod_mov USING "###"," ",x.descrip_mov CLIPPED, COLUMN 52,x.tipo_mov CLIPPED, COLUMN 57,x.clase_mov CLIPPED, COLUMN 60,x.cantidad_cia USING "###,###.##", COLUMN 72,x.cantidad_emp USING "###,###.##" ON LAST ROW skip 1 line PRINT COLUMN 2, "Total de Registros Impresos = ", count(*) using "###" END REPORT