Feedback – Don’t be Afraid of it

On my vacation, I had a chance to do a lot self reflection.  One of thing I recently learned is that despite my best efforts, I still have a dominating feel of rejection.  Looking at it in an objective light, it’s completely irrational, however logic doesn’t always rule our thoughts, now does it?

I’ve spent nearly 6 years building infrastructure, building my first product, refining my first product…  and NOT selling my first product.  Is there anything wrong with my product, did I not build a good enough item?  or have I subconsciously spent all my time building, rather than marketing?  Now don’t get me wrong, I’m no marketing genius, but I’m realizing that I didn’t invest in marketing my grand idea because I was afraid it wasn’t good enough.  I was afraid people wouldn’t like it, would tell me it looks like crap…  you get the idea =)

What I came to realize is that fear stood in my way for long enough.  Don’t get me wrong.  Development is far easier to me, and more interesting, but development doesn’t pay the bills.  Sales and Marketing is the only way to make my business work.  So now my number one goal needs to be sales and marketing.  The bad news is that means development needs to take a backseat for a while.  So don’t be surprised to see more posts on Adwords, email campaigns, or any other marketing system I can figure out =)

Today’s lesson to walk away with, is believe in yourself.  Believe in your ideas.  Feedback is the best way to improve an idea.  Even “negative” feedback can make your ideas stronger.  Don’t be afraid of it…  seek it out…  It’s what I’m attempting right now =)

Thanks for reading.

 

Variant Configuration – Mixing Constraints and Procedures

Well, I recently ran into a glitch that forced me to do some investigating, so I figured I’d post it here.  For my VC guru’s out there, you already know this, but obviously, I forgot =)  The order of execution tends to be very important, especially when you mix constraints and procedures.  Let me start by laying out what I found, so it might make more sense to you.
I have a model that is primarily driven by constraints.  I’m heavily using variant tables in order to restrict my values.  There are also a handful of reference characteristics, along with some procedures to set things as INVISIBLE or NOENTRY, or setting defaults.  Now, everything worked just fine in CU50, but as soon as we started sales order testing, we started running into issues with the INVISIBLE characteristics (dynamic of course) not working properly.
So, like any good modeler, I looked at my rules and they all seemed fine in CU50.  Therefore, I’m “SURE” it must have been a user error.  ha ha.  Then I took it to the sales order and found that indeed, it was broken.  So, I went back to my old friend, trace.  This is what lead me to this post =)  When you start looking at the detailed trace, you see that a LOT happens for a constraint, and unfortunately, it’s not always intuitive.  What I was happening was a value was being set, then unset, then the procedure ran (unfortunately, dependent on the value), and then finally it was set again.  So I did some homework…  and short story was that there really wasn’t any around this “behavior”. The reason it behaved differently in CU50 vs. VA01 is because we had to manually enter a value for the reference characteristics.  When you enter a value, the execution works a little different behind the scenes.  This is why the issue only shows up in the sales.

So, the solution we came up with was to move the INVISIBLE and NOENTRY to a constraint.  What this accomplished for us was to make sure that everything kept getting re-executed to get the proper behavior.  Now, this still won’t solve all the issues…  since you can’t use SET_DEFAULT, or SPECIFIED in a constraint.  This will force you to use procedures if you must use this functionality.

The morale of today’s story, try to as much as you can in either the constraint or the procedures.  The more you mix these 2 technologies, the more testing you should expect to do in the sales order.  Happy modeling =)

 

Getting on the same page

Well, it seems like I’m in a touchy feely place after my vacation, so I’m going to talk about another soft skill that I have to improve on.  Making sure you’re on the same page with expectations.  Now, this applies to all aspects of your life, but I’m going to talk about it from the perspective of my business.  If you’ve read my blog for any length of time, you realize that I have two sides of my business.  Paper Street Enterprises, which is my consulting business and JaveLLin Solutions which is my software business.  Right now, 90% of my revenue is from Paper Street.  But my goal is to have 100% from JaveLLin in the next couple of years.  In order to help me achieve that goal, I partnered up with a colleague and friend.

