‎2008 Apr 25 7:20 AM
i have writter below code..
DATA: lv_amt1(18) TYPE c,
lv_amtint1(14) TYPE n,
lv_amtint2(3) TYPE n,
lv_sign(1) type c.
IF p_lv_fieldval >= 0.
lv_sign = '+'.
ELSEIF p_lv_fieldval < 0.
p_lv_fieldval = p_lv_fieldval * -1.
lv_sign = '-'.
ENDIF.
WRITE : p_lv_fieldval TO lv_amt1 NO-GROUPING.
SPLIT lv_amt1 AT '.' INTO lv_amtint1 lv_amtint2.
SHIFT lv_amtint1 RIGHT DELETING TRAILING space.
SHIFT lv_amtint2 LEFT DELETING LEADING space.
p_lv_amtchar1+1(14) = lv_amtint1.
p_lv_amtchar1+15(3) = lv_amtint2.
SHIFT p_lv_amtchar1 LEFT BY 1 PLACES.
CONCATENATE lv_sign p_lv_amtchar1 '0' INTO p_lv_amtchar1.
here p_lv_amtchar1 is 18 length..
what i have to do is that i have to utilize full 18 places i.e. if amt comes as in my case "+ 45714240" so i want to dispaly as "+00000000045714240"
so how to padd zeros in front of amount depending upon the value. there should not be places between + sign and amt, the place should be filled with zeros.
how to to this ??
‎2008 Apr 25 7:26 AM
‎2008 Apr 25 7:23 AM
use FM: conversion_exit_alpha_output for add leading zeros
Regards.
Dara.
‎2008 Apr 25 7:26 AM
‎2008 Apr 25 7:26 AM
‎2008 Apr 25 7:26 AM
Hi,
Try using CONVERSION_EXIT_ALPHA_OUTPUT Function Module by passing the field p_lv_amtchar1 for both import and export and print that variable, you will get the value with leading zeros.
Regards,
Satish
‎2008 Apr 25 7:26 AM
actually p_lv_amtchar1 is character field.. so in char field i have to add leading zeros.
‎2008 Apr 25 7:30 AM
whatever it may be if you want to add leading zeros use FM:CONVERSION_EXIT_ALPHA_INPUT
or
UNPACK <field> TO <field>.
Reward if useful.
Dara.
‎2008 Apr 25 7:27 AM
‎2008 Apr 25 7:35 AM
DATA: INT TYPE I.
calculate length of p_lv_amtchar1.
INT = STRLEN(p_lv_amtchar1).
calculate how many zeros to contactenate.
INT = 18 - INT.
add the required zeros to the string to make 18 char word.
DO INT times.
concatenate '0' p_lv_amtchar1 into p_lv_amtchar1.
ENDDO.
write:/ p_lv_amtchar1.