KR101944973B1 - Method and system for sharing user-defined Enterprise Resource Planning function and computing system performing the same - Google Patents

Method and system for sharing user-defined Enterprise Resource Planning function and computing system performing the same Download PDF

Info

Publication number
KR101944973B1
KR101944973B1 KR1020160157996A KR20160157996A KR101944973B1 KR 101944973 B1 KR101944973 B1 KR 101944973B1 KR 1020160157996 A KR1020160157996 A KR 1020160157996A KR 20160157996 A KR20160157996 A KR 20160157996A KR 101944973 B1 KR101944973 B1 KR 101944973B1
Authority
KR
South Korea
Prior art keywords
file
user
sql
source package
function
Prior art date
Application number
KR1020160157996A
Other languages
Korean (ko)
Other versions
KR20180059602A (en
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 KR1020160157996A priority Critical patent/KR101944973B1/en
Priority to PCT/KR2017/002232 priority patent/WO2018097407A1/en
Priority to CN201780077869.8A priority patent/CN110249356B/en
Publication of KR20180059602A publication Critical patent/KR20180059602A/en
Application granted granted Critical
Publication of KR101944973B1 publication Critical patent/KR101944973B1/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
    • 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
    • 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

Abstract

기업 등 ERP 소프트웨어를 사용하는 사용자가 직접 개발한 자신의 업무 프로세스에 적합한 사용자 정의 ERP 펑션을 용이하게 타인과 공유할 수 있도록 하는 방법 및 시스템이 개시된다. 본 발명의 일 측면에 따르면, 사용자 정의 ERP(Enterprise Resource Planning) 펑션(function) 공유 방법으로서, 사용자 정의 ERP 펑션 공유 시스템이, 복수의 공유자 단말로부터 적어도 하나의 SQL 파일 및 디자인 파일을 포함하며 소정의 ERP 사용자 정의 펑션에 상응하는 소스 패키지를 수신하는 단계-상기 SQL 파일은, 데이터베이스를 조작하기 위한 SQL(Structured Query Language) 쿼리를 저장하는 파일이며, 상기 디자인 파일은 상기 사용자 정의 ERP 펑션의 화면을 구성하는 적어도 하나의 컨트롤의 속성에 관한 정보를 저장하는 파일이며, 상기 사용자 정의 ERP 펑션의 화면을 구성하는 컨트롤 중 적어도 일부는 상기 적어도 하나의 SQL 파일에 포함된 특정 쿼리에 매핑되는 컨트롤임-, 상기 사용자 정의 ERP 펑션 공유 시스템이, 상기 복수의 공유자 단말로부터 수신되는 소스 패키지를 소정의 저장소에 저장하는 단계, 상기 사용자 정의 ERP 펑션 공유 시스템이, 사용자 단말로 상기 저장소에 저장된 소스 패키지의 리스트를 제공하는 단계 및 상기 사용자 단말의 다운로드 요청에 응답하여, 상기 저장소에 저장된 소스 패키지 중 상기 사용자 단말에서 선택한 대상 소스 패키지를 상기 사용자 단말로 전송하는 단계를 포함하는 사용자 정의 ERP 펑션 공유 방법이 제공된다.A method and system for enabling a user using an ERP software, such as a company, to easily share a user-defined ERP function developed for a user's own business process with others easily. According to an aspect of the present invention, there is provided a method of sharing a user defined ERP function, wherein a user defined ERP function sharing system includes at least one SQL file and a design file from a plurality of sharer terminals, Receiving a source package corresponding to an ERP user defined function, wherein the SQL file is a file for storing a Structured Query Language (SQL) query for manipulating a database, the design file configuring a screen of the user defined ERP function Wherein at least some of the controls constituting the screen of the user defined ERP function are mapped to a specific query included in the at least one SQL file, Wherein the user-defined ERP function sharing system comprises: Wherein the user-defined ERP function sharing system comprises the steps of: providing a list of source packages stored in the repository to a user terminal; and in response to a download request of the user terminal, And transmitting the selected source package selected by the user terminal to the user terminal.

Description

사용자 정의 ERP 펑션 공유 방법 및 시스템{Method and system for sharing user-defined Enterprise Resource Planning function and computing system performing the same}The present invention relates to a method and system for sharing a user-defined ERP function,

본 발명은 사용자 정의 ERP 펑션 공유 방법 및 시스템에 관한 것이다. 보다 상세하게는 기업 등 ERP 소프트웨어를 사용하는 사용자가 직접 개발한 자신의 업무 프로세스에 적합한 사용자 정의 ERP 펑션을 용이하게 타인과 공유할 수 있도록 하는 방법 및 시스템에 관한 것이다.The present invention relates to a user-defined ERP function sharing method and system. More particularly, the present invention relates to a method and system for enabling a user using an ERP software, such as a company, to easily share a user-defined ERP function developed for a user's own business process with others.

전사적 자원 관리(Enterprise Resource Planning)은 기업의 경영 및 관리에 관한 업무를 위한 컴퓨터 시스템 또는 이러한 시스템에 설치되는 패키지 소프트웨어로서, ERP를 취급하는 대표적인 회사는 SAP, 오라클 등이 있으며, 국내에는 대표적으로 더존을 들 수 있다. 한편 기업이 ERP 서비스를 제공받기 위해서는 기업 내의 사용자 단말에 ERP 소프트웨어가 설치되어야 할 뿐만 아니라 해당 기업의 각종 정보가 저장되는 데이터베이스가 구축되어야 한다.Enterprise Resource Planning (ERP) is a computer system for business management and management, or package software installed in such systems. Representative companies that handle ERP are SAP and Oracle. In Korea, . Meanwhile, in order for an enterprise to receive an ERP service, a database must be established in which not only ERP software should be installed in a user terminal in the enterprise, but also various information of the company is stored.

기업은 ERP 시스템을 통해 회계, 인사, 급여, 영업, 무역, 구매, 자재, 생산, 외주, 서비스, 경영정보 등을 효율적으로 관리할 수 있다. 또한 기업은 ERP 시스템을 도입함으로써 관리 부서간의 정보시스템이 다를 때 일어나는 비효율성을 줄이고 원활한 회사의 자원 관리를 이끌어 냄으로써 생산성을 극대화할 수 있게 된다. 또한 ERP는 기업의 다양한 정보를 체계적으로 파악하고 관리할 수 있다는 장점을 제공할 수 있다.Through the ERP system, companies can efficiently manage accounting, personnel, salary, sales, trade, purchasing, materials, production, outsourcing, service and management information. Also, by introducing ERP system, companies can maximize productivity by reducing inefficiency caused by different information system between management departments and leading to smooth company resource management. In addition, ERP can provide the advantage of systematically identifying and managing various information of the company.

각 기업은 저마다 고유한 비즈니스 프로세스를 가지고 있으며, 서로 다른 기업 경영 전략을 가지고 있으므로 ERP 소프트웨어는 일반적인 패키지 소프트웨어와 달리 적용될 기업의 특성이나 비즈니스 프로세스, 워크 플로우에 적합하도록 커스터마이징 될 필요가 있다. 종래에는 여러 기업에 맞춤형 ERP 시스템을 구축하기 위해서는 각각의 기업 별로, 해당 기업의 요구사항이나 비즈니스 프로세스 등을 분석하고, 이를 토대로 해당 기업에 적용될 맞춤형 ERP 소프트웨어를 개발해야 했으므로 각 기업에 적합하도록 커스터마이징된 ERP 시스템을 구축하기 위해서는 많은 시간과 비용이 요구되었다. 또한 높은 비용으로 인해 규모가 크지 않은 기업은 ERP 시스템을 도입하기가 대단히 어려운 실정이다.Since each company has its own business process and has different corporate management strategies, ERP software needs to be customized to suit the characteristics of the enterprise, business process, and workflow to be applied, unlike general package software. Traditionally, in order to build a customized ERP system for various companies, it has been necessary to analyze the requirements and business processes of each company, and to develop customized ERP software to be applied to the companies based on the analysis. Accordingly, It took a lot of time and money to build an ERP system. In addition, companies that are not large in size due to high costs are very difficult to introduce ERP systems.

본 발명이 해결하고자 하는 기술적 과제는 데이터베이스 모델링, 상기 데이터베이스를 조작하기 위한 SQL 퀴리 및 UI를 통합적으로 개발할 수 있도록 하는 통합 개발 환경을 제공하고, 이를 통해 기업에 적합하게 커스터마이징된 ERP 개별 펑션을 용이하게 생성할 수 있도록 하고, 이를 통해 사용자가 직접 개발한 ERP 펑션을 용이하게 타인과 공유할 수 있도록 하는 방법 및 시스템을 제공하는 것이다.An object of the present invention is to provide an integrated development environment capable of integrally developing database modeling, SQL query and UI for manipulating the database, thereby facilitating customized ERP individual functions suitable for the enterprise The present invention provides a method and system for allowing a user to easily share an ERP function developed by a user with other users through the user interface.

본 발명의 일 측면에 따르면, 사용자 정의 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, there is provided a method of sharing a user defined ERP function, wherein a user defined ERP function sharing system includes at least one SQL file and a design file from a plurality of sharer terminals, Receiving a source package corresponding to an ERP user defined function, wherein the SQL file is a file for storing a Structured Query Language (SQL) query for manipulating a database, the design file configuring a screen of the user defined ERP function Wherein at least some of the controls constituting the screen of the user defined ERP function are mapped to a specific query included in the at least one SQL file, Wherein the user-defined ERP function sharing system comprises: Wherein the user-defined ERP function sharing system comprises the steps of: providing a list of source packages stored in the repository to a user terminal; and in response to a download request of the user terminal, And transmitting the selected source package selected by the user terminal to the user terminal.

일 실시예에서, 상기 사용자 정의 ERP 펑션 공유 시스템이, 상기 복수의 공유자 단말로부터 수신되는 소스 패키지를 소정의 저장소에 저장하는 단계는, 상기 소스 패키지에 상응하는 사용자 정의 ERP 펑션이 미리 정의된 복수의 카테고리 중 어디에 속하는지를 판단하는 단계 및 상기 상기 소스 패키지를 그에 상응하는 사용자 정의 ERP 펑션이 속하는 카테로리로 분류하여 상기 저장소에 저장하는 단계를 포함할 수 있다.In one embodiment, the step of storing the source packages received from the plurality of sharer terminals in a predetermined repository by the user-defined ERP function sharing system comprises the steps of: storing a plurality of predefined user-defined ERP functions corresponding to the source packages Category, and storing the source package in the repository by categorizing the source package into a category to which the corresponding user-defined ERP function belongs.

일 실시예에서, 상기 소스 패키지에 상응하는 사용자 정의 ERP 펑션이 미리 정의된 복수의 카테고리 중 어디에 속하는지를 판단하는 단계는, 상기 소스 패키지에 포함된 적어도 하나의 SQL 파일 또는 상기 소스 패키지에 포함된 디자인 파일을 분석하는 단계 및 분석 결과에 기초하여 상기 소스 패키지에 상응하는 사용자 정의 ERP 펑션이 상기 복수의 카테고리 중 어디에 속하는지를 판단하는 단계를 포함할 수 있다.In one embodiment, determining which of the plurality of predefined categories the user defined ERP function corresponding to the source package belongs to comprises determining at least one SQL file included in the source package or a design included in the source package Analyzing the file, and determining, based on the analysis result, where in the plurality of categories the user-defined ERP function corresponding to the source package belongs.

일 실시예에서, 상기 사용자 단말은, 소스 패키지 업로드 방법 및 소스 패키지 다운로드 방법을 수행하되, 상기 소스 패키지 업로드 방법은, 상기 사용자 단말에 저장된 적어도 하나의 소스 패키지의 리스트 중 적어도 일부 항목을 선택하는 기능을 제공하는 소스 패키지 업로드 UI를 제공하는 단계 및 상기 소스 패키지 업로드 UI를 통해 선택된 항목에 상응하는 소스 패키지를 상기 사용자 정의 ERP 펑션 공유 시스템으로 전송하는 단계를 포함하고, 상기 소스 패키지 다운로드 방법은, 상기 사용자 정의 ERP 펑션 공유 시스템으로부터 상기 저장소에 저장된 소스 패키지의 리스트를 수신하는 단계, 수신된 소스 패키지 리스트 중 적어도 일부 항목을 선택하는 기능을 제공하는 소스 패키지 다운로드 UI를 제공하는 단계 및 상기 소스 패키지 다운로드 UI를 통해 선택된 항목에 상응하는 소스 패키지를 상기 사용자 정의 ERP 펑션 공유 시스템으로부터 수신하는 단계를 포함할 수 있다.In one embodiment, the user terminal performs a source package upload method and a source package download method, the method comprising: selecting at least some items from a list of at least one source package stored in the user terminal, And transmitting the source package corresponding to the selected item through the source package upload UI to the user-defined ERP function sharing system, wherein the source package download method comprises the steps of: 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 of the received source package list; 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 receives the target source package from the user-defined ERP function sharing system, and then performs a user-defined ERP function generation method corresponding to the target source package, 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 that stores information on attributes of a table stored in a database and information on relationships between the tables, a UI object corresponding to the ERD file is selected , An ERD file editing function for editing the ERD file Providing an SQL file editing function for editing an SQL file corresponding to a selected UI object when a UI object corresponding to one of the at least one SQL file and the at least one SQL 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, You can perform the sharing method.

본 발명의 다른 일 측면에 따르면, 데이터 처리장치에 설치되며 상술한 방법을 수행하기 위하여 기록매체에 저장된 컴퓨터 프로그램이 제공된다.According to another aspect of the present invention, a computer program installed in a data processing apparatus and stored in a recording medium for performing the above-described method is provided.

본 발명의 다른 일 측면에 따르면, 적어도 하나의 프로세서, 상기 프로세서에 의하여 실행되는 컴퓨터 프로그램을 저장하는 메모리를 포함하는 사용자 정의 ERP 펑션 공유 시스템으로서, 상기 컴퓨터 프로그램은, 상기 프로세서에 의해 실행되는 경우 상기 사용자 정의 ERP 펑션 공유 시스템이 상술한 사용자 정의 ERP 펑션 공유 방법을 수행하도록 하는 사용자 정의 ERP 펑션 공유 시스템이 제공된다.According to another aspect of the present invention there is provided a user defined ERP function sharing system comprising at least one processor and a memory for storing a computer program executed by the processor, There is provided a user-defined ERP function sharing system for allowing 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 integrally developing database modeling, SQL query and UI for manipulating the database is provided, and an ERP individual function customized for the enterprise is created And to provide a system and method for enabling the system to do so.

또한 사용자가 직접 개발한 ERP 펑션을 용이하게 타인과 공유할 수 있도록 하는 방법 및 시스템을 제공할 수 있다.In addition, it is possible to provide a method and a system for allowing a user to easily share the developed ERP function with others.

본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1a는 본 발명의 일 실시예에 따른 사용자 정의 ERP 펑션 생성 방법의 동작 환경을 나타내는 도면이다.
도 1b는 본 발명의 일 실시예에 따른 사용자 단말의 구성을 개략적으로 나타낸 블록도이다.
도 2는 본 발명의 일 실시예에 따른 사용자 단말이 사용자 정의 ERP 펑션을 생성하는 과정을 간략하게 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 사용자 단말이 제공하는 통합 개발 환경의 UI의 일 예를 도시한 도면이다.
도 4는 프로젝트 윈도우의 일 예를 도시한 도면이다.
도 5는 데이터베이스 탐색 윈도우의 일 예를 도시한 도면이다.
도 6은 본 발명의 일 실시예에 따른 생성 시스템이 ERD 파일 편집 기능을 수행하는 과정을 개략적으로 도시한 흐름도이다.
도 7은 ERD 파일 편집 UI의 일 예를 도시한 도면이다.
도 8은 본 발명의 일 실시예에 따른 사용자 단말이 SQL 파일 편집 기능을 수행하는 과정을 개략적으로 도시한 흐름도이다.
도 9는 SQL 파일 편집 UI의 일 예를 도시한 도면이다.
도 10은 본 발명의 일 실시예에 따른 사용자 단말이 디자인 파일 편집 기능을 수행하는 과정을 개략적으로 도시한 흐름도이다.
도 11은 디자인 파일 편집 UI의 일 예를 도시한 도면이다.
도 12는 도구상자 윈도우의 일 예를 도시한 도면이다.
도 13은 속성 윈도우의 일 예를 도시한 도면이다.
도 14는 스크립트 윈도우의 일 예를 도시한 도면이다.
도 15a 내지 도 15e는 SQL 매핑 UI의 일 예를 도시한 도면이다.
도 16은 SQL과 컨트롤간의 매핑 과정을 개략적으로 나타내는 흐름도이다.
도 17은 본 발명의 일 실시예에 따른 사용자 정의 ERP 펑션 공유 시스템과 사용자 단말에 의해 사용자 정의 ERP 펑션이 공유되는 과정의 일 예를 도시한 도면이다.
도 18은 소스 패키지 업로드 UI의 일 예를 도시한 도면이다.
도 19는 소스 패키지 다운로드 UI의 일 예를 도시한 도면이다.
BRIEF DESCRIPTION OF THE DRAWINGS A brief description of each drawing is provided to more fully understand the drawings recited in the description of the invention.
1A is a diagram illustrating an operation environment of a method for generating a user-defined ERP function according to an embodiment of the present invention.
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 view illustrating a process of generating a user-defined ERP function by a user terminal according to an exemplary embodiment of the present invention. Referring to 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.
4 is a diagram showing an example of a project window.
5 is a diagram showing an example of a database search window.
6 is a flowchart schematically illustrating a process of the ERD file editing function performed by the generating system according to the embodiment of the present invention.
7 is a diagram showing an example of an ERD file editing UI.
8 is a flowchart schematically illustrating a process of a user terminal performing an SQL file editing function according to an embodiment of the present invention.
9 is a diagram showing an example of an SQL file editing UI.
10 is a flowchart schematically illustrating a process of a user terminal performing a design file editing function according to an embodiment of the present invention.
11 is a diagram showing an example of a design file editing UI.
12 is a view showing an example of a tool box window.
13 is a diagram showing an example of an attribute window.
14 is a diagram showing an example of a script window.
15A to 15E are views showing an example of the SQL mapping UI.
16 is a flowchart schematically showing a mapping process between SQL and 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.
18 is a diagram showing an example of a source package upload UI.
19 is a diagram showing an example of a source package download UI.

본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.BRIEF DESCRIPTION OF THE DRAWINGS The present invention is capable of various modifications and various embodiments, and specific embodiments are illustrated in the drawings and described in detail in the detailed description. It is to be understood, however, that the invention is not to be limited to the specific embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.The terms first, second, etc. 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 in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise.

본 명세서에 있어서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In this specification, the terms "comprises" or "having" and the like refer to the presence of stated features, integers, steps, operations, elements, components, or combinations thereof, But do not preclude the presence or addition of features, numbers, steps, operations, components, parts, or combinations thereof.

또한, 본 명세서에 있어서는 어느 하나의 구성요소가 다른 구성요소로 데이터를 '전송'하는 경우에는 상기 구성요소는 상기 다른 구성요소로 직접 상기 데이터를 전송할 수도 있고, 적어도 하나의 또 다른 구성요소를 통하여 상기 데이터를 상기 다른 구성요소로 전송할 수도 있는 것을 의미한다. 반대로 어느 하나의 구성요소가 다른 구성요소로 데이터를 '직접 전송'하는 경우에는 상기 구성요소에서 다른 구성요소를 통하지 않고 상기 다른 구성요소로 상기 데이터가 전송되는 것을 의미한다.Also, in this specification, when any one element 'transmits' data to another element, the element may transmit the data directly to the other element, or may be transmitted through at least one other element And may transmit the data to the other component. Conversely, when one element 'directly transmits' data to another element, it means that the data is transmitted to the other element without passing through another element in the element.

이하, 첨부된 도면들을 참조하여 본 발명의 실시예들을 중심으로 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.Hereinafter, the present invention will be described in detail with reference to the embodiments of the present invention with reference to the accompanying drawings. Like reference symbols 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 operation 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 "shared system") are connected through a wired / wireless network, A user-defined ERP function generation method according to an embodiment can 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 through 100-N may create a source package corresponding to a user-defined ERP function and upload it to the sharing system 200 for sharing with others. Hereinafter, a user terminal that uploads 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 predetermined repository 210. The storage 210 may be a device that stores 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, and may be a physical device separate from the sharing system 200 as shown in FIG. 1A.

