Извиняюсь за задержку, были некоторые трудносит с выкладыванием материала и картинок. Но всё преодолено.
В свое время потребовалось каким-то образом выделить позиции бесплатных поставок. В заказах можно было их отделить от закупаемых через соответствующий индикатор (хотя очень не наглядно), а в контрактах для этого приходилось либо проваливаться в позицию подробно, либо ориентироваться на нулевую цену. В общем, все это как-то не наглядно, что приводило к ошибкам. Решили сделать отдельный тип позиции. На этом примере и рассмотрим как это делается.
•	Через SE16N открываем содержимое таблицы T163. Нажимаем кнопку «Создать», в поле «Тип позиции» указываем латинскую A (или какую другую), в поле текст пишем «Бесплатная поставка», в поле «Тип позиции в документе закупки» ставим русскую Б (так мы её будем идентифицировать в ЗнП). 
Теперь что касается остальных полей:
MATNO	Индикатор: указание номера материала обязательно
Вводим '+'обязателен.
KNTZU	Индикатор: требуется контировка
Вводим '–' нельзя.
BFKNZ	Закупки: индикатор управления запасами
Оставляем пустым
WEPOS	Индикатор поступления материала
Вводим 'X'
WEPOV	Метка поступления материала обязательна
Вводим 'X'
WEUNB	Поступление материала не оценено
Оставляем пустым
WEUNV	Поступление материала обязательно и не оценивается
Оставляем пустым
REPOS	Метка "Поступление счета"
Оставляем пустым
REPOV	Метка: поступление счета по позиции обязательно
Оставляем пустым
STAFO	Группа обновления для обновления статистических данных
Вводим SAP или то, что у вас настроено. 

Отсутствие значений в полях REPOS и REPOV и определяет, что поставка будет бесплатной.
•	Если необходимо, то вводим в таблице T163Y тексты к типу позиции на других языках.
•	Далее необходимо разрешить этот тип позиции в заказах и контрактах. В SPRO  > УМП  > Закупки  > Заказ на поставку  > Настройка видов документов выделяем необходимый вид заказа и два раза щелкаем на папке «Допустимые типы позиций», выделяем стандартную позицию и нажимаем «Скопировать как…»,  вводим созданный нами тип Б. В открывшемся окошке нажимаем кнопку «Скопировать все» (легче удалить лишние, чем вводить вручную всё заново). 

Тоже самое делаем для заявок и контрактов. 
•	Необходимо настроить выбор полей. В SPRO  > УМП  > Закупки  > Заказ на поставку  >Определение структуры экрана на уровне документа выделяем PT0F и нажимаем «Скопировать как…», указываем код выбора полей PTAF и название «Бесплатная позиция заказа».   


Производим настройку, а именно «Тип контировки», «Инд. последнего счета-фактуры», «Контроль счетов по ПМ», «Управление ПМ/ПСч», «Индикатор ПМ/ПСч» делаем только для просмотра.
Тоже самое делаем для заявок и контракта. 
Теперь при создании контракта с типом позиции Б, поле «Поступление счета» не заполняется:

Зато в списке позиций наглядно видно, какая позиция бесплатная, а какая нет:
 … и в заказе:

Теперь об исключениях и минусах.
•	Таким образом нельзя копировать типы позиций 3 «Обработка ДавальчМтр» и 9 «Услуги/работы». Т.е. скопировать можно, но они будут иметь свойства стандартной позиции. Отображение соответствующих полей по работам/услугам жестко привязано к типу 9 и спецификации к типу 3 в коде программы.
•	Выпуская периодически ноты, программисты SAP-а допускают ошибки, сравнивая поле PSTYP (тип CHAR) с цифрой. Т.к. все стандартные типы позиций это от нуля до девяти, то соответственно для них такая проверка проходит нормально, а для нашего типа A вываливается в ДАМП.
 В таком случае пишем сообщение в SAP и они эти ошибки исправляют, выпуская ноты. Вот например: 1072374, 1227768.  Хотя порой от них приходиться слышать, что тип позиции не стандартный, в ответ просто показываем следующий скриншот:

ну и правила программирования никто не отменял.