Basis – Debug Authorization

Here’s another chance for me to add to my notebook.  Adding debug authorization is a trick I often have to do in my development projects.

When you have your own system, one of the first things to figure out is how can I get the authorization to debug a program, or in my case a Web Dynpro application.  Now, you can certainly assign yourself the role of SAP_ALL.  But what happens when you want to test with a real user???  Well, you need to narrow down that Authorization.

So, simply add this authorization:
S_DEVELOP
Then fill in the following attributes…
OBJTYP: DEBUG
ACTIVITY: 1 & 2 & 3

I know, not really exciting, but I never know if it might help you…  it certainly is something I’ve used multiple times.

 

Service Management – Equipment History and how to get it

Well, I recently started helping a new client to revisit their current service processes across multiple organizations.  My first observation with all of their processes is that in many places things are disconnected because they aren’t using some of the functionality that is native to SAP.  This made me wonder, are there other places that aren’t connecting things in the system?  So I thought I’d do a post on serial number / Equipment history.  I think there will be follow on for connecting other documents later 🙂

So, on with the show.  the serial number history is an amazing resource, but only if you use the serial number properly.  If you are using standard SAP, in your equipment record there is a tab called serdata.  This magical tab is by far my favorite on the equipment record.  it gives you the material, serial number, if it’s currently in stock and of course the history button:

Now this is a sample history of a single serial number.  This becomes invaluable because if you look at the legend that included in this screenshot, you’ll see a huge list of documents that will be shown in the history, but only if you add the serial number to them.

Some of the biggest culprits are the SD delivery, especially if you do in-house repairs.  if you don’t add the serial number to the inbound delivery, it won’t show up anywhere in the document chain.  You can manually add it to the SD repair sales order (using the menu extras->technical objects), then even the sales order will show it.  Now, keep in mind, your serial number profile will define where the serial number is allowed and where it is required.  I’ll be doing a post soon talking about the serial number profile to give you more details.  the important detail to take away from today’s post is that everywhere you can put a serial number you should.  If you include it in a document, it will show up in the history and give you a complete picture of everywhere the number has been used.

This will be an ongoing post with more details, so don’t be upset that I’m keeping this kind of vague…  have to start somewhere 🙂

Service Management – Equipment Status and What it Means.

I’ve come to realize that I haven’t talked much about a very important aspect of service management, that’s serial numbers.  If you haven’t checked out my SDN post on the serial number profile, I recommend it.  It will help you understand this coming post even better.  Today I wanted to continue talking about the serial numbers, but today I want to focus on the system status’ you will encounter and what they mean to you.  Like everything in SAP, there are a lot of possible status’ out there, but I’m going to concentrate on the common ones you will see, and the some of the headaches you may encounter because of them.  Here’s the most common equipment status you’ll encounter:

  • AVLB:  This is the easiest one to deal with, but the least informative.  This status is pretty much the same as saying I exist, but I don’t know where.  If you have the status AVLB, then you use it in scenarios from or to the customer.  Typically this status is assigned if you manually (or in mass) create the equipment record and it hasn’t been assigned to anything yet.
  • ECUS:  This means that the equipment is at the customer.  If this status has been assigned, then you won’t be able to use it for outbound deliveries, or material movements (at least if you have stock checking turned on).  The only thing you can do with this status is an inbound delivery or Lock it.  You may also see this status combined with EDEL (which means that it is customer owned and on a delivery).
  • ESTO: This means that the equipment is in stock at your facility.  it could be any plant or location, but it is now in stock, and you can no longer perform an inbound delivery, but you can do material movements on the serial number and you can do an outbound delivery.
  • EDEL:  This means that it is on a delivery.  If you have an open delivery that has not been PGI’d or PGR’d, then you will see this status with either ECUS or ESTO (which will tell you if it’s an inbound or outbound delivery).  This can be a particularly nasty status.  I’ve seen many instances where deletion of a delivery does not always reset this status.  (Next post I’ll talk about how to fix things that get messed up).
  • ELOK:  This is the same as marking the equipment for deletion.  Once you set this status you can’t do anything with the serial number.  If you need it, you can unlock it again, but as long as this status exist, the serial might as well NOT exist =)

