SAPфорум.RU
https://sapboard.ru/forum/

Пакетник FB01 - тексты в бухгалтерском документе
https://sapboard.ru/forum/viewtopic.php?f=13&t=98060
Страница 1 из 1

Автор:  Haku_chan [ Чт, окт 10 2019, 12:02 ]
Заголовок сообщения:  Пакетник FB01 - тексты в бухгалтерском документе

Доброго дня, друзья, помогите, пожалуйста с пакетником.
Я написала пакетник, и он в целом работает, не работает только заполнение текстовых полей.
Никак не заполняются.

Подскажите, где я ошиблась?

Code:
    'X' 'SAPMF05A'       '312',
    ''    'BDC_OKCODE'   '=RW',
    ''    'BSEG-WRBTR'   v_wrbtr,
    ''    'BSEG-FWBAS'   v_fwbas,
    ''    'BSEG-MWSKZ'   P_KMWSKZ,
    ''    'BSEG-GSBER'   p_gsber,
    ''    'BSEG-ZFBDT'   v_budat,
    ''    'BSEG-FIPOS'   'T502',
    ''    'BSEG-SGTXT'   p_sgtxt,
    'X' 'SAPMF05A'       '332',
    ''    'BDC_OKCODE'   '=TEXT',
    ''    'BKPF-XBLNR'   p_xblnr,
    'X' 'SAPLFTXT'       '100',
    ''    'BDC_OKCODE'   '=BACK',
    ''    'RTEXT-LTEXT(08)' v_zfbdt,                      - не заполняется - поля остаются пустыми - может, экран или код не тот?
    ''    'RTEXT-LTEXT(09)' v_hzuon,
    ''    'RTEXT-LTEXT(11)' v_nds,
    'X'   'SAPMF05A'       '700',
    ''    'BDC_OKCODE'   '=BS',
    ''    'BKPF-XBLNR'   p_xblnr.

Автор:  Кодер [ Чт, окт 10 2019, 12:34 ]
Заголовок сообщения:  Re: Пакетник FB01 - тексты в бухгалтерском документе

Можно, конечно, и в пакете это указывать, но есть шанс, что добавят новый идентификатор текста, и пакет придется переписывать.

Возможные простые варианты решений:

1) обновить длинные тексты уже после завершения пакетника. Минус: кто-нибудь может успеть заблокировать документ и нужный длинный текст
2) Передать данные для текста в память (IMPORT\EXPORT TO MEMORY ID). Поймать эти данные в OPEN FI в 1030 и сохранить там через ФМ SAVE_TEXT

Автор:  Haku_chan [ Чт, окт 10 2019, 14:16 ]
Заголовок сообщения:  Re: Пакетник FB01 - тексты в бухгалтерском документе  Тема решена

Кодер написал(а):
Можно конечно и в пакете это указывать, но есть шанс, что добавят новый текст идентификатор, и пакет придется переписывать. Возможные простые варианты решений
1) обновить длинные тексты уже после завершения пакетника. Минус: кто-нибудь может успеть заблокировать документ и нужный длинный текст
2) Передать данные для текста в память (IMPORT\EXPORT TO MEMORY ID). Поймать эти данные в OPEN FI в 1030 и сохранить там через ФМ SAVE_TEXT


Спасибо ) У меня по ходу что-то не так с предыдущим кодом. Я поменяла главное сообщение, разместила там код. Пока гоняю-смотрю - программа будто бы не видит, что я вставляю текст вовсе. Видимо, где-то в коде перед вставкой текста ошибка. Что-то написала не так...

Автор:  Haku_chan [ Чт, окт 10 2019, 15:35 ]
Заголовок сообщения:  Re: Пакетник FB01 - тексты в бухгалтерском документе

Спасибо, я разобралась:-)

Автор:  Kengur [ Пн, окт 14 2019, 12:44 ]
Заголовок сообщения:  Re: Пакетник FB01 - тексты в бухгалтерском документе

Мне кажется на длинные тексты надо написать утилит класс со статической памятью, а в 1030 написать реализацию сохранения. Тогда класс можно будет вызывать из разных точек, будет такой удобный бизнес-сервис :D

Автор:  Yozhhhhh [ Пн, окт 14 2019, 13:00 ]
Заголовок сообщения:  Re: Пакетник FB01 - тексты в бухгалтерском документе

Кодер написал(а):
Можно конечно и в пакете это указывать, но есть шанс, что добавят новый текст идентификатор, и пакет придется переписывать. Возможные простые варианты решений
1) обновить длинные тексты уже после завершения пакетника. Минус: кто-нибудь может успеть заблокировать документ и нужный длинный текст
2) Передать данные для текста в память (IMPORT\EXPORT TO MEMORY ID). Поймать эти данные в OPEN FI в 1030 и сохранить там через ФМ SAVE_TEXT


Можно даже ничего не передавать, а сразу работать с пустыми номерами документов.
Если формировать TDNAME по принципе BUKRS__________GJAHR (где в середине 10 пробелов), то SAVE_TEXT также работает успешно.
Я эту идею регулярно использую для заполнения текстов прямо из замещения, когда номер документа еще даже неизвестен.

Автор:  barracuda_1987 [ Ср, мар 03 2021, 15:02 ]
Заголовок сообщения:  Re: Пакетник FB01 - тексты в бухгалтерском документе

Yozhhhhh написал:
Можно даже ничего не передавать, а сразу работать с пустыми номерами документов.
Если формировать TDNAME по принципе BUKRS__________GJAHR (где в середине 10 пробелов), то SAVE_TEXT также работает успешно.
Я эту идею регулярно использую для заполнения текстов прямо из замещения, когда номер документа еще даже неизвестен.



Добрый день!

подскажите, пожалуйста, с какой версии это работает? У меня SAP_APPL 600/0018, и в ней после заполнения LongText в позиции документа (через тр.FB01) не вызывается FM SAVE_TEXT, и затем в validation (GGB0) чтение из памяти (CALL FUNCTION 'GET_TEXT_MEMORY') выдает пустую таблицу CATALOG.... Если в GGB0 пытаюсь вызвать ФМ SAVE_TEXT (как Вы рекомендуете), то результат тот же - введенный LongText не виден.

Если дело не в версии и Вас не затруднит, можете, пожалуйста, прислать код вызова SAVE_TEXT из GGB0 ? Спасибо!

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/