Sapforum.Biz
Инструменты => ABAP - Инструментальные средства => Тема начата: sergiucz от Сентябрь 30, 2012, 06:19:13 pm
-
Добрый день господа гуру!
Появилась задача при выводе на печать Налог Наклад. В это поле BKPF-BKTXT вставлять ИДН номер накладной .
То есть , каждый лист имеет свои уникальный номер.
И он известен когда дается на печать.
Каким способом мне надо изменить это поле в таблице BKPF.
Заранее спасибо
-
Добрый день господа гуру!
Появилась задача при выводе на печать Налог Наклад. В это поле BKPF-BKTXT вставлять ИДН номер накладной .
То есть , каждый лист имеет свои уникальный номер.
И он известен когда дается на печать.
Каким способом мне надо изменить это поле в таблице BKPF.
Заранее спасибо
Самый простой способ, это пакетный ввод на тр. FB02. Процедуру запускайте по факту успешной печати, допустим.
-
Самый простой способ, это пакетный ввод на тр. FB02. Процедуру запускайте по факту успешной печати, допустим.
спасибо за ответ !!
Вопрос решил . Нашел
Нашел
CALL FUNCTION 'FI_HEADER_UPDATE'
TABLES
t_bkpf =
.
-
спасибо за ответ !!
Вопрос решил . Нашел
Нашел
CALL FUNCTION 'FI_HEADER_UPDATE'
TABLES
t_bkpf = .
Вы уверены? А что там внутри этого ФМ и вид у него (в свойствах) какой? Поле BKTXT не только в BKPF, посмотрите по ЭД.
P.S. В опциях отправки сообщения используйте тег "код", если таковой требуется, кнопка "#".
-
Переведу ответ Димы если кто не понял...
спасибо за ответ !!
Вопрос решил . Нашел
Нашел
Ничего вы не нашли, и использовать данный ФМ категорически запрещено для тех целей которые вы собрались.
CALL FUNCTION 'FI_HEADER_UPDATE'
TABLES
t_bkpf =
Это модуль обновления, вызываемый в контексте стандартной работы обновления данных при проводке документов, там в тексте только вот это:
FUNCTION FI_HEADER_UPDATE.
*"----------------------------------------------------------------------
*"*"Verbuchungsfunktionsbaustein:
*"
*"*"Lokale Schnittstelle:
*" TABLES
*" T_BKPF STRUCTURE BKPF
*"----------------------------------------------------------------------
UPDATE BKPF FROM TABLE T_BKPF.
IF SY-SUBRC NE 0.
MESSAGE A247(FQ) WITH 'BKPF'.
ENDIF.
ENDFUNCTION.
Так что ничего вы не нашли, это прямой апдейт таблиц, которым может пользоваться только стандартный функционал системы. Я в FI не силен, но кажется там BAPI подходящей нет и придется воспользоватся предложением Дмитрия, по поводу формирования пакетного ввода.
-
Спасибо за код ФМ, нет под рукой системы. Подозрение закралось по названию и усилилось после поиска в гугле.:)
-
Добрый день .
Спасибо всем за интерес .
Я делаю так .
SELECT * INTO CORRESPONDING FIELDS OF TABLE lt_bkpf FROM bkpf WHERE belnr EQ pa_belnr AND bukrs EQ pa_bukrs.
READ TABLE lt_bkpf INDEX 1 .
lt_bkpf-bktxt = pa_fnum.
MODIFY lt_bkpf INDEX 1.
CALL FUNCTION 'FI_HEADER_UPDATE'
TABLES
t_bkpf = lt_bkpf.
я же не меняю ничего кроме bkpf-bktxt
Пока все работает нормально . Глюков нет
Но если говорите что лучше через пакетник то я переделаю программу .
-
Точно такая же проблема есть и для MKPF. Ее можно обновлять бапихой?
-
Спасибо за код ФМ, нет под рукой системы. Подозрение закралось по названию и усилилось после поиска в гугле.:)
Да просто сидели и ждали машины на рампе пока я искал в гоогле.
Просто у нас Тока запустилась система и в тот день я узнал что надо это делать.
-
Добрый день .
Спасибо всем за интерес .
Я делаю так .
SELECT * INTO CORRESPONDING FIELDS OF TABLE lt_bkpf FROM bkpf WHERE belnr EQ pa_belnr AND bukrs EQ pa_bukrs.
READ TABLE lt_bkpf INDEX 1 .
lt_bkpf-bktxt = pa_fnum.
MODIFY lt_bkpf INDEX 1.
CALL FUNCTION 'FI_HEADER_UPDATE'
TABLES
t_bkpf = lt_bkpf.
я же не меняю ничего кроме bkpf-bktxt
Пока все работает нормально . Глюков нет
Но если говорите что лучше через пакетник то я переделаю программу .
belnr EQ pa_belnr AND bukrs EQ pa_bukrs ключ нужно полный указывать
А может глянуть open FI event какой подходящий есть ?
-
я же не меняю ничего кроме bkpf-bktxt
Пока все работает нормально . Глюков нет
Ну в таком случае делайте просто: UPDATE BKPF FROM TABLE T_BKPF, хотя нет точнее будет делать UPDATE bkpf SET bktxt = pa_fnum WHERE <ключ записи> и всех делов, это раз.
Теперь два - рекомендации лучших соба-саповодов. НИКОГДА И НИ ПРИ КАКИХ СЛУЧАЯХ НЕ ОБНОВЛЯЙТЕ ДАННЫЕ ТАБЛИЦ СИСТЕМЫ ПРЯМЫМИ АПДЕЙТАМИ (тот 0,0001% когда это нужно сделать, сделайте молча, тихо и никому, никогда об этом не рассказывайте!!!)
-
Всем спасибо!
Сделал через пакетник.
Uukrul Спасибо за советы :) Буду строго соблюдать :)
-
Если уже и решили делать UPDATE, то создайте доп структуру в этой таблице с своим полем и обновляйте его, и там где вам нужно подтягивайте это поле....
P.S. В некоторых случаях я так делаю(только не для этой таблицы)...
-
Если уже и решили делать UPDATE, то создайте доп структуру в этой таблице с своим полем и обновляйте его, и там где вам нужно подтягивайте это поле....
Ну тогда наверное лучше завести свою таблицу, смысла добавлять поле именно в BKPF не вижу, размер таблицы вырастет существенно, так как FI-документов обычно очень много. А стандартные отчеты все равно видеть это поле не будут. Так что смысла особого нет.
-
Ну тогда наверное лучше завести свою таблицу, смысла добавлять поле именно в BKPF не вижу, размер таблицы вырастет существенно, так как FI-документов обычно очень много. А стандартные отчеты все равно видеть это поле не будут. Так что смысла особого нет.
так была поставлена задача с начало.
Мы просто переделали книгу покупок и продаж под себя и сделали все интерфейсы и программы чтоб бралось оттуда тоже.