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

In report

Former Member
0 Likes
435

Hello experts

i have developed the report for mm module

the report name is INBOUND DELIVERY AND GOODS RECEIPT STATUS

Input is plant,material code,material group,vendor code ,date,

output format is

1.Inbound Delivery Document Number

2.Inbound Delivery Document Date

3.Vendor Code

4.Vendor Name

5.Vendor Delivery Note Number

6.Material Code

7.Material Description

8.Inbound Delivery Quantity

9.UoM

10.Material Document Number

11.Material Document Date

12Quantityinunitofentry

13.Unitofentry

14Processing Time for Goods Receipt

i have tried the logic is

FORM SELECT_DATA.

SELECT AVBELN ABLDAT ALIFNR CNAME1 ALIFEX BMATNR BMATKL BLFIMG BMEINS BWERKS BARKTX BVGBEL B~VGPOS

INTO CORRESPONDING FIELDS OF TABLE IT_LIKP_IDEL

FROM LIKP AS A

INNER JOIN LIPS AS B ON AVBELN = BVBELN

INNER JOIN LFA1 AS C ON ALIFNR = CLIFNR

WHERE B~WERKS IN S_WERKS

AND B~MATNR IN S_MATNR

AND B~MATKL IN S_MATKL

AND A~LIFNR IN S_LIFNR

AND A~BLDAT IN S_BLDAT.

READ TABLE IT_LIKP_IDEL INDEX 1.

IF SY-SUBRC = 0.

SELECT MBLNR ERFMG ERFME EBELN EBELP FROM MSEG INTO CORRESPONDING FIELDS OF TABLE IT_MSEG_IDEL

FOR ALL ENTRIES IN IT_LIKP_IDEL

WHERE EBELN = IT_LIKP_IDEL-VGBEL

AND EBELP = IT_LIKP_IDEL-VGPOS+1(5).

ENDIF.

READ TABLE IT_MSEG_IDEL INDEX 1.

IF SY-SUBRC = 0.

SELECT MBLNR BUDAT FROM MKPF INTO CORRESPONDING FIELDS OF TABLE IT_MKPF_IDEL

FOR ALL ENTRIES IN IT_MSEG_IDEL

WHERE MBLNR = IT_MSEG_IDEL-MBLNR.

ENDIF.

ENDFORM. "SELECT_DATA

FORM MAIN_DATA.

LOOP AT IT_MSEG_IDEL.

IT_FINAL_IDEL-MBLNR = IT_MSEG_IDEL-MBLNR.

IT_FINAL_IDEL-ERFMG = IT_MSEG_IDEL-ERFMG.

CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT'

EXPORTING

INPUT = IT_MSEG_IDEL-ERFME

LANGUAGE = SY-LANGU

IMPORTING

  • LONG_TEXT =

OUTPUT = IT_MSEG_IDEL-ERFME

  • SHORT_TEXT =

EXCEPTIONS

UNIT_NOT_FOUND = 1

OTHERS = 2

.

IF SY-SUBRC <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

IT_FINAL_IDEL-ERFME = IT_MSEG_IDEL-ERFME.

LOOP AT IT_LIKP_IDEL WHERE VGBEL = IT_MSEG_IDEL-EBELN AND VGPOS+1(5) = IT_MSEG_IDEL-EBELP.

IT_FINAL_IDEL-VBELN = IT_LIKP_IDEL-VBELN.

CONCATENATE IT_LIKP_IDEL-BLDAT6(2) IT_LIKP_IDEL-BLDAT4(2) IT_LIKP_IDEL-BLDAT+0(4)

INTO G_DATE SEPARATED BY '.'.

IT_FINAL_IDEL-BLDAT = G_DATE.

IT_FINAL_IDEL-LIFNR = IT_LIKP_IDEL-LIFNR.

IT_FINAL_IDEL-NAME1 = IT_LIKP_IDEL-NAME1.

IT_FINAL_IDEL-LIFEX = IT_LIKP_IDEL-LIFEX.

IT_FINAL_IDEL-MATNR = IT_LIKP_IDEL-MATNR.

IT_FINAL_IDEL-ARKTX = IT_LIKP_IDEL-ARKTX.

IT_FINAL_IDEL-LFIMG = IT_LIKP_IDEL-LFIMG.

CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT'

EXPORTING

INPUT = IT_LIKP_IDEL-MEINS

LANGUAGE = SY-LANGU

IMPORTING

  • LONG_TEXT =

OUTPUT = IT_LIKP_IDEL-MEINS

  • SHORT_TEXT =

EXCEPTIONS

UNIT_NOT_FOUND = 1

OTHERS = 2

.

IF SY-SUBRC <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

IT_FINAL_IDEL-MEINS = IT_LIKP_IDEL-MEINS.

READ TABLE IT_MKPF_IDEL WITH KEY MBLNR = IT_MSEG_IDEL-MBLNR.

IF SY-SUBRC = 0.

CONCATENATE IT_MKPF_IDEL-BUDAT6(2) IT_MKPF_IDEL-BUDAT4(2) IT_MKPF_IDEL-BUDAT+0(4)

INTO G_DATE1 SEPARATED BY '.'.

IT_FINAL_IDEL-BUDAT = G_DATE1.

IT_FINAL_IDEL-PTGR = IT_MKPF_IDEL-BUDAT - IT_LIKP_IDEL-BLDAT.

ENDIF.

APPEND IT_FINAL_IDEL.

ENDLOOP.

IF SY-SUBRC NE 0.

APPEND IT_FINAL_IDEL.

ENDIF.

CLEAR: IT_FINAL_IDEL, IT_LIKP_IDEL, IT_MSEG_IDEL, IT_MKPF_IDEL.

ENDLOOP.

ENDFORM. "MAIN_DATA

i got the output ,but the only problem is records r getting repeated .

wher i have to rectify this problem

Regards

ds

Hello experts

i have developed the report for mm module

the report name is INBOUND DELIVERY AND GOODS RECEIPT STATUS

Input is plant,material code,material group,vendor code ,date,

output format is

1.Inbound Delivery Document Number

2.Inbound Delivery Document Date

3.Vendor Code

4.Vendor Name

5.Vendor Delivery Note Number

6.Material Code

7.Material Description

8.Inbound Delivery Quantity

9.UoM

10.Material Document Number

11.Material Document Date

12Quantityinunitofentry

13.Unitofentry

14Processing Time for Goods Receipt

i have tried the logic is

FORM SELECT_DATA.

SELECT AVBELN ABLDAT ALIFNR CNAME1 ALIFEX BMATNR BMATKL BLFIMG BMEINS BWERKS BARKTX BVGBEL B~VGPOS

INTO CORRESPONDING FIELDS OF TABLE IT_LIKP_IDEL

FROM LIKP AS A

INNER JOIN LIPS AS B ON AVBELN = BVBELN

INNER JOIN LFA1 AS C ON ALIFNR = CLIFNR

WHERE B~WERKS IN S_WERKS

AND B~MATNR IN S_MATNR

AND B~MATKL IN S_MATKL

AND A~LIFNR IN S_LIFNR

AND A~BLDAT IN S_BLDAT.

READ TABLE IT_LIKP_IDEL INDEX 1.

IF SY-SUBRC = 0.

SELECT MBLNR ERFMG ERFME EBELN EBELP FROM MSEG INTO CORRESPONDING FIELDS OF TABLE IT_MSEG_IDEL

FOR ALL ENTRIES IN IT_LIKP_IDEL

WHERE EBELN = IT_LIKP_IDEL-VGBEL

AND EBELP = IT_LIKP_IDEL-VGPOS+1(5).

ENDIF.

READ TABLE IT_MSEG_IDEL INDEX 1.

IF SY-SUBRC = 0.

SELECT MBLNR BUDAT FROM MKPF INTO CORRESPONDING FIELDS OF TABLE IT_MKPF_IDEL

FOR ALL ENTRIES IN IT_MSEG_IDEL

WHERE MBLNR = IT_MSEG_IDEL-MBLNR.