한편, 각각의 사용자 단말(100-1 내지 100-N)는 상기 공유 시스템(200)의 저장소(210)에 저장된 복수의 소스 패키지 중 일부를 다운로드할 수 있다.On the other hand, each of the user terminals 100-1 to 100-N may download a part 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 telephone, a Session Initiation Protocol (SIP), a Wireless Local Loop (WLL) station, a smart phone, a tablet PC, a PDA It may include a tower or a 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 a single 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 shared system 200 may be installed in a separate apparatus to perform respective functions And may be embodied as a set of logical structures for realizing the technical idea of the present invention. In addition, the sharing system 200 may mean a set of configurations 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 may perform at least one communication module capable of communicating with various user terminals 100-1 to 100-N through a network or a main function of the sharing system 200, A control module capable of controlling functions and / or resources of other components included in the sharing system 200, a storage module capable of storing various information, and an input / output module capable of interfacing with a user. The various modules included in the sharing system 200 may be located in different physical devices or may be located in the same physical device.

본 명세서에서 모듈이라 함은, 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예컨대, 상기 모듈은 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나, 한 종류의 하드웨어를 의미하는 것은 아님은 본 발명의 기술분야의 평균적 전문가에게는 용이하게 추론될 수 있다.Herein, a module may mean a functional and structural combination of hardware for carrying out 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 executing the predetermined code, and it does not necessarily mean a physically connected code or a kind of hardware. Can be easily deduced to the average expert in the field of < / RTI >

도 1b는 본 발명의 일 실시예에 따른 사용자 단말(100)의 구성을 개략적으로 나타낸 블록도이다.도 1b를 참조하면, 상기 사용자 단말(100)은 사용자 정의 ERP 펑션 생성 모듈(110; 이하, '생성 모듈'이라고 함), 상기 사용자 정의 ERP 펑션 구동 모듈(120; 이하, '구동 모듈'이라고 함) 및 사용자 정의 ERP 펑션 공유 모듈(140; 이하, '공유 모듈'이라고 함)을 포함할 수 있다.1B is a block diagram schematically showing a configuration of a user terminal 100 according to an embodiment of the present invention. Referring to FIG. 1B, the user terminal 100 includes a user-defined ERP function generation module 110 A user-defined ERP function module 120 (hereinafter referred to as a 'module'), and a user-defined ERP function 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 kinds of data and company information necessary for implementing the technical idea of the present invention.

도 1b에서는 DB(130)가 상기 사용자 단말(100)에 포함되는 형태의 예를 도시하고 있으나, 다른 실시예에서는 이와 달리, DB(130)가 상기 사용자 단말(100)과 물리적으로 분리된 별도의 시스템의 형태로 구현될 수도 있다. 이 경우 상기 사용자 단말(100)과 DB(130)는 네트워크를 통해 연결되어 각종 데이터나 정보를 송수신할 수 있다. 또한 구현 예에 따라 상기 사용자 단말(100)는 상기 사용자 단말(100)에 포함되거나 네트워크를 통해 연결되는 복수의 DB와 연동되어 동작할 수도 있다.1B illustrates an example in which the DB 130 is included in the user terminal 100. However, in another embodiment, the DB 130 may be a separate separate physical entity from the user terminal 100 Or may be implemented in the form of a system. In this case, the user terminal 100 and the DB 130 may be connected to each other via a network to transmit and receive various data and information. Also, according to an embodiment, 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 this specification, a DB (DataBase) may be implemented by at least one table, and may further include a separate DBMS (Database Management System) for searching, storing, and managing information stored in the DB It is possible. In addition, it may be implemented in various ways such as a linked-list, a tree, a relational DB, etc., and includes all data storage media and data structures capable of storing information to be stored in the DB 130 Can be used to mean.

상기 생성 모듈(110)은 사용자 정의 ERP 펑션을 생성하거나 기 생성된 사용자 정의 ERP 펑션을 편집하는 기능을 수행할 수 있다. 상기 구동 모듈(120)은 상기 생성 모듈(110)에 의해 생성된 사용자 정의 ERP 펑션을 구동하여 사용자에게 상기 사용자 정의 ERP 펑션을 제공할 수 있다. 상기 공유모듈(140)은 상기 생성모듈(110)에 의해 생성된 사용자 정의 ERP 펑션을 상기 공유 시스템(200)으로 업로드 하여 타인에게 공유할 수 있으며, 타인에 의해 공유된 사용자 정의 ERP 펑션을 상기 공유 시스템(200)으로부터 다운로드할 수 있다.The generation module 110 may generate a user-defined ERP function or edit a previously created user-defined ERP function. The driving module 120 may drive the user defined ERP function generated by the generating module 110 to provide the user with 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 the same with other users. Also, the sharing module 140 may share the user- Can be downloaded from the system 200.

상기 생성 모듈(110), 구동 모듈(120) 및 상기 공유모듈(140) 은 각각 독립된 물리적 장치의 형태로 구현될 수 있다. 또는 구현 예에 따라 상기 모듈(110, 120, 140)은 하나의 물리적 장치로 구현될 수도 있다. 후자의 경우, 세 모듈(110, 120, 140)은 각각 논리적으로 구분된 별도의 소프트웨어로 구성될 수 있으며, 하나의 통합된 소프트웨어의 형태로 구현될 수도 있다.The generating module 110, the driving module 120, and the sharing module 140 may be implemented as independent physical devices. Alternatively, the modules 110, 120, 140 may be implemented as a single physical device, according to embodiments. In the latter case, each of the three modules 110, 120, and 140 may be configured as separate logically separated software, or may be implemented as a single integrated software.

이하에서는 이해의 편의를 위하여 본 발명의 기술적 사상에 따른 사용자 정의 ERP 펑션의 생성 기능은 상기 생성 모듈(110)에 의해 수행되고, 생성된 사용자 정의 ERP 펑션을 구동하는 기능은 상기 구동 모듈(110)에 의해 수행되고, 사용자 정의 ERP 펑션 공유 기능은 상기 공유 모듈(140)에 의해 수행되는 것으로 설명하지만, 구현 예에 따라서는 도 1b과 는 달리, 상기 사용자 단말(100)은 본 발명의 기술적 사상에 따른 사용자 정의 ERP 펑션 생성 기능, 생성된 사용자 정의 ERP 펑션 구동 기능, 및 사용자 정의 ERP 펑션 공유 기능을 복합적으로 수행하는 하나의 시스템으로 구현될 수도 있다.Hereinafter, for the sake of convenience, the function of generating the user-defined ERP function according to the technical idea of the present invention is performed by the generation module 110, and the function of driving the generated user- And the user-defined ERP function sharing function is described as being performed by the sharing module 140, however, unlike FIG. 1B, the user terminal 100 may be configured in accordance with the technical idea of the present invention , A user-defined ERP function creation function, a user-defined ERP function creation function, and a user-defined ERP function sharing function.

사용자 정의 ERP 펑션은 ERP 시스템에 통합될 수 있으며, 그 자체로 독자적인 의미를 가지는 단위 기능일 수 있다. 사용자 정의 ERP 펑션은 DB(130)에 저장된 기업 정보를 관리, 조작, 이용, 분석하는 기능을 수행할 수 있다. 사용자가 이러한 기능을 수행할 수 있도록 커스터마이징된 UI(User Interface)를 제공할 수 있다. 즉 사용자는 사용자 정의 ERP 펑션이 제공하는 UI를 통해 DB(130)에 저장된 기업 정보를 관리, 조작, 이용, 분석할 수 있다.The user-defined ERP function can be integrated into the ERP system and can be a unit function that has its own meaning. The user-defined ERP function can manage, manipulate, use, and analyze enterprise information stored in the DB 130. A user interface (UI) customized to allow the user to perform such functions can be provided. That is, the user can manage, manipulate, use and analyze the enterprise information stored in the DB 130 through the UI provided by the user-defined ERP function.

사용자 정의 ERP 펑션의 예로 전표입력, 장부관리, 계정증감관리, 채권연령분석/관리, 결산관리, 제무제표, 자금/예산관리, 예산대비사용분석, 고정자산관리, 부가세신고관리, 금융계좌관리 등), 인사관리, 근태관리, 급여관리, 사회보험관리, 연말정산관리, 퇴직정산관리, 세무신고관리, 소득별전표처리, 일용직관리, 국내판매계획수립/관리, 견적/주문처리, 의뢰/검사관리, 출고/반품처리, 매출공헌도분석, 납품/배송관리, 임시출고/위탁관리, 매출정산, 전자세금계산서처리, 수금/채권관리, 채권연령분석, 수출계획수립/관리, 오더관리, 출고처리, 매출정산, 선적관리, 품의/발주처리, 선적/입고관리, 수입비용처리, 미착정산처리, 수입원가배부, MPS, 소요자재산출, 청구품의/발주, 입고의뢰/검사, 임시입고관리, 매입정산/회계, 지급/채무관리, 재고관리(LOT), 생산계획수립/관리, 자체생산관리, 혼함공정관리, 부산물/해체관리, 임가공생산관리, 투입지시관리, 외주생산관리, 서비스접수/처리, 서비스채권관리, 재무/손익분석, 손익/이익분석, 주요자금분석, 물류/생선요약분석, 특성별매출분석, 계절/분기별생산실적분석, 특성별근태분석, 급여/상여시뮬레이션, 계약관리, 현장관리, 도급/기성관리, 작업일보, 전도금/미지급관리, 노무장비관리, 마감정산관리, 노무신고관리, 외주기성관리, 원가손익관리 등을 들 수 있으나, 이 외에도 다양한 기능이 있을 수 있음은 물론이다.Examples of user-defined ERP functions are: input of documents, bookkeeping, account change management, bond age analysis / management, settlement management, statement of accounts, fund / budget management, budget use analysis, fixed asset management, , Personnel management, time and attendance management, salary management, social insurance management, year-end settlement management, retirement settlement management, tax report management, income slip processing, daily staff management, domestic sales planning establishment / management, Sales management, sales / settlement management, sales tax settlement, electronic tax bill processing, collection / bond management, bond age analysis, export planning establishment / management, order management, It is also possible to calculate the amount of goods to be delivered to the buyer through the process of sales settlement, shipment management, goods / order processing, shipment / receipt management, import cost processing, Accounting, Payments / Debt Management, Inventory Control (LOT) , Production planning / management, own production management, mixed process management, byproduct / disassembly management, production control of production, input instruction management, outsourced production management, service reception / processing, service bond management, financial / profit analysis, profit / profit analysis , Analysis of major funds, analysis of logistics / fish, analysis of sales by characteristics, analysis of seasonal and quarterly production results, analysis of characteristics by characteristics, salary / bonus simulation, contract management, field management, It is also possible to have a variety of other functions, such as unpaid management, labor equipment management, finishing settlement management, labor report management, outsourced management, and cost benefit management.

