数値フィールドのサインの取り扱い規則は? 負数データの処理、いろいろ。

Document created by Masaaki_Iyama Employee on Jun 19, 2015Last modified by Masaaki_Iyama Employee on Jun 19, 2015
Version 1Show Document
  • View in full screen mode

文書番号: JTEC000990

製品名: CA-Easytrieve Plus

バージョン: ALL

OS: z/OS, MSP, VOS3

 

Question

・数値フィールドのサインの取り扱い規則は?

・負数データが演算や移送処理で正数データとして扱われる。

・負数データにマイナスが表示されない。

・サイン付き数値データを絶対値に変更する方法は?

・負数データにマイナスが表示されない。(レポート処理) 

 

Answer

EASYPLUSでは、数値タイプ(N、P、U、B)のデータは、 数字マスク を指定することでサイン付きデータとして扱われます。数字マスクが指定されていなければ、絶対値扱いとなります。サインの取扱いは以下のようになります。

 

・サイン付きフィールド(数字マスクを指定したフィールド)の規則

 受取側のフィールドが、ゼロまたは正のデータの代入ステートメントは、Nタイプの時はサインに「F」を、Pタイプの時はサインに「C」をセットします。負のデータはP,Nともにサインに「D」をセットします。Uタイプのフィールドについては数値の操作をする場合、サインには「F」を追加します。


・サインなしフィールド(数字マスクを指定しないフィールド)の規則

 サインなしフィールドを受取側とする代入ステートメントは、サインに「F」がセットされます。 サイン付きの数量数値データを絶対値に変換する場合には、この方法を用います。(サインなしフィールドを定義してデータをこのフィールドに移送します。)


※注意 数値属性で定義しても数字マスクを指定しない場合には絶対値として扱われるため、DISPLAYやPRINTの結果として負数データにマイナス記号は表示されません。

 

記述例

(例) データ移送と結果

[フィールド定義]

WK1      W      3  P  

WK2      W      3  P  0

WK3      W      3  N  

WK4      W      3  N  0

 

代入ステートメント       [代入後の値](16進数で表示)

WK1  =  15           →      00015F

WK2  =  15           →      00015C

WK3  =  15           →      F0F1F5

 

 

 

WK4  =  15            → F0F1F5      Nタイプの場合、+のサインと して「F」が使われる。

WK1  =  -15           → 00015F    

WK2  = - 15           → 00015D  

WK3  =  -15           → F0F1F5

WK4  =  -15           → F0F1D5     WK1、WK3は、数字マスクの指定がないため負数データが絶対値に変換される。

Attachments

    Outcomes