Page 1 of 1

Complex flat file - compilation problem

Posted: Tue May 15, 2007 7:14 am
by aakashahuja
Hi All,

My job does the following

CFF (reads ebcdic data) ---> Tfm ----> flat file

The tfm just selects a few columns from the input and writes to o/p. The CFF contains about 205 columns defined.

On trying to compile the job, I get the following error

Compiling: Source = 'RT_BP3618/JOB.848242765.DT.1438049575.TRANS1', Object = 'RT_BP3618.O/JOB.848242765.DT.1438049575.TRANS1'
************************************************************************************************************************************************************?*****
0443 IF STAGECOM.TRACE.STATS THEN CALL $PERF.NAME(-2,'asciiWHPW13_Read_Link.Derivation')
^
"IF" unexpected, Was expecting: Assignment Operator

I tried the recompiling / renaming / creating copy followed by compiles / deleting the i/p link n cff stage and re recreating again. The problem still persists.

Any help is appreciated.

Cheers
Aakash

Posted: Tue May 15, 2007 7:22 am
by chulett
Something like that would seem to be a bug. I'd suggest you contact your Support provider and ask them.

Posted: Tue May 15, 2007 4:29 pm
by ray.wurlod
Can you open the file RT_BP3618/JOB.848242765.DT.1438049575.TRANS1 in your project directory and post a 20 line window centred on line number 443?

Posted: Tue May 15, 2007 10:02 pm
by aakashahuja
Ray,

Here it is




$DEFINE Pin%%V0S12P5.Column%%195 STAGECOM.ARR(195)
$DEFINE Pin%%V0S12P5.Column%%196 STAGECOM.ARR(196)
$DEFINE Pin%%V0S12P5.Column%%197 STAGECOM.ARR(197)
$DEFINE Pin%%V0S12P5.Column%%198 STAGECOM.ARR(198)
$DEFINE Pin%%V0S12P5.Column%%199 STAGECOM.ARR(199)
$DEFINE Pin%%V0S12P5.Column%%200 STAGECOM.ARR(200)
$DEFINE Pin%%V0S12P5.Column%%201 STAGECOM.ARR(201)
$DEFINE Pin%%V0S12P5.Column%%202 STAGECOM.ARR(202)
$DEFINE Pin%%V0S12P5.Column%%203 STAGECOM.ARR(203)
$DEFINE Pin%%V0S12P5.Column%%204 STAGECOM.ARR(204)
$DEFINE Pin%%V0S12P5.Column%%205 STAGECOM.ARR(205)
$DEFINE GET.Pin%%V0S12P5 CALL $DSP.GetNext(1,Pin%%V0S12P5.REJECTEDCODE)
IF STAGECOM.TRACE.STATS THEN CALL $PERF.NAME(-2,'asciiWHPW13_Read_Link.Derivation')
$DEFINE Pin%%V0S12P1.Column%%1 STAGECOM.ARR(206)
$DEFINE Pin%%V0S12P1.Column%%2 STAGECOM.ARR(207)
$DEFINE Pin%%V0S12P1.Column%%3 STAGECOM.ARR(208)
$DEFINE Pin%%V0S12P1.Column%%4 STAGECOM.ARR(209)
$DEFINE Pin%%V0S12P1.Column%%5 STAGECOM.ARR(210)
$DEFINE Pin%%V0S12P1.Column%%6 STAGECOM.ARR(211)
$DEFINE Pin%%V0S12P1.Column%%7 STAGECOM.ARR(212)
$DEFINE Pin%%V0S12P1.Column%%8 STAGECOM.ARR(213)
$DEFINE Pin%%V0S12P1.Column%%9 STAGECOM.ARR(214)
$DEFINE Pin%%V0S12P1.Column%%10 STAGECOM.ARR(215)
$DEFINE PUT.Pin%%V0S12P1 CALL $DS.SEQPUT(2, Pin%%V0S12P1.REJECTEDCODE)

UPDATE.COUNT = STAGECOM.RATE



LOOP
REJECTED = @TRUE
* Get next row from primary input pin DSLink15
STAGECOM.PINNO = 1
GET.Pin%%V0S12P5
ERROR = Pin%%V0S12P5.REJECTEDCODE
WHILE NOT(ERROR)

STAGECOM.PINNO = 2
IF STAGECOM.TRACE.STATS THEN CALL $PERF.BEGIN(-2)
IF @TRUE THEN



Cheers
Aakash

Posted: Tue May 15, 2007 11:34 pm
by Sreedhar
I strongly believe that it is case of Meta data definition. Please double check the meta data, It should work fine.

Recently One of my colleague was facing the same prob.

Do let us know if you have found a solution.

Posted: Tue May 15, 2007 11:42 pm
by aakashahuja
It sure worked. I had left spaces before / after some column names in the CFF stage columns definition tab. Once I corrected those, it got compiled.

One thing to note though is that the job got compiled after removing spaces before. If some column had a space after it, it did not gave any problems. So I guess that a space after a column name is ok (although the complied code for trasnformer shows the difference clearly).

Thanks everyone
Aakash