|
#1
|
||||
|
||||
Hola coloso
Para que veas el codigo completo de como esta declarado te lo dejo en este link: Voy a leer sobre el método que me sugeris.. porque soy nuevo en codigo abap.. Gracias!..
__________________
Zayas
|
#2
|
||||
|
||||
Quizas no fui claro con lo que busco realizar..
Lo que pasa es que cuando se ejecuta el reporte Z, en la columna nombre (campo name1) no muestra algunos nombres de clientes.. pero cuando se ingresa en el registro si existe.. Verifiqué y se debe a que en el reporte se carga el valor de la tabla Z (zsd_det_cliente) que no tiene cargado este campo (nombre) pero en el registro si muestra porque estira de la tabla KNA1.. Mi idea es hacer que cuando carga en la tabla gt_det_cliente carge del campo de la tabla KNA1 y no de zsd_det_cliente. El codigo sin editar es el siguiente:
__________________
Zayas
|
#3
|
|||
|
|||
Hola compañero para empezar el error que te daba al principio es por la declaración del tipo de tabla
gt_det_cliente TYPE SORTED TABLE OF zsd_det_cliente WITH UNIQUE KEY kunnr, Al ser una tabla con unique key, si se repite el mismo nº de kunnr te debe de dar el error por eso, has probado con gt_det_cliente like standard table of zsd_det_client with header line, si te salen luego algún kunnr repetido ????? Haz lo que te dice oskymoreok, pero declara la tabla como te digo yo. Salu2. |
#4
|
|||
|
|||
Primero declara la tabla como te dice coloso, es importante que mantegas un orden poner los campos en el select
si Z es la primera tabla y el que mas campos en el select lleva, primero van esos ordenados dependiendo como estan declarados en la tabla zsd_det_cliente SELECT Z~mandt Z~kunnr Z~zsd_fecha_nac Z~zsd_doc_ident Z~zsd_dom_parti Z~zsd_dom_comer Z~zsd_est_civil Z~zsd_nacional Z~zsd_ruc Z~zsd_telefono Z~zsd_celular Z~zsd_email Z~zsd_localidad "Despues irian todos los correspondiente a la segunda tabla kna1, en tu caso es uno solo K~name1 INTO CORRESPONDING FIELDS OF gt_det_cliente FROM zsd_det_cliente AS Z JOIN KNA1 AS K ON Z~name1 = K~name1 En el codigo que me dijiste pusiste K~name1 primero y va ultimo, te explico, cuando pones into corresponding field va a buscar por cada campo de select en tu tabla donde se encuentra pra guardarla, pero si pones into to buscaria de a uno y no seria optimo, es importante que respetes siempre el orden |
#5
|
||||
|
||||
__________________
Zayas
|
#6
|
|||
|
|||
Ya lo solucionaste pero me parece que el error que te mandaba es por que estas intentando metesr una WA en una tabla.
INTO CORRESPONDING FIELDS OF gt_det_cliente Tendrias que usar : INTO CORRESPONDING FIELDS OF TABLE gt_det_cliente |
#7
|
|||
|
|||
hola
para que no te sobreescriba, deberias guardar el segundo select en otra tabla interna. y tambien tener declarada una tabla interna final
entonces luego recorres la primera, dentro del loop, haces un read table a la segunda, entonces tienes disponibles todos los datos, y vas pasando todos los campos que necesitas a la tabla final y le haces un append.
__________________
Sebas Desarrollador ABAP. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|