KR19990057306A - Validation method of segment repetition in electronic document exchange system - Google Patents

Validation method of segment repetition in electronic document exchange system Download PDF

Info

Publication number
KR19990057306A
KR19990057306A KR1019970077356A KR19970077356A KR19990057306A KR 19990057306 A KR19990057306 A KR 19990057306A KR 1019970077356 A KR1019970077356 A KR 1019970077356A KR 19970077356 A KR19970077356 A KR 19970077356A KR 19990057306 A KR19990057306 A KR 19990057306A
Authority
KR
South Korea
Prior art keywords
segment
loop
electronic document
value
data structure
Prior art date
Application number
KR1019970077356A
Other languages
Korean (ko)
Other versions
KR100250120B1 (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 KR1019970077356A priority Critical patent/KR100250120B1/en
Publication of KR19990057306A publication Critical patent/KR19990057306A/en
Application granted granted Critical
Publication of KR100250120B1 publication Critical patent/KR100250120B1/en

Links

Classifications

    • 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Theoretical Computer Science (AREA)
  • Economics (AREA)
  • General Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Operations Research (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Communication Control (AREA)

Abstract

1. 청구 범위에 기재된 발명이 속한 기술분야1. Technical field to which the invention described in the claims belongs

전자문서 교환시스템에서의 세그먼트 반복사용에 대한 유효성 검증방법.A validation method for the use of segment repetition in an electronic document exchange system.

2. 발명이 해결하려고 하는 기술적 과제2. Technical Challenges to be Solved by the Invention

송수신되는 전자문서가 송수자가 합의한 표준전자문서 구조를 준수하였는지를 검사할 수 있도록 하고자 함.We want to be able to check whether the transmitted and received electronic document conforms to the standard electronic document structure agreed by the sender.

3. 발명의 해결방법의 요지3. The point of the solution of the invention

전자문서 구조 정보를 전자문서 데이타 스트럭쳐에 세그먼트 및 루프들의 상관관계 정보를 루프데이타 스트럭쳐에 각각 맵핑시키고, 세그먼트의 단위사용횟수가 세그먼트 반복횟수를 초과하였으면 세그먼트 반복초과사용에 따른 오류처리하고 초과하지 않았으면 세그먼트가 루프속에 포함된 세그먼트인지 조사하며 포함된 세그먼트가 아니면 루프반복횟수 값을 초기화하고 포함된 세그먼트이면 루프의 현재루핑횟수가 루프반복사용 상한값을 초과하였으면 루프반복사용에 따른 사용오류를 처리하고 초과하지 않았으면 세그먼트의 총 누적사용횟수 값이 반복사용 한계값을 초과하였는지 조사하여 초과하였으면 세그먼트 상한초과사용에 따른 오류를 처리한다.The electronic document structure information is mapped to the electronic document data structure and the correlation information of the segments and loops is mapped to the loop data structure, and if the number of times of use of the segments exceeds the number of times of segment repetition, If the current looping count of the loop exceeds the upper limit of loop repetition usage, it is determined whether the segment is a segment included in the loop. If the segment is an embedded segment, If it is not exceeded, it is checked whether the total cumulative use count value of the segment exceeds the repeated use limit value, and if it is exceeded, the error according to the use of the segment upper limit excess is handled.

4. 발명의 중요한 용도4. Important Uses of the Invention

전자문서교환시스템에 이용됨.Used in electronic document exchange system.

Description

전자문서 교환시스템에서의 세그먼트 반복사용에 대한 유효성 검증방법Validation method of segment repetition in electronic document exchange system

본 발명은 전자문서교환시스템(EDI : Electronic Data Interchange)에서의 국제표준 타입의 전자문서들의 구성요소인 세그먼트(Segment)들의 반복 사용에 대한 유효성 검증방법에 관한 것이다.The present invention relates to a method for verifying the validity of repeated use of segments which are components of electronic standard types of electronic documents in an electronic data interchange (EDI).

여기서, 유효성 검증이라 함은, 전자문서 교환시스템에서 문서 변환부(Translator)가 표준 전자문서(Interchange)를 생성하는 송신변환 과정과, 표준전자문서를 입력으로 하여 응용 프로그램이 이용할 수 있는 응용 데이타를 생성하는 수신변환 과정에서 전자문서에서 하나의 문장에 해당된다고 볼 수 있는 세그먼트들이 전자문서상에서 규정된 최대 허용 반복사용 횟수를 초과해서 사용되지 않았는지, 또는 세그먼트가 루프(들) 속에 포함되어서 사용될 때, 세그먼트를 포함하고 있는 "루프들의 최대허용 반복수 곱하기 세그먼트 최대 허용 반복수"를 초과해서 사용되지 않았는지 여부를 검사하는 것을 말한다.Here, the validity verification refers to a process in which a document conversion unit (Translator) generates a standard electronic document (Interchange) in an electronic document exchange system and a transmission conversion process in which a standard electronic document is input and application data If the segments that are considered to correspond to one sentence in the electronic document in the generated incoming conversion process are not used in excess of the maximum allowed number of times of repeated use specified on the electronic document, or if the segment is used in the loop (s) Quot; maximum allowed number of loops times segment maximum allowed number of loops ", which includes the segment.

따라서, 본 발명은 전자문서 교환 시스템을 이용하여 전자문서를 송수신할때, 송수신되는 전자문서가 송수신자가 합의한 표준전자문서 구조를 준수하는지를 검사할 수 있도록 하고, 전자문서가 올바르게 응용 프로그램과 맵핑될 수 있도록 하거나, 응용 프로그램이 생성하는 응용 데이타들이 올바르게 표준전자문서로 변환될 수 있도록 하는 전자문서 세그먼트의 반복 사용에 대한 유효성 검증 방법을 제공하는데 그 목적이 있다.Therefore, it is an object of the present invention to make it possible to check whether an electronic document to be transmitted and received conforms to a standard electronic document structure agreed upon by the sender and the receiver, when the electronic document is transmitted and received using the electronic document exchange system, Or to enable application data generated by an application program to be correctly converted into a standard electronic document, and to provide a validation method for repeated use of an electronic document segment.

도1은 본 발명이 적용되는 전자문서교환시스템의 개략적인 블럭 구성도.1 is a schematic block diagram of an electronic document exchange system to which the present invention is applied;

도2는 전자문서의 루프 구조도.2 is a loop structure diagram of an electronic document.

도3a 및 3b는 전자문서의 세그먼트 테이블의 구조도.3A and 3B are structural diagrams of segment tables of electronic documents;

도4는 전자문서의 세그먼트 테이블을 데이타 스트럭쳐화한 구조도.FIG. 4 is a diagram showing a data structure of a segment table of an electronic document; FIG.

도5는 루프 정보관리를 위한 루프 데이타 스트럭쳐를 나타낸 도면.5 shows a loop data structure for loop information management;

도6은 세그먼트 반복 사용 정보 관리를 위한 빈도 데이타 스트럭쳐를 나타낸 도면.6 shows a frequency data structure for segment repeat use information management;

도7은 전자문서 구조 정보를 포함하는 전자문서 데이타 스트럭쳐를 나타낸 도면.7 illustrates an electronic document data structure including electronic document structure information;

도8은 본 발명에 따른 전자문서의 세그먼트 및 루프들의 상관관계 정보들을 전자문서, 루프, 빈도 데이타 스트럭쳐로 설정하는 흐름도.FIG. 8 is a flowchart of setting correlation information of segments and loops of an electronic document according to the present invention to an electronic document, a loop, and a frequency data structure; FIG.

도9a 및 9b는 본 발명에 따른 세그먼트 반복 사용에 대한 유효성 검증 흐름도.Figures 9a and 9b are flow diagrams for validating the use of segment repetition according to the present invention.

* 도면의 주요부분에 대한 부호의 설명DESCRIPTION OF THE REFERENCE NUMERALS

101 : 가입자장치102 : 문서변환부101: Subscriber unit 102: Document conversion unit

103 : EDI 메세징장치104, 107 : 가입자 처리부103: EDI messaging device 104, 107: Subscriber processing part

105 : 메세지 중계 처리부106 : 메세지 저장부105: Message relay processing unit 106: Message storage unit

상기 목적을 달성하기 위한 본 발명은, 전자문서 교환시스템에서의 세그먼트 반복사용에 대한 유효성 검증방법에 있어서, 전자문서 구조 정보를 전자문서 데이타 스트럭쳐에, 각 전자문서내에 포함된 세그먼트 및 루프들의 상관관계 정보를 루프 데이타 스트럭쳐에 각각 맵핑시키고, 전자문서내의 세그먼트들의 사용빈도를 나타내는 빈도 데이타 스트럭쳐를 초기화하는 제1단계; 사용할 세그먼트의 빈도 데이타 스트럭쳐내의 단위 사용 횟수가 전자문서 데이타 스트럭쳐의 세그먼트 반복횟수를 초과하였는지 조사하는 제2단계; 상기 제2단계에서 초과하였으면 세그먼트 반복초과사용에 따른 오류 처리를 수행하는 제3단계; 상기 제2단계에서 초과하지 않았으면 세그먼트가 루프속에 포함된 세그먼트인지 조사하는 제4단계; 상기 제4단계에서 루프속에 포함된 세그먼트가 아니면 루프 반복 횟수 값을 초기화하는 제5단계; 상기 제4단계에서 루프속에 포함된 세그먼트이면 루프의 현재 루핑 횟수가 루프반복사용 상한값을 초과하였는지 조사하는 제6단계; 상기 제6단계에서 초과하였으면 루프 반복 사용에 따른 사용오류를 처리하는 제7단계; 상기 제6단계에서 초과하지 않았으면 세그먼트의 총 누적 사용 횟수 값이 반복 사용 한계값을 초과하였는지 조사하는 제8단계; 및 상기 제8단계에서 초과하였으면 세그먼트 상한 초과 사용에 따른 오류를 처리하고, 초과하지 않았으면 정상적인 사용이므로 종료하는 제9단계를 포함한 것을 특징으로 한다.According to another aspect of the present invention, there is provided a method for verifying validity of repeated use of segments in an electronic document exchange system, the method comprising the steps of: comparing electronic document structure information with an electronic document data structure; correlating segments and loops included in each electronic document A first step of mapping information to a loop data structure, respectively, and initializing a frequency data structure indicating a frequency of use of segments in the electronic document; A second step of checking whether the number of times the unit used in the data structure of the segment to be used exceeds the number of times of segment repetition of the electronic document data structure; A third step of performing an error process according to the use of the segment repetition exceeding if it is exceeded in the second step; A fourth step of checking if the segment is included in the loop if it is not exceeded in the second step; A fifth step of initializing the number of loop repetition times if the segment is not included in the loop in the fourth step; A sixth step of checking whether the current looping count of the loop exceeds a loop repeat use upper limit value in the case of a segment included in the loop in the fourth step; A seventh step of processing a use error according to the use of loop repetition if it is exceeded in the sixth step; An eighth step of checking whether the total cumulative use count value of the segments exceeds the repeat use limit value in the sixth step; And a ninth step of processing an error due to use of the upper limit of the segment if it is exceeded in the eighth step, and ending the normal use if the error has not been exceeded.

먼저, 본 발명의 이해를 돕기 위하여 전자문서교환시스템(EDI)에 대하여 설명한다.First, an electronic document exchange system (EDI) will be described in order to facilitate understanding of the present invention.

전자문서교환시스템(EDI)이란 상업용 거래문서 및 행정문서 등을 거래 당사자가 합의한 표준에 따라 컴퓨터로 처리 가능하도록 구조화된 전자문서로 변환하여 컴퓨터 통신망을 통하여 상호교환하는 새로운 문서 전달방식을 말한다.Electronic document exchange system (EDI) refers to a new document delivery system that converts commercial transaction documents and administrative documents into structured electronic documents that can be processed by computers in accordance with the standards agreed by the trading partners and exchange them through computer networks.

이러한 전자문서교환시스템에서 전자문서의 내용과 구조(문서표준) 및 통신방법(통신표준) 등에 관해 국제적으로 합의된 UN/EDIFACT 문서표준과 ITU-T X.435 통신표준에서 규정하고 있다.In this electronic document exchange system, the UN / EDIFACT document standard and the ITU-T X.435 communication standard agreed internationally on the contents and structure (document standard) and communication method (communication standard) of electronic documents.

전자문서교환시스템에서 전자문서 변환부는 응용 프로그램이 생성한 사실 데이타파일을 맵핑과 변환과정을 통해 국제(UN/EDIFACT) 표준 전자문서 구조로 이루어진 인터체인지파일로 변환하여 전송하거나, 그 역의 동작으로 인터체인지 파일을 수신하면 그 역동작을 통해 사설 데이타파일로 변환시키는 기능을 수행한다.In the electronic document exchange system, the electronic document conversion unit converts the fact data file generated by the application program into an interchange file composed of the international (UN / EDIFACT) standard electronic document structure through the mapping and conversion process, and transmits the interchange file Upon receipt of the file, it performs the function of converting it into a private data file through the reverse operation.

일반적으로 전자문서 변환부는 국제(UN/EDIFACT)표준에서 규정한 제반 구문규칙을 준수하여 문서변환을 수행하며, 크게 나누어 송신변환부, 수신변환부, 맵핑부, 그리고 표준데이타 관리부로 이루어진다.Generally, the electronic document conversion unit performs document conversion in compliance with all the syntax rules defined by the international (UN / EDIFACT) standard, and consists of a transmission conversion unit, a reception conversion unit, a mapping unit, and a standard data management unit.

현재 도로, 항만, 철도 등의 사회 간접자본과 마찬가지로 정보통신은 전 산업분야에 막대한 영향을 끼치고 있으며, 기업 및 국가경쟁력을 결정짓는 중요한 척도가 되고 있다. 그 중에서도 종이없는 거래라는 새로운 비지니스 방식을 제공하는 전자문서교환시스템은 전세계 기업들의 경쟁력 확보에 필수적인 수단으로 등장하고 있다. 종래의 팩스 및 전자우편은 송수신자간에 상호 합의되지 않은 비정형화된 데이타를 사람이 읽을 수 있는 형태로 표현하여 전자적으로 전송하지만, 표준화 된 형태가 아니므로 수신자가 수신 데이타를 이용하기 위해서는 수신 자료를 재가공하거나 컴퓨터에 재입력해야 한다. 이는 사람 대 사람(man-to-man) 통신 형태(type)를 가정하고 있기 때문이다. 즉, 사람의 기입이 필수적일 수 밖에 없다.Like current infrastructure such as roads, ports and railways, ICT has a huge impact on all industries and is an important measure of corporate and national competitiveness. Among them, the electronic document exchange system, which provides a new business method of paperless transaction, is emerging as an essential means of securing the competitiveness of companies worldwide. Conventional fax and e-mail expresses unofficially informal informal data between sender and receiver in a human-readable form and electronically transmits it. However, since it is not a standardized form, in order for the recipient to use the received data, You have to rework or re-enter the computer. This is because it assumes a man-to-man communication type. In other words, it is imperative that people fill out the form.

그러나, 컴퓨터 대 컴퓨터(computer-to-computer) 통신 형태(type)를 가정하고 있는 전자문서교환시스템에서는 상기 팩스 및 전자우편과는 다르게 컴퓨터 응용프로그램에 의해 생성(Generation)된 데이타들을 전자문서교환 시스템의 표준전자문서 형태로 변환(Encoding)시켜 수신 시스템으로 전달한다. 이 표준전자문서는 다시 수신 컴퓨터의 문서변환부에 의해 국제 표준 전자문서 구문규칙에 따라 해석(Interpretation) 즉, 역변환(Decoding)되어 응용프로그램이 처리할 수 있는 형태로 가공됨으로써, 기업과 기업간에 거래되는 문서를 사람의 개입없이 컴퓨터에 의해 처리할 수 있게 해 준다.However, in an electronic document exchange system in which a computer-to-computer communication type is assumed, data generated by a computer application program, unlike the fax and e-mail, (Encoding) into a standard electronic document format and transmits it to the receiving system. The standard electronic document is again interpreted by the document conversion unit of the receiving computer in accordance with the international standard electronic document syntax rules and is processed in a form that can be processed by the application program, To be processed by a computer without human intervention.

이렇게 각 기업들의 정보 시스템을 연결해 주는 전자문서교환 시스템은 컴퓨터 하드웨어, 소프트웨어, 지정학적 위치, 시간대, 통신 설비 등의 제한을 받지 않고, 전자문서교환시스템의 문서표준 및 통신표준에 따른 문서를 생성하고 해석할 수 있는 소프트웨어만 있으면 누구나 전세계 어느곳에나, 언제나, 어느 거래처에게나 종이 없는 전자 문서를 전송할 수 있다. 즉, 전자문서교환시스템의 범위는 매우 넓어서 수직적 정보 흐름 뿐만 아니라 업종간, 산업간의 수평적 정보 흐름, 나아가 국가간 국제 정보 흐름을 가능케 한다. 따라서, 기존의 전화, 우편, 팩스 등 전통적인 문서 처리 방식으로는 데이타가 반복되어 입력되므로 업무 처리 시간이 지연되고, 재입력에 의한 데이타의 정확도가 낮아지며, 많은 시간과 인력이 소모되고, 업무 진행 및 처리가 비효율적이며 복잡하나, 전자문서교환시스템을 이용하므로써 재고 비용, 운송비용, 데이타 오류 감소 등의 비용 절감과, 업무 능률 향상, 고객 서비스 향상, 거래처와의 관계 증진, 국제 경쟁력 향상의 효과를 얻을 수 있다.In this way, the electronic document exchange system connecting the information systems of each company generates documents according to the document standards and communication standards of the electronic document exchange system without being restricted by computer hardware, software, geographical location, time zone, Anyone with an interpretable software can send paperless electronic documents anywhere, anytime, anywhere in the world. In other words, the scope of the electronic document exchange system is very wide, enabling not only vertical information flow, but also cross-industry, horizontal information flow among industries, and international information flow among countries. Therefore, conventional data processing methods such as telephone, mail, fax, etc., are repeatedly inputting data, so that the processing time is delayed, the accuracy of data due to re-input is decreased, the time and manpower are consumed, It is inefficient and complicated to process. However, by using electronic document exchange system, cost reduction such as inventory cost, transportation cost and data error reduction, improvement of work efficiency, improvement of customer service, improvement of relations with customers, .

상기와 같은 전자문서교환시스템이 실현되기 위해서는 송수신자간에 교환되는 전자문서에 대한 표준이 있어야 한다. 각 기업에서 사용되는 문서의 양식은 각각 다르기 때문에 문서의 호환성을 유지시키기 위해서는 교환할 전자문서의 내용 및 구조에 관한 제반 표준이 필요하다.In order to realize such an electronic document exchange system, there is a need for a standard for electronic documents exchanged between senders and receivers. Since the format of the documents used by each company is different, in order to maintain the compatibility of the documents, all standards concerning the contents and structure of the electronic documents to be exchanged are required.

전자문서교환시스템에 적용되는 표준에는 크게 문서표준과 통신표준이 있다. 문서표준은 유엔유럽경제위원회(UN/ECE)를 중심으로 표준이 제정, 공표되었으며, 통신표준은 ITU(구 CCITT)와 ISO를 중심으로 표준이 제정 공표되었다. 현재 유엔에서는 국제 문서표준으로 UN/EDIFACT를 발표하였고(1987), ITU-T에서는 국제통신표준으로 X.435권고안을 제정 발표하였다.The standards that apply to electronic document exchange systems are largely document standards and communication standards. The document standard was enacted and published by the United Nations Economic Commission for Europe (UN / ECE), and the communication standard has been promulgated around ITU (formerly CCITT) and ISO. The United Nations has now published UN / EDIFACT as an international document standard (1987), and ITU-T has published the X.435 Recommendation as an international telecommunication standard.

UN/EDIFACT(UN/EDI for Adiministration Commercial Transportation)란 행정, 상역, 운송 데이타의 전자적 교환을 위한 국제연합규칙이다. 이는 구조화된 데이타의 전자적 교환을 위해 국제적으로 합의된 표준, 디렉토리, 메세지 설계 가이드라인으로 구성되어 있다. 이 규칙은 UN의 기구내에서 권장되고 있는데, UN의 유럽 경제위원회(UN/ECE)가 UNTDID(United Nations Trade Data Interchange Directory : 유엔 거래 데이타 교환목록)로 승인, 공표하였으며, 합의된 절차에 따라 유지 개선된다.UN / EDIFACT (UN / EDIF for Adiministration Commercial Transportation) is the United Nations convention for the electronic exchange of administrative, commercial and transport data. It consists of internationally agreed standards, directories, and message design guidelines for the electronic exchange of structured data. These rules are recommended within the framework of the United Nations and are approved and published by the United Nations Economic Commission for Europe (UN / ECE) as United Nations Trade Data Interchange Directory (UNTDID) Improvement.

UN의 유럽경제위원회(UN/ECE)는 UN 경제사회위원회에 설치된 5개의 지역위원회 중의 하나이다. 유럽경제위는 그 명칭에도 불구하고 유럽은 물론 북미지역도 포함하고 있다.The UN Economic Commission for Europe (UN / ECE) is one of the five regional committees established by the UN Economic and Social Commission. Despite its name, the European Economic Area includes Europe as well as North America.

UN/EDIFACT에서 규정하고 있는 내용은 구문규칙(Syntax Rules, ISO 9735), 메세지 설계지침(Message Design Guidelines), 구문 구현지침(Syntax Implementation Guidelines), 데이타 요소사전(Data Element Directory : EDED), 복합요소 사전(Composite Element Directory : EDCE), 세그먼트 사전(Segment Directory : EDSD), 코드 리스트(Code List), 표준 메시지 사전(UN Standard Message Directory : EDMD), 원격전송에 의한 거래 데이타 교환절차의 통일규칙(UNCID), 관련 해설자료 등으로 구성되어 있다.The content defined by UN / EDIFACT is defined in terms of Syntax Rules (ISO 9735), Message Design Guidelines, Syntax Implementation Guidelines, Data Element Directory (EDED) (EDC), Segment Directory (EDSD), Code List, Standard Message Directory (EDMD), Uniform Rules of Transaction Data Exchange Procedures by Remote Transmission (UNCID ), And related commentary materials.

UN/EDIFACT에서 사용될 수 있는 문자집합은 다음과 길이 2개의 집합으로 분류된다. UN/EDIFACT에서 사용되는 문자 집합은 A와 B가 있다. 문자집합 A를 사용하는 메세지를 A레벨, 문자집합 B를 사용하는 메세지를 B레벨 메세지라 한다. 단, 문자집합 B를 사용할 때는 양자간에 합의가 있어야 한다.The character sets that can be used in UN / EDIFACT are classified into two sets of lengths: There are A and B character sets used in UN / EDIFACT. A message using character set A is called A level, and a message using character set B is called B level message. However, when using character set B, there must be an agreement between the two.

문자집합 ACharacter set A

영문자(대문자)A 부터 ZAlphabetic characters (upper case) A to Z

숫자 0 부터 9Numbers 0 through 9

한글각 음절Korean syllable

기타문자.,-()/=Other characters., - () / =

예약문자'+:?Reserved character '+ :?

텔렉스 전송에는 사용할 수 없는 문자!"%&*;<>Unacceptable characters for telex transmission! "% &*; <>

문자집합 BCharacter set B

영문자(대문자)A 부터 ZAlphabetic characters (upper case) A to Z

영문자(소문자)a 부터 zAlphabetic characters (lowercase letters) a to z

숫자 0 부터 9Numbers 0 through 9

한글각 음절Korean syllable

기타문자.,-()/=Other characters., - () / =

'+:?'+:?

!"%&*;<>! "% &*; <>

예약문자IS4 IS3 IS1(인쇄되지 않는 문자)Reserved characters IS4 IS3 IS1 (non-printing characters)

UN/EDIFACT 표준 전자문서를 필요 없는 부분을 전송하지 않는 유연 양식(flexible format)으로 나타내기 위해서는 데이타 엘리먼트나 세그먼트의 시작과 끝을 표시할 수 있어야 한다. UN/EDIFACT에서 구분자는 이러한 용도로 사용되며, 문자집합에 따라 서로 다른 문자를 사용한다. 구분자의 이름과 사용하는 문자는 다음과 같다.UN / EDIFACT standard To be able to display electronic documents in a flexible format that does not transmit unnecessary parts, it must be able to indicate the beginning and end of a data element or segment. In UN / EDIFACT, separators are used for this purpose, and different characters are used depending on the character set. The name of the delimiter and the characters used are as follows.

- 세그먼트 종결 부호( ' : 윗쉼표) : 세그먼트의 끝을 나타낸다. 이 뒤에 나오는 태그는 바로 뒤의 세그먼트 이름을 나타낸다.- Segment terminator (': upper comma): Indicates the end of the segment. The tag after this indicates the segment name immediately following it.

- 세그먼트 태그와 데이타 엘리먼트 분리 부호(+) : 세그먼트 태그와 그 위의 데이타를 분리할 때와 세그먼트 안에서 독립 데이타 엘리먼트들을 서로 분리할 때 사용한다.- Segment tag and data element separator (+): Used when separating the segment tag and the data above it and separating the independent data elements in the segment.

- 구성 데이타 엘리먼트 분리 부호(:) : 복합 데이타 엘리먼트 안에서 구성 데이타 엘리먼트를 서로 분리할 때 사용한다.- Configuration data element separator (:): Used to separate constituent data elements from each other in a composite data element.

- 해제 부호(?) : 문자 집합 A를 사용할 때 구분자로 쓰이는 문자를 일반 데이타로 쓰고 싶을 때 그 문자 앞에 사용한다.- Release code (?): When character set A is used, it is used in front of the character to be used as general data when used as a delimiter.

UN/EDIFACT에서 데이타 엘리먼트(Data Element)는 마치 언어에서 단어와 같은 역할을 하는 것으로, 크게 단순 데이타 엘리먼트(Simple Data Element)와 복합 데이타 엘리먼트(Composite Data Element)로 나눌 수 있다.In UN / EDIFACT, a Data Element acts like a word in a language, and can be roughly divided into a Simple Data Element and a Composite Data Element.

단순 데이타 엘리먼트(Simple Data Element)는 자신의 데이타 엘리먼트 만으로 의미가 충분히 정해지므로 부연자 또는 한정자가 필요 없는 데이타 엘리먼트를 말한다.A simple data element is a data element that does not need a supplementary or qualifier because its data element is sufficiently meaningful.

예를 들어, "3207" 국가 코드 an3 id"은 ISO 3066에 지정된 국가면 또는 기타 지리적인 이름에 대한 식별자를 의미한다.For example, "3207" Country Code an3 id "means the identifier for the national face or other geographic name specified in ISO 3066.

그러나, 자신의 데이타 엘리먼트만으로는 의미가 완전히 정해지지 않기 때문에 부연 설명을 위한 한정사(Quilifier)를 필요로 하는 엘리먼트를 한정 데이타 엘리먼트(Quilified Data Element)라 한다.However, since its meaning is not completely defined by its own data element, an element requiring a quilifier for further explanation is called a quilified data element.

예를 들어, "6063 수량 n..15 n"은 수량의 수치값을 의미한다.For example, "6063 quantity n..15 n" means a numerical value of quantity.

위의 예에서 보면 수량의 수치값이 무엇인지 알 수가 없으므로 부연설명이 필요하다. 예를 들면 수량의 수치값이 '10'일 때 한정사에서 '114'(승객수)라든지 '115'(승무원 수)라고 부연 설명을 해주어야 수량의 의미가 확실해질 것이다. 이처럼 한정 데이타 엘리먼트의 속성을 상술해 주는 데이타 엘리먼트가 한정사이다.In the above example, it is not possible to know what the numerical value of the quantity is. For example, if the numerical value of the quantity is '10', the meaning of the quantity will be confirmed if it is described as '114' (number of passengers) or '115' (number of the crews) Thus, a data element that specifies the attributes of a qualifying data element is limited.

보합 데이타 엘리먼트는 개념적으로 관련되어 있는 단일 데이타 엘리먼트들의 집합으로 이루어진 데이타 엘리먼트이다. 이때, 복합 데이타 엘리먼트안의 단일 데이타 엘리먼트를 구성하는 데이타 엘리먼트라고 한다. UN/EDIFACT에서 복합 데이타 엘리먼트는 반드시 대문자 'S' 또는 'C'로 시작된다.A coincidence data element is a data element consisting of a single set of data elements that are conceptually related. At this time, it is referred to as a data element constituting a single data element in a composite data element. In UN / EDIFACT, a composite data element must begin with an uppercase 'S' or 'C'.

아래의 예는 세개의 구성 데이타 엘리먼트들로 이루어진 복합 데이타 엘리먼트이다. 이 복합 데이타 엘리먼트를 사용할 때는 필수적으로 선언된 '6060 수량'은 반드시 사용하여야 하나 선택적으로 선언된 '6063수량 한정사'나 '6411 측정 단위 한정사'의 경우는 사용하지 않아도 된다.The following example is a composite data element consisting of three configuration data elements. When using this composite data element, it is mandatory to use the declared '6060 quantity' but not the selectively declared '6063 quantity qualifier' or '6411 measurement unit qualifier'.

예)C186 수량 세부 사항Example) C186 Quantity Details

