WO2018097407A1 - Method and system for sharing user-defined erp functions - Google Patents

Method and system for sharing user-defined erp functions Download PDF

Info

Publication number
WO2018097407A1
WO2018097407A1 PCT/KR2017/002232 KR2017002232W WO2018097407A1 WO 2018097407 A1 WO2018097407 A1 WO 2018097407A1 KR 2017002232 W KR2017002232 W KR 2017002232W WO 2018097407 A1 WO2018097407 A1 WO 2018097407A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
file
source package
function
sql
Prior art date
Application number
PCT/KR2017/002232
Other languages
French (fr)
Korean (ko)
Inventor
이강수
Original Assignee
(주) 더존비즈온
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주) 더존비즈온 filed Critical (주) 더존비즈온
Priority to CN201780077869.8A priority Critical patent/CN110249356B/en
Publication of WO2018097407A1 publication Critical patent/WO2018097407A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating

Definitions

  • the present invention relates to a user-defined ERP function sharing method and system. More specifically, the present invention relates to a method and a system that enables a user, such as an enterprise, to easily share a custom ERP function suitable for his or her own business process with others.
  • Enterprise Resource Planning is a computer system for enterprise management and management or packaged software installed in such systems. Representative companies dealing with ERP are SAP, Oracle, etc. Can be mentioned. Meanwhile, in order for an enterprise to be provided with an ERP service, not only ERP software should be installed in a user terminal in the enterprise, but also a database for storing various information of the corresponding enterprise must be established.
  • the ERP system enables companies to efficiently manage accounting, personnel, payroll, sales, trade, purchasing, materials, production, outsourcing, services, and management information.
  • companies can maximize productivity by introducing ERP system and reducing inefficiency caused by different information systems between management departments.
  • ERP can provide the advantage of systematically identifying and managing a variety of corporate information.
  • ERP software needs to be customized to suit the characteristics, business processes, and workflows of the enterprise, unlike typical packaged software.
  • each company had to analyze the requirements and business processes of each company and develop customized ERP software to be applied to the company. It took a lot of time and money to build an ERP system. In addition, due to the high cost, it is very difficult for a small company to adopt an ERP system.
  • the technical problem to be solved by the present invention is to provide an integrated development environment that enables the integrated development of database modeling, SQL query and UI for manipulating the database, through which ERP individual functions can be easily customized for the enterprise It is intended to provide a method and system that allows users to easily create and share their own ERP functions with others.
  • a user-defined enterprise resource planning (ERP) function (method) sharing method the user-defined ERP function sharing system, including at least one SQL file and a design file from a plurality of sharer terminal, Receiving a source package corresponding to an ERP user-defined function-
  • the SQL file is a file that stores a structured query language (SQL) query for manipulating a database
  • the design file constitutes the screen of the user-defined ERP function
  • a file storing information on at least one property of at least one control, wherein at least some of the controls constituting the screen of the user-defined ERP function are controls mapped to a specific query included in the at least one SQL file;
  • a source EW function received by the user-defined ERP function sharing system from the plurality of sharer terminals.
  • the user-defined ERP function sharing method comprising the step of transmitting the target source package selected by the user terminal to the user terminal is provided.
  • the storing of the source packages received from the plurality of sharer terminals in a predetermined storage by the user defined ERP function sharing system may include a plurality of predefined user defined ERP functions corresponding to the source package.
  • the method may include determining which of the categories belong to the category, and classifying the source package into a category to which the user-defined ERP function belongs, and storing the source package in the storage.
  • the determining of a user-defined ERP function corresponding to the source package belongs to one of a plurality of predefined categories may include at least one SQL file included in the source package or a design included in the source package.
  • the method may include analyzing a file and determining which of the plurality of categories a user-defined ERP function corresponding to the source package belongs to based on the analysis result.
  • the user terminal performs a source package upload method and a source package download method, wherein the source package upload method includes selecting at least some items from a list of at least one source package stored in the user terminal.
  • the source package upload method includes selecting at least some items from a list of at least one source package stored in the user terminal.
  • the source package download method the Receiving a list of source packages stored in the repository from a user-defined ERP function sharing system, providing a source package download UI providing a function of selecting at least some items from the received source package list, and the source package download UI Through It may include receiving a source package corresponding to the selected item from the user-defined function shared ERP system.
  • the user terminal after receiving the target source package from the user-defined ERP function sharing system, performs a user-defined ERP function generation method corresponding to the target source package, and corresponds to the target source package
  • the user-defined ERP function generation method may include a UI object corresponding to an ERD file, a UI object corresponding to each of at least one SQL file included in the target source package, and a UI object corresponding to a design file included in the target source package.
  • a UI object corresponding to any one of the at least one SQL file is selected, providing a SQL file editing function for editing the SQL file corresponding to the selected UI object, UI object corresponding to the design file Is selected, providing a design file editing function for editing the design file and providing the user-defined ERP function based on the at least one SQL file and the design file.
  • Can share method If a UI object corresponding to any one of the at least one SQL file is selected, providing a SQL file editing function for editing the SQL file corresponding to the selected UI object, UI object corresponding to the design file Is selected, providing a design file editing function for editing the design file and providing the user-defined ERP function based on the at least one SQL file and the design file.
  • a computer program installed in a data processing apparatus and stored in a recording medium for performing the above-described method.
  • a user-defined ERP function sharing system comprising at least one processor, a memory for storing a computer program executed by the processor, wherein the computer program, when executed by the processor
  • a user-defined ERP function sharing system is provided which allows a user-defined ERP function sharing system to perform the above-described user-defined ERP function sharing method.
  • an integrated development environment for integrating database modeling, SQL query and UI for manipulating the database can be provided, and through this, an ERP individual function customized for an enterprise can be created.
  • a method and system can be provided.
  • FIG. 1A is a diagram illustrating an operating environment of a method for generating a user-defined ERP function according to an embodiment of the present invention.
  • FIG. 1B is a block diagram schematically illustrating a configuration of a user terminal according to an embodiment of the present invention.
  • FIG. 2 is a diagram briefly illustrating a process of generating a user-defined ERP function by the user terminal according to an embodiment of the present invention.
  • FIG. 3 is a diagram illustrating an example of a UI of an integrated development environment provided by a user terminal according to an embodiment of the present invention.
  • FIG. 4 is a diagram illustrating an example of a project window.
  • FIG. 5 is a diagram illustrating an example of a database search window.
  • FIG. 6 is a flowchart schematically illustrating a process of performing an ERD file editing function by a generation system according to an embodiment of the present invention.
  • FIG. 7 is a diagram illustrating an example of an ERD file editing UI.
  • FIG. 8 is a flowchart schematically illustrating a process of performing an SQL file editing function by a user terminal according to an embodiment of the present invention.
  • FIG. 9 is a diagram illustrating an example of an SQL file editing UI.
  • FIG. 10 is a flowchart schematically illustrating a process of performing a design file editing function by a user terminal according to an exemplary embodiment of the present invention.
  • FIG. 11 is a diagram illustrating an example of a design file editing UI.
  • FIG. 12 is a diagram illustrating an example of a toolbox window.
  • 13 is a diagram illustrating an example of an attribute window.
  • FIG. 14 is a diagram illustrating an example of a script window.
  • 15A to 15E illustrate an example of the SQL mapping UI.
  • 16 is a flowchart schematically illustrating a mapping process between SQL and a control.
  • FIG. 17 is a diagram illustrating an example of a process in which a user-defined ERP function is shared by a user-defined ERP function sharing system and a user terminal according to an embodiment of the present invention.
  • FIG. 18 is a diagram illustrating an example of a source package upload UI.
  • 19 is a diagram illustrating an example of a source package download UI.
  • first and second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.
  • the component when one component 'transmits' data to another component, the component may directly transmit the data to the other component, or through at least one other component. Means that the data may be transmitted to the other component.
  • the component when one component 'directly transmits' data to another component, it means that the data is transmitted from the component to the other component without passing through the other component.
  • FIG. 1A is a diagram illustrating an operating environment of a method for generating a user-defined ERP function according to an embodiment of the present invention.
  • a plurality of user terminals 100-1 to 100 -N and a user-defined ERP function sharing system 200 (hereinafter, referred to as a 'sharing system') are connected through a wired / wireless network to thereby provide an embodiment of the invention.
  • a method of generating a user-defined ERP function according to an embodiment may be performed.
  • the plurality of user terminals 100-1 to 100 -N may share a source package corresponding to an ERP user-defined function through the sharing system 200.
  • each user terminal 100-1 to 100 -N may generate a source package corresponding to a user-defined ERP function, and upload it to the sharing system 200 to share it with others.
  • a user terminal uploading a source package will be referred to as a sharer terminal.
  • the uploaded source package may be stored in a given repository 210.
  • the storage 210 may be a device for storing a source package uploaded to the sharing system 200.
  • the storage 210 may be a database or a memory device.
  • the storage 210 may be an element included in the sharing system 200, but is not limited thereto. As illustrated in FIG. 1A, the storage 210 may be a physical device separate from the sharing system 200.
  • each of the user terminals 100-1 to 100 -N may download some of a plurality of source packages stored in the storage 210 of the sharing system 200.
  • the user terminal 100 may be a handheld device such as a mobile phone, a satellite phone, a wireless phone, a Session Initiation Protocol (SIP), a Wireless Local Loop (WLL) station, a smartphone, a tablet PC, a personal digital assistant (PDA), or a desk. It can include a tower or laptop.
  • a handheld device such as a mobile phone, a satellite phone, a wireless phone, a Session Initiation Protocol (SIP), a Wireless Local Loop (WLL) station, a smartphone, a tablet PC, a personal digital assistant (PDA), or a desk. It can include a tower or laptop.
  • SIP Session Initiation Protocol
  • WLL Wireless Local Loop
  • PDA personal digital assistant
  • the sharing system 200 may include hardware resources and / or software necessary to implement the technical idea of the present invention, and does not necessarily mean one physical component or one device. . That is, the sharing system 200 may mean a logical combination of hardware and / or software provided to implement the technical idea of the present invention. If necessary, the sharing system 200 may be installed in devices spaced apart from each other to perform respective functions. As a result, it may be implemented as a set of logical configurations for implementing the technical idea of the present invention. In addition, the sharing system 200 may refer to a set of components separately implemented for each function or role for implementing the technical idea of the present invention.
  • the sharing system 200 may be implemented in the form of a plurality of modules.
  • the sharing system 200 performs at least one communication module capable of communicating with various user terminals 100-1 through 100 -N or a main function of the sharing system 200 through a network, and It may include a control module capable of controlling and functioning the functions and / or resources of other components included in the sharing system 200, a storage module for storing various information, an input / output module for interfacing with a user, and the like.
  • Various modules included in the sharing system 200 may be located in different physical devices or may be located in the same physical device.
  • the module may mean a functional and structural combination of hardware for performing the technical idea of the present invention and software for driving the hardware.
  • the module may mean a logical unit of a predetermined code and a hardware resource for performing the predetermined code, and means a physically connected code or does not necessarily mean one kind of hardware. It can be easily inferred by the average expert in the art.
  • FIG. 1B is a block diagram schematically illustrating a configuration of a user terminal 100 according to an exemplary embodiment of the present invention.
  • the user terminal 100 may include a user-defined ERP function generation module 110.
  • a 'generation module' the user-defined ERP function driving module 120 (hereinafter referred to as a 'drive module'), and a user-defined ERP function sharing module 140 (hereinafter referred to as a 'shared module'). have.
  • the user terminal 100 may further include a DB 130 for storing various data necessary for implementing the technical idea of the present invention and various information of the company.
  • FIG. 1B illustrates an example in which the DB 130 is included in the user terminal 100, but in another embodiment, the DB 130 is physically separated from the user terminal 100. It may be implemented in the form of a system. In this case, the user terminal 100 and the DB 130 may be connected through a network to transmit and receive various data or information. In addition, according to an implementation example, the user terminal 100 may operate in conjunction with a plurality of DBs included in the user terminal 100 or connected through a network.
  • DB DataBase
  • DBMS Database Management System
  • DB database Management System
  • it may be implemented in various ways such as a linked-list, a tree, a relational DB, and includes all data storage media and data structures capable of storing information to be stored in the DB 130. It can be used to mean.
  • the generation module 110 may perform a function of generating a user-defined ERP function or editing a previously generated user-defined ERP function.
  • the driving module 120 may drive the user-defined ERP function generated by the generation module 110 to provide the user-defined ERP function.
  • the sharing module 140 may upload the user-defined ERP function generated by the generation module 110 to the sharing system 200 and share it to others, and share the user-defined ERP function shared by others. Download from system 200.
  • the generation module 110, the driving module 120, and the sharing module 140 may be implemented in the form of independent physical devices.
  • the modules 110, 120, and 140 may be implemented as one physical device.
  • the three modules 110, 120, and 140 may each be configured as separate software that is logically divided, or may be implemented in the form of one integrated software.
  • a function of generating a user-defined ERP function is performed by the generation module 110, and the function of driving the generated user-defined ERP function is the driving module 110.
  • the user-defined ERP function sharing function is performed by the sharing module 140, according to the implementation example, unlike in Figure 1b, the user terminal 100 is in accordance with the spirit of the present invention.
  • the user-defined ERP function generation function, the generated user-defined ERP function driving function, and the user-defined ERP function may be implemented as one system that performs a combination of the user-defined ERP function sharing function.
  • User-defined ERP functions can be integrated into an ERP system and can be unit functions with their own meaning.
  • the user-defined ERP function may perform a function of managing, manipulating, using, and analyzing enterprise information stored in the DB 130.
  • a customized user interface can be provided for the user to perform these functions. That is, the user may manage, manipulate, use, and analyze enterprise information stored in the DB 130 through a UI provided by a user-defined ERP function.
  • Examples of user-defined ERP functions include document entry, book management, account increase management, bond age analysis / management, settlement of accounts, financial statements, fund / budget management, budget / use analysis, fixed asset management, tax return management, financial account management, etc. , Personnel management, attendance management, payroll management, social insurance management, year-end settlement management, retirement settlement management, tax return management, income-specific slip processing, daily work management, domestic sales plan establishment / management, quotation / order processing, request / inspection management , Issue / return processing, sales contribution analysis, delivery / delivery management, temporary issue / consignment management, sales settlement, electronic tax invoice processing, collection / debt management, bond age analysis, export plan establishment / management, order management, issue processing, Sales Settlement, Shipment Management, Goods / Order Processing, Shipment / Receipt Management, Import Cost Processing, Non-Settlement Processing, Import Cost Allocation, MPS, Required Materials Calculation, Invoice / Order, Goods Receipt / Inspection, Temporary Goods Receipt Management
  • the user terminal 100 may be connected to the sharing system 200 through a network to transmit and receive various information, data, signals, and / or messages necessary to implement the technical idea of the present invention. have.
  • the user terminal 100 may transmit a result generated through a user-defined ERP function generation function to the sharing system 200, and the sharing system 200 may provide (transmit) it if desired by other users. . That is, the sharing system 200 may play a role of allowing each user to share a user-defined uploaded ERP function with other users.
  • the result generated by the ERP function generation function may include an ERP file, at least one SQL file, and a design file.
  • the result file may further include a report file.
  • the ERD file may be a file that stores information modeling the attributes of the tables stored in the DB 130 and the relationships between the tables.
  • An entity relationship diagram is the most data-modeling technique that uses simple shapes (squares, ellipses, diamonds, etc.) to describe the structure and relationships of data, and to form relationships and properties between data entities. Most commonly used as a tool. Users can visually understand this easily by using ERD to graphically represent the relationship of the database.
  • Components of an ERD include an entity, a relationship, and an attribute.
  • An entity represents an object that is separated into the subject or object of information to be stored in the database. In database modeling, one table stored in the database may be an object.
  • a relationship represents how two or more entities are related to each other. Attributes are data items that describe the characteristics of an entity or relationship. Attributes that uniquely identify each entity are called key attributes.
  • the SQL file may be a file that stores a structured query language (SQL) query for manipulating the DB 130.
  • SQL structured query language
  • Each SQL file can store one or more SQL queries.
  • SQL is a special-purpose programming language designed to manage data in a database management system (DBMS). It is used to write queries to retrieve and manage data stored in a database, create and modify database schemas, and manage database object access coordination. Can be used. SQL commands can be classified into three categories: data manipulation (DML), data definition (DDL), and data control (DCL). Data manipulation (DML) is a command used to modify or retrieve data in a database, such as INSERT (add data), UPDATE (update data), DELETE (delete data), and SELECT (data search).
  • DML data manipulation
  • INSERT add data
  • UPDATE update data
  • DELETE delete data
  • SELECT data search
  • Data definition is a command used to modify the structure of a table or the like that contains data, such as CREATE (create a table, etc.), DROP (remove a table, etc.), ALTER (change a table, etc.).
  • Data control is a command that grants or revokes access to the database. It includes GRANT and REVOKE.
  • the design file may be a file that stores information about attributes of at least one control constituting the screen of the user-defined ERP function.
  • the control may be a UI object that can perform interaction with the user such as displaying information or receiving information from the user.
  • At least some of the controls constituting the screen of the user-defined ERP function may be controls mapped to a specific query included in the at least one SQL file, which will be referred to as a grid control hereinafter.
  • the report file may include information about properties of a plurality of controls constituting a report electronic document and information about data bound to each control.
  • FIG. 2 is a diagram briefly illustrating a process of generating a user-defined ERP function by the generation module 110 according to an embodiment of the present invention.
  • the generation module 110 may provide a container UI including a UI object corresponding to an ERD file, a UI object corresponding to each of at least one SQL file, and a UI object corresponding to a design file.
  • the user may select any one of the UI objects included in the container UI in operation S120.
  • the generation module 110 may provide an ERD file editing function for editing the ERD file (S130).
  • the generation module 110 may provide an SQL file editing function for editing the SQL file (S140).
  • the generation module 110 may provide an ERD file editing function for editing the design file (S150).
  • the generation module 110 may provide an integrated development environment for the user to create and customize a user-defined ERP function.
  • users can create or edit ERD files, SQL files, design files, and report files required to run custom ERP functions.
  • a user may generate a plurality of user-specified ERP functions through the generation module 110, in which case the plurality of user-specified ERP functions may be managed as a single project corresponding thereto.
  • Each project can be a package or container that contains at least one SQL file and a design file.
  • ERD file Even if multiple projects exist, there may be one ERD file. In this case, a plurality of user-specified ERP functions generated by the plurality of projects may use one common ERD file.
  • 3 is a diagram illustrating an example of a UI of an integrated development environment provided by the generation module 110.
  • the integrated development environment UI 1000 includes a menu 1100, a project window 1200, a database search window 1300, an editor window 1400, a toolbox window 1500, and a property window 1600. ), May include a script window 1700.
  • the menu 1100 may include a plurality of icons, and each icon may be a UI object for executing a function frequently used by a user, including creating a new project, opening a file, saving a file, copying, and pasting.
  • the project window 1200 may be a container UI including a UI object (eg, an icon) corresponding to an ERD file, a UI object corresponding to each of at least one SQL file, and a UI object corresponding to a design file.
  • a UI object eg, an icon
  • FIG. 4 is a diagram illustrating an example of the project window 1200.
  • a UI object 1211 corresponding to an ERD file may be displayed, and when a UI object 1211 corresponding to the ERD file is selected by a user ( For example, when a corresponding UI object is clicked, double-clicked, or touched), the generation module 110 may provide an ERD file editing function for editing the ERD file.
  • the generation module 110 may display a UI for editing an ERD file in the editor window 1400 to provide an ERD file editing function, and the user may edit the ERD file on the UI displayed in the editor window 1400. Can be.
  • the UI object 1211 corresponding to the ERD file may be displayed at a lower level of the ERD container UI object 1210.
  • the user may interact with the ERD container UI object 1210 in a predetermined manner to generate a new ERD file, and the UI object corresponding to the newly created ERD file may be added as a lower level of the ERD container UI object 1210. Can be.
  • the newly generated ERD file may be a blank file including no information.
  • UI objects 1201, 1202, and 1203 corresponding to each of at least one project may be displayed, and each project may correspond to a different user-defined ERP function.
  • each project may be a container including at least one SQL file, a design file, and at least one report file
  • the project window 1200 may include at least one belonging to each project (eg, 1202).
  • UI objects 1221 and 1222 corresponding to each of the SQL files of the UI object
  • UI objects 1231 corresponding to each of the at least one report file
  • the UI objects 1241 corresponding to the design file may be displayed.
  • the UI objects 1221 and 1222 corresponding to each of the at least one SQL file may be displayed at a lower level of the SQL container UI object 1220.
  • the user can interact with the SQL container UI object 1220 in some way to generate a new SQL file, and the UI object corresponding to the newly created SQL file is added to the lower level of the SQL container UI object 1220.
  • the newly created SQL file may be an empty file including no information.
  • the UI object 1231 corresponding to each of the at least one report file may be displayed at a lower level of the report container UI object 1230.
  • the user may interact with the report container UI object 1230 in a predetermined manner to generate a new report file, and the UI object corresponding to the newly generated report file may be added as a lower level of the report container UI object 1230.
  • the newly generated report file may be an empty file including no information.
  • the generation module 110 may generate an SQL file corresponding to the selected UI object 1221.
  • SQL file editing function can be provided for editing.
  • the generation module 110 may display a UI for editing an SQL file in the editor window 1400 to provide an SQL file editing function, and the user may edit the SQL file on the UI displayed in the editor window 1400. Can be.
  • the generation module 110 may provide a report editing UI for editing a report electronic document.
  • the generation module 110 may display a UI for editing a report file in the editor window 1400 to provide a report file editing function, and the user may edit a report file on the UI displayed in the editor window 1400. Can be.
  • the generation module 110 may provide a design file editing function for editing the design file.
  • the generation module 110 may display a UI for editing the design file in the editor window 1400 to provide a design file editing function, and the user may edit the design file on the UI displayed in the editor window 1400. Can be.
  • a user may generate a new design file by interacting with a UI object (eg, 1202) corresponding to a specific project in a predetermined manner, and the UI object corresponding to the newly created design file corresponds to the project. It can be added as a lower level of the UI object 1202.
  • the newly created design file may be an empty file including no information.
  • the generation module 110 provides each file editing function on the editor window 1400 included in the integrated development environment UI 1000 has been described, but according to an embodiment, the generation module 110 May execute a separate application corresponding to each file editing function, in which case the user may edit each file on the executed application.
  • 5 is a diagram illustrating an example of a database search window 1300.
  • the database search window 1300 may include UI objects 1310 and 1320 corresponding to the DB 130 connected to the user terminal 100 or the generation module 110.
  • the UI object may have UI objects 1311 to 1313 representing at least one schema at a lower level.
  • a schema is a structure that defines the structure of data in a database, how data is represented, and the relationship between data in a formal language, or as a namespace, and may mean a container including objects such as a table and a stored procedure. Therefore, a lower level of the UI object representing a specific schema may have UI objects corresponding to each object such as a table or a stored procedure included in the schema.
  • a table refers to a collection of data composed of fields, which are items for storing respective data, and one database may be composed of several tables.
  • a stored procedure or stored procedure is a set of queries for executing a series of queries as a function.
  • a stored procedure is a stored procedure in the database management system that organizes a series of operations on a database. Also called a Persistent Storage Module.
  • the editor window 1400 may display an editing UI corresponding to the file selected by the user.
  • FIG. 6 is a flowchart schematically illustrating a process of the generation module 110 performing an ERD file editing function.
  • the generation module 110 may provide an ERD file editing UI (S131).
  • the generation module 110 may display an ERD file editing UI in the editor window 1400.
  • the ERD file editing UI may include a table structure UI object representing a structure of a database table and a relationship UI object representing a relationship between a table.
  • the generation module 110 may change a relationship between a table schema and a table schema according to a user input on the ERD file editing UI (S132).
  • the changed table structure and the relationship between the tables may be reflected in the ERD file (S133).
  • the generation module 110 may provide an ERD file editing UI 2000 through the editor window 1400 based on the contents of an ERD file corresponding to an ERD file object selected by a user.
  • FIG. 7 is a diagram illustrating an example of an ERD file editing UI 2000.
  • the ERD file editing UI 2000 may include a toolbar UI 2100 including a button for creating a new table, a button for creating a new relationship, and a button for reflecting changes to the DB 130. Can be.
  • the ERD file editing UI 2000 may include a table structure UI object (eg, 2210, 2220, 2230) representing a structure of a database table, and a relationship UI object (eg, 2310, 2320) representing a relationship between a table. It may include.
  • Each column information included in the table may be displayed on the table structure UI objects 2210, 2220, and 2230.
  • the relationship UI objects 2310 and 2320 may be in the form of lines connecting two table structure UI objects 2100 and 2110.
  • the relationship UI object may be expressed in different forms (for example, solid line or dotted line) depending on whether the relationship between two tables is an identification relationship or a non-identification relationship.
  • the generation module 110 may change a relationship between a table structure and a table structure according to a user input on the ERD file editing UI.
  • the user may create a new table UI object on the ERD file editing UI 2000.
  • the user may create a UI object corresponding to a table previously created in the DB 130.
  • a user may input a command such as selecting a UI object corresponding to a specific table displayed in the above-described database search window 1300 or dragging and dropping onto the ERD file editing UI 2000.
  • the generation module 110 may generate a new table UI object corresponding to the table in the ERD file editing UI 2000.
  • the user may select a new table generation UI provided by the ERD file editing UI 2000 to generate a UI object corresponding to the new table.
  • the user deletes the table UI object existing on the ERD file editing UI 2000 or changes the structure of the table through the corresponding table UI object (for example, add / delete / change column or change attribute of the table). You may.
  • the user may create a new relationship UI object indicating a relationship between table UI objects existing on the ERD file editing UI 2000.
  • the user selects a button for creating a new relationship provided by the ERD file editing UI 2000 and then selects two tables to form a relationship to generate a new relationship UI object representing a relationship between the two selected tables. Can be.
  • the user may delete the relationship UI object existing on the ERD file editing UI 2000 or change the relationship information through the relationship UI object.
  • the generation module 110 may reflect the relationship between the changed table schema and the table schema in the ERD file.
  • the generation module 110 may change the table structure of the DB 130, add a new table, or delete an existing table by reflecting the relationship between the changed table schema and the table schema DB 130.
  • FIG. 8 is a flowchart schematically illustrating a process of the generation module 110 performing a SQL file editing function.
  • the generation module 110 may provide an SQL editing UI (S141).
  • the generation module 110 may display an SQL editing UI in the editor window 1400.
  • the generation module 110 may change the SQL query according to a user input on the SQL editing UI (S142).
  • the changed query may be reflected in the SQL file (S143).
  • the SQL file editing UI 3000 may be displayed in the editor window 1400. That is, the generation module 110 may provide the SQL file editing UI 3000 displaying the contents of the SQL file corresponding to the SQL file object selected by the user through the editor window 1400.
  • FIG. 9 is a diagram illustrating an example of the SQL file editing UI 3000.
  • the SQL file editing UI 3000 includes a UI for selecting a DB to be connected, a button for performing a connection with the DB, a button for releasing the connection, and whether the created query is Insert or Update. It may include a toolbar UI 3100 including a UI for selecting.
  • the SQL file editing UI 3000 may include an editing UI 3200 for creating a query, and a user may create or edit an SQL query on the editing UI 3200.
  • the user can include parameter variable names when creating queries.
  • the parameter variable name may be in the form of '@variable name'.
  • the parameter variable name can be used to associate a query with a control on the function screen editing UI described below.
  • at least some of the controls included in the design file may be mapped to the parameter variable names.
  • data input to the control mapped to the parameter variable name may be input to the SQL query. More precisely, data input to a control mapped to the parameter variable name may be allocated to the parameter variable name of the SQL query.
  • the toolbar UI 3200 may include a button for executing a created query, and the SQL file editing UI 3000 may include a result display UI 3300 on which an execution result is displayed. On the result display UI 3300, the structure of the table and the data inquired by the query may be displayed.
  • the generation module 110 may reflect the changed SQL query to the SQL file.
  • FIG. 10 is a flowchart schematically illustrating a process in which the generation module 110 performs a design file editing function.
  • the generation module 110 may provide a function screen editing UI (S151).
  • the generation module 110 may display a function editing UI in the editor window 1400.
  • the generation module 110 may change the control constituting the screen of the user-defined ERP function and the property of each control according to a user input on the function screen editing UI (S152).
  • the generation module 110 may reflect, in the design file, the control file constituting the changed screen of the user-defined ERP function, the properties of each changed control, and mapping information between the changed control and the query (S153).
  • the design file editing UI may be displayed in the editor window 1400. That is, the generation module 110 may provide a design file editing UI through the editor window 1400 based on a design file corresponding to a design file object selected by the user.
  • FIG. 11 is a diagram illustrating an example of a design file editing UI 4000.
  • the design file editing UI 4000 may display various controls (for example, 4010 to 4040) previously defined in the design file.
  • the user can delete the control displayed in the design file editing UI 4000, change the layout, or modify the external elements such as the size.
  • the user may also add new controls to the design file editing UI 4000.
  • the generation module 110 may provide a toolbox window 1500 for selecting various controls. 12 is a diagram illustrating an example of a toolbox window 1500.
  • the toolbox window 1500 may include various types of controls, and the user may select a desired control or drag and drop it to the design file editing UI 4000 to drop the control into the design file editing UI. It can be placed at (4000).
  • various controls may be classified into specific categories in the toolbox window 1500 according to a predetermined classification criterion.
  • a common control 1510 commonly used in a GUI a business control 1520 specially used in the ERP field, a data control 1530, and a layout of a screen are configured.
  • the layout control 1550, a popup control 1570, etc., serving as a container may be classified.
  • a control belonging to the data control category 1530 may perform a function of displaying data retrieved by an SQL query.
  • Data controls can include a Flex Grid that displays in the form of a data table queried by an SQL query, a Pivot Grid that displays in a PivotTable format, and a Chart Grid that displays in the form of a chart. have.
  • An example of a flex grid is the data control 4040 of FIG. 11.
  • the property value of the selected control may be displayed in the property window 1600, and the user may view the property window. You can change the property value of the control shown in (1600). 13 is a diagram illustrating an example of a property window 1600.
  • the script window 1700 has a method indicating an action to be performed when a specific event occurs.
  • the script can be displayed and the user can create / edit the method script shown in the script window 1700.
  • 14 is a diagram illustrating an example of a script window 1700.
  • the script window 1700 includes a UI 1710 for selecting any one of the controls disposed in the design file editing UI 4000, and a UI 1720 for selecting an event that may occur in the control. It may include a UI 1730 for writing a method script to be executed when the selected event occurs in the selected control.
  • the generation module 110 may perform a mapping process so that the content displayed on the screen of the user-defined ERP function is associated with the SQL query. That is, the generation module 110 may include a SQL mapping UI for mapping at least a portion (for example, 4040) of the data controls displayed in the design file editing UI 4000 to a specific query included in the at least one SQL file. The at least one control may be mapped to a specific query included in the at least one SQL file according to a user input on the SQL mapping UI.
  • 15A to 15E illustrate an example of the SQL mapping UI.
  • the SQL mapping UI 5000 illustrated in FIG. 15A may include a UI 5010 that displays a list of queries defined in at least one SQL file corresponding to a user-defined ERP function.
  • a query named SQL may be mapped to a given data control.
  • the user can map parameters and input controls (controls that can receive data from the user) described in the SQL query through the SQL mapping UI (5000), and map the SQL query and the data control to display the results of the query. can do.
  • the UI 5100 as shown in FIG. 15B may be displayed.
  • a user may map each parameter variable name included in an SQL statement and a specific control (eg, 4010 and / or 4030) included in the design file editing UI 4000. have.
  • the control mapped to the parameter variable name may be a control (input control) that performs a function of receiving data from a user.
  • the UI 5100 may include a list 5110 listing each parameter variable name included in an SQL statement.
  • the UI 5100 may include a UI for selecting a control to be mapped to each parameter variable name. For example, 5101 to 5103).
  • @multiModule is mapped with bpComboBox1 4010
  • @keyword is mapped with textBoxExt1 4030.
  • the UI 5200 may be displayed.
  • the UI 5200 may include a UI 5210 for selecting a data control displayed on the design file editing UI 4000. This allows the user to select a data control (e.g. 4040) to be mapped with the SQL query.
  • a data control e.g. 4040
  • the UI 5200 may be used to perform customization such as selecting columns to be used / outputted from the columns included in the DB table to be queried through SQL query, adjusting the display order, or setting the display format of each field. ) May be further included.
  • the UI 5300 may be displayed as illustrated in FIG. 15D.
  • a user may map a specific control included in the design file editing UI 4000 and a column included in a DB table to be queried through an SQL query.
  • the UI 5400 shown in FIG. 15E may be displayed.
  • the UI 5400 as shown in FIG. 15E includes a UI 5410 for selecting an SQL query for inserting a record inserted through the data control into a database, and a UI 5520 for selecting a query for updating changed data on the data control. ), A UI 5430 for selecting a query for deleting a record.
  • 16 is a flowchart schematically illustrating the above-described mapping process.
  • the generation module 110 may display each SQL query included in the at least one SQL file (S210).
  • the selected SQL query may be analyzed to obtain a parameter variable name included in the SQL query (S220), and the obtained parameter variable name may be displayed.
  • the generation module 110 may map each parameter variable name displayed with a control (for example, 4010 or 4030) displayed on the design file editing UI 4000 (S240).
  • a control for example, 4010 or 4030
  • the generation module 110 may map the SQL query selected by the user's input with any one data control (for example, 4040) displayed on the design file editing UI 4000 (S240 and S250).
  • the driving module 120 may drive the user-defined ERP function generated by the generation module 110 to provide the user-defined ERP function.
  • the generation module 110 may generate at least one SQL file and a design file corresponding to the user-defined ERP function, and the driving module 120 may interpret the information and drive the user-defined ERP function.
  • the driving module 120 may be a kind of engine that receives a kind of metadata or a script and performs an operation corresponding thereto.
  • the driving module 120 may configure a screen of a user-defined ERP function by using information about various controls included in the design file, and display it.
  • the driving module 120 may perform a method, a script, or a built-in function corresponding thereto.
  • the driving module 120 may execute an SQL query mapped to the data control and reflect the execution result to the data control or the DB 130.
  • the driving module 120 may perform various instructions to enable the user-defined ERP function to operate correctly.
  • the sharing module 140 may perform a user-defined ERP sharing function to be described below.
  • FIG. 17 is a diagram illustrating an example of a process in which a user-defined ERP function is shared by the user terminal 100 and the sharing system 200. 17 illustrates an example in which one user-defined ERP function is shared between two terminals for convenience of description, but a plurality of user-defined ERP functions may be shared among a plurality of terminals.
  • a process of sharing a user-defined ERP function between two terminals 100-1 and 100-2 may be largely divided into a source package upload process (S310 ⁇ S340) and a source package download process (S350 ⁇ S370). have.
  • the sharer terminal 100-1 who wants to share a user-defined ERP function with others may provide a source package upload UI (S310).
  • the source package upload UI may provide a function for the user to select a user-defined ERP function to be transmitted to the sharing system 200.
  • the sharer terminal 100-1 may store a project corresponding to a plurality of user-defined ERP functions, and a user may select a project among them, through the source package upload UI.
  • Some or all of the projects stored in the sharer terminal 100-1 may be generated in advance through the above-described user-defined ERP generation process. Alternatively, some or all of the projects stored in the sharer terminal 100-1 may be downloaded to the sharer terminal 100-1 through a source package download function to be described later.
  • the source package may correspond to a predetermined user defined ERP function, and may include at least one SQL file and a design file corresponding to the user defined ERP function. According to an embodiment, the source package may further include an ERD file.
  • the source package may further include additional information about a corresponding user-defined ERP function.
  • the additional information may include any information related to the user-defined ERP function, and may be, for example, the name, description, creator, sharer and / or screenshot, category information, etc. of the user-defined ERP function.
  • FIG. 18 is a diagram illustrating an example of a source package upload UI 6000.
  • the source package upload UI 6000 may include a list 6100 of projects of the user-defined ERP function stored in the sharer terminal 100-1. Each list contains a UI object (e.g. 6010) for selecting whether to upload or not, a UI object (e.g. 6020) for displaying the name of the project (or a name of a user-defined ERP function), and detailed description information.
  • a UI object e.g, 6030
  • a UI object eg, 6040
  • the source package upload UI may further include a UI object for inputting / specifying various additional information included in the source package.
  • the user may select some of the seven projects (Project1 and Project2 in the example of FIG. 18). After selecting a project to be shared, the user may select a button 6200 for performing upload to instruct the sharer terminal 100-1 to perform upload.
  • the sharer terminal 100-1 may generate a source package corresponding to a user-defined ERP function selected by a user (S320), and transmit the same to the sharing system 200 (S330). .
  • the sharing system 200 may store the received source package in the predetermined storage 210 (S340).
  • the sharing system 200 may classify and store the received source package according to a predetermined criterion. To this end, the sharing system 200 may determine where a user-defined ERP function corresponding to the source package is frequently belonged among a plurality of predefined categories, and the source package includes a user-defined ERP function. It may be classified into categories and stored in the storage 210.
  • the plurality of predefined categories may include categories that are widely used in the ERP field. For example, categories can include accounting, human resources, sales, purchasing / materials, outsourcing, trade, services, construction, production, standards, costs, consolidated accounting, and so on.
  • the category to which the user-defined ERP function belongs may be specified by the sharer.
  • the category to which the user-defined ERP function belongs may be determined by the sharing system 200.
  • the sharing system 200 may analyze at least one SQL file included in the source package or a design file included in the source package in order to determine which category the user-defined ERP function belongs to. Based on the determination, the user-defined ERP function corresponding to the source package belongs to one of the plurality of categories. For example, the sharing system 200 analyzes the name or other information of the database described in the query statement of the SQL file included in the source package, the name or other information of the table or field, and / or the name or other information of the parameter. can do. Alternatively, the sharing system 200 may analyze various types of information (for example, names or properties of controls) described in the design file included in the source package.
  • the sharing system 200 may transmit a list of source packages stored in the storage 210 to the user terminal 100-2 (S350).
  • the user terminal 200 may provide a source package download UI (S360).
  • the source package download UI may display a list of received source packages and may provide a function of selecting at least some items from the received source package list.
  • the source package download UI 7000 may include a list UI 7100 displaying a list of source packages received from the sharing system 200. Each item of the list UI 7100 may include information such as a name of a source package, a name of a corresponding user-defined ERP function, a representative icon, a registration date, and the like.
  • the source package download UI 7000 may further include a detailed information display UI 7200 for displaying detailed information of the source package selected by the user.
  • the detailed information display UI 7200 is a name of the application (for example, the driving module 120 described above) to which the user-defined ERP function corresponding to the corresponding source package is applied, the registrant, the name of the source package, and the corresponding user definition. It may include a name and a detailed description of the ERP function.
  • the detailed information display UI 7200 may also display a screen shot 7210 of a user-defined ERP function.
  • the screenshot may be an image designated by the sharer who shared the source package.
  • the screen shot 7210 may be an image generated by the sharing system 200.
  • the sharing system 200 may perform the functions of the driving module 200 described above, and execute a user-defined ERP function using a SQL file and a design file included in a source package, and then take a screenshot. You can take a picture.
  • the source package download UI 7000 may further include a category UI 7300 displaying a list of categories to which the user-defined ERP function may belong.
  • the list UI 7100 may display only a list of source packages corresponding to the user-defined ERP function belonging to the selected category.
  • the source package download UI 7000 may further include an upload button 7400.
  • the upload button 7400 When the upload button 7400 is selected, the user terminal 100-2 provides the source package upload UI 6000 described above.
  • the user terminal 100-2 may share the user-specified ERP function with others.
  • the source package download UI may further include a button UI 7410 for requesting the download of the source package selected by the user.
  • the button UI 7410 When the user selects the button UI 7410, the user terminal 100-2 may request a download of a source package from the sharing system 200.
  • the sharing system 200 selects a target source package selected by the user terminal from among source packages stored in the storage 210. It may transmit to the terminal 100-2 (S370).
  • the user-defined ERP function sharing system may include at least one processor and a memory storing a program executed by the processor.
  • the processor may include a single core CPU or a multi core CPU.
  • the memory may include fast random access memory and may include nonvolatile memory, such as one or more magnetic disk storage devices, flash memory devices, or other nonvolatile solid state memory devices. Access to memory by the processor and other components may be controlled by the memory controller.
  • the user-defined ERP function sharing system when the program is executed by a processor, the user-defined ERP function sharing system according to the present embodiment may allow the user-defined ERP function sharing method to be performed.
  • the method for generating a user-defined ERP function may be implemented in a computer-readable program command form and stored in a computer-readable recording medium.
  • the computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored.
  • the program instructions recorded on the recording medium may be those specially designed and constructed for the present invention, or may be known and available to those skilled in the software art.
  • Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, floppy disks, and the like. Included are hardware devices specifically configured to store and execute the same magneto-optical media and program instructions such as ROM, RAM, flash memory, and the like.
  • the computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
  • Examples of program instructions include not only machine code generated by a compiler, but also devices that process information electronically using an interpreter, for example, high-level language code that can be executed by a computer.
  • the hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
  • the present invention can be used in a user-defined ERP function sharing method and system.

