{ 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