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

iPhone: Jailbreaking and Hacking

Earlier this week Ars Technica reported that Apple is claiming that jailbreaking iPhones could crash cell phone towers. Then, yesterday, security researchers reported that they could take control of iPhones via special SMS text messages. And, these two stories connected for me.

I haven't been able to find any details of the iPhone hack, but from what I gather the special SMS messages cannot be sent from a factory iPhone only from a jail broken one (or presumably a PC with an air card)

Maybe the reason that Apple has not patched this bug is that they are looking for this intersection. I would assume that though it might be technically possible to take out all iPhones in the world, the probability is low. I would imagine that if a carrier saw a patterned flood of text messages they would intervene. Assuming the real impact of this security hole is marginal, it might make it easier for Apple to convince the government that people should not be jail breaking the iPhone. The fear of hackers hijacking phones could also steer public opinion on jail breaking, making it easier to steer government. Most people don't know or care about baseband hacking, but no one wants their cell phone hacked into.

SAP Printed Label Sizes

Working for an international company may require setting a printer to print labels (or other types of paper) in multiple standard sizes (e.g. A4 and LETTER). This can be accomplished through SPAD in the tray configuration screen.

Because of limitations in SmartForms we have to take several steps when designing labels to allow output of multiple label sizes. All labels are initially designed in A4 format since it is longer than LETTER. In SPAD the alternate paper size, in our case LETTER, should be assigned to the first paper tray.

If the transaction SPAD is not available, due to security restrictions, then the tray assignments can be viewed using SE16. The table TSP03T shows the output device's tray assignments.

Creating a SAP Transport

SAP uses a three stage development cycle (at least where I work) which requires developers to make changes in the development system and then users to test the changes in the test system before they can be released into production. In order for changes to get from one system to the next a transport must be made. This post will detail the steps required to create a SAP transport.

The first step is opening the transport manager, which is transaction SE09, in the development system. On the selection screen enter the desired user name and click display. Then, you click on the new request button and choose either customizing or workbench. On the next screen we have special format that we use for the short description:

  • aa -- SR for helpdesk service request or CR for a project generated request 
  • nnnnnnnn -- The request number 
  • bb -- the system, LE for logistics execution, MM for material management, etc. 
  • d -- C for customizing or W for workbench 
  • ww -- the calendar week 
  • yy -- the year

Now we have a request number that can be entered after we save a change using SPRO (for customizing) or after we active an ABAP program or SmartForm.

After the change is assigned to the transport number we go back into SE09, click on the customizing or workbench task click the "Release directly" button (or hit F9). This will prompt to document you change. Once documenting is complete it must be saved. Next, click the request and click "Release directly" again. For programming changes a code review will be necessary, otherwise you will be taken directly to the project selection screen. There is a folder for each of the different SAP areas, and underneath those folders are more folders for the type of change, select the appropriate change type.

Now the transport is nearly ready. At our company we use the RealTech transport manager (transaction code /RTC/TM). Once in the transport manager the author name must be filled in, then hitting enter will open the transport workflow monitor. Items show up here every half hour. Once it shows up, highlighting the line and clicking the "Next status" button (down arrow) will move it to the signature queue. For our company we must now send an email to one of the people who are authorized to sign off on the change and they will release it.

The system will then transport the changes.

Comments (newest first)

SAP Program Manager
If you are using Solution Manager and CHARM then I recommend creating transports using CHARM. But nevertheless you can still create transports in STMS.

For regular traditional approach, I recommend that appropriate technical architects and Sr developers review tasks and objects under each transport, group the requests and approve to maintain a better integrity of your RICEF and config objects.

Which SmartForm is Used for a Message Type

It is possible to use SE16 to determine the name of a SmartForm form used by a specific message type. In SE16, view the table TNAPR and make your selection criteria. I normally pick my output type (KSCHL = ZLnn), and my application (KAPPL = V2 for Shipping or V6 for Handling Units). Once you hit F8, you will see the list of results. Under the column "Form name" (SFORM), you will see the name of the SmartForm used for the desired label or output type.

Comments (newest first)

Thanks, was very useful!