SAP R/3 форум ABAP консультантов
Russian ABAP Developer's Club

Home - FAQ - Search - Memberlist - Usergroups - Profile - Log in to check your private messages - Register - Log in - English
Blogs - Weblogs News

Замещение в документе при АПП



 
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> SAP и ERP
View previous topic :: View next topic  
Author Message
NATALIA55
Участник
Участник



Joined: 06 Oct 2010
Posts: 17

PostPosted: Wed Aug 17, 2011 4:26 pm    Post subject: Замещение в документе при АПП Reply with quote

Добрый день.
Возникла проблема:
Для автоматической программы платежей (F110) мы указали для некоторых способов платежей в разделе "Данные проводки" вид документа дла платежа и вид документа пересчета.
В результате мы получаем бухгалтерский документ.
У нас возникла необходимость потутно внести некоторые данные в этот документ.
Мы пробовали создать замещение и у нас не получилось.
У нас для этого документа внутренняя нумерация.
Подскажите в каком направлении нам двигаться.
Back to top
View user's profile Send private message
vga
Мастер
Мастер


Age: 150
Joined: 04 Oct 2007
Posts: 1218
Location: Санкт-Петербург

PostPosted: Thu Aug 18, 2011 9:12 am    Post subject: Reply with quote

Наталья, добрый день!
Какое поле хотите изменить, какая версия системы?

При проводке фин. документов Open Fi должно отрабатывать, можно через него попробовать.

_________________
Молитва - это запрос разработчику на изменение кода программы.
Back to top
View user's profile Send private message Blog Visit poster's website
NATALIA55
Участник
Участник



Joined: 06 Oct 2010
Posts: 17

PostPosted: Thu Aug 18, 2011 10:51 am    Post subject: Замещение в документа АПП Reply with quote

Добрый день.
Спасибо за ответ, мы в этом направлении работали и не смогли подобрать подходящее нам событие.
Нам нужно занести в поле ссылка намер этого же документа. Это для начала. Затем нам нужно будет заполнить поле текст и присвоение зная дополнительные данные.
Back to top
View user's profile Send private message
vga
Мастер
Мастер


Age: 150
Joined: 04 Oct 2007
Posts: 1218
Location: Санкт-Петербург

PostPosted: Thu Aug 18, 2011 3:26 pm    Post subject: Reply with quote

Если у вас версия SAP больше или равна 4.70, то напрямую поле bkpf-xblnr изменить не получится.
см. ноту 545340

Номер доумента становится известен в OpenFi 1030.
Как вариант, запустить из OpenFi 1030 пользовательский FM в бекграундном режиме, убедиться, что с документа снята блокировка и изменить нужные поля через BAPI.


Если версия ниже 4.70, можно напрямую bkpf изменить.

_________________
Молитва - это запрос разработчику на изменение кода программы.
Back to top
View user's profile Send private message Blog Visit poster's website
NATALIA55
Участник
Участник



Joined: 06 Oct 2010
Posts: 17

PostPosted: Fri Aug 19, 2011 8:55 am    Post subject: Reply with quote

Добрый день.
Мы попробовали ваш совет ( OpenFi 1030 ). но АПП незаходит в этот FM. Мы оьратились к ноте, которую вы посоветовали, это тоже мы уже проходили.
Похоже что нужно , наверное, написать отдельную программку (пакетник), чего не хочется, т.к. это нужно будет выполнять как отжельное действие.
Back to top
View user's profile Send private message
vga
Мастер
Мастер


Age: 150
Joined: 04 Oct 2007
Posts: 1218
Location: Санкт-Петербург

PostPosted: Fri Aug 19, 2011 3:01 pm    Post subject: Reply with quote

Добрый день!
Как вы проверили, что не заходит?
Если ставили точку останова, то включали Update debugging?
Может быть OpenFi вызывается во время апдейтного процесса.

_________________
Молитва - это запрос разработчику на изменение кода программы.
Back to top
View user's profile Send private message Blog Visit poster's website
NATALIA55
Участник
Участник



Joined: 06 Oct 2010
Posts: 17

PostPosted: Mon Aug 22, 2011 11:09 am    Post subject: Reply with quote

Добрый день.
Мы создавали свои FM на основе стандартных и вставляли BREAK_POINT в PS/модули клиента (Open FI 1020 1025 1030 1120 2110 2510 2520). Потытки пока не дали результат. Может нужно где-то еще искать?
Back to top
View user's profile Send private message
vga
Мастер
Мастер


Age: 150
Joined: 04 Oct 2007
Posts: 1218
Location: Санкт-Петербург

PostPosted: Mon Aug 22, 2011 12:33 pm    Post subject: Reply with quote

NATALIA55 wrote:
Добрый день.
Мы создавали свои FM на основе стандартных и вставляли BREAK_POINT в PS/модули клиента (Open FI 1020 1025 1030 1120 2110 2510 2520). Потытки пока не дали результат. Может нужно где-то еще искать?


