Files
jpegueroandClaude Sonnet 5 b6085d4140 Mueve ipdir (Productos Terminados) de PROYECTOS a PROYECTO
Instruccion de Johnny: todos los directorios de fuentes de inventario
deben migrarse de la carpeta temporal PROYECTOS a la carpeta real
PROYECTO, ya que PROYECTOS sera eliminada.

Se elimino tambien un archivo suelto sin relacion llamado "ipdir"
que existia en PROYECTO (del commit inicial) y bloqueaba el nombre
de la carpeta.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-04 09:29:01 -04:00

265 lines
7.8 KiB
Plaintext

{
-------------------------------------------------------------------------------
PROGRAMA : IPPRRP019
OBJETIVO : REPORTE EXISTENCIA
PROGRAMADOR : Ing. Juan F. Soto
FECHA REALIZACION : Junio 5, 1999.
-------------------------------------------------------------------------------
}
GLOBALS "ipprgb000.4gl"
MAIN
DEFER INTERRUPT
SELECT * INTO p_companias.* FROM companias
CALL ipprrp019()
END MAIN
FUNCTION ipprrp019()
DEFINE mes CHAR(2)
DEFINE idx_ant,idx_cos,idx_act SMALLINT
DEFINE ano_act CHAR(4)
DEFINE salir,primera CHAR(1)
DEFINE balance_in DECIMAL(12,2)
DEFINE existe RECORD
cod_n LIKE iptb00002.cod_n,
cod_grupo LIKE iptb00002.cod_grupo,
cod_tipo LIKE iptb00002.cod_tipo,
cod_sec LIKE iptb00002.cod_sec,
descrip_esp LIKE iptb00002.descrip_esp,
unidad_med LIKE iptb00002.unidad_med,
existe_act DECIMAL(12,5),
cantidad DECIMAL(12,5),
codigo CHAR(7)
END RECORD
DEFINE costos RECORD
cod_n SMALLINT,
cod_grupo SMALLINT,
cod_tipo SMALLINT,
cod_sec SMALLINT,
fecha CHAR(2),
costo_st DECIMAL(12,5)
END RECORD
DEFINE actual RECORD
cod_n SMALLINT,
cod_grupo SMALLINT,
cod_tipo SMALLINT,
cod_sec SMALLINT,
balance LIKE iptb00006.cantidad_2
END RECORD
DEFINE anterior RECORD
cod_n SMALLINT,
cod_grupo SMALLINT,
cod_tipo SMALLINT,
cod_sec SMALLINT,
balance LIKE iptb00006.cantidad_2
END RECORD
DEFINE select_cost,select_act,select_ant CHAR(1000)
# WHENEVER ERROR CONTINUE
OPTIONS
FORM LINE 8,
ERROR LINE 23,
COMMENT LINE 21
OPEN FORM ipfmrp018 FROM "ipfmrp018"
DISPLAY FORM ipfmrp018
CALL pantalla()
DISPLAY "ipprrp018" AT 4,3
DISPLAY "Existencia Con Entrada - Salida" AT 6,24
LET tipo_papel = 1
CALL msgrp000(tipo_papel)
LABEL vuelve:
INPUT BY NAME datos_cons.fech_fi
ON KEY (F2)
LET pflag = "S"
AFTER FIELD fech_fi
IF datos_cons.fech_fi IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
GOTO vuelve
END IF
END INPUT
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = false
RETURN
END IF
CONSTRUCT criterio ON a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec
FROM cod_n,cod_grupo, cod_tipo,cod_sec
ON KEY (F2)
LET pflag = "S"
AFTER CONSTRUCT
END CONSTRUCT
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = false
RETURN
END IF
LET select_cost =
"SELECT a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,a.descrip_esp, ",
" a.unidad_med,SUM(c.cantidad_2) ",
"FROM iptb00002 a,iptb00006 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 ",
criterio CLIPPED,") AND a.status_t is null and (c.fecha <= ?) ",
" and c.status_t IS NULL ",
" GROUP BY 1,2,3,4,5,6 ",
" ORDER BY 1,2,3,4 "
DISPLAY "<< Buscando Informacion... Espere Por Favor" AT 19,14
PREPARE comando FROM select_cost
DECLARE busca CURSOR FOR comando
OPEN busca USING datos_cons.fech_fi
START REPORT iprp19 TO "C:\\archivo"
DISPLAY "<< Reporte Generandose ... Por Favor Espere. >>"
AT 19,14 ATTRIBUTE (REVERSE)
LET p_param = "S"
WHILE status != notfound
FETCH busca INTO existe.*
IF status = notfound THEN
EXIT WHILE
END IF
IF int_flag THEN
LET int_flag = FALSE
LET numero_msg = 2
CALL msg(numero_msg)
RETURN
END IF
IF existe.existe_act IS NULL THEN
LET existe.existe_act = 0
END IF
IF existe.cantidad IS NULL THEN
LET existe.cantidad = 1
END IF
LET existe.codigo = existe.cod_n using "&",existe.cod_grupo using
"&",existe.cod_tipo using "&&",existe.cod_sec
using "&&&"
IF existe.existe_act > 0 THEN
OUTPUT TO REPORT iprp19(existe.*)
END IF
END WHILE
FINISH REPORT iprp19
CLEAR SCREEN
IF pflag = "S" THEN
RUN "WINWORD C:\\ARCHIVO"
ELSE
RUN "type C:\\archivo > %USPRINT%"
END IF
END FUNCTION
REPORT iprp19(x)
DEFINE x RECORD
cod_n LIKE iptb00002.cod_n,
cod_grupo LIKE iptb00002.cod_grupo,
cod_tipo LIKE iptb00002.cod_tipo,
cod_sec LIKE iptb00002.cod_sec,
descrip_esp LIKE iptb00002.descrip_esp,
unidad_med LIKE iptb00002.unidad_med,
existe_act DECIMAL(12,5),
cantidad DECIMAL(12,5),
codigo CHAR(7)
END RECORD,
p_costo DECIMAL (8,4),
tvalor DECIMAL(12,2)
DEFINE tt INTEGER
DEFINE descrip_esp LIKE iptb00002.descrip_esp
DEFINE unidad_med LIKE iptb00002.unidad_med
DEFINE cantidad,entradas,salidas,total_c,total_p DECIMAL (12,5)
DEFINE l INTEGER
DEFINE doble_on CHAR(2)
DEFINE doble_off CHAR(2)
DEFINE negrillas_on CHAR(6)
DEFINE negrillas_off CHAR(6)
DEFINE comp_on CHAR(3)
DEFINE comp_off CHAR(3)
DEFINE normal CHAR(3)
DEFINE doce CHAR(3)
DEFINE hora CHAR(5)
OUTPUT
TOP MARGIN 0
LEFT MARGIN 0
BOTTOM MARGIN 2
#ORDER BY x.cod_n,x.cod_grupo,x.cod_tipo,x.cod_sec,x.fecha
FORMAT
PAGE HEADER
IF pflag != "S" THEN
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
END IF
LET l = (128 - LENGTH(p_companias.nombre CLIPPED))/2
LET hora = time
PRINT COLUMN 1,comp_on
PRINT COLUMN 1, "ipprrp019",
COLUMN l, p_companias.nombre CLIPPED,
COLUMN 121, "Pag. ",pageno using "###"
PRINT COLUMN 47, "Sistema de Inventario de Productos",
COLUMN 121, today using "dd/mm/yyyy"
PRINT COLUMN 48, " Reporte Existencia",
COLUMN 124, hora
SKIP 1 LINE
PRINT COLUMN 1, "------------------------------------------------",
"-------------------------------------------------" ,
"--------------------------------------"
PRINT COLUMN 70, "EXISTENCIA"
PRINT COLUMN 1, "CODIGO",
COLUMN 12, "DESCRIPCION",
COLUMN 70, "AL ", datos_cons.fech_fi using "dd/mm/yyyy"
PRINT COLUMN 1, "--------------------------------------------------",
"-------------------------------------------------",
"------------------------------------"
SKIP 1 LINE
BEFORE GROUP OF x.codigo
LET entradas = 0
LET salidas = 0
AFTER GROUP OF x.codigo
PRINT COLUMN 1, x.cod_n USING "&&","-",x.cod_grupo USING "&&","-",
x.cod_tipo USING "&&&","-",x.cod_sec USING "&&&",
" ",x.descrip_esp CLIPPED,
COLUMN 45, x.unidad_med,
COLUMN 70, x.existe_act USING "---,---,---.###"
ON LAST ROW
PRINT COLUMN 4, comp_off
END REPORT