#1
|
||||
|
||||
No permitir acceso a ciertos infotipos desde PA30
Hola!!
Tengo un "problemilla": hemos creado un nuevo infotipo y no debemos permitir que el usuario acceda a él por la PA30. De manera que he implementado el siguiente código dentro de la implementación ZHRPAD00INFTY de la badi HRPAD00INFTY(dentro del método BEFORE_OUTPUT). El problema es que el error me sale en forma de popup y luego me sale de la PA30. ¿Hay alguna manera de que salga un error normal y que no me saque de la PA30? Un saludo y muchas gracias!
__________________
Yo misma Úlima edición por playa82 fecha: 05/04/11 a las 06:04:21. |
#2
|
||||
|
||||
Hola apañá,
Se me ocurre algo, a ver que te parece: Entiendo que el problema es que al pasar por el mensaje de error siempre te devuelve a la pantalla de inicio. La idea sería que cuando se acceda directamente al infotipo por la PA30 se pase por el mensaje y te saque, pero cuando vengamos del otro infotipo no se pase, y se pueda trabajar el infotipo de cliente desde la PA30 con normalidad. Esto creo que se podría conseguir vía código utilizando las sentencias IMPORT y EXPORT a memoria. En el PAI del infotipo estandard se puede hacer un EXPORT memory, donde la variable memory tenga el valor "X". En el PBO del infotipo de cliente, el código sería el siguiente: WHEN '9112'. clear memory. IMPORT memory. IF ( memory NE "X" ) and ( sy-tcode EQ 'PA30' ). MESSAGE e043(zrh_mc_mensajes) WITH 'PA9112' sy-tcode. ENDIF. Luego me dices si funciona. Un saludo
__________________
Florentín Navarrete Moya SAP HCM Consultant Mail: Blog: |
#3
|
||||
|
||||
Hola Floren!
Muchas gracias por tu idea, no funcionaba como yo quería pero haciéndole unos cambios ya me funciona bien: IMPORT l_mem = g_memoria FROM MEMORY ID '9112'. IF ( g_memoria NE 'X' ) AND ( sy-tcode EQ 'PA30' ). MESSAGE i043(clase) DISPLAY LIKE 'E'. LEAVE TO SCREEN 0. ENDIF. Un saludo!
__________________
Yo misma Úlima edición por playa82 fecha: 05/04/11 a las 06:04:59. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|