#4
|
|||
|
|||
El field exit es similar a la user exit, pero se hace a nivel del elemento de datos. Sirve para realizar validaciones basicas, y tiene muchas restricciones. La funcion de field exit tiene solo dos campos, uno de entrada (INPUT) y uno de salida (OUTPUT) y es lo unico que podes leer a priori, aunque podes sacar info de otros campos guardandolos en variables globales de la funcion (esto implica la creacion de mas field exits) o utilizar la funcion DYNP_VALUES_READ. En los field exits no podes utilizar: BREAK-POINT CALL SCREEN CALL DIALOG CALL TRANSACTION SUBMIT COMMIT WORK ROLLBACK WORK MESSAGE I Ahora, para crear un field exit: Lo primero que tenemos que chequear es que en la RZ10 este activado el parametro: abap/fieldexit = YES en el servidor (esto chequealo con un Basis). Despues, tenemos que crear una funcion para el campo, todas las funciones de field exit comienzan con FIELD_EXIT_* (en tu caso le pondria FIELD_AXIT_ALLOC_NMBR). Esto te va a crear una funcion con los parametros INPUT y OUTPUT. Luego le colocas el codigo que quieras para realizar tu validacion. Por ultimo ejecutas en la SE38 el reporte RSMODPRF, alli te van a aparecer todos los field exits activos. Para crear el tuyo y asignarle la funcion le das "Exits de Campo->Crear" e ingresas el elemento de datos sobre el cual queres activar tu field exit, finalmente seleccionas tu field exit y le das click en "asignar prog/dynpro" y le completas los datos correspondiente al nombre del programa y la dynpro. Una vez hecho esto, lo activas y listo. Consejo, para validar si tu field exit funciona, te recomiendo que primero lo ejecutes mostrando un Mensaje del tipo E o S... Luego una vez verificado esto, si procede con la codificacion necesaria para tu validacion. Igualmente, te repito, nunca lo utilice en un ALV, ignoro si funcionará o no. Suerte, y comenta como te fue!. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|