Zablokowanie możliwości usuwania kont. hand. VC01n

Jeśli programujesz, administrujesz, integrujesz i masz wątpliwość lub obawę, to właśnie najlepsze miejsce dla Ciebie. Pisz śmiało...
anetajur
Posty: 217
Rejestracja: pn lut 05, 2018 1:36 pm
Has thanked: 55 times
Been thanked: 20 times

Zablokowanie możliwości usuwania kont. hand. VC01n

Post autor: anetajur » pn lip 29, 2019 2:09 pm

Witam,
Jak można zablokować użytkownikom usuwanie kontaktów handlowych z transakcji VC01n?
Obiekt uprawnień ma tylko opcje: Dodawania i tworzenia, zmiana .... nie ma odrębnej aktywności dla usuwania aby ją wyłączyć.
W takim razie jakieś rozszerzenie? Jak się do tego zabrać?

Pozdr

greg_hhl
Posty: 101
Rejestracja: wt paź 10, 2017 4:26 pm
Has thanked: 25 times
Been thanked: 68 times

Re: Zablokowanie możliwości usuwania kont. hand. VC01n

Post autor: greg_hhl » pn lip 29, 2019 4:37 pm

Jest user-exit EXIT_SAPMV43A_003 - w nim czytam własną tabelę konfiguracyjną, w której mam zdefiniowane jakie kody funkcji dla jakich Działów Sprzedaży/rodzajów kontaktów dezaktywować.

anetajur
Posty: 217
Rejestracja: pn lut 05, 2018 1:36 pm
Has thanked: 55 times
Been thanked: 20 times

Re: Zablokowanie możliwości usuwania kont. hand. VC01n

Post autor: anetajur » wt lip 30, 2019 9:19 am

No własnie o coś takiego mi chodzi :D
Exit namierzyłam, jest to FM.
Trochę chciałam dopytać odnośnie Twojego rozwiązania :)
Rozumiem utworzenie tabelki, działy itp. W kolumnie kod funkcji masz jakieś specjalne wartości czy przez siebie przyjete np. "D" delete itp?
I czy podzieliłbyś sie jakąś wizją użycia tego Exita, kawałkiem kodu czy jakimś może materiałem ogólnym z użyciem tego exita? Z góry wielkie dzięki.

greg_hhl
Posty: 101
Rejestracja: wt paź 10, 2017 4:26 pm
Has thanked: 25 times
Been thanked: 68 times

Re: Zablokowanie możliwości usuwania kont. hand. VC01n

Post autor: greg_hhl » wt lip 30, 2019 10:01 am

Kod mam prościutki .... w FM wywołanie

CHECK NOT zcl_rozszerzenia=>czy_aktywne( 'SD03100208' ) IS INITIAL.
CHECK sy-tcode EQ 'ZSD_VC01N'.
CALL METHOD z01_tools4=>get_ina
EXPORTING
i_fvbka = fvbka
CHANGING
c_fausschluss = fausschluss.

(pierwsze nasza własna aktywacja wstawianych w różnych miejscach kawałków kodu, także w user-exit, drugie - nasza własna modyfikacja standardowej VC01N), kolejne to wywołanie metody, w której sprawdzamy jakie kody funkcji należy deaktywować. Tabela prosta:
MANDT MANDT CLNT 3 0 Mandant
VKORG VKORG CHAR 4 0 Dział sprzedaży
KTAAR KTAAR CHAR 4 0 Rodzaj kontaktu handlowego dla kontaktów CAS
FCODE FCODE CHAR 20 0 Kod funkcji
ACTIVE ZZAKT CHAR 1 0 Aktywacja

Możesz tutaj dodać też np. tworzącego kontakt..... byle było użyteczne

Kod metody też prościutki

DATA: wa_ina TYPE zcrm_func_ina.

IF read_ina NE 'X'.
SELECT * INTO CORRESPONDING FIELDS OF TABLE gt_crm_ina FROM zcrm_func_ina WHERE active = 'X'.
read_ina = 'X'.
ENDIF.

LOOP AT gt_crm_ina INTO wa_ina WHERE vkorg = i_fvbka-vkorg AND ktaar = i_fvbka-ktaar.
APPEND wa_ina-fcode TO c_fausschluss.
ENDLOOP.

(ten wskaźnik read_ina po to by tylko raz czytać tabelę).

Do tabelki z kodami deaktywacji podajemy kod funkcji podany w statusie; dla kasowania jest V43D_DELE.

Pomogło?

anetajur
Posty: 217
Rejestracja: pn lut 05, 2018 1:36 pm
Has thanked: 55 times
Been thanked: 20 times

Re: Zablokowanie możliwości usuwania kont. hand. VC01n

Post autor: anetajur » wt lip 30, 2019 10:19 am

I to jak :) bardzo pomogło :)
Serdeczne dzięki, zatem podciągam rękawy i zabieram się do pracy :)
Pozdrawiam :):):)