10-09-2010 5:41 AM
Dearest All.
i hv a requirement .. i hv to calculate check digit for Conatiners for Export and Import.
i tried a lot but failed.....
the logic is as follow...
Every container-number needs its own check digit. This check digit is the last figure of the container-number, that behind the -.
Of course, you can calculate this check digit yourself.
First start with the prefix. Then there is the number itself.
This is the simplest part of the calculation. Last but not least the calculation:
with an example: OOLU 708695.
Each letter of the prefix has its own value:
A 10 J 20 S 30
B 12 K 21 T 31
C 13 L 23 U 32
D 14 M 24 V 34
E 15 N 25 W 35
F 16 O 26 X 36
G 17 P 27 Y 37
H 18 Q 28 Z 38
I 19 R 29
Each figure of the number has its own value.
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
0 0
We know that: Now calculate:
O 26 26 X 1 = 26
O 26 26 X 2 = 52
L 23 23 X 4 = 92
U 32 32 X 8 = 256
7 7 7 X 16 = 112
0 0 0 X 32 = 0
8 8 8 X 64 = 512
6 6 6 X 128 = 768
9 9 9 X 256 = 2304
5 5 5 X 512 = 2560
________________________________________
Total = 6682
Of course we can understand if you don't want to calculate all these check digits by hand.
Therefore we made you a little tool.
Enter the container-number as followed: XXXX123456, just try it.
Container-number:
Check digit:
Calculate the check digit Clear the form
Now divide this total by 11:
6682 / 11 = 607,4545
and take the figures after the comma
and multiply it by 11 to get the check digit.
0,4545 X 11 = 5
The complete container-number is:
OOLU 708695-5
10-09-2010 7:08 AM
hi ,
O 26 26 X 1 = 26
O 26 26 X 2 = 52
L 23 23 X 4 = 92
U 32 32 X 8 = 256
7 7 7 X 16 = 112
0 0 0 X 32 = 0
8 8 8 X 64 = 512
6 6 6 X 128 = 768
9 9 9 X 256 = 2304
5 5 5 X 512 = 2560
________________________________________
Total = 6682
will you explain this why you have taken " 26X1 ,26X2 ,23X4 ,32X8 i.e multiplied with 1,2,4,8
Regards
Deepak.
10-09-2010 7:08 AM
hi ,
O 26 26 X 1 = 26
O 26 26 X 2 = 52
L 23 23 X 4 = 92
U 32 32 X 8 = 256
7 7 7 X 16 = 112
0 0 0 X 32 = 0
8 8 8 X 64 = 512
6 6 6 X 128 = 768
9 9 9 X 256 = 2304
5 5 5 X 512 = 2560
________________________________________
Total = 6682
will you explain this why you have taken " 26X1 ,26X2 ,23X4 ,32X8 i.e multiplied with 1,2,4,8
Regards
Deepak.
10-09-2010 7:25 AM
This is the requirement given by user to calculate the check digit for tracking the rite container..
the user will enter the digit ( Container no) on the screen like OOLU 708695. and OOLU 708695- 5 with come automatically.
i m not getting anyway where to start writing code...
10-09-2010 7:46 AM
HEY ,
don't get panic
you can do this
go step by step
if you are aware of Dialog programing then you can do this
OR if you want to do in simple basic report then also it is possible just use your logic .
1) create one module pool
2) create one screen
in screen give one button to get EVENT in PAI
in PAI you can write code
now for
albhabets and there numbers you can ceate either one ztable or you can create one internal table with cloumn
albhabet , value
A 20
B 30
etc
also same for
1 ,1
2,2
3,3
etc
when user will enter this number say OOLT 78432
use spilt function to split the entered string into two string
check the length of BOTH string
using DESCRIBE FUNCTION
NOW UP TO THAT LENGTH
IF LENGHT OF 1ST STRING IS 4
AND LENGTH OF SECOND IS 5
THEN
for 1st character check with albhabet value
get 1st value and multiply with 1
get 2nd and multiply with 2 .
get 3rd and multy with 4 .
and so on .
same for numbers
you can do and
use you logic for other steps
you can do that .
just go step by step how you have explained .
Regards
Deepak.
Edited by: Deepak Dhamat on Oct 9, 2010 8:53 AM
10-09-2010 10:42 AM
10-09-2010 12:30 PM
10-09-2010 12:38 PM