Home / Archive by category "Business"

Skype for Business – Doesn’t live up to Skype

I’ve been a Skype user for over 10 years now.  I still remember the first time I discovered I could call my girlfriend on her cell phone from Germany for pennies, instead of crazy fees that international calls cost.  Recently, I’ve had some experiences with Skype for Business.  Microsoft is pushing this hardcore, replacing their own Link product (which worked, but I didn’t use much).  Now, being a big Skype fan, I truly believed this new iteration would be be awesome. The best word I can use to describe it is disappointing.

Numerous times I’ve attempted to a Skype for Business meeting.  At least 1/2 of the time my device won’t connect to the meeting the first time.  If I am using it on my phone or Ipad, it often defaults to the web version, even though I have the app installed on my device.  When I can connect to the meeting, often I can get picture, but no audio, or no picture by audio.  It’s become a nightmare every time I’m invited to a Skype meeting because I know I will need to spend at least 5 minutes trying different devices, different links, etc, just to join a simple meeting.

Then, when I finally do get connected, Skype will often drop me unexpectedly.  And once I get dropped, it’s nearly impossible to get back into the meeting.  The only option that works most of the time is if I dial in just on my phone.  I can’t see the screen, but at least I can the meeting.

Now, I’ve also been a user of Web-ex for quite a while, and never had these sorts of issues.  Granted, Web-Ex is a lot more expensive (or so I understand) than Skype for business, but based on my experience, you get what you pay for.  I’d love to hear if anyone else has had a better experience.

Thanks for reading,

Persona’s – Installation

Well, you can’t experiment if you don’t have the software.  So step one was getting Persona’s installed.  Step one, of course, is to go to SAP and download Persona’s 3.0.  Now, being the glutton for punishment that I often am, I tried first to install it on my old system (ERP 6.0, with a 7.20 Kernel).  Well, of course that didn’t work.  Persona’s 3.0 says that it requires Kernel 722.  So I tried a quick experiment to upgrade my kernel, but unfortunately, my old system wasn’t having it. So I went the easy path and installed it on my EHP7 system, which worked very easily.

Step one, make sure you have your webgui turned on.  <server>:<port>/sap/bc/gui/sap/its/webgui/
if this gets you a forbidden error, go to txn: SICF and activate the webgui node.

Next up was trying to use it.  I had the initial exercise from the OpenSAP class, but of course, I missed some configuration.  If you don’t see the “P” on the top of your webgui screen, you don’t have it activated.

You can see more on some of my previous posts on Persona’s.

Thanks for reading,


Finding your Joy

I came to the realization the other day that I have an incredible life, but I don’t take the time to enjoy it.  It all sounds so easy, but if you are anything like me, you spend so much time, so much energy and so much emotion always chasing the next thing.  I use up so much of my life trying to get to the next goal, the next accomplishment, that I often forget to savor what I have accomplished.  As I look back at the past years, I’ve been so focused on building the software business, learning new skills, improving my products, that somewhere along the way I forgot how to have fun.  I would have brief excursions that might help me remember how to enjoy the moment for a day or two, but it would be quickly eclipsed by the months of uninterrupted work.

What’s the point of chasing a dream or accomplishing goals if you don’t celebrate what you have already done.  Now, I’m not saying to spend your life living off of the past.  You still need to be striving forward to something.  But you can enjoy your life every day.  For me personally, I’ve finally got better at the work life balance over the past month, but just working less doesn’t make you a more fun person.  I did an exercise a few weeks ago to come up with what makes me happy.  I struggled to come up with much.  I’ve used the business and my kids as an excuse, but it really all comes  down to me.  I personally tend to focus too much on big things like concerts, snowboarding trips, vacations, football games, etc.  What I lost somewhere along the way was enjoying everyday life.

My newest mission is to focus on enjoying life every day…  playing with the kids by playing like a kid.  Embrace the chaos of a little sugar in a 6 year old and a 3 year old.  Stop worrying about how loud they are, and instead join in the fun.  I know that I used to have fun side to my personality around here somewhere, but working too much and too much time focusing on everyone else’s happiness has made me lose that side of myself.  My goal is to stop spending my life being so serious, and just lighten up.  Easier said than done…  but you gotta start somewhere.

Do you enjoy your life?  If not, work on finding a way to enjoy it every day.

thanks for reading,

Faith vs. Trust

