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 17/03/10, 09:03:40
ABPdelCerro ABPdelCerro is offline
Junior Member
 
Fecha de Ingreso: ene 2008
Mensajes: 21
Nombre de campo a variable

Hola.

Necesito tener de forma dinámica el nombre de un campo en una variable. Es decir, algo como:

TABLES: BSEG.
DATA: CAMPO(15) TYPE C.

* Aquí asignar de alguna manera (es lo que pregunto), por ejemplo, BSEG-
* BELNR a CAMPO. No me vale hacer un MOVE 'BSEG-BELNR' TO CAMPO, esa * solución ya la tengo, pero quiero evitarla.

WRITE:
/ 'Valor:', campo.

Y que el resultado sea:

Valor: BSEG-BELNR.

Gracias.
Responder Con Cita
  #2  
Viejo 17/03/10, 13:51:07
Avatar de DavidXD_XD
DavidXD_XD DavidXD_XD is offline
Moderator
 
Fecha de Ingreso: ago 2006
Localización: Lima - Perú
Mensajes: 1,251
Hola prueba de esta forma:

__________________
David Carballido Córdova
Responder Con Cita
  #3  
Viejo 17/03/10, 14:42:44
ABPdelCerro ABPdelCerro is offline
Junior Member
 
Fecha de Ingreso: ene 2008
Mensajes: 21
Gracias.
Pero no es algo tan sencillo.
Se trata de no poner el nombre como literal en ningún momento.
Además, no quiero que se cargue en "campo" el valor de BSEG-BELNR sino el nombre 'BSEG-BELNR'.
Gracias de nuevo, siento no haberme explicado suficientemente.
Responder Con Cita
  #4  
Viejo 18/03/10, 13:59:19
Avatar de Alfredosite
Alfredosite Alfredosite is offline
Senior Member
 
Fecha de Ingreso: jul 2007
Localización: Lima-Perú
Mensajes: 135
Lightbulb

Según te entiendo:

Hola si deseas contatenar o obtener el valor de:

TABLA-CAMPO en una variable y si esa "TABLA" esta definida o creada en el diccionario de datos puedes leer la tabla DD03L Campos de una tabla. O si gustas puedes usar la Función ISB_TABLE_READ_FIELDS para obtener los campos de una tabla.

Y concatenar los campos TABNAME y FIELDNAME y guardarlo en una variable o tipo de datos.
Ejm:

Data: gv_tabname type DD03L-TABNAME,
Gv_tabla_campo(50) type char.
data: gt_tabla_fields TYPE STANDARD TABLE OF DD03L.
FIELD-SYMBOLS: <fs_tabla_fields> type DD03L.
gv_tabname = 'Nombre tabla'.

CALL FUNCTION 'ISB_TABLE_READ_FIELDS'
EXPORTING
tab_name = gv_tabname
tables
table_fields = gt_tabla_fields.

LOOP AT gt_tabla_fields ASSIGNING <fs_tabla_fields>.
CONCATENATE <fs_tabla_fields>-tabname '-' <fs_tabla_fields>-fieldname INTO Gv_tabla_campo.
ENDLOOP.

Del cual Gv_tabla_campo tendría el valor TABLA-CAMPO si gustas en vez de variable podrias guardarlo en una tabla interna.
O lo otro que se me ocurre si en caso la tabla no esta en la tabla de diccionario, podrias crear una tabla Z donde crees dos campos nombre de tabla y campos los lees de dicha tabla Z y concatenas dentro de tu programa ambos campos y los guardas en alguna variable.

Nose si eso es lo que deseas ojala te de una idea.

Saludos.

Alfredo Pastor Avendaño.
__________________
Saludos Cordiales,
Alfredo Pastor Avendaño
SAP - Consultant HCM

Úlima edición por Alfredosite fecha: 18/03/10 a las 14:21:16.
Responder Con Cita
  #5  
Viejo 18/03/10, 21:09:41
ABPdelCerro ABPdelCerro is offline
Junior Member
 
Fecha de Ingreso: ene 2008
Mensajes: 21
Muchas gracias.
Creo que tampoco es lo que necesito (ahora mismo no tengo acceso a SAP y no puedo ver si haciendo alguna variación sobre tu idea llego a lo que busco; en cuanto tenga acceso lo comprobaré).
Digo que no es lo que necesito porque mi primera premisa es utilizar el campo, no un literal que contenga el campo (entendiendo por campo tanto el campo como la tabla). Para obtener la estructura mediante el módulo de función, tengo que pasarle el nombre de la tabla como un literal y eso "no me está permitido". Si obviamos eso aún me queda la segunda parte: la función devuelve todos los componentes de la estructura ya como contenido de campos de la estructura; todos, no sólo el que quiero utilizar con lo que no puedo seleccionar uno si no es comparando el contenido con un literal ¿no?

Me sirva o no, les doy las gracias por sus aportaciones.

Saludos.
Responder Con Cita
  #6  
Viejo 19/03/10, 18:58:15
RCASTELO RCASTELO is offline
Junior Member
 
Fecha de Ingreso: jul 2007
Mensajes: 14
Es muy dificil evitar el hardcode en lo que intentas hacer, porque justamente es muy rigido, cuentas con muy pocos datos y es muy puntual lo que neceistas.
Lo que se me ocurre es usar la opción que te plantearon de traer todos los campos de una tabla y cruzar dicha información con una tabla Z de parametrización. En esta tabla que podria tener la estructura TABLA - CAMPO, podrias parametrizarla con los campos de las tablas que deseas tener en cuenta en tu programa, y solo a esos es a los que tendrias en cuenta de todos los recuperados anteriormente.

Slds.
Responder Con Cita
  #7  
Viejo 27/05/13, 18:52:26
moji87 moji87 is offline
Junior Member
 
Fecha de Ingreso: may 2013
Mensajes: 19
Cool cAMBIAR EL NOMBRE DE LA VARIABLE EN TIEMPO DE EJECUCION

Hola ,este es mi código:
REPORT ZSUMA.
PARAMETERS: CONT TYPE I,CONT1 TYPE I,CONT3 TYPE I DEFAULT 0.

DATA: CONT2 TYPE I.


AT SELECTION-SCREEN.
CONT2 = CONT + CONT1.
CONT3 = CONT2.

WRITE: 'El resultado es', / cont2.

Lo que quiero es que se cambie el caption o poner alias a las variables : cont,cont1, y cont3 en tiempo de ejecución y además mostrar a la vez el write.
Gracias.Por favor ¿Alguien me ayuda?
Imágenes Adjuntas
Tipo de Archivo: jpg suma.jpg (76.4 KB, 7 visitas)
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 19:31:04.


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