Files
MBS/PROYECTO/ipdir/ipprrp017.4gl
T
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

258 lines
8.0 KiB
Plaintext

{
-------------------------------------------------------------------------------
PROGRAMA : IPPRRP017
OBJETIVO : Detallado por Tipo de Movimiento Eliminado
PROGRAMADOR : Tadeo A. Ferreras
FECHA REALIZACION : Abril 28, 1993
-------------------------------------------------------------------------------
}
GLOBALS "ipprgb000.4gl"
DEFINE ventas CHAR(1)
DEFINE salir CHAR(1)
DEFINE select_ac,select_ant,select_p CHAR(1000)
DEFINE idx_ac,ano,idx_a,idx_c SMALLINT
DEFINE ano_act CHAR(4)
DEFINE fecha_1,fecha_2 DATETIME YEAR TO DAY
DEFINE fecha_ini_per CHAR(8)
DEFINE reg_elim RECORD
cod_mov LIKE iptb00005.cod_mov,
descripcion CHAR(30),
num_doc INTEGER,
fecha_doc DATE,
cod_n SMALLINT,
cod_grupo SMALLINT,
cod_Tipo SMALLINT,
cod_Sec SMALLINT,
cantidad DECIMAL(12,5),
descrip_esp CHAR(30),
unidad_med CHAR(3),
fech_crea LIKE iptb00006.fech_crea,
fech_mod LIKE iptb00006.fech_mod,
status_t LIKE iptb00006.status_t,
usuario_c,usuario_m VARCHAR(20),
cbodega SMALLINT,
dbodega VARCHAR(30)
END RECORD
MAIN
DEFER INTERRUPT
CALL ARG_VAL(1) RETURNING usuarios
CALL ARG_VAL(2) RETURNING clave
CONNECT to "smarmotech" USER usuarios USING clave
SELECT a.* INTO p_companias.* FROM companias a
CALL ipprrp017()
END MAIN
FUNCTION ipprrp017()
# WHENEVER ERROR CONTINUE
OPTIONS
FORM LINE 8,
ERROR LINE 23,
COMMENT LINE 21
OPEN FORM ipfmrp17 FROM "ipfmrp023"
DISPLAY FORM ipfmrp17
#CALL pantalla()
DISPLAY "ipprrp017" AT 4,3
DISPLAY " Documentos Eliminados " AT 6,30
LET tipo_papel = 1
# CALL msgrp000(tipo_papel)
CONSTRUCT criterio ON c.cod_n,c.cod_grupo,c.cod_tipo,c.cod_sec
FROM cod_n,cod_grupo,cod_tipo,cod_sec
INPUT BY NAME fecha_1,fecha_2
AFTER FIELD fecha_1
IF fecha_1 IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD fecha_1
END IF
AFTER FIELD fecha_2
IF fecha_2 IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD fecha_2
END IF
END INPUT
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = false
RETURN
END IF
LET selec =
"SELECT c.cod_mov,a.descrip_mov,c.num_doc,c.fecha,c.cod_n,c.cod_grupo, ",
" c.cod_tipo,c.cod_sec,c.cantidad_2,b.descrip_esp,b.unidad_med, ",
" c.fech_crea,c.fech_mod,c.status_t,c.us_crea,c.us_mod,d.cod_bodega,d.descripcion ",
"FROM iptb00006 c,iptb00002 b,iptb00005 a,intb00009 d ",
"WHERE c.fech_mod between (?) AND (?) AND c.status_t = 'E' AND ",
" c.bodega = d.cod_bodega AND ",
" c.cod_n = b.cod_n AND c.cod_grupo=b.cod_grupo AND ",
" c.cod_tipo = b.cod_tipo AND c.cod_sec = b.cod_sec AND ",
" c.cod_mov = a.cod_mov AND ",criterio CLIPPED
DISPLAY "<< Estoy Buscando Documentos... Espere Por favor >>"
AT 19,14 ATTRIBUTE (REVERSE,BOLD)
PREPARE comando FROM selec
DECLARE actual CURSOR FOR COMANDO
OPEN actual USING fecha_1,fecha_2
DISPLAY "<< Reporte Generandose ... Por Favor Espere. >>"
AT 19,14 ATTRIBUTE (REVERSE)
CALL selectoutput() RETURNING r_output
CALL configureoutput(r_output) RETURNING handler
START REPORT reporte_17 TO XML HANDLER handler
WHILE STATUS != NOTFOUND
FETCH actual INTO reg_elim.*
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
DISPLAY "DATOS: ",reg_elim.cod_sec USING "&&&","-",
reg_elim.cantidad USING "##,###,###.##" AT 20,14
OUTPUT TO REPORT reporte_17(reg_elim.*)
END WHILE
FINISH REPORT reporte_17
END FUNCTION
REPORT reporte_17(x)
DEFINE x RECORD
cod_mov LIKE iptb00005.cod_mov,
descripcion CHAR(30),
num_doc INTEGER,
fecha_doc DATE,
cod_n SMALLINT,
cod_grupo SMALLINT,
cod_Tipo SMALLINT,
cod_Sec SMALLINT,
cantidad DECIMAL(12,5),
descrip_esp CHAR(30),
unidad_med CHAR(3),
fech_crea LIKE iptb00006.fech_crea,
fech_mod LIKE iptb00006.fech_mod,
status_t LIKE iptb00006.status_t,
usuario_c,usuario_m VARCHAR(20),
cbodega SMALLINT,
dbodega VARCHAR(30)
END RECORD
DEFINE primera CHAR(1)
DEFINE c_ano1 char(4)
DEFINE negrillas_on CHAR(6)
DEFINE negrillas_off CHAR(6)
DEFINE comp_on CHAR(2)
DEFINE comp_off CHAR(3)
DEFINE doce CHAR(3)
DEFINE normal CHAR(3)
DEFINE hora CHAR(5)
DEFINE l INTEGER
DEFINE total_p,total_m DECIMAL(12,2)
OUTPUT
TOP MARGIN 0
LEFT MARGIN 0
BOTTOM MARGIN 2
PAGE LENGTH 70
ORDER BY x.cod_mov,x.num_doc
FORMAT
PAGE HEADER
{ 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
LET l = (138 - LENGTH(p_companias.nombre CLIPPED))/2
PRINT comp_on
PRINT COLUMN 1, "ipprrp017",
COLUMN l, p_companias.nombre CLIPPED,
COLUMN 131, "Pag. ",PAGENO USING "###"
PRINT COLUMN 46, "Sistema de Inventario de Productos ",
COLUMN 131, today using "dd/mm/yy"
PRINT COLUMN 46, " Documentos Eliminados ",
COLUMN 134, hora
SKIP 1 LINE
PRINT COLUMN 2, "Desde ",fecha_1,
" Hasta ",fecha_2
PRINT COLUMN 1, "--------------------------------------------------",
"--------------------------------------------------",
"--------------------------------------------------",
"---------------"
PRINT COLUMN 1, "Docto",
COLUMN 10, "Fecha",
COLUMN 22, "Articulo",
COLUMN 80, "Cantidad",
COLUMN 95, "Fecha Creacion",
COLUMN 115, "Fecha Modif.",
COLUMN 133, "Status",
COLUMN 140, "Usuario C",
COLUMN 161, "Usuario M"
PRINT comp_on
PRINT COLUMN 1, "---------------------------------------------------",
"---------------------------------------------------",
"---------------------------------------------------",
"---------------"
BEFORE GROUP OF x.cod_mov
PRINT negrillas_on
PRINT COLUMN 1, x.cod_mov using "##"," ",x.descripcion
PRINT negrillas_off
BEFORE GROUP OF x.num_doc
PRINT COLUMN 1, x.num_doc USING "######",
COLUMN 10, x.fecha_doc USING "dd/mm/yy",
COLUMN 22, "(",x.cbodega USING "<<<",")",x.dbodega
ON EVERY ROW
PRINT COLUMN 22, x.cod_n USING "&&&&","-",x.cod_grupo USING "&&&&&","-",
x.cod_tipo USING "&&&&&","-",x.cod_sec USING "&&&&&&&&&&"," ",
x.descrip_esp clipped,
COLUMN 75, x.cantidad USING "###,###,###.###",
COLUMN 95, x.fech_crea,
COLUMN 115, x.fech_mod," ",x.status_t,
COLUMN 140, x.usuario_c,
COLUMN 161, x.usuario_m
AFTER GROUP OF x.cod_mov
SKIP 1 LINE
PRINT COLUMN 1, "Total Registros Por Movimiento ",
GROUP COUNT(*) USING "###,###"
ON LAST ROW
PRINT normal
END REPORT