I hope this helps explain the status’ a little better on the equipment.  Next time I’ll explain how you fix the status when SAP gets “Confused”.  ha ha ha.

 

Web Dynpro – Learning to Control the Web Dynpro Layout

Well, last night was spent on playing with the layout to attempt to make the new views in Web Dynpro look the same as the BSP views I generated so long ago.  So, what have I learned so far.  Web Dynpro layout can be a royal pain…

1.  Transparent_Container – so far this has become my best friend.  it allows you to group certain elements and apply whatever formatting you need just for those elements.  Plus you can embed the containers inside of other containers, so using this feature has finally allowed me to start reproducing the look and feel I was hoping to get.

2.  Text_View – this is “so far” the best option I’ve found for titles.  What I don’t like about it is the limited number of formats you can apply.  So this means you can’t directly control the font/size.  From my google research, this appears to work as designed, so you just have to accept.  Now I have seen mentioned to the formatted text view, but I have yet to try this.  I’m sure that will come up in my experiments soon 🙂

3.  Attributes inside of any container are very powerful, but you need to play with them to truly understand how they work.  For example, stretching an element will only behave how you expect it if the container above it is also stretched to accommodate the entire screen.  This may have to do with the inherit value, but again… I’m still learning this 🙂

4.  Grid Layout vs. Flow Layout vs. Matrix vs. Row layout.  This is still a little nebulous for me.  I’ve got down the flow logic and grid logic, but haven’t quite figured out when to use row layout or matrix layout…  so I’ll continue to experiment on this.  However, Flow layout will just keep adding objects to the row until it runs out of space, and start a new row.  Grid layout lets you select the number of columns for each row, and it will place an element into each column, then start a new row.

Well, that’s my AWDP tidbit for the day,  I hope that my fumbling might make your life easier in the future 🙂

Web Dynpro – Using the Code Wizard

Well, I believe I mentioned it in a previous post, but I’m still struggling with the differences between BSP and Web Dynpro.  AWDP is a fun tool, and I like it the more I get into it, the learning curve is still killing me 🙂  Today the Code Wizard is one of my recent discoveries.

For example, I figured out the whole context model, why you do it, etc.  But I had a hell of a time figuring out how to get the value into or out of the context variables I created.  I finally discovered the Web Dynpro Code Wizard…  which, with a few clicks, generated all of the code I needed to read or set the context node.  So simple, yet I hunted on-line for an hour, and eventually found it in the ABAP Web Dynpro book I purchased.

It turns out, you click the wizard button, select the node you want to work with, then tell it if you want to read it, set it, append it, etc…  hit the green check mark.  And magically, all the code I needed was inserted into my method.  Who knew it could be that easy.  LOL.

Anyway, if you’re playing with AWDP, take advantage of the code wizard.  it won’t create your whole application, but it’s great at the little stuff =)

thanks for reading,

Mike

Basis – System License

I just discovered a very important, but very subtle thing.  SAP Hardware keys are case specific.  In order to use the system license, you need to enter it in correctly.

While to most of you, this doesn’t mean anything.  I just spent the last hour trying to get into the system I’ve spent the last month building.  I finally discovered that the license I created for the system had a lower case ‘W’.  The Hardware key used an upper case ‘W’.  UGH!!!  Anyway, as soon as I requested a new key, used the SAP* user to get back into the system, then used txn:  SLICENSE, installed the new file from SAP…  everything was great.  So, learn from me, hardware keys are case specific 🙂

I know this is a simple one, but take it from me, it can be important,

Thanks for reading,

Mike

Web Dynpro – Dynamically Changing the Web page Title

Well, as I begin digging into my first ABAP Web Dynpro program, I”m slowly starting to figure out what is going on.  Expect some posts on AWDP in the future, since it’s now becoming my latest hobby =)  Today’s challenge was dynamically changing the web page title.

tip number 1.  If you want to change the title of the web page, you know the title that shows up on the tab of Windows Explorer, you can’t do this dynamically until you have Netweaver 7.02 or later.  If you have at least this basis release, you can use the following command:

  wd_this->wd_get_api( )->get_component( )->get_application( )->set_window_title( wd_this->lv_title ).

Now the bad news is that if you don’t have 7.02 or later, you can only change it in the application description.

So, I just need to start tracking these little tidbits as I go.  As always, I’m learning things the hard way so you don’t have to.

