Home / Archive by category "Uncategorized"

A Thank You to Murielle

Not my usual post, but this is a little thank you to a flight attendant that went the extra mile.  On the plane ride to Altanta this morning, I fell asleep after putting my notebook in the seat pocket in front of me. when I woke, I spaced out and completely forgot my journal (and my Sunshine to Dollars book).  Well, I didn’t even notice it till I got to the office, then suddenly I got an email from Murielle saying she found my journal and would mail it back to me when she got home on Wednesday.

All I can say is thanks.  I really didn’t expect to ever see it again, but I now have a new appreciation for flight attendants.

Thanks Murielle, I really appreciate it.


Being a Team Lead – Remembering the Basics

I’ve been spoiled for the past several years.  I’ve been listed as the team lead, but I’ve been a team of 1.  that means I haven’t had to worry about delegating work, consolidating status reports, managing work loads etc…

I just started a new contract position, and this time around, I’m managing a team of 3 consultants, and trying to keep the client on track with their information gathering. The biggest issue I encountered, and quite honestly forgot about, is when you have to lead personalities that aren’t happy you’re there.  Since I just experienced this again, I thought I’d pass on the quick lessons I had to learn the hard way…

1.  Take many conversations away from the group.  Often when you come into a new project, you have ideas, want to make changes, or just want to prove yourself.  Well, personally, I have this tendency.  What forgot, when you challenge someone that has been there for a while, they feel pretty invested/protective of their design.  the last thing they want to hear is that you disagree with it, or want to make changes.  It doesn’t matter if it’s as simple as changing the naming convention, the people that have been there believe in their design.

2.  Be open to the old design.   Start every conversation with a “gentle” question.  “Can you help me understand this better?”  “the design seems solid, but can you tell me why you did this instead of that?”  anything like that.  It’s the whole idea of making friends with the person, let them know you value their opinions.  then explain…  “I’ve seen it done differently in past projects, can you explain why you’re doing it this way?”…  always act like you’re a little behind the times.  This makes the person a lot more open to hearing your suggestions.

3.  Remember, not everyone is going to be your best friend, but you still need to make sure they at least respect you.  Remember, this doesn’t mean they fear you…  it means they understand everyone wants the best for the client.  So make sure you can show that you know what you’re talking about without sounding arrogant.  You are in charge afterall.  But don’t ram this point down anyone’s throat.  Remember to lead by example.  Do…  Don’t just Talk…

I can say the transition has been much easier because I’ve had great upper management support.  So as a side note, make a good impression with your leadership.  Be direct, be authoritative, and be confident.  But don’t BS anyone.  If you don’t know, say as much, and say that you will find out…  THEN go find out.

I’m sure I’ll have more hints coming up… as I relearn them again…

WMIGO – My latest application

A few days ago, I mentioned how I started my integration between Service Management and Warehouse Management.  This started small by cloning the old school transactions MB1A, MB1B & MB1C.  I quickly found why everyone said it was a bad idea.  So I spent the last week designing my own solution.  It’s kind of a cross between the new SAP Enjoy transaction MIGO & and the original MB1A, B and C.

Now the solution is nearly complete (in fact, I hope to be doing my documentation and youtube video of it by next week).  In the meantime, I wanted to touch on what I learned while doing this.  First, trying to replicate an old or even a new SAP transaction can be quite time consuming.  While my functionality to create the Transfer Order from the material movement was quite simple, learning how SAP designed the transaction can be quite involved.  On the plus side, I learned quite a bit about material movements.  For those of you that care, the tables T156, T157 & T158 all help the material movements.  The transaction OMJJ has pretty much everything you need to configure anything in the material movement world.  I had to learn this because since there are hundreds of options for doing a material movement, in my limited experience I’ve probably only done about 15 or 20 of them total.  So I had to learn what values are needed for each of these.  In addition, there are always fields that appear or disappear depending on the movement type.  Table MIGO_CUST_FIELDS became invaluable because it shows what fields should appear by movement type.  It allowed me to keep my transaction very generic (only doing specific logic for a couple of movement types).  I also found there are movement types that can do almost anything, yet I don’t think they are often used.  So like any good application, I’m choosing to ignore those movements and add it to the documentation.  If a customer requests it, I’ll add it later =)

I just need to add the serialization piece and I’m ready to have another application out there.

Thanks for reading


Learning a New Skill – ABAP Web Dynpro

