Текущее время: Чт, мар 28 2024, 23:20

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: индикатор подробного текста в производственном заказе AUFK-LTEXT
СообщениеДобавлено: Пн, окт 17 2016, 08:52 
Начинающий
Начинающий

Зарегистрирован:
Чт, окт 13 2016, 12:51
Сообщения: 9
Здравствуйте коллеги!
Делаю заказы с помощью бапи BAPI_PRODORD_CREATE, меняю пакетником добавляя компоненты, делаю подробный текст с помощью фм SAVE_TEXT, активирую этот текст пока с помощью прямого апдейта AUFK-LTEXT (для того чтобы он был виден в co02, co03), но этот прямой апдейт совершенно не желателен. Может кто-нибудь сталкивался с этим и знает как обойтись без этого прямого апдейта?

Пытался сделать это вот так:
Code:
            MOVE-CORRESPONDING ls_aufk TO ls_caufvd.

            ls_caufvd-aufnr = p_order_number.
            ls_caufvd-werks = gs_ap1_aufk-werks.
            ls_caufvd-ltext = sy-langu.
            ls_caufvd-txtkz = 'X'.
            ls_caufvd-txchg = abap_true.

            CALL FUNCTION 'CO_IH_SET_HEADER'
              EXPORTING
                caufvd_imp = ls_caufvd.

            PERFORM header_update IN PROGRAM saplcoih.


но это не помогло. Еще нашел фм-ники где делается этот прямой апдейт, но он для других типов заказов, и вообще чужое не могу менять, проще добиться согласования этого прямого апдейта.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: индикатор подробного текста в производственном заказе AUFK-LTEXT
СообщениеДобавлено: Пн, окт 17 2016, 11:31 
Специалист
Специалист

Зарегистрирован:
Пн, июл 11 2011, 10:50
Сообщения: 197
тут и тут читали


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: индикатор подробного текста в производственном заказе AUFK-LTEXT
СообщениеДобавлено: Пн, окт 17 2016, 13:25 
Начинающий
Начинающий

Зарегистрирован:
Чт, окт 13 2016, 12:51
Сообщения: 9
Bimit написал(а):
тут и тут читали


Приветствую Bimit!
По первой ссылке:
у коллеги прямой апдейт как у меня сделан прямой модификацией (что по сути одно и тоже) и он испытывает трудности с правильным формированием подробного текста, ему отвечают как сделать этот текст (дают ссылку на то как узнать названия объектов для подробного текста и т.д. и т.п.). У меня этот текст формируется без проблем и отображается, моя проблема в том как обойти прямое вмешательство в таблицу БД.
По второй: предлагают вручную через se16 проставить галку что текст существует ну и др., только не как обойтись без прямой правки.

Я конечно искал решение в анг. язычном интернете, нашел прям один в один как моя проблема, там предлагали разные вещи, топик-стартер отвечал что это не работает, в итоге пока решение не найдено.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: индикатор подробного текста в производственном заказе AUFK-LTEXT
СообщениеДобавлено: Пн, окт 17 2016, 14:00 
Специалист
Специалист

Зарегистрирован:
Пн, июл 11 2011, 10:50
Сообщения: 197
Вообще то я бы сначала посмотрел как работает стандарт, то есть в транзакции co01 как добавляется подробный текст к заказу, экран 260 программа SAPLCOKO1 там есть методы SET и GET
там есть поле индикатор подробного текста и индикатор изменения подробного текста TXCHG (ставится если подробный текст не создавался)

в коде это вот так выглядит

Code:
* text update
      IF gs_textedit_header-tdtxtlines >  1              OR
         l_string_length               >  l_ktext_length OR
         i_caufvd-ltext                <> space.
        CALL FUNCTION 'SAVE_TEXT'
             EXPORTING
                  header = gs_textedit_header
             TABLES
                  lines  = lt_tlines.
        i_caufvd-txchg = yx.
        CALL FUNCTION 'CO_ZV_FLG_COMMIT_TXT_SET'.
      ENDIF.


думаю надо что-то подобное сделать при создании заказа, как в бапишку это добавить не разбирался, пока такого не требовалось, может через пакетник уже после создания или можно сразу при создании, надо проверять :roll:


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: индикатор подробного текста в производственном заказе AUFK-LTEXT
СообщениеДобавлено: Пн, окт 17 2016, 14:26 
Начинающий
Начинающий

Зарегистрирован:
Чт, окт 13 2016, 12:51
Сообщения: 9
так я все эти галки ставлю см. выше в коде (это всё сделано на основе изучения стандарта), единственное в коде не указано вызов фм
CO_ZV_FLG_COMMIT_TXT_SET, он был, но все равно не работает это )), этот фм ставит галку которую я и так поставил выше, апдейт aufk все равно не происходит


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: индикатор подробного текста в производственном заказе AUFK-LTEXT
СообщениеДобавлено: Вт, окт 18 2016, 10:04 
Специалист
Специалист

