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

Report Modification required

Former Member
0 Likes
415

Hi all ,

basically i have two internal table it_clearance and it_fnl.

in it_clearance i do not want to include field called SPART and in it_fnl i want to include field by getting its contents from MARA Table and join the field to it_fnl wwhich already have contents of it_clearance in it... just check the code below and please help me guys...... Problem solving help is highly rewarded...

REPORT zsd_clearance NO STANDARD PAGE HEADING LINE-SIZE 300 LINE-COUNT 55(2).

  • Tables----------------------------------------------------------------*

TABLES : j_1iexcdtl,

t001w.

.

  • Internal Tables -----------------------------------------------------*

DATA : BEGIN OF it_clearance OCCURS 0,

werks LIKE j_1iexcdtl-werks,

matnr LIKE j_1iexcdtl-matnr,

kunag LIKE j_1iexchdr-kunag,

exdat LIKE j_1iexcdtl-exdat,

menge LIKE j_1iexcdtl-menge,

zmmyy TYPE j_1iexcdtl-exdat,

spart LIKE mara-spart,

END OF it_clearance.

DATA : BEGIN OF it_mth OCCURS 0,

kunag LIKE j_1iexchdr-kunag,

zmmyy(6) ,

END OF it_mth.

data : it_fnl like it_clearance occurs 0 with header line.

DATA: v_from(8),

zmy(8),

ymmyy(8),

zspart like mara-spart,

zmenge LIKE J_1Iexcdtl-menge,

ymenge LIKE J_1Iexcdtl-menge,

v_depo(90).

  • Selection Parameters ***********************************************

SELECTION-SCREEN : BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.

SELECT-OPTIONS : s_exdat for j_1iexcdtl-exdat.

*PARAMETERS : s_kunag type j_1iexchdr-kunag .

SELECTION-SCREEN : END OF BLOCK b1.

**********************************************************************

*******************************SELECTION-SCREEN**************************

AT SELECTION-SCREEN.

  • Validate test for Plant in selections

  • IF NOT s_werks IS INITIAL.

  • SELECT SINGLE * FROM t001w

  • WHERE werks = s_werks.

  • IF sy-subrc NE 0.

  • MESSAGE e600(fr) WITH 'This Plant '

  • s_werks ' does not exist.'

  • ENDIF.

  • ENDIF.

                                                • Start of Selection ********************************

START-OF-SELECTION.

PERFORM clear_all.

perform get_data.

***************************************************************************

  • Top of page-------------------------------------------------------------*

TOP-OF-PAGE.

WRITE :/45 'ADITYA BIRLA NUVO LIMITED. (UNIT : INDIAN RAYON) Run Date : ' ,sy-datum, 'Page No : ',sy-pagno.

ULINE AT /(185).

FORMAT COLOR 1 INTENSIFIED OFF.

WRITE 😕 'Dealer',10 'Plant',

  • 20 'Colour',

  • 40 'Type',

25 'Apr',

35 'May',

45 'Jun',

55 'Jul',

65 'Aug',

75 'Sep',

85 'Oct',

95 'Nov',

105 'Dec',

115 'Jan',

125 'Feb',

135 'Mar',

140 'Total'.

FORMAT COLOR OFF.

ULINE AT /(185).

  • End of page -----------------------------------------------------------------*

END-OF-PAGE.

ULINE (185).

&----


*& Form clear_all

&----


  • Clear All Iternal tables and Varialbes

----


FORM clear_all .

REFRESH: it_clearance.

ENDFORM. " clear_all

&----


*& Form get_data

&----


  • Get the Datas for Dealer Performance Report

----


FORM get_data .

SELECT awerks bmatnr akunag aexdat sum( b~menge ) as menge

into corresponding fields of table it_clearance

from j_1iexcdtl as b inner join j_1iexchdr as a

on awerks eq bwerks

and aexnum eq bexnum

and aexdat eq bexdat

and adocno eq bdocno

and adocyr eq bdocyr

WHERE a~werks = '1010'

  • and a~kunag in s_kunag

and a~exdat in s_exdat

  • and a~exgrp = '11'

  • and a~srgrp = '08'

group by awerks bmatnr akunag aexdat.

IF SY-DBCNT EQ 0.

WRITE:/1 ' NO RECORDS FOUND'.

ENDIF.

CHECK NOT it_clearance[] IS INITIAL .

DELETE it_clearance where matnr = ''.

it_fnl[] = it_clearance[].

Select spart from mara

into corresponding fields of table it_fnl

for all entries in it_clearance

where matnr = it_clearance-matnr.

  • modify table it_fnl.

SORT it_fnl BY kunag exdat.

LOOP AT it_fnl.

CONCATENATE it_fnl-exdat6(2) it_fnl-exdat4(2) INTO zmy.

it_mth-kunag = it_fnl-kunag.

it_mth-zmmyy = it_fnl-zmmyy.

