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 Code Corrections

Former Member
0 Likes
642

Hi Experts

Please correct the ABAP CODE written as Field routine in Transformations

Requirment

If ZB_AMT = '0.00'

then result should be '0.00'

If ZB_AMT '0.00' and

SOURCE_FIELDS-/BIC/ZB_TPE1 = 'AMOUNT'

the result should be

CONCATENATE '$' SOURCE_FIELDS-/BIC/ZB_AMT INTO RESULT.

If ZB_AMT '0.00' and

SOURCE_FIELDS-/BIC/ZB_TPE1 = 'PERCENTAGE'

the result should be

CONCATENATE SOURCE_FIELDS-/BIC/ZB_AMT '%' INTO RESULT.

The code below is not working as it should please update me where i went wrong

Source Fields

SOURCE_FIELDS-/BIC/ZB_AMT (CHAR)

SOURCE_FIELDS-/BIC/ZB_TPE1 (CHAR)

CODE

IF SOURCE_FIELDS-/BIC/ZB_AMT = '0.00'.

RESULT = '0.00'.

ELSE.

IF SOURCE_FIELDS-/BIC/ZB_TPE1 = 'AMOUNT' AND

SOURCE_FIELDS-/BIC/ZB_AMT '0.00'.

CONCATENATE '$' SOURCE_FIELDS-/BIC/ZBON_AMT INTO RESULT.

IF SOURCE_FIELDS-/BIC/ZB_TPE1 = 'PERCENTAGE' AND

SOURCE_FIELDS-/BIC/ZB_AMT '0.00'.

CONCATENATE SOURCE_FIELDS-/BIC/ZB_AMT '%' INTO RESULT.

ENDIF.

ENDIF.

ENDIF.

1 ACCEPTED SOLUTION
Read only

former_member156446
Active Contributor
0 Likes
585

If ZB_AMT '0.00' and

SOURCE_FIELDS-/BIC/ZB_TPE1 = 'AMOUNT'

the result should be

CONCATENATE '$' SOURCE_FIELDS-/BIC/ZB_AMT INTO RESULT.

If ZB_AMT '0.00' and

SOURCE_FIELDS-/BIC/ZB_TPE1 = 'PERCENTAGE'

the result should be

CONCATENATE SOURCE_FIELDS-/BIC/ZB_AMT '%' INTO RESULT.


if zb_amt = '0.00' and SOURCE_FIELDS-/BIC/ZB_TPE1 = 'AMOUNT'.
CONCATENATE '$' SOURCE_FIELDS-/BIC/ZB_AMT INTO RESULT.
endif.

if zb_amt = '0.00' and SOURCE_FIELDS-/BIC/ZB_TPE1 = 'PERCENTAGE'.
CONCATENATE SOURCE_FIELDS-/BIC/ZB_AMT '%' INTO RESULT.
endif.

you can use a case statement as well


if zb_amt = '0.00'.
case SOURCE_FIELDS-/BIC/ZB_TPE1.
when 'AMOUNT'.
CONCATENATE '$' SOURCE_FIELDS-/BIC/ZB_AMT INTO RESULT.
when 'PERCENTAGE'.
CONCATENATE SOURCE_FIELDS-/BIC/ZB_AMT '%' INTO RESULT.
endcase.
endif.

5 REPLIES 5
Read only

former_member156446
Active Contributor
0 Likes
586

If ZB_AMT '0.00' and

SOURCE_FIELDS-/BIC/ZB_TPE1 = 'AMOUNT'

the result should be

CONCATENATE '$' SOURCE_FIELDS-/BIC/ZB_AMT INTO RESULT.

If ZB_AMT '0.00' and

SOURCE_FIELDS-/BIC/ZB_TPE1 = 'PERCENTAGE'

the result should be

CONCATENATE SOURCE_FIELDS-/BIC/ZB_AMT '%' INTO RESULT.


if zb_amt = '0.00' and SOURCE_FIELDS-/BIC/ZB_TPE1 = 'AMOUNT'.
CONCATENATE '$' SOURCE_FIELDS-/BIC/ZB_AMT INTO RESULT.
endif.

if zb_amt = '0.00' and SOURCE_FIELDS-/BIC/ZB_TPE1 = 'PERCENTAGE'.
CONCATENATE SOURCE_FIELDS-/BIC/ZB_AMT '%' INTO RESULT.
endif.

you can use a case statement as well


if zb_amt = '0.00'.
case SOURCE_FIELDS-/BIC/ZB_TPE1.
when 'AMOUNT'.
CONCATENATE '$' SOURCE_FIELDS-/BIC/ZB_AMT INTO RESULT.
when 'PERCENTAGE'.
CONCATENATE SOURCE_FIELDS-/BIC/ZB_AMT '%' INTO RESULT.
endcase.
endif.

Read only

0 Likes
585

Hi Jay,

Thanks for the update...Sorry i wasn't not clear in my posting

My requirment

If ZB_AMT = '0.00'

Then the result should be '0.00'

endif.

else

if ZB_AMT <> (not equal) '0.00' and

SOURCE_FIELDS-/BIC/ZB_TPE1 = 'AMOUNT'

the result should be

CONCATENATE '$' SOURCE_FIELDS-/BIC/ZB_AMT INTO RESULT.

If ZB_AMT <> (not equal) '0.00' and

SOURCE_FIELDS-/BIC/ZB_TPE1 = 'PERCENTAGE'

the result should be

CONCATENATE SOURCE_FIELDS-/BIC/ZB_AMT '%' INTO RESULT.

Read only

0 Likes
585
if zb_amt NE '0.00'.
case SOURCE_FIELDS-/BIC/ZB_TPE1.
when 'AMOUNT'.
CONCATENATE '$' SOURCE_FIELDS-/BIC/ZB_AMT INTO RESULT.
when 'PERCENTAGE'.
CONCATENATE SOURCE_FIELDS-/BIC/ZB_AMT '%' INTO RESULT.
endcase.

else.
move '0.00' to result.
endif.
Read only

0 Likes
585

Hi...

Please update

Read only

Former Member
0 Likes
585

Try this...

IF SOURCE_FIELDS-/BIC/ZB_AMT = '0.00'.

RESULT = '0.00'.

ELSE.

IF SOURCE_FIELDS-/BIC/ZB_TPE1 = 'AMOUNT' AND

SOURCE_FIELDS-/BIC/ZB_AMT '0.00'.

CONCATENATE '$' SOURCE_FIELDS-/BIC/ZBON_AMT INTO RESULT.

ENDIF.

IF SOURCE_FIELDS-/BIC/ZB_TPE1 = 'PERCENTAGE' AND

SOURCE_FIELDS-/BIC/ZB_AMT '0.00'.

CONCATENATE SOURCE_FIELDS-/BIC/ZB_AMT '%' INTO RESULT.

ENDIF.

ENDIF.

Regards,

Joy.