cancel
Showing results for 
Search instead for 
Did you mean: 

problem in mapping: aba_bupa_map_ddic_to_proxy ( CRM - EEW - proxy - XI )

Former Member
0 Kudos

Hi there,

I have a problem on CRM 5.0 using XI with ABAP proxy and data type enhancement together with generated code from eew (enhanced but000).

To use the ABAP proxy, BUPA_OUTBOUND_MAIN and REL are activated (in my case ZBUPA_... without additional relevant coding). Somewhere in there (Z_)BUPA_OUTBOUND_PROXY_MAPPING is called, which in turn calls ABA_BUPA_MAP_DDIC_TO_PROXY. One of the changing parameters is partner_record.

In ABA_BUPA_... some generic code generated by EEW loops through all added fields and tries some mapping:

[...]

*

 EEW Enhancements
  lr_structdescr
    ?= cl_abap_structdescr=>describe_by_name( c_includename  ).

  IF NOT lr_structdescr IS INITIAL .
    LOOP AT  lr_structdescr->components ASSIGNING <fs_components> .
      lv_string = <fs_components>-name .
      IF ( sy-subrc = 0 ) AND ( lv_string <> c_eew_dummy ).
        CLEAR lv_string .
*       DDIC Structure
        CONCATENATE 'wa_partners-central_data-common-data'
<fs_components>-name INTO lv_string SEPARATED BY '-'.
        CONCATENATE 'wa_partners-central_data-common-datax'
<fs_components>-name INTO lv_string_x SEPARATED BY '-'.
*       Proxy Structure
        CONCATENATE
'wa_record-partner_information-general_information-general_data'
<fs_components>-name 'value' INTO lv_string_value SEPARATED BY '-'.
        CONCATENATE
'wa_record-partner_information-general_information-general_data'
<fs_components>-name 'update_indicator' INTO lv_string_upd SEPARATED BY '-'
.

        ASSIGN (lv_string) TO <fs_data> .
        ASSIGN (lv_string_x) TO <fs_datax>.
<b>        ASSIGN (lv_string_value) TO <fs_data_value> .
        ASSIGN (lv_string_upd) TO <fs_data_upd> .
</b>
        IF ( <fs_data> IS ASSIGNED ) AND ( <fs_datax> IS ASSIGNED )
         AND ( <fs_data_value> IS ASSIGNED ) AND ( <fs_data_upd> IS ASSIGNED ).
          MOVE <fs_data>  TO <fs_data_value> .
          MOVE <fs_datax> TO <fs_data_upd>.
        ENDIF .   " <fs_data> is assigned
[...]

Problem is -  the structure in partner_record does not contain the structure that is called 

in the generated code. The assignment of <fs_data_value> and <fs_data_upd_> fails because the structure in lv_string_value/lv_string_upd simply does not exist...

When I check partner_report, all content is marked as generated by proxy.

So, is there any way to re-generate this structure? The proxy is already re-generated, as it has data type enhancements.

Thanks!

Claudia

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Claudia,

If the enhanced data types from you generated proxy are at the incorrect level, this means that the wrong data types were enhanced in XI.

In order to have your enhancements under PARTNER_RECORD, you need to enhance the PartnerRecord data type in XI.

It sounds as if you have instead enhanced the BusinessPartner data type

Former Member
0 Kudos

Hi Yaghya,

yes, the enhancement is for the BusinessPartner type....

could you maybe tell me how I can enhance the PartnerRecord data type? This is not a top level structure, so how to add the things at the right level/structure?

Thanks,

Claudia

Former Member
0 Kudos

Hi Claudia,

In XI in the Integration Repository (Design) in your own namespace goto:

--> Interface Objects

--> Right click on Data Type Enhancements and select "new"

--> Enter the name of the enhancement field

--> In "Enhancement for Data Type" select the search help question mark

--> Scroll down until you find PartnerRecord

--> You can then design your enhancement field in the window below

When you have activated this change, you will need to generate the enhancement in transaction SPROXY.

Answers (2)

Answers (2)

Former Member
0 Kudos

Yes, but these enhancements do not show up in the partner_record.

I can manually fill them in bupa_outbound and they show up in the payload. Maybe there is some way to get these fields into partner_record?

Right now they are just in (SPROXY...Data type enhancement.... tab structure) ABA_BUSINESS_PARTNER --> enhancement, which is on the same level as the standard structures/fields partner, relation, send_date and send_time.

Claudia

Former Member
0 Kudos

Hi Claudia,

Have you generated your data enhancements which correspond to the EEW fields, in transaction SPROXY?