cancel
Showing results for 
Search instead for 
Did you mean: 

Permiso para no modificar tipo de cambio en documentos

Former Member
0 Kudos

Hola Expertos

Me encuentro en una situación donde cualquier usuario que realice documentos en un tipo de moneda distinta a la local, puede cambiar el tipo de cambio en el documento.

Los usuarios tiene FALTA DE AUTORIZACION en TIPOS DE CAMBIO E INDICES, trate de usar alguna autorizacion adicional pero me bloquea todo el documento.

El escenario es el sigueinte

Un usuario crea un documento (Orden de Venta), usando un cliente Multimoneda, selecciona la moneda del SN y como es multimoneda selecciona por ejemplo USD por defecto me trae la información que esta en la tabla de tipo de cambio y a pesar que no tiene autorizacion en esa parte, desde el documento permite cambiar el tipo de cambio.

Saben ustedes di es posible hacer esto de manera natural en SAP.

o bien que otra alternativa se puede usar.

Les envío un Saludo

Yen

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hola...

Toma el siguiente código de validación y lo insertas en tu Transaction Notification, a esto es a lo que me refiero basicamente...

IF (@transaction_type = 'A' OR @transaction_type = 'U') AND @object_type = '22'
BEGIN
DECLARE @TIPCAM INT
DECLARE @TCBASE INT
DECLARE @MONDOC NVARCHAR(5)
DECLARE @FECHA DATETIME
SET @MONDOC = (SELECT T0.DocCur FROM OPOR T0 WHERE T0.DocEntry = @list_of_cols_val_tab_del)
SET @FECHA = (SELECT T0.DocDate FROM OPOR T0 WHERE T0.DocEntry = @list_of_cols_val_tab_del)
SET @TCBASE = (SELECT T0.Rate FROM ORTT T0 WHERE T0.Currency = @MONDOC AND T0.RateDate = @FECHA)
SET @TIPCAM = (SELECT T0.DocRate FROM OPOR T0 WHERE T0.DocEntry = @list_of_cols_val_tab_del)
IF @TIPCAM != @TCBASE
BEGIN
SELECT @error = '1'
SELECT @error_message = 'No tiene autorización para modificar el tipo de cambio del documento'
END
END

En este caso, el @object_type 22 corresponde a la Orden de Compra, por lo cual si quisieses modificar el tipo de cambio no sería posible.

Lo único que tendrías que agregarle al código sería la validación del usuario, en caso que quieras que solo algunos usuarios no puedan realizar esta modificación.

Espero te sea de ayuda

Saludos Cordiales,

Answers (1)

Answers (1)

Former Member
0 Kudos

Hola...

No estoy seguro que exista una opción manual para evitar estos cambios. Lo que podrías hacer es generar validaciones por cada documento en SQL (seria para todos casi el mismo código).

Con ello, lo que harías sería declarar una variable en la cual dejas el tipo de cambio del día actual, y luego lo comparas contra el tipo de cambio del documento según corresponda. Si el resultado es que es igual no suceda nada y si son distintos, entonces que no permita al usuario crear o actualizar el documento, enviándole un mensaje de error.

Espero te sea de ayuda

Saludos Cordiales,

Former Member
0 Kudos

Con un Transaction Notification.