IMPORT util FUNCTION ip_descarga_conteo(d) DEFINE d,unasolavez STRING DEFINE p RECORD credenciales RECORD usuario,clave VARCHAR(50) END RECORD, pconteo_trx DYNAMIC ARRAY OF RECORD idtrx int, fecha CHAR(10), bodega smallint , cod_seccion smallint , cod_tramo SMALLINT , cod_fila SMALLINT, cod_pos SMALLINT, cod_n SMALLINT , cod_grupo smallint , cod_tipo smallint , cod_sec smallint , cantidad float, balance float , us_crea varchar(50) , fech_crea VARCHAR(16), tipo_inventario VARCHAR(100) END RECORD, desglose DYNAMIC ARRAY OF RECORD bodega,cod_seccion,cod_tramo,cod_fila,cod_pos, cod_n,cod_grupo,cod_tipo,cod_sec,codid,idtrx INT, observacion VARCHAR(200), lado_1,lado_2,lado_3,cantidad,cantidad2 DECIMAL(12,5), idproducto VARCHAR(25), fecha DATE, tono,calidad string END RECORD, mensajes RECORD cod_msg INT, descripcion STRING END RECORD END RECORD DEFINE r RECORD ERRORES STRING, cuenta_data int END RECORD, i,idx int TRY CALL util.JSON.parse(d, p) CATCH LET r.errores = "FGL ERROR: ", err_get(status) RETURN util.JSON.stringify(r) END TRY CONNECT TO "smarmotech" USER p.credenciales.usuario USING p.credenciales.clave IF STATUS <0 THEN LET p.mensajes.cod_msg = STATUS LET p.mensajes.descripcion='ERROR CONEXION ',SQLCA.sqlerrm DISCONNECT CURRENT RETURN util.JSON.stringify(p) END IF BEGIN WORK LET unasolavez = 'NO' FOR i = 1 TO p.pconteo_trx.getLength() IF p.pconteo_trx[i].tipo_inventario = "PRODUCTOS TERMINADOS" THEN INSERT INTO iptb00012 ( idtrx ,fecha ,bodega ,cod_seccion ,cod_tramo ,cod_fila ,cod_pos ,cod_n ,cod_grupo ,cod_tipo ,cod_sec ,cantidad ,us_crea ,fech_crea ) VALUES (p.pconteo_trx[i].idtrx,p.pconteo_trx[i].fecha,p.pconteo_trx[i].bodega,p.pconteo_trx[i].cod_seccion, p.pconteo_trx[i].cod_tramo,p.pconteo_trx[i].cod_fila,p.pconteo_trx[i].cod_pos, p.pconteo_trx[i].cod_n,p.pconteo_trx[i].cod_grupo,p.pconteo_trx[i].cod_tipo, p.pconteo_trx[i].cod_sec,p.pconteo_trx[i].cantidad,p.pconteo_trx[i].us_crea,p.pconteo_trx[i].fech_crea) IF unasolavez = 'NO' THEN LET unasolavez = 'SI' { SE PUSO EN COMENTARIO PORQUE LA TABLA 62, SE CONVIRTIO EN LAS UBICACIONES, SE DEBE CREAR OTRA TABLA PARA EL DESGLOSE FOR idx = 1 TO p.desglose.getLength() IF p.desglose[idx].codid IS NOT NULL THEN INSERT INTO iptb00062 (bodega ,cod_seccion ,cod_tramo ,cod_fila ,cod_pos ,cod_n ,cod_grupo ,cod_tipo ,cod_sec ,codid ,lado_1 ,lado_2 ,lado_3 ,observacion ,cantidad ,cantidad2 ,idproducto ,us_crea ,fech_crea ,idtrx ,fecha ,tono ,calidad) VALUES (p.desglose[idx].bodega ,p.desglose[idx].cod_seccion ,p.desglose[idx].cod_tramo ,p.desglose[idx].cod_n ,p.desglose[idx].cod_grupo ,p.desglose[idx].cod_tipo ,p.desglose[idx].cod_sec ,p.desglose[idx].codid ,p.desglose[idx].lado_1 ,p.desglose[idx].lado_2 ,p.desglose[idx].lado_3 ,p.desglose[idx].observacion ,p.desglose[idx].cantidad ,p.desglose[idx].cantidad2 ,p.desglose[idx].idproducto ,p.credenciales.usuario ,getdate() ,p.pconteo_trx[i].idtrx ,p.desglose[idx].fecha ,p.desglose[idx].tono ,p.desglose[idx].calidad) END IF END FOR } END IF END IF IF p.pconteo_trx[i].tipo_inventario = "MATERIA PRIMA" THEN DISPLAY p.pconteo_trx[i].* INSERT INTO intb00012 ( idtrx ,fecha ,bodega ,cod_seccion ,cod_tramo ,cod_n ,cod_grupo ,cod_tipo ,cod_sec ,cantidad ,balance ,us_crea ,fech_crea ) VALUES (p.pconteo_trx[i].idtrx,p.pconteo_trx[i].fecha,p.pconteo_trx[i].bodega,p.pconteo_trx[i].cod_seccion, p.pconteo_trx[i].cod_tramo,p.pconteo_trx[i].cod_n,p.pconteo_trx[i].cod_grupo,p.pconteo_trx[i].cod_tipo, p.pconteo_trx[i].cod_sec,p.pconteo_trx[i].cantidad,p.pconteo_trx[i].balance,p.pconteo_trx[i].us_crea, p.pconteo_trx[i].fech_crea) END IF IF p.pconteo_trx[i].tipo_inventario = "REPUESTOS" THEN INSERT INTO irtb00012 ( idtrx ,fecha ,bodega ,cod_seccion ,cod_tramo ,cod_n ,cod_grupo ,cod_tipo ,cod_sec ,cantidad ,balance ,us_crea ,fech_crea ) VALUES (p.pconteo_trx[i].idtrx,p.pconteo_trx[i].fecha,p.pconteo_trx[i].bodega,p.pconteo_trx[i].cod_seccion, p.pconteo_trx[i].cod_tramo,p.pconteo_trx[i].cod_n,p.pconteo_trx[i].cod_grupo,p.pconteo_trx[i].cod_tipo, p.pconteo_trx[i].cod_sec,p.pconteo_trx[i].cantidad,p.pconteo_trx[i].balance,p.pconteo_trx[i].us_crea ,p.pconteo_trx[i].fech_crea) END IF END FOR COMMIT WORK LET p.mensajes.descripcion = "ACTUALIZACION EXITOSA" LET p.mensajes.cod_msg=0 DISCONNECT CURRENT RETURN util.JSON.stringify(p) END FUNCTION