Ayuda SAP

Campos obligatorios OCRD OCPR

sql
Etiquetas: #<Tag:0x00007f2255572f28>

#1

Buen Día Estimados

Necesito hacer que algunos campos de los socios de negocios sean obligatorios, específicamente los que están en la ficha Personas de Contacto (ID de Contacto, Nombre, Apellido, Teléfono1, Correo Electrónico)

He hecho algo pero no me funciona y no se si me puedan echar una mano o indicarme en que estoy fallando.

IF (@transaction_type = 'U'  or @transaction_type = 'A') AND @object_type IN ('2')
begin
declare @name nvarchar(50)
declare @nombre nvarchar(50)
declare @apellido nvarchar(50)
declare @telefono nvarchar(20)
declare @correo nvarchar(100)
 
set @name=(select A.Name from ocpr A inner join OCRD B on A.CardCode=B.CardCode where CntctCode=@list_of_cols_val_tab_del)
set @nombre=(select A.FirstName from ocpr A inner join OCRD B on A.CardCode=B.CardCode where CntctCode=@list_of_cols_val_tab_del)
set @apellido= (select A.LastName from ocpr A inner join OCRD B on A.CardCode=B.CardCode where CntctCode=@list_of_cols_val_tab_del)
set @telefono= (select A.Tel1 from ocpr A inner join OCRD B on A.CardCode=B.CardCode where CntctCode=@list_of_cols_val_tab_del)
set @correo= (select A.E_MailL from ocpr A inner join OCRD B on A.CardCode=B.CardCode where CntctCode=@list_of_cols_val_tab_del)
 
if @name = null
	begin																				 --envia error			
	set @error=(10)
	set @error_message='El Campo ID de Contacto no puede estar vacío'
	end
if @nombre = null
	begin																				 --envia error			
	set @error=(11)
	set @error_message='El Campo Nombre no puede estar vacío'
	end
if @apellido = null
	begin																				 --envia error			
	set @error=(12)
	set @error_message='El Campo Apellido no puede estar vacío'
	end
if @telefono = null
	begin																				 --envia error			
	set @error=(13)
	set @error_message='El Campo Teléfono1 no puede estar vacío'
	end
if @correo = null
	begin																				 --envia error			
	set @error=(14)
	set @error_message='El Campo Correo electrónico no puede estar vacío'
	end
end

#2

Hola @Lsanders

Cambia tu where, puede ser ... where B.CardCode = @list_of_cols_val_tab_del)

Ten en cuenta lo siguiente

@num_of_cols_in_key int,
Devuelve el número de campos llave de la tabla que se está afectando.

@list_of_key_cols_tab_del,
Devuelve el nombre de los campos llave de la tabla que se está afectando.

@list_of_cols_val_tab_del
Devuelve el valor del campo llave de la transacción que se está ejecutando en SAP B1, ejemplo, si estas agregando un cliente nuevo devolverá el código interno del ese cliente. Esta es la variable clave a la hora de hacer un script para validar en SAP B1 `

Saludos.


#3

Gracias por la respuesta. lo cambie como indicaste y le agregue otra condición y funciono


cerrado #4