Files
MBS/PROYECTO/ipdir/ipprrp046.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

244 lines
7.6 KiB
Plaintext

{
-------------------------------------------------------------------------------
PROGRAMA : ipprrp046
OBJETIVO : Relacion de Documentos
PROGRAMADOR : Lic. Oscar Castillo
FECHA REALIZACION : Junio 5, del 2000
-------------------------------------------------------------------------------
}
GLOBALS "ipprgb000.4gl"
MAIN
DEFER INTERRUPT
CALL ARG_VAL(1) RETURNING usuarios
CALL ARG_VAL(2) RETURNING clave
CALL ARG_VAL(3) RETURNING impresor
CONNECT TO "smarmotech" USER usuarios USING clave
SELECT * INTO p_companias.* FROM companias
CALL ipprrp046()
END MAIN
FUNCTION ipprrp046()
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 c_ano CHAR(4),
p_ano SMALLINT
DEFINE relacion RECORD
fecha DATE,
cod_mov LIKE intb00005.cod_mov,
num_doc INTEGER,
status_reg CHAR(1),
codigo CHAR(20),
nombre_transp CHAR(60),
cedula CHAR(11),
descrip_bodega CHAR(30),
cliente CHAR(60),
direccion CHAR(100),
orden INT,
descrip CHAR(30)
END RECORD
# WHENEVER ERROR CONTINUE
OPTIONS
FORM LINE 8,
ERROR LINE 23,
COMMENT LINE 21
OPEN FORM ipfmrp046 FROM "ipfmrp046"
DISPLAY FORM ipfmrp046
# CALL pantalla()
DISPLAY "ipprrp046" AT 4,3 ATTRIBUTE(RED)
DISPLAY " Relacion de Documentos" AT 6,22 ATTRIBUTE(BLACK)
INPUT BY NAME datos_cons.fech_in,datos_cons.fech_fi
BEFORE INPUT
LET datos_cons.fech_fi = TODAY USING "dd/mm/yyyy"
DISPLAY BY NAME datos_cons.fech_fi
AFTER FIELD fech_in
IF datos_cons.fech_in IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD fech_in
END IF
AFTER FIELD fech_fi
IF datos_cons.fech_fi IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD fech_fi
END IF
END INPUT
CONSTRUCT criterio ON c.cod_mov,c.cod_transp,c.sec_transp FROM cod_mov,cod_transp,sec_transp
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = false
RETURN
END IF
LET select_ac =
"SELECT DISTINCT c.fecha,c.cod_mov,c.num_doc, ",
" c.status_t,CAST(c.cod_transp AS CHAR(4))+'-'+CAST(c.sec_transp AS VARCHAR(10)),",
"a.nombre,CAST(a.cedula AS CHAR(7))+CAST(a.serie AS CHAR(3)), ",
" b.descripcion,d.nombre,e.direccion,c.num_oc ",
"FROM iptb00006 c LEFT OUTER JOIN prtb00012 e on c.num_oc = e.num_oc ",
" LEFT OUTER JOIN vetb00004 d ON c.cod_sp = d.tipo_cliente AND c.cod_sp_sec = d.sec_cliente,",
" vetb00015 a,intb00009 b ",
"WHERE c.fecha between ? and ? and c.cod_transp = a.cod_transp AND c.sec_transp = a.sec_transp AND ",
" c.cod_mov != 99 AND c.bodega = b.cod_bodega AND c.status_t IS NULL AND ",criterio CLIPPED,
"ORDER BY c.fecha,c.cod_mov,c.num_Doc "
DISPLAY "<< Estoy Buscando Documentos... Espere Por favor >>"
AT 19,14 ATTRIBUTE (REVERSE,BOLD)
PREPARE busca_ant FROM select_ac
DECLARE actual SCROLL CURSOR FOR busca_ant
OPEN actual USING datos_cons.fech_in,datos_cons.fech_fi
DISPLAY " "
AT 19,14
DISPLAY "<< Reporte Generandose ... Por Favor Espere. >>"
AT 19,14 ATTRIBUTE (REVERSE)
CALL seleccionarsalida() RETURNING r_output
CALL configureoutput(r_output) RETURNING handler
START REPORT relacion TO XML HANDLER handler
LET idx_c = 1
LET idx_a = 1
LET idx_ac = 1
WHILE status != notfound
FETCH actual INTO relacion.*
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
SELECT a.descrip_mov
INTO relacion.descrip
FROM iptb00005 a
WHERE a.cod_mov = relacion.cod_mov
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = false
RETURN
END IF
OUTPUT TO REPORT relacion(relacion.*)
END WHILE
FINISH REPORT relacion
CLEAR SCREEN
END FUNCTION
REPORT relacion(x)
DEFINE x RECORD
fecha DATE,
cod_mov LIKE intb00005.cod_mov,
num_doc INTEGER,
status_reg CHAR(1),
codigo CHAR(20),
nombre_transp CHAR(60),
cedula CHAR(11),
descrip_bodega CHAR(30),
cliente CHAR(60),
direccion CHAR(100),
orden INT,
descrip CHAR(30)
END RECORD
DEFINE nom_status CHAR(10)
DEFINE primera CHAR(1)
DEFINE c_ano1 char(4)
DEFINE hora CHAR(5)
DEFINE total_p,total_m DECIMAL(12,2)
OUTPUT
TOP MARGIN 0
LEFT MARGIN 0
BOTTOM MARGIN 0
PAGE LENGTH 100
ORDER BY x.codigo,x.cod_mov,x.num_doc
FORMAT
PAGE HEADER
LET hora = time
SELECT a.* INTO p_companias.* FROM companias a WHERE a.cod_comp = 1
LET lj = (100 - LENGTH(p_companias.nombre CLIPPED))/2
PRINT COLUMN 1, "ipprrp046",
COLUMN lj, p_companias.nombre CLIPPED,
COLUMN 94, "Pag. ",pageno using "###"
PRINT COLUMN 28, " Sistema de Inventario de Productos Terminados",
COLUMN 94, today using "dd/mm/yyyy"
PRINT COLUMN 28, " Relacion de Documentos",
COLUMN 97, hora
SKIP 1 LINES
PRINT COLUMN 2, "Desde ",datos_cons.fech_in using "dd/mm/yyyy",
COLUMN 21, "Hasta ", datos_cons.fech_fi using "dd/mm/yyyy"
PRINT COLUMN 1, "--------------------------------------------------",
"--------------------------------------------------",
"-"
PRINT COLUMN 1, "Fecha",
COLUMN 20, "Documento",
COLUMN 30, "Orden",
COLUMN 45, "Cliente / Proveedor",
COLUMN 69, "Almacen "
PRINT COLUMN 1, "--------------------------------------------------",
"--------------------------------------------------",
"-"
INITIALIZE nom_status TO NULL
BEFORE GROUP OF x.codigo
PRINT "TRANSPORTISTA: ",x.codigo," ",x.nombre_transp," ",x.cedula
SKIP 1 LINE
BEFORE GROUP OF x.cod_mov
PRINT "MOVIMIENTO: ",x.cod_mov USING "<<<<"," ",x.descrip
SKIP 1 LINE
ON EVERY ROW
IF x.status_reg IS NULL THEN
LET nom_status = "ACTIVO"
END IF
IF x.status_reg = "E" THEN
LET nom_status = "ANULADO"
END IF
PRINT COLUMN 1, x.fecha USING "dd/mm/yyyy",
COLUMN 20, x.num_doc USING "&&&&&&&&",
COLUMN 30, x.orden USING "&&&&&&&&",
COLUMN 45, x.cliente,
COLUMN 40, x.descrip_bodega
PRINT COLUMN 45, x.direccion
PRINT "-----------------------------------------------------------",
"-----------------------------------------------------------"
ON LAST ROW
END REPORT