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

convert to 0

Former Member
0 Likes
1,478

Hi,

I have tried to convert '0.001' to 0 for packpo-trgqty, but somehow it does not work.

the domain for this field is QUAN.

can anyone help? Thanks

IF NOT IT_COLLECT[] IS INITIAL.

LOOP AT IT_COLLECT.

IF IT_COLLECT-TRGQTY1 EQ '0.001'.

IT_COLLECT-TRGQTY1 = 0.

ENDIF.

IF IT_COLLECT-TRGQTY2 EQ '0.001'.

IT_COLLECT-TRGQTY2 = 0.

ENDIF.

IF IT_COLLECT-TRGQTY3 EQ '0.001'.

IT_COLLECT-TRGQTY3 = 0.

ENDIF.

ENDLOOP.

ENDIF.

Hi,

I have tried to convert '0.001' to 0 for packpo-trgqty, but somehow it does not work.

the domain for this field is QUAN.

can anyone help? Thanks

IF NOT IT_COLLECT[] IS INITIAL.

LOOP AT IT_COLLECT.

IF IT_COLLECT-TRGQTY1 EQ '0.001'.

IT_COLLECT-TRGQTY1 = 0.

ENDIF.

IF IT_COLLECT-TRGQTY2 EQ '0.001'.

IT_COLLECT-TRGQTY2 = 0.

ENDIF.

IF IT_COLLECT-TRGQTY3 EQ '0.001'.

IT_COLLECT-TRGQTY3 = 0.

ENDIF.

ENDLOOP.

ENDIF.

12 REPLIES 12
Read only

Former Member
0 Likes
1,343

Hi,

Are you using the MODIFY statement to update the internal table..


LOOP AT IT_COLLECT.

IF IT_COLLECT-TRGQTY1 EQ '0.001'.
IT_COLLECT-TRGQTY1 = 0.
ENDIF.

IF IT_COLLECT-TRGQTY2 EQ '0.001'.
IT_COLLECT-TRGQTY2 = 0.
ENDIF.

IF IT_COLLECT-TRGQTY3 EQ '0.001'.
IT_COLLECT-TRGQTY3 = 0.
ENDIF.

MODIFY IT_COLLECT.         " Inserted code here..

ENDLOOP.

Thanks,

Naren

Read only

Former Member
0 Likes
1,343

Declare varaible whcsh should be like ur quan fields

data : v_quan type ur quan field value '000.1'.

IF NOT IT_COLLECT[] IS INITIAL.

LOOP AT IT_COLLECT.

IF IT_COLLECT-TRGQTY1 EQ v_quan.

IT_COLLECT-TRGQTY1 = 0.

ENDIF.

IF IT_COLLECT-TRGQTY2 EQ v_quan.

IT_COLLECT-TRGQTY2 = 0.

ENDIF.

IF IT_COLLECT-TRGQTY3 EQ v_quan.

IT_COLLECT-TRGQTY3 = 0.

ENDIF.

ENDLOOP.

ENDIF.

Reward Points if it is useful

Thanks

Seshu

Read only

Former Member
0 Likes
1,343

Hi,

Yoiu can also use CLEAR statement..


LOOP AT IT_COLLECT.
 
IF IT_COLLECT-TRGQTY1 EQ '0.001'.
CLEAR: IT_COLLECT-TRGQTY1.   " Changed here
ENDIF.
 
IF IT_COLLECT-TRGQTY2 EQ '0.001'.
CLEAR: IT_COLLECT-TRGQTY2.   " Changed here
ENDIF.
 
IF IT_COLLECT-TRGQTY3 EQ '0.001'.
CLEAR: IT_COLLECT-TRGQTY3.   " Changed here
ENDIF.
 
MODIFY IT_COLLECT.         " Inserted code here..
 
ENDLOOP.

Thanks,

Naren

Read only

0 Likes
1,343

Thanks for replying.

IT_COLLECT-TRGQTY1 still showing 0.000, how can i convert it to just 0 ?

Thanks

Read only

0 Likes
1,343

Declare one variable as integer then pass ur value to intger..

now you will get 0.

Read only

Former Member
0 Likes
1,343

Hi,

do you want to display 0 in the output??If so Is it alv??

Thanks,

Naren

Read only

0 Likes
1,343

I need to ftp the file, thus i need to convert all fields to character.

DATA : C_PINCOUNT(4) TYPE C,

C_PACKAGE(5) TYPE C,

C_PACKCODE(4) TYPE C,

C_CONTAINER(10) TYPE C,

C_TRGQTY1(10) TYPE C,

