Service specific table data has been mapped to XML formats using predetermined mappings between table like structures and desired XML formats. However, a separate or different mapping may need to be created and maintained for different services or mapping of different tables.
In the following description, reference is made to the accompanying drawings that form a part hereof, and in which is shown by way of illustration specific embodiments which may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that structural, logical and electrical changes may be made without departing from the scope of the present invention. The following description of example embodiments is, therefore, not to be taken in a limited sense, and the scope of the present invention is defined by the appended claims.
The functions or algorithms described herein may be implemented in software or a combination of software and human implemented procedures in one embodiment. The software may consist of computer executable instructions stored on computer readable media such as memory or other type of storage devices. The term “computer readable media” is also used to represent any means by which the computer readable instructions may be received by the computer, such as by different forms of wired or wireless transmissions. Further, such functions correspond to modules, which are software, hardware, firmware or any combination thereof. Multiple functions may be performed in one or more modules as desired, and the embodiments described are merely examples. The software may be executed on a digital signal processor, ASIC, microprocessor, or other type of processor operating on a computer system, such as a personal computer, server or other computer system.
In various embodiments, a generic mapping for tables to tag based script language format, like XML format is provided. In one embodiment as illustrated in a flowchart in
In one embodiment, the destination services comprise business objects having different data schema and the table of data comprises comma separated values. The table of data format corresponds to a relational database. The table of data from the source service corresponds to legacy application data and the destination service corresponds to a new application to which a user is upgrading. In one embodiment, the table header data and table data encapsulate data that corresponds to a destination service structure and service interface name.
In a further embodiment, a table to xml mapping routine handles intuitive mapping of a table derived from service structure into XML. The input tables contain the header and body data that correspond to a service structure, as well as the service interface name. The output XML is hence generated automatically according to the structure encapsulated in the header and body tables. The routine may be generic and business object independent. The header describes the mapping to the service structure.
In one embodiment, a conversion routine or method other form of software referred to as TabletoXMLMapping solution uses a header row 505 that corresponds to the schema of the service into which the mapping will be accomplished. A body table that contains the data according to the schema delivered in header table. In this example, there are two rows of data that result in two XML outputs. In further embodiments, more than two lines of data may be provided, each resulting in an XML output. In one embodiment, a method being optional can be determined out of the interface if an inbound method is available.
Then, the TabletoXMLMapping solution generates two XML tables in this embodiment mapped out of input data. An error flag may be generated in case mapping fails. A method name may be provided according to the input interface.
After determining the inbound method name that corresponds to the service's interface name (if it was not provided), a simple transformation from abap to XML is done and the signature is generated. Abap data structure is generated, and then the message namespace information is found out. XML header is therefore generated. Then XML body is concatenated by using the attributes and elements with their corresponding values. Recurring segments are fully supported, for instance more than one address data for a customer. Eventually, XML footer is concatenated into the resulting XML. Accordingly the output XML table is prepared for each line of input body table using the header schema.
A further example of mapping is illustrated by the following example, in which multiple steps are identified corresponding to columns in a table to be mapped. Each step illustrates a column from the table and an addition to an output XML mapping, which is delineated by using a different font and starting just after each use of “XML→”. While separate steps are illustrated, some of the steps may be combined into a single step, or a step may be further divided into additional steps in various embodiments.
Step 1: Add Attribute actionCode with value 01
The above two rows are from a first column of the table.
The following is a first line of the body of the mapped XML output:
Step 2: Add Node InternalID
The following illustrates the addition of a line of text to the mapped XML output. Note that new material is highlighted, corresponding to the information dereived from the column and row of data. This means of identifying added script will be used for each succeeding step described below.
Step 3: Add Attribute schemeID with value MaterialID
Note that the same column is utilized for two separate steps in the mapping to XML, both for addition of a node internal ID and an attribute scheme ID.
Step 4: Add Attribute schemeAgencyID with value AFL—100
Step 5: Add Node_value ABC_MAT—01
Step 6: Add Node Common
Step 7: Add Node BaseQuantityTypeCode BX
Step 8: Add Node BaseMeasureUnitCode BX
Step 9: Add Node Description(1)
Step 10: Add Node Description
Step 11: Add Attribute languagecode with value EN
Step 12: Add Node_value english description for ABC_MAT—01
Step 13: Add Node Description(2)
Step 14: Add Node Description
Step 15: Add Attribute languageCode with value FR
Step 16: Add Node value La description en francais ABC MAT 01
Step 17: Add Node InventoryAndValuationQuantityUnit
Step 18: Add Node QuantityTypeCode BX
Step 19: Add Node MeasureUnitCode BX
Step 20: Add Node ValuationQuantityUnitIndicator true
Step 21: Add message footer
Step 22: Add message header
A block diagram of a computer system that executes programming for performing the above methods and mappings is shown in
Computer-readable instructions stored on a computer-readable medium are executable by the processing unit 802 of the computer 810. A hard drive, CD-ROM, and RAM are some examples of articles including a computer-readable medium.
The Abstract is provided to comply with 37 C.F.R. §1.72(b) to allow the reader to quickly ascertain the nature and gist of the technical disclosure. The Abstract is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims.