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

Output printing problem

Former Member
0 Likes
482

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.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
445

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.

2 REPLIES 2
Read only

Former Member
0 Likes
446

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.

Read only

0 Likes
445

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.