Siebel Tools http://seamarvelsolutions.com/blog Siebel from my point of view Tue, 14 Feb 2012 17:06:30 +0000 en hourly 1 http://wordpress.org/?v=3.0.3 Text entry on Android Phones http://seamarvelsolutions.com/blog/2012/02/14/text-entry-on-android-phones/ http://seamarvelsolutions.com/blog/2012/02/14/text-entry-on-android-phones/#comments Tue, 14 Feb 2012 17:06:22 +0000 Administrator http://seamarvelsolutions.com/blog/?p=60 Problem to Solve : – I use Swype on my Adroid phone, its definitely a step up since my Blackberry days but I have noticed more and more that I end up fat fingering or Swype seems to assume words for me. Try typing in the word “last” 5 times and see how many times you come out correct. I have noticed that I now have to swipe my fingers across and also pick the right work from the popup list. Always trying to find ways of getting efficient this stood out as very inefficient, so I started looking at ways to improve my entry method. I downloaded Swiftkey found it interesting especially since they talk about a system that teaches itself and tries to predict what you will type next. I must say I uninstalled it after a day of use. I found it was good to pick words (sometimes) but on the most I hated that I couldn’t swipe my finger across the keyboard.

Guess I am spoilt by Swype.

So I started considering the possibility of writing an app on my own that would incorporate the swipe across the keyboard functionality but in addition would try and predict the words. Before jumping in I decided to do some analysis to see if a prediction system would reduce my keystrokes.

I must say I don’t have much good news, but please feel free to post your thoughts. The results don’t agree with what I expected. Guess I should start of explaining what I expected – I assumed since we are creatures of habit most of what we texted to each other would be the same. So we would end up texting the same information (words) over and over, e.g. I probably ask my wife about dinner plans every day or every other day.

Well guess what, that’s not what I found! I downloaded all my text messages off my phone using a neat tool called “SMS Backup” it gives out an XML file. I then converted the file into Excel and did everything on there. I first split up all the words, got a list of unique words then proceeded to get a frequency. I would have expected to have seen a lot of repeated words.

Below is the graph

The X axis is the number of occurrences or a word, the Y axis is the number of times they repeated. So for example there were 989 single (0-1) occurrences of words. Words were repeated 2-10 times 743 times, based on this chart building a system to predict what you would type isnt very efficient since you have a %50.7 chance of typing a word only once (989 single occurrences).

I then thought the mistake might be around my texting preferences. I figured that rather than looking at all my text messages as a whole maybe I should look at my conversations to individual contacts. So for example I would consider all my text messages to my wife and see my pattern.

No luck here too. I went ahead and pulled out 9 conversations and charted those. I super imposed it over the graph above.

As you can see it’s the same, higher chance of single words and the graph drops fast after 2-10.

To make things better to understand I plotted them into a % chart (Below). The little ray of hope is that if you go with the assumption that the app will predict words you can expect to improve efficiency by about 35%-43% (2-10 Repeats).

0-1 2-10 11-100
Series 1 61.41% 35.14% 3.44%
Series 2 58.33% 36.11% 5.56%
Series 3 65.95% 33.51% 0.54%
Series 4 68.12% 31.88% 0.00%
Series 5 58.12% 38.31% 3.57%
Series 6 56.36% 38.73% 4.91%
Series 7 50.80% 40.56% 8.63%
Series 8 47.65% 43.88% 8.47%
Series 9 58.69% 39.00% 2.32%

Here is the same table broken into a chart.

The interesting point here is that about %60 percent of the time we are coming up with new words in our conversation. The question here is would you build an app to improve efficiency by about %38, the bigger question I guess would your customers notice the improvement especially if they just paid for your app? Constructive thoughts please!

Legal stuff – Swype and Swiftkey are registered trademarks and I am using it represent two popular entry methods. There are folks who swear by either so I believe it’s a matter of preference and not a reflection on quality. I am just trying to see if I can build on either to find an entry method that will fit my preference.

