MUNDOSAP

Regresar   MUNDOSAP > TRABAJO Y FORMACION > RUEGOS Y PREGUNTAS
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 29/01/15, 18:10:07
tabi.rivero tabi.rivero is offline
Junior Member
 
Fecha de Ingreso: ene 2015
Mensajes: 3
Añadir campos en ALV

Hola
Tengo una duda. Soy Abap Jr apenas 3 semanas con esto de abap . Tengo un problemita con un ALV. Me pidieron una modificación, agregar 2 columnas: denominación de tipo de material y denominación de Gpo. de Artículos.

Aparte del TYPE-POOLS: slis, el FM = REUSE_ALV_GRID_DISPLAY y el catálogo, tengo esto que creo es importante.
Tengo esto:

* Tablas.
TABLES: mara, "Maestro de Materiales.
makt. "Textos breves - Material.

TYPES: BEGIN OF ty_lista,
matnr LIKE mara-matnr, "No. Material.
maktx LIKE makt-maktx, "Descrip. Material.
ersda LIKE mara-ersda, "Fecha de Creación.
mtart LIKE mara-mtart, "Tipo de Material
matkl LIKE mara-matkl, "Gpo. de Artículos.
meins LIKE mara-meins, "UMB.
gewei LIKE mara-gewei, "UM Peso.
mtbez LIKE t134t-mtbez, "Add 29.01.2015
wgbez LIKE t023t-wgbez, "Add 29.01.2015
END OF ty_lista,

* Inicio modif. 29.01.2015
BEGIN OF ty_mtart,
mtart LIKE t134t-mtart, "Tipo de Material.
mtbez LIKE t134t-mtbez, "Descrip. Tipo de Material.
END OF ty_mtart,

BEGIN OF ty_matkl,
matkl LIKE t023t-matkl, "Gpo. Artículos.
wgbez LIKE t023t-wgbez, "Descrip. Gpo. Artículos.
END OF ty_matkl.
* Final modif. 29.01.2015

* Declaración de tablas internas.
DATA: lt_lista TYPE STANDARD TABLE OF ty_lista WITH HEADER LINE,
lt_mtart TYPE STANDARD TABLE OF ty_mtart WITH HEADER LINE, "Add 29.01.2015
lt_matkl TYPE STANDARD TABLE OF ty_matkl WITH HEADER LINE. "Add 29.01.2015

* Declaraciones del ALV.
DATA: ls_layout TYPE slis_layout_alv,
lt_catalog TYPE slis_t_fieldcat_alv,
ls_catalog TYPE slis_fieldcat_alv.

* Pantalla de selección.
SELECTION-SCREEN: BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: so_matnr FOR mara-matnr OBLIGATORY,
so_ersda FOR mara-ersda,
so_mtart FOR mara-mtart.
SELECTION-SCREEN: END OF BLOCK b1.

START-OF-SELECTION.
PERFORM obtener_datos.
PERFORM catalogo_alv.
PERFORM llamar_alv.

FORM obtener_datos.
* Extracción de datos de materiales.
SELECT mara~matnr
maktx
ersda
mtart
matkl
meins
gewei
FROM mara INNER JOIN makt
ON mara~matnr EQ makt~matnr
INTO TABLE lt_lista
WHERE mara~matnr IN so_matnr
AND ersda IN so_ersda
AND mtart IN so_ersda
AND spras EQ sy-langu.

* Inicio modif. 29.01.2015
* Extracción de denominaciones de tipo de material.
SELECT mtart
mtbez
FROM t134t
INTO TABLE lt_mtart
WHERE spras EQ sy-langu.

* Extracción de denominaciones de Gpo. Artículos.
SELECT matkl
wgbez
FROM t023t
INTO TABLE lt_matkl
WHERE spras EQ sy-langu.

LOOP AT lt_lista.
READ TABLE lt_lista WITH KEY mtart = lt_lista-mtart.
IF sy-subrc EQ 0.
MODIFY lt_lista INDEX sy-tabix TRANSPORTING mtbez.
ENDIF.

READ TABLE lt_matkl WITH KEY matkl = lt_lista-matkl.
IF sy-subrc EQ 0.
ENDIF.
ENDLOOP.
* Final modif. 29.01.2015
ENDFORM. " OBTENER_DATOS

En el debug se muestran ya las 2 columnas (ya están en el catálogo) que me piden, pero no hay datos. Hice lo del MODIFY, pero creo que no es eso. No se como unir datos de 2 o mas tablas internas

Espero puedan ayudarme.

Saludos.
Responder Con Cita
  #2  
Viejo 19/02/15, 22:21:39
Avatar de ABellamy
ABellamy ABellamy is offline
Member
 
Fecha de Ingreso: dic 2011
Mensajes: 44
Añadir campos en ALV

Hola tabi.rivero
No tendría caso corregirte pues es algo básico y muy importante en cualquier desarrollo las operaciones con tablas internas, mejor te paso un link del que te puedes aprender, practicar y debugear:
Sirve de mucho, lo que no entiendas presiona F1, lee la ayuda, realiza muchos ejercicios y debugea, no queda de otra

Suerte
Saludos
__________________
Es más fácil encontrar el final del arcoíris que el de un estándar SAP.
Responder Con Cita
  #3  
Viejo 20/02/15, 10:36:17
sconoredhot sconoredhot is offline
Senior Member
 
Fecha de Ingreso: feb 2008
Localización: Argentina, Rosario
Mensajes: 341
Smile hola

Hola,

Si, como dicen arriba deberías debuguearlo.

Pero fijate que el mayor problema está aca:

LOOP AT lt_lista.
READ TABLE lt_lista WITH KEY mtart = lt_lista-mtart.
***** aca tenes que leer la otra tabla, no lt_lista ********
IF sy-subrc EQ 0.
MODIFY lt_lista INDEX sy-tabix TRANSPORTING mtbez.
ENDIF.

READ TABLE lt_matkl WITH KEY matkl = lt_lista-matkl.
IF sy-subrc EQ 0.
******* aca te falta pasar el valor a lt_lista **********
ENDIF.
ENDLOOP
__________________
Sebas

Desarrollador ABAP.
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 14:00:38.


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