‎2009 Nov 14 9:46 AM
hi guriji,
i have written this code. in t_out internal table we got write value. when we execute write statement it shows only one value.not whole value what are the t_out internal table. so plz tell me what are problem in write statement.
REPORT ZLOSS_TIME NO STANDARD PAGE HEADING LINE-SIZE 259.
TABLES: ZV_PLAN.
DATA: BEGIN OF T_ITAB OCCURS 0,
BUDAT TYPE ZV_PLAN-BUDAT,
ZLTRD TYPE ZV_PLAN-ZLTRD,
DURATION TYPE ZV_PLAN-duration,
MDV01 TYPE ZV_PLAN-MDV01,
GRUND TYPE ZV_PLAN-GRUND,
GRDTX TYPE ZV_PLAN-GRDTX,
PRODT TYPE ZV_PLAN-PRODT,
PRODQ TYPE ZV_PLAN-PRODQ,
MANP TYPE ZV_PLAN-MANP,
END OF T_ITAB.
DATA : I TYPE I.
DATA: BEGIN OF T_OUT OCCURS 0,
BUDAT TYPE ZV_PLAN-BUDAT,
PRODT TYPE ZV_PLAN-PRODT,
PRODQ TYPE ZV_PLAN-PRODT,
MANP TYPE ZV_PLAN-PRODT,
MF TYPE ZV_PLAN-DURATION,
FOS TYPE ZV_PLAN-DURATION,
BOP TYPE ZV_PLAN-DURATION,
BQ TYPE ZV_PLAN-DURATION,
LF TYPE ZV_PLAN-DURATION,
FG TYPE ZV_PLAN-DURATION,
AF TYPE ZV_PLAN-DURATION,
FIX TYPE ZV_PLAN-DURATION,
MP TYPE ZV_PLAN-DURATION,
GRUND TYPE ZV_PLAN-GRUND ,
END OF T_OUT.
START-OF-SELECTION.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS: DATE FOR ZV_PLAN-BUDAT.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 01.
PARAMETERS: R1 RADIOBUTTON GROUP GRP1 DEFAULT 'X'.
SELECTION-SCREEN COMMENT (18) TEXT-002.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 01.
PARAMETERS: R4 RADIOBUTTON GROUP GRP1.
SELECTION-SCREEN COMMENT (18) TEXT-005.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK B1.
SELECT BUDAT DURATION MDV01 GRUND GRDTX PRODT PRODQ MANP FROM ZV_PLAN INTO CORRESPONDING FIELDS OF TABLE T_ITAB
WHERE WERKS = 'KMLS' AND BUDAT IN DATE AND MDV01 = 'SAS01'.
SORT T_ITAB BY BUDAT.
IF R1 = 'X'.
READ TABLE T_ITAB WITH KEY BUDAT = T_ITAB-BUDAT.
LOOP AT T_ITAB.
IF T_ITAB-GRUND = '0002'.
T_OUT-MF = T_ITAB-DURATION.
ELSEIF T_ITAB-GRUND = '0007'.
T_OUT-FOS = T_ITAB-DURATION.
ELSEIF T_ITAB-GRUND = '0008'.
T_OUT-BOP = T_ITAB-DURATION.
ELSEIF T_ITAB-GRUND = '0003'.
T_OUT-BQ = T_ITAB-DURATION.
ELSEIF T_ITAB-GRUND = '0009'.
T_OUT-LF = T_ITAB-DURATION.
ELSEIF T_ITAB-GRUND = '0010'.
T_OUT-FG = T_ITAB-DURATION.
ELSEIF T_ITAB-GRUND = '0011'.
T_OUT-AF = T_ITAB-DURATION.
ELSEIF T_ITAB-GRUND = '0004'.
T_OUT-FIX = T_ITAB-DURATION.
ELSEIF T_ITAB-GRUND = '0001'.
T_OUT-MP = T_ITAB-DURATION.
ENDIF.
T_OUT-PRODT = T_ITAB-PRODT.
T_OUT-PRODQ = T_ITAB-PRODQ.
T_OUT-MANP = T_ITAB-MANP.
T_OUT-BUDAT = T_ITAB-BUDAT.
T_OUT-GRUND = T_ITAB-GRUND.
APPEND T_OUT.
CLEAR T_OUT.
ENDLOOP.
endif.
SORT T_OUT BY BUDAT.
LOOP AT T_OUT.
WRITE:1 SY-VLINE, 3 T_OUT-BUDAT,
14 SY-VLINE, 18 T_OUT-PRODT,
31 SY-VLINE, 35 T_OUT-PRODQ,
46 SY-VLINE, 48 T_OUT-MANP,
55 SY-VLINE, 58 T_OUT-MF,
75 SY-VLINE, 79 T_OUT-FOS,
98 SY-VLINE, 99 T_OUT-BOP,
113 SY-VLINE, 116 T_OUT-BQ,
133 SY-VLINE, 136 T_OUT-LF,
167 SY-VLINE, 170 T_OUT-FG,
187 SY-VLINE, 191 T_OUT-AF,
217 SY-VLINE, 222 T_OUT-FIX ,
242 SY-VLINE, 244 T_OUT-MP,
259 SY-VLINE.
ENDLOOP.thanks.
‎2009 Nov 14 10:14 AM
Hello,
Its very simple, Use WRITE: / in your write statement. This is Mandatory to print record in new line.
LOOP AT t_out.
WRITE: /1 sy-vline, 3 t_out-budat, " use '/'to print in next line
14 sy-vline, 18 t_out-prodt,
31 sy-vline, 35 t_out-prodq,
46 sy-vline, 48 t_out-manp,
55 sy-vline, 58 t_out-mf,
75 sy-vline, 79 t_out-fos,
98 sy-vline, 99 t_out-bop,
113 sy-vline, 116 t_out-bq,
133 sy-vline, 136 t_out-lf,
167 sy-vline, 170 t_out-fg,
187 sy-vline, 191 t_out-af,
217sy-vline, 222 t_out-fix,
242 sy-vline, 244 t_out-mp,
259 sy-vline.
ENDLOOP
It will help your requirement.
Anil.
‎2009 Nov 14 10:14 AM
Hello,
Its very simple, Use WRITE: / in your write statement. This is Mandatory to print record in new line.
LOOP AT t_out.
WRITE: /1 sy-vline, 3 t_out-budat, " use '/'to print in next line
14 sy-vline, 18 t_out-prodt,
31 sy-vline, 35 t_out-prodq,
46 sy-vline, 48 t_out-manp,
55 sy-vline, 58 t_out-mf,
75 sy-vline, 79 t_out-fos,
98 sy-vline, 99 t_out-bop,
113 sy-vline, 116 t_out-bq,
133 sy-vline, 136 t_out-lf,
167 sy-vline, 170 t_out-fg,
187 sy-vline, 191 t_out-af,
217sy-vline, 222 t_out-fix,
242 sy-vline, 244 t_out-mp,
259 sy-vline.
ENDLOOP
It will help your requirement.
Anil.
‎2009 Nov 14 10:43 AM
hi
what u r telling that i know.
but my requirement is different , i want to print the loss time based on the GRUND. there are approx 10 reason . In a particular date because 10 reason 10 different loss time . these loss time i want to print in a single . but when i given what u told that print 10 lines for a particular date.but i want in a single line.
and tell one more thing when i send a code that is not send by code text for this what i do.and how u select that editors in which u send the reply.
thanks.