George Verghis

]]>
http://seamarvelsolutions.com/blog/2012/02/14/text-entry-on-android-phones/feed/ 0
Canada Post Load and Query http://seamarvelsolutions.com/blog/2011/04/25/canada-post-load-and-query/ http://seamarvelsolutions.com/blog/2011/04/25/canada-post-load-and-query/#comments Mon, 25 Apr 2011 14:35:23 +0000 Administrator http://seamarvelsolutions.com/blog/?p=57 Hello, I realize this might have nothing to do with most of you out there since its specific to Canadian customers, but I thought it might be helpful to someone out there. Canada Post is the Canadian postal system and if needed they can provide you with a list of active addresses in Canada.

So why is that relevant? Well if say you implementing a system – Siebel, SAP or SalesForce that does a bit of Account management you will have noticed that you have data with the same address stored in different ways. A lot of companies have legacy data hand typed or even data from different sources that end up causing problems because they dont all match.

There are companies out there that provide a cleanup service or even yet a method to query the data and return the data in a standardized form. The only problem here is that these companies charge a lot of money for this service.

I decided to give the problem a shot and came up with a POC (Proof of Concept).

Goals of the POC

1, Be able to load the standardized data from Canada Post

2, Be able to query the data efficiently

3, Be able to do all the above in less than a minute.

I came up with a simple spreadsheet macro (just to show how easy it can be). The macro reads in the address file, and gives you a way to query the address. A real world scenario would be different – you might have a webservice that reads in an address you send in and sends it back formatted or standardized. Bottom line is this isn’t very hard as you will see from the xls.  If this is something you think might be useful to you just let me know and I can send you the POC, you don’t need anything fancy just MS Excel.

What can I do for you? Well if you like the POC and you are interested in something specific we can talk and I might be able to help you set up something for your business.

That’s it >> George.

]]>
http://seamarvelsolutions.com/blog/2011/04/25/canada-post-load-and-query/feed/ 0
Siebel Spool File Capture http://seamarvelsolutions.com/blog/2011/03/09/siebel-spool-file-capture/ http://seamarvelsolutions.com/blog/2011/03/09/siebel-spool-file-capture/#comments Wed, 09 Mar 2011 01:54:45 +0000 Administrator http://seamarvelsolutions.com/blog/?p=50 Hello,

  I had a few weeks between gigs and decided to put together a tool to help with Siebel development debugging. You know how to spool your SQL so when you start up your dedicated client it spurns out all the SQLs being generated. All that is good (check out my app – previous blog about how to find out slow SQLs and performance) the only problem here is lets say you find a bad SQL, maybe an SQL error or lets say you just want to know what SQLs are generated when you do a particular action. Well thats not really that easy, the spool file just builds up with thousands and thousands of sqls. I am sure if you have done Siebel development you can relate, so I sat down and developed an app to try and solve the problem.

   The concept is pretty straight forward, you set up the spool file just like you would. You would then start up my app that will stay on top of your screen, you tell my app where you spool file is. Thats it – the app is now watching the spool file for data. You will see it being updated as your spool file is updated.  Lets say you want to watch for a particular action, lets say the sql behind a button click. In my App you click the Record button then in Siebel click the button action you were interested in after you are done clicking the Siebel button just stop recording in my app. You have now captured the SQLs that were generated when you clicked the Siebel button. Hope all that made sense, let me know if all that was confusing.

Here are the steps in a bit more structured way.

1, Setup Siebel Tools to write out to a spool file. Please refer to Oracle Supportweb for help on writing to the spool file.
2, Start the SeaM SSQL Applicaton.
3, Click the browse button and select the spool file set in Step 1
4, If you want to track all the SQLs from a particular action click the Record button before the action and hit Stop after the action.
5, Click the Display/Hide button to show/hide the spool file data
6, The spool file data is shown in an expandable format.

Below is the layout
a, Spool filename selected
             1, Current Date and Time
  i. Spool file data
 2, Recorded – Current Date and Time
                 i. Spool file data during the recorded period.

Expand each of the items by clicking the + or collapse by clicking the  -

