Ver la Versión Completa : Ayuda con BAPi
jiman1983
05/03/08, 17:05:09
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
06/03/08, 17:47:31
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.
www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web