Skip to Content
0
Former Member
Jan 14, 2008 at 08:45 AM

perform statment in script

40 Views

I have written form statment in subroutine program and calling in script layout using perform statment it is not calling in the script.

i written following code in the subroutine program .

PROGRAM ZWHDTAX.

form WHDTAX tables in_tab structure itcsy

out_tab structure itcsy.

data: A_SKFBT type regup-skfbt,

A_WRBTR type regud-wrbtr ,

C_WTAX TYPE regup-skfbt,

E_FLOAT TYPE F,

E_DEC TYPE ESECOMPAVG,

E_DECIMALS TYPE I,

TELNUMBER1(30) TYPE C.

read table in_tab WITH KEY NAME = 'REGUP-SKFBT'.

check sy-subrc = 0.

MOVE IN_TAB-VALUE TO TELNUMBER1.

CALL FUNCTION 'C14W_CHAR_NUMBER_CONVERSION'

EXPORTING

I_STRING = TELNUMBER1

IMPORTING

E_FLOAT = E_FLOAT

E_DEC = E_DEC

E_DECIMALS = E_DECIMALS

  • EXCEPTIONS

  • WRONG_CHARACTERS = 1

  • FIRST_CHARACTER_WRONG = 2

  • ARITHMETIC_SIGN = 3

  • MULTIPLE_DECIMAL_SEPARATOR = 4

  • THOUSANDSEP_IN_DECIMAL = 5

  • THOUSAND_SEPARATOR = 6

  • NUMBER_TOO_BIG = 7

  • OTHERS = 8

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

.

A_SKFBT = E_DEC.

CLEAR TELNUMBER1.

read table in_tab WITH KEY NAME = 'REGUD-WRBTR'.

check sy-subrc = 0.

MOVE IN_TAB-VALUE TO TELNUMBER1.

CALL FUNCTION 'C14W_CHAR_NUMBER_CONVERSION'

EXPORTING

I_STRING = TELNUMBER1

IMPORTING

E_FLOAT = E_FLOAT

E_DEC = E_DEC

E_DECIMALS = E_DECIMALS

  • EXCEPTIONS

  • WRONG_CHARACTERS = 1

  • FIRST_CHARACTER_WRONG = 2

  • ARITHMETIC_SIGN = 3

  • MULTIPLE_DECIMAL_SEPARATOR = 4

  • THOUSANDSEP_IN_DECIMAL = 5

  • THOUSAND_SEPARATOR = 6

  • NUMBER_TOO_BIG = 7

  • OTHERS = 8

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

.

A_WRBTR = E_DEC.

C_WTAX = A_SKFBT - A_WRBTR.

read table out_tab index 1.

check sy-subrc = 0.

out_tab-value = C_WTAX.

modify out_tab index 1.

*endif .

endform.

following code i written in script layout it is not calling in the script.

/:PERFORM WHDTAX IN PROGRAM ZWHDTAX

/:USING &REGUP-SKFBT&

/:USING &REGUD-WRBTR&

/:CHANGING &C_WTAX&

/:ENDPERFORM.