【Magic UniPaaS】 スペースの全角変換

2014/09/17カテゴリー:Magic

システムを構築していると、文字列を出力するケースというのが多々ある。

今回は他システムとの連携で、基幹システムに登録してある、取引先マスタ、商品マスタの名称をCSVで出力する必要がある。
しかも、半角全角の混在は不可との事・・・。

通常なら半角に統一して、商品名などはカタカナで出力するのだが、商品名、取引先名を漢字で渡したいとの要望があり、全角に統一して渡す仕様とした。

Magicで開発経験がある方なら、『ZEN』関数を利用して・・・と想像されたかと思う。

実際、弊社も『ZEN』関数を利用して統一して出力した。ともりでした・・・(-_-#)

が、商品名、取引先名の文字列の中に半角スペースが混在している・・・。

『ZEN』関数では文字列の中の半角スペースは変換してくれません。

そこで色々調べたら、ありました!丁度良い関数が!!

『ZenS』関数です。この関数は基本『ZEN』関数と同じなのですが、スペースの指定が細かにできるとの事。

早速サンプル作ってみまました。

ZenS1

まずは変数を4つ用意して、元テキスト用と変換テキスト0~2用。

Magicのヘルプによると、

半角文字を全角に変換

機能はZen 関数と同じですが、半角スペースの処理を細かく設定できます。

構文:

ZenS(文字列,変換モード)

パラメータ:

文字列…変換する文字列

変換モード…0, 1, 2 のいずれか

  • 0…半角スペースを全角スペースに変換しません。(Zen 関数と同じ)

  • 1…半角スペースを全角スペースに変換します。

  • 2…半角スペースを2 個の半角スペースに変換します。

戻り値:

文字列…変換された文字列

例:

ZenS(’トウキョウト トシマク’,0)=’トウキョウト_ トシマク’

ZenS(’トウキョウト トシマクク’,1)=’トウキョウト_トシマク’

ZenS(’トウキョウト トシマク’,2)=’トウキョウト_ _ トシマク’

注意事項:

この関数は日本語版でのみ有効です。

との事。

実行結果が、

ZenS2

こんな感じ。モード2では文字間のスペースがちゃんと半角2つ分づつ変換されています。

これで、問題解決♪♪♪

意外と普段使っていないけど便利な関数って沢山あります。

先日の『 DataViewToText 』もそうですが、便利な関数は有効活用して開発工数を削減しましょうね♪