Posted: Mon Dec 01, 2008 1:02 pm Post subject: Характеристика материала
Здравствуйте, ранее не приходилось сталкиваться с Characteristic. На картинке вкладка Classication транзакции MM03.
Какой функцией получить характеристику материала, выделенную синим?
Age: 41 Joined: 01 Feb 2008 Posts: 387 Location: Воронеж
Posted: Mon Dec 01, 2008 1:44 pm Post subject:
К сожалению в ММ мало работал, но различные характеристики объектов в PP(давно правда было) доставал через BAPI_OBJCL_GETDETAIL, возможно вам поможет _________________ Hормальные люди делают вещи намного более безумные чем всё, что делают сумасшедшие (c) С.Лем
Спасибо за ответы. Попробовал двумя способами, оба рабочие.
Code:
* Первый способ
DATA: i_allocvaluesnum LIKE bapi1003_alloc_values_num
OCCURS 0 WITH HEADER LINE,
i_allocvalueschar LIKE bapi1003_alloc_values_char
OCCURS 0 WITH HEADER LINE,
i_allocvaluescurr LIKE bapi1003_alloc_values_curr
OCCURS 0 WITH HEADER LINE,
i_return LIKE bapiret2 OCCURS 0 WITH HEADER LINE.
DATA: l_classnum LIKE bapi1003_key-classnum,
l_objectkey LIKE bapi1003_key-object.
DATA: l_atinn TYPE ausp-atinn.
DATA: l_awkey TYPE bkpf-awkey.
LOOP AT i_items ASSIGNING <fs>.
CHECK NOT <fs>-matnr IS INITIAL.
SELECT SINGLE atinn INTO l_atinn
FROM cabn
WHERE atnam = 'Z_POSM_TAX_CLASS'.
CHECK NOT l_atinn IS INITIAL.
SELECT SINGLE atwrt INTO <fs>-atwrt
FROM ausp
WHERE objek = <fs>-matnr
AND atinn = l_atinn
AND klart = '001'.
Age: 160 Joined: 04 Oct 2007 Posts: 1218 Location: Санкт-Петербург
Posted: Mon Dec 01, 2008 3:25 pm Post subject:
Думаю, быстрее будет работать так:
Code:
MOVE <fs>-matnr TO object.
CALL FUNCTION 'CLAF_CLASSIFICATION_OF_OBJECTS'
EXPORTING
class = 'Z_POSM_RUS'
classtext = 'X'
classtype = '001'
language = sy-langu
object = object
TABLES
t_class = t_class
t_objectdata = t_objectdata
EXCEPTIONS
no_classification = 1
no_classtypes = 2
invalid_class_type = 3.
IF sy-subrc IS INITIAL.
READ TABLE t_objectdata WITH KEY atnam = 'Z_POSM_TAX_CLASS'.
IF sy-subrc IS INITIAL.
<fs>-atwrt = t_objectdata-ausp1.
ENDIF.
ENDIF.
А если все же решите напрямую читать таблицу ausp, учитывайте:
vvk wrote:
...
если уж использовать выборки из cabn и ausp, то более аккуратно.
например, в зависимости от cabn-atfor (тип признака) значение хранится или ausp-atwrt или ausp-atflv
см. зависимости в LO985
...
Age: 46 Joined: 22 Aug 2013 Posts: 27 Location: г. Жлобин, Республика Беларусь
Posted: Wed Sep 25, 2013 3:08 am Post subject:
vga wrote:
Думаю, быстрее будет работать так:
Code:
MOVE <fs>-matnr TO object.
CALL FUNCTION 'CLAF_CLASSIFICATION_OF_OBJECTS'
EXPORTING
class = 'Z_POSM_RUS'
classtext = 'X'
classtype = '001'
language = sy-langu
object = object
TABLES
t_class = t_class
t_objectdata = t_objectdata
EXCEPTIONS
no_classification = 1
no_classtypes = 2
invalid_class_type = 3.
IF sy-subrc IS INITIAL.
READ TABLE t_objectdata WITH KEY atnam = 'Z_POSM_TAX_CLASS'.
IF sy-subrc IS INITIAL.
<fs>-atwrt = t_objectdata-ausp1.
ENDIF.
ENDIF.
А если все же решите напрямую читать таблицу ausp, учитывайте:
vvk wrote:
...
если уж использовать выборки из cabn и ausp, то более аккуратно.
например, в зависимости от cabn-atfor (тип признака) значение хранится или ausp-atwrt или ausp-atflv
см. зависимости в LO985
...
У ФМ CLAF_CLASSIFICATION_OF_OBJECTS есть табличка, которая позволяет ограничить перечень вытаскиваемых признаков - I_SEL_CHARACTERISTIC. Заполняете ее значениями ATINN соответствующих признаков, которые хотите получить. Тогда если после выполнения sy-subrc <> 0 (при входном параметре INITIAL_CHARACT = '') значит данный объект не содержит заполненные признаки из списка.
И на входе еще лучше задавать OBJECTTABLE (главная таблица объекта - MARA, MCH1, ...) и INHERITED_CHAR = 'X' что бы не упустить все признаки классификации.
И ключ для объекта лучше получать через ФМ CLCV_CONV_TO_INTERNAL_FORMAT, а не MOVE как в примере. Тогда не надо думать о правилах, все заботы по этому поводу возьмет на себя система. _________________ Когда другие слепо следуют за истиной, помни - ничто не истина.
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG. SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG. Every effort is made to ensure content integrity. Use information on this site at your own risk.