VC

Home / SAP / Archive by category "VC" (Page 8)

Variant Configuration – SSC Modeling Environment – Installing the local database

As promised, I wanted to talk talk about some of the challenges of installing the MS SQL Server local database for the Eclipse SSC modeling envirmonment (I know, I know…  it really is a mouthful).  I got so spoiled using Variant Configuration this whole time.  Everything was already there, aside for an OSS note or two for fine tuning.  Anyway, I ran into 2 glitches when installing the SQL database, and of course, it couldn’t connect to Eclipse.  If you haven’t checked out my previous post on installing the SSC modeling environment, check out my previous post.  So, after some online research, I figured out what I messed up.  there were 2 main things that needed to be done.  The first was the authentication.  I accepted the default of windows authentication…  mistake # 1.  If you fell for the same thing, here’s how to fix it…

Step on is to change the authentication of the server.  go to properties.

Make sure SQL Server is selected under authentication.

After you restart the database, then you can go to the user “sa” and activate it.

Set the password to whatever you like, then select the status section.

Be sure you have the user enabled.

Next up, you need to make sure the TCP/IP settings are working…  Go to the Sql Server Configuration Manager.

Navigate to the Protocols for MSSQLSERVER, and be sure to set the TCP/IP to enabled.

Then restart the server using services application.

Find the SQL Server service, shut it down, and the start it…

now if you go into Eclipse, it should connect to your db…

Best of luck…  I’ll be back again soon as I learn how to use modeling environment =)

 

Variant Configuration – SSC Stand Alone Installation

As promised, I finally figured out how to get the Solution Sales Configurator modeling environment installed (how’s that for a mouthful).  First off, I recommend getting the following document from Service.SAP.com.  IG_Soln_Sales_Config_102.pdf.  The SSC Stand alone installation can be a bit overwhelming at first, but if you follow the steps, it’s not too bad.  Of course, operating systems may cause issues (one of my colleagues using windows 8 had a lot of headaches)

this guide will help, but I’ll give you some inside scoops on how to get everything to work together.  So, you’ll need to download some stuff in order to make it all work.

Eclipse:  http://www.eclipse.org/downloads/I downloaded 4.2.2 Classic

SQL Server Express
http://www.microsoft.com/en-us/sqlserver/get-sql-server/try-it.aspx
I downloaded the Microsoft SQL Server2008 R2 RTM – Express with Advanced Services (but pretty much any version should work).

Next up, you’ll need the patches for Eclipse to turn it into the modeling environment.  Here’s what you looking for:  com.sap.custdev.projects.fbs.slc.updatesite-1.2.4.201304111120-assembly (SME patch for locked changes) .  I believe it can be found on Service.SAP.Com.  Also, don’t forget to following the installation guide.  It gives you several other websites to add into the update path.  These include:
http://download.eclipse.org/modeling/tmf/updates/ (TMF Project Update Site),
which is required for Eclipse releases newer than version 3.6
http://download.eclipse.org/modeling/emf/updates/
Various emft sites (…/modeling/emft…), for example,
http://download.eclipse.org/modeling/emft/mwe/updates/ and
http://download.eclipse.org/modeling/emft/updates/
o Main update site of your Eclipse release (for example,
http://download.eclipse.org/releases/helios or
http://download.eclipse.org/releases/indigo)
o http://download.eclipse.org/eclipse/updates/3.7 (The Eclipse Project Updates)

Finally, you’ll need a Java SDK.  Go to website:  http://www.oracle.com/technetwork/java/javase/downloads/index.html
I downloaded the  Java SE Development Kit 7u21

So, start simple, install the Java SDK.

Next install sql server.  For the most part, it’s pretty straightforward, but remember when it comes to authentication, select SQL Server Authentication.  If not, you’ll never be able to connect.  Tomorrow’s post will talk more about the SQL installation and configuration steps you need to make it work.

Then install eclipse.  I use this term lightly, since all you need to do is unzip the downloaded file and extract it to whatever location you like.  Next open eclipse.exe.

Once it opens, you’ll need to install the SAP extensions.  To do this, use the menu:  help–>install new software
Add in the location of wherever you put the SAP Eclipse modeling environment. (remember, if it’s zipped, you’ll need to unpack it).  Select the resulting SAP extensions shown and install.

Finally, connect Eclipse to the your newly created database.  Use the menu window–>preferences, then expand SAP Solution Sales Configurator and select connections.  Add a new entry, be sure to select database, and set the client to 000 since this is for a local installation.

Finally, copy the SSC tables to the database by using the menu:  SAP Modeling –> Create Tables.  If you don’t see the menu, be sure to open the perspective for SAP Modeling (it’s the button in the upper right next to Java).

And Voila…  you have the SSC modeling environment.  If you’re lucky enough to have a sample SSC configuration (like from the CWG), you can import it into the modeling environment using File–>Import.  Then select General–>Existing Project into Workspace.

And I just found one more step.  Be sure to Download the KB (SAP Modeling –> Download).  This will move the imported models into your database so that you can actually execute them.

More tomorrow, but I’ve rambled enough for one post =)

 