도 1b에 도시된 바와 같이, 상기 사용자 단말(100)은 상기 공유 시스템(200)과 네트워크를 통해 연결되어 본 발명의 기술적 사상을 구현하는데 필요한 각종 정보, 데이터, 신호 및/또는 메시지를 송수신할 수 있다.As shown in FIG. 1B, the user terminal 100 is connected to the sharing system 200 through a network and can exchange various information, data, signals, and / or messages necessary for implementing the technical idea of the present invention have.

상기 사용자 단말(100)은 사용자 정의 ERP 펑션 생성 기능을 통해 생성된 결과물을 상기 공유 시스템(200)으로 전송할 수 있으며, 상기 공유 시스템(200)은 다른 사용자들이 원하는 경우 이를 제공(전송)할 수 있다. 즉, 상기 공유 시스템(200)은 각각의 사용자들이 업로드한 사용자 정의 ERP 펑션을 다른 사용자와 공유할 수 있도록 하는 역할을 수행할 수 있다.The user terminal 100 can transmit the result created through the user-defined ERP function generation function to the sharing system 200, and the sharing system 200 can provide (transmit) . That is, the sharing system 200 can share the user-defined ERP function uploaded by each user with another user.

상기 ERP 펑션 생성 기능을 통해 생성되는 결과물은 ERP 파일, 적어도 하나의 SQL 파일, 디자인 파일을 포함할 수 있으며, 실시예에 따라서는 리포트 파일을 더 포함할 수도 있다.The result generated through the ERP function generation function may include an ERP file, at least one SQL file, and a design file, and may further include a report file according to an embodiment.

상기 ERD 파일은, DB(130)에 저장되는 테이블의 속성 및 각 테이블 간의 관계를 모델링한 정보를 저장하는 파일일 수 있다.The ERD file may be a file that stores information on attributes of a table stored in the DB 130 and information on modeling relationships between the tables.

ERD(Entity Relationship Diagram)란 가장 데이터 모델링을 하는 기법이며, 이 기법은 간단한 도형(사각형, 타원형, 다이아몬드 형 등)을 사용해 데이터의 구조와 관계에 대해 표현하며 데이터 개체 간의 관계 및 속성을 도형화하는 도구로서 가장 보편적으로 사용된다. 사용자는 ERD를 이용하여 데이터베이스의 관계를 도식으로 표현함으로써 이를 시각적으로 쉽게 이해할 수 있다. ERD의 구성요소로는 개체(Entity), 관계(Relationship), 속성(Attribute)이 있다. 개체는 데이터베이스에 저장할 정보의 주체 혹은 대상으로 분리된 물체 하나를 표현하는 것이다. 데이터베이스 모델링에서는 데이터베이스에 저장된 하나의 테이블이 하나의 개체일 수 있다. 관계는 두 개 이상의 개체들이 어떻게 서로 연관되어 있는지 나타낸다. 속성은 개체 또는 관계에 대한 특성을 기술하는 데이터 항목이며, 각 개체를 유일하게 식별할 수 있는 속성을 키 속성이라 한다.ERD (Entity Relationship Diagram) is the most data modeling technique. It uses simple shapes (rectangle, ellipse, diamond type, etc.) to express the structure and relationship of data. It is most commonly used as a tool. The user can visually understand the relationship of the database by using the ERD. The components of an ERD are Entity, Relationship, and Attribute. An entity is a representation of a separate entity as the subject or object of information to be stored in the database. In database modeling, a table stored in a database can be an object. A relationship indicates how two or more entities are related to each other. An attribute is a data item describing a characteristic of an entity or a relation. An attribute that uniquely identifies each entity is called a key property.

상기 SQL 파일은, 상기 DB(130)를 조작하기 위한 SQL(Structured Query Language) 퀴리를 저장하는 파일일 수 있다. 각각의 SQL 파일은 1 이상의 SQL 쿼리를 저장할 수 있다.The SQL file may be a file storing Structured Query Language (SQL) queries 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 create queries for searching and managing data stored in a database, creating and modifying database schemas, and managing database object access Can be used. SQL commands can be classified into three types according to their functions: data manipulation (DML), data definition (DDL), and data control (DCL). Data manipulation (DML) is a command used to transform or retrieve data in a database, such as INSERT (add data), UPDATE (update data), DELETE (delete data), SELECT (retrieve data). Data Definition (DDL) is a command that is used to transform a structure such as a table that contains data, such as CREATE (Create Table), DROP (Remove Table), and ALTER (Change Table, etc.). Data control (DCL) is a command that grants or revokes the authority to access the database, such as GRANT (user authorization) and REVOKE (user revocation).

상기 디자인 파일은 사용자 정의 ERP 펑션의 화면을 구성하는 적어도 하나의 컨트롤의 속성에 관한 정보를 저장하는 파일일 수 있다. 여기서 컨트롤은 정보를 표시하거나 사용자로부터 정보를 입력을 받는 등 사용자와의 인터렉션을 수행할 수 있는 UI 오브젝트일 수 있다.The design file may be a file that stores information about attributes of at least one control that constitutes a screen of a user-defined ERP function. Here, the control may be a UI object capable of performing an interaction with a user such as displaying information or receiving information from a user.

한편, 상기 사용자 정의 ERP 펑션의 화면을 구성하는 컨트롤 중 적어도 일부는 상기 적어도 하나의 SQL 파일에 포함된 특정 쿼리에 매핑되는 컨트롤일 수 있으며, 이하에서는 이러한 컨트롤을 그리드 컨트롤이라고 칭하기로 한다.At least a part of the controls constituting the screen of the user-defined ERP function may be a control mapped to a specific query included in the at least one SQL file. Hereinafter, such a control will be referred to as a grid control.

상기 리포트 파일은 리포트 전자문서를 구성하는 복수의 컨트롤의 속성에 관한 정보 및 각 컨트롤에 바인딩된 데이터에 관한 정보를 포함할 수 있다.The report file may include information on attributes of a plurality of controls constituting a report electronic document and information on data bound to each control.

도 2는 본 발명의 일 실시예에 따른 생성 모듈(110)이 사용자 정의 ERP 펑션을 생성하는 과정을 간략하게 도시한 도면이다.FIG. 2 is a view illustrating a process of generating a user-defined ERP function by the generation module 110 according to an exemplary embodiment of the present invention.

도 2를 참조하면, 상기 생성 모듈(110)은 ERD 파일에 상응하는 UI 오브젝트, 적어도 하나의 SQL 파일 각각에 상응하는 UI 오브젝트 및 디자인 파일에 상응하는 UI 오브젝트를 포함하는 컨테이너 UI를 제공할 수 있으며(S110), 사용자는 컨테이너 UI에 포함된 UI 오브젝트 중 어느 하나를 선택할 수 있다(S120).2, the generation module 110 may provide a container UI including a UI object corresponding to an ERD file, a UI object corresponding to at least one SQL file, and a UI object corresponding to a design file, (S110), the user can select any of the UI objects included in the container UI (S120).

상기 ERD 파일에 상응하는 UI 오브젝트가 선택되는 경우, 상기 생성 모듈(110)은 상기 ERD 파일을 편집하기 위한 ERD 파일 편집 기능을 제공할 수 있다(S130).If 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).If 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).If 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 파일, 디자인 파일, 리포트 파일을 생성하거나 편집할 수 있다.Meanwhile, the generation module 110 may provide an integrated development environment so that a user can create and customize a user-specified ERP function. Using the provided integrated development environment, users can create or edit ERD files, SQL files, design files, and report files necessary for running user-specified ERP functions.

사용자는 상기 생성 모듈(110)을 통하여 복수의 사용자 지정 ERP 펑션을 생성할 수 있다, 이때 복수의 사용자 지정 ERP 펑션은 각각 그에 상응하는 하나의 프로젝트로 관리될 수 있다. 각각의 프로젝트는 적어도 하나의 SQL 파일 및 디자인 파일을 포함하는 패키지 혹은 컨테이너일 수 있다.A user can create a plurality of user-specified ERP functions through the creation module 110, wherein a plurality of user-specified ERP functions can be managed as one corresponding project, respectively. Each project can be a package or a container that contains at least one SQL file and a design file.

복수의 프로젝트가 존재하는 경우에도 ERD 파일은 1개일 수 있다. 이 경우 상기 복수의 프로젝트에 의해 생성되는 복수의 사용자 지정 ERP 펑션은 1개의 공통된 ERD 파일을 이용할 수 있다.Even if there are multiple projects, there can be only one ERD file. In this case, a plurality of user-specified ERP functions generated by the plurality of projects can use one common ERD file.

이하에서는 사용자가 통합 개발환경을 통해 사용자 지정 ERP 펑션을 생성/편집하는 방법에 관하여 보다 상세하게 설명하기로 한다.Hereinafter, a method for a user to create / edit a custom ERP function through an 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. Referring to FIG.

도 3을 참조하면, 상기 통합 개발 환경 UI(1000)는 메뉴(1100), 프로젝트 윈도우(1200), 데이터베이스 탐색 윈도우(1300), 편집기 윈도우(1400), 도구상자 윈도우(1500), 속성 윈도우(1600), 스크립트 윈도우(1700)을 포함할 수 있다.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, an attribute window 1600 ), And 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 functions frequently used by the 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 (e.g., an icon) corresponding to the ERD file, a UI object corresponding to at least one SQL file, and a UI object corresponding to the design file.