내용 : 6063 수량 한정사C an..3idContent: 6063 Quantity Qualifier C an..3id

6060 수량Mn..15n6060 quantity Mn.15n

6411 측정단위 한정사C an..3id6411 Measuring unit qualifier C an..3id

복합 데이타 엘리먼트 중에서 S로 시작하는 S001부터 S010까지의 복합 데이타 엘리먼트를 서비스 데이타 엘리먼트라고 한다. 이들은 전송에 관련된 내용을 나타내는 데이타 엘리먼트들이다.The composite data element from S001 to S010, starting with S, among the complex data elements is called a service data element. These are data elements that represent the content related to the transmission.

UN/EDIFACT의 ISO 7372/UNTDED에 기술되어 있는 데이타 엘리먼트의 자료표현은 다음과 같다.The data representation of the data elements described in ISO 7372 / UNTDED of UN / EDIFACT is as follows.

a영문자a alphabetic character

n숫자n number

an영문자/숫자 혼용an Alpha / Numerical Mixed

a33개의 영문자(고정길이)a33 alphabetic characters (fixed length)

n33개의 숫자(고정길이)n33 numbers (fixed length)

an33개의 영문자/숫자 혼용(고정길이)mixed an33 alphanumeric characters (fixed length)

a..33개의 영문자까지(가변길이)a..33 alphabetic characters (variable length)

