Gen r8.0 のz/OSでのSubstrmixed関数について

Document created by IKU-OSAKA Employee on Jul 24, 2015
Version 1Show Document
  • View in full screen mode

文書番号: JTEC001806

製品名: CA Gen

バージョン:CA Gen H/E : r8.0

OS: z/OS

 

◆ 詳細内容

Q: z/OSのBlockmodeとサーバランタイム以外のすべてのランタイムはファンクションSUBSTRDBCSの引数である「開始位置」と「部分文字列長」には文字数を使用するように変更されていると思うが、半角文字と全角文字が混在する文字列の場合、「開始位置」と「部分文字列長」で意図した文字が返らない。

 

A: z/OSのSubstrmixed関数の動作として、開始位置はシフトアウト、シフトイン制御コードも1文字として数えます。

出力文字が全角文字の場合で、シフトアウト、シフトインが含まれていない場合にはその前後にシフトアウト、シフトインが挿入されます。

(もし出力フィールドに指定した長さを超える場合には最後の文字が削除されシフトインが挿入されます)

その結果出力される文字の長さはシフトアウト、シフトインを含めた長さとなります。

 

例: 入力文字: 'ABCDE あいうえお CDEFG' の場合

'あいうえお'の前後の空白はシフトアウト、シフトインとする。

指定した(開始位置,長さ)に対する出力結果例

(6,3)->' あ '

(7,3)->' あ '

(6,7)->' あいうえお '

 

SUBSTRMIXED (Input_string,6,3) -> Output_string = ‘[shift-out]あ[shift-in]’

SUBSTRMIXED (Input_string,7,3) -> Output_string = ‘[shift-out]あ[shift-in]’

SUBSTRMIXED (Input_string,6,7) -> Output_string = '[shift-out]あいうえお[shift-in]’

 

 

 

この情報は米国 CA, Inc. より提供されている Technical Documentsをもとに作成したものです。原文の詳細につきましては下記内容をご覧ください。

 

Document ID:  TEC592836

Title:  The CA Gen SUBSTRMIXED function on z/OS.

https://support.ca.com/irj/portal/anonymous/redirArticles?reqPage=search&searchID=TEC592836

 

 

 

 

ご質問等がございましたら、恐れ入りますが弊社サポートまでご連絡ください。

Attachments

    Outcomes