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

insert date fields in output

former_member659396
Participant
0 Likes
453

REPORT ZREPORT14.

tables: kna1,vbak,vbap.

select-options : date for vbak-erdat.

DATA : BEGIN OF IT_ITAB occurs 0,

  • month(2) TYPE C ,

KUNNR LIKE KNA1-KUNNR,

NAME1 LIKE KNA1-NAME1,

VBELN LIKE VBAK-VBELN,

ERDAT LIKE VBAK-ERDAT,

meins like vbap-meins,

kwmeng like vbap-kwmeng,

end of IT_itab.

*

*DATA : LV_DAT TYPE TABLE OF IT_ITAB,

  • LS_VBAK TYPE TABLE OF IT_ITAB.

SELECT KNA1KUNNR KNA1NAME1 VBAKVBELN VBAKERDAT VBAP~MEINS

VBAP~KWMENG

INTO TABLE it_ITAB FROM ( ( KNA1 INNER JOIN vbaK ON KNA1~KUNNR =

VBAK~KUNNR )

INNER JOIN VBAP ON VBAKVBELN = VBAPVBELN ) WHERE

VBAK~ERDAT IN DATE.

DATA: BEGIN OF LS_DAT OCCURS 0,

month TYPE C ,

END OF LS_DAT.

LOOP AT LS_DAT.

*LS_DAT-MONTH = IT_ITAB-ERDAT+4(2).

*ITAB2-LS_DAT = IT_ITAB-ERDAT+4(2).

LS_DAT-MONTH = IT_ITAB-ERDAT.

*VBAP-ERDAT = ITAB2-MONTH.

CASE SY-DATUM.

WHEN 'LS_DAT-MONTH = 01'.

LS_DAT-MONTH = 'JAN_QUANTITY'.

WHEN 'LS_DAT-MONTH = 02'.

LS_DAT-MONTH = 'FEB_QUANTITY'.

WHEN 'LS_DAT-MONTH = 03'.

LS_DAT-MONTH = 'MARCH_QUANTITY'.

WHEN 'LS_DAT-MONTH = 04'.

LS_DAT-MONTH = 'APR_QUANTITY'.

WHEN 'LS_DAT-MONTH = 05'.

LS_DAT-MONTH = 'MAY_QUANTITY'.

WHEN 'LS_DAT-MONTH = 06'.

LS_DAT-MONTH = 'JUN_QUANTITY'.

WHEN 'LS_DAT-MONTH = 07'.

LS_DAT-MONTH = 'JUL_QUANTITY'.

WHEN 'LS_DAT-MONTH = 08'.

LS_DAT-MONTH = 'AUG_QUANTITY'.

WHEN 'LS_DAT-MONTH = 09'.

LS_DAT-MONTH = 'SEP_QUANTITY'.

WHEN 'LS_DAT-MONTH = 10'.

LS_DAT-MONTH = 'OCT_QUANTITY'.

WHEN 'LS_DAT-MONTH = 11'.

LS_DAT-MONTH = 'NOV_QUANTITY'.

WHEN 'LS_DAT-MONTH = 12'.

LS_DAT-MONTH = 'DEC_QUANTITY'.

ENDCASE.

  • endcase.

*APPEND ITAB2.

ENDLOOP.

LOOP AT it_itab.

LS_DAT-MONTH = IT_ITAB-ERDAT+4(2).

LOOP AT LS_DAT.

WRITE :/40 LS_DAT-MONTH.

ENDLOOP.

WRITE :/1 IT_ITAB-KUNNR,

15 IT_ITAB-NAME1.

ENDLOOP.

dear friends above is my coding ..but i am not able to display month field by abov logic

please suggest me any changes in the codin to display out put with date fields also along with fields in write statement.

rohan

2 REPLIES 2
Read only

franois_henrotte
Active Contributor
0 Likes
427

you should replace month field for each record like this:


LOOP AT it_itab.
LOOP AT LS_DAT.
LS_DAT-MONTH = IT_ITAB-ERDAT+4(2).

WRITE :/40 LS_DAT-MONTH.
ENDLOOP.

WRITE :/1 IT_ITAB-KUNNR,
15 IT_ITAB-NAME1.

ENDLOOP.

Read only

0 Likes
427

hi,

modify as the following

TABLES: kna1,vbak,vbap.

SELECT-OPTIONS : date FOR vbak-erdat.

data: BEGIN OF it_itab OCCURS 0,

month(20) TYPE c ,

kunnr LIKE kna1-kunnr,

name1 LIKE kna1-name1,

vbeln LIKE vbak-vbeln,

erdat LIKE vbak-erdat,

meins LIKE vbap-meins,

kwmeng LIKE vbap-kwmeng,

END OF it_itab.

*

*DATA : lv_dat TYPE TABLE OF it_itab,

*

*ls_vbak TYPE TABLE OF it_itab.

SELECT kna1kunnr kna1name1 vbakvbeln vbakerdat vbap~meins

vbap~kwmeng

INTO CORRESPONDING FIELDS OF TABLE it_itab FROM ( ( kna1 INNER JOIN vbak ON kna1~kunnr =

vbak~kunnr )

INNER JOIN vbap ON vbakvbeln = vbapvbeln ) WHERE

vbak~erdat IN date.

DATA: BEGIN OF ls_dat OCCURS 0,

month(15) TYPE c,

END OF ls_dat.

LOOP AT it_itab.

ls_dat-month = it_itab-erdat+4(2).

CASE ls_dat-month.

WHEN '01'.

ls_dat-month = 'JAN_QUANTITY'.

WHEN '02'.

ls_dat-month = 'FEB_QUANTITY'.

WHEN '03'.

ls_dat-month = 'MARCH_QUANTITY'.

WHEN '04'.

ls_dat-month = 'APR_QUANTITY'.

WHEN '05'.

ls_dat-month = 'MAY_QUANTITY'.

WHEN '06'.

ls_dat-month = 'JUN_QUANTITY'.

WHEN '07'.

ls_dat-month = 'JUL_QUANTITY'.

WHEN '08'.

ls_dat-month = 'AUG_QUANTITY'.

WHEN '09'.

ls_dat-month = 'SEP_QUANTITY'.

WHEN '10'.

ls_dat-month = 'OCT_QUANTITY'.

WHEN '11'.

ls_dat-month = 'NOV_QUANTITY'.

WHEN '12'.

ls_dat-month = 'DEC_QUANTITY'.

ENDCASE.

it_itab-month = ls_dat-month.

modify it_itab.

*ENDCASE.

*APPEND ITAB2.

ENDLOOP.

*

LOOP AT it_itab.

WRITE :/1 it_itab-month,40 it_itab-kunnr,

60 it_itab-name1.

ENDLOOP.