JP2003532237A - Bitmap parsing method using Kobol algorithm - Google Patents

Bitmap parsing method using Kobol algorithm

Info

Publication number
JP2003532237A
JP2003532237A JP2001581196A JP2001581196A JP2003532237A JP 2003532237 A JP2003532237 A JP 2003532237A JP 2001581196 A JP2001581196 A JP 2001581196A JP 2001581196 A JP2001581196 A JP 2001581196A JP 2003532237 A JP2003532237 A JP 2003532237A
Authority
JP
Japan
Prior art keywords
pic
value
xxx
bitmap
byte
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2001581196A
Other languages
Japanese (ja)
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 マスターカード インターナシヨナル インコーポレーテツド
Publication of JP2003532237A publication Critical patent/JP2003532237A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms

Abstract

(57)【要約】 本発明は、コボル文を用いて、多数の可能なビットマップ(10)の組み合わせのうちの1つを有するビットマップメッセージ(10)からデータを抽出する方法を提供するものであり、この方法は、可能なビットマップの組み合わせ(10)毎に数値を割り当てるステップと;各数値をバイトマップ(12)に関連付ける変換表を作成するステップと;特定メッセージ中のビットマップ(10)を識別するステップと;ビットマップ(10)を関連するバイトマップ(12)に変換するステップと;結果的なバイトマップ(12)にもとづいて、データの存在または不在を特定するステップとを具えている。 SUMMARY OF THE INVENTION The present invention provides a method for extracting data from a bitmap message (10) having one of a number of possible bitmap (10) combinations using a Kobol sentence. The method comprises the steps of assigning a numerical value for each possible bitmap combination (10); creating a conversion table that associates each numerical value with a bytemap (12); ); Converting the bitmap (10) into an associated bytemap (12); and identifying the presence or absence of data based on the resulting bytemap (12). I have.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】 (優先権出願) 本願は、米国特許暫定出願番号60/201,559、出願日2000年5月1日、発明の名称
"BIT-MAP PARSING USING COBOL ALGORITHM"に対する優先権を主張し、この米国
特許出願は参考文献として本明細書に含める。
(Priority application) This application is US Patent Provisional Application No. 60 / 201,559, filing date May 1, 2000, title of invention
Claiming priority to "BIT-MAP PARSING USING COBOL ALGORITHM", this US patent application is incorporated herein by reference.

【0002】 (発明の背景) 本発明は、金融取引カードのメッセージに関するものであり、特に、「ビット
マップ」メッセージ、あるいは換言すれば、(1)いずれの構成要素も所定のメッ
セージ中に存在または不在であり得る、多数の異なる識別可能な構成要素から構
成することができるメッセージ、または、(2)これらの構成要素のビットマップ
を含むことができるメッセージに関するものであり、このビットマップは、各ビ
ットが1つの潜在的(ポテンシャル)構成要素を表わす2進ビットの列である。
一般に、このビットマップはメッセージの前にヘッダとして置く。1の値はメッ
セージ中の対応する構成要素の存在を示し、0の値は構成要素が存在しないこと
を示す。
BACKGROUND OF THE INVENTION [0002] The present invention relates to financial transaction card messages, and more particularly to "bitmap" messages, or in other words, (1) any component present or present in a given message. A message that may be absent and that may consist of a number of different identifiable components, or (2) a message that may include a bitmap of these components, each of which is a bitmap. A bit is a string of binary bits that represents one potential component.
Generally, this bitmap is placed as a header before the message. A value of 1 indicates the presence of the corresponding component in the message and a value of 0 indicates the absence of the component.

【0003】 例えば、ISO 8583-1993仕様(金融取引カードが生成するメッセージについて
のものであり、参考文献として本明細書に含める)は、128個の別個の要素を定
義して、あらゆるメッセージ中のこれらの要素の存在または不在を、メッセージ
中の128ビットのマップによって示す。ISO 8583-1993の目的の1つは、大きさが
異なるかあるいは変化するメッセージの伝送を可能にして、必要以上の長さを有
するメッセージが伝送されないようにすることにある。各メッセージは異なる大
きさを有し得る。そして各メッセージは、他のメッセージにはないフィールドを
有し得る。従ってフィールドの詰め合わせ方はメッセージ毎に変化し、これらの
「浮動的な」フィールドが、メッセージからのデータ抽出をより困難にしている
。特定フィールドの存在または不在を示すビットマップが、適切なデータの抽出
を可能にする。
[0003] For example, the ISO 8583-1993 specification (for messages generated by financial transaction cards and included herein by reference) defines 128 distinct elements to define every message in every message. The presence or absence of these elements is indicated by a 128-bit map in the message. One of the purposes of ISO 8583-1993 is to allow the transmission of messages of different or varying sizes, so that messages with an unnecessarily long length are not transmitted. Each message may have a different size. And each message may have fields that other messages do not. Thus, the packing of fields varies from message to message, and these "floating" fields make data extraction from the message more difficult. A bitmap showing the presence or absence of a particular field allows the extraction of the appropriate data.

【0004】 しかし、コボル(COBOL)言語を利用する金融取引メッセージの処理に関して
は、コボル文がメッセージ中のビットを検査するのに十分適していないので、現
在では、ビットマップを効率的に利用することができない。
However, when it comes to processing financial transaction messages using the Cobol (COBOL) language, the Cobol statement is not well suited to inspect bits in messages, so it now uses bitmaps efficiently. I can't.

【0005】 従って、コボルプログラムによって処理するためには、ビットマップを「文字
マップ」、即ち1構成要素当たり(1ビットよりもむしろ)1バイトを有するア
レイに変換することが必要である。このことは、コボルプログラムが、簡単な添
字(サブスクリプト)または指標によって、あらゆる要素をテスト(検査)する
ことを可能にする。例えば、このアレイ中に存在する要素を"X"で表わし、不在
の要素を空白(スペース)で表わすことができる。
Therefore, in order to be processed by the Cobol program, it is necessary to convert the bitmap into a “character map”, ie an array with 1 byte (rather than 1 bit) per component. This allows the Cobol program to test any element with a simple subscript or index. For example, the elements that are present in this array can be represented by "X" and the absent elements can be represented by blanks.

【0006】 過去には、ビットマップデータを使用する異なる方法が多数存在した。例えば
以下に提示するものは、以前に使用されていた除算、減算、シリアルサーチ(順
検索)、バイナリサーチ(2進検索)、及び評価処理の説明である。
In the past, there have been many different ways of using bitmap data. For example, what is presented below is a description of previously used division, subtraction, serial search (order search), binary search (binary search), and evaluation processes.

【0007】 A. 1.除算 ビットマップデータを4バイト同時に数値領域内に移動する。そして、結果の
各数値を繰り返し2で除算する。各除算後に余りを検査する。余りが1であれば
、対応する文字マップフラグを"X"に設定し、余りが0であればフラグを空白の
ままにする。
A. 1. Moves 4 bytes of division bitmap data simultaneously into the numerical area. Then, each resulting numerical value is repeatedly divided by two. Check the remainder after each division. If the remainder is 1, set the corresponding character map flag to "X", and if the remainder is 0, leave the flag blank.

【0008】 B. 2.減算 ビットマップデータを1バイト同時に数値領域内に移動する。結果の各数値を
128と比較し、次に64、32、16、8、4、2、そして1と比較する。「大きいか等し
い」を満足する際には常に、対応する文字マップフラグを"X"に設定して、値128
、64、32、等をその数から減算する。
B. 2. Subtract Moves the bitmap data 1 byte at a time into the numerical area. Each number in the result
Compare 128, then compare 64, 32, 16, 8, 4, 2, and 1. Whenever "greater than or equal to" is satisfied, the corresponding character map flag is set to "X" and the value 128
, 64, 32, etc. are subtracted from the number.