Возможно, создание фин. документа стартует уже из апдейтной процедуры.

1) Проверьте, что при создании фин. документа через fb01, точка остановки в событии 1030 срабатывает.

2) Поставить в отладчике галочку Update debugging. (После вызова f110 зайдите в отладчик по /h и установите галку в Settings - Change Debugger Settings - Update Debugging). После этого продолжите стандартное выполение f110.

_________________
Молитва - это запрос разработчику на изменение кода программы.
Back to top
View user's profile Send private message Blog Visit poster's website
NATALIA55
Участник
Участник



Joined: 06 Oct 2010
Posts: 17

PostPosted: Thu Aug 25, 2011 11:11 am    Post subject: Reply with quote

Добрый день.
После долгих поисков я дошла до точки где появляется документ в системе.
CALL 'SendSubmitReq'
ID 'TMSG' FIELD i_th_msg
ID 'TSYS' FIELD i_server.
в INCLUDE LBTCHF12 программы SAPLBTCH
и все это в момент выполнения программы прогона платежей.
Но номера документа узнать не удалось
Back to top
View user's profile Send private message
rstiv
Специалист
Специалист


Age: 44
Joined: 29 Oct 2008
Posts: 68
Location: Питер

PostPosted: Wed Mar 06, 2013 7:22 pm    Post subject: Reply with quote

Валера, привет!
А ты уверен что это :
Quote:
Как вариант, запустить из OpenFi 1030 пользовательский FM в бекграундном режиме, убедиться, что с документа снята блокировка и изменить нужные поля через BAPI.

будет работать? Ведь документ еще в BKPF в этот момент не создан. Я пробовал делать стандартный ФМ запускать в бэграунде, в нем делал проверку на блокировку, не прокатило, была ошибка при обновлении BKPF, потом перед проверкой на блокировку сделал SELECT из BKPF и делал до тех пор пока не сделается, и после проверка на блокировки и апдейт BKPF. Пробовал два ФМ по апдейту заголовка: 'FI_DOCUMENT_CHANGE' и FI_HEADER_UPDATE, обе ничего не изменили.

_________________
Строчечку написал, стопочку пропустил...
Back to top
View user's profile Send private message
rstiv
Специалист
Специалист


Age: 44
Joined: 29 Oct 2008
Posts: 68
Location: Питер

PostPosted: Wed Mar 06, 2013 7:26 pm    Post subject: Reply with quote

Ксати, здесь в мануале по OPEN-FI писали, что есть возможность дернуть данные из памяти, изменить их и обратно поместить в память, что бы SAP потом сам взял измененные данные, так как в событиях для проверки данные изменить не возможно. Не подскажешь как это сделать? То есть ASSIGN как я полагаю, но чего?
_________________
Строчечку написал, стопочку пропустил...
Back to top
View user's profile Send private message
alezhu
Специалист
Специалист



Joined: 29 Apr 2012
Posts: 86
Location: Spb

PostPosted: Thu Mar 07, 2013 8:59 am    Post subject: Reply with quote

rstiv wrote:
Ксати, здесь в мануале по OPEN-FI писали, что есть возможность дернуть данные из памяти, изменить их и обратно поместить в память, что бы SAP потом сам взял измененные данные, так как в событиях для проверки данные изменить не возможно. Не подскажешь как это сделать? То есть ASSIGN как я полагаю, но чего?


Это зависит от события ИМХО. Для 1340 мы делали например так:
Code:

