Cl.Core.Udfs
1.0.3
dotnet add package Cl.Core.Udfs --version 1.0.3
NuGet\Install-Package Cl.Core.Udfs -Version 1.0.3
<PackageReference Include="Cl.Core.Udfs" Version="1.0.3" />
paket add Cl.Core.Udfs --version 1.0.3
#r "nuget: Cl.Core.Udfs, 1.0.3"
// Install Cl.Core.Udfs as a Cake Addin #addin nuget:?package=Cl.Core.Udfs&version=1.0.3 // Install Cl.Core.Udfs as a Cake Tool #tool nuget:?package=Cl.Core.Udfs&version=1.0.3
Acerca de Cl.Core.Udfs
Cl.Core.Udfs es un conjunto de funcionalidades que nos permite configurar campos definidos por usuario de SAP.
¿Qué resuelve?
Facilita la gestión de las configuraciones necesarias para interactuar con los campos definidos por usuario de SAP, y además permite guardar estas configuraciones localmente.
Resumen de versión
Correciones (Fixes)
- Documentación de Nuget.
Rutinas
Udf
Descripción
Contiene implementaciones de métodos para realizar consultas y mapeos de UDFs de las bases de datos de SAP.
GetUdfs
Descripción
Obtiene los UDFs de la base de datos de SAP especificada.
Parametros
- _slRequestObject[
Cl.Core.Structures.Classes.ServiceLayer.SLRequestObject
]: Contiene la información necesaria para realizar una consulta mediante service layer.Ejemplo:
public static void MyMethod() { // En la vista materializada puede devolver los UDFs de una tabla o multiples, queda en usted como quiera manejarlo // SLRequestObject requestObject = new SLRequestObject() { Url_Base = "https://servicelayer.com/b1s/v1", Url_Request = "https://servicelayer.com/b1s/v1/view.svc/MATERIALIZED_VIEW_TO_QUERY_UDFSB1SLQuery?$filter=TableCode eq 'ORDR'", Method = "GET", Login = new Login() { Url = "https://servicelayer.com/b1s/v1/Login", Method = "POST", Content = new LoginContent() { CompanyDB = "TST_SAP_DB", UserName = "sap.lincense.user", Password = "sap.lincense.pass" } } }; CLContext<List<UdfContext>> udfs = Udf.GetUdfs(requestObject); }
GetUdfInvokeDBO
Descripción
Obtiene los valores validos de UDFs.
Parametros
- _slRequestObject[
Cl.Core.Structures.Classes.ServiceLayer.SLRequestObject
]: Contiene la información necesaria para realizar una consulta mediante service layer.Ejemplo:
public static void MyMethod() { // En la vista materializada puede devolver el valor de un UDFs o de multiples UDFs a la vez. // SLRequestObject requestObject = new SLRequestObject() { Url_Base = "https://servicelayer.com/b1s/v1", Url_Request = "https://servicelayer.com/b1s/v1/view.svc/MATERIALIZED_VIEW_TO_QUERY_UDFVALUESB1SLQuery?$filter=UdfName eq 'U_MyUdf'", Method = "GET", Login = new Login() { Url = "https://servicelayer.com/b1s/v1/Login", Method = "POST", Content = new LoginContent() { CompanyDB = "TST_SAP_DB", UserName = "sap.lincense.user", Password = "sap.lincense.pass" } } }; CLContext<UdfInvoke> udfValues = Udf.GetUdfInvokeDBO(requestObject); }
GetUdfConfigured
Descripción
Obtiene las categorias de UDFs configuradas en base de datos local.
Parametros
- _services: [
IServices
]: Instancia de servicio de Cl.Core.Db.- _dbObjectToken: [
System.String
]: Código del recurso de base de datos que se usara para realizar la consulta de las categorias de UDFs.Ejemplo
private IServices _dbServices; public Process(IServices dbServices) { _dbServices = dbServices; } public static void MyMethod() { CLContext<UdfCategory> udfsCategories = Udf.GetUdfCategories(_dbServices, "GetUdfCategories"); }
GetUdfConfigured
Descripción
Usado para obtener los campos definidos por usuario (udfs) configurados localmente según categoría específica.
Parametros
- _services: [
IServices
]: Instancia de servicio de bases de datos de Cl.Core.Db.- _dbObjectToken: [
System.String
] Alias de objeto de base de datos.- _object: [
T
] Objeto que va a ser mapeado a un query.Ejemplo:
private IServices _dbServices; public Process(IServices dbServices) { _dbServices = dbServices; } public static Cl.Core.Structures.Classes.Rebound.CLContext<Cl.Structures.Classes.Udf.UdfTransfer> GetConfiguredUdf() // Retorna todos los udfs configurados localmente según el objeto T return Udf.GetUdfConfigured<MainDBContext, FilterUdfs, ICLSingle>(_dbServices, "GetUdfs", new FilterUdfs(){ Category = category, CompanyId = _companyId }).Get(); }
PostUdf
Descripción
Usado para guardar campos definidos por usuario (udfs) localmente
Parametros
- _core [
ICore
]: Instancia de core de Cl.Core.Db.- _dbObjectToken [
System.String
]: Objeto que va a ser mapeado a un query.- _fields [
System.String[]
]: Propiedades a excluir.Ejemplo:
using Cl.Core.Udfs; //...more usings here private ICore _core; public Process(ICore core) { _core = core; } public static Cl.Core.Structures.Classes.Rebound.CLContext<Cl.Core.Strucutres.Classes.Udf.UdfTransfer> ConfigureUdfs(Cl.Core.Structures.Classes.Udf.UdfTransfer _udfs) { // Guarda los campos definidos por usuario (udfs) localmente según el objeto T. return _udfs.PostUdf<MainDBContext, ICLExclude, ICLSingle>(_core, "PostUdf", "UDFList"); }
PatchUdf
Descripción
Usado para actualizar campos definidos por usuario (udfs) localmente
Parametros
- _core [
ICore
]: Instancia de core de Cl.Core.Db.- _dbObjectToken [
System.String
]: Objeto que va a ser mapeado a un query.- _fields [
System.String
]: Propiedades a excluir.Ejemplo:
using Cl.Core.Udfs; //...more usings here private ICore _core; public Process(ICore core) { _core = core; } public static Cl.Core.Structures.Classes.Rebound.CLContext<Cl.Core.Structures.Classes.Udf.UdfTransfer> UpdateConfiguredUdfs(Cl.Core.Structures.Classes.Udf.UdfTransfer _udfs) { // Actualiza los campos definidos por usuario (udfs) localmente según el objeto T. return _udfs.PatchUdf<MainDBContext, ICLExclude, ICLSingle>(_core, "PostUdf", "UDFList"); }
Solución de problemas
Consultar UDFs configurados
Al consultar UDFs configurados se puede presentar un problema de que la categoría no esté registrada en base de datos con los UDFs que se le hayan configurado, por lo cual el componente lanzara un 404 NotFound. Para evitar este error sin tener que hacer mapeos innecesarios en el código, se puede registrar la categoría con el campo de UDFs con el valor de un array vacío para que el componente lo reconozca y no lance el error 404 NotFound. Todo esto se debe hacer a nivel de base de datos.
Ejemplo
Id CompanyId TableId Udfs CreatedDate CreatedBy UpdateDate UpdatedBy IsActive Groups ----------- ----------- ------------ ------ -------------------------- ------------------- ------------------------- ------------------ ---------- --------- 1 1 ORDR [] 2023-07-26 00:00:00.000 dev@clavisco.com 2023-12-11 09:03:54.510 dev@clavisco.com 0 [] 2 1 OQUT [] 2023-08-28 08:30:09.610 dev@clavisco.com 2023-12-21 13:44:16.647 dev@clavisco.com 0 [] 3 1 OINV [] 2023-08-28 08:35:21.247 dev@clavisco.com 2023-08-29 10:02:35.803 dev@clavisco.com 0 [] 4 1 ORIN [] 2023-08-28 10:39:17.857 dev@clavisco.com 2023-08-28 11:02:02.150 dev@clavisco.com 0 [] 5 1 INV1 [] 2023-08-29 10:33:56.577 dev@clavisco.com 2023-11-09 08:44:07.123 dev@clavisco.com 0 []
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
-
net6.0
- Cl.Core.Db (>= 1.2.3-alpha)
- Cl.Core.Sl (>= 1.5.4)
- Cl.Core.Structures (>= 1.9.5)
- Microsoft.EntityFrameworkCore (>= 7.0.5)
- Microsoft.EntityFrameworkCore.Relational (>= 7.0.5)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.3 | 62 | 1/7/2025 |
1.0.2 | 134 | 8/8/2024 |
1.0.2-alpha | 77 | 7/31/2024 |
1.0.1-alpha | 108 | 6/22/2024 |