However, if everybody enters in "text form of free input", the names will be ambiguous such as;
- "NTT", or "Nippon Telephone and Telegraph", or "enu-ti-ti (in Japanese characters)"
- "Apple Inc." or "Apple, Inc." or even "Apple computer, Inc."
The following is a "Trade Account Opening" Workflow.
At first glance, It's almost the same flow as the previous article (Credit Management flow), but it also has a mechanism which automatically updating "Customer Master data" (Business-Connections.xml), at the time of registering a new customer.
You can call this "Customer Master" into "Drop down list" or "Combo box which filters the list as you type" on other Workflows. That is, in any of the Workflow of "Quote approval flow", or "Invoicing flow", or "Inquiry correspondence flow", the corporate names to be input will always be "formal name" for it is selected from the "Customer Master data".
[Trade Account Opening]
Another excellence in this Workflow is that it has been given "Customer classification" in conjunction.
As you see in data format, all of corporate name is managed in the format of {6 characters of Customer classification}#{Corporation Number}#{URL of the corporate}. * The part of {Corporation Number}#{URL of the corporate} is the identifier (main key).
==6 characters of Customer classification
- [1st character] A: west Japan, B: east Japan, C: local Japan, D: English-speaking countries, E: Non-English-speaking countries
- [2nd character] 1: No service contract history, 2: On service contract, 3: Contract ended
- [3rd character] 1: No possibility of Partner, 2: Prospective Partner, 3: Authorized Partner, 4: Silver Partner, 5: Gold Partner
- [4th character] A: Over 10000 employees, B: 10000 or less, C: 5000 or less, D: 3000 or less, E: 1000 or less F: 500or less
- [5th character] 0: (fewer Sales) - 9: (more Sales) (Decile of last 6 months)
- [6th character] 0: within 1 year service period, 1: 1 year and less than 2
For instance, for a Sales person, there are advantages of;
- Easy input of Formal corporate name,
- Immediate confirmation on Customer's attribute.
For a Business Process designer, it will be capable of using in 'Inputting interface' and 'Conditional Splitting', etc.
=Sample codes for [Script Task] (Server side)
//// == Retrieving == // M319 Options-XML: Options-XML file to which the Process Model Definitions Refer optionsList = itemDao.findAll("Business-Connections.xml", true); // return "List<ItemView>" //{6 characters of Customer classification}#{Corporation Number}#{URL of the corporate} and {Trade name} var corpCategory = data.get("10") + ""; var corpNumber = data.get("11") + ""; var corpURL = data.get("1") + ""; var corpName = data.get("2") + ""; //// == Calculating == var corpKey = corpNumber + "#" + corpURL + ""; var updateflag = 0; optionsNum = optionsList.size(); var value_id_list = ""; var display_label_list = ""; for (i=0; i < optionsNum; i++){ if(corpKey == optionsList.get(i).getValue().substr(6) ){ // Data update value_id_list += corpCategory + "#" + corpKey + "\n"; display_label_list += corpName + "\n"; updateflag = 1; }else{ value_id_list += optionsList.get(i).getValue() + "\n"; display_label_list += optionsList.get(i).getDisplay() + "\n"; } } if(updateflag == 0){ value_id_list += corpCategory + corpKey + "\n"; display_label_list += corpName + "\n"; } //// == Updating == retVal.put("12", value_id_list); retVal.put("13", display_label_list);
=Sample codes for "Confirmation on Existing List" (Browser side)
<script type="text/javascript"> //if Clicked on <input type="button" value="view Category" id="myButton"> // display at <span id="corpinfo"></span> jQuery('#myButton').on('click',function(){ var textStr = jQuery('input[name="data\\[9\\].selects"]').val(); // Searc select jQuery( '#corpinfo' ).html("<font color=blue>" + textStr.substr(0, 6) + "</font>"); }); </script>
=Sample code for "Corporate URL" (Browser side)
<script type="text/javascript"> /// "http://" or "https://" at the top will be removed when focus out from the form jQuery('input[name="data\\[1\\].input"]').on('change',function(){ //If text form value in Data Item ID "1" varies //(Detect focus out by change ) var thisValue = jQuery(this).val(); var myRegex = /^https:\/\/|^http:\/\//; // Begins with "http://" or "https://" (Regex) var newValue = thisValue.replace( myRegex, "" ); // Remove matching part // ex) "http://www.questetra.com" → "www.questetra.com" var newValueLc = newValue.toLowerCase(); // Replace to lowercase * Note that it will be applied also to other than domain part jQuery('input[name="data\\[1\\].input"]').val( newValueLc ); }); </script>
[Trade Account Opening:"1. Customer Registration" screen]
[Data Items list]
[Free Download]
- Business Template: Trade Account Opening
- Management of Client Master Using Corporation Number (2015-09-07)
- Master Management to Make All the Client to "Input Select" (2014-06-16)
- Trick for Eliminating Fluctuation from Client's Name (2014-06-02)
- "Choices .XML" to be Shared with Whole Society (Prefectural Code / Enterprise ID) (2014-06-09)
- M319 MODELING ENVIRONMENT: Register an Options-XML file to which the Process Model Definitions Refer to
- M230 AUTOMATED STEP: Auto Executing Complicated Data Processing (ECMAScript)
- M213 OPERATING SCREEN: Guidance Shown on Operating Screen (HTML/JavaScript)
[Japanese Entry (εζθ¨δΊ)]