$(function () { pageContext.i18n.modTalk = 'moderation talk'; pageContext.i18n.replyToComment = 'Reply'; pageContext.i18n.modTalkEmpty = 'moderation talk is empty'; pageContext.url.getModTalk = "/comments/%25ID%25/listModTalk.json"; pageContext.url.possibleCommentRecipients = "/comments/%ID%/possibleRecipients.json"; pageContext.url.commentEdit = '/comments/%25ID%25/edit.html'; pageContext.url.commentView = '/comments/%ID%/view.html'; pageContext.i18n.commentVisibility = { 'full': 'Viewable by all users', 'op': 'Viewable by the original poster', 'mod': 'Viewable by moderators', 'opAndMod': 'Viewable by moderators and the original poster', 'other': 'Advanced visibility', 'dialogTitle': 'Comment visibility', 'selectGroups': 'Visible to groups', 'selectOther': 'Other recipients', 'selectOriginalPoster': 'Original poster', 'selectModerators': 'Moderators', 'selectAssignees': 'Asked to answer users' }; pageContext.i18n.commentMenuLabels = { 'comment-edit': 'comments.menu.edit', 'comment-delete': 'comments.menu.delete', 'comment-convert': 'comments.menu.convert' };pageContext.i18n.answer= { bestAnswer: 'Best Answer', controlBar : { accept: 'Accept', unaccept: 'Unaccept', acceptCommand: 'Accept this answer as correct', cancelAcceptedCommand: 'Remove this answers accepted status' } }; window.croles = { u: false, op: false, m: false, og: false, as: false, ag: false, dc: false, doc: false, eo: false, ea: false }; tools.init({ q: { e: false, ew: false, eo: false, r: false, ro: false, d: false, dow: false, fv: false, c: false, co: false, p: false, tm: false , ms: false, mos: false }, n: { f: false, vf: false, vfo: false, vr: false, vro: false, c: false, co: false, vu: false, vd: false, w: false, wo: false, l: false }, c: { e: false, eo: false, d: false, dow: false, ta: false, tao: false, l: false }, a: { e: false, ew: false, eo: false, d: false, dow: false, a: false, aoq: false, ao: false, tc: false, tco: false, p: false, tm: false }, pc: croles }, { tc: true, nsc: true }); commandUtils.initializeLabels(); }); Skip to Content
0

HTML Script Mashup fireResultUpdate doesnt work

May 03, 2017 at 10:53 AM

124

avatar image

Hello Experts,

I implemented a simple html script mashup which looks like this:

<html>
<head>
</head>
<body>


<script type="text/javascript" charset="UTF-8" >
function setAddressData(){


  sap.byd.ui.mashup.fireResultUpdate({
'AddressCity': sap.byd.ui.mashup.context.inport.AddressCity,
'AddressPostalCode': sap.byd.ui.mashup.context.inport.AddressPostalCode,
'AddressStreet': sap.byd.ui.mashup.context.inport.AddressStreet,
'AddressHouseNumber': sap.byd.ui.mashup.context.inport.AddressHouseNumber,
'AddressCountryCode': sap.byd.ui.mashup.context.inport.AddressCountryCode,
'AddressStateProvinceCode': sap.byd.ui.mashup.context.inport.AddressStateProvinceCode});
}
</script>


<button type="button" onclick="setAddressData()">Set Data</button>


</body>
</html>

The Port Binding i use should be the Port for Reverese_Address_Lookup which I found in Productivity & Tools

In the IE debugger i can clearly watch the values i work with getting passed through the method.

It then creates a json message with the data and then there it comes to the standard parts which are too hard to follow up. The only thing i can see is that the fields i communicated with are not updated. (Customer QC screen)

Could the reason for this be that i call the mashup and the script from an ModelDialog?
I dont think so because this works through ports but it could be that there are in some way restrictions, i dont know?
I already implemented in a completly custom in-/outport portbinding html scriptmashup the fireResultUpdate method and it worked perfectly fine (mainly because i were able to maintain the outport portbinding as i wished).

Thanks for any advise here.

Kind Regards,

Johannes

1-n.png (37.2 kB)
2-n.png (8.4 kB)
3-n.png (39.1 kB)
4-n.png (10.0 kB)
10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

3 Answers

Best Answer
Andrei Vishnevsky May 05, 2017 at 12:03 AM
1

Hi Johannes,

I have experienced the same. In some screens it worked straightaway. In some you need to trigger any event to reflect changes made. Did you try to press Enter after writing back to the port? Or take any other actions on the standard screen? Like try to "Save" and check what you've saved there.

If it worked, then I'd raise an incident to SAP :) I did the same in my cases couple days ago. May be together we can push them to make it work.

BTW, second part of my blog series will describe this in details. And my interesting findings as well. Here is part 0: https://blogs.sap.com/2017/04/27/sapui5-and-c4c.-my-unexpected-journey.-preparation./

Show 3 Share
10 |10000 characters needed characters left characters exceeded

Hi Andrey,

thanks for sharing your experience and raising the incident but also after pressing enter it wouldn't update the fields.

There i have a question if i have to maintain it or if I can leave that out.

The scenario: I implemented the html mashup with the coding in the question, I bound the mashup inport parameters to the EC outport parameters (That works shown in the question). The js method fireResultUpdate gets triggered. Does the html outport paramters have to be bound to a EC screen inport parameters? Do I have to cache the values coming from the html in some DataFields and then trigger an OutPort which is refered to the Reverese_Lookup_Info_Result PTP?
I apparently have no experience in this area beside modeling a complete custom in/outport with an html scriptmashup.

I am very thankful for you help :)

EDIT: Would trigger a Save event try to save the data entered in the qc screen? Thats pretty counterproductive for my case because that would lead to the close of the qc screen wouldnt it?

Kind Regards,

Johannes

0

Hi Johannes,

It should work as you're describing. Just firing fireResultUpdate should update the fields in question bound to inport Reverese_Lookup_Info_Result.

Again, which QC you're reffering? Which object is it?

I don't think it'd be much you can do there while dealing with standard ports. As I said we have the same issue in Individual Customer QC. And there the Save only triggered an update as well. SAP replied that they fixed it and it will be available in 1708 release.

If it's the differenet QC you have, then I'd suggest to raise an incident, describing your issue and reffering to QC in your question.

Best regards,

Andrei

1

Hi Andrey,

Thank you very much again. Your explenations are very helpful and I am also working on the individual Customer QC so i think we have the same problem. I just were not sure if I had to bind the Outports against something or not.

Kind Regards,

Johannes

1
Andrei Vishnevsky May 05, 2017 at 01:42 AM
1

Johannes,

Just got an update from SAP Support. They're saying that the same issue (data written to mashup inport is not immediately reflected in screen fields) is fixed in 1708 (yes, 1708) release. For the note, I reported Individual Customer QC. May be you have other QC with the same issue?

Share
10 |10000 characters needed characters left characters exceeded
Johannes Schneider May 04, 2017 at 09:00 AM
0

Hey Guys,

here an approach of mine !which will not work! but i have the posabillity to reverse bind the mashup in the screen i use:

Over these outports i could the the values from the mashup back but i am not able to pass them to the inport of the qc screen:

My goal is to speak to these ports. Any Ideas?
Kind Regards,

Johannes


1-nn.png (22.8 kB)
2-nn.png (46.6 kB)
Share
10 |10000 characters needed characters left characters exceeded