Customer master kna1 object

Hi,
I am searching all over to find the attributes of the kna1 object and the best I can find anywhere is only a reference to all the sap tables but not the actual fields in each table. I understand that kna1 has 140 available fields. Is there one source I can go to to research this object and others as well?
thanks very much

Hi,
If I understand your requirement correctly, then you need access to the SAP ECC system to transaction SE11. If you enter the table name KNA1 here, then you are able to display all the fields, data types etc.
Hth.,
Jacob

Similar Messages

  • Customer Master Text object extract

    Hi Guys,
              I am working migration of Customer master data from 3.1i systems to ECC 6.0 systems. So can you please help how i can extract and migrate the Text objects for the Customer master which is maintained in the tables STXH and STXL.
    Regards,
    Vinnie

    hi,
    Each text is maintained in Text id's, so you can ask your abaper to pick up the date from that text id and store it in a Ztable, then copy or import the same in ECC6.0 version and update at customer level.
    Regards,
    Sudhir

  • BAPI to add additional partner functions in customer master(KNA1)

    Hello All,
    I wanted to add additional partner functions(2) to the list of partner functions which gets added by default while creating a customer. I am currently using BAPI_CUSTOMER_CREATEDATA1 to create the customer master. There i do not find any option to add my partner functions.
    NOTE: I need to update KUNN2 field as well while adding my partner functions.
    Could anyone please help here?
    Regards,
    Jay

    Hi,
    No you should not feel confident with SD_CUSTOMER_MAINTAIN_ALL.
    It is used for only one very special case. The maintenance of consumer. And this should only be true from the transaction itself.
    There exists other cases, one of the oldest one is the BAPI_CUSTOMER_CREATEFROMDATA1. But is is exclusively reserved for SAP Online store.
    Despite the fact CMD_EI_API is quite difficult to use, it has the main benefit that is it supported if being triggered directly.
    For the maintenance of customers, there is NO BAPI and NO direct function module.
    There are some functions modules like the one above where the name is looking nice. But these should not be used.
    The only valid solutions are :
    Below ECC 2005 (6.00), the only solution was batch input and DEBMAS idocs. See note 384462
    Starting with ECC 2005 (6.00) and above: a synchronisation tool has been introduce. See class CMD_EI_API and VMD_EI_API
    Hope this helps
    BR
    Alain

  • Changes in customer master data

    Hi
    Is there a different way (apart from using IDOCS) to identify changes (create/update/delete)  in customer's master data to the following  Condition Class:
    BPAR
    TESTRF
    DEBI
    KLIM
    Best Regards
    Tal

    Hi
    I want to know if all the changes in customer master data objects: BPAR,TESTRF,DEBI,KLIM
    are recorded in the system and where?
    is it relevant to customization?
    Best Regards
    Tal

  • BP not updating in Customer Master data KNA1

    Guys,
    I am creating a BP in CRM 7.0. Once the BP is saved & created successfully entry is present in all CRM tables as well as in the ECC side.
    But for few cases the Customer Master data Table KNA1, KNVV is not getting updated, i.e no value for the BP in KUNNR.
    Any idea as to what should I be checking to resolve this ? Plesae share the config details.
    Also do you know how the Customer Master data gets updated ? Is it from the BAdI's or the GenIL class for CL_CRM_BUIL for componenet BP ?
    I checked the methods of this dedicated GenIL class in hope to find an RFC for updating KNA1 but not successful. Is the RFC call made in BAdI ?
    Tough to replicate the scenario as wheneevr I do BP gets updated in SD. But sometimes in PROD it does not happen so.
    Plesae share some light.

    Hi Rohit,
    Put a breakpoint in FM COM_BUPA_MAIN_INBOUND_ISU in ECC system. Inside this FM it first create customer using FM  PI_BP_PROXY_BAPI_CUSTOMER at line 187.
    IS_CUSTOMER flag you can find in b-doc structure LS_BP_EXTERN-CRM_DATA-SALESCLASS-DATA-IS_CUSTOME.
    Before calling FM PI_BP_PROXY_BAPI_CUSTOMER system perfroms multiple checks if they all went succesfull then you have to debug inside FM PI_BP_PROXY_BAPI_CUSTOMER for finding out the root cause.
    Thanks,
    Ashish

  • What is the use of services for object icon (attachment) in customer master

    Hello,
    What is the use of the icon in customer master i.e. service for object(attchment)
    Any idea In which table those attachemnts stores,
    In SAP i can see only temp. structure table SGOS_ATTA when i look for table information, so i dont know where to look for these files although i tried great selection of tables which either were empty
    Thnks,
    Ahamad S

    Please search the forum or Google with the same text so that you will find many times this has been discussed.  Please go through the forum rules which you can see to your right screen and adhere to that.  Being an old member, no need to stress this.
    G. Lakshmipathi

  • Customer Master using Appended structure KNA1

    Hi
    We have to update few ZZ description fields in ZAKNA1, which are not part of user interface in XD01/02/03. The available options are such as LSMW, Batch input require code addition through user exit ZXF04U01/ EXIT_SAPMF02D_001.
    I would like to use BAPI as we have a plan to use web services. Any idea how to extend the BAPI's such as BAPI_CUSTOMER_CHANGEFROMDATA1 or BAPI_CUSTOMER_CREATEFROMDATA1 using best practice?  I donu2019t find any extension structures like other BAPIu2019s have. Without ExtensionIn and ExtensionOut parameters, a BAPI can not be enhanced correct?
    The version we are using is ECC 5.0. Any ideas with customer master BAPI will be greatly appreciated.
    Bala

    Hi Bala,
    Just some general comments without having looked at your specific problem. Since you're on ECC 5.0 you cannot use the new [Enhancement Framework|http://help.sap.com/saphelp_nw2004s/helpdata/EN/94/9cdc40132a8531e10000000a1550b0/frameset.htm], which would make such changes more easy...
    A rather awkward workaround for extending the BAPI's is sometimes to add append structures to an IMPORT parameter of the BAPI. However, this is a rather dangerous and limited approach, because you might get into trouble depending on where the structures are used (i.e. if you add a field, it might cause harm in other programs that use the structure) and you also have to study the source code to see if you even could utilize those additional fields.
    A pretty generic option in lieu of other approaches is to generate a custom wrapper function module around the standard BAPI. Within your custom BAPI you can add the missing fields as parameters, call the standard BAPI and then do the additional updates. The big advantage of such a solution is that
    <ol>
    <li>Your change/additional logic is obvious (not hidden in a customer exit or BAdI, which are often harder to find when troubleshooting or changing functionality)</li>
    <li>Any changes to the standard BAPI will automatically also take effect in your custom BAPI (since you didn't copy the original one); this excludes of course interface changes, but here you anyhow would have to do something...</li>
    </ol>
    Should you have custom fields that are already exposed on the customer maintenance screens via enhancements, then you might want to consider using the wrapper approach, but simply export the additional data to memory, then call the standard BAPI and within the customer/user exits handling the additional fields fill them via an import from memory.
    Cheers, harald

  • Customer master report for new and changed customer

    Hi All,
        I want to write a report for customer master, If a new customer is created or if customer is changed the report should get the customer and download it to a flat file.
    There is no proper spec they want customer based on acount group,Here how i can find the customer is  newly created or changed. Change pointer is active.
    in table CDHDR if customer is created the date and object id is there but changed the changed date is not in table kna1.
    Please help me regarding the logic.
    Thanks,
    Arun.

    Dear Arun,
      Please check for the delta entries on the customer master tables in DBTABLOG.
      This table stores all the changes made in database level.
    Regards
    imran.

  • Business Partners didn't get created from Customer master

    T. Code: MDS_LOAD_COCKPIT. Select option Cmr to BP, then in processing, give in customer number (or customer group), select "include values" then give individual number or range of such customers which didn't replicated. Then execute (F8). It will put this process in queuing, so go to next tab "Monitor". Here you can see queue ready for processing, select it, go inside and process (you can also go to smq2). Come back, and see if there is error (red) signal in status column, which means errors. If so, select the line, and click on button "Call PPO". Here you can get the reason/error why replication failed.
    Manually, you can give try through t. code: FLBPD1 and give customer number as input.
    Check in table KNA1 and BUT000 for verifying if other customers after the tainted one got created as BP or not.
    Hope this helps!
    I tried FLBPD1 & got the following message:
    No business partner could be created for customer 10000578
    Message no. CVIC_UI018
    Diagnosis
    No business partner could be created from the customer selected.
    System Response
    An error occurred when creating a business partner from the customer selected. This error prevents data from being transferred and saved. This could be due to the following:
    Fields have been left blank in the customer that are set as required entry fields for the business partner.
    Settings for assigning Customizing values for the customer to the business partner are incorrect.
    Procedure
    Start the Post Processing Office and check the error message. Make the necessary corrections.
    Error Message encountered while using the T. Code MDS_LOAD_COCKPIT:
    No transfer of interval for object BU_PARTNER
    Message no. NR028
    Diagnosis
    The last number of the internal interval should be assigned.
    Number assignment usually begins in the following call at the start of the interval. However this function is blocked for some number range objects for technical system reasons.
    Procedure
    If possible extend the interval of the affected number range object. If this is not possible you must reorganize the relevant data and reset the interval status manually.
    Please Suggest.
    Thanks,
    Arpit Kothari

    Hello All,
    I checked the error with MDS_LOAD_COCKPIT. I found that the VAT Regn no. field was populated for Panama customer. In Panama & Canada, there is no VAT Regn No. I made the field blank in customer master & it created as BP w/o any further issue.
    Many Thanks to looking into my issue.
    Best Regards,
    Arpit Kothari

  • Problem of trigger event for Customer master.

    Hi all,
    I created one object type in KNA1. because i want to use task instead of the workflow.
    after i executed the customer master creation , i got this error during the execution."Dereferencing of the NULL reference".
    if anybody want information, please let me know.
    Regards,
    Luke

    Hi
    "At the beginning, i am using the Receiver Function module is SWW_WI_CREATE_VIA_EVENT.
    after i change to "SAP_WAPI_CREATE_EVENT" but got error too."
    Can you tell us where are you calling this FM (is it via Enhancement option or badi or exit) to trigger the event?
    Just leave the Receiver FM as same as in SWE2 and make sure Linkage Actiavted check box is checked
    "i can't do the buiding between &EVT_OBJECT& and &WI_OBJECT_ID&. because it is not same business object.
    for our workflow object, it references to class is developed by me.
    As suggested by Rick, you could make use of FM or as per blog, you could use class to trigger your custom class's event. Then you need to have binding at task level (PFTC)
    &EVT_OBJECT& --> &WI_OBJECT_ID&.
    Vinoth

  • Change Logs for customer master data in 3.1 H version

    Hello All
    Are they any existing reports or change logs for viewing changes to customer master data in 3.1h version.  I want to be able to report based on changes made to customer master.
    I know there is a good report in 6.0 version for this- S_ALR_87012182.
    If I have to develop a custom program for this in 3.1h. Which table I should use? KNA1 or CDPOS.
    Any ideas will be appreciated.
    Hema.

    Hi,
    Please check the filter settings maintained for the adapter object CUSTOMER in R3AC1. The same filter settings can be referred in tables Table: CRMFILTAB (R/3) and SMOFFILTAB(CRM) as per srinivas's reply.
    Check the sales area of the customer maintained (Sales Area, Division, Distribution Channel etc.) and see if the current filter settings are restricting the customer from getting replicated in CRM. If everything is maintained fine then check for any failure Bdocs in SMW01 or SMW02.
    Regards,
    K

  • Mass change in Vendor & Customer Master

    Hi All,
    Is there any Mass change available in Vendor & Customer Master?
    Thanks
    Pankaj Garg

    Hi,
    Enter t-code MASS.
    Enter object as per below mention detail
    KNA1: -Customers
    LFA1: - Vendors
    Then click on execute button, You can see the list of fields for vendor & customer master.
    Select field as per your requirement and click on execute button then change data as per your requirement.
    Regards,
    Mahesh Wagh

  • How to Copy Sales Text Data from Customer Master to Sales Order.

    Hi SAP Guru's
    I have Completed Configuration for Central Text for Customer Master for two texts 1)Additional Attachments 2) Wooden Packing
    I got these two fields in Customer Master.
    I need these data to be copied from  Customer Master to sales order. But i am unable get these two in to sales order.
    Steps which  I have done for Text Determination.
    1) Text Id in for Text Object KNA1
    2)Placed Text Id  in Text Procedure  and assigned   this procedure to Customer Account Group.
    Could you please advice me
    Thanks in Advance.

    Text Control
    In this IMG activity, you define the rules for text determination. You must carry out the following steps:
    Select a text object and define the rules for text determination for this object. Text objects are, for example, the sales texts in the customer master record or the sales document header.
    Define the permitted text types for every text object. If the text types contained in the standard SAP R/3 System are not sufficient, create new ones.
    Define the access sequences. This way, you define how the SAP System should determine the texts for a text type.
    Group the text types together in text determination procedures. The SAP System then proposes the text types from the procedure when you maintain a customer master record or a sales & distribution document. The search for the respective text is carried out using the access sequence which you have stored for each text type in the procedure.
    Allocate the text determination procedures so that a procedure applies to the following criteria in each case:
    account group customer
    sales & distribution document type
    item category

  • Customer Master Text Information !!!!

    Hi Folks,
    I have a quick question on the maintenance of the Text at Customer master records. The question in paint here is that;
    1. Can we use bring the free text maintained at Customer master level in the different reports like SQVI, ABAP reports?
    2. Is there any standard report by which you can pull the text maintained at customer master level (General, Accounting and Sales area text)?
    Please do let me know and if yes can you please provide me the transaction code and data base tables for this.
    Thanks and best regards,
    Sandy

    Sandy,
    I will give you example using function module READ_TEXT. You can test this by running this in SE37, hit the test icon. Parameters to be filled in as follows ...
    -> Client, e.g. 010
    -> ID, the text ID in your text procedure, e.g. 0001 or Z001, etc.
    -> Language, e.g. EN
    -> Name, e.g. the text name, can find this in table STXH-TDNAME, in my example it was the customer number, e.g. 0000105036
    -> Object, e.g. closely tied to the 'Name', in this example as I was dealing with customer text at general data level, e.g. KNA1 (table)
    The result here is that I am asking the function module to read text object 0001 associated with customer 105036 at the general data level of the customer for language key EN.
    So, need to understand what level you have your text stored at. General data (KNA1)? Company Code (KNB1)? or Sales Area (KNVV). This will define your 'Object'. You can pick up the text ID from your text procedure, and you will no the text name via the customer number. You can double check most of this in table STXH first before you test example in the function module.
    Once you have working example, you could then relay spec to your ABAP team to build program with selection screen that runs this function module. I do not think you can achieve any of this via SQVI or SQ01. There are calls to includes inside of the function module, and I believe these includes are performing the reading and converting the 'Data' in table STXL.
    Review with your ABAPer, and let me know if you need more. Just revert back.
    Thanks,
    Jay

  • Customer Master - ADRNR field details.

    Hi SDiens,
    This is regarding Customer Master data.
    Use T-code "SE16" then enter Table Name "KNA1" to see values for any particular Master record for eg. 1000.
    In this you will find some Values in field "ADRNR, MCOD1, MCOD2". whereas if you open the same record with "XD02" you cannot see this values.
    Even I am not entering this vause while creating records using "XD01". Can someone explain where can I see this Values.
    Matter urgent.
    Helpful answers will be rewarded.
    Cheers
    RC

    Hi,
    I looked in to this issue and got this information sto you please go through ADRNR number is the number provided internally by the system.and the remaining 2 fields MCOD1, MCOD2 are there in General data tab.
    Address number
    Internal key for identifying a Business Address Services address.
    For more information about the meaning and use of the address number and the Business Address Services concepts, see the function group SZA0 documentation.
    Business Address Services
    I. General
    You can manage addresses conveniently using a standard function module interface with Business Address Services. There are interfaces for maintenance with or without dialog and an address maintenance transaction.
    Address attributes
    An address in Business Address Services is a complex attribute of a primary object which saves only the reference to the address key. (In certain constellations, controlled redundancy is possible).
    The address management distinguishes between addresses on the basis of time dependency and international formats.
    The database structures allow for the date-dependency of addresses, but all function modules currently use date-independent addresses (the default validity range is 1.1.00001 - 31.12.9999).
    Address types
    Addresses are distinguished according to the application context in which they are used:
    "Normal" addresses (Address type 1): This type of address can either be associated with an application object or be on its own.
    Typical examples are the addresses of organizational units (for example, company code, plant), delivery address, functional location, and so on.
    Such an address is identified in the DB by a 10-digit address number.
    Examples: company code 0001 has address 4711
              customer MIKE has address 5678
    Private addresses of persons (Address type 2): These are addresses which are assigned to exactly one natural person, with extended attributes compared to the normal addresses (title, part of name, etc.) for the person. The person with the address-relevant attributes is an independent object, which is maintained in Business Address Sercices.
    Personal addresses are assigned to exactly one person, and can not be referred to by other application objects. The complete address object (person with address) can have several uses.
    For identification, a 10-digit number for the person and a 10-digit number for the address are required.
    A person (identified by the 10-character address) can have several addresses.
    Example: business partner CHARLY is a natural person and has two addresses:
    a) the first address is identified by person number 1234 and address number 3333.
    b) the second address is identified by person number 1234 and address number 3357.
    Addresses of persons in companies (Address type 3): These are addresses which contain the properties of a person in a company, with attributes such as Department, room number, extension.
    Any normal address (address type 1), but not a private address, can be the company address.
    The address of a person in a company is identified, like a private address by a 10-digit number each for the person and for the address.
    Example: business partner CHARLY (see above) is contact person at business partner SAP_AG with company address 4444; CHARLY's contact person address is identified by person number 1234 (see above) and address number 4444.
    These three address objects constitute an abstract data structure. The function group SZA0 contains function modules for accessing these address types. There are function modules for maintenance (create, change and delete), and to read and to search for each address type. There are also function modules to maintain and read all communication types which are supported by R/3, for each address type.
    Function modules for private addresses begin with the prefix 'ADDR_PERSONAL_', those for addresses of a person in a company begin with 'ADDR_PERS_COMP'. Other function modules which begin with 'ADDR_' are for normal address maintenance, or in some cases, function group management.
    The function modules manage the data structure using a maintenance interface. The underlying tables must not be accessed directly. This could lead to inconsistencies in data structures which contain fields from several tables.
    Address maintenance
    Addresses should be maintained as far as possible using standard dialogs which are available in other function groups.
    Popup, subscreen and full screen dialog techniques are used.
    The parameter transaction SADR can also be used for maintaining normal addresses which do not depend on an application object. These addresses cannot be distributed by ALE.
    For more information, see the SZA1, SZA5 and SZA7 function group documentation.
    For information about address validation see the documentation of function group SZAR.
    If addresses are to be maintained without dialog, or if a user maintenance dialog is necessary for special requirements, addresses can also be maintained directly using the function modules of the function group SZA0. The standard dialogs of the function groups SZA1, SZA5 and SZA7 are also implemented with them.
    Conversion of existing SADR/SADRP addresses
    Most old addresses will be converted for the new central address management (Business Address Services) for Release 4.0.
    From Release 4.5, all SD document addresses (previously SADR), customer addresses (previously only KNA1), supplier addresses (previously only LFA1), business and private addresses of (customer) contact persons (previously SADR) and bank addresses (previously SADR) will also be in Business Address Services (central address management).
    Release notes Central address management for 4.0A and Central address management in Release 4.5 contain detailed information.
    II. Maintenance without dialog (function group SZA0)
    The contents of the function group can be classified as follows: management modules, which either apply to the function group as a whole or ensure correct database storage, address object maintenance (create, change, delete) modules, and address object communications address processing, for example, telephone, fax, or mail addresses.
    Organization
    Local memory:
    Save
    ADDR_MEMORY_SAVE: Saves the local memory contents in the database. All address data changes made since the first call of any function module in the function group are then permanent. Numbers must have been assigned to all addresses and persons before storing.
    Delete
    ADDR_MEMORY_CLEAR: Deletes the local memory contents. All address data changes made since the first call of any function module, or the last local memory save, are discarded. This module should be called after extensive read operations or when returning to the application.
    Number assignment:
    When assigning numbers to addresses or persons, their (first) use must be specified.
    ADDR_NUMBER_GET
    Assigns an address number, i.e. converts a temporary address number (address handle) into a permanent address number which is saved in the database key.
    ADDR_PERSON_NUMBER_GET
    Assigns a person number, i.e. converts a temporary person number (person handle) into a permanent person number which is saved in the database key.
    Where used:
    A permanent address or person number must have been assigned before a (further) use can be entered.
    ADDR_REFERENCE_INSERT
    Inserts a new use in an existing address.
    ADDR_REFERENCE_DELETE
    Deletes a use of an existing address.
    ADDR_PERSON_REFERENCE_INSERT
    Enters another use for an existing person.
    ADDR_PERSON_REFERENCE_DELETE
    Deletes a use for an existing person.
    Applications are also deleted by the normal delete operations when the application passed to the delete modules is not the only one, or most recent one.
    Address object methods
    Read:
    Read address objects
    <Address object>_GET: Reads a (fully qualified) address. All versions of this address are read into local memory, and are subsequently accessible without database access.
    ADDR_PERSONAL_GET_ALL: Reads all private addresses for a person. All versions of this person's private address are read into local memory, and are subsequently accessible without database access.
    Read address object block
    <Address object>_GET_ARRAY: Reads several (fully qualified) addresses. The database and the local memory are read. All address versions read are subsequently in local memory and can be accessed without database access.
    Insert:
    <Address object>_INSERT
    Inserts an address.
    <Address object>_VERSION_INSERT
    Inserts a version of an address.
    ADDR_PERSONAL_COMPLETE_INSERT
    Inserts a private address with full specification of personal and address data, in contrast to ADDR_PERSONAL_INSERT, where the person data already exist.
    ADDR_PERS_COMP_ASSIGN
    Assigns a company address to an existing person, in contrast to ADDR_PERS_COMP_INSERT, where the person is also newly entered.
    Change:
    <Address object>_UPDATE
    Changes an address version. (In particular the standard version, "the" address, is changed.)
    Delete:
    <Address object>_DELETE
    Deletes an address. All existing address versions are deleted.
    <Address object>_VERSION_DELETE
    Deletes one version of an address.
    Search:
    <Address object>_SEARCH
    Searches for addresses, which can be partially qualified (e.g. by attribute value specification). Only the database contents are searched (the local memory should be saved first, under certain circumstances).
    Communication addresses
    Read:
    <Address object>_COMM_GET
    Reads the communication addresses of an address object for a particular communication type. All communications addresses of the specified communication type, for the specified address object are read into local memory, from where they can subsequently accessed without database access.
    Maintain:
    <Address object>_COMM_MAINTAIN
    Maintains the communications addresses of an address object for a particular communications type. Maintenance comprises: create, change and delete. All communications addresses thus maintained can be accessed in local memory without database access.
    III. Maintenance with dialog
    Function groups SZA1, SZA5, SZA6, SZA7 and the parameter transactions SADR and SADP
    --> Overview in the SZA1, SZA5 and SZA7 function group documentation.
    IV. Application examples
    0.  General
        - The function group does not need explicit initialization.
        - Address data changes are only written to the database after
          'ADDR_MEMORY_SAVE' has been called.
        - Before the 'ADDR_MEMORY_SAVE' call, all temporary
          address and person handles must be converted to external
          numbers.
    1.  Read access to normal address (address object 1)
    Selection parameter for a normal address
        data: begin of selection
                include structure addr1_sel.
        data: end of selection.
    Attributes of a normal address
        data: begin of result.
                include structure addr1_val.
        data: end of result.
    Specify selection parameters
        clear selection. "no handle, default nation, today
        selection-addrnumber = t001-adrnr.
    Read normal address
        call function  'ADDR_GET'
             exporting  address_selection = selection
             importing  address_value     = result
             exceptions address_not_exist = 1
                         parameter_error   = 2
                         version_not_exist = 3
                         internal_error    = 4.
        case sy-subrc.
        endcase.
    Result output
        write: / result-name1,
               / result-street, result-house_num1,
               / result-post_code1, result-city1.
    Delete local memory after end of processing
        call function 'ADDR_MEMORY_CLEAR'
             exceptions unsaved_data_exist = 1
                          internal_error     = 2.
        case sy-subrc.
        endcase.
    2.  Search for a normal address (address object 1)
    Search parameters for a normal address
        data: begin of selection
                include structure addr1_find.
        data: end of selection.
    Result table for a normal address search
        data: begin of result occurs 0.
                include structure addr1_val.
        data: end of result.
    Address group table
        data: begin of dummy occurs 0.
                include structure adagroups.
        data: end of dummy.
    Number of addresses found
        address_count like sy-tabix.
    Specify search parameters
        clear selection.
        selection-name1 = 'SAP*'.
        selection-city1 = 'Walldorf'.
    Search for normal address
        call function  'ADDR_SEARCH'
             exporting  search_in_all_groups  = 'X'
                          search_for            = selection
             importing  addresses_found_count = address_count
             tables     search_result         = result
                          address_groups        = dummy
             exceptions parameter_error       = 1
                         internal_error        = 2.
        case sy-subrc.
        endcase.
    Result output
        loop at result.
          write: / result-name1,
                 / result-street, result-house_num1,
                 / result-post_code1, result-city1.
        endloop.
    3.  Bulk processing of normal addresses (address object 1)
    Table of selection parameters for a normal address
        data: begin of selection occurs 20.
                include structure addr1_sel.
        data: end of selection.
    Table of attributes for a normal address
        data: begin of result. occurs 20.
                include structure addr1_val.
        data: end of result.
    Error table
        data: begin of errors occurs 0.
                include structure addr_error.
        data: end of errors.
    Specify selection parameters
        clear selection. "no handle, default nation, today
        selection-addrnumber = t001-adrnr.
        append selection.
        clear selection.
        selection-addrnumber = vbpa-adrnr.
        append selection.
        ... enter further selections in table selection ...
    Read normal address in blocks
        call function  'ADDR_GET_ARRAY'
             tables     address_selection = selection
                         address_value     = result
                         error_table       = errors
             exceptions parameter_error   = 1
                          internal_error    = 2.
        case sy-subrc.
        endcase.
    Result output
        loop at result.
          write: / result-name1,
                 / result-street, result-house_num1,
                 / result-post_code1, result-city1.
        endloop.
    Delete local memory after end of processing
        call function 'ADDR_MEMORY_CLEAR'
             exceptions unsaved_data_exist = 1
                          internal_error     = 2.
        case sy-subrc.
        endcase.
    4.  Create a normal address (address object 1)
    Address number, address handle, address group, address data
        data: address_number like adrc-addrnumber.
        data: address_handle like szad_field-handle.
        data: address_group like addr_ref-addr_group value 'DEBI'.
        data: begin of address_data.
                include structure addr1_data.
        data: end of address_data.
    Use details
        data: begin of usage.
                include structure addr_ref.
        data: end of usage.
    Error table
        data: begin of errors occurs 0.
                include structure addr_error.
        data: end of errors.
    Return codes
        data: rc_insert like szad_field-returncode.
        data: rc_number_get like inri-returncode.
        data: rc_memory_save like sy-subrc.
        data: lv_check_address like szad_field-flag.
    Fill address record and determine temporary address identifier
        address_data   = ...
        address_handle = ...
    Deactivate address check if required
        lv_check_address  =
    Insert address in local memory
        call function  'ADDR_INSERT'
             exporting  address_data    = address_data
                         address_group   = address_group
                         address_handle  = address_handle
                         check_address   = lv_check_address
             importing  address_data    = address_data
                         returncode      = rc_insert
             tables     error_table     = errors
             exceptions address_exists  = 1
                         parameter_error = 2
                         internal_error  = 3.
        case sy-subrc.
          when 0.
            if rc_insert = 'E'.
              Analyze error_table and call special further processing
              because the address has errors and was not created.
                endif.
        endcase.
        ... process other application objects
            or modify Business Address Services
            local memory ...
        ... before saving potential application objects:
    Declare final use to address management
        usage-appl_table = ...
        usage-appl_field = ...
        usage-appl_key   = ...
        usage-addr_group = address_group.
    Assign address number
        call function  'ADDR_NUMBER_GET'
             exporting  address_handle           = address_handle
                          address_reference        = usage
             importing  address_number           = address_number
                          returncode_numberrange   = rc_number_get
             exceptions address_handle_not_exist = 1
                          internal_error           = 2
                         parameter_error          = 3.
        case sy-subrc.
        endcase.
        ... immediately afterwards:
    save local memory after processing
        call function  'ADDR_MEMORY_SAVE'
             exceptions address_number_missing  = 1
                         person_number_missing   = 2
                         internal_error          = 3
                         database_error          = 4
                         reference_missing       = 5.
        case sy-subrc.
        endcase.
    delete local memory
        call function 'ADDR_MEMORY_CLEAR'
             exceptions unsaved_data_exist = 1
                          internal_error     = 2.
        case sy-subrc.
        endcase.
    V. Terms/Glossary
    Address/Person group
    Addresses and persons can be assigned to an address or person group. One address or person can be assigned to several groups (multiple assignment). This allows e.g. the same address to occur as customer and supplier address, and also allows searches to be limited to certain groups, instead of always searching all addresses.
    Logical groups of addresses and persons can be formed.
    The address groups required by applications are established by the application developer in consultation with the SAP Business Address Services. Customers can define their own groups in the customer name range for their own developments.
    Address/Person handle
    Address data are saved in the database and address and person numbers are assigned only when the application data are saved. Application programs must call the appropriate function modules. Business Address Services hold the data in internal tables in the local memory of the function group SZA0. Before saving after creation, addresses or persons are identified by an address or person handle, via which address objects can be accessed until the data are saved in the database.
    The handle of a person, a normal address or a person in a company is determined by the application program.
    The following procedure is recommended for both the address and person handles:
    The first 10 places contain the name of the table in which the address or person is referred to. The next 10 places are used for the name of the field containing the reference, and the application data set key can be written in the remaining 120 places. This can be a temporary key, as the database key is only completed when saving in many application areas.
    In this way the application developer can manage the addresses with the data which he or she is accessing anyway.
    Ambiguities are avoided in complex transactions in which addresses for different applications are kept simultaneously in the same roll area for SZA0 (a serial number may not be sufficient as a handle).
    Communication addresses
    A communication addresse in the central address management is the identification number or address of a communication connection of one of the following communication types: telephone, fax, teletex, telex, SMTP, R/Mail, X.400 or RFC.
    e.g. the complete telephone number (dialling code + telephone number) is the identification of the communication address of type telephone.
    Address/Person number range
    The address and person number range defines the valid external identifications (database key value range) for addresses or persons. For reasons of compatibility, the same number range applies as for 'old' SADR and SADRP addresses. Specifically, address and person numbers are drawn from the same number range. This simplifies the conversion of old SADRF and SADRP addresses.
    Address versions
    The (international) version of an address is an independent address object data set, in which a different display style of an address can be maintained in a code page (e.g. in Japan in Kanji, Katakana or Hiragana).
    These are not independent addresses
    The part of the address object which does not depend on the display style is always in the standard version.
    In customizing (transaction SADV or under Cross-application components -> General application functions -> Address management -> Maintain address version display formats) you can set which other versions, in addition to the normal display style, are to be offered for maintenance.
    Where-used list
    In the where-used list, the application objects in which an address or a person are referred to is recorded. The where-used list is a technical support for the repeated use of addresses or persons in the three address types and therefore refers to the (sub)object address and person.
    Immediately before calling the function module 'ADDR_MEMORY_SAVE', the function modules 'ADDR_NUMBER_GET', or 'ADDR_PERSON_NUMBER_GET' must be called once for every normal address and once for each person (for private addresses and addresses of a person in a company). The (permanent) use of the address or the person in the application must be specified. In exchange the calling program gets the assigned numbers of the addresses and persons for the references in the application data records.
    Then (still before the 'ADDR_MEMORY_SAVE' call), other uses of addresss or persons can be specified via the function modules 'ADDR_REFERENCE_INSERT' or 'ADDR_PERSON_REFERENCE_INSERT' for multiple use.
    This is always possible once the address or person number is assigned.
    At the end of processing, the data must be saved in the database (as for all other address data) with the function module 'ADDR_MEMORY_SAVE'.
    Thanks,
    Sree.Manam
    Edited by: manam narayana on Jun 18, 2008 9:00 AM

Maybe you are looking for