BusinessObjects Board

Data Services enhancement & improvement ideas

Nice!


Werner Daehn :de: (BOB member since 2004-12-17)

  • Extend Lookup_Ext functionality to return a count of matching records found. This can be helpful to detect SCD2 lookup problems and lookup-counts are very useful when using Data Services for data migration work.

  • The ability to switch tables from permanent back to template without using the current workaround (delete table from data store repository and re-create as template table).

  • Did I mention CRC64 checksums already? :slight_smile:

  • in the DI Designer, when you close a window (say a transform in a DF), the previous tab seems to gain focus. Which is great if you “drilled” into your DF in sequence (say: Job -> WF -> DF -> Query Transform).

But I noticed that if the tab order got messed up, closing a Query Transform causes the DI Designer to put focus back on the Job or WF but not the DF. It would be very helpful to either have the ability to arrange the tab’s in the right order or for the DI Designer to automatically focus on the parent object regardless of the tab sequence.

  • The ability to export to real Excel files. This is very handy for data migration work. (Yes CSV’s can be opened in Excel but it’s not really the same thing and can cause formatting problems).

  • Support for Excel 2007/2010.

  • Support unstructured data sources like Word Documents, scanned invoices etc. Perhaps even a OCR capability to process documents?

Updated 2010.03.30:

  • “Find in Repository” feature. Often I am looking at an object on screen as part of a large Job, say a Workflow or Dataflow and I want to replicate or export that particular object … I now have to start searching throw my repository for that object by name. Since my repository is quite large and contains many objects, this is can be somewhat annoying.

I wish there was a feature similar like “View where used”, where it would say “Find in repository” and once clicked, the DI Designer would immediatley highlight and focus on that particular object in your repository (if present).


ErikR :new_zealand: (BOB member since 2007-01-10)

Another issue that I constantly forget to mention but has been bugging me since Data Integrator 11.x:

When you start the DI/DS Designer on a Windows workstation, the Designer does not appear as an application in the task bar until it receives focus.

If I have multiple windows open, I have to Alt-Tab to the Designer application to cause it to appear on the task bar.

I have seen this with Data Integrator Designer 11.5.0 through 11.5.3 and Data Services 12.0 through to 12.2.2. I can’t recall if I had this problem with Data Integrator 11.7.2 and 11.7.3 as I didn’t use this version as much as 11.5.x and 12.x.

In most cases, the Designer was running under Windows XP with various versions of applied XP Service Packs. I did try the Designer under both Windows Vista 64-bit and Windows Server 2008 64-bit but I cannot recall from memory if this issue also exists with these 64-bit operating systems.


ErikR :new_zealand: (BOB member since 2007-01-10)

Yes, I’ve had this problem since 11.x through 12.x on Win XP (32-bit).


dnewton :us: (BOB member since 2004-01-30)

Did you experience this problem also on Vista / Win7, either 32 or 64 bit?

I would like to see better search features for your local object library.
For instance, the ability to ignore certain object name prefixes.

Example: in our naming convention, all workflow names start with WF_, all dataflow names start with DF_ etc.

If I want to search for a workflow (or dataflow) called WF_FACT_MORTGAGE or WF_DIM_CUSTOMER etc, I have to scroll through the entire repository to find it.

While the Designer supports keystrokes to search for all workflows starting with ‘M’ (Mortage) or ‘C’ Customer - it is of little use when all workflows start with the same prefix! (WF_)

If I could set the Designer to ignore ‘WF_FACT_%’, ‘WF_DIM_%’, ‘WF_STG_%’ etc, it would be very easy to find items by hitting the keys for the first letter of ‘Mortage’ or ‘Customer’ etc.


ErikR :new_zealand: (BOB member since 2007-01-10)

  1. Following this thread:

https://bobj-board.org/t/147310

It would be nice to be able to control the number of processes a Job Server can try and execute in parallel rather than doing this at Job level.

The vast majority of BODI sites I’ve visited have gone down the approach of many small compact jobs, rather than large jobs that do everything. Therefore we should let the Job Server balance the load of work rather than the individual jobs which have no clue about what else is running on the server.

  1. The ability to be able to rank objects somehow when performing parallel exection. At the moment when you have a large number of workflows/dataflows running in parallel it seems random which ones it executes “first” (keeping in mind the usual 8 al_engine limit) It would be nice to be able to control this order and could tie in to my first request too :slight_smile:

