Posting date option in ME2M Std report
Hi friends,
The standard Report ME2M is for displaying PO's based on the Document date .... but my requirement is to get the same output with the Posting date as the criterion ...
(i.e) even if the document date is given in the selection parameters ... the PO's based on the posting date status (open/pending/closed) should appear in the report.
Expecting your replies
thanks in advance .............
Cheers,
R.Kripa.
try this code to display the purchase order history based on date of change
*& Report to find purchase order history based on
* date of change
REPORT ZPOCHANGE LINE-SIZE 132 NO STANDARD PAGE HEADING
LINE-COUNT 065(001)
MESSAGE-ID VR.
TABLES: DD04T,
CDHDR,
CDPOS,
DD03L,
DD41V,
T685T,
VBPA,
TPART,
KONVC,
EKKO.
SELECT-OPTIONS: XUDATE FOR CDHDR-UDATE,
XNAME FOR CDHDR-USERNAME,
XEBELN FOR EKKO-EBELN,
XLIFNR FOR EKKO-LIFNR.
SELECTION-SCREEN SKIP.
* TEXT-001 - Sorting Sequence
SELECTION-SCREEN BEGIN OF BLOCK BLK1 WITH FRAME TITLE TEXT-001.
PARAMETERS: SUDATE RADIOBUTTON GROUP R1,
SNAME RADIOBUTTON GROUP R1,
SOBID RADIOBUTTON GROUP R1.
SELECTION-SCREEN END OF BLOCK BLK1.
DATA: WFLAG,
WCHANGENR LIKE CDHDR-CHANGENR.
DATA: INDTEXT(60) TYPE C.
DATA: BEGIN OF ICDHDR OCCURS 50.
INCLUDE STRUCTURE CDHDR.
DATA: END OF ICDHDR.
DATA: BEGIN OF ICDSHW OCCURS 50.
INCLUDE STRUCTURE CDSHW.
DATA: END OF ICDSHW.
DATA: BEGIN OF EKKEY,
EBELN LIKE EKET-EBELN,
EBELP LIKE EKET-EBELP,
ETENR LIKE EKET-ETENR,
END OF EKKEY.
DATA: BEGIN OF ITAB OCCURS 50,
BEGIN OF EKKEY,
EBELN LIKE EKET-EBELN,
EBELP LIKE EKET-EBELP,
ETENR LIKE EKET-ETENR,
END OF EKKEY,
CHANGENR LIKE CDHDR-CHANGENR,
UDATE LIKE CDHDR-UDATE,
UTIME LIKE CDHDR-UTIME,
USERNAME LIKE CDHDR-USERNAME,
CHNGIND LIKE CDSHW-CHNGIND,
FTEXT LIKE CDSHW-FTEXT,
OUTLEN LIKE CDSHW-OUTLEN,
F_OLD LIKE CDSHW-F_OLD,
F_NEW LIKE CDSHW-F_NEW,
END OF ITAB.
DATA: OLD_OBJECTID LIKE CDHDR-OBJECTID.
FIELD-SYMBOLS: <F_OLD>, <F_NEW>.
SELECT * FROM EKKO WHERE EBELN IN XEBELN AND
LIFNR IN XLIFNR.
CLEAR CDHDR.
CLEAR CDPOS.
CDHDR-OBJECTCLAS = 'EINKBELEG'.
CDHDR-OBJECTID = EKKO-EBELN.
PERFORM GETCHGDOCS.
ENDSELECT.
IF SUDATE = 'X'.
SORT ITAB BY UDATE EKKEY-EBELN CHANGENR EKKEY-EBELP
EKKEY-ETENR.
ELSEIF SNAME = 'X'.
SORT ITAB BY USERNAME EKKEY-EBELN CHANGENR EKKEY-EBELP
EKKEY-ETENR.
ELSE.
SORT ITAB BY EKKEY-EBELN CHANGENR EKKEY-EBELP EKKEY-ETENR.
ENDIF.
LOOP AT ITAB.
CLEAR: INDTEXT, EKKEY.
CASE ITAB-CHNGIND.
WHEN 'U'.
INDTEXT(50) = ITAB-FTEXT.
INDTEXT+51 = TEXT-020.
CONDENSE INDTEXT.
WHEN 'D'.
INDTEXT = TEXT-021.
WHEN 'E'.
INDTEXT(5) = ITAB-FTEXT.
INDTEXT+51 = TEXT-021.
CONDENSE INDTEXT.
WHEN 'I'.
INDTEXT = TEXT-022.
ENDCASE.
RESERVE 4 LINES.
IF WCHANGENR NE ITAB-CHANGENR.
WCHANGENR = ITAB-CHANGENR.
EKKEY = ITAB-EKKEY.
WRITE:/ ITAB-UDATE UNDER 'Change Date',
ITAB-UTIME UNDER 'Time',
ITAB-USERNAME UNDER 'User Name',
ITAB-EKKEY-EBELN UNDER 'PO No',
ITAB-EKKEY-EBELP UNDER 'Item',
ITAB-EKKEY-ETENR UNDER 'Sch No',
INDTEXT UNDER 'Changes'.
ELSEIF ITAB-EKKEY NE EKKEY.
WRITE:/ ITAB-EKKEY-EBELP UNDER 'Item',
ITAB-EKKEY-ETENR UNDER 'Sch No',
INDTEXT UNDER 'Changes'.
ENDIF.
CASE ITAB-CHNGIND.
WHEN 'U'.
ASSIGN ITAB-F_OLD(ITAB-OUTLEN) TO <F_OLD>.
ASSIGN ITAB-F_NEW(ITAB-OUTLEN) TO <F_NEW>.
WRITE: / TEXT-023 UNDER 'Changes',
<F_OLD>.
WRITE: / TEXT-024 UNDER 'Changes',
<F_NEW>.
WHEN 'E'.
ASSIGN ITAB-F_OLD(ITAB-OUTLEN) TO <F_OLD>.
WRITE: TEXT-023 UNDER 'Changes',
<F_OLD>.
ENDCASE.
SKIP.
ENDLOOP.
TOP-OF-PAGE.
WRITE:/ SY-DATUM,SY-UZEIT,
50 'P U R C H A S E O R D E R H I S T O R Y',
120 'Page', SY-PAGNO.
WRITE: / SY-REPID,
60 'Purchase Orders Changes'.
SKIP.
ULINE.
IF SUDATE = 'X'.
WRITE:/001 'Change Date',
014 'Time',
024 'User Name',
038 'PO No',
050 'Item',
057 'Sch No',
065 'Changes'.
ELSEIF SOBID = 'X'.
WRITE:/001 'PO No',
013 'Item',
020 'Sch No',
028 'Change Date',
041 'Time',
051 'User Name',
065 'Changes'.
ELSE.
WRITE:/001 'User Name',
015 'Change Date',
028 'Time',
038 'PO No',
050 'Item',
057 'Sch No',
065 'Changes'.
ENDIF.
ULINE.
FORM GETCHGDOCS.
CALL FUNCTION 'CHANGEDOCUMENT_READ_HEADERS'
EXPORTING
DATE_OF_CHANGE = CDHDR-UDATE
OBJECTCLASS = CDHDR-OBJECTCLAS
OBJECTID = CDHDR-OBJECTID
TIME_OF_CHANGE = CDHDR-UTIME
USERNAME = CDHDR-USERNAME
TABLES
I_CDHDR = ICDHDR
EXCEPTIONS
NO_POSITION_FOUND = 1
OTHERS = 2.
CHECK SY-SUBRC EQ 0.
DELETE ICDHDR WHERE CHANGE_IND EQ 'I'.
CHECK NOT ICDHDR[] IS INITIAL.
LOOP AT ICDHDR.
CHECK ICDHDR-UDATE IN XUDATE.
CHECK ICDHDR-USERNAME IN XNAME.
CALL FUNCTION 'CHANGEDOCUMENT_READ_POSITIONS'
EXPORTING CHANGENUMBER = ICDHDR-CHANGENR
IMPORTING HEADER = CDHDR
TABLES EDITPOS = ICDSHW
EXCEPTIONS NO_POSITION_FOUND = 1
OTHERS = 2.
CHECK SY-SUBRC EQ 0.
LOOP AT ICDSHW.
CHECK ICDSHW-TEXT_CASE EQ SPACE.
MOVE-CORRESPONDING ICDSHW TO ITAB.
MOVE-CORRESPONDING ICDHDR TO ITAB.
MOVE ICDSHW-TABKEY+3 TO ITAB-EKKEY.
APPEND ITAB.
ENDLOOP.
ENDLOOP.
ENDFORM.
* END OF PROGRAM
regards
satesh
Similar Messages
-
GR posting date in ME2L, ME2M, ME2N
Hi Seniors,
For PO XXXXXXX, when we run ME2N, ME2M and ME2L, the GR posting date can not be shown in layout report for some items. For axample if we 8 items, it is showing the GR posting date only for 3 items. I have checked some POs having more than an item, in that it has shown for all items. why it is not showing this time..kindly help me..
Regards,
JanaHi,
I need in ME2M, ME2N, ME2L...for all the PO's and all items it should show the GR posting date...it will show..but especially it is not showing for this PO.
regards,
jana -
Download to Data option for Hyperlinks on Reports
Hi,
There is a column called OrderNumber which will display its values in the form of hyperlink. On Master Report Page, it is taken from a fact called Orders.OrderNumber which when clicked leads to Details Report on a new window where the value need to be passed to another factOrderDetails.OrderNumber. This was only possible by using Dashboard Url in the column formula field of Order Number. The problem is with Download Data option which shows hyperlink formula instead of value in that column.So the original value is lost. This doesnt happen when it is downloaded to Excel or Downloaded to Excel 2000.
Is there any possibility that when using Download to Data, the hyperlinks shows it values rather than formula of the hyperlink.Think about why Excel was created. In the old days, you could only pass data files in their simplest form and applications were need to parse the data. Text files, csv files, etc. were without format. Just data. Excel came along because people wanted all the formatting to go along with it, including being able to know what a hyperlink is. The files are larger because they include more information about the source file. Today, when passing Excel files are too large to do, one option that may still be available is to download in a csv file for the very reason that the file is smaller. It is smaller because you don't get any fancy stuff like nice formatting. But that is why your hyperlinks aren't coming across either.
If you want the hyperlinks, use Excel. -
Month Year values based on Posting Date
In my super huge extra large InfoCube (0CFM_C10) I got a lot of data. I take Posting Date, some KFG and CalMonth/Year. Unfortinally CalMonth/Year duplicates records, if I drop it off the columns/rows I get valid data by Posting Date.
My question is this - is it possible to create some MonthYear Calculated KFG/field/formula or smthng. based on Posting Date? In other words I need Month/Year in rows/ columns or free characteristics...
Edited by: Gediminas Berzanskis on Mar 18, 2008 10:18 AMDear,
When canceling a payment which was created in previous posting periods,
we get system message "Date deviates from permissible range",so
the workaround is changing back the posting period to the previous one
and try to cancel the payment.
However,another system message pops up when we try to cancel payment
after changing back the posting period,which is the "creation date" or
"posting date".
In this scenario, you should select the second option from the
cancellation options window, which is the 'Creation date'. I would like
to explain more below.
Posting Date- means the posting date of the cancellation document, it's
not the posting date of the incoming payment that you wanna perform the
cancellation. In your case, selecting this 'posting date' option, system
deems that you want to post this cancellation document on its own
posting date.
Creating Date- means the posting date/creation date of the incoming
payment, it makes sense that the system works fine if you select this
option. If you cancel the incoming payment and check the JE generated,
you will find that the posting date of this cancellation document is
actually recorded as the posting date of the incoming payment.
Wish it helps you.If you have any problems,please kindly let me know.
Thanks and best regards,
Apple -
GR Document number & posting date in drill down option? (Reporting)
Dear Experts,
As im new to reporting,i had a requirement from my client..the question is
This is with regards to report Order Values on Posting Date (0PUR_C01_Q00021)
Can you add GR Document number & posting date in drill down option?
i guess if i keep both of the in free characteristic,it will be the result,please suggest me on this
Thanks & Regards,
SrikantDear Experts,
My Client requirement is he want GR Document number and GR Positing Date in the drill down option,im not able to find them in the query designer level. the query is under the cube 0PUR_C01. any suggestions will be a great help..
Thanks and Regards,
Srikanth -
URGENT: REGARDING POSTING DATE AND DELETION OF ZEROS IN ALV REPORT
Hi,
I had made a report in which i have to display 'POSTING DATE' (iseg-budat) when we execute the report i.e. it should be displayed as PERIOD :- _______ to _______ .
2nd problem is i had displayed the material no. ,but there are zeros which are displaying in dere ,i want to remove dem ... example, if the mat.no. is 2321 ,it is displaying 000002321. i want to remove these zeros.
Its request to all of u dat plz help me as fast as possible as it is most urgent to me and if any body provide me help he or sh e will be definately rewarded..
Regards,
ric.sHere i am giving you one of the ALV reports i have generated. Check this program. I hope it will be helpful to you.
REPORT ZFI_ASSIGNED_FUNDS_FINAL.
TABLES: FMIT,FMCIT,FPOS,IFMEISA1,FMFCTRT,BSEG,ZREV_BUDGET.
TYPE-POOLS: SLIS.
*ALV data declarations
DATA: FIELDCATALOG TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
GD_SORT TYPE SLIS_T_SORTINFO_ALV WITH HEADER LINE,
GD_TAB_GROUP TYPE SLIS_T_SP_GROUP_ALV,
GD_LAYOUT TYPE SLIS_LAYOUT_ALV,
GD_REPID LIKE SY-REPID.
*For ALV top of page
DATA : IT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.
*For ALV Events
DATA : IT_EVENT1 TYPE SLIS_T_EVENT.
*For ALV Events
DATA : IT_EVENT TYPE SLIS_ALV_EVENT.
*For top of page heading
DATA: IT_LINE TYPE SLIS_LISTHEADER.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETER : RADIO RADIOBUTTON GROUP R1.
IF RADIO EQ 'X'.
SELECT-OPTIONS: FIPEX FOR FPOS-FIPEX, " SELECTION FOR FUNDS CENTER & COMMITMENT ITEM
RFISTL FOR FMIT-RFISTL.
ENDIF.
PARAMETER: RADIO1 RADIOBUTTON GROUP R1.
IF RADIO1 EQ 'X'.
SELECT-OPTIONS : HKONT FOR BSEG-HKONT, " SELECTION FOR COST CENTER & G/L ACCOUNT
KOSTL FOR ZREV_BUDGET-KOSTL.
ENDIF.
SELECTION-SCREEN END OF BLOCK B1.
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS: PERDE FOR IFMEISA1-PERDE DEFAULT '01' TO '12' OBLIGATORY.
PARAMETER : RYEAR LIKE FMIT-RYEAR OBLIGATORY.
SELECTION-SCREEN END OF BLOCK B2.
DATA: BEGIN OF IT_TAB OCCURS 0,
FIKRS LIKE FMFCTR-FIKRS,
FICTR LIKE CSKS-KOSTL,
CTR_OBJNR LIKE FMFCTR-CTR_OBJNR,
RFISTL LIKE FMIT-RFISTL,
OBJNR LIKE BPPE-OBJNR,
END OF IT_TAB.
DATA: BEGIN OF IT_TAB1 OCCURS 0,
CO_OBJNR LIKE BPIJ-CO_OBJNR,
POSIT LIKE BPPE-POSIT,
FIPEX LIKE FMPOSIT-FIPEX,
FICTR LIKE FMFCTR-FICTR,
KSTAR LIKE COSP-KSTAR,
RFISTL LIKE FMIT-RFISTL,
OBJNR1 LIKE BPPE-OBJNR,
END OF IT_TAB1.
DATA: BEGIN OF IT_FMIT OCCURS 0,
RYEAR LIKE FMIT-RYEAR,
FIKRS LIKE FMIT-FIKRS,
RFISTL LIKE ZREV_BUDGET-KOSTL,
RFIPEX LIKE ZREV_BUDGET-KSTAR,
HSL01 LIKE FMIT-HSL01,
HSL02 LIKE FMIT-HSL02,
HSL03 LIKE FMIT-HSL03,
HSL04 LIKE FMIT-HSL04,
HSL05 LIKE FMIT-HSL05,
HSL06 LIKE FMIT-HSL06,
HSL07 LIKE FMIT-HSL07,
HSL08 LIKE FMIT-HSL08,
HSL09 LIKE FMIT-HSL09,
HSL10 LIKE FMIT-HSL10,
HSL11 LIKE FMIT-HSL11,
HSL12 LIKE FMIT-HSL12,
HSL13 LIKE FMIT-HSL13,
HSL14 LIKE FMIT-HSL14,
HSL15 LIKE FMIT-HSL15,
HSL16 LIKE FMIT-HSL16,
END OF IT_FMIT.
DATA: BEGIN OF IT_FMIT1 OCCURS 0,
RYEAR LIKE FMIT-RYEAR,
FIKRS LIKE FMIT-FIKRS,
RFISTL LIKE ZREV_BUDGET-KOSTL,
RFIPEX LIKE FMPG-FIPEX,
TOTAL LIKE FMIT-TSL01,
TOTAL1 LIKE FMIT-TSL01,
OBJNR LIKE BPPE-OBJNR,
POSIT LIKE BPPE-POSIT,
END OF IT_FMIT1.
DATA: BEGIN OF IT_BPPE OCCURS 0,
OBJNR LIKE BPPE-OBJNR,
POSIT LIKE BPPE-POSIT,
GJAHR LIKE BPPE-GJAHR,
WLP01 LIKE BPPE-WLP01,
WLP02 LIKE BPPE-WLP02,
WLP03 LIKE BPPE-WLP03,
WLP04 LIKE BPPE-WLP04,
WLP05 LIKE BPPE-WLP05,
WLP06 LIKE BPPE-WLP06,
WLP07 LIKE BPPE-WLP07,
WLP08 LIKE BPPE-WLP08,
WLP09 LIKE BPPE-WLP09,
WLP10 LIKE BPPE-WLP10,
WLP11 LIKE BPPE-WLP11,
WLP12 LIKE BPPE-WLP12,
END OF IT_BPPE.
DATA: BEGIN OF IT_BPPE1 OCCURS 0,
OBJNR LIKE BPPE-OBJNR,
POSIT LIKE BPPE-POSIT,
GJAHR LIKE BPPE-GJAHR,
RFISTL LIKE FMIT-RFISTL,
FIPEX LIKE FPOS-FIPEX,
TOTAL2 LIKE BPPE-WLP01,
END OF IT_BPPE1.
DATA: BEGIN OF IT_CSKS OCCURS 0,
KOKRS LIKE CSKS-KOKRS,
KOSTL LIKE CSKS-KOSTL,
BUKRS LIKE CSKS-BUKRS,
OBJNR LIKE CSKS-OBJNR,
END OF IT_CSKS.
DATA: BEGIN OF IT_COSP OCCURS 0,
OBJNR LIKE COSP-OBJNR,
GJAHR LIKE COSP-GJAHR,
KSTAR LIKE COSP-KSTAR,
BEKNZ LIKE COSP-BEKNZ,
WKG001 LIKE COSP-WKG001,
WKG002 LIKE COSP-WKG002,
WKG003 LIKE COSP-WKG003,
WKG004 LIKE COSP-WKG004,
WKG005 LIKE COSP-WKG005,
WKG006 LIKE COSP-WKG006,
WKG007 LIKE COSP-WKG007,
WKG008 LIKE COSP-WKG008,
WKG009 LIKE COSP-WKG009,
WKG010 LIKE COSP-WKG010,
WKG011 LIKE COSP-WKG011,
WKG012 LIKE COSP-WKG012,
END OF IT_COSP.
DATA: BEGIN OF IT_COSP2 OCCURS 0,
OBJNR LIKE COSP-OBJNR,
GJAHR LIKE COSP-GJAHR,
KSTAR LIKE COSP-KSTAR,
FIPEX LIKE FMPG-FIPEX,
TOTAL LIKE COSP-WKG001,
TOTAL1 LIKE COSP-WKG001,
OBJNR1 LIKE BPPE-OBJNR,
POSIT LIKE BPPE-POSIT,
END OF IT_COSP2.
IF RADIO EQ 'X'.
DATA: BEGIN OF IT_FINAL OCCURS 0,
FIKRS LIKE FMIT-FIKRS,
RFISTL LIKE FMIT-RFISTL,
RFIPEX LIKE FMIT-RFIPEX,
TEXT LIKE FMCIT-TEXT1,
ALLOC LIKE FMIT-TSL16,
USED LIKE FMIT-TSL16,
REMAIN LIKE FMIT-TSL16,
BEZEICH LIKE FMFCTRT-BEZEICH,
END OF IT_FINAL.
ENDIF.
IF RADIO1 EQ 'X'.
DATA: BEGIN OF IT_FINAL1 OCCURS 0,
GJAHR LIKE ZREV_BUDGET-GJAHR,
KOSTL LIKE ZREV_BUDGET-KOSTL,
KSTAR LIKE ZREV_BUDGET-KSTAR,
TOTAL1 LIKE COSP-WKG001,
TOTAL3 LIKE COSP-WKG001,
TEXT LIKE CSKU-KTEXT,
VARIANCE LIKE COSP-WKG001,
BEZEICH LIKE FMFCTRT-BEZEICH,
END OF IT_FINAL1.
ENDIF.
DATA: BEGIN OF IT_FISTL OCCURS 0,
RFISTL LIKE FMIT-RFISTL,
BEZEICH LIKE FMFCTRT-BEZEICH,
END OF IT_FISTL.
DATA: BEGIN OF IT_HKONT OCCURS 0,
KSTAR LIKE CSKU-KSTAR,
KTEXT LIKE CSKU-KTEXT,
END OF IT_HKONT.
DATA: PERIOD1 TYPE I,
PERIOD2 TYPE I,
PERIOD3 TYPE I,
PERIO TYPE I.
DATA: BEZEICH LIKE FMFCTRT-BEZEICH.
CONSTANTS: C_00 TYPE MONAT VALUE '00',
C_13 TYPE MONAT VALUE '13'.
DATA : IT_RETURN LIKE DDSHRETVAL OCCURS 0 WITH HEADER LINE.
DATA: FIPEX1 LIKE COSP-KSTAR.
A T - S E L E C T I O N S C R E E N
AT SELECTION-SCREEN.
LOOP AT PERDE.
IF PERDE-LOW >= C_13 OR PERDE-HIGH >= C_13 .
MESSAGE E022(ZA) WITH 'Enter Period values from 1 to 12'.
EXIT.
ENDIF.
ENDLOOP.
IF NOT PERDE-LOW IS INITIAL.
PERIOD1 = PERDE-LOW.
ENDIF.
IF NOT PERDE-HIGH IS INITIAL.
PERIOD2 = PERDE-HIGH.
PERIOD3 = PERIOD2 - PERIOD1.
PERIOD3 = PERIOD3 + 1.
ELSE.
PERIOD3 = 1.
ENDIF.
PERIO = PERIOD1.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR RFISTL-LOW.
SELECT FICTR BEZEICH INTO TABLE IT_FISTL FROM FMFCTRT
WHERE SPRAS EQ 'EN'
AND FIKRS EQ 'NFFM'.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = 'RFISTL'
VALUE_ORG = 'S'
TABLES
VALUE_TAB = IT_FISTL
RETURN_TAB = IT_RETURN.
IF SY-SUBRC = 0.
READ TABLE IT_RETURN INDEX 1.
MOVE IT_RETURN-FIELDVAL TO RFISTL-LOW.
ENDIF.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR RFISTL-HIGH.
SELECT FICTR BEZEICH INTO TABLE IT_FISTL FROM FMFCTRT
WHERE SPRAS EQ 'EN'
AND FIKRS EQ 'NFFM'.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = 'RFISTL'
VALUE_ORG = 'S'
TABLES
VALUE_TAB = IT_FISTL
RETURN_TAB = IT_RETURN.
IF SY-SUBRC = 0.
READ TABLE IT_RETURN INDEX 1.
MOVE IT_RETURN-FIELDVAL TO RFISTL-HIGH.
ENDIF.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR HKONT-LOW.
SELECT KSTAR KTEXT INTO TABLE IT_HKONT FROM CSKU WHERE SPRAS EQ 'EN'.
SORT IT_HKONT BY KSTAR.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = 'HKONT'
VALUE_ORG = 'S'
TABLES
VALUE_TAB = IT_HKONT
RETURN_TAB = IT_RETURN.
IF SY-SUBRC = 0.
READ TABLE IT_RETURN INDEX 1.
MOVE IT_RETURN-FIELDVAL TO HKONT-LOW.
ENDIF.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR HKONT-HIGH.
SELECT KSTAR KTEXT INTO TABLE IT_HKONT FROM CSKU WHERE SPRAS EQ 'EN'.
SORT IT_HKONT BY KSTAR.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = 'HKONT'
VALUE_ORG = 'S'
TABLES
VALUE_TAB = IT_HKONT
RETURN_TAB = IT_RETURN.
IF SY-SUBRC = 0.
READ TABLE IT_RETURN INDEX 1.
MOVE IT_RETURN-FIELDVAL TO HKONT-HIGH.
ENDIF.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR KOSTL-LOW.
SELECT FICTR BEZEICH INTO TABLE IT_FISTL FROM FMFCTRT
WHERE SPRAS EQ 'EN'
AND FIKRS IN KOSTL.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = 'KOSTL'
VALUE_ORG = 'S'
TABLES
VALUE_TAB = IT_FISTL
RETURN_TAB = IT_RETURN.
IF SY-SUBRC = 0.
READ TABLE IT_RETURN INDEX 1.
MOVE IT_RETURN-FIELDVAL TO KOSTL-LOW.
ENDIF.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR KOSTL-HIGH.
SELECT FICTR BEZEICH INTO TABLE IT_FISTL FROM FMFCTRT
WHERE SPRAS EQ 'EN'
AND FIKRS IN KOSTL.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = 'KOSTL'
VALUE_ORG = 'S'
TABLES
VALUE_TAB = IT_FISTL
RETURN_TAB = IT_RETURN.
IF SY-SUBRC = 0.
READ TABLE IT_RETURN INDEX 1.
MOVE IT_RETURN-FIELDVAL TO KOSTL-HIGH.
ENDIF.
*START-OF-SELECTION
START-OF-SELECTION.
IF RADIO EQ 'X'. " FOR FUNDS CENTER AND COMMITMENT ITEM
PERFORM GET_DATA.
PERFORM PROCESS_DATA.
ENDIF.
IF RADIO1 EQ 'X'. " FOR COST CENTER AND G/L ACCOUNT
PERFORM GET_DATA1.
PERFORM PROCESS_DATA1.
ENDIF.
*END OF SELECTION
PERFORM BUILD_LAYOUT.
PERFORM BUILD_EVENTS.
IF RADIO EQ 'X'.
PERFORM BUILD_FIELDCATALOG.
PERFORM BUILD_SORT.
PERFORM DISPLAY_ALV_REPORT.
ENDIF.
IF RADIO1 EQ 'X'.
PERFORM BUILD_FIELDCATALOG1.
PERFORM BUILD_SORT1.
PERFORM DISPLAY_ALV_REPORT1.
ENDIF.
*& Form GET_DATA
text
--> p1 text
<-- p2 text
FORM GET_DATA .
SELECT FIKRS FICTR CTR_OBJNR INTO TABLE IT_TAB FROM FMFCTR
WHERE FIKRS EQ 'NFFM'
AND FICTR IN RFISTL.
SELECT CO_OBJNR POSIT INTO TABLE IT_TAB1 FROM BPIJ
FOR ALL ENTRIES IN IT_TAB
WHERE CO_OBJNR EQ IT_TAB-CTR_OBJNR.
LOOP AT IT_TAB1.
SELECT SINGLE FIPEX INTO IT_TAB1-FIPEX FROM FMPOSIT WHERE FIKRS EQ 'NFFM'
AND POSIT EQ IT_TAB1-POSIT
AND FIPEX IN FIPEX.
IF SY-SUBRC EQ '0'.
MODIFY IT_TAB1.
ELSE.
DELETE IT_TAB1.
ENDIF.
ENDLOOP.
SELECT OBJNR
POSIT
GJAHR
WLP01
WLP02
WLP03
WLP04
WLP05
WLP06
WLP07
WLP08
WLP09
WLP10
WLP11
WLP12
INTO TABLE IT_BPPE
FROM BPPE
FOR ALL ENTRIES IN IT_TAB1
WHERE OBJNR EQ IT_TAB1-CO_OBJNR
AND POSIT EQ IT_TAB1-POSIT
AND GJAHR EQ RYEAR
AND VORGA IN ('KBFR','KBUE','KBUS').
LOOP AT IT_BPPE.
MOVE-CORRESPONDING IT_BPPE TO IT_BPPE1.
IT_BPPE1-RFISTL = IT_BPPE1-OBJNR+6(4).
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
INPUT = IT_BPPE1-RFISTL
IMPORTING
OUTPUT = IT_BPPE1-RFISTL.
CALL FUNCTION 'FM_FIPEX_GET_FROM_POSIT'
EXPORTING
I_FIKRS = 'NFFM'
I_POSIT = IT_BPPE1-POSIT
IMPORTING
E_FIPEX = IT_BPPE1-FIPEX.
PERIOD1 = PERIO.
DO PERIOD3 TIMES.
CASE PERIOD1.
WHEN 1.
IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP01.
WHEN 2.
IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP02.
WHEN 3.
IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP03.
WHEN 4.
IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP04.
WHEN 5.
IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP05.
WHEN 6.
IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP06.
WHEN 7.
IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP07.
WHEN 8.
IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP08.
WHEN 9.
IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP09.
WHEN 10.
IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP10.
WHEN 11.
IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP11.
WHEN 12.
IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP12.
ENDCASE.
IF PERIOD2 >= PERIOD1.
PERIOD1 = PERIOD1 + 1.
ENDIF.
ENDDO.
COLLECT IT_BPPE1.
CLEAR PERIOD1.
CLEAR IT_BPPE1.
ENDLOOP.
SELECT RYEAR
FIKRS
RFISTL
RFIPEX
HSL01
HSL02
HSL03
HSL04
HSL05
HSL06
HSL07
HSL08
HSL09
HSL10
HSL11
HSL12
HSL13
HSL14
HSL15
HSL16
INTO TABLE IT_FMIT FROM FMIT
FOR ALL ENTRIES IN IT_BPPE1
WHERE RYEAR EQ RYEAR
AND FIKRS EQ 'NFFM'
AND RFIPEX EQ IT_BPPE1-FIPEX
AND RFIPEX IN FIPEX
AND RFISTL EQ IT_BPPE1-RFISTL.
LOOP AT IT_FMIT.
MOVE-CORRESPONDING IT_FMIT TO IT_FMIT1.
PERIOD1 = PERIO.
DO PERIOD3 TIMES.
CASE PERIOD1.
WHEN 1.
IT_FMIT1-TOTAL = IT_FMIT1-TOTAL + IT_FMIT-HSL01.
WHEN 2.
IT_FMIT1-TOTAL = IT_FMIT1-TOTAL + IT_FMIT-HSL02.
WHEN 3.
IT_FMIT1-TOTAL = IT_FMIT1-TOTAL + IT_FMIT-HSL03.
WHEN 4.
IT_FMIT1-TOTAL = IT_FMIT1-TOTAL + IT_FMIT-HSL04.
WHEN 5.
IT_FMIT1-TOTAL = IT_FMIT1-TOTAL + IT_FMIT-HSL05.
WHEN 6.
IT_FMIT1-TOTAL = IT_FMIT1-TOTAL + IT_FMIT-HSL06.
WHEN 7.
IT_FMIT1-TOTAL = IT_FMIT1-TOTAL + IT_FMIT-HSL07.
WHEN 8.
IT_FMIT1-TOTAL = IT_FMIT1-TOTAL + IT_FMIT-HSL08.
WHEN 9.
IT_FMIT1-TOTAL = IT_FMIT1-TOTAL + IT_FMIT-HSL09.
WHEN 10.
IT_FMIT1-TOTAL = IT_FMIT1-TOTAL + IT_FMIT-HSL10.
WHEN 11.
IT_FMIT1-TOTAL = IT_FMIT1-TOTAL + IT_FMIT-HSL11.
WHEN 12.
IT_FMIT1-TOTAL = IT_FMIT1-TOTAL + IT_FMIT-HSL12.
ENDCASE.
IF PERIOD2 >= PERIOD1.
PERIOD1 = PERIOD1 + 1.
ENDIF.
ENDDO.
IT_FMIT1-TOTAL1 = IT_FMIT1-TOTAL * -1 .
COLLECT IT_FMIT1.
CLEAR PERIOD1.
CLEAR IT_FMIT1.
ENDLOOP.
ENDFORM. " GET_DATA
*& Form PROCESS_DATA
text
--> p1 text
<-- p2 text
FORM PROCESS_DATA .
SORT IT_FMIT1 BY FIKRS RFISTL RFIPEX.
SORT IT_BPPE1 BY RFISTL FIPEX.
LOOP AT IT_BPPE1.
IT_FINAL-RFISTL = IT_BPPE1-RFISTL.
IT_FINAL-RFIPEX = IT_BPPE1-FIPEX.
IT_FINAL-ALLOC = IT_BPPE1-TOTAL2.
READ TABLE IT_FMIT1 WITH KEY RFISTL = IT_BPPE1-RFISTL RFIPEX = IT_BPPE1-FIPEX.
IF SY-SUBRC EQ 0.
IT_FINAL-USED = IT_FMIT1-TOTAL1.
ENDIF.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
INPUT = IT_FMIT1-RFIPEX
IMPORTING
OUTPUT = IT_FMIT1-RFIPEX.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
INPUT = IT_FMIT1-RFISTL
IMPORTING
OUTPUT = IT_FMIT1-RFISTL.
Changes made on 13/11/2007 *******************************
SELECT SINGLE TEXT1 INTO IT_FINAL-TEXT FROM FMCIT WHERE SPRAS EQ 'EN'
AND FIPEX EQ IT_FMIT1-RFIPEX.
SELECT SINGLE TEXT1 INTO IT_FINAL-TEXT FROM FMCIT WHERE SPRAS EQ 'EN'
AND FIPEX EQ IT_BPPE1-FIPEX.
Changes made on 13/11/2007 *******************************
SELECT SINGLE BEZEICH INTO IT_FINAL-BEZEICH FROM FMFCTRT
WHERE SPRAS EQ 'EN'
AND FICTR EQ IT_FMIT1-RFISTL.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
INPUT = IT_FINAL-RFIPEX
IMPORTING
OUTPUT = IT_FINAL-RFIPEX.
IT_FINAL-REMAIN = IT_FINAL-ALLOC - IT_FINAL-USED.
APPEND IT_FINAL.
CLEAR IT_FINAL.
ENDLOOP.
SORT IT_FINAL BY FIKRS RFISTL RFIPEX.
LOOP AT IT_FMIT1.
READ TABLE IT_FINAL WITH KEY RFISTL = IT_FMIT1-RFISTL RFIPEX = IT_FMIT1-RFIPEX.
IF SY-SUBRC NE 0.
IT_FINAL-RFISTL = IT_FMIT1-RFISTL.
IT_FINAL-RFIPEX = IT_FMIT1-RFIPEX.
IT_FINAL-USED = IT_FMIT1-TOTAL1.
IT_FINAL-ALLOC = '0'.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
INPUT = IT_FMIT1-RFIPEX
IMPORTING
OUTPUT = IT_FMIT1-RFIPEX.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
INPUT = IT_FMIT1-RFISTL
IMPORTING
OUTPUT = IT_FMIT1-RFISTL.
SELECT SINGLE TEXT1 INTO IT_FINAL-TEXT FROM FMCIT WHERE SPRAS EQ 'EN'
AND FIPEX EQ IT_FMIT1-RFIPEX.
SELECT SINGLE BEZEICH INTO IT_FINAL-BEZEICH FROM FMFCTRT
WHERE SPRAS EQ 'EN'
AND FICTR EQ IT_FMIT1-RFISTL.
IT_FINAL-REMAIN = IT_FINAL-ALLOC - IT_FINAL-USED.
APPEND IT_FINAL.
CLEAR IT_FINAL.
ELSE.
DELETE IT_FMIT1.
ENDIF.
ENDLOOP.
SORT IT_FINAL BY FIKRS RFISTL RFIPEX.
ENDFORM. " PROCESS_DATA
*& Form GET_DATA1
text
--> p1 text
<-- p2 text
FORM GET_DATA1 .
SELECT KOKRS KOSTL BUKRS OBJNR INTO TABLE IT_CSKS
FROM CSKS
WHERE KOKRS EQ '1000'
AND KOSTL IN KOSTL
AND BUKRS EQ 'NFCL'.
SELECT OBJNR
GJAHR
KSTAR
BEKNZ
WKG001
WKG002
WKG003
WKG004
WKG005
WKG006
WKG007
WKG008
WKG009
WKG010
WKG011
WKG012
FROM COSP
INTO TABLE IT_COSP
FOR ALL ENTRIES IN IT_CSKS
WHERE OBJNR EQ IT_CSKS-OBJNR
AND GJAHR EQ RYEAR
AND KSTAR IN HKONT.
LOOP AT IT_COSP.
MOVE-CORRESPONDING IT_COSP TO IT_COSP2.
PERIOD1 = PERIO.
DO PERIOD3 TIMES.
CASE PERIOD1.
WHEN 1.
IT_COSP2-TOTAL = IT_COSP2-TOTAL + IT_COSP-WKG001.
WHEN 2.
IT_COSP2-TOTAL = IT_COSP2-TOTAL + IT_COSP-WKG002.
WHEN 3.
IT_COSP2-TOTAL = IT_COSP2-TOTAL + IT_COSP-WKG003.
WHEN 4.
IT_COSP2-TOTAL = IT_COSP2-TOTAL + IT_COSP-WKG004.
WHEN 5.
IT_COSP2-TOTAL = IT_COSP2-TOTAL + IT_COSP-WKG005.
WHEN 6.
IT_COSP2-TOTAL = IT_COSP2-TOTAL + IT_COSP-WKG006.
WHEN 7.
IT_COSP2-TOTAL = IT_COSP2-TOTAL + IT_COSP-WKG007.
WHEN 8.
IT_COSP2-TOTAL = IT_COSP2-TOTAL + IT_COSP-WKG008.
WHEN 9.
IT_COSP2-TOTAL = IT_COSP2-TOTAL + IT_COSP-WKG009.
WHEN 10.
IT_COSP2-TOTAL = IT_COSP2-TOTAL + IT_COSP-WKG010.
WHEN 11.
IT_COSP2-TOTAL = IT_COSP2-TOTAL + IT_COSP-WKG011.
WHEN 12.
IT_COSP2-TOTAL = IT_COSP2-TOTAL + IT_COSP-WKG012.
ENDCASE.
IF PERIOD2 >= PERIOD1.
PERIOD1 = PERIOD1 + 1.
ENDIF.
ENDDO.
IT_COSP2-OBJNR1 = IT_COSP2-OBJNR+10(6).
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
INPUT = IT_COSP2-OBJNR1
IMPORTING
OUTPUT = IT_COSP2-OBJNR1.
CONCATENATE 'FSNFFM' IT_COSP2-OBJNR1 INTO IT_COSP2-OBJNR1.
IT_COSP2-FIPEX = IT_COSP2-KSTAR.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
INPUT = IT_COSP2-FIPEX
IMPORTING
OUTPUT = IT_COSP2-FIPEX.
CALL FUNCTION 'FM_POSIT_GET_FROM_FIPEX'
EXPORTING
I_FIKRS = 'NFFM'
I_FIPEX = IT_COSP2-FIPEX
I_FLG_BUFFER_ALL =
IMPORTING
E_POSIT = IT_COSP2-POSIT
TABLES
T_FMPOSIT =
EXCEPTIONS
INPUT_ERROR = 1
DATA_NOT_FOUND = 2
OTHERS = 3
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CONDENSE IT_COSP2-OBJNR1.
CONDENSE IT_COSP2-POSIT.
COLLECT IT_COSP2.
CLEAR PERIOD1.
CLEAR IT_COSP2.
ENDLOOP.
SORT IT_COSP2 BY OBJNR KSTAR.
SELECT OBJNR
POSIT
GJAHR
WLP01
WLP02
WLP03
WLP04
WLP05
WLP06
WLP07
WLP08
WLP09
WLP10
WLP11
WLP12
INTO TABLE IT_BPPE
FROM BPPE
FOR ALL ENTRIES IN IT_COSP2
WHERE OBJNR EQ IT_COSP2-OBJNR1
AND POSIT EQ IT_COSP2-POSIT
AND GJAHR EQ RYEAR
AND VORGA IN ('KBFR','KBUE','KBUS').
LOOP AT IT_BPPE.
MOVE-CORRESPONDING IT_BPPE TO IT_BPPE1.
PERIOD1 = PERIO.
DO PERIOD3 TIMES.
CASE PERIOD1.
WHEN 1.
IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP01.
WHEN 2.
IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP02.
WHEN 3.
IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP03.
WHEN 4.
IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP04.
WHEN 5.
IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP05.
WHEN 6.
IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP06.
WHEN 7.
IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP07.
WHEN 8.
IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP08.
WHEN 9.
IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP09.
WHEN 10.
IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP10.
WHEN 11.
IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP11.
WHEN 12.
IT_BPPE1-TOTAL2 = IT_BPPE1-TOTAL2 + IT_BPPE-WLP12.
ENDCASE.
IF PERIOD2 >= PERIOD1.
PERIOD1 = PERIOD1 + 1.
ENDIF.
ENDDO.
COLLECT IT_BPPE1.
CLEAR PERIOD1.
CLEAR IT_BPPE1.
ENDLOOP.
ENDFORM. " GET_DATA1
*& Form PROCESS_DATA1
text
--> p1 text
<-- p2 text
FORM PROCESS_DATA1 .
LOOP AT IT_COSP2.
IT_FINAL1-GJAHR = IT_COSP2-GJAHR.
IT_FINAL1-KSTAR = IT_COSP2-KSTAR.
IT_FINAL1-TOTAL1 = IT_COSP2-TOTAL.
SELECT SINGLE KOSTL FROM CSKS INTO IT_FINAL1-KOSTL WHERE KOKRS = '1000'
AND BUKRS EQ 'NFCL'
AND OBJNR = IT_COSP2-OBJNR.
READ TABLE IT_BPPE1 WITH KEY OBJNR = IT_COSP2-OBJNR1 POSIT = IT_COSP2-POSIT.
IF SY-SUBRC EQ 0.
IT_FINAL1-TOTAL3 = IT_BPPE1-TOTAL2.
ENDIF.
SELECT SINGLE KTEXT INTO IT_FINAL1-TEXT FROM CSKU WHERE SPRAS EQ 'EN'
AND KSTAR EQ IT_COSP2-KSTAR.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
INPUT = IT_FINAL1-KOSTL
IMPORTING
OUTPUT = IT_FINAL1-KOSTL.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
INPUT = IT_FINAL1-KSTAR
IMPORTING
OUTPUT = IT_FINAL1-KSTAR.
SELECT SINGLE BEZEICH INTO IT_FINAL1-BEZEICH FROM FMFCTRT
WHERE SPRAS EQ 'EN'
AND FICTR EQ IT_FINAL1-KOSTL.
IT_FINAL1-VARIANCE = IT_FINAL1-TOTAL3 - IT_FINAL1-TOTAL1.
APPEND IT_FINAL1.
CLEAR IT_FINAL1.
ENDLOOP.
SORT IT_FINAL1 BY KOSTL KSTAR.
DELETE IT_FINAL1 WHERE KOSTL IS INITIAL.
ENDFORM. " PROCESS_DATA1
*& Form BUILD_FIELDCATALOG
text
--> p1 text
<-- p2 text
FORM BUILD_FIELDCATALOG .
FIELDCATALOG-FIELDNAME = 'RFISTL'.
FIELDCATALOG-SELTEXT_M = 'Funds Center'.
APPEND FIELDCATALOG TO FIELDCATALOG.
CLEAR FIELDCATALOG.
FIELDCATALOG-FIELDNAME = 'BEZEICH'.
FIELDCATALOG-SELTEXT_M = 'Fund Center Description'.
APPEND FIELDCATALOG TO FIELDCATALOG.
CLEAR FIELDCATALOG.
FIELDCATALOG-FIELDNAME = 'RFIPEX'.
FIELDCATALOG-SELTEXT_M = 'Commitment Item'.
APPEND FIELDCATALOG TO FIELDCATALOG.
CLEAR FIELDCATALOG.
FIELDCATALOG-FIELDNAME = 'TEXT'.
FIELDCATALOG-SELTEXT_M = 'Commitment Item Description'.
APPEND FIELDCATALOG TO FIELDCATALOG.
CLEAR FIELDCATALOG.
FIELDCATALOG-FIELDNAME = 'ALLOC'.
FIELDCATALOG-SELTEXT_M = 'Allocated Budget'.
FIELDCATALOG-DO_SUM = 'X'.
APPEND FIELDCATALOG TO FIELDCATALOG.
CLEAR FIELDCATALOG.
FIELDCATALOG-FIELDNAME = 'USED'.
FIELDCATALOG-SELTEXT_M = 'Used Budget'.
FIELDCATALOG-DO_SUM = 'X'.
APPEND FIELDCATALOG TO FIELDCATALOG.
CLEAR FIELDCATALOG.
FIELDCATALOG-FIELDNAME = 'REMAIN'.
FIELDCATALOG-SELTEXT_M = 'Remaining Budget'.
FIELDCATALOG-DO_SUM = 'X'.
APPEND FIELDCATALOG TO FIELDCATALOG.
CLEAR FIELDCATALOG.
ENDFORM. " BUILD_FIELDCATALOG
*& Form BUILD_FIELDCATALOG1
text
--> p1 text
<-- p2 text
FORM BUILD_FIELDCATALOG1 .
FIELDCATALOG-FIELDNAME = 'KOSTL'.
FIELDCATALOG-SELTEXT_M = 'Cost Center'.
APPEND FIELDCATALOG TO FIELDCATALOG.
CLEAR FIELDCATALOG.
FIELDCATALOG-FIELDNAME = 'BEZEICH'.
FIELDCATALOG-SELTEXT_M = 'Cost Center Description'.
APPEND FIELDCATALOG TO FIELDCATALOG.
CLEAR FIELDCATALOG.
FIELDCATALOG-FIELDNAME = 'KSTAR'.
FIELDCATALOG-SELTEXT_M = 'G/L Account'.
APPEND FIELDCATALOG TO FIELDCATALOG.
CLEAR FIELDCATALOG.
FIELDCATALOG-FIELDNAME = 'TEXT'.
FIELDCATALOG-SELTEXT_M = 'G/L Account Description'.
APPEND FIELDCATALOG TO FIELDCATALOG.
CLEAR FIELDCATALOG.
FIELDCATALOG-FIELDNAME = 'TOTAL3'.
FIELDCATALOG-SELTEXT_M = 'Planned amount'.
FIELDCATALOG-DO_SUM = 'X'.
APPEND FIELDCATALOG TO FIELDCATALOG.
CLEAR FIELDCATALOG.
FIELDCATALOG-FIELDNAME = 'TOTAL1'.
FIELDCATALOG-SELTEXT_M = 'Actuals'.
FIELDCATALOG-DO_SUM = 'X'.
APPEND FIELDCATALOG TO FIELDCATALOG.
CLEAR FIELDCATALOG.
FIELDCATALOG-FIELDNAME = 'VARIANCE'.
FIELDCATALOG-SELTEXT_M = 'Variance'.
FIELDCATALOG-DO_SUM = 'X'.
APPEND FIELDCATALOG TO FIELDCATALOG.
CLEAR FIELDCATALOG.
ENDFORM. " BUILD_FIELDCATALOG1
*& Form BUILD_LAYOUT
text
--> p1 text
<-- p2 text
FORM BUILD_LAYOUT .
GD_LAYOUT-NO_INPUT = 'X'.
GD_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
ENDFORM. " BUILD_LAYOUT
*& Form BUILD_SORT
text
--> p1 text
<-- p2 text
FORM BUILD_SORT .
DATA: GT_SORT TYPE SLIS_SORTINFO_ALV.
GT_SORT-UP = 'X'.
GT_SORT-FIELDNAME = 'RFISTL'.
GT_SORT-TABNAME = 'IT_FINAL'.
GT_SORT-SUBTOT = 'X'.
APPEND GT_SORT TO GD_SORT.
CLEAR GT_SORT.
GT_SORT-UP = 'X'.
GT_SORT-FIELDNAME = 'BEZEICH'.
GT_SORT-TABNAME = 'IT_FINAL'.
APPEND GT_SORT TO GD_SORT.
CLEAR GT_SORT.
ENDFORM. " BUILD_SORT
*& Form BUILD_SORT1
text
--> p1 text
<-- p2 text
FORM BUILD_SORT1 .
DATA: GT_SORT TYPE SLIS_SORTINFO_ALV.
GT_SORT-UP = 'X'.
GT_SORT-FIELDNAME = 'KOSTL'.
GT_SORT-TABNAME = 'IT_FINAL'.
GT_SORT-SUBTOT = 'X'.
APPEND GT_SORT TO GD_SORT.
CLEAR GT_SORT.
GT_SORT-UP = 'X'.
GT_SORT-FIELDNAME = 'BEZEICH'.
GT_SORT-TABNAME = 'IT_FINAL'.
APPEND GT_SORT TO GD_SORT.
CLEAR GT_SORT.
ENDFORM. " BUILD_SORT1
*& Form BUILD_EVENTS
text
--> p1 text
<-- p2 text
FORM BUILD_EVENTS .
IT_EVENT-NAME = 'TOP_OF_PAGE'.
IT_EVENT-FORM = 'TOP_OF_PAGE'.
APPEND IT_EVENT TO IT_EVENT1.
CLEAR IT_EVENT.
ENDFORM. " BUILD_EVENTS
*& Form TOP_OF_PAGE
ALV TOP-OF-PAGE
FORM TOP_OF_PAGE. "#EC CALLED
REFRESH : IT_LIST_TOP_OF_PAGE.
CLEAR : IT_LINE.
IT_LINE-TYP = 'H'.
IT_LINE-INFO = TEXT-001.
APPEND IT_LINE TO IT_LIST_TOP_OF_PAGE.
CLEAR IT_LINE.
IF RADIO EQ 'X'.
IT_LINE-TYP = 'S'.
IT_LINE-INFO = TEXT-101.
IF NOT FIPEX-LOW IS INITIAL.
CONCATENATE TEXT-101 '-' FIPEX-LOW INTO IT_LINE-INFO SEPARATED BY SPACE.
IF NOT FIPEX-HIGH IS INITIAL.
CONCATENATE TEXT-101 '-' FIPEX-LOW 'to' FIPEX-HIGH INTO IT_LINE-INFO SEPARATED BY SPACE.
ENDIF.
ENDIF.
APPEND IT_LINE TO IT_LIST_TOP_OF_PAGE.
CLEAR IT_LINE-INFO.
IT_LINE-INFO = TEXT-102.
IF NOT RFISTL-LOW IS INITIAL.
CONCATENATE TEXT-102 '-' RFISTL-LOW INTO IT_LINE-INFO SEPARATED BY SPACE.
IF NOT RFISTL-HIGH IS INITIAL.
CONCATENATE TEXT-102 '-' RFISTL-LOW 'to' RFISTL-HIGH INTO IT_LINE-INFO SEPARATED BY SPACE.
ENDIF.
ENDIF.
APPEND IT_LINE TO IT_LIST_TOP_OF_PAGE.
ENDIF.
IF RADIO1 EQ 'X'.
CLEAR IT_LINE-INFO.
IT_LINE-INFO = TEXT-105.
IF NOT KOSTL-LOW IS INITIAL.
CONCATENATE TEXT-105 '-' KOSTL-LOW INTO IT_LINE-INFO SEPARATED BY SPACE.
IF NOT KOSTL-HIGH IS INITIAL.
CONCATENATE TEXT-105 '-' KOSTL-LOW 'to' KOSTL-HIGH INTO IT_LINE-INFO SEPARATED BY SPACE.
ENDIF.
ENDIF.
APPEND IT_LINE TO IT_LIST_TOP_OF_PAGE.
CLEAR IT_LINE-INFO.
IT_LINE-INFO = TEXT-106.
IF NOT HKONT-LOW IS INITIAL.
CONCATENATE TEXT-106 '-' HKONT-LOW INTO IT_LINE-INFO SEPARATED BY SPACE.
IF NOT HKONT-HIGH IS INITIAL.
CONCATENATE TEXT-106 '-' HKONT-LOW 'to' HKONT-HIGH INTO IT_LINE-INFO SEPARATED BY SPACE.
ENDIF.
ENDIF.
APPEND IT_LINE TO IT_LIST_TOP_OF_PAGE.
ENDIF.
CLEAR IT_LINE-INFO.
IT_LINE-INFO = TEXT-103.
IF NOT PERDE-LOW IS INITIAL.
CONCATENATE TEXT-103 '-' PERDE-LOW INTO IT_LINE-INFO SEPARATED BY SPACE.
IF NOT PERDE-HIGH IS INITIAL.
CONCATENATE TEXT-103 '-' PERDE-LOW 'to' PERDE-HIGH INTO IT_LINE-INFO SEPARATED BY SPACE.
ENDIF.
ENDIF.
APPEND IT_LINE TO IT_LIST_TOP_OF_PAGE.
CLEAR IT_LINE-INFO.
IT_LINE-INFO = TEXT-104.
IF NOT RYEAR IS INITIAL.
CONCATENATE TEXT-104 '-' RYEAR INTO IT_LINE-INFO SEPARATED BY SPACE.
ENDIF.
APPEND IT_LINE TO IT_LIST_TOP_OF_PAGE.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = IT_LIST_TOP_OF_PAGE.
ENDFORM. "TOP_OF_PAGE
*& Form DISPLAY_ALV_REPORT
text
--> p1 text
<-- p2 text
FORM DISPLAY_ALV_REPORT .
GD_REPID = SY-REPID.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = GD_REPID
I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'
IS_LAYOUT = GD_LAYOUT
IT_EVENTS = IT_EVENT1[]
IT_FIELDCAT = FIELDCATALOG[]
IT_SORT = GD_SORT[]
TABLES
T_OUTTAB = IT_FINAL
EXCEPTIONS
PROGRAM_ERROR = 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.
ENDFORM. "DISPLAY_ALV_REPORT
*& Form DISPLAY_ALV_REPORT1
text
--> p1 text
<-- p2 text
FORM DISPLAY_ALV_REPORT1 .
GD_REPID = SY-REPID.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = GD_REPID
I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'
IS_LAYOUT = GD_LAYOUT
IT_EVENTS = IT_EVENT1[]
IT_FIELDCAT = FIELDCATALOG[]
IT_SORT = GD_SORT[]
TABLES
T_OUTTAB = IT_FINAL1
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSG -
View GR report based on posting date
Hi,
Is there any report to view GR on PO by enter posting date?
Because i check ME2M,only can enter delivery date.
Thank you.Hi,
Check MB51 with 101 movement type and posting date.
Regards,
Bharat -
Any selection input for posting date in Confirmation Report CN48n
Hi All,
Is there any way to select some date based on posting date in CN48n report, because if i have run by Plant / co.code it takes so long.
Plz advice.
Cheers,
NiesHi,
The only option I found out is "Data on Dates Definition -- Finish Date" in dynamic selections.
This including the Plant & Company Code selection will not exactly meet your requirement but of course can definitely reduce the search load on the system.
regards -
New Data is not available in reporting after revrse posting
Hello All
I have a cube and data loaded into it.Now i came to know that one request is having wrong data and need to be deleted,without deleting I did reverse posting.Now that particular data(means new data) is not available in reporting.The reporting symbol in request(manage tab) is not available for this request.
Now what should I do,in order to get new data in reporting.
regards
blajisorry i solved it
-
Vendor Balance Report Day wise based on Posting date
Hi Guru's,
I am creating vendor balance reprot day wise based on posting date .
In my report i want to show TDS(With hold tax ) amount where can i get that field name how can retrive the data using bsik and bsak .
I Donot want to display reversal documents in the displaying list .How can i remove reversal entries .
Regards
Nandan.Hi Nandan,
check these tables:
A399
T059O
T059ZT
Regards,
Santosh Kumar M -
Ageing Report on posting date and due date
Hi
I want to get customer ageing report on the basis of posting date (bill date) as well as due date (30days after posting date).
Please let me know how to get two reports.Hi,
check with this reports.
s_alr_87012178 and s_alr_87012168
regards,
Radhika. -
Posting date in J1IEX with option R07 - Internal Excise Invoice
Hi CIN guys,
I have one requirement with respect to J1IEX transaction -> Post -> R07 - Internal Excise Invoice.
In J1IEX transaction, there is a field called "Posting Date" available in Header as editable under the tab "Excise Invoice", results user can change the date based on open financial period (Period open and close has been done through OB52).
I want put validiation in the field "Posting date" by either make the field as Display or prevent entry of pastdate eventhough the period is in open.
My question is that Is there any screen settings are available to make the field as display? If so and make the field as display, what would be the impact? Is there any otherway (user exit, badi ...) to control this?
Please reply.
Thanks in advance
Ravikumar Shi
check whether any std user exit there for this process and code as per your logic and activate it -
Posting date field in reports S_SMC_47000016 / S_SMC_47000017
Hi all,
We are using the serice desk function for monitoring the support tickets. I have one quert related to List of notification transactions S_SMC_47000016 / S_SMC_47000017.
In the service desk whenever we run the report of all open notificaitons (S_SMC_47000017) Or Find Support Notifications (S_SMC_47000016), in the list output we do not get any data in the field "Posting Date". We do get the date in field "Valid From", but no information is getting populated in posting Date column.
If we try to search the notifications using the T Code " CRMD_ORDER" and try to get the list of notifications in the find Tab, then here the posting date gets populated.
Could you please let me know if there is any setting which is preventing from Posting Date to be populated in the T Codes S_SMC_47000016 / S_SMC_47000017.
Thanks and Regards,
NarendraHi,
We have chnaged the layout already, my question is that in the layout the posting date column is appearing, but the posting date is not getting updated for any notification in the output. The column remains blank.
Thanks and Regards,
Narendra -
No data in the STD Report S_ALR_87012272
Hi,
The SAP STD report is s_alr_87012272 is not showing any values.
Kindly help me how we can get the values in the report.
Report long text: Cash Flow (Indirect Method) Variant 1
Report name 0SAPRATIO-03
Thanks..,,
Regards,
John PalDear John,
All reports are based on a financial statement version. This is
determined in the form with the same name under the general selections
(see overview of the report parameters). In the standard system, this is
the INT version. In the version, accounts with chart of accounts (INT)
and number are assigned to the individual items. If the system in
question uses another financial statement version or another chart of
accounts, the selected data cannot be assigned to the balance sheet
items.
This is the reason we suggest our customers to create their own form.
Check SAP note 43661 which describes creation of new
forms and reports.
Following are the steps to create the form and report:
FSI4 => Form type: Financial Statement Key Figures => Copy
Form: Name and Text for the new form
Copy from: 0SAPRATIO-04
FSI5 => find and double click the new form just created => Edit Gen.
data selection => change the FSV to what you want to use
FSI1 => Report type: Financial Statement Key Figures => Create
Report: Name and Text for the new report
With form: Name of the new form
details please refer to standard SAP report 0SAPRATIO-04
FSI3 => find and excute the new report to check if you can get the
result you want
To change the fin.statement version in the general data selections of
your new form is not enough.
All reports are based on a financial statement version. This is
determined in the form with the same name under the general selections
(see overview of the report parameters). In the standard system, this is
the INT version. In the version, accounts with chart of accounts (INT)
and number are assigned to the individual items. If the system in
question uses another financial statement version or another chart of
accounts, the selected data cannot be assigned to the balance sheet
items.
This is the reason we suggest our customers to create their own form.
Please find the attached note 43661 which describes creation of new
forms and reports.
Following are the steps to create the form and report:
FSI4 => Form type: Financial Statement Key Figures => Copy
Form: Name and Text for the new form
Copy from: 0SAPRATIO-04
FSI5 => find and double click the new form just created => Edit Gen.
data selection => change the FSV to what you want to use
FSI1 => Report type: Financial Statement Key Figures => Create
Report: Name and Text for the new report
With form: Name of the new form
details please refer to standard SAP report 0SAPRATIO-04
FSI3 => find and excute the new report to check if you can get the
result you want
To change the fin.statement version in the general data selections of
your new form is not enough.
Mauri -
Display items which doesn't have any posting data in report painter
I made some reports by report painter. The problem is that when I run these reports, they can't display the items which doesn't have any posting data. But my customers want to display all items whatever it has been posted or not , can you give me the solution?
BTW, when I made Reports by using Drilldown report, it display all items
Thanks and best regards!In the change report screen in GRR2 go to menu
Formating--> report layout
There in the rows tab select the radio button, Print Zero rows
and in the columns tab select Print Zero columns radio button,
hope this should solve the problem
Thanks
Naveen
Maybe you are looking for
-
My daughters got Iphones a couple of years. I do not have an Apple-phone. I registered both phones on my email. The problem is that one of them get the others messages. I therefore need to make two different accounts for their apple-products. How do
-
How do I add current value to existing values over a period of time?
Sorry guys, I'll apologize in advance since I think this problem may be very simple, but I had been mind blocked from going through hours of Labview Tutorial and trying it out. Lets say I am working on a workout analyser, and everytime the z-axis fal
-
J2EE server node crashes / .hotspot_compiler
Hi, I'm trying to install a NW AS Java + usage type DI 7.0 SR3 on W2K3 R2 x64 SP2 with MS SQL Server 2005 and Java HotSpot(TM) 64-Bit Server VM (build 1.4.2_18-b06, mixed mode). During sapinst the server node was shut down by the program but doesn't
-
How to invoke settings in iOS 5.1
Hi, I am trying to invoke settings area from application, it works in iOS 5.0 but not responsing in iOS 5.1. Please help me to achive this feature. Advance Thanks.
-
Is it possible to transfer a "to do list" from your computer to a razr v3c?
do you know of a way to get my excel to do list to transfer to my phone vor viewing? and if so, can you edit info from your phone? if not, is there any way to have a to do list linked to my phone?