{ ------------------------------------------------------------------------------- PROGRAMA : INPRRP036 OBJETIVO : Etiquetas Para Inventario Fisico de Bienes y Servicios PROGRAMADOR : Tadeo A. Ferreras F. FECHA REALIZACION : Diciembre 12, 1995 ------------------------------------------------------------------------------- } GLOBALS "inprgb000.4gl" DEFINE datos_36 RECORD cod_n LIKE intb00001.cod_n, cod_grupo LIKE intb00001.cod_grupo, cod_tipo LIKE intb00001.cod_tipo, cod_sec LIKE intb00001.cod_sec, descrip_esp LIKE intb00001.descrip_esp, unidad_med LIKE intb00001.unidad_med, codigo CHAR(10) END RECORD, fecha DATE FUNCTION inprrp036() #WHENEVER ERROR CONTINUE OPTIONS FORM LINE 9, ERROR LINE 23, COMMENT LINE 21 CLEAR SCREEN OPEN FORM infmrp036 FROM "infmrp036" DISPLAY FORM infmrp036 CALL pantalla() DISPLAY "inprrp036" AT 4,3 DISPLAY "Etiquetas Para Inventario Fisico" AT 6,24 ## Chequea que el papel para la impresion sea el indicado LET tipo_papel = 1 CALL msgrp000(tipo_papel) INPUT BY NAME fecha,decide AFTER FIELD fecha IF fecha IS NULL THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD fecha END IF AFTER FIELD decide IF decide IS NULL THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD decide END IF END INPUT IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF ## Aqui se prepara el criterio de seleccion IF decide = "M" THEN LET SELEC = "SELECT a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,a.descrip_esp, ", " a.unidad_med ", "FROM intb00001 a ", "WHERE a.status_t is NULL AND a.cod_n = 1 ORDER BY 1,2,3,4" END IF IF decide = "T" THEN LET SELEC = "SELECT a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,a.descrip_esp, ", " a.unidad_med ", "FROM intb00001 a ", "WHERE a.status_t is NULL AND a.cod_n IN(3,6,9) ORDER BY 1,2,3,4" END IF IF decide = "S" THEN LET SELEC = "SELECT a.cod_prod,a.cod_prod,a.cod_prod,a.cod_prod,a.descripcion, ", " a.unidad_med ", "FROM cttb00001 a ", "WHERE a.status_t is NULL ORDER BY 1" END IF DISPLAY "Buscando Informacion ... Espere Por Favor" AT 24,2 ATTRIBUTE (BOLD) ## Verifica si el usuario presiono la tecla PREPARE busca FROM selec DECLARE accion CURSOR FOR busca DISPLAY " " AT 24,2 DISPLAY "<< Reporte Generandose ... Por Favor Espere. >>" AT 19,14 ATTRIBUTE (REVERSE) START REPORT reporte_36 TO "etiquetas" FOREACH accion INTO datos_36.* LET datos_36.codigo = datos_36.cod_n USING "&","-", datos_36.cod_grupo USING "&","-", datos_36.cod_tipo USING "&&","-", datos_36.cod_sec USING "&&&" IF decide = "S" THEN LET datos_36.codigo = datos_36.cod_n USING "&&&&" END IF OUTPUT TO REPORT reporte_36(datos_36.*) END FOREACH FINISH REPORT reporte_36 RUN "lp -dlpt1 etiquetas" CLEAR SCREEN RUN "type C:\\archivo > %USPRINT%" END FUNCTION REPORT reporte_36(x) DEFINE x RECORD cod_n LIKE intb00001.cod_n, cod_grupo LIKE intb00001.cod_grupo, cod_tipo LIKE intb00001.cod_tipo, cod_sec LIKE intb00001.cod_sec, descrip_esp LIKE intb00001.descrip_esp, unidad_med LIKE intb00001.unidad_med, codigo CHAR(10) 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(2) DEFINE hora CHAR(5) OUTPUT LEFT MARGIN 1 ## Prepara el formato de impresion para el encabezado y el detalle 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 PRINT COLUMN 3, negrillas_on,comp_on BEFORE GROUP OF x.codigo SKIP 6 LINE ON EVERY ROW PRINT COLUMN 13, x.codigo, COLUMN 44, fecha USING "dd/mm/yyyy" SKIP 1 LINE PRINT COLUMN 13, x.descrip_esp SKIP 1 LINE PRINT COLUMN 38, x.unidad_med SKIP 7 LINE PRINT COLUMN 13, x.codigo, COLUMN 44, fecha USING "dd/mm/yyyy" SKIP 1 LINE PRINT COLUMN 13, x.descrip_esp SKIP 1 LINE PRINT COLUMN 38, x.unidad_med SKIP 19 LINE PRINT COLUMN 13, x.codigo, COLUMN 44, fecha USING "dd/mm/yyyy" SKIP 1 LINE PRINT COLUMN 13, x.descrip_esp SKIP 1 LINE PRINT COLUMN 38, x.unidad_med AFTER GROUP OF x.codigo SKIP TO TOP OF PAGE ON LAST ROW PRINT comp_off,negrillas_off END REPORT