I recently heard a discussion that struck a cord with me.  Someone was talking about the difference between faith and trust.  The context I heard it was purely in a religious, but the message applies in any context.  Here was the basic premise.  Trust is believing because you have seen evidence to believe. For example, when you sit down on a chair, you trust it will hold your weight and won’t break.  Do you know that for sure?  No, but it may have been a chain you sat in before, or you saw someone else your size sit in the chair without any issue.  Faith is believing something without any reason. Heaven is typically the best example of these.  Countless people every day believe in a higher power and the belief in the afterlife.  No one that I know of has any proof of what happens when we die.  Yet billions of people have faith that if they live a good life, rewards await them after death.

What the hell does this have to do SAP or business?  Well, every entrepreneur needs a healthy dose of trust and faith.   First, you need to trust that it’s possible to start a business, make a profit, sell a product, make a product, etc.  Why trust this?  because millions of businesses have done this.  Not every business lasts forever, but all of the things it takes to make a business successful have been done many times.  In all these things you can trust.  Now, the faith is the harder part.  To make the business happen you need to have faith in your ideas, faith in your product, and most of all faith in yourself.  You need to have the faith that you can put in the effort to make the idea into a reality.  Faith that someone will buy your hard work.  Faith that it is worth it!!!

Faith isn’t easy, but it’s powerful.  Thanks for reading,

Lessons Learned – Converting to Dynpro

It’s funny, I really believed I’d be able to convert my ABAP Web Dynpro app (Renovation) to good old SAP Dynpro in under a week.  After all, the heavy lifting was done, right?!?  Shame on me for not remembering how the real world works.  So I thought I’d just pass along some of the things I “relearned” during this experiment.

  1. Nothing is ever as straightforward as it seems.  Even though the back end stuff didn’t change, getting the correct screen formatting is still starting from scratch (but there will be more on this later).
  2. Dynamic formatting is NEVER easy.  When I did the work in Web Dynpro, it took a lot of effort to get things to work correctly.  SAP Dynpro is no different.  It’s still creating lots of subscreens, and logic and containers, to keep things dynamic.  Every platform is starting over when it comes to screen design and formatting.
  3. Creating functions to encapsulate existing logic (and prep for UI5) is worthwhile, but still requires a lot of re-examination.  I’ve had to relearn parts of my original app, just to understand what the hell I was originally thinking.  Don’t expect to remember why you did things…  and don’t expect all your choices to have been perfect when you did them them first time.  This goes for drop down menus as well as heavy duty functions to create documents.
  4. Pay attention because maybe everything wasn’t working in the original the way you expected. I found features that worked great for 90% of the scenarios, but during this design I discovered some test cases that were previously missed.  So, if you do an adventure like this, use it as another round of testing.  You’ll end up with 2 products that are better.
  5. DO NOT ADD MORE FEATURES – this one is tough for me.  As I start playing, I think of other new things I could just “throw into” the solution.  Instead, be smart about it.  Add those ideas to a list.  Just because you think it’s cool, doesn’t mean your customers want or need it.  Plus, it gets too easy to be sidetracked added new functionality, instead of just finishing the conversion.  STICK TO THE TASK AT HAND.

At the end of the day, these tips are just common sense in the design world.  But occasionally, even the best of us forget these simple lessons.

Thanks for reading,

Ideas for my next book?

Well, it turns out that writing e-books has really helped me connect with more people.  I’ve had a lot of people find me because of my books, and because of that I’ve felt like I’m helping people.  Which, at the end of the day is really my goal.  I’ve spent all of this effort in SAP Service Management, only to realize that everyone is just as confused about it as I was 10+ years ago.

So, as I begin to think about my next e-book, I would love to hear your opinions on what I should write about next.  Here are a couple things I’m considering:

  1. Advanced Configuration – part 2.  This would go into more of the configuration available for service management/plant maintenance.  things like maintenance plans, service boms, etc.
  2. A book about Service Orders – I did for the notification and the service contracts.  Would you be interested in something similar for the service order?
  3. Warranty Claims – this one might take me a little longer write since I haven’t been using it as much recently, but still a fun experiment.
  4. Variant Configuration – I’ve had a request to do a book on VC.

if any one gives me their opinion as a comment on my blog, I’ll be sure to send you a free copy when I finish my next book.

Thanks for reading,

Consolidating To-Do Lists

Well, I have become the king of lists.  It seems to be the best way for me to get anything done.  Even my Mom knows that when I come to visit, if she tells me a bunch of stuff, I’ll get a few things done.  If she writes a list, I focus on getting all of it done 🙂  Well, I came to the realization this morning that right now I have 3 different lists that I’m working off of.  I have Remember the Milk which contains all of my scheduled tasks (things that need to happen on a certain date) or my recurring tasks, or my items I need to be working on.  Then I found another app called  This was very cool, and it’s designed around keeping you accountable for each thing and saying that you will do something X times per week, and it gives you little high fives for meeting your goals.  Finally, I have my outlook inbox.  I have been flagging and color coding these items to show me what’s important in my inb0x.

Well, i discovered that I may have taken control of my inbox, but I now have 3 different check lists to be monitoring.  So, I figured out the next thing I can do to simplify my life.  Get myself down to a single to-do list.  My preference is Remember the Milk (RTM).  I’ve been using it for years with great success. was the first thing to go.  I only had about 6 different daily things I was tracking.  Two of them have become habits, so I removed them from the list.  Several items got added to RTM so they are recurring items.  Bingo… one down.

Outlook was a bit more challenging.  I have become very good at writing rules to manage all my incoming emails, but I needed to understand how I could send an email to RTM automatically, so it will create a task for me.  I found a post that explained within Outlook, you can press Alt+F11, and it will bring up the VB window.  It even had a simple script for me to start with:

Sub ChangeSubjectForwardProspect(Item As Outlook.MailItem)
Item.Subject = Item.Subject + ” <tagging stuff for RTM>”

Set myForward = Item.Forward
myForward.Recipients.Add “<my RTM email account>”


End Sub

then, inside of the rules, there is an action called “call a script”.  I just had to pick this.  Now, when certain rules execute, instead of adding a flag, it will create an RTM task for me.  I’m still working on more scripts, but to start with, this is pretty easy.

Thanks for reading,

Mirroring an IPad to your Windows Computer

Well, I just found a fun little trick.  For a long time, I’ve wanted to be able to pull in IPad screen when I demo my stuff.  this way, I can show what it looks like on the IPad, what my iOS apps look like, etc…  but I never found a good method to do it.  I don’t know why, but I decided to look again, and I found a cool FREE app called LonelyScreen.  Just download this onto your computer and it allows you to stream using AirPlay.  So you don’t have to install anything on your phone or IPad.  Just this app on your PC.

Then just go to your IPad/iPhone, swipe up on the screen to get your quick controls.  Press AirPlay, then select your lonelyscreen.  This works great for apps, but I did seem to have issues when I attempted to do Videos or Movies.  Which is fine, I wouldn’t really be using this to watch a movie anyway.  Regardless, it’s a fun little trick to checkout, especially if you ever demo anything on the iPhone or iPad.

Thanks for reading,

UI5 – sap.m.table vs. sap.ui.table

Well, this one caused me some headaches for a while.  When I initially started playing around with the dynamic table, I did everything with sap.ui.table.  It looked fine, but not nearly as nice as the template very looked.  I wasn’t paying attention that the template created me a sap.m.table, the newer version.  let me start by telling you my goal.  I wanted to create a worklist, with a set of dynamic columns.  So, based on a configuration table that gets sent into the application, it will define what columns, and in what sequence the table will display them.  In addition, it needed to be multiple selection, be responsive, and be scrolling horizontal, since it could have many more columns than will fit even on a desktop window.

sap.ui.table was able to accomplish all of this.  The problem came in when I started to add a toolbar to the table.  Things just never worked out quite the way I wanted.  This table type allowed me to manually set the width of each column, and when looking at it, I could double click the column to auto set the correct width.  This was a pain in my butt, but not the end of the world.  Here’s the outline of making a table dynamic with sap.ui.table

if you want a toolbar, you need to make some buttons,

var oButtSettings = new sap.ui.commons.Button({… });

then make the toolbar itself:

var oTool = new sap.ui.commons.Toolbar({ …  });

next, make the table:

var oNotTab = new sap.ui.table.Table({ … });

assign the toolbar to the table:

create the columns for the table and assign the cell:

oNotTab.addColumn(new sap.ui.table.Column({
autoResizable: true,
width: “auto”,
label: new sap.ui.commons.Label({
text: oModel[i].ShortDescr
template: new sap.ui.commons.TextView({
text: val

Assign the model with the data to the table (make sure it’s a JSON model) and then bind the rows.


I started to go down the path of finding a way to do this in the background, when I noticed that sap.m.table.  So, I commented out everything I did with sap.ui.table, and replicated it with sap.m.table.  The results were instantly nicer looking, but this version of the table does not have a horizantal scrolling feature.  (I’ll talk about how to overcome that tomorrow).  What I liked about the sap.m.table was the ability to click a line and go directly into the detail, while still allowing me to select multiple lines for other button presses.  The coding is completely different in terms of the elements needed to make a table.

again, make some buttons, but be sure to use sap.m…

var oButtRefresh = new sap.m.Button({…});

make the toolbar

var oTool = new sap.m.Toolbar({…});

make the table, if you have a lot of columns, you may consider fixedLayout: false, but that will open up some new challenges…  I’ll talk about how to handle this soon.

var oNotTab = new sap.m.Table({…});

make the column item list:
var colItems = new sap.m.ColumnListItem(“colItems”, {…});

set the toolbar:


bind the items tot he col item list

oNotTab.bindAggregation(“items”, “/”, colItems);

add columns and cells to the list
oNotTab.addColumn(new sap.m.Column({
autoResizable: true,
width: “auto”,
demandPopin: true,
header: new sap.m.Label({
text: oModel[i].ShortDescr

var txtNAME = new sap.m.Text(oModel[i].GwField, {
text: {
path: oModel[i].GwField,
formatter: formatter.leadZero

set the model to display in your table.


UI5 – Getting the on-premise ABAP Repository working

This was far more of a challenge than I originally expected.  I finally found a couple of posts that ended up helping me a lot.  I’ll reference them shortly.  First, I’ve decided that since I’m new to the UI5 thing, the last thing I wanted to do was invest a bunch of money into hosting the application for my clients.  It’s certainly something I’d consider when someone requests it, but for now, the UI5 applications are still new for me, and not a requirement for my clients.  Because of that, I decided the best way to handle it would be the ABAP Repository.  In SAP speak, you can import your application into you on-premise solution, and it changes it into a “BSP”.  I use the term lightly, because it looks exactly like UI5, but in ABAP it’s referred to as a BSP (which to me is the ooooold technology for the web).  Well, there were a couple key things that I was able to piece together to make it work, but no one location could tell me everything I wanted to know, so I thought I’d compile my findings.

Step one, getting the WEBIDE to talk to my ABAP backend was harder than I thought.  It eventually took 2 things to make it work.

  1. in the hana cloud platform – update the destination:  and update the WEBIDEUsage : odata_abap,ui5_execute_abap,dev_abap  (I don’t know you need all of these, but at this point, it doesn’t hurt)
  2. Next, go to your cloud connector: go the access Control section, pick your internal system to map to, and then include the following path: /sap/bc/adt/  (make sure to include all sub directories with it).

So, this got me far enough that when I went to deploy to the ABAP Repository, I could see my system.  The next thing, use transaction SICF and verify that /sap/bc/adt/ is activated.

Much of this information came from this  post.

This got me to be able to pick what I wanted to deploy, but it would only put it into a local transport.  So I needed to apply the following OSS Notes from this post:

  • 2046730
  • 2047506

Now, after applying the notes, I could pick whatever package I wanted.  Getting closer.  Now, the next issue I ran into was about a virus scan profile.  Needless to say, this was a head scratcher.  So I did some digging and found a piece of configuration that allowed me to turn it off:
SPRO:  SAP NetWeaver -> application server -> system administration -> Virus Scan Interface -> Define Virus Scan Profiles
abap repo-01

simply change the /UI5/UI5_INFRA_APP/…  to unchecked, and you will be able to bypass the virus error.

Now, I finally uploaded my entire project.  Woohoo!!!  I went in SE80 and even saw my new BSP.  But, when I tried to run it, it just run there.  This made me realize that the message on the front screen talking about version mismatches was probably my issue.  I tried going down the path of upgrading my ABAP backend using this post.  But at the end of the day, I was trying to change to a different version and was going to require a lot more headaches.  Then I found this post.  It talked about something called CDN or content delivery network.  By making a small addition to my index.html bootstrap, it now goes looking to the CDN instead of pulling it from the ABAP repository.  My performance seems fine using this approach and now everything works just like when I was running it on HCP.

So there you go…  Thanks for reading,