diff --git a/C4/SIP/Sip/MsgType.pm b/C4/SIP/Sip/MsgType.pm index 3ae395d3bd..9f1cdd5460 100644 --- a/C4/SIP/Sip/MsgType.pm +++ b/C4/SIP/Sip/MsgType.pm @@ -352,7 +352,23 @@ sub _initialize { $self->{fields}->{$fn}, $self->{name}, $msg ); } else { - $self->{fields}->{$fn} = substr( $field, 2 ); + my $field_value = substr( $field, 2 ); + $self->{fields}->{$fn} = $field_value; + + # Enhanced debug logging for empty critical fields that could cause constraint errors + if ( defined $field_value && $field_value eq '' ) { + if ( $fn eq FID_PATRON_ID ) { + siplog( + "LOG_DEBUG", "Empty patron_id detected in %s message - could cause constraint errors", + $self->{name} + ); + } elsif ( $fn eq FID_ITEM_ID ) { + siplog( + "LOG_DEBUG", "Empty item_id detected in %s message - could cause constraint errors", + $self->{name} + ); + } + } } }