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 13/12/06, 19:45:28
felix_cid felix_cid is offline
Member
 
Fecha de Ingreso: mar 2006
Mensajes: 73
GENERATE_SUBPOOL_DIR_FULL al ejecutar RFC

Hola a todos, sucede que tengo una RFC que a través de un Rut obtiene sus cuentas de contrato asociado. En la función, por cada cuenta contrato encontrada, llama a otra RFC que me trae el consumo asociado.
HAsta aqui todo bien, pero en el loop 37 se me cae y me da el error "GENERATE_SUBPOOL_DIR_FULL" que dice que no puedo generar más de 36 subrutinas temporales, ¿le ha pasado esto a alguien o tienen ideas de que puedo hacer al respecto?
Responder Con Cita
  #2  
Viejo 05/03/12, 10:58:38
Mari.Sole Mari.Sole is offline
Senior Member
 
Fecha de Ingreso: nov 2010
Localización: Argentina
Mensajes: 121
Felix,
Has podido solucionar este problema, ya que me ocurre lo mismo.
Agradecería si pudieras ayudarme.

Saludos.
Responder Con Cita
  #3  
Viejo 07/03/12, 13:54:25
Mari.Sole Mari.Sole is offline
Senior Member
 
Fecha de Ingreso: nov 2010
Localización: Argentina
Mensajes: 121
Les dejo este comentario por si le sucede el mismo problema a otra persona.
Mi problema puntual se presentaba porque utilizaba el método cl_alv_table_create=>create_dynamic_table para crear una tabla interna en tiempo de ejecución.
Por configuración de SAP, la cual no se puede modificar, sólo se permite la creación de hasta 36 tablas dinámicas. Si se requiere más de 36 tablas dinámicas se deben crear de otra forma, utilizando lo que se conoce como concepto RTTC (Run Time Type Creation ).
Después de debbuguear varios métodos y clases encontré que la creación dinámica la estaba realizando dentro de un loop de una tabla que tiene más de 36 registros.
Corrigiendo que mi tabla dinámica se cree antes del loop una sola vez así pude sortear el dump.

Espero que a alguien le ayude esta info a futuro.

Saludos.
Responder Con Cita
  #4  
Viejo 15/12/12, 17:53:24
jcsalberto jcsalberto is offline
Junior Member
 
Fecha de Ingreso: dic 2008
Mensajes: 1
Hola Mari Sole
Me estoy encontrando con tu mismo problema, podrías decirme como lo solucionaste? estoy intentando buscar el loop que comentas a los 36 registros y soy incapaz de encontrarlo
Muchiiiisimas gracias
Responder Con Cita
  #5  
Viejo 05/11/13, 15:59:45
serdiro serdiro is offline
Junior Member
 
Fecha de Ingreso: ene 2009
Mensajes: 1
Yo lo he solucionado construyendo la tabla dinámica de esta forma :

DATA: gs_comp TYPE abap_componentdescr,
gt_comp TYPE abap_component_tab.

"example table
DATA: BEGIN OF it OCCURS 3, "<- your ITAB1
pernr TYPE persno,
kostl TYPE kostl,
endda TYPE endda,
END OF it.

"data references
DATA: r_type_struct TYPE REF TO cl_abap_structdescr,
r_type_table TYPE REF TO cl_abap_tabledescr,
r_data_tab TYPE REF TO data,
r_data_str TYPE REF TO data.

* 1. ------------- filling example table IT -> i.e your ITAB1
it-pernr = '12345678'.
it-kostl = '0112345678'.
it-endda = sy-datum.
APPEND it.

it-pernr = '45678909'.
it-kostl = '3452345678'.
it-endda = sy-datum - 1.
APPEND it.

* 2. ------------ components structure type
gs_comp-name = 'PERNR'.
gs_comp-type ?= cl_abap_elemdescr=>describe_by_name( 'PERSNO' ).
APPEND gs_comp TO gt_comp.

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

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

* 3. ------------- create structure type
TRY.
r_type_struct = cl_abap_structdescr=>create(
p_components = gt_comp ).
CATCH cx_sy_struct_creation .
ENDTRY.

* 4. ------------- create table type
TRY.
r_type_table = cl_abap_tabledescr=>create( r_type_struct ).

CATCH cx_sy_table_creation .
ENDTRY.

" 5. -------------- create table based on RTTS types
CREATE DATA: r_data_tab TYPE HANDLE r_type_table,
r_data_str TYPE HANDLE r_type_struct.

FIELD-SYMBOLS: <fs_table> TYPE INDEX TABLE, "-> here table must by type INDEX TABLE in order to append to it
<fs_wa> TYPE ANY.

ASSIGN: r_data_tab->* TO <fs_table>,
r_data_str->* TO <fs_wa>. "work area for dynamic table (based on your dynamic structure)

" 6. ---------------- move internal table data (IT) to dynamic table
LOOP AT it.
MOVE-CORRESPONDING it TO <fs_wa>.
APPEND <fs_wa> TO <fs_table>.
ENDLOOP.
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 15:27:54.


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