A more complete appreciation of the present disclosure and many of the attendant advantages thereof will be readily obtained as the same becomes better understood by reference to the following detailed description when considered in connection with the accompanying drawings, wherein:
The following exemplary embodiments are set forth to aid in an understanding of the subject matter of this disclosure, but are not intended, and may not be construed, to limit in any way the claims which follow thereafter. Therefore, while specific terminology is employed for the sake of clarity in describing some exemplary embodiments, the present disclosure is not intended to be limited to the specific terminology so selected, and it is to be understood that each specific element includes all technical equivalents which operate in a similar manner.
The computer system 1000 can include a central processing unit (CPU) 1001, program and data storage devices 1004, a printer interface 1010, a display unit 1011, a (LAN) local area network data transmission controller 1005, a LAN interface 1006, a network controller 1003, an internal bus 1002, and one or more input devices 1009 (for example, a keyboard, mouse etc.). As shown, the system 1000 may be connected to a database 1008, via a link 1007.
The computer system 1000 is merely exemplary. The specific embodiments described herein are illustrative, computer system(s) as referred to herein may include(s) individual computers, servers, computing resources, networks, etc., and many variations can be introduced on these embodiments without departing from the spirit of the disclosure or from the scope of the appended claims.
As described above, an LSP can perform transportation management and warehousing operations for general customers and can perform completely separate operations for different customers or groups of customers. In fact, an LSP can perform completely separate operations for different modes and/or branches of the same customer. However, to provide the most efficient and cost effective operations possible, an LSP should be able to combine operations from different modes and/or branches of a customer and/or customers into common process steps to leverage the effective and efficient use of supplies and services. For example, an LSP capable of coordinating a combination of shipments from different branches of the same company can more efficiently control the costs for haulage and/or ocean shipment for its customer.
Embodiments of the present disclosure use “workareas” to perform operations at the LSP. A workarea is a separate data storage and processing area in an LSP's system and business. A workarea can contain data, customizing information, process configuration information, etc. Depending on the type of workarea, the data and information may be global and/or customer specific. Although maintained as separate storage and processing areas, the entities of one workarea are combinable with those of another workarea. In addition, a user can span business processes over workarea boundaries.
LSP operations require certain system features. For the various customers or groups of customers, overlaps and duplicates of identifiers, number ranges or object names may occur. For example, different customers may use the same product IDs or names for different products, the same names for different locations, etc. Accordingly, workareas of customers and/or groups of customers should be maintained strictly separate. That is, customer specific master data, customizing information, process definitions, etc. should be maintained in a separate workarea for each customer. On the other hand, the LSP should have easy access to common information where possible. Examples of such common information include geography, metrics, conversions, etc. The LSP should also be capable of utilizing global data which is assigned and/or otherwise available for all customers.
According to various embodiments of the present disclosure, authorization levels can be assigned to LSP employees, LSP customers and customers' customers granting/denying access to the data and information in each workarea as appropriate. At the same time, these embodiments allow easy switching between workareas for an LSP employee so that the LSP employee is able to work for multiple customers at the same time.
According to an embodiment of the present disclosure, to minimize hardware resources, each workarea is viewed as a separate system which is sitting on the same LSP hardware system. As separate systems can communicate with each other and as business processes can be spanned over separate systems, they can also be spanned over separate workareas. Each workarea can host operational data of a customer as well as customizing and master data for that customer. The LSP can perform processes using data and configuration information from a workarea of a first customer and/or data and configuration information from the workareas of one or more additional customers.
Direct inter-workarea data transfer via inter-workarea DB statements (e.g., SELECT . . . WORKAREA SPECIFIED . . . ) is not used. Instead, data is transferred between workareas via a Remote Function Call (RFC). Functions are performed in each workarea using program modules referred to herein as function modules. The function modules in each workarea are executed using Call Functions which execute the function modules in the same workarea. An RFC is a call of a function module that runs in a different workarea to the calling program. When an RFC is made, an RFC interface performs several operations including converting all parameter data to a representation needed in the different workarea (e.g., character string conversions, hardware-dependent conversions if needed, etc.) The RFC interface also calls any communication routines that may be used to talk to the different workarea and handles communication errors, etc. This system ensures that each of the workareas remains functionally isolated from each other.
The present system can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. The system can be implemented as a computer program product, i.e., a computer program tangibly embodied in an information carrier, e.g., in a machine-readable storage device or in a propagated signal, for execution by, or to control the operation of, data processing apparatus, e.g., a programmable processor, a computer, or multiple computers. A computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.
Method steps associated with the present system can be performed by one or more programmable processors executing a computer program to perform functions of the invention by operating on input data and generating output. Method steps can also be performed by, and apparatus of the disclosure can be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).
Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. The elements of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. Information carriers suitable for embodying computer program instructions and data include all forms of non-volatile memory, including by way of example, semiconductor memory devices, e.g., EPROM (Erasable Programmable Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; CD-ROMs (Compact Disc Read-only Memory) and DVD-ROMs (Digital Versatile Disc Read-only Memory). The processor and the memory can be supplemented by, or incorporated in special purpose logic circuitry.
To provide for interaction with a user, the present disclosure can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.
The present system can be implemented in a computing system that includes a back-end component, e.g., as a data server, or that includes a middle-ware component, e.g., an application server, or that includes a front-end component, e.g., a client computer having a graphical interface or a Web browser through which a user can interact with an implementation of the present disclosure, or any combination of such back-end, middleware, or front-end components. The components of the computing system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), e.g., the Internet.
The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on respective computers and having a client-server relationship to each other.
The present system has been described in terms of particular embodiments. Other embodiments are within the scope of the following claims. For example, although the present system has been described as a component in a larger system, it can also be implemented in other systems or as a stand-alone system.
Numerous additional modifications and variations of the present disclosure are possible in view of the above-teachings. It is therefore to be understood that within the scope of the appended claims, the present disclosure may be practiced other than as specifically described herein. For example, elements and/or features of different illustrative embodiments may be combined with each other and/or substituted for each other within the scope of this disclosure and appended claims.