摘自SAP官方示例 , 可能会有用到吧, 转贴于此
DATA SUBRC TYPE SY-SUBRC.
DATA L_ISBN LIKE ISBN.
DATA NUM TYPE I.
DATA MULT TYPE I.
DATA CHECKSUM TYPE I.
DATA CHECK TYPE I.
DATA LENGTH TYPE I.
L_ISBN = ISBN.
SUBRC = 0.
WHILE SUBRC = 0.
REPLACE '-' WITH ' ' INTO L_ISBN.
SUBRC = SY-SUBRC.
ENDWHILE.
CONDENSE L_ISBN NO-GAPS.
LENGTH = STRLEN( L_ISBN ).
IF LENGTH <> 10.
FLAG = 0.
RETURN.
ENDIF.
DO 10 TIMES.
MULT = 11 - SY-INDEX.
IF L_ISBN(1) = 'X'.
NUM = 10.
ELSE.
NUM = L_ISBN(1).
ENDIF.
CHECKSUM = CHECKSUM + MULT * NUM.
SHIFT L_ISBN.
ENDDO.
CHECK = CHECKSUM / 11 * 11.
IF CHECK = CHECKSUM.
FLAG = '1'. " 正确
ELSE.
FLAG = '0'.
ENDIF.