n..3최대 3개의 숫자(가변길이)n.3 Up to three digits (variable length)

an..3최대 3개의 영문자/숫자 혼용(가변길이)an..3 Up to 3 alphanumeric characters (variable length)

M필수적인 엘리먼트 속성M Required element attributes

C선택적인 엘리먼트 속성C optional element property

UN/EDIFACT에서 세그먼트(Segment)는 서로 관련된 데이타 엘리먼트(단순, 복합 데이타 엘리먼트)들이 모여 이룬 의미있는 집합을 세그먼트라 한다. 각 세그먼트는 유일한 3글자의 태그로 구분되어야 하며, 그 구조가 사전에 정의되어야 한다.In UN / EDIFACT, a segment is a meaningful set of data elements (simple, compound data elements) that are related to one another. Each segment must be separated by a unique three-character tag, and its structure must be defined in advance.

하나의 세그먼트는 세그먼트 형태 식별자인 세그먼트 태그(Tag), 데이타 요소 구분자(Separators), 단순 또는 복합 데이타 요소(Simple or Composite Data Element), 세그먼트 종결자(Terminator)로 구성된다.One segment consists of a segment type identifier, a tag, a data element separator, a simple or composite data element, and a segment terminator.

예를 들어, "CLU+BEF:IN'"에서 "CUX"는 "통화" 세그먼트와 태그이고, "+"는 구분자, "BEF"는 데이타 요소 "통화코드"의 값이며, ":"는 복합데이타 요소 내의 데이타 요소 구분자. "IN"는 송장(Invoice) 메세지 상의 금액에 적용되는 통화임을 나타내는 통화코드의 한정사, "'"는 세그먼트 종결자를 각각 나타낸다.For example, in "CLU + BEF: IN", "CUX" is the "call" segment and tag, "+" is the delimiter, "BEF" is the value of the data element "currency code" The data element separator in the data element. &Quot; IN " represents a currency code qualifier indicating that the currency is applied to an amount on an invoice message, and " " represents a segment terminator.

세그먼트는 크게 데이타 세그먼트(Data Segment)와 서비스 세그먼트(Service Segment)로 나눌 수 있다.Segments can be roughly divided into data segments and service segments.

데이타 세그먼트는 사용자가 실제로 전송하고자 하는 자료를 포함하는 세그먼트로서, 반드시 영문자 "UN"으로 시작되지 않는 세그먼트 태그를 갖는다.A data segment is a segment that contains the data that the user actually wants to transmit and has a segment tag that does not necessarily begin with the letter "UN".

아래는 그 예를 든 것이다.Below is an example.

CLX통화 세그먼트CLX call segment

설명 : 문서에서 사용되는 통화를 기술하여 환율과 관계된 내용을 기술Description: Describe the currency used in the document to describe the exchange rate related content

C180참조 통화MC180 Reference currency M

6345통화코드M a3 id6345 Currency code M a3 id

6343통화 한정사C an..3 id6343 Currency Qualifier C an..3 id

C182목표통화CC182 Target currency C

6345통화 코드M a3 id6345 Currency code M a3 id

6343통화 한정사C an..3 id6343 Currency Qualifier C an..3 id

5042환율C n..12 n5042 Rate C n..12 n

6341외환 시장 코드C an3 id6341 Foreign exchange market code C an3 id

C034시차CC034 Parallax C

2005날짜/시간 한정사C an..3 id2005 Date / Time Qualifier C an..3 id

2001날짜 코드C n6 n2001 Date code C n6 n

2002시간C n4 n2002 Time C n4 n

2461시간대 코드C an3 an2461 Time zone code C an3 an

서비스 세그먼트는 "UN"으로 시작되는 세그먼트 태그를 갖는 세그먼트로서, UN/EDIFACT 메세지 구성에 반드시 사용되어야 하는 필수 세그먼트(UNA, UNS 세그먼트는 경우에 따라 사용하지 않을 수 있음)들이다. 데이타 세그먼트와는 달이 제어용으로 사용되는 서비스 세그먼트는 인터테인지와 메세지의 시작과 끝을 구분하거나, 선택적으로 사용될 수 있는 기능그룹의 시작과 끝 등을 구분하기 위해 사용된다.A service segment is a segment with a segment tag beginning with "UN", which is a mandatory segment that must be used for UN / EDIFACT message construction (UNA, UNS segments may not be used in some cases). A service segment that is used for control of a data segment is used to distinguish the start and end of an interface and a message, or to distinguish the start and end of an optional function group.

UN/EDIFACT에서 사용되는 서비스 세그먼트들은 아래와 같다.The service segments used in UN / EDIFACT are:

UNB 인터체인지 헤더는 인터체인지 시작 세그먼트이고, UNZ 인터체인지 트레일러는 인터체인지 종료 세그먼트, UNG 기능적 그룹 헤더는 기능적 그룹의 시작 세그먼트, UNE 기능적 그룹 트레일러는 기능적 그룹의 종료 세그먼트, UNH 메세지 헤더는 메세지의 시작 세그먼트, UNT 메세지 트레일러는 메세지의 종료 세그먼트, UNS 부문 통제는 메세지의 표제, 내역, 요약 부문 분리 세그먼트, UNA 서비스 스트링 통지는 인터체인지에 사용된 구분자 세그먼트를 각각 나타낸다.The UNB interchange header is an interchange start segment, the UNZ interchange trailer is an interchange end segment, the UNG functional group header is a start segment of a functional group, the UNE functional group trailer is an end segment of a functional group, the UNH message header is a start segment of a message, The trailer indicates the ending segment of the message, the UNS sector control indicates the heading, detail, summary segment segment of the message, and the UNA service string notification indicates the segment separator used in the interchange.

