PDA

Ver la Versión Completa : Field_exit Fb05 F-36 F-40


Ariel-StaFe
10/09/12, 12:41:36
Estimados:
Me solicitan una validación en la Fecha de Conversión de la F-36
elemento wwert_d
Pero debe actuar solo para la F-36 y no para la F-40 x ejemplo
Ambas, (entre otras trx ) llaman a la FB05 y es en la FB05 donde actúa el field exit
Por lo que en dicho evento no tengo la trx original llamadora (F-36, F-40, etc), solo tengo la FB05
Alguien me puede decir la manera de obtener dicha trx original ? alguna función que me devuelva ese dato ?.
Desde ya muchas gracias.
Saludos

Mauricio Hidalgo
10/09/12, 15:08:38
Una validación mediante field-exit sólo se activa si el campo llega a tener el foco, si el usuario no pasa por dicho campo no se activará nada. Lo más sano es que crees una Validacíon usando la transacción OB28.

Te dejo un link donde hay un procedimiento para crear validaciones en FI.

http://www.forosap.com/f2/validaciones-fi-t165/

Saludos

Ariel-StaFe
10/09/12, 17:13:58
Mauricio:
Muchas gracias por tu respuesta.
Te cuento que la gente de FI esta viendo lo de armar una validación, pero me consultaban por un field exit en particular, y hace foco en este campo.
El código esta ok, solo que dicha validación sobre el field exit, debe hacer una cosa cuando ejecuta la trx F-36 y otra cuando ejecuta la F-40
Dentro del field exit, se puede consultar por el sy-tcode, pero es para ambos casos la FB05. (Esta FB05 es llamada tanto por la F-36 como por la F-40).
Debería existir una función o funciónalidad que me permita saber cual es esa trx Original (36 o 40) que llaman a la FB05.
La sigo buscando.
Si alguien la conoce. se agradece.
Ss

Mauricio Hidalgo
10/09/12, 18:02:47
Me fije que la F-36 crea una clase de documento (BLART) DZ con clave de cuenta 09 y la F-40 crea un KZ con Clvcta 39. No se que tengas en tu instalación pero a lo mejor por estos valores podrias discernir que hacer en casa caso.

Saludos

Ariel-StaFe
10/09/12, 19:22:31
Mauricio:
Ante todo muchas gracias por tu preocupacion y tu tiempo.

Es correcto lo que decis, pero eso lo crea cuando graba.
El field_exit_wwert_d de Fecha de conversion, se ejecuta en la primer dynpro de la trx FB05 (llamada tanto por la F-36 como la F-40 entre otras)
y en esa instancia no creo que aun tenga creado nada.
...
El tema es .. en esa dynpro, donde esta el campo Fecha conversion (BKPF-WWERT), al ingresar cualquier fecha.. ya que es un campo obligatorio al menos en mi empresa, se ejecuta el field_exit_wwert_d y debe validar
Si ejecutó la f-36..
validacion 1
Si ejecutó la F-40..
validacion 2.

Pero en ese momento.. dentro del field_exit.. el sy-tcode es FB05..
Lo que necesito es saber que trx llamó a esa FB05
(Si la f-36, o la f-40 o la que sea)

Tal vez haya alguna funcion que me permita ir a buscar ese dato.

Nuevamente muchas gracias.
Saludos

Mauricio Hidalgo
11/09/12, 17:54:52
Ya estimado, ahí tiene la solución, lo probé y funciona bien. Espero tengas esa rutina en tu instalación, es interna de SAP.

DATA: l_tcode TYPE sytcode.
CALL 'GET_PARAM_TCOD' ID 'PTCOD' FIELD l_tcode.
message s001(00) with l_tcode.

Saludos

Ariel-StaFe
11/09/12, 18:30:18
Mauricio:
En base a algunas investigaciones mas tus respuestas, pude resolverlo por otro lado, directamente con una validación en la OB28, asi que como no tengo todos los datos en el Field_exit, lo inactivé, y creé una Exit en la OB28 con Validación y Asunto cocinado !.
Muchas gracias por tu tiempo !
Abrazo.

Ariel-StaFe
11/09/12, 18:37:20
A bue !!!. sos Groso Amigo !.
NO vi tu ultima respuesta cuando te mandé lo de la OB28
La verdad que es mas fácil asi. había inactivado el Field Exit,
Pero lo re-active, probé tu codigo y anda perfecto !.
GRACIAS TIGRE !
Saludos