法人番号文字列, チェックディジット検査
法人番号文字列, チェックディジット検査 (Corporate-Number String, Test Check Digit)

有効な法人番号文字列であることを判定します。有効である場合はOKログが記録されます。無効である場合は異常終了します。エラー境界イベントでフローを制御することが可能となります。法人番号は日本の企業や団体等に割り当てられた13桁のIDです。

2020-04-28 (C) Questetra, Inc. (MIT License)
https://support.questetra.com/ja/addons/corporate-number-string-test-check-digit/

Configs
  • A: 法人番号文字列をEL式でセットしてください * #{EL}
Script
// Nashorn Script (engine type: 1)
// 
// Notes:
// About The Corporate Number
// https://www.houjin-bangou.nta.go.jp/en/setsumei/
// Corporate Number Search
// https://www.houjin-bangou.nta.go.jp/en/index.html
//
// Notes (ja):
// 法人番号とは
// https://www.houjin-bangou.nta.go.jp/setsumei/
// 法人番号検索
// https://www.houjin-bangou.nta.go.jp/

// <根拠法>
// 法人番号の指定等に関する省令(平成26年財務省令第70号)
// https://www.houjin-bangou.nta.go.jp/documents/houjinbangoushourei.pdf


//////// START "main()" ////////////////////////////////////////////////////////////////
main();
function main(){

//// == Config Retrieving / 工程コンフィグの参照 ==
const strA    = configs.get( "conf_StrA" )    + ""; // required
const reg13num = /^\d{13}$/;
if( ! reg13num.test( strA ) ){
  throw new Error( "\n AutomatedTask ConfigError:" +
                   " Config Date {A} is not a 13-digit number string \n" );
}


//// == Data Retrieving / ワークフローデータの参照 ==
// (nothing, except Expression Language config)


//// == Calculating / 演算 ==
let numSum = 0;
numSum += parseInt( strA.charAt(1)  ) * 2; 
numSum += parseInt( strA.charAt(2)  ); 
numSum += parseInt( strA.charAt(3)  ) * 2; 
numSum += parseInt( strA.charAt(4)  ); 
numSum += parseInt( strA.charAt(5)  ) * 2; 
numSum += parseInt( strA.charAt(6)  ); 
numSum += parseInt( strA.charAt(7)  ) * 2; 
numSum += parseInt( strA.charAt(8)  ); 
numSum += parseInt( strA.charAt(9)  ) * 2; 
numSum += parseInt( strA.charAt(10) ); 
numSum += parseInt( strA.charAt(11) ) * 2; 
numSum += parseInt( strA.charAt(12) ); 

let numCheckdigit = 9 - numSum % 9;

if( parseInt( strA.charAt(0) ) === numCheckdigit ){
  engine.log( " AutomatedTask Check Digit: OK" );
}else{
  throw new Error( "\n AutomatedTask Error:" +
                   " This Corporate-Number string {A} is invalid. \n" );
}


//// == ワークフローデータへの代入 / Data Updating ==
// (nothing, except Log)


} //////// END "main()" ////////////////////////////////////////////////////////////////

Download

Capture

有効な法人番号文字列であることを判定します。有効である場合はOKログが記録されます。無効である場合は異常終了します。エラー境界イベントでフローを制御することが可能となります。法人番号は日本の企業や団体等に割り当てられた13桁のIDです。
法人番号 検査アルゴリズム

Notes

  1. 法人番号とは
  2. 法人番号検索

See also

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

%d人のブロガーが「いいね」をつけました。