#1
|
|||
|
|||
Coger variable de report desde el include
Hola,
Tenemos un programa estandar que llama a un include que podemos modificar, hay alguna manera de recoger una variable de ese programa? No podemos modificar el report, tendria que ser todo el codigo desde el include. Gracias |
#2
|
|||
|
|||
Hola...
Por lo que comentas creo q te refieres a una user - exit (UE) si es asi en la definicion de la UE viene q atributos puedes manipular. Es probable q la informacion que requieres venga en alguna de las UE peor tendrias que revisar cual es la mas acorde para el programa que estas manipulando. A veces hay mas de una UE por transaccion, consulta en la CMOD. Saludos!
__________________
el tema esta en hacer la pregunta correcta... |
#3
|
|||
|
|||
Hola,
Desde el report q ejecutamos se llama a la user exit. En el report metemos el campo que queremos pero al llegar a la user exit ya no la podemos obtener. Hay alguna manera de obtenerla? |
#4
|
|||
|
|||
si, lo haces mediante field symbol.
Si mal no recuerdo es algo asi: report YTEST_JM. FIELD-SYMBOLS : <variable_externa> type any. data : dato value 'A'. ASSIGN ('(YTEST_JM)DATO') to <variable_externa>. write <variable_externa>. donde YTEST_JM es el nombre del programa del cual queres obtener la variable y DATO es el nombre de la variable que queres obtener. Saludos. Javier.
__________________
Lo importante no es saber sino saber quien es el que sabe |
#5
|
|||
|
|||
Muchas gracias por la ayuda pero todavia no lo he solucionado.
El problema es que esto solo funciona para el programa principal ,es decir, mi programa principal es RBDSEMAT que entra en el include(funcion) LMV01U06 y dentro de este se accede a la user exit. He intentado poner en el programa (LMV01U06)DATO pero me pone que el valor no existe. Alguien puede ayudarme o decirme como se hace lo mismo pero en vez de poner (nombre_programa)DATO, a poner (funcion)DATO? O alguna otra forma, la que se os occurra. Muchisimas gracias. |
#6
|
|||
|
|||
Hola.
Prueba tomando el grupo de funciones de esa funcion y haciedo lo siguiente. Supongamos que el grupo de funciones el ZGRUP pues pon (SAPLZGRUP)DATO. Espero que funcione. Un Saludo. Miguel. |
#7
|
|||
|
|||
Tampoco funciona, la variable esta vacia, pero antes de entrar en la funcion esta rellena, es muy raro
|
#8
|
|||
|
|||
El problema es que no se sabe desde que programa se va a llamar a esta user exit, entonces no puedo coger la variable desde el programa principal sino que tengo que cogerlo desde el include LMV01U06.
El problema es que quiero conseguir cual es el destino de este idoc, en este caso la variable que necesito es el receiving partner. En el include la variable que contiene este dato es RCVPRN y esta relleno, pero una vez que entra en la user exit al parecer lo borra y cuando entro a la user exit y pongo (SAPLMV01)RCVPRN, el dato está vacio. Si pongo el programa principal desde el que estoy lanzando los idocs que seria el RBDSEMAT, sí que me coge el dato. (RBDSEMAT)logsys. Pero como no se si sólo van a lanazar con este programa no puedo poner esto, necesitaria la variable desde otro sitio. Alguien puede ayudarme? |
#9
|
|||
|
|||
He econtrado la variable en la global stack en memoria, hay alguna forma de sacarla de ahi?
|
#10
|
||||
|
||||
Por lo que veo, no estás llamando a ningún include, si no no tendrías problemas para acceder a ninguna variable global definida en el programa.
Estas llamando, bueno el programa estándar está llamando a una función MASTERIDOC_CREATE_MATMAS, ninguno de los parámteros de la función tiene la variable que necesitas? Ni niguna de las tablas que se le pasan a la función.... |
Herramientas | Buscar en Tema |
Desplegado | |
|
|