Files
MBS/PROYECTO/tests/MaintainXAct.4gl
T

93 lines
2.5 KiB
Plaintext

{
PROGRAMA: MaintainXAct
OBJETIVO: Actualizar informacion en la plataforma MaintainX
FECHA DESARROLLO: 08/05/2026
}
SCHEMA smarmotech
GLOBALS
DEFINE usuarios, clave VARCHAR(50)
END GLOBALS
MAIN
DEFER INTERRUPT
CALL STARTLOG("irprmt36.log")
CALL ARG_VAL(1) RETURNING usuarios
CALL ARG_VAL(2) RETURNING clave
CONNECT TO "smarmotech" USER usuarios USING clave
CALL proceso()
END MAIN
FUNCTION proceso()
DEFINE
items RECORD LIKE irtb00002.*,
answer STRING
DECLARE buscaitems CURSOR FOR
SELECT a.cod_n,
a.cod_grupo,
a.cod_tipo,
a.cod_sec,
ISNULL(SUM(b.cantidad_2), 0),
ISNULL(a.exist_min, 0),
ISNULL(c.costo_st, 0),
a.id_maintainx,
a.descrip_esp
FROM irtb00002 a,
irtb00006 b
LEFT OUTER
JOIN irtb00013 c
ON b.cod_n = c.cod_n
AND b.cod_grupo = c.cod_grupo
AND b.cod_tipo = c.cod_tipo
AND b.cod_Sec = c.cod_sec
AND c.mes_fin = 12
AND c.ano = 2026
WHERE a.cod_n = b.cod_n
AND a.cod_grupo = b.cod_grupo
AND a.cod_tipo = b.cod_tipo
AND a.cod_Sec = b.cod_sec
AND a.enviarMX IS NOT NULL
AND a.status_t IS NULL
AND b.status_t IS NULL
GROUP BY a.cod_n,
a.cod_grupo,
a.cod_tipo,
a.cod_sec,
a.exist_min,
a.id_maintainx,
c.costo_st,
a.descrip_esp
FOREACH buscaitems
INTO items.cod_n,
items.cod_grupo,
items.cod_tipo,
items.cod_sec,
items.existencia,
items.exist_min,
items.descrip_ing,
items.id_maintainx,
items.descrip_esp
CALL ApiMaintainR(
'PATCH', items.id_maintainx, items.*, usuarios)
RETURNING answer
DISPLAY "PROCESE ESTE ITEM: ",
items.cod_n,
"-",
items.cod_grupo,
"-",
items.cod_tipo,
"-",
items.cod_sec,
" answ: ",
answer
END FOREACH
END FUNCTION