Skip to Content
author's profile photo
Former Member

Partner Id & Name display in Web UI - CRM 2007

Dear Friends,

I am using CRM 2007 BBPCRM 600 SP5, CRMUIF 600 SP5.

I have doubt in service order.

In Webclient UI, Sold to party & Ship to party fields displayed only name ie. Company & partner name at header level.

[Component: BT116H_SRVO View: BT116H_SRVO/Details]. Is it possible to display partner id & name?

In item level (sales item list), the partner number of vendor plant also displayed company name & partner name....

So, i need all partner fileds should display partner number & name.

What i have to do?

Kindly, suggest me....

Thanks & Regards,

Rajagopal

Chennai - INDIA

Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

1 Answer

  • Best Answer
    author's profile photo
    Former Member
    Posted on May 02, 2011 at 01:55 PM

    Hi Rajagopal,

    You need to redefine the get method of the correct Context Node Attribute.

    Here is an example.

    Component BT116H_SRVO.

    View BT116H_SRVO/Details

    Context Node BTPARTNERSET

    Attribute SOLDTO_NAME

    Within the method GET_SOLDTO_NAME the following coding is shown.

    method get_soldto_name.

    data lr_current type ref to if_bol_bo_property_access.

    lr_current ?= me->get_partner_entity( ir_iterator = iterator

    iv_pft = '0001' ).

    value = cl_crm_uiu_bt_partner=>get_partner2( lr_current ).

    endmethod.

    This means that the value shown in the field is retrieved from the class cl_crm_uiu_bt_partner method get_partner2.

    within that class and method you see indeed that the SAP standard reads first the name

    METHOD get_partner2.

    DATA:

    lr_current TYPE REF TO cl_crm_bol_entity.

    • 1/ Get the description

    • 2/ If initial, get the number

    CHECK ir_current IS BOUND.

    lr_current ?= ir_current.

    CHECK lr_current->alive( ) = abap_true.

    TRY.

    rv_value = lr_current->get_property_as_string( iv_attr_name = 'DESCRIPTION_NAME' ).

    CHECK rv_value IS INITIAL.

    rv_value = lr_current->get_property_as_string( iv_attr_name = 'PARTNER_NO' ).

    CATCH cx_crm_cic_parameter_error.

    ENDTRY.

    ENDMETHOD.

    What you need to do is via SE24 create a class zl_crm_uiu_bt_partner that has as superclass the cl_crm_uiu_bt_partner class.

    Now within your class redefine the get_partner2 method and write the following.

    METHOD get_partner2.

    DATA:

    lr_current TYPE REF TO cl_crm_bol_entity,

    lv_value1 TYPE string,

    lv_value2 TYPE string.

    • 1/ Get the description

    • 2/ If initial, get the number

    CHECK ir_current IS BOUND.

    lr_current ?= ir_current.

    CHECK lr_current->alive( ) = abap_true.

    TRY.

    lv_value1 = lr_current->get_property_as_string( iv_attr_name = 'DESCRIPTION_NAME' ).

    lv_value2 = lr_current->get_property_as_string( iv_attr_name = 'PARTNER_NO' ).

    concatenate lv_value2 lv_value1 into rv_value separated by ' '.

    CATCH cx_crm_cic_parameter_error.

    ENDTRY.

    ENDMETHOD.

    Now redefine the GET_SOLDTO_NAME method and write:

    method get_soldto_name.

    data lr_current type ref to if_bol_bo_property_access.

    lr_current ?= me->get_partner_entity( ir_iterator = iterator

    iv_pft = '0001' ).

    value = zl_crm_uiu_bt_partner=>get_partner2( lr_current ).

    endmethod.

    Do this for all places where you want to show that.

    BUT take into account that this is really an intensive development as there are a lot of places where this method is called.

    you could also consider a repair on the standard class...

    Kind regards,

    Micha

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member Former Member

      Hi Rajagopal,

      what I have described is not modifying the standard, but just enhancing the standard with your custom coding.

      this is not changing anything from the standard.

      KR,

      Micha