Quantcast
Channel: SCN : All Content - SAP CRM: Webclient UI - Framework
Viewing all 4552 articles
Browse latest View live

Complaint Creation: Reference Sales Order Item number

$
0
0

Hi All,

 

I am trying to create a complaint in CRM with reference to ECC Sales Order during this process after I select the reference Sales Order a view appears that shows the line item details. The ui component and view is UI Component BT120H_CPL/ExtRefItemEL

 

After I click on option 'Create Complaint' the data is copied to view UI Component BT120H_CPL/Itemlist however here the Reference order items is not getting transferred. I need to show this for each corresponding item and for that I've created a new AET field. But I am unable to figure out how to read the original order item number and pass it to view UI Component BT120H_CPL/Itemlist.

 

Any help would be much appreciated. Thanks in advance!!

 

 

Dj


Action condition through user status as well as date profile

$
0
0

Hi All,

 

My scenario is like action will be triggered through date. I have the scenario like we hv to create the exchange order and after that we hv to create the sales prder. The maximum time gap betewwen the exchange order and sales order is 1 month. If customer does not return the goods within 21 days we hv to send a mail to customer saying "you have another 7 days to return the product" means before 7 days we hv to send a warning mail to customer. Again if the customer send the old goods then we will make a fresh order on the reference on exchange order. Can u tell me how can I achieve this through action peofile. That is condition will be date management and user status.

Status is opened state. Before 7 days mail will be sent to customer. If customer does not return the product the status will be cancelled.

 

How mail will be sending to customer automatically after 21 days to return the products?

 

Your help will be appreciated.

 

 

Thanx

Chinmaya

Integrate UI5 application into BSP application

$
0
0

Hello,

 

i try to integrate an own UI5 application into a BSP application.

I Need this for multiple UI5 applications, so these applications (round about 8) should be visible on one page like in a grid or one 2x4 table.

All applications should load immediately by opening the page (so things like Button-Actions are not possible).

 

So far I use a "thtmlb-grid" to structure the page and tried following (but get not the result that I want):

 

     -Use of the "window.open" Code -> not working for multiple UI5 applications on one page

     -Navigation-goto_page with Buttons -> not possible to get instant visibility by opening the page

     -bsp:goto -> BSP Exception Error (Object not valid)

 

Has anyone tips to solve this Problem?

 

Thanks

Chris

Adding a selection parameter in the BP_HEAD_SEARCH Component

$
0
0

Hello ,

 

I have a requirement to modify the standard BP search screen so as to filter the search results appearing on screen on the basis of 'Source' attribute.

I have made configurations in the BP_HEAD_SEARCH Component in the view configurations tab so as to include this standard attribute in the central search.I have then redefined the standard EH_ONSEARCH() method where I have added this parameter to the query object using add_selection_param() method of the DQuery Service.I am now able to see the search results based on the value I am passing for this attribute.

 

But the issue is that this attribute appears even on screen on WEB UI on the search view in the list of selection criteria.I don't want it to be visible on screen , all we need is that the selection parameter should modify search in background in the EH_ONSEARCH() method and should not be visible on WEB UI.


Order getting locked when navigating from item Overview to Item List

$
0
0

hi ,

 

I have open sales order in display mode which contain couple of line items.I clicked on line item to display line item overview and came back to item list ( sales order overview ) , During this process the sales order header is getting locked . I checked all event handler method, custom controllers,Outbound Plugs.and couldn't able to find where the header entity is getting locked . When i ignore the enhancement it is working fine.

 

Please let me know if any others pointers to check .

 

Thank you .

 

Regards,

Shaik

Remove maximum number of results from advance search page screen

$
0
0

Hi expert,

 

 

I have created advance search page , but I want to remove maximum number of results from my screen.

 

How can I achieve that ?

 

 

 

 

Thanks in advance.

 

Krit R.

BP_HEAD_SEARCH/SearchHelpShuffler not giving results for the first time

$
0
0

Hi all,

BP_HEAD_SEARCH/SearchHelpShuffler ,category defaulted to "Corperate accounts" ,when pressed on serach ,result list showing  no records for the first time.

 

