Hallo zusammen,
ich habe von meinem Entwickler einen User Exit schreiben lassen:
_________________
FORM u124
CHANGING b_result.
* l_bukrs TYPE bukrs
* l_belnr LIKE bkpf-belnr
* l_gjahr TYPE gjahr.
TABLES:
bsec. "One-Time Account Data Document Segment
TYPES:
BEGIN OF ty_bsec,
bukrs LIKE bsec-bukrs,
belnr LIKE bsec-belnr,
gjahr LIKE bsec-gjahr,
bankn LIKE bsec-bankn,
bankl LIKE bsec-bankl,
END OF ty_bsec.
STATICS:
i_bsec_std TYPE STANDARD TABLE
OF ty_bsec
WITH NON-UNIQUE KEY
bukrs
belnr
gjahr,
w_gjahr TYPE gjahr,
w_gjahr_1 TYPE gjahr.
FIELD-SYMBOLS:
<bsec> TYPE ty_bsec.
b_result = b_false.
CHECK NOT bsec-bankl IS INITIAL
AND NOT bsec-bankn IS INITIAL.
* Current fiscal year
CALL FUNCTION 'FI_PERIOD_DETERMINE'
EXPORTING
i_budat = sy-datum
i_bukrs = bkpf-bukrs
IMPORTING
e_gjahr = w_gjahr
EXCEPTIONS
fiscal_year = 1
period = 2
period_version = 3
posting_period = 4
special_period = 5
version = 6
posting_date = 7
OTHERS = 8.
CHECK sy-subrc EQ 0.
* Previous fiscal year
w_gjahr_1 = w_gjahr - 1.
* Get lines from BSEC
SELECT bukrs
belnr
gjahr
bankn
bankl
FROM bsec
INTO TABLE i_bsec_std
WHERE bukrs EQ bkpf-bukrs
AND belnr BETWEEN '180000000' AND '189999999'
AND gjahr BETWEEN w_gjahr_1 AND w_gjahr
AND bankn EQ bsec-bankn
AND bankl EQ bsec-bankl.
CHECK sy-subrc EQ 0.
* Use first line
READ TABLE i_bsec_std ASSIGNING <bsec>
INDEX 1.
CHECK sy-subrc EQ 0.
* Document number to link area
* l_bukrs = <bsec>-bukrs.
* l_belnr = <bsec>-belnr.
* l_gjahr = <bsec>-gjahr.
b_result = b_true.
ENDFORM.
_______________________________________________
Dieser soll bei der Buchung auf einen CPD-Kreditor prüfen, ob es die Bankdaten in den letzten 2 Jahren schonmal gab.
Leider sehe ich diesen Exit nur bei der "Komplettbeleg" Prüfung, nicht bei der Buchungszeilen Prüfung.
Hat jemand zufälli geine Idee??
Gruss
Christian