Hi Experts,
While upgrading sap fiori library from 1.28.6 to 1.28.18 we have getting error message like "an error occurred at least one file".
Please check attached screenshot and let me know how to fix the issues.
Thanks,
Vijay.
Hi Experts,
While upgrading sap fiori library from 1.28.6 to 1.28.18 we have getting error message like "an error occurred at least one file".
Please check attached screenshot and let me know how to fix the issues.
Thanks,
Vijay.
Hi All,
while upgrading fiori library from 1.28.6 to 1.28.18 we have getting an issue "an error occured at least one file"
please see attached error message and help me to fix the issue.
Thanks
Vijay.
Hi everyone,
I don't have any catalog in my fiori admin launchpad.
In debbug this request is fail: /sap/opu/odata/UI2/TRANSPORT/GetDefaultCustomizingRequest?
and this message : Resource not found for segment 'CustomizingRequest'
I have check the service OPU/odata/ui2/transport : it's correctly activate.
Have you an idea for solve my issue ?
Hello experts,
I have been developing an application using SAP Fiori Work list template in SAP UI5 1.36 as it is Recommended version. Application is deployed well and everything is defined well and configured in Launchpad, but am getting an error message saying Could not start the App due to a configuration problem. i have checked if there are any configuration issues but everything is configured well. i doubt that i am missing some Add-ons that are to be installed or SAP Net weaver Version has to upgraded to 7.5. Could someone help me out on this issue. Below is the screenshot of my System Status.
Thanks
Image courtesy of stockimages at freedigitalphotos.net
While user research and role-based design are essential to a good user experience, accessibility gives us a range of simple and effective ways we can lift user experience from good to great.
To help our people reach their personal productive best we need to think like an Olympic coach training elite athletes. We seek out ways to fine tune both body and mind for best performance.
Accessibility shows us how to augment performance and reduces barriers for all users - enabling them to “Go for Gold”.
A few days ago on a solution review of a large Australian banking customer’s Fiori implementation I was interested and encouraged to hear our sponsor say…
“We want this review to make sure [our Fiori apps and Fiori Launchpad dashboards] are tuned to maximize user performance, not just system performance”
Another local customer in the mining industry expressed their goal for user experience as
“bringing out the best that is already in our people”
These are enlightened viewpoints that go to the heart of great enterprise user experience – hitting the sweet spot between:
Getting those right at least gets our team an entry into the productivity race. Getting those right ensures users, business, and IT are all focussed on the same goal.
Getting a medal takes more. We need to remove barriers that can get in the way of user performance. This is exactly where accessibility augments user experience design and development.
Let's look at 3 examples of how accessibility helps us remove barriers that get in people’s way. Making a better and more productive user experience for everyone.
READABILITY: Make the phrases, statements, and questions in your apps and dashboards easy to understand. Accessibility explains that reading complex text requires additional mental processing effort.
“Text that uses short, common words and short sentences is easier to decode and usually requires less advanced reading ability than text that uses long sentences and long or unfamiliar words.” WCAG 2.0 Success Criteria 3.1.5 Reading Level
Improving readability leads to:
Readability tests, such as Flesch-Kincaid, commonly used in accessibility today were commissioned by the U.S. Military to improve the readability of technical manuals.
Here are a couple of questions I have seen recently in productive apps on actual SAP customer sites:
1. “Are any of the children you're claiming for under the age of 18, (or a child of an adult child maintenance court order) and unmarried, and not living in a de facto relationship?”
2. “Is the new business that’s been trading less than 12 months?”
Question 1 was created by a business expert with deep knowledge of the business process. They want to reduce the number of questions so they came up with this complicated multi-part question. This measures are Flesch-Kincaid grade level 12.7 – 12th Grade (Senior year high school – 17-18 years old) and Gunning-Fog index 15.3, i.e. College Junior level.
And it’s the first question on the form! I'm guessing quite a few people give up at this point and ring the support desk contact number instead. If the aim was to engage more people to use online services instead of calling the support desk, a bad question like this could kill the goal.
Question 2 was created by someone who had English as their second language. While automated readability scores are low (Flesh-Kincaid grade level 1.3, Gunning-Fog 4) the strange and awkward grammar of the sentence makes it difficult to comprehend quickly.
Both of these are easily fixed. Question 1 could be fixed by decomposing a complex question into a series of simpler questions. Question 2 could be resolved with a simple grammar check or review by a native English Language speaker.
Accessibility guidelines such as WCAG 2.0 Success Criteria 3.1.5 Reading Level suggest aiming readability at lower secondary school education level. Given that less than 1/3 of Americans reach university level, this seems reasonable.
Make sure your apps use simple language. Using simple to understand language makes it easy for your users to understand more quickly and react faster. Even if all of your users are university educated, don’t make them feel that using your app is like taking a university exam.... or reading mis-translated assembly instructions from IKEA.
VISIBILITY: Make sure everything on your app or dashboard is easy to see regardless of eyesight or lighting conditions. What users cannot see clearly they have to learn and remember – that adds to cognitive load and increases error rates.
“A contrast ratio of 3:1 is the minimum level recommended by [ISO-9241-3] and [ANSI-HFES-100-1988] for standard text and vision. The 4.5:1 ratio is used in this provision to account for the loss in contrast that results from moderately low visual acuity, congenital or acquired color deficiencies, or the loss of contrast sensitivity that typically accompanies aging.”
Understanding WCAG 2.0 Success Criterion 1.4.3 Contrast (Minimum)
Providing good contrast enables people to:
Approximately 75% of Americans admit to wearing corrective lenses such as spectacles or contact lenses. Just like knee replacements and hip replacements, while corrective lens are a big help they aren't quite as good as the real thing.
Don't let your corporate theme slow your users down. Too often I have seen inappropriately applied corporate themes badly compromise the visibility in screens. Be especially careful if your theme largely consists of:
8% of males and 0.5% females have red/green colour blindness which makes it difficult for them to tell those colours apart even if they have 20/20 vision in every other respect.
Here's an extreme example. That white text on yellow has a very poor contrast ratio of only that tests at Contrast Ratio 1.51:1.
This is almost always a misunderstanding of how to apply the theme. After all your corporate theme wouldn't be much good if consumers couldn't read your web site or use their apps.
Here's the same corporate theme applied very differently to an element on the same company's consumer web apps. Swapping to black text on yellow has a far better contrast ratio of 13.89:1.
Colour contrast is easy to check. Accessibility has brought us many tools to check contrast ratios such as this popular Colour Contrast Analyser
You'll find more in my previous blog Testing Fast and Slow - Accessibility & Fiori
Make sure your apps and dashboards are easy to see. Good colour contrast makes it easy for your users to act confidently and learn faster. With the retirement age increasing in many countries, don't let poor colour choices exclude you from taking advantage of years of gathered wisdom and experience.
KEYBOARD EFFICIENCY: Providing for keyboard only navigation enables power users to act at maximum efficiency.
"All functionality of the content is operable through a keyboard interface"
Keyboards enable expert users to:
With the increasing number of devices has come an increase in the number of ways we can operate those devices, with the current top winners being keyboard, mouse, and touch... although voice recognition is another growing area thanks to Siri.
Advantages/disadvantages and the comparative performance efficiency of each have been hotly contested and the subject of more than one study. For now, the desktop device remains the primary context of the expert user, and on desktop at least keyboard wins out over mouse for practiced users.
Comparison of Mouse and Keyboard Efficiency
Effects of Item Grouping on Selection Efficiency
Or as one UX designer puts it...
Expert users are reluctant to use the mouse for repetitive and frequent tasks. It is simply too slow (and not very good for the hands). They will rather learn a set of shortcuts and keyboard commands – even though these can be complex and hard to memorize.
With the increase in Internet of Things one of the side benefits of providing keyboard navigation is that it permits a wide variety of devices to access your app by emulating the keyboard via the operating system's accessibility API. There are a small but dedicated number of us who have for instance been testing Fiori with Amazon Echo, Dragon Naturally Speaking, and eye tracking software to name just a few.
For Fiori apps and dashboards, the SAPUI5 framework gives you keyboard navigation by default. All you have to do to take advantage of this is to:
a) Make sure you don't block the built-in features
b) Let your users know the keyboard shortcuts
You can find more information on both of those in my blog Keyboard Navigation enables the cool toys - Accessibility & Fiori
Support your power users by making sure they are aware of keyboard navigation options.
Accessibility show us how to make user interfaces that proactively support the better productivity from the widest possible range of users and abilities. I’ve covered just a few examples of ways in which accessibility helps but there are many more such as error handling, working with Audio/Video, efficiently designing to support all sorts of software and devices.
Certainly accessibility lifts those who have specific challenges to overcome – so they can join the race and stay the distance.
The same techniques and guidelines help lift the productivity of all users by removing unintentional barriers that are too often overlooked in even the best user experience designs.....
So that the potential medal winners are given their best chance to "Go for Gold".
Coming to ASUG 2016? Find out more at:
Building a Better User Experience (UX) for Everyone: Learnings About SAP Fiori and Accessibility
![]() | Category: SAP UX |
This is a collaborative document to share knowledge and lessons learned re Accessibility in the community SAP Fiori.
By Fiori we mean: relating to Fiori design and development, SAPUI5 and OPENUI5 apps.
By Accessibility we mean relating to features that support:
Assistive devices and software:
This document is part of the SAP Fiori community. You can also search for information and open a discussion in the Fiori forum if you can't find required information.
Please feel free to insert the link of your document or blog by selecting the edit button from Actions.
We include relevant blogs from experience.sap.com posted 2015 or later, as the majority of accessibility features haves been included in SAPUI5 from 2015 onwards. Relevant blogs from the OPENUI5 or SAPUI5 communities are also welcome.
Please don't forget to use the tags fiori and accessibility when you: search, publish blogs, open discussions.
Search: | Google, Discussions, Documents, Blogs | Create: | Discussion, Document, Blog |
Brought to you by the SAP Technology RIG |
Hi all,
I try to configure KPI on the launchpad and I try to add a tiles.
When I select my KPI and click on "Add Tiles", a new page is displayed but in console debug I can see the following error :
{ "error": { "code": "", "message": { "lang": "en-US", "value": "Service exception: [258] insufficient privilege"}}}
Another information :
Request URL:
https://cod-wd2-lin:8188/sap/hba/r/sb/core/odata/modeler/SMART_BUSINESS.xsodata;
GET EVALUATIONS(ID='ZRBD_E.1461165108852',IS_ACTIVE=1)/TAGS HTTP/1.1
Of course, I have SMART_BUSINESS_MODELER & SMART_BUSINESS_RUNTIME role.
Have you got a tips ?
Thx.
Hi,
I have created/defined an OData Service by using the following tutorial:
Transform SAP BW Queries into OData Service: Part 1 - Generation and Activation
MDX 2.0 is used.
I am able to view the XML results from the service:
/sap/opu/odata/WSV/CAS_BEX_QUERY_TEST3_DG_SRV/
/sap/opu/odata/WSV/CAS_BEX_QUERY_TEST3_DG_SRV/$metadata
But now I have a difficulty finding out whether Hierarchies which are activated in the BEx Query are available through the generated OData Service automatically or not, if not what needs to be done, so that the Hierarchy data is also available through the OData Service?
Final Goal: displaying data from a BEx Query Hierarchy in a UI5 app with Table - Breadcrumb component.
We have NW 7.3 not NW 7.4 yet, so we cannot use the option in BEx Query Designer "Extended > Release for External Access > By OData" which I heard (not tested myself) that supports Hierarchies, 1941751 - ODataQuery - Features and Limitations for SP06.
If we want to build a UI5 App (Reporting/Viewing data) where our BW Hierarchies can be accessed and we already have BEx Queries, but the System with BEx Queries is on NW 7.3, what are the possible options to build an OData Service which would deliver the Hierarchical data?
I have found the following SAP Note: 1574568 - SAP NetWeaver Gateway 2.0 - Known Constraints
Under: 22. (SP4 onwards) BW integration via MDX it states: Hierarchy is not supported
Can somebody confirm from own experience, whether I understand it correctly: if we created an OData Service based on MDX <> BEx Query, then we do not have access to the Hierarchies?
What options exist if we need access to the BW Hierarchies (Multiprovider, InfoProviders Cubes, BEx Queries, Hierarchies with Hierarchy Node Analysis Authorizations is what we are dealing with)?
Thank you for your insights!
Best regards
David
Hi Team,
I am working on a project where requirements is to run the SAPUI5 application on Mobile/tablet as well as on desktop that too through SMP 3.0
I have SMP3.0 with latest patch SP10 installed on my server
I understand if I use the Kapsel development approach I can convert the SAPUI5 in to hybrid app which later can be install on the respective device as a ipa or apk.
But to run on desktop what I need to do? I do have some requirements of offline feature that can achieve through SMP. please suggest.
Kind Regards,
Amey
Hello,
is there any document about Development Guidelines specific to SAP Fiori analytical Apps?
Thanks!
Regards,
Watle
![]() | Category: Extend/Develop |
This is a collaborative document to share lessons learned contents for Extending Fiori Apps in the community SAP Fiori.
Please feel free to insert the link of your document or blog by selecting the edit button from Actions. You can also search information and open a discussion if you can't find required information. Please don't forget to put the tag fiori.
Search: | Google, Discussions, Documents, Blogs | Create: | Discussion, Document, Blog |
You can extend SAP Standard apps without modification. This helps TCO and software life cycle maintenance cost.
Jerry Wang has shared many extensibility examples. We can learn a lot of things from Jerry's documents.
You can use smart templates to create SAP Fiori applications based on OData services and annotations requiring no JavaScript UI coding. An application based on smart templates uses predefined template views and controllers that are provided centrally, so no application-specific view instances are required. The SAPUI5 runtime interprets metadata and annotations of the underlying OData service and uses the corresponding views for the SAP Fiori app at startup.
For example, so far ( 2016 April ) there is no standard Fiori application delivered for Service professional role in CRM area by SAP. With the help of Smart Template, it is easy for you to build a Fiori application which can manipulate Service Order create, update, read and search without JavaScript coding in frontend. The only necessary knowledge to achieve this is: ABAP + WebIDE + CDS view + a little knowledge about Smart template.
Here below are blogs from Jerry about how to build a service order application using Smart Template.
Meanwhile SAP has already delivered several reference application built by Smart Template to prove its power. You can play with those reference application from this link.
As mentioned previously, most of the development task working under Smart Template is now in CDS view. As a beginner who knows nothing about CDS view before, Jerry has written a series of CDS self study tutorials consisting of 8 parts, trying to introduce some logic occurring under the hood to gain a better understanding about this technology. This tutorial also contains debugging tips which are useful for trouble shooting. You can find the first part of this tutorial from here.
If the default controls could not fulfill your requirement, it is possible to create custom control on your own. Please refer to How to create custom control from scratch from Angel Puertas for detail.
But before that, do you really understand how a simple control like button is designed and implemented in Fiori? Here is a tutorial using the most simple control, Button, as example to give you a 360 degree view on Fiori control.
It helps you to build better Fiori application if you knows those control essentials.
Brought to you by the SAP Technology RIG |
Hi
I am getting an error in the paystub application after clicking the back button.
The error seems to be in the onExit() method in the standard app. It is trying to download the file from : ConcurrentEmployment.js
I have check the code in chrome web dev tools -> source
onExit : function() {
//exit cleanup code here
if(this._tempVersion){
sap.ui.Device.os.version = this._tempVersion;
}
try {
jQuery.sap.require("hcm.mytimesheet.utils.ConcurrentEmployment");
var oController = hcm.mypaystubs.utils.ConcurrentEmployment.getControllerInstance();
oController.oCEDialog.Cancelled = true;
oController.oCEDialog.close();
oController.oApplication.pernr = "";
} catch (e) {
jQuery.sap.log.error("couldn't execute onExit", ["onExit failed in main controller"], ["hcm.mypaystubs.Main"]);
}
}
why the app needs mytimesheet? I have mytimesheet app also added in the fiori catalog. But because of this issue the app is not working.
Hi Experts,
I've created my own sandbox in Eclipse to test and extend Standard Fiori apps.
I've downloaden and uploaded a standard Fiori app (CRM_MYCONT) to my Eclipse workspace.
After that, I did the appconfig, the configuration of the proxy and the installation of the tomcatserver.
This all works fine.
So when I go to:
http://localhost:8080/CRM_MYCONT/test-resources/sap/ushell/shells/sandbox/fioriSandbox.html
I can see my Fiori luanchpad, with the CRM_MYCONT app:
When I click on the tile, I get the message that the app doesn't work:
In the javaconsole:
Failed to load resource: the server responded with a status of 404 (Not Found)
http://localhost:8080/CRM_MYCONT/resources/sap-ui-core.js Failed to load resource: the server responded with a status of 404 (Not Found)send @ sap-ui-core.js:27
sap-ui-core.js:80 2016-04-18 11:45:11 registerResourcePath ('cus/crm/mycontacts', '/CRM_MYCONT/') - sap.ui.ModuleSystem
2http://localhost:8080/CRM_MYCONT/resources/sap-ui-core.js Failed to load resource: the server responded with a status of 404 (Not Found)send @ sap-ui-core.js:27
sap-ui-core.js:80 2016-04-18 11:45:11 registerResourcePath ('cus/crm/mycontacts', '/CRM_MYCONT/') - sap.ui.ModuleSystem
sap-ui-core.js:80 2016-04-18 11:45:11 Application initialization failed due to an Exception:
Error: found in negative cache: 'cus/crm/mycontacts/Component.js' from /CRM_MYCONT/Component.js: 404 - Not Found
at a1 (http://localhost:8080/CRM_MYCONT/resources/sap-ui-core.js:80:15688)
at Object.jQuery.sap.require (http://localhost:8080/CRM_MYCONT/resources/sap-ui-core.js:80:19389)
at g (http://localhost:8080/CRM_MYCONT/resources/sap-ui-core.js:144:57068)
at Function.sap.ui.component.load (http://localhost:8080/CRM_MYCONT/resources/sap-ui-core.js:144:57886)
at Object.sap.ui.component (http://localhost:8080/CRM_MYCONT/resources/sap-ui-core.js:144:56721)
at Object.sap.ui.core.Control.extend.renderer [as render] (http://localhost:8080/CRM_MYCONT/resources/sap/ushell/components/container/ApplicationContainer.js:2:12081)
at R.renderControl (http://localhost:8080/CRM_MYCONT/resources/sap-ui-core.js:144:140482) - z @ sap-ui-core.js:80
sap-ui-core.js:80 2016-04-18 11:45:11 Error - found in negative cache: 'cus/crm/mycontacts/Component.js' from /CRM_MYCONT/Component.js: 404 - Not Found z @ sap-ui-core.js:80
sap-ui-core.js:80 2016-04-18 11:45:11 App kon niet worden geopend; probeer het later opnieuw - z @ sap-ui-core.js:80
Layout.js:1 Uncaught TypeError: Cannot read property 'appendChild' of null
It looks like the Component.js can not be found.
But:
it's there...
What can be the problem?
KR,
Andy
Several days ago I wrote a blog How to build a drop down list using Smart template + CDS view which introduces how to create a drop down list based on values from a backend table.
For example, the status list in above screenshot comes from the three entries in database table ZSTATUS_FIXEDVAL.
And now a new requirement is to use the fixed value defined in an ABAP domain instead.
Here below are steps to achieve it.
1. Create an ABAP domain named ZORDER_STATUS_DOMAIN containing status list as displayed in previous screenshot.
Then create an ABAP data element based on this domain.
Create one header database table as root,
and another database table as item.
2. create two CDS views based on the two database tables accordingly:
@AbapCatalog.sqlViewName: 'zorheader' @AbapCatalog.compiler.compareFilter: true @AccessControl.authorizationCheck: #CHECK @EndUserText.label: 'header view' define view Z_I_Order_Header as select from zorder_header association [0..*] to Z_I_Order_Item as _Item on $projection.object_id = _Item.parent_id { key zorder_header.object_id, zorder_header.description, zorder_header.order_status, zorder_header.order_status_text, @ObjectModel.association.type: #TO_COMPOSITION_CHILD _Item } @AbapCatalog.sqlViewName: 'zorITem' @AbapCatalog.compiler.compareFilter: true @AccessControl.authorizationCheck: #CHECK @EndUserText.label: 'order item detail' define view Z_I_Order_Item as select from zorder_item { @UI.lineItem : [{position:10, label : 'Parent ID'}] key zorder_item.parent_id, @UI.lineItem : [{position:20, label : 'Item Number'}] key zorder_item.item_id, @UI.lineItem : [{position:30, label : 'Item Description'}] zorder_item.item_text, zorder_item.item_type }
Then the consumption CDS view:
@AbapCatalog.sqlViewName: 'zjorderview' @AbapCatalog.compiler.compareFilter: true @AccessControl.authorizationCheck: #CHECK @EndUserText.label: 'Jerry order consumption view' @Search.searchable: true @OData.publish: false @ObjectModel: { compositionRoot: true, type: #CONSUMPTION, transactionalProcessingDelegated: true, createEnabled, deleteEnabled, updateEnabled } @UI.headerInfo:{ typeName: 'Jerry Service Order', typeNamePlural: 'Jerry Service Orders', title: { value: 'object_id' }, description: { value: 'description' } } define view Z_C_Order as select from Z_I_Order_Header { @UI.lineItem : [{position:10, label : 'Service Order ID'}] @UI.identification: [ { position: 10, label : 'Service Order ID' } ] @Search:{ defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 } @UI.selectionField: [ { position: 20, label : 'Service Order ID' } ] key Z_I_Order_Header.object_id, @UI.lineItem : [{position:20, label : 'Service Order Description'}] @UI.identification: [ { position: 20, label : 'Service Order Description' } ] @Search:{ defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 } @UI.selectionField: [ { position: 10, label : 'Description' } ] Z_I_Order_Header.description, @UI.identification: [ { position: 30, label : 'Order Status' } ] Z_I_Order_Header.order_status, Z_I_Order_Header.order_status_text, @ObjectModel.association.type: [#TO_COMPOSITION_CHILD] Z_I_Order_Header._Item }
Now all are done except remaining work in ABAP side.
3. Create a new project via tcode SEGW and include the activated consumption CDS view created in step2. If you don't know how to do it, refer to this blog Enable CRM Service Order application with edit functionality.
Generate runtime artifacts. Now both DPC and MPC classes are generated.
3.1 Redefine DEFINE method of your MPC_EXT class:
super->define( ). zcl_fis_shlp_annotation=>create( io_odata_model = model io_vocan_model = vocab_anno_model iv_namespace = 'sap' iv_entitytype = 'Z_C_OrderType' iv_property = 'order_status' iv_search_help = space iv_search_supported = abap_false iv_search_help_field = space iv_valuelist_entityset = 'OrderStatusEntitySet' iv_valuelist_property = 'Code' ##NO_TEXT )->add_display_parameter( iv_valuelist_property = 'Text' ). data(lo_txt_property) = model->get_entity_type( 'Z_C_OrderType' )->get_property( 'order_status' ). lo_txt_property->set_value_list( /iwbep/if_mgw_odata_property=>gcs_value_list_type_property-fixed_values ). data(lo_text_anno) = lo_txt_property->/iwbep/if_mgw_odata_annotatabl~create_annotation( 'sap' ). lo_text_anno->add( iv_key = 'text' iv_value = 'order_status_text'). lo_txt_property = model->get_entity_type( 'OrderStatus' )->get_property( 'Code' ). lo_txt_property->set_value_list( /iwbep/if_mgw_odata_property=>gcs_value_list_type_property-fixed_values ). lo_text_anno = lo_txt_property->/iwbep/if_mgw_odata_annotatabl~create_annotation( 'sap' ). lo_text_anno->add( iv_key = 'text' iv_value = 'Text').
The code above will generate the highlighted annotations which could be found in metadata:
3.2 Since in 3.1, the entity set OrderStatusEntitySet and entity type OrderStatus do not exist in SEGW project yet, so now we have to create them manually.
Just create them from context menu by clicking Entity Types and Entity Sets in SEGW:
Create properties for entity type:
And assign entity type to newly created entity set. After that regenerate runtime artifacts.
3.3 Since now framework knows it should display the value of order_status_text to render the drop down list, so we are responsible to provide framework with correct content.
Redefine method /IWBEP/IF_MGW_APPL_SRV_RUNTIME~GET_ENTITYSET of your DPC_EXT:
METHOD /iwbep/if_mgw_appl_srv_runtime~get_entityset. CASE iv_entity_name. WHEN 'OrderStatus'. get_Status_list( IMPORTING er_entityset = er_entityset ). WHEN OTHERS. TRY. CALL METHOD super->/iwbep/if_mgw_appl_srv_runtime~get_entityset EXPORTING iv_entity_name = iv_entity_name iv_entity_set_name = iv_entity_set_name iv_source_name = iv_source_name it_filter_select_options = it_filter_select_options it_order = it_order is_paging = is_paging it_navigation_path = it_navigation_path it_key_tab = it_key_tab iv_filter_string = iv_filter_string iv_search_string = iv_search_string io_tech_request_context = io_tech_request_context IMPORTING er_entityset = er_entityset es_response_context = es_response_context. CATCH /iwbep/cx_mgw_busi_exception . CATCH /iwbep/cx_mgw_tech_exception . ENDTRY. IF iv_entity_name = 'Z_C_OrderType'. fill_status_text( CHANGING cr_entityset = er_entityset ). ENDIF. ENDCASE. ENDMETHOD.
The method fill_status_text is responsible for filling the field order_status_text.
All the source code of ABAP classes could be found from this link: https://github.com/i042416/jerryslide/tree/master/cds/valueListDomain
Note: if you comment out the line 40 and 46,
The annotation for order_status_text will become "standard", instead of previous "fixed-values".
In this case, this field will be rendered as F4 value help instead:
In short, the Fiori User Interface (UI5) code does not have the equivalent of version management like ABAP does. Sure, when you deploy your UI5 code to your Gateway/Fiori server, a copy of the executable files are stored; but the whole workspace is not.
That’s where Git repositories come in. In fact, most of the software industry seems to use Git repositories now days; so it’s not too scary; and unlike ABAP; it supports multiple versions, concurrent development, merging; and a whole bunch of other cool stuff.
So anyway, why do you need it? Well you just do okay – trust me
Now that we have a way of getting into HCP without pulling out the corporate credit card; we can start to leverage WebIDE and the features of HCP. One of these features is the Git repositories.
Previously I had been using github.com which works perfectly (if you have access to it); and having your own on-premise git repository would work fine also. But until today, I had not tried to use the HCP Git, but it’s surprisingly easy.
So within the HCP Cockpit, you’ll need someone with administrator access to create an appropriate named git repository for your extension.
Navigate to Git Repositories and select New Repository:
Name the repository and keep the “create empty commit” checked and press OK!
Go into the repository and then select Web IDE to open Web IDE and automatically kick off the clone repository process (which simply creates a project folder linked to this Git Repository). Note – You’ll need to enter your S-User (or similar) Id and Password.
Commit and Push when you receive this pop-up.
Note – If you do the above too quickly, you can sometimes hit an issue that the repository is not fully set-up (I think!).
Let’s now create the extension project into this Project Folder:
Select File->New->Extension Project
Now select the Fiori app to extend, and very carefully type in your new project folder as the name of the extension project:
Press Next, uncheck the extension pane checkbox and Finish.
If you select the Git pane on the right hand side; you can select Stage all check box; enter a comment and press Commit and Push (to origin/master).
Other users can then access the git repository through the Web IDE link from the cockpit; and you can start branching off, merging, pulling, fetching, rebasing and all the other cool terms that I always defer to Nigel James to explain to me…
Oddly enough, if you use Github desktop (I do because I find the diff tool when set-up correctly very powerful for merging branches) doesn’t support cloning the repository directly. That said, all you need to do is go to the command line, type git clone <repository link from the HCP Cockpit>, entering your username/password to get a local copy of the repository; then from within Github desktop, you can add the repository using the add local repository option (then it’s just the same as if you cloned it from Github.com at that point.
For a few reasons, it’s not immediately obvious how to get the mock data provided by My Inbox to work. But if you want to get it working (which is very handy); do the following:
• Create a folder under localService called mockdata
• Cut and Paste all the JSON files under localService into mockdata
• Under project settings, change the mock data to match the following screenshot:
• Create a run configuration with “Run with mock data” set, ensuring that allItems = true within the URL Components
• Save and Run!
Result with mock data (unfortunately without the Fiori Launchpad which has the subscription functionality:
Hi All,
I got this error message when I click on create button via FIORI MY Timesheet V2.
RFC Error: Function module "HCM_TIMESHEET_GET_DEFAULT_DEP" not found.
Please help me, What steps should I take to resolve this issue?
Thanks&Regards,
Satya.
Hi,
We have a custom fiori app running on our launchpad, inside the app we have a master-detail page. In the master list at the footer we have different options of user to customize the master data by sort,filter and group using the view settings dialogue control.
Now we are looking for is using variant to filter master list. How can we achieve variant management in view settings dialogue control ?? is there are work around for this?
Regards,
Sivaganesh
Hi experts,
In webide developed an extension project . its working in webide . when we deployed to SAP ABAP REPOSITORY AND tested in SICF we are facing an error .
please check the attached document.
Thanks.
sangamesh
hi all
I search on scn for configuration of sap my inbox, but unable to find basic configuration guide for central gateway system.
we have install UIX01CA1 on gateway, need configuration guide
I've got the "Manage Purchase Requisitions" apps working in S/4HANA on-premise:
There appears to be a link on the Item Description "Ale for Party (1)", so curiosity causes me to select this:
Within a split second this error pops-up and closes, and I'm landed back to where I was.
When I check the console in the Chrome Developer Tools, to find out what app tried to load, I find the following:
So I can see here the target that was atempting to load was "Material-displayFactSheet?Material=1" so I try to call this URL directly, and get an error.
So I look for a "Material" app in the Fiori Apps Library, and find this, as the only likely contender.. but this is not for S/4HANA on premise, and when I check SICF for the ICF node for this UI5 app I find, as expected, it doesn't exist.
I looked through all the S/4HANA apps with the word "material" in the tile for the matching Semantic Object = Material and Action = displayFactSheet, but none exists...
Is there a way what a user can view this information? or is the hyperlink a mistake? Myabe the intention is what we manually create a new target to point to a Business Client 6.0 screen, or a WebGui screen, rather than a Fiori app, but it seems somewhat unfair to give a link with no mapping to a target.
Am I missing something?
Thank you