MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 04/07/11, 17:37:38
budista1 budista1 is offline
Senior Member
 
Fecha de Ingreso: sep 2010
Mensajes: 154
problema con performs

Hola compañeros,

en el 1er perfom lleno una tabla interna correctamente,

en cambio el segundo perform no recoje dicha tabla interna llena,

y no se porque, alguna solucion?




PERFORM:
get_ut_pep
using lt_iflo
lt_caufv
CHANGING

lt_iloa
lt_afih,

get_eqp_nmr1 " AQUI EN EL 2 FORM NO PASA BIEN LA INFO
USING lt_iflo
lt_caufv
CHANGING lt_afih
lt_resb
lt_mseg,




Os paso el form get_eqp_nmr1 (UN TROZO)

aqui

en


SELECT aufnr equnr iloan
FROM afih
INTO TABLE pt_afih
FOR ALL ENTRIES IN pt_iflo
WHERE aufnr = pt_iflo-aufnr
AND equnr IN s_eqpt.


LA TABLA INTERNA PT_IFLO DBERIA ESTAR LLENA PORQUE LA LLENÉ EN EL ANTERIOR FORM Y NO SE EL MOTIVO..

A QUE ES DEBIDO?

OS ASEGURO QUE EN EL OTRO FORM pt_iflo ESTÁ LLENA


UN SALUDO!!
Responder Con Cita
  #2  
Viejo 04/07/11, 18:09:58
Avatar de kibo
kibo kibo is offline
Senior Member
 
Fecha de Ingreso: may 2011
Localización: Quilmes - Argentina
Mensajes: 177
No entendi mucho a cual llamas primero y cual llamas segundo... pero para pasar una tabla interna a una rutina deberias de usar TABLES en lugar de USING o CHANGING.
Responder Con Cita
  #3  
Viejo 05/07/11, 09:56:47
jarabas jarabas is offline
Senior Member
 
Fecha de Ingreso: ene 2010
Mensajes: 109
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 09:59:14.
Responder Con Cita
  #4  
Viejo 06/07/11, 11:25:11
budista1 budista1 is offline
Senior Member
 
Fecha de Ingreso: sep 2010
Mensajes: 154
Smile 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.
Responder Con Cita
  #5  
Viejo 06/07/11, 17:21:04
jarabas jarabas is offline
Senior Member
 
Fecha de Ingreso: ene 2010
Mensajes: 109
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.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 13:12:03.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web