cancel
Showing results for 
Search instead for 
Did you mean: 

Enhancement View: IUICMD / SearchAccount

former_member190077
Participant
0 Kudos

Hola He estado intentado de todo para ampliar Vista: IUICMD / SearchAccount, y colocar los campos de la tabla DFKKBPTAXNUM

TAXTYPE -> BPTAXTYPE (Datos Elem.) -> Tipo de número de identificación fiscal

TAXNUM -> BPTAXNUM (Datos Elem.) -> NIF de socio de negocios

Necesito crear un Dropdown con 5 tipos de identificación exclusivos y no he podido cada vez que cambio:

FIELD_TYPE_input >> FIELD_TYPE_picklist

Me sale el siguiente error:

Aqui describo los metodos--->

****************************************************

Metodo GET_V_ZZFLD00000Q.

  DATA:

      ls_map    TYPE if_bsp_wd_valuehelp_f4descr=>gtype_param_mapping,

      lt_inmap  TYPE if_bsp_wd_valuehelp_f4descr=>gtype_param_mapping_tab,

      lt_outmap TYPE if_bsp_wd_valuehelp_f4descr=>gtype_param_mapping_tab.

  ls_map-context_attr = 'STRUCT.ZZFLD00000Q'.

  ls_map-f4_attr      = 'ZTIP_ID'.

  APPEND ls_map TO: lt_inmap, lt_outmap.

  CREATE OBJECT rv_valuehelp_descriptor

    TYPE

      cl_bsp_wd_valuehelp_f4descr

    EXPORTING

      iv_help_id                  = 'ZTIP_ID-ZTIP_ID'

      iv_help_id_kind             = if_bsp_wd_valuehelp_f4descr=>help_id_kind_name

      iv_input_mapping            = lt_inmap

      iv_output_mapping           = lt_outmap.

ENDMETHOD.

****************************************************

METHOD GET_P_ZZFLD00000Q.

  CASE iv_property.

    WHEN IF_BSP_WD_MODEL_SETTER_GETTER=>FP_FIELDTYPE.

*   field type: picklist

      RV_VALUE =

      CL_BSP_DLC_VIEW_DESCRIPTOR=>FIELD_TYPE_picklist.

  ENDCASE.

ENDMETHOD.

y realmente estoy un poco perdido en este componente y no se como ampliar la vista, no se si tengo que jugar un poco BOL y Genil,

También tengo que realizar búsquedas de estos campos, y no se exactamente los métodos de como hacerlo,

Agradezco cualquier ayuda que me puedan dar,

Saludos cordiales,

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hola,

Es necesario crear el método GET_V del nuevo campo creado.

Agregue el código siguiente en el método GET_V y usted no conseguirá este error.

Código de la siguiente manera:

* data

data: lr_ddlb type ref to cl_Crm_uiu_ddlb,

      lt_dropdown type BSP_WD_DROPDOWN_TABLE,

      ls_dropdown type bsp_WD_dropdown_line.

create object lr_ddlb

  exporting

  iv_source_type = if_bsp_wd_valuehelp_pldescr=>source_type_table.

if lr_ddlb is bound.

append initial line to lt_dropdown.

ls_Dropdown-KEY = 'OPT1'.

LS_DROPDOWN-VALUE      = 'Option 1'.

append ls_Dropdown to lt_dropdown.

ls_Dropdown-KEY = 'OPT2'.

LS_DROPDOWN-VALUE      = 'Option 2'.

append ls_Dropdown to lt_dropdown.

ls_Dropdown-KEY = 'OPT3'.

LS_DROPDOWN-VALUE      = 'Option 3'.

append ls_Dropdown to lt_dropdown.

ls_Dropdown-KEY = 'OPT4'.

LS_DROPDOWN-VALUE      = 'Option 4'.

append ls_Dropdown to lt_dropdown.

rv_valuehelp_descriptor ?= lr_ddlb.

endif.

* Note : Please change the dropdown key and values to your requried values.

