lunes, 30 de abril de 2012

La tabla de los usuarios Desarrolladores ABAP en SAP.

Es frecuente que los usuarios de desarrollo, programación o developer, como quieras llamarlos se hereden y se presten durante un proyecto SAP y a que al final no sepamos cuales había. O nos dediquemos todos a usar el mismo cuando tenemos varios.
Para encontrarlos nada mejor que consultar la tabla DEVACCESS con la SE16N o SE16 según el gusto del programador ABAP.

miércoles, 25 de abril de 2012

MIRO, validación ítem. ¿Customer-Function o BADI?

Objetivo:

Realizar una validación propia en los ítems de la MIRO. Primero he probado con una ampliación vía CMOD. Me he creado el proyecto ZMIRO con MM08R002 (Exit de usuario para verificaciones de tolerancia) y he implementado la EXIT_SAPLMR1M_001. Cada vez que he tocado una posición me ha ido pasando, y con un MESSAGE i015(zmsg) WITH i_ydrseg-rblgp w_tarifa w_tarifa_x w_bstme me ha salido el error. Hacer notar que por cada posición pasaba 3 veces.

Validar al grabar con BADI:


Pero al grabar sin tocar no pasaba por la validación. Después de buscar por internet la solución parece ir por aquí.
SE18 para buscar la BADI que nos interesa, en nuestro caso INVOICE_UPDATE.
SE19 para implementarla

Implementamos, y le damos nombre. 








Activamos 












Le damos a nueva (folio) 










Le damos nombre, podemos poner el mismo y el texto corto. El último no campo no hace falta.







Al volver a la selección de enhacements, seleccionamos el nuestro.





Vamos a la pestaña Interface:











Clic en CHAGE_AT_SAVE 




Y podemos implementar en la línea de la solución que habíamos encontrado en snc.sap.com.

method IF_EX_INVOICE_UPDATE~CHANGE_AT_SAVE.
  DATA: lv_name_xblnr(30) TYPE c VALUE '(SAPLMRMP)RBKPV'.
  FIELD-SYMBOLS: <fs_rbkpv> TYPE mrm_rbkpv.

  ASSIGN (lv_name_xblnr) TO <fs_rbkpv>.
  IF <fs_rbkpv> IS ASSIGNED.
    <fs_rbkpv>-xblnr = 'VALUE'.
  ENDIF.
endmethod.

Validar al grabar con Customer-Function.

Gracias a Laura que me ha dado otra posibilidad para no tener que implementar la BADI. Incluyendo en mi proyecto ZMIRO de la CMOD la LMR1M001 (Exit de usuario en la verificación de facturas logística). En EXIT_SAPLMRMP_010. Pasamos por ella cada vez que guardamos.