Liberación Pedidos de Ventas

17
Truco 48. Liberación en pedidos de ventas. Publicado en 9 marzo, 2013 de Roberto Espinosa 2 Votes Es una consulta bastante habitual : ¿existe una parametrización para definir estrategias de liberación en pedidos de ventas, de forma que las ventas sean autorizadas según determinados criterios, al igual que en los documentos de compras?. La respuesta es NO, aunque disponemos de alternativas para poder configurar algo similar a las estrategias de liberación de compras. Estas son: Utilizar el “Bloqueo de entrega” o el “Bloqueo de factura” para impedir que los pedidos se puedan servir o facturar. Este método no es muy efectivo, ya que cualquier usuario que tenga acceso a la transacción VA02 va a poder quitar el bloqueo. Podriamos quitar la autorización a la transacción, pero no es practico pues los vendedores o administrativos seguro que tendran que poder modificar

Transcript of Liberación Pedidos de Ventas

Truco 48. Liberacin en pedidos deventas.Publicado en9 marzo, 2013deRoberto Espinosa2 Votes

Es unaconsultabastantehabitual: existe una parametrizacin para definir estrategias de liberacin en pedidos de ventas, de forma que las ventas sean autorizadas segn determinados criterios, al igual que en los documentos de compras?. La respuesta es NO, aunque disponemos de alternativas para poder configurar algo similar a las estrategias de liberacin de compras. Estas son: Utilizar el Bloqueo de entrega o el Bloqueo de facturapara impedir que los pedidos se puedan servir o facturar. Este mtodo no es muy efectivo, ya que cualquier usuario que tenga acceso a la transaccin VA02 va a poder quitar el bloqueo. Podriamos quitar la autorizacin a la transaccin, pero no es practico pues los vendedores o administrativos seguro que tendran que poder modificar otras cosas de los pedidos. Utilizacin de exits: podriamos establecer una personalizacin del sistema utilizando los camposde bloqueo en combinacin con programacin en alguna de las exits disponibles (por ejemplo, include MV45AFZZ, exit USEREXIT_FIELD_MODIFICATION o USEREXIT_SAVE_DOCUMENT), con el proposito de impedir que usuarios no autorizados quiten los bloqueos (y liberen los pedidos). Es una solucin compleja que requiere programacin, aunque podra ser valida. En la programacin se podrian incluso incluir tablas Z donde definir valores de clasificacin para la liberacion (por importes, por clases de documento, por organizacin de venta). Utilizar el control de crdito: se definen unos limites de credito para los clientes, que produciran que los pedidos se bloqueen para la entrega. Habr que liberarlos con las transaccion VKM3. Utilizar los esquemas de status: con los esquemas de status podemos definir un flujo de estados al pedido (a nivel de cabecera o de posicin).En cada uno de estos status se puede permitir o impedir operaciones sobre el documento de venta (por ejemplo, no permitir realizar la entrega de mercancia). Igualmente, mediante autorizaciones se puede asignar a los usuarios que status pueden utilizar, de forma que solo los usuarios autorizados podrn establecer el status final de aprobacin que permite continuar con el proceso de la orden de venta.Puede serla solucin a nuestro problema, y solo utilizando customizing.En nuestro caso, vamos a utilizar esta ltima opcin para establecer nuestra estrategia de liberacin en pedidos de venta. Veamos un ejemplo completo definiendo dos pasos de liberacin: uno del Supervisor de Zona y otro delDirector Regional.La parametrizacion detallada de la funcionalidad es la siguiente:Creacin del esquema de status.A travs de la ruta de customizingComercial > Ventas > Documentos de ventas > Definir y asignar esquema de statuspodemos acceder a la parametrizacin (transaccin BS01). Los esquemas de status son una funcionalidad utilizada en muchos mdulos (CO para las ordenes, PS para los proyectos/peps, PM para las ordenes de mantenimiento, etc).El esquema de status consiste en una etiqueta con una descripcin (Z0000001- Status Cabecera Pedido Ventas en nuestro caso).A continuacin, en el detalle, se describen cadauno de los estados posibles dentro del esquema, con unos valores de configuracin que vamos a explicar a continuacin (son los que determinan el comportamiento de estos y el posible flujo para pasar de uno a otro): NClasificacin: un numerador que nos identifica a cada uno de los status dentro del esquema (en nuestro ejemplo 10, 20, 30). Status: cdigo propio que identifica a cada uno de los status (en nuestro ejemplo Z001, Z002, Z003). Texto Breve: descripcion corta del status. Texto Explicativo: es un flag que nos indica si se ha introducido un texto largo donde explicamos de forma detallada las caractersticas del estado. Stat.Ini: indica que el status es inicial. Es decir, cuando creemos un documento que tenga el esquema de status asociado, este ser el estado que se le asignar por defecto. Solo puede haber uno. Nclasif.inferior: status inferior minimo desde el que se puede acceder desde el estado actual (vuelta a status anterior). Nclasif.superior: status superior mximo desde el que se puede acceder desde el estado actual (cambio a status superior). Clave autorizacin: podemos indicar aqu una etiqueta. Esta obligar a que el usuario que quiera poner un documento en este status tendr que tener en su perfil de autorizaciones el objeto B_USERSTAT con el valor indicado aqu. Sino, no podr liberar el pedido de venta.En nuestro ejemplo, hemos definido 3 niveles: Z001 Bloqueo Supervisor Zona: status inicial que quedar asignado al pedido al crearlo. Permite pasar al status superior Z002. Z002 Bloqueo Director Regional: permite volver al status Z001 o pasar al status superior Z003. Tiene el objeto de autorizacin Z001 asignado, de forma que solo usuarios con ese valor asignado en el objeto de autorizaciones B_USERSTAT van a poder cambiarlo. Z003 Liberado Autorizado: permite volver al status Z002. Tiene el objeto de autorizacin Z002 asignado, de forma que solo usuarios con ese valor asignado en el objeto de autorizaciones B_USERSTAT van a poder cambiarlo.En nuestro ejemplo, por la configuracin para llegar al status Z003 siempre se tendr que haber pasado por el Z001 y Z002, por lo que realmente estamos obligando a dos niveles de autorizacin.Definicin de operaciones permitidas por status.En este paso de parametrizacindefiniremos para cada uno de los status que operaciones estan permitidas o restringidas sobre los documentos de ventas. En primer lugar, cuando estemos definiendo los status del esquema, pulsaremos el botn Tipos de objetos.A continuacin marcaremoslos objetos relevantes para el control de operaciones en el status. En nuestro caso Cabecera pedido de cliente y Posicion de pedido de cliente.Una vez realizado este paso, ya podremos configurar las operaciones permitidas por cada status dentro del esquema. Haciendo doble click en cada status accedemos al Control de Operaciones. En nuestro ejemplo, para los status Z001 y Z002 impedimos cualquier suministro de mercanca o facturacin del pedido.Para el status Z003, no hay ningn tipo de restriccin (todas las operaciones estn permitidas). Se pueden controlar otro tipo de operaciones sobre los documentos de venta que no vamos a ver aqu.Las operaciones no indicas en el control de operaciones no estan sometidas a ninguna restriccion en los status de usuario.Asignacin del esquema a nivel de cabecera de documento de ventas o posicin.Para que el esquema sea efectivo, hay queasignarlo a una clase de documento de ventas (transaccin VOV8) o bien a un tipo de posicin (transaccin VOV7).El primer caso indica que la liberacin ser a nivel de cabecera y el segundo a nivel de posicin.En nuestro ejemplo, hemos seleccionado una liberacin por documento. Tendremos que asignar el esquema de status a todas aquellas clases de pedido de venta para los que queramos establecer el control de liberacin.En nuestro ejemplo, hemos elegido la clase de documento TA Pedido estndar. Tambin podriamos haber utilizado esta funcionalidad para autorizaciones especificas de documentos especiales, como abonos/notasde cargo, para obligar a que siempre tengan que ser autorizados de una forma especifica.Asignacin de autorizaciones.A continuacin, tendremos que crearlos roles de autorizacion (transaccin PFCG) conteniendo el objeto B_USERSTATpara asignarlos a los usuarios autorizados para la liberacion de cada uno de los status.La Clave de Autorizacin asignada coincide con el valor que indicamos en la definicion de los status en el campo con el mismo nombre.Proceso de liberacin.Una vez creado el pedido de venta, por la parametrizacin automaticamente se le asignara el esquema de status definido. Para ver la informacin de status, podemos acceder desde latransaccin VA02, a los datos de cabecera, pestaa Status.Aqu podemos ver que al pedido de venta al crearlo se le ha asignado automaticamente el status de usuario Z001. Si intentamos crear la entrega para el pedido ( y as hacer la salida de mercancia al cliente) con la transaccin VL01N, el sistema produce el siguiente mensaje de error:Necesitaremos antes liberar el pedido cambiando el status al correcto. Para ello, desde la pestaa de status pulsaremos el botn Status Objeto y pasaremos al detalle de la informacin de status, lugar desde el cual realizaremos el cambio (seleccionando el status deseado).Elcambio de status no estar permitido al usuario sino tiene las autorizaciones oportunas. Igualmente, desde este lugar podemos consultar que operaciones estan bloquedas en cada uno de los status. Por ejemplo, en el status Z002 BLoqueo Directo Regional, aparecen bloqueada la creacion de entrega, suminitro y facturacion.Si vieramos el status Z003 podriamos ver que ya no hay ningun bloqueo, tal y como hemos parametrizado en el esquema de status creado. Una vez llegado a este estado, el pedido esta autorizado y se pueden continuar en el los procesos habituales de preparacin del suministro, creacin de entrega y facturacin.Para poder localizar los pedidos segn su status, tenemos disponible una transaccin estandar, la V.26 Documentos ventas segn status objeto(solo nos permite indicar el status que queremos buscar y nos localiza los documentos que cumplen las condiciones). Sera la herramienta para trabajar en los procesos de liberacion (no permite liberar de forma masiva).Una vez indicados los criterios de seleccion, el report nos devuelve la lista de pedidos en el status indicado y nos permite el acceso directo a cada documento para la modificacin del status.Preparacin de la liberacin masiva de pedidos con un pequeo desarrollo.Para poner la guinda en el proceso de liberacin de ventas podriamos construir una herramienta para que los usuarios pudieran liberar de forma masiva los pedidos, ya que puede no ser muy operativo el tener que entrar pedido por pedido, acceder a la seccin de status y desde ah cambiarlos. Como no existe una herramienta estandar para este cometido (por lo menos yo no la conozco), podriamos hacer un pequeo desarrollo que recuperara la informacin de los pedidos pendientes, nos mostrase el estado actual y nos permitiese cambiar de estado los registros seleccionados.Para este desarrollo, podriamos utilizar las tablas: VBAK: cabecera pedido de venta. En el campo OBJNR tengo el nmero de objeto que me va a permitir leer los status de cabecera. VBAP: posiciones pedido de venta. JEST: status por objeto. JCDS: historial de modificaciones en el status.Tambin nos podran ser utiles los modulos de funcin, especificos para el tratamiento de los status: STATUS_READ: nos devuelve el status de un documento de venta o de una determinada posicion. STATUS_CHANGE_EXTERN: funcion para cambiar el status de un objeto (tener en cuenta que se le pasa el codigo de status interno que crea Sap cuando creamos los diferentes status en un esquema de status (ver tabla TJ30T para sacar la equivalencia)).