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
Complex flat file - compilation problem
Moderators: chulett, rschirm, roy
-
- Premium Member
- Posts: 210
- Joined: Wed Feb 16, 2005 7:17 am
-
- Participant
- Posts: 54607
- Joined: Wed Oct 23, 2002 10:52 pm
- Location: Sydney, Australia
- Contact:
-
- Premium Member
- Posts: 210
- Joined: Wed Feb 16, 2005 7:17 am
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
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
-
- Premium Member
- Posts: 210
- Joined: Wed Feb 16, 2005 7:17 am
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
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