Rapid Mart ( Purchasing) violation of primary key constrain

Hi Friends

One of the purchasing rapid mart got failed after few minutes of processing, when i check the log I found the following error

  1. Violation of PRIMARY KEY constraint
    2)Cannot insert duplicate key in object

Please find below the Log error

<<PTH-SAPSQL03.xxx.local>

Log: error_05_17_2012_20_20_03_901__83e6c6a4_9ac7_4c04_af8e_b32a1d86f0de.txt Job Server: PTH-SAPBO01:3500

Job name: Purchasing_Rapidmart_SAP
(12.2) 05-17-12 22:19:59 (W) (2376:10764) FIL-080102: |Data flow DF_FiscalPeriodNotYrSpecific_SAP|Reader R3_FiscPer_NOT_YrSpecific End of file was found without reading a complete row for file <//PTH-SAPERP01/sapXXX/trans/fiscalperiods.dat>. The expected number of columns was <8> while the number of columns actually read was <6>. Please check the input file for errors or verify the schema specification for the file format. The number of rows processed was <64016>. (12.2) 05-17-12 22:20:41 (E) (1184:4500) DBS-070404: |Data flow DF_FiscalPeriodDefault_SAP|Reader Query

                                                SQL submitted to ODBC data source <PTH-SAPSQL03.XXX.local> resulted in error <[Microsoft][ODBC SQL Server Driver][SQL Server]Violation of PRIMARY KEY constraint

XPK_FISC_PERIOD’. Cannot insert duplicate key in object ‘dbo.FISC_PERIOD’.>.

