2007 May 19 4:32 AM
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.
2007 May 19 4:35 AM
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
2007 May 19 4:38 AM
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
2007 May 19 4:45 AM
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
2007 May 19 5:01 AM
Thanks for replying.
IT_COLLECT-TRGQTY1 still showing 0.000, how can i convert it to just 0 ?
Thanks
2007 May 19 5:04 AM
Declare one variable as integer then pass ur value to intger..
now you will get 0.
2007 May 19 5:04 AM
Hi,
do you want to display 0 in the output??If so Is it alv??
Thanks,
Naren
2007 May 19 5:08 AM
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.
2007 May 19 5:10 AM
May I know how can I strip the zero in front?
for example : " 0.001", i wan it to be "0.001" ?
2007 May 19 5:13 AM
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
2007 May 19 5:14 AM
Hi,
Don't move it to the character before the IF condition..Check my previous reply..
Thanks,
Naren
2007 May 19 5:17 AM
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.
2007 May 19 5:21 AM
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