Regards,

Naresh

former_member190077
Participant
0 Kudos

Hola Nareshkumar Patel sigue apareciendo el mismo problema ya realicé la el código que comentas y puse el siguiente código en el GET_P :

METHOD GET_P_ZZFLD00000Q.

  CASE iv_property.

    WHEN IF_BSP_WD_MODEL_SETTER_GETTER=>FP_FIELDTYPE.

*   field type: picklist

      RV_VALUE =

      CL_BSP_DLC_VIEW_DESCRIPTOR=>FIELD_TYPE_picklist.

  ENDCASE.

ENDMETHOD.

y tampoco funciona, alguna otra idea...

Saludos y gracias por tu respuesta.

JMP

Former Member
0 Kudos

Hola,

Has hecho todo lo correcto, excepto una línea.

Por favor, cambie el código de abajo en el método GET_V.

*************************************************

method GET_V_ZZFLD00000Q.

  DATA: lt_ddlb TYPE bsp_wd_dropdown_table,

        lr_ddlb_rltitl TYPE REF TO cl_crm_uiu_ddlb,

        ls_ddlb TYPE bsp_wd_dropdown_line.

   ls_ddlb-key = 'ZRM-1'.

   ls_ddlb-value = 'ID de Discapacitados Personas'.

   APPEND ls_ddlb TO lt_ddlb.

   ls_ddlb-key = 'ZRM-2'.

   ls_ddlb-value = 'ID de Discapacidad Instituciones'.

   APPEND ls_ddlb TO lt_ddlb.

  INSERT INITIAL LINE INTO lt_ddlb INDEX 1.

  SORT lt_ddlb BY value.

  IF sy-subrc = 0.

       CREATE OBJECT rv_valuehelp_descriptor TYPE cl_Crm_uiu_ddlb

        EXPORTING

            iv_source_type = 'T'

            iv_selection_table = lt_ddlb.

ENDIF.

endmethod.

****************************************************

Saludos,

Naresh

former_member190077
Participant
0 Kudos

Hi I've made the adjustment indicated and still does not work, throws me an error that the class "cl_crm_uiu_ddlb" I do not accept the "iv_selection_table = lt_ddlb" parameter.

I have been reading several posts and I found the possibility that it is a mistake and have to climb a SAP note, do you think it takes ??

If you have any other suggestions I'll agredeceré,

Many thanks for your help,

Best regards,

Former Member
0 Kudos

Hi,

Sorry I did not go through the whole code.

Below code should definitely work. Comment all your code and put below code in GET_V method.

method get_v_zzfld00000q.

*   data

     data: lt_ddlb        type bsp_wd_dropdown_table,

           lr_ddlb_rltitl type ref to cl_crm_uiu_ddlb,

           ls_ddlb        type bsp_wd_dropdown_line.

*   set the dropdown options in internal table

*   append blank line as default

     append initial line to lt_ddlb.

*   valid options

     ls_ddlb-key = 'ZRM-1'.

     ls_ddlb-value = 'ID de Discapacitados Personas'.

     append ls_ddlb to lt_ddlb.

     ls_ddlb-key = 'ZRM-2'.

     ls_ddlb-value = 'ID de Discapacidad Instituciones'.

     append ls_ddlb to lt_ddlb.

*   sort

     sort lt_ddlb by key.

*   create value help descriptor with souce as table for dropdown

     create object rv_valuehelp_descriptor type cl_crm_uiu_ddlb

       exporting

         iv_source_type = if_bsp_wd_valuehelp_pldescr=>source_type_table.

     if rv_valuehelp_descriptor is bound.

*     set the dropdown table

       call method rv_valuehelp_descriptor->set_selection_table

         exporting

           it_selection_table = lt_ddlb.

     endif.

endmethod.


Also refer to the below documentation for more information.




Regards,

Naresh



former_member190077
Participant
0 Kudos