Just in case I didn’t have enough on my plate, I’ve decided to expand my skill set.  I want to start designing mobile applications for smartphones and tablets.  So the logical first step is get myself up to speed with the latest and greatest in SAP web design.  That’s ABAP web dynpro.  I didn’t just have this idea, in fact I had it almost a year ago, but I got side tracked, distracted, and just generally forgot about it.  Now with the advent of Javellin Solutions, I need to up my game.  Because of that, I just finished (well at least mostly finished) the ABAP Web Dynpro book from SAP.  Overall, it’s pretty good.  I would recommend it.  But I would also encourage you to have an end goal in mind.  At least for me, whenever reading a book like this, I need to try to apply it to whatever I’m going to do with it.  For me, it’s Broadsword & Rapier.  I want to convert both of those Web Dynpro.  Of course, the end result is to get me designing actual apps for the tablets.  My first big product in that space will be the field service apps.  I haven’t even started it (and I don’t have the first clue about applications design for smartphones or tablets) but I have a good plan.  First, apply this new skill to my existing applications while I learn to use it effectively, and deliver an even better product to my customers.  I’ll be posting more about this in the future…  but for today, I just wanted to encourage you to have a plan and always learn a new skill.  You never know when you might need it.

Thanks for reading

Backing Up Data – Learning the Hardway

Well, with any operation, making sure your data is properly backed is pretty important.  Since I love to learn things the hard way, I originally gave no thought at all this.  So in my last post I explained about some of the pain it took to install a simple SAP system.  Well, now envision that I spent the next 6 months beginning my development of my great idea (it would be Rapier, eventually).  One day, I was in between projects, so I was sitting in the living room, catching up on episodes of Lost, coding my BSP masterpiece.  I can’t really remember exactly how it happened, but my portable HDD suddenly started making a clicking sound, my system locked up, and suddenly, all of my work was gone.  The last 6 months of installing SAP, and design of my product gone.  I didn’t have another HDD, I didn’t have backups.  In my naive mind, I didn’t think a HDD would fail (keep in mind, I used to build computers for myself in college, so I should know better).  So…  I went back to square one (happily, I did take some notes on the installation, so instead of months, it took me 2 weeks.)  I redesigned a better BSP app, and learned a lot along the way.  That’s how i learned the first time.

Now…  how did I remedy my mistakes?  I implemented a couple of things.  First, I got myself a great big HDD and kept copies of my SAP systems and various other virtual systems, so I could quickly rebuild if I needed to (I still have those systems to this day, just in case).  The other thing I started to do was to save my SAP transports.  For those of you unfamiliar, as long as your STMS configuration is set up (and this can be a pain), every time you release a transport SAP saves 2 files.  The Data & Cofile can then be backed up somewhere else (I use dropbox so I can quickly get to them, and it keeps them in the cloud).  Then at anypoint, I can upload those transports into a clean system, giving me periodic code and configuration backups.  It doesn’t help if I have to recreate master data, but I have a different method to help me with that.

As a side note, I recently had another HDD fail.  This one less costly, but still painful because I realized I wasn’t backup up often enough, and I wasn’t saving the right things.  So what did I do?  I got myself another HDD, and I now backup my progress weekly (I also do this for all my files and pictures etc too).  In addition, I think I might also get Carbonite to give me everything at a remote location.  I need to figure out how I can have all of my SAP systems on Carbonite.  When I figure it out, I’ll let you know…

In the meantime, learn from me, not with me…  back your stuff up


Infrastructure – Setting up SAP on a budget

Well, for those of you that don’t know me that well, you’ll find I like to be as self sufficient as possible.  That tends to mean a lot of work and a lot of learning (when I first installed, it took more a couple months…  but I’ll save that for another time).  Today, I’d like to explain a little of how I went about setting up SAP, and some trouble shooting for those of you in a similar situation (and maybe you have some advise for me).

First of all, I’ve set my system up using VirtualBox from Oracle.  When I first started, I used VirtualServer from MS, but I quickly found it doesn’t work with Windows 7, and doesn’t play well for 64 bit operating systems.  So then I discovered Oracle’s tool, and I”ve been very pleased with it.  The functionality and usability seems much better.  Of course, you decide for yourself.  Now it may seem like a lot of work to set all of this up in a virtual environment, but let me tell you, it’s well worth it.  Since I still do consulting as my “day” job, I often have to travel.  Setting up a dedicated server and all of the infrastructure to go along with it can be expensive, and can be limiting.  In order to access it, you must have internet.  Since I’ve been doing this for roughly 6 years (I can’t believe it’s been that long), I often wanted to work in the airport or airplane. At that time, internet on a aircraft was very rare, even today, not all airplanes offer wi-fi.  So with my virtual system, I was able to get myself a big HDD (portable of course) that could just come with me anywhere.  Then I could just plug it, fire up the server, and continue developing.  the other thing it got me was freedom.  With virtualbox, I can create a save point anytime.  And for testing this invaluable…  Now I can create a system, and a whole bunch of configuration and master data.  Save that snapshot…  install my applications, and if it doesn’t work, I simply roll back and install the latest version like nothing ever happened.  It also allows me to create a unique system for each customer if needed.  So if I do custom development unique to one customer, I can have their own system and configuration saved in it’s own box.    I can go on and on…  but the short story is for someone just starting out, this environment has been awesome for me.

Next time, I’ll go into more details of what you’ll need…

Thanks for reading



Select-Option in OO class

Here’s part 2 of my adventure with SELECT-OPTION. Now one of the cool things that SAP did was to move to an OO programming method. However, since I got very used to SAP forms, functions and programs, I keep finding things that aren’t as easy to do with classes. SELECT-OPTION for example.
Now, what I really wanted to do was to send the select option table into a global class, so I could use it select statements and other table functions. Sounds easy, right? Well, actually it is, once you figure out how to do it.
It turns out, all you need to do is create a global structure/table type that woks as a select-option. The new trick that I learned is that there is a special function in SE11 when creating a table type that allows you to create it as a select-option table.
All you need to do is go into SE11, enter in the name of the table type, select TABLE TYPE as the object to create. Once you are in SE11, Enter in the short text, then go to the menu: edit–>Define as Ranges Table Type. This changes the inputs you’re given for creating the table type.
Enter in the data Element (MATNR for example), then enter in the name of the structure you want to create, and press create. It will automatically create the fields for your SELECT-OPTION range.
Save and activate everything. Now all you need to do is enter it into the parameter for your public class and you’re ready to go.
One last point, don’t forget when calling the class, to send it in as a table…

SELECT-OPTION: matnr FOR mara-matnr.

call method XXXX (
IT_SO_MATNR = matnr )

Anyway, that’s one of my recent discoveries. I’m learning a lot about layouts and trees currently, so there will probably be a post about some of those tricks as well.
Thanks for reading,

Moving Past Consulting

Well, I’ve talked a lot about my history, I guess it’s time to start talking about where I want to go. While I am still consulting, my real focus has been launching SAP applications that I can sell. In this past year, I’ve got Rapier SAP certified, but I’m still struggling with the marketing aspect. Sales hasn’t been my strong point, so things are moving slower than I’d prefer. There are so many things to do in order to start sales & marketing for a product. First and foremost, is finding potential customers. For that I’ve taken multiple approaches. The first step I took was to actually purchase a list of contacts that use SAP. This isn’t as easy as it would seem. First, there aren’t a ton of companies out there selling contact information like that. Second, who knows how accurate it even is. Third, the contact names you get… well, let’s just say I’ve learned to be a lot more specific in what I request for the future.
The company I used was called SAP User List. I ended up buying almost 1600 contacts, and it was roughly $.55/name. What I didn’t know is that I was getting a lot of names from the same company, and many of the companies weren’t in industries that would use my product. The biggest take away from buying the list was to be very specific. I originally said I wanted everyone in the NC/SC, and all companies less than $100 million. What I needed to focus on was the position/job title. I really needed to find all of the service managers and IT managers out there. On the plus side, I was able to determine a lot of companies that use SAP. The next step, is to test the list that I received and see what kind of response I receive. Next time, I’ll talk about how I organized the list I received, as well as how I’m growing it to mine for other opportunities

Independence: Step 1

After spending a couple of years working for consulting companies and working with other independents, I realized that the only way to freedom was becoming an independent consultant. Several of my friends were independent, and they managed to show me just how easy it really is (see some of my previous posts for more explanation). So I went online, started my own company, and found my first contract. it was my first step to getting me to where I am now.

Moving into Consulting

My time spent doing implementations and then production support taught me a very important lesson. I have ADD when it comes to my career. I need constant change and constant challenge. So I decided to try consulting. I went to work for Deloitte for a year, and then SAP for a year as a consultant. During my time I quickly learned that flexibility was the key to be a good consultant. Being willing to jump in and debug an error, or help troubleshoot something in another area made me a better consultant every day. I found my passion in consulting, at least at that time.