Now, I had been working the software aspect since 2006.  And if you’ve noticed the title, I’ve been learning things the hard way ever since (well, to be honest, I’ve been doing it all my life.  ha ha ha).  When I partnered up, I thought my life would get easier and in certain aspects it has.  For the first time I have someone to bounce ideas off of, someone to validate my crazy ideas and someone to share in the rather large expense of launching this endeavor.  Now, the challenge has been that my partner doesn’t bring in a lot of the skillsets we need, rather he brings a lot of what I already have.  This is a double edged sword.  We are both engineers, so we have a great problem solving mindset, but neither of us have any experience in sales or marketing (with the exception of us both being independent consultants we know how to sell ourselves).

So, what does this mean?  well, if you read my post yesterday, you know that I’m obsessive about this software business.  It also means I expect to everyone to live up to this same ethic.  My partner and I both have a family, both have young kids and both have a lot of stuff going on in life.  So that means we need to use our time wisely.  Any wasted effort can cost us weeks or even months in our dream to do JaveLLin full time.  The problem that I realized is that we’ve been playing it too fast and loose in our scheduling and priorities.

Initially, I thought implementing a CRM system would help…  but it really hasn’t.  So it’s on to the next idea.  I’ll talk again soon about how it’s going.  But phase one will be to document all the irons we currently have in the fire.  Once we have the list, we need to assign priorities, and approximate time/level of effort, and finally we need to divide up those tasks.  I currently am the only developer, so it’s very hard for me to step away from the ABAP side of things, however, I’ve come to realize that we need marketing more than anything.  Without the marketing, we don’t get leads, without leads, no sales, and without sales, all this effort is for nothing.  So…  that’s all for now.  I’m sure I’ll be blogging again soon about this =)

 

Managing Expectations – Both for yourself and for you partners

Well, if there’s one thing I came to realize during my vacation is that I have a strong tendency toward unrealistic expectations.  And I tend to have this problem for both myself and everyone around me.  In general, it can be very toxic.  Let me explain a little more about my “issue” and I hope you can treat this as a cautionary tale.

For those of you that know me personally, you know that I might be a “tad” on the driven side.  I work my ass off night after night for my dream of being able to focus solely on my software business.  I love doing it and I also want the ability to work almost exclusively from home so I can see my kids grow up and not be stuck on the road.  So, this drives me relentlessly, so that I work from the time the kids go to daycare until they come home.  Then as soon as they go to bed until I can no longer think straight, then I repeat this process, day after day.  Now, I’m realizing this might be borderline obsessive behavior.  Now it’s healthier than booze or gambling…  but potentially a problem.  However, the real problem I’ve discovered inside of myself is that I expect others to have this attitude.  It applies to both my personal and my professional life.

I often expect too much of my wife.  I expect her to have the same “motivation” as me, and when she doesn’t, or more to the point, doesn’t live up to my ideals, I get frustrated and withdrawn, and end up working even harder.  This isn’t fair to anyone.  I build up these expectations in my head, and it causes trouble in my life.  Now I’m noticing that I’m doing the same thing in my business life.  The really stupid part is that instead of talking about the issue, I just bury it and expect people to get better magically.

I guess realization is the first step to fixing the solutions…  step two is learning to express myself better in the first place.  So, learn from my mistakes…  keep your expectations realistic (for yourself and everyone in your life) and communicate those expectations.  Good luck

 

 

Service Management – How Many DIEN Materials do you need?

Now, it’s been a while since I’ve talked about SM, so i thought I’d pull one out of the archives.  Well, at least my archives =)  Now when you set up your service business business, one of the questions you always begin with is how many DIEN materials do you need to run your business?  Now there are the obvious ones:
Return and Repair
Field Service
Service ExchangeNow, you can even break this down further by warranty or some other breakdown your organization needs.  My person take is to avoid going any deeper than the level I have above.  The further down you break things at this level will likely lead to confusion/mistakes when entering in the orders/notifications.  I typically encourage any further breakdown to be handled at a level that can change (like the accounting indicator).  If you use warranty as an example, once this is on the sales order, it’s very difficult to reverse.  So I encourage you to keep things like that out of the “rough cut”.
Once you have the main processes defined, you need to take a look at the next level.  Now, this is the  parts where things become more convoluted is if you begin to use resource related billing.  Now the trick with resource related billing (RRB) is knowing what you need to report on.  One of these days I’ll go into more details on RRB, but before you can do that, you need to understand what your goals are.  Now you can go simple, and just say labor and materials.  But what about subcontract costs?  do you need to break out travel costs?  or maybe even certain materials (ROH’s vs. HALB’s).  Keep in mind that much of your design will be based on your customer needs, but some of it should be based on what you plan to track as a business as well.