도 4는 프로젝트 윈도우(1200)의 일 예를 도시한 도면이다.4 is a diagram showing an example of a project window 1200. [

도 4에 도시된 바와 같이, 상기 프로젝트 윈도우(1200)에는 ERD 파일에 상응하는 UI 오브젝트(1211)가 표시될 수 있으며, 사용자에 의해 상기 ERD 파일에 상응하는 UI 오브젝트(1211)가 선택되는 경우(예를 들면, 해당 UI 오브젝트가 클릭, 더블클릭, 터치되는 경우 등) 상기 생성 모듈(110)은 상기 ERD 파일을 편집하기 위한 ERD 파일 편집 기능을 제공할 수 있다. 상기 생성 모듈(110)은 ERD 파일 편집 기능을 제공하기 위하여 상기 편집기 윈도우(1400)에 ERD 파일을 편집하기 위한 UI를 디스플레이할 수 있으며 사용자는 편집기 윈도우(1400)에 표시된 UI 상에서 ERD 파일을 편집할 수 있다.4, a UI object 1211 corresponding to an ERD file may be displayed in the project window 1200. When a UI object 1211 corresponding to the ERD file is selected by the user For example, when the UI object is clicked, double-clicked, or touched, the creation module 110 may provide an ERD file editing function for editing the ERD file. The creation module 110 may display a UI for editing the 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 .

상기 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 can 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 is added to the lower level of the ERD container UI object 1210 . At this time, the newly created ERD file may be a blank file that contains no information.

상기 프로젝트 윈도우(1200)에는 적어도 하나의 프로젝트 각각에 상응하는 UI 오브젝트(1201, 1202, 1203)가 표시될 수 있으며, 각각의 프로젝트는 서로 다른 사용자 정의 ERP 펑션에 대응될 수 있다.In the project window 1200, UI objects 1201, 1202, and 1203 corresponding to 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 and a design file, at least one report file, and the project window 1200 may include at least one project (for example, UI objects 1221 and 1222 corresponding to the respective SQL files of the report file, a UI object 1231 corresponding to each of at least one report file, and a UI object 1241 corresponding to the design file.

적어도 하나의 SQL 파일 각각에 상응하는 UI 오브젝트(1221, 1222)는 SQL 컨테이너 UI 오브젝트(1220)의 하위레벨로 표시될 수 있다. 사용자는 SQL 컨테이너 UI 오브젝트(1220)와 소정의 방식으로 상호작용하여 새로운 SQL 파일을 생성할 수 있으며, 새로 생성된 SQL 파일에 상응하는 UI 오브젝트는 SQL 컨테이너 UI 오브젝트(1220)의 하위레벨로 추가될 수 있다. 이때 새로 생성된 SQL 파일은 아무런 정보도 포함하지 않는 빈 파일일 수 있다.UI objects 1221 and 1222 corresponding to 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 a predetermined manner to generate a new SQL file and the UI object corresponding to the newly generated SQL file is added to the lower level of the SQL container UI object 1220 . At this time, the newly created SQL file may be an empty file containing no information.

적어도 하나의 리포트 파일 각각에 상응하는 UI 오브젝트(1231)는 리포트 컨테이너 UI 오브젝트(1230)의 하위레벨로 표시될 수 있다. 사용자는 리포트 컨테이너 UI 오브젝트(1230)와 소정의 방식으로 상호작용하여 새로운 리포트 파일을 생성할 수 있으며, 새로 생성된 리포트 파일에 상응하는 UI 오브젝트는 리포트 컨테이너 UI 오브젝트(1230)의 하위레벨로 추가될 수 있다. 이때 새로 생성된 리포트 파일은 아무런 정보도 포함하지 않는 빈 파일일 수 있다.A UI object 1231 corresponding to each of at least one report file may be displayed at a lower level of the report container UI object 1230. [ The user can 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 is added to the lower level of the report container UI object 1230 . At this time, the newly created report file may be an empty file containing no information.

한편, 사용자에 의해 상기 적어도 하나의 SQL 파일 중 어느 하나에 상응하는 UI 오브젝트(예를 들면, 1221)가 선택되는 경우, 상기 생성 모듈(110)은 선택된 UI 오브젝트(1221)에 상응하는 SQL 파일을 편집하기 위한 SQL 파일 편집 기능을 제공할 수 있다. 상기 생성 모듈(110)은 SQL 파일 편집 기능을 제공하기 위하여 상기 편집기 윈도우(1400)에 SQL 파일을 편집하기 위한 UI를 디스플레이할 수 있으며 사용자는 편집기 윈도우(1400)에 표시된 UI 상에서 SQL 파일을 편집할 수 있다.Meanwhile, when a UI object (for example, 1221) corresponding to any one of the at least one SQL file is selected by the user, the generation module 110 generates an SQL file corresponding to the selected UI object 1221 You can provide SQL file editing functions for editing. The creation 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 .

또한 사용자에 의해 상기 적어도 하나의 리포트 파일 중 어느 하나(예를 들어 1231)에 상응하는 UI 오브젝트가 선택되는 경우, 상기 생성 모듈(110)은 리포트 전자문서를 편집하기 위한 리포트 편집 UI를 제공할 수 있다. 상기 생성 모듈(110)은 리포트 파일 편집 기능을 제공하기 위하여 상기 편집기 윈도우(1400)에 리포트 파일을 편집하기 위한 UI를 디스플레이할 수 있으며 사용자는 편집기 윈도우(1400)에 표시된 UI 상에서 리포트 파일을 편집할 수 있다.Also, when a UI object corresponding to one of the at least one report files (for example, 1231) is selected by the user, the generating module 110 may provide a report editing UI for editing a report electronic document have. The creation 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 the report file on the UI displayed in the editor window 1400 .

또한 사용자에 의해 디자인 파일에 상응하는 UI 오브젝트가(1241)가 선택되는 경우, 상기 생성 모듈(110)은 상기 디자인 파일을 편집하기 위한 디자인 파일 편집 기능을 제공할 수 있다. 상기 생성 모듈(110)은 디자인 파일 편집 기능을 제공하기 위하여 상기 편집기 윈도우(1400)에 디자인 파일을 편집하기 위한 UI를 디스플레이할 수 있으며 사용자는 편집기 윈도우(1400)에 표시된 UI 상에서 디자인 파일을 편집할 수 있다.Also, when a UI object 1241 corresponding to a design file is selected by the user, the creation module 110 may provide a design file editing function for editing the design file. The creation module 110 may display a UI for editing a 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 .

한편, 사용자는 특정 프로젝트에 상응하는 UI 오브젝트(예를 들면, 1202)와 소정의 방식으로 상호작용하여 새로운 디자인 파일을 생성할 수 있으며, 새로 생성된 디자인 파일에 상응하는 UI 오브젝트는 상기 프로젝트에 상응하는 UI 오브젝트(1202)의 하위레벨로 추가될 수 있다. 이때 새로 생성된 디자인 파일은 아무런 정보도 포함하지 않는 빈 파일일 수 있다.Meanwhile, the user can interact with the UI object corresponding to the specific project (for example, 1202) in a predetermined manner to generate a new design file, and the UI object corresponding to the newly created design file corresponds to the project The UI object 1202 may be added at a lower level. At this time, the newly created design file may be an empty file containing no information.

위에서는 상기 생성 모듈(110)이 통합 개발 환경 UI(1000)에 포함된 편집기 윈도우(1400)상에 각각의 파일 편집 기능을 제공하는 예에 관하여 설명하였으나, 실시예에 따라서 상기 생성 모듈(110)은 각각의 파일 편집 기능에 상응하는 별도의 애플리케이션을 실행할 수 있으며, 이 경우 사용자는 실행된 애플리케이션 상에서 각각의 파일을 편집할 수도 있다.Although the above description has been made with respect to an example in which the creation module 110 provides each file editing function on the editor window 1400 included in the integrated development environment UI 1000, May execute separate applications corresponding to their respective file editing functions, in which case the user may edit each file on the executed application.

도 5는 데이터베이스 탐색 윈도우(1300)의 일 예를 도시한 도면이다.5 is a diagram showing an example of the database search window 1300. In FIG.

도 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 (e.g., 1310) may have UI objects (1311 to 1313) indicating at least one schema at a lower level. A schema can be a container that contains objects such as tables, stored procedures, and the like in a database, a structure that defines the structure of data, a method of expressing data, a structure that defines the relationship between data in a format language, or a namespace. Therefore, a UI object corresponding to each object such as a table or a stored procedure included in the corresponding schema at a lower level of the UI object indicating a specific schema can be provided.

테이블은 각 데이터들을 저장하는 항목인 필드들로 구성된 데이터의 집합체를 의미하며, 하나의 데이터베이스는 여러 개의 테이블로 구성될 수 있다. 저장 프로시저 또는 스토어드 프로시저(stored procedure)는 일련의 쿼리를 마치 하나의 함수처럼 실행하기 위한 쿼리의 집합이며, 데이터베이스에 대한 일련의 작업을 정리한 절차를 데이터베이스 관리 시스템에 저장한 것으로, 영구저장모듈(Persistent Storage Module)이라고도 불린다.A table means a collection of data composed of fields that are items for storing each data, and one database can be composed of several tables. A stored procedure or a stored procedure is a set of queries for executing a series of queries as if they were a single function. It stores the procedures for organizing a series of operations on the database in a database management system. Also called a module (Persistent Storage Module).

편집기 윈도우(1400)에는 사용자가 선택한 파일의 종류에 따라 그에 상응하는 편집 UI가 표시될 수 있다.In the editor window 1400, an edit UI corresponding to the type of the file selected by the user can be displayed.

도 6은 상기 생성 모듈(110)이 ERD 파일 편집 기능을 수행하는 과정을 개략적으로 도시한 흐름도이다.FIG. 6 is a flowchart schematically illustrating a process of the ERD file editing function of the generating module 110. Referring to FIG.

도 6을 참조하면, 사용자가 ERD 파일에 상응하는 오브젝트를 선택한 경우, 상기 생성 모듈(110)은 ERD 파일 편집 UI를 제공할 수 있다(S131). 일 실시예에서, 상기 생성 모듈(110)은 상기 편집기 윈도우(1400)에 ERD 파일 편집 UI를 표시할 수 있다. 이때 상기 ERD 파일 편집 UI는 데이터베이스 테이블의 구조를 나타내는 테이블 구조 UI 오브젝트 및 테이블 간의 관계를 나타내는 관계 UI 오브젝트를 포함할 수 있다.Referring to FIG. 6, if the user selects an object corresponding to the ERD file, the creation module 110 may provide an ERD file editing UI (S131). In one embodiment, the creation module 110 may display an ERD file editing UI in the editor window 1400. At this time, the ERD file editing UI may include a table structure UI object indicating the structure of the database table and a relation UI object indicating the relationship between the tables.

이후 상기 생성 모듈(110)은 상기 ERD 파일 편집 UI 상에서 사용자의 입력에 따라 테이블 스키마 및 테이블 스키마간의 관계를 변경할 수 있으며(S132). 변경이 완료된 경우, 변경된 테이블 구조 및 테이블간의 관계를 상기 ERD 파일에 반영할 수 있다(S133)Then, the creation module 110 can change the relationship between the table schema and the table schema according to the user's input on the ERD file editing UI (S132). When the change is completed, the changed table structure and the relationship between the tables can 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.

상기 생성 모듈(110)은 사용자가 선택한 ERD 파일 오브젝트에 상응하는 ERD 파일의 내용에 기초하여 상기 편집기 윈도우(1400)를 통해 ERD 파일 편집 UI(2000)를 제공할 수 있다.The creation module 110 may provide the ERD file editing UI 2000 through the editor window 1400 based on the content of the ERD file corresponding to the ERD file object selected by the user.

도 7은 ERD 파일 편집 UI(2000)의 일 예를 도시한 도면이다.7 is a diagram showing an example of the ERD file editing UI 2000. As shown in FIG.

도 7에 도시된 바와 같이 ERD 파일 편집 UI(2000)는 신규 테이블 생성하기 위한 버튼, 신규 관계 생성 버튼, 변경된 사항을 DB(130)에 반영하기 위한 버튼을 포함하는 툴바UI(2100)를 포함할 수 있다. 또한 상기 ERD 파일 편집 UI(2000)는 데이터베이스 테이블의 구조를 나타내는 테이블 구조 UI 오브젝트(예를 들어, 2210, 2220, 2230)) 및 테이블 간의 관계를 나타내는 관계 UI 오브젝트(예를 들어, 2310, 2320)를 포함할 수 있다.7, the ERD file editing UI 2000 includes 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 . The ERD file editing UI 2000 also includes a table structure UI object 2210, 2220, 2230 indicating the structure of the database table and a relationship UI object 2310, 2320 indicating the relationship between the tables, for example. . ≪ / RTI >

테이블 구조 UI 오브젝트(2210, 2220, 2230)에는 테이블에 포함된 각각의 컬럼 정보가 표시될 수 있다. The table structure UI objects 2210, 2220, and 2230 may display the respective column information included in the table.

관계 UI 오브젝트(2310, 2320)는 두 개의 테이블 구조 UI 오브젝트(2100, 2110)를 연결하는 선의 형태일 수 있다. 관계 UI 오브젝트는 두 테이블 간의 관계가 식별관계 혹은 비식별관계인가에 따라 서로 다른 형태(예를 들면, 실선이나 점선)로 표현될 수 있다.The relationship UI objects 2310 and 2320 may be in the form of lines connecting the two table structure UI objects 2100 and 2110. Relational UI objects may be represented in different forms (e.g., solid or dashed lines) depending on whether the relationship between the two tables is an identity relationship or a non-identity relationship.

상기 생성 모듈(110)은 상기 ERD 파일 편집 UI 상에서 사용자의 입력에 따라 테이블 구조 및 테이블 구조간의 관계를 변경할 수 있다.The generation module 110 may change the relationship between the table structure and the table structure according to the user's input on the ERD file editing UI.

사용자는 ERD 파일 편집 UI(2000) 상에 신규 테이블 UI 오브젝트를 생성할 수 있다.The user can 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 can create a UI object corresponding to the table created in the DB 130. [ For this purpose, the user can select a UI object corresponding to the specific table displayed in the database search window 1300 or input commands such as dragging and dropping onto the ERD file editing UI 2000, In response, the creation module 110 may create a new table UI object corresponding to the corresponding table in the ERD file editing UI 2000. Alternatively, the user may select a new table creation UI provided by the ERD file editing UI 2000 to create a UI object corresponding to the new table.

한편, 사용자는 ERD 파일 편집 UI(2000) 상에 존재하는 테이블 UI 오브젝트를 삭제하거나 해당 테이블 UI 오브젝트를 통하여 테이블의 구조를 변경(예를 들어, 컬럼의 추가/삭제/변경 혹은 테이블의 속성 변경)할 수도 있다.Meanwhile, 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, adding / deleting / changing the column or changing the attribute of the table) You may.

또한 사용자는 ERD 파일 편집 UI(2000) 상에 존재하는 테이블 UI 오브젝트간의 관계를 나타내는 새로운 관계 UI 오브젝트를 생성할 수 있다. 예를 들어 사용자는 상기 ERD 파일 편집 UI(2000)가 제공하는 신규 관계 생성을 위한 버튼을 선택한 후, 관계를 맺고자 하는 두 테이블을 선택함으로써 선택한 두 테이블간의 관계를 나타내는 새로운 관계 UI 오브젝트를 생성할 수 있다.The user can also create a new relationship UI object that indicates the relationship between the table UI objects existing on the ERD file editing UI 2000. For example, the user selects a button for creating a new relation provided by the ERD file editing UI 2000, and then creates a new relation UI object indicating a relationship between the two tables selected by selecting two tables to be related to each other .

한편, 사용자는 ERD 파일 편집 UI(2000) 상에 존재하는 관계 UI 오브젝트를 삭제하거나, 관계 UI 오브젝트를 통하여 관계 정보를 변경할 수도 있다.On the other hand, the user can delete the related UI object existing on the ERD file editing UI 2000 or change the related information through the related UI object.

한편 위와 같은 과정을 통해 데이터베이스 모델링이 변경 후, 예를 들어 사용자가 소정의 저장 버튼을 누른 경우, 상기 생성 모듈(110)은 변경된 테이블 스키마 및 테이블 스키마간의 관계를 상기 ERD 파일에 반영할 수 있다.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 it in the relationship DB 130 between the changed table schema and the table schema.

도 8은 상기 생성 모듈(110)이 SQL 파일 편집 기능을 수행하는 과정을 개략적으로 도시한 흐름도이다.FIG. 8 is a flowchart schematically illustrating a process of the SQL module 110 executing the SQL file editing function.

도 8을 참조하면, 사용자가 SQL 파일에 상응하는 오브젝트를 선택한 경우, 상기 생성 모듈(110)은 SQL 편집 UI를 제공할 수 있다(S141). 일 실시예에서, 상기 생성 모듈(110)은 상기 편집기 윈도우(1400)에 SQL 편집 UI를 표시할 수 있다.Referring to FIG. 8, if the user selects an object corresponding to the SQL file, the generation module 110 may provide a SQL editing UI (S141). In one embodiment, the creation module 110 may display a SQL edit UI in the editor window 1400.

이후 상기 생성 모듈(110)은 상기 SQL 편집 UI 상에서 사용자의 입력에 따라 SQL 쿼리를 변경할 수 있으며(S142). 변경이 완료된 경우, 변경된 쿼리를 상기 SQL 파일에 반영할 수 있다(S143).Then, the creation module 110 can change the SQL query according to the user's input on the SQL edit UI (S142). When the change is completed, the changed query can 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.

사용자가 SQL 파일에 상응하는 오브젝트를 선택한 경우, 상기 편집기 윈도우(1400)에는 SQL 파일 편집 UI(3000)가 표시될 수 있다. 즉, 상기 생성 모듈(110)은 상기 편집기 윈도우(1400)를 통해 사용자가 선택한 SQL 파일 오브젝트에 상응하는 SQL 파일의 내용이 표시된 SQL 파일 편집 UI(3000)를 제공할 수 있다.If 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 creation module 110 may provide the SQL file edit 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 showing an example of the SQL file editing UI 3000. As shown in FIG.

도 9에 도시된 바와 같이, 상기 SQL 파일 편집 UI(3000)는 연결할 DB를 선택하기 위한 UI, 해당 DB와 연결을 수행하기 위한 버튼, 연결을 해제하기 위한 버튼, 작성된 쿼리가 Insert 또는 Update인지를 선택하기 위한 UI를 포함하는 툴바UI(3100)를 포함할 수 있다.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 disconnecting a connection, And a toolbar UI 3100 including a UI for selection.

또한 상기 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 the parameter variable name when creating the query. For example, the parameter variable name can be in the form of '@ variable name'. The parameter variable name can be used to link the query with the control on the function screen edit UI described below. To do so, at least some of the controls contained in the design file may be mapped to the parameter variable names. On the other hand, 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, the data inputted to the control mapped to the parameter variable name may be assigned 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 the created query, and the SQL file editing UI 3000 may include a result display UI 3300 for displaying the execution result. On the result display UI 3300, the structure of the table and the data inquired by the query can be displayed.

한편 위와 같은 과정을 통해 SQL 쿼리가 변경이 완료되면, 예를 들어 사용자가 소정의 저장 버튼을 누른 경우, 상기 생성 모듈(110)은 변경된 SQL 쿼리를 상기 SQL 파일에 반영할 수 있다.Meanwhile, when the SQL query is changed through the above process, for example, when the user presses a predetermined storage button, the generation module 110 may reflect the changed SQL query in the SQL file.

도 10은 상기 생성 모듈(110)이 디자인 파일 편집 기능을 수행하는 과정을 개략적으로 도시한 흐름도이다.10 is a flowchart schematically illustrating a process of the design module 110 performing a design file editing function.

도 10을 참조하면, 사용자가 디자인 파일에 상응하는 오브젝트를 선택한 경우, 상기 생성 모듈(110)은 디자인 파일 편집 UI를 제공할 수 있다(S151). 일 실시예에서, 상기 생성 모듈(110)은 상기 편집기 윈도우(1400)에 디자인 파일 편집 UI를 표시할 수 있다.Referring to FIG. 10, when the user selects an object corresponding to the design file, the creation module 110 may provide a design file edit UI (S151). In one embodiment, the creation module 110 may display a design file edit UI in the editor window 1400.

이후 상기 생성 모듈(110)은 상기 디자인 파일 편집 UI 상에서 사용자의 입력에 따라 상기 사용자 정의 ERP 펑션의 화면을 구성하는 컨트롤 및 각 컨트롤의 속성을 변경할 수 있다(S152). In step S152, the creation module 110 may change the attributes of the control and the controls for configuring the screen of the user-defined ERP function according to a user's input on the design file editing UI.

이후 상기 생성 모듈(110)은 변경된 상기 사용자 정의 ERP 펑션의 화면을 구성하는 컨트롤, 변경된 각 컨트롤의 속성, 변경된 컨트롤과 쿼리간의 매핑 정보를 상기 디자인 파일에 반영할 수 있다(S153).In step S153, the creation module 110 may reflect the control on the screen of the changed user-defined ERP function, the attributes of the changed control, and the mapping information between the changed control and the query in the design file.

이하에서는 도 11 내지 도 14를 참조하여, 도 10의 과정을 보다 상세히 설명한다.Hereinafter, the process of FIG. 10 will be described in more detail with reference to FIGS. 11 to 14. FIG.

사용자가 디자인 파일에 상응하는 오브젝트를 선택한 경우, 상기 편집기 윈도우(1400)에는 디자인 파일 편집 UI가 표시될 수 있다. 즉, 상기 생성 모듈(110)은 사용자가 선택한 디자인 파일 오브젝트에 상응하는 디자인 파일에 기초하여 상기 편집기 윈도우(1400)를 통해 디자인 파일 편집 UI를 제공할 수 있다.If the user selects an object corresponding to the design file, a design file editing UI may be displayed in the editor window 1400. That is, the creation module 110 may provide a design file edit 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 showing an example of the design file editing UI 4000. In FIG.

상기 디자인 파일 편집 UI(4000)에는 디자인 파일에 기 정의되어 있는 각종 컨트롤(예를 들어, 4010 내지 4040)이 표시될 수 있다.Various controls (for example, 4010 to 4040) previously defined in the design file can be displayed in the design file edit UI 4000. [

사용자는 디자인 파일 편집 UI(4000)에 표시된 컨트롤을 삭제하거나 배치를 변경하거나 크기와 같은 외형적 요소를 변형할 수 있다.The user can delete the controls 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 a new control to the design file edit UI 4000. To this end, the creation module 110 may provide a toolbox window 1500 for selecting various controls. 12 is a view showing an example of the tool box window 1500. Fig.

도 12에 도시된 바와 같이, 도구상자 윈도우(1500)는 다양한 형태의 컨트롤을 포함할 수 있으며 사용자는 원하는 컨트롤을 선택하거나 디자인 파일 편집 UI(4000)로 드래그 앤 드랍하여 해당 컨트롤을 디자인 파일 편집 UI(4000)에 배치할 수 있다.As shown in FIG. 12, the tool box window 1500 may include various types of controls, and the user may select a desired control or drag and drop the control to the design file editing UI 4000, (4000).

한편, 상기 도구상자 윈도우(1500)에는 각종 컨트롤이 소정의 분류기준에 따라 특정한 카테고리로 분류되어 있을 수 있다. 예를 들어, 도 2f에 도시된 바와 같이 GUI에서 일반적으로 이용되는 공용 컨트롤(1510), ERP 분야에서 특수하게 사용되는 비즈니스 컨트롤(1520), 데이터 컨트롤(1530), 화면의 레이아웃을 구성하며 다른 컨트롤의 컨테이너 역할을 수행하는 레이아웃 컨트롤(1550), 팝업 컨트롤(1570) 등으로 구분될 수 있다.Meanwhile, in the tool box window 1500, various controls may be classified into specific categories according to predetermined classification criteria. Common controls 1510 commonly used in GUIs, business controls 1520 specifically used in the ERP field, data controls 1530, as shown in Figure 2F, for example, A layout control 1550 and a pop-up control 1570, which serve as a container for the user.

특히 데이터 컨트롤 카테고리(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') can perform a function of displaying data inquired by an SQL query. A data control can have a Flex Grid that displays in the form of a data grid that is queried by an SQL query, a Pivot Grid that displays it in a pivot table format, and a chart grid (Chard Grid) that displays in the form of a chart. have. In addition, there are various types of data controls. An example of a flex grid is the data control 4040 of FIG.

한편 사용자가 디자인 파일 편집 UI(4000)에 배치되어 있는 컨트롤을 소정의 방식으로 선택(예를 들어, 클릭)하는 경우 속성 윈도우(1600)에 선택된 컨트롤의 속성값이 표시될 수 있으며 사용자는 속성 윈도우(1600)에 나타난 컨트롤의 속성값을 변경할 수 있다. 도 13은 속성 윈도우(1600)의 일 예를 도시한 도면이다.On the other hand, when the user selects (for example, clicks) a control placed 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, It is possible to change the value of the property of the control shown in (1600). Fig. 13 is a diagram showing an example of the attribute window 1600. Fig.

또한 사용자가 사용자가 디자인 파일 편집 UI(4000)에 배치되어 있는 컨트롤을 소정의 방식으로 선택(예를 들어, 더블 클릭)하는 경우 스크립트 윈도우(1700)에는 특정 이벤트가 발생시 수행되어야 할 액션을 나타내는 메소드 스크립트가 표시될 수 있으며, 사용자는 스크립트 윈도우(1700)에 나타난 메소드 스크립트를 작성/편집할 수 있다. 도 14는 스크립트 윈도우(1700)의 일 예를 도시한 도면이다.Also, when the user selects (for example, double-clicks) a control disposed in the design file editing UI 4000 in a predetermined manner, the script window 1700 displays a method indicating an action to be performed when a specific event occurs The script may be displayed and the user may create / edit the method script displayed in the script window 1700. Fig. 14 is a diagram showing an example of the script window 1700. Fig.

도 14에 도시된 바와 같이 스크립트 윈도우(1700)는 디자인 파일 편집 UI(4000)에 배치된 컨트롤 중 어느 하나를 선택하기 위한 UI(1710), 컨트롤에 발생할 수 있는 이벤트를 선택하기 위한 UI(1720), 선택된 컨트롤에 선택된 이벤트가 발생하는 경우에 실행될 메소드 스크립트를 작성하기 위한 UI(1730)를 포함할 수 있다.14, the script window 1700 includes a UI 1710 for selecting any one of the controls arranged in the design file editing UI 4000, a UI 1720 for selecting an event that can occur in the control, And a UI 1730 for creating a method script to be executed when a selected event occurs in the selected control.

한편 위와 같은 과정을 통해 상기 사용자 정의 ERP 펑션의 화면을 구성하는 컨트롤과 각 컨트롤의 속성, 및/또는 메소드 스크립트가 변경되면, 예를 들어 사용자가 소정의 저장 버튼을 누른 경우, 상기 생성 모듈(110)은 변경 사항을 상기 디자인 파일에 반영할 수 있다.If the control for configuring 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 storage button, ) May reflect changes to 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 generates a SQL mapping UI for mapping at least a part (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 And map at least a part of the controls displayed in the design file editing UI to a specific query included in the at least one SQL file according to a user's input on the SQL mapping UI. 15A to 15E are views showing 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 showing a current SQL mapping state. The SQL mapping UI 5000 shown 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 predetermined data control. Through the SQL mapping UI (5000), the user can map the parameters described in the SQL query and the input control (the control that can receive data from the user) and map the SQL query and the data control to display the result by the query can do. In addition, a separate query can be set up when the user changes the value displayed on the data control or adds / deletes the column, which will be described in more 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 FIG. 15A, when the 'query setting' 5020 of the SQL query is selected, the UI 5100 shown in FIG. 15B may be displayed. On the UI 5100 as shown in FIG. 15B, the user can map each parameter variable name included in the SQL statement to specific controls (for example, 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) performing the function of receiving data from the user. As shown in FIG. 15B, the UI 5100 may include a list 5110 that lists each parameter variable name included in the SQL statement. The UI 5100 may include a parameter variable name and a UI for selecting a control to be mapped 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 to bpComboBox1 (4010) and @keyword is mapped to textBoxExt1 (4030). As described above, when the parameter variable name in the SQL query is mapped to the specific control included in the design file editing UI 4000, the data input to the control mapped to the parameter variable name at the execution time of the pepper SQL query is Can be input to 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 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 (for example, 4040) to be mapped to the SQL query.

또한 상기 UI(5200)은 SQL 쿼리를 통해 조회될 DB 테이블에 포함된 컬럼 중 사용/출력할 컬럼을 선택하거나 표시 순서를 조정하거나 각 필드의 표시 형식을 설정하는 등 커스터마이징을 수행하기 위한 UI(5220)을 더 포함할 수 있다.The UI 5200 also includes a UI 5220 for performing customization such as selecting columns to be used / output among the columns included in the DB table to be inquired through the SQL query, adjusting the display order, setting the display format of each field, ). ≪ / RTI >

도 15a에서 '바인딩 설정'(5040)을 선택하는 경우 도 15d와 같은 UI(5300)가 디스플레이될 수 있다. 도 15d와 같은 UI(5300) 상에서 사용자는 상기 디자인 파일 편집 UI(4000)에 포함된 특정 컨트롤과 SQL 쿼리를 통해 조회될 DB 테이블에 포함된 컬럼을 매핑할 수 있다.When selecting the 'Binding configuration' 5040 in FIG. 15A, the UI 5300 shown in FIG. 15D may be displayed. On the UI 5300 as shown in FIG. 15D, the user can map the column included in the DB table to be inquired through the SQL query with the specific control included in the design file edit UI 4000.

도 15a에서 '저장 설정'(5050)을 선택하는 경우 도 15e와 같은 UI(5400)가 디스플레이될 수 있다. 도 15e와 같은 UI(5400)는 데이터 컨트롤을 통해 삽입된 레코드를 데이터베이스에 삽입하기 위한 SQL 쿼리를 선택하기 위한 UI(5410), 데이터 컨트롤 상에서 변경된 데이터를 업데이트하기 위한 쿼리를 선택하기 위한 UI(5420), 레코드의 삭제를 수행하기 위한 쿼리를 선택하기 위한 UI(5430)를 포함할 수 있다.In the case of selecting the 'storage setting' 5050 in FIG. 15A, the UI 5400 shown in FIG. 15E can be displayed. UI 5400 shown in FIG. 15E includes a UI 5410 for selecting an SQL query for inserting a record inserted through data control into a database, a UI 5420 for selecting a query for updating data changed on data control ), And a UI 5430 for selecting a query to perform deletion of records.

도 16은 상술한 매핑 과정을 개략적으로 나타내는 흐름도이다.16 is a flowchart schematically showing the mapping process described above.

일 실시예에서, 상기 생성 모듈(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 parameter may be analyzed to obtain the 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 the input of the user, the creation module 110 may map each displayed parameter parameter name to the control (for example, 4010 or 4030) displayed in the design file edit UI 4000 (S240).

또한 상기 생성 모듈(110)은 사용자의 입력에 의해 선택된 상기 SQL 쿼리를 상기 디자인 파일 편집 UI(4000)에 표시된 어느 하나의 데이터 컨트롤(예를 들어 4040)과 매핑할 수 있다(S240, S250).The generation module 110 may map the SQL query selected by the user's input to any data control (e.g., 4040) displayed in the design file edit UI 4000 (S240, S250).

다시 도 1b를 참조하면, 상기 구동 모듈(120)은 상기 생성 모듈(110)에 의해 생성된 사용자 정의 ERP 펑션을 구동하여 사용자에게 상기 사용자 정의 ERP 펑션을 제공할 수 있다.Referring again to FIG. 1B, the driving module 120 may drive the user-defined ERP function generated by the generation module 110 to provide the user with the user-defined ERP function.

상술한 바와 같이 상기 생성모듈(110)은 사용자 정의 ERP 펑션에 상응하는 적어도 하나의 SQL 파일 및 디자인 파일을 생성할 수 있으며, 상기 구동 모듈(120)은 이를 해석하여 사용자 정의 ERP 펑션을 구동할 수 있다. 상기 구동 모듈(120)은 일종의 메타데이터나 스크립트 등을 입력받고 그에 상응하는 동작을 수행하는 일종의 엔진일 수 있다.As described above, the generating 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 same to drive a user-defined ERP function have. The driving module 120 may be a kind of engine that receives a kind of meta data or a script and performs a corresponding operation.

예를 들어 상기 구동모듈(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 using information on various controls included in the design file, and display the screen. In addition, when the user inputs a command or data specific to the control, the driving module 120 may perform a corresponding method, script, or built-in function. The driving module 120 may execute the SQL query mapped to the data control and reflect the execution result to the data control or the DB 130. In addition, the drive 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, which will 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. FIG. 17 illustrates an example in which one user-defined ERP function is shared between two terminals for convenience of description, it is needless to say that a plurality of user-defined ERP functions can 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 can be divided into a source package upload process (S310 to S340) and a source package download process (S350 to S370) have.

먼저 소스 패키지 업로드 과정을 설명하면, 먼저 사용자 정의 ERP 펑션을 타인과 공유하고자 하는 공유자 단말(100-1)은 소스 패키지 업로드 UI를 제공할 수 있다(S310). 상기 소스 패키지 업로드 UI는 공유자가 상기 공유 시스템(200)으로 전송하고자 하는 사용자 정의 ERP 펑션을 선택하는 기능을 제공할 수 있다. 상기 공유자 단말(100-1)에는 복수의 사용자 정의 ERP 펑션에 상응하는 프로젝트가 저장되어 있을 수 있으며 사용자는 이들 중 공유하기를 원하는 프로젝트를 상기 소스 패키지 업로드 UI를 통해 선택할 수 있다.First, the sharer terminal 100-1, which wants to share the user-defined ERP function with another person, can provide a source package upload UI (S310). The source package upload UI may provide a function for the sharper to select a user-defined ERP function to be transmitted to the sharing system 200. A project corresponding to a plurality of user-defined ERP functions may be stored in the sharer terminal 100-1, and a user may select a project to be shared 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 described later.

소스 패키지는 소정의 사용자 정의 ERP 펑션에 상응할 수 있으며, 상기 사용자 정의 ERP 펑션에 상응하는 적어도 하나의 SQL 파일 및 디자인 파일을 포함할 수 있다. 구현 예에 따라서 상기 소스 패키지는 ERD 파일을 더 포함할 수도 있다.The source package may correspond to a user defined ERP function and may include at least one SQL file and a design file corresponding to the user defined ERP function. Depending on the implementation, the source package may further include an ERD file.

또한 상기 소스 패키지는 그에 상응하는 사용자 정의 ERP 펑션에 관한 추가 정보를 더 포함할 수도 있다. 추가 정보는 사용자 정의 ERP 펑션에 관련된 어떠한 정보도 포함할 수 있으며, 예를 들어, 사용자 정의 ERP 펑션의 명칭, 상세설명정보(description), 작성자, 공유자 및/또는 스크린 샷, 카테고리 정보 등일 수 있다.The source package may further include additional information regarding a corresponding user-defined ERP function. The additional information may include any information related to the user-defined ERP function, such as the name of the user-defined ERP function, description information, author, sharer and / or screen shot, category information, and so on.

도 18은 소스 패키지 업로드 UI(6000)의 일 예를 도시한 도면이다.18 is a diagram showing an example of the 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 user-defined ERP function projects stored in the sharer terminal 100-1. Each list includes a UI object (for example, 6010) for selecting whether or not to upload, a UI object (e.g., 6020) for displaying the name of the project (or the name of the user-defined ERP function) A UI object (e.g., 6030) for selecting whether to open or not, a UI object (e.g., 6050) for specifying a screen shot, and the like. In addition, the source package upload UI may further include a UI object for inputting / specifying various additional information that can be included in the source package.

사용자는 도 18에 도시된 바와 같이 7개의 프로젝트 중 일부(도 18의 예에서는 Project1 및 Project2)를 선택할 수 있다. 사용자는 공유하고자 하는 프로젝트를 선택한 후 업로드를 수행하기 위한 버튼(6200)을 선택하여 상기 공유자 단말(100-1)에 업로드를 수행을 지시할 수 있다.The user can select some of the seven projects (Project1 and Project2 in the example of Fig. 18) as shown in Fig. After selecting a project to be shared, the user can select a button 6200 for performing an upload and instruct the sharrier terminal 100-1 to perform uploading.

다시 도 17을 참조하면 상기 공유자 단말(100-1)은 사용자가 선택한 사용자 정의 ERP 펑션에 상응하는 소스 패키지를 생성할 수 있으며(S320), 이를 상기 공유 시스템(200)으로 전송할 수 있다(S330).17, the sharer's terminal 100-1 may generate a source package corresponding to a user-defined ERP function selected by the user (S320) and may transmit the source package to the sharing system 200 (S330) .

그러면 상기 공유 시스템(200)은 소정의 저장소(210)에 수신한 소스 패키지를 저장할 수 있다(S340).Then, the sharing system 200 can 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 sort and store the received source package according to a certain criterion. To this end, the sharing system 200 may determine which of a plurality of predefined categories a user-defined ERP function corresponding to the source package at any time belongs to, and the source package may be associated with a corresponding user-defined ERP function Categories and store them in the storage 210. [ A plurality of predefined categories may include categories that are commonly used in the ERP field. For example, a category may include accounting, personnel, sales, purchasing / materials, outsourcing, trade, services, construction, production, standards, costs,

사용자 정의 ERP 펑션이 속하는 카테고리는 공유자에 의해 지정될 수 있다.The category to which the custom ERP function belongs can be specified by the sharer.

또는 사용자 정의 ERP 펑션이 속하는 카테고리는 상기 공유 시스템(200)에 의해 결정될 수도 있다. 상기 공유 시스템(200)은 사용자 정의 ERP 펑션이 어느 카테고리에 속하는지를 판단하기 위하여, 상기 소스 패키지에 포함된 적어도 하나의 SQL 파일 또는 상기 소스 패키지에 포함된 디자인 파일을 분석할 수 있으며, 분석 결과에 기초하여 상기 소스 패키지에 상응하는 사용자 정의 ERP 펑션이 상기 복수의 카테고리 중 어디에 속하는지를 판단할 수 있다. 예를 들어 상기 공유 시스템(200)은 상기 소스 패키지에 포함된 SQL 파일의 퀴리문에 기재된 데이터베이스의 명칭이나 기타정보, 테이블 혹은 필드의 명칭이나 기타정보 및/또는 파라미터의 명칭이나 기타정보 등을 분석할 수 있다. 또는 상기 공유 시스템(200)은 상기 소스 패키지에 포함된 디자인 파일에 기재된 각종 정보(예를 들면, 컨트롤의 명칭 혹은 속성 등)을 분석할 수도 있다.Or 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 to which category the user defined ERP function belongs, Based on which the user-defined ERP function corresponding to the source package belongs to which of the plurality of categories. For example, the sharing system 200 analyzes the name or other information of a database, the name of a table or a field, and / or the name or other information of a parameter described in the query of the SQL file included in the source package can do. Alternatively, the sharing system 200 may analyze various information (for example, name of control or attribute) described in the design file included in the source package.

다음으로 소스 패키지 다운로드 과정을 설명하면, 타인이 공유한 각종 사용자 정의 ERP 펑션을 다운로드하기 위하여 사용자 단말(100-2)이 상기 공유 시스템(200)에 접속하거나 리스트를 요청하는 경우, 상기 공유 시스템(200)은 상기 사용자 단말(100-2)로 상기 저장소(210)에 저장된 소스 패키지의 리스트를 전송할 수 있다(S350).Describing the source package download process, if the user terminal 100-2 accesses the shared system 200 or requests a list to download various user-defined ERP functions shared by others, 200 may transmit the list of source packages stored in the repository 210 to the user terminal 100-2 (S350).

그러면 상기 사용자 단말(200)은 소스 패키지 다운로드 UI를 제공할 수 있다(S360). 상기 소스 패키지 다운로드 UI는 수신된 소스 패키지의 리스트를 디스플레이할 수 있으며, 수신된 소스 패키지 리스트 중 적어도 일부 항목을 선택하는 기능을 제공할 수 있다.Then, the user terminal 200 can 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 to select at least some items of 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)을 표시될 수도 있다. 스크린 샷은 소스 패키지를 공유한 공유자에 의해 지정된 이미지일 수 있다.FIG. 19 is a diagram showing an example of the source package download UI 7000. Referring to FIG. 19, the source package download UI 7000 may include a list UI 7100 that displays 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 that displays detailed information of the source package selected by the user. The detailed information display UI 7200 includes a name of an application (for example, the drive module 120 described above) to which a user-defined ERP function corresponding to a corresponding source package is to be applied, a name of a registrant, a source package, It may include the name of the ERP function, and a detailed description. Also, the detailed information display UI 7200 may display a screen shot 7210 of the user-defined ERP function. The screenshot can be an image specified by the sharer that shared the source package.

또는 상기 스크린 샷(7210)은 상기 공유 시스템(200)에 의해 생성된 이미지일 수도 있다. 예를 들어 상기 공유 시스템(200)은 상술한 구동 모듈(200)의 기능을 수행할 수 있으며, 소스 패키지에 포함되어 있는 SQL 파일 및 디자인 파일을 이용하여 사용자 정의 ERP 펑션을 실행한 후 스크린 샷을 찍을 수 있다.Or the screenshot 7210 may be an image generated by the sharing system 200. [ For example, the sharing system 200 can perform the functions of the driving module 200 described above. After executing the user-defined ERP function using the SQL file and the design file included in the source package, I can take pictures.

한편 상기 소스 패키지 다운로드 UI(7000)는 사용자 정의 ERP 펑션이 속할 수 있는 카테고리의 리스트를 표시하는 카테고리UI (7300)를 더 포함할 수 있다. 사용자가 카테고리 UI(7300)에 포함된 항목 중 어느 하나의 카테고리를 선택하는 경우, 상기 리스트 UI(7100)에는 선택된 카테고리에 속하는 사용자 정의 ERP 펑션에 상응하는 소스 패키지의 리스트만이 표시될 수 있다.Meanwhile, the source package download UI 7000 may further include a category UI 7300 for displaying a list of categories to which a user-defined ERP function can belong. When the user selects any of the categories included in the category UI 7300, the list UI 7100 may display only the list of source packages corresponding to the user-defined ERP functions 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 To allow the user terminal 100-2 to share the user-specified ERP function with others.

또한 상기 소스 패키지 다운로드 UI는 사용자가 선택한 소스 패키지에 대한 다운로드를 요청하기 위한 버튼UI(7410)를 더 포함할 수 있다. 사용자가 상기 버튼 UI(7410)를 선택한 경우 상기 사용자 단말(100-2)은 상기 공유 시스템(200)으로 소스 패키지의 다운로드를 요청할 수 있다.The source package download UI may further include a button UI 7410 for requesting download of a source package selected by the user. When the user selects the button UI 7410, the user terminal 100-2 may request downloading of the source package to the sharing system 200. [

다시 도 17을 참조하면, 상기 공유 시스템(200)은 상기 사용자 단말(100-2)의 다운로드 요청에 응답하여, 상기 저장소(210)에 저장된 소스 패키지 중 상기 사용자 단말에서 선택한 대상 소스 패키지를 상기 사용자 단말(100-2)로 전송할 수 있다(S370).17, in response to a download request of the user terminal 100-2, the sharing system 200 transmits a target source package selected by the user terminal, among the source packages stored in the storage 210, To the terminal 100-2 (S370).

한편, 구현 예에 따라서, 상기 사용자 정의 ERP 펑션 공유 시스템은 적어도 하나의 프로세서 및 상기 프로세서에 의해 실행되는 프로그램을 저장하는 메모리를 포함할 수 있다. 상기 프로세서는 싱글 코어 CPU혹은 멀티 코어 CPU를 포함할 수 있다. 메모리는 고속 랜덤 액세스 메모리를 포함할 수 있고 하나 이상의 자기 디스크 저장 장치, 플래시 메모리 장치, 또는 기타 비휘발성 고체상태 메모리 장치와 같은 비휘발성 메모리를 포함할 수도 있다. 프로세서 및 기타 구성 요소에 의한 메모리로의 액세스는 메모리 컨트롤러에 의해 제어될 수 있다. 여기서, 상기 프로그램은, 프로세서에 의해 실행되는 경우, 본 실시예에 따른 사용자 정의 ERP 펑션 공유 시스템으로 하여금, 상술한 사용자 정의 ERP 펑션 공유 방법을 수행하도록 할 수 있다.Meanwhile, according to an embodiment, the user defined ERP function sharing system may include at least one processor and a memory for storing a program executed by the processor. The processor may include a single-core CPU or a multi-core CPU. The memory may include high speed random access memory and may include non-volatile memory such as one or more magnetic disk storage devices, flash memory devices, or other non-volatile solid state memory devices. Access to the memory by the processor and other components can be controlled by the memory controller. Here, when the program is executed by a processor, the program may cause the user-defined ERP function sharing system according to the present embodiment to perform the above-described user-defined ERP function sharing method.

한편, 본 발명의 실시예에 따른 사용자 정의 ERP 펑션 생성 방법은 컴퓨터가 읽을 수 있는 프로그램 명령 형태로 구현되어 컴퓨터로 읽을 수 있는 기록 매체에 저장될 수 있다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.Meanwhile, the user-defined ERP function generation method according to the embodiment of the present invention may be implemented in the form of computer-readable program instructions and stored in a computer-readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored.

기록 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 소프트웨어 분야 당업자에게 공지되어 사용 가능한 것일 수도 있다.Program instructions to be recorded on a recording medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of software.

컴퓨터로 읽을 수 있는 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.Examples of the computer-readable recording medium include magnetic media such as a hard disk, a floppy disk and a magnetic tape, optical media such as CD-ROM and DVD, a floptical disk, And hardware devices that are specially configured to store and execute program instructions such as magneto-optical media and ROM, RAM, flash memory, and the like. The computer readable recording medium may also be distributed over a networked computer system so that computer readable code can be stored and executed in a distributed manner.

프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 전자적으로 정보를 처리하는 장치, 예를 들어, 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.Examples of program instructions include machine language code such as those produced by a compiler, as well as devices for processing information electronically using an interpreter or the like, for example, a high-level language code that can be executed by a computer.

상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성요소들도 결합된 형태로 실시될 수 있다.It will be understood by those skilled in the art that the foregoing description of the present invention is for illustrative purposes only and that those of ordinary skill in the art can readily understand that various changes and modifications may be made without departing from the spirit or essential characteristics of the present invention. will be. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive. For example, each component described as a single entity may be distributed and implemented, and components described as being distributed may also be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타나며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.It is intended that the present invention covers the modifications and variations of this invention provided they come within the scope of the appended claims and their equivalents. .

Claims (11)

사용자 정의 ERP(Enterprise Resource Planning) 펑션(function) 공유 방법으로서,
사용자 정의 ERP 펑션 공유 시스템이, 복수의 공유자 단말로부터 적어도 하나의 SQL 파일 및 디자인 파일을 포함하며 소정의 ERP 사용자 정의 펑션에 상응하는 소스 패키지를 수신하는 단계-상기 SQL 파일은, 데이터베이스를 조작하기 위한 SQL(Structured Query Language) 쿼리를 저장하는 파일이며, 상기 디자인 파일은 상기 사용자 정의 ERP 펑션의 화면을 구성하는 적어도 하나의 컨트롤의 속성에 관한 정보를 저장하는 파일이며, 상기 사용자 정의 ERP 펑션의 화면을 구성하는 컨트롤 중 적어도 일부는 상기 적어도 하나의 SQL 파일에 포함된 특정 쿼리에 매핑되는 컨트롤임-;
상기 사용자 정의 ERP 펑션 공유 시스템이, 상기 복수의 공유자 단말로부터 수신되는 소스 패키지를 소정의 저장소에 저장하는 단계;
상기 사용자 정의 ERP 펑션 공유 시스템이, 사용자 단말로 상기 저장소에 저장된 소스 패키지의 리스트를 제공하는 단계; 및
상기 사용자 단말의 다운로드 요청에 응답하여, 상기 저장소에 저장된 소스 패키지 중 상기 사용자 단말에서 선택한 대상 소스 패키지를 상기 사용자 단말로 전송하는 단계를 포함하되,
상기 사용자 단말은, 상기 사용자 정의 ERP 펑션 공유 시스템으로부터 상기 대상 소스 패키지를 수신한 다음, 상기 대상 소스 패키지에 상응하는 사용자 정의 ERP 펑션 생성 방법을 수행하고,
상기 대상 소스 패키지에 상응하는 사용자 정의 ERP 펑션 생성 방법은,
ERD 파일에 상응하는 UI오브젝트, 상기 대상 소스 패키지에 포함된 적어도 하나의 SQL 파일 각각에 상응하는 UI 오브젝트 및 상기 대상 소스 패키지에 포함된 디자인 파일에 상응하는 UI 오브젝트를 포함하는 컨테이너 UI를 제공하는 단계-여기서, 상기 ERD 파일은, 데이터베이스에 저장된 테이블의 속성 및 각 테이블 간의 관계를 모델링한 정보를 저장하는 파일임;
상기 ERD 파일에 상응하는 UI 오브젝트가 선택되는 경우, 상기 ERD 파일을 편집하기 위한 ERD 파일 편집 기능을 제공하는 단계;
상기 적어도 하나의 SQL 파일 중 어느 하나에 상응하는 UI 오브젝트가 선택되는 경우, 선택된 UI 오브젝트에 상응하는 SQL 파일을 편집하기 위한 SQL 파일 편집 기능을 제공하는 단계;
상기 디자인 파일에 상응하는 UI 오브젝트가 선택되는 경우, 상기 디자인 파일을 편집하기 위한 디자인 파일 편집 기능을 제공하는 단계; 및
상기 적어도 하나의 SQL 파일 및 상기 디자인 파일에 기초하여 상기 사용자 정의 ERP 펑션을 제공하는 단계를 포함하고,
상기 ERD 파일 편집 기능을 제공하는 단계는,
상기 ERD 파일에 기초하여 상기 ERD 파일 편집 UI를 제공하는 단계-여기서, 상기 ERD 파일 편집 UI는 데이터베이스 테이블의 구조를 나타내는 테이블 구조 UI 오브젝트 및 테이블 간의 관계를 나타내는 관계 UI 오브젝트를 포함함;
상기 ERD 파일 편집 UI 상에서 사용자의 입력에 따라 테이블 구조 및 테이블간의 관계를 변경하는 단계; 및
변경된 테이블 구조 및 테이블간의 관계를 상기 ERD 파일에 반영하는 단계를 포함하고,
상기 SQL 파일 편집 기능을 제공하는 단계는,
상기 SQL 파일에 저장된 SQL 쿼리를 표시하는 SQL 편집 UI를 제공하는 단계;
상기 SQL 편집 UI 상에서 사용자의 입력에 따라 SQL 쿼리를 변경하는 단계; 및
변경된 SQL 퀴리를 상기 SQL 파일에 반영하는 단계를 포함하고,
상기 디자인 파일에 포함된 컨트롤 중 적어도 일부는 소정의 파라미터 변수명과 매핑되며, 상기 적어도 하나의 SQL 파일에 포함된 적어도 하나의 SQL 쿼리는 상기 파라미터 변수명을 포함하여 작성되고, 실행 시 상기 파라미터 변수명에 매핑된 컨트롤에 입력된 데이터가 상기 SQL 쿼리에 입력되며,
상기 디자인 파일 편집 기능을 제공하는 단계는,
상기 디자인 파일에 기초하여 상기 사용자 정의 ERP 펑션의 화면을 편집하기 위한 디자인 파일 편집 UI를 제공하는 단계;
상기 디자인 파일 편집 UI 상에서 사용자의 입력에 따라 상기 사용자 정의 ERP 펑션의 화면을 구성하는 컨트롤 및 각 컨트롤의 속성을 변경하는 단계; 및
변경된 상기 사용자 정의 ERP 펑션의 화면을 구성하는 컨트롤, 변경된 각 컨트롤의 속성을 상기 디자인 파일에 반영하는 단계를 포함하고,
상기 대상 소스 패키지에 상응하는 사용자 정의 ERP 펑션 생성 방법은,
상기 디자인 파일 편집 UI에 표시된 컨트롤 중 적어도 일부를 상기 적어도 하나의 SQL 파일에 포함된 특정 쿼리와 매핑하기 위한 SQL 매핑 UI를 제공하고, 상기 SQL 매핑 UI 상에서 사용자의 입력에 따라 상기 디자인 파일 편집 UI에 표시된 컨트롤 중 적어도 일부를 상기 적어도 하나의 SQL 파일에 포함된 특정 쿼리와 매핑하는 단계를 더 포함하며,
상기 디자인 파일 편집 UI에 표시된 컨트롤 중 적어도 일부를 상기 적어도 하나의 SQL 파일에 포함된 특정 쿼리와 매핑하기 위한 SQL 매핑 UI를 제공하고, 상기 SQL 매핑 UI 상에서 사용자의 입력에 따라 상기 디자인 파일 편집 UI에 표시된 컨트롤 중 적어도 일부를 상기 적어도 하나의 SQL 파일에 포함된 특정 쿼리와 매핑하는 단계는,
상기 적어도 하나의 SQL 파일에 포함된 각각의 SQL 퀴리를 표시하는 단계;
사용자가 표시된 SQL 쿼리 중 어느 하나를 선택하는 경우, 선택된 SQL 퀴리 포함된 파라미터 변수명을 표시하는 단계;
표시된 각각의 파라미터 변수명을 상기 디자인 파일 편집 UI에 표시된 컨트롤과 매핑하는 단계; 및
선택된 상기 SQL 쿼리를 상기 디자인 파일 편집 UI에 표시된 어느 하나의 그리드 컨트롤과 매핑하는 단계를 포함하는 사용자 정의 ERP 펑션 공유 방법.
A user-defined ERP (Enterprise Resource Planning) function sharing method,
Wherein the user-defined ERP function sharing system comprises receiving at least one SQL file from a plurality of sharer terminals and a source package corresponding to a predetermined ERP user-defined function, the SQL file including at least one SQL file and a design file, A file for storing a SQL (Structured Query Language) query, wherein the design file is a file for storing information on attributes of at least one control configuring a screen of the user-defined ERP function, Wherein at least some of the controls are mapped to a particular query contained in the at least one SQL file;
Wherein the user-defined ERP function sharing system comprises: storing a source package received from the plurality of sharer terminals in a predetermined repository;
Wherein the user-defined ERP function sharing system comprises: providing a list of source packages stored in the repository to a user terminal; And
In response to a download request of the user terminal, transmitting a target source package selected by the user terminal among the source packages stored in the repository to the user terminal,
Wherein the user terminal receives the target source package from the user defined ERP function sharing system and then performs a user defined ERP function generation method corresponding to the target source package,
A method of generating a user-defined ERP function corresponding to the target-
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 Here, the ERD file is a file that stores information modeling the attributes of the tables stored in the database and the relationships among the tables.
Providing an ERD file editing function for editing the ERD file when a UI object corresponding to the ERD file is selected;
Providing an SQL file editing function for editing an SQL file corresponding to a selected UI object when a UI object corresponding to one of the at least one SQL file is selected;
Providing a design file editing function for editing the design file when a UI object corresponding to the design file is selected; And
Providing the user defined ERP function based on the at least one SQL file and the design file,
The step of providing the ERD file editing function includes:
Providing ERD file editing UI based on the ERD file, wherein the ERD file editing UI includes a table structure UI object indicating a structure of a database table and a relation UI object indicating a relationship between tables;
Changing a relationship between a table structure and a table according to a user's input on the ERD file editing UI; And
And reflecting the changed table structure and the relationship between the tables in the ERD file,
The step of providing the SQL file editing function includes:
Providing a SQL edit UI displaying an SQL query stored in the SQL file;
Changing an SQL query according to a user's input on the SQL edit UI; And
And reflecting the changed SQL query to the SQL file,
At least a part of the controls included in the design file is mapped to a predetermined parameter variable name, at least one SQL query included in the at least one SQL file is created including the parameter variable name, The data input to the control mapped to the input data is input to the SQL query,
The step of providing the design file editing function includes:
Providing a design file edit UI for editing a screen of the user defined ERP function based on the design file;
Changing the attributes of the control and the controls constituting the screen of the user-defined ERP function according to a user's input on the design file editing UI; And
A control for configuring a screen of the changed user-defined ERP function, and an attribute of each changed control to the design file,
A method of generating a user-defined ERP function corresponding to the target-
Providing a SQL mapping UI for mapping at least some of the controls displayed in the design file editing UI to a specific query included in the at least one SQL file, And mapping at least some of the displayed controls to a particular query contained in the at least one SQL file,
Providing a SQL mapping UI for mapping at least some of the controls displayed in the design file editing UI to a specific query included in the at least one SQL file, Mapping at least some of the displayed controls to a particular query included in the at least one SQL file,
Displaying each SQL query included in the at least one SQL file;
Displaying a parameter variable name included in the selected SQL query when the user selects one of the displayed SQL queries;
Mapping each parameter variable name displayed with a control displayed in the design file edit UI; And
And mapping the selected SQL query to one of the grid controls displayed in the design file editing UI.
제1항에 있어서,
상기 사용자 정의 ERP 펑션 공유 시스템이, 상기 복수의 공유자 단말로부터 수신되는 소스 패키지를 소정의 저장소에 저장하는 단계는,
상기 소스 패키지에 상응하는 사용자 정의 ERP 펑션이 미리 정의된 복수의 카테고리 중 어디에 속하는지를 판단하는 단계; 및
상기 상기 소스 패키지를 그에 상응하는 사용자 정의 ERP 펑션이 속하는 카테로리로 분류하여 상기 저장소에 저장하는 단계를 포함하는 사용자 정의 ERP 펑션 공유 방법.
The method according to claim 1,
Wherein the user-defined ERP function sharing system stores a source package received from the plurality of sharer terminals in a predetermined repository,
Determining if a user defined ERP function corresponding to the source package belongs to a plurality of predefined categories; And
And classifying the source package into categories corresponding to the corresponding user defined ERP functions and storing them in the repository.
제2항에 있어서,
상기 소스 패키지에 상응하는 사용자 정의 ERP 펑션이 미리 정의된 복수의 카테고리 중 어디에 속하는지를 판단하는 단계는,
상기 소스 패키지에 포함된 적어도 하나의 SQL 파일 또는 상기 소스 패키지에 포함된 디자인 파일을 분석하는 단계; 및
분석 결과에 기초하여 상기 소스 패키지에 상응하는 사용자 정의 ERP 펑션이 상기 복수의 카테고리 중 어디에 속하는지를 판단하는 단계를 포함하는 사용자 정의 ERP 펑션 공유 방법.
3. The method of claim 2,
Wherein determining whether the user-defined ERP function corresponding to the source package belongs to a plurality of predefined categories comprises:
Analyzing at least one SQL file included in the source package or a design file included in the source package; And
And determining which of the plurality of categories the user-defined ERP function corresponding to the source package belongs to based on the analysis result.
제1항에 있어서,
상기 사용자 단말은, 소스 패키지 업로드 방법 및 소스 패키지 다운로드 방법을 수행하되,
상기 소스 패키지 업로드 방법은,
상기 사용자 단말에 저장된 적어도 하나의 소스 패키지의 리스트 중 적어도 일부 항목을 선택하는 기능을 제공하는 소스 패키지 업로드 UI를 제공하는 단계; 및
상기 소스 패키지 업로드 UI를 통해 선택된 항목에 상응하는 소스 패키지를 상기 사용자 정의 ERP 펑션 공유 시스템으로 전송하는 단계를 포함하고,
상기 소스 패키지 다운로드 방법은,
상기 사용자 정의 ERP 펑션 공유 시스템으로부터 상기 저장소에 저장된 소스 패키지의 리스트를 수신하는 단계;
수신된 소스 패키지 리스트 중 적어도 일부 항목을 선택하는 기능을 제공하는 소스 패키지 다운로드 UI를 제공하는 단계; 및
상기 소스 패키지 다운로드 UI를 통해 선택된 항목에 상응하는 소스 패키지를 상기 사용자 정의 ERP 펑션 공유 시스템으로부터 수신하는 단계를 포함하는 사용자 정의 ERP 펑션 공유 방법.
The method according to claim 1,
The user terminal performs a source package upload method and a source package download method,
The source package upload method includes:
Providing a source package upload UI providing a function of selecting at least some items of a list of at least one source package stored in the user terminal; And
And transmitting the 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 includes:
Receiving a list of source packages stored in the repository from the user-defined ERP function sharing system;
Providing a source package download UI providing a function of selecting at least some items of the received source package list; And
And receiving a source package corresponding to an item selected through the source package download UI from the user defined ERP function sharing system.
삭제delete 데이터 처리장치에 설치되며 제1항 내지 제4항 중 어느 한 항에 기재된 방법을 수행하기 위하여 기록매체에 저장된 컴퓨터 프로그램.
A computer program installed in a data processing apparatus and stored in a recording medium for performing the method according to any one of claims 1 to 4.
적어도 하나의 프로세서;
상기 프로세서에 의하여 실행되는 컴퓨터 프로그램을 저장하는 메모리를 포함하는 사용자 정의 ERP 펑션 공유 시스템으로서,
상기 컴퓨터 프로그램은, 상기 프로세서에 의해 실행되는 경우 상기 사용자 정의 ERP 펑션 공유 시스템이 사용자 정의 ERP 펑션 공유 방법을 수행하도록 하되,
상기 사용자 정의 ERP 펑션 공유 방법은,
상기 사용자 정의 ERP 펑션 공유 시스템이, 복수의 공유자 단말로부터 적어도 하나의 SQL 파일 및 디자인 파일을 포함하며 소정의 ERP 사용자 정의 펑션에 상응하는 소스 패키지를 수신하는 단계-상기 SQL 파일은, 데이터베이스를 조작하기 위한 SQL 쿼리를 저장하는 파일이며, 상기 디자인 파일은 상기 사용자 정의 ERP 펑션의 화면을 구성하는 적어도 하나의 컨트롤의 속성에 관한 정보를 저장하는 파일이며, 상기 사용자 정의 ERP 펑션의 화면을 구성하는 컨트롤 중 적어도 일부는 상기 적어도 하나의 SQL 파일에 포함된 특정 쿼리에 매핑되는 컨트롤임-;
상기 사용자 정의 ERP 펑션 공유 시스템이, 상기 복수의 공유자 단말로부터 수신되는 소스 패키지를 소정의 저장소에 저장하는 단계;
상기 사용자 정의 ERP 펑션 공유 시스템이, 사용자 단말로 상기 저장소에 저장된 소스 패키지의 리스트를 제공하는 단계; 및
상기 사용자 단말의 다운로드 요청에 응답하여, 상기 저장소에 저장된 소스 패키지 중 상기 사용자 단말에서 선택한 대상 소스 패키지를 상기 사용자 단말로 전송하는 단계를 포함하되,
상기 사용자 단말은, 상기 사용자 정의 ERP 펑션 공유 시스템으로부터 상기 대상 소스 패키지를 수신한 다음, 상기 대상 소스 패키지에 상응하는 사용자 정의 ERP 펑션 생성 방법을 수행하고,
상기 대상 소스 패키지에 상응하는 사용자 정의 ERP 펑션 생성 방법은,
ERD 파일에 상응하는 UI오브젝트, 상기 대상 소스 패키지에 포함된 적어도 하나의 SQL 파일 각각에 상응하는 UI 오브젝트 및 상기 대상 소스 패키지에 포함된 디자인 파일에 상응하는 UI 오브젝트를 포함하는 컨테이너 UI를 제공하는 단계-여기서, 상기 ERD 파일은, 데이터베이스에 저장된 테이블의 속성 및 각 테이블 간의 관계를 모델링한 정보를 저장하는 파일임;
상기 ERD 파일에 상응하는 UI 오브젝트가 선택되는 경우, 상기 ERD 파일을 편집하기 위한 ERD 파일 편집 기능을 제공하는 단계;
상기 적어도 하나의 SQL 파일 중 어느 하나에 상응하는 UI 오브젝트가 선택되는 경우, 선택된 UI 오브젝트에 상응하는 SQL 파일을 편집하기 위한 SQL 파일 편집 기능을 제공하는 단계;
상기 디자인 파일에 상응하는 UI 오브젝트가 선택되는 경우, 상기 디자인 파일을 편집하기 위한 디자인 파일 편집 기능을 제공하는 단계; 및
상기 적어도 하나의 SQL 파일 및 상기 디자인 파일에 기초하여 상기 사용자 정의 ERP 펑션을 제공하는 단계를 포함하고,
상기 ERD 파일 편집 기능을 제공하는 단계는,
상기 ERD 파일에 기초하여 상기 ERD 파일 편집 UI를 제공하는 단계-여기서, 상기 ERD 파일 편집 UI는 데이터베이스 테이블의 구조를 나타내는 테이블 구조 UI 오브젝트 및 테이블 간의 관계를 나타내는 관계 UI 오브젝트를 포함함;
상기 ERD 파일 편집 UI 상에서 사용자의 입력에 따라 테이블 구조 및 테이블간의 관계를 변경하는 단계; 및
변경된 테이블 구조 및 테이블간의 관계를 상기 ERD 파일에 반영하는 단계를 포함하고,
상기 SQL 파일 편집 기능을 제공하는 단계는,
상기 SQL 파일에 저장된 SQL 쿼리를 표시하는 SQL 편집 UI를 제공하는 단계;
상기 SQL 편집 UI 상에서 사용자의 입력에 따라 SQL 쿼리를 변경하는 단계; 및
변경된 SQL 퀴리를 상기 SQL 파일에 반영하는 단계를 포함하고,
상기 디자인 파일에 포함된 컨트롤 중 적어도 일부는 소정의 파라미터 변수명과 매핑되며, 상기 적어도 하나의 SQL 파일에 포함된 적어도 하나의 SQL 쿼리는 상기 파라미터 변수명을 포함하여 작성되고, 실행 시 상기 파라미터 변수명에 매핑된 컨트롤에 입력된 데이터가 상기 SQL 쿼리에 입력되며,
상기 디자인 파일 편집 기능을 제공하는 단계는,
상기 디자인 파일에 기초하여 상기 사용자 정의 ERP 펑션의 화면을 편집하기 위한 디자인 파일 편집 UI를 제공하는 단계;
상기 디자인 파일 편집 UI 상에서 사용자의 입력에 따라 상기 사용자 정의 ERP 펑션의 화면을 구성하는 컨트롤 및 각 컨트롤의 속성을 변경하는 단계; 및
변경된 상기 사용자 정의 ERP 펑션의 화면을 구성하는 컨트롤, 변경된 각 컨트롤의 속성을 상기 디자인 파일에 반영하는 단계를 포함하고,
상기 대상 소스 패키지에 상응하는 사용자 정의 ERP 펑션 생성 방법은,
상기 디자인 파일 편집 UI에 표시된 컨트롤 중 적어도 일부를 상기 적어도 하나의 SQL 파일에 포함된 특정 쿼리와 매핑하기 위한 SQL 매핑 UI를 제공하고, 상기 SQL 매핑 UI 상에서 사용자의 입력에 따라 상기 디자인 파일 편집 UI에 표시된 컨트롤 중 적어도 일부를 상기 적어도 하나의 SQL 파일에 포함된 특정 쿼리와 매핑하는 단계를 더 포함하며,
상기 디자인 파일 편집 UI에 표시된 컨트롤 중 적어도 일부를 상기 적어도 하나의 SQL 파일에 포함된 특정 쿼리와 매핑하기 위한 SQL 매핑 UI를 제공하고, 상기 SQL 매핑 UI 상에서 사용자의 입력에 따라 상기 디자인 파일 편집 UI에 표시된 컨트롤 중 적어도 일부를 상기 적어도 하나의 SQL 파일에 포함된 특정 쿼리와 매핑하는 단계는,
상기 적어도 하나의 SQL 파일에 포함된 각각의 SQL 퀴리를 표시하는 단계;
사용자가 표시된 SQL 쿼리 중 어느 하나를 선택하는 경우, 선택된 SQL 퀴리 포함된 파라미터 변수명을 표시하는 단계;
표시된 각각의 파라미터 변수명을 상기 디자인 파일 편집 UI에 표시된 컨트롤과 매핑하는 단계; 및
선택된 상기 SQL 쿼리를 상기 디자인 파일 편집 UI에 표시된 어느 하나의 그리드 컨트롤과 매핑하는 단계를 포함하는 사용자 정의 ERP 펑션 공유 시스템.
At least one processor;
A user-defined ERP function sharing system comprising a memory for storing a computer program executed by the processor,
Wherein the computer program causes the user-defined ERP function sharing system to perform a user-defined ERP function sharing method when executed by the processor,
Wherein the user-defined ERP function sharing method comprises:
Wherein the user-defined ERP function sharing system comprises receiving at least one SQL file from a plurality of sharer terminals and a source package corresponding to a predetermined ERP user-defined function, the SQL file including at least one SQL file and a design file, Wherein the design file is a file for storing information on attributes of at least one control constituting a screen of the user defined ERP function, and the control file constituting the screen of the user defined ERP function At least some of which are mapped to a particular query contained in the at least one SQL file;
Wherein the user-defined ERP function sharing system comprises: storing a source package received from the plurality of sharer terminals in a predetermined repository;
Wherein the user-defined ERP function sharing system comprises: providing a list of source packages stored in the repository to a user terminal; And
In response to a download request of the user terminal, transmitting a target source package selected by the user terminal among the source packages stored in the repository to the user terminal,
Wherein the user terminal receives the target source package from the user defined ERP function sharing system and then performs a user defined ERP function generation method corresponding to the target source package,
A method of generating a user-defined ERP function corresponding to the target-
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 Here, the ERD file is a file that stores information modeling the attributes of the tables stored in the database and the relationships among the tables.
Providing an ERD file editing function for editing the ERD file when a UI object corresponding to the ERD file is selected;
Providing an SQL file editing function for editing an SQL file corresponding to a selected UI object when a UI object corresponding to one of the at least one SQL file is selected;
Providing a design file editing function for editing the design file when a UI object corresponding to the design file is selected; And
Providing the user defined ERP function based on the at least one SQL file and the design file,
The step of providing the ERD file editing function includes:
Providing ERD file editing UI based on the ERD file, wherein the ERD file editing UI includes a table structure UI object indicating a structure of a database table and a relation UI object indicating a relationship between tables;
Changing a relationship between a table structure and a table according to a user's input on the ERD file editing UI; And
And reflecting the changed table structure and the relationship between the tables in the ERD file,
The step of providing the SQL file editing function includes:
Providing a SQL edit UI displaying an SQL query stored in the SQL file;
Changing an SQL query according to a user's input on the SQL edit UI; And
And reflecting the changed SQL query to the SQL file,
At least a part of the controls included in the design file is mapped to a predetermined parameter variable name, at least one SQL query included in the at least one SQL file is created including the parameter variable name, The data input to the control mapped to the input data is input to the SQL query,
The step of providing the design file editing function includes:
Providing a design file edit UI for editing a screen of the user defined ERP function based on the design file;
Changing the attributes of the control and the controls constituting the screen of the user-defined ERP function according to a user's input on the design file editing UI; And
A control for configuring a screen of the changed user-defined ERP function, and an attribute of each changed control to the design file,
A method of generating a user-defined ERP function corresponding to the target-
Providing a SQL mapping UI for mapping at least some of the controls displayed in the design file editing UI to a specific query included in the at least one SQL file, And mapping at least some of the displayed controls to a particular query contained in the at least one SQL file,
Providing a SQL mapping UI for mapping at least some of the controls displayed in the design file editing UI to a specific query included in the at least one SQL file, Mapping at least some of the displayed controls to a particular query included in the at least one SQL file,
Displaying each SQL query included in the at least one SQL file;
Displaying a parameter variable name included in the selected SQL query when the user selects one of the displayed SQL queries;
Mapping each parameter variable name displayed with a control displayed in the design file edit UI; And
And mapping the selected SQL query to one of the grid controls displayed in the design file editing UI.
제7항에 있어서,
상기 사용자 정의 ERP 펑션 공유 시스템이, 상기 복수의 공유자 단말로부터 수신되는 소스 패키지를 소정의 저장소에 저장하는 단계는,
상기 소스 패키지에 상응하는 사용자 정의 ERP 펑션이 미리 정의된 복수의 카테고리 중 어디에 속하는지를 판단하는 단계; 및
상기 상기 소스 패키지를 그에 상응하는 사용자 정의 ERP 펑션이 속하는 카테로리로 분류하여 상기 저장소에 저장하는 단계를 포함하는 사용자 정의 ERP 펑션 공유 시스템.
8. The method of claim 7,
Wherein the user-defined ERP function sharing system stores a source package received from the plurality of sharer terminals in a predetermined repository,
Determining if a user defined ERP function corresponding to the source package belongs to a plurality of predefined categories; And
Classifying the source package into a category to which the corresponding user defined ERP function belongs and storing the category package in the repository.
제8항에 있어서,
상기 소스 패키지에 상응하는 사용자 정의 ERP 펑션이 미리 정의된 복수의 카테고리 중 어디에 속하는지를 판단하는 단계는,
상기 소스 패키지에 포함된 적어도 하나의 SQL 파일 또는 상기 소스 패키지에 포함된 디자인 파일을 분석하는 단계; 및
분석 결과에 기초하여 상기 소스 패키지에 상응하는 사용자 정의 ERP 펑션이 상기 복수의 카테고리 중 어디에 속하는지를 판단하는 단계를 포함하는 사용자 정의 ERP 펑션 공유 시스템.
9. The method of claim 8,
Wherein determining whether the user-defined ERP function corresponding to the source package belongs to a plurality of predefined categories comprises:
Analyzing at least one SQL file included in the source package or a design file included in the source package; And
And determining which of the plurality of categories the user-defined ERP function corresponding to the source package belongs to based on the analysis result.
제7항에 있어서,
상기 사용자 단말은, 소스 패키지 업로드 방법 및 소스 패키지 다운로드 방법을 수행하되,
상기 소스 패키지 업로드 방법은,
상기 사용자 단말에 저장된 적어도 하나의 소스 패키지의 리스트 중 적어도 일부 항목을 선택하는 기능을 제공하는 소스 패키지 업로드 UI를 제공하는 단계; 및
상기 소스 패키지 업로드 UI를 통해 선택된 항목에 상응하는 소스 패키지를 상기 사용자 정의 ERP 펑션 공유 시스템으로 전송하는 단계를 포함하고,
상기 소스 패키지 다운로드 방법은,
상기 사용자 정의 ERP 펑션 공유 시스템으로부터 상기 저장소에 저장된 소스 패키지의 리스트를 수신하는 단계;
수신된 소스 패키지 리스트 중 적어도 일부 항목을 선택하는 기능을 제공하는 소스 패키지 다운로드 UI를 제공하는 단계; 및
상기 소스 패키지 다운로드 UI를 통해 선택된 항목에 상응하는 소스 패키지를 상기 사용자 정의 ERP 펑션 공유 시스템으로부터 수신하는 단계를 포함하는 사용자 정의 ERP 펑션 공유 시스템.
8. The method of claim 7,
The user terminal performs a source package upload method and a source package download method,
The source package upload method includes:
Providing a source package upload UI providing a function of selecting at least some items of a list of at least one source package stored in the user terminal; And
And transmitting the 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 includes:
Receiving a list of source packages stored in the repository from the user-defined ERP function sharing system;
Providing a source package download UI providing a function of selecting at least some items of the received source package list; And
And receiving a source package corresponding to an item selected through the source package download UI from the user defined ERP function sharing system.
삭제delete
KR1020160157996A 2016-11-25 2016-11-25 Method and system for sharing user-defined Enterprise Resource Planning function and computing system performing the same KR101944973B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
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
PCT/KR2017/002232 WO2018097407A1 (en) 2016-11-25 2017-02-28 Method and system for sharing user-defined erp functions
CN201780077869.8A CN110249356B (en) 2016-11-25 2017-02-28 Sharing method and system for user-defined ERP function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
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 (2)

Publication Number Publication Date
KR20180059602A KR20180059602A (en) 2018-06-05
KR101944973B1 true KR101944973B1 (en) 2019-02-08

Family

ID=62195439

Family Applications (1)

Application Number Title Priority Date Filing Date
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

Country Status (3)

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

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220057721A (en) 2020-10-30 2022-05-09 김진일 System and method for providing office ERP solution based on document form big data
KR102547033B1 (en) 2023-03-10 2023-06-22 김제은 Method for providing information in the way user selected using keyword recognition function
KR102597643B1 (en) * 2023-02-16 2023-11-02 (주)예신뷰 Erp system for design works

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109752961B (en) * 2018-12-25 2022-05-06 施德朗(广州)电气科技有限公司 Method for sharing and managing protocol library file of central control system, computer readable storage medium and terminal
KR102244887B1 (en) * 2019-10-01 2021-04-28 (주) 더존비즈온 Method and system for recommending SQL query
CN111241038B (en) * 2020-01-19 2024-04-26 中国科学院电子学研究所 Satellite data processing method and system
KR102402196B1 (en) * 2020-07-16 2022-05-26 주식회사 카카오엔터테인먼트 Method and apparatus for providing entertainment management platform

Family Cites Families (8)

* 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
JP3987018B2 (en) * 2003-01-29 2007-10-03 松下電器産業株式会社 Integrated business software introduction and operation support system
WO2005045656A1 (en) * 2003-11-04 2005-05-19 Think2020, Inc. Systems, methods, and computer program products for developing enterprise software applications
JP2006260529A (en) * 2005-02-16 2006-09-28 Denso Wave Inc Program-providing system
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
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
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

Also Published As

Publication number Publication date
WO2018097407A1 (en) 2018-05-31
CN110249356A (en) 2019-09-17
CN110249356B (en) 2023-10-10
KR20180059602A (en) 2018-06-05

Similar Documents

Publication Publication Date Title
KR101944973B1 (en) Method and system for sharing user-defined Enterprise Resource Planning function and computing system performing the same
US20220382719A1 (en) Change request visualization in hierarchical systems
US7574379B2 (en) Method and system of using artifacts to identify elements of a component business model
KR101033446B1 (en) User interfaces for data integration systems
Stein et al. The enterprise data lake: Better integration and deeper analytics
US8412549B2 (en) Analyzing business data for planning applications
Labadie et al. FAIR enough? Enhancing the usage of enterprise data with data catalogs
US20160103903A1 (en) Systems, devices, and methods for generation of contextual objects mapped by dimensional data to data measures
US8688626B2 (en) Software tool for generating technical business data requirements
US20140025774A1 (en) Systems and methods for metadata driven dynamic web services
US20190173886A1 (en) Hierarchical permissions model within a document
US10338894B2 (en) Generating applications based on data definition language (DDL) query view and application page template
Priebe et al. Business information modeling: A methodology for data-intensive projects, data science and big data governance
CA2755902A1 (en) Methods and systems for preserving and accessing information related to decision-making
US9807169B2 (en) Distributed tagging of data in a hybrid cloud environment
US20230102947A1 (en) Providing operations in accordance with worksheet relationships and data object relationships
US20240126749A1 (en) Data aggregator graphical user interface
US10693622B2 (en) Product management system that extracts modifications
KR20180072889A (en) Method for generating user-defined Enterprise Resource Planning function and computing system performing the same
CN110019440A (en) The processing method and processing device of data
US20140149186A1 (en) Method and system of using artifacts to identify elements of a component business model
US20090271439A1 (en) Systems to implement business processes in computing environment
Chen et al. A practical guide to managing reference data with IBM InfoSphere master data management reference data management hub
Sarferaz Analytics
Softtech Data Warehouse Insights: Unlocking Hidden Opportunities

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant