Inicio > ABAP/4 > Mostrar mensajes error BDC Batch Input -> messtab

Mostrar mensajes error BDC Batch Input -> messtab

Caso: buscamos mostrar los mensajes de error de un Batch Input (igual sirve para cualquiera de las tablas de mensajes que nos retornan algunas BAPIs) en un popup interactivo.

Solución: Hay un par de funciones interesantes para ello, que lo muestra como el estándar. Dejo la parte importante del código, no la del Batch Input, total lo importante es definir la tabla de mensajes en el CALL TRANSACTION:

* Generar el batch input
DATA: BEGIN OF bdc_tab OCCURS 0.
INCLUDE STRUCTURE bdcdata.
DATA: END OF bdc_tab.
DATA BEGIN OF messtab OCCURS 10.
INCLUDE STRUCTURE bdcmsgcoll.
DATA END OF messtab.

DATA: gs_opt TYPE ctu_params.

… líneas de armado del batch input en bdc_tab…

CALL FUNCTION ‘MESSAGES_INITIALIZE’
EXCEPTIONS
OTHERS = 1.

CALL TRANSACTION ‘IW32’ USING bdc_tab
OPTIONS FROM gs_opt
MESSAGES INTO messtab.

READ TABLE messtab TRANSPORTING NO FIELDS WITH KEY msgtyp = ‘E’.

IF sy-subrc NE 0.

CALL FUNCTION ‘BAPI_TRANSACTION_COMMIT’
EXPORTING
wait = ‘X’.

ELSE.
CALL FUNCTION ‘BAPI_TRANSACTION_ROLLBACK’.

LOOP AT messtab.

CALL FUNCTION ‘MESSAGE_STORE’
EXPORTING
arbgb = messtab-msgid
msgty = messtab-msgtyp
msgv1 = messtab-msgv1
msgv2 = messtab-msgv2
msgv3 = messtab-msgv3
msgv4 = messtab-msgv4
txtnr = messtab-msgnr
EXCEPTIONS
message_type_not_valid = 1
not_active = 2
OTHERS = 3.

ENDLOOP.

CALL FUNCTION ‘MESSAGES_SHOW’
EXPORTING
i_use_grid = ‘X’ " Comment for list display
batch_list_type = ‘L’
EXCEPTIONS
inconsistent_range = 1
no_messages = 2
OTHERS = 3.

ENDIF.

  1. Aún no hay comentarios.
  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: