cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

SP Transaction y modelo de autorizacion en doc. prelimiar inventario

Former Member
0 Likes
1,813

Estimados,

Tengo la siguiente situacion:

Se creo (2) SP transaction en documento entrada de mcias. (inventario/operaciones de stock) para validar que se complete el campo de numero de referencia (OING, Ref2) y que se coloquen 2 caracteres especificos como parte de la referencia, tambien se tiene creado un procedimiento de Autorizacion donde el modelo està basado en un query que valida el numero de serie del documento Entrada de Macia.

El asunto està que los SP SOLO se disparan cuando el documento se ha autorizado, es decir se presenta la solicitud de autorizacion sin validar si el campo referencia quedo bien elaborado, el usuario autorizador puede autorizar y cuando el documento preliminar se va a crear como definitivo se presentan los SP, demasiado tarde por que autorizado NO se puden ahcer cambios.

No he podido detectar donde esta el error, o como se debe manejar esta situacion para que los SP se presenten al momento de crear el Preliminar antes de la solicitude Autorizacion...

Cualquier comentario que me oriente sera altamente agradecido.

JAMS

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Likes

El codigo que tienes actualmente funcionando pruebalo pero en



if @object_type in ('112') and @transaction_type in ('A')
BEGIN
.
.
.
.
.
END

El no 112 es de los DRAFTS

Cambia las tablas que tienes actualmente por la ODRF (para drafts) Y muy importante agrega un


AND ODRF.ObjType ='el numero que corresponde al object type de tu documento preeliminar (por ejemplo 67 para traspasos)'

De esta forma es como si le dijeras al transaction que valide cuando se este creando un DRAFT de un Traspaso

Former Member
0 Likes

Gracias Mauricio, solucionado ¡

Former Member
0 Likes

Solucionado ¡¡

Gracias Mauricio.

Former Member
0 Likes

Hola Mauricio,

Validando tu post y dando seguimiento a los pasos que indicas te comento que tengo un caso similar tengo un procedimiento de autorización de ofertas de compras por el total del documento y dos transaction notification que validan los artículos y el centro de costos permitido por usuario.

Este es mi código, si observas sigue la linea que comentas sin embargo no se ejecutan los transaction al crear el archivo Draft.

IF @object_type = '540000006' AND @transaction_type IN ('A','U')

Begin

  Declare @userIT int

  Declare @typeIT varchar(255)

  set @userIT = (select T0.UserSign from ODRF T0 WHERE T0.DocEntry = @list_of_cols_val_tab_del)

  DECLARE cItems CURSOR FOR

  SELECT T1.OcrCode FROM ODRF T0  INNER JOIN DRF1 T1 ON T0.[DocEntry] = T1.[DocEntry] WHERE T0.DocEntry = @list_of_cols_val_tab_del

  OPEN cItems

  FETCH cItems INTO @typeIT

  WHILE (@@FETCH_STATUS=0)

  BEGIN

  IF ((@userIT=170) and @typeIT not in ('x', 'x1', 'x2'))

  BEGIN      

  SET @error = -3000

  SET @error_message = 'Centro de costos ' + CAST(@typeIT as nvarchar) + ' no autorizado - Utilice un centro de costos permitido'

  BREAK;

  END

  FETCH cItems INTO @typeIT

  END

  CLOSE cItems

  DEALLOCATE cItems

END

Ojala puedas orientarme al respecto, gracias.

Quedo pendiente.

Saludos.

Answers (1)

Answers (1)

ERN_KLION
Explorer
0 Likes

Buen día para futuras referencias dejo un ejemplo,

if (@object_type in ('112')) and (@transaction_type = 'A') --Orden de Venta

begin

declare @campousuario1 as nvarchar(10)

set @campousuario1 = (select isnull(T0.U_UsuarioE,0) from ODRF T0 where T0.DocEntry = @List_of_cols_val_tab_del AND T0.ObjType ='17')

IF (@campousuario1 = '0')

begin

select @error = 1

set @error_message = 'No puede ingresar una Factura sin colocar quien crea el Documento'

end

end

 

 

Saludos

Kelvin Velásquez

Soporte SAP B1