아래에 이에 대한 예제를 하나 들었다.Below is an example of this.

UNB인터체인지 헤더UNB interchange header

기능 : 인터체인지의 시작을 표시하고, 전송에 필요하거나, 문서변환에 필요한 제어 데이타를 포함.Function: Indicates the start of the interchange and includes the control data required for transmission or necessary for document conversion.

S001 구문 식별자MS001 Syntax identifier M

0001 구문 식별자M a40001 Syntactic identifier M a4

0002 구문 개정 번호M n10002 Syntax revision number M n1

S002 인터체인지 송신자MS002 Interchange sender M

0004 송신자 식별M an..350004 Sender identification M an..35

0007 식별 코드 한정사C an..4Identification code qualifier C an..4

0008 반송 주소C an..140008 Return address C an..14

S003 인터체인지 수신자MS003 Interchange recipient M

...

S004작성 날짜 및 시간MS004 Creation date and time M

...

S005 수신자 참조, 암호CS005 Recipient reference, password C

...

0026 적용 참조C an..140026 Application Reference C an..14

0029 처리 우선순위 코드C a1The processing priority codes C a1

0031 수령 통지 요구C n10031 Receipt notification request C n1

0032 통신 협정 식별자C an..350032] The communication agreement identifier C an..35

0035 시험 표시자C n1The test indicator C n1

UN/EDIFACT 표준 전자문서는 다음과 같이 크게 3 부분으로 구분 지을 수 있다. 각 데이타 세그먼트는 메세지를 구성하고 있는 일련의 세그먼트들의 특정한 자리에 위치하고 있고, 메세지내의 다음 세부분 안에 나타날 수 있다.The UN / EDIFACT standard electronic document can be divided into three major parts as follows. Each data segment is located in a specific place in the series of segments that make up the message, and can appear in the next three parts of the message.

표제부문(Heading Section) : 이 부문에서 나타나는 세그먼트는 메세지 전체와 관련되어 있다.Heading Section: Segments appearing in this section are related to the entire message.

내역부문(Detail Section) : 이 부문에서 나타나는 세그먼트는 사용자가 상대방에게 전달하고자 하는 상세한 정보에만 관련이 있으며, 표제부문에서 정의된 어떤 유사한 지침에 우선한다.Detail Section: Segments appearing in this section relate only to the detailed information that the user wishes to convey to the other party and take precedence over any similar guidance defined in the heading section.

요약부문(Summary Section) : 요약부분에서는 메세지(예, 송장, 주문서 등)상의 총액, 라인 수 등과 같은 총계 또는 통제 정보용 세그먼트들만 나타난다.Summary Section: In the Summary section, only aggregate or control information segments such as the total amount, number of lines, etc. on the message (eg, invoice, order form, etc.)

UN/EDIFACT에서 메세지 루프는 동일한 세그먼트 형태가 메세지내의 2개 이상의 부문, 예를들어 표제부문과 내역부문에 중복되어 나타날 수 있으며, 일부 세그먼트들은 메세지내의 특정위치에서 정해진 횟수만큼 반복 사용될 수 있다. 상태(status) 즉 필수적이나 선택적이냐 하는 것과 세그먼트 형태의 최대 반복 횟수는 메세지 구조내에 표시된다.In UN / EDIFACT, a message loop can appear where the same segment type overlaps two or more segments in the message, such as headline and detail segments, and some segments can be repeated a certain number of times at a particular position in the message. The status, that is, whether it is mandatory or optional, and the maximum number of iterations of the segment type is displayed in the message structure.

한 메세지내에서 기능적으로 관련된 세그먼트들의 특정 그룹들이 반복될 수 있으며, 불필요시 생략될 수 있다. 이 세그먼트 그룹들을 "루프(loop)"라고 한다. 특정 위치의 최대 반복 횟수는 메세지 구조내에 표시된다.Certain groups of functionally related segments within a message may be repeated and may be omitted when not required. These segment groups are referred to as " loops. &Quot; The maximum number of iterations of a particular location is displayed in the message structure.

전자문서 교환을 위한 소프트웨어로는 가입자(EDI가입자)측에 설치되는 가입자 시스템과 가입자 간에 전달되는 메세지를 전송하고, 잠시 보관해주는 기능을 가진 전송 호스트에 설치되는 메세지 저장기 및 중계 시스템이 필요하다. 전자문서 교환시스템은 통신용 모뎀과 함께 개인용 컴퓨터(PC), 워크스테이션, 미니컴퓨터, 메인프레임 등 어느 하드웨어 플랫폼에서도 가능하여 저렴한 가격의 고성능 개인용 컴퓨터, 그리고 많은 전자문서교환시스템용 소프트웨어의 출현으로 개인용 컴퓨터를 기반으로 하는 전자문서교환시스템 구축이 낮은 비용으로 가능해져 전자문서교환시스템의 확산에 기여하고 있다.Software for exchanging electronic documents requires a message store and a relay system installed in a transmission host having a function of transmitting messages to be transmitted between a subscriber system installed at a subscriber (EDI subscriber) and a subscriber, and storing the messages temporarily. The electronic document exchange system can be used on any hardware platform such as a personal computer (PC), a workstation, a minicomputer, and a mainframe in addition to a communication modem. With the emergence of low cost, high performance personal computers and software for many electronic document exchange systems, Based electronic document exchange system can be realized at low cost, contributing to the spread of the electronic document exchange system.

국제 전신전화 자문위원회(CCITT)의 X.400권고를 기반으로 X.435와 F.435 표준 및 국제 문서 표준에 따른 전자문서교환시스템의 일예를 설명하면 다음과 같다.An example of an electronic document exchange system according to the X.435 and F.435 standards and international document standards based on the X.400 Recommendation of the International Telegraph and Telephone Advisory Committee (CCITT) is as follows.

일단 전자문서교환시스템은 적용되는 응용 업무나 사용하는 사용자의 환경에 따라 다양한 하드웨어 및 소프트웨어 구성을 가질 수 있는데, 소프트웨어는 기본적으로 가입자 시스템과 가입자 처리기, 중계기, 메세지 저장기로 구성되고, 사용자의 하드웨어, 소프트웨어 환경에 따라 여러가지 조합으로 각 서브시스템이 설치될 수 있고, 각 서브시스템들이 설치되는 하드웨어 플렛폼이 달라질 수 있다.First, the electronic document exchange system can have various hardware and software configurations according to the applied application or the environment of the user who uses it. Basically, the software consists of a subscriber system, a subscriber processor, a repeater, and a message storage, Depending on the software environment, each subsystem may be installed in various combinations, and the hardware platforms in which the subsystems are installed may vary.

도1은 본 발명이 적용되는 전자문서교환시스템의 개략적인 블럭 구성도를 나타낸다.Fig. 1 shows a schematic block diagram of an electronic document exchange system to which the present invention is applied.

가입자 장치(101)는 공중 전화망(PSTN)을 통해 가입자 처리부(104), 메세지 저장부(106), 다수의 메세지 중계기를 구비한 메시징 장치(103)에 접속되어 메세지를 다른 가입자에게 보내거나, 다른 가입자가 보낸 메세지를 검색 수신하여 처리하는 기능을 수행한다. 즉, 사용자가 전자문서 메세지를 생성하여 전송하거나, 수신하도록 하는 제반 기능을 제공하며, 가입자 장치(101)는 문서 편집기, 문서변환부, 중계 호스트와 가입자 장치간의 전자문서 메세지의 송수신을 담당하는 통신처리부, 메세지 저장부 액세스 프로토콜(P7)에 따른 메세지 저장부 조회 처리부, 송수신 문서와 관리 정보를 객체화하여 관리하는 문서관리부로 구성된다.The subscriber device 101 is connected to the messaging device 103 having a plurality of message relays and a subscriber processor 104, a message store 106, and a message relay via a public switched telephone network (PSTN) to send messages to other subscribers, And retrieves and processes the message sent by the subscriber. In other words, the subscriber device 101 provides all functions for the user to generate and transmit an electronic document message, and the subscriber device 101 is provided with a document editor, a document conversion section, a communication for transmitting and receiving an electronic document message between the relay host and the subscriber device A message storage unit inquiry unit according to the message storage unit access protocol P7, and a document management unit for objectifying and managing the transmission / reception document and the management information.

가입자장치(101)내의 문서변환부(102)는 송수신되는 모든 메세지를 대상으로 사설문서와 표준전자 문서간의 상호변환을 수행하여 메세지의 상호 호환성을 유지시켜 주는 기능부로서, 응용시스템이 생성한 사설 데이타 파일(DF: Data File)을 맵핑과 변환과정을 통해 국제표준 전자문서 구조로 이루어진 인터체인지 파일(IC; Interchange File)을 생성하거나, 그 역의 동작으로 응용시스템이 이용할 수 있는 사설 데이타 파일을 생성한다. 일반적으로 문서변환부(102)는 국제표준(UN/EDIFACT)의 제반 구문규칙(IS09735)을 준수하여 변환을 수행하며, 크게 나누어 송신변환기, 수신변환기, 맵퍼, 그리고 표준 데이타 관리기로 이루어진다.The document conversion unit 102 in the subscriber unit 101 is a functional unit that maintains mutual compatibility of messages by performing mutual conversion between a private document and a standard electronic document on all messages transmitted and received, Interchange file (IC) composed of international standard electronic document structure is generated through mapping and conversion of data file (DF: Data File), or vice versa, and a private data file do. In general, the document conversion unit 102 performs conversion according to the general syntax rule (IS09735) of the international standard (UN / EDIFACT), and is roughly divided into a transmission converter, a reception converter, a mapper, and a standard data manager.

중계 호스트인 메시징장치(103)의 가입자 처리부(104)는 가입자 장치(101)와 메세지 저장부(106) 사이에 전송되는 메세지를 대상으로 하여 부호화 하거나, 복호화하는 기능을 수행한다. 즉, 가입자 장치(101)에서 작성되어 전송된 메세지를 부호화 규칙(ASN. 1)에 따라 부호화하여 메세지 저장부(106)로 전송하거나, 메세지 저장부(106)에서 전송된 메세지를 복호화하여 가입자장치(101)로 전송한다.The subscriber processing unit 104 of the messaging apparatus 103 as a relay host performs a function of encoding or decoding a message transmitted between the subscriber apparatus 101 and the message storage unit 106. That is, the message created and transmitted by the subscriber unit 101 is encoded according to the encoding rule (ASN.1) and transmitted to the message storage unit 106, or the message transmitted from the message storage unit 106 is decoded, (101).

메세지 저장부(106)는 가입자 처리부(104)와 중계 호스트의 중계 역할을 하는 기능부로 가입자로부터 전송되는 메세지를 메세지 중계 처리부(105)로부터 전달받아 저장하는 기능을 수행한다. 또한, 메세지 저장부(106)에 저장된 메세지들에 대해 사용자가 가입자 장치(101)를 이용하여 특정 조건을 만족하는 메세지들의 수를 검색하거나, 특정 메세지 전체를 가져가거나, 저장된 메세지들의 목록을 검색해보는 등의 다양한 방법으로 검색할 수 있는 기능을 제공한다. 메세지가 가입자 처리부(104)와 메세지 저장부(106) 사이에 전달될 때는 P7 프로토콜(메세지 저장기 검색 규약)이 적용되며, 메세지 저장부(106)와 메세지 중계 처리부(105) 간에 전달될 때는 P3프로토콜(제출 및 배달 규약)이 적용된다.The message storage unit 106 is a functional unit serving as an intermediary between the subscriber processing unit 104 and the relay host. The message storage unit 106 receives a message transmitted from the subscriber and receives the message from the message relay processing unit 105. In addition, the user can search the messages stored in the message storage unit 106 by using the subscriber device 101 to retrieve the number of messages satisfying a specific condition, to take the entirety of a specific message, , And so on. The P7 protocol (message store search rule) is applied when a message is transmitted between the subscriber processing unit 104 and the message storage unit 106. When the message is transmitted between the message storage unit 106 and the message relay processing unit 105, The protocol (submission and delivery protocol) applies.

