|
#1
|
|||
|
|||
Si en el primer perform le pasas como parámetro la tabla interna con USING no vas a poder cambiarle el contenido en el interior del perform, no? deberías pasarla como CHANGING.
No será por que no tienes puesto el tipo en el parámetro del form? deberías poner el type despues de la tabla que le pasas como parámetro. Lo de tables, hace poco me enteré gracias a este foro que es una directiva obsoleta, que se manteniene por temas de compatibilidad. Gracias y saludos. Úlima edición por jarabas fecha: 05/07/11 a las 08:59:14. |
#2
|
|||
|
|||
Merci
Hola compañeros,
estuve haciendo combinaciones con using y changing y no funcionó. Como no tenías más tiempo, pasé a lo seguro y usé TABLES una sentencia obsoleta pero que compila, también hice las declaraciones de las tablas en global. Funcionó. Referente a la pregunta de cual es el form que se carga primero: el form que está más arriba se carga primero, abap clásico es secuencial, va de arriba a abajo, un CONCEPTO BÁSICO que por cierto en los foros no se comenta nunca. Sabiendo que abap es secuencial, se entiende mejor el proceso del programa. |
#3
|
|||
|
|||
hola Budista1.
Siempre crei que con el using no se cambiaban los valores, pero probando he visto que sí, sería mi subsconsciente el que me decía que using no se cambia y para cambiar el contenido usar changing. me lo ha confirmado la ayuda de sap: " Formal parameters defined for pass by reference with USING should not be changed in the subroutine. In this case, CHANGING can be used instead. The addition CHANGING should be used for the formal parameter whose value is changed in the subroutine. " pero viendo que si cambia el contenido si la tabla recoge los datos correctamente dentro de la subrutina, el siguiente perform debe tener el contenido. Saludos. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|