The SQL submitted is <INSERT INTO “dbo”.“FISC_PERIOD” ( “FISC_YEAR” , “FISC_PERIOD” , “FISC_YR_VARIANT_ID” , “FISC_MONTH” , “START_DATE” , “END_DATE” , “FISC_QUARTER” , “FISC_HALF” , “CALENDAR_YEAR” , “CALENDAR_MONTH_NUMERIC” , “CALENDAR_MONTH_LONG” , “CALENDAR_MONTH_SHORT” , “CALENDAR_QUARTER” , “CALENDAR_HALF” , “SPECL_PERIOD_FLAG” , “FISC_YR_VARIANT_NAME” , “LOAD_DATE” , “LOAD_TIME” ) SELECT DISTINCT “FISC_PERIOD_STAGE”.“FISC_YEAR” , “FISC_PERIOD_STAGE”.“FISC_PERIOD” , ‘?’ , ‘?’ , CONVERT(DATETIME2, ‘1900-01-01 00:00:00.000’, 121) , CONVERT(DATETIME2, ‘9999-12-31 00:00:00.000’, 121) , ‘?’ , ‘?’ , -1 , ‘?’ , ‘?’ , ‘?’ , -1 , ‘?’ , ‘?’ , ‘?’ , CONVERT(DATETIME2, ‘2012-05-17 20:20:17.000’, 121) , ‘20:20:17’ FROM “dbo”.“FISC_PERIOD_STAGE” “FISC_PERIOD_STAGE” >.
(12.2) 05-17-12 22:20:41 (E) (1184:4500) DBS-054003: |Data flow DF_FiscalPeriodDefault_SAP|Reader Query SELECT query <INSERT INTO “dbo”.“FISC_PERIOD” ( “FISC_YEAR” , “FISC_PERIOD” , “FISC_YR_VARIANT_ID” , “FISC_MONTH” , “START_DATE” , “END_DATE” , “FISC_QUARTER” , “FISC_HALF” , “CALENDAR_YEAR” , “CALENDAR_MONTH_NUMERIC” , “CALENDAR_MONTH_LONG” , “CALENDAR_MONTH_SHORT” , “CALENDAR_QUARTER” , “CALENDAR_HALF” , “SPECL_PERIOD_FLAG” , “FISC_YR_VARIANT_NAME” , “LOAD_DATE” , “LOAD_TIME” ) SELECT DISTINCT “FISC_PERIOD_STAGE”.“FISC_YEAR” , “FISC_PERIOD_STAGE”.“FISC_PERIOD” , ‘?’ , ‘?’ , CONVERT(DATETIME2, ‘1900-01-01 00:00:00.000’, 121) , CONVERT(DATETIME2, ‘9999-12-31 00:00:00.000’, 121) , ‘?’ , ‘?’ , -1 , ‘?’ , ‘?’ , ‘?’ , -1 , ‘?’ , ‘?’ , ‘?’ , CONVERT(DATETIME2, ‘2012-05-17 20:20:17.000’, 121) , ‘20:20:17’ FROM “dbo”.“FISC_PERIOD_STAGE” “FISC_PERIOD_STAGE” > failed. The database error message is <SQL submitted to ODBC data source <PTH-SAPSQL007.XXX.local> resulted in error <[Microsoft][ODBC SQL Server Driver][SQL Server]Violation of PRIMARY KEY constraint ‘XPK_FISC_PERIOD’. Cannot insert duplicate key in object ‘dbo.FISC_PERIOD’.>. The SQL submitted is <INSERT INTO “dbo”.“FISC_PERIOD” ( “FISC_YEAR” , “FISC_PERIOD” , “FISC_YR_VARIANT_ID” , “FISC_MONTH” , “START_DATE” , “END_DATE” , “FISC_QUARTER” , “FISC_HALF” , “CALENDAR_YEAR” , “CALENDAR_MONTH_NUMERIC” , “CALENDAR_MONTH_LONG” , “CALENDAR_MONTH_SHORT” , “CALENDAR_QUARTER” , “CALENDAR_HALF” , “SPECL_PERIOD_FLAG” , “FISC_YR_VARIANT_NAME” , “LOAD_DATE” , “LOAD_TIME” ) SELECT
DISTINCT “FISC_PERIOD_STAGE”.“FISC_YEAR” , “FISC_PERIOD_STAGE”.“FISC_PERIOD” , ‘?’ , ‘?’ , CONVERT(DATETIME2, ‘1900-01-01 00:00:00.000’, 121) , CONVERT(DATETIME2, ‘9999-12-31 00:00:00.000’, 121) , ‘?’ , ‘?’ , -1 , ‘?’ , ‘?’ , ‘?’ , -1 , ‘?’ , ‘?’ ,
‘?’ , CONVERT(DATETIME2, ‘2012-05-17 20:20:17.000’, 121) , ‘20:20:17’ FROM “dbo”.“FISC_PERIOD_STAGE” “FISC_PERIOD_STAGE” >.>.
(12.2) 05-17-12 22:20:41 (E) (11324:6880) DBS-054003: |Data flow DF_FiscalPeriodDefault_SAP|Reader Query SELECT query <INSERT INTO “dbo”.“FISC_PERIOD” ( “FISC_YEAR” , “FISC_PERIOD” , “FISC_YR_VARIANT_ID” , “FISC_MONTH” , “START_DATE” , “END_DATE” , “FISC_QUARTER” , “FISC_HALF” , “CALENDAR_YEAR” , “CALENDAR_MONTH_NUMERIC” , “CALENDAR_MONTH_LONG” , “CALENDAR_MONTH_SHORT” , “CALENDAR_QUARTER” , “CALENDAR_HALF” , “SPECL_PERIOD_FLAG” , “FISC_YR_VARIANT_NAME” , “LOAD_DATE” , “LOAD_TIME” ) SELECT DISTINCT “FISC_PERIOD_STAGE”.“FISC_YEAR” , “FISC_PERIOD_STAGE”.“FISC_PERIOD” , ‘?’ , ‘?’ , CONVERT(DATETIME2, ‘1900-01-01 00:00:00.000’, 121) , CONVERT(DATETIME2, ‘9999-12-31 00:00:00.000’, 121) , ‘?’ , ‘?’ , -1 , ‘?’ , ‘?’ , ‘?’ , -1 , ‘?’ , ‘?’ , ‘?’ , CONVERT(DATETIME2, ‘2012-05-17 20:20:17.000’, 121) , ‘20:20:17’ FROM “dbo”.“FISC_PERIOD_STAGE” “FISC_PERIOD_STAGE” > failed. The database error message is <SQL submitted to ODBC data source <PTH-SAPSQL007.XXX.local> resulted in error <[Microsoft][ODBC SQL Server Driver][SQL Server]Violation of PRIMARY KEY constraint ‘XPK_FISC_PERIOD’. Cannot insert duplicate key in object ‘dbo.FISC_PERIOD’.>. The SQL submitted is <INSERT INTO “dbo”.“FISC_PERIOD” ( “FISC_YEAR” , “FISC_PERIOD” , “FISC_YR_VARIANT_ID” , “FISC_MONTH” , “START_DATE” , “END_DATE” , “FISC_QUARTER” , “FISC_HALF” , “CALENDAR_YEAR” , “CALENDAR_MONTH_NUMERIC” , “CALENDAR_MONTH_LONG” , “CALENDAR_MONTH_SHORT” , “CALENDAR_QUARTER” , “CALENDAR_HALF” , “SPECL_PERIOD_FLAG” , “FISC_YR_VARIANT_NAME” , “LOAD_DATE” , “LOAD_TIME” ) SELECT
DISTINCT “FISC_PERIOD_STAGE”.“FISC_YEAR” , “FISC_PERIOD_STAGE”.“FISC_PERIOD” , ‘?’ , ‘?’ , CONVERT(DATETIME2, ‘1900-01-01
00:00:00.000’, 121) , CONVERT(DATETIME2, ‘9999-12-31 00:00:00.000’, 121) , ‘?’ , ‘?’ , -1 , ‘?’ , ‘?’ , ‘?’ , -1 , ‘?’ , ‘?’ , ‘?’ , CONVERT(DATETIME2, ‘2012-05-17 20:20:17.000’, 121) , ‘20:20:17’ FROM “dbo”.“FISC_PERIOD_STAGE” “FISC_PERIOD_STAGE” >.>.

Please help in resolving this error.

Thanks in advance
fasi


Md_Fasi (BOB member since 2011-11-19)

It appears the default row generation is running to many times. Are you running in first or delta. Also check the row generation transform to make sure it is set up to create only 1 row.


SalH :mexico: (BOB member since 2010-11-09)