""

Weekly Reports: An inside look at the week format results in Oracle Database and SQL Server

Weekly reports are usually requested by customers who want to follow their activity results by weeks running from Monday to Sunday. The most common way to collect weekly data is by grouping date ranges by their Week No. of the Year. 

As you will see in this post, when I started  investigating this topic I found some interesting information about the week format in both Oracle Database and SQL Server, which I hope will be useful to others using these tools.

Oracle Database

Throughout my many years working with Oracle I assumed that the ‘ww’ mask returns the Week No. of Year according to the standard week (running from Monday to Sunday). After doing some queries I was surprised to discover that days belonging to the same week can actually have a different Week No depending on the day of the week that the year started.

For example, Week 1 of 2010 started on a Friday, therefore every Week No in 2010 will run from Friday to Thursday:

After some research I found the following documentation for Oracle DB that provides an additional explanation on this subject:

http://download.oracle.com/docs/cd/B10500_01/server.920/a96529/ch7.htm#5186

By applying this new knowledge to the previous query I was able to compare the two methods:

SQL Server

For those of you who are SQL Server programmers, I have also done some investigation on this subject. SQL Server 2008 supports ISO week as an argument of its DATEPART function. Prior versions use the regular ‘ww’ or ‘wk’ mask based on January 1st. The first day of a week is defined in the DATEFIRST session setting which by default sets Sunday to be the first day of the week.

You can use this user defined function for calculating the ISO week number in prior versions of SQL Server 2008 as follows:

After implementing the function above, you can run the following query to compare the common week mask and ISO week:

Notice that Friday is numbered as the 6th day of the week. The first day of a week depends on the DATEFIRST session parameter, which by default is set to 7 (weeks start on Sunday and end on Saturday).

  • To see the current setting of DATEFIRST, use the @@DATEFIRST function.
  • The setting of SET DATEFIRST is set at execute or run time and not at parse time.
  • To set Monday as the first day of the week execute:

To finish off, I would like to list some advantages and disadvantages about using ISO week numbering:

Advantages:

  • All weeks have an integral number of days (i.e. there are no partial weeks).
  • All years have an integral number of weeks.
  • The date directly tells the weekday.
  • All weeks of the year start on a Monday and end on a Sunday.
  • When used by itself without using the concept of month, all the weeks in a year are the same except that some years have week 53 at the end.
  • The weeks are the same as used with the Gregorian calendar. Dates represented as yyyy-Www-d or yyyyWwwd can be sorted as strings.

Disadvantages:

  • Not all parts of the world have a work week that begins with Monday. For example, in some countries, the work week may begin on Saturday or Sunday.
  • In the link below you can find an extended list of countries and their week numbering rules: http://www.pjh2.de/datetime/weeknumber/wnc.php?l=en
  • Many organizations use their own calendars which do not follow ISO standard (i.e. Fiscal calendars or academic calendars).

In summary, things are not always as they seem. As my professors always told me, in the business of computer science we can never afford to make assumptions and should always read the documentation and check sources.

I would be interested to know if anyone else has additional information or comments to share on this topic. Please feel free to leave a comment below.

Gain Powerful Analysis for Financial Management with Clariba Finance Central

Clariba is pleased to announce the release of the Clariba Finance Central demo, which highlights our latest financial management solution powered by SAP BusinessObjects. This BI solution was developed for one of our telco customers but is applicable to any corporate finance department in any industry.

The customer challenge that lead Clariba to develop this financal management solution was two-fold. From an IT perspective, the team spent 2 business days each month downloading information from the Hyperion Financial database and manipulating the data with other spreadsheets to create a set of graphs and tables. These graphs/tables were then copied and pasted in to a PowerPoint for the monthly management pack. The challenge from the business perspective was that the CFO had to wait several days for the information to be prepared and the overall reporting process lacked visual analysis capabilities.

Based on these challenges our customer wanted to consolidate their financial information and access it easily, gain better analysis capabilities (mainly to do with enhancing the visual components and enabling easy comparisons), and automate the financial reporting process to reduce monthly manual efforts and decrease errors. As a result Clariba developed centralized financial information in an easy-to-use dashboard allowing for extended analysis in a highly visual format.

"The Finance Central solution is completely automated, user-friendly and standardized, providing actionable insight to business users of all levels, including the CFO, and it can be adapted to any data source," comments Marc Haberland, CEO and Managing Partner of Clariba.

