User exit dla tworzenia listy faktur

A tu dla odmiany podyskutować możesz na tematy logistyczne SAP. Jeśli pojawią się jakieś pytania, nie zwlekaj, zadaj je natychmiast.
ODPOWIEDZ
inspir
Posty: 39
Rejestracja: czw paź 26, 2017 2:08 pm
Has thanked: 3 times
Been thanked: 12 times

User exit dla tworzenia listy faktur

Post autor: inspir »

Hej,

szukam jakiegoś exita, który będzie odpalał się przy tworzeniu listy faktur(VF21). Potrzebuję dodać do niego nowy partner function.
Przeglądam internety, ale nie mogę coś znaleźć. Może ktoś robił coś podobnego i wie w którym exicie można wrzucić trochę kodu? ;)

Pozdr.
Marcin
greg_hhl
Posty: 145
Rejestracja: wt paź 10, 2017 4:26 pm
Has thanked: 54 times
Been thanked: 86 times

Re: User exit dla tworzenia listy faktur

Post autor: greg_hhl »

inspir pisze: pt cze 07, 2019 8:56 am Hej,

szukam jakiegoś exita, który będzie odpalał się przy tworzeniu listy faktur(VF21). Potrzebuję dodać do niego nowy partner function.
Przeglądam internety, ale nie mogę coś znaleźć. Może ktoś robił coś podobnego i wie w którym exicie można wrzucić trochę kodu? ;)

Pozdr.
Marcin
Kiedyś ściągnąłem taki program, który pozwala znaleźć user-exit po podaniu transakcji. Może Tobie pomoże


REPORT ZZ_EXIT_FIND no standard page heading.
tables : tstc, tadir, modsapt, modact, trdir, tfdir, enlfdir.
tables : tstct.
data : jtab like tadir occurs 0 with header line.
data : field1(30).
data : v_devclass like tadir-devclass.
parameters : p_tcode like tstc-tcode obligatory.

select single * from tstc where tcode eq p_tcode.
if sy-subrc eq 0.
select single * from tadir where pgmid = 'R3TR'
and object = 'PROG'
and obj_name = tstc-pgmna.
move : tadir-devclass to v_devclass.
if sy-subrc ne 0.
select single * from trdir where name = tstc-pgmna.
if trdir-subc eq 'F'.
select single * from tfdir where pname = tstc-pgmna.
select single * from enlfdir where funcname =
tfdir-funcname.
select single * from tadir where pgmid = 'R3TR'
and object = 'FUGR'
and obj_name eq enlfdir-area.

move : tadir-devclass to v_devclass.
endif.
endif.
select * from tadir into table jtab
where pgmid = 'R3TR'
and object = 'SMOD'
and devclass = v_devclass.
select single * from tstct where sprsl eq sy-langu and
tcode eq p_tcode.
format color col_positive intensified off.
write:/(19) 'Transaction Code - ',
20(20) p_tcode,
45(50) tstct-ttext.
skip.
if not jtab[] is initial.
write:/(95) sy-uline.
format color col_heading intensified on.
write:/1 sy-vline,
2 'Exit Name',
21 sy-vline ,
22 'Description',
95 sy-vline.
write:/(95) sy-uline.
loop at jtab.
select single * from modsapt
where sprsl = sy-langu and
name = jtab-obj_name.
format color col_normal intensified off.
write:/1 sy-vline,
2 jtab-obj_name hotspot on,
21 sy-vline ,
22 modsapt-modtext,
95 sy-vline.
endloop.
write:/(95) sy-uline.
describe table jtab.
skip.
format color col_total intensified on.
write:/ 'No of Exits:' , sy-tfill.
else.
format color col_negative intensified on.
write:/(95) 'No User Exit exists'.
endif.
else.
format color col_negative intensified on.
write:/(95) 'Transaction Code Does Not Exist'.
endif.

at line-selection.
get cursor field field1.
check field1(4) eq 'JTAB'.
set parameter id 'MON' field sy-lisel+1(10).
call transaction 'SMOD' and skip first screen.
inspir
Posty: 39
Rejestracja: czw paź 26, 2017 2:08 pm
Has thanked: 3 times
Been thanked: 12 times

Re: User exit dla tworzenia listy faktur

Post autor: inspir »

Dzięki wielkie :D
inspir
Posty: 39
Rejestracja: czw paź 26, 2017 2:08 pm
Has thanked: 3 times
Been thanked: 12 times

Re: User exit dla tworzenia listy faktur

Post autor: inspir »

Udało mi się dodać nowego partner function za pomocą programu RV60AFZD i forma USEREXIT_RELI_XVBPAK_AVBPAK
Zrobiłem loopa po xvbpak i w nim selecta z tabli VBPA dla mojego partner function, na końcu wrzuciłem append.
Może niezbyt pięknie, ale działa :)

To tak jakby ktoś potrzebował zrobić coś podobnego
greg_hhl
Posty: 145
Rejestracja: wt paź 10, 2017 4:26 pm
Has thanked: 54 times
Been thanked: 86 times

Re: User exit dla tworzenia listy faktur

Post autor: greg_hhl »

inspir pisze: śr cze 26, 2019 2:20 pm
To tak jakby ktoś potrzebował zrobić coś podobnego
Jak podałeś ten EXIT i zajrzałem do niego, to zobaczyłem, że też tam mam kawałki ....ale dość dawno temu zrobione (10 lat) i już wyszło z głowy .... ja użyłem USEREXIT_NEWROLE_XVBPAK_AVBPAK. Wywalałem te role, które wpływały na split faktury robionej z kilku zleceń - dla tego samego zleceniodawcy zlecenia mogą robić różni handlowcy (a więc różny prac. działu sprzedaży), więc i różna osoba kontaktowa a faktura ma być jedna .... (raportowanie SD robione jest po zleceniach sprzedaży {jest opracowane pole zetowe na status transakcji: wstępna, zatwierdzona, zaakceptowane, sprzedana, etc.} z podziałem na kanały dystrybucji, biura sprzedaży a nie po fakturach, zlecenia nie są fizycznie usuwane a jedynie ustawiany status odrzucenia}
inspir
Posty: 39
Rejestracja: czw paź 26, 2017 2:08 pm
Has thanked: 3 times
Been thanked: 12 times

Re: User exit dla tworzenia listy faktur

Post autor: inspir »

W przypadku listy faktur(vf21) ten user exit, który podałeś nie jest używany, na początku właśnie próbowałem tam robić zmiany i niestety obszedłem się smakiem, dlatego wykorzystałem ten, który podałem
greg_hhl
Posty: 145
Rejestracja: wt paź 10, 2017 4:26 pm
Has thanked: 54 times
Been thanked: 86 times

Re: User exit dla tworzenia listy faktur

Post autor: greg_hhl »

Być może - nie używam listy faktur. Robimy z VF04. Lub czasem ręcznie z VF01.
ODPOWIEDZ