메세지 중계 처리부(105)는 가입자 장치(101)를 통하여 메세지 저장부(106)로부터 제출된 메세지를 다른 중계 시스템으로 전송하거나, 자신의 중계 시스템에 접속된 메세지 저장부(106)에 배달하는 기능을 수행한다. 즉, P3프로토콜을 이용하여 메세지 저장부(106)로 메세지를 저장하거나, 메세지 저장부(106)로부터 메세지를 제출받고, P1프로토콜(메세지 전송규약)을 이용하여 다른 메세지 중계기로 메세지를 전송한다. 또한, 여러 메세지 중계기가 연결되어 메세지를 중계할 수 있으며, 축적-저장 방식을 이용하여 메세지를 전달하고, 메세지 배달요청자에게 해당 메세지 전달의 성공 또는 실패 여부를 전달하는 확인 서비스, 각 메세지의 배달 우선순위에 따른 지원, 자원 배달등의 배달 선택 기능, 다양한 매체로의 내용 변환, 메세지의 제출 및 배달에 따른 오류의 진단 기능 등의 다양한 서비스를 제공한다.The message relay processing unit 105 has a function of transmitting a message submitted from the message storage unit 106 via the subscriber's apparatus 101 to another relay system or delivering the message to the message storage unit 106 connected to its own relay system . That is, a message is stored in the message storage unit 106 using the P3 protocol, a message is received from the message storage unit 106, and a message is transmitted to another message relay using the P1 protocol (message transfer protocol). In addition, a plurality of message relays may be connected to relay messages, a message may be delivered using the accumulation-storage method, a confirmation service may be provided to notify the message delivery requestor whether the message delivery is successful or failed, It provides a variety of services such as delivery selection function such as support according to rank, resource delivery, content conversion to various media, error submission and delivery of messages.

도2는 루프 구조를 설명하기 위한 전자문서의 루프 구조의 일예를 나타낸 것이다.2 shows an example of a loop structure of an electronic document for explaining a loop structure.

도2에서 세그먼트 그룹 1은 임의의 세그먼트 AAA와 세그먼트 그룹2, 3을 포함하는 구조로 이루어져 있으며, 루프상태(status)가 선택적(C)이므로 생략될 수 있다. ㅍ그러나 사용 된다면 최대 10번까지 반복될 수 있다.In FIG. 2, the segment group 1 has a structure including an arbitrary segment AAA and segment groups 2 and 3, and may be omitted because the loop status is optional (C). However, if used, it can be repeated up to 10 times.

세그먼트 그룹 2는 임의의 세그먼트 BBB와 세그먼트 CCC로 이루어져 있으며, 세그먼트 그룹 1이 반복될 때마다 세그먼트 그룹2는 루프상태가 필수적(M)이므로 생략될 수 없고, 반드시 최소 2번은 반복되어 사용되어야 한다. 세그먼트 그룹2가 반복될 때에는 임의의 세그먼트 BBB는 반드시 사용되어야 하며, 임의의 세그먼트 CCC는 생략될 수도 있고, 사용된다면 매 반복시 마다 2번까지 사용될 수 있다.Segment group 2 consists of an arbitrary segment BBB and a segment CCC. Each time segment group 1 is repeated, segment group 2 can not be omitted because the loop state is mandatory (M) and must be used repeatedly at least twice. When segment group 2 is repeated, any segment BBB must be used, any segment CCC may be omitted, and used up to two times at each iteration if used.

세그먼트 그룹 3은 임의의 세그먼트 DDD와 임의의 세그먼트 EEE로 이루어져 있으며, 세그먼트 그룹1이 반복될 때마다 세그먼트 그룹3은 루프상태가 선택적(C)이므로 생략될 수 있다. 그러나, 사용된다면 임의의 세그먼트 DDD는 반드시 사용되어야 하며, 세그먼트 EEE는 생략될 수도 있고, 사용된다면 임의의 세그먼트 EEE는 최대 9번까지 반복 사용될 수 있다.The segment group 3 is composed of an arbitrary segment DDD and an arbitrary segment EEE, and each time the segment group 1 is repeated, the segment group 3 can be omitted because the loop state is optional (C). However, if used, any segment DDD MUST be used, the segment EEE may be omitted, and if used, any segment EEE may be repeated up to a maximum of nine times.

세그먼트란 전자문서에서 하나의 문장을 이루는 단위로서, 세그먼트 태그(Tag)로 시작하여 마침표 " ' "로 끝나며, 단어 역할을 수행하는 복수의 엘리먼트(Element)로 구성된다. 세그먼트 태그는 그 문장을 대표하는 접두어 역할을 수행하는 영문자 대문자 3자리로 이루어진 요소로서, 그 문장이 포함하는 정보의 내용을 유추할 수 있는 이니셜(Initial)을 갖는다.A segment is a unit of a sentence in an electronic document. It consists of a plurality of elements starting with a segment tag (Tag), ending with a period "", and performing a word role. The segment tag is an element consisting of three upper case letters, which serves as a prefix representing the sentence, and has an initial (Initial) that can infer the contents of the information included in the sentence.

하나의 전자문서는 복수의 세그먼트들의 집합으로 이루어지며, 세그먼트의 반복적 사용을 통해 특정문장의 반복적 표현을 실현한다.One electronic document consists of a set of a plurality of segments and realizes iterative representation of a specific sentence through repeated use of segments.

도3a 및 3b는 전자문서에서 세그먼트 그룹은 의미상 서로 관련있는 세그먼트의 집합으로서, 루프형태로 표현되며 포함된 세그먼트들을 논리적으로 한 덩어리로 취급할 수 있게 한다.Figures 3a and 3b are a set of segments that are semantically related to each other in an electronic document and are represented in a loop form and allow the included segments to be treated logically as a lump.

도 3a 및 3b의 전자문서의 루프 구조를 문서 변환부가 인지할 수 있는 데이타 스트럭쳐로 변환시킨 구조는 도4와 같다.The structure in which the loop structure of the electronic document shown in Figs. 3A and 3B is converted into a data structure recognizable by the document conversion unit is shown in Fig.

도3a 및 3b에서는 세그먼트들의 상관관계 및 루프관계가 그래픽 선을 이용하여 표현되지만, 도4에서는 그 관계를 데이타 값으로 표현하고 있다.In Figs. 3A and 3B, the correlation and the loop relationship of the segments are expressed using graphic lines. In Fig. 4, the relationship is represented by data values.

도3a 및 3b에 나타낸 세그먼트 그룹들의 식별자(ID)는 도4에 도시된 바와 같이 'A'부터 시작하여 ASCII 코드값이 증가하는 순서로 식별자(ID) 값이 부여된다. 루프 식별자(ID)의 ASCII코드값이 큰 루프 ID를 갖는 세그먼트 그룹은 ASCII코드값이 상대적으로 더 작은 루프 ID를 갖는 세그먼트 그룹보다 먼저 나타난다. 도3a 및 3b에서 세그먼트 그룹 5는 세그먼트 그룹 6, 7을 포함하고 있는데, 세그먼트 그룹 5는 세그먼트 그룹 6, 7의 부(Parent) 루프가 되며, 세그먼트 그룹 6, 7은 세그먼트 그룹 5의 자(Child) 루프가 된다.The identifiers (ID) of the segment groups shown in FIGS. 3A and 3B are assigned an identifier (ID) value starting from 'A' and increasing in ASCII code value as shown in FIG. A segment group having a loop ID with a large loop ID value of a loop identifier (ID) appears before a segment group having a loop ID whose ASCII code value is relatively smaller. 3A and 3B, the segment group 5 includes the segment groups 6 and 7, the segment group 5 becomes the parent loop of the segment groups 6 and 7, and the segment groups 6 and 7 are the child of the segment group 5 ) Loop.

도3a 및 3b에서 세그먼트 그룹들에 포함되지 않는 세그먼트들은 루프를 갖지 않으므로, 도4의 데이타 스트럭쳐에서 부 루프 ID가 "$", 자신의 루프 ID가 "0"으로 표현된다. 또한 루프 조건 및 루프 반복수도 "0"으로 표현된다.Segments that are not included in the segment groups in FIGS. 3A and 3B do not have loops, so that in the data structure of FIG. 4, the reverse loop ID is expressed as "$" and the loop ID thereof is represented as "0". The loop condition and the loop iteration are also expressed as " 0 ".

이와 달리 도3a 및 3b의 세그먼트 그룹 1에 포함된 세그먼트들은 루프에 포함된 세그먼트들이므로, 도4의 데이타 스트럭쳐에서 부 루프 ID가 "$", 자신의 루프 ID 가 "A"로 표현되고, 루프 조건은 선택적으로 나타내는 "C"이고, 루프 반복수는 99이다. 이는 세그먼트 그룹 1은 생략될 수도 있고(루프조건이 선택적이므로), 최대 99번까지 루핑시켜 사용할 수도 있다는 것을 의미한다.3A and 3B are segments included in the loop, segments in the segment group 1 of FIGS. 3A and 3B are segments included in the loop. Therefore, in the data structure of FIG. 4, The condition is " C " which is selectively indicated, and the number of loop repetitions is 99. This means that segment group 1 may be omitted (because the loop condition is optional) and may be looped up to 99 times.

도3a 및 3b의 세그먼트 그룹 6은 세그먼트 그룹 5에 포함되어 있으므로, 세그먼트 그룹 6에 포함된 세그먼트들은 도4의 데이타 스트럭쳐에서 두 루프 ID가 "E", 자신의 루프 ID가 "F"로 표현되고, 루프 조건은 "C", 루프 반복 횟수는 9이다. 이는 부 루프인 세그먼트 그룹 5가 한 번 루핑될 때 세그먼트 그룹 6은 생략될 수 있고(루프조건이 선택적이므로), 사용된다면 최대 9번까지 루핑시켜 사용할 수도 있다는 것을 의미한다.Since the segment group 6 in FIGS. 3A and 3B is included in the segment group 5, the segments included in the segment group 6 are represented by two loop IDs "E" and their own loop IDs "F" in the data structure of FIG. 4 , The loop condition is "C", and the number of loop repetitions is 9. This means that segment group 6 can be omitted (because the loop condition is optional) and can be looped up to a maximum of nine if used, when segment group 5, which is a reverse loop, is looped once.

도4와 같은 전자문서 데이타 스트럭쳐를 이용하여 세그먼트의 반복사용에 대한 유효성을 검증하기 위하여 필요한 데이타 스트럭쳐들은 도5, 6 및 7에 도시되어 있다.The data structures necessary to verify the validity of repeated use of a segment using the electronic document data structure as shown in FIG. 4 are shown in FIGS. 5, 6, and 7.

본 발명에서는 알고리즘과 소요되는 데이타 스트럭쳐를 표현함에 있어서 편의상 "C" 유사 언어를 사용하여 기술한다.In the present invention, a "C" -like language is used to represent algorithms and data structures for convenience.

도5는 전자문서에 포함된 루프들의 순서 및 상관관계 정보를 포함하는 루프 정보 스트럭쳐이다.5 is a loop information structure including the order of the loops included in the electronic document and correlation information.

도5에 도시된 구성요소는 다음과 같다.The components shown in Fig. 5 are as follows.

루프 식별자(loop_id): 전자문서에서 사용된 루프를 식별하는 식별자(ID)로서, 'A' 부터 시작하여 ASCII 코드값이 증가하는 순서로 식별자(ID) 값이 부여된다.Loop identifier (loop_id): An identifier (ID) that identifies a loop used in an electronic document. An identifier (ID) value is assigned in ascending order of the ASCII code value starting from 'A'.

부루프 식별자(parent_loop_id) : 자신을 포함하고 있는 부 루프 ID를 갖는다.A loop identifier (parent_loop_id): It has a loop ID that contains itself.

루프 시작 위치(loop_start_position) : 전자문서상에서 루프가 시작되는 세그먼트의 인덱스 값을 갖는다.Loop start position (loop_start_position): It has the index value of the segment where the loop starts on the electronic document.

루프 반복 횟수(loop_repeat_count) : 루프의 루핑 누계 값을 갖는다.Loop iteration count (loop_repeat_count): It has looping accumulation value of loop.

