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

418 lines
13 KiB
Plaintext

DATABASE smarmotech
GLOBALS
DEFINE nombre_m CHAR(20),
descripcion CHAR(70),
p_iptb01 RECORD LIKE iptb00001.*,
p_iptb02 RECORD LIKE iptb00002.*,
p_iptb06 RECORD LIKE iptb00006.*,
p_iptb14 RECORD LIKE iptb00014.*,
p_iptb19 RECORD LIKE iptb00019.*,
p_iptb20 RECORD LIKE iptb00020.*,
p_iptb21 RECORD LIKE iptb00021.*,
p_vetb25 RECORD LIKE vetb00025.*,
p_iptb22 RECORD LIKE iptb00022.*,
preciosm INTEGER, #RECORD LIKE iptb00014.*,
marcas RECORD LIKE iptb00019.*,
lj SMALLINT,
pflag CHAR(1),
fecha1 DATE,
selec_pt CHAR(1000)
DEFINE busca_p RECORD
cod_n INTEGER,
cod_grupo INTEGER,
cod_tipo INTEGER,
cod_sec INTEGER,
descrip_esp CHAR(30),
unidad_med CHAR(5)
END RECORD
DEFINE clientes ARRAY[50] OF RECORD
tipo_cliente LIKE vetb00004.tipo_cliente,
sec_cliente LIKE vetb00004.sec_cliente,
nombre LIKE vetb00004.nombre
END RECORD
DEFINE codigos RECORD
fecha DATE,
cod_n_a SMALLINT,
cod_grupo_a SMALLINT,
cod_tipo_a SMALLINT,
cod_sec_a SMALLINT,
cantidad INTEGER,
cod_n_h SMALLINT,
cod_grupo_h SMALLINT,
cod_tipo_h SMALLINT,
cod_sec_h SMALLINT
END RECORD
DEFINE movimientos RECORD
cod_mov LIKE iptb00006.cod_mov,
num_doc LIKE iptb00006.num_doc,
fecha LIKE iptb00006.fecha,
tipo LIKE iptb00006.tipo,
orden_compra LIKE iptb00006.orden_compra,
fact_no LIKE iptb00006.fact_no,
conduce_no LIKE iptb00006.conduce_no,
cod_sp LIKE iptb00006.cod_sp,
cod_sp_sec LIKE iptb00006.cod_sp_sec,
nom_sp CHAR(41),
cod_transp LIKE iptb00006.cod_transp,
sec_transp LIKE iptb00006.sec_transp,
placa LIKE iptb00006.placa,
cod_tarifa LIKE iptb00006.cod_tarifa,
bodega LIKE iptb00006.bodega,
departamento SMALLINT,
detalle LIKE iptb00006.detalle
END RECORD
DEFINE ultimo RECORD
cond_recep LIKE iptb00006.cond_recep,
uso_tiempo LIKE iptb00006.uso_tiempo
END RECORD
DEFINE datos1 RECORD
num_doc LIKE iptb00006.num_doc,
fecha LIKE iptb00006.fecha,
conduce_no LIKE iptb00006.conduce_no,
cod_seccion SMALLINT,
nom_seccion CHAR(20),
bodega LIKE iptb00006.bodega
END RECORD
DEFINE p_conteo RECORD
fecha LIKE iptb00006.fecha,
bodega LIKE iptb00006.bodega,
cod_n LIKE iptb00006.cod_n,
cod_grupo LIKE iptb00006.cod_grupo,
cod_tipo LIKE iptb00006.cod_tipo,
cod_sec LIKE iptb00006.cod_sec,
cantidad LIKE iptb00006.cantidad_2
END RECORD
DEFINE costos RECORD LIKE iptb00004.*
DEFINE datos RECORD
num_doc LIKE iptb00006.num_doc,
fecha LIKE iptb00006.fecha,
nom_dpto CHAR(30),
nom_dpto1 CHAR(30),
bodega LIKE iptb00006.bodega
END RECORD
DEFINE datos_gen RECORD
cod_mov LIKE iptb00006.cod_mov,
num_doc LIKE iptb00006.num_doc,
cod_sp LIKE iptb00006.cod_sp,
cod_sp_sec LIKE iptb00006.cod_sp_sec,
tipo LIKE iptb00006.tipo,
orden_compra LIKE iptb00006.orden_compra,
conduce_no LIKE iptb00006.conduce_no,
fact_no LIKE iptb00006.fact_no,
fecha LIKE iptb00006.fecha,
bodega LIKE iptb00006.bodega,
nom_sp CHAR(40), #LIKE cotb00001.nom_sp,
descrip_mov LIKE iptb00005.descrip_mov
END RECORD
DEFINE otros_mov RECORD
num_doc LIKE iptb00006.num_doc,
cod_cia LIKE iptb00006.cod_cia,
cod_mov LIKE iptb00006.cod_mov,
fact_no LIKE iptb00006.fact_no,
cod_transp LIKE iptb00006.cod_transp,
sec_transp LIKE iptb00006.sec_transp,
cod_tarifa LIKE iptb00006.cod_tarifa,
placa LIKE iptb00006.placa,
fecha LIKE iptb00006.fecha,
conduce_no LIKE iptb00006.conduce_no,
descrip_mov CHAR(40), #LIKE intb00005.descrip_mov,
bodega LIKE iptb00006.bodega,
detalle LIKE iptb00006.detalle,
cod_sp LIKE iptb00006.cod_sp,
cod_sp_sec LIKE iptb00006.cod_sp_sec,
departamento SMALLINT,
nombre_depto CHAR(30),
cod_mov1 SMALLINT,
entrada INT,
descrip_mov1 CHAR(40),
descrip4 CHAR(30)
END RECORD
DEFINE chequea RECORD
minima LIKE iptb00002.exist_min,
maxima LIKE iptb00002.exist_max
END RECORD
DEFINE p_unidad ARRAY [100] OF INTEGER
DEFINE selec2 CHAR(1000)
DEFINE p_cantidad,bandera SMALLINT
DEFINE p_fechas DATE
DEFINE nombre_dia ARRAY[7] OF char(10)
DEFINE nombre_mes ARRAY[12] OF char(10)
DEFINE nombre_ant CHAR(11)
DEFINE general decimal(12,2)
DEFINE numero_msg,curr1,p_cod_cia,p_bodega,longitud SMALLINT
#DEFINE arancel RECORD LIKE cotb00005.*
DEFINE status_m char(1)
DEFINE decide,p_param char(1)
DEFINE cant DECIMAL(12,5)
DEFINE tipo_papel smallint
DEFINE balance DECIMAL(12,5)
DEFINE cod_mov_ant LIKE iptb00006.cod_mov
DEFINE existe_comp,suplidor1,doc_existe,actual,mat_prima CHAR (1000)
DEFINE opc ,opt4,opt,opt2,existe,ya ,opera1,cambio CHAR(2)
DEFINE medida CHAR (3)
DEFINE fila smallint
DEFINE m_articulos RECORD LIKE iptb00002.*
DEFINE presentacion RECORD LIKE iptb00003.*
DEFINE p_companias RECORD LIKE companias.*
# DEFINE numero_msg LIKE msgtable.cod_msg
DEFINE articulos RECORD LIKE iptb00002.*
# DEFINE suplidor RECORD LIKE intb00008.*
DEFINE meses RECORD LIKE mestable.*,
regi INTEGER
DEFINE mensajes RECORD {LIKE msgtable.* }
cod_msg smallint,
desc_msg char(60),
us_crea char(9),
fech_crea char(16),
us_mod char(9),
fech_mod char(16)
END RECORD
DEFINE transacc RECORD LIKE iptb00005.*
DEFINE medidas RECORD LIKE intb00007.*
DEFINE nombre_cia,descrip1,descrip2,descrip3,descrip4 CHAR(30)
DEFINE c_sustituto RECORD LIKE intb00003.*
DEFINE c_equivalente RECORD LIKE intb00004.*
DEFINE criterio CHAR(1000)
DEFINE selec CHAR(1000)
DEFINE cod_n_a,cod_grupo_a,cod_tipo_a,cod_sec_a SMALLINT
DEFINE p_act,idx,scr_l SMALLINT
DEFINE opcion,tipo_p CHAR(1)
DEFINE pilas ARRAY[100] OF RECORD
cod_n LIKE intb00003.cod_n,
cod_grupo LIKE intb00003.cod_grupo,
cod_tipo LIKE intb00003.cod_tipo,
cod_sec LIKE intb00003.cod_sec,
descrip_esp LIKE iptb00002.descrip_esp
END RECORD
DEFINE prod1 ARRAY[200] OF RECORD
cod_n1 SMALLINT,
cod_grupo1 SMALLINT,
cod_tipo1 SMALLINT,
cod_sec1 SMALLINT,
descrip_esp1 CHAR(70),
unidad_med LIKE iptb00002.unidad_med,
existencia DECIMAL(12,5)
END RECORD
DEFINE prod ARRAY[200] OF RECORD
cod_n1 SMALLINT,
cod_grupo1 SMALLINT,
cod_tipo1 SMALLINT,
cod_sec1 SMALLINT,
descrip_esp1 CHAR(70),
unidad_med LIKE iptb00002.unidad_med,
bodega LIKE iptb00002.bodega,
marca CHAR(10), #002.marca,
cod_cia LIKE iptb00002.cod_cia,
existencia DECIMAL(12,5),
exist_min DECIMAL(12,5),
dia_llegada LIKE iptb00002.dia_llegada
END RECORD
DEFINE movi2 ARRAY[1000] OF RECORD
cod_n LIKE intb00003.cod_n,
cod_grupo LIKE intb00003.cod_grupo,
cod_tipo LIKE intb00003.cod_tipo,
cod_sec LIKE intb00003.cod_sec,
cantidad_1 LIKE iptb00006.cantidad_1,
cantidad_2 LIKE iptb00006.cantidad_2,
cantidad_p DEC(12,5),
unidad_med LIKE iptb00002.unidad_med,
descrip_esp CHAR(70)
END RECORD
DEFINE art ARRAY[200] OF RECORD
cod_n1 SMALLINT,
cod_grupo1 SMALLINT,
cod_tipo1 SMALLINT,
cod_sec1 SMALLINT,
descrip_esp1 CHAR(30),
unidad_med LIKE iptb00002.unidad_med,
bodega LIKE intb00002.bodega,
existencia like intb00002.existencia,
pto_reorden LIKE intb00002.pto_reorden,
dia_llegada LIKE intb00002.dia_llegada,
#costo_mp LIKE cotb00002.costo_mp,
valor decimal(10,2)
END RECORD
DEFINE csmov1 ARRAY[1500] OF RECORD
num_doc CHAR(11),
fecha_2 LIKE iptb00006.fecha,
entrada char(14),
salida char(14),
balance char(14)
END RECORD
DEFINE csmov RECORD
num_doc LIKE iptb00006.num_doc,
fecha_1 LIKE iptb00006.fecha,
cantidad_2 LIKE iptb00006.cantidad_2,
cod_mov LIKE iptb00006.cod_mov
END RECORD
DEFINE datos_cons 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,
unidad_med LIKE iptb00002.unidad_med,
bodega LIKE iptb00006.bodega,
fech_in DATE,
fech_fi DATE
END RECORD
DEFINE movi3 ARRAY[1000] OF RECORD
codigo CHAR(10),
cantidad_1 DECIMAL(12,5),
cantidad_2 DECIMAL(12,5),
diferencia DECIMAL(12,5),
descrip_esp LIKE iptb00002.descrip_esp,
unidad_med LIKE iptb00002.unidad_med
END RECORD
DEFINE movi_ant ARRAY[1000] OF RECORD
cod_n LIKE iptb00006.cod_n,
cod_grupo LIKE iptb00006.cod_grupo,
cod_tipo LIKE iptb00006.cod_tipo,
cod_sec LIKE iptb00006.cod_sec,
cant_ant LIKE iptb00006.cantidad_2
END RECORD
DEFINE movi ARRAY[500] OF RECORD
cod_n LIKE iptb00006.cod_n,
cod_grupo LIKE iptb00006.cod_grupo,
cod_tipo LIKE iptb00006.cod_tipo,
cod_sec LIKE iptb00006.cod_sec,
cantidad_1 LIKE iptb00006.cantidad_1,
cantidad_2 LIKE iptb00006.cantidad_2,
unidad_med LIKE iptb00002.unidad_med,
descrip_esp CHAR(40)
END RECORD
DEFINE ant_art RECORD
cod_n LIKE cotb00002.cod_n,
cod_grupo LIKE cotb00002.cod_grupo,
cod_tipo LIKE cotb00002.cod_tipo,
cod_sec LIKE cotb00002.cod_sec
END RECORD
DEFINE c_articulos ARRAY[100] OF RECORD
cod_n LIKE cotb00002.cod_n,
cod_grupo LIKE cotb00002.cod_grupo,
cod_tipo LIKE cotb00002.cod_tipo,
cod_sec LIKE cotb00002.cod_sec,
descripcion CHAR(30)
# costo_mp LIKE cotb00002.costo_mp,
# fecha_act LIKE cotb00002.fecha_act
END RECORD
DEFINE consulta_mv ARRAY[200] OF RECORD
num_doc LIKE iptb00006.num_doc,
fecha LIKE iptb00006.fecha,
nombre char(7),
cantidad_1 LIKE iptb00006.cantidad_1,
cantidad_2 LIKE iptb00006.cantidad_1,
balance decimal(12,2)
END RECORD
DEFINE c_det_inv ARRAY[200] OF 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,
existencia LIKE intb00002.existencia,
#costo_mp LIKE cotb00002.costo_mp,
valor DECIMAL(12,5)
END RECORD
DEFINE datos_cs RECORD
cod_n LIKE iptb00006.cod_n,
cod_grupo LIKE iptb00006.cod_grupo,
cod_tipo LIKE iptb00006.cod_tipo,
cod_sec LIKE iptb00006.cod_sec,
descrip_esp LIKE iptb00002.descrip_esp,
fecha_in LIKE iptb00006.fecha,
fecha_fi LIKE iptb00006.fecha
END RECORD
#DEFINE medidas1 RECORD LIKE vetb00014.*
DEFINE otrab SMALLINT
DEFINE comp_fech,comp_fech1 DATE
DEFINE mes_control CHAR(2)
DEFINE mes_calc,dia SMALLINT
DEFINE fecha_c DATE
DEFINE c_ano,a_ano CHAR(4)
END GLOBALS
FUNCTION busca_prod1()
DEFINE arr_prod ARRAY[500] OF RECORD
cod_n INTEGER,
cod_grupo INTEGER,
cod_tipo INTEGER,
cod_sec INTEGER,
descrip_esp CHAR(30),
unidad_med CHAR(5)
END RECORD
OPEN WINDOW busca_2 AT 8,4 WITH FORM "ipfmwd001" ATTRIBUTE (BORDER,FORM LINE
FIRST + 1,PROMPT LINE LAST)
CONSTRUCT criterio ON a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,a.descrip_esp
FROM cod_n,cod_grupo,cod_tipo,cod_sec,descrip_esp
LET selec_pt =
"SELECT a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,a.descrip_esp, ",
" a.unidad_med FROM iptb00002 a ",
"WHERE a.status_t IS NULL AND ",criterio CLIPPED," ORDER BY 5 "
PREPARE comando_p FROM selec_pt
DECLARE busca_2 CURSOR FOR comando_p
LET idx = 1
FOREACH busca_2 INTO arr_prod[idx].*
LET idx = idx + 1
END FOREACH
CALL SET_COUNT(idx - 1)
DISPLAY ARRAY arr_prod TO s_prod.*
LET idx = ARR_CURR()
LET busca_p.cod_n = arr_prod[idx].cod_n
LET busca_p.cod_grupo = arr_prod[idx].cod_grupo
LET busca_p.cod_tipo = arr_prod[idx].cod_tipo
LET busca_p.cod_sec = arr_prod[idx].cod_sec
LET busca_p.descrip_esp = arr_prod[idx].descrip_esp
LET busca_p.unidad_med = arr_prod[idx].unidad_med
# para el precio
LET p_vetb25.cod_n = arr_prod[idx].cod_n
LET p_vetb25.cod_grupo = arr_prod[idx].cod_grupo
LET p_vetb25.cod_tipo = arr_prod[idx].cod_tipo
LET p_vetb25.cod_sec = arr_prod[idx].cod_sec
LET descrip1 = arr_prod[idx].descrip_esp
LET medida = arr_prod[idx].unidad_med
CLOSE WINDOW busca_2
END FUNCTION