To the point of performance difference between LTRIM and non LTRIM attribute view
I do not agree it to be a modelling issue As the only change in the two models is the use of a calculated field as LTRIM(MATNR,0)
As a simple representation the code will be like
Select
BOM.MATNR,
BOM.WERKS,
MARC.SOBSL,
MARC.BESKZ
FROM (SELECT MATNR,WERKS FROM CV_BOM_VIEW_WITHOUT_LTRIM) AS BOM
LEFT OUTER JOIN
(SELECT MATNR, WERKS,SOBSL, BESKZ FROM AT_MARC_VIEW_WITHOUT_LTRIM) AS MARC
ON
BOM.MATNR = MARC.MATNR
AND
BOM.WERKS = MARC.WERKS
When the same code is written with LTRIM, its just that AT_MARC_VIEW_WITHOUT_LTRIM would be replaced by AT_MARC_VIEW_WITH_LTRIM.
and CV_BOM_VIEW_WITHOUT_LTRIM is replaced by CV_BOM_VIEW_WITH_LTRIM
Both just have one added calculated as MATNR = LTRIM(MATNR_OLD,0)