Clariba Finance Central was developed using several tools in the SAP BusinessObjects stack including: Data Integrator (to consolidate and aggregate the required KPIs in a finance datamart), BusinessObjects universe (with Query as a Web Service) and Xcelsius (for the interactive dashboard).

For more information about the Clariba Finance Central solution or our customized solutions for a variety of industries and functional areas, we invite you to contact us at info@clariba.com.

Real Time Dashboards – Lessons Learned

There are some scenarios in which a fast pace is required for data monitoring. This is where real time dashboards come in. A real time dashboard can display information with a high degree of frequency. This information is used by the audience to make quick decisions to correct the behavior of certain foreseeable trends. Real time dashboards can also set off alerts based on business thresholds allowing the audience to react quickly based on up-to-the-minute information.

Real time business intelligence is relevant to multiple industries and departments. Dashboards can be used to monitor call centre performance, IT system usage, data security, dynamic pricing, and inventory optimization and even support fraud detection and risk management efforts. Based on our experience building a real time dashboard to monitor call center data, this article will highlight tips and lessons learned for anyone who is undertaking a similar project.

ETL

Scheduling Frequency In reality the dashboard is not real time. It is a batch job with a very short refresh/update frequency. In our case it was 1 minute, which is also a limitation on Data Services batch jobs. It is important to know these limitations and also to know how fast your entire ETL batch job can run.

If batch job total duration > batch job run frequency then you will create overlapping processes which can immediately cause two issues:

  1. Overload your server or generate refresh slow downs

  2. Create inconsistencies in your data if your ETL does not correctly do blocks and queues write process to DB tables.

Run Optimization Given the need presented above: batch job total duration < batch job run frequency, you must search for the optimal setting to run your batch job. In Data Services there are some situations that can easily speed up your job execution but there is a delicate balance you must consider. One example is the memory method it uses to run the batch job, which can be selected from:

  • Pageable

  • In Memory

Pageable

Also whenever you have a table comparison process, the performance can be optimized by running the comparison as a separate process.

Table comparison

The In method runs faster when your server has enough RAM resources, however if your server does not have enough free RAM it will overload and will not be able to catch up with new spawning processes, running lower and lower in physical memory until it causes a complete  server crash.

Tomcat

Memory management Tomcat, under determined circumstances, does not perform well with memory management and garbage collection. When executing several QAAWS every minute the memory it uses can build up very quickly. Any Tomcat service on a 32bit Windows environment will have a limitation of 1.2 GB of memory to allocate. Tomcat becomes unstable when it reaches that limit and new requests are still coming in at a constant rate.

There are several tweaks on Tomcat and JVM memory  that can be done to optimize this.

One example of these tweaks is the memory limits that can be set when Tomcat is started; these can be set using windows registry or run time modificators.

Cache Optim flag The QAAWS application that comes bundled with Business Objects has a limitation set to cache data requests. When the same request is done in short periods of time the cache data is sent instead of running the query again. To avoid this and get new data every time, you need to disable this functionality on the dsws application properties:

dswsproperties

To disable it, you need to set the qaaws.cache_dpresult.optim flag to false.

qaaws cache

Restart Script In order to keep Tomcat service from memory overloads it is a good practice to schedule an overnight restart that will force garbage collection. The script can be very basic or contain additional cleanup tasks.

Script

HTML Container Placing the flash file on  html container will allow you to execute some actions prior and during the flash file execution. You can run javascripts, pass mandatory flash variables (i.e. suppressing tomcat error messages when running qaaws), etc.

The most basic html container for an xcelsius flash file will look as follows:

Xcelsius flash container

Auto refresh Java script As mentioned before, an HTML container will allow you to run javascript programs on the Explorer window executing your xcelsius flash file. Many applications can be given to javascript but one of them could be the browser page auto-refresh function. With the refresh you can wipe out outdated errors from screen.

No Error flash Variable The no error flash variable is a new functionality on Xcelisus SP4. It allows you to set the pop-up error windows off in cases where the error is not directly related to Xcelsius logic, i.e. Tomcat outages, scheduled system restarts, etc.

To add this functionality to any Xcelsius dashboard you need to add the flash variable input to your xlf file first.

Flash Variables

Finally you also you need to pass the variable to the SWF as indicated in the HTML container code example above.

