CSAP_MAT_BOM_READ is a function module which is measureable in the method BOM_EXPLODE of the function of the class /BEV1/CL_NE_DIC_COMMON. There will be an internal length 18 at the time material number is being transferred to the functional module. All the function modules would be defined with material numbers in external length. Earlier whenever you call the function module CSAP_MAT_BOM_READ the material number will convert from the internal format to the external format with the help of another function module CONVERSION_EXIT_MAIN1_INPUT. You would have to use transaction snote to work on the program which will be used for the program corrections in your system.
Please make sure that the function module CSAP_MAT_BOM_READ would not be able to return any identifier in the sub item table. Moreover the in the item table T_STPO the system will not fill field identifier for items that comprises of the sub items with no long text. For further details you can move here.
The module CSAP READ in item table T_STPO will offer a field identifier using the value that will works in the field identifier of the related sub items and after wards sub items are allocated in CSAP CREATE and MAINTAIN modules to the items with the help of below enslavement:
T_STPO-IDENTIFIER -> T_STPU-POINTER
You would have to call CSAP modules straightly to make the dependency valid using a T_SPTU which contains minimum record with a non-initial pointer is contained. Usually the system will work on the assignment out like in the ALE with the help of dependency to transfer the T_SPU using the initial power.
Hope this article might help you to understand the above error