SAP Exit for PA30

I recently had to write a small exit for HR that would set certain default values, and then make sure that each group could only be selected from once. Below is the ABAP code that I used to accomplish this small task (inside tcode CMODE, by drilling down).

New Features in Windows XP

I know that Windows 7 will be available for retail sale in a few days, but my company is still using Window XP. And, unfrotunately, many people are still limiting themseleves to skills that they learned with Windows 95 and NT.

We have countless people who use the Windows desktop as their main storage location. The desktop is where they store documents, links and even small programs. The problem with this is that once the desktop gets full it gets hard to find what find anything. So, to resolve that problem people organize their desktop icons. And, that works great until the user logs in to a PC with a smaller resolution screen, then all the icons get rearranged. To solve this problem our users found a nice little third party application.

Napoleon was the 'Son of the Revolution'

Please don't plagiarize my work, your instructor will know. If you can find it, so can he/she (I can see by looking at the logs for my site). Thanks.

If the life and career of Napoleon Bonaparte is examined in a vacuum, then it would certainly appear that he was a demagogue and dictator who simply imposed his will upon subjected peoples. But, it would be naïve to judge this great leader without considering the world around him, the events that led up to his rule, and the ultimate effects of his decisions. In light of those circumstances it is reasonable to assert that Napoleon was the “son of the Revolution”, and that he liberated Europeans from reactionary and monarchical rule.

Napoleon started at the lowest possible rung on the ladder where his ascension to greatness would still be possible. If he were any lower in the socio-economic system then he would have not been able to obtain the education necessary to achieve greatness. His rise to power is equivalent to what we call the “American Dream”, and his actions show that he understood the importance of this sort of meritocracy. Napoleon is often quoted as saying, “La carrière ouverte aux talents", which roughly means “careers open to the talented.” And, his rule certainly spread this sort of republican ideology that was ingrained in the French revolution.

Imitation Christmas Ale 2009

Almost three months ago I brewed up another batch of my Imitation Christmas Ale, and I forgot to write a post about it. But, since that batch is long gone I am considering brewing up another batch and thought that it would be a good time to write up the revised recipe.

I am definitely getting better at this recipe, and this version is much closer to my target, but I still have some things I would like to improve. I would like to add a little more spice flavor and bitterness, so in the next batch I am considering adding some spices and hops to the secondary. Also, the bottled brew was barely carbonated, but the taste was still good. It could probably use a little more time to age. But, as any brewer knows, it is hard to keep yours hands off of beer in the bottle.

The beer was best served at around 50 degrees, and tasted great at cellar temperatures. It did exhibit chill haze (and loss of flavor) at refrigerator temperatures. This would be a good brew to drink on a cold winter day.

The recipe is after the jump.

OG: 1.088
FG: 1.022
ABV: 8.65 %
IBU's: 30.02
Calories: 288

Volume: 5 Gallons
Color:   10.0 SRM

Primary: 5 days @ 70°F
Secondary: 10 days @ 70°F
Aging: 14 days @ 72°F

Grains & Adjuncts
1.00 lbs Caramel/Crystal Malt - 20L
1.00 lbs Honey
1.00 lbs Honey Malt
3.00 lbs Extra Light Dry Extract
3.30 lbs Muntons ME Light
2.00 lbs Amber Dry Extract

0.25 ozs Cascade - 45 mins
0.50 ozs Cascade (leaf) - 45 mins
1.00 ozs Williamette (leaf) - 45 mins
1.00 ozs Williamette (leaf) - 15 mins
0.50 ozs Cascade (leaf) - 15 mins

1.0 pkg American Ale - Wyeast Labs 1056

0.50 oz Cinnamon Stick - 15 mins / Boil
0.25 oz Clove, whole - 15 mins / Boil

(I used iBrewMaster for the iPhone to record this data)

SAP Quick Cut and Paste

I recently had a user call and ask why he couldn’t copy and paste properly inside of SAP, it was working properly outside of SAP. So, I took a look at his problem and saw that everytime he highlighted some text it would automatically unhighlight itself. After looking through some of his settings I noticed that he had “quick cut and paste” enabled.

To change this setting you must click the “Customize Local Layout” button on the toolbar, and the check or uncheck “Quick Cut and Paste.”

