Application Development 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: 

report to display PO details and download details in an excel fil

Former Member
0 Kudos

Hi,

I have been asked to develop a report for "Develop report to display PO details and download details in an excel file".

Could any one guide me technically what are the different tables i need to take to generate the report. Treat this is very urgent. Pls provide sample code too....

Thanks in advance....

7 REPLIES 7

RichHeilman
Developer Advocate
Developer Advocate
0 Kudos

EKKO, EKPO, EKET, EKKN.

REgards,

RIch Heilman

0 Kudos

Could you provide me sample code so that i can start working.....

Thanks....!

0 Kudos

There are example programs all over the internet. Here is one.

http://www.geocities.com/SiliconValley/Grid/4858/sap/ABAPCode/OutPO.htm

Regards,

RIch Heilman

RichHeilman
Developer Advocate
Developer Advocate
0 Kudos

Here is another.

http://www.sap-img.com/abap/sample-alv-heading-in-alv.htm

REgards,

RIch Heilman

RichHeilman
Developer Advocate
Developer Advocate
0 Kudos

And yet another.....

http://www.sap-img.com/abap/an-interactive-alv-report.htm

Regards,

RIch Heilman

0 Kudos

Thanks Rich.....

Former Member
0 Kudos

Purchase Order PO

Tcode for creation ME21,ME22,ME23. tables EKKO,EKPO.

refer this program

REPORT ZPOCHANGE.

  • This is a subroutine perform in the Purchase order Layout sets.

  • Description : To retreive the details of changed remarks in PO output and to capture the retrival date

  • Additional features with the previous changed appearing. e.g. from .... to

  • Note : If the latest modification details required

  • Please Uncomment the lines mentioned under 'Last Modified Remarks only'

  • Information

  • /: PERFORM CHDATE IN PROGRAM ZPOCHANGE

  • /: USING &EKKO-EBELN&

  • /: CHANGING &RVDATE2&

  • /: ENDPERFORM.

  • /: IF &RVDATE2& EQ ' '.

  • / Revision Date: NIL

  • /: ELSE.

  • / Revision Date: &RVDATE2&

  • /: ENDIF.

  • Main Window

  • /E CHANGE_REMARKS

  • /: PERFORM CHDET IN PROGRAM ZPOCHANGE

  • /: USING &EKPO-EBELP&

  • /: USING &EKKO-EBELN&

  • /: USING &T166T-CHTXT&

  • /: USING &T166T-CTXNR&

  • /: CHANGING &ITAB1-F_NEW&

  • /: CHANGING &ITAB1-F_OLD&

  • /:ENDPERFORM.

  • /:IF &ITAB1-F_NEW& NE ' '

  • = &ITAB1-F_OLD(C)& CHANGED TO &ITAB1-F_NEW(C)&

  • /:ENDIF

  • You might need to apply Note 373524 - Message determination and printing

TABLES : CDSHW , "Change documents, formatting table

CDHDR , "Change document header

EKPO , "Purchasing Document Item

EKKO , "Purchasing Document Header

T166C . "Print-Relevant Purchasing Document Changes

DATA : ITAB1 LIKE CDSHW OCCURS 100 WITH HEADER LINE.

DATA : ITAB2 LIKE EKPO OCCURS 100 WITH HEADER LINE.

DATA : DOCUM LIKE EKKO OCCURS 100 WITH HEADER LINE.

DATA : TABKEY LIKE CDSHW-TABKEY.

data : begin of ctab occurs 10,

tname like t166c-tname,

fname like t166c-fname,

TABKEY LIKE CDSHW-TABKEY,

FLAG(3),

end of ctab.

DATA : VAL1(15), VAL2(15).

DATA : M1(20), M2(10), M3(10),M4(5).

DATA : RVDATE(10),RVDATE2(10) , EBELN LIKE EKKO-EBELN, COUNT TYPE I.

  • Text number for change text(CTXNR), CHANGE TEXT(CHTXT), Purchase order

  • Number and item number are passed from Layoutset

