PDA

Ver la Versión Completa : Exportar datos de una tabla


joeljasso89
26/09/14, 16:50:37
Buen día:

Soy nuevo en esto del desarrollo ABAP, me encuentro realizando una función que maneja dos BAPIS, pero no se como hacerle para que me despliegue la información de los pedidos de compras... la tabla es PO_ITEMS y el campo en donde están almacenados es PO_NUMBER.

Espero me puedan ayudar.

Les muestro el código:

DATA: tl_poitem TYPE TABLE OF bapiekpoc,
wa_items TYPE bapiekpoc,
vl_header TYPE bapiekkol,
tl_header TYPE TABLE OF bapiekkol,
tl_item_history TYPE TABLE OF bapiekbes,
wa_item_hst TYPE bapiekbes.

CONSTANTS c_error TYPE string VALUE 'No se ha identificado cantidad pendiente a facturar con los criterios proporcionados'.

IF num_ped IS INITIAL.
CALL FUNCTION 'BAPI_PO_GETITEMS'
EXPORTING
vendor = id_prov
TABLES
po_items = tl_poitem
* RETURN =
.
IF sy-subrc NE 0.

msg_salida = c_error.

ENDIF.

IF tl_poitem IS INITIAL.
msg_salida = c_error.
ENDIF.

LOOP AT tl_poitem INTO wa_items.
CALL FUNCTION 'BAPI_PO_GETDETAIL'
EXPORTING
purchaseorder = wa_items-po_number
items = 'X'
history = 'X'
IMPORTING
po_header = vl_header
TABLES
po_item_history_totals = tl_item_history
.
IF id_prov = vl_header-vendor.
APPEND vl_header TO tl_header.
ENDIF.

ENDLOOP.

ELSE.
CALL FUNCTION 'BAPI_PO_GETDETAIL'
EXPORTING
purchaseorder = num_ped
items = 'X'
history = 'X''
IMPORTING
po_header = vl_header
TABLES
po_item_history_totals = tl_item_history

.


ENDIF.

Me debe arrojar los pedidos con el número de proveedor que le ingrese.

Chuva
26/09/14, 17:28:47
Hola Joel,

creo que para lo que quieres que es desplegar la información,
Lo puedes hacer de dos formas.

una es sencilla con la instruccion write.
si la informacion la tines en una tabla te recomiendo hagas un loop y luego escribas el texto. algo como:

loop at po_intems into wa_items.
write: / 'Tu Texto' , wa_items-campo.
endloop.

o hacer un alv.. y para hacer los alv hay muchos ejemplos incluso en sap..

Espero te sirva amigo abapero...

Saludos.

Chuva
26/09/14, 17:40:38
Hola Joel,

creo que para lo que quieres que es desplegar la información,
Lo puedes hacer de dos formas.

una es sencilla con la instruccion write.
si la informacion la tines en una tabla te recomiendo hagas un loop y luego escribas el texto. algo como:

loop at po_intems into wa_items.
write: / 'Tu Texto' , wa_items-campo.
endloop.

o hacer un alv.. y para hacer los alv hay muchos ejemplos incluso en sap..

Espero te sirva amigo abapero...

Saludos.

Solo para complementar...
los programas ejemplos en sap buscalos en la se38..
ingresa BCALV* y le das en el matchcode y te apareceran los ejemplos que tiene sap, estan muy buenos por que te dice los pasos la info que debes meter y todo, me ayudo mucho a la hora de hacer un alv jerarquico..

espero te sirvan =) saludos amigo abapero....