Hi Thanks for the recommendation of the manual and the suggested code but I have tried following both procedures and even still have the error, I presume it must be something in the SAP standard, I am sending check if there are any notes related to that point .. if you have any another suggestion I'd appreciate it a lot ...

Greetings and thank you very much for your time ...

Former Member
0 Kudos

Hi,

Sorry for wrong code.

Please use below.

*   data

   data: lt_ddlb type bsp_wd_dropdown_table,

         lr_ddlb type ref to cl_crm_uiu_ddlb,

         ls_ddlb type bsp_wd_dropdown_line.

*   set the dropdown options in internal table

*   append blank line as default

   append initial line to lt_ddlb.

*   valid options

   ls_ddlb-key = 'ZRM-1'.

   ls_ddlb-value = 'ID de Discapacitados Personas'.

   append ls_ddlb to lt_ddlb.

   ls_ddlb-key = 'ZRM-2'.

   ls_ddlb-value = 'ID de Discapacidad Instituciones'.

   append ls_ddlb to lt_ddlb.

*   sort

   sort lt_ddlb by key.

*   create value help descriptor with souce as table for dropdown

   create object lr_ddlb

     exporting

       iv_source_type = if_bsp_wd_valuehelp_pldescr=>source_type_table.

   if lr_ddlb is bound.

*   set the dropdown table

     call method lr_ddlb->set_selection_table

       exporting

         it_selection_table = lt_ddlb.

     rv_valuehelp_descriptor ?= lr_ddlb.

   endif.


Regards,

Naresh

former_member190077
Participant
0 Kudos

Naresh Great !!!!! I finally worked the only thing I see that change is the symbol "=" step "? =" This is an assignment by reference, really did not know very well how it worked, thanks for the tip ... 

It has been very helpful ...

Best Regards,

former_member190077
Participant
0 Kudos

Hi Naresh not know what could have happened but the code worked fine until Friday, this day presented the same problem, according to me commented restarted the CRM server to update some operating system patches weekend and companion eliminated an enhancement he had done ... But I left everything the same and even create a new field with the same code and features and it did not work I have no idea what could have happened ..

Could you tell me any clue where I can check to see that may have affected the dropdown field is displayed.

Sorry to bother,

Grateful for the help you can give me.

Best Regards,

PD: Sorry for my bad English I'm translating from google. 

Former Member
0 Kudos

Hi,

First :

Please check in SM30 -> Maintenance View : BSPWDV_EHSET_ASG

You should have your enhancement Set Entry there with the client you are working on.

Second :

go to SICF and search for the SERVICE NAME Z*IUICMD*.

All the Z Services should be active. If not then please activate.

Third :

Go to SU3 transaction and check if parameter WCF_IGNORE_ENHANCEMT set set with value "A".

If set then please delete this parameter from your user.

try testing again.

Regards,

Naresh

former_member190077
Participant
0 Kudos

Hi Naresh've done what you told me and uh checked in SM30 -> Maintenance View: BSPWDV_EHSET_ASG And I noticed that my Enhancement Set was not working.

It has been another Enhancement set, I´m asked some colleagues and it turns out that created a new enhancement set, we have done a rollback of changes and we deleted the changes and rollback, I´m the process again and it worked, 

Thank you very much again for helping me,

Best regards,

Answers (2)

Answers (2)

VishnAndr
Active Contributor
0 Kudos

Hello, Colleagues.

As a moderator of SAP CRM spaces I'd strongly advise you to use English as a common language. Thank you.

faisal_pc
Active Contributor
0 Kudos

Hola José,

Es debido a la rv_value get_v descriptor ayuda desaparecidos. Ponga un punto de quiebre en get_V y ver por qué el descriptor rv_value ayuda está vacío.

Gracias,
Faisal

former_member190077
Participant
0 Kudos

Hola Faisal PC hice lo que me comentaste y vi que si carga el descriptor ayuda, a continuación pantallas para que veas el debbug:


Como ve si me trae el valor del descriptor de ayuda, pero te muestro el contenido para que veas un poco el detalle:

