|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
codigo ejemplo para unir dos tablas cabecera y detalles de un ALV
Buenos Dias,
alguien tendra un ejemplo de un codigo unir la tabla cabecera y detalleen una sola estructura. gracias |
#2
|
||||
|
||||
ok, ok, una vez nos lo pidieron y no encontré la solución.
El caso es que sí que pasa por ejemplo en la Transaccion de libro diario (no me acuerdo del código de transaccion ahora mismo), despues de pintarlo por pantalla, puedes exportarlo a excell... y exporta dos tablas internas... intenté debugearlo pero fué casi imposible... aunque realmente creo que acbe viendo que lo metía todo en una tabla con un solo campo de 300 caracteres... El tema es interesante. A ver si alguien sabe algo. |
#3
|
||||
|
||||
La Transaccio Del Libro Diario Es S_alr_87012287
|
#4
|
|||
|
|||
Tienes que usar un ALV en bloques.
__________________
Sebas Desarrollador ABAP. |
#5
|
||||
|
||||
Hola, sconoredhot,
Imagino que con lo del alv en bloques te refieres a un solo alv que mediante alguna variante de la llamada a la función o al catálogo le indicas más de una tabla. Podrías indicarnoslo, por favor. Gracias y un saludo. |
#6
|
|||
|
|||
Jo pues o estoy muy espeso o no entiendo la pregunta. Si tienes una tabla cabecera y otra detalle y quieres sacarla en una sola estructura recorres la cabecera y recorres el detalle con la clave de la cabecera. Lo guardas en otra tabla y a correr. |
#7
|
||||
|
||||
Jeancifetola, ¿Podrías concretar cual es tu modificación?
Solo se me ocurre esto... DATA: BEGIN OF INTAB_FINAL WITH HEADER LINE, FILA(60) TYPE C. DATA: END OF INTAB_FINAL. DATA: INTAB_HEADER TYPE STANDARD TABLE OF TABDB_CABECERA, INTAB_POSICION TYPE STANDARD TABLE OF TABDB_POSICIONES. LOOP AT INTAB_HEADER. CONCATENATE INTAB_HEADER-CAMPO1+0(longitud del campo1) INTAB_HEADER-CAMPO2+longitud del campo1(longitud campo2) into INTAB_FINAL SEPARATED BY space. APPEND INTAB_FINAL. LOOP AT INTAB_POSICIONES WHERE CAMPO1 = INTAB_HEADER-CAMPO1. CONCATENATE INTAB_POSICIONES-CAMPO1+0(longitud del campo1) INTAB_POSICIONES-CAMPO2+longitud del campo1(longitud campo2) into INTAB_FINAL SEPARATED BY space. APPEND INTAB_FINAL. ENDLOOP. "INTAB_POSICIONES ENDLOOP. "INTAB_HEADER No sé si se entiend muy bien... Jeanficetola, pregunta en lo que tengas duda. Seguramente ya habrías visto esta posibilidad y el inconveniente de después de no poder seleccionar campo... si quieres hacer un loop a la tabla final. Bisonyé... el problema aquí creo, es que las tablas tienen diferente estructura... ej. header Campo 1 (8 caracteres) Campo 2 (10 numéricos) Posiction cmapo1 (4 numéricos) campo2 (3 caracteres) campo 3 (2 caracteres) cmapo1 (4 numéricos) campo2 (3 caracteres) campo 3 (2 caracteres) Osea... ________ __________ |1234abcd|1234567890| |1234|12a|ab| Alguien sabe si se puede construir tablas internas con estructura diferente en sus filas...?? |
#8
|
|||
|
|||
Pero si es una estructura cabecera - posición deben tener algún campo que las relacione, aunque sea parte del campo.
Por ejemplo: Cabecera 12345abc - hhhhh Linea 12345 -fff-hhh-jjj Sería : Si lo que decís es que las líneas no tengan la información de cabecera y vicecersa lo que se puede hacer es no rellenar los campos según corresponda. |
#9
|
||||
|
||||
*** jajaja, tienes toda la razón, se me pasó el pequeño detalle del ccampo clave. Ok, el tema es que en una misma tabla... tiene que aparecer Linea 1--> Todos los campos del registro nº1 de la BKPF . linea 2--> posicion de Bseg de registro nº1 de la BKPF. linea 3--> posicion de Bseg de registro nº1 de la BKPF. Linea 4--> Todos los campos del registro nº2 de la BKPF . linea 5--> posicion de Bseg de registro nº2 de la BKPF. linea 6--> posicion de Bseg de registro nº2 de la BKPF. Ýo entiendo que es así, ¿no, Jeanficetola?. |
#10
|
|||
|
|||
Eso es tan sencillo como montar una tabla interna con todos los registros de las dos tablas (me parece una burrada pero si es lo que piden...) y hacer el loop que he comentado antes.
Sigo sin ver los inconvenientes ni el problema |
Herramientas | Buscar en Tema |
Desplegado | |
|
|