#11
|
|||
|
|||
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. |
#12
|
|||
|
|||
La forma correcta de hacerlo es:
Primero: Haces tu select para traer todos tus registros con casi todos los campos que necesitas. SELECT mandt kunnr name1 zsd_fecha_nac zsd_doc_ident zsd_dom_parti zsd_dom_comer zsd_est_civil zsd_nacional zsd_ruc zsd_telefono zsd_celular zsd_email zsd_localidad FROM zsd_det_cliente INTO TABLE gt_det_cliente WHERE kunnr IN p_kunnr AND name1 IN so_name1 AND zsd_fecha_nac IN so_fnaci AND zsd_doc_ident IN so_dni AND zsd_dom_parti IN so_dompa AND zsd_dom_comer IN so_domco AND zsd_est_civil IN so_estci AND zsd_nacional IN so_nacio AND zsd_ruc IN so_ruc AND zsd_telefono IN so_telef AND zsd_celular IN so_celul AND zsd_email IN so_email AND zsd_localidad IN so_local. Segundo: Llenas otra tabla con el codigo de cliente y el nombre. if gt_det_cliente is not initial. SELECT mandt kunnr name1 FROM kna1 INTO TABLE t_kna1 FOR ALL ENTRIES gt_det_cliente WHERE kunnr EQ gt_det_cliente-kunnr. endif. Finalmente: recorres tu tabla colocandole el valor correcto en name1. LOOP AT gt_det_cliente ASSIGNING <fs_det>. read table t_kna1 into wa_kna1 with key kunnr = <fs_det>-kunnr. if sy-subrc = 0. <fs_det>-name1 = wa_kna1-name1. endif. ENDLOOP. Espero te ayude. Freddy Farro Programador ABAP |
Herramientas | Buscar en Tema |
Desplegado | |
|
|