----


  • FORM CHDET *

----


  • ........ *

----


  • --> ITAB *

  • --> OTAB *

----


FORM CHDET TABLES ITAB STRUCTURE ITCSY

OTAB STRUCTURE ITCSY.

LOOP AT ITAB.

CASE ITAB-NAME.

WHEN 'T166T-CHTXT'.

MOVE ITAB-VALUE TO M1.

WHEN 'T166T-CTXNR'.

MOVE ITAB-VALUE TO M2.

WHEN 'EKKO-EBELN'.

MOVE ITAB-VALUE TO M3.

WHEN 'EKPO-EBELP'.

MOVE ITAB-VALUE TO M4.

ENDCASE.

ENDLOOP.

  • Throught this function change details are retrived into itab1.

CALL FUNCTION 'ME_CHANGES_READ'

EXPORTING

DOCUMENT_CATEGORY = 'F'

DOCUMENT_NUMBER = M3

TABLES

XCDSHW = itab1.

SELECT SINGLE * FROM T166C WHERE CTXNR = M2.

IF SY-SUBRC = 0.

CONCATENATE M3 M4 INTO TABKEY.

********Last Modified Remarks only**********************

  • read table ctab with key tname = T166C-TNAME

  • tabkey = tabkey

  • fname = T166C-FNAME.

  • if sy-subrc ne 0.

LOOP AT ITAB1 WHERE TABNAME = T166C-TNAME

AND TABKEY+3(15) = TABKEY

AND FNAME = T166C-FNAME.

*********Last Modified Remarks only**********************

  • ctab-tname = t166c-tname.

  • ctab-fname = t166c-fname.

  • ctab-tabkey = tabkey.

  • append ctab.

delete itab1.

exit.

endloop.

  • Captured details are exported to Layoutset

LOOP AT OTAB.

CASE OTAB-NAME.

WHEN 'ITAB1-F_OLD'.

OTAB-VALUE = ITAB1-F_OLD.

MODIFY OTAB.

CLEAR : ITAB1-F_OLD.

WHEN 'ITAB1-F_NEW'.

OTAB-VALUE = ITAB1-F_NEW.

MODIFY OTAB.

CLEAR : ITAB1-F_NEW.

ENDCASE.

endloop.

endif.

******Last Modified Remarks only****************

  • ENDIF.

clear ctab.

ENDFORM.

----


  • FORM CHDATE *

----


  • ........ *

----


  • --> ITAB *

  • --> OTAB *

----


  • Form for revision date retrival. PO no. is passed from layoutset

  • and in the change document header latest modified date is captured

  • and passed to revision date field in Layoutset.

FORM CHDATE TABLES ITAB STRUCTURE ITCSY

OTAB STRUCTURE ITCSY.

CLEAR : RVDATE, EBELN.

LOOP AT ITAB.

CASE ITAB-NAME.

WHEN 'EKKO-EBELN'.

MOVE ITAB-VALUE TO EBELN.

ENDCASE.

ENDLOOP.

SELECT UDATE INTO CDHDR-UDATE FROM CDHDR WHERE OBJECTCLAS = 'EINKBELEG'

AND OBJECTID = EBELN.

IF RVDATE < CDHDR-UDATE.

RVDATE = CDHDR-UDATE.

ENDIF.

COUNT = COUNT + 1.

ENDSELECT.

LOOP AT OTAB.

CASE OTAB-NAME.

WHEN 'RVDATE2'.

CONCATENATE RVDATE6(2) '.' RVDATE4(2) '.' RVDATE(4) INTO RVDATE2.

IF COUNT = 1.

RVDATE2 = ''.

ENDIF.

MOVE RVDATE2 TO OTAB-VALUE.

MODIFY OTAB.

ENDCASE.

ENDLOOP.

CLEAR : COUNT.

ENDFORM.

Message was edited by:

Karthikeyan Pandurangan