Thanks,

Anitha.

FM to create qualification for the employee

$
0
0

Hi CRM Experts.

 


I Need to create qualification for the employee. The qualification data is coming from external system could you please let me know the FM's.

 

Points will be rewarded .Its very urgent.


Dynamic Tables in the SAP CRM Web UI

$
0
0

Introduction

In a recent project I had the requirement to create a large number of custom fields for order items. These fields should be editable in an overview assignment block on the order header level(ie. copied over from the ever so common Excel file; don't ask....). Moreover, the fields are bound to change in the future. Therefore, extending the order item using the Application Enhancement Tool (Application Enhancement Tool) wasn't really an option. Instead I was looking for a possibility to dynamically add fields to an order item using only customizing. The simplified configuration for utilities contracts (Simplified Configuration) offers exactly this possibility. Using customizing, additional field can be added to the product configuration of order items dynamically. However, usually fields are only editable on the order item level. The SAP CRM standard offers no overview on the order header level.

In general such an overview on the header level will not be very useful. For example, adding a large number of field to the configuration might render such an overview virtually useless. However, it was the only piece missing for me to implement the above mentioned requirement. The solution I was trying to implement was to dynamically generate the overview on the header level from the product configuration. The following screen shot shows the implemented view. In this view all editable fields are created dynamically from the product configuration.

2015-07-01 22_26_58-AngebotB2B_ Neu - [SAP] - Internet Explorer bereitgestellt von Ihrer regio iT.png

 

While there is some information available on SCN regarding dynamic tables in the CRM Web UI (e.g. Dynamic columns in a table view), it was quite tricky to implement my requirements.In this blog I will summarize what is necessary in order to implement a dynamic, editable overview table based on customizable table fields. Even if you are not using the simplified configuration, this approach might still be useful to create dynamic views.

 

Step 1: Dead End

When I first heard about the requirement mentioned above I thought this should be easy. All I'd have to do would be implement a simple CRM view. Put a <chtmlb:configTable> tag in the html file and implement a custom GET_TABLE_LINE_SAMPLE in the context class to read the customizing. Done. However, this approach proved to be a dead end. For whatever reason it is not possible to create a <chtmlb:configTable> just using a dynamically created structure. The CRM WebUI framework somewhere in its nitty gritty implementation details checks if the table structure is a DDIC structure or not. Unfortunately, I forgot to note down where exactly this happens so I can't put a pointer here. Therefore I had to come up with a different approach.

https://upload.wikimedia.org/wikipedia/commons/thumb/d/d1/The_dead_end.jpg/800px-The_dead_end.jpg

 

Step 2: Halfway there

The next thing I did was to search trough SCN to see if i could find a solution there. Here I found the blog Dynamic columns in a table view by Arunkumar Balakrishnan that seemed to describe exactly what I needed. Instead of implementing the view using the <chtmlb:configTable> tag I would have to use the <thtmlb:cellerator> tag to implement the view. The rest should then be easy again. However, also with this approach I was only able to implement half of the requirements. Although I was quite easy to implement a table dynamically build for a customizing table, the table was always in display mode. I wasn't able to set the edibility of the table fields.

http://sd.keepcalm-o-matic.co.uk/i/keep-calm-were-halfway-there.png

Step 3: The Solution

After reading through some old BSP documentation I eventually was able to implement the requirement. The solution consist of a simple CRM WebUI component with three important parts

  1. The view htm file using the <thtmlb:cellerator> tag
  2. A table context node implementing the if_htmlb_tableview_iterator interface
  3. a helper class for reading the table fields from the customizing.

2015-07-02 21_18_02-ABAP - CFD_100_drumm_en - Eclipse.png

The HTM File

The htm file (cf. screenshot below or #10270496 - Pastie) only contains two tags. The <thtmlb:toolbar> tag for creating the toolbar and the <thtmlb:cellerator> tag for creating the table. The important part of the <thtmlb:cellerator> tag is that the property iterator is linked to the context node ProdConfigAttributes.

2015-07-02 21_30_19-ABAP - CFD_100_drumm_en_[CFD] Z_HE_CALC _ CONFIGTABLEVIEW.HTM - Eclipse.png

The Context Node

The ProdConfigAttributes contexts node is a "normal" table context node inheriting from class cl_bsp_wd_context_node_tv. Its implementation consists of three interesting parts. First, it overwrites the get_table_line_sample method (cf. screenshot or #10270502 - Pastie) to create the table line dynamically from the customizing. The code to implement this is pretty simple. The helper class config_struct_builder creates a component table which can be passed to the CL_ABAP_STRUCTDESCR=>CREATE method to create the structure.

2015-07-02 21_40_34-ABAP - Globale Klasse ZL_Z_HE_CAL_CONFIGTABLEVI_CN00 [CFD] - Aktiv - CFD_100_dru.png

Second, it implements the interface if_htmlb_tableview_iterator. From this interface only the method if_htmlb_tableview_iterator~get_column_definitions needs to be implemented (cf #10270511 - Pastie). This methods controls the rendering of the table fields. In particular it is used to control the editability of table fields.

Most of the code shown below is specific to the use case I implemented. For example, lines 69 to 74 are used to add certain table elements that should never be editable and that don't depend on customizing. For example, fields like the item number or the product of the item are added here. The interesting part are lines 79 to 88. For all dynamic table files the column name is added to the column definition in line 81. After that, lines 83 to 87 control the editability of the table fields depending on the editability of the view controller.

2015-07-02 21_48_20-ABAP - Globale Klasse ZL_Z_HE_CAL_CONFIGTABLEVI_CN00 [CFD] - Aktiv - CFD_100_dru.png

Finally the set_s_struct method (#10270524 - Pastie) method is overwritten to ensure that the order items are updated with the data from the table whenever a server round trip is triggered. This code is again rather specific to the implemented use case. Basically what happens here is a mapping back from the table line and column (represented by the parameters index and component).

2015-07-02 21_58_28-ABAP - Globale Klasse ZL_Z_HE_CAL_CONFIGTABLEVI_CN00 [CFD] - Aktiv - CFD_100_dru.png

The Helper Class

The finally part missing is the helper class to build the component table based on customizing (#10270539 - Pastie). The interesting method in this class is the get_structure_components method. It adds some static components as well as the dynamic components from customizing to the component table. The method get_dynamic_components uses a data access class (line 47) to read the dynamic fields from customizing. The method uses cl_abap_elemdescr=>describe_by_name (line 51) to fill the component table based on the name of a data element.

2015-07-02 22_16_59-ABAP - Globale Klasse ZC_CL_CONFIG_STRUCTURE_BUILDER [CFD] - Aktiv - CFD_100_dru.png

Summary

As always, once you know how to do something it seems obvious and easy. I hope this blog helps anybody with the requirement to implement dynamic tables in the CRM WebUI.

 

Christian

Download data in multiple tabs(Sheet) of a single Excel.

$
0
0


Hello everyone.

 

In custom BSP application, On click  of a hyperlink field , I need to download data from different tables into single excel .

This excel should have more than one sheet(tab) with that data downloaded, see attached image.

 

 

I am able to download data in single sheet(Tab), but don't know approach how to download/create data in another tab of same excel.

I am using CRM 2007: download HTML file from Web UI | SCN approach but not smartform.

 

 

 

CONCATENATE

    header

  Year'

    cl_abap_char_utilities=>horizontal_tab

   _Type'

    cl_abap_char_utilities=>horizontal_tab

    'Company_Name'

    cl_abap_char_utilities=>horizontal_tab

    'Company_id

    cl_abap_char_utilities=>horizontal_tab

    'Company_Address'

    cl_abap_char_utilities=>horizontal_tab

  'Company_Email_ID'

    cl_abap_char_utilities=>horizontal_tab

    'Signatory_Name'

    cl_abap_char_utilities=>horizontal_tab

    ID'

    cl_abap_char_utilities=>horizontal_tab

   Address'

    cl_abap_char_utilities=>horizontal_tab

    Email_ID'

    cl_abap_char_utilities=>horizontal_tab

    'Responsible_text'

    cl_abap_char_utilities=>horizontal_tab

    'Date_of_Appointment'

    cl_abap_char_utilities=>horizontal_tab

    'Date_Of_Resignation'

    cl_abap_char_utilities=>cr_lf

     INTO header SEPARATED BY space.



  .



            LOOP AT lt_indscn_ar INTO ls_indscn_ar.



              CONCATENATE

           output

        ls_bo_dflt_scn-date

         cl_abap_char_utilities=>horizontal_tab

        ls_zmca_blk_scn_gent_type

         cl_abap_char_utilities=>horizontal_tab

         ls_bo_dflt_scn-comp_name

         cl_abap_char_utilities=>horizontal_tab

         ls_bo_dflt_id -id

         cl_abap_char_utilities=>horizontal_tab

         ls_bo_dflt_scn-comp_address

         cl_abap_char_utilities=>horizontal_tab

         ls_bo_dflt_scn-comp_email

         cl_abap_char_utilities=>horizontal_tab

         ls_indscn_arname

         cl_abap_char_utilities=>horizontal_tab

         ls_indscn_-pan_id

         cl_abap_char_utilities=>horizontal_tab

         ls_indscn_-address

         cl_abap_char_utilities=>horizontal_tab

         ls_indscn_-email_address

         cl_abap_char_utilities=>horizontal_tab

         ls_indscn_-email_address

         cl_abap_char_utilities=>horizontal_tab

         ls_indscn_-date_of_appoint

         cl_abap_char_utilities=>horizontal_tab

         ls_indscn_-date_of_resignat

         cl_abap_char_utilities=>cr_lf

         INTO output SEPARATED BY space.

            ENDLOOP.

          ENDIF.

        ENDLOOP.

      ENDIF.

      CONCATENATE

     header

     output

     INTO output

     SEPARATED BY space.


      CALL FUNCTION 'SCMS_STRING_TO_XSTRING'

        EXPORTING

          text     = output

          mimetype = 'APPLICATION/MSEXCEL;charset=utf-16le'

        IMPORTING

          buffer   = l_xstring.

      CONCATENATE

           cl_abap_char_utilities=>byte_order_mark_little

           l_xstring  INTO l_xstring

           IN BYTE MODE.

      lv_content_type = 'text/csv; charset=UTF-16'.

      ir_server->response->set_header_field( name  = 'Content-Disposition' value = 'attachment; filename=export.csv').

      ir_server->response->set_header_field( name  = 'Content-Type' value = lv_content_type ).

      ir_server->response->set_header_field( name  = 'expires'  value = '0' ).

      ir_server->response->set_data( data = l_xstring ).

    ENDIF.

 

 

please let me know if you have any idea/suggestions.

 

 

Regards,

Harish Kumar.

How to make builHeader field editable in a custom component ??

$
0
0

Hi,

I am trying to work on builheader fields on my compnent, But I found this to be in disabled mode while testing it. Please help with the soultion as I am new to CRM.

 

Reagrds

Rahul

BP_HEAD_SEARCH/SearchHelpShuffler not giving results for the first time

$
0
0

Hello ,

 

BP_HEAD_SEARCH/SearchHelpShuffler ,category defaulted to "Corporate accounts" ,when pressed on search ,result list showing  no records for the first time although results are present in the entity and also set to the search result entity when debugged and checked in EH_ONSEARCH() Method..

When again i press search button it shows records on the screen.

 

Kind Regards,

Hitesh.

Custom Attribute is not saving

$
0
0

Hello

I'm new to CRM but I need your help.

I need to add a custom field for service locations => Technical Object Details

The field should be add here:

 

 

 

1.jpg

 

 

 

2.jpg

 

 

First I've tried to use AET but I can´t use it in this case (no "Create field" button appears):

 

 

3.jpg

 

 

I've created a new enhancement set: "ZCRM_TEST2" and in table BSPWDV_EHSET_ASG uses this one as default:

 

 

4.jpg

 

 

In BOL explorer I've seen that ConnectionObject uses structure "CRM_ISU_TEC_CO". This structure has an include CI_CON, so I added my field here:

 

 

5.jpg

 

 

6.jpg

 

 

Then I've create an enhancement for the view "IUICOBJD/ConnectionObject":

7.jpg

 

8.jpg

 

 

Here I created a new Model Attribute for CCAA field:

 

 

9.jpg

 

 

In the generated code the only changes are:

Method WD_CREATE_CONTEXT to comment linne super->wd_create_context( ).

Methods GET_ SET_ GET_M and GET_I are also generated but I made no modification in them.

Then I add the attribute to the view.

The problem is that the value is not saved:

11.jpg

 

Thank you vey much.

Copy Date in the Follow-up Transaction

$
0
0

Hi,

 

Our requirement is to copy a date (not all date types ONLY one date type) from Service Contract Quotation to Service Contract i.e. in a follow-up transaction. Any ideas how to achieve this?

 

Regards,

 

Deepak

Data not shown in CRM report in Web UI

$
0
0

Hi Friends,

 

I am facing an issue with CRM reports in Web UI, the data is not shown in the PDF when PDF format option is selected and executed the report, but data is getting displayed in the report when the format option is Excel. Please help me on this why data is not shown in PDF format.

 

Thanks and Regards,

Venkat


Missing entries in BUT052 - CRM- EHP7

$
0
0

Hi Experts,

 

I am facing some issue with a few Employees that don't have entries in BUT052, therefor the search functionality doesn't locate those when using countries as filter condition.

 

I have tried reassigning the user using PPOMA_CRM and also FM BAPI_BUPR_RELATIONSHIP_CREATE but none seem to work for me.

 

Do you have any suggestions?

 

Any help is much appreciated.

Thank you.

 

Best regards,

Elena Hutanu

Business Partner Search issue based on Roles

$
0
0

Hi Experts,

 

I am new to Web UI and I am facing a issue when using the BP search component.

The filtering has a issue when using three BP roles at a time.

Could you help me locate where could I find the logic for the filtering?

Is the below behaviour how usually standard works?

 

Case 1: All three BP types

poza 1.jpg

Case 2: Only one BP type - here I get much more results.

poza2.jpg

Thank you.

Best regards,

Elena

Orders getting saved eventhough Contact person name or number entered does not exist in the business partner master data

$
0
0

Hi everybody, I have the following problem, when I create an order and in the field "Contact Person" I enter a name or number that does not existe in the bp master data, the system let me save the order. I want this to be blocked. This field should be filled only with existing BPs, selected from the matchbox. So If the field is blanck or filled with not existing bp, the system shouldn't let me save the order giving an error message.

 

Hope you can help me.

 

Regards

 

Leandro

How to maintain printer data in a transaction on WebUI.

$
0
0

Hi experts,  please check this issue.

In SAP GUI, user can maintain printer data but on WebUI user can't maintain printer data due to there is no field name like 'printer' in the attribute structure..

 

SAP GUI,  open order 74900000169.

GUI -1.png

GUI -2.pngGUI -3.png

On WebUi. open order 7490000169. change assignment block 'Parties Involved' to edit mode. Select table row for sold-to-party and click the button 'Edit'.

  WebUi -1.png

we can see some address data.

WebUi -2.png

Get technical information.

WebUi -3.png

In debug mode, get model object name 'BTPartnerAddr'.

WebUi -4.png

get attribute structure.

  WebUi -5.png

we can't find a field name like 'printer' in the attribute structure.

WebUi -6.png

Small 'Notes' field/block in the Opportunity and Activity Details Assignment block

$
0
0

Hi ,

 

In the CRM WebUI (CRM 7.0) , the 'Notes' field/block in the Opportunity and Activity Details Assignment block just allow for 5 lines to be displayed , you can scroll down and up , but it seems not be user friendly . Do SAP or somebody find a technique in order to have a  'Notes' field/block with more lines ? Like a pop-up ? Or other solution.

 

Thank you .

 

Notes Area of the Assignment block.gif

Viewing all 4552 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>