Automatic data conversion allows two mapped conversation programs to exchange data records in a manner that insulates a program from concerns about how the partner program views the data record. This is accomplished by encoding and decoding data records using routines that are external to the user application. These routines can be written by a systems administrator, some other qualified group, or a vendor. The MAP_NAME is used to access the correct routine. Within the SNA architecture this would be a separate routine which the underlying layers would access. A particular implementation may either have the user link edit the routine into the application program or use dynamic link libraries. The results are the same to the end user. Within the OSI architecture this name would instruct the U-ASE (the OSI TP entity responsible for encoding and decoding user data) what specific U-ASE ASN.1 structure to use. When a data record is received the reverse process occurs with the decoder recognizing what it received and generating the appropriate local MAP_NAME.
When an application program is moving data between homogeneous systems and intends to perform all manipulation of the data within the application program itself, it may use the network like a pipe and simply send and receive buffers of data. The program can also accomplish this by using pure Send_Data and Receive calls. It can also accomplish this by using Send_Mapped_data and Receive_Mapped_Data calls and not supplying a map name or supplying one with all blanks. The SNA routine the vendor installed routine which supports CPI-C 1.0 mapped conversations. The OSI routine is the Unstructured Data Transfer U-ASE (UDT).
The MAP_NAME is a 1 to 64 character local name defined by the person who wrote the encode/decode routine. Both sides of the conversation could have different local names for the same mapping function. This might occur when a transaction traveled across an organizational boundary where the naming could not be coordinated. An example would be two companies which use an industry standard data record and have independently created a MAP_NAME for the data record. SNA maps the local MAP_NAME to a globally unique network MAP_NAME. The globally unique name is provided by a systems administrator. OSI uses the application context to define, among other things, the abstract syntax's (ASN.1 encodings) the conversation can use. The MAP_NAME is a local name established by a systems administrator for the U-ASE to identify what encoding to use. Again, the two different systems may have different MAP_NAMES. Unlike SNA, OSI does not transmit a MAP_NAME across the network. Instead the self defining nature of ASN.1 automatically performs this function. The encode/decode routines need not be mirror images of each other. The ability to manipulate the user data before it is sent or received by the application program allows the application programmer insulation from the network. The receiver may only require a subset of the data that was sent, therefore only specific fields are delivered to the program. This allows changes in the data a program sends to occur without requiring every receiving program to change, only the decoding routines need change. The sending program may send a subset of the required data with the encoding routine filling in the missing fields.
Automatic data conversion assumes that both partners operate correctly. There may be cases where Send_Data and Receive calls are mixed with Send_Mapped_Data and Receive_Mapped_Data. These calls can be mixed if the following assumptions are met:
The send/receive mapped data routines all use a Map_Name_Length of 0 to 64. A zero length indicates a NULL map name and the use of either the LU 6.2 supplied map routine or the OSI Unstructed Data ASE, depending on the underlying CRM.