cancel
Showing results for 
Search instead for 
Did you mean: 

Assertion failed 106901 since upgrade server from 16.0.0.2076 to 16.0.0.2213

former_member331208
Discoverer
0 Kudos

Hi all,

I have this error since the upgrade of our server.

Run time SQL error -- *** ERROR *** Assertion failed: 106901

(16.0.0.2213)[SPW1ASA16]

Expression value unexpectedly NULL in write

SQLCODE=-300, Etat ODBC 3="HY000"

Ligne 6, colonne 1

UPDATE "ULIS"."U2WRK"

SET "ULIS"."U2WRK"."WRKVC1" = (

               SELECT (IF LIST(SUBSTRING("CADNUM"."LIDVAC",4)) = '' THEN NULL ELSE LIST(SUBSTRING("CADNUM"."LIDVAC",4)) ENDIF                FROM

                  "ULIS"."CADAFF" "CADAFF"

               JOIN "ULIS"."CADEMP" "CADEMP"

                  ON "CADEMP"."LIDNAT" = 'CADEMP'

                  AND "CADEMP"."LIDEXN" = 'CA'

                  AND "CADEMP"."LIDNUM" = "CADAFF"."LIDEXT"

               JOIN "ULIS"."CADNUM" "CADNUM"

                  ON "CADNUM"."LIDNAT" = 'CADNUM'

                  AND "CADNUM"."LIDEXN" = 'CA'

                  AND "CADNUM"."LIDNUM" = "CADEMP"."LIDEXT"

               JOIN "ULIS"."U2LIF" "CANATU"

                  ON "CANATU"."LIDNAT" = 'CANATU'

                  AND "CANATU"."LIDEXN" = 'CA'

                  AND "CANATU"."LIDEXT" = "CADNUM"."LIDNUM"

                  AND today() BETWEEN "CANATU"."LIDDEB" AND "CANATU"."LIDFIN"

                  AND "CANATU"."LIDVAC" = 'T'

               JOIN "ULIS"."U2LIF" "CAAETP"

                  ON "CAAETP"."LIDNAT" = 'CAAETP'

                  AND "CAAETP"."LIDEXN" = 'CA'

                  AND "CAAETP"."LIDEXT" = "CADAFF"."LIDNUM"

                  AND "CAAETP"."LIDVAN" > 0

                  AND today() BETWEEN "CAAETP"."LIDDEB" AND "CAAETP"."LIDFIN"

               WHERE 1=1

                  AND "CADAFF"."LIDNAT" = 'CADAFF'

                  AND "CADAFF"."LIDEXN" = 'CA'

                  AND today() BETWEEN "CADAFF"."LIDDEB" AND "CADAFF"."LIDFIN" 

                                                AND "CADAFF"."PERMAT" = 1356

)

WHERE WRKKYC = '$WRK$151223010453475' AND WRKKYN = 1356

If I execute the select alone, it returns NULL. (it's normal behaviour)

I test also with SELECT nullif(LIST(SUBSTRING("CADNUM"."LIDVAC",4)), '')

If I execute this:

UPDATE "ULIS"."U2WRK"

SET "ULIS"."U2WRK"."WRKVC1" = NULL;

It works.

On the version 16.0.0.2076, this query works fine.

Do you have any idea ?

Laurent.

Accepted Solutions (0)

Answers (2)

Answers (2)

tayeb_hadjou
Advisor
Advisor
0 Kudos

Hi Laurent,

This is most likely the new issue addressed by CR##793674 and fixed in build 2222.

KBA 2258841 - Assertion failure 106901 for subquery with LIST or COUNT

http://service.sap.com/sap/support/notes/2258841

Regards,

Tayeb.

former_member331208
Discoverer
0 Kudos

If I replace the NULL by '' in this part: SELECT (IF LIST(SUBSTRING("CADNUM"."LIDVAC",4)) = '' THEN NULL ELSE LIST(SUBSTRING("CADNUM"."LIDVAC",4)) ENDIF, it works ...

And don't forget that the code works fine in 16.0.0.2076 ...

Regards,

Laurent

Former Member
0 Kudos

Hi Laurent,

I have already explained in the incident with us but this issue is a side effect of the change we made in 16.0.0.2160 - which explains why it worked in 2076. We have already fixed this in build 2222 and EBF with the fix will be out shortly.

Happy holidays,

Jinwoo

former_member186998
Contributor
0 Kudos

Hi Laurent,

You should validate a target database.

Validation utility (dbvalid)

http://dcx.sap.com/index.html#sa160/en/dbadmin/dbvalid.html

When you receive the same error(Assertion failed: 106901), it's necessary fort to rebuild the database.

BTW

Can you confirm the following SAP note?

2216888 - A subselect with LIST or COUNT and GROUP BY of only constants fail

This problem should be fixed with version 16.0.0.2174.

However, your version(16.0.0.2213) is fixed.

When this problem is not resolved even if you rebuild the database, I doubt new problem.

Thanks,

Atsushi

former_member331208
Discoverer
0 Kudos

Hi Atsushi,

I have used dbvalid on the table U2WRK, on the index U2WRK_VC1 (which concern column WRKVC1) and after this, I have validated all the database, and the end message of the validation is no errors reported. But when I try my update, it fails again.

I unload-reload the table U2WRK, after this, it fails again also.

I drop the table U2WRK and re-create it, fail again.

Thanks for your quick answer,

Laurent

former_member186998
Contributor
0 Kudos

Hi Laurent,

I think about the possibility that this build has a problem.

When you have an official account for support, you should ask this question using the account.

You may obtain useful information.

Thanks,

Atsushi

former_member331208
Discoverer
0 Kudos

Atsushi,

I have opened an incident. I will see their answer.

If I get an answer, I will reply there.

Thx for your help,

Merry christmas.

Laurent.