Array of Wishlistsssss

Do you have features you'd like to see in future releases of DataStage, MetaStage, Parameter Manager, Version Control or one of the other tools represented on this forum? Post your ideas here!

Moderators: chulett, rschirm

Post Reply
ks489
Participant
Posts: 14
Joined: Fri Apr 15, 2005 1:45 pm

Array of Wishlistsssss

Post by ks489 »

1. Debugging for PX.
Server type debugging. Besides Peek, Head ,Tail, Row, Column gen.

2. Ctrl C , Ctrl V of META-Data (Table Definitions) from Sequential File /DB stage (besides Transformer/Copy stage), without saving in MetaData Repository.

3. Coming from java/c++ world, would be nice to Be able to package into one unit/solution . i.e. Routines/Functions/ Shared containers /jobs in one logical unit.

4. BASIC Routines can call ODBC (BCI) API /functions without buying drivers from DataDirect.

5. View source code genereated and modify it. (i know we can view OSH)

6. Use Local Stage variables, which are accessible through out the job not just in that transformer. Currently, we can use job parameters to achieve this.

7. Provide Derivation for Lookup Stage (server/px)
e.g. If Key=00 then 1 else 2
and pass this value 1 or 2, to lookup key column. currently it is a straight move.

8. While importing .dsx, Manager should ask for a base locations under jobs or routines or shared containers.

9. Show serial number of records, while viewing data in View Data dialogue box.

10. Ability to update Data from View Data dialogue box or DS management uitlity.

11. Comment out code - areas of a particular job (stages). This can be very helpful while developing code.
instead of cutting and pasting stages to an empty job every time.

12. Join /Modify stage should work for Left outer join, even if the non key columns are defined as Not Null.
As we have to use modify stage every time we want to do a left outer join from a dataset.

13. Null handling properties in Sequential file stage for fixed width columns. Use generic property for all fixed width column types, or define a function e.g. space(100) to specify a char(100) is nullable when it has 100 spaces defined. It is obviously difficult to type 100 spaces.

Regards,
Kash.
DSguru2B
Charter Member
Charter Member
Posts: 6854
Joined: Wed Feb 09, 2005 3:44 pm
Location: Houston, TX

Re: Array of Wishlistsssss

Post by DSguru2B »

Untill "they" add these features, a few work arounds and thoughts:

1. Debugging for PX.
Server type debugging. Besides Peek, Head ,Tail, Row, Column gen.

There are some bebugging Environment Variables that you can for more debugging options. Refer to Parallel Job Advanced User Guide for more details


2. Ctrl C , Ctrl V of META-Data (Table Definitions) from Sequential File /DB stage (besides Transformer/Copy stage), without saving in MetaData Repository.


You can copy paste the stage on the canvas. This will bring along all the links attached to it. Delete everything except the link you want the metadata of, rename it and connect it to any stage. The metadata will get copied.


3. Coming from java/c++ world, would be nice to Be able to package into one unit/solution . i.e. Routines/Functions/ Shared containers /jobs in one logical unit.

Do'nt know what you exactly mean by "one logical unit" but you can package all your custom C routines into a single .c file and create an object file out of it. Reference that object file for all different functions in it. There you go, everything in one place


4. BASIC Routines can call ODBC (BCI) API /functions without buying drivers from DataDirect.

Present on Windows. Not on unix. Thats related to DataDirect.

5. View source code genereated and modify it. (i know we can view OSH)

That can be a good advancement if you cannot achieve things with GUI.

6. Use Local Stage variables, which are accessible through out the job not just in that transformer. Currently, we can use job parameters to achieve this.

Stage variables, as the name suggests, have a stage wide life. Job variables/parameters has a job wide life. Hence you have both options.
Creativity is allowing yourself to make mistakes. Art is knowing which ones to keep.
kumar_s
Charter Member
Charter Member
Posts: 5245
Joined: Thu Jun 16, 2005 11:00 pm

Post by kumar_s »

Its all real worthy wishes.

Its good if we able to edit/set the value of JobProperty within the job.
And you expecting, View data to be a simple Text editor rather a data viewer.
Yes defaults for Char data tyeps, pains. I go for Varchar just for this reason.

12. What you expect for non matched records?
Impossible doesn't mean 'it is not possible' actually means... 'NOBODY HAS DONE IT SO FAR'
ks489
Participant
Posts: 14
Joined: Fri Apr 15, 2005 1:45 pm

Post by ks489 »

Thanks DSGuru and Kumar for your workaround methods.

Kumar -
12. What you expect for non matched records ?
For non matched records, i use function IsNotNull / IsNull

But this works only is the input non key field on Right dataset (Reference Dataset) in Left Outer Join is defined as NULLABLE.
If non key is NOT defined as NULLABLE this function wont work.

Problem i face is our project is very strict on metadata. If its not nullable, it cannot be defined as nullable.