FORM load_knbk_open_fi  USING    is_kna1 TYPE kna1.

  " Вызывается из ФМ ZFM_INTERFACE_00001340



  DATA lv_memid(15)       VALUE 'OPENFI'.

  DATA t_xknbk  TYPE TABLE OF  fknbk.
  DATA t_xknb5  TYPE TABLE OF  fknb5.
  DATA t_yknbk  TYPE TABLE OF  fknbk.
  DATA t_yknb5  TYPE TABLE OF  fknb5.
  DATA t_xknza  TYPE TABLE OF  fknza.
  DATA t_yknza  TYPE TABLE OF  fknza.
  DATA t_xknas  TYPE TABLE OF  fknas.
  DATA t_yknas  TYPE TABLE OF  fknas.
  DATA t_xknex  TYPE TABLE OF  fknex.
  DATA t_yknex  TYPE TABLE OF  fknex.
  DATA t_xknva  TYPE TABLE OF  fknva.
  DATA t_yknva  TYPE TABLE OF  fknva.
  DATA t_xknvd  TYPE TABLE OF  fknvd.
  DATA t_yknvd  TYPE TABLE OF  fknvd.
  DATA t_xknvi  TYPE TABLE OF  fknvi.
  DATA t_yknvi  TYPE TABLE OF  fknvi.
  DATA t_xknvk  TYPE TABLE OF  fknvk.
  DATA t_yknvk  TYPE TABLE OF  fknvk.
  DATA t_xknvl  TYPE TABLE OF  fknvl.
  DATA t_yknvl  TYPE TABLE OF  fknvl.
  DATA t_xknvp  TYPE TABLE OF  fknvp.
  DATA t_yknvp  TYPE TABLE OF  fknvp.
  DATA t_xknat  TYPE TABLE OF  fknat.
  DATA t_xknbw  TYPE TABLE OF  fknbw.
  DATA t_yknat  TYPE TABLE OF  fknat.
  DATA t_yknbw  TYPE TABLE OF  fknbw.

  DATA ls_knbk TYPE fknbk.

  FIELD-SYMBOLS:
    <s_lfbk> TYPE flfbk.

  FIELD-SYMBOLS:
    <t_ylfbk> TYPE  flfbk_tab,
    <t_xlfbk> TYPE  flfbk_tab.


  ASSIGN ('(SAPMF02K)XLFBK[]') TO <t_xlfbk>.
  CHECK sy-subrc = 0.

  ASSIGN ('(SAPMF02K)YLFBK[]') TO <t_ylfbk>.
  CHECK sy-subrc = 0.


  lv_memid+6 = '0000130E'.

  IMPORT t_xknbk t_xknb5 t_xknza t_yknbk t_yknb5 t_yknza
         t_xknas t_yknas
         t_xknex t_yknex t_xknva t_yknva t_xknvd t_yknvd
         t_xknvi t_yknvi t_xknvk t_yknvk t_xknvl t_yknvl
         t_xknvp t_yknvp t_xknat t_xknbw t_yknat t_yknbw
         FROM MEMORY ID lv_memid.

  "Тут что-то меням

  EXPORT t_xknbk t_xknb5 t_xknza t_yknbk t_yknb5 t_yknza
         t_xknas t_yknas
         t_xknex t_yknex t_xknva t_yknva t_xknvd t_yknvd
         t_xknvi t_yknvi t_xknvk t_yknvk t_xknvl t_yknvl
         t_xknvp t_yknvp t_xknat t_xknbw t_yknat t_yknbw
         TO MEMORY ID lv_memid.

ENDFORM.                    " LOAD_KNBK_OPEN_FI

Back to top
View user's profile Send private message
rstiv
Специалист
Специалист


Age: 44
Joined: 29 Oct 2008
Posts: 68
Location: Питер

PostPosted: Thu Mar 07, 2013 10:58 am    Post subject: Reply with quote

Спасибо, alezhu, но это работать не будет, так как у них стоит нота 530655, которая идет в обход memory_id, через локальные переменные, и доступа к ним нет. Валера, может я что то не так делаю, у меня ФМ по обновлению стандартного типа, может мне тип поменять? Кстати почему не отрабатывает событие 1640? Я зашел в FIBF, создал продукт, поставил галку на "А", сохранил, зашел в процессы, поставил событие 1640, прикрепил свой Z фм, поставил продукт, все добро сохранил, потом через SCC1 перенес в песочницу, в той же системе и не отрабатывает, такая же история была с событием 1130, может я какую то настройку пропускаю?
_________________
Строчечку написал, стопочку пропустил...
Back to top
View user's profile Send private message
vga
Мастер
Мастер


Age: 150
Joined: 04 Oct 2007
Posts: 1218
Location: Санкт-Петербург

PostPosted: Thu Mar 07, 2013 1:09 pm    Post subject: Reply with quote

rstiv wrote:
Спасибо, alezhu, но это работать не будет, так как у них стоит нота 530655, которая идет в обход memory_id, через локальные переменные, и доступа к ним нет. Валера, может я что то не так делаю, у меня ФМ по обновлению стандартного типа, может мне тип поменять? Кстати почему не отрабатывает событие 1640? Я зашел в FIBF, создал продукт, поставил галку на "А", сохранил, зашел в процессы, поставил событие 1640, прикрепил свой Z фм, поставил продукт, все добро сохранил, потом через SCC1 перенес в песочницу, в той же системе и не отрабатывает, такая же история была с событием 1130, может я какую то настройку пропускаю?



Привет!
ФМ, который выполняешь в background режиме, должен иметь галку Remote-Enabled. Эти модули запускаются после commit work. Поставь галочку Start Delayed в Update Module, чтобы он был запущен как V2 update module, то есть когда уже FI документ будет точно создан.

Не все OpenFI должны обязательно запускаться, какие-то спроектированы только для определенных транзакций. Отлаживать надо, я так точно не скажу, почему 1640, 1130 не выполнились. Запуск всех OpenFi идет через один FM (не помню названия, посмотри по стеку выше при срабатывании 1030), поставь там точку останова, может настроек в FIFB не хватает.

Еще, возможно, в твоем FM в конце вызова 'BAPI_TRANSACTION_COMMIT' не хватает. Зависит в целом от схемы апедейтов, которую ты спроектировал.

_________________
Молитва - это запрос разработчику на изменение кода программы.
Back to top
View user's profile Send private message Blog Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> SAP и ERP All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG.
SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG.
Every effort is made to ensure content integrity. Use information on this site at your own risk.