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 20/05/10, 21:33:39
gdmj1107 gdmj1107 is offline
Member
 
Fecha de Ingreso: mar 2006
Mensajes: 93
Textos de posicion de solp y pedido de compra

Hola a todos, les comento que he realizado un programa para obtener información sobre cada una de las solicitudes de pedido que tenemos en mi empresa detallando posición a posición, y además por cada posicion obtengo la información de su o sus pedidos de compra respectivos a nivel posición. El problema con el que tropiezo es que debo adicionar los respectivos textos de posición tanto de las posiciones de la solicitud de pedido y de su respectiva posición de pedido de compra. Para ello he utilizado dos bapis, que me ayudan a obtener esta información, pero a nivel solicitud y pedido respectivamente. Estas son las características del proceso.
a) Mediante consultas internas a las tablas de base de datos se obtuvo una tabla interna que contiene información general de una posición de solicitud de pedido y su respectiva posición de pedido de compra en una línea de esta tabla interna.
b) La bapi que obtiene textos de posición de la solp contiene información de textos de posición para toda la solicitud de pedido y no particularmente para la posición tratada. Esto se almacena en una tabla interna.
c) La bapi que obtiene textos de posición del pedido de compra contiene información de textos de posición para todo el pedido de compra y no particularmente para la posición tratada. Esto se almacena en una tabla interna.
d) Existen tres tablas internas 1) La que contiene información sobre una posición de solp y su posición de pedido de compra 2) La que contiene textos de posición para toda la solp 3) La tercera que contiene textos de posición para todas las posiciones del pedido de compra.
e) En la 2da y tercera tablas internas el texto de posición ocupa una o mas líneas dentro de estas tablas para cada posición de la solp y cada posición del pedido de compra respectivamente.
Como requiero tener información de una posición de solp más su texto de posición y su respectiva posición de pedido de compra más su texto de posición, entonces:
a) Por cada línea de la primera tabla tendré mas de una línea con el texto de posición de la segunda y tercera tabla.
Para ello
a) Leo mediante un loop la primera tabla.
b) Por cada línea de la primera tabla mediante un loop leo una línea de la segunda tabla que coincida con el número y número de posición de la solp.
c) Dentro de este loop realizo otro loop para encontrar la línea respectiva de texto de posición de la tercera tabla. Es decir si estoy en la primera línea de la segunda tabla debo ubicar la primera línea de la tercera tabla. Esto me obliga a recorrer la tercera tabla tantas veces como líneas tenga la segunda tabla.
d) El resultado se va almacenando en una cuarta tabla que une toda la información.
e) Para cada posición de solp y su posición de pedido de compra hay una o mas líneas en la cuarta tabla. La primera contiene los datos generales de la posición de la solp y los datos generales de la posición del pedido de compra más la primera línea de sus respectivos textos de posición. A partir de la segunda línea dentro de la cuarta tabla que corresponde a la posición de la solp está la segunda línea del texto de posición de la solp y del pedido de compra si es que existen.
El problema que se produce es que el proceso se vuelve lento. Existiría la posibilidad de realizar de otra manera de realizar tal vez reemplazando alguno de los loop at con un read?

Les agradezco anticipadamente su ayuda
Responder Con Cita
  #2  
Viejo 19/11/10, 14:17:19
vstarke vstarke is offline
Member
 
Fecha de Ingreso: feb 2010
Mensajes: 60
Buenos días:

un favor, me podrías decir de qué forma obtienes los textos de las posiciones de los pedidos y de las solpeds. veo que dice que es con una BAPI ... cuál usas?
Responder Con Cita
  #3  
Viejo 19/11/10, 14:28:23
yapbig yapbig is offline
Senior Member
 
Fecha de Ingreso: may 2007
Localización: San Nicolás, Argentina
Mensajes: 261
algunos consejos:
1ro) usa field symbols en lugar de work area para los loops de las tabla internas

2do) Usa un READ TABLE with key... binary search para posicionarte en el primer registro que cumpla las condiciones y luego recorres la tabla con un LOOP FROM SY-TABIX y salís de este loop cuando ya no se cumplan las condiciones con un EXIT. Esto en lugar de usar un LOOP WHERE

Probá estas 2 mejoras y vas viendo si mejora la performance

La otra sería analizar la lógica de lo que estás haciendo, pero así como esta funciona bien y hay que estar bien metido en el tema para poder evaluar un cambio en la lógica

Saludos,
__________________
Gustavo A. Biglia
Consultor SAP FI
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:07:42.


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