Como Funciona Una Bapi

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • ivansap1
    Junior Member
    • jun
    • 16

    #1

    Como Funciona Una Bapi

    muy buenos dias ,soy nuevo en abap ,mi pregunta es en si que como funciona bapi ,si tuvieran ejemplos se los agradeceria mucho que me lo indicaran .
    desde ya muchas gracias por su tiempo .
    IVANSAP
  • calanis
    Senior Member
    • oct
    • 147

    #2
    Hola Ivan

    Resumidamente las BAPI's(Business Application Programming Interface) son una interface de función que utiliza SAP y son accedidas desde el entorno R3 o externamente vía RFC.

    Que tiene internamente una BAPI?
    Como cualquier función mucho código y algunas pueden llegar a ser complejas que tienen otra BAPI :S
    Esperemos que no te toque debuggear un de esas

    Como se las llama?
    Mediante una interface definida la cual debes pasarle la información requerida( esto depende de la BAPI y pueden ser Variables simples,Estructuras y/o tablas) como mínimo y otra complementaria de acuerdo a lo que te pidan que hagas.

    Como hago para ver esa interface?
    Debes acceder como si fuera una función común, osea por la Transacción SE37 y con el nombre de la BAPI y listo.
    Por Ejemplo:BAPI_GOODSMVT_CREATE
    Un código de Ejemplo
    Código:
    *Crear un Mov de Mercancías 351 C/Centro Origen y Dest
    *[Simulamos la Transacción MB1B]
    DATA: 
    ls_gh TYPE bapi2017_gm_head_01,
    ls_gc TYPE bapi2017_gm_code,
    lv_md TYPE bapi2017_gm_head_ret-mat_doc,
    lt_gi TYPE TABLE OF bapi2017_gm_item_create WITH HEADER LINE,
    lt_rt TYPE TABLE OF bapiret2."Te traerá los mensajes de la BAPI
    
    ls_gh-pstng_date = sy-datum.
    ls_gc-gm_code = '04'. "Este Código le dice que simule la MB1B
    
    lt_gi-material = ls_ekpo-matnr.
    lt_gi-plant = ls_ekko-reswk. "centro de origen
    lt_gi-stge_loc = ls_ekpo-lgort.
    lt_gi-move_type = '351'.
    lt_gi-entry_qnt = 1.
    lt_gi-po_number = p_ebeln.
    lt_gi-po_item = p_ebelp.
    * lt_gi-mvt_ind = 'B'. "importante no ponerlo
    APPEND lt_gi. CLEAR lt_gi.
    
    CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
    EXPORTING
    goodsmvt_header = ls_gh
    goodsmvt_code = ls_gc
    IMPORTING
    materialdocument = lv_md
    TABLES
    goodsmvt_item = lt_gi
    return = lt_rt.
    IF sy-subrc = 0.
    *Mi código
    ENDIF.
    Bueno para que profundices más en el tema te paso 2 links.
    1 En Castellano por Francisco Reyes
    2 Documentación Oficial en Ingles

    Espero que la data te sirva

    Saludos
    Carlos D. Alanis
    Carlos D. Alanis
    <=<< Compartir conocimiento es una manera de innovar >>=>

    Comentario

    Trabajando...