C_TRGQTY2(10) TYPE C,

C_TRGQTY3(10) TYPE C.

DATA: TEXT01(10) TYPE C VALUE 'PINCOUNT',

TEXT02(10) TYPE C VALUE 'PACKAGE',

TEXT03(10) TYPE C VALUE 'CONTAINER',

TEXT04(10) TYPE C VALUE 'P1 QTY',

TEXT05(10) TYPE C VALUE 'P2 QTY',

TEXT06(10) TYPE C VALUE 'P3 QTY',

TEXT07(20) TYPE C VALUE 'PACK OPTION CODE'.

IF DATASET = 'X'.

CONCATENATE TEXT01 TEXT02 TEXT03 TEXT04 TEXT05 TEXT06 TEXT07 INTO WA_DATA SEPARATED BY WA_FILTER.

TRANSFER WA_DATA TO P_FNAME LENGTH 300.

LOOP AT IT_COLLECT_ALL INTO WA_COLLECT_ALL.

C_PINCOUNT = WA_COLLECT_ALL-ZPINCOUNT.

C_PACKAGE = WA_COLLECT_ALL-ZPACKAGE.

C_PACKCODE = WA_COLLECT_ALL-ZPACK_OPT_CODE.

C_TRGQTY1 = WA_COLLECT_ALL-TRGQTY1.

IF C_TRGQTY1 = '0.001'.

C_TRGQTY1 = '0'.

ENDIF.

C_TRGQTY2 = WA_COLLECT_ALL-TRGQTY2.

IF C_TRGQTY2 = '0.001'.

C_TRGQTY2 = '0'.

ENDIF.

C_TRGQTY3 = WA_COLLECT_ALL-TRGQTY3.

IF C_TRGQTY3 = '0.001'.

C_TRGQTY3 = '0'.

ENDIF.

CONCATENATE C_PINCOUNT C_PACKAGE C_PACKCODE C_TRGQTY1 C_TRGQTY2 C_TRGQTY3

INTO WA_DATA SEPARATED BY WA_FILTER.

TRANSFER WA_DATA TO P_FNAME LENGTH 300.

ENDLOOP.

Read only

Former Member
0 Likes
1,343

May I know how can I strip the zero in front?

for example : " 0.001", i wan it to be "0.001" ?

Read only

Former Member
0 Likes
1,343

Hi,

Not sure what you are looking for..But try this...


IF C_TRGQTY1 = '0.001'.
C_TRGQTY1 = '0'.
ELSE.
C_TRGQTY1 = WA_COLLECT_ALL-TRGQTY1.
ENDIF.

IF C_TRGQTY2 = '0.001'.
C_TRGQTY2 = '0'.
ELSE.
C_TRGQTY2 = WA_COLLECT_ALL-TRGQTY2.
ENDIF.

IF C_TRGQTY3 = '0.001'.
C_TRGQTY3 = '0'.
ELSE.
C_TRGQTY3 = WA_COLLECT_ALL-TRGQTY3.
ENDIF.

Thanks,

Naren

Read only

Former Member
0 Likes
1,343

Hi,

Don't move it to the character before the IF condition..Check my previous reply..

Thanks,

Naren

Read only

0 Likes
1,343

I tried to use the following to display in ALV. However, it still shows 0.000, though i wan it to be just 0. Is this because of domain?

IF NOT IT_COLLECT[] IS INITIAL.

LOOP AT IT_COLLECT.

IF IT_COLLECT-TRGQTY1 EQ '0.000'.

  • IT_COLLECT-TRGQTY1 = 0.

CLEAR: IT_COLLECT-TRGQTY1.

ENDIF.

IF IT_COLLECT-TRGQTY2 EQ '0.000'.

  • IT_COLLECT-TRGQTY2 = 0.

CLEAR: IT_COLLECT-TRGQTY2.

ENDIF.

IF IT_COLLECT-TRGQTY3 EQ '0.000'.

  • IT_COLLECT-TRGQTY3 = 0.

CLEAR: IT_COLLECT-TRGQTY3.

ENDIF.

MODIFY IT_COLLECT.

ENDLOOP.

ENDIF.

Read only

Former Member
0 Likes
1,343

Hi,

To display correctly in the ALV output..

In the field catalog for the quantity field...Give the corresponding UOM column name in the field QFIELDNAME..

Ex..


S_FIELDCATALOG-FIELDNAME = 'MENGE'.  " Quantity field name
S_FIELDCATALOG-QFIELDNAME = 'MEINS'.  " UOM field name in the internal table

Also make the UOM field is populated..

Thanks,

Naren