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 07/04/16, 23:28:53
Avatar de ABellamy
ABellamy ABellamy is offline
Member
 
Fecha de Ingreso: dic 2011
Mensajes: 44
Read Table

Buenas tardes, estoy haciendo un programita de prueba de entregas vs pedidos pero no se bien como linkear las llaves de mi read table. Cuando hago el join de la likp y lips se me trae datos mas sin embargo en el read no.
Hasta ahorita, el código que llevo:

*&---------------------------------------------------------------------*
*& Include YPRUEBA1_TOP
*&---------------------------------------------------------------------*
TYPE-POOLS: slis.

TABLES: vbak, "pedidos: cabecera.
vbap, "pedidos: posiciones.
likp, "factura: cabecera.
lips, "factura: posiciones.
kna1. "clientes.

TYPES:
BEGIN OF ty_pedido,
vbeln LIKE vbak-vbeln, "pedido.
posnr LIKE vbap-posnr, "posicion.
erdat LIKE vbak-erdat, "fecha de creacion.
auart LIKE vbak-auart, "clase doc. vtas.
augru LIKE vbak-augru, "motivo de separacon.
vkorg LIKE vbak-vkorg, "org. vtas.
vtweg LIKE vbak-vtweg, "canal distrib.
spart LIKE vbak-spart, "sector.
netwr LIKE vbak-netwr, "valor neto.
waerk LIKE vbak-waerk, "moneda.
kunnr LIKE vbak-kunnr, "cliente.
matnr LIKE vbap-matnr, "no. material.
arktx LIKE vbap-arktx, "descrip. pedido.
vrkme LIKE vbap-vrkme, "umv.
END OF ty_pedido,

BEGIN OF ty_cliente,
kunnr LIKE kna1-kunnr, "cliente.
land1 LIKE kna1-land1, "pais.
name1 LIKE kna1-name1, "nombre 1.
name2 LIKE kna1-name2, "nombre 2.
ort01 LIKE kna1-ort01, "poblacion.
pstlz LIKE kna1-pstlz, "c.p.
END OF ty_cliente,

BEGIN OF ty_entrega,
vbeln1 LIKE likp-vbeln, "no. entrega.
posnr1 LIKE lips-posnr, "posiciones.
inco1 LIKE likp-inco1, "intercoms.
route LIKE likp-route, "ruta.
werks LIKE lips-werks, "moneda.
lgort LIKE lips-lgort, "almacen.
lfimg LIKE lips-lfimg, "cant. entregada en umv.
vgbel LIKE lips-vgbel, "no. doc. del doc. modelo.
vgpos LIKE lips-vgpos, "no. doc. de posicion modelo.
END OF ty_entrega,

BEGIN OF ty_salida,
vbeln LIKE vbak-vbeln, "pedido.
posnr LIKE vbap-posnr, "posición pedido.
erdat LIKE vbak-erdat, "fecha de cración.
auart LIKE vbak-auart, "clase doc.
augru LIKE vbak-augru, "motivo de operación.
vkorg LIKE vbak-vkorg, "org. vtas.
vtweg LIKE vbak-vtweg, "canal de distribución.
spart LIKE vbak-spart, "sector.
netwr LIKE vbak-netwr, "valor neto.
waerk LIKE vbak-waerk, "moneda.
kunnr LIKE vbak-kunnr, "cliente.
matnr LIKE vbap-matnr, "no. material.
arktx LIKE vbap-arktx, "descrip. pedido.
vrkme LIKE vbap-vrkme, "umv.
* kunnr LIKE kna1-kunnr, "cliente.
land1 LIKE kna1-land1, "país.
name1 LIKE kna1-name1, "nombre 1.
name2 LIKE kna1-name2, "nombre 2.
ort01 LIKE kna1-ort01, "población.
pstlz LIKE kna1-pstlz, "c.p.
vbeln1 LIKE likp-vbeln, "no. entrega.
posnr1 LIKE lips-posnr, "posición-entrega
inco1 LIKE likp-inco1, "intercoms 1.
route LIKE likp-route, "ruta.
werks LIKE lips-werks, "centro.
lgort LIKE lips-lgort, "almacén.
lfimg LIKE lips-lfimg, "cantidad entregada en UMV.
vgbel LIKE lips-vgbel, "no. doc. del doc. modelo.
vgpos LIKE lips-vgpos, "no. doc. de posición modelo.
END OF ty_salida.

DATA: lt_pedido TYPE STANDARD TABLE OF ty_pedido WITH HEADER LINE.
DATA: lt_cliente TYPE STANDARD TABLE OF ty_cliente WITH HEADER LINE.
DATA: lt_entrega TYPE STANDARD TABLE OF ty_entrega WITH HEADER LINE.
DATA: lt_salida TYPE STANDARD TABLE OF ty_salida WITH HEADER LINE.

