powered by simpleCommunicator - 21.11.28     © 2024 Programmizd 02
Map
Форумы / Вопросы по IT / Здесь буду выкладывать ABAP-ные трюки, шедевры своего ABAP-ного и UI5-ного формоклепства, ну и перекроённые мною лично транзакции SAP.
Модераторы: Шоколадный
5 сообщений из 30, страница 2 из 2
Здесь буду выкладывать ABAP-ные трюки, шедевры своего ABAP-ного и UI5-ного формоклепства, ну и перекроённые мною лично транзакции SAP.
    #3581422
Шоколадный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор темы
II) Debug von IF_INBOUND_EXIT_BCS~PROCESS_INBOUND : BCS: Exit für die Eingangsverarbeitung (English: inbound processing ).
Exit срабатывает при высылке Емаила (inbound email)
сконфигурированного на App Server в Транзакции SCOT:
https://www.blog4sap.com/2015/06/catch-inbound-mail-in-sap.html
https://blogs.sap.com/2013/12/21/how-to-debug-inbound-mail-in-sapconnect/
Делается бесконечный цикл в начале метода PROCESS_INBOUND.
Далее выслать Емаил и найти процесс в Транзакции SM50
Спойлер
test2.png
...
Изменено: 26.01.2022, 13:50 - Шоколадный
Рейтинг: 0 / 0
Здесь буду выкладывать ABAP-ные трюки, шедевры своего ABAP-ного и UI5-ного формоклепства, ну и перекроённые мною лично транзакции SAP.
    #3581431
Шоколадный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор темы
III )FM SCWG_TOOLFLAG_READ gv_toolflag = 'X'
...
Изменено: 26.01.2022, 13:49 - Шоколадный
Рейтинг: 0 / 0
Здесь буду выкладывать ABAP-ные трюки, шедевры своего ABAP-ного и UI5-ного формоклепства, ну и перекроённые мною лично транзакции SAP.
    #3581570
Шоколадный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор темы
Собираюсь с духом замутить тему Verwendungszweck / purpose of use в SEPA Invoice ( SEPA xml file / node <USTRD> )
с использованием экситоподобного функционального модуля..
эта хрень мне стоила еще с сотни седых волос .. но лень пздц [:wacko]
ссылко с тупой подстановкой параметров без FM:
Спойлер
SAP SEPA und der Verwendungszweck
Транзакции : OBPM1, OBPM2, FBZP, F110.

Суть : Если в документе <= 4 Beleg -a c BKPF ( максимум для ноды <USTRD> размером 128 Байт / 32 на каждый Bill )
- и есть подача на использование в <USTRD> данных пользователя (Z поле в BKPF),то в
поле <USTRD> записывается информация с Z-полей таблицы BKPF соответствующих Bill-ов, которая, логичнее всего, представляет собой IBAN каждого Bill-a.
- если нет такой подачи то идут параметры определенные в транзакции OBPM2 для данного Verwendungszweck (резонно для SAP SEPA).
- Если в документе более чем 4 Bill-а то в <USTRD> идет Avis ( "шапка" для всего набора ): 128 Байт мало.
С Z полями набор параметров в OBPM2 не катит, надо мутить функциональный модуль.
Zahlungsvorschlag , Zahlungsauftrag делается в транзакции F110. В вышеупомянутой ссылке нехило обьясняется
...
Изменено: 26.01.2022, 19:32 - Шоколадный
Рейтинг: 0 / 0
Здесь буду выкладывать ABAP-ные трюки, шедевры своего ABAP-ного и UI5-ного формоклепства, ну и перекроённые мною лично транзакции SAP.
    #3582346
Шоколадный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор темы
Конфигурация в OBPM2 и OBPM2.
Checkbox на функциональный модуль Z*** = TRUE , который надо скопировать с FM FI_PAYMEDIUM_SAMPLE_DETAILS
Спойлер
OBM1.png
В Структуре FPAYP и таблице BKPF Append Структурa c Z Field ZZXBLNRCUST
Спойлер
bkpf.png
Код FM:
Спойлер
Код
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
function zfi_paymedium_customer_xbpnr.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*"  IMPORTING
*"     VALUE(I_FPAYH) LIKE  FPAYH STRUCTURE  FPAYH
*"     VALUE(I_FPAYHX) LIKE  FPAYHX STRUCTURE  FPAYHX
*"  TABLES
*"      T_FPAYP STRUCTURE  FPAYP
*"      T_PAYMENT_DETAILS STRUCTURE  FPM_PAYD
*"  CHANGING
*"     REFERENCE(C_XAVIS_REQ) DEFAULT 'ZTEST'
*"----------------------------------------------------------------------
*{   INSERT         E21K904714                                        1
  data:
    ln_line_h(10) type n,
    ln_line_d(10) type n.

  data:
    ls_note        type fpm_payd,
    lv_note        type string,
    lv_note_kum    type string,
    lv_zzxblnrcust type   char50,
    lv_line        type i,
    lv_dat_str     type  string,
    lv_doclr_txt   type string.

*DATA:
*it_t_fpayp   TYPE STANDARD TABLE OF FPAYP,"TABLES PARAM
*wa_t_fpayp   LIKE LINE OF it_t_fpayp ,
*it_t_payment_details   TYPE STANDARD TABLE OF FPM_PAYD,"TABLES PARAM
*wa_t_payment_details   LIKE LINE OF it_t_payment_details .

*DATA(ld_c_xavis_req) = 'some text here'.
*
*DATA(ld_i_fpayh) = 'Check type of data required'.
*
*DATA(ld_i_fpayhx) = 'Check type of data required'.

  field-symbols: <doc> like line of t_fpayp.

  describe table t_fpayp lines ln_line_d.

  if ( i_fpayh is not initial ) and ( ln_line_d > 0 ).

    refresh t_payment_details.
    clear lv_line.

    if ln_line_d <= 4.

      loop at t_fpayp assigning <doc> where laufd = i_fpayh-laufd and laufi = i_fpayh-laufi and xvorl = i_fpayh-xvorl and origin = i_fpayh-dorigin.

        clear: lv_note.
        lv_line = lv_line + 1.
        concatenate <doc>-bldat+6(2) <doc>-bldat+4(2) <doc>-bldat(4) into lv_dat_str separated by '.'.

        select single zzxblnrcust into lv_zzxblnrcust from bkpf
         where   xblnr = <doc>-xblnr.

        if lv_zzxblnrcust is not initial.
          lv_zzxblnrcust =  substring( val = lv_zzxblnrcust off = 0 len = 30 ).

          ls_note-length = 32.
          lv_note = lv_zzxblnrcust && ' -'.
          ls_note-text   = lv_note.
          ls_note-typeg   = 1.
          ls_note-type   = 1.
          ls_note-line   =  lv_line.

        else.
          if sy-langu = 'D'.
            lv_note = |Re. |.
          else.
            lv_note = |Inv. |.
          endif.
          lv_note = lv_note && |{ <doc>-xblnr }/|.
          lv_note = lv_note && |{ lv_dat_str } -|.

          ls_note-length = 32.
          ls_note-text   = lv_note.
          ls_note-typeg   = 1.
          ls_note-type   = 1.
          ls_note-line   = lv_line.
        endif.

        append ls_note to t_payment_details.
      endloop.

*    clear ls_note.
*    ls_note-length = 32.
*    ls_note-typeg   = 1.
*    ls_note-type   = 1.
*    ls_note-line   = lv_line  + 1.
*    append ls_note to t_payment_details.

      clear: lv_note.
      lv_doclr_txt = |{ i_fpayh-doc1r+4(10) }|.
      lv_note = |{ lv_doclr_txt }|.
      ls_note-length = 35.
      ls_note-text   = lv_note.
      ls_note-typeg   = 2.
      ls_note-type   = 2.
      ls_note-line   = 1.
      append ls_note to t_payment_details.
*
      clear: lv_note.
      lv_note = 'SEPA CT/'.
      ls_note-length = 12.
      ls_note-text   = lv_note.
      ls_note-type   = 3.
      ls_note-line   = 1.
      append ls_note to t_payment_details.

    else.

*      loop at t_fpayp assigning <doc> where laufd = i_fpayh-laufd and laufi = i_fpayh-laufi and xvorl = i_fpayh-xvorl and origin = i_fpayh-dorigin .
*        lv_line = lv_line + 1.
*        concatenate <doc>-bldat+6(2) <doc>-bldat+4(2) <doc>-bldat(4) into lv_dat_str separated by '.'.
*        continue.
*      endloop.

      READ TABLE t_fpayp assigning <doc> WITH KEY laufd = i_fpayh-laufd laufi = i_fpayh-laufi xvorl = i_fpayh-xvorl origin = i_fpayh-dorigin.

      clear: lv_note.
      if sy-langu = 'D'.
        lv_note = |Avis |.
      else.
        lv_note = |PayAdv |.
      endif.
      lv_note = lv_note && |{ i_fpayh-doc1r+4(10) }|.

      if sy-langu = 'D'.
        lv_note = lv_note && | vom |.
      else.
        lv_note = lv_note && | from |.
      endif.

      lv_note = lv_note && |{ i_fpayh-zaldt } |.
      ls_note-length =  32.
      ls_note-text   = lv_note.
      ls_note-typeg   = 4.
      ls_note-type   = 1.
      ls_note-line   = 1.
      append ls_note to t_payment_details.

      ls_note-typeg   = 4.
      ls_note-type   = 4.
      ls_note-line   = 1.
      append ls_note to t_payment_details.

      clear: lv_note.
      lv_note = 'SEPA CT/'.
      ls_note-length = 12.
      ls_note-text   = lv_note.
      ls_note-type   = 3.
      ls_note-line   = 1.
      append ls_note to t_payment_details.

    endif.

  endif.

*}   INSERT
endfunction.
...
Изменено: 26.01.2022, 18:23 - Шоколадный
Рейтинг: 0 / 0
Здесь буду выкладывать ABAP-ные трюки, шедевры своего ABAP-ного и UI5-ного формоклепства, ну и перекроённые мною лично транзакции SAP.
    #3582391
Шоколадный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор темы
Джунгли Транзакции F110 и ее "Sonderkind" Job "F110-*" которую можна 1 раз дебагнуть.
Чобы этого достичь надо запустить Zahlungsvorschlag c "Start sofort" = FALSE.
Спойлер
f110.png
ну и "невероятный" результат в ноде <Ustrd> ради чего была произведеня вся эта тусовка
noda.PNG
...
Изменено: 26.01.2022, 19:17 - Шоколадный
Рейтинг: 0 / 0
5 сообщений из 30, страница 2 из 2
Форумы / Вопросы по IT / Здесь буду выкладывать ABAP-ные трюки, шедевры своего ABAP-ного и UI5-ного формоклепства, ну и перекроённые мною лично транзакции SAP.
Модераторы: Шоколадный
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (1): Анонимы (1)
Игнорируют тему (5): Гарыныч, PaNik, Сибирская кошка, WildMage, erbol
Читали форум (1): Анонимы (1)
Пользователи онлайн (3): Анонимы (1), Yandex Bot, Bing Bot
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]