Autorización para Modificar Orden de Fabricación

Buenas tarde comunidad necesito generar un query de autorizaciones para el Jefe de Planificación , lo cual una vez que intente hacer unas modificaciones en la Orden de fabricación llámese articulo, descripcion , cantidad le de un mensaje de autorización , pero si solo quiere crear la orden de fabricación esta opción si le permita hacerlo.
Espero que me puedan ayudar amigo

Explica bien que es lo que necesitas…

Hola @Jorge_Hernand
Debes tener en cuenta que las ordenes de producción y sus movimientos (picking, consumo, terminación) no están habilitados para utilizar procedimientos de autorización.

Andres Ramirez Jaramillo :colombia:

Hola Andres gusto en saludarte , entiendo lo que me estas mencionando , eso quiere decir que no existe una forma que me permita hacer un procedimiento de autorización en la línea de la orden de fabricación?? , quiero que si intenta hacer una modificación y le de al boton crear? le genere una autorización… a parte no puedo colocarlo de forma de lectura en las autorizaciones porque es la persona que genera las orden de fabricación ,ustedes podrian darme una idea por favor

Hola @Jorge_Hernand
No son posibles las autorizaciones, podrías crear un SP para bloquear las actualizaciones de las ordenes.

@andresramirez y eso como se hace y qué función tiene??

@andresramirez no se crear un procedimiento almacenado que me permita esta autorización

@Jorge_Hernand esta bien lo que te dice @andresramirez lo mas simple si es que trabajas en SQL, desconozco si en hana se puede hacer, es hacer a nivel de Transaction Notification, un bloqueo para las actualizaciones de ordenes de fabricacion.

IF (@object_type= '202') and (@transaction_type='U' ) 
begin 
if exists (select UserSign from WOR1 T inner join OWOR T1 
										On T.DocEntry = T1.DocEntry
									 where T.DocEntry =  @list_of_cols_val_tab_del
									and T1.UserSign  not in ('30220','22243') )
									

	begin
		SET @error = 0923
		SET @error_message = 'No esta Permitido Actualizar Ordenes de Fabricacion'
	end
end

En este ejemplo esta bloqueado para todos los usuarios excepto 2 que serian los que pueden modificar una orden de fabricacion.

Saludos

No se si se escucha tonta mi pregunta @Patricio_Guti , pero donde debo colocar esta consulta . que paso debo hacer en el SQL server ??

@Jorge_Hernand no es tonta tu pregunta, es solo desconocimiento, si no sabes ocupar el SQL, mejor te orientas con alguien que trabaje en eso en tu área que te ayude, ya que un cambio a nivel de TN, puede generar problemas en SAP.
El Transaction Notification es un SP, que se puede ocupar para validar transacciones en SAP bajo SQL. Cada vez que generas lineas nuevas va a generar que toda transacción valide en ese SP. Por eso si no conoces bien como funciona SQL y tienes dentro de tu equipo de trabajo alguien que si conoce este motor te orientes con el y te ayude a generar esta restricción, ya que lo que te indique es mas una restricción que una alerta.

Saludos

@Patricio_Guti voy a probarla en una base de datos test para ver como me funciona

Gracias a todos los que participaron en sus comentarios , con este query de @Patricio_Guti estaba la solucion

Ok, que bueno que te sirva

Saludos.

@Patricio_Guti lo que no entiendo para que funciona esta condicion?

where T.DocEntry = @list_of_cols_val_tab_del
and T1.UserSign not in (‘30220’,‘22243’) )

@list_of_cols_val_tab_del (te entrega el valor de la llave del objeto de negocio en el que esta el SP) y el usersign en mi caso es el ID del usuario en la tabla OUSR en este caso, la restricción esta para todos los usuarios exceptos los usuarios 30220 y 22243.
Tomando el usersign de la tabla WOR1, que es la linea de la orden de fabricación.
Por que tu creas la OF y viene de una lista de materias, el usuario al crear la orden y después de liberar si hace algún cambio a los componentes o a cualquier parte de la linea le va a saltar el cuadro rojo abajo restringiendo la acción.

@Patricio_Guti donde puedo visualizar eso parametros porque le hice un select a la tabla OUSR y no me salen esos valores

La tabla OUSR tiene todos los usuarios de SAP, el primer parametro es el USERID que es el mismo de la tabla OWOR campo usersign

Tabla OUSR

tabla OWOR

image

Saludos

Ahora la otra solución mas simple es que si nunca se modifica los componente de la orden de fabricación y siempre se ligan de su lista de materiales es dejar inactivo los campos que requieras, por ejemplo N° de articulo,descripción y cantidad base.

image

Al desmarcar queda en gris los campos que no están activo por lo cual no se pueden modificar

@Patricio_Guti ese parte la entiendo perfectamente , hablo de este valor 30220 y 22243 y disculpa mi ignorancia

esa es la userid de mis usuarios que autorice para que pudieran modificar la orden, tu puedes cambiar esos valores , por ejemplo deja solo el userid del usuario de jefe de Planificación, para que solo el pueda modificar la OF.