I hope these lessons learned are helpful to anyone working on a real time dashboard. Feel free to leave a comment or question below if you need more information on any of the tips provided in this post.

Working with multi-sections in SAP BusinessObjects Query & Analysis tools

Sections are traditional features in the SAP BusinessObjects Query & Analysis (QA) tools. They provide a list of items and their associated partial report, including table(s), graph(s) or both. This is very powerful, as you may imagine. As an example, a mobile phone bill is created from sections by subscriber, associating every subscriber with his/her own bill.

This blog article will describe a particular requirement together with a challenge that we faced in a real scenario and how it was resolved.

The initial requirement

In this scenario we were working with a telco company that had a systems containing its billing data. From this the requirement was to develop a table with every subscriber’s call details, as well as a graph with the last 12 months total consumption. Moreover, there were three other conditions:

  • The subscribers are often grouped by company, so the total bill by company must be generated – same report –
  • The resulting pdf must show Company / Subscribers, in this order, and allow users to navigate across the pdf
  • At the request of the customer, the report must be done in the traditional Desktop Intelligence tool

The challenge

Starting a mockup with WebI, we built the query, dragged & dropped 2 sections (1 by company, 1 by subscriber), drafted the table and the graph, adjusted the width of sections manually so each one fell into one sheet, refreshed, exported to pdf and “voilà”, the draft seemed to accomplish our specifications.

PDF document saved from WebI
PDF document saved from WebI

Pdf document saved from WebI with navigation to sections and subsections (each one in a different page)

When we tried with DeskI, we followed the same steps; setting the “start on a new page” and the “avoid break page in block” to active, but we still ran into the issue of a blank page. This was due to the fact that between the section and the first item of the second subsection, the "start on a new page" was not applied automatically, so we had to create it ourselves. As our bill layout was quite large (and took up the whole A4 page), the report ran onto the following page (that is to say, the end of the section), so an empty page was generated just after.

Manual editing in DeskI
Manual editing in DeskI

In DeskI the distance between the section and the 1st item of the 2nd subsection needs to be adjusted manually

Our solution:

The solution in DeskI was based on incremental actions. We have highlighted the advantages(+) and disadvantages (-) to give more insight into our situation:

1. Remove the “Start on a new page” option for the subsection (+) The blank page disappears (-) 1st sub-item navigation issue: The 2 lines from section / subsection appear in different pages, so PDF links do not work properly, as the button from 1st item in subsection stays in section page

2. Add a cell at the end of the first section table and graph (+) The 2 lines from section /subsection always appear in the same page, so PDF links work properly (-) In the specific case that a company does not have a subscriber, there is an empty page between companies, as 1st section ends up in the next page

3. Hide the auxiliary cell in cases when a company does not have a subscriber (+) Create a condition based on a count of subscribers inside the company, and hide the cells if that count is zero (-) None Conclusion

What we learned from this scenario is that traditional tools like Desktop Intelligence really do provide great flexibility but you have to have experts on hand who constantly push them to the limit. On the other hand, when possible we should tap into the power of Web Intelligence, which combines the Query & Analysis strength of its predecessor together with a functional capability tailored to the current web based world needs.

Feedback and questions are always welcome. If you have similar challenges, we would be happy to share our insight.

Connecting SAP BW and BusinessObjects Data Integrator for data extraction

In follow up to my blog article on July 7, I would like to share some insight for connecting SAP BW and SAP BusinessObjects Data Integrator for the purposes of data extraction.   

 The problem that I encountered was that I could not connect my BODS to SAP BW. The connection was correctly created into the Management console of Data Integrator but the start up was always failing. 

After what seemed like hundreds of tests and commands from the cmd, I found the solution: the services file contained in the same path as the host file (windows/system32/drivers/etc) requires a small change:

  1. You need to add the following string SAPGWxx  33xx/tcp where xx is the system number of your SAP connection.
  2. Then here I also configured the sapjco3.jar that is stored in tomcat (you will find it with an easy search in the folder) in the Tomcat CLASSPATH as per the previous topic posted on July 7.

To start the service I used a command from the cmd in the location: Drive:Business ObjectsBusiness Objects Data Servicesbin: RfcSvr -aRFC_ProgramID -g/H/ip or name of the SAP Application Server name/S/33xx -xsapgwxx   RfcSvr is the .exe file that starts the DI processes. If you want to know more details regarding this command, the best way is to do a quick search in Google.