Dentro esta una tabla con 5 registros con los valores que quiero asignarle al Picklist.

Pero viendo un poco el detalle del error en la clase en la que arroja este error observo lo siguiente:

Ahí donde esta el breakpoint en la linea 925 es donde arroja el error, pero como vez si le estoy pasando los datos, entonces no se que más hacer.. para probar porque no toma el descriptor de ayuda...

Si me puedes sugerir alguna acción adicional te agradeceré.

Saludos,

JMP.

faisal_pc
Active Contributor
0 Kudos

Hola José,

Por favor, no vaya al código estándar donde se dumping. El código estándar es el dumping porque su método get_v personalizada tiene el problema. ¿Sabía usted ver si el RV_VALUEHELP_DESCRIPTOR tiene el valor al final del método get_v ?. Compruébelo usted mismo en la depuración. Sólo depurar los métodos get_v y get_p. No vaya al código estándar.

Pedir disculpas si algún error en español. Estoy utilizando el traductor de Google.

Gracias,
Faisal

former_member190077
Participant
0 Kudos

Tranquilo Puedes escribir en ingles si te es comodo..

Fijate he puesto el breakpoint en la parte al RV_VALUEHELP_DESCRIPTOR y siempre veo que se llena al hacr el debbug.. más sin embargo al ejectar la Web UI me arroja el mismo error..

No se si lo estoy haciendo malo me falta algo por hacer, favor exlicame un poco al detalle si algo no está bien...

1) Utilizo el AET y amplio un campo en el BO Bussiness Partner.

2) Luego me voy a la Tcode BSP_WD_CMPWB, y voy al Componente / Vista: IUICMD/SearchAccount.  en la pestaña configuración agrego el campo a la vista y al rol seleccionado.

3) Amplio el metodo GET_P:

*************************************************

METHOD GET_P_ZZFLD00000Q.

  CASE iv_property.

    WHEN IF_BSP_WD_MODEL_SETTER_GETTER=>FP_FIELDTYPE.

*   field type: picklist

      RV_VALUE =

      CL_BSP_DLC_VIEW_DESCRIPTOR=>FIELD_TYPE_picklist.

  ENDCASE.

ENDMETHOD.

*************************************************

4) amplio el metodo  GET_V:

*************************************************

method GET_V_ZZFLD00000Q.

  DATA: lt_ddlb TYPE bsp_wd_dropdown_table,

        lr_ddlb_rltitl TYPE REF TO cl_crm_uiu_ddlb,

        ls_ddlb TYPE bsp_wd_dropdown_line.

   ls_ddlb-key = 'ZRM-1'.

   ls_ddlb-value = 'ID de Discapacitados Personas'.

   APPEND ls_ddlb TO lt_ddlb.

   ls_ddlb-key = 'ZRM-2'.

   ls_ddlb-value = 'ID de Discapacidad Instituciones'.

   APPEND ls_ddlb TO lt_ddlb.

  INSERT INITIAL LINE INTO lt_ddlb INDEX 1.

  SORT lt_ddlb BY value.

  IF sy-subrc = 0.

       CREATE OBJECT rv_valuehelp_descriptor TYPE cl_bsp_wd_valuehelp_pldescr

        EXPORTING

            iv_source_type = 'T'

            iv_selection_table = lt_ddlb.

ENDIF.

endmethod.

****************************************************

Activo y listo...

pero cuando ejecuto me sale el error aunque cargue todo bien...

sin embargo cuando el:

RV_VALUE =  CL_BSP_DLC_VIEW_DESCRIPTOR=>FIELD_TYPE_picklist.

lo cambio de   FIELD_TYPE_picklist  >> FIELD_TYPE_input        se muestra el campo de entrada sin problemas..

yo siento que me falta definir algo.. solo sucede el error cuando es de tipo "Picklist"...

He intentado crear la F4 ayuda de búsqueda y no me ha funcionado..

Si me falta algo por activar favor indícame...

Saludos y gracias por tus respuestas...

JMP.