{ ------------------------------------------------------------------------------- PROGRAMA : INPRRP037 OBJETIVO : Diferencia En Conteo Por Grupo del Inventario Fisico de Fin de Ano PROGRAMADOR : Tadeo A. Ferreras F. FECHA REALIZACION : Diciembre 13, 1995 ------------------------------------------------------------------------------- } globals "inprgb000.4gl" DEFINE datos_37 RECORD cod_n LIKE intb00026.cod_n, cod_grupo LIKE intb00026.cod_grupo, cod_tipo LIKE intb00026.cod_tipo, cod_sec LIKE intb00026.cod_sec, descrip_esp LIKE intb00001.descrip_esp, unidad_med LIKE intb00001.unidad_med, cantidad_a LIKE intb00026.cantidad_a, cantidad_b LIKE intb00026.cantidad_b END RECORD, fecha DATE FUNCTION inprrp037() DEFINE idx_c SMALLINT DEFINE salir CHAR(1) DEFINE mes CHAR(2) #WHENEVER ERROR CONTINUE OPTIONS FORM LINE 8, ERROR LINE 23, COMMENT LINE 21 CLEAR SCREEN OPEN FORM infmrp037 FROM "infmrp036" DISPLAY FORM infmrp037 CALL pantalla() DISPLAY "inprrp037" AT 4,3 DISPLAY "Direncia Conteo Grupo A y Grupo B" AT 6,23 LET tipo_papel = 1 CALL msgrp000(tipo_papel) INPUT BY NAME fecha,decide AFTER FIELD decide IF decide IS NULL THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD decide END IF AFTER FIELD fecha IF fecha IS NULL THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD fecha END IF END INPUT IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF IF decide = "M" THEN LET selec = "SELECT a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,c.descrip_esp, ", " c.unidad_med,SUM(a.cantidad_a),SUM(a.cantidad_b) ", "FROM intb00026 a,intb00001 c ", "WHERE a.cod_n = c.cod_n AND a.cod_grupo = c.cod_grupo AND ", " a.cod_tipo = c.cod_tipo AND a.cod_sec = c.cod_sec AND ", " a.status_t is null AND a.fecha = ? AND a.cod_n = 1 ", "GROUP BY 1,2,3,4,5,6 ORDER BY 1,2,3,4 " ELSE LET selec = "SELECT a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,c.descrip_esp, ", " c.unidad_med,SUM(a.cantidad_a),SUM(a.cantidad_b) ", "FROM intb00026 a,intb00001 c ", "WHERE a.cod_n = c.cod_n AND a.cod_grupo = c.cod_grupo AND ", " a.cod_tipo = c.cod_tipo AND a.cod_sec = c.cod_sec AND ", " a.status_t is null AND a.fecha=? AND a.cod_n IN (3,6,9) ", "GROUP BY 1,2,3,4,5,6 ORDER BY 1,2,3,4 " END IF DISPLAY "<< Estoy Buscando Informacion... Espere Por favor >>" AT 19,14 ATTRIBUTE (REVERSE) PREPARE comando FROM selec DECLARE busca SCROLL CURSOR FOR comando OPEN busca USING fecha DISPLAY " " AT 19,14 START REPORT reporte_37 TO "C:\\archivo" DISPLAY "<< Reporte Generandose ... Por Favor Espere. >>" AT 19,14 ATTRIBUTE (REVERSE) WHILE status != notfound FETCH busca INTO datos_37.* IF status = notfound THEN EXIT WHILE END IF IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF IF datos_37.cantidad_a IS NULL THEN LET datos_37.cantidad_a = 0 END IF IF datos_37.cantidad_b IS NULL THEN LET datos_37.cantidad_b = 0 END IF IF datos_37.cantidad_a <> datos_37.cantidad_b THEN OUTPUT TO REPORT reporte_37(datos_37.*) END IF END WHILE FINISH REPORT reporte_37 CLEAR SCREEN RUN "type C:\\archivo > %USPRINT%" END FUNCTION REPORT reporte_37(x) DEFINE x RECORD cod_n LIKE intb00026.cod_n, cod_grupo LIKE intb00026.cod_grupo, cod_tipo LIKE intb00026.cod_tipo, cod_sec LIKE intb00026.cod_sec, descrip_esp LIKE intb00001.descrip_esp, unidad_med LIKE intb00001.unidad_med, cantidad_a LIKE intb00026.cantidad_a, cantidad_b LIKE intb00026.cantidad_b END RECORD DEFINE l SMALLINT DEFINE normal,doble_on,doble_off,negrillas_on,negrillas_off,comp_on, comp_off,doce CHAR(2) DEFINE hora CHAR(5) DEFINE varia CHAR(19) OUTPUT LEFT MARGIN 2 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 031 LET comp_off = ASCII 18 LET doce = ASCII 27, ASCII 77 LET hora = time LET lj = (100 - LENGTH(p_companias.nombre CLIPPED))/2 PRINT COLUMN 1, doce,negrillas_on PRINT COLUMN 1, "inprrp037", COLUMN lj, p_companias.nombre CLIPPED, COLUMN 93, "Pag. ",pageno using "###" PRINT COLUMN 27, " Sistema de Inventario de Materia Prima", COLUMN 93, today using "dd/mm/yyyy" PRINT COLUMN 27, "Difer. Entre Grupo A y B Inventario Fin de Ano", COLUMN 96, hora SKIP 1 LINE PRINT "FECHA: ",fecha USING "dd/mm/yyyy" PRINT COLUMN 1, "--------------------------------------------------", "--------------------------------------------------" PRINT COLUMN 61, "Cantidades" PRINT COLUMN 1, "Bien Y/o Servicio", COLUMN 55, "Grupo A", COLUMN 71, "Grupo B", COLUMN 87, "Diferencia A-B" PRINT COLUMN 1, "--------------------------------------------------", "--------------------------------------------------" ON EVERY ROW PRINT COLUMN 1, x.cod_n USING "&","-",x.cod_grupo USING "&","-", x.cod_tipo USING "&&","-",x.cod_sec USING "&&&"," ", x.descrip_esp," ",x.unidad_med, COLUMN 48, x.cantidad_a USING "###,###,###.##", COLUMN 64, x.cantidad_b USING "###,###,###.##", COLUMN 88, x.cantidad_a - x.cantidad_b USING "##,###,###.##" ON LAST ROW SKIP 1 LINE PRINT normal END REPORT