Variant Configuration – The New Solution Sales Configurator

My new gig is actually going to be pretty cool.  It looks like I’m going to get a chance to learn the new SAP SSC, which is the new Solution Sales Configurator.  Now for those of you that have been doing VC for a while or have ever attended a CWG, I’m sure you’ve heard of the SCE advanced mode.  Now, you can bet there will be more posts coming soon as I start to get into this, but I wanted to start with a quick intro on what the SSC is.

Now, for you VC experts, this might all seem obvious, but stick with me, I’ll be getting into more details soon.  The first thing to understand about the SSC (or even the advanced mode of the SCE) is that it allows you the ability to configure in a “bottom up” fashion, vs. the standard VC top down.  Let me explain more what that means.  The easiest way to do this is with an example.  So I’m going to go back to my roots, and talk about a Frame product.  Let’s say you have a product like this:

1-Frame
2-Module
3-Cable
3-Cable
2-Module
3-Cable
3-Cable
3-Cable
3-Cable
2-Module
3-Cable
2-Module
3-<empty>

Now, in a product like this, if you use VC, you must first configure the Frame, then determine how many modules, and for each module, determine how many cable connections you need.  Each of these level is configurable.  Now this may work for you (but it will have a lot of potential iterated characteristics).  Now, often the customer doesn’t really care about what frame is chosen, or even how many modules are involved.  The customer knows that they need 350 cable connections of certain types.  To use standard VC to model that behavior would be extremely complex and cumbersome.  This is where the SSC comes into play.  The SSC allows you to write logic that can build the structure from the top down, even though the items don’t exist within a single model.  So you could start with the number of connections, and build logic into the SSC that says if I choose at least 48 connections of this connector type, then you need at least 2 modules, and then you can say to select a certain frame based on the size and qty of modules.

I hope this makes sense.  The concept is difficult to explain, but it might start making more sense when I get deeper into this.  The short story is that SSC lets you give the customer a guided selling or at least a simpler method to method a complex product.  I have to say, I’m pretty excited.

Stay tuned for more SSC details 🙂

 

Variant Configuration – OEWB – Order Engineering Workbench

Lately, my life has been heavily involved with VC.  For those of you reading me for a while, or my friends that humor me by reading my ramblings J, you know that my loves are VC, SM & development.  I know, a weird combo, but it’s served me well, and I hope that JaveLLin Solutions will soon become my primary source of income…  Anyway, on a recent gig I was trying to “sell” VC to a company.  They have SAP, and do configuration, but all using excel, Access and other outside tools.  They are heavy on the ETO (engineer to order) side of the house, so naturally, I love VC and encouraged them it was the way to go.  They were very heavy into engineering change management, and often had many changes for a single order (even after production may have started).  So this brought up the good old Order Engineering Workbench (OEWB) again.  For those of you unfamiliar with this tool, it’s a much nicer tool for dealing with order BOM’s than the standard CU51 (which is just as ugly as CU50.  Ha ha ha).  It’s designed by SAP, but of course, you have to pay for it if you want to use it…

I am a fan of OEWB since I helped implement it a couple years back.  So I know it works and tends to make life much easier, especially if you have a lot of changes to make.  I’m currently working to try to get a copy of it in my dev system, but SAP in their infinite wisdom is making it difficult for me to try to help them sell (smart business right there, who wants a free sales force anyway).  Ok…  enough my whining…  I like the OEWB because it comes in a nice tree format, gives you clear visibility to what you have changed, allows you to do side by side comparisons of different order BOM’s.  It even gives you versioning ability, so in the case of the client I was at, would be a big bonus to quickly show what version or how many changes had occurred.  I’d love to show you some screenshots, but alas, I can’t add it to my system.  If I can get it eventually (without paying for it of course, I’ll post more about the functionality along with screen shots).

Now, one of the things I’ve been looking for (and If any of you have seen this, let me know) is an easy way to copy an order BOM.  In some of my recent contracts, I’ve seen a reoccurring theme of a customer wanting the exact same product that they ordered 2 week, 2 months, or 2 years ago.  Since it was an ETO product, there wasn’t a permanent part number.  The easiest way would be to copy from that order BOM to the new order BOM.  It’s easy to get the configuration copied… but not the BOM.   I’m toying around with the idea of adding some Order BOM tools to Velocity, and this would be one of them… if it doesn’t already exist.  Anyway…  that’s all for today.  Happy Configuring!

 

