#1
|
|||
|
|||
Duda con select for all entrie
Hola buen día amigos del foro.
tengo una duda espero y me puedan ayudar, no se si sea posible hacer un select for all entries pero de la siguiente forma tengo una tabla de datos que tiene la siguiente informacion itab-BUKRS itab-BELNR itab-GJAHR itab-ebeln (numero de orden de compra). con estos datos quiero hacer un for All entries para traerme datos de la BKPF algo asi: select BUKRS BELNR GJAHR BLART BLDAT BUDAT awkey into Corresponding fields of TABLE it_bkpf from bkpf FOR ALL ENTRIES IN itab where bukrs = itab-bukrs and belnr = itab-belnr and GJAHR = itab-GJAHR. con ello no hay problema, pero si por alguna extraña razon extraña quisiera que el resultado ademas de los campos de la BKPF apareciera tambien el numero de la orden de compras algo asi: select BUKRS BELNR GJAHR BLART BLDAT BUDAT awkey itab-ebeln into TABLE it_bkpf from bkpf FOR ALL ENTRIES IN itab where bukrs = itab-bukrs and belnr = itab-belnr and GJAHR = itab-GJAHR. no se si se pueda por que me imagino que por cada select que se haga internamente para la tabla del for all entries se puede rescatar el campo ebeln con el que se haga la consulta. Alguien ha tratado de hacer algo parecido o uso un camino largo y menos extraño Saludos.
__________________
Francisco Ramirez. consultor SAP ABAP Netweaver Queretaro, Mexico. |
#2
|
|||
|
|||
Buenos dias,
No puedes hacer eso. En tu IT_BKPF tendras que tener un campo para el EBELN y despues del select hacer un: |
#3
|
|||
|
|||
Gracias Ballan.
pero son esas dudas que de pronto te surgue el respectivo: ¿ se podra? si efectivamente lo realice asi usando un loop y el modify aunque me hubiese ahorrado el modify si usara el field symbol como lo muestras en el ejemplo. Saludos.
__________________
Francisco Ramirez. consultor SAP ABAP Netweaver Queretaro, Mexico. Úlima edición por pancho6102 fecha: 01/07/15 a las 18:03:40. |
#4
|
|||
|
|||
Desconozco como esta implementado en detalle el FOR ALL ENTRIES, pero me imagino que internamente hara algo asi.
Tu tienes: SELECT.. FOR ALL ENTRIES IN TABLA WHERE CAMPO1 = TABLA1-CAMPO1 El compilador coge tu TABLA1 y genera un rango con todos los valores distintos de CAMPO1 Despues coge tu SELECT.. FOR ALL ENTRIES y lo convierte en SELECT WHERE CAMPO1 IN RANGO_CAMPO1 Es por eso que no puedes hacer referencia a campos de tu tabla interna, porque el select "real" que se hace no "ve" tu tabla interna. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|