Текущее время: Пн, авг 04 2025, 20:36

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




Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Чт, авг 14 2008, 10:30 
Специалист
Специалист

Зарегистрирован:
Чт, май 19 2005, 10:10
Сообщения: 202
Здравствуйте, уважаемые коллеги!
Номер платежки успешно найден в t_bkpf, а вот а вот есть что-нибудь аналогичное bse_clr, чтобы можно было еще и знать какой документ на 51, 20, ... оплачивается...
Номер платежки в bse_clr - это поле belnr_clr, а вот поле belnr в этой таблице - это как раз номер документа исходного, оплата которого производится, его-то как выцепить, подскажите, пожалуйста...
С наилучшими пожеланиями.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, авг 14 2008, 10:50 
Специалист
Специалист

Зарегистрирован:
Чт, май 19 2005, 10:10
Сообщения: 202
Здравствуйте еще раз!
Я нашел номер документа, он содержится в таблице T_AUSZ3 и называется belnr :)
Спасибо!


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, авг 22 2008, 12:53 
Специалист
Специалист

Зарегистрирован:
Чт, май 19 2005, 10:10
Сообщения: 202
Здравствуйте, уважаемые коллеги!
Как и обещал, высылаю программу отлова платежей в реальном режиме времени. Пока программа вставляет информацию в лог, который можно просмотреть в транзакции slg1. Сейчас делаю, так чтобы можно было получать информацию по почте.
Не забудьте настроить BTE за номером 1030 на этот функциональный модуль:

1 тр. fibf
2 параметры настройки - продукты - клиента - задайте имя продукта и поставьте галку в столбце А - активный
3 параметры настройки - ps модули - клиента - событие 1030, функц модуль z_log (или уж как сами назовете)


FUNCTION Z_LOG .
*"----------------------------------------------------------------------
*"*"Локальный интерфейс:
*" IMPORTING
*" REFERENCE(I_BKDF) LIKE BKDF STRUCTURE BKDF
*" REFERENCE(I_UF05A) LIKE UF05A STRUCTURE UF05A
*" REFERENCE(I_XVBUP) LIKE OFIWA-XVBUP DEFAULT 'X'
*" TABLES
*" T_AUSZ1 STRUCTURE AUSZ1 OPTIONAL
*" T_AUSZ2 STRUCTURE AUSZ2 OPTIONAL
*" T_AUSZ3 STRUCTURE AUSZ_CLR OPTIONAL
*" T_BKP1 STRUCTURE BKP1
*" T_BKPF STRUCTURE BKPF
*" T_BSEC STRUCTURE BSEC
*" T_BSED STRUCTURE BSED
*" T_BSEG STRUCTURE BSEG
*" T_BSET STRUCTURE BSET
*" T_BSEU STRUCTURE BSEU
*"----------------------------------------------------------------------


types: begin of t_itab,
laufi type reguh-laufi,
laufd type reguh-laufd,
end of t_itab.

types: begin of t_itab1,
laufi type reguh-laufi,
laufd type reguh-laufd,
vblnr type reguh-vblnr,
end of t_itab1.

types: begin of bseg_t,
belnr type bseg-belnr,
dmbtr type bseg-dmbtr,
wrbtr type bseg-wrbtr,
gjahr type bseg-gjahr,
koart type bseg-koart,
umskz type bseg-umskz,
waers type bkpf-waers,
shkzg type bseg-shkzg,
bukrs type bseg-bukrs,
lifnr type lfa1-lifnr,
name1 type znazv,
gsber type bseg-gsber,
sgtxt type bseg-sgtxt,
xblnr type bkpf-xblnr,
bldat type bkpf-bldat,
budat type bkpf-budat,
end of bseg_t.

types: begin of s_itab,
belnr_clr type bse_clr-belnr_clr,
gjahr_clr type bse_clr-gjahr_clr,
belnr type bse_clr-belnr,
gjahr type bse_clr-gjahr,
end of s_itab.

DATA: gf_log_handle TYPE balloghndl,
ls_log TYPE bal_s_log,
p_log_handle TYPE BAL_T_LOGH,
lf_dummy(1) TYPE c.
DATA: IV_SUBOBJECT TYPE BAL_S_LOG-SUBOBJECT VALUE 'F110'.
DATA: IV_OBJECT TYPE BAL_S_LOG-OBJECT VALUE 'ZTEST'.
DATA: string1(255).
DATA: string2(255).
DATA: string3(255).
data: w_it type s_itab.
data: b_it type bseg_t.
data: itab type bseg_t occurs 10 with header line.
data: itab1 type s_itab occurs 10 with header line.
data: t_itt type t_itab occurs 10 with header line.
data: t_it type t_itab.
data: t_it1 type t_itab1.
data: s type zkaadat.
data: ii type c.
data: begin of WBKPF,
xblnr type bkpf-xblnr,
bktxt type bkpf-bktxt,
bLdat type bkpf-bLdat,
END OF WBKPF.

