Fonction SAP BAPI_ADDRESSORG_CHANGE - BAPI to Change Organization Addresses

Paramètre Reférence Type Long. Valeur par déf. Facultatif Description
ACCEPT_ERROR BAPI4001_1-ACCEPT_ERR C 1 SPACE X Regional structure error messages as warning
CONTEXT BAPI4001_1-CONTEXT N 4 1 X Semantic meaning of the addresses (-> constants)
IV_CHECK_ADDRESS BAPI4001_1-CHECK_ADDR C 1 'X' X Indicator: Check Address?
IV_TIME_DEPENDENT_COMM_DATA BAPI4001_1-TIMEDEPCOM C 1 SPACE X Indicator: Take time validity for communication data into account
OBJ_ID BAPI4001_1-OBJKEY C 70 Address owner BOR object key
OBJ_ID_EXT BAPI4001_1-EXTENSION C 70 SPACE X BOR object key extension (GUID)
OBJ_TYPE BAPI4001_1-OBJTYPE C 10 Address owner BOR object type
SAVE_ADDRESS BAPI4001_1-SAVE_ADDR C 1 'X' X Indicator: Save Address?

Paramètre Reférence Type Long. Description
ADDRESS_NUMBER BAPI4001_1-ADDR_NO C 10 Address number in target system

Paramètre Reférence Long. Facultatif Description
BAPIAD1VL BAPIAD1VL 1126 X BAPI structure company address (w/o. comm.)
BAPIAD1VL_X BAPIAD1VLX 68 X Change reference structure for BAPIAD1VL
BAPIADFAX BAPIADFAX 143 X BAPI structure fax numbers
BAPIADFAX_X BAPIADFAXX 16 X Change reference structure for BAPIADFAX
BAPIADPAG BAPIADPAG 136 X BAPI structure pager numbers
BAPIADPAG_X BAPIADPAGX 15 X Change reference structure for BAPIADPAG
BAPIADPRT BAPIADPRT 40 X BAPI structure printer addresses
BAPIADPRT_X BAPIADPRTX 9 X Change reference structure for BAPIADPRT
BAPIADRFC BAPIADRFC 69 X BAPI structure RFC addresses
BAPIADRFC_X BAPIADRFCX 10 X Change reference structure for BAPIADRFC
BAPIADRML BAPIADRML 63 X BAPI structure R/Mail addresses
BAPIADRML_X BAPIADRMLX 13 X Change reference structure for BAPIADRML
BAPIADSMTP BAPIADSMTP 300 X BAPI Structure Internet Addresses
BAPIADSMT_X BAPIADSMTX 13 X Change reference structure for BAPIADSMTP
BAPIADSSF BAPIADSSF 2391 X BAPI structure SSF addresses
BAPIADSSF_X BAPIADSSFX 22 X Change reference structure for BAPIADSSF
BAPIADTEL BAPIADTEL 142 X BAPI structure telephone numbers
BAPIADTEL_X BAPIADTELX 15 X Change reference structure for BAPIADTEL
BAPIADTLX BAPIADTLX 72 X BAPI structure telex numbers
BAPIADTLX_X BAPIADTLXX 12 X Change reference structure for BAPIADTLX
BAPIADTTX BAPIADTTX 72 X BAPI structure teletex numbers
BAPIADTTX_X BAPIADTTXX 12 X Change reference structure for BAPIADTTX
BAPIADURI BAPIADURI 2219 X BAPI structure URI addresses
BAPIADURI_X BAPIADURIX 19 X Change reference structure for BAPIADURI
BAPIADUSE BAPIADUSE 46 X BAPI Structure for Communication Usages (BAS)
BAPIADUSE_X BAPIADUSEX 7 X Change Reference Structure for BAPIADUSE
BAPIADX400 BAPIADX400 948 X BAPI structure X400 addresses
BAPIADX40_X BAPIADX40X 36 X Change reference structure for BAPIADX400
BAPIAD_REM BAPIAD_REM 55 X BAPI structure address comments
BAPIAD_RE_X BAPIAD_REX 5 X Change reference structure for BAPIAD_REM
BAPICOMREM BAPICOMREM 60 X BAPI Structure Communication Comments
BAPICOMRE_X BAPICOMREX 6 X Change reference structure for BAPICOMREM
RETURN BAPIRET2 548 X Message/error return table

Functionality
The organization address is determined from the specified object typeand object key, and updated with the specified address andcommunication data, if required.
This module differs from a standard change BAPI in that not only canexisting entries be changed, but address attribute telephone numbers,fax numbers, etc. can also be deleted or inserted.
Reference structures (checkboxes) are used to select entries to bechanged.