The data is automatically updated based on the Spool file selected. Data can be copied by selecting all the required lines and clicking the “Copy to Clipboard” button at the bottom.

So where do you get this app from? Just go to http://www.seamarvelsolutions.com/services and search for SeaM Spool Capture.

Hope it helps.

>> George.

3/21/2011 >> Added a new feature to the tool.  You can now search the log file. Just type in your search string and you will see the lines with the string highlighted in red. Now if you are looking for a particular query you can see when it ocured.

]]>
http://seamarvelsolutions.com/blog/2011/03/09/siebel-spool-file-capture/feed/ 0
Siebel Performance Tuning http://seamarvelsolutions.com/blog/2010/12/25/siebel-performance-tuning/ http://seamarvelsolutions.com/blog/2010/12/25/siebel-performance-tuning/#comments Sat, 25 Dec 2010 18:41:07 +0000 Administrator http://seamarvelsolutions.com/blog/?p=37 Hello,

Had some free time so decided to work on a project I have been putting off for a while. If you have been following my applications you probably know about my SeaM SiebNS app. The app reads the SiebNS.dat file and displays all the information around your configuration, pretty nifty if you ask me. If you want to know more about the app check out my blog http://seamarvelsolutions.com/blog/2010/12/25/siebel-gateway-siebns-dat/.

I have always been wanting to take this app to the next level, find a way to allow us to run rules against a configuration and check to see if the rules are satisfied. I am a Siebel Consultant and one of the things I end up having to do at client sites is check their configuration for performance issues. Now there are a set of criterion that Siebel (now Oracle) has always maintained as commandments to follow for performance e.g. For your OM have your Max Task/(Max or Min MTS) be a multiple of 20. There are more rules like that – so what if you could just create rules and run it against a configuration without having to check each component, wouldnt that make your life a whole lot easier?

Now I am not saying dont look at a configuration, but just that for the few rules that are considered holy grails why not find an easy way of checking them before going into the more complicated rules. Maybe you might be a client developer and can create rules that you can run periodically to make sure things havent changed.

Well I went ahead and added on a feature to my SeaM SiebNS tool to be able to create/save/delete and run rules against a SiebNS.dat file. One you have opened your SiebNS file (check out my blog mentioned above if you dont know how to do it) you should see a menu item to View/Analyze your rules. You will now be taken to a new page where you will be able to create your rules.

E.g. For the rule I mentioned above you might have to make some changes to get the rule into the configuration for the tool. The rule can be broken up into

1, Max Tasks MOD Max MTS = 20

2, Max MTS = Min MTS

I would definitely like to hear from you so drop me a note at george.m.verghis@gmail.com or reply to this blog if you would like to see anything changed or have questions.

That’s it >> George.

]]>
http://seamarvelsolutions.com/blog/2010/12/25/siebel-performance-tuning/feed/ 2
Siebel Gateway SiebNS.dat http://seamarvelsolutions.com/blog/2010/12/25/siebel-gateway-siebns-dat/ http://seamarvelsolutions.com/blog/2010/12/25/siebel-gateway-siebns-dat/#comments Sat, 25 Dec 2010 18:18:01 +0000 Administrator http://seamarvelsolutions.com/blog/?p=25 Today lets look at the SiebNS.dat file (Please do not – edit or change this file). This blog will just show you how to read the file not update it.

For legal purposes I need to let you know that if you change the file you might not recover. I wont go into details of how its ensured the file hasnt been tampered with.

Now for the good stuff.

So what does the SiebNS.dat do? It contains a lot of info about the way you have your Enterprise/ Siebel servers / components configured.  Think of it as registry for your Siebel configuration. The tool I am showing you can be considered the Regedit for it (without the edit).

Go to http://www.seamarvelsolutions.com/services and download the tool SiebNS.

I have written it to look similar to the  ”Administration – Server Configuration” > Servers screen.  Now you can see how the server is configured even without showing up at the client side. Just have them send you the Siebns.dat file from the Gateway/sys folder.