Variant Configuration – Avenue Health Check

In my most recent contract, I’m working with a company called eSpline.  They are one of the more established players in the VC consulting community.  It’s funny, because I’ve met the people that run the company at the Configurator Work Group several times, but this is the first time our paths have crossed professionally.  Anyway, back to my point…  eSpline has a pretty handy little tool for performing a Health Check.  It seems to be relatively new, but it has some powerful features.  It’s called the Avenue Health Check Tool.

The idea behind it is that you dump a model (or group of models), kinda like a knowledge base, and then their tool goes through and figure out all the issues, warning and “less than best” practices.  For example, it will detect “Zombie” characteristics in a class.  This is anything that has no dependencies, tables or functions associated with it.  Now there are multiple explanations for this, sometimes you need an information cstic to pass down to manufacturing, but there are no rules around it.  Simply a selection made by order entry.  Or, it could be a characteristic that a change was started, then rethought, and finally left there to hang out, forgotten in a sea of other characteristics.  At least being able to simply identify these characteristics, gives the modeler an easy hit list to confirm or deny if there is a problem.  Some of the other things that are really handy include flags to tell you if anything won’t transfer to the IPC.  In a recent post, I talked about the long oss note for functionality that doesn’t work in the IPC, but does work in VC.  The Health Check will quickly flag all of those items for you.

The health check is in an HTML type format, so it’s easy to jump to things that are connected, and even has some fancy images to show you how classes are connected, or BOM structures work.  I was impressed by the features, so I wanted y’all to know about it.  If you happen to check out their stuff, be sure to let them know I sent you.  =)

 

Variant Configuration – Integration with the IPC

On my recent evaluational for variant configuration, I got to get back into the CRM world a little bit again.  It’s been a while, but this client is using CRM and is looking into using VC & IPC.  If the IPC isn’t familiar, it’s SAP’s Internet Pricing and Configuration.  It’s the CRM version of variant configuration.  It uses all of the standard VC componets (well, almost…).  In this post I want to talk about the Variant Configuration integration with the IPC.

If you have a VC model, and you want to use the IPC (which, by the way can also be used in ERP in your sales orders/CU50), there are some key limitation you need to be aware of for the integration with the IPC.  Because the IPC is written in java, and not ABAP, there will inevitably be some things that differ.  So, I wanted to capture what all those things were.

OSS: 1819856

http://help.sap.com/saphelp_crm700_ehp02/helpdata/en/e8/a3fc3739a25941e10000009b38f8cf/frameset.htm

Among the obvious things like functions, pricing requirements, and anything else ABAP must be rewritten in Java, there are pages of other little things that won’t work, or at least won’t work exactly the same way.  So if you’re looking at using the IPC, make sure to check this out.  If you are new to variant configuration, try to do all these things in your model from the get go, it’ll make your life much easier later on.  Happy configuring.

 

Variant Configuration – Copying Sales Order Line Items

Special thanks to my Padawan, Dennis Mayo, he showed this me cool trick.  However, I had to do a little more research on it first.  It turns out, you could need some OSS notes applied for this to work.  So, before I go into some possible fixes, first let me tell you the good stuff about copying sales order line items with a configuration.

If you ever need a copy of a configuration within the same order, you can simple go into VA02, and use the menu Sales Document -> Create w/Reference.  Now, in my ignorance, I didn’t realize you could do within the sales document.  I thought it was only to create a new document.  So simple change the tab to order, if your system is like mine, it will even default your order in.  Now, magically, you have a second line that is identical to the first, with it’s own changeable configuration.  This is great for quoting when a customer might just be asking for minor variations of a configuration to see the see the difference in price =)

Now for the gotcha’s…  first and foremost, if you don’t have OSS Notes 738671 & 903495 applied in your system, you will need them.  This change appears to impact quite a few different system versions, so make sure those are applied (or the support packs that contain them).  Also, refer to OSS Note 814547 for the explanation of the configuration that applies to this change.  The short story is that in the copy control for the sales order line item, the item category must be set as blank or “A”, if you want the configuration to be changeable.  In the other choices, the configuration is directly linked to the original, and can only be changed from the original.

So there you go…  Thanks Dennis.

Variant Configuration – Replacing a Characteristic that is in Use

Something I’ve been dealing with quite a bit lately is remove or replacing a characteristic that is in use in a model.  Now I hope that this only occurs in your development environment, but regardless, the same rules apply.  So I just wanted to outline the basics of accomplishing this removal/replacement of characteristics.