DATA: lt_catalog TYPE slis_t_fieldcat_alv,
ls_catalog TYPE slis_fieldcat_alv,
ls_layout TYPE slis_layout_alv,
st_header TYPE slis_listheader,
t_header TYPE slis_t_listheader,
t_events TYPE slis_t_event.

DATA: lv_meins LIKE mara-meins,
lv_meins2 LIKE mara-meins, "umb
lv_menge LIKE ekpo-menge,
lv_menge2 LIKE ekpo-menge.

SELECTION-SCREEN: BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: so_vbeln FOR vbak-vbeln," DEFAULT '10',
so_erdat FOR vbak-erdat,
so_vkorg FOR vbak-vkorg,
so_vtweg FOR vbak-vtweg,
so_spart FOR vbak-spart,
so_matnr FOR vbap-matnr.
SELECTION-SCREEN: END OF BLOCK b1.

*&---------------------------------------------------------------------*
*& Include YPRUEBA1_FORMS
*&---------------------------------------------------------------------*

FORM obtener_datos .
* Extracción de datos: pedidos.
SELECT
vbak~vbeln
vbap~posnr
vbak~erdat
vbak~auart
vbak~augru
vbak~vkorg
vbak~vtweg
vbak~spart
vbak~netwr
vbak~waerk
vbak~kunnr
vbap~matnr
vbap~arktx
vbap~vrkme
FROM vbak INNER JOIN vbap
ON vbak~vbeln EQ vbap~vbeln
INTO TABLE lt_pedido
WHERE vbak~vbeln IN so_vbeln
AND vbak~erdat IN so_erdat
AND vbak~vkorg IN so_vkorg
AND vbak~vtweg IN so_vtweg
AND vbak~spart IN so_spart
AND vbap~matnr IN so_matnr.

IF lt_pedido[] IS NOT INITIAL.
* Extracción de datos: cliente.
SELECT kunnr
land1
name1
name2
ort01
pstlz
FROM kna1
INTO TABLE lt_cliente
FOR ALL ENTRIES IN lt_pedido
WHERE kunnr EQ lt_pedido-kunnr.
ENDIF.

* Extracción de datos: entrega.
* Add 07.04.2016
SELECT likp~vbeln
lips~posnr
likp~inco1
likp~route
lips~werks
lips~lgort
lips~lfimg
lips~vgbel
lips~vgpos
FROM likp INNER JOIN lips
ON likp~vbeln EQ lips~vbeln
INTO TABLE lt_entrega
FOR ALL ENTRIES IN lt_pedido
WHERE lips~vgbel EQ lt_pedido-vbeln
AND lips~vgpos EQ lt_pedido-posnr
AND likp~kunnr EQ lt_pedido-kunnr.
* End 07.04.2016

ENDFORM. " OBTENER_DATOS
*&---------------------------------------------------------------------*
*& Form IMPRIME_DATOS
*&---------------------------------------------------------------------*
FORM imprime_datos .

LOOP AT lt_pedido.
* Lectura de datos: pedido.
MOVE-CORRESPONDING lt_pedido TO lt_salida. "07.04.2016.

* Lectura de datos: cliente.
READ TABLE lt_cliente WITH KEY kunnr = lt_salida-kunnr.
IF sy-subrc EQ 0.
lt_salida-land1 = lt_cliente-land1.
lt_salida-name1 = lt_cliente-name1.
lt_salida-name2 = lt_cliente-name2.
lt_salida-ort01 = lt_cliente-ort01.
lt_salida-pstlz = lt_cliente-pstlz.
ENDIF.

* Lectura de datos: entregas.

READ TABLE lt_entrega WITH KEY vgbel = lt_pedido-vbeln
vgpos = lt_pedido-posnr.
lt_salida-vbeln1 = lt_entrega-vbeln1.
lt_salida-posnr1 = lt_entrega-posnr1.
lt_salida-inco1 = lt_entrega-inco1.
lt_salida-route = lt_entrega-route.
lt_salida-werks = lt_entrega-werks.
lt_salida-lgort = lt_entrega-lgort.
lt_salida-lfimg = lt_entrega-lfimg.
APPEND lt_salida.
ENDLOOP.
ENDFORM. " IMPRIME_DATOS
*&---------------------------------------------------------------------*

¿Alguna sugerencia, por favor?
Saludos.
__________________
Es más fácil encontrar el final del arcoíris que el de un estándar SAP.
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 16:15:31.


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