Start up your tool and open your .dat file using File  > Open.  It might take a bit of time for the tool to process it all (watch the bottom of the screen) after all there is usually close to a million lines in most dat files. Once the bottom of the app says “Entire File Processed” you are ready to look through everything.

That’s all it takes and now you can see the configuration just like you would if you were connected directly to the server.

That’s it >> George.

]]>
http://seamarvelsolutions.com/blog/2010/12/25/siebel-gateway-siebns-dat/feed/ 0
Siebel Monitoring http://seamarvelsolutions.com/blog/2010/10/05/siebel-monitoring/ http://seamarvelsolutions.com/blog/2010/10/05/siebel-monitoring/#comments Tue, 05 Oct 2010 23:42:49 +0000 Administrator http://seamarvelsolutions.com/blog/?p=30 Its been a while since my last post, but I finally got sometime to work on a new tool. I have been thinking of writing something like this for a long time so am happy its done

I have been at different clients where monitoring wasnt just a good thing but a requirement. Clients would like to have some sort of screen that shows how the different servers and components are doing. Most clients end up writing some sort of srvrmgr scripts to do the job. I have done it myself and dont really like it, most of these srvrmgr scripts end up being a script that runs on a timer – logs in via srvrmgr and collect all the required info then logs out.

The problem with this is

1, You will see multiple entries in you enterprise log file corresponding to each of these srvrmgr logins. (This can get to be a lot).

2, The srvrmgr command is slow during the login and query.

3, The srvrmgr login is expensive both on CPU and Memory on the server and database.

So I finaly decided to sit down and write a new tool to do it. I had to write it in C to get it working. If you would like a copy let me know at george_verghis@yahoo.comand I will send it to you. Theres a screenshot of the tool attached to this post. When you start the tool up, there will be a srvrmgr entry in your log file – but thats it. There wont be any more entries in the log but your tool will be updating the info on the screen. The current tool was written for Solaris but if needed I am sure I can port it to AIX, Linux or Windows.

Hope it helps.

Thats it>> George Verghis.

]]>
http://seamarvelsolutions.com/blog/2010/10/05/siebel-monitoring/feed/ 0
Siebel SCBroker http://seamarvelsolutions.com/blog/2010/08/23/siebel-scbroker/ http://seamarvelsolutions.com/blog/2010/08/23/siebel-scbroker/#comments Mon, 23 Aug 2010 15:27:51 +0000 Administrator http://seamarvelsolutions.com/blog/?p=22 Hello, Today I am going to write a bit about SCBroker and JavaDatabean connectivity.

So you are at a client side where theres a lot of connections coming in via the JaveDatabean and you have no way of equating the amount of connections or infact where the connections are going.  Theres no easy srvrmgr command to see this – you can turn up logging and it gives a good idea of what is going on but even then you have to parse log files to see whats going on.

Dont you wish you had a tool that would parse the log files and give you an idea of how the connections are balanced.  You have a tool now – and better yet its free.

I wrote perl app that parses the log files and give an output.  If you need it just send me an email and I will send you the tool.

There are two requirements

1, You run the perl app at a location where it can access the SCBroker files.

2, Turn up logging on the SCBroker Component  ‘Siebel Connection Broker’ = 4. This doesnt cause a bit hit on the server should you should be fine.

Once you get the Perl app from me all you have to do to run it is.

perl SeaM_SCBroker.pl {Location of you SCBroker log files}

Its as simple as that. The application will poll the log files every 2 seconds and if the log file has been updated then it will read the update and show it on the screen. This reduces the load to just when theres some activity.

Below is a screenshot of the ouput.

Screenshot

Thats it>> George Verghis.

]]>
http://seamarvelsolutions.com/blog/2010/08/23/siebel-scbroker/feed/ 0
SQL Query Tool http://seamarvelsolutions.com/blog/2010/08/16/sql-query-tool/ http://seamarvelsolutions.com/blog/2010/08/16/sql-query-tool/#comments Mon, 16 Aug 2010 21:13:41 +0000 Administrator http://seamarvelsolutions.com/blog/?p=16 Today we will look at a simple tool to help query an Oracle database.

Well I have been using the Toad freeware tool for a while and its a good tool but has its problems. I hate the fact that the tool expires so fast and when trying to save a result into a file it would only save the first 100 lines.

I finally broke down and wrote a SQL query tool – you should have Oracle Installed on your computer to use it. Have a TNSNames.ora and all.

Just down load the tool from http://www.seamarvelsolutions.com/services its called SQL.

Things that might get you using it faster.

1,  Just select the sql and hit the Execute button to run it.

2, Putting a ; at the end of the sql highlights it for you.

3,  You can save the SQL and the output.

4, You can format your query just paste it/select it and hit the format button and it will substitute in the bind variables.

Send me your thoughts or if you would like to see new features added in.

>> George Verghis.

]]>
http://seamarvelsolutions.com/blog/2010/08/16/sql-query-tool/feed/ 0
Siebel SQL Performance Analyzer http://seamarvelsolutions.com/blog/2010/08/06/siebel-sql-performance/ http://seamarvelsolutions.com/blog/2010/08/06/siebel-sql-performance/#comments Fri, 06 Aug 2010 16:21:10 +0000 Administrator http://seamarvelsolutions.com/blog/?p=9 Today we will look at a way to see if you are generating slow sqls via your Siebel code.  So your customers are complaining that their page load times are too slow and its up to you to figure out why. One reason for the performance issue can be because of slow sqls being generated.

SQLs show up in Siebel logs. There are two ways you can generate the logs.

1,  The logs can be generated via your Siebel Dedicated (Thick client) instance.

>> To get this to work right click on your shortcut to your dedicated client for your target append the following /s c:\Spool.txt. This just means /s (spool) the sqls to location c:\Spool.txt.  You might end up with a target that looks like this C:\Siebel\8.1\Client\BIN\siebel.exe /c C:\Siebel\8.1\Client\bin\enu\scomm.cfg /s c:\Spool.txt.

2, The logs can be generated via the Siebel Server (thin).

>> On your thin client go to SiteMap > Administration – Server Configuration > Components  – Select your component from the second applet and in the third applet (Events) search for “*SQL*” – change the corresponding events to 4. Your logs will now be generated to your siebsrvr/log (for windows) or to  your siebsrvr/enterprises/[Enterprise Name]/[Server Name]/log location for *nix.

Ok so now you have your log files and want to analyze it. The first thing you will notice is that these log files get really really large and unless you plan on spending the whole day looking through them its not easy to figure out the slow sqls.

Voila theres now a tool: I have run into this problem before and I eventually decided to write an app to do the heavy lifting for me.  Its written in C# and has about 3k lines of code and best of all its free. Just start the app open the file you want to analyze and there you go it will give you a list of all the SQL execution times.

You can now sort the time lists and see your slowest sqls.

Some good features of this tool.

1,  You can right click on a line of sql and the app will show you your sql with all the bind variables filled in. Just copy the sql and you can paste it into your favourite SQL tool — heads up I will be giving out a free SQL Query tool shortly.

2, You can analyze an entire folder of log files.

So how do you get the tool – go to http://seamarvelsolutions.com/services look for the tool SPerf and select the “Download Application Freeware” link.

Thats it for now

>> George Verghis

]]>
http://seamarvelsolutions.com/blog/2010/08/06/siebel-sql-performance/feed/ 2
About http://seamarvelsolutions.com/blog/2010/07/21/about/ http://seamarvelsolutions.com/blog/2010/07/21/about/#comments Wed, 21 Jul 2010 09:47:38 +0000 Administrator http://phillycoolrob.com/wordpress_281/?page_id=2 Have worked on Siebel for over 10 years now and finally got the urge to give back. Some of the posts might include old code that I have dusted off and am giving away so if it breaks please let me know and I will help get it working.

]]>
http://seamarvelsolutions.com/blog/2010/07/21/about/feed/ 0