ORABPEL-11616 DBWriteInteractionSpec Execute Failed Exception insert failed
634336Mar 18 2009 — edited Mar 24 2009I have a bpel process which selects data from a table using a db adapter , assigns the output of the select to an input variable & inserts the data into another table using the input variable.
While inserting the data into the table it gives the following error:
<bindingFault xmlns="http://schemas.oracle.com/bpel/extension">
-<part name="code">
<code>1400
</code>
</part>
-<part name="summary">
<summary>
file:/D:/DEMO_SOA2/bpel/domains/default/tmp/.bpel_POCSupplierTest2_1.0_4cc1252993d17eba99629c922b87c110.tmp/WriteEntity_fssc_po_vendors_p1.wsdl [ WriteEntity_fssc_po_vendors_p1_ptt::insert(FsscPoVendorsPCollection) ] - WSIF JCA Execute of operation 'insert' failed due to: DBWriteInteractionSpec Execute Failed Exception.
insert failed. Descriptor name: [WriteEntityfsscpovendorsp1.FsscPoVendorsP]. [Caused by: ORA-01400: cannot insert NULL into ("CAPPS"."FSSC_PO_VENDORS_P"."OPERATING_UNIT")
]
; nested exception is:
ORABPEL-11616
DBWriteInteractionSpec Execute Failed Exception.
insert failed. Descriptor name: [WriteEntityfsscpovendorsp1.FsscPoVendorsP]. [Caused by: ORA-01400: cannot insert NULL into ("CAPPS"."FSSC_PO_VENDORS_P"."OPERATING_UNIT")
]
Caused by Exception [TOPLINK-4002] (Oracle TopLink - 10g Release 3 (10.1.3.1.0) (Build 061004)): oracle.toplink.exceptions.DatabaseException
Internal Exception: java.sql.SQLException: ORA-01400: cannot insert NULL into ("CAPPS"."FSSC_PO_VENDORS_P"."OPERATING_UNIT")
Error Code: 1400
Call:INSERT INTO FSSC_PO_VENDORS_P (FSSC_GROUP_ID, SEGMENT1, VENDOR_NAME, MATCH_OPTION, OFFSET_TAX_FLAG, LAST_UPDATE_LOGIN, CREATED_BY, LAST_UPDATED_BY) VALUES (?, ?, ?, ?, ?, ?, ?, ?)
bind => [35972, 2000094, poc_supp_test52, R, N, 3249725, 1009148, 1009148]
Query:InsertObjectQuery(<FsscPoVendorsP 35972 2000094 poc_supp_test52 />).
</summary>
</part>
-<part name="detail">
<detail>
Internal Exception: java.sql.SQLException: ORA-01400: cannot insert NULL into ("CAPPS"."FSSC_PO_VENDORS_P"."OPERATING_UNIT")
Error Code: 1400
Call:INSERT INTO FSSC_PO_VENDORS_P (FSSC_GROUP_ID, SEGMENT1, VENDOR_NAME, MATCH_OPTION, OFFSET_TAX_FLAG, LAST_UPDATE_LOGIN, CREATED_BY, LAST_UPDATED_BY) VALUES (?, ?, ?, ?, ?, ?, ?, ?)
bind => [35972, 2000094, poc_supp_test52, R, N, 3249725, 1009148, 1009148]
Query:InsertObjectQuery(<FsscPoVendorsP 35972 2000094 poc_supp_test52 />)
</detail>
</part>
</bindingFault
The insert fails giving the error as one of the values is null. But on checking xml for the input variable, the value is populated.
Also, the call of the insert statement shows only few columns whereas the table contains more than 20 columns.
The main issue is:
1.how is this insert statement generated?
2.Why has the insert statement selected only a few columns & not all columns?
Due to the above it fails for the not null constraint.
Any pointers to this?
Thanks in advance.