compiling & debugging Basic Code

Post questions here relative to DataStage Server Edition for such areas as Server job design, DS Basic, Routines, Job Sequences, etc.

Moderators: chulett, rschirm, roy

Post Reply
altruist
Participant
Posts: 73
Joined: Thu May 11, 2006 6:50 am

compiling & debugging Basic Code

Post by altruist »

Hi Everyone,

I am new to write Basic programs.

In the manager I saw where we can compile and Test the basic code (although would like to have better interface to debug step by step, able to see variables etc)

The Ascential document speaks about

a) CREATE.FILE, type 1 or type 19
b) RAID command for debugging.

Where can i use these commands, because they dont seem to work in UNIX (i tried by typing them in or is it that the path should be different etc.)

I would also like to know, best method to debug the code, which shows the contents of variables and allows step by step execution.

Thanks, Appreciate your help.
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

The CREATE.FILE and RAID commands are TCL ones, and you don't need or use them with DataStage BASIC coding. The programs you will work with in the Manager - the "Routines" type, get stored in a special repository file; thus the normal RAID utility will not work (without a bit of tweaking).

You can compile and test run your routines in the manager as you've said, and instead of going into the RAID tool you can put in your own debugging PRINT or DSLogInfo() calls.
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

Welcome aboard. :D

The best method, by far, is to write code that doesn't need debugging.

DataStage is primarily a graphical tool, and not really set up for debugging in that you don't write the "main" programs. Therefore, in order to be able to use RAID, you would also need to create testbed programs that invoke the functions/subroutines you create in DataStage.

In general it's not worth the effort. Use conditionally compiled calls to functions like DSLogInfo(). Use $DEFINE, $IFDEF and $ENDIF to specify conditional compilation.
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