【0009】 C. 3.シリアルサーチ(順検索) ビットマップデータをバイト単位で、次の表を検索する引数として用いる。 ビットパターン(X'00'、X'01'、X'02'、X'03'、等)及び 対応する8バイト文字パターン('□□□□□□□□'、'□□□□□□□
X'、'□□□□□□X□'、'□□□□□□XX'、等)
C. 3. Serial search (sequential search) Bitmap data is used in byte units as an argument to search the following table. Bit patterns (X'00 ', X'01', X'02 ', X'03', etc.) and corresponding 8-byte character patterns ('□□□□□□□□', '□□□□□ □□
X ',' □□□□□□□ X □ ',' □□□□□□□ XX ', etc.)

【0010】 コボルの「検索」とは、表の順検索を実行することに用いる。ビットパターン
上に適合(ヒット)を見出すと、対応する文字パターンを文字マップ中に移動す
る。
Kobol's “search” is used to perform a sequential search of a table. When a match (hit) is found on the bit pattern, the corresponding character pattern is moved into the character map.

【0011】 D. 4.バイナリサーチ(2進検索) ビットマップデータを、上記のシリアルサーチのようにバイト単位で用いるが
、コボルの「サーチオール(SEARCH ALL:全検索)」は、表のバイナリサーチを
実行することを指定する。
D. 4. Binary search (binary search) Bitmap data is used in byte units as in the serial search above, but Koburu's "SEARCH ALL" specifies that a binary search of the table should be performed. To do.

【0012】 E. 5.評価 ビットマップデータを1バイト同時に取り出す。各バイトを256個の可能な値
(X'00'、X'01'、X'02'、...、X'FF')のすべてと比較する。コボルの「評価」
は、多くの互いに排他的な条件のうちの1つが存在することをテスト(検査)す
る。「評価(EVALUATE)」はここでは、256個の可能なビットパターンうち、ビ
ットマップの1バイトに一致するものを特定することに用いる。一致を見出すと
、対応する文字パターン、即ち'........'、'.......X'、'......X.'、'......X
X'、等から'XXXXXXXX'までを文字マップ中に移動する。
E. 5. One byte of evaluation bit map data is taken out at the same time. Compare each byte to all 256 possible values (X'00 ', X'01', X'02 ', ..., X'FF'). Kobol's "evaluation"
Tests for the existence of one of many mutually exclusive conditions. "EVALUATE" is used here to identify one of the 256 possible bit patterns that matches one byte of the bitmap. When a match is found, the corresponding character pattern is' ........ ',' ....... X ',' ...... X. ',' ..... .X
Move X ', etc. to'XXXXXXXX' in the character map.

【0013】 これらの技法があるにもかかわらず、コボル文を用いてビットマップメッセー
ジからデータを効率的に抽出する有効な技法を開発する必要性が存在する。
Despite these techniques, there is a need to develop effective techniques for efficiently extracting data from bitmap messages using Cobol statements.

【0014】 (発明の概要) 従って本発明によれば、より少ないコード(符号)行を利用しつつ、ずっと高
速に実行される新たな技法が提供される。
SUMMARY OF THE INVENTION Therefore, the present invention provides a new technique that utilizes fewer lines of code, but runs much faster.

【0015】 本発明の好適例によれば、コボル文を用いてビットマップメッセージからデー
タを抽出する新たな方法が提供され、これらのメッセージは、メッセージ中のフ
ィールド及びメッセージの長さが変化するようなメッセージを表現する多くの可
能なビットマップの組み合わせのうちの1つを有する。この好適な方法は、可能
なビットマップの組み合わせ毎に数値を割り当てるステップと;これらの数値毎
に、バイトマップに関連付ける変換表を作成するステップと;特定メッセージ中
のビットマップを識別するステップと;このビットマップを関連するバイトマッ
プに変換するステップと;結果的なビットマップにもとづいて、前記データの存
在または不在を特定するステップとを具えている。前記変換のステップが、前記
変換表に従って、前記ビットマップに対する特定数値を生成して、前記バイトマ
ップを前記ビットマップに関連付けることが好ましい。
According to a preferred embodiment of the present invention, there is provided a new method for extracting data from a bitmap message using the Kobol statement, which is characterized in that the fields in the message and the length of the message are changed. It has one of many possible bitmap combinations that represent different messages. The preferred method comprises assigning a numerical value for each possible bitmap combination; creating a conversion table for each of these numerical values that is associated with a byte map; identifying a bitmap in a particular message; Converting the bitmap into an associated byte map; identifying the presence or absence of the data based on the resulting bitmap. Preferably, the converting step generates a specific numerical value for the bitmap according to the conversion table and associates the byte map with the bitmap.

【0016】 この新たな技法は、以前のいずれのアルゴリズムよりもずっと実行が高速であ
ることが、次のように示されている: 1.除算の構文解析は、新たなアルゴリズムの75〜88倍の時間を要して
いた(メッセージの混合に依存する)。 2.減算は5.9〜8.9倍の時間を要していた。 3.シリアルサーチは、21.9〜82.5倍の時間を要していた。 4.バイナリサーチは、27.5〜31.8倍の時間を要していた。 5.評価は、6.9〜32.1倍の時間を要していた。
This new technique has been shown to perform much faster than any of the previous algorithms, as follows: The parsing of division took 75-88 times as long as the new algorithm (depending on the mix of messages). 2. The subtraction took 5.9 to 8.9 times as long. 3. The serial search took 21.9 to 82.5 times as long. 4. Binary search took 27.5 to 31.8 times longer. 5. The evaluation took 6.9 to 32.1 times as long.

【0017】 さらに本発明は、コーディングしたライン数が最少になるので、保守が容易で
ある。
Moreover, the present invention is easy to maintain because it minimizes the number of coded lines.

【0018】 以上の本発明の概要、並びに本発明のさらなる目的、特徴、及び利点は、以下
の図面を参照した好適な実施例の詳細な説明から、より十分に理解できるが、こ
れらの実施例は例示的なものである。
The above summary of the present invention, as well as further objects, features, and advantages of the present invention, can be more fully understood from the following detailed description of the preferred embodiments with reference to the drawings. Is exemplary.

【0019】 以下、本発明を、好適な実施例に関連付けてより詳細に説明する。請求項に規
定した本発明の範囲から逸脱することなく、以下の実施例を変更及び変形するこ
とができる。
The invention will now be described in more detail in connection with the preferred embodiments. Modifications and variations of the following embodiments may be made without departing from the scope of the invention as defined by the claims.

【0020】 (発明の実施例の詳細な説明) 本発明はコンピュータのプログラミング及び技法に関するものであり、特にコ
ボル(COBOL:Common Business Oriented Language)におけるプログラミングに
関するものであり、以下の説明ではコボルの実践知識を前提とする。例えば、以
下に示すコボルのプログラミングコード"PIC"は、初歩的なデータアイテムの内
容を記述するために用いるクローズ(節)であり、この場合には、400_P及び400
_P_X、及び"X"は英数字のデータ文字記号であり、"9"が数字のデータ文字記号で
あり、"S"が演算符号を示し、かっこ内の数が前記アイテムのディジット(10進
数)長を示す。
(Detailed Description of Embodiments of the Invention) The present invention relates to computer programming and techniques, and particularly to programming in Cobol (Common Business Oriented Language), and in the following description, the practice of Cobol will be described. Knowledge is a prerequisite. For example, the following Kobol programming code "PIC" is a close used to describe the contents of a primitive data item, in this case 400_P and 400_P.
_P_X and "X" are alphanumeric data character symbols, "9" is a numeric data character symbol, "S" is an operation code, and the number in parentheses is the digit (decimal number) of the item. Indicates the length.

【0021】 本発明の好適例によれば、コボル文を用いてビットマップメッセージからデー
タを抽出することができるプロセス(処理過程)が提供される。作業記憶領域(
またはプログラムにおいて使用する中間結果及び定数を記憶する作業領域)中に
2バイトの領域を、英数字及び数字の両方として、次のように定義する: 05 400_P PIC S9(4) COMP VALUE 0. 05 REDEFINES 400_P. 10 PIC X. 10 400_P_X PIC X.
According to a preferred embodiment of the present invention, there is provided a process capable of extracting data from a bitmap message using a Kobol statement. Working storage area (
Or, a 2-byte area in the work area for storing intermediate results and constants used in the program) is defined as both alphanumeric characters and numbers as follows: 05 400_P PIC S9 (4) COMP VALUE 0. 05 REDEFINES 400_P. 10 PIC X. 10 400_P_X PIC X.

【0022】 ビットマップデータを1バイト同時に、フィールド400_P_X中に移動する。結
果的な(400_Pにおける)各数値を、対応する文字パターンの表中への添字(サ
ブスクリプト)として用いて、これらの文字パターンは8文字長('□□□□□
□□□'、'□□□□□□□X'、'□□□□□□X□'、'□□□□□□XX'、等)で
ある。そしてこれらの8文字を、文字マップ中の適切な位置に移動し、そしてこ
の文字マップに従って、データをメッセージから抽出することができる。
The bitmap data is moved into the field 400_P_X by one byte at the same time. Using each resulting numerical value (at 400_P) as a subscript in the corresponding character pattern table, these character patterns are 8 characters long ('□□□□□
□□□ ',' □□□□□□□□ X ',' □□□□□□□ X □ ',' □□□□□□□ XX ', etc.). These eight characters can then be moved to the appropriate position in the character map and the data can be extracted from the message according to this character map.

【0023】 ビットマップのバイトを添字によって選択するよりも、これらのバイトに個別
の名前を付けることが好ましい、というのは、この方がより効率的な方法である
ことが示されているからである。
It is preferable to name the bytes of the bitmap individually rather than selecting them by subscript, since this has been shown to be a more efficient method. .

【0024】 図1に、浮動的なフィールドを有するメッセージからのデータ抽出を達成する
ための好適なステップの順序を示す。このメッセージは、16バイト(10)として示
す128ビットのヘッダのビットマップを有する。各バイトは、00000000から11111
111まで変化する2進(バイナリ)値を有する。上述したように、ビットマップ
を、メモリー中の、英数字として定義される2つのバイト領域(12)に分割する。
第1バイト(14)は常に2進数00000000である。第2バイト(16)は、ビットマップ
から1バイトを受け取る(図1に矢印16で示す)。従って第2バイトは、0000
0000から11111111までに含まれる2進数値を受け取る。
FIG. 1 shows a preferred sequence of steps for achieving data extraction from a message having floating fields. This message has a bitmap of the 128-bit header shown as 16 bytes (10). Each byte is 00000000-11111
It has a binary value that varies up to 111. As mentioned above, the bitmap is divided into two byte areas (12) in memory, defined as alphanumeric characters.
The first byte (14) is always a binary number 00000000. The second byte (16) receives one byte from the bitmap (indicated by arrow 16 in FIG. 1). Therefore, the second byte is 0000
Receives a binary value from 0000 to 11111111.

【0025】 次の好適なステップでは再定義を行い、ここでは同じ2つのメモリー位置14、
16を、16進数で0000から00FFまで(10進数で0〜255)の値を有するPIC 9(4) COM
P内の数値として再定義する。そしてこの数値を、各8バイトのエントリ256個を
含む表(18)中への指標として用いる。例えば、16進で0000の値は、8個の空白の
第1行を指す。16進で00FFの値は、256番目の行XXXXXXXXを指す。図では、矢印(
20)が第3行を指している。一旦、一致する文字パターンを特定すると、文字マ
ップ22を作成する。これは、16グループの8バイト(合計128バイト)を含むメ
モリー中の領域である。各グループは表18からエントリを受け取る。
The next preferred step is to redefine, where the same two memory locations 14,
16 is a PIC 9 (4) COM with a value from 0000 to 00FF in hexadecimal (0 to 255 in decimal)
Redefine as the value in P. This number is then used as an index into a table (18) containing 256 entries of 8 bytes each. For example, a hexadecimal value of 0000 refers to the first row of eight blanks. A value of 00FF in hexadecimal refers to the 256th line XXXXXXXX. In the figure, the arrow (
20) points to the third line. Once the matching character pattern is specified, the character map 22 is created. This is an area in memory that contains 16 groups of 8 bytes (128 bytes total). Each group receives an entry from Table 18.

【0026】 以下に記載するものは、本発明の好適な実施例を実行するために利用すべき好
適なCOBOLプログラミングのステップである。
Described below are the preferred COBOL programming steps that should be utilized to implement the preferred embodiment of the present invention.

【0027】 次のデータ構造は、構文解析すべきメッセージを定義したものである。これは
ISO IPMフォーマットであり、ビットマップ化したメッセージ構造の典型的なも
のである。(なお第1サブフィールドは、この構文解析技法に対する材料ではな
い。)メッセージは可変長とすることができる。 01 IP66102_IPM_MSG EXTERNAL. 05 IP66102_NORMAL_IPM_MSG. 10 IP66102_MTI PIC X(4). 10 IP66102_BIT_MAP. 15 IP66102_BIT_BYTE_1 PIC X. 15 IP66102_BIT_BYTE_2 PIC X. 15 IP66102_BIT_BYTE_3 PIC X. 15 IP66102_BIT_BYTE_4 PIC X. 15 IP66102_BIT_BYTE_5 PIC X. 15 IP66102_BIT_BYTE_6 PIC X. 15 IP66102_BIT_BYTE_7 PIC X. 15 IP66102_BIT_BYTE_8 PIC X. 15 IP66102_BIT_BYTE_9 PIC X. 15 IP66102_BIT_BYTE_10 PIC X. 15 IP66102_BIT_BYTE_11 PIC X. 15 IP66102_BIT_BYTE_12 PIC X. 15 IP66102_BIT_BYTE_13 PIC X. 15 IP66102_BIT_BYTE_14 PIC X. 15 IP66102_BIT_BYTE_15 PIC X. 15 IP66102_BIT_BYTE_16 PIC X. 10 IP66102_MSG_CONTENT PIC X(32747).
The following data structure defines the message to be parsed. this is
It is an ISO IPM format, and is typical of a bitmapped message structure. (Note that the first subfield is not material for this parsing technique.) The message can be of variable length. 01 IP66102_IPM_MSG EXTERNAL. 05 IP66102_NORMAL_IPM_MSG. 10 IP66102_MTI PIC X (4). 10 IP66102_BIT_MAP. 15 IP66102_BIT_BYTE_1 PIC X. 15 IP66102_BIT_BYTE_2 PIC X. 15 IP66102_BIT_BYTE_3 PIC X. 15 IP66102_BIT_BYTE_4 PIC X. 15 IP66102_BIT_BYTE_5 PIC X. 15 IP66102_BIT_BYTE_6 PIC X. 15 IP66102_BIT_BYTE_7 PIC X. 15 IP66102_BIT_BYTE_8 PIC X. 15 IP66102_BIT_BYTE_9 PIC X. 15 IP66102_BIT_BYTE_10 PIC X. 15 IP66102_BIT_BYTE_12 PIC X. 15 IP66__IP_PIP X. 15 IP66 102_BIT_BYTE_13_IC_PIP X. 15 IP66. PIC X (32747).

【0028】 次に、1バイトのビットマップを、使用可能な添字(サブスクリプト)に変換
するのに使用するアイテム(項目)を定義する。 01 WORKING_VALUES. 05 400_P PIC S9(4) COMP VALUE 0. 05 REDEFINES 400_P. 10 PIC X. 10 400_P_X PIC X. 構文解析パターン表18(ビットマップ)の作成は、次の通りである。 01 500_PARSING_PATTERN_VALUES. 05 PIC X(8) VALUE' '. 05 PIC X(8) VALUE' X'. 05 PIC X(8) VALUE ' X '. 05 PIC X(8) VALUE ' XX'. 05 PIC X(8) VALUE ' X '. 05 PIC X(8) VALUE ' X X'. 05 PIC X(8) VALUE ' XX '. 05 PIC X(8) VALUE ' XXX'. 05 PIC X(8) VALUE ' X '. 05 PIC X(8) VALUE ' X X'. 05 PIC X(8) VALUE ' X X '. 05 PIC X(8) VALUE ' X XX'. 05 PIC X(8) VALUE ' XX '. 05 PIC X(8) VALUE ' XX X'. 05 PIC X(8) VALUE ' XXX '. 05 PIC X(8) VALUE ' XXXX'. 05 PIC X(8) VALUE ' X '. 05 PIC X(8) VALUE ' X X'. 05 PIC X(8) VALUE ' X X '. 05 PIC X(8) VALUE ' X XX'. 05 PIC X(8) VALUE ' X X '. 05 PIC X(8) VALUE ' X X X'. 05 PIC X(8) VALUE ' X XX '. 05 PIC X(8) VALUE ' X XXX'. 05 PIC X(8) VALUE ' XX '. 05 PIC X(8) VALUE ' XX X'. 05 PIC X(8) VALUE ' XX X '. 05 PIC X(8) VALUE ' XX XX'. 05 PIC X(8) VALUE ' XXX '. 05 PIC X(8) VALUE ' XXX X'. 05 PIC X(8) VALUE ' XXXX '. 05 PIC X(8) VALUE ' XXXXX'. 05 PIC X(8) VALUE ' X '. 05 PIC X(8) VALUE ' X X'. 05 PIC X(8) VALUE ' X X '. 05 PIC X(8) VALUE ' X XX'. 05 PIC X(8) VALUE ' X X '. 05 PIC X(8) VALUE ' X X X'. 05 PIC X(8) VALUE ' X XX '. 05 PIC X(8) VALUE ' X XXX'. 05 PIC X(8) VALUE ' X X '. 05 PIC X(8) VALUE ' X X X'. 05 PIC X(8) VALUE ' X X X '. 05 PIC X(8) VALUE ' X X XX'. 05 PIC X(8) VALUE ' X XX '. 05 PIC X(8) VALUE ' X XX X'. 05 PIC X(8) VALUE ' X XXX '. 05 PIC X(8) VALUE ' X XXXX'. 05 PIC X(8) VALUE ' XX '. 05 PIC X(8) VALUE ' XX X'. 05 PIC X(8) VALUE ' XX X ' 05 PIC X(8) VALUE ' XX XX'. 05 PIC X(8) VALUE ' XX X '. 05 PIC X(8) VALUE ' XX X X'. 05 PIC X(8) VALUE ' XX XX '. 05 PIC X(8) VALUE ' XX XXX'. 05 PIC X(8) VALUE ' XXX '. 05 PIC X(8) VALUE ' XXX X'. 05 PIC X(8) VALUE ' XXX X '. 05 PIC X(8) VALUE ' XXX XX'. 05 PIC X(8) VALUE ' XXXX '. 05 PIC X(8) VALUE ' XXXX X'. 05 PIC X(8) VALUE ' XXXXX '. 05 PIC X(8) VALUE ' XXXXXX'. 05 PIC X(8) VALUE ' X '. 05 PIC X(8) VALUE ' X X'. 05 PIC X(8) VALUE ' X X '. 05 PIC X(8) VALUE ' X XX'. 05 PIC X(8) VALUE ' X X '. 05 PIC X(8) VALUE ' X X X'. 05 PIC X(8) VALUE ' X XX '. 05 PIC X(8) VALUE ' X XXX'. 05 PIC X(8) VALUE ' X X '. 05 PIC X(8) VALUE ' X X X'. 05 PIC X(8) VALUE ' X X X '. 05 PIC X(8) VALUE ' X X XX'. 05 PIC X(8) VALUE ' X XX '. 05 PIC X(8) VALUE ' X XX X'. 05 PIC X(8) VALUE ' X XXX '. 05 PIC X(8) VALUE ' X XXXX'. 05 PIC X(8) VALUE ' X X '. 05 PIC X(8) VALUE ' X X X'. 05 PIC X(8) VALUE ' X X X '. 05 PIC X(8) VALUE ' X X XX'. 05 PIC X(8) VALUE ' X X X '. 05 PIC X(8) VALUE ' X X X X'. 05 PIC X(8) VALUE ' X X XX '. 05 PIC X(8) VALUE ' X X XXX'. 05 PIC X(8) VALUE ' X XX '. 05 PIC X(8) VALUE ' X XX X'. 05 PIC X(8) VALUE ' X XX X '. 05 PIC X(8) VALUE ' X XX XX'. 05 PIC X(8) VALUE ' X XXX '. 05 PIC X(8) VALUE ' X XXX X'. 05 PIC X(8) VALUE ' X XXXX '. 05 PIC X(8) VALUE ' X XXXXX'. 05 PIC X(8) VALUE ' XX '. 05 PIC X(8) VALUE ' XX X'. 05 PIC X(8) VALUE ' XX X '. 05 PIC X(8) VALUE ' XX XX'. 05 PIC X(8) VALUE ' XX X '. 05 PIC X(8) VALUE ' XX X X'. 05 PIC X(8) VALUE ' XX XX '. 05 PIC X(8) VALUE ' XX XXX'. 05 PIC X(8) VALUE ' XX X '. 05 PIC X(8) VALUE ' XX X X'. 05 PIC X(8) VALUE ' XX X X '. 05 PIC X(8) VALUE ' XX X XX'. 05 PIC X(8) VALUE ' XX XX '. 05 PIC X(8) VALUE ' XX XX X'. 05 PIC X(8) VALUE ' XX XXX '. 05 PIC X(8) VALUE ' XX XXXX'. 05 PIC X(8) VALUE ' XXX '. 05 PIC X(8) VALUE ' XXX X'. 05 PIC X(8) VALUE ' XXX X '. 05 PIC X(8) VALUE ' XXX XX'. 05 PIC X(8) VALUE ' XXX X '. 05 PIC X(8) VALUE ' XXX X X'. 05 PIC X(8) VALUE ' XXX XX '. 05 PIC X(8) VALUE ' XXX XXX'. 05 PIC X(8) VALUE ' XXXX '. 05 PIC X(8) VALUE ' XXXX X'. 05 PIC X(8) VALUE ' XXXX X '. 05 PIC X(8) VALUE ' XXXX XX'. 05 PIC X(8) VALUE ' XXXXX '. 05 PIC X(8) VALUE ' XXXXX X'. 05 PIC X(8) VALUE ' XXXXXX '. 05 PIC X(8) VALUE ' XXXXXXX'. 05 PIC X(8) VALUE 'X '. 05 PIC X(8) VALUE 'X X'. 05 PIC X(8) VALUE 'X X '. 05 PIC X(8) VALUE 'X XX'. 05 PIC X(8) VALUE 'X X '. 05 PIC X(8) VALUE 'X X X'. 05 PIC X(8) VALUE 'X XX '. 05 PIC X(8) VALUE 'X XXX'. 05 PIC X(8) VALUE 'X X '. 05 PIC X(8) VALUE 'X X X'. 05 PIC X(8) VALUE 'X X X '. 05 PIC X(8) VALUE 'X X XX'. 05 PIC X(8) VALUE 'X XX '. 05 PIC X(8) VALUE 'X XX X'. 05 PIC X(8) VALUE 'X XXX '. 05 PIC X(8) VALUE 'X XXXX'. 05 PIC X(8) VALUE 'X X '. 05 PIC X(8) VALUE 'X X X'. 05 PIC X(8) VALUE 'X X X '. 05 PIC X(8) VALUE 'X X XX'. 05 PIC X(8) VALUE 'X X X '. 05 PIC X(8) VALUE 'X X X X'. 05 PIC X(8) VALUE 'X X XX '. 05 PIC X(8) VALUE 'X X XXX'. 05 PIC X(8) VALUE 'X XX '. 05 PIC X(8) VALUE 'X XX X'. 05 PIC X(8) VALUE 'X XX X '. 05 PIC X(8) VALUE 'X XX XX'. 05 PIC X(8) VALUE 'X XXX '. 05 PIC X(8) VALUE 'X XXX X'. 05 PIC X(8) VALUE 'X XXXX '. 05 PIC X(8) VALUE 'X XXXXX'. 05 PIC X(8) VALUE 'X X '. 05 PIC X(8) VALUE 'X X X'. 05 PIC X(8) VALUE 'X X X '. 05 PIC X(8) VALUE 'X X XX'. 05 PIC X(8) VALUE 'X X X '. 05 PIC X(8) VALUE 'X X X X'. 05 PIC X(8) VALUE 'X X XX '. 05 PIC X(8) VALUE 'X X XXX'. 05 PIC X(8) VALUE 'X X X '. 05 PIC X(8) VALUE 'X X X X'. 05 PIC X(8) VALUE 'X X X X '. 05 PIC X(8) VALUE 'X X X XX'. 05 PIC X(8) VALUE 'X X XX '. 05 PIC X(8) VALUE 'X X XX X'. 05 PIC X(8) VALUE 'X X XXX '. 05 PIC X(8) VALUE 'X X XXXX'. 05 PIC X(8) VALUE 'X XX '. 05 PIC X(8) VALUE 'X XX X'. 05 PIC X(8) VALUE 'X XX X '. 05 PIC X(8) VALUE 'X XX XX'. 05 PIC X(8) VALUE 'X XX X '. 05 PIC X(8) VALUE 'X XX X X'. 05 PIC X(8) VALUE 'X XX XX '. 05 PIC X(8) VALUE 'X XX XXX'. 05 PIC X(8) VALUE 'X XXX '. 05 PIC X(8) VALUE 'X XXX X'. 05 PIC X(8) VALUE 'X XXX X '. 05 PIC X(8) VALUE 'X XXX XX'. 05 PIC X(8) VALUE 'X XXXX '. 05 PIC X(8) VALUE 'X XXXX X'. 05 PIC X(8) VALUE 'X XXXXX '. 05 PIC X(8) VALUE 'X XXXXXX'. 05 PIC X(8) VALUE 'XX '. 05 PIC X(8) VALUE 'XX X'. 05 PIC X(8) VALUE 'XX X '. 05 PIC X(8) VALUE 'XX XX'. 05 PIC X(8) VALUE 'XX X '. 05 PIC X(8) VALUE 'XX X X'. 05 PIC X(8) VALUE 'XX XX '. 05 PIC X(8) VALUE 'XX XXX'. 05 PIC X(8) VALUE 'XX X '. 05 PIC X(8) VALUE 'XX X X'. 05 PIC X(8) VALUE 'XX X X '. 05 PIC X(8) VALUE 'XX X XX'. 05 PIC X(8) VALUE 'XX XX '. 05 PIC X(8) VALUE 'XX XX X'. 05 PIC X(8) VALUE 'XX XXX '. 05 PIC X(8) VALUE 'XX XXXX'. 05 PIC X(8) VALUE 'XX X '. 05 PIC X(8) VALUE 'XX X X'. 05 PIC X(8) VALUE 'XX X X '. 05 PIC X(8) VALUE 'XX X XX'. 05 PIC X(8) VALUE 'XX X X '. 05 PIC X(8) VALUE 'XX X X X'. 05 PIC X(8) VALUE 'XX X XX '. 05 PIC X(8) VALUE 'XX X XXX'. 05 PIC X(8) VALUE 'XX XX '. 05 PIC X(8) VALUE 'XX XX X'. 05 PIC X(8) VALUE 'XX XX X '. 05 PIC X(8) VALUE 'XX XX XX'. 05 PIC X(8) VALUE 'XX XXX '. 05 PIC X(8) VALUE 'XX XXX X'. 05 PIC X(8) VALUE 'XX XXXX '. 05 PIC X(8) VALUE 'XX XXXXX'. 05 PIC X(8) VALUE 'XXX '. 05 PIC X(8) VALUE 'XXX X'. 05 PIC X(8) VALUE 'XXX X '. 05 PIC X(8) VALUE 'XXX XX'. 05 PIC X(8) VALUE 'XXX X '. 05 PIC X(8) VALUE 'XXX X X'. 05 PIC X(8) VALUE 'XXX XX '. 05 PIC X(8) VALUE 'XXX XXX'. 05 PIC X(8) VALUE 'XXX X '. 05 PIC X(8) VALUE 'XXX X X'. 05 PIC X(8) VALUE 'XXX X X '. 05 PIC X(8) VALUE 'XXX X XX'. 05 PIC X(8) VALUE 'XXX XX '. 05 PIC X(8) VALUE 'XXX XX X'. 05 PIC X(8) VALUE 'XXX XXX '. 05 PIC X(8) VALUE 'XXX XXXX'. 05 PIC X(8) VALUE 'XXXX '. 05 PIC X(8) VALUE 'XXXX X'. 05 PIC X(8) VALUE 'XXXX X '. 05 PIC X(8) VALUE 'XXXX XX'. 05 PIC X(8) VALUE 'XXXX X '. 05 PIC X(8) VALUE 'XXXX X X'. 05 PIC X(8) VALUE 'XXXX XX '. 05 PIC X(8) VALUE 'XXXX XXX'. 05 PIC X(8) VALUE 'XXXXX '. 05 PIC X(8) VALUE 'XXXXX X'. 05 PIC X(8) VALUE 'XXXXX X '. 05 PIC X(8) VALUE 'XXXXX XX'. 05 PIC X(8) VALUE 'XXXXXX '. 05 PIC X(8) VALUE 'XXXXXX X'. 05 PIC X(8) VALUE 'XXXXXXX '. 05 PIC X(8) VALUE 'XXXXXXXX'. ・ ・ A 31000_EXPAND_THE_BIT_MAP * 次に、文字マップを作成するのに好適なステップを記載する。ビットマップの
バイト毎に、このバイトを、P_Xの最も右のバイト(16)、即ちハーフワード(半
語)の2進数Pとして再定義された2バイトのフィールドに移動させる。そしてP
を添字として用いて、表18中の、8個の'X'及び/または8ビットと等価な空白
を含む構文解析パターンを見出す。このパターンを、「バイトマップ」22である
SEL_ELEM_ENTRIES_ALL中に移動する。 MOVE IP66102_BIT_BYTE_1 TO 400_P_X MOVE 500_PARSING_PATTERN (400_P+1) * ADD ONE BECAUSE A BIT PATTERN OF X'00' * MUST RETRIEVE PARSING_PATTERN (1) (X'00'のビットパターンが構文解析パターン(1)を検索しなけ
ればならないので、1を加える。) TO IP65504_SEL_ELEM_ENTRIES_ALL (1:8) MOVE IP66102_BIT_BYTE_2 TO 400_P_X MOVE 500_PARSING_PATTERN (400_P+1) TO IP65504_SEL_ELEM_ENTRIES_ALL (9:8) MOVE IP66102_BIT_BYTE_3 TO 400_P_X MOVE 500_PARSING_PATTERN (400_P+1) TO IP65504_SEL_ELEM_ENTRIES_ALL (17:8) MOVE IP66102_BIT_BYTE_4 TO 400_P_X MOVE 500_PARSING_PATTERN (400_P+1) TO IP65504_SEL_ELEM_ENTRIES_ALL (25:8) MOVE IP66102_BIT_BYTE_5 TO 400_P_X MOVE 500_PARSING_PATTERN (400_P+1) TO IP65504_SEL_ELEM_ENTRIES_ALL (33:8) MOVE IP66102_BIT_BYTE_6 TO 400_P_X MOVE 500_PARSING_PATTERN (400_P+1) TO IP65504_SEL_ELEM_ENTRIES_ALL (41:8) MOVE IP66102_BIT_BYTE_7 TO 400_P_X MOVE 500_PARSING_PATTERN (400_P+1) TO IP65504_SEL_ELEM_ENTRIES_ALL (49:8) MOVE IP66102_BIT_BYTE_8 TO 400_P_X MOVE 500_PARSING_PATTERN (400_P+1) TO IP65504_SEL_ELEM_ENTRIES_ALL (57:8) MOVE IP66102_BIT_BYTE_9 TO 400_P_X MOVE 500_PARSING_PATTERN (400_P+1) TO IP65504_SEL_ELEM_ENTRIES_ALL (65:8) MOVE IP66102_BIT_BYTE_10 TO 400_P_X MOVE 500_PARSING_PATTERN (400_P+1) TO IP65504_SEL_ELEM_ENTRIES_ALL (73:8) MOVE IP66102_BIT_BYTE_11 TO 400_P_X MOVE 500_PARSING_PATTERN (400_P+1) TO IP65504_SEL_ELEM_ENTRIES_ALL (81:8) MOVE IP66102_BIT_BYTE_12 TO 400_P_X MOVE 500_PARSING_PATTERN (400_P+1) TO IP65504_SEL_ELEM_ENTRIES_ALL (89:8) MOVE IP66102_BIT_BYTE_13 TO 400_P_X MOVE 500_PARSING_PATTERN (400_P+1) TO IP65504_SEL_ELEM_ENTRIES_ALL (97:8) MOVE IP66102_BIT_BYTE_14 TO 400_P_X MOVE 500_PARSING_PATTERN (400_P+1) TO IP65504_SEL_ELEM_ENTRIES_ALL (105:8) MOVE IP66102_BIT_BYTE_15 TO 400_P_X MOVE 500_PARSING_PATTERN (400_P+1) TO IP65504_SEL_ELEM_ENTRIES_ALL (113:8) MOVE IP66102_BIT_BYTE_16 TO 400_P_X MOVE 500_PARSING_PATTERN (400_P+1) TO IP65504_SEL_ELEM_ENTRIES_ALL (121:8)
Next, an item (item) used for converting a 1-byte bitmap into a usable subscript (subscript) is defined. 01 WORKING_VALUES. 05 400_P PIC S9 (4) COMP VALUE 0. 05 REDEFINES 400_P. 10 PIC X. 10 400_P_X PIC X. Parsing pattern Table 18 (bitmap) is created as follows. 01 500_PARSING_PATTERN_VALUES. 05 PIC X (8) VALUE ''. 05 PIC X (8) VALUE 'X'. 05 PIC X (8) VALUE 'X'. 05 PIC X (8) VALUE 'XX'. 05 PIC X ( 8) VALUE 'X'. 05 PIC X (8) VALUE 'X X'. 05 PIC X (8) VALUE 'XX'. 05 PIC X (8) VALUE 'XXX'. 05 PIC X (8) VALUE 'X '. 05 PIC X (8) VALUE' X X '. 05 PIC X (8) VALUE' XX '. 05 PIC X (8) VALUE' X XX '. 05 PIC X (8) VALUE' XX '. 05 PIC X (8) VALUE 'XX X'. 05 PIC X (8) VALUE 'XXX'. 05 PIC X (8) VALUE 'XXXX'. 05 PIC X (8) VALUE 'X'. 05 PIC X (8) VALUE 'X X'. 05 PIC X (8) VALUE 'XX'. 05 PIC X (8) VALUE 'X XX'. 05 PIC X (8) VALUE 'XX'. 05 PIC X (8) VALUE 'XX X' .05 PIC X (8) VALUE 'X XX'. 05 PIC X (8) VALUE 'X XXX'. 05 PIC X (8) VALUE 'XX'. 05 PIC X (8) VALUE 'XX X'. 05 PIC X (8) VALUE 'XX X'. 05 PIC X (8) VALUE 'XX XX'. 05 PIC X (8) VALUE 'XXX'. 05 PIC X (8) VALUE 'XXX X'. 05 PIC X (8 ) VALUE 'XXXX'. 05 PIC X (8) VALUE 'XXXXX'. 05 PIC X (8) VALUE 'X'. 05 PIC X (8) VALUE 'X X'. 05 PIC X (8) VALUE 'XX' . 05 PIC X (8) VALUE 'X XX'. 05 PIC X (8) VALUE 'XX '. 05 PIC X (8) VALUE' XX X '. 05 PIC X (8) VALUE' X XX '. 05 PIC X (8) VALUE' X XXX '. 05 PIC X (8) VALUE' XX '. 05 PIC X (8) VALUE 'XX X'. 05 PIC X (8) VALUE 'XXX'. 05 PIC X (8) VALUE 'XX XX'. 05 PIC X (8) VALUE 'X XX'. 05 PIC X ( 8) VALUE 'X XX X'. 05 PIC X (8) VALUE 'X XXX'. 05 PIC X (8) VALUE 'X XXXX'. 05 PIC X (8) VALUE 'XX'. 05 PIC X (8) VALUE 'XX X'. 05 PIC X (8) VALUE 'XX X '05 PIC X (8) VALUE' XX XX '. 05 PIC X (8) VALUE' XX X '. 05 PIC X (8) VALUE' XX X X '. 05 PIC X (8) VALUE' XX XX '. 05 PIC X (8) VALUE' XX XXX '. 05 PIC X (8) VALUE' XXX '. 05 PIC X (8) VALUE' XXX X ' .05 PIC X (8) VALUE 'XXX X'. 05 PIC X (8) VALUE 'XXX XX'. 05 PIC X (8) VALUE 'XXXX'. 05 PIC X (8) VALUE 'XXXX X'. 05 PIC X (8) VALUE 'XXXXX'. 05 PIC X (8) VALUE 'XXXXXX'. 05 PIC X (8) VALUE 'X'. 05 PIC X (8) VALUE 'X X'. 05 PIC X (8) VALUE 'XX'. 05 PIC X (8) VALUE 'X XX'. 05 PIC X (8) VALUE 'XX'. 05 PIC X (8) VALUE 'XX X'. 05 PIC X (8) VALUE 'X XX' . 05 PIC X (8) VALUE 'X XXX'. 05 PIC X (8) VALUE 'XX'. 0 5 PIC X (8) VALUE 'XX X'. 05 PIC X (8) VALUE 'XXX'. 05 PIC X (8) VALUE 'XX XX'. 05 PIC X (8) VALUE 'X XX'. 05 PIC X (8) VALUE 'X XX X'. 05 PIC X (8) VALUE 'X XXX'. 05 PIC X (8) VALUE 'X XXXX'. 05 PIC X (8) VALUE 'XX'. 05 PIC X (8 ) VALUE 'XX X'. 05 PIC X (8) VALUE 'XXX'. 05 PIC X (8) VALUE 'XX XX'. 05 PIC X (8) VALUE 'XXX'. 05 PIC X (8) VALUE 'XXX X '. 05 PIC X (8) VALUE' XX XX '. 05 PIC X (8) VALUE' XX XXX '. 05 PIC X (8) VALUE' X XX '. 05 PIC X (8) VALUE' X XX X '. 05 PIC X (8) VALUE' X XX X '. 05 PIC X (8) VALUE' X XX XX '. 05 PIC X (8) VALUE' X XXX '. 05 PIC X (8) VALUE' X XXX X '. 05 PIC X (8) VALUE' X XXXX '. 05 PIC X (8) VALUE' X XXXXX '. 05 PIC X (8) VALUE' XX '. 05 PIC X (8) VALUE' XX X '. 05 PIC X (8) VALUE 'XX X'. 05 PIC X (8) VALUE 'XX XX'. 05 PIC X (8) VALUE 'XX X'. 05 PIC X (8) VALUE 'XX X X'. 05 PIC X (8) VALUE 'XX XX'. 05 PIC X (8) VALUE 'XX XXX'. 05 PIC X (8) VALUE 'XX X'. 05 PIC X (8) VALUE 'XX X X'. 05 PIC X (8) VALUE 'XX XX'. 05 PIC X (8) VALUE 'XX X XX'. 05 PIC X (8) VALUE 'XX XX'. 05 PIC X (8) VALUE 'XX XX X'. 05 PIC X (8) VALUE 'XX XXX'. 05 PIC X (8) VALUE 'XX XXXX'. 05 PIC X (8) VALUE 'XXX'. 05 PIC X (8) VALUE 'XXX X'. 05 PIC X (8) VALUE 'XXX X'. 05 PIC X (8) VALUE 'XXX XX'. 05 PIC X (8) VALUE 'XXX X'. 05 PIC X (8) VALUE 'XXX X X'. 05 PIC X (8) VALUE 'XXX XX'. 05 PIC X (8) VALUE 'XXX XXX'. 05 PIC X (8) VALUE 'XXXX'. 05 PIC X (8) VALUE 'XXXX X'. 05 PIC X (8) VALUE 'XXXX X'. 05 PIC X (8) VALUE 'XXXX XX'. 05 PIC X (8) VALUE 'XXXXX' .05 PIC X (8) VALUE 'XXXXX X'. 05 PIC X (8) VALUE 'XXXXXX'. 05 PIC X (8) VALUE 'XXXXXXX'. 05 PIC X (8) VALUE 'X'. 05 PIC X ( 8) VALUE 'X X'. 05 PIC X (8) VALUE 'XX'. 05 PIC X (8) VALUE 'X XX'. 05 PIC X (8) VALUE 'XX'. 05 PIC X (8) VALUE ' XX X '. 05 PIC X (8) VALUE' X XX '. 05 PIC X (8) VALUE' X XXX '. 05 PIC X (8) VALUE' XX '. 05 PIC X (8) VALUE' XX X ' . 05 PIC X (8) VALUE 'XXX'. 05 PIC X (8) VALUE 'XX XX'. 05 PIC X (8) VALUE 'X XX'. 05 PIC X (8) VALUE 'X XX X'. 05 PIC X (8) VALUE 'X XXX'. 05 PIC X (8) VALUE 'X XXXX'. 05 PIC X (8) VALUE 'XX'. 05 PIC X (8) VALUE 'XX X'. 05 PIC X (8) VALUE 'XXX'. 05 PIC X (8) VALUE 'XX XX'. 05 PIC X ( 8) VALUE 'XXX'. 05 PIC X (8) VALUE 'XXX X'. 05 PIC X (8) VALUE 'XX XX'. 05 PIC X (8) VALUE 'XX XXX'. 05 PIC X (8) VALUE 'X XX'. 05 PIC X (8) VALUE 'X XX X'. 05 PIC X (8) VALUE 'X XX X'. 05 PIC X (8) VALUE 'X XX XX'. 05 PIC X (8) VALUE 'X XXX'. 05 PIC X (8) VALUE 'X XXX X'. 05 PIC X (8) VALUE 'X XXXX'. 05 PIC X (8) VALUE 'X XXXXX'. 05 PIC X (8) VALUE 'XX'. 05 PIC X (8) VALUE 'XX X'. 05 PIC X (8) VALUE 'XXX'. 05 PIC X (8) VALUE 'XX XX'. 05 PIC X (8) VALUE 'XXX'. 05 PIC X (8) VALUE 'XXX X'. 05 PIC X (8) VALUE 'XX XX'. 05 PIC X (8) VALUE 'XX XXX'. 05 PIC X (8) VALUE 'XXX'. 05 PIC X (8) VALUE 'XXX X'. 05 PIC X (8) VALUE 'XXXX'. 05 PIC X (8) VALUE 'XXX XX'. 05 PIC X (8) VALUE 'XX XX'. 05 PIC X (8) VALUE 'XX XX X'. 05 PIC X (8) VALUE 'XX XXX'. 05 PIC X (8) VALUE 'XX XXXX'. 05 PIC X (8) VALUE 'X XX'. 05 PIC X (8) VALUE 'X XX X'. 05 PIC X (8) VALUE 'X XX X'. 05 PIC X (8) VALUE 'X XX XX'. 05 PIC X (8 ) VALUE 'X XX X'. 05 PIC X (8) VALUE 'X XX X X'. 05 PIC X (8) VALUE 'X XX XX'. 05 PIC X (8) VALUE 'X XX XXX'. 05 PIC X (8) VALUE 'X XXX'. 05 PIC X (8) VALUE 'X XXX X'. 05 PIC X (8) VALUE 'X XXX X'. 05 PIC X (8) VALUE 'X XXX XX'. 05 PIC X (8) VALUE 'X XXXX'. 05 PIC X (8) VALUE 'X XXXX X'. 05 PIC X (8) VALUE 'X XXXXX'. 05 PIC X (8) VALUE 'X XXXXXX'. 05 PIC X (8) VALUE 'XX'. 05 PIC X (8) VALUE 'XX X'. 05 PIC X (8) VALUE 'XX X'. 05 PIC X (8) VALUE 'XX XX'. 05 PIC X (8 ) VALUE 'XX X'. 05 PIC X (8) VALUE 'XX X X'. 05 PIC X (8) VALUE 'XX XX'. 05 PIC X (8) VALUE 'XX XXX'. 05 PIC X (8) VALUE 'XX X'. 05 PIC X (8) VALUE 'XX X X'. 05 PIC X (8) VALUE 'XX XX'. 05 PIC X (8) VALUE 'XX X XX'. 05 PIC X (8) VALUE 'XX XX'. 05 PIC X (8) VALUE 'XX XX X'. 05 PIC X (8) VALUE 'XX XXX'. 05 PIC X (8) VALUE 'XX XXXX'. 05 PIC X (8) VALUE 'XX X'. 05 PIC X (8) VALUE 'XX X X'. 05 PIC X (8) VALUE 'XX XX'. 05 PIC X (8) VALUE 'XX X XX'. 05 PIC X (8) VALUE 'XX XX'. 05 PIC X (8) VALUE 'XX XX X'. 05 PIC X (8) VALUE 'XX X XX'. 05 PIC X (8) V ALUE 'XX X XXX'. 05 PIC X (8) VALUE 'XX XX'. 05 PIC X (8) VALUE 'XX XX X'. 05 PIC X (8) VALUE 'XX XX X'. 05 PIC X (8 ) VALUE 'XX XX XX'. 05 PIC X (8) VALUE 'XX XXX'. 05 PIC X (8) VALUE 'XX XXX X'. 05 PIC X (8) VALUE 'XX XXXX'. 05 PIC X (8 ) VALUE 'XX XXXXX'. 05 PIC X (8) VALUE 'XXX'. 05 PIC X (8) VALUE 'XXX X'. 05 PIC X (8) VALUE 'XXX X'. 05 PIC X (8) VALUE ' XXX XX '. 05 PIC X (8) VALUE' XXX X '. 05 PIC X (8) VALUE' XXX X X '. 05 PIC X (8) VALUE' XXX XX '. 05 PIC X (8) VALUE' XXX XXX '. 05 PIC X (8) VALUE' XXX X '. 05 PIC X (8) VALUE' XXX X X '. 05 PIC X (8) VALUE' XXX XX '. 05 PIC X (8) VALUE' XXX X XX '. 05 PIC X (8) VALUE' XXX XX '. 05 PIC X (8) VALUE' XXX XX X '. 05 PIC X (8) VALUE' XXX XXX '. 05 PIC X (8) VALUE' XXX XXXX '. 05 PIC X (8) VALUE' XXXX '. 05 PIC X (8) VALUE' XXXX X '. 05 PIC X (8) VALUE' XXXX X '. 05 PIC X (8) VALUE' XXXX XX '. 05 PIC X (8) VALUE 'XXXX X'. 05 PIC X (8) VALUE 'XXXX X X'. 05 PIC X (8) VALUE 'XXXX XX'. 05 PIC X (8) VALUE 'XXXX XXX'. 05 PIC X (8) VALUE 'XXXXX'. 05 PIC X (8) VALUE 'XXXXX X'. 05 PIC X (8) VALUE 'XXXXX X'. 05 PIC X (8) VALUE 'XXXXX XX'. 05 PIC X (8) VALUE 'XXXXXX'. 05 PIC X (8) VALUE 'XXXXXX X'. 05 PIC X (8) VALUE 'XXXXXXX'. 05 PIC X (8) VALUE 'XXXXXXXX' ..- A 31000_EXPAND_THE_BIT_MAP * Next, suitable steps for creating a character map will be described. For each byte of the bitmap, move this byte to the rightmost byte (16) of P_X, a 2-byte field that is redefined as the halfword binary P. And P
Is used as a subscript to find the parsing pattern in Table 18 that contains eight'X's and / or spaces equivalent to eight bits. This pattern is a "byte map" 22
Move into SEL_ELEM_ENTRIES_ALL. MOVE IP66102_BIT_BYTE_1 TO 400_P_X MOVE 500_PARSING_PATTERN (400_P + 1) * ADD ONE BECAUSE A BIT PATTERN OF X'00 '* MUST RETRIEVE PARSING_PATTERN (1) (X'00' bit pattern must be searched for parsing pattern (1) since not, adding 1) tO IP65504_SEL_ELEM_ENTRIES_ALL (1:. 8) MOVE IP66102_BIT_BYTE_2 tO 400_P_X MOVE 500_PARSING_PATTERN (400_P + 1) tO IP65504_SEL_ELEM_ENTRIES_ALL (9: 8) MOVE IP66102_BIT_BYTE_3 tO 400_P_X MOVE 500_PARSING_PATTERN (400_P + 1) tO IP65504_SEL_ELEM_ENTRIES_ALL (17: 8 ) MOVE IP66102_BIT_BYTE_4 TO 400_P_X MOVE 500_PARSING_PATTERN (400_P + 1) TO IP65504_SEL_ELEM_ENTRIES_ALL (25: 8) MOVE IP66102_BIT_BYTE_5 TO 400_P_X MOVE 500_PARSING_PATTERN (400_P + 1) TO IP65504_SEL_ELEM_ENTRIES_ALL (33: 8) MOVE IP66102_BIT_BYTE_6 TO 400_P_X MOVE 500_PARSING_PATTERN (400_P + 1) TO IP65504_SEL_ELEM_ENTRIES_ALL (41: 8) MOVE IP66102_BIT_BYTE_7 TO 400_P_X MOVE 500_PARSING_PATTERN (400_P + 1) TO IP65504_SEL_ELEM_ENTRIES_ALL (49: 8) MOVE IP66102_BIT_BYTE_8 TO 400_P_ X MOVE 500_PARSING_PATTERN (400_P + 1) TO IP65504_SEL_ELEM_ENTRIES_ALL (57: 8) MOVE IP66102_BIT_BYTE_9 TO 400_P_X MOVE 500_PARSING_PATTERN (400_P + 1) TO IP65504_SEL_ELEM_ENTRIES_ALL (65: 8) MOVE IP66102_BIT_BYTE_10 TO 400_P_X MOVE 500_PARSING_PATTERN (400_P + 1) TO IP65504_SEL_ELEM_ENTRIES_ALL (73: 8 ) MOVE IP66102_BIT_BYTE_11 TO 400_P_X MOVE 500_PARSING_PATTERN (400_P + 1) TO IP65504_SEL_ELEM_ENTRIES_ALL (81: 8) MOVE IP66102_BIT_BYTE_12 TO 400_P_X MOVE 500_PARSING_PATTERN (400_P + 1) TO IP65504_SEL_ELEM_ENTRIES_ALL (89: 8) MOVE IP66102_BIT_BYTE_13 TO 400_P_X MOVE 500_PARSING_PATTERN (400_P + 1) TO IP65504_SEL_ELEM_ENTRIES_ALL (97: 8) MOVE IP66102_BIT_BYTE_14 TO 400_P_X MOVE 500_PARSING_PATTERN (400_P + 1) TO IP65504_SEL_ELEM_ENTRIES_ALL (105: 8) MOVE IP66102_BIT_BYTE_15 TO 400_P_X MOVE 500_PARSING_PATTERN (400_P + 1) TO IP65504_SEL_ELEM_ENTRIES_ALL (113: 8) MOVE IP66102_BIT_BYTE_16 TO 400_P_X MOVE 500_PARSING_PATTERN (400_P + 1) TO IP65504_SEL_ELEM_ENTRIES_ALL (121: 8)

【0029】 この技法は、ISO 8583-1993 IPM 金融取引カードが生成するメッセージの構文
解析において好適に用いることができ、そしてプリエディット(予備編集)及び
中央サイトをクリアするシステムに含めることができる。より一般的には、この
技法は、実現上の制約によりCOBOLの使用が指示されている際に、ビットマップ
化した記録またはメッセージを解釈するのに有用である。
This technique can be suitably used in the parsing of messages generated by the ISO 8583-1993 IPM financial transaction card and can be included in pre-editing and central site clearing systems. More generally, this technique is useful for interpreting bitmapped records or messages when implementation constraints dictate the use of COBOL.

【0030】 以上のことは単に本発明の原理を例示したに過ぎない。従って、本明細書には
明示していないが、本発明の原理を具体化し、従って本発明の範囲内にある多く
のシステム及び方法を当業者が実現可能であることは明らかである。
The foregoing merely illustrates the principles of the invention. It is therefore evident that those skilled in the art will be able to implement many systems and methods which, although not explicitly set forth herein, embody the principles of the invention and are therefore within the scope of the invention.

【図面の簡単な説明】[Brief description of drawings]

【図1】 本発明によるデータ抽出を達成するための好適なステップの順序を示
す図である。
FIG. 1 illustrates a preferred sequence of steps for achieving data extraction according to the present invention.

───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE,TR),OA(BF ,BJ,CF,CG,CI,CM,GA,GN,GW, ML,MR,NE,SN,TD,TG),AP(GH,G M,KE,LS,MW,MZ,SD,SL,SZ,TZ ,UG,ZW),EA(AM,AZ,BY,KG,KZ, MD,RU,TJ,TM),AE,AG,AL,AM, AT,AU,AZ,BA,BB,BG,BR,BY,B Z,CA,CH,CN,CO,CR,CU,CZ,DE ,DK,DM,DZ,EE,ES,FI,GB,GD, GE,GH,GM,HR,HU,ID,IL,IN,I S,JP,KE,KG,KP,KR,KZ,LC,LK ,LR,LS,LT,LU,LV,MA,MD,MG, MK,MN,MW,MX,MZ,NO,NZ,PL,P T,RO,RU,SD,SE,SG,SI,SK,SL ,TJ,TM,TR,TT,TZ,UA,UG,US, UZ,VN,YU,ZA,ZW (72)発明者 スティーヴ キャラーン アメリカ合衆国 ミズーリ州 63146 セ ントルイス シャンデレイ ドライヴ 11677 (72)発明者 チャーリー ミラー アメリカ合衆国 ミズーリ州 63040 グ ローヴァー キャリッジ ヴュー ドライ ヴ 100 (72)発明者 パトリシア スミス アメリカ合衆国 ミズーリ州 63130 ユ ニバーシティ シティー ホーソン 7331 Fターム(参考) 5B058 KA08 5B076 AB15 ─────────────────────────────────────────────────── ─── Continued front page    (81) Designated countries EP (AT, BE, CH, CY, DE, DK, ES, FI, FR, GB, GR, IE, I T, LU, MC, NL, PT, SE, TR), OA (BF , BJ, CF, CG, CI, CM, GA, GN, GW, ML, MR, NE, SN, TD, TG), AP (GH, G M, KE, LS, MW, MZ, SD, SL, SZ, TZ , UG, ZW), EA (AM, AZ, BY, KG, KZ, MD, RU, TJ, TM), AE, AG, AL, AM, AT, AU, AZ, BA, BB, BG, BR, BY, B Z, CA, CH, CN, CO, CR, CU, CZ, DE , DK, DM, DZ, EE, ES, FI, GB, GD, GE, GH, GM, HR, HU, ID, IL, IN, I S, JP, KE, KG, KP, KR, KZ, LC, LK , LR, LS, LT, LU, LV, MA, MD, MG, MK, MN, MW, MX, MZ, NO, NZ, PL, P T, RO, RU, SD, SE, SG, SI, SK, SL , TJ, TM, TR, TT, TZ, UA, UG, US, UZ, VN, YU, ZA, ZW (72) Inventor Steve Carern             63146 Ce, Missouri, United States             Treuis chandelier drive             11677 (72) Inventor Charlie Miller             United States Missouri 63040             Rover Carriage View Dry             Ve 100 (72) Inventor Patricia Smith             63130 U, Missouri, United States             Niversity City Hawthorn 7331 F-term (reference) 5B058 KA08                 5B076 AB15

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 コボル文を用いてビットマップメッセージからデータを抽出する
方法であって、前記メッセージが、可変のフィールド及び可変の長さを有するメ
ッセージを表現する多数の可能なビットマップの組み合わせのうちの1つを有す
るデータ抽出方法において、この方法が 前記可能なビットマップの組み合わせ毎に数値を割り当てるステップと; 前記各数値にバイトマップを関連付ける変換表を作成するステップと; 特定メッセージ中のビットマップを識別するステップと; 前記ビットマップを、関連するバイトマップに変換するステップとを具えて、
この変換ステップが、前記ビットマップに対する特定数値を生成して、前記変換
表を関数として用いて、前記バイトマップを前記ビットマップに関連付けるステ
ップを含み、 前記方法がさらに、結果的なバイトマップにもとづいて、前記データの存在ま
たは不在を特定するステップ を具えていることを特徴とするデータ抽出方法。
1. A method for extracting data from a bitmap message using a Cobol sentence, the message comprising a number of possible bitmap combinations representing a message having variable fields and variable lengths. A data extraction method having one of these, wherein the method assigns a numerical value to each of the possible bit map combinations; creating a conversion table that associates a byte map with each numerical value; Identifying a map; converting the bitmap into an associated byte map,
The converting step includes generating a specific number for the bitmap and associating the byte map with the bitmap using the conversion table as a function, the method further based on the resulting byte map. And a step of identifying the presence or absence of the data.
【請求項2】 前記ビットマップのメッセージを、ISO 8583-1993に従って伝送
することを特徴とする請求項1に記載の方法。
2. Method according to claim 1, characterized in that the bitmap message is transmitted according to ISO 8583-1993.
【請求項3】 前記特定するステップが、前記特定メッセージ中に特定フィール
ドが存在するか、あるいは不在であるかを特定して、存在する場合には、前記特
定フィールドの長さを特定するステップを含むことを特徴とする請求項1に記載
の方法。
3. The specifying step includes the step of specifying whether a specific field is present or absent in the specific message and, if present, specifying the length of the specific field. The method of claim 1, comprising:
JP2001581196A 2000-05-01 2001-05-01 Bitmap parsing method using Kobol algorithm Pending JP2003532237A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US20155900P 2000-05-01 2000-05-01
US60/201,559 2000-05-01
PCT/US2001/040644 WO2001084456A1 (en) 2000-05-01 2001-05-01 A method for bit-map parsing using a cobol algorithm

Publications (1)

Publication Number Publication Date
JP2003532237A true JP2003532237A (en) 2003-10-28

Family

ID=22746315

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001581196A Pending JP2003532237A (en) 2000-05-01 2001-05-01 Bitmap parsing method using Kobol algorithm

Country Status (6)

Country Link
EP (1) EP1287464A1 (en)
JP (1) JP2003532237A (en)
AU (2) AU5762801A (en)
CA (1) CA2407730A1 (en)
WO (1) WO2001084456A1 (en)
ZA (1) ZA200208653B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10761841B2 (en) 2018-10-17 2020-09-01 Denso International America, Inc. Systems and methods for identifying source code from binaries using machine learning

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5668803A (en) * 1989-06-29 1997-09-16 Symbol Technologies, Inc. Protocol for packet data communication system
US5151899A (en) * 1991-02-11 1992-09-29 Digital Equipment Corporation Tracking sequence numbers in packet data communication system
US5838226A (en) * 1996-02-07 1998-11-17 Lutron Electronics Co.Inc. Communication protocol for transmission system for controlling and determining the status of electrical devices from remote locations

Also Published As

Publication number Publication date
EP1287464A1 (en) 2003-03-05
WO2001084456A1 (en) 2001-11-08
ZA200208653B (en) 2003-05-19
CA2407730A1 (en) 2001-11-08
AU5762801A (en) 2001-11-12
AU2001257628B2 (en) 2006-07-06

Similar Documents

Publication Publication Date Title
CN107609356B (en) Text carrier-free information hiding method based on label model
US20030033278A1 (en) Data sort method, data sort apparatus, and data sort program
US20040139072A1 (en) System and method for locating similar records in a database
WO2004013777A1 (en) System and method of parallel pattern matching
JPS59231683A (en) Data compression system
JP3333549B2 (en) Document search method
JP3258063B2 (en) Database search system and method
JP2003532237A (en) Bitmap parsing method using Kobol algorithm
JPH06290217A (en) Document retrieval system
JP2001101172A (en) Method, system and computer program product for optimizing single byte character processing used in multibyte character encoding system
JP2003188735A (en) Data compressing device and method, and program
Nevill-Manning et al. Compressing semi-structured text using hierarchical phrase identifications
US10831708B2 (en) Systems and methods for improved processing of a data file
AU2001257628A1 (en) A method for bit-map parsing using a cobol algorithm
Shanmugasundaram et al. Text preprocessing using enhanced intelligent dictionary based encoding (EIDBE)
EP1187336A3 (en) Compression in the presence of shared data
EP0394172A3 (en) Method of performing file services given partial file names
JP2993540B2 (en) Ascending integer sequence data compression and decoding system
JPH05135102A (en) Document retrieval system
JP2833871B2 (en) Alien name data judgment method
JPH07160724A (en) Document retrieval device
JP3344755B2 (en) Ascending integer sequence data compression and decoding system
JP3644765B2 (en) Document management method and document management method
JPH03223923A (en) Control system for input of unfixed byte length character
JPS63204434A (en) Electronic document retrieving device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080409

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20080409

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110809

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111109

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111116

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111209

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111216

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120306