Текущее время: Вт, апр 16 2024, 23:59

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: Google [Bot]


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

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