Twitter: http://twitter.com/sapforumbizRSS лента: http://sapforum.biz/index.php?action=.xml;type=rss
0 Пользователей и 1 Гость просматривают эту тему.
Заметка из ABAPEDIA. Способ передачи в BAPI полей, отсутствующих в стандартных параметрах BAPI. Для этого в некоторых (новых) BAPI присутствуют табличные параметры ExtensionIN. [править]Пример заполнения для позиции заказа на закупку (Purchase Order). 1. Добавляем в структуру BAPI_TE_MEPOITEM нужные поля, например, через append-structure. Поля могйт быть и стандартными, которые тем не менее отсутствуют в соответствующих структурах параметров BAPI. Одноименные поля добавляем и в структуру BAPI_TE_MEPOITEMX, но в этой структуре тип поля должен быть CHAR(1), эта структура будет затем использоваться как маска. 2. В программе формирования закупочного заказа создаем параметр ExtensionIN следующим образом: DATA: wa_extensionin TYPE bapiparex, lt_extensionin TYPE TABLE OF bapiparex, wa_bapi_te_mepoitem TYPE bapi_te_mepoitem, wa_bapi_te_mepoitemx TYPE bapi_te_mepoitemx. wa_bapi_te_mepoitem-po_item = <номер позиции документа>. wa_bapi_te_mepoitem-zznewfield = <значение поля>. wa_extensionin-structure = 'BAPI_TE_MEPOITEM'. wa_extensionin+30 = wa_bapi_te_mepoitem. APPEND wa_extensionin TO lt_extensionin. wa_bapi_te_mepoitemx-po_item = <номер позиции документа>. wa_bapi_te_mepoitemx-zznewfield = 'X'. wa_extensionin-structure = 'BAPI_TE_MEPOITEMX'. wa_extensionin+30 = wa_bapi_te_mepoitemx. APPEND wa_extensionin TO lt_extensionin.3. Вызываем BAPI (BAPI_PO_CREATE1 или BAPI_PO_CHANGE). Внимание!! Оператор wa_extensionin+30 = wa_bapi_te_mepoitem.может быть несовместим с системами с Unicode. В таких системах следует использовать технику преобразования типов через промежуточный FIELD-SYMBOL. Обратите также внимание, что 30 - это длина поля STRUCTURE (имя структуры).