Hallo zusammen,
wir haben CRM 3.0 SP12 im Einsatz, es ist nun gewünscht ein zusätzliches Flag vom MSA ins CRM zu bringen! In der CDB habe ich ein zusätzliches Feld ZZCHECKED in der Tabelle SMOKVBEZ11 angelegt, dieses Feld habe ich dann auch im BDOC ACTIVITY_OBJECT im Segment ACT_RESPONSIBLE angehängt, das Mapping mache ich über die BADI Implementation CRM_30A_USER_EXITS (Upload und Download)! Im CRM habe ich die Tabelle CRMD_PARTNER und die Struktur BAD_PARTNER_MESS um das ZZCHECKED Feld erweitert!
Der Upload User-Exit sieht wie folgt aus:
method IF_EX_CRM_30A_USER_EXITS~USER_EXIT_UPLOAD_ACTIVITY .
DATA: is_structure TYPE ddobjname,
lt_fields TYPE TABLE OF smog_sfldn,
l_tabix TYPE sy-tabix,
ls_partner TYPE bad_partner_mess,
ls_actresp TYPE /1CRMG0/ACT_RESPONSIBLE01.
DATA: ev_sendbits TYPE smog_sinc-sendbits.
is_structure = 'BAD_PARTNER_MESS'.
APPEND: 'CALENDAR' TO lt_fields,
'ZZCHECKED' TO lt_fields.
l_tabix = 0.
LOOP AT es_bus_trans_msg-partner INTO ls_partner.
l_tabix = l_tabix + 1.
READ TABLE is_activity_object-act_responsible
INTO ls_actresp
WITH KEY sfamitabt = ls_partner-bp_partner_guid
sfavbka = ls_partner-orderadm_h_guid
TRANSPORTING zzcalendar zzchecked.
IF sy-subrc NE 0.
CONTINUE.
ENDIF.
MOVE: ls_actresp-zzcalendar TO ls_partner-calendar,
ls_actresp-zzchecked TO ls_partner-zzchecked.
* Neuberechnung der Sendbits
CLEAR ev_sendbits.
CALL FUNCTION 'SMO_SNDBITS_SETX'
EXPORTING
structurename = is_structure
* FIELDNAME = 'CALENDAR'
* RESET_BITS = ' '
* DDIC = 'X'
BDOCNAME = 'ACTIVITY_OBJECT'
tables
sfields = lt_fields
changing
sndbits = ev_sendbits
EXCEPTIONS
STRUCTURE_NOT_FOUND = 1
WRONG_FIELDNAME = 2
OTHERS = 3.
ls_partner-sendbits = ls_partner-sendbits BIT-OR ev_sendbits.
MODIFY es_bus_trans_msg-partner FROM ls_partner INDEX l_tabix.
ENDLOOP.
endmethod.
Das Szenario läuft auch einwandfrei durch nur wird, eben das Feld ZZCHECKED der CRM Tabelle CRMD_PARTNER nicht upgedated!
Bin ich hier etwas zu naiv, oder was ist hier noch zusätzlich zu beachten?
Danke für eure Hilfe
Meex