The short story is to have a plan.  You can add more in the future, but in order to handle Resource Related billing, you really need to figure out this part first.  When I talk more about RRB you’ll understand why.

Thanks for reading.

 

Variant Configuration – Save Temporarily Revisited

An old friend of mine recently emailed me about how to get the Save Temporarily feature to work in a sales order.  It had been a while since I touched that feature of VC, so I had to go back and play with it.  I remember the Save Temporarily being very “touchy”, but today I found out it was even touchier than remembered.

I’m going to keep this short, but if anyone can give me more details on exactly how this works, I’d love to hear it.  What I discovered is that I can’t seem to make the Save Temporarily work, unless the sales order already exists.  So, let me walk you through the steps I used that finally worked.

1.  Create the new sales order.  Be sure to enter everything (including the KMAT you want to populate) and then save.
2.  Go to the sales order/CU50 screen with the configuration you want to copy and open it up.
3.  Use the menu path:  Value Assignment–>Save Temporarily–>Save as
4.  Enter in a name (remember, if you have multiple levels that need to be populated, you must do a save as for each nested KMAT)
4-a.  Not sure if this is needed, but I’ve got in the habit of Value Assignment–>Save Temporarily–>Overview, just to make sure it saved it.
5.  Save the sales order. (if you are copying from a sales order/line item).  I don’t know why this seems to make a difference, but it works.
6.  Go to VA02, go to the configuration of the item you want to configure.  Use the menu:  Value Assignment–>Save Temporarily–>Overview.  Select the one you want to copy.  It should be there.

I couldn’t make this work when i used VA01, so if anyone can speak to that, let me know.  Otherwise, this approach seems to work.  Hope this helps.

Thanks for reading.

Marketing – USP Revisited

Well, I’m back into the marketing world with a lot of my time, so bear with me.  I’ll get back to SAP again, but if you’ve been reading my stuff, you know that I wear a lot of hats.  Well, today I want to talk about the USP or Unique Selling Proposition.  Now I’m pretty sure I’ve talked about this before, but for everyone else, the USP is what makes you the go to guy or gal.  It’s what sets you apart from your competition.  It’s what makes you special.

Now you may be asking, “Mike, why do I care about that?”.  I know I would’ve been asking the same questions a year ago.  The answer is simple.  If you want to sell anything, and for you consultants out there this includes selling youself, you need to stand out.  Let’s use me as an example.  When interview for consulting positions, why should anyone want to hire me more than the other 10 people that applied for the position?  It’s simple.  I know Variant Configuration, Service Management and ABAP.  (SD too, but that one doesn’t stand out as much).  I’ve also been doing it for over 15 years.  Now, 15 years sounds great, but if you’ve been in the business long enough you’ve met consultants that supposedly have been doing “X” for 20 years, but what they haven’t explained is that they’ve been entering data into the “X” transaction as a user for 18 of those years, and for 2 years they got to play with configuration.  So to me, length of time isn’t my USP.  I focus on the fact that not only am I functional, but I’m very technical.  Again, you ask, “who cares?”  aren’t they looking for a BA or a functional consultant?  Yes…  but in the companies that I’ve worked for, typically the best people can debug ABAP and show the developer exactly what they want fixed.  It also instills a different mindset into the consultant.  If you know how things work behind the scenes, it makes you more efficient and more creative in your problem solving.  hence, why I use the functional and technical aspects of my personality to be my USP.So, ask yourself, what makes you special?

Now, the whole point behind why I’m talking about this is that I just recently read this in my Ultimate Guidebook to Google Adwords.  A completely independent source of where I originally heard this stuff.  So this tells me that it’s important.  When I start seeing the same “big” ideas coming for multiple places, it means that it’s worth looking into.

So if you haven’t already, start spending some time figuring out what makes you stand out from everyone else.  Then start formulate it into your own USP.  You may never use it to outright, but being able to answer that question in your head  gives you a great place to start when someone asks “Why should I hire you?”.