ScoobyDoo :uk: (BOB member since 2007-05-10)

Support for Windows (NTLM) authentication for Web Service datastore connections… so we can get data out of MS SharePoint lists. (ADAPT01398029)


dnewton :us: (BOB member since 2004-01-30)

Scripting language/environment improvements:

  • a Reserve (VB: Right) Substring function to extract N number of characters from the end of the string.

  • Support for Arrays of various datatypes (Varchar, Date/Datetime, Decimal)

  • Reverse Index function: find first occurrence of search string LEFT of starting position

Anyone who transforming long text/CLOBS into SAP Long Text LSMWs will see how useful this is to make clean breaks.

Rightnow, I am processing each line, storing the latest break space into a local var until I exceed the maximum line lenght in SAP R/3 (standard 72 characters), exit the loop and then break the line on the latest recorded space location. A Reverse Index would be much cleaner and replace 3 lines of code with a single statement.

And some functions to make the generation of date dimensions a little easier:

  • Multi language date part name function to return the names of months and weekdays in English, French, Spanish, German, Dutch, Russian, Maori etc :mrgreen:

  • Public holiday function to mark/list all known public holidays per country.


ErikR :new_zealand: (BOB member since 2007-01-10)

Job execution improvements:

  • The ability for one job to call another job in the same or other repository, without having to use scripts for batch files/command file and with the option to execute a-sync or in-line.

Within SQL DTS (a long time ago, in a galaxy far far away…) you could call other DTS packages and that was very, very useful to break up processes in managable pieces.

This is especially useful when you have a large EDW ETL framework where not all pieces can be executed in a single nightly batch job or you want to execute certain parts at different intervals etc.


ErikR :new_zealand: (BOB member since 2007-01-10)

Yes, a function like:


 run_job ( jobname, sysconfig, checkbox_bits, global_param1, global_param2, ...)

dnewton :us: (BOB member since 2004-01-30)

