cancel
Showing results for 
Search instead for 
Did you mean: 

Service Request creation - Sold-to party: System Validation cannot find BP

Former Member
0 Kudos
136

Hi. I am fairly new to BSP and CRM, but I have this problem:

I have a Z validation on GET_SOLDTO_NAME and it seems to work ok, but it looks like after passing that, the standard system checks again and it changes the value to that text, but uppercase and adding the text "(does not exist)", e.g. Original: 'Mr. Freddy'. Changed: 'MR. FREDDY (does not exist)'. However, the BP actually exists and can be visualized in the tx. PPOMA_CRM

I do not know what message number is it, but the text reads:

Diagnosis

You have entered a name or number that does not exist in the business partner master data. This can be for the following reasons:

The person, organization, or hierarchy has not been defined in the master data.

The name or number represents a partner who has been defined in an area other than business partner master data, for example, in Human Resources.

System Response

The system cannot determine the business partner.

For example, the system cannot recognize an employee's user ID as a business partner unless the employee has been entered as a business partner, and the master data includes his or her user ID.

How can I find where this check is made and why does it change the value?

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

i have a suggestion.

Use in your refefined GET_ Method the BP_Number (type BU_PARTNER) instead of the name.

I realized a similar requirement using the BP_Number and it works fine.

Kind regards

Manfred

Former Member
0 Kudos

Thanks for your reply.

I forgot to mention that!: The end user does not want to see the BP number in the box, but the name or lastname. This of course puts a lot of restrictions on the GET_SOLDTO_NAME validation, but that is already handled. The problem comes later in the process. After the redefined validation, it looks like there is some other kind of standard check. How can I know where it is? Is there any kind of watchpoint that can be set on a particular field? How can this be enabled?

Another possibility would be to use the BP number but somehow show the name of the person there. The problem is that "somehow", because I haven't been able to find the way for sending the BP number to the process but still show the name of the BP in the field.

I hope you or anyone can help me here 😛

Former Member
0 Kudos

Hi,

maybe this example will help.

I set via coding the employee in a service request using the BP_Number in this case lv_current_partner.

Displayed on the UI is the name, not the number.

...
    if lr_partner is initial.
      lr_partner = lr_entity->create_related_entity( iv_relation_name = 'BTPartner_00000014_MAIN' ).
    endif.
    lr_partner->set_property( iv_attr_name = 'PARTNER_NO'
                              iv_value = lv_current_partner ).
    lr_partner->set_property( iv_attr_name = 'PARTNER_FCT'
                              iv_value = '00000014').
    ...

Kind regards

Manfred

Former Member
0 Kudos

Thanks!

Your help gave me the idea that looks like it finally solved the issue.

what I did was, basically, as far as I understand, get the property, i.e. the sold-to party field and then used a generic class method high in the class hierarchy to set the number as the reference.

It was kind of a long shot, but it seems to be working now at least in the test I have done, it works 😛

Thanks again! I am very grateful

The code I used was similar to:


uFEFF      data: temp_string type string.
      temp_string = partner_number.
      lr_current = get_partner_entity( ir_iterator = iterator
                                       iv_pft = '0001' ). " Sold-to Party field
      cl_crm_uiu_bt_partner=>set_partner2(  ir_current     = lr_current
                                            iv_new_value   = temp_string    " partner_number
                                            iv_partner_fct = '00000001'     " SOLD-TO Party

Answers (0)