problem in ODBC STAGE
Moderators: chulett, rschirm, roy
problem in ODBC STAGE
Hi,
i have a problem while using the odbc stage.My problem is,
I am using odbc as a source and target also an odbc.
when i load an emp table from source to target, in the target table the ename column and job colum no data is present insted of the data ???????? is available in the two colums columns.
pls help me.
regards
qmbs.
i have a problem while using the odbc stage.My problem is,
I am using odbc as a source and target also an odbc.
when i load an emp table from source to target, in the target table the ename column and job colum no data is present insted of the data ???????? is available in the two colums columns.
pls help me.
regards
qmbs.
Hello qmbs,
first off, welcome to the forums.
The next time you post, please make sure to do it in the appropriate forum - this is the "testimonial" forum and this question doesn't belong here. I am sure that one of those with access rights will move it soon.
DataStage has no problem going from ODBC to ODBC, so your issues lie elsewhere. Begin at the source ODBC stage. If you are in the designer, can you do a "view Data" on it? If you run the job from the designer can you see the number of rows going down that link, or do the same thing in the monitor under the director?
Keep it simple at first, go from ODBC to a sequential file and make sure it run. Once that works, change the target to another database table.
first off, welcome to the forums.
The next time you post, please make sure to do it in the appropriate forum - this is the "testimonial" forum and this question doesn't belong here. I am sure that one of those with access rights will move it soon.
DataStage has no problem going from ODBC to ODBC, so your issues lie elsewhere. Begin at the source ODBC stage. If you are in the designer, can you do a "view Data" on it? If you run the job from the designer can you see the number of rows going down that link, or do the same thing in the monitor under the director?
Keep it simple at first, go from ODBC to a sequential file and make sure it run. Once that works, change the target to another database table.
<a href=http://www.worldcommunitygrid.org/team/ ... TZ9H4CGVP1 target="WCGWin">
</a>
</a>
It looks like you have a text-translation error with the ENAME field...
There are several methods of getting this error. Quickest is to look at the detail records in the DIRECTOR log file for the job run - I am sure that the insert/update statement is generating a database error through ODBC. You can also modify your job so that rejected records get written to a text file.
There are several methods of getting this error. Quickest is to look at the detail records in the DIRECTOR log file for the job run - I am sure that the insert/update statement is generating a database error through ODBC. You can also modify your job so that rejected records get written to a text file.
<a href=http://www.worldcommunitygrid.org/team/ ... TZ9H4CGVP1 target="WCGWin">
</a>
</a>
qmbs,
You have done something wrong in the Transformer_2 - most likely one of your derivations generates a runtime error. Perhaps doing a mathematical operation on a string value? What sort of constraints or derivations do you have in that transform?
You have done something wrong in the Transformer_2 - most likely one of your derivations generates a runtime error. Perhaps doing a mathematical operation on a string value? What sort of constraints or derivations do you have in that transform?
<a href=http://www.worldcommunitygrid.org/team/ ... TZ9H4CGVP1 target="WCGWin">
</a>
</a>
arndw,
i am not using any derivations or constrains in the transformer stage.
i just load the sourceoci9 data to targetoci9 thats all.
and if i not use the transformer stage between the source and targetoci9 i am getting the following warning and the job gets aborted.
Attempting to Cleanup after ABORT raised in stage case4_oci_oci..Oracle_OCI_1.IDENT1
i am not using any derivations or constrains in the transformer stage.
i just load the sourceoci9 data to targetoci9 thats all.
and if i not use the transformer stage between the source and targetoci9 i am getting the following warning and the job gets aborted.
Attempting to Cleanup after ABORT raised in stage case4_oci_oci..Oracle_OCI_1.IDENT1
When you have the transformer, run the job to get an abort, then do a RESET in the Director and look at what log messages show up under "from previous run".
<a href=http://www.worldcommunitygrid.org/team/ ... TZ9H4CGVP1 target="WCGWin">
</a>
</a>
hi arndw,
i am getting the following message.
From previous run
DataStage Job 4 Phantom 1956
Program "JOB.368353998.DT.1375338332.TRANS1": Line 62, Exception raised in GCI subroutine:
Access violation.
Attempting to Cleanup after ABORT raised in stage case4_oci_oci..Transformer_8
Program "DSP.Close": Line 87, Exception raised in GCI subroutine:
Access violation.
regards
qmbs
i am getting the following message.
From previous run
DataStage Job 4 Phantom 1956
Program "JOB.368353998.DT.1375338332.TRANS1": Line 62, Exception raised in GCI subroutine:
Access violation.
Attempting to Cleanup after ABORT raised in stage case4_oci_oci..Transformer_8
Program "DSP.Close": Line 87, Exception raised in GCI subroutine:
Access violation.
regards
qmbs
qmbs,
hmmm, so what steps have you taken so far to find out what the cause might be?
hmmm, so what steps have you taken so far to find out what the cause might be?
<a href=http://www.worldcommunitygrid.org/team/ ... TZ9H4CGVP1 target="WCGWin">
</a>
</a>
Hi,
I think this error was caused due to the characters that were not able to identify the NLS settings that was defined in the job. '??' seems to me, as Arnd mentioned the defined NLS setting not able to convert the input characters in the source. Pls check your input to identify the invalid characters and set the right NLS settings or transform those characters then the job would work.
HTWH.
Regards
Saravanan
I think this error was caused due to the characters that were not able to identify the NLS settings that was defined in the job. '??' seems to me, as Arnd mentioned the defined NLS setting not able to convert the input characters in the source. Pls check your input to identify the invalid characters and set the right NLS settings or transform those characters then the job would work.
HTWH.
Regards
Saravanan
Hi saravanan ,
that issue was rsolve d.My another issue is while i am using the oci9 stage as a source and a target i am getting the following error message.
From previous run
DataStage Job 4 Phantom 1956
Program "JOB.368353998.DT.1375338332.TRANS1": Line 62, Exception raised in GCI subroutine:
Access violation.
Attempting to Cleanup after ABORT raised in stage case4_oci_oci..Transformer_8
Program "DSP.Close": Line 87, Exception raised in GCI subroutine:
Access violation.
regards
qmbs.
that issue was rsolve d.My another issue is while i am using the oci9 stage as a source and a target i am getting the following error message.
From previous run
DataStage Job 4 Phantom 1956
Program "JOB.368353998.DT.1375338332.TRANS1": Line 62, Exception raised in GCI subroutine:
Access violation.
Attempting to Cleanup after ABORT raised in stage case4_oci_oci..Transformer_8
Program "DSP.Close": Line 87, Exception raised in GCI subroutine:
Access violation.
regards
qmbs.
Hi qmbs,
Can you share with us how the problem was resolved so that everyone else will get benefit while searching the forum for these kind of problems.
I would suggesst you to separate the topic if this is considered as a separate issue.
Are you doing any conversion/transformation in the transformer?
Pls look at the transformer code at line 87. JOB.368353998.DT.1375338332.TRANS1 can be found RT_BP4 folder under your project directory.
HTWH.
Regards
Saravanan
Can you share with us how the problem was resolved so that everyone else will get benefit while searching the forum for these kind of problems.
I would suggesst you to separate the topic if this is considered as a separate issue.
Are you doing any conversion/transformation in the transformer?
Pls look at the transformer code at line 87. JOB.368353998.DT.1375338332.TRANS1 can be found RT_BP4 folder under your project directory.
HTWH.
Regards
Saravanan
Hi saravanan ,
i removed my table definitions and imported again then it works fine.
and regarding my anther issue i could nt find anything .
i am getting the following:
* Tokens were replaced below as follows:
* Pin%%V0S8P1.Column%%1 <= DSLink3.EMPNO
* Pin%%V0S8P1.Column%%2 <= DSLink3.ENAME
* Pin%%V0S8P1.Column%%3 <= DSLink3.JOB
* Pin%%V0S8P1.Column%%4 <= DSLink3.MGR
* Pin%%V0S8P1.Column%%5 <= DSLink3.HIREDATE
* Pin%%V0S8P1.Column%%6 <= DSLink3.SAL
* Pin%%V0S8P1.Column%%7 <= DSLink3.COMM
* Pin%%V0S8P1.Column%%8 <= DSLink3.DEPTNO
* GET.Pin%%V0S8P1 <= GET.DSLink3
* Pin%%V0S8P1.REJECTEDCODE <= DSLink3.REJECTEDCODE
* Pin%%V0S8P2.Column%%1 <= DSLink9.EMPNO
* Pin%%V0S8P2.Column%%2 <= DSLink9.ENAME
* Pin%%V0S8P2.Column%%3 <= DSLink9.JOB
* Pin%%V0S8P2.Column%%4 <= DSLink9.MGR
* Pin%%V0S8P2.Column%%5 <= DSLink9.HIREDATE
* Pin%%V0S8P2.Column%%6 <= DSLink9.SAL
* Pin%%V0S8P2.Column%%7 <= DSLink9.COMM
* Pin%%V0S8P2.Column%%8 <= DSLink9.DEPTNO
* PUT.Pin%%V0S8P2 <= PUT.DSLink9
* Pin%%V0S8P2.REJECTED <= DSLink9.REJECTED
* Pin%%V0S8P2.REJECTEDCODE <= DSLink9.REJECTEDCODE
*
* Subroutine for active stage case4_oci_oci.Transformer_8 generated at 18:04:50 29 AUG 2005
*
SUBROUTINE DSTransformerStage(HANDLES,ERROR)
$INCLUDE DSINCLUDE DSD_RTCONFIG.H
$INCLUDE DSINCLUDE DSD_STAGE.H
$INCLUDE DSINCLUDE DSD_BCI.H
$INCLUDE DSINCLUDE JOBCONTROL.H
DEFFUN DSRLoadString(Num,Text,Args) CALLING '*DataStage*DSR_LOADSTRING'
$DEFINE Pin%%V0S8P1.Column%%1 STAGECOM.ARR(1)
$DEFINE Pin%%V0S8P1.Column%%2 STAGECOM.ARR(2)
$DEFINE Pin%%V0S8P1.Column%%3 STAGECOM.ARR(3)
$DEFINE Pin%%V0S8P1.Column%%4 STAGECOM.ARR(4)
$DEFINE Pin%%V0S8P1.Column%%5 STAGECOM.ARR(5)
$DEFINE Pin%%V0S8P1.Column%%6 STAGECOM.ARR(6)
$DEFINE Pin%%V0S8P1.Column%%7 STAGECOM.ARR(7)
$DEFINE Pin%%V0S8P1.Column%%8 STAGECOM.ARR(8)
$DEFINE GET.Pin%%V0S8P1 CALL $DSP.GetNext(1,Pin%%V0S8P1.REJECTEDCODE)
IF STAGECOM.TRACE.STATS THEN CALL $PERF.NAME(-2,'DSLink9.Derivation')
$DEFINE Pin%%V0S8P2.Column%%1 STAGECOM.ARR(1)
$DEFINE Pin%%V0S8P2.Column%%2 STAGECOM.ARR(2)
$DEFINE Pin%%V0S8P2.Column%%3 STAGECOM.ARR(3)
$DEFINE Pin%%V0S8P2.Column%%4 STAGECOM.ARR(4)
$DEFINE Pin%%V0S8P2.Column%%5 STAGECOM.ARR(5)
$DEFINE Pin%%V0S8P2.Column%%6 STAGECOM.ARR(6)
$DEFINE Pin%%V0S8P2.Column%%7 STAGECOM.ARR(7)
$DEFINE Pin%%V0S8P2.Column%%8 STAGECOM.ARR(8)
$DEFINE PUT.Pin%%V0S8P2 CALL $DSP.Put(2, Pin%%V0S8P2.REJECTEDCODE)
UPDATE.COUNT = STAGECOM.RATE
LOOP
REJECTED = @TRUE
* Get next row from primary input pin DSLink3
STAGECOM.PINNO = 1
GET.Pin%%V0S8P1
ERROR = Pin%%V0S8P1.REJECTEDCODE
WHILE NOT(ERROR)
STAGECOM.PINNO = 2
* This is the first link in this TXN group, start the transaction.
IF BCICOM.TXGROUPSTATUS<1,1> = "" OR BCICOM.TXGROUPSTATUS<1,1> = 0 THEN
TXSTATUS = 0
CALL $DSP.TxnStart(2, TXSTATUS)
IF TXSTATUS = TXNStarted THEN BCICOM.TXGROUPSTATUS<1,1> = TXSTATUS
BCICOM.TXGROUPSTATUS<1,2> = 2 ;* Pin handle
END
Pin%%V0S8P2.REJECTEDCODE = 0
IF BCICOM.TXGROUPSTATUS<1,1> = TXNStarted THEN
IF STAGECOM.TRACE.STATS THEN CALL $PERF.BEGIN(-2)
IF @TRUE THEN
* Column derivation code for pin DSLink9
Pin%%V0S8P2.REJECTED = @FALSE
IF STAGECOM.TRACE.STATS THEN CALL $PERF.END(-2)
PUT.Pin%%V0S8P2
IF NOT(Pin%%V0S8P2.REJECTEDCODE) THEN
REJECTED = @FALSE
END ELSE
Pin%%V0S8P2.REJECTED = @TRUE
* TXN Continue on SQL write failure
END
END
ELSE
Pin%%V0S8P2.REJECTED = @TRUE
Pin%%V0S8P2.REJECTEDCODE = 0
* TXN Continue on link constraint failure
END
END
FOR I = 1 TO 1
BEGIN CASE
CASE BCICOM.TXGROUPSTATUS<I,1> = TXNCommitted OR BCICOM.TXGROUPSTATUS<I,1> = TXNAborted
BCICOM.TXGROUPSTATUS<I,1> = ""
CASE BCICOM.TXGROUPSTATUS<I,1> <> ""
BCICOM.TXGROUPSTATUS<I,1> = TXNStarted
END CASE
NEXT I
UPDATE.COUNT -= 1
IF UPDATE.COUNT LE 0 THEN CALL DSD.Update(HANDLES);UPDATE.COUNT = STAGECOM.RATE
REPEAT
IF (ERROR = DSE.EOF) or (ERROR = DSE.EOT) THEN
TXSTATUS = 0
* Transaction size is 0 - commit pending rows.
CALL $DSP.TxnCommit(2, TXSTATUS)
END
RETURN
END
pls help me to resolve this issue.
i removed my table definitions and imported again then it works fine.
and regarding my anther issue i could nt find anything .
i am getting the following:
* Tokens were replaced below as follows:
* Pin%%V0S8P1.Column%%1 <= DSLink3.EMPNO
* Pin%%V0S8P1.Column%%2 <= DSLink3.ENAME
* Pin%%V0S8P1.Column%%3 <= DSLink3.JOB
* Pin%%V0S8P1.Column%%4 <= DSLink3.MGR
* Pin%%V0S8P1.Column%%5 <= DSLink3.HIREDATE
* Pin%%V0S8P1.Column%%6 <= DSLink3.SAL
* Pin%%V0S8P1.Column%%7 <= DSLink3.COMM
* Pin%%V0S8P1.Column%%8 <= DSLink3.DEPTNO
* GET.Pin%%V0S8P1 <= GET.DSLink3
* Pin%%V0S8P1.REJECTEDCODE <= DSLink3.REJECTEDCODE
* Pin%%V0S8P2.Column%%1 <= DSLink9.EMPNO
* Pin%%V0S8P2.Column%%2 <= DSLink9.ENAME
* Pin%%V0S8P2.Column%%3 <= DSLink9.JOB
* Pin%%V0S8P2.Column%%4 <= DSLink9.MGR
* Pin%%V0S8P2.Column%%5 <= DSLink9.HIREDATE
* Pin%%V0S8P2.Column%%6 <= DSLink9.SAL
* Pin%%V0S8P2.Column%%7 <= DSLink9.COMM
* Pin%%V0S8P2.Column%%8 <= DSLink9.DEPTNO
* PUT.Pin%%V0S8P2 <= PUT.DSLink9
* Pin%%V0S8P2.REJECTED <= DSLink9.REJECTED
* Pin%%V0S8P2.REJECTEDCODE <= DSLink9.REJECTEDCODE
*
* Subroutine for active stage case4_oci_oci.Transformer_8 generated at 18:04:50 29 AUG 2005
*
SUBROUTINE DSTransformerStage(HANDLES,ERROR)
$INCLUDE DSINCLUDE DSD_RTCONFIG.H
$INCLUDE DSINCLUDE DSD_STAGE.H
$INCLUDE DSINCLUDE DSD_BCI.H
$INCLUDE DSINCLUDE JOBCONTROL.H
DEFFUN DSRLoadString(Num,Text,Args) CALLING '*DataStage*DSR_LOADSTRING'
$DEFINE Pin%%V0S8P1.Column%%1 STAGECOM.ARR(1)
$DEFINE Pin%%V0S8P1.Column%%2 STAGECOM.ARR(2)
$DEFINE Pin%%V0S8P1.Column%%3 STAGECOM.ARR(3)
$DEFINE Pin%%V0S8P1.Column%%4 STAGECOM.ARR(4)
$DEFINE Pin%%V0S8P1.Column%%5 STAGECOM.ARR(5)
$DEFINE Pin%%V0S8P1.Column%%6 STAGECOM.ARR(6)
$DEFINE Pin%%V0S8P1.Column%%7 STAGECOM.ARR(7)
$DEFINE Pin%%V0S8P1.Column%%8 STAGECOM.ARR(8)
$DEFINE GET.Pin%%V0S8P1 CALL $DSP.GetNext(1,Pin%%V0S8P1.REJECTEDCODE)
IF STAGECOM.TRACE.STATS THEN CALL $PERF.NAME(-2,'DSLink9.Derivation')
$DEFINE Pin%%V0S8P2.Column%%1 STAGECOM.ARR(1)
$DEFINE Pin%%V0S8P2.Column%%2 STAGECOM.ARR(2)
$DEFINE Pin%%V0S8P2.Column%%3 STAGECOM.ARR(3)
$DEFINE Pin%%V0S8P2.Column%%4 STAGECOM.ARR(4)
$DEFINE Pin%%V0S8P2.Column%%5 STAGECOM.ARR(5)
$DEFINE Pin%%V0S8P2.Column%%6 STAGECOM.ARR(6)
$DEFINE Pin%%V0S8P2.Column%%7 STAGECOM.ARR(7)
$DEFINE Pin%%V0S8P2.Column%%8 STAGECOM.ARR(8)
$DEFINE PUT.Pin%%V0S8P2 CALL $DSP.Put(2, Pin%%V0S8P2.REJECTEDCODE)
UPDATE.COUNT = STAGECOM.RATE
LOOP
REJECTED = @TRUE
* Get next row from primary input pin DSLink3
STAGECOM.PINNO = 1
GET.Pin%%V0S8P1
ERROR = Pin%%V0S8P1.REJECTEDCODE
WHILE NOT(ERROR)
STAGECOM.PINNO = 2
* This is the first link in this TXN group, start the transaction.
IF BCICOM.TXGROUPSTATUS<1,1> = "" OR BCICOM.TXGROUPSTATUS<1,1> = 0 THEN
TXSTATUS = 0
CALL $DSP.TxnStart(2, TXSTATUS)
IF TXSTATUS = TXNStarted THEN BCICOM.TXGROUPSTATUS<1,1> = TXSTATUS
BCICOM.TXGROUPSTATUS<1,2> = 2 ;* Pin handle
END
Pin%%V0S8P2.REJECTEDCODE = 0
IF BCICOM.TXGROUPSTATUS<1,1> = TXNStarted THEN
IF STAGECOM.TRACE.STATS THEN CALL $PERF.BEGIN(-2)
IF @TRUE THEN
* Column derivation code for pin DSLink9
Pin%%V0S8P2.REJECTED = @FALSE
IF STAGECOM.TRACE.STATS THEN CALL $PERF.END(-2)
PUT.Pin%%V0S8P2
IF NOT(Pin%%V0S8P2.REJECTEDCODE) THEN
REJECTED = @FALSE
END ELSE
Pin%%V0S8P2.REJECTED = @TRUE
* TXN Continue on SQL write failure
END
END
ELSE
Pin%%V0S8P2.REJECTED = @TRUE
Pin%%V0S8P2.REJECTEDCODE = 0
* TXN Continue on link constraint failure
END
END
FOR I = 1 TO 1
BEGIN CASE
CASE BCICOM.TXGROUPSTATUS<I,1> = TXNCommitted OR BCICOM.TXGROUPSTATUS<I,1> = TXNAborted
BCICOM.TXGROUPSTATUS<I,1> = ""
CASE BCICOM.TXGROUPSTATUS<I,1> <> ""
BCICOM.TXGROUPSTATUS<I,1> = TXNStarted
END CASE
NEXT I
UPDATE.COUNT -= 1
IF UPDATE.COUNT LE 0 THEN CALL DSD.Update(HANDLES);UPDATE.COUNT = STAGECOM.RATE
REPEAT
IF (ERROR = DSE.EOF) or (ERROR = DSE.EOT) THEN
TXSTATUS = 0
* Transaction size is 0 - commit pending rows.
CALL $DSP.TxnCommit(2, TXSTATUS)
END
RETURN
END
pls help me to resolve this issue.
Hi saravanan ,
i removed my table definitions and imported again then it works fine.
and regarding my anther issue i could nt find anything .
i am getting the following:
* Tokens were replaced below as follows:
* Pin%%V0S8P1.Column%%1 <= DSLink3.EMPNO
* Pin%%V0S8P1.Column%%2 <= DSLink3.ENAME
* Pin%%V0S8P1.Column%%3 <= DSLink3.JOB
* Pin%%V0S8P1.Column%%4 <= DSLink3.MGR
* Pin%%V0S8P1.Column%%5 <= DSLink3.HIREDATE
* Pin%%V0S8P1.Column%%6 <= DSLink3.SAL
* Pin%%V0S8P1.Column%%7 <= DSLink3.COMM
* Pin%%V0S8P1.Column%%8 <= DSLink3.DEPTNO
* GET.Pin%%V0S8P1 <= GET.DSLink3
* Pin%%V0S8P1.REJECTEDCODE <= DSLink3.REJECTEDCODE
* Pin%%V0S8P2.Column%%1 <= DSLink9.EMPNO
* Pin%%V0S8P2.Column%%2 <= DSLink9.ENAME
* Pin%%V0S8P2.Column%%3 <= DSLink9.JOB
* Pin%%V0S8P2.Column%%4 <= DSLink9.MGR
* Pin%%V0S8P2.Column%%5 <= DSLink9.HIREDATE
* Pin%%V0S8P2.Column%%6 <= DSLink9.SAL
* Pin%%V0S8P2.Column%%7 <= DSLink9.COMM
* Pin%%V0S8P2.Column%%8 <= DSLink9.DEPTNO
* PUT.Pin%%V0S8P2 <= PUT.DSLink9
* Pin%%V0S8P2.REJECTED <= DSLink9.REJECTED
* Pin%%V0S8P2.REJECTEDCODE <= DSLink9.REJECTEDCODE
*
* Subroutine for active stage case4_oci_oci.Transformer_8 generated at 18:04:50 29 AUG 2005
*
SUBROUTINE DSTransformerStage(HANDLES,ERROR)
$INCLUDE DSINCLUDE DSD_RTCONFIG.H
$INCLUDE DSINCLUDE DSD_STAGE.H
$INCLUDE DSINCLUDE DSD_BCI.H
$INCLUDE DSINCLUDE JOBCONTROL.H
DEFFUN DSRLoadString(Num,Text,Args) CALLING '*DataStage*DSR_LOADSTRING'
$DEFINE Pin%%V0S8P1.Column%%1 STAGECOM.ARR(1)
$DEFINE Pin%%V0S8P1.Column%%2 STAGECOM.ARR(2)
$DEFINE Pin%%V0S8P1.Column%%3 STAGECOM.ARR(3)
$DEFINE Pin%%V0S8P1.Column%%4 STAGECOM.ARR(4)
$DEFINE Pin%%V0S8P1.Column%%5 STAGECOM.ARR(5)
$DEFINE Pin%%V0S8P1.Column%%6 STAGECOM.ARR(6)
$DEFINE Pin%%V0S8P1.Column%%7 STAGECOM.ARR(7)
$DEFINE Pin%%V0S8P1.Column%%8 STAGECOM.ARR(8)
$DEFINE GET.Pin%%V0S8P1 CALL $DSP.GetNext(1,Pin%%V0S8P1.REJECTEDCODE)
IF STAGECOM.TRACE.STATS THEN CALL $PERF.NAME(-2,'DSLink9.Derivation')
$DEFINE Pin%%V0S8P2.Column%%1 STAGECOM.ARR(1)
$DEFINE Pin%%V0S8P2.Column%%2 STAGECOM.ARR(2)
$DEFINE Pin%%V0S8P2.Column%%3 STAGECOM.ARR(3)
$DEFINE Pin%%V0S8P2.Column%%4 STAGECOM.ARR(4)
$DEFINE Pin%%V0S8P2.Column%%5 STAGECOM.ARR(5)
$DEFINE Pin%%V0S8P2.Column%%6 STAGECOM.ARR(6)
$DEFINE Pin%%V0S8P2.Column%%7 STAGECOM.ARR(7)
$DEFINE Pin%%V0S8P2.Column%%8 STAGECOM.ARR(8)
$DEFINE PUT.Pin%%V0S8P2 CALL $DSP.Put(2, Pin%%V0S8P2.REJECTEDCODE)
UPDATE.COUNT = STAGECOM.RATE
LOOP
REJECTED = @TRUE
* Get next row from primary input pin DSLink3
STAGECOM.PINNO = 1
GET.Pin%%V0S8P1
ERROR = Pin%%V0S8P1.REJECTEDCODE
WHILE NOT(ERROR)
STAGECOM.PINNO = 2
* This is the first link in this TXN group, start the transaction.
IF BCICOM.TXGROUPSTATUS<1,1> = "" OR BCICOM.TXGROUPSTATUS<1,1> = 0 THEN
TXSTATUS = 0
CALL $DSP.TxnStart(2, TXSTATUS)
IF TXSTATUS = TXNStarted THEN BCICOM.TXGROUPSTATUS<1,1> = TXSTATUS
BCICOM.TXGROUPSTATUS<1,2> = 2 ;* Pin handle
END
Pin%%V0S8P2.REJECTEDCODE = 0
IF BCICOM.TXGROUPSTATUS<1,1> = TXNStarted THEN
IF STAGECOM.TRACE.STATS THEN CALL $PERF.BEGIN(-2)
IF @TRUE THEN
* Column derivation code for pin DSLink9
Pin%%V0S8P2.REJECTED = @FALSE
IF STAGECOM.TRACE.STATS THEN CALL $PERF.END(-2)
PUT.Pin%%V0S8P2
IF NOT(Pin%%V0S8P2.REJECTEDCODE) THEN
REJECTED = @FALSE
END ELSE
Pin%%V0S8P2.REJECTED = @TRUE
* TXN Continue on SQL write failure
END
END
ELSE
Pin%%V0S8P2.REJECTED = @TRUE
Pin%%V0S8P2.REJECTEDCODE = 0
* TXN Continue on link constraint failure
END
END
FOR I = 1 TO 1
BEGIN CASE
CASE BCICOM.TXGROUPSTATUS<I,1> = TXNCommitted OR BCICOM.TXGROUPSTATUS<I,1> = TXNAborted
BCICOM.TXGROUPSTATUS<I,1> = ""
CASE BCICOM.TXGROUPSTATUS<I,1> <> ""
BCICOM.TXGROUPSTATUS<I,1> = TXNStarted
END CASE
NEXT I
UPDATE.COUNT -= 1
IF UPDATE.COUNT LE 0 THEN CALL DSD.Update(HANDLES);UPDATE.COUNT = STAGECOM.RATE
REPEAT
IF (ERROR = DSE.EOF) or (ERROR = DSE.EOT) THEN
TXSTATUS = 0
* Transaction size is 0 - commit pending rows.
CALL $DSP.TxnCommit(2, TXSTATUS)
END
RETURN
END
pls help me to resolve this issue.
regards
qmbs
i removed my table definitions and imported again then it works fine.
and regarding my anther issue i could nt find anything .
i am getting the following:
* Tokens were replaced below as follows:
* Pin%%V0S8P1.Column%%1 <= DSLink3.EMPNO
* Pin%%V0S8P1.Column%%2 <= DSLink3.ENAME
* Pin%%V0S8P1.Column%%3 <= DSLink3.JOB
* Pin%%V0S8P1.Column%%4 <= DSLink3.MGR
* Pin%%V0S8P1.Column%%5 <= DSLink3.HIREDATE
* Pin%%V0S8P1.Column%%6 <= DSLink3.SAL
* Pin%%V0S8P1.Column%%7 <= DSLink3.COMM
* Pin%%V0S8P1.Column%%8 <= DSLink3.DEPTNO
* GET.Pin%%V0S8P1 <= GET.DSLink3
* Pin%%V0S8P1.REJECTEDCODE <= DSLink3.REJECTEDCODE
* Pin%%V0S8P2.Column%%1 <= DSLink9.EMPNO
* Pin%%V0S8P2.Column%%2 <= DSLink9.ENAME
* Pin%%V0S8P2.Column%%3 <= DSLink9.JOB
* Pin%%V0S8P2.Column%%4 <= DSLink9.MGR
* Pin%%V0S8P2.Column%%5 <= DSLink9.HIREDATE
* Pin%%V0S8P2.Column%%6 <= DSLink9.SAL
* Pin%%V0S8P2.Column%%7 <= DSLink9.COMM
* Pin%%V0S8P2.Column%%8 <= DSLink9.DEPTNO
* PUT.Pin%%V0S8P2 <= PUT.DSLink9
* Pin%%V0S8P2.REJECTED <= DSLink9.REJECTED
* Pin%%V0S8P2.REJECTEDCODE <= DSLink9.REJECTEDCODE
*
* Subroutine for active stage case4_oci_oci.Transformer_8 generated at 18:04:50 29 AUG 2005
*
SUBROUTINE DSTransformerStage(HANDLES,ERROR)
$INCLUDE DSINCLUDE DSD_RTCONFIG.H
$INCLUDE DSINCLUDE DSD_STAGE.H
$INCLUDE DSINCLUDE DSD_BCI.H
$INCLUDE DSINCLUDE JOBCONTROL.H
DEFFUN DSRLoadString(Num,Text,Args) CALLING '*DataStage*DSR_LOADSTRING'
$DEFINE Pin%%V0S8P1.Column%%1 STAGECOM.ARR(1)
$DEFINE Pin%%V0S8P1.Column%%2 STAGECOM.ARR(2)
$DEFINE Pin%%V0S8P1.Column%%3 STAGECOM.ARR(3)
$DEFINE Pin%%V0S8P1.Column%%4 STAGECOM.ARR(4)
$DEFINE Pin%%V0S8P1.Column%%5 STAGECOM.ARR(5)
$DEFINE Pin%%V0S8P1.Column%%6 STAGECOM.ARR(6)
$DEFINE Pin%%V0S8P1.Column%%7 STAGECOM.ARR(7)
$DEFINE Pin%%V0S8P1.Column%%8 STAGECOM.ARR(8)
$DEFINE GET.Pin%%V0S8P1 CALL $DSP.GetNext(1,Pin%%V0S8P1.REJECTEDCODE)
IF STAGECOM.TRACE.STATS THEN CALL $PERF.NAME(-2,'DSLink9.Derivation')
$DEFINE Pin%%V0S8P2.Column%%1 STAGECOM.ARR(1)
$DEFINE Pin%%V0S8P2.Column%%2 STAGECOM.ARR(2)
$DEFINE Pin%%V0S8P2.Column%%3 STAGECOM.ARR(3)
$DEFINE Pin%%V0S8P2.Column%%4 STAGECOM.ARR(4)
$DEFINE Pin%%V0S8P2.Column%%5 STAGECOM.ARR(5)
$DEFINE Pin%%V0S8P2.Column%%6 STAGECOM.ARR(6)
$DEFINE Pin%%V0S8P2.Column%%7 STAGECOM.ARR(7)
$DEFINE Pin%%V0S8P2.Column%%8 STAGECOM.ARR(8)
$DEFINE PUT.Pin%%V0S8P2 CALL $DSP.Put(2, Pin%%V0S8P2.REJECTEDCODE)
UPDATE.COUNT = STAGECOM.RATE
LOOP
REJECTED = @TRUE
* Get next row from primary input pin DSLink3
STAGECOM.PINNO = 1
GET.Pin%%V0S8P1
ERROR = Pin%%V0S8P1.REJECTEDCODE
WHILE NOT(ERROR)
STAGECOM.PINNO = 2
* This is the first link in this TXN group, start the transaction.
IF BCICOM.TXGROUPSTATUS<1,1> = "" OR BCICOM.TXGROUPSTATUS<1,1> = 0 THEN
TXSTATUS = 0
CALL $DSP.TxnStart(2, TXSTATUS)
IF TXSTATUS = TXNStarted THEN BCICOM.TXGROUPSTATUS<1,1> = TXSTATUS
BCICOM.TXGROUPSTATUS<1,2> = 2 ;* Pin handle
END
Pin%%V0S8P2.REJECTEDCODE = 0
IF BCICOM.TXGROUPSTATUS<1,1> = TXNStarted THEN
IF STAGECOM.TRACE.STATS THEN CALL $PERF.BEGIN(-2)
IF @TRUE THEN
* Column derivation code for pin DSLink9
Pin%%V0S8P2.REJECTED = @FALSE
IF STAGECOM.TRACE.STATS THEN CALL $PERF.END(-2)
PUT.Pin%%V0S8P2
IF NOT(Pin%%V0S8P2.REJECTEDCODE) THEN
REJECTED = @FALSE
END ELSE
Pin%%V0S8P2.REJECTED = @TRUE
* TXN Continue on SQL write failure
END
END
ELSE
Pin%%V0S8P2.REJECTED = @TRUE
Pin%%V0S8P2.REJECTEDCODE = 0
* TXN Continue on link constraint failure
END
END
FOR I = 1 TO 1
BEGIN CASE
CASE BCICOM.TXGROUPSTATUS<I,1> = TXNCommitted OR BCICOM.TXGROUPSTATUS<I,1> = TXNAborted
BCICOM.TXGROUPSTATUS<I,1> = ""
CASE BCICOM.TXGROUPSTATUS<I,1> <> ""
BCICOM.TXGROUPSTATUS<I,1> = TXNStarted
END CASE
NEXT I
UPDATE.COUNT -= 1
IF UPDATE.COUNT LE 0 THEN CALL DSD.Update(HANDLES);UPDATE.COUNT = STAGECOM.RATE
REPEAT
IF (ERROR = DSE.EOF) or (ERROR = DSE.EOT) THEN
TXSTATUS = 0
* Transaction size is 0 - commit pending rows.
CALL $DSP.TxnCommit(2, TXSTATUS)
END
RETURN
END
pls help me to resolve this issue.
regards
qmbs