[quote="ErikRExample: in our naming convention, all workflow names start with WF_, all dataflow names start with DF_ etc.

If I want to search for a workflow (or dataflow) called WF_FACT_MORTGAGE or WF_DIM_CUSTOMER etc, I have to scroll through the entire repository to find it.[/quote]

That’s why we ended our object names with _WF, _DF, etc.! :wink:

BTW, a big amen about the focus weirdness of Designer. There were times that I’d start it up, go off to do other things while it was firing up, getting distracted and forgetting that I’d done that, and wondering why it wasn’t starting when I clicked on the icon! Doh…


nitrobrother :us: (BOB member since 2004-09-08)

Well, that’s what I was taught by people from EdgeWing (spinoff from Acta consultants, then bought by BusinessObjects and now part of SAP) and it’s hard to break that habit… it just comes naturally! :mrgreen: :mrgreen:

But even if you would suffix the object type rather than prefix, you would still call things DIM_CUSTOMER or FACT_MORTGAGE, not? Unless you end up with CUSTOMER_DIM_WF which has a bit of an odd feeling to it.

Either way, I wouldn’t want to start bending best practice naming conventions solely based on the object search criteria within Data Services :wink:

Sometimes I had something really odd happening as well:

I’m in Designer and would do something to cause a non-optional window to be displayed, while shifting focus to another application like Excel, Outlook, Internet Explorer etc. With non-optional window, I mean a window that when displayed, Designer’s UI will only accept input/focus on that window and will not allow you to select other items out side of that window. (I’m sorry for the lack of clarity, it is nearly 10 years ago since I last coded any Windows based apps/UIs).

Example: I’m in Designer, I go to the project area - right click a job I’m working on and select “Execute”.

It can take a few moments to bring up the Execution Properties Window from where you actually commence the Job Execution - especially in Data Services 12.2.0, the retrieval from metadata from the repository was very slow and this could take quite some time. (It has much improved since we upgraded to Service Pack 2 - 12.2.2.!).

If I move focus away from Designer BEFORE it displays the Execution Properties Window, I cannot bring Designer back to the foreground! No matter if I click on Designer in the Windows Task Bar or Alt-Tab my way to the Designer … it will NOT show the application.

The only way I can force Designer “to surface”, is when I go the Windows Task Manager, select the Designer application on the “Applications” tab, right click and select “Bring To Front”!

Over the last months, this has happened to me several times - and it’s always in this scenario. Because Designer 12.2.2 is much more responsive and less laggy, I haven’t been in this scenario yet but it was a frequent issue when working with DS 12.2.0.

I haven’t seen this problem when working with Data Integrator 11.5.x and 11.7.x though.


ErikR :new_zealand: (BOB member since 2007-01-10)

I would like to see both a Function, to be called from scripts, but also a specific Job “Icon” that we can put inside a Workflow. And when you click it, would bring up a screen like Lookup_Ext where it would by default show:

  • your current Job Server (Browse option for other Job Servers)
  • your current repository (Browse option for other repositories)
  • a list of all jobs in your repository (Refresh based on selections above)

After selecting the job you want to execute, a screen identical to the Execution Properties Window appears where you can set properties and … variables!

On the variable screen, I would like to see the possibility to map your current “Parent” Job’s Global Variables and the calling Work Flow’s Local Variables / Parameters to the called Job’s Global Variables - much like the “Call” Window in the Variables screen.


ErikR :new_zealand: (BOB member since 2007-01-10)

Version control:

Full version control on both central repository and local repository with the ability to roll objects (projects, jobs, workflows, dataflows, custom functions) back to a specific version. And as part of that, capturing of full change history of each object.

I wouldn’t want to use an external tool like Subversion or BO LCM which is Subversion based but something completely integrated into Data Services, allowing you to apply version control straight from within the Designer Interface or generate version control / change history reports from the Management Console.

Bug reporting:

As part of the team development support, it would be great if Data
Services could also have a small bug tracking application - like Bugzilla - as part of the Data Services suite, with integration into the Data Services repositories. This could allow a BI development manager to assign bugs to specific Data Services developers or allow us to bind changes in our ETL processes to specific bugs raised in the tool. This then could help us to automatically generate Change Logs / Release Notes for ETL releases.

Interface enhancement:

When using the “wizard screens” to call things like Custom Functions, it brings up the screen where you can populate parameters … showing a little triangle symbol to let you browse the current Schema (to select columns) and the “…” symbol to bring up the function editor.

The problem is that when you use the triangle symbol, select a column name and then hit it AGAIN (because you selected the wrong column) … it doesn’t clear the input line. It just adds any new column name behind it. And it’s not always that straightforward to pick up until you actually execute the job or validate the job.

It would be very useful if the default behaviour would be to clear the input box everytime someone hits that “browse” button.


ErikR :new_zealand: (BOB member since 2007-01-10)

Error handling:

Possibility to capture Error Number and Error Description in a script function. Which is especially handy in a Try/Catch block for either custom logging or filtering out a specific database error number to determine a new course of action.


ErikR :new_zealand: (BOB member since 2007-01-10)

Erik, that’s in 12.1. Or do you mean a something else?


Werner Daehn :de: (BOB member since 2004-12-17)

It is? (goes into Designer and fudges around…) … IT IS!! :mrgreen:

OK, let me alter my request:

Could the Reference Guide / Functions and Procedures / Descriptions of built-in functions be updated to include entries for:

error_context()
error_message()
error_number()
error_timestamp()

With the notation that these only work in CATCH functions?

After digging around I have now found these listed under the CATCH object but I would much prefer to have a complete list of ALL functions under the “Functions & Procedures” listing.


ErikR :new_zealand: (BOB member since 2007-01-10)

ADAPT01412679


Werner Daehn :de: (BOB member since 2004-12-17)

Variables screen, Calls tab:

When creating calls to link Workflow Variables with Dataflow Parameters, you now have to type in the WF Variable.

I would much like the ability to have a pull-down menu of all WF variables at that scope level or something like that.


ErikR :new_zealand: (BOB member since 2007-01-10)

It would also be nice to do this at Workflow level. I have (and have had) cases where I have 30 or so DFs in a WF which can run in any order, but I need to throttle the number of parallel processes in that WF in order to stop the DBAs from beating me up because I’m overloading a source system database. I think I’m asking for something like a degree of parallelism property/option on workflows.


dastocks (BOB member since 2006-12-11)