CSAP_MAT_BOM_MAINTAIN (in conjunction with CSAP_MAT_BOM_OPEN and CSAP_MAT_BOM_CLOSE) allows you to maintain values on a BOM. CSAP_MAT_BOM_OPEN returns the current values of the BOM. Then you just modify the fields you want to change and call CSAP_MAT_BOM_MAINTAIN.
But what if you want to clear a field that currently has a value? If you pass an initial value to CSAP_MAT_BOM_MAINTAIN it interprets that as “leave the existing value”. How do you tell it you want to actually remove the existing value?
The simple answer is, set the value to ‘!’.