Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.
Function CheckDigitEAN13(PN12 As String) As Integer
Factor = 3
WeightedTotal = 0
For I = Len(PN12) To 1 Step -1
'Get the value of each number starting at the end
CurrentCharNum = Mid(PN12, I, 1)
'Multiply by the weighting factor which is 3,1,3,1...
'and add the sum together
WeightedTotal = WeightedTotal + CurrentCharNum * Factor
'Change factor for next calculation
Factor = 4 - Factor
Next I
'Find the CheckDigit by finding the number + WeightedTotal that = a multiple of 10
'Divide by 10, get the remainder and subtract from 10
I = (WeightedTotal Mod 10)
If I <> 0 Then
CheckDigit = (10 - I)
Else
CheckDigit = 0
End If
CheckDigitEAN13 = CheckDigit
End Function
*-------------------------------------------------------------------------
* Fields definitions
*-------------------------------------------------------------------------
D EAN13 DS 13
D EAN 1A DIM(13)
D CALC S 5S 0
D CTRL S 1S 0
*-------------------------------------------------------------------------
* Main line
*-------------------------------------------------------------------------
C EVAL CALC =
C %DEC(EAN(02):1:0) + %DEC(EAN(04):1:0) +
C %DEC(EAN(06):1:0) + %DEC(EAN(08):1:0) +
C %DEC(EAN(10):1:0) + %DEC(EAN(12):1:0)
C EVAL Calc = Calc * 3
C EVAL CALC = CALC +
C %DEC(EAN(01):1:0) + %DEC(EAN(03):1:0) +
C %DEC(EAN(05):1:0) + %DEC(EAN(07):1:0) +
C %DEC(EAN(09):1:0) + %DEC(EAN(11):1:0)
C EVAL Ctrl = 10 - %Rem(Calc:10)
C EVAL EAN(13) = %editc(Ctrl:'X')
C EVAL *InLr = *On
*-------------------------------------------------------------------------
* Klist + Plist definitions
*-------------------------------------------------------------------------
C *ENTRY PLIST
C PARM EAN13
If you are experiencing a similar issue, please ask a related question
Title | # Comments | Views | Activity |
---|---|---|---|
RPG to c# | 3 | 358 | |
iBM i DB2 Administration Training | 6 | 101 | |
is db2 really incapable of taking online backups without locking stuff up? | 3 | 96 | |
Authentication failing when using Powershell to connect to DB2 database | 6 | 105 |
Join the community of 500,000 technology professionals and ask your questions.