Files
MBS/PROYECTO/indir/inprrp037.4gl
T
jpeguero efdf8953dd Reorganiza MATERIA PRIMA a PROYECTO y avanza inprmt002/005/013/046
- Mueve todo el contenido de PROYECTOS/indir y varias funciones
  compartidas de PROYECTOS/otrodir hacia PROYECTO, siguiendo
  instruccion de Johnny (PROYECTOS se va a eliminar).
- inprmt002: agrega campo Desglose faltante, corrige typo "eLiminar".
- inprmt005: agrega formulario y 3 campos faltantes (Consumo,
  Requiere Autorizacion, Requisiciones), corrige typo "eLiminar".
- inprmt013: agrega formulario, titulo, corrige typo "eLiminar".
- inprmt046: agrega formulario y varias funciones/dependencias
  faltantes (cincodmov, clasf_bloque, medidas, defecto,
  buscaEmp, consultaTransportista, busca_departamento);
  corrige nombres de campo desalineados con el codigo
  (depto_a, bodega) y los convierte a ComboBox donde el
  codigo lo requiere.
- Corrige dependencia faltante de FORMULARIOS_IN a la libreria
  Database (bloqueaba todo el modulo de MATERIA PRIMA).
2026-08-26 13:31:09 -04:00

204 lines
6.6 KiB
Plaintext

{
-------------------------------------------------------------------------------
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