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


PARAMETERSp_custmr type kunnr OBLIGATORY.
PARAMETERSp_PARNR type PARNR OBLIGATORY.
PARAMETERSp_teleks type AD_TLXNMBR OBLIGATORY.


  datals_knvk type knvk.
  datals_ADR5 type ADR5.
  datals_ADRp type ADRp.
  DATA  lt_zzadtelex TYPE TABLE OF ADTLX.
  datals_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.