After following the steps above, everything should work fine. At this point, you can use BW cubes as your data source in Data Integrator.

If you have any questions or feedback to add to this quick solution, please feel free to leave a comment below.

Connection between SAP BW and Universe Designer / BusinessObjects InfoView

In this blog post I will explain some tips that I learned while integrating SAP BusinessObjects Universe Designer/Infoview with SAP BW.

For the most part, the steps should be simple and quite standard (unless you face some unexpected issues).   First of all you need to install the platform and the integration kit for SAP. At the end of this process you will see that you can create universes on top of BW cubes or BW queries. You can easily publish the universe and retrieve your data in a report.

Now in theory, after configuring the user in the CMC (BO CMC --> Authentications --> SAP) a user should be able to log in to SAP BusinessObjects InfoView using his/her SAP credentials…

But in reality BusinessObjects will fail while importing the roles of the SAP user. Why? Because you will need a java connector, which doesn't come with the “out of the box” integration kit.

All you need to do is download the files from SAP (or from the bottom of this blog post), and make them available for your system.   Here a step by step guide:

  1. Create the folders in your tomcat55 parent folder called Sharedlib
  2. Copy there the sapjco.jar and the .dll files
  3. Copy the .dll files into Windows/system32
  4. Go to Tomcat configuration and add the complete path of the file sapjco.jar to the CLASSPATH string - restart tomcat

Notes: Do not confuse the sapjco.jar with other versions in the folder. Download the 32bit version even if your machine is a 64bit.   Now try to import your user's role in BO CMC --> Authentications --> SAP again and you will see that everything will work as expected.

If you have any questions or feedback about this solution, please let me know by leaving a comment below.

> Download this Shared file (contains sapjco.jar and the .dll files)

SAP Xcelsius Challenge for Community Poll Results – Best Practices

I entered the SAP Xcelsius Challenge for Community Poll Results to flex my Xcelsius skills and also offer some fresh options for dashboarding to the SAP SDN community. I’m pleased to report that my submission received an honorable mention in the competition. Thanks to everyone who voted!

In this post I will explain the tools, goals, content and structure that I decided to work with for this challenge and my best-practice steps for developing an Xcelsius dashboard.

1. Tool selection

I started by defining the high level goal, and selecting the tool that fits the best. SAP Crystal Dashboard Design (formerly known as Xcelsius) is a great tool and platform – obviously for dashboarding – but it’s not for all purposes. SAP BusinessObjects offers a wide range of tools that can  solve specific scenarios; these are well integrated and often a combination of two or more is the best solution.

2. Purpose & Detailed Goals

Why am I building a dashboard? What insight am I interested in?

Besides displaying the poll results, my goal was to allow performance analysis of continents, regions and countries participating in the Winter Olympics, with a focus on the games in Vancouver.

In my opinion, to ask and answer the above questions is very important and often overlooked in favour of defining KPIs first. Without setting a clear goal, I wouldn’t have been able to decide which KPI was more or less useful than any others. With that defined I proceeded to answer the next questions.

3.  Content

How can I achieve the above goal? What are the best performance indicators? How can I display these KPIs?

Possible KPIs

  • Number of medals

  • Number of gold medals

  • Weighted number of medals (gold * 3 + silver * 2 + bronze)

  • Number of medals / population

  • Number of medals won by country / Total number of medals

Possible display options for KPIs

  • Trends – Which indicator’s trend would be best to see?

  • Comparisons – What would be the dimensions to compare? 

I chose the most common KPI: Number of medals. But as you will see, this single KPI can be displayed in a number of ways. A less traditional way – in terms of the Olympics – is grouping by geographical dimension. This gives a unique view, not to mention that it allows me to showcase my DrillChart add-on.

4. Structure

How can I best organize my content? 

At this point, I decided to summarize what information I had and try to find a place for my content on the screen:

  • The mandatory poll results – vertical bar chart.

  • Number of medals by region – horizontal bar chart

The Poll chart has all the sports listed, so it gives an opportunity to use it as a selector too. I thought it would be good to connect these two charts and allow the user to analyze the number of medals by sports as well. Although it might not be as clear as a horizontal navigation bar spanning the header of the dashboard, I opted to use it – with clear caption –  to save some screen real estate.

The order of selection would be: Sport → Region, so I put the Poll Results to the top left side, where the viewer generally starts scanning the screen. I used the two colors of the Vancouver games – green and blue – to make a clear distinction between the poll and the medal analysis.