루프 반복 상한수(loop_repeat_upper_limit) : 전자문서상에서 규정된 루프의 최대 허용 반복수 값을 갖는다.Loop iteration upper limit (loop_repeat_upper_limit): It has the maximum allowable iteration number of loops defined on the electronic document.

본 발명에서는 하나의 전자문서에 최대 60개의 루프가 포함될 수 있는 것으로 가정하고 있다.In the present invention, it is assumed that up to 60 loops can be included in one electronic document.

도6은 세그먼트의 사용 횟수 정보를 갖는 데이타 스트럭쳐로, 구성요소는 다음과 같다.FIG. 6 is a data structure having information on the number of times of use of a segment. The components are as follows.

단위 사용 횟수(accurency) : 세그먼트의 단위 사용 횟수를 의미한다. 이 값은 루핑될 때마다 1로 초기화 된다.Unit usage frequency (accurency): It means the number of unit usage of segment. This value is initialized to 1 each time it is looped.

총 누적 사용 횟수(total_accurency) : 세그먼트의 총 누적 사용 횟수를 의미한다.Total cumulative use count (total_accurency): The cumulative cumulative use count of segments.

도7은 전자문서 구조 정보를 갖는 데이타 스트럭쳐로서, 다음과 같은 구성요소로 이루어진다.7 is a data structure having electronic document structure information, and is composed of the following components.

세그먼트 식별자(segment_id) : 전자문서를 구성하는 세그먼트들의 태그를 갖는다.Segment identifier (segment_id): It has tags of the segments constituting the electronic document.

세그먼트 조건(segment_condition) : 세그먼트의 사용 속성 즉, 필수사용(M) 또는 선택사용(C) 세그먼트인지를 나타낸다.Segment condition (segment_condition): Indicates the use attribute of the segment, that is, whether it is mandatory use (M) or selective use (C) segment.

세그먼트 반복수(segment_repeat_number) : 전자문서에서 규정된 세그먼트에 허용된 최대 반복수를 갖는다. 이 반복수는 루핑 없이 허용될 수 있는 반복수를 의미한다.Segment repetition number (segment_repeat_number): It has the maximum number of repetitions allowed in the segment specified in the electronic document. This number of iterations means the number of iterations that can be tolerated without looping.

부루프 식별자(parent_loop_id) : 세그먼트가 포함된 루프를 포함하고 있는 부 루프 ID를 의미한다.Loop_id (parent_loop_id): means the loop ID containing the loop containing the segment.

루프 식별자(loop_id) : 세그먼트를 포함하고 있는 루프 ID를 의미한다.Loop identifier (loop_id): means the loop ID containing the segment.

루프 조건(loop_condition) : 세그먼트를 포함하는 루프의 사용 속성 즉, 필수사용(M) 또는 선택사용(C) 루프인지를 나타낸다.Loop condition (loop_condition): Indicates the usage attribute of the loop containing the segment, that is, required use (M) or selective use (C) loop.

루프 반복 횟수(loop_repeat_number) : 전자문서에서 규정된 세그먼트를 포함하는 루프의 최대 허용 반복수를 갖는다.Number of loop iterations (loop_repeat_number): It has the maximum number of iterations of the loop that contains the specified segment in the electronic document.

도8은 본 발명에 따른 전자문서의 세그먼트 및 루프들의 상관관계 정보들을 전자문서, 루프, 빈도 데이타 스트럭쳐로 설정하는 흐름도를 나타낸다.FIG. 8 shows a flowchart for setting correlation information of segments and loops of an electronic document according to the present invention to an electronic document, a loop, and a frequency data structure.

전자문서의 세그먼트 반복사용에 대한 유효성 검증을 위한 첫 번째 작업은 도4에 도시된 바와 같은 전자문서를 레코드 단위로 도7의 전자문서 데이타 스트럭쳐에 설정하는 것이다(801). 이때, 전자문서의 각 레코드들은 인덱스 변수 'n'에 의해 구분되는 전자문서 데이타 스트럭쳐를 통해서 참조된다. 여기서, 인덱스 'n'은 전자문서내의 세그먼트들의 위치번호를 나타낸다. 즉, 'n'의 값이 '1'이면 전자문서내의 첫 번째 세그먼트를, '2'이면 두 번째 세그먼트를 각각 의미한다.The first task for validation of segment repetition of an electronic document is to set the electronic document as shown in FIG. 4 in the electronic document data structure of FIG. 7 on a record basis (801). At this time, each record of the electronic document is referenced through the electronic document data structure separated by the index variable 'n'. Here, index 'n' represents the position number of the segments in the electronic document. That is, if the value of 'n' is '1', it means the first segment in the electronic document, and if it is '2', it means the second segment.

또한, 인덱스 'n', 'm' 등에 해당되는 데이타 스트럭쳐를 표현할 때, '데이타 스트럭쳐[n]"이라 이하 표현하며, 이는 'n'번째 데이타 스트럭쳐를 의미한다.Also, when representing a data structure corresponding to an index 'n', 'm', etc., it is expressed as 'data structure [n]', which means 'n' th data structure.

다음, 전자문서에 포함되어 있는 세그먼트와 루프들의 포함 및 상관관계 정보를 도5의 루프 데이타 스트럭쳐에 설정하기 위하여, 전자문서 내의 모든 세그먼트들을 수행할 때까지 인덱스 'n'을 '1'씩 증가시킨다(802).Next, in order to set the inclusion and correlation information of segments and loops included in the electronic document in the loop data structure of FIG. 5, the index 'n' is incremented by '1' until all the segments in the electronic document are executed (802).

그리고, 전자문서 데이타 스트럭쳐[n]의 세그먼트의 루프 반복 횟수가 '0'인지를 검사하여(803), '0'이면 그 해당 세그먼트는 루프 시작 세그먼트가 아니므로 스킵해야 하므로 인덱스 'n'값을 '1'증가시키는 단계를(802) 반복하고, 루프 반복 횟수가 '0'이 아니면 도5의 루프 데이타 스트럭쳐를 설정하기 위한 인덱스 'm'값을 구한다(804).If the number of loop repetitions of the segment of the electronic document data structure [n] is '0' (803). If it is '0', the corresponding segment is not a loop start segment and should be skipped. If the loop iteration count is not '0', the index 'm' value for setting the loop data structure of FIG. 5 is obtained (804).

(804) 단계의 'm'값은, 전자문서 데이타 스트럭쳐[n]의 해당 세그먼트의 루프 식별자(ID)의 십진 아스키 코드값을 '64'로 나눈 나머지 값이 할당된다. 따라서, 순서적으로 루프 식별자 'A'인 첫 번째 루프 정보는 인덱스 'm'값이 '1'이므로 첫 번째 루프 데이타 스트럭쳐에, 루프 식별자가 'B'인 두 번째 루프 정보는 인덱스 'm'값이 '2'이므로 두 번째 루프 데이타 스트럭쳐에 설정한다.The value of 'm' in the step 804 is a residual value obtained by dividing the decimal ASCII code value of the loop identifier (ID) of the corresponding segment of the electronic document data structure [n] by '64'. Therefore, the first loop information having the loop identifier 'A' in order is the loop information having the loop identifier 'B' in the first loop data structure since the value of the index 'm' is '1' Is '2', it is set to the second loop data structure.

전자문서 데이타 스트럭쳐[n]의 루프 식별자(ID), 부루프 식별자(ID), 루프가 시작된 세그먼트의 전자문서내의 위치 번호, 루프의 반복 횟수 값을, 루프 데이타 스트럭쳐[m]의 루프 식별자(ID), 부루프 식별자(ID), 루프 시작 위치, 루프 반복 상한수 값으로 각각 맵핑 시키고, 루프 데이타 스트럭쳐내의 루프 반복 횟수를 '0'으로 설정한다(805 내지 808).The loop identifier (ID) of the electronic document data structure [n], the loop identifier (ID), the position number in the electronic document of the segment in which the loop is started, and the loop count value of the loop, (ID), the loop start position, and the loop repetition upper limit value, and sets the loop repetition count in the loop data structure to '0' (805 to 808).

전자문서내의 세그먼트들의 사용빈도를 초기화 하기 위해 도6의 빈도 데이타 스트럭쳐를 '0'으로 초기화 한다(809).In order to initialize the frequency of use of the segments in the electronic document, the frequency data structure of FIG. 6 is initialized to '0' (809).

상기의 (801) 단계에서부터 (809) 단계 까지를 수행하므로써 전자문서내에서 세그먼트들의 반복 사용에 대한 유효성 검증을 시행할 수 있는 필요 데이타 스트럭쳐(도5,6,7) 정보가 확보되었다.By performing the above steps from (801) to (809), necessary data structure (FIGS. 5, 6 and 7) for ensuring validity of repeated use of segments in the electronic document is secured.

도9a 및 9b는 본 발명에 따른 세그먼트 반복 사용에 대한 유효성 검증 흐름도로서, 전자문서내의 모든 세그먼트들은 전자문서의 데이타로서 처리되기 전에 사용 또는 참조될 때마다 세그먼트 반복 사용에 관한 유효성을 검증 받아야 한다. 즉, 세그먼트의 사용이 도4와 같은 전자문서가 구조적으로 규정하고 있는 허용된 사용횟수 범위를 벗어나지 않았는지 여부를 반드시 사용전에 확인해야 한다.FIGS. 9A and 9B are flow charts for validation of segment repetition use according to the present invention. All segments in an electronic document must be validated for segment repetition use each time they are used or referenced before being processed as data in an electronic document. That is, it must be checked whether or not the use of the segment does not deviate from the allowable use frequency range stipulated by the electronic document as shown in FIG. 4 before use.

본 발명에서는 사용하기 전에 유효성을 금증하고자 하는 현재 세그먼트의 전자문서내 위치 인덱스를 'p'라 가정하고, 직전에 사용된 세그먼트의 전자문서 내의 위치 인덱스를 'q'라 가정하고 도9a 및 9b의 알고리즘을 시작한다.In the present invention, it is assumed that the position index in the electronic document of the current segment to be validated before use is 'p', the position index in the electronic document of the immediately preceding segment is 'q' Start the algorithm.

먼저, 빈도 데이타 스트럭쳐[p]의 현재 세그먼트의 단위 사용 횟수와 총누적 사용 횟수를 각각 1씩 증가시킨다(901). 여기서, 단위 사용 횟수는 해당 세그먼트가 루프속에 포함된 세그먼트가 아닐 경우에는 항상 총누적 사용 횟수와 같다. 그러나, 루프에 포함되어 있는 세그먼트라면 루핑(즉, 루프반복)이 발생될 때 마다 단위 사용 횟수는 1로 초기화 된다. 이와는 달리 총 누적 사용 횟수는 해당 세그먼트가 사용될 때마다 1씩 증가만 될 뿐 결코 초기화 되지않으므로 그 세그먼트에 대한 총 사용 횟수를 갖는다.First, the unit usage count and the cumulative use count of the current segment of the frequency data structure [p] are incremented by 1 (901). Here, the unit usage count is always equal to the total cumulative use count when the segment is not included in the loop. However, if the segment is included in the loop, the unit usage count is initialized to 1 every time looping (i.e., loop repetition) occurs. On the other hand, the total cumulative use count is increased by 1 every time the segment is used, but is never initialized, so it has a total use count for the segment.

먼저, 현재 사용할 세그먼트에 해당하는 빈도 데이타 스트럭쳐[p]의 단위 사용 횟수 값이 전자문서 데이타 스트럭쳐[p]의 세그먼트 반복 횟수 값을 초과하였는지를 검사(902)하여, 초과하였으면 전자문서 구조에서 정의한 허용된 세그먼트 반복 횟수를 초과하여 사용되었으므로 세그먼트 초과 사용 오류에 따른 처리를 수행하고(903) 검증을 종료한다.First, it is checked 902 whether the unit usage count value of the frequency data structure [p] corresponding to the currently used segment exceeds the segment repeat count value of the electronic document data structure [p]. If the unit usage count value exceeds the allowed number of segment repetition count of the electronic document data structure [p] Since it is used in excess of the number of segment repetitions, processing according to the segment overuse error is performed (903) and the verification is terminated.