data: begin of WBSEG,
belnr type bseg-belnr,
sgtxt type bseg-sgtxt,
zuonr type bseg-zuonr,
dmbtr type bseg-dmbtr,
gsber type bseg-gsber,
rebzg type bseg-rebzg,
rebzj type bseg-rebzj,
gjahr type bseg-gjahr,
umskz type bseg-umskz,
pswsl type bseg-pswsl,
wrbtr type bseg-wrbtr,
lifnr type bseg-lifnr,
shkzg type bseg-shkzg,
END OF Wbseg.
data: witab4 type bseg_t.
data: sgtxt type bseg-sgtxt.
data: zuonr type bseg-zuonr.
data: dmbtr type bseg-dmbtr.
data: gsber type bseg-gsber.
data: rebzg type bseg-rebzg.
data: rebzj type bseg-rebzj.
data: lif_1 type lfa1-name1.
data: lif_2 type lfa1-name2.
data: lif_3 type znazv.
data: st_1 type zname20.
data: st_2 type zname20.
data: pswsl type bseg-pswsl.
data: wrbtr type bseg-wrbtr.
data: xblnr type bkpf-xblnr.
data: bldat type bkpf-bldat.
data: gjahr_clr type bse_clr-gjahr.
data: belnr_clr type bse_clr-belnr.
data: data_clr type reguh-laufd.
data: lifnr type bseg-lifnr.
data: sum type bseg-dmbtr.
data T_FI type FIDOC_TPR_ITEMS occurs 10 with header line.


CLEAR gf_log_handle.
ls_log-extnumber = sy-title.
ls_log-EXTNUMBER = text-004.
ls_log-ALUSER = SY-UNAME.
ls_log-ALDATE = SY-DATUM.
ls_log-ALTIME = SY-UZEIT.
ls_log-ALTCODE = sy-tcode.
ls_log-ALPROG = SY-REPID.
ls_log-OBJECT = IV_OBJECT.
ls_log-SUBOBJECT = IV_SUBOBJECT.
ls_log-DEL_BEFORE = 'X'.


IF NOT gf_log_handle IS INITIAL.
CALL FUNCTION 'BAL_LOG_DELETE'
EXPORTING _log_handle = gf_log_handle
EXCEPTIONS log_not_found = 0
OTHERS = 0.
ENDIF.

* create a log
CALL FUNCTION 'BAL_LOG_CREATE'
EXPORTING: i_s_log = ls_log
IMPORTING: e_log_handle = gf_log_handle
EXCEPTIONS
LOG_HEADER_INCONSISTENT = 1
OTHERS = 2.

insert gf_log_handle into table p_log_handle.

* присвоение строками начальных значений

string1 = ''.

* Головная часть платежки

gjahr_clr = t_bkpf-gjahr.
belnr_clr = t_bkpf-belnr.
data_clr = t_bkpf-bldat.

sum = 0.

concatenate string1 data_clr+6(2) '.' data_clr+4(2)'.' gjahr_clr '++' belnr_clr into string1.

CALL FUNCTION 'BAL_LOG_MSG_ADD_FREE_TEXT'
EXPORTING
I_LOG_HANDLE = gf_log_handle
I_MSGTY = 'I'
I_TEXT = string1
EXCEPTIONS
LOG_NOT_FOUND = 1
MSG_INCONSISTENT = 2
OTHERS = 3.

* Содержимое позиций платежки кладется в таблицу itab

ii = 1.

loop at t_ausz3.

string1 = ''.

b_it-gjahr = t_ausz3-gjahr.
b_it-belnr = t_ausz3-belnr.
b_it-umskz = t_ausz3-umskz.
b_it-koart = t_ausz3-koart.
b_it-shkzg = t_ausz3-shkzg.
b_it-dmbtr = t_ausz3-dmbtr.
b_it-wrbtr = t_ausz3-wrbtr.
b_it-waers = t_ausz3-waers.
b_it-bukrs = t_ausz3-bukrs.

sum = sum + b_it-dmbtr.

CALL FUNCTION 'FI_DOC_TPR_ITEMS_FIND'
EXPORTING
I_COCODE = b_it-bukrs
* I_BUSAREA =
* I_VEND =
* I_XBLNR =
I_YEAR = b_it-gjahr
* I_MONTH =
I_DOCNR = b_it-belnr
* IMPORTING
* E_NO_ITEMS =
TABLES
T_FI_DOC_TPR_ITEMS = T_FI
EXCEPTIONS
NO_RECORD_FOUND = 1
WRONG_INPUT = 2
OTHERS = 3.

IF SY-SUBRC <> 0.

string2 = 'Ошибка'.
CALL FUNCTION 'BAL_LOG_MSG_ADD_FREE_TEXT'
EXPORTING
I_LOG_HANDLE = gf_log_handle
I_MSGTY = 'I'
I_TEXT = string2
EXCEPTIONS
LOG_NOT_FOUND = 1
MSG_INCONSISTENT = 2
OTHERS = 3.
EXIT.
ENDIF.


read table t_fi index ii.

select single lfa1~name1 from lfa1
into lif_1
where lfa1~lifnr = t_fi-lifnr.

select single lfa1~name2 from lfa1
into lif_2
where lfa1~lifnr = t_fi-lifnr.

lif_3 = ''.
concatenate lif_1 lif_2 into lif_3 separated by ' '.

b_it-lifnr = t_fi-lifnr.
b_it-name1 = lif_3.
b_it-gsber = t_fi-gsber.
b_it-sgtxt = t_fi-sgtxt.
b_it-xblnr = t_fi-xblnr.
b_it-bldat = t_fi-bldat.
b_it-budat = t_fi-budat.

*loop at t_fi.

st_1 = b_it-dmbtr.
st_2 = b_it-wrbtr.
concatenate string1 '++' b_it-bukrs '++' b_it-gjahr '++' b_it-belnr '++' t_fi-waers '++' t_fi-lifnr '++' st_1 '++' st_2 '++' lif_3 '++' t_fi-gsber '++' into string1.
concatenate string2 '++' t_fi-sgtxt '++' t_fi-xblnr '++' b_it-shkzg '++' b_it-bldat+6(2) '.' b_it-bldat+4(2) '.' b_it-bldat(4) '++' b_it-budat+6(2) '.' b_it-budat+4(2) '.' b_it-budat(4) '++' into string2.

CALL FUNCTION 'BAL_LOG_MSG_ADD_FREE_TEXT'
EXPORTING
I_LOG_HANDLE = gf_log_handle
I_MSGTY = 'I'
I_TEXT = string1
EXCEPTIONS
LOG_NOT_FOUND = 1
MSG_INCONSISTENT = 2
OTHERS = 3.

CALL FUNCTION 'BAL_LOG_MSG_ADD_FREE_TEXT'
EXPORTING
I_LOG_HANDLE = gf_log_handle
I_MSGTY = 'I'
I_TEXT = string2
EXCEPTIONS
LOG_NOT_FOUND = 1
MSG_INCONSISTENT = 2
OTHERS = 3.

*endloop.

append b_it to itab.
string1 = ''.
string2 = ''.
ii = ii + 1.

endloop.

string2 = 'Общая сумма платежки'.
st_1 = sum.
concatenate string2 st_1 'Кредитор №' t_fi-lifnr lif_3 into string2 separated by ' '.


CALL FUNCTION 'BAL_LOG_MSG_ADD_FREE_TEXT'
EXPORTING
I_LOG_HANDLE = gf_log_handle
I_MSGTY = 'I'
I_TEXT = string2
EXCEPTIONS
LOG_NOT_FOUND = 1
MSG_INCONSISTENT = 2
OTHERS = 3.

string2 = sy-uname.

CALL FUNCTION 'BAL_LOG_MSG_ADD_FREE_TEXT'
EXPORTING
I_LOG_HANDLE = gf_log_handle
I_MSGTY = 'I'
I_TEXT = string2
EXCEPTIONS
LOG_NOT_FOUND = 1
MSG_INCONSISTENT = 2
OTHERS = 3.

*************************************************************************

CALL FUNCTION 'BAL_DB_SAVE'
EXPORTING
I_T_LOG_HANDLE = p_log_handle
EXCEPTIONS
LOG_NOT_FOUND = 1
SAVE_NOT_ALLOWED = 2
NUMBERING_ERROR = 3
OTHERS = 4.

IF SY-SUBRC <> 0.
EXIT.
ELSE.
COMMIT WORK.
ENDIF.

***********************************************************************
* Рассылка по почте


* data fl(1).
* data fl1(1).
* data zGSBER like itab-GSBER.
* data lt_doc_cont type standard table of soli with header line.
* data lt_doc_cont1 type standard table of soli with header line.
* data lt_receivers type standard table of swc_object.


*LOOP AT itab.
*CHECK
*T_FI_DOC_TPR_ITEMS1-BLART = 'KW' OR
*T_FI_DOC_TPR_ITEMS1-BLART = 'KV'.
*
* at new GSBER.

* zGSBER = itab-GSBER.
* refresh lt_doc_cont1.
* refresh lt_receivers.
* APPEND LINES OF lt_doc_cont TO lt_doc_cont1.
*
* fl = ''.
* fl1 = ''.
*
**- get dli для бизнес-сферы
* perform get_dli_from_obj using 'Z_BUS0003'
* zGSBER
* changing l_dli_id
* l_rcode.
* if l_rcode = 4.
**- problem within objlinks
* ls_message-msgid = 'SGOSMSG'.
* ls_message-msgty = 'E'.
* ls_message-msgno = '204'.
* perform receiver_error tables event_container
* using event
* rectype
* objtype
* objkey
* ls_message.
* exit.
* elseif l_rcode = 8.
**- no dli found for T_FI_DOC_TPR_ITEMS1-GSBER
** continue.
* elseif l_rcode = 0.
* fl = 'X'.
* endif.
*
**- get dli для отдельного кредитора
* perform get_dli_from_obj using 'Z_LFA1'
* itab-LIFNR
* changing l_dli_id1
* l_rcode.
* if l_rcode = 4.
**- problem within objlinks
* ls_message-msgid = 'SGOSMSG'.
* ls_message-msgty = 'E'.
* ls_message-msgno = '204'.
* perform receiver_error tables event_container
* using event
* rectype
* objtype
* objkey
* ls_message.
* exit.
* elseif l_rcode = 8.
**- no dli found for T_FI_DOC_TPR_ITEMS1-GSBER
** continue.
* elseif l_rcode = 0.
* fl1 = 'X'.
*
* endif.
*
*if l_dli_id IS INITIAL AND l_dli_id1 IS INITIAL.
*continue.
*endif.
*
**- create object that should be attached
* l_soxobj-objtype = objtype.
* l_soxobj-objkey = objkey.
* swc_create_object l_applobj l_soxobj-objtype l_soxobj-objkey.
* swc_get_property l_applobj space l_defattr.
*
** create main document
*
*
* swc_create_container lt_wf_cont.
* swc_set_element lt_wf_cont 'OBJTYPE' l_soxobj-objtype.
* swc_set_element lt_wf_cont 'OBJKEY' l_soxobj-objkey.
* swc_set_element lt_wf_cont 'ATTRIBUT' l_defattr.
* swc_set_element lt_wf_cont l_soxobj-objtype l_applobj.
*
*
* l_doc_nam = 'SUBSCRIBE'.
* l_doc_type = 'RAW'.
*
*
**- get customized text
**- get ls_sgosub from container, check fb filled it
*
** lt_doc_cont
** lt_objhead
** lt_wf_cont.
*
* swc_create_container container.
* swc_set_element container 'NO_DIALOG' 'X'.
* swc_set_element container 'DOCUMENTTITLE' l_doc_title.
* swc_set_element container 'DOCUMENTNAME' l_doc_nam.
* swc_set_element container 'DOCUMENTTYPE' l_doc_type.
* swc_set_table container 'DocumentHeader' lt_objhead.
* swc_set_table container 'DocumentContent' lt_doc_cont1.
* swc_create_object maindoc 'SOFM' space.
* swc_call_method maindoc 'CREATE' container.
*
**- create attaobj
**- send all the stuff
* swc_release_container container.
*
** create receiver
*
*IF fl ='X'.
* swc_create_object l_receiver 'ADDRESS' l_dli_id.
* append l_receiver to lt_receivers.
*endif.
*
*IF fl1 = 'X'.
* swc_create_object l_receiver 'ADDRESS' l_dli_id1.
* append l_receiver to lt_receivers.
*endif.
*
*
*
* swc_set_table container 'RECEIVERS' lt_receivers.
* swc_call_method maindoc 'SEND' container.
* if sy-subrc <> 0.
* ls_message-msgid = 'SO'.
* ls_message-msgty = 'E'.
* ls_message-msgno = '023'.
* perform receiver_error tables event_container
* using event
* rectype
* objtype
* objkey
* ls_message.
*
* endif.
*
* endat.
*
* ENDLOOP.


ENDFUNCTION.

Большое спасибо!


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу Пред.  1, 2

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


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

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


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

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