Skip to Content
0
Former Member
Aug 21, 2014 at 02:05 PM

IC intermittent SAPSQL_ARRAY_INSERT_DUPREC error after changing business partner

108 Views

Hello,

after upgrading from CRM5 to CRM7 (Service for Employee), our Interaction Centre users started getting intermittent SAPSQL_ARRAY_INSERT_DUPREC screen dumps when clicking on the 'Save' button after having changed a partner number in the Partners Table of a Service Ticket.

On encountering one of these screen dumps, the user then has to close their IC session and then restart it - after which it is then possible to successfully 'Save' the same change to the same business partner on the same Service Ticket.

I have not been able to reproduce this error due to its intermittent nature.

Details of the source code extract from the ST22 dump is given below.

Has anyone else encountered such an issue themselves?

thanks,

Martin

Category ABAP Programming Error

Runtime Errors SAPSQL_ARRAY_INSERT_DUPREC

Except. CX_SY_OPEN_SQL_DB

ABAP Program SAPLCOM_PARTNER_DU

Application Component CRM-BF-PD

Date and Time 20.08.2014 11:15:25

Line SourceCde

41 * data definitions

42 DATA: BEGIN OF ls_attribute_record_to_use,

43 partner_guid TYPE crmt_partner_guid,

44 values TYPE text255. "has to be as long as the longest

45 "attribute structure

46 DATA: END OF ls_attribute_record_to_use.

47

48 DATA: lt_attribute_records_to_use LIKE SORTED TABLE OF

49 ls_attribute_record_to_use WITH UNIQUE KEY partner_guid,

50

51 lv_tablename TYPE tabname,

52 ls_attribute_record TYPE crmt_partner_attr_du,

53 lv_name TYPE char64.

54

55 FIELD-SYMBOLS: <values> TYPE ANY,

56 <address> TYPE crmt_partner_address,

57 <fs_insert_record> TYPE crmd_partner,

58 <fs_addr_ref_data> TYPE crmt_partner_address_reference.

59

60 FIELD-SYMBOLS: <wa_to_proceed> TYPE ANY,

61 <table_to_proceed> TYPE ANY TABLE.

62

63 DATA: wa_to_proceed TYPE REF TO data.

64 DATA: lt_wa_table TYPE REF TO data.

65

66 *** MAINTAIN PARTNER RECORDS *******************************************

67

68 *** records to insert

69 IF NOT it_partner_records_to_insert IS INITIAL.

70

>>>>> INSERT crmd_partner FROM TABLE it_partner_records_to_insert.

72 IF sy-subrc NE 0.

73 MESSAGE a002(com_partner) WITH gc_object_name_partner.

74 ENDIF.

75

76 ENDIF.

77

78 *** records to delete

79 IF NOT it_partner_records_to_delete IS INITIAL.

80 DELETE crmd_partner FROM TABLE it_partner_records_to_delete.

81 IF sy-subrc NE 0.

82 MESSAGE a002(com_partner) WITH gc_object_name_partner.

83 ENDIF.