✒️ABAP Las BAPIS
ABAP Las BAPIS
Código fuente de ejemplo para llamar a la BAPI BAPI_GOODSMVT_GETDETAIL.
.
Los datos número de documento y año los he tomado de la tabla MKPF que guarda las cabeceras de los documentos de material.
*&---------------------------------------------------------------------*
*& Report Z_BAPI
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT z_bapi.
*&---------------------------------------------------------------------*
* Para llamar a la BAPI BAPI_GOODSMVT_GETDETAILS
*&---------------------------------------------------------------------*
* Para exportar a la BAPI
DATA: vl_materialdocument type BAPI2017_GM_HEAD_02-MAT_DOC,
vl_matdocumentyear type BAPI2017_GM_HEAD_02-DOC_YEAR.
* Para importar desde la BAPI
DATA: vl_goodsmvt_header type STANDARD TABLE OF BAPI2017_GM_HEAD_02 WITH HEADER LINE.
* Tablas para la BAPI
data: it_GOODSMVT_ITEMS type STANDARD TABLE OF BAPI2017_GM_ITEM_SHOW with HEADER LINE,
it_return type STANDARD TABLE OF BAPIRET2.
*&---------------------------------------------------------------------*
START-OF-SELECTION.
*&---------------------------------------------------------------------*
write: 'Ejemplo de uso de la BAPI_GOODSMVT_GET_DETAIL que recupera la cabecera y el detalle del documento de material que le indiquemos'.
uline.
* Los datos del documento los he tomado de la tabla MKPF (cabeceras documento de material)
vl_materialdocument = '4900000002'.
vl_matdocumentyear = '2000'.
CALL FUNCTION 'BAPI_GOODSMVT_GETDETAIL'
EXPORTING
materialdocument = vl_materialdocument
matdocumentyear = vl_matdocumentyear
IMPORTING
GOODSMVT_HEADER = vl_goodsmvt_header
tables
goodsmvt_items = it_goodsmvt_items
return = it_return
.
if vl_goodsmvt_header is not INITIAL.
write:/ 'Se ha recuperado el documento', vl_materialdocument, 'del año ', vl_matdocumentyear.
ULINE.
write: 'Cabecera del documento'.
uline.
write:/ 'Número de documento material:', vl_goodsmvt_header-MAT_DOC,/
'Ejercicio del documento de material:', vl_goodsmvt_header-doc_year,/
'Clase de operación:', vl_goodsmvt_header-tr_ev_type,/
'Fecha de documento en documento:', vl_goodsmvt_header-doc_date,/
'Fecha de contabilización en el documento:', vl_goodsmvt_header-pstng_date,/
'Día del registro del documento contable:', vl_goodsmvt_header-entry_date,/
'Hora de entrada:', vl_goodsmvt_header-entry_time,/
'Nombre del usuariov:', vl_goodsmvt_header-username,/
'Versión para la impresión del vale de acompañam. mcías.:', vl_goodsmvt_header-ver_gr_gi_slip,/
'Número datos de comercio exterior en doc.MM y SD:', vl_goodsmvt_header-expimp_no,/
'Número de documento de referencia:', vl_goodsmvt_header-ref_doc_no,/
'Texto de cabecera de documento:', vl_goodsmvt_header-header_txt,/
'Número documento referencia', vl_goodsmvt_header-ref_doc_no_long.
uline.
write: 'Detalle del documento'.
loop at it_GOODSMVT_ITEMS.
write:/ 'ITEM:',it_GOODSMVT_ITEMS-matdoc_itm, 'MATERIAL:',it_GOODSMVT_ITEMS-material, 'PLANTA:', it_GOODSMVT_ITEMS-PLANT,
'ALMACÉN:', it_GOODSMVT_ITEMS-STGE_LOC, 'LOTE:', it_GOODSMVT_ITEMS-BATCH, 'CANTIDAD:', it_GOODSMVT_ITEMS-ENTRY_QNT.
ENDLOOP.
else.
write:/ 'No se ha recuperado el documento'.
endif.
La salida por pantalla ha de ser esta:
Las variables iniciales se toman de la BAPI en este orden:
* Para exportar a la BAPI
DATA: vl_materialdocument type BAPI2017_GM_HEAD_02-MAT_DOC,
vl_matdocumentyear type BAPI2017_GM_HEAD_02-DOC_YEAR.
* Para importar desde la BAPI
DATA: vl_goodsmvt_header type STANDARD TABLE OF BAPI2017_GM_HEAD_02 WITH HEADER LINE.
* Tablas para la BAPI
data: it_GOODSMVT_ITEMS type STANDARD TABLE OF BAPI2017_GM_ITEM_SHOW with HEADER LINE,
it_return type STANDARD TABLE OF BAPIRET2.
Muy importante: la columna Opcional (si está desmarcada) se corresponde con el paso de parámetros obligatorios.
Espero que este aporte te sea de utilidad.
Fernando Morales
Las Palmas de Gran Canaria
 
 
 
Sobre el autor
Publicación académica de Fernando Morales Del Rosario, en su ámbito de estudios para la Carrera Consultor ABAP.
Fernando Morales Del Rosario
Profesión: Analista Programador - España - Legajo: HF78E
✒️Autor de: 17 Publicaciones Académicas
🎓Cursando Actualmente: Master ABAP for HANA
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Presentación:
Mi objetivo es poner en práctica lo aprendido y alcanzar un buen nivel como programador abap.
Certificación Académica de Fernando Morales