Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

ABAP Object (calc) program

Former Member
0 Likes
456

hi all,

i am trying to create calc i had write program it's working but not in full performence is will attach the program pls give me complete advise .

regards.

hari rayala.

PROGRAM FOR CALC

MODULE USER_COMMAND_0100 INPUT.

CASE OK_CODE.

********************************

**FOR NUM1********************

********************************

WHEN 'NUM1'.

RESULT = 1.

v1 = RESULT.

IF VAL1 = 0.

VAL1 = V1.

ELSE.

VAL2 = V1.

ENDIF.

********************************

**FOR NUM2********************

********************************

WHEN 'NUM2'.

RESULT = 2.

V2 = RESULT.

IF VAL1 = 0.

VAL1 = V2.

ELSE. VAL2 = V2.

v2 = RESULT.

ENDIF.

********************************

**FOR NUM3********************

********************************

WHEN 'NUM3'.

RESULT = 3.

IF VAL1 = 0.

VAL1 = V3.

ELSE. VAL2 = V3.

v3 = RESULT.

ENDIF.

********************************

**FOR NUM4********************

********************************

WHEN 'NUM4'.

RESULT = 4.

IF VAL1 = 0.

VAL1 = V4.

ELSE. VAL2 = V4.

v4 = RESULT.

ENDIF.

********************************

**FOR NUM5********************

********************************

WHEN 'NUM5'.

RESULT = 5.

IF VAL1 = 0.

VAL1 = V5.

ELSE. VAL2 = V5.

v5 = RESULT.

ENDIF.

********************************

**FOR NUM6********************

********************************

WHEN 'NUM6'.

RESULT = 6.

IF VAL1 = 0.

VAL1 = V6.

ELSE. VAL2 = V6.

v6 = RESULT.

ENDIF.

********************************

**FOR NUM7********************

********************************

WHEN 'NUM7'.

RESULT = 7.

IF VAL1 = 0.

VAL1 = V7.

ELSE .

VAL2 = V7.

v7 = RESULT.

ENDIF.

********************************

**FOR NUM8********************

********************************

WHEN 'NUM8'.

RESULT = 8.

IF VAL1 = 0.

VAL1 = V8.

ELSE. VAL2 = V8.

v8 = RESULT.

ENDIF.

********************************

**FOR NUM9********************

********************************

WHEN 'NUM9'.

RESULT = 9.

IF VAL1 = 0.

VAL1 = V9.

ELSE. VAL2 = V9.

v9 = RESULT.

ENDIF.

********************************

**FOR NUM0********************

********************************

WHEN 'NUM0'.

RESULT = 0.

IF VAL1 = 0.

VAL1 = V0.

ELSE. VAL2 = V0.

v0 = RESULT.

ENDIF.

********************************

**FOR ADDITION****************

********************************

WHEN 'ADD'.

RESULT1 = VAL1 + VAL2.

********************************

**FOR MULTIPLICATION**********

********************************

WHEN 'MUL'.

RESULT1 = VAL1 * VAL2.

********************************

**FOR DIVISION****************

********************************

WHEN 'DIVIDE'.

RESULT1 = VAL1 / VAL2.

********************************

**FOR SUBSTRACTION************

********************************

when 'SUT'.

RESULT1 = VAL1 - VAL2.

WHEN 'CLEAR'.

CLEAR RESULT.

CLEAR : VAL1, VAL2 .

********************************

**FOR RESTUL******************

********************************

when 'ENTER'.

RESULT = RESULT1 .

ENDCASE.

ENDMODULE. " USER_COMMAND_0100 INPUT

2 REPLIES 2
Read only

RichHeilman
Developer Advocate
Developer Advocate
0 Likes
423

Ok, how do you want to make it better? You want to use field symbols?

Regards,

Rich Heilman

Read only

0 Likes
423

Sort of like this?






case ok_code.

  when 'NUM1' or 'NUM2' or 'NUM3' or 'NUM4' or 'NUM5'
    or 'NUM6' or 'NUM7' or 'NUM8' or 'NUM9' or 'NUM0'.

    data: field_name(20) type c.
    field-symbols: <fs>.

    concatenate 'V' ok_code+3(1) into field_name.
    assign (field_name) to <fs>.

    result = ok_code+3(1).
    <fs> = result.
    if val1 = 0.
      val1 = <fs>.
    else.
      val2 = <fs>.
    endif.

********************************
***FOR ADDITION*****************
********************************

  when 'ADD'.
    result1 = val1 + val2.
********************************
***FOR MULTIPLICATION***********
********************************

  when 'MUL'.
    result1 = val1 * val2.
********************************
***FOR DIVISION*****************
********************************

  when 'DIVIDE'.
    result1 = val1 / val2.
********************************
***FOR SUBSTRACTION*************
********************************

  when 'SUT'.
    result1 = val1 - val2.
  when 'CLEAR'.
    clear result.
    clear : val1, val2 .
********************************
***FOR RESTUL*******************
********************************

  when 'ENTER'.
    result = result1 .
endcase.

Regards,

RIch Heilman