1.  Txn CT12 – this is your best friend in this instance.  Using CT12, and selecting all of the options, will show you where it has been used.  One bad thing about CT12 is that enter in the value doesn’t necessarily work, at least in my opinion.  I tend to get a lot more results than just the cstic using that value.

2.  CU22 – this one is optional, but if your where used shows a constraint or constraint net, this is the next thing you’ll need to do.  Go into the CNET, and lock any constraints that use the characteristics.  This process is a bit tedious, but it’s the only way to accomplish it.

3.   CU50 – Interface design – again, you might not be using this feature, but if you are, you’ll see it in your where used.  Be sure to remove the characteristic from every interface design it exists in.  You won’t be able to delete this from the class if it’s still used in the ID.

4.  CL02 – now once these steps occur, you finally go into the class and remove the characteristic.  Just a note, if you already have configurations out there using the cstic or if the class is part of a class hierarchy, you will need to use CL6K in order to remove the characteristic.

5.  CU02 – now you can change all the standard dependencies to either remove the cstic or replace it.  Now remember, you need to pay attention to the logic here because it might not be a simple replacement.  Only you can determine this.

6.  CU22 – change and release the constraints that used the old cstic.  (steps 5 & 6 are interchangeable).

These are the big pieces.  Keep in mind, you may also have tables or functions.  In that event, you will need to update CU60 & CU62 for the tables, and CU66 for the functions.  But only after you’ve done steps 5 & 6.  Then you might need to revisit steps 5 & 6 based on your table/function changes.

I hope this is useful for you.

Variant Configuration – SCREEN_DEP

If you’ve been doing VC for any length of time, you’re probably very aware of this little trick.  But if you’re new to VC, you might not be aware that you can dynamically control your characteristics.  You can use object dependencies to set a characteristic to invisible, or set it to input or no input.

For me, when I model a product line, I often need to add characteristics that aren’t always available for the user to see or to input.  For this, I will create reference characteristics based on the following table:

Screen_DEP

INVISIBLE

YES

Makes characteristic Hidden (same as checking No display below)

INPUT

YES

Makes characteristic available for input (same as un-checking Not ready for input)

NO_INPUT

YES

Makes characteristic unavailable for input (same as checking Not ready for input)

RESET

YES

Resets all values set by Screen_DEP structure.

Simply create a new characteristic, and on the reference tab enter in the Screen_dep for the table, and one of the fields in the 2nd column as the field.

Now, in your object dependencies, you can simple use your standard logic:

$SELF.INVISIBLE = ‘MY_CSTIC’
IF….

now the only catch to this, MY_CSTIC must be spelled properly.  There is no syntax checking since it’s a literal.  But if you spell it correctly, and if the IF statement is met, MY_CSTIC will be made invisible.

It’s that easy.  Very slick and very powerful.  If you haven’t already, give it a try.

Screen_DEP

INVISIBLE

YES

Makes characteristic Hidden (same as checking No display below)

INPUT

YES

Makes characteristic available for input (same as un-checking Not ready for input)

NO_INPUT

YES

Makes characteristic unavailable for input (same as checking Not ready for input)

RESET

YES

Resets all values set by Screen_DEP structure.

Variant Configuration – Class Hierarchy Benefits

I just realized, it’s been a while since I talked VC.  Thought tonight would be a good time to add something new for those of you who enjoy the variant configuration posts.  Today I wanted to talk about the advantages of using the class hierarchy when you are modeling.  Often you may have multiple products that are all built on the same platform, but each has it’s own flavor.  In this situation, you will find that often a group of characteristics are shared among all of these product lines, and only a subset differ.  This is perfect for the class hierarchy.  To do this, you build a class with all of the “common” characteristics.  Then you create a second (or multiple) classes that contain the characteristics that are unique to the particular product line.  You then use transaction CL24N, enter in the “common” class, and assign the second class to it.  Now that second class contains all of the cstics of the upper level and the lower level.

Now,this sounds like a lot of work, but for maintenance purposes, whenever a new common characteristics needs to be added to all of the product lines, simply add it to the upper level class, it will automatically be added to everything that is below it.  The other huge benefit is that if use constraint nets, you can define the constraint to talk to the “Common class”, and thus you don’t even need to re-write the constraint for the lower level classes 🙂

There is a downside, and this is usually experienced the most in the development phase.  This is the ability to delete cstics from the common class becomes more challenging once they are inherited.  For that, you need to be sure to use transaction: CL6K to delete a cstic from the common class.  Typically, you don’t encounter this once you move the model to production, but often in the development phase you change your mind or find that you picked a characteristic that doesn’t belong or is replaced with something else.

But in my opinion, the upside far outweighs the downside.  Happy Configuring and Thanks for reading.