Створення замовлення ТОРО - тр. IW21 (або IW24)

Автор Olga, Березень 25, 2025, 11:40:18 ДП

Попередня тема - Наступна тема

0 Користувачі і 1 Гість дивляться цю тему.

Olga

Необхідно , при створенні замовлення ТОРО транзакцією  IW21 або IW24(на основі повідомлення) , назву замовлення

заносити не вручну  а автоматично  з карточки основного засобу , якщо вказано номер основного засобу на закладці

'Місцезнаходження'.

Чи є настройка в SPRO або як це   можливо  зробити  ?



Olga

#1
Зробила через розширення  USEREXIT Транзакції CMOD  та SMOD .
Кому можливо цікаво приводжу приклад  .
Розширення  IWO10009 Заміна назви замовлення ТОРО при створенні тр.'IW34'
*----------------------------------------------------------------------*
*   INCLUDE ZXWOCU07                                                   *
*----------------------------------------------------------------------*
*TABLES: COBRB.
tables: anlh.
************************************************************************
** Назва замовлення = Технічної характеристики ОЗ при створ.ОЗ
if not caufvd_imp-qmnum is initial and caufvd_imp-ingpr = '114'
   and not caufvd_imp-anlnr is initial and syst-tcode = 'IW34' .
   " 3
 data:  lt_caufv_bt type standard table of caufvdb,
        ls_caufv_bt type caufvdb.

field-symbols: <fs_caufv_bt> type table.
assign: ('(SAPLCOBH)caufv_bt[]')  to <fs_caufv_bt>.

if sy-subrc = 0. " 1

    lt_caufv_bt[] = <fs_caufv_bt>[].

    read table lt_caufv_bt into ls_caufv_bt
                           with key mandt = sy-mandt
                                    aufnr = caufvd_imp-aufnr.
if sy-subrc = 0. " 2
*if  not caufvd_imp-anlnr is initial  .

  select * from anlh where anln1 = caufvd_imp-anlnr.

  move anlh-anlhtxt to ls_caufv_bt-ktext.
  modify <fs_caufv_bt> from ls_caufv_bt index sy-tabix.

  endselect.

endif.
endif.
endif.

Uukrul

Не очень хорошее решение к сожалению, через доступ к переменным в других модулях. Вы нарушаете изоляцию кода, а это очень плохо. Это так на заметку, если кто-то решил использовать. Да так делают, сам давно так делал. Но с появлением S/4 больше так не пишу :-)

Под нарушением изоляции имеется в виду вот эта штука
assign: ('(SAPLCOBH)caufv_bt[]')  to <fs_caufv_bt>.