Customer wise Total order qnty,dispatched qnty & qnty for despatch
Hi all,
How to check customer wise,for individual material, Total sales order quatity,dispatched qnty & qnty available for dispatch in a single report,
As tryed in MB52, it will show against S.O wise qnty availble for disptach, & VA05 will show order qnty with partial delivery(but not qnty).
Can we get the above in single report?
Hello Pawar,
There is no standard reports available as far as i know to check customer wise,for individual material, Total sales order quatity,dispatched qnty & qnty available for dispatch in a single report.
But in the T-code "MC18", you can do the confirugation for the field catalog.
Steps for setting up a Field Catalog -
1. Specify a name and a description for the field catalog you want to create in the field Field catalog.
2. Assign the field catalog to an application.
3. Define the catalog category.
4. Press ENTER.
You branch to the maintenance screen of the individual fields of the catalogs.
5. Depending on the catalog category you have chosen, select Edit -> Characteristics or Key figures or Date.
Two dialog boxes are displayed for selecting the fields.One dialog box lists the fields you have already selected. Choose Selection list to select further fields.If you have not yet selected any fields, the second dialog box is displayed at the same time.The second dialog box consists of two lists. The list on the right contains all source tables from which you can select fields for the field catalogs. In this case, only the source tables valid for the selected application are displayed.
6. If you want to display the fields of a certain source table, you can select this by double-clicking on it.
The list on the left shows the fields of the selected source table.
7. If you want to copy a field from the list into your field catalog, position the cursor on the corresponding field name and choose Copy.
The selected field is marked and copied into the list of the already selected fields.
Note
When you select the source tables and fields, the respective descriptions are displayed.
You can use the Switch display function to display the technical names (table and field names from the Data Dictionary).
8. Press Copy + close to branch to the list of the selected fields.
You can now also edit this list, i.e. you can change the sequence in which the fields appear, delete fields from the list or add new fields from the source tables.
9. The sequence of the selected characteristics can be changed as follows:
a) Select the characteristic, or a block of characteristics that is to be moved. The selection can be made using the icon Select/Deselect or Select block, or with a double click. The icon move is displayed.
b) Position your cursor on a different characteristic and choose the icon Move.
The characteristic or block of characteristics you initially selected will now be inserted above the second selected characteristic.
10. To copy the selected fields to your field catalog, choose Copy.
11. Save the field catalog.
12.Then Define the updated rules.
Regards,
SARTHAK.
Similar Messages
-
Total net order value Customer wise
Dear All,
I want to extract total Net sales order value customer wise for developing a report. I need to know SAP table details to get Total sales order values customer wise.
Standard report does not match my requirment.
I need to extract details from VBAP, customer wise. Please advise me to build a logic.
Thanks,
sajeewa.You can get the Net value from VBAP-NETWR by line item & the sold to is on VBAK-KUNNR, then make a join on VBAK-VBELN & VBAP-VBELN, then group it by KUNNR to display totals by Customer.
-
Total orders in three weeks for a customer that was new three weeks ago.
I need help figuring out the MDX to use to calculate this measure: Total orders in three weeks for customers that were new three weeks ago. I seem to be having a brain freeze or over thinking this as usual.
My records have a customer, a date, a flag=1 if they are new that order. So I have a customer dimension a date dimension and four measures: Unique_customer, date, New_customer(the Flag), Orders.
So the fact table would look something like this:
Date Cust_Key New_Flag Order
1/5/10 801 1
1/5/10 802 1 1
1/5/10 803 1
1/6/10 801
1
1/6/10 804 1 1
1/6/10 803
1
1/6/10 802 1
1/7/10 801 1
1/7/10 802
1
1/7/10 804
1
And for simplicity, using days instead of weeks -
Customer 802 has a new flag 3 days ago and on report date 1/7/10 and has three orders, one per day. So my new measure should show 3
Customer 804 wouldn't show up until report date 1/8/10 and Customer 802 would drop off.
So I need to know how many times, to the current report week, did a customer who was new in LAG(3) place orders.
Diane BlackwoodThing will be easy if you have New_customer_Flag in customer dimension. The New_customer_Flag
should be 1 for all those customers who were new three weeks back.
Assuming that the measure you have is Count_Of_Order, MDX would be
Select [Measures].[Count_of_order] on Columns,
[Customer_Dim].[Customer].Members on Rows
From
(Select ([Date_Dim].[Week].&[201001].Lag(3): [Date_Dim].[Week].&[201001])
on Columns
From [OrderCube])
Where ([Customer_Dim].[New_customer_Flag].&[1]);
Saurabh Kamath -
Operation wise total required hours for planned order in given date range
Hello Experts,
My client wants the report to check the capacity utilization of the work centers for the all planned order in particular date range.
Is their any standard report which gives the work center wise operation wise total required hours? or which table should I use to make the customize report so that I will get total required capacity & available capacity.
Thanks in advance for use valuable suggestions.
SagarHi Mario,
Thanks for your reply,
In CM01 or CM05, we are getting requirement on weekly basis.How to get that report on daily basis? I want to give the input as a date range of the planned order.How to go for that?
Edited by: SAGAR GOLIWAR 226 on Jul 3, 2011 8:16 AM -
Ordering row wise totals in a column.
Hi,
I have a report in Pivot view having two columns namely Count and Category. I have to apply sort on these two columns-first on Count and then on Category.
The Total Count is also calculated row wise. Now when I apply sort on count column, only the values in that column are being sorted and not according to row wise total count. But my requirement is to sort the total count row wise first and then by Category.I am unable to do so.
Kindly provide me the solution to this problem.
Thanks
AnkitaUse RunningSum() function.
Regards,
Rohit -
Dear All,
We are in a Process to Develop certain Z-Reports.
One of the Z-Reports is Open Order Status, which includes following informations:
Sales Office--Customer Code-Sales Order No.--Item No.Material Description-Booking Qty--Delivered QtyOpen QtySales Unit of MeasurementRate/ Unit--Total Open Value (Open Qty*Rate)
Everything is fine, except Two columns, i.e.
1. Delivered Qty
2. Sales Unit of Measurement
The Problem is:
In Report, we are able to capture the Booking Qty (in terms of Sales Unit).
For example: If, in Sales Order Booking qty is 20 Months, Report shows 20.000 in Column: Booking Qty.
But, 5 Months have been delivered, then, instead of 5.000 Report shows 150.000 as in Column: Delivered Qty. Apparently, Column: Open Qty, shows -130.000 as open Qty.
Also, instead of picking Sales Unit of Measurement as Month, System is showing DAY/ TAG in Column: Sales unit of measurement.
My second Query is:
Is there any way to get information from Structure, in to Program? As, I referred few Standard Program (related to Sales UoM and Delivered Qty). In Standard Program, value is getting referred to Structure (say, VBMTV, for example).
Best Regards,
AmitHi Amit,
I guess, you have maintained/Created UoM in CUNI.
Sales Office(1)--Customer Code(2)-Sales Order No(3).--Item No(4).Material Description(5)-Booking Qty(6)--Delivered Qty(7)Open Qty(8)Sales Unit of Measurement(9)Rate/ Unit(10)--Total Open Value (Open Qty*Rate)(11)
8 = 6-7
11= 8*10 ( as you already said)
UoM_sales, VBAP_VRKME / VBEP_WMENG ( i think it will be fine, if we take Sch.Line order qtty, rather than Item level order qtty/Booking qtty, Delivery qtty LIPSD-G_LFIMG or you can take the same from document flow table too)
Hope you have done the same as above. or it would be helpful,how you are deriving/extracing the desired values from which tables
How you are calculating Open Qtty?
not sure about your second query. Trying to give some input in your first query. -
Accounts Receivable Report: Customer Wise Ageing Analysis report -FI module
Hi Gurus,
Can anyone help me in providing standard report(source code) or already done sample report(source code) for Accounts Receivable Report: Customer Wise Ageing AnalysisThis is in FI Module. Though it is FI Module we need to fetch details related to Sales Module, and the days should be <0 30 60 90 120 180 365 >365
It is urgent I need to deliver this report by this week end.
Please help me . Waiting for your reply.
Points Rewarded for help rendered and I would personally send a good gift if you can help me
Yours Truly,
Rajiv Christopher.
Edited by: Rajiv Christopher on Apr 2, 2008 11:33 AMHi,
i am attaching aging report.
see if this is useful to you.
REPORT ZFUS0102 MESSAGE-ID OA
LINE-SIZE 270.
Title: GR/IR AGING REPORT
Date: January 2001
TABLES: DISVARIANT, EKPO.
TYPE-POOLS: SLIS.
Tables
TABLES:
BSIS,
EKKO.
working table
DATA: BEGIN OF RTAB OCCURS 0,
HKONT LIKE BSIS-HKONT,
ZUONR LIKE BSIS-ZUONR,
BUDAT LIKE BSIS-BUDAT,
SHKZG LIKE BSIS-SHKZG,
DMBTR LIKE BSIS-DMBTR,
PRCTR LIKE BSIS-PRCTR,
END OF RTAB.
DATA: BEGIN OF WTAB OCCURS 0,
ZUONR(2) TYPE N,
PRCTR LIKE BSIS-PRCTR,
DAYS(4) TYPE P,
DMBTR LIKE BSIS-DMBTR,
END OF WTAB.
DATA: BEGIN OF PTAB OCCURS 0,
ZUONR(2),
PRCTR LIKE BSIS-PRCTR,
AMT30 LIKE BSIS-WRBTR,
AMT60 LIKE BSIS-WRBTR,
AMTPL LIKE BSIS-WRBTR,
TOTAL LIKE BSIS-WRBTR,
END OF PTAB.
PARAMETERS: COMPANY LIKE BSIS-BUKRS OBLIGATORY,
ACCT LIKE BSIS-HKONT OBLIGATORY,
DATE LIKE SY-DATUM OBLIGATORY.
SELECT-OPTIONS: S_EKORG FOR EKKO-EKORG.
PARAMETERS: P_VARI LIKE DISVARIANT-REPORT.
DATA: WS-AMT30 LIKE BSIS-WRBTR.
DATA: WS-AMT60 LIKE BSIS-WRBTR.
DATA: WS-AMTPL LIKE BSIS-WRBTR.
DATA: TITLE(21) VALUE 'GR/IR Aging Report'.
DATA: LIN TYPE I.
DATA: GX_VARIANT LIKE DISVARIANT,
G_VARIANT LIKE DISVARIANT.
DATA: LAYOUT TYPE SLIS_LAYOUT_ALV,
L_F TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
GROUP TYPE SLIS_T_SP_GROUP_ALV WITH HEADER LINE,
COLOR TYPE SLIS_T_SPECIALCOL_ALV WITH HEADER LINE.
DATA: LT_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER,
LS_LINE TYPE SLIS_LISTHEADER,
T_EVENTS TYPE SLIS_T_EVENT.
CONSTANTS: FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE'.
INITIALIZATION.
PERFORM EVENTTAB_AUFBAUEN USING T_EVENTS[].
PERFORM VARIANT_INIT.
Get default variant
GX_VARIANT = G_VARIANT.
CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
EXPORTING
I_SAVE = 'A'
CHANGING
CS_VARIANT = GX_VARIANT
EXCEPTIONS
NOT_FOUND = 2.
IF SY-SUBRC = 0.
P_VARI = GX_VARIANT-VARIANT.
ENDIF.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_VARI.
PERFORM VARIANT_INPUTHELP_F14.
START-OF-SELECTION.
LS_LINE-TYP = 'S'.
WRITE SY-DATUM TO LS_LINE-INFO DD/MM/YY.
WRITE SY-UZEIT TO LS_LINE-INFO+10.
WRITE SY-UNAME TO LS_LINE-INFO+20.
WRITE TITLE TO LS_LINE-INFO+30.
APPEND LS_LINE TO LT_TOP_OF_PAGE.
PERFORM FIELDS.
IF NOT P_VARI IS INITIAL.
PERFORM PAI_OF_SELECTION_SCREEN.
ELSE.
CALL FUNCTION 'REUSE_ALV_VARIANT_SELECT'
EXPORTING
I_DIALOG = ' '
I_USER_SPECIFIC = 'A'
I_DEFAULT = ' '
I_TABNAME_HEADER =
I_TABNAME_ITEM =
IT_DEFAULT_FIELDCAT = L_F[]
I_LAYOUT = LAYOUT
IMPORTING
E_EXIT =
ET_FIELDCAT = L_F[]
ET_SORT =
ET_FILTER =
CHANGING
CS_VARIANT = DISVARIANT
EXCEPTIONS
WRONG_INPUT = 1
FC_NOT_COMPLETE = 2
NOT_FOUND = 3
PROGRAM_ERROR = 4
OTHERS = 5.
ENDIF.
Decide which tables to access.
PERFORM MAIN_SELECT.
MOVE TITLE TO LAYOUT-WINDOW_TITLEBAR.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = 'ZFUS0102'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
IS_LAYOUT = LAYOUT
IT_FIELDCAT = L_F[]
IT_SPECIAL_GROUPS = GROUP[]
I_SAVE = 'A'
IS_VARIANT = G_VARIANT
IT_EVENTS = T_EVENTS
TABLES
T_OUTTAB = PTAB
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
FORM FIELDS *
FORM FIELDS.
L_F-FIELDNAME = 'ZUONR'.
L_F-OUTPUTLEN = 6.
L_F-SELTEXT_L = 'SERIES'.
L_F-REPTEXT_DDIC = 'SERIES'.
L_F-REF_TABNAME = 'PTAB'.
L_F-SP_GROUP = 'A'.
APPEND L_F. CLEAR L_F.
L_F-FIELDNAME = 'PRCTR'.
L_F-OUTPUTLEN = 10.
L_F-SELTEXT_L = 'PROFIT CTR.'.
L_F-REPTEXT_DDIC = 'PROFIT CTR.'.
L_F-REF_TABNAME = 'PTAB'.
L_F-SP_GROUP = 'A'.
APPEND L_F. CLEAR L_F.
L_F-FIELDNAME = 'AMT30'.
L_F-SELTEXT_L = '30 DAYS'.
L_F-REPTEXT_DDIC = '30 DAYS'.
L_F-REF_TABNAME = 'PTAB'.
L_F-SP_GROUP = 'A'.
L_F-REF_TABNAME = 'BSIS'.
L_F-REF_FIELDNAME = 'WRBTR'.
L_F-DO_SUM = 'X'.
APPEND L_F. CLEAR L_F.
L_F-FIELDNAME = 'AMT60'.
L_F-SELTEXT_L = '60 DAYS'.
L_F-REPTEXT_DDIC = '60 DAYS'.
L_F-REF_TABNAME = 'PTAB'.
L_F-SP_GROUP = 'A'.
L_F-REF_TABNAME = 'BSIS'.
L_F-REF_FIELDNAME = 'WRBTR'.
L_F-DO_SUM = 'X'.
APPEND L_F. CLEAR L_F.
L_F-FIELDNAME = 'AMTPL'.
L_F-SELTEXT_L = '60+ DAYS'.
L_F-REPTEXT_DDIC = '60+ DAYS'.
L_F-REF_TABNAME = 'PTAB'.
L_F-SP_GROUP = 'A'.
L_F-REF_TABNAME = 'BSIS'.
L_F-REF_FIELDNAME = 'WRBTR'.
L_F-DO_SUM = 'X'.
APPEND L_F. CLEAR L_F.
L_F-FIELDNAME = 'TOTAL'.
L_F-SELTEXT_L = 'TOTAL'.
L_F-REPTEXT_DDIC = 'TOTAL'.
L_F-REF_TABNAME = 'PTAB'.
L_F-SP_GROUP = 'A'.
L_F-REF_TABNAME = 'BSIS'.
L_F-REF_FIELDNAME = 'WRBTR'.
L_F-DO_SUM = 'X'.
APPEND L_F. CLEAR L_F.
ENDFORM.
FORM MAIN_SELECT *
FORM MAIN_SELECT.
SELECT HKONT ZUONR BUDAT SHKZG DMBTR PRCTR
INTO TABLE RTAB
FROM BSIS
WHERE BUKRS = COMPANY
AND HKONT = ACCT.
IF SY-SUBRC = 0.
SORT RTAB.
PERFORM PROCESS_RTAB.
PERFORM PROCESS_WTAB.
ENDIF.
ENDFORM. " MAIN SELECT
FORM VARIANT_INPUTHELP_F14 *
FORM VARIANT_INPUTHELP_F14.
DATA: G_EXIT(1) TYPE C.
CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
EXPORTING
IS_VARIANT = G_VARIANT
I_SAVE = 'A' " g_save
it_default_fieldcat =
IMPORTING
E_EXIT = G_EXIT
ES_VARIANT = GX_VARIANT
EXCEPTIONS
NOT_FOUND = 2.
IF SY-SUBRC = 2.
MESSAGE ID SY-MSGID TYPE 'S' NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ELSE.
IF G_EXIT = SPACE.
P_VARI = GX_VARIANT-VARIANT.
ENDIF.
ENDIF.
ENDFORM.
FORM USER_COMMAND *
--> UCOMM *
--> SELFIELD *
FORM USER_COMMAND USING UCOMM LIKE SY-UCOMM SELFIELD TYPE
SLIS_SELFIELD.
IF UCOMM EQ '&IC1'.
IF SELFIELD-TABINDEX <= 0.
MESSAGE S108.
EXIT.
ENDIF.
IF SELFIELD-SEL_TAB_FIELD CS 'LIFNR'.
SET PARAMETER ID 'LIF' FIELD SELFIELD-VALUE.
CALL TRANSACTION 'XK02'.
ELSE.
IF SELFIELD-SEL_TAB_FIELD CS 'VEND'.
SET PARAMETER ID 'LIF' FIELD SELFIELD-VALUE.
CALL TRANSACTION 'FBL1'.
ENDIF.
ENDIF.
CLEAR SY-UCOMM. CLEAR UCOMM.
ENDIF.
ENDFORM.
FORM TOP_OF_PAGE *
FORM TOP_OF_PAGE.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = LT_TOP_OF_PAGE.
ENDFORM.
FORM EVENTTAB_AUFBAUEN *
--> P_T_EVENTS *
FORM EVENTTAB_AUFBAUEN USING P_T_EVENTS TYPE SLIS_T_EVENT.
DATA: LS_EVENT TYPE SLIS_ALV_EVENT.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = P_T_EVENTS.
READ TABLE P_T_EVENTS WITH KEY NAME = SLIS_EV_TOP_OF_PAGE
INTO LS_EVENT.
IF SY-SUBRC = 0.
MOVE FORMNAME_TOP_OF_PAGE TO LS_EVENT-FORM.
APPEND LS_EVENT TO P_T_EVENTS.
ENDIF.
ENDFORM. " EVENTTAB_AUFBAUEN
FORM PAI_OF_SELECTION_SCREEN *
FORM PAI_OF_SELECTION_SCREEN.
IF NOT P_VARI IS INITIAL.
MOVE G_VARIANT TO GX_VARIANT.
MOVE P_VARI TO GX_VARIANT-VARIANT.
CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'
EXPORTING
I_SAVE = 'A' " g_save
CHANGING
CS_VARIANT = GX_VARIANT.
G_VARIANT = GX_VARIANT.
ELSE.
PERFORM VARIANT_INIT.
ENDIF.
ENDFORM. " PAI_OF_SELECTION_SCREEN
FORM VARIANT_INIT *
FORM VARIANT_INIT.
CLEAR G_VARIANT.
G_VARIANT-REPORT = 'ZFUS0102'.
ENDFORM. " VARIANT_INIT
*& Form PROCESS_RTAB
text
--> p1 text
<-- p2 text
FORM PROCESS_RTAB.
DATA TLNS TYPE I.
DESCRIBE TABLE S_EKORG LINES TLNS.
LOOP AT RTAB.
IF TLNS GT 0.
SELECT SINGLE EKORG FROM EKKO INTO EKKO-EKORG
WHERE EBELN = RTAB-ZUONR(10).
CHECK EKKO-EKORG IN S_EKORG.
ENDIF.
IF NOT RTAB-BUDAT > DATE.
MOVE RTAB-ZUONR(2) TO WTAB-ZUONR.
COMPUTE WTAB-DAYS = DATE - RTAB-BUDAT.
IF RTAB-SHKZG = 'H'.
WTAB-DMBTR = RTAB-DMBTR * -1.
ELSE.
WTAB-DMBTR = RTAB-DMBTR * 1.
ENDIF.
MOVE RTAB-PRCTR TO WTAB-PRCTR.
APPEND WTAB.
ENDIF.
ENDLOOP.
FREE RTAB.
ENDFORM. " PROCESS_RTAB
*& Form PROCESS_WTAB
text
--> p1 text
<-- p2 text
FORM PROCESS_WTAB.
SORT WTAB BY ZUONR PRCTR DAYS.
LOOP AT WTAB.
PTAB-ZUONR = WTAB-ZUONR.
PTAB-PRCTR = WTAB-PRCTR.
AT END OF DAYS.
SUM.
IF WTAB-DAYS > 60.
WS-AMTPL = WS-AMTPL + WTAB-DMBTR.
ELSE.
IF WTAB-DAYS > 30.
WS-AMT60 = WS-AMT60 + WTAB-DMBTR.
ELSE.
WS-AMT30 = WS-AMT30 + WTAB-DMBTR.
ENDIF.
ENDIF.
ENDAT.
AT END OF PRCTR.
PTAB-AMTPL = WS-AMTPL.
PTAB-AMT30 = WS-AMT30.
PTAB-AMT60 = WS-AMT60.
COMPUTE PTAB-TOTAL = PTAB-AMTPL + PTAB-AMT30 + PTAB-AMT60.
APPEND PTAB.
WS-AMTPL = 0.
WS-AMT30 = 0.
WS-AMT60 = 0.
ENDAT.
ENDLOOP.
SORT PTAB BY ZUONR PRCTR.
ENDFORM. " PROCESS_WTAB
regards,
Sindhu -
Customer wise Item Wise Price List History Report
Hello Experts,
My Customer Wants the Customer wise Item Wise Price List History Report
Dixit PatelDear Dixit,
SELECT CardCode,ItemCode,T0.DocDate,DocNum,Price FROM RDR1 T1
INNER JOIN ORDR T0 ON T1.DocEntry=T0.DocEntry
ORDER BY CardCode,ItemCode,T0.DocDate DESC
Is this will be enough?
Best Regards,
Hendry Wijaya -
Employee and customer wise cost
Hello Experts
Below are my business scenario
1.I want capture the employee wise cost so What could be best way to capture the employee wise expense in the below method
Employee as cost center
Employee as Vendor
Employee as internal order
IF anybody provide me advantages and disadvantage it will be better understanding
2. Another one of my requirement in my business scenario customer group wise COPA report with net profit level
Here GP level I will get it from my billing document(Revenue – COGS), customer wise expenses I am going to capture through the cost center
finally I want to settle this cost to customer group (COPA)
Is it Possible ?
Thanks & Regards
Sri.Hi VS
1. For employee wise expenses, you can refer the document I contributed below
http://scn.sap.com/docs/DOC-50141
The document explains how you can use Statistical IOs for this.. You can also name your Statistical Internal Orders as per the Employee Number, but I used a slightly different approach to be more scaleable
2. For customer wise expenses, while you book the expenses in F-02 or FB60, you need to click on the "Prof Segment" and enter the Customer / Product details in it
That ways you can capture the expenses at Customer level in COPA
Br. Ajay M -
Customer wise classification of raw and packing stock
Hi all MM-forum members,
I have a special requirement from Management in my company(Consumer Products-Confectionery and Biscuits) which is implementing SAP.They want to see a report for customer wise classified stock of Raw materials this is possible through Make to order configuration in PP. I require reference of customer along with stock of raw materials I want to find out if this requirement can be catered through standard reporting in SAP-MM or do we need to design customized report through ABAB.Hi
If you buy material specific to customer (individual requirement not collective) in MTO scenarion then the stock you can see sales order wise in MBBS. Incase if you are not very happy with the report MBBS, then use function module "MD_STOCK_REQUIREMENTS_LIST_API" to define your own report.
Regards
Antony -
Is there a Report showing PO total order quantity and value ??
Hi
Can we get the report in which the Purchase order and its total order quantity and total order value is displayed.
I mean, if we execute ME2N, display list should NOT show the whole list of items listed. Instead, I want the total order value and total order quantity of the PO document.
Are there any transaction codes available..........
Thanks
MaruthiYou have create a report layout for your specific requirement. As there are different material in a PO so to get the Quantity at header level is not possible with standard variant.
Just only workaround is use any of the reports ME2L, ME2M and ME80, ME80FN (prefer ME2N with ALV) then sort the report Purchase Document wise and then select the subtotal at Purchasing document in layout sort order option. Also select summation for Quantity and net price fields, so now you have all the subtotal at Purchase Document level.
After that go to Settings > Define Totals Drill Down and select Purchasing document. So you have report in your required format.
Hope this will help you...
Enjoyyyyyyyyyy
Akshit -
hi experts,
i made an alv,which shows o/p like this:
truckno(likp-traid)| dono(likpvbeln)|party nm(kna1-name1)|skucode(lips-arktx)| qty(lips-lfimg)
wb03-7809 | 80000345 | msaha | frooti_pet | 40,000 cs
wb03-7809 | 80000346 | msaha | frooti_ tetra | 20,000 cs
wb03-7809 | 80000345 | msaha | appy1 ltr | 60,000 cs,
but client requirement is that,
they need item wise total ie say, frooti_pet is assigned against dono(80000345), bt this item can also be assigned against another do say(80000389) with sum qty in it.
they want total sum of a particular skucode(item) means frooti_pet(item wise) , that may be assigned in diff dono , but duff dono may be assigned in same truck
o/p will show,
like
truck no| skucode| total(partycular item wise).
how to do it?
thnx in advance.Declare the fields in the internal table in the below order.
dono(likpvbeln)|
skucode(lips-arktx)|
truckno(likp-traid)|
party nm(kna1-name1)|
qty(lips-lfimg)
Above the loop sort the internal table as follows.
Sort itab by dono skucode.
Loop at itab.
at end of skucode.
sum.
here move the Quantity to another variable.
endat.
endloop.
Edited by: Poorna Chandrasekhar on Jan 23, 2009 12:07 PM -
Hi everybody ,
We need the Discount to be calculated automatically on the Total Order Value.
Its a promotion.
Useful suggestions will be rewarded.
Thanks
KartikHi pls follow the procedure below, Hope it will help u out
VOFM: ON PRICING
This note is an explanation of function "Maintain: Requirements and Formulas", which is also known as "VOFM".
By using descriptions and examples, this note explains how the VOFM function works in the R/3 Standard System, which objects are related to it and which restrictions exist.
Chapter 2.7 explains possible causes of errors and solutions for problems with the VOFM function.
To provide a good overview, this note is subdivided into the following sub areas:
1. General information
1.1 Definition of terms
1.2 Application areas
1.3 A frank word on the "source code responsibility"
2. Technology
2.1 Introduction
2.2 Namespaces
2.2.1 SSCR object registration
2.3 Structure of a VOFM object
2.3.1 Include file with ABAP form routine
2.3.2 Table entries in TFRM and TFRMT
2.4 Calling VOFM objects
2.4.1 VOFM object carrier
2.5 Activation, generation and RV80HGEN
2.6 Transport
2.7 FAQs: Possible causes of errors and problems
Technical field names are displayed in angle brackets [].
Note that this note only explains the mode of operation of the VOFM in an R/3 Standard Core System.
For R/3 industry solutions or Add-Ons the VOFM function displays a different behavior in subareas, however, this is not dealt with in this note.
Additional key words
VOFM, SAPMV80H, TFRM, TFRMT, RV80HGEN, XPRA, formulas, requirements, data transport routine, copy routine, data transfer.
Cause and prerequisites
1. General information
1.1 Definition of terms
Depending on the business processes used it may be necessary to influence the standard behavior of R/3 applications. For that purpose the VOFM function provides a corresponding environment in order to be able to develop and manage customer-specific logic simply.
The system stores the objects generated via the VOFM in the Customizing of the respective application area
(Pricing, message determination and so on) and its programs call the objects correspondingly.
Also SAP delivers certain functions in the form of VOFM objects.
Consequently, the VOFM is an exit technology as explained in more detail in Note 381348.
1.2 Application areas
Typical VOFM objects are requirements, formulas and data transfer routines.
These are used in processes of the purchase order, the delivery, billing, price determination, material determination, message determination, the free goods, the pricing and of others.
In the entries of the R/3 core menu of Transaction VOFM you can find a precise overview of the supported application areas.
1.3 A frank word on the "source code responsibility"
As in user exits, in VOFM objects are many fields and tables available. Thus, the use of VOFM objects is very versatile and consequently also very critical under certain circumstances. For the use of "customer-specific" VOFM objects the statements in Note 381348 regarding the responsibility for customer enhancements (Maintenance responsibility, problems during the upgrade and so on) apply. Read this note carefully before you decide on the use of customer-specific VOFM objects.
Errors and data inconsistencies that are caused by improper application or implementation of VOFM objects are not processed by the SAP Support but exclusively within the framework of the Consulting that has to be purchased separately.
2. Technology
2.1 Introduction
A VOFM object is uniquely defined via characteristics "group indicator" [GRPZE] and "group number" [GRPNO].
Here the group indicator, technically represented by a character field of length 4, is the logical connection to the calling environment.
Examples:
ABED copying requirement in the order
ADAT data transfer in the order
PBED requirements pricing
CASC Data transfer for sales activities
PBEK requirements account determination
CHRG requirements batches
REAK archiving for orders
VFCL Multi-dimensional scales
You can find all defined group indicators in the allowed values of the "GRPZE" domain in the ABAP Dictionary (Transaction SE11).
The group number can have a value from 1 to 999.
Exceptions are group indicators "PSTK" (= group key routine pricing) and "TDAT" (= data transfer for texts). For these the system can only assign group numbers from 1 to 99.
2.2 Namespaces
The VOFM has separate number ranges in order to distinguish VOFM objects delivered by SAP from customer-specific VOFM objects. These number ranges are often also called "VOFM namespaces".
However, note that this is not a "real namespace" that is protected by corresponding entries in system table "TRESC" (= reserved names for Customizing tables and Customizing objects).
Instead, only the VOFM logic itself does the definition and check of the number ranges.
The following list displays the customer number ranges sorted according to group indicators:
Indicator Name Number range customer
FOFU Subsequent functions 900 - 999
PSTK Group key routines 50 - 99
TDAT Data transfer routines f. texts 50 - 99
all other group indicators 600 - 999
In Note 356737 you can find more information on the available VOFM number ranges.
2.2.1 SSCR object registration
VOFM objects are subject to SSCR registration (= SAP Software Change Registration).
The reason for that is the necessity that every VOFM object is physically assigned to that SAP development class, from whose programs a corresponding jump into the VOFM object later occurs.
If you use the VOFM interface the system makes the assignment automatically. An assignment of customer-specific development classes is not possible.
2.3 Structure of a VOFM object
A VOFM object consists of the following parts:
Include file with ABAP form routine
TFRM table entry
TFRMT table entry
2.3.1 Include file with ABAP form routine
In the ABAP form routine the desired function is programmed.
Example pricing value formula number 001:
Include name : FV64A001
Form routine : FRM_KONDI_WERT_001
Implementation: * * Profit margin considering rebate agreements
form frm_kondi_wert_001.
xkwert = komp-kzwi3 - komp-wavwr.
endform.
Dependending on the selected group indicator, the group number and the system type (SAP or customer system), the system assigns and generates the include name and form routine name automatically.
For this reason, standard routines delivered by SAP generally have a different structure of the include name than customer-specific routines.
Example:
SAP standard value formula for the pricing
=> prefix FV64A + object number with 3 places from 'SAP namespace'
=> for example FV64A001
Customer-specific value formula for the pricing
=> prefix RV64A + object number with 3 places from 'customer namespace'
=> for example RV64A905
2.3.2 Table entries in TFRM and TFRMT
The entries in tables TFRM and TFRMT belonging to a VOFM object are used for the status management and assignment. The system always analyzes them if the user calls Transaction VOFM or if a generation operation occurs (for details refer to section 2.5).
The system generates exactly one TFRM table entry per VOFM OBjekt. In this TFRM entry the following information is stored:
Group indicator GRPZE
Group number GRPNO
Routine 'active' indicator AKTIV_TFRM
Application KAPPL
Date of the last generation GNDAT
Time of the last generation GNZEI
Examples:
GRPZE GRPNE AKTIV_TFRM KAPPL GNDAT GNZEI
PBED 001 X V 06 13 2001 09 06 39
TDAT 001 X 06 13 2001 09 06 39
CHRG 003 X 06 13 2001 09 06 39
The meaning of group indicators and group numbers has already been dealt with.
The 'active indicator' controls whether a VOFM object is 'active' or 'inactive'. Active VOFM objects have characteristic value AKTIV_TFRM = 'X', inactive objects have characteristic value AKTIV_TFRM = initial.
VOFM objects flagged as 'active' are 'known' to the calling program logic, that means they were included in the main program of the 'calling program' and can thus be addressed and
processed during the runtime.
You cannot delete VOFM objects that are still 'active'. In this case you have to reset the active indicator manually before.
The content of the 'Application' field serves to filter the relevant VOFM objects in various display functions and Customizing functions.
Example: Condition value formula 010 'Relevant Price'. This formula has characteristic value 'MS' for the 'Application' field (= External Services Management purchasing). Therefore the object is not open for selection in the input help during the maintenance of pricing procedure SD (Transaction V/08), because this is a Customizing transaction assigned to application 'V' (= Sales and Distribution).
Storing an application key is optional.
The generation date and the generation time record the time of the last registration of the VOFM object (the object carrier, refer to section 2.4.1).
In addition to the respective TFRM entry a VOFM object can have 'n' entries in table TFRMT. The entries are used for the storage of language-dependent object descriptions, which are structured as follows:
- Language key [SPRAS]
- Group indicator [GRPZE]
- Group number [GRPNO]
- Description [BEZEI]
Examples:
SPRAS GRPZE GRPNO BEZEI
D PBED 001 Regulierer abweich
E PBED 001 Different payer
The system supplies the language key automatically with the logon language of the user during the creation of a new VOFM object.
The length of the object description is limited to 20 characters.
Important! A VOFM object is only consistent if both the Include file with ABAP form routine and a corresponding TFRM table entry exist. Entries in table TFRMT are optional.
2.4 Calling VOFM objects
As mentioned above, VOFM objects are called directly by the application logic of R/3 standard programs. Technically this is implemented by ABAP statement 'PERFORM ... IN PROGRAM'. With the aid of this statement you can specify both the name of the subroutine and the main program dynamically (during the runtime).
Example: Call of a condition value formula from the pricing
if xkomv-kofrm ne 0. <<< formula reference existing?
xkwert = xkomv-kwert. <<< act. value in work variable
frm_kondi_wert-nr = xkomv-kofrm. <<< set up object names
perform (frm_kondi_wert) in program saplv61a if found. <<<CALL
xkomv-kwert = xkwert. <<
endif.
In the example above the subroutine is determined by the contents of variable 'FRM_KONDI_WERT'; the main program, which is to be searched for the form routine, is SAPLV61A.
If the called routine is not known in the main program, a program termination with the title 'PERFORM_NOT_FOUND' occurs.
Therefore some users of the VOFM technology call ABAP statement 'PERFORM ... IN PROGRAM' together with the addition 'IF FOUND', which has the effect that a jump into the form routine is only executed if this in fact exists in the main program. This does indeed prevent a program termination, however, the result of the overall process may deviate from the
result expected by the user, because in this case the system does not execute the source code implemented in the VOFM object.
2.4.1 VOFM 'object carrier'
Object carriers are required to make a VOFM object 'known' in the main program of the calling program (refer to section 2.4). The object carrier is integrated in the main program of the calling program as an independent include (for example SAPLV61A, SAPMV45A and so on).
Example: Inclusion of object carriers for word processing in SD
documents; Program 'SAPLV45T'
System-defined Include-files. *
INCLUDE LV45TTOP. "Global Data
INCLUDE LV45TDEF.
INCLUDE LV45TUXX. "Function Modules
INCLUDE LV45TNNN. <<< 'carrier' copy requirements for texts
INCLUDE LV45TENN. <<< 'carrier' copy routines for texts
Every active VOFM object (for an explanation on the active indicator refer to section 2.3.2) must be registered in the 'carrier'.
The system writes standard VOFM objects delivered by SAP directly into the 'carrier', VOFM objects from the number range reserved for customers (refer to section 2.2 'Namespaces') are sorted into a 'sub-include' included in the carrier.
Exactly one carrier exists per group indicator. The names of all defined object carriers are hard-coded in program MV80HF0A, form routine 'AKTIVIEREN_TRAEGER_SETZEN'.
Here the names of the sub-include for customer-specific VOFM objects belonging to the main carrier are also defined.
Example: Carrier object 'FV63ANNN' for the registration of condition basis formulas in the pricing (Program SAPLV61A)
FV63ANNN
<<< main
carrier-include
|-INCLUDE RV63ANNN. "User-Routinen <<< sub-include customer objects
| |- INCLUDE RV63A910. "Customer specific
| |- INCLUDE RV63A911. "Customer specific
| |- INCLUDE RV63A912. "Customer specific
| |- ...
|- INCLUDE FV63A001. "Volume
|- INCLUDE FV63A002. "Net value
|- INCLUDE FV63A003. "Net Price
|- INCLUDE FV63A004. "Net Value Plus Tax
|- INCLUDE FV63A005. "KZWI1
|- ...
Because the content of the VOFM object carriers is automatically created source code, you should avoid manual changes to them.
SAP notes, which suggest manual changes to the object carriers, are therefore also incorrect. However, if you nevertheless receive such a note to solve a problem, contact the SAP
Support with a reference to this note.
2.5 Activation, generation and RV80HGEN
The 'activation' is the inclusion of an VOFM object in an object carrier. A 'deactivation' results in the removal of the VOFM object from the object carrier.
The overall process for the creation of a current object carrier is often called 'generation'.
Generally the activation or generation fall into three types.
- Individual activation
- Collective activation
- Generation of object carriers via report RV80HGEN
The 'individual activation' causes the registration of an individual VOFM object in the corresponding object carrier. Which object carrier is relevant is determined with the aid of the group indicator and the group number. In addition to the entry of the VOFM object in the object carrier the system writes the date and time of the generation into table TFRM (refer also to section 2.3.2).
You can start the individual activation only manually. It is always always executed when a user selects a line within the VOFM editing interfaces and afterwards selects activity
'Activate' from the 'Edit' menu.
The 'collective activation' causes the registration of all VOFM objects that belong to a certain group indicator. Analog to the individual activation the system determines the relevant object carrier automatically and writes date and time into table TFRM. The 'collective activation' is a process which you can start also only manually. For this purpose, choose activity
'Activate all' from the 'Edit' menu.
During the generation via report RV80HGEN the system sets up the object carriers of all defined group indicators again. However, the system includes only those VOFM objects that have set the 'active' indicator in the corresponding TFRM table entry. Nonactive VOFM objects are not included in object carriers during the generation via report RV80HGEN.
Due to the quantity of the data to be processed,
the generation via RV80HGEN can take between 0,5 and >5 minutes (depending on the system and the constellation).
Because the RV80HGEN is defined as 'XPRA', it is executed automatically during a system upgrade.
You can also use this XPRA feature for the transport of VOFM objects in order to implement an automatic update of the object carriers after the import of VOFM objects into the target system (section 2.6 provides more details on the transport).
Both the collective activation and the activation via report RV80HGEN technically revert to the program components of the individual activation. For the separate control of the individual activation types form routine AKTIVIEREN_EINZELN (Include MV80HF0A) has a 'USING' parameter, which can have the following characteristic values:
'E' Activate individually
'A' Activate all (= collective activation)
' ' Deactivate individually
During the generation via RV80HGEN the system executes a collective activation for every group indicator sequentially, that means a call of form routine
AKTIVIEREN_EINZELN with characteristic value 'A'.
2.6 Transport
If you want to transfer VOFM objects from one system (= source) into another system (= target), this is generally made with an object transport.
As of Release 4.0, the VOFM function has a connection to the SAP 'Change and Transport System' (CTS) in order to simplify the transfer process for the user.
By the transport connection the system automatically adds newly created or changed VOFM objects to the object list of a transport request which was selected by the user before.
All steps necessary for the execution of a VOFM transport are described in detail in Note 22808 'Transferring formulas'. Note that steps 1-4 are only needed
if the VOFM maintenance environment providesno automatic connection to the transport system or if you want to combine a transport request manually. In any case you must execute step 5, regardless of how the transport request was created.
In addition to Note 22808, Note 385067 contains an overview for releases >= 4.6C regarding which sorts of tasks and object entries are required in a
transport request (depending on the activity carried out (create/change/activate/deactivate/delete)) in order to transport a VOFM object successfully. -
Getting Total Order Cost for each order
I have a fact table, order lines.
There are two dimension tables, customer & Product.
For each order i want to display on a pivot table:
- the cost of the line.
-the cost of the total order.
Is this possible? I have been playing with ALL & All except but have not found a solution yet. some metadata is below
CustomerID CustomerName
1 john
2 mary
3 jim
4 kevin
ProductID ProductName Price
1 pen 5
2 cup 4
3 car 7
4 phone 3
OrderLineID CustomerID ProductID Quantity
1 1 2 2
1 1 3 2
2 2 1 4
3 1 2 5
3 1 2 4
3 4 4 6
4 4 4 6Hi Winston,
Could you kindly provide an example of the output you'd expect based on the above data? Also, I've noticed that there is no OrderID column in the order line table. How would you determine which OrderLineIDs belong to a single order?
Regards,
Michael Amadi
Please use the 'Mark as answer' link to mark a post that answers your question. If you find a reply helpful, please remember to vote it as helpful :)
Website: http://www.nimblelearn.com
Blog: http://www.nimblelearn.com/blog
Twitter: @nimblelearn -
Cancelling order discounts when below Customer's Minimum Order value
I've been reading what I can find about discount conditions etc and am slightly confused as all the examples seem to relate to item line situations. We need to have a setup where all possible discounts are cancelled if the order total value is less than a given minimum order value (or threshold) related to that particular customer - and not based upon any line item value.
We do not use Minimum Order Value as per the SAP examples given i.e. orders not accepted below the MOV and therefore surcharges added. As mentioned we use a threshold value for most customers under which discounts do not apply.
Because of this we cannot automatically email or fax acknowledgements, and we have a massive time consuming checking operation for orders added to ensure mistakes are not made i.e. discounts applied incorrectly before the acknowledgements are sent out.
Can anyone advise as to where I can find the path to getting a solution to this problem.
Thanks
Jim Jackson
Edited by: Jim Jackson on Feb 20, 2009 9:11 AMI understant AMIW is Header condtion type - statistical- and has the MOV value for the specified customer.
Maintain AMIW as Header / Line condition type.( T Code V/06)
Create the condition reocord for AMIW with EXCLUSIVE Indicator X.(VK11)
Then create a requirement for all the discount condition types, if the total order value = or > AMIW value then do not check the exclusion indicator( KOMP - KZNEP), ELSE check the exclusion indicator.
( T Code VOFM)
During order save - automatically repirce the order in Userexit_save_document_prepare or userexit_save_document.
If there is a partial delivery, during Invoicing if the copy control(delivery to Invoice) has carry out new pricing B, the above setting might fail. Maintain the copy control setting to copy pricing elements unchanged and redetermine taxes OR try to determine the condition values in the invoice from the order.
Hope this helps.
Thanks
Sai
Maybe you are looking for
-
Ipod touch will not turn on or respond at all.
My friend tried jailbreaking his ipod touch an then erased the software from his ipod and turned it off and now it wont turn on or respond or do anything. I have tried many things....is there anything else i can do?
-
I was asked to update my Firefox today. The prompts said the yahoo and norton toolbars would be disabled during the update and ENABLED after. They did not reset and do not appear in view drop down menu. How to I reset the toolbars? I am a novice user
-
My ipod is not playing on a Sony docking station and it is supposed to be compatible with it?
My ipod touch is not playing on a Sony docking station....what do I need to do??
-
How to use relative paths in Captivate 8 / Cómo usar URL's relativas en Captivate 8
Hello, I have developed a bunch of courses which will be migrated to a new site and I am having trouble changing the absolute paths into relative URL's to resources such as PDF files inserted into the scorm packages. I cannot find information on how
-
Using yahoo mail on macbook pro
I can no longer view the contacts in my yahoo mail account on my macbook pro. It doesn't show up when I sign in through google chrome, safari or firefox