|
#1
|
|||
|
|||
Activar barra de tareas y ocultar "textarea"
Buenas!!
Tengo un par de dudas, os cuento, hago un screen (0001) y quiero activarle los botones de la barra de herramientas de SAP (atrás -f3- y los demás botones). Sabeís como se hace por código?? Esque he estado buscando y no encuentro nada... Y, otra pregunta, en el anterior screen tengo un campo del tipo "input/output" y me gustaría poderlo ocultar si el valor es 0 (u otro valor por defecto), pero nose si se puede cambiar la propiedad de un elemento de la screen y luego "refrescarla" o tendría que crean otra screen... Sabeís si esto último se puede hacer o, por el contrario, es imposible? Gracias por vuestra ayuda!! Salu2! |
#2
|
|||
|
|||
Vamos por parte:
Para poner un menu de entorno en una transaccion propia diferente a la standard lo que yo hago es: Me defino la botonera que deseo ( nombre de cada boton , funcion que va a efectuar, icono asociado ) esto se efectua por se41 .Despues desde el pbo de la transaccion llamo al status que me ha definido PROCESS BEFORE OUTPUT. MODULE STATUS_0500. CALL SUBSCREEN: ....................... en mi caso era un screnn con subscreen incrustado El codigo de module status puede ser algo similar a esto DATA: extab TYPE slis_t_extab WITH HEADER LINE. MODULE status_0500 OUTPUT. CLEAR: extab, extab[]. extab-fcode = 'ASC_'. APPEND extab. extab-fcode = 'DESC_'. APPEND extab. : : : SET TITLEBAR '0500'. SET PF-STATUS 'SCREEN_500' EXCLUDING extab. : : ENDMODULE. Donde : extab es un objeto con una definicion standard de sap para excluir determinados botones segun criterio SET TITLEBAR '0500'. el titulo que deseamos y que aparece en la parte superior. SET PF-STATUS 'SCREEN_500' EXCLUDING extab. Llamada al objeto que hemos creado Para le ajecucion de las acciones a realizar en cada boton se le asocia u Function a realizar En el PAI definimos PROCESS AFTER INPUT. : : MODULE user_command_0500. : : y para la ejecucion del module MODULE user_command_0500 INPUT. save_ok = sy-ucomm. CLEAR w_data. CASE save_ok. WHEN 'BACK'. LEAVE TO SCREEN 100. WHEN 'OK'. PERFORM aceptar. WHEN 'CANCEL' OR 'EXIT'. SET SCREEN 0. WHEN 'ASC_'. WHEN 'DES_'. WHEN OTHERS. ENDCASE. ENDMODULE. Son varios pasos, y lo ha resumido lo mejor que he podido espero que te ayude y no te lie mas. 2º) Para modificar los atributos de un campo de una dynpro LOOP AT SCREEN. IF screen-group1 = '1'. screen-input = ''. MODIFY SCREEN. ENDIF. * IF screen-group1 = '8'. screen-value_help = '0'. MODIFY SCREEN. ENDIF. ENDLOOP. puedes utilizar tambien screen-name para un campo determinado y los screen-group para una asociacion de campos. En las ayudas de SAP tienes los distintos campos que tiene el objeto SCREEN- |
#3
|
|||
|
|||
Muchas gracias!! la verdad que me ha servido...
Aunque me estoy peleando intentando ocultar un campo input/output y lo máximo que he logrado ha sido que salgan asteriscos... Sabes si se puede ocultar sin que se llene todo de asteriscos?? He probado con el screen-input y lo que hace es habilitarlo o deshabilitarlo, pero se sigue viendo. También he probado con el screen-invisible y me lo oculta... pero esta lleno de asteriscos Gracias por todo Un Saludo!! |
#4
|
|||
|
|||
tienes que poner los campos asi:
screen-output = 0. screen-input = 0. screen-invisible = 1. |
#5
|
|||
|
|||
Gracias!! me ha ido perfectamente
Salu2! |
Herramientas | Buscar en Tema |
Desplegado | |
|
|