{ ------------------------------------------------------------------------------- PROGRAMA : NOPRRP023 OBJETIVO : Formulario Para Entrada de la Cooperativa. PROGRAMADOR : Tadeo A. Ferreras FECHA REALIZACION : Agosto 25, 1993 ------------------------------------------------------------------------------- } GLOBALS "noprgb000.4gl" FUNCTION noprrp023() ## SE DEFINE EL REGISTRO DE BUSQUEDA CON LOS CAMPOS NECESARIOS PARA EL REPORTE DEFINE list_empl RECORD num_emp SMALLINT, nom1_emp CHAR(15), nom2_emp CHAR(15), apell1_emp CHAR(15), pell2_emp CHAR(15) END RECORD DEFINE nomina CHAR(1) #WHENEVER ERROR CONTINUE OPTIONS FORM LINE 8, ERROR LINE 23, COMMENT LINE 21 CLEAR SCREEN OPEN FORM nofmrp023 FROM "nofmrp023" DISPLAY FORM nofmrp023 CALL pantalla() DISPLAY "noprrp023" AT 4,3 DISPLAY "Formulario Para Entrada de Cooperativa" AT 6,25 ## 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) INPUT BY NAME nomina AFTER FIELD nomina IF nomina IS NULL THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD nomina END IF END INPUT IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF ## SE SELECCIONAN LOS CAMPOS NECESARIOS PARA EL REPORTE IF nomina = "Q" THEN LET SELEC = "SELECT a.num_emp,a.nom1_emp,a.nom2_emp,a.apell1_emp,a.apell2_emp ", "FROM adtb00003 a WHERE (a.status_t IS NULL OR a.status_t = 'I') ", "AND a.nomina in ('Q','V') ", " ORDER BY 1 " ELSE LET SELEC = "SELECT a.num_emp,a.nom1_emp,a.nom2_emp,a.apell1_emp,a.apell2_emp ", "FROM adtb00003 a WHERE (a.status_t IS NULL OR a.status_t = 'I') ", "AND a.nomina = 'S' ", "ORDER BY 1 " END IF DISPLAY "Buscando Informacion ... Espere Por Favor" AT 19,14 ATTRIBUTE (REVERSE,BOLD) ## AQUI SE PREPARA LA INFORMACION SELECCIONADA PREPARE busca FROM selec DECLARE accion CURSOR FOR busca START REPORT empla23 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_empl.* IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF OUTPUT TO REPORT empla23(list_empl.*) END FOREACH FINISH REPORT empla23 CLEAR SCREEN RUN "type C:\\archivo > %USPRINT%" END FUNCTION ## AQUI SE DEFINE EL REGISTRO DE IMPRESION CON LOS CAMPOS NECESARIOS PARA ## EL REPORTE REPORT empla23(x) DEFINE x RECORD num_emp SMALLINT, nom1_emp CHAR(15), nom2_emp CHAR(15), apell1_emp CHAR(15), apell2_emp CHAR(15) 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 = (135 - LENGTH(varia))/2 ## AQUI SE INDICA LA IMPRESION DE LOS ENCABEZADOS PRINT COLUMN 2, comp_on,"noprrp023", COLUMN 46, p_companias.nombre CLIPPED, COLUMN 128, "Pag. ",pageno using "###" PRINT COLUMN 1, COLUMN 46, " Sistema de Nomina", COLUMN 128, today using "dd/mm/yy" PRINT COLUMN 1," ", COLUMN 44, "Formulario Para Control Entrada a Cooperativa", COLUMN 134, hora PRINT COLUMN 1, "--------------------------------------------------", "--------------------------------------------------", "-----------------------------------------" PRINT COLUMN 1, "|", COLUMN 40, "| AHORRO", COLUMN 59, "| -PRESTAMOS-", COLUMN 83, "| CAFETERIA ", COLUMN 116, "| FARAMACIA" , COLUMN 141, "|" PRINT COLUMN 1, "--------------------------------------------------", "--------------------------------------------------", "-----------------------------------------" PRINT COLUMN 1, "| Ficha Nobre del Empleado", COLUMN 40, "| Cuota ", COLUMN 59, "| Monto", COLUMN 74, "|Cuota", COLUMN 83, "| Desayuno", COLUMN 98, "| Almuerzo", COLUMN 116, "| Monto", COLUMN 129, "| Cuota", COLUMN 141, "|" PRINT COLUMN 1, "--------------------------------------------------", "--------------------------------------------------", "-----------------------------------------" ## AQUI SE INDICA LA IMPRESION DEL DETALLE ON EVERY ROW PRINT COLUMN 1, "| ",x.num_emp using "&&&&", " ", x.nom1_emp CLIPPED, " ",x.apell1_emp CLIPPED, COLUMN 40, "| ", COLUMN 59, "| ", COLUMN 74, "|", COLUMN 83, "|", COLUMN 98, "| ", COLUMN 116, "| ", COLUMN 129, "| ", COLUMN 141, "|" PRINT COLUMN 1, "--------------------------------------------------", "--------------------------------------------------", "-----------------------------------------" ON LAST ROW skip 1 line PRINT COLUMN 2, "Total de Registros Impresos = ",count(*) using "###", comp_off END REPORT