MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 19/02/08, 09:12:38
dayanareyes dayanareyes is offline
Member
 
Fecha de Ingreso: jul 2006
Mensajes: 36
Question 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
Responder Con Cita
  #2  
Viejo 19/02/08, 11:20:25
Avatar de mcarrasco
mcarrasco mcarrasco is offline
Member
 
Fecha de Ingreso: jul 2007
Localización: Venezuela. Pto Ordaz
Mensajes: 71
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...
Responder Con Cita
  #3  
Viejo 19/02/08, 11:24:03
vickxo vickxo is offline
Senior Member
 
Fecha de Ingreso: nov 2006
Localización: Madrid, España
Mensajes: 118
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.
Responder Con Cita
  #4  
Viejo 19/02/08, 11:59:23
dayanareyes dayanareyes is offline
Member
 
Fecha de Ingreso: jul 2006
Mensajes: 36
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
Responder Con Cita
  #5  
Viejo 20/02/08, 07:19:54
dayanareyes dayanareyes is offline
Member
 
Fecha de Ingreso: jul 2006
Mensajes: 36
Sos

porfa alguien ha podido ver esto
Responder Con Cita
  #6  
Viejo 20/02/08, 10:54:19
dayanareyes dayanareyes is offline
Member
 
Fecha de Ingreso: jul 2006
Mensajes: 36
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
Responder Con Cita
  #7  
Viejo 20/02/08, 11:18:20
Avatar de pirri
pirri pirri is offline
Senior Member
 
Fecha de Ingreso: dic 2006
Mensajes: 127
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.
Responder Con Cita
  #8  
Viejo 20/02/08, 11:23:13
dayanareyes dayanareyes is offline
Member
 
Fecha de Ingreso: jul 2006
Mensajes: 36


UMMM VALE... PERO NO TENGO CONOCIMEINTOS DE ABAP... APENAS TENGO 2 SEMANAS CON ESTE LENGUAJE... SI ME EXPLICAS UN POCO MEJOR....
Responder Con Cita
  #9  
Viejo 20/02/08, 12:20:07
Avatar de pirri
pirri pirri is offline
Senior Member
 
Fecha de Ingreso: dic 2006
Mensajes: 127
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.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 23:20:56.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web