ABAP - FUNCIONES FANTASMAS EN ABAP

 
Vista:

FUNCIONES FANTASMAS EN ABAP

Publicado por Angel Donnarumma (1 intervención) el 21/02/2008 15:59:36
Buenos dias al que se encuentre leyendo este escrito.

Me gustaría que alguien me pudiese explicar, como es posible que un módulo de función llamado en un programa, ejecute un proceso cuando el mismo módulo no contiene ningún tipo de código en su interior, sin embargo dicha funcion cumple su cometido de una forma que yo desconozco.

Para ser un poco mas gráfico, aqui esta el ejemplo del módulo de función al que me refiero:

------------------------------------------------------------------------------------------------------
CALL FUNCTION 'ZWB_RS232_CONEX' DESTINATION 'CONEXION_RS232'
EXPORTING
PORT = 1
BAUD = 2400
DATABIT = 7
STOPBIT = 1
PARITYBIT = 0
TIMEOUT = 2000
PETICION = ''
BITSTOREAD = 18
IMPORTING
BUFFER = MY_BUFFER
EXCEPTIONS
BAD_PARAMETER_ASSIGN = 1
NO_OPEN_CONECTION = 2
PETITION_ERROR = 3
READ_PORT_ERROR = 4
NO_CLOSE_CONECTION = 5
NOT_DATA = 6
OTHERS = 7.
------------------------------------------------------------------------------------------------------

Ahora en el interior de la misma se encuentra lo siguiente:

------------------------------------------------------------------------------------------------------
*"----------------------------------------------------------------------
*"*"Interfase local
*" IMPORTING
*" VALUE(PORT) TYPE I
*" VALUE(BAUD) TYPE I
*" VALUE(DATABIT) TYPE I
*" VALUE(STOPBIT) TYPE I
*" VALUE(PARITYBIT) TYPE I
*" VALUE(TIMEOUT) TYPE I
*" VALUE(PETICION) TYPE CHAR128 OPTIONAL
*" VALUE(BITSTOREAD) TYPE I
*" EXPORTING
*" VALUE(BUFFER) TYPE CHAR128
*" EXCEPTIONS
*" BAD_PARAMETER_ASSIGN
*" NO_OPEN_CONECTION
*" PETITION_ERROR
*" READ_PORT_ERROR
*" NO_CLOSE_CONECTION
*" NOT_DATA
*"----------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------
Como pueden ver, el código en su totalidad esta comentado.

P.D.: El módulo de función se creó con el fín de establecer conexión con el puerto serial de la computadora y capturar un dato que entra por ese puerto.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:FUNCIONES FANTASMAS EN ABAP

Publicado por Juan Manuel (1 intervención) el 23/12/2009 21:22:40
Hola, lo que me parece que puede estar pasando es que sea un funcion RFC ( Remote Funcion Call)... Por eso el " ESTINATION 'CONEXION_RS232' "...

Calculo que el codigo de la funicon estara en la base de datos origen..

Todo esto es una deduccion no se si es asi o no...

Saludos Y espero que te sirva de algo... Aunque sea 2 años despues jejeje
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:FUNCIONES FANTASMAS EN ABAP

Publicado por estres1975 (1 intervención) el 17/07/2011 23:53:05
Creo que mas bien el problema es que no han querido compartir el código que es el que realmente importaría porque lo importante es que lo quieran compartir.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:FUNCIONES FANTASMAS EN ABAP

Publicado por Fabio Rodriguez (1 intervención) el 02/03/2012 21:40:35
Como sospechaba Juan Manuel, se trata de una función tipo RFC (Remote Function Call).
La clave para reconocerla esta en el DESTINATION que se pasa como parámetro.
(DESTINATION 'CONEXION_RS232' ). Para poder ahondar en la funcionalidad, habría que ingresar a la transacción SM59, que es desde donde se definen y configuran los destinos RFC y luego buscar el destino "CONEXION_RS232", para así poder determinar en que sistema se está ejecutando la función. Por último ingresar al sistema de destino y analizar la función.
Quizás en el Sistema de destino, no se encuentre sin lógica...
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar