UI5 Loops with duplicate records

Well, in my quest to convert some of my applications from iOS or Web Dynpro to UI5, I’ve recently run into something new.  I had a table of information, and my UI5 was able to render the table and put in the correct number of rows, but all the data was the same.  Every row was identical, and it was the last row in my table.  After some digging, I found a rather simple solutions.

https://scn.sap.com/thread/3670270

Thanks to SCN for this, but the issue was in my Gateway service.  I needed to make the key of the table unique.  This was interesting to me because in the iOS, this didn’t make any difference.  So perhaps my developer jumped through some extra hoops, or it’s just a function of XML.  Regardless, make sure your entity set keys form a unique row (I just had to update my services to include an input for the key field (didn’t matter for reading the service).

Thanks for reading,

Partnerships, the new adventure

After trying to do everything myself for many years, my buddy Jeff finally beat me over the head enough to realize that it is impossible.  For those you that know me, you know that I like to be self-sufficient.  I depending on other people, I hate waiting for others to get things done, so often I just do things myself.  Here’s the problem with that approach.

  • Time is the most valuable commodity I have.
  • The best of my time should be spend doing what can make me the most successful.
  • No one can be an expert at everything.
  • All the time I spend doing it myself, could have been spent doing something more valuable.

You get the idea.  Well, finding prospects is one of the most important things any business can do.  The problem is that I had misguided notions that if I talk to my friends, past clients, doing a little blogging and have a website the sales will just start flowing in.  Well, for any of you in business, you know that isn’t the case.  Software seems to be especially difficult, at least in the SAP space, because to get in the door you need to convince a lot of people.  You need to convince the business, business managers/directors, and then IT needs to sign off on it since you’ll be installing programs in their environment.  But even before you get to that point…  you need to find people to talk to, you need to find the right people that can say yes to get the process started, and even if you find them, it doesn’t mean they will ever take your calls, respond to your emails, or take your meetings.

This is where Jeff finally got through to me.  We need to work with people that already have relationships with people we want to talk to.  This is doubly good because if you work with someone that already has relationships, not only do they know the people, but the people know them.  So you can get a warm introduction and a better chance to at least be heard 🙂  The key is that this needs to be a win-win situation for you and the partner.  The key is being able to provide something of value in exchange for the introductions.  Some of it will be monetary, some of it needs to be access to our contacts so our partner can do the same thing.

This is the road I’m just starting to travel down.  If any of you have any ideas, advice, or are interested in partnering, please reach out.  I’d love to hear from you.

mpiehl@gojavellin.com

Thanks for reading,

 

Building for tomorrow

I talked a little about 2015, and how I’m glad the year is past.  For me, 2015 was a big rebuilding year.  The problem with rebuilding years is that you usually aren’t “winning”.  I often go back to football, whenever your favorite team has a bad season, what’s the common thing people say?  “This is a rebuilding year”, “We had to get some pieces in place before we could start winning again”, etc.  While this can often be an excuse, sometimes it really is true.  The problem is that usually when it is true, it means you were making mistakes in the previous years.

Well, that was exactly what happened with JaveLLin last year.  It truly was a rebuilding year for me.  I finally found some pieces I was missing, and then I found out that much of what I was spending time and money on, were the wrong things.  I was spending $20k to be a vendor for 4 days, when I could have spread that money out to 15 shows, got myself in front of a lot more people, and could have been doing presentations.

I spent the past 6 months trying to get myself into a position to make myself and my company more visible.  Yeah, I spent time developing new features, but for me, that’s my reward.  If I can get all my marketing stuff done for the day, then I can develop some stuff.

Now that the groundwork is in place, I think I know where I need to pivot my business to get myself back on the winning track.  How about you?  Are you rebuilding?  Or better yet, have been constantly managing things so that you can have a championship team year after year?

Thanks for reading,

New Year, time to pivot

I don’t know about you, but I’m glad that 2015 is in the books.  Do you ever have one of those years where it seems like the expenses just keep piling on?  For me, that was last year.  The thing is that most of the expenses weren’t really anything bad, in fact they were a building block for things to come.  How much of your life is like that?  We all go through things that suck at the time, but looking back, you realize how you can build off of that.

For example, last year I had to replace both of my heating/AC units.  That was a big bite out of the wallet, but because I’ve had a few really good years consulting, I had the money saved and more importantly, this is something I won’t need to deal with for at least 10 years.

My point is that everything that happens to us can be good or bad, but most of the time it depends on how you look at it.  Every experience could be construed as negative, “why does this always happen to me?” type thinking…  or you can choose to build on it.  You can choose to focus on how the experience made you stronger, helped you get where you are today, and will help you achieve your goals.

Thanks for reading,

ROI of Service Notifications

I wanted to continue the series on how service can truly help your business.  Today, let’s talk about the service Notifications ROI, or return on investment.  All too often, I hear business’ complain about the number of transactions within the service management module.  While I agree, for small businesses, there can be a lot of transactions, but what is often overlooked, or perhaps unused, is the beneficial data in all of those transactions.

This first piece is one of the most valuable, and most overlooked benefits of the service notification.  That is the ability to offer the most cost effective warranty to your customer that you can.  Now, all too often, everyone is concerned with if the product is under warranty.  But in your customer’s mind, the best products have the longest warranties.  Well, what if you could offer your customers an additional 3 months of warranty, without it costing you any more?

Well, if you pay attention to your service notifications, you can determine by product, how many issues do you encounter within 3 months?  6 months? 1 year?  Let’s say you offer a 3 month warranty on a particular product.  If you analyze your data, and find that 90% of your issues occur after 4 months, you could suddenly extend your warranty to 4 months, and you won’t experience any more service notifications.  This now gives your customers an additional month of “piece of mind”.  Perhaps, this gives you the edge against your competition that only offers a 3 month warranty.

Best of all, you’ve just gave your customers a nice little bonus and it costs you nothing but updating your literature =)