ENDIF.

ENDFORM. "SELECT_DATA

FORM MAIN_DATA.

LOOP AT IT_MSEG_IDEL.

IT_FINAL_IDEL-MBLNR = IT_MSEG_IDEL-MBLNR.

IT_FINAL_IDEL-ERFMG = IT_MSEG_IDEL-ERFMG.

CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT'

EXPORTING

INPUT = IT_MSEG_IDEL-ERFME

LANGUAGE = SY-LANGU

IMPORTING

  • LONG_TEXT =

OUTPUT = IT_MSEG_IDEL-ERFME

  • SHORT_TEXT =

EXCEPTIONS

UNIT_NOT_FOUND = 1

OTHERS = 2

.

IF SY-SUBRC <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

IT_FINAL_IDEL-ERFME = IT_MSEG_IDEL-ERFME.

LOOP AT IT_LIKP_IDEL WHERE VGBEL = IT_MSEG_IDEL-EBELN AND VGPOS+1(5) = IT_MSEG_IDEL-EBELP.

IT_FINAL_IDEL-VBELN = IT_LIKP_IDEL-VBELN.

CONCATENATE IT_LIKP_IDEL-BLDAT6(2) IT_LIKP_IDEL-BLDAT4(2) IT_LIKP_IDEL-BLDAT+0(4)

INTO G_DATE SEPARATED BY '.'.

IT_FINAL_IDEL-BLDAT = G_DATE.

IT_FINAL_IDEL-LIFNR = IT_LIKP_IDEL-LIFNR.

IT_FINAL_IDEL-NAME1 = IT_LIKP_IDEL-NAME1.

IT_FINAL_IDEL-LIFEX = IT_LIKP_IDEL-LIFEX.

IT_FINAL_IDEL-MATNR = IT_LIKP_IDEL-MATNR.

IT_FINAL_IDEL-ARKTX = IT_LIKP_IDEL-ARKTX.

IT_FINAL_IDEL-LFIMG = IT_LIKP_IDEL-LFIMG.

CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT'

EXPORTING

INPUT = IT_LIKP_IDEL-MEINS

LANGUAGE = SY-LANGU

IMPORTING

  • LONG_TEXT =

OUTPUT = IT_LIKP_IDEL-MEINS

  • SHORT_TEXT =

EXCEPTIONS

UNIT_NOT_FOUND = 1

OTHERS = 2

.

IF SY-SUBRC <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

IT_FINAL_IDEL-MEINS = IT_LIKP_IDEL-MEINS.

READ TABLE IT_MKPF_IDEL WITH KEY MBLNR = IT_MSEG_IDEL-MBLNR.

IF SY-SUBRC = 0.

CONCATENATE IT_MKPF_IDEL-BUDAT6(2) IT_MKPF_IDEL-BUDAT4(2) IT_MKPF_IDEL-BUDAT+0(4)

INTO G_DATE1 SEPARATED BY '.'.

IT_FINAL_IDEL-BUDAT = G_DATE1.

IT_FINAL_IDEL-PTGR = IT_MKPF_IDEL-BUDAT - IT_LIKP_IDEL-BLDAT.

ENDIF.

APPEND IT_FINAL_IDEL.

ENDLOOP.

IF SY-SUBRC NE 0.

APPEND IT_FINAL_IDEL.

ENDIF.

CLEAR: IT_FINAL_IDEL, IT_LIKP_IDEL, IT_MSEG_IDEL, IT_MKPF_IDEL.

ENDLOOP.

ENDFORM. "MAIN_DATA

i got the output ,but the only problem is records r getting repeated .

wher i have to rectify this problem

Regards

ds

2 REPLIES 2
Read only

Former Member
0 Likes
398

hi

If the records are repeating, then you can sort the final table and delete adjacent duplicates from <internal table name> comparing all fields.

Regards,

Navneet

Read only

jayanthi_jayaraman
Active Contributor
0 Likes
398

Hi,

Try making IT_LIKP_IDEL as outside loop and IT_MSEG_IDEL as inner loop.