Skip to Content

Archived discussions are read-only. Learn more about SAP Q&A

Store procedure

Como estan

Necesito saber de que manera realizar un sp que controle que no se puedan crear lotes repetidos para dos grupos de articulos, esto en las entradas de mercancia m uchas gracias por la ayuda

Former Member
Former Member replied

Hola prueba este SP

IF @transaction_type IN ('A','U') AND @object_type = 20
BEGIN
	IF EXISTS (	SELECT T0.ItemCode
			FROM PDN1 T0
			INNER JOIN OBTN T1 ON T1.ItemCode=T0.ItemCode
			INNER JOIN OITM T2 ON T2.ItemCode=T0.ItemCode
			WHERE T0.DocEntry=@list_of_cols_val_tab_del AND T2.ItmsGrpCod IN ('01','02')/*Aqui coloca los grupos de articulos que quieres*/ AND T1.DistNumber IN (	SELECT DISTINCT A.DistNumber
																						FROM OBTN A
																						WHERE A.ItemCode=T0.ItemCode	))
	BEGIN
		SELECT @error = -1001, @error_message = N'Lote ya existe, no puede crear lotes ya existentes'
	END
END

Saludos

El @list_of_cols_val_tab_del es el campo de llave que posee cada tabla, por ejemplo el campo llave de la tabla OCRD es el CardCode, se usa para hacer referencia al documento que estas guardando. Si te fijas en SP de arriba se usa el DocEntry como el campo llave ya que es el unico campo que es unico por documento.

Revisa las tablas en el Management Studio los campos de llave de las tablas, ese es el campo que puedes relacionar con el @list_of_cols_val_tab_del.

0 View this answer in context
Not what you were looking for? View more on this topic or Ask a question