Thanks for Reading,

UI5 – Connecting Master to Detail

Well, I wish I could say this was an easy thing I finally figured out…  but it was a hard fought victory 🙂  I spent more hours than I care to admit fighting through this.  My issue that I had a list pulled from gateway service.  The problem was that when I would click on an entry in the list, the values were not being populated.  Of course, I tried to extend what I learned, and that got me into trouble.  But like everything, I found my home 🙂

Let’s start at the beginning.  First, I used the following tutorial as my baseline.

http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/8022ac87-1f60-3110-5383-fa68a91d7f8b?overridelayout=true&59017145622993

This was great, but it was using static data.  I had services built for my iOS apps, so I decided to start by calling one of those.  It was good.  I was able to build the list, but try as I might, I just couldn’t get the data into the detail screen.

Here’s what I finally figured out.

component.js

oView.setModel(oModel, “orders”);

this was a switch from the tutorial, where the model didn’t get a name.  I thought this would make no difference.  Boy was I mistaken.  Here’s what I needed to do  to finish this change

app.controller.js

page.setBindingContext(context, “orders”);

here, I didn’t realize I could add a 2nd parameter.  I needed to add my model name.

master.controller.js

handleListItemPress : function (evt) {
var context = evt.getSource().getBindingContext(“orders”);
this.nav.to(“Detail”, context);
},

handleListSelect : function (evt) {
var context = evt.getParameter(“listItem”).getBindingContext(“orders”);
this.nav.to(“Detail”, context);
},

the getBindingContext() needed to list the name “orders”.

Detail.view.xml

<ObjectHeader
title=”{orders>DocNum}” >

make sure when you enter the variable, that {orders>DocNum}

special thanks to the following post that gave me the final piece (that app.controller.js)

http://scn.sap.com/thread/3785577

Thanks for reading,

UI5 – Using a service from a remote server

Wow…  this one really burned through a lot of my time.  After many hours of trial and error and google digging, I finally found the trick that would read my service without errors.

Go to your web.xml file (this applies to eclipse) and scroll down until you find the following section:

<!– ============================================================== –>
<!– UI5 proxy servlet                                              –>
<!– ============================================================== –>