Example
* Change an organization address:
* Change, delete and add a telephone number
DATA: objtype LIKE bapi4001_1-objtype,
obj_id LIKE bapi4001_1-objkey,
obj_id_ext LIKE bapi4001_1-extension,
context LIKE bapi4001_1-context,
address_number LIKE adrc-addrnumber,
bapiadtel LIKE bapiadtel OCCURS 0 WITH HEADER LINE,
bapiadtel_x LIKE bapiadtelx OCCURS 0 WITH HEADER LINE,
return LIKE bapiret2 OCCURS 0.
* Assign the following object type and object key to a main customer
* address
objtype = 'KNA1'.
obj_id = <(><<)>customer number>.
obj_id_ext = ' '.
context = '0001'.
* Get existing data by calling, e.g. FM 'BAPI_ADDRESSORG_GETDETAIL'
...
* Enter the reference structure data
* The telephone number with serial number '002' is to be deleted and
* the one with serial number '003' updated
CLEAR: bapiadtel, bapiadtel_x.
bapiadtel-consnumber = '002'.
bapiadtel_x-updateflag = 'D'.
APPEND: bapiadtel, bapiadtel_x. "Delete entry
CLEAR: bapiadtel, bapiadtel_x.
bapiadtel-consnumber = '003'.
bapiadtel-extension = '77733'.
bapiadtel_x-extension = 'X'.
bapiadtel_x-updateflag = 'U'
APPEND: bapiadtel, bapiadtel_x. "Update entry
CLEAR: bapiadtel, bapiadtel_x.
bapiadtel-telephone = '06227'.
bapiadtel-extension = '11111'.
bapiadtel_x-updateflag = 'I'.
APPEND: bapiadtel, bapiadtel_x. "Insert new entry
* call change module
CALL FUNCTION 'BAPI_ADDRESSORG_CHANGE'
EXPORTING
obj_type = objtype
obj_id = obj_id
obj_id_ext = obj_id_ext
context = context
IMPORTING
address_number = address_number
TABLES
bapiadtel = bapiadtel
bapiadtel_x = bapiadtel_x
return = return.
* Errors and warnings are in the RETURN table. If successful, the
* organization address and its communication data are now updated
* in the system.
* The adress number is in the ADDRESS_NUMBER field.

Notes
To delete, e.g. a telephone number in the table of existing telephonenumbers for an address, the 'UPDATEFLAG' field in the associatedreference structure line must contain 'D'.
To create an entry, this field must contain 'I' and the data to beinserted must be passed.
All new lines to be inserted (I) and their reference structures must beafter all entries to be changed (U) and deleted (D).
Change data key fields must always be filled, and are taken intoaccount as far as possible. It is not significant whether, e.g. alltelephone number comments are followed by fax number comments as changedata, or vice versa; only the sequence among entries with the same keyis significant, unless you pass only some or no communication addressor comment serial numbers, in which case the data sequence issignificant .
The key fields are:
Structure | Fields
---------------------------------
BAPIAD1VL | ADDR_VERS, FROM_DATE
BAPIAD_REM | ADDR_VERS, LANGU
BAPIADTEL | CONSNUMBER
... | ...
BAPIADPAG | CONSNUMBER
BAPICOMREM | COMM_TYPE, LANGU
You can pass the communication address and comment serial numbersempty, in which case the sequence of the data passed is significant,for example if you want to delete the telephone number in the secondposition in the in ascending order of serial numbers sorted existingtelephone numbers, in the database, you must pass a dummy telephonenumber with update flag (U) in the first position, without selectingfields to update, and a telephone number with delete flag (D) in thesecond position.
The communication addresses in the database are usually not sorted byserial numbers, so you must first determine the sequence of thecommunication addresses sorted by serial numbers.
This procedure is not advisable because it is easy to make datasequence errors. Specifying serial numbers as key is safer.
You should assign your own serial numbers for communication addressesand their comments to be inserted (I), so that the communicationaddress - comment assignment is clear. Ensure that the serial numbersare not already used in the database, unless you want to assign acomment explicitly to an existing communication address. If you assignno numbers, it is assumed that all comments to be inserted belong tothe communication addresses to be inserted, and they are assigned bythe sequence of the data passed. (This would be appropriate if acomment in another language than the creation language is to assignedto a communication address.) Then the first telephone number comment inGerman flagged for insertion (I) is assigned to the first telephonenumber to be inserted. The third fax number comment in English to beinserted (I) is assigned to the third fax number to be insertedspecified.
In this case you cannot assign a comment to an existing communicationaddress. You need a serial number to do this.
If one type of communication address and its comments has serialnumbers and another does not, this does not affect the overallfunctionality. All communication types are processed separately, i.e.if all addresses of a communication type have serial numbers, they areused, even if there are no serial numbers for all or some addresses ofanother communication type. The addresses of such communication typesare processed in the order of their data.
You can specify serial numbers for communication addresses to beinserted (I) and omit them for communication addresses to be updated(U) and deleted (D), and vice versa. They are processed separatelyusing serial numbers or the data sequence as appropriate. Communicationaddresses to be updated (U) or delete (D) must both be passed eithercompletely with or completely without serial numbers.
You are on the safe side if you always pass a serial number.
You must first read the data to be changed (e.g. using FMBAPI_ADDRESSORG_GETDETAIL), if communication data are also to bechanged, to get the communication data serial numbers.
The address number of the organization address for the object type andkey is returned in the export parameter ADDRESS_NUMBER.
Processing warnings and errors are in the table RETURN.
INCLUDE ADDRESS_TSADOBJ_AND_BAPIS OBJECT DOKU ID TX
INCLUDE ADDR_NO_COMMIT_IN_BAPI OBJECT DOKU ID TX
INCLUDE ADDR_RETURN_CONSNUMBERS OBJECT DOKU ID TX
INCLUDE ADDRESS_CONSNUMBERS_IN_BAPIS OBJECT DOKU ID TX

Description
If the ACCEPT_ERROR parameter is set, all regional structure checkerror messages are treated as warnings.

Value range
'X': treat all errors as warnings
' ': treat errors as errors

Default
The flag is not set, i.e. is ' '.

180172BAPI_PO_CREATE: Transfer of an address number