That means every time i have to use a Left Outer join, iwould need to use a modify stage before i join, in order to make the non key column from not null to null.

I would like to get rid of this behaviour.

I want to be able to use Left outer join, without specifyin non key column in Right source as Not Null, if it is not null.

regards,
Kash.
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

1. Debugging for PX.
Server type debugging. Besides Peek, Head ,Tail, Row, Column gen.
Won't happen. A debugger needs a single stream of execution. In a parallel job, not only might you have multiple streams of execution, they might be on separate machines. And what happens when the grid management software changes the machine that you thought you were debugging on? Tell you what, you come up with a functional specification - one that would succeed - and maybe we can develop one. I confidently assert that you won't be able to.

2. Ctrl C , Ctrl V of META-Data (Table Definitions) from Sequential File /DB stage (besides Transformer/Copy stage), without saving in MetaData Repository.
That runs contrary to good metadata management practices. You need to preserve the linkages back to the Table Definitions branch of the Repository in order for Usage Analysis on table definitions to be able to work (also lineage analysis etc. in Metastage). Best (and correct) practice is to save in consistent/systematic locations in the table definitions branch of the Repository.

3. Coming from java/c++ world, would be nice to Be able to package into one unit/solution . i.e. Routines/Functions/ Shared containers /jobs in one logical unit.
This becomes closer to reality in version 8.0, where anything (a mixture of object types) can be in any folder in the Repository. Not really sure what you mean by "package" in this context.

4. BASIC Routines can call ODBC (BCI) API /functions without buying drivers from DataDirect.
They can. For 30 days. This is not a DataStage problem. What you pay for with DataStage is Data Direct drivers licensed only for use with ODBC stages. The fact that there is an SQL Client Interface in DataStage BASIC is a legacy of its UniVerse heritage. You'll never get this; the folks at Data Direct are too keen to preserve their income stream (they'd probably express it as recoup their development costs).

5. View source code genereated and modify it. (i know we can view OSH)
You can view it, though not conveniently in the GUI. Source code generated from job #nnn is in a subdirectory called RT_SCnnn (RunTime_SourceCode). You will never be permitted to modify it, so that the nexus between what's in the GUI and what's in the code is preserved. You could, of course, copy it as a prototype and paste it into a parallel routine.

6. Use Local Stage variables, which are accessible through out the job not just in that transformer. Currently, we can use job parameters to achieve this.
Many stages allow you to use job parameters. Please expand on this requirement. In which stages would stage variables be useful in your opinion? Certainly not in the Modify stage, because it is restricted to single-input functions.

7. Provide Derivation for Lookup Stage (server/px)
e.g. If Key=00 then 1 else 2
and pass this value 1 or 2, to lookup key column. currently it is a straight move.
That breaks with the parallel job's "one stage one task" philosophy. Version 8.0 has range lookups, so looks like things might be possible in that direction. But this kind of data transformation ought really to have occurred before you get into the Lookup stage - it's complex enough already. Take a look at the score of a Lookup stage to see what I mean.

8. While importing .dsx, Manager should ask for a base locations under jobs or routines or shared containers.
Why? They were exported from Category X and, in general, duplicate names are not permitted. So they can be imported into Category X with impunity.

9. Show serial number of records, while viewing data in View Data dialogue box.
They do that in the Show Generated OSH box, but the View Data control is a different kind of control. But it should be do-able. Write a more detailed specification, for example how the line numbers should behave after a Find.

10. Ability to update Data from View Data dialogue box or DS management uitlity.
Never!!! View Data is a generic data viewer, using specific "view data" functions in the underlying stage. Every stage type that supports view data would need to be completely rewritten and the DataStage API for stage types would also need to be heavily modified. Refer to the Plug-In Stage Writer's Guide to see what I mean.

11. Comment out code - areas of a particular job (stages). This can be very helpful while developing code.
instead of cutting and pasting stages to an empty job every time.
A more detailed specification would be useful. For example would this be a checkbox? Would there be a visual cue on the design area? What happens to the rows into and out of these stages? I suspect you haven't thought this one through thoroughly.

12. Join /Modify stage should work for Left outer join, even if the non key columns are defined as Not Null.
As we have to use modify stage every time we want to do a left outer join from a dataset.
Only if you have nullable data in the first place. Refer to my previous comment about "one task, one stage" philosophy. I've just done a Left Outer join with non-nullable non-key columns and it worked fine. So I'm not really sure what you mean here.

13. Null handling properties in Sequential file stage for fixed width columns. Use generic property for all fixed width column types, or define a function e.g. space(100) to specify a char(100) is nullable when it has 100 spaces defined. It is obviously difficult to type 100 spaces.
But you only have to do it once. Store them in a Notepad document. Copy and paste.

In summary, I don't think any of these is a winner.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
Post Reply