Müşterinin İlgili kişisinin ev adresinin teleks bilgisinin güncellenmesi
ADDR_PERSONAL_COMM_MAINTAIN , ADDR_MEMORY_SAVE, ADDR_MEMORY_CLEAR kullanılarak teleks bilgisinin güncellenmesi
PARAMETERS: p_custmr type kunnr OBLIGATORY.
PARAMETERS: p_PARNR type PARNR OBLIGATORY.
PARAMETERS: p_teleks type AD_TLXNMBR OBLIGATORY.
data: ls_knvk type knvk.
data: ls_ADR5 type ADR5.
data: ls_ADRp type ADRp.
DATA lt_zzadtelex TYPE TABLE OF ADTLX.
data: ls_zzadtelex TYPE ADTLX.
CLEAR ls_knvk.
select SINGLE * into ls_knvk from knvk where PARNR = p_PARNR and kunnr = p_custmr .
CHECK sy-subrc eq 0.
CLEAR ls_ADR5.
select SINGLE * into ls_ADR5 from ADR5 where ADDRNUMBER = ls_knvk-ADRNP_2
and PERSNUMBER = ls_knvk-PRSNR .
CHECK sy-subrc eq 0.
CLEAR ls_ADRp.
select SINGLE * into ls_ADRp from ADRp where PERSNUMBER = ls_knvk-PRSNR .
refresh lt_zzadtelex.
MOVE-CORRESPONDING ls_ADR5 to ls_zzadtelex.
ls_zzadtelex-tlx_number = p_teleks.
ls_zzadtelex-country = `TR`.
ls_zzadtelex-valid_from = ls_ADR5-valid_from.
ls_zzadtelex-valid_TO = ls_ADR5-valid_TO.
ls_zzadtelex-updateflag = `X`.
"""""""""""" YENİ Oluşturmak için :
" READ TABLE lt_adr5 INTO ls_adr5
" WITH KEY addrnumber = ls_knvk-adrnp_2
" persnumber = ls_knvk-prsnr
" BINARY SEARCH.
" IF sy-subrc NE 0.
" ls_adr5-addrnumber = ls_knvk-adrnp_2.
" ls_adr5-persnumber = ls_knvk-prsnr.
" ls_adr5-date_from = `00010101`.
" ls_adr5-consnumber = `001`.
" ls_adr5-flgdefault = `X`.
" ls_adr5-home_flag = `X`.
" ENDIF.
append ls_zzadtelex to lt_zzadtelex.
CALL FUNCTION `ADDR_PERSONAL_COMM_MAINTAIN`
EXPORTING
address_number = ls_knvk-ADRNP_2
PERSON_NUMBER = ls_knvk-PRSNR
table_type = `ADTLX`
substitute_all_comm_data = abap_true
TABLES
comm_table = lt_zzadtelex
EXCEPTIONS
parameter_error = 1
address_not_exist = 2
internal_error = 3
OTHERS = 4.
if sy-subrc eq 0.
" Saves all address data from local memory to the database
CALL FUNCTION `ADDR_MEMORY_SAVE`.
COMMIT WORK.
" Clear Address Memory
CALL FUNCTION `ADDR_MEMORY_CLEAR`.
endif.