|
#1
|
||||
|
||||
Una alternativa, que funciona relativamente bien en consonancia con el esfuerzo realizado para conseguirla.
Usar las transacciones SQ01 y SQ02 (Generador de querys de SAP) Crear la query deseada y fisgar en el código generado. Que trabaje SAP !!!! Saludos !!! ![]()
__________________
![]() |
#2
|
|||
|
|||
Pues me dijeron una cosa que tal vez podria haber ayudado en su momento.
Se supone (llevo un dia que ya no se que pensar) que para tostar menos la base de datos es mejor en vez de un select single dentro de un loop, un select into for all entries de la tabla del loop y dentro del loop un read a la tabla que llenamos con el for all entreis... |
#3
|
|||
|
|||
![]() Vale.Estoy probando con sq01 y sq02:
Con SQ01 me dice : Object can be only created in package of namespace /SAPQUERY.¿Cómo cambio a este paquete? Con SQ02,parece que necesita unirse a otra tabla. Necestio más ayuda para crear estas consultas con esas transacciones. Gracias ![]() |
#4
|
|||
|
|||
Pará... ¿de qué estás hablando? Me da la sensación de que estás consultando acerca de múltiples dudas sin seguir ningún tipo de ordenamiento.
Volvamos a la consulta a la tabla ZCLIENTES. Tu consulta original era por qué no activaba el código y ya se encuentra solucionado. ¿Qué es lo que querés hacer ahora? Nunca lo aclaraste. |
#5
|
||||
|
||||
Bueno lo que yo te recomiendo es eliminar todos los select single que estén dentro de loops, realizar la consulta con campos clave a las tablas que requieras fuera del loop para posteriormente solo realizar lecturas a tus tablas internas dentro del loop. Si este fuera tu caso, yo lo aria de esta forma: types: begin of ty_bsas, bukrs type bsas-bukrs, belnr type bsas-belnr, gjahr type bsas-gjahr, end of ty_bsas. data: tg_bsas type table of ty_bsas, sg_bsas type ty_bsas. SELECT bukrs belnr gjahr INTO table tg_bsas FROM bsas for all entries in tablai_bkpf WHERE bukrs EQ tablai_bkpf-bukrs AND augdt IN r_budat AND augbl EQ tablai_bkpf-belnr. if sy-subrc eq 0. *Se eliminan todos los registros que sean igual a 'ZI'. delete tg_bsas where blart eq 'ZI'. * se procede a realizar el loop a tablai_bkpf. Loop at tablai_bkpf into sg_bkpf. * Lectura a tabla interna bsas read table tg_bsas into sg_bsas with key bukrs = sg_bkpf-bukrs augdt IN r_budat augbl = sg_bkpf-belnr. endloop. endif. algo así yo haría, espero y me allá dado a entender. Saludos. Úlima edición por jvctaz23 fecha: 29/05/13 a las 15:23:59. |
![]() |
Herramientas | Buscar en Tema |
Desplegado | |
|
|