Ayuda con BAPi

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • jiman1983
    Junior Member
    • mar
    • 2

    #1

    Ayuda con BAPi

    Hola a todos, he estado investigando sobre una BApi pero no encuentro información al respecto. Quisiera saber si algunos de ustedes me puede ayudar, mi problema es el siguiente:

    Quiero ligar un bp a un caso creado en CRM, segun me dijeron la bapi para realizar esto es BAPI_CASE_ADDELEMENTS, tengo los datos necesarios para rellenar las estructuras nada más que no se como... los datos que tengo disponibles en este momento son el GUID de caso y el número de BP con el cual quiero ligarlo. Ojalá alguien pueda ayudarme, gracias!
  • jiman1983
    Junior Member
    • mar
    • 2

    #2
    Despues de mucho buscar y debuggear encontre la respuesta... aqui les dejo la función por si algun día se les presenta el mismo problema..

    FUNCTION ZCRM_LIGARBPCASO .
    *"----------------------------------------------------------------------
    *"*"Interfase local
    *" IMPORTING
    *" VALUE(PARTNER) TYPE BU_PARTNER
    *" VALUE(ID_CASE) TYPE SCMG_EXT_KEY
    *" EXCEPTIONS
    *" NO_EXISTECASO
    *" ERROR_DESCONOCIDO
    *"----------------------------------------------------------------------

    data: lt_identification like TABLE OF BAPIPROPME WITH HEADER LINE,
    lt_insertion like TABLE OF bapidocins WITH HEADER LINE,
    lt_relations like TABLE OF bapireltb WITH HEADER LINE,
    lt_return like TABLE OF bapiret2 WITH HEADER LINE.

    data: gui_case type BAPISCMGCASE-CASE_GUID,
    descrip(255).

    SELECT SINGLE CASE_GUID into gui_case from SCMG_T_CASE_ATTR WHERE EXT_KEY eq id_case.

    IF sy-subrc eq 4.
    MESSAGE ID '00' TYPE 'E' NUMBER 398
    WITH 'El caso proporcionado no ha sido creado.'
    RAISING NO_EXISTECASO.
    ENDIF.

    lt_identification-ELEM_NO = 1.
    lt_identification-NAME = '%SPS_ID%' .
    lt_identification-VALUE = 'CRM_BUSINESS_PARTNER'.
    append lt_identification.

    lt_identification-ELEM_NO = 1.
    lt_identification-NAME = 'BOR_OBJECT_ID' .
    lt_identification-VALUE = partner.
    append lt_identification.

    lt_identification-ELEM_NO = 1.
    lt_identification-NAME = 'BOR_OBJECT_TYPE' .
    lt_identification-VALUE = 'BUS1006'.
    append lt_identification.


    CONCATENATE 'Interlocutor Comercial' partner INTO descrip SEPARATED BY space.

    lt_insertion-ELEM_NO = '1'.
    lt_insertion-ANCHOR = 'C1'.
    lt_insertion-DESCRIPTION = descrip.
    append lt_insertion.

    lt_relations-ELEM_NO = '1'.
    lt_relations-RELATION = 'C1'.
    append lt_relations.


    CALL FUNCTION 'BAPI_CASE_ADDELEMENTS'
    EXPORTING
    GUID = gui_case
    * SKIP_ERRORS =
    NEW_VERSION = 'X'
    TABLES
    ELEMENT_IDENTIFICATION = lt_identification
    ELEMENT_INSERTION = lt_insertion
    * ELEMENT_ATTRIBUTES =
    ELEMENT_RELATIONS = lt_relations
    RETURN = lt_return
    .


    IF NOT lt_return[] IS INITIAL.
    LOOP AT lt_return Where type = 'E'.
    ENDLOOP.
    MESSAGE ID '00' TYPE 'E' NUMBER 398
    WITH lt_return-message
    RAISING error_desconocido.
    ENDIF.

    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    EXPORTING
    wait = 'X'.


    ENDFUNCTION.

    Comentario

    Trabajando...