miércoles, 22 de septiembre de 2021

Item cost not found for one or more items

 Esta vez les comparto un error que se nos presenta cuando intentamos realizar movimientos de inventario en el sistema o vía Data Transfer: Item cost not found for one or more items.

Para resolver tendríamos que activar la casilla en Detalles de Sociedad: Permitir liberación de stoc&k sin costos de artículos, como se aprecia en la imagen abajo.




Pero está no siempre es la opción ideal ya que se pierde el control de los artículos que no tienen costo en nuestro sistema, por lo que la segunda opción es asignarle un costo al artículo desde la revalorización de inventario que encuentras en el modulo de inventarios. En la imagen abajo muestro la ruta:


Una vez aplicado el costo, el artículo podrá tener movimientos de inventario.





martes, 21 de septiembre de 2021

Inventarios - Obtener el costo de artículo por Almacén en SAP

Hola de nuevo,

Les comparto como pueden obtener el costo de los artículos por almacén, esto nos ayuda bastante a la hora de detectar cuales no tienen costo, SAP en algunas de sus transacciones no no los permite según este configurado el sistema, como sabemos para darle un costo debemos usar la Revaloración de Inventario en el modulo de Inventarios.

SELECT distinct d.itemcode, c.ItemName, d.AvgPrice , d.WhsCode
from OITM c
inner join OITW d on c.ItemCode = d.ItemCode 
where d.WhsCode = 'CEDIS'

Espero les sirva. 

Validación de lote duplicado - TN en entrada de inventario

 Hola, les compartiré ahora un ejemplo para validar si la entrada que estamos realizando con lotes lleva uno que ya se halla ingresado con anterioridad, este ejemplo puede implementarse según el tipo de objeto donde se este ingresando o moviendo el lote.

Para el caso de entrada de mercancía por el modulo de inventario cree el siguiente ejemplo dada mi necesidad:

IF @object_type ='59' and @transaction_type in ('A')
BEGIN
declare @countRegistrados int
set @countRegistrados = (SELECT COUNT(c.batchnum) FROM IBT1 c
 inner join IBT1 B2 on c.BatchNum = B2.BatchNum and c.BatchNum in (isnull(b2.BatchNum,'')) and b2.BaseType = 59 and c.BaseType = 59 and c.BaseType = c.BaseType
 where  c.BaseEntry = @list_of_cols_val_tab_del
 and b2.BaseEntry <> @list_of_cols_val_tab_del)
 
if @countRegistrados > 0
begin
set @error = 1
set @error_message = 'Error TI... El lote ya existe, existe(n) ' + cast(@countRegistrados as varchar(3)) + ' Lote(s) ya registrado(s)'
select @error, @error_message
end
End

El original es este:


IF @object_type ='20' and @transaction_type in ('A','U')
BEGIN
if exists(Select distinct 'Error' from IBT1 B1 , IBT1 B2
where b1.BatchNum in (isnull(b2.BatchNum,'')) and B1.BaseEntry = @list_of_cols_val_tab_del
and b2.BaseEntry <> @list_of_cols_val_tab_del and b2.BaseType = 20 and b1.BaseType = 20 )
begin
SET @error = 2000
SET @error_message = 'Duplicte Batch not allowed'
end
End

Ya sea uno u otro, cualquiera de los dos validan perfecto, claro entre mas condiciones tenga será más rápida.


No se pudo conectar con la base de datos

 Hola, ¿Cómo están?, 

Les comparto un error que puede ser muy usual pero que no por eso tenemos siempre la solución a la mano, el error es el siguiente: No se pudo conectar con la base de datos 

Nos sucede al querer generar un PDF o un Informe Crystal Report, para arreglar esto no le demos tantas vueltas, solo requerimos instalar el SQL Client de SQL SERVER, con esto SAP ya contará con el acceso a la base de datos.



Espero les ayude a resolver de manera pronta este inconveniente.