Estimados dejo esto por aca para quien le pueda servir, algun caso similar. De acuerdo a las indicaciones de SAP. El problema ocurre porque para cada busqueda del dato Socio de Negocio, que se utiliza para diferentes transacciones. Los usuarios tienen la costumbre de ocupar el criterio ALL es decir, (**). Si se ocupa por ejemplo P* o p* que en nuestro caso es la inicial para los codigos de proveedores. El problema no ocurre. Similar a si buscamos datos de Clientes con el criterio C* o c*.
La tabla actulamente cuenta con unos 93.000 registros aprox.
La solución, finalmente se acordó realizar una depuración de Datos maestros de clientes con nuestro partner puesto que existen unos 88.000 aprox que no tienen ninguna transacción en sap.
Lo otro que nos ayudo bastante fue crear busquedas formateadas en los documentos que mas se ocupan como por ejemplo. Transferencias de stock. Orden de compras. Solicitud de Compras. Contratos etc.
Adjunto query que usamos para la Busqueda formateada Sirve para buscar Socios de Negocio Activos:
SELECT T0."CardCode" AS "Código Socio de Negocio",
T0."CardName" AS "Nombre Socio de Negocio",
T0."LicTradNum" AS "RUT Socio de Negocio",
T1."Name" AS "ID de Contacto"
FROM OCRD T0
JOIN OCPR T1 ON T0."CardCode" = T1."CardCode"
WHERE T0."validFor" = 'Y';
-
SELECT
: Esta cláusula especifica qué columnas se mostrarán en los resultados de la consulta.
-
T0."CardCode" AS "Código Socio de Negocio"
: Selecciona el campo “CardCode” de la tabla “OCRD” y lo muestra como “Código Socio de Negocio” en el resultado.
-
T0."CardName" AS "Nombre Socio de Negocio"
: Selecciona el campo “CardName” de la tabla “OCRD” y lo muestra como “Nombre Socio de Negocio” en el resultado.
-
T0."LicTradNum" AS "RUT Socio de Negocio"
: Selecciona el campo “LicTradNum” de la tabla “OCRD” y lo muestra como “RUT Socio de Negocio” en el resultado.
-
T1."Name" AS "ID de Contacto"
: Selecciona el campo “Name” de la tabla “OCPR” y lo muestra como “ID de Contacto” en el resultado.
-
FROM OCRD T0
: Indica que la consulta se realizará en la tabla “OCRD”, y le asigna el alias “T0” para hacer referencia a ella en el resto de la consulta.
-
JOIN OCPR T1 ON T0."CardCode" = T1."CardCode"
: Realiza una unión (JOIN) entre las tablas “OCRD” (T0) y “OCPR” (T1) utilizando el campo “CardCode” como la relación entre ellas. Esto permite combinar información de ambas tablas basándose en el valor del campo “CardCode”.
-
WHERE T0."validFor" = 'Y'
: Es una cláusula que filtra los resultados y muestra solo aquellos registros donde el campo “validFor” de la tabla “OCRD” tenga el valor ‘Y’, lo que indica que los socios de negocios están activos.
En resumen, esta consulta combina información de las tablas “OCRD” y “OCPR” usando el campo “CardCode”, y muestra el código, nombre y RUT del socio de negocios, así como el ID del contacto asociado a ese socio de negocios. La consulta solo muestra socios de negocios activos, aquellos cuyo campo “validFor” tiene el valor ‘Y’.
Para el addons de Construccion, tenemos un campo definido por usuario, que indica si es o no un subcontrato, es la misma query pero de la siguiente forma:
SELECT T0."CardCode" AS "Código Socio de Negocio"
, T0."CardName" AS "Nombre Socio de Negocio"
, T0."LicTradNum" AS "RUT Socio de Negocio" FROM OCRD T0
WHERE T0."U_IsSubContractor" = 'Y';