한편, 초과하지 않았으면 현재 사용할 세그먼트가 루프속에 포함된 세그먼트인지를 조사한다(904). 이는 전자문서 데이타 스트럭쳐[p]의 루프 식별자 값이 0이 아니고, 루프 반복 횟수가 0인지를 조사하므로써 이루어 진다.On the other hand, if it is not exceeded, it is checked whether the currently used segment is a segment included in the loop (904). This is done by examining whether the loop identifier value of the electronic document data structure [p] is not zero and the number of loop iterations is zero.

세그먼트가 루프속에 포함된 세그먼트이면, 그 세그먼트가 속한 루프의 현재 루핑 횟수가 전자문서에서 구조적으로 규정된 루프 반복 사용 상한값을 초과하였는지를 조사한다(905). 이는 전자문서 데이타 스트럭쳐[p]의 해당 세그먼트의 루프 식별자(ID)의 십진 아스키 코드값을 64로 나눈 나머지 값을 인덱스 "m"에 할당하고, 루프 데이타 스트럭쳐[m]의 루프 시작 위치값을 인덱스 'l'에 할당한 후, 루프 데이타 스트럭쳐[m]의 루프 반복 횟수 값이, 전자문서 데이타 스트럭쳐[l]의 루프 반복 횟수 값 보다 큰지를 조사하므로써 이루어 진다.If the segment is a segment included in the loop, then it is checked 905 whether the current number of looping times of the loop to which the segment belongs exceeds the loop-structured loop use upper limit value in the electronic document. This allocates the remainder value obtained by dividing the decimal ASCII code value of the loop identifier (ID) of the corresponding segment of the electronic document data structure [p] by 64 to the index " m ", and sets the loop start position value of the loop data structure [ 'l', and then checking whether the value of the loop iteration number of the loop data structure [m] is larger than the value of the loop iteration number of the electronic document data structure [l].

905 단계에서의 조사결과 초과되었으면 루프 반복 사용 상한값 초과 사용 오류에 따른 처리를 수행하고(906), 초과하지 않았으면 912 단계를 수행한다.If the result of the inquiry in step 905 is exceeded, processing according to the use error exceeding the loop repetition use upper limit value is performed (step 906). Otherwise, step 912 is performed.

한편, 세스먼트가 루프속에 포함된 세그먼트가 아니면(904) 인덱스 'p'값이 인덱스 'q'값 보다 크고, 인덱스 'p'에 해당하는 현재 세그먼트가 루프시작 세그먼트이면(907) 즉, 전자문서 데이타 스트럭쳐[p]의 루프 반복 횟수가 0보다 크면, 루프 데이타 스트럭쳐[m]의 루프 반복 횟수 값을 1로 초기화 한다(908). 908 과정을 통해서 첫 루핑이 시작됨을 알 수 있다.If the segment is not a segment included in the loop 904, if the index 'p' value is greater than the index 'q' and the current segment corresponding to index p is the loop start segment 907, If the number of loop repetitions of the data structure [p] is greater than 0, the loop repetition count value of the loop data structure [m] is initialized to 1 (908). The first looping starts in step 908.

한편, 인덱스 'p'값이 인덱스 'q'값 보다 적고(이는, 현재 사용할 세그먼트가 직전에 사용한 세그먼트 보다 전자문서 구조상 먼저 나타나는 위치에 있다는 것을 의미함과 동시에 루핑이 이루어 짐을 의미한다), 인덱스 'p'에 해당하는 세그먼트가 루프시작 세그먼트이면(909) 즉, 전자문서 데이타 스트럭쳐[p]의 루프 반복 횟수가 0보다 크면, 루프 데이타 스트럭쳐[m]의 루프 반복 횟수 값을 1증가 시키고, 빈도 데이타 스트럭쳐[p]의 단위 사용 횟수 값을 1로 초기화하며, 인덱스 'p'값을 인덱스 'q'값으로 대치 시키고(910), (911) 단계를 수행한다. (910) 단계를 통하여, 루프로 진입할 때는 해당 루프 데이타 스트럭쳐의 루프 반복 횟수 값은 1씩 증가되고, 그 세그먼트에 해당하는 빈도 데이타 스트럭쳐의 단위 사용 횟수 값은 항상 1로 초기화 됨을 알 수 있다.The value of the index 'p' is smaller than the value of the index 'q' (this means that the currently used segment is located at a position that appears first in the electronic document structure than the segment used immediately before, If the segment corresponding to p 'is a loop start segment (909), that is, if the number of loop iterations of the electronic document data structure [p] is greater than 0, the loop iteration count value of the loop data structure [m] is incremented by 1, The unit usage count value of the structure [p] is initialized to 1, the index 'p' value is replaced with the index 'q' value (910), and step 911 is performed. The number of times of loop repetition of the loop data structure is incremented by 1 and the number of times of use of the frequency data structure corresponding to the segment is always initialized to 1 through step 910. [

사용할 세그먼트가 루프에 관련없는 즉, 세그먼트의 루프 식별자 값이 0인지를 검사하여(911) 루프와 관련없는 세그먼트이면 검증작업을 종료한다.It is checked whether the segment to be used is not related to the loop, that is, the loop identifier value of the segment is 0 (step 911), and if the segment is not related to the loop, the verification process is terminated.

912 부터 916 까지의 단계는 사용할 세그먼트의 총 누적 사용 횟수 값이 전자문서가 구조적으로 허용할 수 있는 반복 사용 한계값을 초과하였는지를 검사하는 단계이다.Steps 912 to 916 are steps for checking whether the total cumulative use count value of the segment to be used exceeds the structurally acceptable repetition limit value of the electronic document.

먼저, 사용할 세그먼트가 포함된 루프를 포함하고 있는 부루프가 존재하는지를 검사한다(912). 이는 루프 데이타 스트럭쳐[m]의 부루프 식별자 값이 '$'인지를 검사함으로써 확인할 수 있다.First, it is checked whether there is a reverse loop including a loop including a segment to be used (912). This can be confirmed by checking whether the loop loop identifier value of the loop data structure [m] is '$'.

만약 부루프가 존재하지 않으면, 빈도 데이타 스트럭쳐[p]의 사용할 세그먼트의 총 누적 사용 횟수 값이, 루프 데이타 스트럭쳐[m]의 루프 반복 상한 값에 전자문서 데이타 스트럭쳐[p]의 세그먼트 반복수 값을 곱한 값 보다 더 큰지를 조사(913)하여, 크면 세그머트 상한 초과 사용에 따른 오류 처리를 수행한다(914).If there is no back loop, the total cumulative use count value of the segment to use for the frequency data structure [p] is greater than the loop repeat upper limit value of the loop data structure [m] and the segment repeat count value of the electronic document data structure [p] (913). If the difference is larger than the multiplied value, error processing according to the use of the upper limit of the segment size is performed (914).

만약 크지 않다면 세그먼트 반복 사용에 대한 유효성이 검증되었으므로 수행을 종료한다.If it is not large, the validity of the use of segment repetition has been verified and the execution is terminated.

한편, 912 단계에서 부루프가 존재하면, 현재 사용할 세그먼트의 총사용 빈도 누계 값이, 그 세그먼트를 포함하는 각각의 부 루프들의 루프 반복 상한값 곱하기 그 세그먼트의 반복사용 허용 상한 값을 초과하였는지 조사한다. 이를 위해 먼저 전자문서 데이타 스트럭쳐[p]의 세그먼트 반복수 값과, 루프 데이타 스트럭쳐[m]의 루프 반복 상한 값을 곱하고, 이 값을 임시 변수 'A'에 저장한다(915). 인덱스 'm'에 해당하는 루프를 포함하는 또다른 루프 (즉, 부루프)가 존재하면(916), 루프 데이타 스트럭쳐[m]의 부루프 식별자의 십진 아스키 코드값을 64로 나눈 나머지 값을 인덱스 'm'에 다시 할당하고(917), 루프 데이타 스트럭쳐[m]의 루프 반복 상한 값과 다시 상기에서 구한 임시변수 'A'에 저장된 값을 곱하여, 다시 그 결과값을 임시변수 'A'에 저장한다(918). 위의 과정을 부루프가 존재하지 않을 때까지(즉, 루프 데이타 스트럭쳐[m]의 부루프 식별자가 '$'일 때 까지) 반복하여 처리하면 결국 전자문서가 구조적으로 허용하고 있는 현재 사용할 세그먼트에 허용되는 최대 반복 횟수 값을 구할 수 있게 된다.On the other hand, if there is a negative loop in step 912, it is checked whether the total used frequency accumulated value of the segment to be currently used exceeds the loop repeat upper limit value of each of the sub loops including the segment and the repeated use allowable upper limit value of the segment. To do this, first, the value of the segment repetition number of the electronic document data structure [p] is multiplied by the loop repetition upper limit value of the loop data structure [m], and this value is stored in the temporary variable 'A' (915). If there is another loop (i.e., a negative loop) including a loop corresponding to the index 'm' (916), the remainder value obtained by dividing the decimal ASCII code value of the loop loop identifier of the loop data structure [m] 'm' (917), multiplying the loop repetition upper limit value of the loop data structure [m] by the value stored in the temporary variable 'A' obtained above again, and storing the result in the temporary variable 'A' (918). The above process is repeated until there is no negative loop (ie, until the loop-loop identifier ['] of the loop data structure [m] is' $') to end up with the segment The maximum allowable number of repetition times can be obtained.

현재 사용할 세그먼트의 총 누적 사용 횟수 값이, 그 세그먼트를 포함하는 각각의 부 루프들의 루프 반복 상한값 곱하기 그 세그먼트의 반복사용 허용 상한값(임시변수 'A'에 저장된 값)을 초과하였는지 조사한다(919).(919) whether the total cumulative use count value of the segment to be currently used exceeds the loop repeat upper limit value of each of the sub-loops including the segment and the repeat use upper limit value of the segment (value stored in the temporary variable 'A' .

반복 허용 횟수를 초과하였으면 세그먼트 상한 초과 사용에 따른 오류 처리를 수행(920)하고 종료한다.If the number of times of repetition exceeds the allowable number, error processing according to use of the upper limit of the segment is performed (920) and the processing is terminated.

상기와 같이 이루어지는 본 발명은 전자문서 교환시스템을 이용하여 전자문서를 송수신할 때, 송수신되는 전자문서가 송수신자가 합의한 표준 전자문서 구조를 준수하였는지를 검사할 수 있게하고, 전자문서의 한 문장에 해당되는 세그먼트들의 반복 사용에 대한 유효성을 표준 전자문서 구조를 기초로하여 검증할 수 있게 한다. 또한, 전자문서가 올바르게 응용 프로그램과 맵핑되도록 하거나 응용 프로그램이 생성하는 응용 데이타들이 올바르게 표준전자문서로 변환될 수 있도록 하는 효과가 있다.According to the present invention as described above, when an electronic document is transmitted and received using the electronic document exchange system, it is possible to check whether the electronic document to be transmitted and received conforms to a standard electronic document structure agreed upon by the sender and the receiver, The validity of repeated use of segments can be verified based on a standard electronic document structure. It also has the effect of ensuring that the electronic document is correctly mapped to the application, or that the application data generated by the application is correctly converted to a standard electronic document.

Claims (8)

전자문서 교환시스템에서의 세그먼트 반복사용에 대한 유효성 검증방법에 있어서,A validation method for use of segment repetition in an electronic document exchange system, 전자문서 구조 정보를 전자문서 데이타 스트럭쳐에, 각 전자문서내에 포함된 세그먼트 및 루프들의 상관관계 정보를 루프 데이타 스트럭쳐에 각각 맵핑시키고, 전자문서내의 세그먼트들의 사용빈도를 나타내는 빈도 데이타 스트럭쳐를 초기화하는 제1단계;A first step of mapping the electronic document structure information to the electronic document data structure, mapping the correlation information of the segments and loops included in each electronic document to the loop data structure, and initializing the frequency data structure indicating the frequency of use of the segments in the electronic document, step; 사용할 세그먼트의 빈도 데이타 스트럭쳐내의 단위 사용 횟수가 전자문서 데이타 스트럭쳐의 세그먼트 반복횟수를 초과하였는지 조사하는 제2단계;A second step of checking whether the number of times the unit used in the data structure of the segment to be used exceeds the number of times of segment repetition of the electronic document data structure; 상기 제2단계에서 초과하였으면 세그먼트 반복 초과사용에 따른 오류 처리를 수행하는 제3단계;A third step of performing an error process according to the use of the segment repetition exceeding if it is exceeded in the second step; 상기 제2단계에서 초과하지 않았으면 세그먼트가 루프속에 포함된 세그먼트인지 조사하는 제4단계;A fourth step of checking if the segment is included in the loop if it is not exceeded in the second step; 상기 제4단계에서 루프속에 포함된 세그먼트가 아니면 루프 반복 횟수 값을 초기화하는 제5단계;A fifth step of initializing the number of loop repetition times if the segment is not included in the loop in the fourth step; 상기 제4단계에서 루프속에 포함된 세그먼트이면 루프의 현재 루핑 횟수가 루프반복사용 상한값을 초과하였는지 조사하는 제6단계;A sixth step of checking whether the current looping count of the loop exceeds a loop repeat use upper limit value in the case of a segment included in the loop in the fourth step; 상기 제6단계에서 초과하였으면 루프 반복 사용에 따른 사용오류를 처리하는 제7단계;A seventh step of processing a use error according to the use of loop repetition if it is exceeded in the sixth step; 상기 제6단계에서 초과하지 않았으면 세그먼트의 총 누적 사용 횟수 값이 반복 사용 한계값을 초과하였는지 조사하는 제8단계; 및An eighth step of checking whether the total cumulative use count value of the segments exceeds the repeat use limit value in the sixth step; And 상기 제8단계에서 초과하였으면 세그먼트 상한 초과 사용에 따른 오류를 처리하고, 초과하지 않았으면 정상적인 사용이므로 종료하는 제9단계If it is exceeded in the eighth step, an error due to use exceeding the upper limit of the segment is handled, and if it is not exceeded, 를 포함하여 이루어진 세그먼트 반복사용에 대한 유효성 검증방법.A validation method for the use of the segment repeatedly. 제 1 항에 있어서,The method according to claim 1, 상기 제1단계는,In the first step, 전자문서 구조 정보를 전자문서 데이타 스트럭쳐에 설정하는 단계;Setting electronic document structure information in an electronic document data structure; 전자문서를 구성하는 모든 세그먼트들에 대해 수행될 때까지 인덱스 값을 증가시키고, 현재 세그먼트가 루프 시작 세그먼트인지를 조사하는 단계;Incrementing the index value until it is performed for all segments comprising the electronic document, and examining whether the current segment is a loop start segment; 루프시작 세그먼트가 아니면 상기 인덱스 값을 증가시키는 단계를 수행하고, 루프 시작 세그먼트이면 루프 데이타 스트럭쳐를 설정하기 위한 루프 인덱스 값을 산출하여 전자문서 데이타 스트럭쳐의 루프 식별자 값, 부루프 식별자 값, 루프반복횟수를 상기 산출한 인덱스 값에 해당하는 루프 데이타 스트럭쳐의 루프 식별자 값, 부루프 식별자 값, 루프 반복 상한 값으로 각각 설정하는 단계; 및And if it is not a loop start segment, incrementing the index value. If the loop start segment is not a loop start segment, a loop index value for setting a loop data structure is calculated and a loop identifier value, an inverse loop identifier value, Setting a loop identifier value, a loop loop identifier value, and a loop repeat upper limit value of a loop data structure corresponding to the calculated index value, respectively; And 루프 시작 위치 값을 상기 세그먼트의 인덱스 값으로 설정하고, 루프 반복 횟수 값을 초기화하고, 빈도데이타 스트럭쳐의 단위 사용 횟수와 총 누적 사용 횟수 값을 초기화하는 단계Setting a loop start position value as an index value of the segment, initializing a loop repetition count value, and initializing a unit usage count and a cumulative use count value of the frequency data structure 를 포함하여 이루어진 세그먼트 반복사용에 대한 유효성 검증방법.A validation method for the use of the segment repeatedly. 제 1 항에 있어서,The method according to claim 1, 상기 제5단계는,In the fifth step, 현재 세그먼트의 인덱스 값이 직전 세그먼트의 인덱스 값보다 크고, 현재 세그먼트가 루프 시작 세그먼트이면 루프 데이타 스트럭쳐의 루프 반복 횟수 값을 초기화하는 단계; 및Initializing a loop iteration count value of the loop data structure if the index value of the current segment is greater than the index value of the immediately preceding segment and the current segment is a loop start segment; And 현재 세그먼트의 인덱스 값이 직전 세그먼트의 인덱스 값보다 작고, 현재 세그먼트가 루프 시작 세그먼트이면 루프 데이타 스트럭쳐의 루프 반복 횟수 값을 증가시키고, 빈도 데이타 스트럭쳐의 단위 사용 횟수 값을 초기화 하며, 현재 세그먼트의 인덱스 값을 직전 세그먼트의 인덱스 값으로 대치하는 단계If the index value of the current segment is smaller than the index value of the immediately preceding segment and the current segment is a loop start segment, the loop iteration count value of the loop data structure is increased, the unit usage count value of the frequency data structure is initialized, With the index value of the immediately preceding segment 를 포함하여 이루어진 세그먼트 반복사용에 대한 유효성 검증방법.A validation method for the use of the segment repeatedly. 제 1 항에 있어서,The method according to claim 1, 상기 제8단계는,In the eighth step, 사용할 세그먼트가 포함된 루프를 포함하고 있는 부모루프가 존재하는지 조사하는 단계;Checking whether a parent loop including a loop including a segment to be used exists; 부모 루프가 존재하지 않으면 빈도 데이타 스트럭쳐의 사용할 세그먼트의 총누적 사용 횟수 값이 루프 반복 상한값에 세그먼트 반복수를 곱한값보다 큰지를 조사하는 단계;If the parent loop does not exist, checking whether the total cumulative use count value of the segment to be used in the frequency data structure is greater than the loop repeat upper limit multiplied by the number of segment repetitions; 총 누적 사용 횟수 값이 더 크면 세그먼트 상한 초과 사용에 따른 오류를 처리하는 단계;Processing the error according to the use of the upper limit of the segment if the total cumulative use frequency value is larger; 총 누적 사용 횟수 값이 더 크지 않으면 정상적인 사용으로 종료하는 단계;Ending normal use if the total cumulative use frequency value is not greater; 부모루프가 존재하면 현재 사용할 세그먼트의 총 사용 빈도 누적 값이 상기 세그먼트를 포함하는 각각의 부모루프들의 루프 반복 상한값에 상기 세그먼트의 반복 사용 허용 상한 값을 곱한 값을 초과하였는지 조사하는 단계; 및If the parent loop exists, checking whether the cumulative value of the total usable frequency of the current segment to be used exceeds the loop repetition upper limit value of each parent loops including the segment times the repetition allowable upper limit value of the segment; And 초과하였으면 세그먼트 상한 초과 사용에 따른 오류를 처리하고, 초과하지 않았으면 정상적인 사용으로 종료하는 단계If it is exceeded, the error according to the use of exceeding the upper limit of the segment is handled, and if not exceeding, ending with normal use 를 포함하여 이루어진 세그먼트 반복사용에 대한 유효성 검증방법.A validation method for the use of the segment repeatedly. 제 1 항 내지 제 4 항중 어느 한 항에 있어서,5. The method according to any one of claims 1 to 4, 상기 현재 세그먼트가 루프 시작 세그먼트인지를 조사하는 단계는 전자문서 데이타 스트럭쳐의 세그먼트의 루프 반복 횟수가 '0'인지를 조사함으로써 이루어지는 것을 특징으로 하는 세그먼트 반복사용에 대한 유효성 검증방법.Wherein the step of checking whether the current segment is a loop start segment is performed by checking whether a loop iteration count of a segment of the electronic document data structure is '0'. 제 5 항에 있어서,6. The method of claim 5, 상기 루프 인덱스 값은 전자문서 데이타 스트럭쳐의 해당 세그먼트의 루프 식별자 코드 값을 '64'로 나눈 나머지 값을 구함으로써 얻어지는 것을 특징으로 하는 세그먼트 반복사용에 대한 유효성 검증방법.Wherein the loop index value is obtained by finding a remainder value obtained by dividing a loop identifier code value of a corresponding segment of the electronic document data structure by '64'. 제 5 항에 있어서,6. The method of claim 5, 상기 루프속에 포함된 세그먼트인지를 조사하는 단계는 전자문서 데이타 스트럭쳐의 루프 식별자 값이 '0'이 아니고, 루프 반복 횟수가 '0'인지를 조사함으로써 이루어지는 것을 특징으로 하는 세그먼트 반복사용에 대한 유효성 검증방법.Wherein the step of checking whether a segment included in the loop is performed by checking whether the loop identifier value of the electronic document data structure is not '0' and the number of loop repetition times is '0'. Way. 제 5 항에 있어서,6. The method of claim 5, 상기 사용할 세그먼트가 포함된 루프를 포함하고 있는 부모루프가 존재하는지 조사하는 단계는 루프 데이타 스트럭쳐의 부모루프 식별자 값이 '$'인지를 검사함으로써 이루어지는 것을 특징으로 하는 세그먼트 반복사용에 대한 유효성 검증방법.Wherein the step of checking whether there is a parent loop including a loop including the segment to be used is performed by checking whether the parent loop identifier value of the loop data structure is '$'.
KR1019970077356A 1997-12-29 1997-12-29 Electronic documents system KR100250120B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970077356A KR100250120B1 (en) 1997-12-29 1997-12-29 Electronic documents system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970077356A KR100250120B1 (en) 1997-12-29 1997-12-29 Electronic documents system

Publications (2)

Publication Number Publication Date
KR19990057306A true KR19990057306A (en) 1999-07-15
KR100250120B1 KR100250120B1 (en) 2000-03-15

Family

ID=19529548

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970077356A KR100250120B1 (en) 1997-12-29 1997-12-29 Electronic documents system

Country Status (1)

Country Link
KR (1) KR100250120B1 (en)

Also Published As

Publication number Publication date
KR100250120B1 (en) 2000-03-15

Similar Documents

Publication Publication Date Title
CN111866769B (en) Message sending method, device, server and medium
US7213078B2 (en) E-mail service apparatus, system, and method
CN101350858B (en) Method for decoding short message and user terminal
US20060136893A1 (en) Method, system and program product for adapting software applications for client devices
CN103631810A (en) Form filling method achieved through terminal scanning
CN101668261B (en) Method, device and system for attaching signature to long short message
Kille MIXER (mime internet X. 400 enhanced relay): Mapping between X. 400 and RFC 822/MIME
KR101196657B1 (en) Messaging Systems Having Function of Compatible and Parameters between the Social-Network Service
KR19990057306A (en) Validation method of segment repetition in electronic document exchange system
KR100250119B1 (en) Mapping method of electronic documents system
CN101156400B (en) Method and system for processing message in multimedia message service
KR100278290B1 (en) Electronic document authentication method using matrix algorithm in electronic document exchange system
CN100387075C (en) Rate treating device, short message charge-deducting system and method
US8027838B2 (en) Method and system for connecting characters, words and signs to a telecommunication number
CN101969620B (en) Method for charging industry short messages and short message gateway for implementing same
US20060080396A1 (en) Electronic mail charging system and electronic mail charging method
CN103096273A (en) Uplink short message service (SMS) sending method, equipment and system
US20220345880A1 (en) Message communication device and message communication program
KR0139556B1 (en) Document Management Method Using Directory in Subscriber System of Electronic Document Exchange System
KR100574886B1 (en) Method of arranging standard record for edi
CN104936155B (en) A kind of processing method and processing device of SMS signature
KR100626499B1 (en) System and Method for Registering Mobile Number of Community and Information Storing Medium
KR100569725B1 (en) System and Method for Messaging
KR20110127316A (en) Financial gateway system for exchanging asynchronous statement
KR101101966B1 (en) The system and method for sending message to multiple users

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20101207

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee