Blog

Home / Archive by category "Blog" (Page 23)
JaveLLin Origin Story

JaveLLin Origin Story

Well, you may have read my “origin story” for Paper Street Enterprises, but I figured it would be fun to tell you about how JaveLLin Solutions started.  The initial idea for the applications started about 2008.  That was when I first got the stroke of genius (or masochism) to build applications to help companies better run Service Management.  In my head, it all seemed so simple.  I would just build my own SAP system, then build an application and sell it.  Ugh…  if only reality were that kind.  I spent the better part of the next 3 months downloading, installing, running into errors and repeating.  All of this, just trying to build my first 4.7 SAP system.  I gained a whole new appreciation in this process for basis people.  I also acquired a distinct hatred for anything basis related 🙂  Of course, that hatred would grow as I attempted to build more systems…  but I’ll save that for later.  Once I finally got a working system, then I needed to put my first idea into practice.  My idea was to build an out of the box application that a company would use to provide a call center for their customers.  The idea was to build a web application that the end user could register their products, submit help desk tickets and more.  Easy right???  Not hardly.

Since I knew nothing about web programming, I had to figure out how to build a BSP (at the time, SAP’s go to method for web stuff).  So, I got the book, did all the exercises and slowly learned how to write a BSP application.  That took several months, and them my first disaster struck.  My hard drive crashed, and I had no backup of the virtual server that all of my worked resided on.  I had not only lost my coding work… but now I had to go back through the entire SAP installation process.  And then I needed to do all the system configuration (including building master data from scratch so I had something to work with).  I admit, my concepts got better, but it set me back multiple months.  By the time I had a product I felt good about, I had spent the better part of a year burning all my free time.  (Now, to top things off, I was recently married, so that meant free time was in short supply, so things kept moving even slower).  But I was not deterred.  I had a plan.  The next step was to become an SAP partner.  I did some homework, but not enough looking back.  I managed to spend a LOT of hard earned consulting dollars to become a partner and then get my application certified.  If you curious about my opinions on certification, check out my post about it from a couple years back.

As time went on, I built more and more applications.  Unfortunately, my focus was too scattered.  So I’d built WM apps, VC apps, Service apps…  and none of them were really cohesive.  I got my first sale, which was my dashboard for service management.  It was loosely based on some SAP developed dashboards for shipping.  I thought it was all down hill from there…  That was when I came up with a plan…

But I’ll save that for tomorrow,

Thanks for reading,

Cross Branding by Updating the Website

Cross Branding by Updating the Website

Well, if you are new to my blog, you might not notice the change.  For those of you that have been following me for any length of time probably notice that my site has finally been updated.  It wasn’t until just recently that I realized how old my site was (originally 2012).  So a change was long overdue.

This gave me the opportunity to clean up the look and feel, and more importantly bring more focus to my blog, to my books, and to the JaveLLin products.  Simply using a new theme gave me the opportunity to make everything look new, add new graphics, market the books better and so on.  At the end of the day, the change took about 4 hours, but the end product gives Paper Street a whole new look and feel.

The moral of the story is make sure that the good things you do are visible to the digital world in a good looking format.  Even if you are consultant or an employee, you still need to build the brand of “You”.  I guarantee, it will be valuable at some point, so demonstrate your expertise in every way possible.

Thanks for reading,

Netweaver Gateway – Using Expand

Netweaver Gateway – Using Expand

I’ve recently started to move a new product onto UI5, and of course, that has open up new areas for me to explore.  The most recent was display the notification.  Initially, this sounded so easy.  Unfortunately, when you look at a document, there are many different tables associated with a single notification.

Header, items, tasks, etc.

I wrote my RFC to accept a single input of notification number, but the output consists of header and a bunch of tables.  Of course, for UI5, having a structured OData is far easier to work with, instead of doing a whole bunch of reads to the same RFC and tie them together myself.  Luckily, I found a great blog post that showed me the major things I needed to do:

http://scn.sap.com/community/gateway/blog/2014/07/18/implementing-expand-entityentity-set

Now, of course, this requires some work on the service side as well as in the coding.  So on the service side, you need to tie everything together with associations and navigation to connect the header to each of the individual tables.  Next, you go to the DPC_EXT class, and update the get_expanded_entityset method.  In this method, you need to build your structure.  You can make this as deep as you want, but this will make your service easier to use on the UI5 side.

Now, you can use the expand command within UI5 to say what pieces to pull out.  One thing I discovered while doing this, if you manually create each step of the association, my service had difficulties reading the expand.  So make sure you right click on Associations and select create.  This will walk you through 3 steps to make the connections.  For some reason when I manually built the pieces, my service couldn’t expand.  It might be my old version of the Gateway, but keep this in mind.

Thanks for reading,

Understand the technical side of DIP

Understand the technical side of DIP

Today I wanted to find out if there was a simple function to call the Dynamic Item Processor without executing it.  Basically, I wanted a simulator to see what materials would be placed on the sales order.  I found a great post that really helped me:

https://wiki.scn.sap.com/wiki/pages/viewpage.action?pageId=394105949

In a nutshell, this post walked through all the major function modules called in the DIP processing.  It’s quite extensive, and happily saved me a lot of debugging to learn all of this.  Turns out, I can do everything I was hoping for with a single function:

VPKDPP_GET_DI_WITH_VALUES

Jackpot!!!  it’s a good day.

thanks for reading,

Paper Street Enterprises – Origin Story

Paper Street Enterprises – Origin Story

Well, Marvel has really capitalized on super heroes, and when they run out of stories going forward, they go backwards and tell you where they came from.  Because of this, I thought I’d do a little post to tell you my origin story 🙂

In 2006, I had spent the past few years working for Deloitte and then SAP.  I spent so much time working with other independent consultants.  They started to take me under their wing and show me just how easy it was to be independent.  All the things I was scared of including insurance, medical benefits, 401k etc had been shown to me to be so easy to handle on my own.  So, I went online and started my own company.  One of the first things I needed to figure out is what I should call my company.  Of course, there was the simple of name of Mike Piehl Consulting, but I didn’t like that approach.  So I went to my favorite movie, Fight Club.  In that movie, Ed Norton and Brad Pitt have the Paper Street Soap Company.  Well, I wasn’t making soap, so I decided that Paper Street Consulting would be perfect.  I submitted my name and got accepted.  (To this day, very few people recognize the reference, but I don’t care… still love that movie).

Once I had my company formed, I did my homework to find out what insurance I would get (health, business, life, etc.) and I started looking for my first contract.  I spent maybe a month looking, but it was no big deal, I was finishing up a client in California, so I was still employed.  When I accepted my first offer, I gave my notice and started my adventure.

Needless to say, my first contract was no piece of cake.  The work was easy, but the logistics were awful.  First off, I accepted an AI (or all inclusive) contract.  This meant that I got an extra $23/hour to cover travel, lodging, food, etc.  In my head, this looked great.  I was traveling to AZ and it was May.  Well, little did I realize how much prices fluctuated depending on the season.  When I did my research, everything was cheap since it was summer in Arizona.  Well, with each passing week, prices kept creeping higher.  I had already accepted the contract, so I needed to figure out how to live on a budget.  I flew Sun Country from MSP to PHX every week.  I rented a room from a guy who also traveled, so we never crossed paths.  I went grocery shopping, bought a bed, some cheap linens and rented the smallest possible car from Enterprise.  I ended up making it work… but just barely.

Now, the biggest issue I had with this first gig was getting paid.  Payment terms were the biggest thing I paid no attention to.  It turned out it was net 30, from time of invoice, which meant 60 days before I got paid.  Well, I had enough saving to make this work.  The problem was that the company I contracted through kept telling me the “check was in the mail”.  At one point, I waited 4 months before I got my paycheck.  I did eventually get all my money…  but I exited the contract after 3 months and took a great local contract.  Believe me, I learned a lot about negotiating from my first contract.  If you ever think about getting into this game, feel free to reach out to me, I’d be happy to give you some pointers =)

Thanks for reading,

Happy Independence Day!!!

Happy Independence Day!!!

For all of my readers in the USA, please enjoy a great fourth of July.  I now live in the south, so it’s a guarantee I’ll be hearing fireworks well into the night 🙂

I hope you all enjoy a great day off.  I’ll skip any political stuff today.  Just be thankful for the liberty we still have and be sure to enjoy it.

Thanks for reading,

Understanding HANA

Understanding HANA

I finally get it now 🙂  I’ve been trying to understand the deal with HANA for quite a while, and thanks to a very enthusiastic presentation by Dr. Jeff Word.  Jeff was one of the original founders of the HANA concept, so I can see why he is so passionate about the topic.  Now, I’m paraphrasing a lot of this, but let me give you the layman’s version.

The whole reason HANA was invented was because of hardware constraints.  It’s been a while since I took physics, but the basic concept is that hard disk drives (HDD) cannot possibly retrieve data any faster than they do today.  We have truly reached the physical limits (per Newton’s Laws) so HDD can never deliver data any faster than it does today.  In addition, you can’t read and write simultaneously to the same drive.  This alone increases the time to retrieve data because you must write to one drive, read from another and eventually marry the two sets of data, most likely using even more reads and writes.

HANA solves this by eliminating HDD’s and reading at the speed of light, using RAM.  By eliminating the hardware constraints, you finally move away from the long reads and writes.  In some instances, seeing 100’s or 1000’s of percent improvements.  In addition, this means that the application layer (SAP, ERP, or whatever) no longer needs to do all the additional logic to speed up DB reads.  Now, I’m a programmer, so I’ve found that there are a lot of tricks that can be done to improve runtime.  You can use temporary tables, loops instead of selects, and lots of additional logic.  All of this logic is done because the DB reads won’t get any faster.  With HANA, all that logic is obsolete.  According to Dr. Word, 90% of the code in R/3 (ECC) has been deleted in S/4 because now the DB does the work.  Hence why S/4 MUST use HANA.  Without HANA, S/4 would immediately crash and burn.

In addition, HANA isn’t SAP specific.  It is truly another DB that can provide lightning fast response time to any application. This means that companies can now run a single DB for ERP, BI, and any other application you want or need.  No more replicating data to a specific BI system, you just read the original SAP DB because it is so fast that it won’t be impacted by large queries.

One of the major things that struck me as interesting is that S/4 stripped out a lot of tables that are no longer needed.  For example, BSEG can now be read directly instead of using all the helper tables like COSP, COSS, etc…  but to make sure that legacy customer code continues to work, the old tables remain as views.  This means no custom code will be impacted and the read times will still be lightning quick.

So, those are the high points of what I learned.  Overall, I really liked understanding the whole point of HANA.  It finally turned the light bulb on for me.  However, at the end of the day, I still look at things the same way.  SAP marketing is still implying things that a DB alone cannot provide.  For customers on existing SAP instances (with the exception of BI), there is little financial reason to jump in and convert to S/4.  The system is cool, the premise is sound, but in my humble opinion, the ROI isn’t there for customers with an existing SAP system.  New installations without question, should do HANA, and consider S/4 (S/4 is still rather new, so it would take a lot more due diligence to determine how stable and how well it all works).  On the bright side, SAP has extended maintenance to 2025 for all the existing stuff.  So the rumors I heard about forcing everyone to HANA in the next 2 years seems to be false.  To me, it looks like SAP is working REALLY hard to sell HANA and S/4, as many other companies seem to be of the same opinion.  I guess only time will tell.

Thanks for reading,

Are you interested in learning how to improve you service organization?

Are you interested in learning how to improve you service organization?

While I know that service is often the red headed step-child of an organization, it doesn’t mean that things can’t get better.  I’ve worked in enough places to recognize that the service group is often the last place any budget gets allocated to.  As a result, I’ve worked very hard to help service organization improve themselves on a shoestring budget.  One of those methods is my e-course that shows you some easy and affordable ways to cut cost or generate revenue within your service organization, all using standard SAP.

Service Management E-Course

If your service organization could use some new ideas, please check out this e-course.  I would love any feedback, or even new ideas to add to the class.

Thanks for reading,

Why is SAP struggling???

Why is SAP struggling???

My buddy Jeff recently sent me an article talking about SAP.

https://www.thestreet.com/story/13605479/1/struggling-sap-downgraded-to-underperform-by-jefferies.html

The general gist of the article is that SAP is struggling because it’s having issues getting customers into the new subscription model and the new HANA/S4 versions.  I found this both interesting, and not surprising.  I’d be curious to hear others take on this, but of the sampling of customers I know, HANA, S4 and the cloud are all things that many customers just don’t see the need for.  Now, don’t get me wrong, everyone likes things to be fast, and everyone wants to be the coolest new platform.  The problem is that is that the price tag of all new hardware, all new software, and potential ramp up of new skills due to changes in S/4 have a lot of customers hesitating to make the switch.

First off, look at the hardware.  When you switch to HANA, you either need to look at going to an entirely cloud based model, like SalesForce.com or RAMCO.  The problem is that SAP is still unproven in the cloud arena.  It’s hard to stay say if the fear is warranted, but at this point, Salesforce has been doing this for a long time…  SAP is trying to jump into the game, perhaps very late.  So that means if you don’t feel comfortable offloading your ERP to the cloud, you need to pretty much replace all your hardware to switch from HDD to RAM.  No small price tag associated with that.

Now if you look at the benefits, you get all the faster analysis, faster runtime on DB access, and possibly some new functionality…  but it’s been hard to see much of S/4.  Regardless, it’s a new learning curve for your basis person…  and it may be all new for your business if you start moving toward all FIORI which is cool and possibly better, but it’s still new.  That means you need a budget for change management now too.  At the end of the day, many manufacturing companies just don’t see the need for it.  It’s useful in the BI world, but for the general ERP, it’s just not cost effective for many industries.

Now, I’m sure that SAP will force this customers to change at some point… or at least make it “an offer they can’t refuse”, but in the meantime, many companies are look to continue business as usual.

Thoughts???

Thanks for reading,

Transporting a Reference Billing Plan

Transporting a Reference Billing Plan

In my latest endeavor to document all of the pieces of service contracts I recently stumbled on an interesting problem.  When you create a new billing plan type, you can create a sort of template.  The problem is that the template is stored in the standard tables of FPLA and FPLT.  Short story, you can’t transport this to QA or Production.  You receive the following message:

Billing plan references cannot be transported. Message no. V1719. Billing plan references, created in Customizing, cannot be transported. Maintain the billing plans, that are used in Customizing, in the new system.

Thanks to the following SCN post I found the tricks.

First off, check OSS Notes: 135028 & 356483

Go to transaction SOBJ and there double click on object V_TFPLA_MU_TRANS, then in the details set the flag V_OBJ_H-CURSETTING for Current Settings.

Thereafter you will be able to use OVBM in your productive system.

I needed to remember this myself, so I thought I’d share it with you.

Thanks for reading,