If you live in my neck of the woods, please come see me on Friday, Oct 2 at the Carolina Speedway, for the Carolina Regional ASUG.
JaveLLin Solutions will be a sponsor, so come say hi to me at the table and let me know you have been reading my ramblings 🙂
Hope to see you there,
Now, I hesitate to post this, just because there is a lot of power in this. But like i learned in Spider-Man, with great power comes great responsibility. And besides, it’s already out there in SCN if you’re looking for it anyway. But I recently ran into an issue where I deleted something I didn’t mean to. it was my dev system, and I knew exactly what I needed to put back. But for some reason it was locked on the screen. I did my diligence to see if I could find a solution, and what I found was surprising… they said edit the table directly and put the info back in there. WHAT?!?
Well, it turns out that in SE16N, if you have debug authorization you can update a table. Rather easily I might add. here’s how:
1) Start ‘se16n’
2) Type ‘/h’ enter debug mode.
Write the variables in debug mode
Change their values ‘X’.
3) Press ‘F8’
it’s that easy. Sure enough, I was able to edit the table, put back the info I needed, and everything started working. This is a great tool for Z tables, but for anything else, I can only recommend the greatest of caution.
Thanks for reading,
Today I started my journey on the road to HANA. Let me tell you, the road to HANA in Hawaii is a lot prettier 🙂 but on the bright side, I’ve been able to do some things that I was told I couldn’t do. Now, please keep in mind, all of my current experiments are being performed on an EHP7 machine running on a HANA DB. I have no idea if any of this will apply to the new S/4 stuff. I’m sure I’ll find out soon enough.
Day 1. I was able to import all of my existing configuration transports into HANA with no issues. I was pretty excited about this, because initially I was told this can’t work. Needless to say, I was skeptical, and since I’m running a virtual machine anyway, what’s the worst that can happen 🙂
With my configuration in place, the next step was to begin creating master data. A lot of my master data is done using GUI Scripting. So, hurdle 2 was to determine if my gui scripts would work in the new system, and would I have to completely rewrite them?
Well, I’m pleased to report, so far, so good. The GUI scripts I’ve tried are working great. I was able to turn on the same configuration and the scripting fired off just like in the other systems.
So far, HANA is an awful lot like my old EHP4/EHP5 system. Which is good news for me 🙂 I’m sure there will be more to come,
Thanks for reading,
Well, in my “custom” environment, I often end up doing things that a normal SAP installation wouldn’t do on a regular basis. One of those things is move transports from system to system (that aren’t connected together). So one of my common tasks is importing a transport. Well, I was testing on my new HANA box, and the first transport I attempted to upload ran into the following error:
Transport control program tp ended with error code 0200
First of all, don’t forget to give full privileges to the SAP directory and the sub directories. Otherwise, you are likely to get a permission denied error. If this doesn’t do the trick, then read on.
Lucky for me, someone else already had this issue, so I was able to run a quick search and find that a background process wasn’t running. So if you run into this same issue, go to SE38 and run the following program:
It will kick off the job you need to import transports.
Well, I’m excited to say that I have a HANA system, granted it empty, no configuration, no code, no data. Sadly, this is what I asked for, so I could experiment with it. For my first go-around, I’ve built an EHP7 machine on HANA. It’s been a learning experience to say the least. So far, in my initial digging, the system really doesn’t look any different from my EHP7 machine. The configuration looks the same, even the tables I deal with look the same. So my first experiment will be to see what happens if I try to import my old transports into the system. I’ve been told by a basis consultant that this won’t work. But many of you know me… I have to see this for myself. Eventually, I’ll build another HANA system that will export configuration, data & code to be migrated into the HANA DB, but initially, I want to see what will happen. The nice thing about a Virtual Machine is that if I screw things up, I just revert back to the last snapshot, and I’ll I’ve lost is a little time 🙂
Now, my issues currently aren’t around HANA itself, but around the infrastructure I will have to start paying. First off, Suse (Linux for SAP), I’ll need to purchase a subscription of this in order to get updates. One of the things I learned is that HANA seems to be directly connected to the operating system. While previous versions really didn’t care what version of windows I was on, or what updates had been applied, apparently HANA updates require OS updates. And Suse requires a subscription for those… It looks like it might be $700/year, or maybe $1500/year… the website is vague, so I’m keeping my fingers crossed.
The next hurdle is VMWare. I’ve lived and died by VirtualBox for all my previous systems, and it’s worked great (and it’s free). Now, in order to cut out the additional overhead of the OS on the server, I’ve had to switch to VMWare. This will likely run me another $500 – $800 (I’m hoping that’s not yearly). so keeping a HANA system running for a small business is far from cheap. Granted, I’m still guessing this will be cheaper than doing a web server or something similar. Because, i’d likely need to purchase the same licenses to use it anyway.
More to come as I start getting into the system… but I’m getting closer.
Thanks for reading,
I can’t count the number of times I’ve asked myself this very question. I had the initial idea of my software around 9 years ago. Granted, it’s taken quite a while to bring it into reality, but it’s been a long road. If any of you are entrepreneurs out there, I’m guessing you’ve experienced the exact same thing. You work the long hours, the spend precious money, all trying to make this dream a reality. But inevitably, we all hit the wall sometimes. And when I hit the wall, I often find myself wondering if my idea was just flawed… or am I just on the brink of wild success. So the question is, how do you know?
I wish I had an answer to that. My consulting business has certainly reaped the benefits of my software business. For example, much of what I’ve done with this blog, my website and my e-books was done to help gain attention for my applications. But I’ve been lucky in the fact that my consulting arm of the business has done incredibly well over the past few years. The only problem with this is that I want to be an entrepreneur, not a contractor. If you are unfamiliar with the difference, one of my favorite podcasters, Jack Spirko, summed it pretty well. If you are paid hourly, if the business stops when you stop, if you only get paid when you work… you are a contractor. A real business is something that pays you even when you aren’t working, and ideally will grow way beyond you, giving you the chance to work yourself out of the business. That’s where I want to be.
Everything takes time, and I keep reading that so many of the big breakthroughs came after pushing just a little further. These stories are inspirational, motivational, and helpful. But, what if your idea just isn’t meant to be? I don’t say that in a fatalistic way, but in a realistic way. What if the market you are trying to sell to doesn’t exist? what if the business model was wrong from the beginning? How much time and money do you continue to “invest”? When is it best to walk away and find a better business to pursue?
So many questions… and I guess only time will tell. If any of you out there know the answers, I’d love to hear it.
Thanks for reading,
If you’re anything like me, you find yourself always behind in what you should accomplish. Do you go into the office every day, see a stack of purchase reqs that need to be ordered? emails that need a response? work orders that need to be scheduled? all the while, people keep stopping in your office to ask for help, or some other needs that require your immediate attention?
How do you ever get out of the shadow of the mountain? Now it’s easy to say “just ignore the little stuff”, but when you are responsible for the little stuff, you can ignore it. You might be able to delegate some of it, but then you have to find the person and the time to train them to do it. So where are you supposed to get that time from?
Well, your only real option sometimes is to make the time. But how do you make the time when you are already working 60 hours, the family never sees you, and you are still falling behind?
Now, more people is rarely an option in our age of “less is more”. You need to leverage all your people as best as you can. That means you may need to let some things slide for a couple hours, spend the time training someone else to do the small things. Delegation is your only hope. No one person can do it all. Take advantage of the skills of the people around you. It will cost you some time at the front end, but give you a lot back in the long run.
Thanks for reading,
I recently had one of my programming friends teach me something. He showed me how to use the interface to help me design my free trial software. Now, it’s funny because the whole idea of inheritance is familiar to me. I’ve done programming in Java and other OO langauages, so needless to say, I felt pretty “simple” when the concept was explained to me.
Now, with my products, in order to be able to provide a free trial, without giving away everything, I broke up the code into 2 pieces, common code, and Full version. Well, in my first pass, I just created 2 classes with the same methods, one for free, one for full. I tested it out, and it worked great. Now the drawback of this approach is remembering all of the places in the code that I needed to update from FREE to FULL when I would package up the software.
The interface solves that problem. Thanks to some creativity from my friend Edward, he showed me how to contain all the code in an interface, then using a table entry, I can define if it pulls the FULL version, or just the free version. It’s very slick.
If you aren’t familair, it’s really just creating another class. The difference is that in the interface, it’s only the method definitions. No code. Then you create the class (for me, it was the common or free class). I attach the interface, then add the code into the methods that should work for FREE, and either leave the other empty, or add some message code. Then you do the same thing for the Full version. This time you redefine the methods that are available only in the full version. Using inheritance and interfaces, I was able to cut the manual work down to a table entry. Everything else takes care of itself.
Now, I have one more tool at my disposal.
Thanks for reading,
If you live with me here in the states, you know that today is a national holiday. It’s supposed to be about honoring the workers in our nation. Well, today means a lot more to me because it happens to be my little boy’s 5th birthday. It’s lucky for me this year, that I get the spend the whole day with him. So, I’m very thankful for Labor Day.
What about you? what you going to do with this day of rest? enjoy it with friends? relax? have a BBQ, or for my friends in MN, enjoy the last day of the state fair. Well, whatever you do, enjoy. Tomorrow will be back to the old grind for most of us.
Happy Labor Day,
I recently ran into another test. I’ve seen this error before, but never paid much attention to it. The scenario is that you have a service order, you enter in planned time and you get the following error:
Number of capacities in activity exceeds capacities in work center
No operating time entered for the work center.
Even though you can see that planned time was entered in the order for the operation. Well, what I found is that if the capacity within the operation is not maintained, the service order see that as Zero capacity, so nothing can be entered against it. Lucky for us, the solution is simple. Maintain the capacity in the work center and everything is fine.
TXN: CR02 and go to teh capacities tab:
press the capacity header
Populate this screen. The info doesn’t need to perfect, but it does need to be there.
Thanks for reading,