The ALV field length depends on the field properties.Check if the field of the table used for MATNR field is of length 18(type CHAR) as in Table MARA-MATNR
When you are creating a dynamic internal table from a field catalog,it is advisable to use reference table/reference to avoid such differences.Also output length in ALV properties can be set as 18 (useful if the field type has minimum length 18).This will ensure that the field displayed by using the dynamic internal table to ALV will have the desirable field properties
Hope it helps