*&---------------------------------------------------------------------*
*& Report ZTEST
*&
*&---------------------------------------------------------------------*
*&
*& create by 冲击波 2008.10.06
*&---------------------------------------------------------------------*
REPORT ztest.
DATA num(16) TYPE p DECIMALS 0 .
DATA temp1 TYPE i .
DATA temp2 TYPE i .
DATA temp3 TYPE i .
DATA temp4 TYPE i .
DATA tempq TYPE i .
DATA tempw TYPE i .
DATA tempe TYPE i .
DATA tempr TYPE i .
DATA temp(16) TYPE p DECIMALS 0 .
DATA tempii TYPE i .
****
num = 123456789123 .
****
*************************************************
temp = num .
temp1 = temp DIV 1000000000 .
temp = temp MOD 1000000000 .
temp2 = temp DIV 1000000 .
temp = temp MOD 1000000 .
temp3 = temp DIV 1000 .
temp = temp MOD 1000 .
temp4 = temp .
********************************************************
IF temp1 <> 0 .
tempii = temp1 .
tempw = tempii DIV 100 .
tempii = tempii MOD 100 .
tempe = tempii DIV 10 .
tempii = tempii MOD 10 .
tempr = tempii .
*********************
IF tempw <> 0 .
tempii = tempw .
CASE tempii.
WHEN 1 .
WRITE 'one' .
WHEN 2 .
WRITE 'two' .
WHEN 3 .
WRITE 'three' .
WHEN 4 .
WRITE 'four' .
WHEN 5 .
WRITE 'five' .
WHEN 6 .
WRITE 'six' .
WHEN 7 .
WRITE 'seven' .
WHEN 8 .
WRITE 'eight' .
WHEN 9 .
WRITE 'nine' .
ENDCASE.
WRITE 'hundred' .
ENDIF .
*********************
tempii = tempe .
CASE tempii.
WHEN 1 .
tempii = temp1 MOD 100.
CASE tempii.
WHEN 11 .
WRITE 'eleven' .
WHEN 12 .
WRITE 'twelve' .
WHEN 13 .
WRITE 'thirteen' .
WHEN 14 .
WRITE 'fourteen' .
WHEN 15 .
WRITE 'fifteen' .
WHEN 16 .
WRITE 'sixteen' .
WHEN 17 .
WRITE 'seventeen' .
WHEN 18 .
WRITE 'eighteen' .
WHEN 19 .
WRITE 'nineteen' .
ENDCASE.
WHEN 0 .
IF tempr <> 0 .
WRITE 'and'.
tempr = tempii .
CASE tempii.
WHEN 1 .
WRITE 'one' .
WHEN 2 .
WRITE 'two' .
WHEN 3 .
WRITE 'three' .
WHEN 4 .
WRITE 'four' .
WHEN 5 .
WRITE 'five' .
WHEN 6 .
WRITE 'six' .
WHEN 7 .
WRITE 'seven' .
WHEN 8 .
WRITE 'eight' .
WHEN 9 .
WRITE 'nine' .
ENDCASE.
ENDIF .
WHEN 2 .
WRITE 'twenty' .
WHEN 3 .
WRITE 'thirty' .
WHEN 4 .
WRITE 'fourty' .
WHEN 5 .
WRITE 'fifty' .
WHEN 6 .
WRITE 'sixty' .
WHEN 7 .
WRITE 'seventy' .
WHEN 8 .
WRITE 'eighty' .
WHEN 9 .
WRITE 'ninty' .
ENDCASE.
***********************
IF tempr <> 0 and tempe <> 0.
tempii = tempr .
CASE tempii.
WHEN 1 .
WRITE 'one' .
WHEN 2 .
WRITE 'two' .
WHEN 3 .
WRITE 'three' .
WHEN 4 .
WRITE 'four' .
WHEN 5 .
WRITE 'five' .
WHEN 6 .
WRITE 'six' .
WHEN 7 .
WRITE 'seven' .
WHEN 8 .
WRITE 'eight' .
WHEN 9 .
WRITE 'nine' .
ENDCASE.
ENDIF .
***********************
write 'billion' .
write / .
ENDIF .
***************************************************************
IF temp2 <> 0 .
WRITE 'and' .
tempii = temp2 .
tempw = tempii DIV 100 .
tempii = tempii mod 100 .
tempe = tempii DIV 10 .
tempii = tempii mod 10 .
tempr = tempii .
*********************
IF tempw <> 0 .
tempii = tempw .
CASE tempii.
WHEN 1 .
WRITE 'one' .
WHEN 2 .
WRITE 'two' .
WHEN 3 .
WRITE 'three' .
WHEN 4 .
WRITE 'four' .
WHEN 5 .
WRITE 'five' .
WHEN 6 .
WRITE 'six' .
WHEN 7 .
WRITE 'seven' .
WHEN 8 .
WRITE 'eight' .
WHEN 9 .
WRITE 'nine' .
ENDCASE.
WRITE 'hundred' .
ENDIF .
*********************
tempii = tempe .
CASE tempii.
WHEN 1 .
tempii = temp2 mod 100 .
CASE tempii.
WHEN 11 .
WRITE 'eleven' .
WHEN 12 .
WRITE 'twelve' .
WHEN 13 .
WRITE 'thirteen' .
WHEN 14 .
WRITE 'fourteen' .
WHEN 15 .
WRITE 'fifteen' .
WHEN 16 .
WRITE 'sixteen' .
WHEN 17 .
WRITE 'seventeen' .
WHEN 18 .
WRITE 'eighteen' .
WHEN 19 .
WRITE 'nineteen' .
ENDCASE.
WHEN 0 .
IF tempr <> 0 .
WRITE 'and' .
tempr = tempii .
CASE tempii.
WHEN 1 .
WRITE 'one' .
WHEN 2 .
WRITE 'two' .
WHEN 3 .
WRITE 'three' .
WHEN 4 .
WRITE 'four' .
WHEN 5 .
WRITE 'five' .
WHEN 6 .
WRITE 'six' .
WHEN 7 .
WRITE 'seven' .
WHEN 8 .
WRITE 'eight' .
WHEN 9 .
WRITE 'nine' .
ENDCASE.
ENDIF .
WHEN 2 .
WRITE 'twenty' .
WHEN 3 .
WRITE 'thirty' .
WHEN 4 .
WRITE 'fourty' .
WHEN 5 .
WRITE 'fifty' .
WHEN 6 .
WRITE 'sixty' .
WHEN 7 .
WRITE 'seventy' .
WHEN 8 .
WRITE 'eighty' .
WHEN 9 .
WRITE 'ninty' .
ENDCASE.
***********************
IF tempr <> 0 and tempe <> 0.
tempii = tempr .
CASE tempii.
WHEN 1 .
WRITE 'one' .
WHEN 2 .
WRITE 'two' .
WHEN 3 .
WRITE 'three' .
WHEN 4 .
WRITE 'four' .
WHEN 5 .
WRITE 'five' .
WHEN 6 .
WRITE 'six' .
WHEN 7 .
WRITE 'seven' .
WHEN 8 .
WRITE 'eight' .
WHEN 9 .
WRITE 'nine' .
ENDCASE.
ENDIF .
***********************
write 'million' .
write / .
ENDIF .
***************************************************************
IF temp3 <> 0 .
WRITE 'and' .
tempii = temp3 .
tempw = tempii DIV 100 .
tempii = tempii mod 100 .
tempe = tempii DIV 10 .
tempii = tempii mod 10 .
tempr = tempii .
*********************
IF tempw <> 0 .
tempii = tempw .
CASE tempii.
WHEN 1 .
WRITE 'one' .
WHEN 2 .
WRITE 'two' .
WHEN 3 .
WRITE 'three' .
WHEN 4 .
WRITE 'four' .
WHEN 5 .
WRITE 'five' .
WHEN 6 .
WRITE 'six' .
WHEN 7 .
WRITE 'seven' .
WHEN 8 .
WRITE 'eight' .
WHEN 9 .
WRITE 'nine' .
ENDCASE.
WRITE 'hundred' .
ENDIF .
*********************
tempii = tempe .
CASE tempii.
WHEN 1 .
tempii = temp3 mod 100 .
CASE tempii.
WHEN 11 .
WRITE 'eleven' .
WHEN 12 .
WRITE 'twelve' .
WHEN 13 .
WRITE 'thirteen' .
WHEN 14 .
WRITE 'fourteen' .
WHEN 15 .
WRITE 'fifteen' .
WHEN 16 .
WRITE 'sixteen' .
WHEN 17 .
WRITE 'seventeen' .
WHEN 18 .
WRITE 'eighteen' .
WHEN 19 .
WRITE 'nineteen' .
ENDCASE.
WHEN 0 .
IF tempr <> 0 .
WRITE 'and' .
tempr = tempii .
CASE tempii.
WHEN 1 .
WRITE 'one' .
WHEN 2 .
WRITE 'two' .
WHEN 3 .
WRITE 'three' .
WHEN 4 .
WRITE 'four' .
WHEN 5 .
WRITE 'five' .
WHEN 6 .
WRITE 'six' .
WHEN 7 .
WRITE 'seven' .
WHEN 8 .
WRITE 'eight' .
WHEN 9 .
WRITE 'nine' .
ENDCASE.
ENDIF .
WHEN 2 .
WRITE 'twenty' .
WHEN 3 .
WRITE 'thirty' .
WHEN 4 .
WRITE 'fourty' .
WHEN 5 .
WRITE 'fifty' .
WHEN 6 .
WRITE 'sixty' .
WHEN 7 .
WRITE 'seventy' .
WHEN 8 .
WRITE 'eighty' .
WHEN 9 .
WRITE 'ninty' .
ENDCASE.
***********************
IF tempr <> 0 and tempe <> 0.
tempii = tempr .
CASE tempii.
WHEN 1 .
WRITE 'one' .
WHEN 2 .
WRITE 'two' .
WHEN 3 .
WRITE 'three' .
WHEN 4 .
WRITE 'four' .
WHEN 5 .
WRITE 'five' .
WHEN 6 .
WRITE 'six' .
WHEN 7 .
WRITE 'seven' .
WHEN 8 .
WRITE 'eight' .
WHEN 9 .
WRITE 'nine' .
ENDCASE.
ENDIF .
***********************
write 'thound' .
write / .
ENDIF .
***************************************************************
IF temp4 <> 0 .
WRITE 'and' .
tempii = temp4 .
tempw = tempii DIV 100 .
tempii = tempii mod 100 .
tempe = tempii DIV 10 .
tempii = tempii mod 10 .
tempr = tempii .
*********************
IF tempw <> 0 .
tempii = tempw .
CASE tempii.
WHEN 1 .
WRITE 'one' .
WHEN 2 .
WRITE 'two' .
WHEN 3 .
WRITE 'three' .
WHEN 4 .
WRITE 'four' .
WHEN 5 .
WRITE 'five' .
WHEN 6 .
WRITE 'six' .
WHEN 7 .
WRITE 'seven' .
WHEN 8 .
WRITE 'eight' .
WHEN 9 .
WRITE 'nine' .
ENDCASE.
WRITE 'hundred' .
ENDIF .
*********************
tempii = tempe .
CASE tempii.
WHEN 1 .
tempii = temp2 mod 100.
CASE tempii.
WHEN 11 .
WRITE 'eleven' .
WHEN 12 .
WRITE 'twelve' .
WHEN 13 .
WRITE 'thirteen' .
WHEN 14 .
WRITE 'fourteen' .
WHEN 15 .
WRITE 'fifteen' .
WHEN 16 .
WRITE 'sixteen' .
WHEN 17 .
WRITE 'seventeen' .
WHEN 18 .
WRITE 'eighteen' .
WHEN 19 .
WRITE 'nineteen' .
ENDCASE.
WHEN 0 .
IF tempr <> 0 .
WRITE 'and' .
tempr = tempii .
CASE tempii.
WHEN 1 .
WRITE 'one' .
WHEN 2 .
WRITE 'two' .
WHEN 3 .
WRITE 'three' .
WHEN 4 .
WRITE 'four' .
WHEN 5 .
WRITE 'five' .
WHEN 6 .
WRITE 'six' .
WHEN 7 .
WRITE 'seven' .
WHEN 8 .
WRITE 'eight' .
WHEN 9 .
WRITE 'nine' .
ENDCASE.
ENDIF .
WHEN 2 .
WRITE 'twenty' .
WHEN 3 .
WRITE 'thirty' .
WHEN 4 .
WRITE 'fourty' .
WHEN 5 .
WRITE 'fifty' .
WHEN 6 .
WRITE 'sixty' .
WHEN 7 .
WRITE 'seventy' .
WHEN 8 .
WRITE 'eighty' .
WHEN 9 .
WRITE 'ninty' .
ENDCASE.
***********************
IF tempr <> 0 and tempe <> 0.
tempii = tempr .
CASE tempii.
WHEN 1 .
WRITE 'one' .
WHEN 2 .
WRITE 'two' .
WHEN 3 .
WRITE 'three' .
WHEN 4 .
WRITE 'four' .
WHEN 5 .
WRITE 'five' .
WHEN 6 .
WRITE 'six' .
WHEN 7 .
WRITE 'seven' .
WHEN 8 .
WRITE 'eight' .
WHEN 9 .
WRITE 'nine' .
ENDCASE.
ENDIF .
***********************
ENDIF .
***************************************************************