Thanks for reading,

Mike

Service Management – Equipment Vs Functional Locations

I recently got a question on my linked-in account about the difference between Equipment Records & Functional Locations.  So I figured, what better way to answer it than to post it on the blog so everyone can see it :).  And it gives me an idea of what to write about, which some days is easier than others.  So equipment vs functional locations.

So, onto the question.  An Equipment Record and a Functional Location are very similar as far as SAP functionality.  They can both do pretty much all the same things, hold the same data etc.  The difference between these items is really more fundamental in terms of what they represent.

Equipment:  this is typically any piece of equipment, say an Iphone, a printer, a laptop.  They can be anywhere, with anyone etc.  Typically serialized, etc.

Functional Location: This is typically more of a permanent structure.  For example, this may be a punch press machine, a central office for your cable company etc.  A functional location is just that, a fixed location.  It can often contain equipment records (especially in the case of a central office, there may be racks, switching devices, fiber optic routers, etc.).  In my experience, I tend to see FL’s used much more in plant maintenance for items that are fixed in the plant.

If anyone cares to comment further, please add it to the post.

Thanks for reading, and please keep shooting me questions,

Mike

Variant Configuration – Using the Save Temporary

I’ve been spending a lot of time lately doing VC related stuff, which I’m sure you’ve guessed by my posts =)  My latest discovery has been the save temporary when you are inside of CU50 or a sales document.  This functionality allows you take a configuration you’ve entered, and copy the whole thing into another order, or another CU50 screen.  Rather handy, especially if you’re dealing with large models like I have been lately.

Now, the functionality is a bit temperamental, at least on the system that I’ve been working on, so if you haven’t used it before, here are something to keep in mind.

1.  When you save the configuration, I recommend going right back to display it.  Just to make sure it really saved a copy (I use the save as variation, so I can tell what I’m copying).

2.  After you create your saved configuration, save your quote or sales order.  It doesn’t seem to keep your saved copy, unless you save the document you were working in.

3.  Be sure the KMAT’s match, or you won’t see your saved configuration.

4.  I can’t really tell how long the saved configurations will last.  It seems to only stick around long enough to add it to a single document (now if you have multiple lines on a quote for example, you’ll be able to add it to all those lines).  But it seems that upon saving whatever you copied it to, the saved configuration is gone.  I guess that’s why it’s temporary 🙂

In any event, don’t be surprised if you need to go back to the original document you want to copy from multiple times before you get it “just right”.  And as always, if anyone can give me some better ideas of how to use this, please comment.  I love to learn new tricks 🙂
thanks for reading,

Mike

Variant Configuration – Using the Interface Design

Well, much of my consulting life has revolved around the Variant Configuration interface design functionality.  While, I’ll be the first to admit, that I am extremely happy it now exists (life was a lot uglier back in 3.0F when it wasn’t there).  I am very annoyed with the lack of functionality.  Take my current mission.  I’m working with a very large model (400+ characteristics) and i”m trying to arrange it into a more useful structure.  This can only be done with the interface design, especially since I’m using the class hierarchy to inherit cstics (I have at least 2-3 levels in every class).

So, what I’ve done is using a combination of tabs and sequence, I’ve arranged the cstics the way I want them.  This is great.  What sucks is that it took me a couple of days to do it.  Mainly because of some missing functionality.  Part of this post is a call for help if you know a better way to handle it :).

1.  There is no way to search for a specific characteristic when building the interface design.  You have to page through until you find it.
2.  When you get the cstics onto the design, you can only select and move one characteristic at a time.  this causes me headaches when I want to move 4 cstics a few pages up, I have to do them 1 at a time.

3.  if I’ve used a cstic in another interface design (like a tab for example), I still see the characteristic in my list for the sequence.  So I have to remember that it’s been used elsewhere.  Not the end of the world, but still a hassle.

One little thing I have found is that if you use the class hierarchy, the interface will at least list them by class (now the order you’ll have to figure out), but everything for one class will be listed, then the next class, and so on.

So, this has been my little venting on the interface design.  I hope someone can comment on something I missed 🙂

Thanks for reading.

Mike

Posts navigation

1 2 3 82 83 84 85 86 87 88 96 97 98
Scroll to top