2017年6月14日 星期三

[ServiceNow] Can i start the workflow from point of failure?

For any reason some of the tasks are failed in workflow, Can i start the workflow from point of failure?

This would be achieved through scripting 

[ServiceNow] What is the difference between service catalog and service portal?

Service Portal framework that allows administrators to build a mobile-friendly self service experience for users. 

It interacts with parts of the ServiceNow platform, so users can access specific platform features using Service Portal.

Service Catalog application, create service catalogs that provide your customers with self-service opportunities. 


Portals can be customised so that customers can request catalog items such as service and product offerings.

[ServiceNow] Can we visit Knowledge Homepage without login?

Follow the procedure to achieve the requirement:

1) Navigate to Knowledge > Administration > Knowledge Bases.
2) Select the knowledge base you want to make public.
3) Go to the Can Read section or tab and remove any entries from the list. 
    Everyone gets read permission on all articles in that knowledge base.
4) In the Application Navigator's Filter navigator field, enter sys_public.list and press 
    enter or return.
5) In the Page column, look for page named kb_find.
6) For kb_find, change the value in the Active column to true.
7) In the Page column, look for page named kb_view.
8) For kb_view, change the value in the Active column to true.

9) As a public user, try <instance>/kb_find.do.

[ServiceNow] Where and how could we create a custom Schedule for SLA?

In the application navigator, navigate to System Scheduler > Schedules

2017年5月6日 星期六

如何計算香港商業登記證驗證碼 (CHECK DIGIT)?

香港商業登記證(BR)中第8個數字是驗證碼。儘管號碼很長,計算驗證碼 (CHECK DIGIT)只用到首7位數字。

以商業登記證36780058為例,此商業登記證的CHECK DIGIT為8。

按以下公式計算︰

先計算

第1位數字 * 2 加
第2位數字 * 9 加
第3位數字 * 8 加
第4位數字 * 7 加
第5位數字 * 4 加
第6位數字 * 3 加
第7位數字 * 2

的總和;

以36780058為例

3 * 2 = 6
6 * 9 = 54
7 * 8 = 56
8 * 7 = 56
0 * 4 = 0
0 * 3 = 0
5 * 2 = 10

總和是182。

然後計算182除10的餘數,如果餘數是零,則驗證碼 (CHECK DIGIT)是零;否則用10減剛才的餘數便是驗證碼 (CHECK DIGIT)。

182 除 10,餘數是2

10 - 2 = 8

因此驗證碼 (CHECK DIGIT)是 8。

謝謝

如何計算香港身份證驗證碼 (CHECK DIGIT)?

以身份證A123456(3)為例,此身份證的CHECK DIGIT為3。

首先將身份證中的英文字母轉為數字,A=1, B=2, C=3, .... Z=26。
然後按以下公式計算︰

先計算

第1位數字 * 8 加
第2位數字 * 7 加
第3位數字 * 6 加
第4位數字 * 5 加
第5位數字 * 4 加
第6位數字 * 3 加
第7位數字 * 2

的總和;

以A123456(3)為例

A * 8 = 1 * 8 = 8
1 * 7 = 1 * 7 = 7
2 * 6 = 2 * 6 = 12
3 * 5 = 3 * 5 = 15
4 * 4 = 4 * 4 = 16
5 * 3 = 5 * 3 = 15
6 * 2 = 6 * 2 = 12

總和是85。

然後計算85除11的餘數,再用11減去剛才的餘數便是驗證碼 (CHECK DIGIT)。

85 除 11,餘數是8

11 - 8 = 3

因此驗證碼 (CHECK DIGIT)是 3。

如最後計算出來的驗證碼 (CHECK DIGIT)是10,以A表示;


============更新============

先把英文換成數字,A=10,B=11,C=12,............Z=35

看開首是一個英文字還是兩個英文字

如果是一個英文字

總和S = 36 * 9 + 英文字 * 8

如果是兩個英文字

總和S = 英文字1 * 9 + 英文字2 * 8

之後的六位數字分別乘以7,6,5,4,3,2

把總和S 除11,得到餘數R

11-R就是CHECK DIGIT


以A123456(3)為例

A = 10

36 * 9 = 324
A * 8 = 10 * 8 = 80
1 * 7 = 1 * 7 = 7
2 * 6 = 2 * 6 = 12
3 * 5 = 3 * 5 = 15
4 * 4 = 4 * 4 = 16
5 * 3 = 5 * 3 = 15
6 * 2 = 6 * 2 = 12

總和是481。

然後計算481除11的餘數,再用11減去剛才的餘數便是驗證碼 (CHECK DIGIT)。

481 除 11,餘數是8

11 - 8 = 3

因此驗證碼 (CHECK DIGIT)是 3。

如最後計算出來的驗證碼 (CHECK DIGIT)是10,以A表示;

2017年5月3日 星期三

[DB2] Frequently used command (update from time to time)

db2 set schema gmp
Tell the system we are using schema gmp, so next time we can just type the table name.
e.g. select * from tb_user

db2 list node directory

db2 list database show detail

connect to [dbname] user [username] using [password]

select row_number() over( a.name ) r from table a where a.id = ?

How to identify unicode characters in DB2?


length( str )
returns the byte length of [str]

e.g. select length('陳大文') from sysibm.sysdummy1;
Result is 9 because each Chinese character occupies 3 bytes.

substr( str, [start], [length] )
returns the sub string of length [length] in [str] from the [start] byte.

e.g. select substr( 'apple', 2, 2 ) from sysibm.sysdummy1;
returns "pp"

Warning!!! Substr() is not appropriate for strings containing unicode characters

character_length( str, [encoding] )
returns the character length of [str]

e.g. select character_length('陳大文', CODEUNITS32) from sysibm.sysdummy1;
Result is 9 because each Chinese character occupies 3 bytes.

substring( str, [start], [length], [encoding] )
returns the sub string of length [length] in [str] from the [start] byte.

e.g. select substring('陳大文', 2, 1, CODEUNITS32) from sysibm.sysdummy1;
returns "大"

If you want to go through each character of a string, remember to use character_length( str, [encoding] ) to count the number of character first, then for each character, use length() to check if it is a unicode character, thanks.

Avoid using "not exist", use "minus" if possible


Using "NOT IN"
select * from table a where a.id not in (1,2,3)

Same result using "minus"
select * from table a
minus
select * from table a where a.id in (1,2,3)


Export csv



export to c:\abc\table.csv of del
select * from table a

Check tables / columns / indexes / procedures


select * from syscat.tables where tabname like 'ABC%'

select * from syscat.columns where tabname like 'ABC%' and colname like 'ABC%'

select * from syscat.indexes where ...

select * from syscat.procedures where procname like 'ABC%'

select * from syscat.functions where funcname like 'ABC%'