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 10/10/17, 18:42:35
Edber Edber is offline
Junior Member
 
Fecha de Ingreso: jul 2017
Localización: México
Mensajes: 23
Question Simular un ciclo For.

Buen día a todos, tengo la necesidad de simular un ciclo for en donde podías obtener el valor de un campo en una posición [i] de acuerdo a la iteración en la que iba para evitar esto:

WHEN '0001'.
MOVE IT_FILE-VALUE TO TBU_UPLOAD-BU.
WHEN '0002'.
MOVE IT_FILE-VALUE TO TBU_UPLOAD-BU_DESC.
WHEN '0003'.
...

(Dónde se harían muchas condiciones When)

El punto es poder optimizar código e iterar digamos un campo ROW[i] en la posición i dentro de un loop para evitar tantas condiciones, y también dentro de la condición cambiaría el valor de un campo, siguiendo el ejemplo sería TBU_UPLOAD-(Campo en posición i). Apreciaría mucho su ayuda, no se si sea posible hacerlo en ABAP pero tengo entendido que un field-symbol ayudaría aunque no he logrado hacerlo.

Gracias de antemano y saludos!

Úlima edición por Edber fecha: 10/10/17 a las 22:33:19.
Responder Con Cita
  #2  
Viejo 16/10/17, 11:52:21
Avatar de vic3
vic3 vic3 is offline
Member
 
Fecha de Ingreso: mar 2017
Mensajes: 33
No sé si he entendido bien lo que quieres hacer pero creo que tanto en un for como en tu loop, el bloque de instrucciones (condiciones) va a ser igual de extenso. Vas leyendo la tabla campo a campo y le pones una serie de condiciones (y esas no van a cambiar)
Un saludo
__________________
Consultor técnico SAP
Responder Con Cita
  #3  
Viejo 16/10/17, 15:01:23
vanesamacri vanesamacri is offline
Senior Member
 
Fecha de Ingreso: jun 2011
Mensajes: 146

Si a los campos destinos de la estructura TBU_UPLOAD los renombrás de manera similar a los valores que evaluás en cada WHEN (por ejemplo, en vez de BU_DESC, ponerle CAMPO_0002), podrías hacer una asignación dinámica por puntero y así te evitarías las asignaciones manuales de cada valor/ campo.

En caso de que no puedas / quieras hacer el renombrado de los campos de la estructura TBU_UPLOAD, podrías previamente definir en una tabla la relación entre el campo origen y destino, y luego dentro del código hacer esa asignación también mediante punteros al recorrer la tabla interna principal.
Responder Con Cita
  #4  
Viejo 17/10/17, 00:37:03
Edber Edber is offline
Junior Member
 
Fecha de Ingreso: jul 2017
Localización: México
Mensajes: 23
Gracias por las respuestas, efectivamente, lo que buscaba era la forma de asignar "dinámicamente" los valores para evitar asignar manualmente cada uno de ellos.
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 11:48:32.


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