Abstract

Disclosed are a method and a system for enabling a user, such as a company, using enterprise resource planning (ERP) software to easily share with others user-defined ERP functions adequate for a work process of the user that the user has personally developed. According to one aspect of the present invention, provided is a method for sharing user-defined ERP functions, the method comprising the steps in which: a user-defined ERP function sharing system receives, from a plurality of sharing-party terminals, source packages including at least one structured query language (SQL) file and a design file, and corresponding to predetermined user-defined ERP functions, wherein the SQL file is a file for storing SQL queries for operating a database, and the design file is a file for storing information on the properties of at least one control constituting a screen for user-defined ERP functions, wherein at least some of the controls constituting the screen for user-defined ERP functions are controls that are mapped to specific queries included in the at least one SQL file; the user-defined ERP function sharing system stores, in a predetermined repository, the source packages received from the plurality of sharing-party terminals; the user-defined ERP function sharing system provides, to a user terminal, a list of the source packages stored in the repository; and, as a response to a download request from the user terminal, a source package, among the source packages stored in the repository, that is selected by the user terminal is transmitted to the user terminal.

Description

사용자 정의 ERP 펑션 공유 방법 및 시스템Custom ERP function sharing method and system
본 발명은 사용자 정의 ERP 펑션 공유 방법 및 시스템에 관한 것이다. 보다 상세하게는 기업 등 ERP 소프트웨어를 사용하는 사용자가 직접 개발한 자신의 업무 프로세스에 적합한 사용자 정의 ERP 펑션을 용이하게 타인과 공유할 수 있도록 하는 방법 및 시스템에 관한 것이다.The present invention relates to a user-defined ERP function sharing method and system. More specifically, the present invention relates to a method and a system that enables a user, such as an enterprise, to easily share a custom ERP function suitable for his or her own business process with others.
전사적 자원 관리(Enterprise Resource Planning)은 기업의 경영 및 관리에 관한 업무를 위한 컴퓨터 시스템 또는 이러한 시스템에 설치되는 패키지 소프트웨어로서, ERP를 취급하는 대표적인 회사는 SAP, 오라클 등이 있으며, 국내에는 대표적으로 더존을 들 수 있다. 한편 기업이 ERP 서비스를 제공받기 위해서는 기업 내의 사용자 단말에 ERP 소프트웨어가 설치되어야 할 뿐만 아니라 해당 기업의 각종 정보가 저장되는 데이터베이스가 구축되어야 한다.Enterprise Resource Planning is a computer system for enterprise management and management or packaged software installed in such systems. Representative companies dealing with ERP are SAP, Oracle, etc. Can be mentioned. Meanwhile, in order for an enterprise to be provided with an ERP service, not only ERP software should be installed in a user terminal in the enterprise, but also a database for storing various information of the corresponding enterprise must be established.
기업은 ERP 시스템을 통해 회계, 인사, 급여, 영업, 무역, 구매, 자재, 생산, 외주, 서비스, 경영정보 등을 효율적으로 관리할 수 있다. 또한 기업은 ERP 시스템을 도입함으로써 관리 부서간의 정보시스템이 다를 때 일어나는 비효율성을 줄이고 원활한 회사의 자원 관리를 이끌어 냄으로써 생산성을 극대화할 수 있게 된다. 또한 ERP는 기업의 다양한 정보를 체계적으로 파악하고 관리할 수 있다는 장점을 제공할 수 있다.The ERP system enables companies to efficiently manage accounting, personnel, payroll, sales, trade, purchasing, materials, production, outsourcing, services, and management information. In addition, companies can maximize productivity by introducing ERP system and reducing inefficiency caused by different information systems between management departments. In addition, ERP can provide the advantage of systematically identifying and managing a variety of corporate information.
각 기업은 저마다 고유한 비즈니스 프로세스를 가지고 있으며, 서로 다른 기업 경영 전략을 가지고 있으므로 ERP 소프트웨어는 일반적인 패키지 소프트웨어와 달리 적용될 기업의 특성이나 비즈니스 프로세스, 워크 플로우에 적합하도록 커스터마이징 될 필요가 있다. 종래에는 여러 기업에 맞춤형 ERP 시스템을 구축하기 위해서는 각각의 기업 별로, 해당 기업의 요구사항이나 비즈니스 프로세스 등을 분석하고, 이를 토대로 해당 기업에 적용될 맞춤형 ERP 소프트웨어를 개발해야 했으므로 각 기업에 적합하도록 커스터마이징된 ERP 시스템을 구축하기 위해서는 많은 시간과 비용이 요구되었다. 또한 높은 비용으로 인해 규모가 크지 않은 기업은 ERP 시스템을 도입하기가 대단히 어려운 실정이다.Each company has its own business processes and different corporate management strategies, so the ERP software needs to be customized to suit the characteristics, business processes, and workflows of the enterprise, unlike typical packaged software. In the past, in order to build a customized ERP system for several companies, each company had to analyze the requirements and business processes of each company and develop customized ERP software to be applied to the company. It took a lot of time and money to build an ERP system. In addition, due to the high cost, it is very difficult for a small company to adopt an ERP system.
본 발명이 해결하고자 하는 기술적 과제는 데이터베이스 모델링, 상기 데이터베이스를 조작하기 위한 SQL 퀴리 및 UI를 통합적으로 개발할 수 있도록 하는 통합 개발 환경을 제공하고, 이를 통해 기업에 적합하게 커스터마이징된 ERP 개별 펑션을 용이하게 생성할 수 있도록 하고, 이를 통해 사용자가 직접 개발한 ERP 펑션을 용이하게 타인과 공유할 수 있도록 하는 방법 및 시스템을 제공하는 것이다.The technical problem to be solved by the present invention is to provide an integrated development environment that enables the integrated development of database modeling, SQL query and UI for manipulating the database, through which ERP individual functions can be easily customized for the enterprise It is intended to provide a method and system that allows users to easily create and share their own ERP functions with others.
본 발명의 일 측면에 따르면, 사용자 정의 ERP(Enterprise Resource Planning) 펑션(function) 공유 방법으로서, 사용자 정의 ERP 펑션 공유 시스템이, 복수의 공유자 단말로부터 적어도 하나의 SQL 파일 및 디자인 파일을 포함하며 소정의 ERP 사용자 정의 펑션에 상응하는 소스 패키지를 수신하는 단계-상기 SQL 파일은, 데이터베이스를 조작하기 위한 SQL(Structured Query Language) 쿼리를 저장하는 파일이며, 상기 디자인 파일은 상기 사용자 정의 ERP 펑션의 화면을 구성하는 적어도 하나의 컨트롤의 속성에 관한 정보를 저장하는 파일이며, 상기 사용자 정의 ERP 펑션의 화면을 구성하는 컨트롤 중 적어도 일부는 상기 적어도 하나의 SQL 파일에 포함된 특정 쿼리에 매핑되는 컨트롤임-, 상기 사용자 정의 ERP 펑션 공유 시스템이, 상기 복수의 공유자 단말로부터 수신되는 소스 패키지를 소정의 저장소에 저장하는 단계, 상기 사용자 정의 ERP 펑션 공유 시스템이, 사용자 단말로 상기 저장소에 저장된 소스 패키지의 리스트를 제공하는 단계 및 상기 사용자 단말의 다운로드 요청에 응답하여, 상기 저장소에 저장된 소스 패키지 중 상기 사용자 단말에서 선택한 대상 소스 패키지를 상기 사용자 단말로 전송하는 단계를 포함하는 사용자 정의 ERP 펑션 공유 방법이 제공된다.According to an aspect of the present invention, a user-defined enterprise resource planning (ERP) function (method) sharing method, the user-defined ERP function sharing system, including at least one SQL file and a design file from a plurality of sharer terminal, Receiving a source package corresponding to an ERP user-defined function-The SQL file is a file that stores a structured query language (SQL) query for manipulating a database, the design file constitutes the screen of the user-defined ERP function A file storing information on at least one property of at least one control, wherein at least some of the controls constituting the screen of the user-defined ERP function are controls mapped to a specific query included in the at least one SQL file; A source EW function received by the user-defined ERP function sharing system from the plurality of sharer terminals. Storing the information in a predetermined storage; providing, by the user-defined ERP function sharing system, a list of source packages stored in the storage to a user terminal; and in response to a download request of the user terminal, source packages stored in the storage. The user-defined ERP function sharing method comprising the step of transmitting the target source package selected by the user terminal to the user terminal is provided.
일 실시예에서, 상기 사용자 정의 ERP 펑션 공유 시스템이, 상기 복수의 공유자 단말로부터 수신되는 소스 패키지를 소정의 저장소에 저장하는 단계는, 상기 소스 패키지에 상응하는 사용자 정의 ERP 펑션이 미리 정의된 복수의 카테고리 중 어디에 속하는지를 판단하는 단계 및 상기 상기 소스 패키지를 그에 상응하는 사용자 정의 ERP 펑션이 속하는 카테로리로 분류하여 상기 저장소에 저장하는 단계를 포함할 수 있다.In an embodiment, the storing of the source packages received from the plurality of sharer terminals in a predetermined storage by the user defined ERP function sharing system may include a plurality of predefined user defined ERP functions corresponding to the source package. The method may include determining which of the categories belong to the category, and classifying the source package into a category to which the user-defined ERP function belongs, and storing the source package in the storage.
일 실시예에서, 상기 소스 패키지에 상응하는 사용자 정의 ERP 펑션이 미리 정의된 복수의 카테고리 중 어디에 속하는지를 판단하는 단계는, 상기 소스 패키지에 포함된 적어도 하나의 SQL 파일 또는 상기 소스 패키지에 포함된 디자인 파일을 분석하는 단계 및 분석 결과에 기초하여 상기 소스 패키지에 상응하는 사용자 정의 ERP 펑션이 상기 복수의 카테고리 중 어디에 속하는지를 판단하는 단계를 포함할 수 있다.In an embodiment, the determining of a user-defined ERP function corresponding to the source package belongs to one of a plurality of predefined categories may include at least one SQL file included in the source package or a design included in the source package. The method may include analyzing a file and determining which of the plurality of categories a user-defined ERP function corresponding to the source package belongs to based on the analysis result.
일 실시예에서, 상기 사용자 단말은, 소스 패키지 업로드 방법 및 소스 패키지 다운로드 방법을 수행하되, 상기 소스 패키지 업로드 방법은, 상기 사용자 단말에 저장된 적어도 하나의 소스 패키지의 리스트 중 적어도 일부 항목을 선택하는 기능을 제공하는 소스 패키지 업로드 UI를 제공하는 단계 및 상기 소스 패키지 업로드 UI를 통해 선택된 항목에 상응하는 소스 패키지를 상기 사용자 정의 ERP 펑션 공유 시스템으로 전송하는 단계를 포함하고, 상기 소스 패키지 다운로드 방법은, 상기 사용자 정의 ERP 펑션 공유 시스템으로부터 상기 저장소에 저장된 소스 패키지의 리스트를 수신하는 단계, 수신된 소스 패키지 리스트 중 적어도 일부 항목을 선택하는 기능을 제공하는 소스 패키지 다운로드 UI를 제공하는 단계 및 상기 소스 패키지 다운로드 UI를 통해 선택된 항목에 상응하는 소스 패키지를 상기 사용자 정의 ERP 펑션 공유 시스템으로부터 수신하는 단계를 포함할 수 있다.In an embodiment, the user terminal performs a source package upload method and a source package download method, wherein the source package upload method includes selecting at least some items from a list of at least one source package stored in the user terminal. Providing a source package upload UI for providing and transmitting a source package corresponding to the selected item through the source package upload UI to the user-defined ERP function sharing system, The source package download method, the Receiving a list of source packages stored in the repository from a user-defined ERP function sharing system, providing a source package download UI providing a function of selecting at least some items from the received source package list, and the source package download UI Through It may include receiving a source package corresponding to the selected item from the user-defined function shared ERP system.
일 실시예에서, 상기 사용자 단말은, 상기 사용자 정의 ERP 펑션 공유 시스템으로부터 상기 대상 소스 패키지를 수신한 다음, 상기 대상 소스 패키지에 상응하는 사용자 정의 ERP 펑션 생성 방법을 수행하고, 상기 대상 소스 패키지에 상응하는 사용자 정의 ERP 펑션 생성 방법은, ERD 파일에 상응하는 UI오브젝트, 상기 대상 소스 패키지에 포함된 적어도 하나의 SQL 파일 각각에 상응하는 UI 오브젝트 및 상기 대상 소스 패키지에 포함된 디자인 파일에 상응하는 UI 오브젝트를 포함하는 컨테이너 UI를 제공하는 단계-여기서, 상기 ERD 파일은, 데이터베이스에 저장된 테이블의 속성 및 각 테이블 간의 관계를 모델링한 정보를 저장하는 파일임-, 상기 ERD 파일에 상응하는 UI 오브젝트가 선택되는 경우, 상기 ERD 파일을 편집하기 위한 ERD 파일 편집 기능을 제공하는 단계, 상기 적어도 하나의 SQL 파일 중 어느 하나에 상응하는 UI 오브젝트가 선택되는 경우, 선택된 UI 오브젝트에 상응하는 SQL 파일을 편집하기 위한 SQL 파일 편집 기능을 제공하는 단계, 상기 디자인 파일에 상응하는 UI 오브젝트가 선택되는 경우, 상기 디자인 파일을 편집하기 위한 디자인 파일 편집 기능을 제공하는 단계 및 상기 적어도 하나의 SQL 파일 및 상기 디자인 파일에 기초하여 상기 사용자 정의 ERP 펑션을 제공하는 단계를 포함하는 사용자 정의 ERP 펑션 공유 방법을 수행할 수 있다..In one embodiment, the user terminal, after receiving the target source package from the user-defined ERP function sharing system, performs a user-defined ERP function generation method corresponding to the target source package, and corresponds to the target source package The user-defined ERP function generation method may include a UI object corresponding to an ERD file, a UI object corresponding to each of at least one SQL file included in the target source package, and a UI object corresponding to a design file included in the target source package. Providing a container UI comprising a; wherein the ERD file is a file for storing information modeling the attributes of the table and the relationship between each table stored in a database, the UI object corresponding to the ERD file is selected In this case, an ERD file editing function for editing the ERD file is provided. If a UI object corresponding to any one of the at least one SQL file is selected, providing a SQL file editing function for editing the SQL file corresponding to the selected UI object, UI object corresponding to the design file Is selected, providing a design file editing function for editing the design file and providing the user-defined ERP function based on the at least one SQL file and the design file. Can share method.
본 발명의 다른 일 측면에 따르면, 데이터 처리장치에 설치되며 상술한 방법을 수행하기 위하여 기록매체에 저장된 컴퓨터 프로그램이 제공된다.According to another aspect of the present invention, there is provided a computer program installed in a data processing apparatus and stored in a recording medium for performing the above-described method.
본 발명의 다른 일 측면에 따르면, 적어도 하나의 프로세서, 상기 프로세서에 의하여 실행되는 컴퓨터 프로그램을 저장하는 메모리를 포함하는 사용자 정의 ERP 펑션 공유 시스템으로서, 상기 컴퓨터 프로그램은, 상기 프로세서에 의해 실행되는 경우 상기 사용자 정의 ERP 펑션 공유 시스템이 상술한 사용자 정의 ERP 펑션 공유 방법을 수행하도록 하는 사용자 정의 ERP 펑션 공유 시스템이 제공된다.According to another aspect of the present invention, a user-defined ERP function sharing system comprising at least one processor, a memory for storing a computer program executed by the processor, wherein the computer program, when executed by the processor A user-defined ERP function sharing system is provided which allows a user-defined ERP function sharing system to perform the above-described user-defined ERP function sharing method.
본 발명의 일 실시예에 따르면, 데이터베이스 모델링, 상기 데이터베이스를 조작하기 위한 SQL 퀴리 및 UI를 통합적으로 개발할 수 있도록 하는 통합 개발 환경을 제공하고, 이를 통해 기업에 적합하게 커스터마이징된 ERP 개별 펑션을 생성할 수 있도록 하는 방법 및 시스템을 제공할 수 있다.According to an embodiment of the present invention, an integrated development environment for integrating database modeling, SQL query and UI for manipulating the database can be provided, and through this, an ERP individual function customized for an enterprise can be created. A method and system can be provided.
또한 사용자가 직접 개발한 ERP 펑션을 용이하게 타인과 공유할 수 있도록 하는 방법 및 시스템을 제공할 수 있다.In addition, it can provide a method and system that allows users to easily share their own ERP functions with others.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.BRIEF DESCRIPTION OF THE DRAWINGS In order to better understand the drawings cited in the detailed description of the invention, a brief description of each drawing is provided.
도 1a는 본 발명의 일 실시예에 따른 사용자 정의 ERP 펑션 생성 방법의 동작 환경을 나타내는 도면이다. 1A is a diagram illustrating an operating environment of a method for generating a user-defined ERP function according to an embodiment of the present invention.
도 1b는 본 발명의 일 실시예에 따른 사용자 단말의 구성을 개략적으로 나타낸 블록도이다.1B is a block diagram schematically illustrating a configuration of a user terminal according to an embodiment of the present invention.
도 2는 본 발명의 일 실시예에 따른 사용자 단말이 사용자 정의 ERP 펑션을 생성하는 과정을 간략하게 도시한 도면이다.2 is a diagram briefly illustrating a process of generating a user-defined ERP function by the user terminal according to an embodiment of the present invention.
도 3은 본 발명의 일 실시예에 따른 사용자 단말이 제공하는 통합 개발 환경의 UI의 일 예를 도시한 도면이다.3 is a diagram illustrating an example of a UI of an integrated development environment provided by a user terminal according to an embodiment of the present invention.
도 4는 프로젝트 윈도우의 일 예를 도시한 도면이다.4 is a diagram illustrating an example of a project window.
도 5는 데이터베이스 탐색 윈도우의 일 예를 도시한 도면이다.5 is a diagram illustrating an example of a database search window.
도 6은 본 발명의 일 실시예에 따른 생성 시스템이 ERD 파일 편집 기능을 수행하는 과정을 개략적으로 도시한 흐름도이다.6 is a flowchart schematically illustrating a process of performing an ERD file editing function by a generation system according to an embodiment of the present invention.
도 7은 ERD 파일 편집 UI의 일 예를 도시한 도면이다.7 is a diagram illustrating an example of an ERD file editing UI.
도 8은 본 발명의 일 실시예에 따른 사용자 단말이 SQL 파일 편집 기능을 수행하는 과정을 개략적으로 도시한 흐름도이다.8 is a flowchart schematically illustrating a process of performing an SQL file editing function by a user terminal according to an embodiment of the present invention.
도 9는 SQL 파일 편집 UI의 일 예를 도시한 도면이다.9 is a diagram illustrating an example of an SQL file editing UI.
도 10은 본 발명의 일 실시예에 따른 사용자 단말이 디자인 파일 편집 기능을 수행하는 과정을 개략적으로 도시한 흐름도이다.10 is a flowchart schematically illustrating a process of performing a design file editing function by a user terminal according to an exemplary embodiment of the present invention.
도 11은 디자인 파일 편집 UI의 일 예를 도시한 도면이다.11 is a diagram illustrating an example of a design file editing UI.
도 12는 도구상자 윈도우의 일 예를 도시한 도면이다.12 is a diagram illustrating an example of a toolbox window.
도 13은 속성 윈도우의 일 예를 도시한 도면이다.13 is a diagram illustrating an example of an attribute window.
도 14는 스크립트 윈도우의 일 예를 도시한 도면이다.14 is a diagram illustrating an example of a script window.
도 15a 내지 도 15e는 SQL 매핑 UI의 일 예를 도시한 도면이다.15A to 15E illustrate an example of the SQL mapping UI.
도 16은 SQL과 컨트롤간의 매핑 과정을 개략적으로 나타내는 흐름도이다.16 is a flowchart schematically illustrating a mapping process between SQL and a control.
도 17은 본 발명의 일 실시예에 따른 사용자 정의 ERP 펑션 공유 시스템과 사용자 단말에 의해 사용자 정의 ERP 펑션이 공유되는 과정의 일 예를 도시한 도면이다.17 is a diagram illustrating an example of a process in which a user-defined ERP function is shared by a user-defined ERP function sharing system and a user terminal according to an embodiment of the present invention.
도 18은 소스 패키지 업로드 UI의 일 예를 도시한 도면이다.18 is a diagram illustrating an example of a source package upload UI.
도 19는 소스 패키지 다운로드 UI의 일 예를 도시한 도면이다.19 is a diagram illustrating an example of a source package download UI.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.As the invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all transformations, equivalents, and substitutes included in the spirit and scope of the present invention. In the following description of the present invention, if it is determined that the detailed description of the related known technology may obscure the gist of the present invention, the detailed description thereof will be omitted.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.Terms such as first and second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise.
본 명세서에 있어서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In this specification, terms such as "comprise" or "have" are intended to indicate that there is a feature, number, step, action, component, part, or combination thereof described in the specification, one or more other It is to be understood that the present invention does not exclude the possibility of the presence or the addition of features, numbers, steps, operations, components, parts, or a combination thereof.
또한, 본 명세서에 있어서는 어느 하나의 구성요소가 다른 구성요소로 데이터를 '전송'하는 경우에는 상기 구성요소는 상기 다른 구성요소로 직접 상기 데이터를 전송할 수도 있고, 적어도 하나의 또 다른 구성요소를 통하여 상기 데이터를 상기 다른 구성요소로 전송할 수도 있는 것을 의미한다. 반대로 어느 하나의 구성요소가 다른 구성요소로 데이터를 '직접 전송'하는 경우에는 상기 구성요소에서 다른 구성요소를 통하지 않고 상기 다른 구성요소로 상기 데이터가 전송되는 것을 의미한다.In addition, in the present specification, when one component 'transmits' data to another component, the component may directly transmit the data to the other component, or through at least one other component. Means that the data may be transmitted to the other component. On the contrary, when one component 'directly transmits' data to another component, it means that the data is transmitted from the component to the other component without passing through the other component.
이하, 첨부된 도면들을 참조하여 본 발명의 실시예들을 중심으로 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings. Like reference numerals in the drawings denote like elements.
도 1a는 본 발명의 일 실시예에 따른 사용자 정의 ERP 펑션 생성 방법의 동작 환경을 나타내는 도면이다. 도1a를 참조하면 복수의 사용자 단말(100-1 내지 100-N) 및 사용자 정의 ERP 펑션 공유 시스템(200; 이하, '공유 시스템'이라고 함)은 유/무선 네트워크를 통해 연결되어 본 발명의 일 실시예에 따른 사용자 정의 ERP 펑션 생성 방법을 수행할 수 있다. 상기 복수의 사용자 단말(100-1 내지 100-N)은 상기 공유 시스템(200)을 통하여 ERP 사용자 정의 펑션에 상응하는 소스 패키지를 공유할 수 있다.1A is a diagram illustrating an operating environment of a method for generating a user-defined ERP function according to an embodiment of the present invention. Referring to FIG. 1A, a plurality of user terminals 100-1 to 100 -N and a user-defined ERP function sharing system 200 (hereinafter, referred to as a 'sharing system') are connected through a wired / wireless network to thereby provide an embodiment of the invention. A method of generating a user-defined ERP function according to an embodiment may be performed. The plurality of user terminals 100-1 to 100 -N may share a source package corresponding to an ERP user-defined function through the sharing system 200.
예를 들어 각각의 사용자 단말(100-1 내지 100-N)은 사용자 정의 ERP 펑션에 상응하는 소스 패키지를 생성할 수 있으며 이를 타인과 공유하기 위하여 상기 공유 시스템(200)으로 업로드할 수 있다. 이하에서는 소스 패키지를 업로드하는 사용자 단말을 공유자 단말이라고 칭하기로 한다.For example, each user terminal 100-1 to 100 -N may generate a source package corresponding to a user-defined ERP function, and upload it to the sharing system 200 to share it with others. Hereinafter, a user terminal uploading a source package will be referred to as a sharer terminal.
업로드된 소스 패키지는 소정의 저장소(210)에 저장될 수 있다. 상기 저장소(210)는 상기 공유 시스템(200)으로 업로드되는 소스 패키지를 저장하는 장치일 수 있다. 상기 저장소(210)는 데이터베이스 혹은 메모리 장치일 수 있다. 상기 저장소(210)는 상기 공유 시스템(200)에 포함되는 요소일 수도 있으나 이에 한정되는 것은 아니며, 도 1a에 도시된 바와 같이 상기 공유 시스템(200)과 분리된 물리적 장치일 수 있다.The uploaded source package may be stored in a given repository 210. The storage 210 may be a device for storing a source package uploaded to the sharing system 200. The storage 210 may be a database or a memory device. The storage 210 may be an element included in the sharing system 200, but is not limited thereto. As illustrated in FIG. 1A, the storage 210 may be a physical device separate from the sharing system 200.
한편, 각각의 사용자 단말(100-1 내지 100-N)는 상기 공유 시스템(200)의 저장소(210)에 저장된 복수의 소스 패키지 중 일부를 다운로드할 수 있다.Meanwhile, each of the user terminals 100-1 to 100 -N may download some of a plurality of source packages stored in the storage 210 of the sharing system 200.
상기 사용자 단말(100)은 휴대전화, 위성전화, 무선전화, SIP(Session Initiation Protocol), WLL(Wireless Local Loop) 스테이션, 스마트폰, 타블렛 PC, PDA(Personal Digital Assistant) 등의 핸드헬드 장치, 데스크 탑이나 랩탑을 포함할 수 있다.The user terminal 100 may be a handheld device such as a mobile phone, a satellite phone, a wireless phone, a Session Initiation Protocol (SIP), a Wireless Local Loop (WLL) station, a smartphone, a tablet PC, a personal digital assistant (PDA), or a desk. It can include a tower or laptop.
상기 공유 시스템(200)은 본 발명의 기술적 사상을 구현하기 위해 필요한 하드웨어 리소스(resource) 및/또는 소프트웨어를 구비할 수 있으며, 반드시 하나의 물리적인 구성요소를 의미하거나 하나의 장치를 의미하는 것은 아니다. 즉, 상기 공유 시스템(200)은 본 발명의 기술적 사상을 구현하기 위해 구비되는 하드웨어 및/또는 소프트웨어의 논리적인 결합을 의미할 수 있으며, 필요한 경우에는 서로 이격된 장치에 설치되어 각각의 기능을 수행함으로써 본 발명의 기술적 사상을 구현하기 위한 논리적인 구성들의 집합으로 구현될 수도 있다. 또한, 상기 공유 시스템(200)은 본 발명의 기술적 사상을 구현하기 위한 각각의 기능 또는 역할별로 별도로 구현되는 구성들의 집합을 의미할 수도 있다.The sharing system 200 may include hardware resources and / or software necessary to implement the technical idea of the present invention, and does not necessarily mean one physical component or one device. . That is, the sharing system 200 may mean a logical combination of hardware and / or software provided to implement the technical idea of the present invention. If necessary, the sharing system 200 may be installed in devices spaced apart from each other to perform respective functions. As a result, it may be implemented as a set of logical configurations for implementing the technical idea of the present invention. In addition, the sharing system 200 may refer to a set of components separately implemented for each function or role for implementing the technical idea of the present invention.
상기 공유 시스템(200)은 다수의 모듈의 형태로 구현될 수 있다. 예를 들면, 상기 공유 시스템(200)은 네트워크를 통해 각종 사용자 단말(100-1 내지 100-N)과 통신할 수 있는 적어도 하나의 통신 모듈이나 상기 공유 시스템(200)의 주요 기능을 수행하고 상기 공유 시스템(200)에 포함된 다른 구성요소의 기능 및/또는 리소스를 제어하고 할 수 있는 제어모듈, 각종 정보를 저장할 수 있는 저장모듈, 사용자와 인터페이싱할 수 있는 입출력모듈 등을 포함할 수 있다. 상기 공유 시스템(200)에 포함된 각종 모듈은 서로 다른 물리적 장치에 위치할 수도 있고, 동일한 물리적 장치에 위치할 수도 있다. The sharing system 200 may be implemented in the form of a plurality of modules. For example, the sharing system 200 performs at least one communication module capable of communicating with various user terminals 100-1 through 100 -N or a main function of the sharing system 200 through a network, and It may include a control module capable of controlling and functioning the functions and / or resources of other components included in the sharing system 200, a storage module for storing various information, an input / output module for interfacing with a user, and the like. Various modules included in the sharing system 200 may be located in different physical devices or may be located in the same physical device.
본 명세서에서 모듈이라 함은, 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예컨대, 상기 모듈은 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나, 한 종류의 하드웨어를 의미하는 것은 아님은 본 발명의 기술분야의 평균적 전문가에게는 용이하게 추론될 수 있다.In the present specification, the module may mean a functional and structural combination of hardware for performing the technical idea of the present invention and software for driving the hardware. For example, the module may mean a logical unit of a predetermined code and a hardware resource for performing the predetermined code, and means a physically connected code or does not necessarily mean one kind of hardware. It can be easily inferred by the average expert in the art.
도 1b는 본 발명의 일 실시예에 따른 사용자 단말(100)의 구성을 개략적으로 나타낸 블록도이다.도 1b를 참조하면, 상기 사용자 단말(100)은 사용자 정의 ERP 펑션 생성 모듈(110; 이하, '생성 모듈'이라고 함), 상기 사용자 정의 ERP 펑션 구동 모듈(120; 이하, '구동 모듈'이라고 함) 및 사용자 정의 ERP 펑션 공유 모듈(140; 이하, '공유 모듈'이라고 함)을 포함할 수 있다.1B is a block diagram schematically illustrating a configuration of a user terminal 100 according to an exemplary embodiment of the present invention. Referring to FIG. 1B, the user terminal 100 may include a user-defined ERP function generation module 110. A 'generation module'), the user-defined ERP function driving module 120 (hereinafter referred to as a 'drive module'), and a user-defined ERP function sharing module 140 (hereinafter referred to as a 'shared module'). have.
경우에 따라서는 상기 사용자 단말(100)은 본 발명의 기술적 사상을 구현하기 위해 필요한 각종 데이터, 기업의 각종 정보를 저장하는 DB(130)을 더 포함할 수도 있다.In some cases, the user terminal 100 may further include a DB 130 for storing various data necessary for implementing the technical idea of the present invention and various information of the company.
도 1b에서는 DB(130)가 상기 사용자 단말(100)에 포함되는 형태의 예를 도시하고 있으나, 다른 실시예에서는 이와 달리, DB(130)가 상기 사용자 단말(100)과 물리적으로 분리된 별도의 시스템의 형태로 구현될 수도 있다. 이 경우 상기 사용자 단말(100)과 DB(130)는 네트워크를 통해 연결되어 각종 데이터나 정보를 송수신할 수 있다. 또한 구현 예에 따라 상기 사용자 단말(100)는 상기 사용자 단말(100)에 포함되거나 네트워크를 통해 연결되는 복수의 DB와 연동되어 동작할 수도 있다.FIG. 1B illustrates an example in which the DB 130 is included in the user terminal 100, but in another embodiment, the DB 130 is physically separated from the user terminal 100. It may be implemented in the form of a system. In this case, the user terminal 100 and the DB 130 may be connected through a network to transmit and receive various data or information. In addition, according to an implementation example, the user terminal 100 may operate in conjunction with a plurality of DBs included in the user terminal 100 or connected through a network.
본 명세서에서 DB(DataBase)라 함은, 적어도 하나의 테이블로 구현될 수도 있으며, 상기 DB에 저장된 정보를 검색, 저장, 및 관리하기 위한 별도의 DBMS(Database Management System)을 더 포함하는 의미로 사용될 수도 있다. 또한, 링크드 리스트(linked-list), 트리(Tree), 관계형 DB의 형태 등 다양한 방식으로 구현될 수 있으며, 상기 DB(130)에 저장될 정보를 저장할 수 있는 모든 데이터 저장매체 및 데이터 구조를 포함하는 의미로 사용될 수 있다.In the present specification, DB (DataBase) may be implemented as at least one table, and used as a meaning including a separate DBMS (Database Management System) for searching, storing, and managing information stored in the DB. It may be. In addition, it may be implemented in various ways such as a linked-list, a tree, a relational DB, and includes all data storage media and data structures capable of storing information to be stored in the DB 130. It can be used to mean.
상기 생성 모듈(110)은 사용자 정의 ERP 펑션을 생성하거나 기 생성된 사용자 정의 ERP 펑션을 편집하는 기능을 수행할 수 있다. 상기 구동 모듈(120)은 상기 생성 모듈(110)에 의해 생성된 사용자 정의 ERP 펑션을 구동하여 사용자에게 상기 사용자 정의 ERP 펑션을 제공할 수 있다. 상기 공유모듈(140)은 상기 생성모듈(110)에 의해 생성된 사용자 정의 ERP 펑션을 상기 공유 시스템(200)으로 업로드 하여 타인에게 공유할 수 있으며, 타인에 의해 공유된 사용자 정의 ERP 펑션을 상기 공유 시스템(200)으로부터 다운로드할 수 있다.The generation module 110 may perform a function of generating a user-defined ERP function or editing a previously generated user-defined ERP function. The driving module 120 may drive the user-defined ERP function generated by the generation module 110 to provide the user-defined ERP function. The sharing module 140 may upload the user-defined ERP function generated by the generation module 110 to the sharing system 200 and share it to others, and share the user-defined ERP function shared by others. Download from system 200.
상기 생성 모듈(110), 구동 모듈(120) 및 상기 공유모듈(140) 은 각각 독립된 물리적 장치의 형태로 구현될 수 있다. 또는 구현 예에 따라 상기 모듈(110, 120, 140)은 하나의 물리적 장치로 구현될 수도 있다. 후자의 경우, 세 모듈(110, 120, 140)은 각각 논리적으로 구분된 별도의 소프트웨어로 구성될 수 있으며, 하나의 통합된 소프트웨어의 형태로 구현될 수도 있다.The generation module 110, the driving module 120, and the sharing module 140 may be implemented in the form of independent physical devices. Alternatively, the modules 110, 120, and 140 may be implemented as one physical device. In the latter case, the three modules 110, 120, and 140 may each be configured as separate software that is logically divided, or may be implemented in the form of one integrated software.
이하에서는 이해의 편의를 위하여 본 발명의 기술적 사상에 따른 사용자 정의 ERP 펑션의 생성 기능은 상기 생성 모듈(110)에 의해 수행되고, 생성된 사용자 정의 ERP 펑션을 구동하는 기능은 상기 구동 모듈(110)에 의해 수행되고, 사용자 정의 ERP 펑션 공유 기능은 상기 공유 모듈(140)에 의해 수행되는 것으로 설명하지만, 구현 예에 따라서는 도 1b과 는 달리, 상기 사용자 단말(100)은 본 발명의 기술적 사상에 따른 사용자 정의 ERP 펑션 생성 기능, 생성된 사용자 정의 ERP 펑션 구동 기능, 및 사용자 정의 ERP 펑션 공유 기능을 복합적으로 수행하는 하나의 시스템으로 구현될 수도 있다.Hereinafter, for the convenience of understanding, a function of generating a user-defined ERP function according to the spirit of the present invention is performed by the generation module 110, and the function of driving the generated user-defined ERP function is the driving module 110. Although it is described that the user-defined ERP function sharing function is performed by the sharing module 140, according to the implementation example, unlike in Figure 1b, the user terminal 100 is in accordance with the spirit of the present invention. The user-defined ERP function generation function, the generated user-defined ERP function driving function, and the user-defined ERP function may be implemented as one system that performs a combination of the user-defined ERP function sharing function.
사용자 정의 ERP 펑션은 ERP 시스템에 통합될 수 있으며, 그 자체로 독자적인 의미를 가지는 단위 기능일 수 있다. 사용자 정의 ERP 펑션은 DB(130)에 저장된 기업 정보를 관리, 조작, 이용, 분석하는 기능을 수행할 수 있다. 사용자가 이러한 기능을 수행할 수 있도록 커스터마이징된 UI(User Interface)를 제공할 수 있다. 즉 사용자는 사용자 정의 ERP 펑션이 제공하는 UI를 통해 DB(130)에 저장된 기업 정보를 관리, 조작, 이용, 분석할 수 있다.User-defined ERP functions can be integrated into an ERP system and can be unit functions with their own meaning. The user-defined ERP function may perform a function of managing, manipulating, using, and analyzing enterprise information stored in the DB 130. A customized user interface (UI) can be provided for the user to perform these functions. That is, the user may manage, manipulate, use, and analyze enterprise information stored in the DB 130 through a UI provided by a user-defined ERP function.
사용자 정의 ERP 펑션의 예로 전표입력, 장부관리, 계정증감관리, 채권연령분석/관리, 결산관리, 제무제표, 자금/예산관리, 예산대비사용분석, 고정자산관리, 부가세신고관리, 금융계좌관리 등), 인사관리, 근태관리, 급여관리, 사회보험관리, 연말정산관리, 퇴직정산관리, 세무신고관리, 소득별전표처리, 일용직관리, 국내판매계획수립/관리, 견적/주문처리, 의뢰/검사관리, 출고/반품처리, 매출공헌도분석, 납품/배송관리, 임시출고/위탁관리, 매출정산, 전자세금계산서처리, 수금/채권관리, 채권연령분석, 수출계획수립/관리, 오더관리, 출고처리, 매출정산, 선적관리, 품의/발주처리, 선적/입고관리, 수입비용처리, 미착정산처리, 수입원가배부, MPS, 소요자재산출, 청구품의/발주, 입고의뢰/검사, 임시입고관리, 매입정산/회계, 지급/채무관리, 재고관리(LOT), 생산계획수립/관리, 자체생산관리, 혼함공정관리, 부산물/해체관리, 임가공생산관리, 투입지시관리, 외주생산관리, 서비스접수/처리, 서비스채권관리, 재무/손익분석, 손익/이익분석, 주요자금분석, 물류/생선요약분석, 특성별매출분석, 계절/분기별생산실적분석, 특성별근태분석, 급여/상여시뮬레이션, 계약관리, 현장관리, 도급/기성관리, 작업일보, 전도금/미지급관리, 노무장비관리, 마감정산관리, 노무신고관리, 외주기성관리, 원가손익관리 등을 들 수 있으나, 이 외에도 다양한 기능이 있을 수 있음은 물론이다.Examples of user-defined ERP functions include document entry, book management, account increase management, bond age analysis / management, settlement of accounts, financial statements, fund / budget management, budget / use analysis, fixed asset management, tax return management, financial account management, etc. , Personnel management, attendance management, payroll management, social insurance management, year-end settlement management, retirement settlement management, tax return management, income-specific slip processing, daily work management, domestic sales plan establishment / management, quotation / order processing, request / inspection management , Issue / return processing, sales contribution analysis, delivery / delivery management, temporary issue / consignment management, sales settlement, electronic tax invoice processing, collection / debt management, bond age analysis, export plan establishment / management, order management, issue processing, Sales Settlement, Shipment Management, Goods / Order Processing, Shipment / Receipt Management, Import Cost Processing, Non-Settlement Processing, Import Cost Allocation, MPS, Required Materials Calculation, Invoice / Order, Goods Receipt / Inspection, Temporary Goods Receipt Management, Purchase Settlement / Accounting, Payment / Debt Management, Inventory Management (LOT) , Production plan establishment / management, in-house production management, mixed process management, by-product / dismantle management, forestry production management, input order management, outsourcing production management, service reception / processing, service bond management, financial / profit analysis, profit / loss analysis , Major Fund Analysis, Logistics / Fish Summary Analysis, Sales Analysis by Characteristics, Seasonal / Quarterly Production Performance Analysis, T & A Analysis by Characteristics, Salary / Bonus Simulation, Contract Management, Field Management, Contract / Ready Management, Work Daily, Concession / Non-payment management, labor equipment management, deadline settlement management, labor report management, external periodicity management, cost income management, etc., but there are various functions as well.
도 1b에 도시된 바와 같이, 상기 사용자 단말(100)은 상기 공유 시스템(200)과 네트워크를 통해 연결되어 본 발명의 기술적 사상을 구현하는데 필요한 각종 정보, 데이터, 신호 및/또는 메시지를 송수신할 수 있다.As shown in FIG. 1B, the user terminal 100 may be connected to the sharing system 200 through a network to transmit and receive various information, data, signals, and / or messages necessary to implement the technical idea of the present invention. have.
상기 사용자 단말(100)은 사용자 정의 ERP 펑션 생성 기능을 통해 생성된 결과물을 상기 공유 시스템(200)으로 전송할 수 있으며, 상기 공유 시스템(200)은 다른 사용자들이 원하는 경우 이를 제공(전송)할 수 있다. 즉, 상기 공유 시스템(200)은 각각의 사용자들이 업로드한 사용자 정의 ERP 펑션을 다른 사용자와 공유할 수 있도록 하는 역할을 수행할 수 있다.The user terminal 100 may transmit a result generated through a user-defined ERP function generation function to the sharing system 200, and the sharing system 200 may provide (transmit) it if desired by other users. . That is, the sharing system 200 may play a role of allowing each user to share a user-defined uploaded ERP function with other users.
상기 ERP 펑션 생성 기능을 통해 생성되는 결과물은 ERP 파일, 적어도 하나의 SQL 파일, 디자인 파일을 포함할 수 있으며, 실시예에 따라서는 리포트 파일을 더 포함할 수도 있다.The result generated by the ERP function generation function may include an ERP file, at least one SQL file, and a design file. In some embodiments, the result file may further include a report file.
상기 ERD 파일은, DB(130)에 저장되는 테이블의 속성 및 각 테이블 간의 관계를 모델링한 정보를 저장하는 파일일 수 있다.The ERD file may be a file that stores information modeling the attributes of the tables stored in the DB 130 and the relationships between the tables.
ERD(Entity Relationship Diagram)란 가장 데이터 모델링을 하는 기법이며, 이 기법은 간단한 도형(사각형, 타원형, 다이아몬드 형 등)을 사용해 데이터의 구조와 관계에 대해 표현하며 데이터 개체 간의 관계 및 속성을 도형화하는 도구로서 가장 보편적으로 사용된다. 사용자는 ERD를 이용하여 데이터베이스의 관계를 도식으로 표현함으로써 이를 시각적으로 쉽게 이해할 수 있다. ERD의 구성요소로는 개체(Entity), 관계(Relationship), 속성(Attribute)이 있다. 개체는 데이터베이스에 저장할 정보의 주체 혹은 대상으로 분리된 물체 하나를 표현하는 것이다. 데이터베이스 모델링에서는 데이터베이스에 저장된 하나의 테이블이 하나의 개체일 수 있다. 관계는 두 개 이상의 개체들이 어떻게 서로 연관되어 있는지 나타낸다. 속성은 개체 또는 관계에 대한 특성을 기술하는 데이터 항목이며, 각 개체를 유일하게 식별할 수 있는 속성을 키 속성이라 한다.An entity relationship diagram (ERD) is the most data-modeling technique that uses simple shapes (squares, ellipses, diamonds, etc.) to describe the structure and relationships of data, and to form relationships and properties between data entities. Most commonly used as a tool. Users can visually understand this easily by using ERD to graphically represent the relationship of the database. Components of an ERD include an entity, a relationship, and an attribute. An entity represents an object that is separated into the subject or object of information to be stored in the database. In database modeling, one table stored in the database may be an object. A relationship represents how two or more entities are related to each other. Attributes are data items that describe the characteristics of an entity or relationship. Attributes that uniquely identify each entity are called key attributes.
상기 SQL 파일은, 상기 DB(130)를 조작하기 위한 SQL(Structured Query Language) 퀴리를 저장하는 파일일 수 있다. 각각의 SQL 파일은 1 이상의 SQL 쿼리를 저장할 수 있다.The SQL file may be a file that stores a structured query language (SQL) query for manipulating the DB 130. Each SQL file can store one or more SQL queries.
SQL은 데이터베이스 관리 시스템(DBMS)의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어로서, 데이터베이스에 저장된 자료의 검색과 관리, 데이터베이스 스키마 생성과 수정, 데이터베이스 객체 접근 조정 관리 등을 하기 위한 쿼리를 작성하는데 이용될 수 있다. SQL 명령어는 각 기능에 따라 데이터조작(DML), 데이터정의(DDL), 데이터제어(DCL) 3가지로 분류될 수 있다. 데이터 조작(DML)은 데이터베이스에 있는 데이터를 변형하거나 검색하기 위하여 사용되는 명령어로 INSERT(데이터 추가), UPDATE(데이터 업데이트), DELETE(데이터 삭제), SELECT(데이터 검색) 등이 있다. 데이터 정의(DDL)는 데이터를 담고 있는 테이블 등의 구조를 변형하기 위하여 사용되는 명령어로CREATE(테이블 등 생성), DROP(테이블 등 제거), ALTER(테이블 등 구조 변경) 등이 있다. 데이터 제어(DCL)는 데이터베이스에 접근할 수 있는 권한을 부여하거나 철회하는 명령어로GRANT(사용자권한 부여), REVOKE(사용자권한 취소) 등이 있다.SQL is a special-purpose programming language designed to manage data in a database management system (DBMS). It is used to write queries to retrieve and manage data stored in a database, create and modify database schemas, and manage database object access coordination. Can be used. SQL commands can be classified into three categories: data manipulation (DML), data definition (DDL), and data control (DCL). Data manipulation (DML) is a command used to modify or retrieve data in a database, such as INSERT (add data), UPDATE (update data), DELETE (delete data), and SELECT (data search). Data definition (DDL) is a command used to modify the structure of a table or the like that contains data, such as CREATE (create a table, etc.), DROP (remove a table, etc.), ALTER (change a table, etc.). Data control (DCL) is a command that grants or revokes access to the database. It includes GRANT and REVOKE.
상기 디자인 파일은 사용자 정의 ERP 펑션의 화면을 구성하는 적어도 하나의 컨트롤의 속성에 관한 정보를 저장하는 파일일 수 있다. 여기서 컨트롤은 정보를 표시하거나 사용자로부터 정보를 입력을 받는 등 사용자와의 인터렉션을 수행할 수 있는 UI 오브젝트일 수 있다.The design file may be a file that stores information about attributes of at least one control constituting the screen of the user-defined ERP function. Here, the control may be a UI object that can perform interaction with the user such as displaying information or receiving information from the user.
한편, 상기 사용자 정의 ERP 펑션의 화면을 구성하는 컨트롤 중 적어도 일부는 상기 적어도 하나의 SQL 파일에 포함된 특정 쿼리에 매핑되는 컨트롤일 수 있으며, 이하에서는 이러한 컨트롤을 그리드 컨트롤이라고 칭하기로 한다.Meanwhile, at least some of the controls constituting the screen of the user-defined ERP function may be controls mapped to a specific query included in the at least one SQL file, which will be referred to as a grid control hereinafter.
상기 리포트 파일은 리포트 전자문서를 구성하는 복수의 컨트롤의 속성에 관한 정보 및 각 컨트롤에 바인딩된 데이터에 관한 정보를 포함할 수 있다.The report file may include information about properties of a plurality of controls constituting a report electronic document and information about data bound to each control.
도 2는 본 발명의 일 실시예에 따른 생성 모듈(110)이 사용자 정의 ERP 펑션을 생성하는 과정을 간략하게 도시한 도면이다.2 is a diagram briefly illustrating a process of generating a user-defined ERP function by the generation module 110 according to an embodiment of the present invention.
도 2를 참조하면, 상기 생성 모듈(110)은 ERD 파일에 상응하는 UI 오브젝트, 적어도 하나의 SQL 파일 각각에 상응하는 UI 오브젝트 및 디자인 파일에 상응하는 UI 오브젝트를 포함하는 컨테이너 UI를 제공할 수 있으며(S110), 사용자는 컨테이너 UI에 포함된 UI 오브젝트 중 어느 하나를 선택할 수 있다(S120).Referring to FIG. 2, the generation module 110 may provide a container UI including a UI object corresponding to an ERD file, a UI object corresponding to each of at least one SQL file, and a UI object corresponding to a design file. In operation S110, the user may select any one of the UI objects included in the container UI in operation S120.
상기 ERD 파일에 상응하는 UI 오브젝트가 선택되는 경우, 상기 생성 모듈(110)은 상기 ERD 파일을 편집하기 위한 ERD 파일 편집 기능을 제공할 수 있다(S130).When a UI object corresponding to the ERD file is selected, the generation module 110 may provide an ERD file editing function for editing the ERD file (S130).
상기 SQL 파일에 상응하는 UI 오브젝트가 선택되는 경우, 상기 생성 모듈(110)은 상기 SQL 파일을 편집하기 위한 SQL 파일 편집 기능을 제공할 수 있다(S140).When a UI object corresponding to the SQL file is selected, the generation module 110 may provide an SQL file editing function for editing the SQL file (S140).
상기 디자인 파일에 상응하는 UI 오브젝트가 선택되는 경우, 상기 생성 모듈(110)은 상기 디자인 파일을 편집하기 위한 ERD 파일 편집 기능을 제공할 수 있다(S150).When a UI object corresponding to the design file is selected, the generation module 110 may provide an ERD file editing function for editing the design file (S150).
한편, 상기 생성 모듈(110)은 사용자가 사용자 지정 ERP 펑션을 생성하고 커스터마이징할 수 있도록 통합 개발 환경을 제공할 수 있다. 제공된 통합 개발 환경을 이용하여 사용자는 사용자 지정 ERP 펑션을 구동하는데 필요한 ERD 파일, SQL 파일, 디자인 파일, 리포트 파일을 생성하거나 편집할 수 있다.On the other hand, the generation module 110 may provide an integrated development environment for the user to create and customize a user-defined ERP function. Using the provided integrated development environment, users can create or edit ERD files, SQL files, design files, and report files required to run custom ERP functions.
사용자는 상기 생성 모듈(110)을 통하여 복수의 사용자 지정 ERP 펑션을 생성할 수 있다, 이때 복수의 사용자 지정 ERP 펑션은 각각 그에 상응하는 하나의 프로젝트로 관리될 수 있다. 각각의 프로젝트는 적어도 하나의 SQL 파일 및 디자인 파일을 포함하는 패키지 혹은 컨테이너일 수 있다.A user may generate a plurality of user-specified ERP functions through the generation module 110, in which case the plurality of user-specified ERP functions may be managed as a single project corresponding thereto. Each project can be a package or container that contains at least one SQL file and a design file.
복수의 프로젝트가 존재하는 경우에도 ERD 파일은 1개일 수 있다. 이 경우 상기 복수의 프로젝트에 의해 생성되는 복수의 사용자 지정 ERP 펑션은 1개의 공통된 ERD 파일을 이용할 수 있다.Even if multiple projects exist, there may be one ERD file. In this case, a plurality of user-specified ERP functions generated by the plurality of projects may use one common ERD file.
이하에서는 사용자가 통합 개발환경을 통해 사용자 지정 ERP 펑션을 생성/편집하는 방법에 관하여 보다 상세하게 설명하기로 한다.Hereinafter, a method of creating / editing a custom ERP function through the integrated development environment will be described in detail.
도 3은 상기 생성 모듈(110)이 제공하는 통합 개발 환경의 UI의 일 예를 도시한 도면이다.3 is a diagram illustrating an example of a UI of an integrated development environment provided by the generation module 110.
도 3을 참조하면, 상기 통합 개발 환경 UI(1000)는 메뉴(1100), 프로젝트 윈도우(1200), 데이터베이스 탐색 윈도우(1300), 편집기 윈도우(1400), 도구상자 윈도우(1500), 속성 윈도우(1600), 스크립트 윈도우(1700)을 포함할 수 있다.Referring to FIG. 3, the integrated development environment UI 1000 includes a menu 1100, a project window 1200, a database search window 1300, an editor window 1400, a toolbox window 1500, and a property window 1600. ), May include a script window 1700.
메뉴(1100)는 복수의 아이콘을 포함할 수 있으며, 각각의 아이콘은 새 프로젝트 생성, 파일 열기, 파일 저장, 복사, 붙이기를 비롯한 사용자가 자주 사용하는 기능을 실행하기 위한 UI 오브젝트일 수 있다.The menu 1100 may include a plurality of icons, and each icon may be a UI object for executing a function frequently used by a user, including creating a new project, opening a file, saving a file, copying, and pasting.
상기 프로젝트 윈도우(1200)는 ERD 파일에 상응하는 UI 오브젝트(예를 들면, 아이콘), 적어도 하나의 SQL 파일 각각에 상응하는 UI 오브젝트 및 디자인 파일에 상응하는 UI 오브젝트를 포함하는 컨테이너 UI일 수 있다.The project window 1200 may be a container UI including a UI object (eg, an icon) corresponding to an ERD file, a UI object corresponding to each of at least one SQL file, and a UI object corresponding to a design file.
도 4는 프로젝트 윈도우(1200)의 일 예를 도시한 도면이다.4 is a diagram illustrating an example of the project window 1200.
도 4에 도시된 바와 같이, 상기 프로젝트 윈도우(1200)에는 ERD 파일에 상응하는 UI 오브젝트(1211)가 표시될 수 있으며, 사용자에 의해 상기 ERD 파일에 상응하는 UI 오브젝트(1211)가 선택되는 경우(예를 들면, 해당 UI 오브젝트가 클릭, 더블클릭, 터치되는 경우 등) 상기 생성 모듈(110)은 상기 ERD 파일을 편집하기 위한 ERD 파일 편집 기능을 제공할 수 있다. 상기 생성 모듈(110)은 ERD 파일 편집 기능을 제공하기 위하여 상기 편집기 윈도우(1400)에 ERD 파일을 편집하기 위한 UI를 디스플레이할 수 있으며 사용자는 편집기 윈도우(1400)에 표시된 UI 상에서 ERD 파일을 편집할 수 있다.As shown in FIG. 4, in the project window 1200, a UI object 1211 corresponding to an ERD file may be displayed, and when a UI object 1211 corresponding to the ERD file is selected by a user ( For example, when a corresponding UI object is clicked, double-clicked, or touched), the generation module 110 may provide an ERD file editing function for editing the ERD file. The generation module 110 may display a UI for editing an ERD file in the editor window 1400 to provide an ERD file editing function, and the user may edit the ERD file on the UI displayed in the editor window 1400. Can be.
상기 ERD 파일에 상응하는 UI 오브젝트(1211)는 ERD 컨테이너 UI 오브젝트(1210)의 하위레벨로 표시될 수 있다. 사용자는 ERD 컨테이너 UI 오브젝트(1210)와 소정의 방식으로 상호작용하여 새로운 ERD 파일을 생성할 수 있으며, 새로 생성된 ERD 파일에 상응하는 UI 오브젝트는 ERD 컨테이너 UI 오브젝트(1210)의 하위레벨로 추가될 수 있다. 이때 새로 생성된 ERD 파일은 아무런 정보도 포함하지 않는 빈(blank) 파일일 수 있다.The UI object 1211 corresponding to the ERD file may be displayed at a lower level of the ERD container UI object 1210. The user may interact with the ERD container UI object 1210 in a predetermined manner to generate a new ERD file, and the UI object corresponding to the newly created ERD file may be added as a lower level of the ERD container UI object 1210. Can be. In this case, the newly generated ERD file may be a blank file including no information.
상기 프로젝트 윈도우(1200)에는 적어도 하나의 프로젝트 각각에 상응하는 UI 오브젝트(1201, 1202, 1203)가 표시될 수 있으며, 각각의 프로젝트는 서로 다른 사용자 정의 ERP 펑션에 대응될 수 있다.In the project window 1200, UI objects 1201, 1202, and 1203 corresponding to each of at least one project may be displayed, and each project may correspond to a different user-defined ERP function.
상술한 바와 같이 각 프로젝트는 적어도 하나의 SQL 파일 및 디자인 파일, 적어도 하나의 리포트 파일을 포함하는 컨테이너일 수 있으며, 상기 프로젝트 윈도우(1200)에는 각각의 프로젝트(예를 들면, 1202)에 속하는 적어도 하나의 SQL 파일 각각에 상응하는 UI 오브젝트(1221, 1222), 적어도 하나의 리포트 파일 각각에 상응하는 UI 오브젝트(1231), 디자인 파일에 상응하는 UI 오브젝트(1241)가 표시될 수 있다.As described above, each project may be a container including at least one SQL file, a design file, and at least one report file, and the project window 1200 may include at least one belonging to each project (eg, 1202). UI objects 1221 and 1222 corresponding to each of the SQL files of the UI object, UI objects 1231 corresponding to each of the at least one report file, and the UI objects 1241 corresponding to the design file may be displayed.
적어도 하나의 SQL 파일 각각에 상응하는 UI 오브젝트(1221, 1222)는 SQL 컨테이너 UI 오브젝트(1220)의 하위레벨로 표시될 수 있다. 사용자는 SQL 컨테이너 UI 오브젝트(1220)와 소정의 방식으로 상호작용하여 새로운 SQL 파일을 생성할 수 있으며, 새로 생성된 SQL 파일에 상응하는 UI 오브젝트는 SQL 컨테이너 UI 오브젝트(1220)의 하위레벨로 추가될 수 있다. 이때 새로 생성된 SQL 파일은 아무런 정보도 포함하지 않는 빈 파일일 수 있다.The UI objects 1221 and 1222 corresponding to each of the at least one SQL file may be displayed at a lower level of the SQL container UI object 1220. The user can interact with the SQL container UI object 1220 in some way to generate a new SQL file, and the UI object corresponding to the newly created SQL file is added to the lower level of the SQL container UI object 1220. Can be. In this case, the newly created SQL file may be an empty file including no information.
적어도 하나의 리포트 파일 각각에 상응하는 UI 오브젝트(1231)는 리포트 컨테이너 UI 오브젝트(1230)의 하위레벨로 표시될 수 있다. 사용자는 리포트 컨테이너 UI 오브젝트(1230)와 소정의 방식으로 상호작용하여 새로운 리포트 파일을 생성할 수 있으며, 새로 생성된 리포트 파일에 상응하는 UI 오브젝트는 리포트 컨테이너 UI 오브젝트(1230)의 하위레벨로 추가될 수 있다. 이때 새로 생성된 리포트 파일은 아무런 정보도 포함하지 않는 빈 파일일 수 있다.The UI object 1231 corresponding to each of the at least one report file may be displayed at a lower level of the report container UI object 1230. The user may interact with the report container UI object 1230 in a predetermined manner to generate a new report file, and the UI object corresponding to the newly generated report file may be added as a lower level of the report container UI object 1230. Can be. In this case, the newly generated report file may be an empty file including no information.
한편, 사용자에 의해 상기 적어도 하나의 SQL 파일 중 어느 하나에 상응하는 UI 오브젝트(예를 들면, 1221)가 선택되는 경우, 상기 생성 모듈(110)은 선택된 UI 오브젝트(1221)에 상응하는 SQL 파일을 편집하기 위한 SQL 파일 편집 기능을 제공할 수 있다. 상기 생성 모듈(110)은 SQL 파일 편집 기능을 제공하기 위하여 상기 편집기 윈도우(1400)에 SQL 파일을 편집하기 위한 UI를 디스플레이할 수 있으며 사용자는 편집기 윈도우(1400)에 표시된 UI 상에서 SQL 파일을 편집할 수 있다.Meanwhile, when a UI object (eg, 1221) corresponding to any one of the at least one SQL file is selected by the user, the generation module 110 may generate an SQL file corresponding to the selected UI object 1221. SQL file editing function can be provided for editing. The generation module 110 may display a UI for editing an SQL file in the editor window 1400 to provide an SQL file editing function, and the user may edit the SQL file on the UI displayed in the editor window 1400. Can be.
또한 사용자에 의해 상기 적어도 하나의 리포트 파일 중 어느 하나(예를 들어 1231)에 상응하는 UI 오브젝트가 선택되는 경우, 상기 생성 모듈(110)은 리포트 전자문서를 편집하기 위한 리포트 편집 UI를 제공할 수 있다. 상기 생성 모듈(110)은 리포트 파일 편집 기능을 제공하기 위하여 상기 편집기 윈도우(1400)에 리포트 파일을 편집하기 위한 UI를 디스플레이할 수 있으며 사용자는 편집기 윈도우(1400)에 표시된 UI 상에서 리포트 파일을 편집할 수 있다.In addition, when a UI object corresponding to any one of the at least one report file (for example, 1231) is selected by the user, the generation module 110 may provide a report editing UI for editing a report electronic document. have. The generation module 110 may display a UI for editing a report file in the editor window 1400 to provide a report file editing function, and the user may edit a report file on the UI displayed in the editor window 1400. Can be.
또한 사용자에 의해 디자인 파일에 상응하는 UI 오브젝트가(1241)가 선택되는 경우, 상기 생성 모듈(110)은 상기 디자인 파일을 편집하기 위한 디자인 파일 편집 기능을 제공할 수 있다. 상기 생성 모듈(110)은 디자인 파일 편집 기능을 제공하기 위하여 상기 편집기 윈도우(1400)에 디자인 파일을 편집하기 위한 UI를 디스플레이할 수 있으며 사용자는 편집기 윈도우(1400)에 표시된 UI 상에서 디자인 파일을 편집할 수 있다.Also, when a UI object 1241 corresponding to a design file is selected by a user, the generation module 110 may provide a design file editing function for editing the design file. The generation module 110 may display a UI for editing the design file in the editor window 1400 to provide a design file editing function, and the user may edit the design file on the UI displayed in the editor window 1400. Can be.
한편, 사용자는 특정 프로젝트에 상응하는 UI 오브젝트(예를 들면, 1202)와 소정의 방식으로 상호작용하여 새로운 디자인 파일을 생성할 수 있으며, 새로 생성된 디자인 파일에 상응하는 UI 오브젝트는 상기 프로젝트에 상응하는 UI 오브젝트(1202)의 하위레벨로 추가될 수 있다. 이때 새로 생성된 디자인 파일은 아무런 정보도 포함하지 않는 빈 파일일 수 있다.Meanwhile, a user may generate a new design file by interacting with a UI object (eg, 1202) corresponding to a specific project in a predetermined manner, and the UI object corresponding to the newly created design file corresponds to the project. It can be added as a lower level of the UI object 1202. In this case, the newly created design file may be an empty file including no information.
위에서는 상기 생성 모듈(110)이 통합 개발 환경 UI(1000)에 포함된 편집기 윈도우(1400)상에 각각의 파일 편집 기능을 제공하는 예에 관하여 설명하였으나, 실시예에 따라서 상기 생성 모듈(110)은 각각의 파일 편집 기능에 상응하는 별도의 애플리케이션을 실행할 수 있으며, 이 경우 사용자는 실행된 애플리케이션 상에서 각각의 파일을 편집할 수도 있다.In the above, an example in which the generation module 110 provides each file editing function on the editor window 1400 included in the integrated development environment UI 1000 has been described, but according to an embodiment, the generation module 110 May execute a separate application corresponding to each file editing function, in which case the user may edit each file on the executed application.
도 5는 데이터베이스 탐색 윈도우(1300)의 일 예를 도시한 도면이다.5 is a diagram illustrating an example of a database search window 1300.
도 5에 도시된 바와같이, 데이터베이스 탐색 윈도우(1300)에는 상기 사용자 단말(100) 또는 상기 생성 모듈(110)과 연결된 DB(130)에 상응하는 UI 오브젝트(1310, 1320)를 포함할 수 있다.As shown in FIG. 5, the database search window 1300 may include UI objects 1310 and 1320 corresponding to the DB 130 connected to the user terminal 100 or the generation module 110.
상기 UI 오브젝트(예를 들어, 1310)는 하위레벨로 적어도 하나의 스키마를 나타내는 UI 오브젝트(1311 내지 1313)를 가질 수 있다. 스키마는 데이터베이스에서 자료의 구조, 자료의 표현 방법, 자료 간의 관계를 형식 언어로 정의한 구조 또는 하나의 네임스페이스로서, 테이블, 저장 프로시저 등 개체들을 포함하는 컨테이너를 의미할 수 있다. 따라서 특정 스키마를 나타내는 UI 오브젝트의 하위레벨에 해당 스키마에 포함된 테이블이나 저장 프로시저 등 각 개체에 대응되는 UI 오브젝트를 가질 수 있다.The UI object (eg, 1310) may have UI objects 1311 to 1313 representing at least one schema at a lower level. A schema is a structure that defines the structure of data in a database, how data is represented, and the relationship between data in a formal language, or as a namespace, and may mean a container including objects such as a table and a stored procedure. Therefore, a lower level of the UI object representing a specific schema may have UI objects corresponding to each object such as a table or a stored procedure included in the schema.
테이블은 각 데이터들을 저장하는 항목인 필드들로 구성된 데이터의 집합체를 의미하며, 하나의 데이터베이스는 여러 개의 테이블로 구성될 수 있다. 저장 프로시저 또는 스토어드 프로시저(stored procedure)는 일련의 쿼리를 마치 하나의 함수처럼 실행하기 위한 쿼리의 집합이며, 데이터베이스에 대한 일련의 작업을 정리한 절차를 데이터베이스 관리 시스템에 저장한 것으로, 영구저장모듈(Persistent Storage Module)이라고도 불린다.A table refers to a collection of data composed of fields, which are items for storing respective data, and one database may be composed of several tables. A stored procedure or stored procedure is a set of queries for executing a series of queries as a function. A stored procedure is a stored procedure in the database management system that organizes a series of operations on a database. Also called a Persistent Storage Module.
편집기 윈도우(1400)에는 사용자가 선택한 파일의 종류에 따라 그에 상응하는 편집 UI가 표시될 수 있다.The editor window 1400 may display an editing UI corresponding to the file selected by the user.
도 6은 상기 생성 모듈(110)이 ERD 파일 편집 기능을 수행하는 과정을 개략적으로 도시한 흐름도이다.6 is a flowchart schematically illustrating a process of the generation module 110 performing an ERD file editing function.
도 6을 참조하면, 사용자가 ERD 파일에 상응하는 오브젝트를 선택한 경우, 상기 생성 모듈(110)은 ERD 파일 편집 UI를 제공할 수 있다(S131). 일 실시예에서, 상기 생성 모듈(110)은 상기 편집기 윈도우(1400)에 ERD 파일 편집 UI를 표시할 수 있다. 이때 상기 ERD 파일 편집 UI는 데이터베이스 테이블의 구조를 나타내는 테이블 구조 UI 오브젝트 및 테이블 간의 관계를 나타내는 관계 UI 오브젝트를 포함할 수 있다.Referring to FIG. 6, when a user selects an object corresponding to an ERD file, the generation module 110 may provide an ERD file editing UI (S131). In an embodiment, the generation module 110 may display an ERD file editing UI in the editor window 1400. In this case, the ERD file editing UI may include a table structure UI object representing a structure of a database table and a relationship UI object representing a relationship between a table.
이후 상기 생성 모듈(110)은 상기 ERD 파일 편집 UI 상에서 사용자의 입력에 따라 테이블 스키마 및 테이블 스키마간의 관계를 변경할 수 있으며(S132). 변경이 완료된 경우, 변경된 테이블 구조 및 테이블간의 관계를 상기 ERD 파일에 반영할 수 있다(S133)Thereafter, the generation module 110 may change a relationship between a table schema and a table schema according to a user input on the ERD file editing UI (S132). When the change is completed, the changed table structure and the relationship between the tables may be reflected in the ERD file (S133).
이하에서는 도 7을 참조하여, 도 6의 과정을 보다 상세히 설명한다.Hereinafter, the process of FIG. 6 will be described in more detail with reference to FIG. 7.
상기 생성 모듈(110)은 사용자가 선택한 ERD 파일 오브젝트에 상응하는 ERD 파일의 내용에 기초하여 상기 편집기 윈도우(1400)를 통해 ERD 파일 편집 UI(2000)를 제공할 수 있다.The generation module 110 may provide an ERD file editing UI 2000 through the editor window 1400 based on the contents of an ERD file corresponding to an ERD file object selected by a user.
도 7은 ERD 파일 편집 UI(2000)의 일 예를 도시한 도면이다.7 is a diagram illustrating an example of an ERD file editing UI 2000.
도 7에 도시된 바와 같이 ERD 파일 편집 UI(2000)는 신규 테이블 생성하기 위한 버튼, 신규 관계 생성 버튼, 변경된 사항을 DB(130)에 반영하기 위한 버튼을 포함하는 툴바UI(2100)를 포함할 수 있다. 또한 상기 ERD 파일 편집 UI(2000)는 데이터베이스 테이블의 구조를 나타내는 테이블 구조 UI 오브젝트(예를 들어, 2210, 2220, 2230)) 및 테이블 간의 관계를 나타내는 관계 UI 오브젝트(예를 들어, 2310, 2320)를 포함할 수 있다.As shown in FIG. 7, the ERD file editing UI 2000 may include a toolbar UI 2100 including a button for creating a new table, a button for creating a new relationship, and a button for reflecting changes to the DB 130. Can be. In addition, the ERD file editing UI 2000 may include a table structure UI object (eg, 2210, 2220, 2230) representing a structure of a database table, and a relationship UI object (eg, 2310, 2320) representing a relationship between a table. It may include.
테이블 구조 UI 오브젝트(2210, 2220, 2230)에는 테이블에 포함된 각각의 컬럼 정보가 표시될 수 있다. Each column information included in the table may be displayed on the table structure UI objects 2210, 2220, and 2230.
관계 UI 오브젝트(2310, 2320)는 두 개의 테이블 구조 UI 오브젝트(2100, 2110)를 연결하는 선의 형태일 수 있다. 관계 UI 오브젝트는 두 테이블 간의 관계가 식별관계 혹은 비식별관계인가에 따라 서로 다른 형태(예를 들면, 실선이나 점선)로 표현될 수 있다.The relationship UI objects 2310 and 2320 may be in the form of lines connecting two table structure UI objects 2100 and 2110. The relationship UI object may be expressed in different forms (for example, solid line or dotted line) depending on whether the relationship between two tables is an identification relationship or a non-identification relationship.
상기 생성 모듈(110)은 상기 ERD 파일 편집 UI 상에서 사용자의 입력에 따라 테이블 구조 및 테이블 구조간의 관계를 변경할 수 있다.The generation module 110 may change a relationship between a table structure and a table structure according to a user input on the ERD file editing UI.
사용자는 ERD 파일 편집 UI(2000) 상에 신규 테이블 UI 오브젝트를 생성할 수 있다.The user may create a new table UI object on the ERD file editing UI 2000.
사용자는 DB(130)에 기 생성되어 있는 테이블에 상응하는 UI 오브젝트를 생성할 수 있다. 이를 위하여 사용자는 상술한 데이터베이스 탐색 창(1300)에 표시된 특정 테이블에 상응하는 UI 오브젝트를 선택하거나, 상기 ERD 파일 편집 UI(2000) 상으로 드래그 앤 드랍하는 등의 명령을 입력할 수 있으며, 그에 대한 응답으로 상기 생성 모듈(110)은 상기 ERD 파일 편집 UI(2000)에 해당 테이블에 상응하는 신규 테이블 UI 오브젝트를 생성할 수 있다. 또는 사용자는 상기 ERD 파일 편집 UI(2000)가 제공하는 신규 테이블 생성UI를 선택하여 새로운 테이블에 상응하는 UI 오브젝트를 생성할 수도 있다.The user may create a UI object corresponding to a table previously created in the DB 130. To this end, a user may input a command such as selecting a UI object corresponding to a specific table displayed in the above-described database search window 1300 or dragging and dropping onto the ERD file editing UI 2000. In response, the generation module 110 may generate a new table UI object corresponding to the table in the ERD file editing UI 2000. Alternatively, the user may select a new table generation UI provided by the ERD file editing UI 2000 to generate a UI object corresponding to the new table.
한편, 사용자는 ERD 파일 편집 UI(2000) 상에 존재하는 테이블 UI 오브젝트를 삭제하거나 해당 테이블 UI 오브젝트를 통하여 테이블의 구조를 변경(예를 들어, 컬럼의 추가/삭제/변경 혹은 테이블의 속성 변경)할 수도 있다.On the other hand, the user deletes the table UI object existing on the ERD file editing UI 2000 or changes the structure of the table through the corresponding table UI object (for example, add / delete / change column or change attribute of the table). You may.
또한 사용자는 ERD 파일 편집 UI(2000) 상에 존재하는 테이블 UI 오브젝트간의 관계를 나타내는 새로운 관계 UI 오브젝트를 생성할 수 있다. 예를 들어 사용자는 상기 ERD 파일 편집 UI(2000)가 제공하는 신규 관계 생성을 위한 버튼을 선택한 후, 관계를 맺고자 하는 두 테이블을 선택함으로써 선택한 두 테이블간의 관계를 나타내는 새로운 관계 UI 오브젝트를 생성할 수 있다.In addition, the user may create a new relationship UI object indicating a relationship between table UI objects existing on the ERD file editing UI 2000. For example, the user selects a button for creating a new relationship provided by the ERD file editing UI 2000 and then selects two tables to form a relationship to generate a new relationship UI object representing a relationship between the two selected tables. Can be.
한편, 사용자는 ERD 파일 편집 UI(2000) 상에 존재하는 관계 UI 오브젝트를 삭제하거나, 관계 UI 오브젝트를 통하여 관계 정보를 변경할 수도 있다.Meanwhile, the user may delete the relationship UI object existing on the ERD file editing UI 2000 or change the relationship information through the relationship UI object.
한편 위와 같은 과정을 통해 데이터베이스 모델링이 변경 후, 예를 들어 사용자가 소정의 저장 버튼을 누른 경우, 상기 생성 모듈(110)은 변경된 테이블 스키마 및 테이블 스키마간의 관계를 상기 ERD 파일에 반영할 수 있다.On the other hand, after the database modeling is changed through the above process, for example, when the user presses a predetermined storage button, the generation module 110 may reflect the relationship between the changed table schema and the table schema in the ERD file.
또한 상기 생성 모듈(110) 변경된 테이블 스키마 및 테이블 스키마간의 관계 DB(130)에 반영하여 DB(130)의 테이블 구조를 변경하거나 새로운 테이블을 추가하거나 기존의 테이블을 삭제할 수 있다.In addition, the generation module 110 may change the table structure of the DB 130, add a new table, or delete an existing table by reflecting the relationship between the changed table schema and the table schema DB 130.
도 8은 상기 생성 모듈(110)이 SQL 파일 편집 기능을 수행하는 과정을 개략적으로 도시한 흐름도이다.8 is a flowchart schematically illustrating a process of the generation module 110 performing a SQL file editing function.
도 8을 참조하면, 사용자가 SQL 파일에 상응하는 오브젝트를 선택한 경우, 상기 생성 모듈(110)은 SQL 편집 UI를 제공할 수 있다(S141). 일 실시예에서, 상기 생성 모듈(110)은 상기 편집기 윈도우(1400)에 SQL 편집 UI를 표시할 수 있다.Referring to FIG. 8, when the user selects an object corresponding to an SQL file, the generation module 110 may provide an SQL editing UI (S141). In an embodiment, the generation module 110 may display an SQL editing UI in the editor window 1400.
이후 상기 생성 모듈(110)은 상기 SQL 편집 UI 상에서 사용자의 입력에 따라 SQL 쿼리를 변경할 수 있으며(S142). 변경이 완료된 경우, 변경된 쿼리를 상기 SQL 파일에 반영할 수 있다(S143).Thereafter, the generation module 110 may change the SQL query according to a user input on the SQL editing UI (S142). When the change is completed, the changed query may be reflected in the SQL file (S143).
*이하에서는 도 9를 참조하여, 도 8의 과정을 보다 상세히 설명한다.Hereinafter, the process of FIG. 8 will be described in more detail with reference to FIG. 9.
사용자가 SQL 파일에 상응하는 오브젝트를 선택한 경우, 상기 편집기 윈도우(1400)에는 SQL 파일 편집 UI(3000)가 표시될 수 있다. 즉, 상기 생성 모듈(110)은 상기 편집기 윈도우(1400)를 통해 사용자가 선택한 SQL 파일 오브젝트에 상응하는 SQL 파일의 내용이 표시된 SQL 파일 편집 UI(3000)를 제공할 수 있다.When the user selects an object corresponding to the SQL file, the SQL file editing UI 3000 may be displayed in the editor window 1400. That is, the generation module 110 may provide the SQL file editing UI 3000 displaying the contents of the SQL file corresponding to the SQL file object selected by the user through the editor window 1400.
도 9는 SQL 파일 편집 UI(3000)의 일 예를 도시한 도면이다.9 is a diagram illustrating an example of the SQL file editing UI 3000.
도 9에 도시된 바와 같이, 상기 SQL 파일 편집 UI(3000)는 연결할 DB를 선택하기 위한 UI, 해당 DB와 연결을 수행하기 위한 버튼, 연결을 해제하기 위한 버튼, 작성된 쿼리가 Insert 또는 Update인지를 선택하기 위한 UI를 포함하는 툴바UI(3100)를 포함할 수 있다.As shown in FIG. 9, the SQL file editing UI 3000 includes a UI for selecting a DB to be connected, a button for performing a connection with the DB, a button for releasing the connection, and whether the created query is Insert or Update. It may include a toolbar UI 3100 including a UI for selecting.
또한 상기 SQL 파일 편집 UI(3000)는 쿼리를 작성하기 위한 편집 UI(3200)를 포함할 수 있으며, 사용자는 편집 UI(3200) 상에서 SQL 쿼리를 작성하거나 편집할 수 있다. 사용자는 쿼리 작성 시 파라미터 변수명을 포함할 수 있다. 예를 들어 파라미터 변수명은 '@변수명'의 형태일 수 있다. 파라미터 변수명은 아래에서 설명할 펑션 화면 편집 UI상의 컨트롤과 쿼리를 연동하는데 이용될 수 있다. 그러기 위하여 디자인 파일에 포함된 컨트롤 중 적어도 일부는 상기 파라미터 변수명과 매핑될 수 있다. 한편, 추후 상기 SQL 쿼리가 실행될 경우, 상기 파라미터 변수명에 매핑된 컨트롤에 입력된 데이터는 상기 SQL 쿼리에 입력에 입력될 수 있다. 보다 정확하게는 상기 SQL 쿼리의 파라미터 변수명에 상기 파라미터 변수명에 매핑된 컨트롤에 입력된 데이터가 할당될 수 있다.In addition, the SQL file editing UI 3000 may include an editing UI 3200 for creating a query, and a user may create or edit an SQL query on the editing UI 3200. The user can include parameter variable names when creating queries. For example, the parameter variable name may be in the form of '@variable name'. The parameter variable name can be used to associate a query with a control on the function screen editing UI described below. To this end, at least some of the controls included in the design file may be mapped to the parameter variable names. Meanwhile, when the SQL query is executed later, data input to the control mapped to the parameter variable name may be input to the SQL query. More precisely, data input to a control mapped to the parameter variable name may be allocated to the parameter variable name of the SQL query.
상기 툴바UI(3200)는 작성된 쿼리를 실행하기 위한 버튼을 포함할 수 있으며, 상기 SQL 파일 편집UI(3000)은 그 실행 결과가 표시되는 결과 표시 UI(3300)를 포함할 수도 있다. 결과 표시 UI (3300)상에는 테이블의 구조 및 쿼리에 의해 조회되는 데이터가 표시될 수 있다.The toolbar UI 3200 may include a button for executing a created query, and the SQL file editing UI 3000 may include a result display UI 3300 on which an execution result is displayed. On the result display UI 3300, the structure of the table and the data inquired by the query may be displayed.
한편 위와 같은 과정을 통해 SQL 쿼리가 변경이 완료되면, 예를 들어 사용자가 소정의 저장 버튼을 누른 경우, 상기 생성 모듈(110)은 변경된 SQL 쿼리를 상기 SQL 파일에 반영할 수 있다.On the other hand, if the SQL query is changed through the above process, for example, when the user presses a predetermined save button, the generation module 110 may reflect the changed SQL query to the SQL file.
도 10은 상기 생성 모듈(110)이 디자인 파일 편집 기능을 수행하는 과정을 개략적으로 도시한 흐름도이다.10 is a flowchart schematically illustrating a process in which the generation module 110 performs a design file editing function.
도 10을 참조하면, 사용자가 디자인 파일에 상응하는 오브젝트를 선택한 경우, 상기 생성 모듈(110)은 펑션 화면 편집 UI를 제공할 수 있다(S151). 일 실시예에서, 상기 생성 모듈(110)은 상기 편집기 윈도우(1400)에 펑션 편집 UI를 표시할 수 있다.Referring to FIG. 10, when a user selects an object corresponding to a design file, the generation module 110 may provide a function screen editing UI (S151). In an embodiment, the generation module 110 may display a function editing UI in the editor window 1400.
이후 상기 생성 모듈(110)은 상기 펑션 화면 편집 UI 상에서 사용자의 입력에 따라 상기 사용자 정의 ERP 펑션의 화면을 구성하는 컨트롤 및 각 컨트롤의 속성을 변경할 수 있다(S152). Thereafter, the generation module 110 may change the control constituting the screen of the user-defined ERP function and the property of each control according to a user input on the function screen editing UI (S152).
이후 상기 생성 모듈(110)은 변경된 상기 사용자 정의 ERP 펑션의 화면을 구성하는 컨트롤, 변경된 각 컨트롤의 속성, 변경된 컨트롤과 쿼리간의 매핑 정보를 상기 디자인 파일에 반영할 수 있다(S153).Thereafter, the generation module 110 may reflect, in the design file, the control file constituting the changed screen of the user-defined ERP function, the properties of each changed control, and mapping information between the changed control and the query (S153).
이하에서는 도 11 내지 도 14를 참조하여, 도 10의 과정을 보다 상세히 설명한다.Hereinafter, the process of FIG. 10 will be described in more detail with reference to FIGS. 11 to 14.
사용자가 디자인 파일에 상응하는 오브젝트를 선택한 경우, 상기 편집기 윈도우(1400)에는 디자인 파일 편집 UI가 표시될 수 있다. 즉, 상기 생성 모듈(110)은 사용자가 선택한 디자인 파일 오브젝트에 상응하는 디자인 파일에 기초하여 상기 편집기 윈도우(1400)를 통해 디자인 파일 편집 UI를 제공할 수 있다.When the user selects an object corresponding to the design file, the design file editing UI may be displayed in the editor window 1400. That is, the generation module 110 may provide a design file editing UI through the editor window 1400 based on a design file corresponding to a design file object selected by the user.
도 11은 디자인 파일 편집 UI(4000)의 일 예를 도시한 도면이다.11 is a diagram illustrating an example of a design file editing UI 4000.
상기 디자인 파일 편집 UI(4000)에는 디자인 파일에 기 정의되어 있는 각종 컨트롤(예를 들어, 4010 내지 4040)이 표시될 수 있다.The design file editing UI 4000 may display various controls (for example, 4010 to 4040) previously defined in the design file.
사용자는 디자인 파일 편집 UI(4000)에 표시된 컨트롤을 삭제하거나 배치를 변경하거나 크기와 같은 외형적 요소를 변형할 수 있다.The user can delete the control displayed in the design file editing UI 4000, change the layout, or modify the external elements such as the size.
*또한 사용자는 디자인 파일 편집 UI(4000)에 새로운 컨트롤을 추가할 수도 있다. 이를 위하여 상기 생성 모듈(110)은 각종 컨트롤을 선택할 수 있는 도구 상자 윈도우(1500)을 제공할 수 있다. 도 12는 도구상자 윈도우(1500)의 일 예를 도시한 도면이다.The user may also add new controls to the design file editing UI 4000. To this end, the generation module 110 may provide a toolbox window 1500 for selecting various controls. 12 is a diagram illustrating an example of a toolbox window 1500.
도 12에 도시된 바와 같이, 도구상자 윈도우(1500)는 다양한 형태의 컨트롤을 포함할 수 있으며 사용자는 원하는 컨트롤을 선택하거나 디자인 파일 편집 UI(4000)로 드래그 앤 드랍하여 해당 컨트롤을 디자인 파일 편집 UI(4000)에 배치할 수 있다.As shown in FIG. 12, the toolbox window 1500 may include various types of controls, and the user may select a desired control or drag and drop it to the design file editing UI 4000 to drop the control into the design file editing UI. It can be placed at (4000).
한편, 상기 도구상자 윈도우(1500)에는 각종 컨트롤이 소정의 분류기준에 따라 특정한 카테고리로 분류되어 있을 수 있다. 예를 들어, 도 2f에 도시된 바와 같이 GUI에서 일반적으로 이용되는 공용 컨트롤(1510), ERP 분야에서 특수하게 사용되는 비즈니스 컨트롤(1520), 데이터 컨트롤(1530), 화면의 레이아웃을 구성하며 다른 컨트롤의 컨테이너 역할을 수행하는 레이아웃 컨트롤(1550), 팝업 컨트롤(1570) 등으로 구분될 수 있다.Meanwhile, various controls may be classified into specific categories in the toolbox window 1500 according to a predetermined classification criterion. For example, as shown in FIG. 2F, a common control 1510 commonly used in a GUI, a business control 1520 specially used in the ERP field, a data control 1530, and a layout of a screen are configured. The layout control 1550, a popup control 1570, etc., serving as a container may be classified.
특히 데이터 컨트롤 카테고리(1530)에 속하는 컨트롤(이하, '데이터 컨트롤'이라고 함)은 SQL 쿼리에 의해 조회되는 데이터를 표시하는 기능을 수행할 수 있다. 데이터 컨트롤은 SQL 쿼리에 의해 조회되는 데이터 표의 형식으로 표시하는 플렉스 그리드(Flex Grid), 피봇테이블 형식으로 표시하는 피봇 그리드(Pivot Grid), 차트의 형식으로 표시하는 차트 그리드(Chard Grid)가 있을 수 있다. 이 외에도 다양한 형태의 데이터 컨트롤이 있을 수 있다. 플렉스 그리드의 일 예로 도 11의 데이터 컨트롤(4040)을 들 수 있다.In particular, a control belonging to the data control category 1530 (hereinafter, referred to as a “data control”) may perform a function of displaying data retrieved by an SQL query. Data controls can include a Flex Grid that displays in the form of a data table queried by an SQL query, a Pivot Grid that displays in a PivotTable format, and a Chart Grid that displays in the form of a chart. have. In addition, there may be various types of data controls. An example of a flex grid is the data control 4040 of FIG. 11.
한편 사용자가 디자인 파일 편집 UI(4000)에 배치되어 있는 컨트롤을 소정의 방식으로 선택(예를 들어, 클릭)하는 경우 속성 윈도우(1600)에 선택된 컨트롤의 속성값이 표시될 수 있으며 사용자는 속성 윈도우(1600)에 나타난 컨트롤의 속성값을 변경할 수 있다. 도 13은 속성 윈도우(1600)의 일 예를 도시한 도면이다.Meanwhile, when the user selects (eg, clicks) a control disposed in the design file editing UI 4000 in a predetermined manner, the property value of the selected control may be displayed in the property window 1600, and the user may view the property window. You can change the property value of the control shown in (1600). 13 is a diagram illustrating an example of a property window 1600.
또한 사용자가 사용자가 디자인 파일 편집 UI(4000)에 배치되어 있는 컨트롤을 소정의 방식으로 선택(예를 들어, 더블 클릭)하는 경우 스크립트 윈도우(1700)에는 특정 이벤트가 발생시 수행되어야 할 액션을 나타내는 메소드 스크립트가 표시될 수 있으며, 사용자는 스크립트 윈도우(1700)에 나타난 메소드 스크립트를 작성/편집할 수 있다. 도 14는 스크립트 윈도우(1700)의 일 예를 도시한 도면이다.In addition, when the user selects (eg, double-clicks) a control disposed in the design file editing UI 4000 in a predetermined manner, the script window 1700 has a method indicating an action to be performed when a specific event occurs. The script can be displayed and the user can create / edit the method script shown in the script window 1700. 14 is a diagram illustrating an example of a script window 1700.
도 14에 도시된 바와 같이 스크립트 윈도우(1700)는 디자인 파일 편집 UI(4000)에 배치된 컨트롤 중 어느 하나를 선택하기 위한 UI(1710), 컨트롤에 발생할 수 있는 이벤트를 선택하기 위한 UI(1720), 선택된 컨트롤에 선택된 이벤트가 발생하는 경우에 실행될 메소드 스크립트를 작성하기 위한 UI(1730)를 포함할 수 있다.As shown in FIG. 14, the script window 1700 includes a UI 1710 for selecting any one of the controls disposed in the design file editing UI 4000, and a UI 1720 for selecting an event that may occur in the control. It may include a UI 1730 for writing a method script to be executed when the selected event occurs in the selected control.
한편 위와 같은 과정을 통해 상기 사용자 정의 ERP 펑션의 화면을 구성하는 컨트롤과 각 컨트롤의 속성, 및/또는 메소드 스크립트가 변경되면, 예를 들어 사용자가 소정의 저장 버튼을 누른 경우, 상기 생성 모듈(110)은 변경 사항을 상기 디자인 파일에 반영할 수 있다.Meanwhile, when the control constituting the screen of the user-defined ERP function, the properties of each control, and / or the method script are changed through the above process, for example, when the user presses a predetermined save button, the generation module 110 ) Can be reflected in the design file.
한편 상기 생성 모듈(110)은 사용자 정의 ERP 펑션의 화면에 표시되는 내용이 SQL 쿼리와 연계되도록 하는 매핑 과정을 수행할 수 있다. 즉, 상기 생성 모듈(110)은 상기 디자인 파일 편집 UI(4000)에 표시된 데이터 컨트롤 중 적어도 일부(예를 들어 4040)를 상기 적어도 하나의 SQL 파일에 포함된 특정 쿼리와 매핑하기 위한 SQL 매핑 UI를 제공하고, 상기 SQL 매핑 UI 상에서 사용자의 입력에 따라 상기 컨트롤 편집 UI에 표시된 컨트롤 중 적어도 일부를 상기 적어도 하나의 SQL 파일에 포함된 특정 쿼리와 매핑할 수 있다. 도 15a 내지 도 15e는 SQL 매핑 UI의 일 예를 도시한 도면이다.Meanwhile, the generation module 110 may perform a mapping process so that the content displayed on the screen of the user-defined ERP function is associated with the SQL query. That is, the generation module 110 may include a SQL mapping UI for mapping at least a portion (for example, 4040) of the data controls displayed in the design file editing UI 4000 to a specific query included in the at least one SQL file. The at least one control may be mapped to a specific query included in the at least one SQL file according to a user input on the SQL mapping UI. 15A to 15E illustrate an example of the SQL mapping UI.
도 15a는 현재의 SQL 매핑 상태를 나타내는 도면이다. 도 15a에 도시되어 있는 SQL 매핑 UI(5000)는 사용자 정의 ERP 펑션에 상응하는 적어도 하나의SQL 파일에 정의되어 있는 쿼리의 리스트를 표시하는 UI(5010)를 포함할 수 있다. 도 15a의 예에서는 SQL이라는 이름의 쿼리가 소정의 데이터 컨트롤과 매핑될 수 있다. 사용자는 SQL 매핑 UI(5000)를 통해 SQL 쿼리에 기재된 파라미터와 입력 컨트롤(사용자로부터 데이터를 입력받을 수 있는 컨트롤)을 매핑할 수 있으며, SQL 쿼리와 해당 쿼리에 의한 결과를 표시할 데이터 컨트롤을 매핑할 수 있다. 또한 사용자가 데이터 컨트롤에 표시된 값을 변경하거나 컬럼을 추가/삭제하는 경우에 수행할 별도의 쿼리를 설정할 수 있는데 이하에서는 이에 대하여 보다 상세하게 설명하기로 한다.15A is a diagram illustrating a current SQL mapping state. The SQL mapping UI 5000 illustrated in FIG. 15A may include a UI 5010 that displays a list of queries defined in at least one SQL file corresponding to a user-defined ERP function. In the example of FIG. 15A, a query named SQL may be mapped to a given data control. The user can map parameters and input controls (controls that can receive data from the user) described in the SQL query through the SQL mapping UI (5000), and map the SQL query and the data control to display the results of the query. can do. In addition, you can set up a separate query to be executed when the user changes the value displayed in the data control or adds / deletes a column, which will be described in detail below.
도 15a에서 SQL 쿼리의 '조회 설정'(5020)을 선택하는 경우 도 15b와 같은 UI(5100)가 디스플레이될 수 있다. 도 15b와 같은 UI (5100)상에서 사용자는 SQL문에 포함되어 있는 각각의 파라미터 변수명과 상기 디자인 파일 편집 UI(4000)에 포함된 특정 컨트롤(예를 들어, 4010 및/또는 4030)을 매핑할 수 있다. 파라미터 변수명과 매핑되는 컨트롤은 사용자로부터 데이터를 입력받는 기능을 수행하는 컨트롤(입력 컨트롤)일 수 있다. 도 15b에 도시된 바와 같이 상기 UI(5100)은 SQL문에 포함되어 있는 각각의 파라미터 변수명을 나열한 리스트(5110)를 포함할 수 있으며, 각각의 파라미터 변수명과 매핑될 컨트롤을 선택하기 위한 UI(예를 들면 5101 내지 5103)를 포함할 수 있다.In the case of selecting the 'query setting' 5020 of the SQL query in FIG. 15A, the UI 5100 as shown in FIG. 15B may be displayed. On the UI 5100 as shown in FIG. 15B, a user may map each parameter variable name included in an SQL statement and a specific control (eg, 4010 and / or 4030) included in the design file editing UI 4000. have. The control mapped to the parameter variable name may be a control (input control) that performs a function of receiving data from a user. As shown in FIG. 15B, the UI 5100 may include a list 5110 listing each parameter variable name included in an SQL statement. The UI 5100 may include a UI for selecting a control to be mapped to each parameter variable name. For example, 5101 to 5103).
도 15b의 예에서는 @multiModule이 bpComboBox1(4010)과 매핑되어 있으며, @keyword가 textBoxExt1(4030)과 매핑되어 있다. 상술한 바와 같이, 이처럼 SQL 쿼리 내의 파라미터 변수명과 상기 디자인 파일 편집 UI(4000)에 포함된 특정 컨트롤이 매핑되어 있는 경우, 후추 SQL 쿼리가 실행 시 상기 파라미터 변수명에 매핑된 컨트롤에 입력된 데이터가 상기 SQL 쿼리에 입력될 수 있다.In the example of FIG. 15B, @multiModule is mapped with bpComboBox1 4010, and @keyword is mapped with textBoxExt1 4030. As described above, when the parameter variable name in the SQL query and the specific control included in the design file editing UI 4000 are mapped, the data input to the control mapped to the parameter variable name is executed when the pepper SQL query is executed. It can be entered into the SQL query.
도 15a에서 '컨트롤 설정'(5030)을 선택하는 경우 도 15c와 같은 UI(5200)가 디스플레이될 수 있다. 상기 UI(5200)은 상기 디자인 파일 편집 UI(4000)에 표시되어 있는 데이터 컨트롤을 선택하기 위한 UI(5210)을 포함할 수 있다. 이를 통해 사용자는 SQL 쿼리와 매핑될 데이터 컨트롤(예를 들어 4040)을 선택할 수 있다. When selecting 'control setting' 5030 in FIG. 15A, the UI 5200 as shown in FIG. 15C may be displayed. The UI 5200 may include a UI 5210 for selecting a data control displayed on the design file editing UI 4000. This allows the user to select a data control (e.g. 4040) to be mapped with the SQL query.
또한 상기 UI(5200)은 SQL 쿼리를 통해 조회될 DB 테이블에 포함된 컬럼 중 사용/출력할 컬럼을 선택하거나 표시 순서를 조정하거나 각 필드의 표시 형식을 설정하는 등 커스터마이징을 수행하기 위한 UI(5220)을 더 포함할 수 있다.In addition, the UI 5200 may be used to perform customization such as selecting columns to be used / outputted from the columns included in the DB table to be queried through SQL query, adjusting the display order, or setting the display format of each field. ) May be further included.
도 15a에서 '바인딩 설정'(5040)을 선택하는 경우 도 15d와 같은 UI(5300)가 디스플레이될 수 있다. 도 15d와 같은 UI(5300) 상에서 사용자는 상기 디자인 파일 편집 UI(4000)에 포함된 특정 컨트롤과 SQL 쿼리를 통해 조회될 DB 테이블에 포함된 컬럼을 매핑할 수 있다.When selecting the binding setting 5040 in FIG. 15A, the UI 5300 may be displayed as illustrated in FIG. 15D. On the UI 5300 as illustrated in FIG. 15D, a user may map a specific control included in the design file editing UI 4000 and a column included in a DB table to be queried through an SQL query.
도 15a에서 '저장 설정'(5050)을 선택하는 경우 도 15e와 같은 UI(5400)가 디스플레이될 수 있다. 도 15e와 같은 UI(5400)는 데이터 컨트롤을 통해 삽입된 레코드를 데이터베이스에 삽입하기 위한 SQL 쿼리를 선택하기 위한 UI(5410), 데이터 컨트롤 상에서 변경된 데이터를 업데이트하기 위한 쿼리를 선택하기 위한 UI(5420), 레코드의 삭제를 수행하기 위한 쿼리를 선택하기 위한 UI(5430)를 포함할 수 있다.In the case of selecting the 'save setting' 5050 in FIG. 15A, the UI 5400 shown in FIG. 15E may be displayed. The UI 5400 as shown in FIG. 15E includes a UI 5410 for selecting an SQL query for inserting a record inserted through the data control into a database, and a UI 5520 for selecting a query for updating changed data on the data control. ), A UI 5430 for selecting a query for deleting a record.
도 16은 상술한 매핑 과정을 개략적으로 나타내는 흐름도이다.16 is a flowchart schematically illustrating the above-described mapping process.
일 실시예에서, 상기 생성 모듈(110)은 상기 적어도 하나의 SQL 파일에 포함된 각각의 SQL 퀴리를 표시할 수 있다(S210)In one embodiment, the generation module 110 may display each SQL query included in the at least one SQL file (S210).
사용자가 표시된 SQL 쿼리 중 어느 하나를 선택하는 경우, 선택된 SQL 쿼리를 분석하여 상기 SQL 쿼리에 포함되어 있는 파라미터 변수명을 획득하고(S220), 획득한 파라미터 변수명을 표시할 수 있다.When the user selects one of the displayed SQL queries, the selected SQL query may be analyzed to obtain a parameter variable name included in the SQL query (S220), and the obtained parameter variable name may be displayed.
그러면, 사용자의 입력에 의해, 상기 생성 모듈(110)은 표시된 각각의 파라미터 변수명을 상기 디자인 파일 편집 UI(4000)에 표시된 컨트롤(예를 들어 4010 또는 4030)과 매핑할 수 있다(S240).Then, according to a user input, the generation module 110 may map each parameter variable name displayed with a control (for example, 4010 or 4030) displayed on the design file editing UI 4000 (S240).
또한 상기 생성 모듈(110)은 사용자의 입력에 의해 선택된 상기 SQL 쿼리를 상기 디자인 파일 편집 UI(4000)에 표시된 어느 하나의 데이터 컨트롤(예를 들어 4040)과 매핑할 수 있다(S240, S250).In addition, the generation module 110 may map the SQL query selected by the user's input with any one data control (for example, 4040) displayed on the design file editing UI 4000 (S240 and S250).
다시 도 1b를 참조하면, 상기 구동 모듈(120)은 상기 생성 모듈(110)에 의해 생성된 사용자 정의 ERP 펑션을 구동하여 사용자에게 상기 사용자 정의 ERP 펑션을 제공할 수 있다.Referring back to FIG. 1B, the driving module 120 may drive the user-defined ERP function generated by the generation module 110 to provide the user-defined ERP function.
상술한 바와 같이 상기 생성모듈(110)은 사용자 정의 ERP 펑션에 상응하는 적어도 하나의 SQL 파일 및 디자인 파일을 생성할 수 있으며, 상기 구동 모듈(120)은 이를 해석하여 사용자 정의 ERP 펑션을 구동할 수 있다. 상기 구동 모듈(120)은 일종의 메타데이터나 스크립트 등을 입력받고 그에 상응하는 동작을 수행하는 일종의 엔진일 수 있다.As described above, the generation module 110 may generate at least one SQL file and a design file corresponding to the user-defined ERP function, and the driving module 120 may interpret the information and drive the user-defined ERP function. have. The driving module 120 may be a kind of engine that receives a kind of metadata or a script and performs an operation corresponding thereto.
예를 들어 상기 구동모듈(120)은 상기 디자인 파일에 포함된 각종 컨트롤에 관한 정보를 이용하여 사용자 정의 ERP 펑션의 화면을 구성할 수 있으며, 이를 디스플레이할 수 있다. 또한 상기 구동 모듈(120)은 사용자가 컨트롤에 특정한 명령이나 데이터를 입력한 경우 그에 상응하는 메소드나 스크립트, 혹은 빌트인 기능을 수행할 수 있다. 또한 상기 구동 모듈(120)은 데이터 컨트롤과 매핑된 SQL 쿼리를 실행하고 실행 결과를 데이터 컨트롤 또는 상기 DB(130)에 반영할 수 있다. 이 외에도 상기 구동 모듈(120)은 사용자 정의 ERP 펑션이 올바르게 동작할 수 있도록 하는 각종 인스트럭션을 수행할 수 있다.For example, the driving module 120 may configure a screen of a user-defined ERP function by using information about various controls included in the design file, and display it. In addition, when the user inputs a specific command or data to the control, the driving module 120 may perform a method, a script, or a built-in function corresponding thereto. In addition, the driving module 120 may execute an SQL query mapped to the data control and reflect the execution result to the data control or the DB 130. In addition, the driving module 120 may perform various instructions to enable the user-defined ERP function to operate correctly.
상기 공유모듈(140)은 아래에서 설명할 사용자 정의 ERP 공유 기능을 수행할 수 있다.The sharing module 140 may perform a user-defined ERP sharing function to be described below.
도 17은 사용자 단말(100)과 상기 공유 시스템(200)에 의해 사용자 정의 ERP 펑션이 공유되는 과정의 일 예를 도시한 도면이다. 도 17에서는 설명의 편의를 위하여 두 개의 단말 간에 하나의 사용자 정의 ERP 펑션이 공유되는 예를 설명하고 있으나 다수의 단말간에 다수의 사용자 정의 ERP 펑션이 공유될 수 있음은 물론이다.FIG. 17 is a diagram illustrating an example of a process in which a user-defined ERP function is shared by the user terminal 100 and the sharing system 200. 17 illustrates an example in which one user-defined ERP function is shared between two terminals for convenience of description, but a plurality of user-defined ERP functions may be shared among a plurality of terminals.
도 17을 참조하면 두 단말(100-1, 100-2) 간에 사용자 정의 ERP 펑션이 공유되는 과정은 크게 소스 패키지 업로드 과정(S310 ~ S340)과 소스 패키지 다운로드 과정(S350~S370)으로 구분될 수 있다.Referring to FIG. 17, a process of sharing a user-defined ERP function between two terminals 100-1 and 100-2 may be largely divided into a source package upload process (S310 ˜ S340) and a source package download process (S350 ˜ S370). have.
먼저 소스 패키지 업로드 과정을 설명하면, 먼저 사용자 정의 ERP 펑션을 타인과 공유하고자 하는 공유자 단말(100-1)은 소스 패키지 업로드 UI를 제공할 수 있다(S310). 상기 소스 패키지 업로드 UI는 공유자가 상기 공유 시스템(200)으로 전송하고자 하는 사용자 정의 ERP 펑션을 선택하는 기능을 제공할 수 있다. 상기 공유자 단말(100-1)에는 복수의 사용자 정의 ERP 펑션에 상응하는 프로젝트가 저장되어 있을 수 있으며 사용자는 이들 중 공유하기를 원하는 프로젝트를 상기 소스 패키지 업로드 UI를 통해 선택할 수 있다.First, the source package upload process will be described. First, the sharer terminal 100-1 who wants to share a user-defined ERP function with others may provide a source package upload UI (S310). The source package upload UI may provide a function for the user to select a user-defined ERP function to be transmitted to the sharing system 200. The sharer terminal 100-1 may store a project corresponding to a plurality of user-defined ERP functions, and a user may select a project among them, through the source package upload UI.
상기 공유자 단말(100-1)에 저장되어 있는 프로젝트의 일부 혹은 전부는 상술한 사용자 정의 ERP 생성 과정을 통해 미리 생성되어 있을 수 있다. 또는 상기 공유자 단말(100-1)에 저장되어 있는 프로젝트의 일부 혹은 전부는 후술할 소스 패키지 다운로드 기능을 통해 상기 공유자 단말(100-1)로 다운로드된 것일 수도 있다.Some or all of the projects stored in the sharer terminal 100-1 may be generated in advance through the above-described user-defined ERP generation process. Alternatively, some or all of the projects stored in the sharer terminal 100-1 may be downloaded to the sharer terminal 100-1 through a source package download function to be described later.
소스 패키지는 소정의 사용자 정의 ERP 펑션에 상응할 수 있으며, 상기 사용자 정의 ERP 펑션에 상응하는 적어도 하나의 SQL 파일 및 디자인 파일을 포함할 수 있다. 구현 예에 따라서 상기 소스 패키지는 ERD 파일을 더 포함할 수도 있다.The source package may correspond to a predetermined user defined ERP function, and may include at least one SQL file and a design file corresponding to the user defined ERP function. According to an embodiment, the source package may further include an ERD file.
또한 상기 소스 패키지는 그에 상응하는 사용자 정의 ERP 펑션에 관한 추가 정보를 더 포함할 수도 있다. 추가 정보는 사용자 정의 ERP 펑션에 관련된 어떠한 정보도 포함할 수 있으며, 예를 들어, 사용자 정의 ERP 펑션의 명칭, 상세설명정보(description), 작성자, 공유자 및/또는 스크린 샷, 카테고리 정보 등일 수 있다.In addition, the source package may further include additional information about a corresponding user-defined ERP function. The additional information may include any information related to the user-defined ERP function, and may be, for example, the name, description, creator, sharer and / or screenshot, category information, etc. of the user-defined ERP function.
도 18은 소스 패키지 업로드 UI(6000)의 일 예를 도시한 도면이다.18 is a diagram illustrating an example of a source package upload UI 6000.
상기 소스 패키지 업로드 UI(6000)는 상기 공유자 단말(100-1)에 저장되어 있는 사용자 정의 ERP 펑션의 프로젝트의 리스트(6100)를 포함할 수 있다. 각각의 리스트는 업로드 여부를 선택하기 위한 UI 오브젝트(예를 들면 6010), 프로젝트의 명칭(또는 사용자 정의 ERP 펑션의 명칭)을 표시하는 UI 오브젝트(예를 들면 6020), 상세설명정보를 기입하기 위한 UI 오브젝트(예를 들면 6030), 공개 여부를 선택하기 위한 UI 오브젝트(예를 들면 6040), 스크린샷을 지정하기 위한 UI 오브젝트(예를 들면 6050) 등을 포함할 수 있다. 이 외에도 상기 소스 패키지 업로드 UI는 소스 패키지에 포함될 수 있는 각종 추가정보를 입력/지정하기 위한 UI오브젝트를 더 포함할 수도 있다.The source package upload UI 6000 may include a list 6100 of projects of the user-defined ERP function stored in the sharer terminal 100-1. Each list contains a UI object (e.g. 6010) for selecting whether to upload or not, a UI object (e.g. 6020) for displaying the name of the project (or a name of a user-defined ERP function), and detailed description information. A UI object (eg, 6030), a UI object (eg, 6040) for selecting whether to publish, a UI object (eg, 6050) for designating a screenshot, and the like. In addition, the source package upload UI may further include a UI object for inputting / specifying various additional information included in the source package.
사용자는 도 18에 도시된 바와 같이 7개의 프로젝트 중 일부(도 18의 예에서는 Project1 및 Project2)를 선택할 수 있다. 사용자는 공유하고자 하는 프로젝트를 선택한 후 업로드를 수행하기 위한 버튼(6200)을 선택하여 상기 공유자 단말(100-1)에 업로드를 수행을 지시할 수 있다.As shown in FIG. 18, the user may select some of the seven projects (Project1 and Project2 in the example of FIG. 18). After selecting a project to be shared, the user may select a button 6200 for performing upload to instruct the sharer terminal 100-1 to perform upload.
다시 도 17을 참조하면 상기 공유자 단말(100-1)은 사용자가 선택한 사용자 정의 ERP 펑션에 상응하는 소스 패키지를 생성할 수 있으며(S320), 이를 상기 공유 시스템(200)으로 전송할 수 있다(S330).Referring back to FIG. 17, the sharer terminal 100-1 may generate a source package corresponding to a user-defined ERP function selected by a user (S320), and transmit the same to the sharing system 200 (S330). .
그러면 상기 공유 시스템(200)은 소정의 저장소(210)에 수신한 소스 패키지를 저장할 수 있다(S340).Then, the sharing system 200 may store the received source package in the predetermined storage 210 (S340).
한편 구현 예에 따라 상기 공유 시스템(200)은 수신한 소스 패키지를 일정한 기준에 의해 분류하여 저장할 수도 있다. 이를 위하여 상기 공유 시스템(200)은 수시한 상기 소스 패키지에 상응하는 사용자 정의 ERP 펑션이 미리 정의된 복수의 카테고리 중 어디에 속하는지를 판단할 수 있으며, 상기 소스 패키지를 그에 상응하는 사용자 정의 ERP 펑션이 속하는 카테고리로 분류하여 상기 저장소(210)에 저장할 수 있다. 미리 정의된 복수의 카테고리는 ERP 분야에서 많이 이용되는 카테고리를 포함할 수 있다. 예를 들어 카테고리는 회계, 인사, 영업, 구매/자재, 외주, 무역, 서비스, 건설, 생산, 기준, 원가, 연결회계 등을 포함할 수 있다.Meanwhile, according to an embodiment, the sharing system 200 may classify and store the received source package according to a predetermined criterion. To this end, the sharing system 200 may determine where a user-defined ERP function corresponding to the source package is frequently belonged among a plurality of predefined categories, and the source package includes a user-defined ERP function. It may be classified into categories and stored in the storage 210. The plurality of predefined categories may include categories that are widely used in the ERP field. For example, categories can include accounting, human resources, sales, purchasing / materials, outsourcing, trade, services, construction, production, standards, costs, consolidated accounting, and so on.
사용자 정의 ERP 펑션이 속하는 카테고리는 공유자에 의해 지정될 수 있다.The category to which the user-defined ERP function belongs may be specified by the sharer.
또는 사용자 정의 ERP 펑션이 속하는 카테고리는 상기 공유 시스템(200)에 의해 결정될 수도 있다. 상기 공유 시스템(200)은 사용자 정의 ERP 펑션이 어느 카테고리에 속하는지를 판단하기 위하여, 상기 소스 패키지에 포함된 적어도 하나의 SQL 파일 또는 상기 소스 패키지에 포함된 디자인 파일을 분석할 수 있으며, 분석 결과에 기초하여 상기 소스 패키지에 상응하는 사용자 정의 ERP 펑션이 상기 복수의 카테고리 중 어디에 속하는지를 판단할 수 있다. 예를 들어 상기 공유 시스템(200)은 상기 소스 패키지에 포함된 SQL 파일의 퀴리문에 기재된 데이터베이스의 명칭이나 기타정보, 테이블 혹은 필드의 명칭이나 기타정보 및/또는 파라미터의 명칭이나 기타정보 등을 분석할 수 있다. 또는 상기 공유 시스템(200)은 상기 소스 패키지에 포함된 디자인 파일에 기재된 각종 정보(예를 들면, 컨트롤의 명칭 혹은 속성 등)을 분석할 수도 있다.Alternatively, the category to which the user-defined ERP function belongs may be determined by the sharing system 200. The sharing system 200 may analyze at least one SQL file included in the source package or a design file included in the source package in order to determine which category the user-defined ERP function belongs to. Based on the determination, the user-defined ERP function corresponding to the source package belongs to one of the plurality of categories. For example, the sharing system 200 analyzes the name or other information of the database described in the query statement of the SQL file included in the source package, the name or other information of the table or field, and / or the name or other information of the parameter. can do. Alternatively, the sharing system 200 may analyze various types of information (for example, names or properties of controls) described in the design file included in the source package.
다음으로 소스 패키지 다운로드 과정을 설명하면, 타인이 공유한 각종 사용자 정의 ERP 펑션을 다운로드하기 위하여 사용자 단말(100-2)이 상기 공유 시스템(200)에 접속하거나 리스트를 요청하는 경우, 상기 공유 시스템(200)은 상기 사용자 단말(100-2)로 상기 저장소(210)에 저장된 소스 패키지의 리스트를 전송할 수 있다(S350).Next, when the source package download process is described, when the user terminal 100-2 accesses the sharing system 200 or requests a list in order to download various user-defined ERP functions shared by others, the sharing system ( 200 may transmit a list of source packages stored in the storage 210 to the user terminal 100-2 (S350).
그러면 상기 사용자 단말(200)은 소스 패키지 다운로드 UI를 제공할 수 있다(S360). 상기 소스 패키지 다운로드 UI는 수신된 소스 패키지의 리스트를 디스플레이할 수 있으며, 수신된 소스 패키지 리스트 중 적어도 일부 항목을 선택하는 기능을 제공할 수 있다.Then, the user terminal 200 may provide a source package download UI (S360). The source package download UI may display a list of received source packages and may provide a function of selecting at least some items from the received source package list.
도 19는 소스 패키지 다운로드 UI(7000)의 일 예를 도시한 도면이다. 도 19를 참조하면, 상기 소스 패키지 다운로드 UI(7000)는 상기 공유 시스템(200)으로부터 수신한 소스 패키지 리스트를 표시하는 리스트 UI(7100)를 포함할 수 있다. 상기 리스트 UI(7100)의 각 항목은 소스 패키지의 명칭, 그에 상응하는 사용자 정의 ERP 펑션의 명칭, 대표 아이콘, 등록일자 등의 정보를 포함할 수 있다. 또한 상기 소스 패키지 다운로드 UI(7000)는 사용자가 선택한 소스 패키지의 상세 정보를 표시하는 상세정보표시UI(7200)를 더 포함할 수 있다. 상기 상세정보표시UI(7200)는 해당 소스 패키지에 상응하는 사용자 정의 ERP 펑션이 적용될 애플리케이션(예를 들면, 상술한 구동 모듈(120))의 명칭, 등록자, 소스 패키지의 명칭, 그에 상응하는 사용자 정의 ERP 펑션의 명칭, 상세 설명을 포함할 수 있다. 또한 상기 상세정보표시UI(7200)에는 사용자 정의 ERP 펑션의 스크린 샷(7210)을 표시될 수도 있다. 스크린 샷은 소스 패키지를 공유한 공유자에 의해 지정된 이미지일 수 있다.19 is a diagram illustrating an example of a source package download UI 7000. Referring to FIG. 19, the source package download UI 7000 may include a list UI 7100 displaying a list of source packages received from the sharing system 200. Each item of the list UI 7100 may include information such as a name of a source package, a name of a corresponding user-defined ERP function, a representative icon, a registration date, and the like. In addition, the source package download UI 7000 may further include a detailed information display UI 7200 for displaying detailed information of the source package selected by the user. The detailed information display UI 7200 is a name of the application (for example, the driving module 120 described above) to which the user-defined ERP function corresponding to the corresponding source package is applied, the registrant, the name of the source package, and the corresponding user definition. It may include a name and a detailed description of the ERP function. The detailed information display UI 7200 may also display a screen shot 7210 of a user-defined ERP function. The screenshot may be an image designated by the sharer who shared the source package.
또는 상기 스크린 샷(7210)은 상기 공유 시스템(200)에 의해 생성된 이미지일 수도 있다. 예를 들어 상기 공유 시스템(200)은 상술한 구동 모듈(200)의 기능을 수행할 수 있으며, 소스 패키지에 포함되어 있는 SQL 파일 및 디자인 파일을 이용하여 사용자 정의 ERP 펑션을 실행한 후 스크린 샷을 찍을 수 있다.Alternatively, the screen shot 7210 may be an image generated by the sharing system 200. For example, the sharing system 200 may perform the functions of the driving module 200 described above, and execute a user-defined ERP function using a SQL file and a design file included in a source package, and then take a screenshot. You can take a picture.
한편 상기 소스 패키지 다운로드 UI(7000)는 사용자 정의 ERP 펑션이 속할 수 있는 카테고리의 리스트를 표시하는 카테고리UI (7300)를 더 포함할 수 있다. 사용자가 카테고리 UI(7300)에 포함된 항목 중 어느 하나의 카테고리를 선택하는 경우, 상기 리스트 UI(7100)에는 선택된 카테고리에 속하는 사용자 정의 ERP 펑션에 상응하는 소스 패키지의 리스트만이 표시될 수 있다.The source package download UI 7000 may further include a category UI 7300 displaying a list of categories to which the user-defined ERP function may belong. When the user selects one of the categories included in the category UI 7300, the list UI 7100 may display only a list of source packages corresponding to the user-defined ERP function belonging to the selected category.
상기 소스 패키지 다운로드 UI(7000)는 업로드 버튼(7400)을 더 포함할 수 있으며, 업로드 버튼(7400)이 선택되는 경우 상기 사용자 단말(100-2)은 상술한 소스 패키지 업로드 UI(6000)를 제공하여 사용자 단말(100-2)이 사용자 지정 ERP 펑션을 타인과 공유하도록 할 수 있다.The source package download UI 7000 may further include an upload button 7400. When the upload button 7400 is selected, the user terminal 100-2 provides the source package upload UI 6000 described above. The user terminal 100-2 may share the user-specified ERP function with others.
또한 상기 소스 패키지 다운로드 UI는 사용자가 선택한 소스 패키지에 대한 다운로드를 요청하기 위한 버튼UI(7410)를 더 포함할 수 있다. 사용자가 상기 버튼 UI(7410)를 선택한 경우 상기 사용자 단말(100-2)은 상기 공유 시스템(200)으로 소스 패키지의 다운로드를 요청할 수 있다.In addition, the source package download UI may further include a button UI 7410 for requesting the download of the source package selected by the user. When the user selects the button UI 7410, the user terminal 100-2 may request a download of a source package from the sharing system 200.
다시 도 17을 참조하면, 상기 공유 시스템(200)은 상기 사용자 단말(100-2)의 다운로드 요청에 응답하여, 상기 저장소(210)에 저장된 소스 패키지 중 상기 사용자 단말에서 선택한 대상 소스 패키지를 상기 사용자 단말(100-2)로 전송할 수 있다(S370).Referring back to FIG. 17, in response to a download request of the user terminal 100-2, the sharing system 200 selects a target source package selected by the user terminal from among source packages stored in the storage 210. It may transmit to the terminal 100-2 (S370).
한편, 구현 예에 따라서, 상기 사용자 정의 ERP 펑션 공유 시스템은 적어도 하나의 프로세서 및 상기 프로세서에 의해 실행되는 프로그램을 저장하는 메모리를 포함할 수 있다. 상기 프로세서는 싱글 코어 CPU혹은 멀티 코어 CPU를 포함할 수 있다. 메모리는 고속 랜덤 액세스 메모리를 포함할 수 있고 하나 이상의 자기 디스크 저장 장치, 플래시 메모리 장치, 또는 기타 비휘발성 고체상태 메모리 장치와 같은 비휘발성 메모리를 포함할 수도 있다. 프로세서 및 기타 구성 요소에 의한 메모리로의 액세스는 메모리 컨트롤러에 의해 제어될 수 있다. 여기서, 상기 프로그램은, 프로세서에 의해 실행되는 경우, 본 실시예에 따른 사용자 정의 ERP 펑션 공유 시스템으로 하여금, 상술한 사용자 정의 ERP 펑션 공유 방법을 수행하도록 할 수 있다.In some implementations, the user-defined ERP function sharing system may include at least one processor and a memory storing a program executed by the processor. The processor may include a single core CPU or a multi core CPU. The memory may include fast random access memory and may include nonvolatile memory, such as one or more magnetic disk storage devices, flash memory devices, or other nonvolatile solid state memory devices. Access to memory by the processor and other components may be controlled by the memory controller. Here, when the program is executed by a processor, the user-defined ERP function sharing system according to the present embodiment may allow the user-defined ERP function sharing method to be performed.
한편, 본 발명의 실시예에 따른 사용자 정의 ERP 펑션 생성 방법은 컴퓨터가 읽을 수 있는 프로그램 명령 형태로 구현되어 컴퓨터로 읽을 수 있는 기록 매체에 저장될 수 있다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.Meanwhile, the method for generating a user-defined ERP function according to an embodiment of the present invention may be implemented in a computer-readable program command form and stored in a computer-readable recording medium. The computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored.
기록 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 소프트웨어 분야 당업자에게 공지되어 사용 가능한 것일 수도 있다.The program instructions recorded on the recording medium may be those specially designed and constructed for the present invention, or may be known and available to those skilled in the software art.
컴퓨터로 읽을 수 있는 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, floppy disks, and the like. Included are hardware devices specifically configured to store and execute the same magneto-optical media and program instructions such as ROM, RAM, flash memory, and the like. The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 전자적으로 정보를 처리하는 장치, 예를 들어, 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.Examples of program instructions include not only machine code generated by a compiler, but also devices that process information electronically using an interpreter, for example, high-level language code that can be executed by a computer.
상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성요소들도 결합된 형태로 실시될 수 있다.The foregoing description of the present invention is intended for illustration, and it will be understood by those skilled in the art that the present invention may be easily modified in other specific forms without changing the technical spirit or essential features of the present invention. will be. Therefore, it should be understood that the embodiments described above are exemplary in all respects and not restrictive. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as distributed may be implemented in a combined form.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타나며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is shown by the following claims rather than the detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalents should be construed as being included in the scope of the present invention. .
본 발명은 사용자 정의 ERP 펑션 공유 방법 및 시스템에 이용될 수 있다.The present invention can be used in a user-defined ERP function sharing method and system.

Claims (11)

  1. 사용자 정의 ERP(Enterprise Resource Planning) 펑션(function) 공유 방법으로서,A custom enterprise resource planning (ERP) function sharing method.
    사용자 정의 ERP 펑션 공유 시스템이, 복수의 공유자 단말로부터 적어도 하나의 SQL 파일 및 디자인 파일을 포함하며 소정의 ERP 사용자 정의 펑션에 상응하는 소스 패키지를 수신하는 단계-상기 SQL 파일은, 데이터베이스를 조작하기 위한 SQL(Structured Query Language) 쿼리를 저장하는 파일이며, 상기 디자인 파일은 상기 사용자 정의 ERP 펑션의 화면을 구성하는 적어도 하나의 컨트롤의 속성에 관한 정보를 저장하는 파일이며, 상기 사용자 정의 ERP 펑션의 화면을 구성하는 컨트롤 중 적어도 일부는 상기 적어도 하나의 SQL 파일에 포함된 특정 쿼리에 매핑되는 컨트롤임-;Receiving, by the user-defined ERP function sharing system, a source package including at least one SQL file and design file from a plurality of sharer terminals and corresponding to a predetermined ERP user-defined function, wherein the SQL file is for operating a database. A file that stores a structured query language (SQL) query, wherein the design file is a file that stores information about attributes of at least one control constituting the screen of the user defined ERP function, and displays the screen of the user defined ERP function. At least some of the constituting controls are controls mapped to specific queries included in the at least one SQL file;
    상기 사용자 정의 ERP 펑션 공유 시스템이, 상기 복수의 공유자 단말로부터 수신되는 소스 패키지를 소정의 저장소에 저장하는 단계;Storing, by the user-defined ERP function sharing system, source packages received from the plurality of sharer terminals in a predetermined storage;
    상기 사용자 정의 ERP 펑션 공유 시스템이, 사용자 단말로 상기 저장소에 저장된 소스 패키지의 리스트를 제공하는 단계; 및Providing, by the user-defined ERP function sharing system, a list of source packages stored in the repository to a user terminal; And
    상기 사용자 단말의 다운로드 요청에 응답하여, 상기 저장소에 저장된 소스 패키지 중 상기 사용자 단말에서 선택한 대상 소스 패키지를 상기 사용자 단말로 전송하는 단계를 포함하는 사용자 정의 ERP 펑션 공유 방법.In response to a download request of the user terminal, transmitting the target source package selected by the user terminal among the source packages stored in the storage to the user terminal.
  2. 제1항에 있어서,The method of claim 1,
    상기 사용자 정의 ERP 펑션 공유 시스템이, 상기 복수의 공유자 단말로부터 수신되는 소스 패키지를 소정의 저장소에 저장하는 단계는,The user-defined ERP function sharing system, storing the source package received from the plurality of sharer terminals in a predetermined storage,
    상기 소스 패키지에 상응하는 사용자 정의 ERP 펑션이 미리 정의된 복수의 카테고리 중 어디에 속하는지를 판단하는 단계; 및Determining where a user-defined ERP function corresponding to the source package belongs among a plurality of predefined categories; And
    상기 상기 소스 패키지를 그에 상응하는 사용자 정의 ERP 펑션이 속하는 카테로리로 분류하여 상기 저장소에 저장하는 단계를 포함하는 사용자 정의 ERP 펑션 공유 방법.And classifying the source package into a category to which the corresponding custom ERP function belongs and storing the source package in the repository.
  3. 제2항에 있어서,The method of claim 2,
    상기 소스 패키지에 상응하는 사용자 정의 ERP 펑션이 미리 정의된 복수의 카테고리 중 어디에 속하는지를 판단하는 단계는,Determining where the user-defined ERP function corresponding to the source package belongs to a plurality of predefined categories,
    상기 소스 패키지에 포함된 적어도 하나의 SQL 파일 또는 상기 소스 패키지에 포함된 디자인 파일을 분석하는 단계; 및Analyzing at least one SQL file included in the source package or a design file included in the source package; And
    분석 결과에 기초하여 상기 소스 패키지에 상응하는 사용자 정의 ERP 펑션이 상기 복수의 카테고리 중 어디에 속하는지를 판단하는 단계를 포함하는 사용자 정의 ERP 펑션 공유 방법.And determining which of the plurality of categories a user-defined ERP function corresponding to the source package belongs to based on the analysis result.
  4. 제1항에 있어서,The method of claim 1,
    상기 사용자 단말은, 소스 패키지 업로드 방법 및 소스 패키지 다운로드 방법을 수행하되,The user terminal performs a source package upload method and a source package download method,
    상기 소스 패키지 업로드 방법은,The source package upload method,
    상기 사용자 단말에 저장된 적어도 하나의 소스 패키지의 리스트 중 적어도 일부 항목을 선택하는 기능을 제공하는 소스 패키지 업로드 UI를 제공하는 단계; 및Providing a source package upload UI providing a function of selecting at least some items from a list of at least one source package stored in the user terminal; And
    상기 소스 패키지 업로드 UI를 통해 선택된 항목에 상응하는 소스 패키지를 상기 사용자 정의 ERP 펑션 공유 시스템으로 전송하는 단계를 포함하고,Transmitting a source package corresponding to the selected item through the source package upload UI to the user-defined ERP function sharing system;
    상기 소스 패키지 다운로드 방법은,The source package download method,
    상기 사용자 정의 ERP 펑션 공유 시스템으로부터 상기 저장소에 저장된 소스 패키지의 리스트를 수신하는 단계;Receiving a list of source packages stored in the repository from the user defined ERP function sharing system;
    수신된 소스 패키지 리스트 중 적어도 일부 항목을 선택하는 기능을 제공하는 소스 패키지 다운로드 UI를 제공하는 단계; 및Providing a source package download UI providing a function of selecting at least some items of the received source package list; And
    상기 소스 패키지 다운로드 UI를 통해 선택된 항목에 상응하는 소스 패키지를 상기 사용자 정의 ERP 펑션 공유 시스템으로부터 수신하는 단계를 포함하는 사용자 정의 ERP 펑션 공유 방법.Receiving a source package corresponding to the item selected through the source package download UI from the user-defined ERP function sharing system.
  5. 제1항에 있어서,The method of claim 1,
    상기 사용자 단말은, 상기 사용자 정의 ERP 펑션 공유 시스템으로부터 상기 대상 소스 패키지를 수신한 다음, 상기 대상 소스 패키지에 상응하는 사용자 정의 ERP 펑션 생성 방법을 수행하고,The user terminal receives the target source package from the user defined ERP function sharing system, and then performs a method for generating a user defined ERP function corresponding to the target source package,
    상기 대상 소스 패키지에 상응하는 사용자 정의 ERP 펑션 생성 방법은,Method for generating a user-defined ERP function corresponding to the target source package,
    ERD 파일에 상응하는 UI오브젝트, 상기 대상 소스 패키지에 포함된 적어도 하나의 SQL 파일 각각에 상응하는 UI 오브젝트 및 상기 대상 소스 패키지에 포함된 디자인 파일에 상응하는 UI 오브젝트를 포함하는 컨테이너 UI를 제공하는 단계-여기서, 상기 ERD 파일은, 데이터베이스에 저장된 테이블의 속성 및 각 테이블 간의 관계를 모델링한 정보를 저장하는 파일임;Providing a container UI including a UI object corresponding to an ERD file, a UI object corresponding to each of at least one SQL file included in the target source package, and a UI object corresponding to a design file included in the target source package. Wherein the ERD file is a file for storing information modeling attributes of tables stored in a database and relationships between the tables;
    상기 ERD 파일에 상응하는 UI 오브젝트가 선택되는 경우, 상기 ERD 파일을 편집하기 위한 ERD 파일 편집 기능을 제공하는 단계;If an UI object corresponding to the ERD file is selected, providing an ERD file editing function for editing the ERD file;
    상기 적어도 하나의 SQL 파일 중 어느 하나에 상응하는 UI 오브젝트가 선택되는 경우, 선택된 UI 오브젝트에 상응하는 SQL 파일을 편집하기 위한 SQL 파일 편집 기능을 제공하는 단계;When a UI object corresponding to any one of the at least one SQL file is selected, providing an SQL file editing function for editing an SQL file corresponding to the selected UI object;
    상기 디자인 파일에 상응하는 UI 오브젝트가 선택되는 경우, 상기 디자인 파일을 편집하기 위한 디자인 파일 편집 기능을 제공하는 단계; 및If a UI object corresponding to the design file is selected, providing a design file editing function for editing the design file; And
    상기 적어도 하나의 SQL 파일 및 상기 디자인 파일에 기초하여 상기 사용자 정의 ERP 펑션을 제공하는 단계를 포함하는 사용자 정의 ERP 펑션 공유 방법.Providing the user-defined ERP function based on the at least one SQL file and the design file.
  6. 데이터 처리장치에 설치되며 제1항 내지 제5항 중 어느 한 항에 기재된 방법을 수행하기 위하여 기록매체에 저장된 컴퓨터 프로그램.A computer program installed in a data processing apparatus and stored in a recording medium for carrying out the method according to any one of claims 1 to 5.
  7. 적어도 하나의 프로세서;At least one processor;
    상기 프로세서에 의하여 실행되는 컴퓨터 프로그램을 저장하는 메모리를 포함하는 사용자 정의 ERP 펑션 공유 시스템으로서,A user defined ERP function sharing system comprising a memory for storing a computer program executed by the processor,
    상기 컴퓨터 프로그램은, 상기 프로세서에 의해 실행되는 경우 상기 사용자 정의 ERP 펑션 공유 시스템이 사용자 정의 ERP 펑션 공유 방법을 수행하도록 하되,The computer program causes the user-defined ERP function sharing system to execute a user-defined ERP function sharing method when executed by the processor,
    상기 사용자 정의 ERP 펑션 공유 방법은,The user-defined ERP function sharing method,
    상기 사용자 정의 ERP 펑션 공유 시스템이, 복수의 공유자 단말로부터 적어도 하나의 SQL 파일 및 디자인 파일을 포함하며 소정의 ERP 사용자 정의 펑션에 상응하는 소스 패키지를 수신하는 단계-상기 SQL 파일은, 데이터베이스를 조작하기 위한 SQL 쿼리를 저장하는 파일이며, 상기 디자인 파일은 상기 사용자 정의 ERP 펑션의 화면을 구성하는 적어도 하나의 컨트롤의 속성에 관한 정보를 저장하는 파일이며, 상기 사용자 정의 ERP 펑션의 화면을 구성하는 컨트롤 중 적어도 일부는 상기 적어도 하나의 SQL 파일에 포함된 특정 쿼리에 매핑되는 컨트롤임-;Receiving, by the user-defined ERP function sharing system, a source package including at least one SQL file and a design file from a plurality of sharer terminals and corresponding to a predetermined ERP user-defined function, wherein the SQL file operates a database. A file for storing a SQL query, wherein the design file is a file for storing information on the properties of at least one control constituting the screen of the user-defined ERP function, Among the controls constituting the screen of the user-defined ERP function At least some of the controls are mapped to particular queries included in the at least one SQL file;
    상기 사용자 정의 ERP 펑션 공유 시스템이, 상기 복수의 공유자 단말로부터 수신되는 소스 패키지를 소정의 저장소에 저장하는 단계;Storing, by the user-defined ERP function sharing system, source packages received from the plurality of sharer terminals in a predetermined storage;
    상기 사용자 정의 ERP 펑션 공유 시스템이, 사용자 단말로 상기 저장소에 저장된 소스 패키지의 리스트를 제공하는 단계; 및Providing, by the user-defined ERP function sharing system, a list of source packages stored in the repository to a user terminal; And
    상기 사용자 단말의 다운로드 요청에 응답하여, 상기 저장소에 저장된 소스 패키지 중 상기 사용자 단말에서 선택한 대상 소스 패키지를 상기 사용자 단말로 전송하는 단계를 포함하는 사용자 정의 ERP 펑션 공유 시스템.And in response to a download request of the user terminal, transmitting the target source package selected by the user terminal among the source packages stored in the storage to the user terminal.
  8. 제7항에 있어서,The method of claim 7, wherein
    상기 사용자 정의 ERP 펑션 공유 시스템이, 상기 복수의 공유자 단말로부터 수신되는 소스 패키지를 소정의 저장소에 저장하는 단계는,The user-defined ERP function sharing system, storing the source package received from the plurality of sharer terminals in a predetermined storage,
    상기 소스 패키지에 상응하는 사용자 정의 ERP 펑션이 미리 정의된 복수의 카테고리 중 어디에 속하는지를 판단하는 단계; 및Determining where a user-defined ERP function corresponding to the source package belongs among a plurality of predefined categories; And
    상기 상기 소스 패키지를 그에 상응하는 사용자 정의 ERP 펑션이 속하는 카테로리로 분류하여 상기 저장소에 저장하는 단계를 포함하는 사용자 정의 ERP 펑션 공유 시스템.And classifying the source package into a category to which a corresponding custom ERP function belongs and storing the source package in the repository.
  9. 제8항에 있어서,The method of claim 8,
    상기 소스 패키지에 상응하는 사용자 정의 ERP 펑션이 미리 정의된 복수의 카테고리 중 어디에 속하는지를 판단하는 단계는,Determining where the user-defined ERP function corresponding to the source package belongs to a plurality of predefined categories,
    상기 소스 패키지에 포함된 적어도 하나의 SQL 파일 또는 상기 소스 패키지에 포함된 디자인 파일을 분석하는 단계; 및Analyzing at least one SQL file included in the source package or a design file included in the source package; And
    분석 결과에 기초하여 상기 소스 패키지에 상응하는 사용자 정의 ERP 펑션이 상기 복수의 카테고리 중 어디에 속하는지를 판단하는 단계를 포함하는 사용자 정의 ERP 펑션 공유 시스템.And determining which of the plurality of categories a user-defined ERP function corresponding to the source package belongs to based on the analysis result.
  10. 제7항에 있어서,The method of claim 7, wherein
    상기 사용자 단말은, 소스 패키지 업로드 방법 및 소스 패키지 다운로드 방법을 수행하되,The user terminal performs a source package upload method and a source package download method,
    상기 소스 패키지 업로드 방법은,The source package upload method,
    상기 사용자 단말에 저장된 적어도 하나의 소스 패키지의 리스트 중 적어도 일부 항목을 선택하는 기능을 제공하는 소스 패키지 업로드 UI를 제공하는 단계; 및Providing a source package upload UI providing a function of selecting at least some items from a list of at least one source package stored in the user terminal; And
    상기 소스 패키지 업로드 UI를 통해 선택된 항목에 상응하는 소스 패키지를 상기 사용자 정의 ERP 펑션 공유 시스템으로 전송하는 단계를 포함하고,Transmitting a source package corresponding to the selected item through the source package upload UI to the user-defined ERP function sharing system;
    상기 소스 패키지 다운로드 방법은,The source package download method,
    상기 사용자 정의 ERP 펑션 공유 시스템으로부터 상기 저장소에 저장된 소스 패키지의 리스트를 수신하는 단계;Receiving a list of source packages stored in the repository from the user defined ERP function sharing system;
    수신된 소스 패키지 리스트 중 적어도 일부 항목을 선택하는 기능을 제공하는 소스 패키지 다운로드 UI를 제공하는 단계; 및Providing a source package download UI providing a function of selecting at least some items of the received source package list; And
    상기 소스 패키지 다운로드 UI를 통해 선택된 항목에 상응하는 소스 패키지를 상기 사용자 정의 ERP 펑션 공유 시스템으로부터 수신하는 단계를 포함하는 사용자 정의 ERP 펑션 공유 시스템.Receiving a source package corresponding to the item selected through the source package download UI from the user-defined ERP function sharing system.
  11. 제7항에 있어서,The method of claim 7, wherein
    상기 사용자 단말은, 상기 사용자 정의 ERP 펑션 공유 시스템으로부터 상기 대상 소스 패키지를 수신한 다음, 상기 대상 소스 패키지에 상응하는 사용자 정의 ERP 펑션 생성 방법을 수행하고,The user terminal receives the target source package from the user defined ERP function sharing system, and then performs a method for generating a user defined ERP function corresponding to the target source package,
    상기 대상 소스 패키지에 상응하는 사용자 정의 ERP 펑션 생성 방법은,Method for generating a user-defined ERP function corresponding to the target source package,
    ERD 파일에 상응하는 UI오브젝트, 상기 대상 소스 패키지에 포함된 적어도 하나의 SQL 파일 각각에 상응하는 UI 오브젝트 및 상기 대상 소스 패키지에 포함된 디자인 파일에 상응하는 UI 오브젝트를 포함하는 컨테이너 UI를 제공하는 단계-여기서, 상기 ERD 파일은, 데이터베이스에 저장된 테이블의 속성 및 각 테이블 간의 관계를 모델링한 정보를 저장하는 파일임;Providing a container UI including a UI object corresponding to an ERD file, a UI object corresponding to each of at least one SQL file included in the target source package, and a UI object corresponding to a design file included in the target source package. Wherein the ERD file is a file for storing information modeling attributes of tables stored in a database and relationships between the tables;
    상기 ERD 파일에 상응하는 UI 오브젝트가 선택되는 경우, 상기 ERD 파일을 편집하기 위한 ERD 파일 편집 기능을 제공하는 단계;If an UI object corresponding to the ERD file is selected, providing an ERD file editing function for editing the ERD file;
    상기 적어도 하나의 SQL 파일 중 어느 하나에 상응하는 UI 오브젝트가 선택되는 경우, 선택된 UI 오브젝트에 상응하는 SQL 파일을 편집하기 위한 SQL 파일 편집 기능을 제공하는 단계;When a UI object corresponding to any one of the at least one SQL file is selected, providing an SQL file editing function for editing an SQL file corresponding to the selected UI object;
    상기 디자인 파일에 상응하는 UI 오브젝트가 선택되는 경우, 상기 디자인 파일을 편집하기 위한 디자인 파일 편집 기능을 제공하는 단계; 및If a UI object corresponding to the design file is selected, providing a design file editing function for editing the design file; And
    상기 적어도 하나의 SQL 파일 및 상기 디자인 파일에 기초하여 상기 사용자 정의 ERP 펑션을 제공하는 단계를 포함하는 사용자 정의 ERP 펑션 공유 시스템.Providing the user-defined ERP function based on the at least one SQL file and the design file.
PCT/KR2017/002232 2016-11-25 2017-02-28 Method and system for sharing user-defined erp functions WO2018097407A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201780077869.8A CN110249356B (en) 2016-11-25 2017-02-28 Sharing method and system for user-defined ERP function

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2016-0157996 2016-11-25
KR1020160157996A KR101944973B1 (en) 2016-11-25 2016-11-25 Method and system for sharing user-defined Enterprise Resource Planning function and computing system performing the same

Publications (1)

Publication Number Publication Date
WO2018097407A1 true WO2018097407A1 (en) 2018-05-31

Family

ID=62195439

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2017/002232 WO2018097407A1 (en) 2016-11-25 2017-02-28 Method and system for sharing user-defined erp functions

Country Status (3)

Country Link
KR (1) KR101944973B1 (en)
CN (1) CN110249356B (en)
WO (1) WO2018097407A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109752961A (en) * 2018-12-25 2019-05-14 施德朗(广州)电气科技有限公司 The file-sharing of central control system protocol library and management method, computer readable storage medium and terminal
CN111241038A (en) * 2020-01-19 2020-06-05 中国科学院电子学研究所 Satellite data processing method and system

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102244887B1 (en) * 2019-10-01 2021-04-28 (주) 더존비즈온 Method and system for recommending SQL query
KR102402196B1 (en) * 2020-07-16 2022-05-26 주식회사 카카오엔터테인먼트 Method and apparatus for providing entertainment management platform
KR20220057721A (en) 2020-10-30 2022-05-09 김진일 System and method for providing office ERP solution based on document form big data
KR102597643B1 (en) * 2023-02-16 2023-11-02 (주)예신뷰 Erp system for design works
KR102547033B1 (en) 2023-03-10 2023-06-22 김제은 Method for providing information in the way user selected using keyword recognition function

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003091416A (en) * 2001-09-17 2003-03-28 Toshiba Corp Function configuration defining method for task application system
JP2004252951A (en) * 2003-01-29 2004-09-09 Matsushita Electric Ind Co Ltd Introductory operation support system for integrated business software
JP2006260529A (en) * 2005-02-16 2006-09-28 Denso Wave Inc Program-providing system
KR20150065292A (en) * 2013-12-05 2015-06-15 정연성 Erp program conversion method using relation data base
KR101614908B1 (en) * 2015-09-18 2016-04-22 (주)트러시스 System and method for providing of ERP service

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050165829A1 (en) * 2003-11-04 2005-07-28 Jeffrey Varasano Systems, Methods and Computer Program Products for Developing Enterprise Software Applications
CN102387093B (en) * 2011-10-06 2017-07-21 福建爱特点信息科技有限公司 The method and system that a kind of instant messaging good friend shares with group
US20140282128A1 (en) * 2013-03-15 2014-09-18 Sap Ag System and Method for a User Interface Controller for Mandatory and Shared User Interface Functions

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003091416A (en) * 2001-09-17 2003-03-28 Toshiba Corp Function configuration defining method for task application system
JP2004252951A (en) * 2003-01-29 2004-09-09 Matsushita Electric Ind Co Ltd Introductory operation support system for integrated business software
JP2006260529A (en) * 2005-02-16 2006-09-28 Denso Wave Inc Program-providing system
KR20150065292A (en) * 2013-12-05 2015-06-15 정연성 Erp program conversion method using relation data base
KR101614908B1 (en) * 2015-09-18 2016-04-22 (주)트러시스 System and method for providing of ERP service

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109752961A (en) * 2018-12-25 2019-05-14 施德朗(广州)电气科技有限公司 The file-sharing of central control system protocol library and management method, computer readable storage medium and terminal
CN111241038A (en) * 2020-01-19 2020-06-05 中国科学院电子学研究所 Satellite data processing method and system
CN111241038B (en) * 2020-01-19 2024-04-26 中国科学院电子学研究所 Satellite data processing method and system

Also Published As

Publication number Publication date
KR101944973B1 (en) 2019-02-08
CN110249356B (en) 2023-10-10
CN110249356A (en) 2019-09-17
KR20180059602A (en) 2018-06-05

Similar Documents

Publication Publication Date Title
WO2018097407A1 (en) Method and system for sharing user-defined erp functions
US7269798B2 (en) Information processing apparatus for project management and its computer software
US20160019488A1 (en) Workflow management device and workflow management method
WO2011091163A1 (en) Metadata-configurable systems and methods for network services
WO2015137641A2 (en) Business rule management system having hierarchical rule structure and representation method thereof
US20100043051A1 (en) Identifying and resolving separation of duties conflicts in a multi-application environment
US20220417336A1 (en) System and method for tagging in identity management artificial intelligence systems and uses for same, including context based governance
KR102213465B1 (en) Apparatus and method for managing information security
JP2007233474A (en) Case information preparation support system and program
US9807169B2 (en) Distributed tagging of data in a hybrid cloud environment
CN104794597A (en) Ship steel supply and demand management system
KR102456418B1 (en) Total Business Surpporting System and Method therefor
WO2018097361A1 (en) Method for creating user-defined erp functions and computing system for executing same
JP7100748B2 (en) File management device, file management method, and file management program
US20150286988A1 (en) Unified product catalog data retrieval and modification
JP6865942B1 (en) Programs, methods, information processing equipment, and systems
JP7162484B2 (en) Help information display system, help information display device, help information display method, and help information display program
WO2019098428A1 (en) Erp function provision method using user-specific expandable management table, and erp function provision system for performing same
US10650060B2 (en) Graphical user interface for tracking data access and data changes in a centralized database
JP2015103007A (en) Operation report management system and operation report management program
JP2001056809A (en) Document managing system
WO2013006002A2 (en) Digital-based knowledge information card, and method, system, and computer-readable recording medium for generating the card, and method for generating a cardbook using the digital-based knowledge information card
WO2022092330A1 (en) Dcat-based metadata conversion system
CN114935996B (en) Method, computer device and storage medium for online processing of documents
JP6939473B2 (en) Document processing equipment and programs

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17874282

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17874282

Country of ref document: EP

Kind code of ref document: A1