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 19/02/14, 16:37:33
cdavidml cdavidml is offline
Junior Member
 
Fecha de Ingreso: may 2012
Mensajes: 3
Unhappy Problema para crear una variable dinamicamente

Hola comunidad buen día, tengo el siguiente caso:

Necesito crear una variable de manera dinamica conforme el contenido de otra variable.

*DINAMICAMENTE CONCATENO EN UNA VARIABLE LA TABLA Y EL CAMPO QUE NECESITO.
*PROBLEMA... COMO GENERAR LA VARIABLE DE TIPO "EL CONTENIDO DE VL_FIELD"

CONCATENATE STRUCTURE-TABLENAME '-' STRUCTURE-FIELDNAME INTO VL_FIELD.
CONDENSE VL_FIELD NO-GAPS.
VL_VARIABLE TYPE RANGE OF "EL CONTENIDO DE VL_FIELD".



Ojala y puedan ayudarme.
Saludos.

David.
Responder Con Cita
  #2  
Viejo 19/02/14, 19:52:35
vanesamacri vanesamacri is offline
Senior Member
 
Fecha de Ingreso: jun 2011
Mensajes: 146
Buenas tardes, David.

Chequeate el siguiente ejemplo:

Avisame si algo no se entiende.
Un saludo.
Responder Con Cita
  #3  
Viejo 28/02/14, 18:00:48
cdavidml cdavidml is offline
Junior Member
 
Fecha de Ingreso: may 2012
Mensajes: 3
Thumbs up resuelto

Hola que tal, lo pude resolver con lo siguiente, y me genera los SO que necesito dinamicamente.

* Reference variables
DATA: go_struc TYPE REF TO cl_abap_structdescr,
go_table TYPE REF TO cl_abap_tabledescr,
dref TYPE REF TO data.

DATA: gv_field TYPE fieldname VALUE 'BUKRS', "Dynamic Range Field
gt_comp TYPE cl_abap_structdescr=>component_table,
gs_comp TYPE cl_abap_structdescr=>component.

FIELD-SYMBOLS <gt_range> TYPE STANDARD TABLE.

gs_comp-name = 'SIGN'.
gs_comp-type ?= cl_abap_elemdescr=>describe_by_name('CHAR1').
APPEND gs_comp TO gt_comp. CLEAR gs_comp.

gs_comp-name = 'OPTION'.
gs_comp-type ?= cl_abap_elemdescr=>describe_by_name('CHAR2').
APPEND gs_comp TO gt_comp. CLEAR gs_comp.

gs_comp-name = 'LOW'.
gs_comp-type ?= cl_abap_elemdescr=>describe_by_name( gv_field ).
APPEND gs_comp TO gt_comp. CLEAR gs_comp.

gs_comp-name = 'HIGH'.
gs_comp-type ?= cl_abap_elemdescr=>describe_by_name( gv_field ).
APPEND gs_comp TO gt_comp. CLEAR gs_comp.

TRY.
go_struc = cl_abap_structdescr=>create( gt_comp ).
go_table = cl_abap_tabledescr=>create( go_struc ).
CATCH: cx_sy_struct_creation,
cx_sy_table_creation.
ENDTRY.

CREATE DATA dref TYPE HANDLE go_table. "Create Data Reference
ASSIGN dref->* TO <gt_range>. "Dereferencing the data reference

TRY .
SELECT COUNT(*) FROM t001 WHERE bukrs IN <gt_range>.
WRITE: / sy-dbcnt.
CATCH cx_sy_open_sql_error.

ENDTRY.

los encontré en scn de sap, en un tread de Suhas Saha.


Úlima edición por cdavidml fecha: 28/02/14 a las 18:02:56.
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 14:41:01.


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