Olympics Dashboard 1

The two main charts consume about half of the screen, and I still had a lot to show:

  • Trend lines

  • Distribution of medals – Gold, Silver, Bronze

  • Historical aggregations

  • Comparison to the previous game

All the above information is dependent on the user selections (Sport – Continent / Region) and gives more insight into the data. I used micro-charts under the main medal chart to show the details.

Olympics Dashboard 2

5. Implementation

The final part is the actual development. Luckily this is straightforward – and much faster – when the functional and layout design are well defined, although this is always an iterative process with some modifications.  

I was happy to practice a little bit on this example, and would be happy to hear your feedback! And if you are looking for some creative dashboarding expertise, Clariba has a wealth of experience and very talented consultants in this area. Feel free to contact us at info@clariba.com.

Join Clariba at the SAP World Tour 2010 in Doha, Qatar on June 22

Doha, Qatar: Clariba is pleased to be sponsoring SAP World Tour 2010 – Qatar, the SAP business and technology event for C-level executives, IT decision makers, and Business managers.

In today's economy, Best-Run businesses must be transparent and accountable, lean and agile, customer centric and collaborative. Now more than ever, meeting these challenges requires a highly focused business strategy and streamlined execution, and this is what SAP World Tour 2010 is all about.

The SAP World Tour 2010 offers attendees the opportunity to discover best-in-class tools and solutions for better information management and business insight. The full-day agenda includes SAP Demos, SAP Solutions for C-Level Managers, Industry Sessions, SAP Services and SAP BusinessObjects Technical Workshops.

Clariba is recognized as a leading SAP Business Intelligence consultancy in EMEA and a specialist in SAP BusinessObjects technology. Members of the Clariba BI team will be available during the event to demonstrate interactive and highly visual dashboard and reporting solutions for a variety of industries and business units.

“Clariba is proud to be sponsoring the SAP World Tour 2010 – Qatar event,” explains Marc Haberland, CEO and Managing Partner of Clariba. “As a trusted SAP partner and provider of SAP BusinessObjects services throughout the Middle East, this event provides an excellent opportunity for us to connect with business and technology leaders in order to better understand their challenges and demonstrate some very powerful Business Intelligence solutions.”   

The SAP World Tour 2010 – Qatar will be held on June 22 at the Sharq Village Hotel in Doha from 9:00 a.m. to 5:00 p.m. Attendance at the SAP World Tour 2010 is free of charge. If you wish to find out more about the event or register to attend, please visit www.sap.com/mena/worldtourqatar.

 

About Clariba

Clariba delivers innovative, reliable and high-quality business intelligence (BI) solutions to customers worldwide. We are recognized and respected as one of the leading SAP Business Intelligence consultancies in EMEA. Our consultants, based in the Middle East and Europe are SAP BusinessObjects certified professionals and experts in the planning, installation, development and deployment of BI solutions. Clariba develops best practice BI solutions for dashboards, reporting and analysis, providing our customers with clarity and actionable insight to improve their business performance. Our customers in the Middle East are leaders in the telecommunication, education, manufacturing, and banking sectors. By working closely with business leaders and IT teams, Clariba turns vital data from ERP, CRM and other transactional systems into actionable insight for all levels of the organization. For more information on Clariba’s business intelligence solutions visit www.clariba.com or contact us at info@clariba.com.

ETL Tips & Tricks: Connecting IBM z/OS with Microsoft Windows Server

When we want to connect an IBM z/OS with a Microsoft Windows Server for ETL process purposes, it is important to understand how the IBM Mainframe network resources are configured and how to link this particular information in to the Microsoft Windows Server.

In this post I would like to explain how to configure the SNA Manager Application that is installed with Microsoft Host Integration Server (HIS) as the main link service tool. We will also look at using the IP-DLC link service (SNAIP1 windows service) to communicate with the IBM mainframe.

Understanding the basics

IBM z/OS includes a communications server with multiprotocol networking. It provides the data stream transportation corridor between the external network and the customer business applications running on z/OS. It basically uses a combination of TCP/IP and System Network Architecture (SNA) functions.

Technically, once HIS is installed in the Windows server, it communicates with the Mainframe by establishing a TN3270 session using TCP protocol. IBM’s communications server will translate this TN3270 session to SNA protocol. The application connection will be completed by acquiring a Logical Unit (LU) on behalf of the TN3270 connection created by HIS. This way, an LU-LU session is established between the communications server and the HIS.

