PDA

Ver la Versión Completa : Deshabilitar campo en TX estandar


Triby
22/01/10, 13:03:21
Hola Foro,
Necesito ayuda con la ejecución de una TX estandar. les explico
Tengo un menu (programa Z) que según lo que escoja voy a ejecutar una transacción estandar (llamo la ejecución de la transacción estandar con CALL TRANSACTION), en este caso ejecuto la TX: FB01 y le paso parametros como la sociedad y la clase de docto y lo que deseo es que cuando se ejecue la FB01 desde este programa Z, la clase de docto esté deshabilitada para que el usuario no pueda cambiarla. Se puede hacer? o alguna idea si hay otra forma de solucionarlo.

ballan
22/01/10, 13:53:38
Tu solucion se llama GUIXT o bien utilizar las variantes de transaccion que se crean en la transaccion SHD0

VLozano
22/01/10, 14:10:09
¿Y no te funcionaría llamar al CALL TRANSACTION con la variante SKIP FIRST SCREEN?

El proceso sería el siguiente:

Entras en la transacción a llamar (manualmente), localizas el ID de los parámetros a informar, y programas la llamada a la transacción dejando esos parámetros en memoria y saltando la pantalla de selección.

Triby
22/01/10, 18:23:24
VLozano no sirve esa opción porque el usuario debe llenar otros campos en la primera pantalla.

Ballan, por lo que sé, con GUITX puedo desactivar un campo pero queda desactivado para todas las oportunidades que utilice la transación estandar, en este caso yo solo deseo que se desactive solo cuando se accesa desde el programa Z.
Estuve tratando de utilizar la SHD0 pero no supe como deshabilitar el campo, creo que esta podría ser una solución si es que se pudiera deshabilitar el campo con la variante, pero no sé hacerlo.

VLozano
25/01/10, 08:30:45
Imaginación al poder... ¿semos o no semos programadores?

Creas un programa con una pantalla de selección idéntica a la de la Tx que quieres llamar, menos los campos que quieras deshabilitar.

Mueves todos los parámetros de selección a memoria y haces el CALL TRANSACTION SKIP FIRST SCREEN.

ballan
25/01/10, 09:31:37
A ver mi definicion no es muy ortodoxa pero la transaccion SHD0 entre otras cosas sirve para realizar pantallas de seleccion pero para los modul-pool

La idea seria entrar en la SHD0

En codigo transaccion pones FB01

Te posicionas en variantes de transaccion y le asignas un nombre que empiece por Z, despues le das a crear

Te aparecera la FB01, rellenas los campos obligatorios y al darle a enter veras que te aparece una pantalla con los campos de la FB01, tendras disponibles unas columnas que pondra Con contenido, Solo salida, invisible, etc

En tu caso si un campo quieres que aparezca inhabilitado tendrias que marcarlo como solo salida

Grabas la variante de transaccion

Despues tendras que crear una transaccion Z que sera del tipo transaccion de variantes, al crearla te pedira una transaccion y una variante de transaccion, elegirias la FB01 y luego pondrias el nombre de la variante de transaccion Z que has creado

La otra opcion que tendrias es hacerlo por medio de guixt, desconozco cual es el comando, pero se que el comando DEL te pone un campo de una dynpro como invisible, seguramente exista otro para ponerlo de solo salida

Los scripts que crees con el guixt en principio son locales por lo que los cambios solo se verian en el ordenador que tenga el script