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>
418 lines
13 KiB
Plaintext
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
|
|
|