#1
|
|||
|
|||
Report ALV NO MUESTRA LA DATA
hola, tengo un programa elaborado por otra persona que no me muestra los materiales de un proyecto.
los parametros obligatorios de entrada son proyecto y entrega, pero no los muestra, pero si me voy a otra transaccion si muestra materiales para esa combinacion (proyecto-entrega). Si me pueden ayudar.... tengo solo un par de semanas en el mundo de SAP y este codigo lo veo bien complicado.... gracias, saludos INCLUDE zps_lista_entrega_top_03. INCLUDE zps_lista_entrega_for_03. INITIALIZATION. g_repid = sy-repid. PERFORM print. g_save = 'A'. AT SELECTION-SCREEN ON VALUE-REQUEST FOR variant. PERFORM f4_for_variant. START-OF-SELECTION. * Obtenemos las unidades de manipulación de la entrega. PERFORM unidades_manipulacion. PERFORM datos_proyecto. PERFORM obtener_proyecto. PERFORM entregas_proyecto. PERFORM mostrar_datos. PERFORM agrupar. *********** MOSTRAR DATOS ********************** * Catalogo de campos para ALV. PERFORM catalogo. PERFORM layout. * Cabecera del informe para ALV PERFORM eventtab_build CHANGING gt_events. PERFORM comment_build CHANGING gt_list_top_of_page. * Mostramos el informe en ALV. PERFORM mostrar_alv. *&---------------------------------------------------------------------* *& Include ZPS_LIST_ENTREGA_001 * *&---------------------------------------------------------------------* REPORT zps_lista_entrega_001 . TABLES: zuma, vbplk, mara. TYPE-POOLS: slis. * Variables y tablas para BAPI de obtención de proyecto y sus * componentes. DATA: project_definition LIKE bapipr-project_definition, with_activities LIKE bapipr-with_activities, with_milestones LIKE bapipr-with_milestones, with_subtree LIKE bapipr-with_subtree. DATA: e_project_definition LIKE bapi_project_definition_ex, return LIKE bapireturn1. DATA: i_wbs_element_table LIKE bapi_wbs_elements OCCURS 0 WITH HEADER LINE, e_wbs_element_table LIKE bapi_wbs_element_exp OCCURS 0 WITH HEADER LINE, e_wbs_milestone_tabl LIKE bapi_wbs_milestone_exp OCCURS 0 WITH HEADER LINE, e_wbs_hierarchie_tab LIKE bapi_wbs_hierarchie OCCURS 0 WITH HEADER LINE, e_activity_table LIKE bapi_network_activity_exp OCCURS 0 WITH HEADER LINE, e_message_table LIKE bapi_meth_message OCCURS 0 WITH HEADER LINE. DATA: e_network LIKE bapi_network_exp OCCURS 0 WITH HEADER LINE, e_network2 LIKE bapi_network_exp OCCURS 0 WITH HEADER LINE, e_activity LIKE bapi_network_activity_exp OCCURS 0 WITH HEADER LINE, e_activity2 LIKE bapi_network_activity_exp OCCURS 0 WITH HEADER LINE, e_relation LIKE bapi_network_relation_exp OCCURS 0 WITH HEADER LINE, e_message_table2 LIKE bapi_meth_message OCCURS 0 WITH HEADER LINE, e_activity_element LIKE bapi_act_element_exp OCCURS 0 WITH HEADER LINE, e_activity_milestone LIKE bapi_act_milestone_exp OCCURS 0 WITH HEADER LINE, e_component2 LIKE bapi_component_exp OCCURS 0 WITH HEADER LINE, e_component LIKE bapi_component_exp OCCURS 0 WITH HEADER LINE, return2 LIKE bapireturn1. DATA: t_entregas LIKE psli OCCURS 0 WITH HEADER LINE. DATA: BEGIN OF t_entregas_comp OCCURS 0, vbeln LIKE lips-vbeln, posnr LIKE lips-posnr, lfimg LIKE lips-lfimg, END OF t_entregas_comp. * Variables y tablas para UMA en entregas. DATA: comwa LIKE vbco3, vbplk_tab LIKE vbplk OCCURS 0 WITH HEADER LINE, vbplp_tab LIKE vbplp OCCURS 0 WITH HEADER LINE, vbpls_tab LIKE vbpls OCCURS 0 WITH HEADER LINE. DATA: contador. "variable para controlar el primer salto de linea. DATA: BEGIN OF t_uma_sup OCCURS 0 , exidv LIKE vbplk_tab-exidv, venum_inf LIKE vbplk_tab-venum, finalsite LIKE e_activity-description, seal_mc(10) TYPE c, seal_ed(10) TYPE c, num_caj LIKE zuma-bultos, ntgew LIKE vbplk_tab-ntgew, brgew LIKE vbplk_tab-brgew, tavol LIKE vbplk_tab-tavol, vhilm LIKE vbplk_tab-vhilm, vebez LIKE vbplk_tab-vebez, END OF t_uma_sup. DATA: BEGIN OF t_tabla OCCURS 0, wbs_element LIKE e_wbs_element_table-wbs_element , network LIKE e_activity-network , activity LIKE e_activity-activity , description LIKE e_activity-description, item_number LIKE e_component-item_number , matl_desc LIKE e_component-matl_desc , desc_larga(120) TYPE c, vemng LIKE vbplp_tab-vemng , ntgew LIKE vekp-ntgew , brgew LIKE vekp-brgew , laeng LIKE vekp-laeng , breit LIKE vekp-breit , hoehe LIKE vekp-hoehe , tavol LIKE vekp-tavol , exidv LIKE vekp-exidv , pos_uma(5) TYPE c, inclu(15) TYPE c, num_bultos LIKE zuma-bultos, ntgew_sup LIKE vekp-ntgew , brdew_sup LIKE vekp-brgew , tavol_sup LIKE vekp-tavol , exidv_sup LIKE vekp-exidv , * VMSM - añadidos para la visualizacion de unidades. meabm LIKE vbplk_tab-meabm , gewei LIKE vbplk_tab-gewei , voleh LIKE vbplk_tab-voleh , geweit LIKE vbplk_tab-gewei , voleht LIKE vbplk_tab-voleh , * Modificaicón ETB 19/05/2006. Añadimos el campo orden SAP. ordensap LIKE resbd-sortf, * Fin Modificación ETB 19/05/2006. END OF t_tabla. DATA: BEGIN OF temporal, wbs_element LIKE e_wbs_element_table-wbs_element , network LIKE e_activity-network , activity LIKE e_activity-activity , description LIKE e_activity-description, item_number LIKE e_component-item_number , matl_desc LIKE e_component-matl_desc , desc_larga(120) TYPE c, vemng LIKE vbplp_tab-vemng , ntgew LIKE vekp-ntgew , brgew LIKE vekp-brgew , laeng LIKE vekp-laeng , breit LIKE vekp-breit , hoehe LIKE vekp-hoehe , tavol LIKE vekp-tavol , exidv LIKE vekp-exidv , pos_uma(5) TYPE c, inclu(15) TYPE c, num_bultos LIKE zuma-bultos, ntgew_sup LIKE vekp-ntgew , brdew_sup LIKE vekp-brgew , tavol_sup LIKE vekp-tavol , exidv_sup LIKE vekp-exidv , * VMSM - añadidos para la visualizacion de unidades. meabm LIKE vbplk_tab-meabm , gewei LIKE vbplk_tab-gewei , voleh LIKE vbplk_tab-voleh , geweit LIKE vbplk_tab-gewei , voleht LIKE vbplk_tab-voleh , * Modificaicón ETB 19/05/2006. Añadimos el campo orden SAP. ordensap LIKE resbd-sortf, * Fin Modificación ETB 19/05/2006. END OF temporal. * Tabla auxiliar para agrupar Lista de entrega. DATA: BEGIN OF t_tabla2 OCCURS 0, wbs_element LIKE e_wbs_element_table-wbs_element , network LIKE e_activity-network , activity LIKE e_activity-activity , description LIKE e_activity-description, item_number LIKE e_component-item_number , matl_desc LIKE e_component-matl_desc , desc_larga(120) TYPE c, vemng LIKE vbplp_tab-vemng , ntgew LIKE vbplk_tab-ntgew , brgew LIKE vbplk_tab-brgew , laeng LIKE vbplk_tab-laeng , breit LIKE vbplk_tab-breit , hoehe LIKE vbplk_tab-hoehe , tavol LIKE vbplk_tab-tavol , exidv LIKE vbplk_tab-exidv , pos_uma(5) TYPE c, inclu(15) TYPE c, num_bultos LIKE zuma-bultos, ntgew_sup LIKE vbplk_tab-ntgew , brdew_sup LIKE vbplk_tab-brgew , tavol_sup LIKE vbplk_tab-tavol , exidv_sup LIKE vbplk_tab-exidv , * VMSM - añadidos para la visualizacion de unidades. meabm LIKE vbplk_tab-meabm , gewei LIKE vbplk_tab-gewei , voleh LIKE vbplk_tab-voleh , geweit LIKE vbplk_tab-gewei , voleht LIKE vbplk_tab-voleh , * Modificaicón ETB 19/05/2006. Añadimos el campo orden SAP. ordensap LIKE resbd-sortf, * Fin Modificación ETB 19/05/2006. END OF t_tabla2. * Tabla auxiliar para agrupar Lista de entrega. DATA: BEGIN OF t_tabla3 OCCURS 0, wbs_element LIKE e_wbs_element_table-wbs_element , network LIKE e_activity-network , activity LIKE e_activity-activity , description LIKE e_activity-description, item_number LIKE e_component-item_number , matl_desc LIKE e_component-matl_desc , desc_larga(120) TYPE c, vemng LIKE vbplp_tab-vemng , ntgew LIKE vbplk_tab-ntgew , brgew LIKE vbplk_tab-brgew , laeng LIKE vbplk_tab-laeng , breit LIKE vbplk_tab-breit , hoehe LIKE vbplk_tab-hoehe , tavol LIKE vbplk_tab-tavol , exidv LIKE vbplk_tab-exidv , pos_uma(5) TYPE c, inclu(15) TYPE c, num_bultos LIKE zuma-bultos, ntgew_sup LIKE vbplk_tab-ntgew , brdew_sup LIKE vbplk_tab-brgew , tavol_sup LIKE vbplk_tab-tavol , exidv_sup LIKE vbplk_tab-exidv , * VMSM - añadidos para la visualizacion de unidades. meabm LIKE vbplk_tab-meabm , gewei LIKE vbplk_tab-gewei , voleh LIKE vbplk_tab-voleh , geweit LIKE vbplk_tab-gewei , voleht LIKE vbplk_tab-voleh , * Modificaicón ETB 19/05/2006. Añadimos el campo orden SAP. ordensap LIKE resbd-sortf, * Fin Modificación ETB 19/05/2006. END OF t_tabla3. * Las Uma ya tratadas no las repetimos. DATA: BEGIN OF t_uma OCCURS 0, exidv LIKE zuma-exidv, network LIKE e_activity-network , activity LIKE e_activity-activity , item_number LIKE e_component-item_number, inclu(15) TYPE c, END OF t_uma. * Tabla para contenedores DATA: t_conte LIKE vbplk OCCURS 0 WITH HEADER LINE, wa_conte LIKE vbplk. * Tabla relacion contenedores-uma. DATA: BEGIN OF t_contuma OCCURS 0, uma LIKE zuma-exidv, conte LIKE zuma-exidv, END OF t_contuma. *Patalla de selección. SELECTION-SCREEN BEGIN OF BLOCK 1 WITH FRAME TITLE text-001. PARAMETER: p_proy LIKE bapipr-project_definition OBLIGATORY. SELECT-OPTIONS: s_pep FOR e_activity-wbs_element, s_gra FOR e_network-network, s_ope FOR e_activity-activity, s_mat FOR e_component-material. SELECT-OPTIONS: s_vbeln FOR t_entregas-vbeln OBLIGATORY NO-EXTENSION NO INTERVALS MATCHCODE OBJECT zentregas. SELECTION-SCREEN END OF BLOCK 1. ***Variante de visualización SELECTION-SCREEN BEGIN OF BLOCK 2 . PARAMETER: variant LIKE disvariant-variant. SELECTION-SCREEN END OF BLOCK 2. * Variables para formato ALV. DATA: g_repid LIKE sy-repid, gs_layout TYPE slis_layout_alv, gt_sort TYPE slis_t_sortinfo_alv, ls_print TYPE slis_print_alv, gt_events TYPE slis_t_event, g_save(1) TYPE c, gx_variant LIKE disvariant, g_variant LIKE disvariant, g_tabname_header TYPE slis_tabname, g_tabname_item TYPE slis_tabname, g_exit(1) TYPE c, gt_list_top_of_page TYPE slis_t_listheader, gt_fieldcat TYPE slis_t_fieldcat_alv. ******************* el otro include en otro tema porque no cabe... gracias, Report ALV NO MUESTRA LA DATA_2 |
#2
|
||||
|
||||
Reporte ALV
Hola, esteee ese codigo esta muy largo como para verlo y probarlo! tiene demasiado! yo t puedo dar un ejemplo sencillo de como hacer un ALV... de echo ya tngo un programa que esta explicado usando ALV. Si lo quieres enviame correo a
__________________
Atte. Marcos Carrasco... |
#3
|
|||
|
|||
Hola
Hola he intentado activar el programa que pones en los post, peor me falta la defincion de la tabla z ZUMA me la puedes mandar asi como los datos z que hayas generado (no se si haya o no). Hasta pronto.
|
#4
|
|||
|
|||
MANDT MANDT CLNT 3 0 Mandante
EXIDV2 EXIDV CHAR 20 0 Identificación externa de la unidad de manipulación EXIDV EXIDV CHAR 20 0 Identificación externa de la unidad de manipulación CONTADOR NUMC 10 0 Contador de relación Jaula Bulto PEP PS_POSID CHAR 24 0 Elemento del plan de estructura de proyecto (elemento PEP) GRAFO NW_AUFNR CHAR 12 0 Número de grafo OPERACION CN_VORNR CHAR 4 0 Número de operación del grafo y grafo estándar ITEM APOSN CHAR 4 0 Número de posición de lista de materiales MATERIAL MATNR CHAR 18 0 Número de material CANTIDAD VEMNG QUAN 15 3 Cantidad base embalada en posición de unidad manipulación NBULTO CHAR 10 0 Número de bulto RESPONSABLE CHAR 30 0 Responsble de la creación de la JAULA TOTAL CHAR 10 0 Total o Parcial TEXTO CHAR 40 0 Identificador de texto (TEXT/TDID/códUMA) BULTOS INT4 10 0 Bultos en la Jaula MATRICULA CHAR 18 0 Matrícula del contenedor PRECINTO1 CHAR 18 0 Precinto 1 PRECINTO2 CHAR 18 0 Precinto 2 lo que me dices de datos no lo entiendo :S |
#5
|
|||
|
|||
Sos
porfa alguien ha podido ver esto
|
#6
|
|||
|
|||
holaaaa
perdona, has podido ver algooo.... no entiendo este codigoooo :S:S:S creo q los datos se pierden en esta parte *&---------------------------------------------------------------------* *& Form mostrar_datos *&---------------------------------------------------------------------* FORM mostrar_datos . PERFORM elementos. ENDFORM. " mostrar_datos *&---------------------------------------------------------------------* *& Form elementos *&---------------------------------------------------------------------* FORM elementos . LOOP AT e_wbs_element_table. PERFORM grafos. ENDLOOP. ENDFORM. " elementos *&---------------------------------------------------------------------* *& Form grafos *&---------------------------------------------------------------------* FORM grafos . LOOP AT e_activity WHERE wbs_element = e_wbs_element_table-wbs_element. * Componentes. PERFORM componentes . ENDLOOP. ENDFORM. " grafos *&---------------------------------------------------------------------* *& Form componentes *&---------------------------------------------------------------------* FORM componentes . LOOP AT e_component WHERE network = e_activity-network AND activity = e_activity-activity AND deletion_flag = ' '. * PASAMOS LOS DATOS A LA TABLA INTERNA. t_tabla-wbs_element = e_wbs_element_table-wbs_element. t_tabla-network = e_activity-network . t_tabla-activity = e_activity-activity. t_tabla-description = e_activity-description. t_tabla-item_number = e_component-item_number . t_tabla-matl_desc = e_component-matl_desc. * ETB 19/05/2006. Añadimos el campo orden de SAP. t_tabla-ordensap = e_component-sort_string. * Fin ETB 19/05/2006. * Tala auxliliar. MOVE-CORRESPONDING t_tabla TO t_tabla2. * Buscamos las entregas asociadas a ese componente. Pposteriormente * busacaremos las UMA asociadas a la posición de la entrega * correspondiente al componente que estamos tratando. PERFORM entrega_componente. ENDLOOP. ENDFORM. " componentes ya que cuando hago el debbuger y me posiciono en MOVE-CORRESPONDING t_tabla TO t_tabla2. t_tabla esta aparece con un solo registro........ graciasssssssss |
#7
|
||||
|
||||
A mi me falta algún append, para rellenar t_tabla. No sé si dentro de entrega_componente exista. Sino se está usando t_tabla como un registro, pero nunca rellegará la tabla. t_tabla2 también le falta alguna sentencia que rellene la tabla. Ahora sólo parece que rellena el registro de cabecera de la tabla pero no lo añade con un append a la tabla.
Un saludo. |
#8
|
|||
|
|||
UMMM VALE... PERO NO TENGO CONOCIMEINTOS DE ABAP... APENAS TENGO 2 SEMANAS CON ESTE LENGUAJE... SI ME EXPLICAS UN POCO MEJOR.... |
#9
|
||||
|
||||
Una ayuda bastante buena es la tecla F1 cuando estas visualizando un programa o escribiendo. Te colocas sobre la sentencia y pulsas F1. te mostrará la ayuda con todas las variantes y algunos ejemplos. Mira append.
Sobre las tablas internas t_tabla y t_tabla2. Te puedo decir que están declaradas como tablas internas. En el form componentes, veo que hay un recorrido a la tabla interna e_component. Cuando declaras una tabla interna es como declarar un registro que puede tener multiples instancias, con el occurs. Si relleno los campos de t_tabla como se hace es ese form. lo que hago es rellenar un registro de cabecera de la tabla, pero no estoy añadiendo a la tabla. Es necesario usar una sentencia como append para añadir esa información dentro de la tabla. Lo mismo pasa al hacer el move-corresponding a t_tabla2. Lo que haces es mover los campos iguales del registro de cabecera de ambas tablas internas. Pero nunca veo que añadas el registro a la tabla. Es en palabras coloquiales como si llamas a una casa a la puerta te presentas pero nunca entras. Cuando haces debuging estas viendo ese registro con contenido pero la tabla vacía. Los pasos básicos para añadir registros a una tabla son: 1.- definir la tabla (si no hay que rellenar vamos mal) 2.- rellenar el registro de cabecera 3.- añadir este registro a la tabla. Puedes hacerlo en tres pasos o en dos si usas un registro distinto al de la tabla. usando "append reg_1 to tabla_1". hay muchas formas de jugar con tablas internas. Espero que esto te aclare algo, en descargar seguramente tengas algún manual que te lo explique. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|