on 01-27-2022 12:20 PM
FUNCTION z_knvp_insert_partner.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*" IMPORTING
*" VALUE(I_KUNNR) TYPE KUNNR
*" VALUE(I_VKORG) TYPE VKORG
*" VALUE(I_VTWEG) TYPE VTWEG
*" VALUE(I_SPART) TYPE SPART
*" VALUE(I_PARVW) TYPE PARVW
*" VALUE(I_PARNR) TYPE PARNR
*" EXCEPTIONS
*" EXSIST
*"----------------------------------------------------------------------
DATA: t_xknvp TYPE TABLE OF fknvp,
t_yknvp TYPE TABLE OF fknvp,
ls_knvp TYPE fknvp,
ls_knvp_old TYPE fknvp,
ls_kna1 TYPE kna1,
ls_knb1 TYPE knb1.
SELECT SINGLE * FROM kna1 INTO ls_kna1
WHERE kunnr = i_kunnr.
SELECT SINGLE * FROM knb1 INTO ls_knb1
WHERE kunnr = i_kunnr.
ls_knvp-kunnr = i_kunnr.
ls_knvp-vkorg = i_vkorg.
ls_knvp-vtweg = i_vtweg.
ls_knvp-spart = i_spart.
ls_knvp-parvw = i_parvw.
ls_knvp-parnr = i_parnr.
ls_knvp-kz = 'I'.
*Prüfen ob ein Eintrag mit diesen Parametern bereits exsistiert!
SELECT SINGLE * FROM knvp INTO CORRESPONDING FIELDS OF ls_knvp_old
WHERE kunnr = i_kunnr
AND vkorg = i_vkorg
AND vtweg = i_vtweg
AND spart = i_spart
AND parvw = i_parvw
AND parnr = i_parnr.
IF ls_knvp_old IS NOT INITIAL.
RAISE exsist.
EXIT.
ENDIF.
APPEND ls_knvp TO t_xknvp. "Neue Daten
* APPEND ls_knvp TO t_yknvp. Alte Daten.
CALL FUNCTION 'SD_CUSTOMER_MAINTAIN_ALL'
EXPORTING
i_kna1 = ls_kna1
i_knb1 = ls_knb1
TABLES
t_xknvp = t_xknvp
t_yknvp = t_yknvp
* EXCEPTIONS
* OTHERS = 23
.
IF sy-subrc <> 0.
* Implement suitable error handling here
ELSE.
COMMIT WORK AND WAIT .
ENDIF.
ENDFUNCTION.
The FuBa exits with Error message 'exsist'.
Why?
User | Count |
---|---|
108 | |
9 | |
6 | |
6 | |
5 | |
5 | |
3 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.