viernes, 22 de junio de 2012

Validaciones SE16N con &SAP_EDIT


Casi todo el mundo que está trabajando en SAP  tiene, tarde o temprano, que modificar datos en las tablas del diccionario, del estandard o tablas creadas a medida. Una manera de hacerlo es usar la sentencia &SAP_EDIT antes del display de datos en la SE16N. No obstante, SAP ha notado este uso por parte de consultores y usuarios y ha diseñado notas que corrigen esta funcionalidad por considerarlo un BUG en la seguridad de los datos del sistema en entornos Productivos. Entiendo el sentido de esta preocupación y la solución aportada, sin embargo, siempre puede ocurrir que hay que modificar un dato debido a que otro proceso, o bien un usuario o un programa ha generado un dato erróneo y no es posible una marcha atrás. Por ello coloco el procedimiento para saltarse las validaciones implementadas, en casos puntuales. 

1.) Activación de SAP_EDIT en la SE16N.

Breakpoint en el programa LSE16NF10, rutina EXECUTE.
Cuando llama a la función SE16N_INTERFACE hay que cambiar las variables GD-EDIT a X y la GD-SAPEDIT a X.

Con esto simulamos el &SAP_EDIT.

2.) Evitar el chequeo de verificación

Breakpoint en programa LSDFCF02, rutina FORKEY_CHECK Linea if has_forkey is initial

Cuando se grabe en la SE16N y se pare en este punto hay que dar a continuar hasta que la variable DFIES_WA-FIELDNAME tenga el nombre de los campos a chequear de la tabla que queremos modificar. Hay que limpiar la variable has_forkey para todos los campos que se chequean, si no se hace así, no se graba la modificación.

"Afortunadamente" esto no se hace fácilmente por el cual siempre un programador experimentado en debug es necesario para realizar este proceso. De todos modos, apelo a vuestra responsabilidad usando esta información.


lunes, 2 de abril de 2012

Crear Listados ALV en SAP

Adjunto documentación interesante para crear ALV GRID  en SAP. Listados dinámicos y configurables.

http://abapinho.com/wp-content/uploads/2010/05/ALV_Grid_Control_2003.pdf

http://help.sap.com/printdocu/core/print46c/en/data/pdf/BCSRVALV/BCSRVALV.pdf

No me voy a extender mucho en este post, más bien solo hacer una recomendación. Sería bueno hacer una función a la cual solo pasando los datos ya saque un ALV modelo. Ahorra mucho tiempo en los proyectos que normalmente, precisan de muchos listados.

lunes, 16 de enero de 2012

Cambiar Documentos de FI sin Batch Input

Una forma de actualizar los documentos de FI de modo automático suele ser la llamada por código a la misma transacción que utiliza el usuario para cambiar los documentos, no obstante haciendo eso también se suele estar sujeto a todas las validaciones a las que las transacciones son sometidas para evitar que los usuarios introduzcan datos en el sistema que no conviene por las razones que sean.

Por eso suele ser una buena idea hacer uso de una función estandard llamada CHANGE_DOCUMENT, con la cual, sólo cargando las tablas de forma adecuada, se pueden cambiar los valores de las tablas sin necesidad de estar sometidos a las validaciones y al consiguiente manejo de errores que siempre suele ser engorroso.