Зарегистрирован:
Пн, июл 11 2011, 10:50
Сообщения: 197
Думаю надо копать в сторону модуля CO_BT_CAUFV_UPD на вскидку накидал код для обновления, но махом поле LTEXT не заполнилось, надо еще смотреть


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: индикатор подробного текста в производственном заказе AUFK-LTEXT
СообщениеДобавлено: Вт, окт 18 2016, 12:11 
Специалист
Специалист

Зарегистрирован:
Пн, июл 11 2011, 10:50
Сообщения: 197
Немного пришлось танцы с бубном включать :D но проблема решаема, у меня получилось добавить метку текста в таблицу AUFK , сам текст не делал, но думаю тоже решаемо


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: индикатор подробного текста в производственном заказе AUFK-LTEXT
СообщениеДобавлено: Вт, окт 18 2016, 12:32 
Специалист
Специалист

Зарегистрирован:
Пн, июл 11 2011, 10:50
Сообщения: 197
примерно вот так это выглядит 8)

Code:
  DATA: caufvd      TYPE caufvd.
  DATA: ls_caufv    TYPE caufv.
  DATA: caufvd_loc  LIKE caufvd.
  DATA: l_aufnr_tab TYPE TABLE OF ord_pre WITH HEADER LINE.
  DATA: lt_caufv_bt TYPE TABLE OF caufvdb.
  DATA: ls_caufvd   TYPE caufvd.
  DATA: lt_objn     TYPE TABLE OF objn_tab WITH HEADER LINE.


* Читаем созданный заказ ( заказ создавал вручную через со01,
* но можно и бапишкой )
  CALL FUNCTION 'CO_DB_HEADER_READ'
    EXPORTING
      aufnr     = '001303000348'
    IMPORTING
      caufvwa   = ls_caufv
    EXCEPTIONS
      not_found = 1.
  IF sy-subrc = 0.
  ENDIF.

  MOVE-CORRESPONDING ls_caufv TO caufvd.

* Блокируем заказ с которым работаем
  CALL FUNCTION 'ENQUEUE_ESORDER'
    EXPORTING
      aufnr          = caufvd-aufnr
    EXCEPTIONS
      foreign_lock   = 1
      system_failure = 2
      OTHERS         = 3.


* создаем структуру заголовка заказа
  CALL FUNCTION 'CO_BT_CAUFVBT_CREATE'
    EXPORTING
      caufvd_imp = caufvd.

  l_aufnr_tab-aufnr = caufvd-aufnr.
  APPEND l_aufnr_tab.

* Добавляем метку блокировки, нужна при сохранении заказа
  CALL FUNCTION 'CO_BH_ORDER_FLG_ENQUEUE_SET'
    EXPORTING
      i_reset = ''
    TABLES
      ord_tab = l_aufnr_tab.

* Добавляем наши параметры
  caufvd-ltext = sy-langu.
  caufvd-txtkz = 'X'. " Этот параметр в ФМе CO_ZV_ORDER_POST присваивается
  caufvd-txchg = 'X'.
  caufvd-indbt = 1.

* Этот ФМ нужен если создан текст и не закомитен
  CALL FUNCTION 'CO_ZV_FLG_COMMIT_TXT_SET'.

* В этом ФМ,е создаем структуру по которой будет update
  CALL FUNCTION 'CO_BT_CAUFV_UPD'
    EXPORTING"      flg_no_vbkz = "'X'"YX
      caufvd_upd = caufvd.


* Сохраняем заказ
  CALL FUNCTION 'CO_ZV_ORDER_POST'
    EXPORTING
      commit_flag         = 'X'
      ext_flg             = 'X'
*     flg_act             = 'X'
*     flg_wait            = 'X'
      trans_typ           = 'V'
      no_gui_message      = 'X'
*     req_exists             = 'X'
      no_dialog                 = 'X'
*     flg_project_version = 'X'
    IMPORTING
      first_aufnr              = caufvd-aufnr
      first_autyp             = caufvd-autyp
    TABLES
      objn_tab_exp        = lt_objn[]
    EXCEPTIONS
      no_change            = 1
      update_reject       = 2
      budget_reject       = 3
      OTHERS                 = 4.

  IF sy-subrc <> 0.

  ENDIF.

* Разблокируем заказ
  CALL FUNCTION 'DEQUEUE_ESORDER'
    EXPORTING
      aufnr = caufvd-aufnr.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: индикатор подробного текста в производственном заказе AUFK-LTEXT
СообщениеДобавлено: Ср, окт 19 2016, 08:21 
Начинающий
Начинающий

Зарегистрирован:
Чт, окт 13 2016, 12:51
Сообщения: 9
Круто! Это работает! Огромное спасибо! Желаю всех благ!

С уважением, Андрей


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: индикатор подробного текста в производственном заказе AUFK-LTEXT
СообщениеДобавлено: Пт, дек 28 2018, 13:13 
Начинающий
Начинающий

Зарегистрирован:
Пт, дек 28 2018, 13:09
Сообщения: 1
Пол: Мужской
Для цикла не хватает в самом начале:

* Очистка буферов. Без них обновление срабатывает, только в первом заказе
CALL FUNCTION 'CO_BT_DATA_RESET'.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 10 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB