2007 Mar 27 10:11 AM
Hi all,
I need to remove the decimal places below 200,000 for menge(open qty).
please advise me how can i remove it.
file layout :
"B","12345-DEV","5500000028"," 200,000","20070323","20070310","0000001009",
code below.
FORM DOWNLOAD.
DATA : L_MENGE(20) TYPE C,
L_TEXT(300) TYPE C,
L_TAB VALUE ',',
L_QUOTE VALUE '"',
L_EINDT(8),
L_LINES TYPE I,
L_AEDAT(8).
OPEN DATASET P_FILE FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
LOOP AT ITAB.
WRITE : ITAB-MENGE TO L_MENGE RIGHT-JUSTIFIED.
CONDENSE : ITAB-PRDHA,
ITAB-MATNR,
ITAB-EBELN,
ITAB-LIFNR,
ITAB-PRDHA_1 NO-GAPS.
L_EINDT = ITAB-EINDT+0(8).
L_AEDAT = ITAB-AEDAT+0(8).
CONCATENATE L_QUOTE ITAB-PRDHA L_QUOTE L_TAB
L_QUOTE ITAB-MATNR L_QUOTE L_TAB
L_QUOTE ITAB-EBELN L_QUOTE L_TAB
L_QUOTE L_MENGE L_QUOTE L_TAB
L_QUOTE L_AEDAT L_QUOTE L_TAB
L_QUOTE L_EINDT L_QUOTE L_TAB
L_QUOTE ITAB-LIFNR L_QUOTE L_TAB
L_QUOTE ITAB-PRDHA_1 L_QUOTE INTO L_TEXT.
TRANSFER L_TEXT TO P_FILE.
ENDLOOP.
CLOSE DATASET P_FILE.
2007 Mar 27 10:14 AM
Hi!
WRITE l_menge TO l_menge DECIMALS 0.
Use it within the loop, before the concatenate...
Regards
Tamá
Hi!
WRITE l_menge TO l_menge DECIMALS 0.
Use it within the loop, before the concatenate...
Regards
Tamá
2007 Mar 27 10:14 AM
Hi!
WRITE l_menge TO l_menge DECIMALS 0.
Use it within the loop, before the concatenate...
Regards
Tamá
2007 Mar 27 10:23 AM
2007 Mar 27 10:15 AM
hi,
declare it as type P vairable with decimals 0.
i.e,
data : v_menge(12) type p decimals 0.Regards,
Santosh
2007 Mar 27 10:21 AM
You can remove the decimal with writing the field value to an interger
<b>Write v_decimal TO v_int.</b>
<b>OR</b>
DATA: X TYPE P DECIMALS 3 VALUE '1.267',
Y TYPE F VALUE '125.456E2'.
WRITE: /X DECIMALS 0, "output: 1
/X DECIMALS 2, "output: 1.27
/X DECIMALS 5, "output: 1.26700
/Y DECIMALS 1, "output: 1.3E+04
/Y DECIMALS 5, "output: 1.25456E+04
/Y DECIMALS 20. "output: 1.25456000000000E+04
Assign points if it helps you.
- Gaurang
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |