Transaction Notification Oportunidades

Hola compañeros, Buen día!

Les comento la situación que se me presenta, esperando algo de asesoría u observaciones de apoyo.
En el módulo de Oportunidades me he encontrado en un problema, quiero tener una buena organización de las mismas, para control interno y de las actividades de cada vendedor, pero, en varias ocasiones los vendedores crean las oportunidades sin un nombre, por más que se les ha indicado que no olviden ese gran detalle lo siguen ignorando.
Por lo tanto, el modo en que se me ha ocurrido solucionar dicho problema, es añadiendo un código al Transaction Notification y así evitar que se cree una oportunidad sin nombre.

Este es mi código:

IF @transaction_type in ('A')  AND @object_type = '97' 
BEGIN
			--OBLIGAR A ESCRIBIR UN NOMBRE A LA OPORTUNIDAD
		begin
					IF EXISTS(SELECT 1
						 FROM OOPR T0  
						 WHERE T0.[Docentry] = @list_of_cols_val_tab_del 
						 and  isnull(T0.Name,101) = 101 --VACIO = 101
						 )
						 Begin
							 set @error=001001
							 set @error_message= 'Por favor, asigne un nombre a la oportunidad.'
						 End
			
		END

END

Hasta donde tengo entendido, y he investigado, el ObjType de la tabla de oportunidades es el 97, ejecuto el código, pero en SAP no me valida el TN, y sigue permitiendo crear oportunidades sin nombre.

Cabe mencionar, que hice un SELECT * de la tabla OOPR pero no logré encontrar el campo en donde se guarda el ObjType.

Espero me puedan orientar, o apoyar un poco en esta situación.
Gracias por su atención.

Que tengan buen día!

:slight_smile:

Hola,

Prueba colocando la condición de esta forma:

ISNULL(T0.[Name],'') = ''

El ObjType que tienes es el correcto.

Hola @JeffersonQ09 ,
gracias por tu comentario, ya hice la modificación pero sigo con el mismo problema.

:confused:

Gracias! Saludos

Prueba colocando

T0.Name is not null

Puedes ver los diferentes object type en esta pagina
Lista de object type

Hola @EMSO, gracias por tu comentario, ya verifique el ObjType, según el link que me comentaste, si estoy colocando el correcto.

También intenté con la modificación que me comentas, y sigo con el mismo problema.

Saludos

Era

T0.Name is null , me parece que es T0.[DocEntry] tmb`

si no , intenta con este codigo

BEGIN
Declare @var Varchar(20)
set @var = (Select T0.Name  FROM OOPR T0  
					 WHERE T0.[DocEntry] = @list_of_cols_val_tab_del)
if (@var is null)
 Begin
							 set @error=001001
							 set @error_message= 'Por favor, asigne un nombre a la oportunidad.'
						 End
END
1 me gusta

Prueba con este sp:

if @object_type in ('97') and @transaction_type in ('A')  
begin
	if (select count(*)
		FROM OOPR T0 
		WHERE (ISNULL(T0.[Name],'') = '')
        		AND @list_of_cols_val_tab_del = T0.[DocEntry])>0
	begin
			set @error = '001001'
			set @error_message = 'Por favor, asigne un nombre a la oportunidad.'
	end
end

Tienes razón, no había visto que estaba al revés la condición, igual no tuve la solución con esa modificación.

Sin embargo tu segunda alternativa al query si funcionó!

Muchas gracias por tu aporte!

Que tengas buen día!

Saludos

:slight_smile: