Anmelden

Benutzername:   Passwort:   
 
  Automatische Anmeldung (Cookie)
  Benutzerdaten ändern


Registrieren    Passwort vergessen    Daten löschen    Abbrechen

 

Telefon/ Fax ändern


...nur für registrierte Benutzer
Suchen und finden...

Hier nehmen Sie Kontakt mit uns auf...
Wer wir sind...
Ein kurzes Programm zum Anlegen neuer Telefon-/ Faxnummern oder Änderung.

Beschreibung

Dieser Report Ändert vorhandene Fax-Nummern oder legt einen neuen Eintrag an. Existiert bereits eine Nummer, so wird die neue Nummer zusätzlich angelegt.

Tipp

In gleicher Weise können natürlich auch die Telefonummern, Mail-Adressen, Teletext etc geändert werden. Anstelle von ADFAX in der DATA-Anweisung und im Übergabeparameter TABLE_TYPE müssen dann folgende Werte verwendet werden:

ADFAX  Faxnummern
ADPAG  Pagernummern
ADPRT  PRT-Adressen
ADRFC  RFC-Adressen
ADRML  RML-Adressen
ADSMTP SMTP-Adressen
ADSSF  SSF-Adressen
ADTEL  Telefonnummern
ADTLX  Telexnummern
ADTTX  Teletexnummern
ADURI  URI-Adressen
ADX400 X.400-Adressen

ADD_SAVE

Anstelle des verwendetes Baustein ADDR_MEMORY_SAVE kann auch der Baustein ADDR_SINGLE_SAVE unter Angabe der Adressnummer verwendet werden. Der Single-Save ist wahrscheinlich sogar am besten, denn wenn man innerhalb einer SAP-Anwendung programmiert (User-Exit, BAdI, ...) kann der Memory-Save zu ungewünschten Fehlern führen, da evtl. unvollständige oder kopierte Adressen ebenfalls bereits gespeichert werden.

Code

REPORT  zz_address_fax_number.

*== data
DATA lt_fax         TYPE STANDARD TABLE OF adfax.
DATA ls_fax         TYPE adfax.
FIELD-SYMBOLS <fax> TYPE adfax.
DATA lt_errors      TYPE STANDARD TABLE OF addr_error.

*== selection screen
PARAMETERS p_adrnr TYPE adrc-addrnumber.
PARAMETERS p_faxnr TYPE adfax-fax_number DEFAULT '555 - 1234 556'.
PARAMETERS p_new   AS CHECKBOX. "Create new address / append to existing

*== First read existing numbers
CALL FUNCTION 'ADDR_COMM_GET'
  EXPORTING
    address_number    = p_adrnr
    table_type        = 'ADFAX'
    iv_current_state  = 'X'
  TABLES
    comm_table        = lt_fax
    error_table       = lt_errors
  EXCEPTIONS
    parameter_error   = 1
    address_not_exist = 2
    internal_error    = 3
    OTHERS            = 4.
IF sy-subrc <> 0.
*== also check LT_ERRORS for entries with MSG_TYPE "E"!
  BREAK-POINT.
ENDIF.

*== as there can be warnings in ERROR-table: Clear existing entries
CLEAR lt_errors.


IF lt_fax IS INITIAL OR p_new = 'X'.
*== do not change existing numbers:
  CLEAR lt_fax.
*== ADD the new number
  ls_fax-fax_number = p_faxnr.
  ls_fax-country    = 'DE'.
  ls_fax-updateflag = 'I'.
  APPEND ls_fax TO lt_fax.
ELSE.
  READ TABLE lt_fax ASSIGNING <fax> INDEX 1.
*== CHANGE the existing number
  IF sy-subrc = 0.
    <fax>-fax_number = p_faxnr.
    <fax>-country    = 'DE'.
    <fax>-updateflag = 'U'.
  ENDIF.
ENDIF.

*== set number
CALL FUNCTION 'ADDR_COMM_MAINTAIN'
  EXPORTING
    address_number    = p_adrnr
    language          = sy-langu
    table_type        = 'ADFAX'
    check_address     = 'X'
  TABLES
    comm_table        = lt_fax
    error_table       = lt_errors
  EXCEPTIONS
    parameter_error   = 1
    address_not_exist = 2
    internal_error    = 3
    OTHERS            = 4.
IF sy-subrc <> 0.
*== Also check for LT_ERRORS!!
  BREAK-POINT.
ELSE.
*== Everything okay: Save address
  CALL FUNCTION 'ADDR_MEMORY_SAVE'.
*==> Also ADDR_SINGLE_SAVE is possible!:
*  CALL FUNCTION 'ADDR_SINGLE_SAVE'
*    EXPORTING
*      address_number = p_adrnr.

ENDIF.

 




  Drucken   Artikel empfehlen  Gesamtbewertungen: 584 Durchschnittswert: 0.01