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 16/03/09, 15:56:34
Roy Roy is offline
Junior Member
 
Fecha de Ingreso: jun 2007
Mensajes: 16
Unhappy Tsv_tnew_page_alloc_failed

Hola a todos...

Les cuento, tengo un problema con 1 programa Z, es un Kardex, y bueno tengo que sacar los documentos de materiales de la mseg por un rango de tiempo, para esto hago una consulta por fecha a la mkpf, y con esos documentos materiales hago una consulta a la mseg, asi como describo acontinuacion:

SELECT matnr werks menge mblnr dmbtr shkzg bwart
INTO CORRESPONDING FIELDS OF TABLE ti_mseg FROM mseg
FOR ALL ENTRIES IN ti_mkpf
WHERE mblnr EQ ti_mkpf-mblnr AND
mjahr GE s_fecha-low(4) AND
mjahr LE s_fecha-high(4) AND
werks IN s_werks AND
bwart IN r_bwart AND
sobkz EQ w_consig AND
matnr IN s_matnr.

la tabla ti_mkpf contiene todos los valores de los Doc. de materiales que les habia comentado y tiene la siguiente estructura:

DATA: BEGIN OF w_mkpf OCCURS 0,
mblnr LIKE mkpf-mblnr,
budat LIKE mkpf-budat.
DATA: END OF w_mkpf,
ti_mkpf LIKE TABLE OF w_mkpf.

y esta es la estructura de la ti_mseg:
DATA: BEGIN OF w_mseg,
matnr LIKE mseg-matnr,
werks LIKE mseg-werks,
menge LIKE mseg-menge,
mblnr LIKE mseg-mblnr,
dmbtr LIKE mseg-dmbtr,
shkzg LIKE mseg-shkzg,
bwart LIKE mseg-bwart.
DATA: END OF w_mseg,
ti_mseg LIKE TABLE OF w_mseg.

Cabe resaltar que esto lo tengo como proceso de fondo, y muy aparte de esto, cuando corro el programa para el rango de un solo mes no tengo ningun problema pero cuando lo saco para un año entero (requerimiento basico), me sale el siguiente DUMP, justamente en el select a mseg: TSV_TNEW_PAGE_ALLOC_FAILED

Txt.brv.
No storage space available for extending an internal table.



¿Qué ha sucedido?
You attempted to extend an internal table, but the required space was
not available.

Disculpen la ignorancia si es un tema sencillo, pero les rogaria su ayuda. Mil Gracias desde ya!
Responder Con Cita
  #2  
Viejo 16/03/09, 16:39:00
Avatar de DavidXD_XD
DavidXD_XD DavidXD_XD is offline
Moderator
 
Fecha de Ingreso: ago 2006
Localización: Lima - Perú
Mensajes: 1,251
Hola Roy, intenta convertir tu tabla interna en la cual almacenas el resultado del query a la MSEG en una tabla HASHED, aver q pasa ....

__________________
David Carballido Córdova
Responder Con Cita
  #3  
Viejo 16/03/09, 18:52:33
Roy Roy is offline
Junior Member
 
Fecha de Ingreso: jun 2007
Mensajes: 16
Thumbs up

Doctoraso, de antemano gracias por tu respuesta. Que yo sepa la declaracion hashed es para declarar un campo como clave, es completamente valido ok?, pero tengo unos cuantos contra con eso, la primera es que en Dev no tengo ese problema (lo q me hace pensar que es un tema de memoria mas que de sentencias), segundo que las ordenes de transporte aca se demoran una eternidad, y hasta probar eso en QAS me voy a volver viejo, mas alla de eso mi usuario no esta (un toq dramatica esta mi situacion) y tercero que despues de este Select, varios procesos con la data que obtengo y si utilizo el hashed debo cambiar bastantes cosas. Voy a seguir averigguando a ver si puedo solucionarlo de otra manera, en todo caso lo tendre como as bajo la manga. Gracias doctoraso !....

Si alguien mas a tenido el mismo problema porfavor una mano gracias!
Responder Con Cita
  #4  
Viejo 16/03/09, 20:14:17
Avatar de DavidXD_XD
DavidXD_XD DavidXD_XD is offline
Moderator
 
Fecha de Ingreso: ago 2006
Localización: Lima - Perú
Mensajes: 1,251
Claro, declararias como claves a los campos MBLNR, MJAHR y ZEILE, esas combinaciones nunca se van a repetir, en la mayoria de post con ese problema recomiendan declarar la tabla interna de esa forma ...


Yo tbm trabaje un kardex en el cual me botaba millones de registros y lo podia agrupar en mi tabla interna sin problemas ...
__________________
David Carballido Córdova
Responder Con Cita
  #5  
Viejo 16/03/09, 20:44:08
Roy Roy is offline
Junior Member
 
Fecha de Ingreso: jun 2007
Mensajes: 16
Asi?, no te creo...ok lo intentare comparito, ahora me han comentado que a la hora que haga el select en vez de hacer el for all entries, use un inner join...que tan factible sera eso?, sabes por casualidad?
Responder Con Cita
  #6  
Viejo 16/03/09, 20:48:39
Avatar de DavidXD_XD
DavidXD_XD DavidXD_XD is offline
Moderator
 
Fecha de Ingreso: ago 2006
Localización: Lima - Perú
Mensajes: 1,251
Tbm ... seria mucho mejor porq ambas tablas son cabecera y detalle
__________________
David Carballido Córdova
Responder Con Cita
  #7  
Viejo 16/03/09, 21:27:41
Roy Roy is offline
Junior Member
 
Fecha de Ingreso: jun 2007
Mensajes: 16
Excelente, el usuario ya lo esta probando para un mes solamente, ahora hago los cambios en DEV, y mañana lvere los resultados. Te cuento como salio. Gracias!
Responder Con Cita
  #8  
Viejo 17/03/09, 21:36:19
Roy Roy is offline
Junior Member
 
Fecha de Ingreso: jun 2007
Mensajes: 16
Thumbs up

En efecto debo darte las gracias David, el porgrama va corriendo cerca de 5 horas y no se cae, antes se caia a la media hora. En conclusion las tablas hashed y los select con inner join son el mejor camino, para una seleccion enorme.
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:09:10.


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