MOVE: zmy TO it_fnl-zmmyy.

MODIFY TABLE it_fnl.

APPEND it_mth.

ENDLOOP.

SORT it_fnl BY kunag zmmyy.

SORT it_mth BY kunag zmmyy.

DELETE ADJACENT DUPLICATES FROM it_mth .

LOOP AT it_mth.

LOOP AT it_fnl WHERE kunag EQ it_mth-kunag

AND zmmyy EQ it_mth-zmmyy.

zmenge = zmenge + it_fnl-menge.

ymenge = ymenge + it_fnl-menge.

WRITE: /1 it_fnl-kunag,' ',zmy,' ',it_fnl-spart,' ',it_fnl-exdat,' ',zmenge.

ENDLOOP.

zmenge = ' '.

ymenge = ' '.

SKIP.

ENDLOOP.

SKIP.

SKIP.

ULINE.

WRITE: /1 'Grand total :' ,' ',ymenge.

ENDFORM. " get_data

regards,

Naveen Kumar T.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
384

hi,

remove spart LIKE mara-spart from it_clearance and use another internal table.

data : begin of it_mara occurs 0,

matnr LIKE mara-matnr,

spart LIKE mara-spart

end of it_mara.

DATA : BEGIN OF it_clearance OCCURS 0,

werks LIKE j_1iexcdtl-werks,

matnr LIKE j_1iexcdtl-matnr,

kunag LIKE j_1iexchdr-kunag,

exdat LIKE j_1iexcdtl-exdat,

menge LIKE j_1iexcdtl-menge,

zmmyy TYPE j_1iexcdtl-exdat,

END OF it_clearance

*select statement

Select matnr spart from mara

into table it_mara

for all entries in it_clearance

where matnr = it_clearance-matnr.

if sy-subrc = 0.

delete adjacent duplicates from it_mara comparing matnr.

endif.

for populating final internal table

in this loop make changes

LOOP AT it_fnl.

CONCATENATE it_fnl-exdat6(2) it_fnl-exdat4(2) INTO zmy.

it_mth-kunag = it_fnl-kunag.

it_mth-zmmyy = it_fnl-zmmyy.

MOVE: zmy TO it_fnl-zmmyy.

MODIFY TABLE it_fnl.

APPEND it_mth.

ENDLOOP

replace above loop by this one.

sort it_fnl by matnr.

sort it_mata by matnr.

loop at it_fnl.

read table it_mara with key matnr = it_fnl-matnr binary search.

if sy-subrc = 0.

it_fnl-spart = it_mara-spart.

endif.

CONCATENATE it_fnl-exdat6(2) it_fnl-exdat4(2) INTO zmy.

it_mth-kunag = it_fnl-kunag.

it_mth-zmmyy = it_fnl-zmmyy.

MOVE: zmy TO it_fnl-zmmyy.

MODIFY TABLE it_fnl.

APPEND it_mth.

ENDLOOP

1 REPLY 1
Read only

Former Member
0 Likes
385

hi,

remove spart LIKE mara-spart from it_clearance and use another internal table.

data : begin of it_mara occurs 0,

matnr LIKE mara-matnr,

spart LIKE mara-spart

end of it_mara.

DATA : BEGIN OF it_clearance OCCURS 0,

werks LIKE j_1iexcdtl-werks,

matnr LIKE j_1iexcdtl-matnr,

kunag LIKE j_1iexchdr-kunag,

exdat LIKE j_1iexcdtl-exdat,

menge LIKE j_1iexcdtl-menge,

zmmyy TYPE j_1iexcdtl-exdat,

END OF it_clearance

*select statement

Select matnr spart from mara

into table it_mara

for all entries in it_clearance

where matnr = it_clearance-matnr.

if sy-subrc = 0.

delete adjacent duplicates from it_mara comparing matnr.

endif.

for populating final internal table

in this loop make changes

LOOP AT it_fnl.

CONCATENATE it_fnl-exdat6(2) it_fnl-exdat4(2) INTO zmy.

it_mth-kunag = it_fnl-kunag.

it_mth-zmmyy = it_fnl-zmmyy.

MOVE: zmy TO it_fnl-zmmyy.

MODIFY TABLE it_fnl.

APPEND it_mth.

ENDLOOP

replace above loop by this one.

sort it_fnl by matnr.

sort it_mata by matnr.

loop at it_fnl.

read table it_mara with key matnr = it_fnl-matnr binary search.

if sy-subrc = 0.

it_fnl-spart = it_mara-spart.

endif.

CONCATENATE it_fnl-exdat6(2) it_fnl-exdat4(2) INTO zmy.

it_mth-kunag = it_fnl-kunag.

it_mth-zmmyy = it_fnl-zmmyy.

MOVE: zmy TO it_fnl-zmmyy.

MODIFY TABLE it_fnl.

APPEND it_mth.

ENDLOOP