Thanks for reading.

 

Variant Configuration – Tables with Multiple Value Characteristics

Here’s a fun fact that I totally forgot about.  Tables can’t use multiple value characteristics.  If you attempt to assign a multiple value characteristics to a variant table, the table will work just fine, until you attempt to assign it to a selection condition, or inside of a an IF statement.  It’s been so long since I ever even thought about doing this that I struggled for over an hour trying to get a simple selection condition to compile.  (see my earlier post on if I’m too old school or not for more details).  So, for that reason, I thought I’d throw these little tidbits out there.

1.  If you need to use a multiple value characteristic inside of a table, be sure to create a single value copy of it to be used as the table key.  This will allow you to set values from a variant table.
2.  You can’t use multiple value characteristics as an assignment into a variant table for a “true or False” type scenario.  When I talk about True or False, I mean you can’t enter a table into an IF statement to see if the combo exists, and you can’t use that table in a selection condition or precondition, which also behave in a true or false fashion.

Now, I’ll only be on my soapbox for a second, but to me, this is just one more clue to keep it simple in the BOMs and routings for your selection conditions.  Let the configuration do all the heavy lifting.  That’s it… I’m done =)

Anyway, thanks for reading.

 

Variant Configuration – Restricting Characteristic Values

I realize today might be pretty obvious for a lot of you VC experts out there, but I wanted to talk about Restricting characteristic values.  To me, this is one of the coolest features in variant configuration.  If you are not familiar with the concept, restricting characteristic values gives you the ability to dynamically remove values that are no longer valid because of other selections.

In variant configuration, there are two techniques to accomplish restricting characteristic values.  You can use Preconditions or Constraints.  There are couple things to consider…  One, Preconditions are old technology.  They are typically only recommended as a “last resort”.  In my experience, the only use for preconditions is for multiple value characteristics.

Now, constraints are the best way to handle this in my opinion.  There are some prerequisites to use this.  First of all, the characteristics must be set as Restrictable.  If not, your values won’t dynamically appear/disappear, you’ll just get a red X when things are violated.  Now the first big advantage is that constraints can be set to work differently by product line (or class).

Now the next big thing in a constraint is how to restrict the values.  Now there is the “easy” method that you can manually set the values.  For example:

C.CHAR_1 IN (‘A’,’C’,’F’)  IF C.CHAR_A = 1,
C.CHAR_1 IN (‘X’,’Z’) IF C.CHAR_B = 2

Now, this method works fine, and will restrict the values of CHAR_1.  However, in my humble opinion, the better way to do it is to use a Table.

Table:
Char_A   CHAR_1
1                A
1               C
1               F
2              X
2              Z

Then, in the constraint, you can simple put in the table, and it can restrict things both ways.  Why is this important?  If you plan to push this configuration to your customers, you should never assume that they will answer the questions sequentially.  If you restrict things both ways (and the table is the easiest way), then regardless of what they answer, everything will be consistent.

Anyway, that’s the deal for today.  Hope you find it useful.

 

Material Master – View Level Access, how important is it to you?

While I’m the VC or the SM person on most of my projects, one of the things I’ve heard rather often is that the business wants to control who can access the material master by screen.  Now, I’ve heard that through security, you can provide field by field authorization restrictions.  Short story, nightmare for your security team.  No project that I’ve worked on has been willing to go down that path.  No, most companies I’ve worked for have “given up”.  They give people access to everything and use the honor system to make sure people only touch “their” data.

First question, does this sound familiar to you?  If so, I’d like to hear how you’ve overcome the issue.

Why am I asking?  we are actually working a little mini-app that creates a single transaction for each set of screens in the material master.  For example, the four MRP screens are 1 transaction,  Work Scheduling another, etc…  We’ve included a configuration screen so that you even hide all of the fields that you don’t care about.

http://javellinsolutions.com/products/material-master-advances-sap-material-master-applications/

What I’m trying to do is to get a pulse on the need for something like this before I invest too much time in it.  I confess, it’s not our most creative application or our most complex, but it seems like there’s a need for something like this.  So if you happen to have an opinion on whether or not I’m wasting my time, I’d love to hear from you.

Thanks for your input.

 

Posts navigation

1 2 3 71 72 73 74 75 76 77 96 97 98
Scroll to top