This copies text as soon as you highlight it and helps with areas where you would normally have to use Ctrl-y prior to copying. But, it causes some unexpected behavior in areas where you would normally not have to use Ctrl-y. I recomend that if you are in an area of the system where Ctrl-y is necessary a lot that you turn it on, but turn it back off when you are done.

Multi-line ABAP Comments

In ABAP there is no multi-line comment delimiter, and even the single line comment delimiter is somewhat confusing. If you type an asterisk (‘*’) in the first character of the line, then that line is considered a comment. If you want to place a comment after some code on a line, then you must use a double quotation mark (‘”’).

The only practical way to write ABAP code is inside of SAP itself, and the ABAP editor provides a “better” way to do multi-line comments. In the ABAP editor you can create mult-line comments by highlighting a block of text and using “comment” option in the right-click menu. Though all this really does is turn every selected line into a single line comment.

Local SAP Printing

With our SAP installation we have many printers defined all over the world, but sometimes we don't want to print to a real printer. Especially in IT, we can do a lot of prints to test things, and it is much more environmentally friendly (and cheaper) to print to an electronic file. For our installation there is only one way to do this, using the local SAP print daemon.

We have a specially configured printer named LOCL that will print to the default printer on the local computer using the local SAPLPD. And this is great until you need to print barcodes, there is a problem rendering them correctly probably due to the fonts. To get around this problem we also have a local post script printing option, but it is not very well known.

Instead of using the printer LOCL, we use the printer LOCO (LOCL_PS in the test systems). There is a catch to using this printer, which is probably why it isn't used more often. You must have a local printer set up with the name SAP_POST (SAP_PS for the test systems) that is configured to print to file. When you request a print on LOCO the local SAP line printer daemon searches for the SAP_POST printer and then sends postscript output to it. The system asks you for a file name, and voila, you have a post script file.

Of course the next problem is what to do with the post script file. To view it I installed Ghostscript and GhostView. And that works well for me. But, when other people need to view these outputs I have to assume that they do not have any postscript viewer installed. So, from inside of GhostView I print the label to PDF.

And that is the simplest method I have found for generating PDF output of prints containing special items such as barcodes.

iPhone Brewing App

This weekend I was planning for my next batch of Odinzale, and I decided that I would check the iPhone app store again for a good brewing application. As luck would have it I found two.

Brew Pal

The first application I found is called Brew Pal (iTunes). This application has a ton of features, most importantly is the ability to create recipes. It allows you to enter all your grains, hops, yeast, and other adjuncts and then it automatically calculates gravities, color, bitterness, and more. Each item type is on a sepperate screen, and it does not allow you to add your own ingredients. While the list is fairly comprehensive, I couldn’t add Honey in a way that impact the original gravity.

Brew Pal also has many useful brewing tools, such as carbonation table, flavor estimator, color estimator, hydrometer calculator, and refractometer calculator. And, the tool that I liked the most, the beer style guides. It also has brewing timers and a feature to email recipe information as a very nicely formatted email. Though the email function is clunky. You must enter your email address into the setup area, and then the email is mailed to you from someplace outside of your iPhone or iPod.

But, I found the interface to be gimmicky and prone to many small glitches. Sometimes the list items would have icons for deleting, and other times they wouldn’t. The list themselves also acted strangely sometimes. Even though I wasn’t crazy about the interface, the tools that it made available made me feel as if my $.99 wasn’t wasted.


The second application that I found is called iBrewMaster (iTunes). The first thing that I noticed was that iBrewMaster’s interface appears to be much more “standard”, and just less clunky. The next difference I noticed was the efficiency of the workflow.

Though the basic concept is the same, the operation of iBrewMaster is a little different than that of Brew Pal. With iBrewMaster you either choose one of the pre-loaded recipes (pictured on the right) or enter your own recipe and then create batches. I like the ability to track the recipe batch from beginning to end, and it would be especially helpful for those that might have multiple batches at various stages.

I started by adding my recipe for imitation Christmas Ale, and I found the interface to be much more streamlined and intuitive than that of Brew Pal. There is a list of all your recipes, and when you wish to add another you click edit and then add a recipe. On the edit screen you can easily change the header information and add, modify or delete components of the recipe. The developer, Joe Cannici, managed to cram a lot of information and editing ability into a small area. It helps you see the complete recipe very quickly