<servlet>
<servlet-name>SimpleProxyServlet</servlet-name>
<servlet-class>com.sap.ui5.proxy.SimpleProxyServlet</servlet-class>
<init-param>
<param-name>com.sap.ui5.proxy.REMOTE_LOCATION</param-name>
<param-value>http://<your url>:<port></param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>SimpleProxyServlet</servlet-name>
<url-pattern>/proxy/*</url-pattern>
</servlet-mapping>

make sure your section looks exactly like the above, just change the blue text to be your sap server/port.

Thanks for reading,

The ROI of Service Master Data

One of the big things I’ve been contemplating as we come into a new year, is return on investment.  I’m really trying to focus on how service can not only cut your costs, but become a revenue source in many businesses.   Master data is always a sore spot, because it’s not easy to keep things up to date.  With everyone’s changing priorities, keeping all the data in the system accurate is no easy task.  So, is there any return on investment for maintaining all of this data in your system?  Now, ROI is a very subjective term when it comes to something like data within SAP.  One organization might easily be able to monetize that data, while others struggle.  So, let me give you some ideas to consider when you decide from a financial perspective, what is all that data worth?  I’m going to go through several different scenarios that I’ve seen throughout my career.  Keep in mind, not all of these scenario apply to ever business, but I’m willing bet if you read through these, you might be able to make the leap to your own processes.

1.  Product Registration.  Now, this is something that I often see overlooked in organizations.  Collecting product registrations.  Now, if you buy an appliance, or piece of electronics, you will often see a little card you can fill out to register your product.  Often it is used to start your warranty, or maybe just to give you special offers, or updates as new software becomes available.  From the business side, this information has huge potential upside.

  • it allows you to connect to your end user.  If you use distributors, without registration, you’ll never be able to find out who is really buying your stuff.
  • It allows you to start and end standard warranties on your products.  This is especially valuable, if you offer your user a one year warranty.  Well, most business don’t start that warranty from the time it’s produced, rather when it is purchased.  If you customer buys it 3 days or 3 months after production, you’re still on the hook for 1 year worth of warranty.  If you run into any percentage of returns or product defects, being able to cut off your free service has a definite financial advantage.
  • When you know your end user, you can go to the up sell.  By that I mean, you can offer discounts to buy extended warranty, upgrades, etc.  This allows you to extend the life of your products, while keeping your customer happy.  If you keep providing the latest upgrades or enhancements to your customers, they will remember.  Or more the point, if you don’t provide this, they will remember.

2.  Keeping track of what your customer owns.  This is valuable for any industry, especially if you offer systems of products that might work together.  When you maintain this data, you will quickly be able to know what your customer has at a particular site, or even be able to drill down to a particular area within a site.  This is often contingent on doing the installation yourself, however, it still buys you a lot of valuable ROI with your customers.

  • If you provide on-site service, the more you know about what a customer has installed and where, the faster your technician can get your customer up and running again.  You can minimize the down time by having the correct parts with them.  You can do initial troubleshooting, just by knowing that product X & Y are both installed, and sometimes can have side effects if used in certain ways.  Knowing that in advance better equips your technicians to  fix the problem the first time.  That saves you money, and gives you a lot of goodwill from your customers.
  • If you install serialized components installed into other serialized components, you don’t have to ask your customer to disassemble half the unit, just to tell you the serial number.  Instead, you can quickly look into your installed base, and see what is installed within each unit, often drilling down several levels.  While this might not generate a lot of money, it will generate goodwill with your customers by making it easy to do business with you.
  • If you ever need to do a recall (like I keep seeing for my vehicle), knowing where every serial number is located will quickly let you be proactive with your customers, to let them know what needs to be fixed/upgraded/replaced.  You can generate campaigns to notify your customers before they start having problems.  This will save you definite dollars by avoiding last minute, emergency service trips, and instead garnering more goodwill with your customers by letting them schedule when things can be serviced.

3.  Maintaining as accurate warranty dates.  This one seems pretty obvious, but I’ve been surprised how many organizations  are willing to “wing it” for this information.

  • Not only can you cut costs buy knowing when a product is no longer under warranty.  You have the ability to generate revenue when it does break down and your customer wants it fixed.
  • You encourage registration (see above) by allowing that date to be the starting registration date, rather than the original ship date.
  • You can quickly run reports on items coming off of warranty in the next month to send an offer to extend their warranty for a reduced cost.  This keeps customers coming back to you, and not your competitors.

There’s more I can say, but I’ll save it for another time.  The thing to take away from all of this is that if any of this stuff applies your business, and you aren’t collecting this data, you are losing out on all of the benefits that come with it.  I can even show you simple ways to start collecting that data…  just ask me.

thanks for reading,

UI5 – Early Challenges

Well, like always, I need to keep myself entertained by learning a new skill.  Well, this is pretty much all brand new, but I needed to understand UI5, and how I can start to use it on my own apps.  Because I’m already familiar with creating services, I thought this would be easy 🙂  Well, nothing is ever easy.

First, the cool parts.  UI5 gives me that responsive functionality that I really need.  Web Dynpro just can’t give it to you, and even designing an iOS application still requires you to design everything for different device sizes.  With UI5, not only can you have an app that adjusts to the particular device, but you can even add functionality based on certain devices (a common example would be to turn a button off unless it was a smart phone).

Now, my first major hurdle.  I’ve probably wasted around 8 hours on this…  still haven’t solved it.  I needed to vent, to so rest assured, when I figure it out, there will be another post 🙂  I was able to go through some tutorials, build an app with local data.  Cool, so I decided to replicate my current iOS application.  I got a lot of the framework done (still have a lot to learn, but it gave me the basics).  So I was ready to connect it to my service.  Looked easy enough… read some other blog posts, saw what to do…  nothing…  so far, I have found that at least part of my challenge revolves around CROS, which is a service that protects you from other systems calling your data unless you allow it.  Great…  but I WANT these 2 systems to talk.  I’ve tried lots of things…  I found something that at least got me to a new error 🙂

in Chrome, if I installed a plug-in “Allow-Control-Allow-Origins”, I got past the cross talk error.  But now I’ve moved onto a new error HTTP 405.  I have a headache, so I have to leave it alone for a while…  Talk about a strange way to spend vacation 🙂

thanks for reading,

Merry Christmas

Well, it’s that time of year, so I won’t be posting much for the next 10 days or so.  In the meantime, don’t waste your time poking around linked-in or reading work blogs.  Please take the next week or so to enjoy your family as much as possible.  If you are like me, the holidays are a chance to see friends and family that you don’t see that often.  So make the most of it…  even if your family can be a bit crazy (let’s face it, it’s what family is all about).

So Merry Christmas and Happy new year.

Posts navigation

1 2 3 29 30 31 32 33 34 35 97 98 99
Scroll to top