Текущее время: Вт, июл 22 2025, 03:53

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 15 ] 
Автор Сообщение
 Заголовок сообщения: Как вытащить тексты заголовка при сохранении поставки (VL01N) ?
СообщениеДобавлено: Пн, янв 21 2013, 05:43 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, окт 30 2008, 15:10
Сообщения: 62
Добрый день,

При сохранении документа поставки (VL01N) в badi необходимо получить тексты заголовка , функция READ_TEXT не подходит так как поставка еще не сохранена . Подскажите пожалуйста где их можно найти ?

Заранее благодарен .


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как вытащить тексты заголовка при сохранении поставки (VL01N) ?
СообщениеДобавлено: Пн, янв 21 2013, 08:56 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Попробуйте вызвать READ_TEXT с именем 'XXXXXXXXXX' вместо номера поставки в TDNAME для заголовка. Для позиции к этому имени добавьте номер позиции.

_________________
С уважением,
Удав.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как вытащить тексты заголовка при сохранении поставки (VL01N) ?
СообщениеДобавлено: Пн, янв 21 2013, 10:24 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, окт 30 2008, 15:10
Сообщения: 62
Удав написал(а):
Попробуйте вызвать READ_TEXT с именем 'XXXXXXXXXX' вместо номера поставки в TDNAME для заголовка. Для позиции к этому имени добавьте номер позиции.


попробовал , также ничего не находит :(


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как вытащить тексты заголовка при сохранении поставки (VL01N) ?
СообщениеДобавлено: Пн, янв 21 2013, 11:18 
Старший специалист
Старший специалист

Зарегистрирован:
Сб, окт 21 2006, 20:34
Сообщения: 280
а временный номер поставки какой в BADI виден при создании ? В бух документах у меня получалось по временному номеру вытаскивать при создании


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как вытащить тексты заголовка при сохранении поставки (VL01N) ?
СообщениеДобавлено: Пн, янв 21 2013, 12:22 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Ср, июн 25 2008, 14:06
Сообщения: 313
Откуда: Казахстан, Алматы
Пол: Мужской
Добрый день.

Вот так вроде работает.
theader - ид текста
lines - собственно сам текст
тестил в поставке, в бади LE_SHP_TAB_CUST_HEAD
Code:
CONSTANTS MEMORY_CAT(8) VALUE 'SAPLSTXD'.

DATA:
    theader TYPE THEAD
  , lines    TYPE STANDARD TABLE OF tline
  , t_catalog  TYPE STANDARD TABLE OF TCATALOG
  , l_catalog LIKE LINE OF t_catalog
  , MEMORY_TXT(30)
  .

  IMPORT CATALOG TO t_catalog FROM MEMORY ID MEMORY_CAT.

  IF t_catalog IS NOT INITIAL.
    LOOP AT t_catalog INTO l_catalog.
      CLEAR MEMORY_TXT.
      CONCATENATE MEMORY_CAT l_catalog-id INTO MEMORY_TXT.

      IMPORT THEAD TO THEADER
             TLINE TO LINES
      FROM MEMORY ID MEMORY_TXT.
    ENDLOOP.
  ENDIF.

_________________
Каждый раз при запуске проекта думаешь - ну вот оно СЧАСТЬЕ! А оказывается нет...снова ОПЫТ...


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как вытащить тексты заголовка при сохранении поставки (VL01N) ?
СообщениеДобавлено: Пн, янв 21 2013, 12:33 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Ср, июн 25 2008, 14:06
Сообщения: 313
Откуда: Казахстан, Алматы
Пол: Мужской
AirNeO написал(а):
Удав написал(а):
Попробуйте вызвать READ_TEXT с именем 'XXXXXXXXXX' вместо номера поставки в TDNAME для заголовка. Для позиции к этому имени добавьте номер позиции.


попробовал , также ничего не находит :(


Должно работать.
Я пробовал. Но через мемори ид проще (это из я из READ_TEXT выдрал кусок). Можно вытянуть сразу все тексты которые были заполнены (см пример кода выше).

_________________
Каждый раз при запуске проекта думаешь - ну вот оно СЧАСТЬЕ! А оказывается нет...снова ОПЫТ...


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как вытащить тексты заголовка при сохранении поставки (VL01N) ?
СообщениеДобавлено: Пн, янв 21 2013, 13:10 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, окт 30 2008, 15:10
Сообщения: 62
dump написал(а):
а временный номер поставки какой в BADI виден при создании ? В бух документах у меня получалось по временному номеру вытаскивать при создании


использую BADI : LE_SHP_DELIVERY_PROC Метод: SAVE_AND_PUBLISH_DOCUMENT
здесь уже вижу чистый (не временный) номер поставки (IT_XLIKP-VBELN)


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как вытащить тексты заголовка при сохранении поставки (VL01N) ?
СообщениеДобавлено: Пн, янв 21 2013, 13:21 
Старший специалист
Старший специалист

Зарегистрирован:
Сб, окт 21 2006, 20:34
Сообщения: 280
с тем номером - который видите не получается ?


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как вытащить тексты заголовка при сохранении поставки (VL01N) ?
СообщениеДобавлено: Пн, янв 21 2013, 13:22 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, окт 30 2008, 15:10
Сообщения: 62
SDюк написал:
Добрый день.

Вот так вроде работает.
theader - ид текста
lines - собственно сам текст
тестил в поставке, в бади LE_SHP_TAB_CUST_HEAD
Code:
CONSTANTS MEMORY_CAT(8) VALUE 'SAPLSTXD'.

DATA:
    theader TYPE THEAD
  , lines    TYPE STANDARD TABLE OF tline
  , t_catalog  TYPE STANDARD TABLE OF TCATALOG
  , l_catalog LIKE LINE OF t_catalog
  , MEMORY_TXT(30)
  .

  IMPORT CATALOG TO t_catalog FROM MEMORY ID MEMORY_CAT.

  IF t_catalog IS NOT INITIAL.
    LOOP AT t_catalog INTO l_catalog.
      CLEAR MEMORY_TXT.
      CONCATENATE MEMORY_CAT l_catalog-id INTO MEMORY_TXT.

      IMPORT THEAD TO THEADER
             TLINE TO LINES
      FROM MEMORY ID MEMORY_TXT.
    ENDLOOP.
  ENDIF.




люди у меня не работает не тот ни другой способ может бади не тот ? таблица t_catalog не заполняется

method IF_EX_LE_SHP_DELIVERY_PROC~SAVE_AND_PUBLISH_DOCUMENT.

BREAK-POINT.

CONSTANTS MEMORY_CAT(8) VALUE 'SAPLSTXD'.

DATA:
theader TYPE THEAD
, lines TYPE STANDARD TABLE OF tline
, t_catalog TYPE STANDARD TABLE OF TCATALOG
, l_catalog LIKE LINE OF t_catalog
, MEMORY_TXT(30)
.

IMPORT CATALOG TO t_catalog FROM MEMORY ID MEMORY_CAT.

IF t_catalog IS NOT INITIAL.
LOOP AT t_catalog INTO l_catalog.
CLEAR MEMORY_TXT.
CONCATENATE MEMORY_CAT l_catalog-id INTO MEMORY_TXT.

IMPORT THEAD TO THEADER
TLINE TO LINES
FROM MEMORY ID MEMORY_TXT.
ENDLOOP.
ENDIF.





* DATA: WA_XLIKP TYPE LINE OF SHP_LIKP_T.
* DATA: L_DELNUMB TYPE VBELN_VL.
* DATA: L_NAME TYPE THEAD-TDNAME.
* DATA: LT_LINE1 TYPE TABLE OF TLINE. " OCCURS 0.
* DATA: G_TRANSPORT TYPE string.
*
*
* BREAK-POINT.
*
*
* LOOP AT IT_XLIKP INTO WA_XLIKP.
* "IF WA_XLIKP-LFART = 'LO'. "and SY-TCODE = 'VL01N'.
*
*
* CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
* EXPORTING
* INPUT = WA_XLIKP-VBELN
* IMPORTING
* OUTPUT = L_DELNUMB.
* L_NAME = L_DELNUMB.
* CALL FUNCTION 'READ_TEXT'
* EXPORTING
* CLIENT = SY-MANDT
* ID = '0002'
* LANGUAGE = 'E'
* NAME = 'XXXXXXXXXX' "L_NAME
* OBJECT = 'VBBK'
* TABLES
* LINES = LT_LINE1
* EXCEPTIONS
* ID = 1
* LANGUAGE = 2
* NAME = 3
* NOT_FOUND = 4
* OBJECT = 5
* REFERENCE_CHECK = 6
* WRONG_ACCESS_TO_ARCHIVE = 7
* OTHERS = 8.
* CLEAR G_TRANSPORT.
* IF SY-SUBRC = 0.
* READ TABLE LT_LINE1 INDEX 1 INTO G_TRANSPORT.
* IF G_TRANSPORT(1) = '*'.
* SHIFT G_TRANSPORT LEFT DELETING LEADING '*'.
* ENDIF.
* ENDIF.
*
*
*
* MESSAGE 'Sending SMS!' TYPE 'I' .
*
* "ENDIF.
*
*
* ENDLOOP.
endmethod.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как вытащить тексты заголовка при сохранении поставки (VL01N) ?
СообщениеДобавлено: Пн, янв 21 2013, 13:25 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, окт 30 2008, 15:10
Сообщения: 62
dump написал(а):
с тем номером - который видите не получается ?


нет все пусто при сохранении , а вот при изменении сохраненной поставки уже получаю тексты


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как вытащить тексты заголовка при сохранении поставки (VL01N) ?  Тема решена
СообщениеДобавлено: Пн, янв 21 2013, 13:54 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Ср, июн 25 2008, 14:06
Сообщения: 313
Откуда: Казахстан, Алматы
Пол: Мужской
Добрый день.

Действительно в методе SAVE_AND_PUBLISH_DOCUMENT не работает (в старом экзите MV50AFZ1 form USEREXIT_SAVE_DOCUMENT тоже не работает)

Пробуйте метод SAVE_DOCUMENT_PREPARE в том же бади.
Там работает.

_________________
Каждый раз при запуске проекта думаешь - ну вот оно СЧАСТЬЕ! А оказывается нет...снова ОПЫТ...


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как вытащить тексты заголовка при сохранении поставки (VL01N) ?
СообщениеДобавлено: Пн, янв 21 2013, 16:57 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
зайди в VL01N и добавь текст в заголовок, поставь точку на READ_TEXT_INLINE или READ_TEXT,
перезайди в текст заголовка


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как вытащить тексты заголовка при сохранении поставки (VL01N) ?
СообщениеДобавлено: Пн, янв 21 2013, 18:13 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, окт 30 2008, 15:10
Сообщения: 62
SDюк написал:
Добрый день.

Действительно в методе SAVE_AND_PUBLISH_DOCUMENT не работает (в старом экзите MV50AFZ1 form USEREXIT_SAVE_DOCUMENT тоже не работает)

Пробуйте метод SAVE_DOCUMENT_PREPARE в том же бади.
Там работает.


Действительно все работает :D Спасибо огромное !


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как вытащить тексты заголовка при сохранении поставки (VL01N) ?
СообщениеДобавлено: Пн, янв 21 2013, 18:51 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
AirNeO написал(а):
использую BADI : LE_SHP_DELIVERY_PROC Метод: SAVE_AND_PUBLISH_DOCUMENT

С этого и надо было начинать.
Перед вызовом этого метода происходит замена номера в памяти и сохранение текстов в in update task:
Code:
* Performance: not during picking confirmation
    IF v50agl-no_texts IS INITIAL.
      CALL FUNCTION 'SD_COMMIT_TEXT'
        EXPORTING
          fi_caller = gc_text_appl_id-delivery
          fit_vbeln = lt_text_vbeln[]
        EXCEPTIONS
          OTHERS    = 1.
    ENDIF.

Поэтому ловить тексты нужно в подпрограмме USEREXIT_SAVE_PREPARE, как написал SDюк

_________________
С уважением,
Удав.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как вытащить тексты заголовка при сохранении поставки (VL01N) ?
СообщениеДобавлено: Вт, янв 22 2013, 05:31 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, окт 30 2008, 15:10
Сообщения: 62
Удав написал(а):
AirNeO написал(а):
использую BADI : LE_SHP_DELIVERY_PROC Метод: SAVE_AND_PUBLISH_DOCUMENT

С этого и надо было начинать.
Перед вызовом этого метода происходит замена номера в памяти и сохранение текстов в in update task:
Code:
* Performance: not during picking confirmation
    IF v50agl-no_texts IS INITIAL.
      CALL FUNCTION 'SD_COMMIT_TEXT'
        EXPORTING
          fi_caller = gc_text_appl_id-delivery
          fit_vbeln = lt_text_vbeln[]
        EXCEPTIONS
          OTHERS    = 1.
    ENDIF.

Поэтому ловить тексты нужно в подпрограмме USEREXIT_SAVE_PREPARE, как написал SDюк



Точно , спасибо большое за помощь !


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

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


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

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


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

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