All of the IBM processes are performed under a Virtual Telecommunication Access Method (VTAM) platform which provides the SNA layer network communication stack to transport data between applications and the end client.

APPN and APPC

The most common network topology configuration is the Advanced Peer-to-Peer Networking (APPN) defined by the VTAM Control Point (CP).  Its capabilities are related to enroot data in a network between two or more LU’s that do not need to be directly connected. The APPN network is enhanced with the Advanced Program-to-Program Communication (APPC), which defines the rules of how programs exchange information. This protocol is known as SNA LU 6.2. In other words, APPN defines how APPC traffic gets from one point to another in a network regardless the network configuration.

Configuring the SNA Manager

Once the HIS 2006 application has been installed in the Windows Server successfully, we have to run and configure the SNA Manager program.  This tool is designed to streamline the process of creating and managing connections to data sources in the host environment.

Once we have started up the SNA Manager program, the first step is to create a Microsoft SNA connection from the console root. Once created, Open SubDomain and select the primary configuration server. Once primary configuration server is defined, adding a new link service is mandatory. Two sections have to be defined: “Link Services setup” and the “SNA Service”. 

In the Link Services setup (managed by the SNAP1 windows service), first define the address as the primary network node server (NNS), then define the actual network name and its Control Point name in the local APPN node section. Finally, confirm “Use dynamic PU definition” check box so that independent LUs will be defined dynamically. LU’s are controlled by a Physical Unit (PU) in each node of an SNA network.

With the required link service already set up, individual resource connections between the  HIS servers and host servers must be configured as well. This is achieved by configuring an SNA service connection.

There are three steps for each SNA server connection setup (Connections, Local APPC LUs and Remote APPC LUs):

  1. In connections, define the name for the connection, specify SNAP1 as the link service and “peer system” as remote end type of host system. Typically leave the rest of the tabs by default.
  2. For the Local LU definition (our server), enter an 8 character length LU Alias and LU name which will identify the local system to other components on the SNA network, and specify the actual Network Name. Leave the advanced tab with default values.
  3. For the Remote LU definition (IBM side), enter the LU alias and LU name, the Network Name, and Uninterpreted LU Name. These values should be requested from the SNA Network administrator. Finally in the Options tab, check “support parallel sessions” to increase the number of available connections, define QPCSUPP within “Implicit Incoming mode” as the way the Remote APPC LU is partnered with the Local APPC LU, specify the required SNA security level and uncheck Enable Syncpoint check box unless you have a Local APPC LUs configured for SyncPoint support.

It is highly recommended to run and configure the Data Access tool as well, (created by the HIS installation), as it provides an excellent opportunity to test the database connection by using a Universal Data Link (UDL) file for OLE DB connections.

After setting up the Data Source connection and linking an active SNA server with an active SNA service connection, you should be able to successfully connect to the Mainframe.

If you have any questions or feedback about this post, please feel free to leave a comment below.

Xcelsius Suggestions: Searching and Filtering

Every day we face new filter challenges depending on our customer requirements. Sometimes the answer, “it is not possible” seems to be the most logical, but after a few minutes of brainstorming, the solution becomes clear.

Xcelsius became famous thanks to its what-if analysis and filtering options. In this article I want to share the solution of searching and filtering within Xcelsius by using a couple of out of the box components.

This feature allows the user to type part of the text needed for a filter, get the list of values(suggestion), select one of them and get the output in the dashboard.

To build this solution the developer only needs 5 components (the graph, the image and the white background have been added for the demo).

 

  1. The input text box is used to write the text to search/filter
  2. In the excel a “like” command is implemented as =IF(AND($A$1<>"",COUNTIF(A3,"*"&$A$1&"*")>0),1,0) where we are checking if the text written in the cell A1 is contained in A3
  3. The other components are meant to filter and move the desired value from the source to the destination

The result is the following:

 

And by clicking on Luca from the list of values, the result is:

 The limitation of this solution is that the user has to click on enter after typing the text in the input text box. A better solution could be written using Flex and ActionScript in order to have only one component doing all the work and without the need to press enter at any selection.

If you are interested in seeing the solution source and flash files, feel free to download the samples below. Please let us know if you have any feedback by leaving a comment below.

X-suggestions (swf) X-suggestions (zip file containing xlf)