Lotsize
Hi,
i have defined the lot size EX in MM01 and the minimum lotsize quantity is 100...but while creating purchase order for the same material less than the minimumlotsize quantity (i.e) for 50 it is accepting to do. So what is the use of defining the lotsize quantity.....
thanks in advance.
varsha.
Definition: lot-sizing procedure
Material Requirements Planning (PP-MRP)
A procedure in material requirements planning used to calculate order and production quantities (lot sizes).
Lot-sizing procedures are divided into the following groups:
Static
Period
Optimum
Production Planning and Detailed Scheduling (SCM-APO-PPS)
Procedure in production planning that is used to calculate the purchase order quantities of receipts.
In the SAP APO (Advanced Planner and Optimizer), the following standard lot-sizing procedures are available, which can be configured in the location product master.
Exact lot size
Fixed lot size
Period lot size
Reorder point procedure
For further lot-sizing procedures there are special heuristics available, e.g.
Groff lot-sizing procedure
Reorder point planning
Fixed lot size
Quantity that will be ordered or produced in the event of a shortage.
Procedure
If the amount of the shortage is less than the fixed lot size, it is the fixed lot size that is ordered or produced (and not the lesser quantity that is actually required).
If the amount of the shortage is greater than the fixed lot size, a multiple of the fixed lot size is procured. The system creates several purchase order proposals for this purpose.
Similar Messages
-
Future scheduled changes to material lotsize and mrp behaviour
Hi,
I have scheduled changes for a material in lot size for the next month and and also the lotsize key of periodic lot sizing procedure of weekly lot size from daily total to weekly total and also mrp type pd to p1.
when I run mrp then for the first changed month it is giving the changed lot size and weekly total and for the other future months it is considering the old lot size value and weekly total.
to display the new lot size what I have to do.
Thnaks and Regards
RamanaHi Vivek,
If I'm correct The changes will be made active on the scheduled date i.e. on 1st of october in our case using MM13. then the new lot size will be dispalyed in material master. if this is the the case untill unless the scheduled date comes I can't expect MRP to give me new lot size propsals.
But for materials with a long lead time foe ex 60 days I want to schedule new lot size data for the 60th day onwards and till that time old lot size data has to be taken. I want to get procurement proposals with old lot size for the coming sixty days and then with new lotsize after the 60th day onwards and I want run MRP for a period more than 6 months starting now and so that i can give procurement proposal to the vendors accordingly in future and present. Is there any way to acheive this.
Thanks and Regards
Ramana -
my bom has the lot size 1 to 1000
i like to change it to 1 to 2500
is it possible to change the existing bom.
which controles the lot size entry in bom any default setting can be made
kindly explain .Hi,
In Header Screen go to Edit ---> Define Tech. Type --> Select M (Multiple).
This will activate the Lot size fields in Header Data screen.
Regards,
Dhaval -
*MRP unable to create Delivery Schedule Lines in MM Scheduling Agreement*
Hi Experts,
I need your help...
The issue is, in-spit of maintaining Source List with an u201CScheduling Agreement with item No.u201D & u201CSource List Usage in MRPu201D as 2 (Record relevant to MRP. Sched. lines generated automatically), MRP run does not generate Schedule Lines, instead PRs are created.
Please help me to understand such behavior and fix the issue as the requirement is to generate Schedule Lines only.
Thanks,
PratapHello
Please check
1) Source List maintained properly in terms of Material # ; plant # ; proper POrg ; Schd Agr # and line item# ; proper validity date & MRP relevant indicator
2) Please also check Quata arrangement if you are using. whether % is maintained correctly against the vendor
3) MD03 , Delivery schedules- should be 3
4) check your planning horizon whether it is NETCH or not
5) check material master -MRP2 view, Procurement type is F- external procurement, schedule margin key if you are using
if everything above is set, then I feel it should work
Also please verify-
lot size, safety stock and the corresponding prod volume for MRP input v/s the stock available in MMBE
example.
MD04, we can see the open del lines.
if SS = 50 , prod volume is 150
1) if MMBE shows 200 then it wont generate any schedule.
2) if MMBE is 180 and your lotsize is 40, then after MD03, you will have a schedule line of 40 (provided if everything is set properly)
Please ensure there are NO open delivery lines . if you find such in MD04, then please close open delivery lines
in calculation of MRP, system considers such open delivery lines are going to receive and no additional schedule line generated even after MRP run
thanks -
How to get resultset from procedure having dynamic select sql query ?
Hi,
I have created a procedure, in which there is dynamic select query. The procedure has one out put parameter which gives error code. When I compile that procedure it compiles successufully. When I run it it executes successfully and gives output error code. But I don't know how to get resultset of that dynamic select sql query. I need that.
This is the procedure:
create or replace
PROCEDURE uspGetProductDetailsMultiOrder
v_DefinitionDBName IN VARCHAR2,
v_CommonDBName IN VARCHAR2,
v_Filter_FilledStatus IN VARCHAR2,
v_Filter_Internal_Counterparty IN nvarchar2,
v_Filter_NoteType IN nvarchar2,
v_Filter_Exchange IN nvarchar2,
v_Filter_Issuer IN nvarchar2,
v_Filter_Product_Category IN VARCHAR2,
v_DateToFilter IN VARCHAR2,
v_Filter_FromDate IN VARCHAR2,
v_Filter_ToDate IN VARCHAR2,
v_Active_YN_Flag IN NVARCHAR2,
v_Entity_ID IN NVARCHAR2,
v_ErrorNumber OUT NUMBER
as
v_SelectSQL nvarchar2(32767);
v_Setting_Name nvarchar2(32767);
v_Default_Value nvarchar2(32767);
v_Config_Value nvarchar2(32767);
v_CCY_ID NUMBER(10,0);
v_CCY_Data nvarchar2(32767);
v_CCY_List nvarchar2(32767);
v_Seq_Id NUMBER(10,0);
SWV_Active_YN_Flag NVARCHAR2(1);
SWV_VarStr long;--varchar2(4000);
SWV_TRANCOUNT NUMBER(10,0);
SWV_fnc_SplitString_Id_var1 NUMBER(10,0);
SWV_fnc_SplitString_Id_var0 NUMBER(10,0);
CURSOR RestrictTermsheetVisibilityByC
IS select CS.Setting_Name,Default_Value,Config_Value
from Config_Settings CS LEFT OUTER JOIN Entity_Config EC ON EC.Setting_ID = CS.Setting_ID
where EC.Entity_ID = v_Entity_ID AND Setting_Level = 'ENTITY';
CURSOR Get_RestrictCCY_List_Cursor IS SELECT Id_1,Data_1 FROM table(fnc_SplitString(v_Config_Value,','));
--CURSOR Get_RestrictCCY_List_Cursor IS SELECT Id,Data FROM imp;
CURSOR GetRestrictTemplateListCursor
-- is select id,data from imp;
IS SELECT Id_1,Data_1 FROM table(fnc_SplitString(v_Config_Value,',')) ;
--Parikshit 18-Jul-2010, active YN flag param added in SP
BEGIN
SWV_Active_YN_Flag := v_Active_YN_Flag;
if SWV_Active_YN_Flag = ' ' then
SWV_Active_YN_Flag := 'Y';
end if;
v_SelectSQL := ' ';
v_SelectSQL := v_SelectSQL || ' Select ';
v_SelectSQL := v_SelectSQL || ' NM.Note_Master_Id, NM.Product_Name, NM.Template_ID, NM.Template_Sr_No, NM.Asset, NM.Exchange, NM.Type, NM.Currency';
--SET @SelectSQL = @SelectSQL + ' , NM.Trade_Date, NM.Value_Date, NM.Valuation_Date, NM.Maturity_Date, NM.Tenor, NM.Strike_Price_Percentage, (case when (NM.Type like '' ELN%'' or NM.Type like ''RELN%'') THEN NOP.Issue_Price Else NM.Customer_Price End) as Customer_Price, NM.Dealer_Price, (case when (NM.Type like '' ELN%'' or NM.Type like ''RELN%'') THEN NOP.Customer_Yield Else NM.Customer_Yield End) as Customer_Yield, NOP.Dealer_Cost_PA as Internal_Cost '
v_SelectSQL := v_SelectSQL || ' , NM.Trade_Date, NM.Value_Date, NM.Valuation_Date, NM.Maturity_Date, NM.Tenor, NM.Strike_Price_Percentage, (case when (NM.PriceList_YN = ''Y'') THEN NOP.Issue_Price Else NM.Customer_Price End) as Customer_Price, NM.Dealer_Price, (case when (NM.PriceList_YN = ''Y'') THEN NOP.Customer_Yield Else NM.Customer_Yield End) as Customer_Yield, NOP.Dealer_Cost_PA as Internal_Cost ';
v_SelectSQL := v_SelectSQL || ' , NM.Minimum_Issue_Size, NM.Maximum_Issue_Size, NM.Minimum_Tolerence_Amount, NM.Maximum_Tolerence_Amount, NM.Trigger_Amount_Warning, nvl(NM.PerUnit_Equivalent_Amount,1) as PerUnit_Equivalent_Amount, NM.Active_YN_Flag, NM.Verify_YN_Flag ';
v_SelectSQL := v_SelectSQL || ' , NM.Tranche_YN_Flag, NM.Launch_Date, NM.Open_Date, NM.Close_Date, NM.PreHedged_YN, NM.Created_By, NM.Created_At, NM.Verified_At, NM.Verified_By, NM.ISIN, NM.Issuer';
v_SelectSQL := v_SelectSQL || ' , NM.Product_Catagory as Product_Category, NM.Note_Issuer_Type as Issuer_Category, NM.Series_No as Series_No, NM.Minimum_Investment_Amount ';
--Added by Parikshit on 14-Jun-2011, to remove the unwinding amounts from the total issue size
--SET @SelectSQL = @SelectSQL + ' , NOP.LastTimeWhenProductModified,NOP.Nominal_Amount as Current_Issue_Size, NOP.Filled_Status, NM.Counterparty as Internal_Counterparty '
v_SelectSQL := v_SelectSQL || ' , NOP.LastTimeWhenProductModified,(NOP.Nominal_Amount - nvl(ND.Unwind_Amount,0) ) as Current_Issue_Size, NOP.Filled_Status, NM.Counterparty as Internal_Counterparty ';
--********************************************************END
v_SelectSQL := v_SelectSQL || ' ,T2.Confirmed_Amount, T2.Confirmed_Shares';
v_SelectSQL := v_SelectSQL || ' , T3.Live_Deals';
v_SelectSQL := v_SelectSQL || ' , BS.Net_Trade_Hedged, BS.Net_Trade_Outstanding, BS.Hedged_Nominal_BUY, BS.Hedged_Nominal_SELL, BS.Outstanding_Nominal_BUY, BS.Outstanding_Nominal_SELL ';
v_SelectSQL := v_SelectSQL || ' , ( case When UPPER(NM.PreHedged_YN) = ''Y'' Then ''Launched'' ';
v_SelectSQL := v_SelectSQL || ' When ((NM.Maturity_Date IS NOT NULL) AND to_date(NM.Maturity_Date) <= to_date(sysdate)) Then ''Matured''';
v_SelectSQL := v_SelectSQL || ' When (UPPER(NM.PreHedged_YN) = ''N'' AND NM.Launch_Date IS NOT NULL) Then ''Launched''';
--Ready to launch
v_SelectSQL := v_SelectSQL || ' When (UPPER(NM.PreHedged_YN) = ''N'' AND NM.Launch_Date IS NULL AND (T2.Confirmed_Amount >= NM.Minimum_Issue_Size) AND to_date(Close_Date) > to_date(sysdate) ) Then ''Ready To Launch''';
--Ready to launch
v_SelectSQL := v_SelectSQL || ' When (UPPER(NM.PreHedged_YN) = ''N'' AND NM.Launch_Date IS NULL AND (T2.Confirmed_Amount >= (NM.Minimum_Issue_Size - NM.Minimum_Tolerence_Amount)) AND to_date(Close_Date)= to_date(sysdate) ) Then ''Ready To Launch''';
v_SelectSQL := v_SelectSQL || ' When (UPPER(NM.PreHedged_YN) = ''N'' AND NM.Launch_Date IS NULL AND (T2.Confirmed_Amount >= (NM.Minimum_Issue_Size - NM.Minimum_Tolerence_Amount)) AND to_date(Close_Date)< to_date(sysdate) ) Then ''Ready To Launch''';
--Warning trigger reached
v_SelectSQL := v_SelectSQL || ' When (UPPER(NM.PreHedged_YN) = ''N'' AND NM.Launch_Date IS NOT NULL AND (T2.Confirmed_Amount >= NM.Trigger_Amount_Warning )) Then ''Warning Trigger Reached''';
v_SelectSQL := v_SelectSQL || ' Else ''Not Ready'' ';
v_SelectSQL := v_SelectSQL || ' End)Launch_Status';
v_SelectSQL := v_SelectSQL || ' , NI.Issuer_Code';
v_SelectSQL := v_SelectSQL || ' , (nvl(NOP.Nominal_Amount,0) - nvl(T2.Confirmed_Amount,0)) as Unconfirmed_Amount, NM.Upfront as Upfront, case when UPPER(NM.PreHedged_YN) = ''Y'' THEN 0 else (nvl(T2.Confirmed_Amount,0) - nvl(BS.Net_Trade_Hedged,0)) end as ReadyToHedge';
v_SelectSQL := v_SelectSQL || ' , NOP.Hard_Margin as Margin_Amount, NM.YearBasis as YearBasis, NM.Note_Product_Rating as Equity_Risk_Score, AD.Equity_Asset_Class ';
v_SelectSQL := v_SelectSQL || ' , NM.Note_Product_Rating as Product_Rating, NOP.PO_ID, AD.LotSize as Lot_Size, NM.Max_Orders_Per_Product as MAX_Orders, NOP.Order_Count as Current_Order_Count, nvl(NM.Denomination_Ccy,NM.Currency) as Denomination_Ccy, NM.Note_Scheme_Type as Underlying_Type, NM.Note_Asset_Class as Asset_Class, NULL as Product_Created_YN, NULL as Product_Created_ID, ( (case when NM.Note_Order_Type = '''' then N''Market'' else NM.Note_Order_Type end ) ) as Order_Type, NOP.Spot_Price, NM.Note_Price_Link, NOP.Strike_Price, NVL(NM.C_Fixing_Frequency,''Atmaturity'') as Fixing_Frequency, NM.Document_Uploaded_YN, NM.Document_Uploaded_At, NM.Document_Uploaded_By, NM.Document_File_Name, NM.Document_File_Extension, NM.Document_File_Path, NM.CutOff_Time, NM.Soft_Tenor, NM.NM_Sn_Code_All, NULL as Note_Price_Source, AD.LongName, NVL(NM.Pricelist_YN,''N'') as Pricelist_YN, AD.AlternateIdentifierAlias as Underlying, NM.Note_Issuer_Date_Offset, NM.Counterparty as Note_Counter_Party, NULL as
Note_Premium_PC ';
v_SelectSQL := v_SelectSQL || ' , NI.Issuer_Name, IP.Issuer_Id, IP.Broad_Cash, IP.Odd_Cash, IP.Account_Note, IP.Rounding, IP.Decimal_Truncate, IP.Misc1 as Recidual_YN, NM.Note_Issuer_Type, NM.Target_Coupon, C_Fixing_Frequency as C_Fixing_Frequency, NM.Callable_Frequency as Callable_Frequency, NM.Strike_Price_Percentage as C_Note_Strike_PC, NM.NM_Airbag_PC as Airbag_PC, C_Note_Barrier_PC as C_Note_Barrier_PC, TM.Template_Name, ''Product'' as Record_Type, NM.C_Settlement_Frequency, NM.Coupon_Frequency, NM.NM_Fixing_Source as Note_Fixing_Source, NM.Order_Entry_Type, (nvl(NM.Minimum_Issue_Size,0) - nvl(T2.Confirmed_Amount,0)) as Remaining_Launch_Amount, NM.C_Fixing_Start_Point, NM.C_Fixing_End_Point, NM.Order_Entry_Type, SC.Scheme_Alias, SC.Scheme_Name, CM.CM_ID, CM.CM_Name as Counterparty_Name, NM.NM_Other_Features as Other_Features, NM.Strike_Price_Percentage as Accrual_Strike, NM.NM_KnockIn as KnockIn, NM.NM_Airbag_Type, NM.NM_Put_strike as Put_Strike, NM.NM_Accrual_Strike,
NM.NM_Counterparty_Upfront, NM.Price_Updated_YN as Prices_Updated_YN, AD.Code as Asset_Name,NULL as KO_FREQ_TYPE, NM.Daily_Accumalation_Equities, NM.MaxNoAcc_days, NM.Guaranteed_Days, NM.Leverage_ratio, NM.NORM_IF, NM.NORM_PAIR, NM.NORM_FXRate ';
v_SelectSQL := v_SelectSQL || ' from ';
v_SelectSQL := v_SelectSQL || v_CommonDBName|| '.Note_Master NM ';
v_SelectSQL := v_SelectSQL || 'Left Outer Join ';
v_SelectSQL := v_SelectSQL || v_CommonDBName||'.Issuer_Master NI ';
v_SelectSQL := v_SelectSQL || ' On NM.Issuer = (case when ISNUMERIC(NM.Issuer) = 0 then cast (NI.Issuer_Name as nvarchar2(25)) else cast(NI.Issuer_Id as nvarchar2(25)) end )';
v_SelectSQL := v_SelectSQL || ' Left Outer Join ';
v_SelectSQL := v_SelectSQL || v_CommonDBName||'.Note_Order_Product NOP ';
v_SelectSQL := v_SelectSQL || ' On NOP.Note_Master_ID = NM.Note_Master_ID';
v_SelectSQL := v_SelectSQL || ' Left Outer Join ';
v_SelectSQL := v_SelectSQL || v_DefinitionDBName||'.AssetDef AD ';
v_SelectSQL := v_SelectSQL || ' On AD.Code = NM.Asset';
v_SelectSQL := v_SelectSQL || ' AND AD.TypeAsset = substr(NM.Note_Asset_Class,1,2) ';
v_SelectSQL := v_SelectSQL || ' Left Outer Join ';
v_SelectSQL := v_SelectSQL || v_CommonDBName||'.Issuer_Parameter IP ';
v_SelectSQL := v_SelectSQL || ' On NM.Issuer = (case when ISNUMERIC(NM.Issuer) = 0 then cast (IP.Issuer_Name as nvarchar2(25)) else cast(IP.Issuer_Id as nvarchar2(25)) end )';
v_SelectSQL := v_SelectSQL || ' Left Outer Join ';
v_SelectSQL := v_SelectSQL || v_CommonDBName||'.Template_Master TM ';
v_SelectSQL := v_SelectSQL || ' On TM.Template_Id = NM.Template_ID ';
v_SelectSQL := v_SelectSQL || ' Left Outer Join ';
v_SelectSQL := v_SelectSQL || v_CommonDBName||'.Scheme_Codes SC ';
v_SelectSQL := v_SelectSQL || ' On SC.Scheme_Alias = NM.Type';
v_SelectSQL := v_SelectSQL || ' Left Outer Join ';
v_SelectSQL := v_SelectSQL || v_CommonDBName||'.Counterparty_Master CM ';
v_SelectSQL := v_SelectSQL || ' On CM.CM_ID = NM.Counterparty';
v_SelectSQL := v_SelectSQL || ' Left Outer Join ';
v_SelectSQL := v_SelectSQL || ' ( ';
v_SelectSQL := v_SelectSQL || ' Select Note_master_ID, sum(Nominal_Amt) as Unwind_Amount from ';
v_SelectSQL := v_SelectSQL || v_CommonDBName||'.Note_Deals ';
v_SelectSQL := v_SelectSQL || ' where Prematurity_Date IS NOT NULL';
v_SelectSQL := v_SelectSQL || ' AND (UPPER(Deletion_Reason ) = ''PART REDEMPTION'' or UPPER(Deletion_Reason ) = ''FULL REDEMPTION'')';
v_SelectSQL := v_SelectSQL || ' Group by Note_master_ID ';
v_SelectSQL := v_SelectSQL || ' ) ND ';
v_SelectSQL := v_SelectSQL || ' On ND.Note_Master_ID = NM.Note_Master_ID';
if (v_Filter_FilledStatus = ' ' OR UPPER(v_Filter_FilledStatus) = 'ALL' ) then
v_SelectSQL := v_SelectSQL || ' ';
else
v_SelectSQL := v_SelectSQL || ' AND NOP.Filled_Status IN (' || v_Filter_FilledStatus || ')';
end if;
--AND NOP.Internal_Counterparty = 'DEFAULT''
if(SUBSTR(to_char(v_Filter_Internal_Counterparty),1,4000)= ' ') then
v_SelectSQL := v_SelectSQL || ' ';
else
v_SelectSQL := v_SelectSQL || ' AND NOP.Internal_Counterparty IN (' || v_Filter_Internal_Counterparty || ')';
end if;
--SET @SelectSQL = @SelectSQL + ' --Filter--'
v_SelectSQL := v_SelectSQL || ' LEFT OUTER JOIN ';
v_SelectSQL := v_SelectSQL || ' (';
v_SelectSQL := v_SelectSQL || ' select Note_Master_ID, sum(Nominal_Amount) As Confirmed_Amount, sum(No_Of_Shares) As Confirmed_Shares ';
v_SelectSQL := v_SelectSQL || ' from '||v_CommonDBName||'.Note_Order_RM ';
v_SelectSQL := v_SelectSQL || ' Where substr(UPPER(Order_Status_Flag),1,6) = ''YYYYYY'' AND substr(substr(UPPER(Order_Status_Flag),1,7),-1,1) = ''N'' ';
v_SelectSQL := v_SelectSQL || ' group by Note_Master_ID';
v_SelectSQL := v_SelectSQL || ' ) T2';
v_SelectSQL := v_SelectSQL || ' ON T2.Note_Master_ID = NM.Note_Master_ID';
v_SelectSQL := v_SelectSQL || ' LEFT OUTER JOIN';
v_SelectSQL := v_SelectSQL || ' (';
v_SelectSQL := v_SelectSQL || ' Select ND.Note_Master_ID, sum(ND.Nominal_Amt) As Live_Deals ';
v_SelectSQL := v_SelectSQL || ' from '||v_CommonDBName||'.Note_Deals ND ';
v_SelectSQL := v_SelectSQL || ' where ND.Active_YNFlag = ''Y'' ';
v_SelectSQL := v_SelectSQL || ' group by Note_Master_ID';
v_SelectSQL := v_SelectSQL || ' ) T3';
v_SelectSQL := v_SelectSQL || ' ON T3.Note_Master_ID = NM.Note_Master_ID';
v_SelectSQL := v_SelectSQL || ' LEFT OUTER JOIN';
v_SelectSQL := v_SelectSQL || ' (';
v_SelectSQL := v_SelectSQL || ' SELECT NH_Note_Master_ID,';
v_SelectSQL := v_SelectSQL || ' (CAST(SUM(Hedged_Nominal_Buy) AS BINARY_FLOAT) -CAST(SUM(Hedged_Nominal_Sell) AS BINARY_FLOAT)) Net_Trade_Hedged,';
v_SelectSQL := v_SelectSQL || ' (CAST(SUM(Outstanding_Nominal_BUY) AS BINARY_FLOAT) -CAST(SUM(Outstanding_Nominal_SELL) AS BINARY_FLOAT)) Net_Trade_Outstanding,';
v_SelectSQL := v_SelectSQL || ' SUM(Hedged_Nominal_BUY) AS Hedged_Nominal_BUY,';
v_SelectSQL := v_SelectSQL || ' SUM(Hedged_Nominal_SELL) AS Hedged_Nominal_SELL,';
v_SelectSQL := v_SelectSQL || ' SUM(Outstanding_Nominal_BUY) AS Outstanding_Nominal_BUY,';
v_SelectSQL := v_SelectSQL || ' SUM(Outstanding_Nominal_SELL) As Outstanding_Nominal_SELL';
v_SelectSQL := v_SelectSQL || ' From';
v_SelectSQL := v_SelectSQL || ' (';
v_SelectSQL := v_SelectSQL || ' SELECT NH_Note_Master_ID,';
v_SelectSQL := v_SelectSQL || ' SUM(NH_Hedged_Nominal) AS Hedged_Nominal_BUY, 0 AS Hedged_Nominal_SELL,';
v_SelectSQL := v_SelectSQL || ' SUM(NH_Outstanding_Nominal) AS Outstanding_Nominal_BUY, 0 AS Outstanding_Nominal_SELL';
v_SelectSQL := v_SelectSQL || ' FROM '||v_CommonDBName||'.Note_Hedge ';
v_SelectSQL := v_SelectSQL || ' WHERE NH_Direction = ''BUY'' ';
v_SelectSQL := v_SelectSQL || ' GROUP BY NH_Note_Master_ID';
v_SelectSQL := v_SelectSQL || ' Union';
v_SelectSQL := v_SelectSQL || ' SELECT NH_Note_Master_ID,';
v_SelectSQL := v_SelectSQL || ' 0 AS Hedged_Nominal_BUY, SUM(NH_Hedged_Nominal) AS Hedged_Nominal_SELL,';
v_SelectSQL := v_SelectSQL || ' 0 AS Outstanding_Nominal_BUY, SUM(NH_Outstanding_Nominal) AS Outstanding_Nominal_SELL';
v_SelectSQL := v_SelectSQL || ' FROM '||v_CommonDBName||'.Note_Hedge ';
v_SelectSQL := v_SelectSQL || ' WHERE NH_Direction = ''SELL'' ';
v_SelectSQL := v_SelectSQL || ' GROUP BY NH_Note_Master_ID';
v_SelectSQL := v_SelectSQL || ' ) ';
v_SelectSQL := v_SelectSQL || ' GROUP BY NH_Note_Master_ID';
v_SelectSQL := v_SelectSQL || ' ) BS';
v_SelectSQL := v_SelectSQL || ' ON BS.NH_Note_Master_ID = NM.Note_Master_ID';
v_SelectSQL := v_SelectSQL || ' Where NM.Verify_YN_Flag = ''Y'' ';
v_SelectSQL := v_SelectSQL || ' AND NM.Active_YN_Flag = ''' || SWV_Active_YN_Flag || '''';
if(SUBSTR(to_char(v_Filter_NoteType),1,4000) = ' ' OR UPPER(v_Filter_NoteType) = 'ALL' ) then
v_SelectSQL := v_SelectSQL || ' ';
else
v_SelectSQL := v_SelectSQL || ' AND NM.Type IN (' || v_Filter_NoteType || ')';
end if;
IF UPPER(v_Entity_ID) <> 'ALL' then
OPEN RestrictTermsheetVisibilityByC;
FETCH RestrictTermsheetVisibilityByC INTO v_Setting_Name,v_Default_Value,v_Config_Value;
WHILE RestrictTermsheetVisibilityByC%FOUND LOOP
--2) Convert comma separated ccy (CNY,HKD,USD) string to single quote ccy with comma separated Ccy ('CNY','HKD','USD') string
if (UPPER(v_Setting_Name) = 'RESTRICT_TERMSHEET_VISIBILITY_BY_CCY') then
if v_Config_Value is not null then
SELECT COUNT(Id_1) INTO SWV_fnc_SplitString_Id_var0 FROM TABLE(fnc_SplitString(v_Config_Value,',')) ;
IF (SWV_fnc_SplitString_Id_var0 > 0) then
--print 'Before Single quote separated ccy : ' + '''' + @Config_Value + ''''
v_Seq_Id := 0;
OPEN Get_RestrictCCY_List_Cursor;
FETCH Get_RestrictCCY_List_Cursor
INTO v_CCY_ID,v_CCY_Data;
WHILE Get_RestrictCCY_List_Cursor%FOUND LOOP
if v_Seq_Id = 0 then
v_CCY_List := '''' || v_CCY_Data || '''';
else
v_CCY_List := v_CCY_List || ',' || '''' || v_CCY_Data || '''';
end if;
v_Seq_Id := v_Seq_Id+1;
FETCH Get_RestrictCCY_List_Cursor INTO v_CCY_ID,v_CCY_Data;
END LOOP;
CLOSE Get_RestrictCCY_List_Cursor;
--print 'After Single quote ccy : ' + @CCY_List
v_SelectSQL := v_SelectSQL || ' AND nvl(NM.Denomination_Ccy,NM.Currency) NOT IN (' || v_CCY_List || ')';
end if;
end if;
end if;
--3) Convert comma separated template (ELN,BELN,BELN_B) string to single quote template code with comma separated template ('ELN','BELN','BELN_B') string
if (UPPER(v_Setting_Name) = 'RESTRICT_TERMSHEET_VISIBILITY_BY_SUBSCHEME') then
if v_Config_Value is not null then
SELECT COUNT(Id_1) INTO SWV_fnc_SplitString_Id_var1 FROM TABLE(fnc_SplitString(v_Config_Value,',')) ;
IF (SWV_fnc_SplitString_Id_var1 > 0) then
v_Seq_Id := 0;
OPEN GetRestrictTemplateListCursor;
FETCH GetRestrictTemplateListCursor
INTO v_CCY_ID,v_CCY_Data;
WHILE GetRestrictTemplateListCursor%FOUND
LOOP
if v_Seq_Id = 0 then
v_CCY_List := '''' || v_CCY_Data || '''';
else
v_CCY_List := v_CCY_List || ',' || '''' || v_CCY_Data || '''';
end if;
v_Seq_Id := v_Seq_Id+1;
FETCH GetRestrictTemplateListCursor INTO v_CCY_ID,v_CCY_Data;
END LOOP;
CLOSE GetRestrictTemplateListCursor;
--print 'After Single quote template code: ' + @CCY_List
v_SelectSQL := v_SelectSQL || ' AND TM.Template_Code NOT IN (' || v_CCY_List || ')';
end if;
end if;
end if;
FETCH RestrictTermsheetVisibilityByC INTO v_Setting_Name,v_Default_Value,v_Config_Value;
END LOOP;
CLOSE RestrictTermsheetVisibilityByC;
end if;
if (v_Filter_Exchange = ' ' OR UPPER(v_Filter_Exchange) = 'ALL') then
v_SelectSQL := v_SelectSQL || ' ';
else
v_SelectSQL := v_SelectSQL || ' AND NM.Exchange IN (' || v_Filter_Exchange || ')';
end if;
--SET @SelectSQL = @SelectSQL + ' --AND NM.Issuer = 4'
if (v_Filter_Issuer = ' ' OR UPPER(v_Filter_Issuer) = 'ALL') then
v_SelectSQL := v_SelectSQL || ' ';
else
v_SelectSQL := v_SelectSQL || ' AND NM.Issuer IN (' || v_Filter_Issuer || ')';
end if;
if v_Filter_Product_Category = ' ' then
v_SelectSQL := v_SelectSQL || ' ';
else
v_SelectSQL := v_SelectSQL || ' AND UPPER(NM.Note_Issuer_Type) IN (''' || v_Filter_Product_Category || ''')';
end if;
if UPPER(v_DateToFilter) = 'NA' then
v_SelectSQL := v_SelectSQL || ' ';
else
if UPPER(v_DateToFilter) = 'CLOSE_DATE' then
v_SelectSQL := v_SelectSQL || ' AND to_char( '|| v_DateToFilter || ') >= to_date(''' || v_Filter_ToDate || ''');
-- AND convert(smalldatetime,''' || v_Filter_ToDate || ''',106) ';
else
v_SelectSQL := v_SelectSQL || ' AND to_char(''' || v_DateToFilter || ''') BETWEEN to_date(''' || v_Filter_FromDate || ''') AND to_date(''' || v_Filter_ToDate || ''') ';
end if;
end if;
v_SelectSQL := v_SelectSQL || ' Order by NM.Product_Name';
SWV_VarStr := v_SelectSQL;
DBMS_OUTPUT.PUT_LINE(SWV_VarStr);
EXECUTE IMMEDIATE SWV_VarStr;
IF SQLCODE <> 0 then
GOTO ERROR_HANDLER;
end if;
IF SQL%rowcount > 0 then
COMMIT;
SWV_TRANCOUNT := SWV_TRANCOUNT -1;
end if; --Commit Transaction
v_ErrorNumber := SQLCODE;
RETURN;
<< ERROR_HANDLER >> v_ErrorNumber := SQLCODE;
ROLLBACK;
SWV_TRANCOUNT := 0; --Rollback Transaction
RETURN;
END;Please suggest something. Thanks
Edited by: BluShadow on 30-Nov-2011 11:00
added {noformat}{noformat} tags for formatting of code. Please read {message:id=9360002} to learn to do this yourself in future.Connecting to the database sample_adf_finiq_common.
Select NM.Note_Master_Id, NM.Product_Name, NM.Template_ID, NM.Template_Sr_No, NM.Asset, NM.Exchange, NM.Type, NM.Currency , NM.Trade_Date, NM.Value_Date, NM.Valuation_Date, NM.Maturity_Date, NM.Tenor, NM.Strike_Price_Percentage, (case when (NM.PriceList_YN = 'Y') THEN NOP.Issue_Price Else NM.Customer_Price End) as Customer_Price, NM.Dealer_Price, (case when (NM.PriceList_YN = 'Y') THEN NOP.Customer_Yield Else NM.Customer_Yield End) as Customer_Yield, NOP.Dealer_Cost_PA as Internal_Cost , NM.Minimum_Issue_Size, NM.Maximum_Issue_Size, NM.Minimum_Tolerence_Amount, NM.Maximum_Tolerence_Amount, NM.Trigger_Amount_Warning, nvl(NM.PerUnit_Equivalent_Amount,1) as PerUnit_Equivalent_Amount, NM.Active_YN_Flag, NM.Verify_YN_Flag , NM.Tranche_YN_Flag, NM.Launch_Date, NM.Open_Date, NM.Close_Date, NM.PreHedged_YN, NM.Created_By, NM.Created_At, NM.Verified_At, NM.Verified_By, NM.ISIN, NM.Issuer , NM.Product_Catagory as Product_Category, NM.Note_Issuer_Type as Issuer_Category, NM.Series_No as Series_No, NM.Minimum_Investment_Amount , NOP.LastTimeWhenProductModified,(NOP.Nominal_Amount - nvl(ND.Unwind_Amount,0) ) as Current_Issue_Size, NOP.Filled_Status, NM.Counterparty as Internal_Counterparty ,T2.Confirmed_Amount, T2.Confirmed_Shares , T3.Live_Deals , BS.Net_Trade_Hedged, BS.Net_Trade_Outstanding, BS.Hedged_Nominal_BUY, BS.Hedged_Nominal_SELL, BS.Outstanding_Nominal_BUY, BS.Outstanding_Nominal_SELL , ( case When UPPER(NM.PreHedged_YN) = 'Y' Then 'Launched' When ((NM.Maturity_Date IS NOT NULL) AND to_date(NM.Maturity_Date) <= to_date(sysdate)) Then 'Matured' When (UPPER(NM.PreHedged_YN) = 'N' AND NM.Launch_Date IS NOT NULL) Then 'Launched' When (UPPER(NM.PreHedged_YN) = 'N' AND NM.Launch_Date IS NULL AND (T2.Confirmed_Amount >= NM.Minimum_Issue_Size) AND to_date(Close_Date) > to_date(sysdate) ) Then 'Ready To Launch' When (UPPER(NM.PreHedged_YN) = 'N' AND NM.Launch_Date IS NULL AND (T2.Confirmed_Amount >= (NM.Minimum_Issue_Size - NM.Minimum_Tolerence_Amount)) AND to_date(Close_Date)= to_date(sysdate) ) Then 'Ready To Launch' When (UPPER(NM.PreHedged_YN) = 'N' AND NM.Launch_Date IS NULL AND (T2.Confirmed_Amount >= (NM.Minimum_Issue_Size - NM.Minimum_Tolerence_Amount)) AND to_date(Close_Date)< to_date(sysdate) ) Then 'Ready To Launch' When (UPPER(NM.PreHedged_YN) = 'N' AND NM.Launch_Date IS NOT NULL AND (T2.Confirmed_Amount >= NM.Trigger_Amount_Warning )) Then 'Warning Trigger Reached' Else 'Not Ready' End)Launch_Status , NI.Issuer_Code , (nvl(NOP.Nominal_Amount,0) - nvl(T2.Confirmed_Amount,0)) as Unconfirmed_Amount, NM.Upfront as Upfront, case when UPPER(NM.PreHedged_YN) = 'Y' THEN 0 else (nvl(T2.Confirmed_Amount,0) - nvl(BS.Net_Trade_Hedged,0)) end as ReadyToHedge , NOP.Hard_Margin as Margin_Amount, NM.YearBasis as YearBasis, NM.Note_Product_Rating as Equity_Risk_Score, AD.Equity_Asset_Class , NM.Note_Product_Rating as Product_Rating, NOP.PO_ID, AD.LotSize as Lot_Size, NM.Max_Orders_Per_Product as MAX_Orders, NOP.Order_Count as Current_Order_Count, nvl(NM.Denomination_Ccy,NM.Currency) as Denomination_Ccy, NM.Note_Scheme_Type as Underlying_Type, NM.Note_Asset_Class as Asset_Class, NULL as Product_Created_YN, NULL as Product_Created_ID, ( (case when NM.Note_Order_Type = '' then N'Market' else NM.Note_Order_Type end ) ) as Order_Type, NOP.Spot_Price, NM.Note_Price_Link, NOP.Strike_Price, NVL(NM.C_Fixing_Frequency,'Atmaturity') as Fixing_Frequency, NM.Document_Uploaded_YN, NM.Document_Uploaded_At, NM.Document_Uploaded_By, NM.Document_File_Name, NM.Document_File_Extension, NM.Document_File_Path, NM.CutOff_Time, NM.Soft_Tenor, NM.NM_Sn_Code_All, NULL as Note_Price_Source, AD.LongName, NVL(NM.Pricelist_YN,'N') as Pricelist_YN, AD.AlternateIdentifierAlias as Underlying, NM.Note_Issuer_Date_Offset, NM.Counterparty as Note_Counter_Party, NULL as
Note_Premium_PC , NI.Issuer_Name, IP.Issuer_Id, IP.Broad_Cash, IP.Odd_Cash, IP.Account_Note, IP.Rounding, IP.Decimal_Truncate, IP.Misc1 as Recidual_YN, NM.Note_Issuer_Type, NM.Target_Coupon, C_Fixing_Frequency as C_Fixing_Frequency, NM.Callable_Frequency as Callable_Frequency, NM.Strike_Price_Percentage as C_Note_Strike_PC, NM.NM_Airbag_PC as Airbag_PC, C_Note_Barrier_PC as C_Note_Barrier_PC, TM.Template_Name, 'Product' as Record_Type, NM.C_Settlement_Frequency, NM.Coupon_Frequency, NM.NM_Fixing_Source as Note_Fixing_Source, NM.Order_Entry_Type, (nvl(NM.Minimum_Issue_Size,0) - nvl(T2.Confirmed_Amount,0)) as Remaining_Launch_Amount, NM.C_Fixing_Start_Point, NM.C_Fixing_End_Point, NM.Order_Entry_Type, SC.Scheme_Alias, SC.Scheme_Name, CM.CM_ID, CM.CM_Name as Counterparty_Name, NM.NM_Other_Features as Other_Features, NM.Strike_Price_Percentage as Accrual_Strike, NM.NM_KnockIn as KnockIn, NM.NM_Airbag_Type, NM.NM_Put_strike as Put_Strike, NM.NM_Accrual_Strike,
NM.NM_Counterparty_Upfront, NM.Price_Updated_YN as Prices_Updated_YN, AD.Code as Asset_Name,NULL as KO_FREQ_TYPE, NM.Daily_Accumalation_Equities, NM.MaxNoAcc_days, NM.Guaranteed_Days, NM.Leverage_ratio, NM.NORM_IF, NM.NORM_PAIR, NM.NORM_FXRate from Sample_ADF_finiq_Common.Note_Master NM Left Outer Join Sample_ADF_finiq_Common.Issuer_Master NI On NM.Issuer = (case when ISNUMERIC(NM.Issuer) = 0 then cast (NI.Issuer_Name as nvarchar2(25)) else cast(NI.Issuer_Id as nvarchar2(25)) end ) Left Outer Join Sample_ADF_finiq_Common.Note_Order_Product NOP On NOP.Note_Master_ID = NM.Note_Master_ID Left Outer Join Sample_ADF_finiq_Common.AssetDef AD On AD.Code = NM.Asset AND AD.TypeAsset = substr(NM.Note_Asset_Class,1,2) Left Outer Join Sample_ADF_finiq_Common.Issuer_Parameter IP On NM.Issuer = (case when ISNUMERIC(NM.Issuer) = 0 then cast (IP.Issuer_Name as nvarchar2(25)) else cast(IP.Issuer_Id as nvarchar2(25)) end ) Left Outer Join Sample_ADF_finiq_Common.Template_Master TM On TM.Template_Id = NM.Template_ID Left Outer Join Sample_ADF_finiq_Common.Scheme_Codes SC On SC.Scheme_Alias = NM.Type Left Outer Join Sample_ADF_finiq_Common.Counterparty_Master CM On CM.CM_ID = NM.Counterparty Left Outer Join ( Select Note_master_ID, sum(Nominal_Amt) as Unwind_Amount from Sample_ADF_finiq_Common.Note_Deals where Prematurity_Date IS NOT NULL AND (UPPER(Deletion_Reason ) = 'PART REDEMPTION' or UPPER(Deletion_Reason ) = 'FULL REDEMPTION') Group by Note_master_ID ) ND On ND.Note_Master_ID = NM.Note_Master_ID AND NOP.Internal_Counterparty IN (1) LEFT OUTER JOIN ( select Note_Master_ID, sum(Nominal_Amount) As Confirmed_Amount, sum(No_Of_Shares) As Confirmed_Shares from Sample_ADF_finiq_Common.Note_Order_RM Where substr(UPPER(Order_Status_Flag),1,6) = 'YYYYYY' AND substr(substr(UPPER(Order_Status_Flag),1,7),-1,1) = 'N' group by Note_Master_ID ) T2 ON T2.Note_Master_ID = NM.Note_Master_ID LEFT OUTER JOIN ( Select ND.Note_Master_ID, sum(ND.Nominal_Amt) As Live_Deals from Sample_ADF_finiq_Common.Note_Deals ND where ND.Active_YNFlag = 'Y' group by Note_Master_ID ) T3 ON T3.Note_Master_ID = NM.Note_Master_ID LEFT OUTER JOIN ( SELECT NH_Note_Master_ID, (CAST(SUM(Hedged_Nominal_Buy) AS BINARY_FLOAT) -CAST(SUM(Hedged_Nominal_Sell) AS BINARY_FLOAT)) Net_Trade_Hedged, (CAST(SUM(Outstanding_Nominal_BUY) AS BINARY_FLOAT) -CAST(SUM(Outstanding_Nominal_SELL) AS BINARY_FLOAT)) Net_Trade_Outstanding, SUM(Hedged_Nominal_BUY) AS Hedged_Nominal_BUY, SUM(Hedged_Nominal_SELL) AS Hedged_Nominal_SELL, SUM(Outstanding_Nominal_BUY) AS Outstanding_Nominal_BUY, SUM(Outstanding_Nominal_SELL) As Outstanding_Nominal_SELL From ( SELECT NH_Note_Master_ID, SUM(NH_Hedged_Nominal) AS Hedged_Nominal_BUY, 0 AS Hedged_Nominal_SELL, SUM(NH_Outstanding_Nominal) AS Outstanding_Nominal_BUY, 0 AS Outstanding_Nominal_SELL FROM Sample_ADF_finiq_Common.Note_Hedge WHERE NH_Direction = 'BUY' GROUP BY NH_Note_Master_ID Union SELECT NH_Note_Master_ID, 0 AS Hedged_Nominal_BUY, SUM(NH_Hedged_Nominal) AS Hedged_Nominal_SELL, 0 AS Outstanding_Nominal_BUY, SUM(NH_Outstanding_Nominal) AS Outstanding_Nominal_SELL FROM Sample_ADF_finiq_Common.Note_Hedge WHERE NH_Direction = 'SELL' GROUP BY NH_Note_Master_ID ) GROUP BY NH_Note_Master_ID ) BS ON BS.NH_Note_Master_ID = NM.Note_Master_ID Where NM.Verify_YN_Flag = 'Y' AND NM.Active_YN_Flag = 'Y' AND UPPER(NM.Note_Issuer_Type) IN ('Internal') AND to_char('16-oct-11') BETWEEN to_date('15-oct-11') AND to_date('17-oct-11') Order by NM.Product_Name
V_ERRORNUMBER = 0
Process exited.
Disconnecting from the database sample_adf_finiq_common.
here v_errornumber=0 is the output when i run it in oracle sql developer. -
Key Figure values in the Bex Report are different from the cube
Hi all,
When I tried to pull data of the cube, the values of the Key Figure 0Lotsize_cm was showing 100 EA. But when I try to run the query of the cube, then the key figure is LotSize is showing up as 500 EA. I don't understand why this is happening.
When I checked for Aggregation in the Key Figure. It shows up as "Sum" under aggregation and "Last Value" under Exception aggregation.
Could some one help me find a solution to this issue.
I look forward to hearing from the experts.
Regards,
S.PHi Arun and Zegion,
Thank you for your responses.
Arun, I do not have any aggregates on the cube. I changed the aggregate properties of the Key Figure from SUM to Minimum. this has solved my problem temporarily.
the reason I am saying temporarily because this is a SAP delivered InfoObject. This is for the datasource 0CO_PC_PCP_01. When I read through the documents, it said, SUMMation for Aggregation and Last value for "Exception Aggregation" will display the value of KF as the last value and does not add them up.
Since this wasn't the happening in my query, I changed the Aggregation from SUM to Minimum.
Regards,
S.P -
How to call a SAPME web service from MII
Dears,
How can I call a SAPME web service from MII such as PlaceFutureHold?
By using MII, I would like to develop some logic to check some values which query from SAPME database, if the value is out of spec, it needs to send a emal to inform user ans also hold the SFC.
Thanks!Hi,
I can config the SAPME web service ItemServiceService
I used Config Links to assign values in request ItemByBasicDataQuery_sync, such as material, revision, site.
But get a almost empty response ItemByBasicDataResponse_sync, I wrote both web service request and response in file as below.
What did I missed? Thanks!
request:
<?xml version="1.0" encoding="UTF-8" ?>
- <ItemByBasicDataQuery_sync xmlns="http://sap.com/xi/ME">
- <ItemByBasicDataQuery>
<Item>MA1</Item>
<Revision>A</Revision>
- <SiteRef>
<Site>HP</Site>
</SiteRef>
</ItemByBasicDataQuery>
</ItemByBasicDataQuery_sync>
response:
<?xml version="1.0" encoding="UTF-8" ?>
- <ItemByBasicDataResponse_sync xmlns="http://sap.com/xi/ME">
- <Item>
<Item />
<Revision />
- <SiteRef>
<Site />
</SiteRef>
<ItemType>K</ItemType>
<IncrementBatchNumber>S</IncrementBatchNumber>
<LotSize>0.00</LotSize>
- <StatusRef>
<Status languageCode="" />
- <SiteRef>
<Site />
</SiteRef>
</StatusRef>
<EffectivityControl>R</EffectivityControl>
<Description languageCode="" />
<UnitOfMeasure languageCode="" />
<AssignSerialAtRelease>false</AssignSerialAtRelease>
- <AssyDataTypeRef>
<AssyDataType languageCode="" />
- <SiteRef>
<Site />
</SiteRef>
</AssyDataTypeRef>
- <InventoryAssyDataTypeRef>
<AssyDataType languageCode="" />
- <SiteRef>
<Site />
</SiteRef>
</InventoryAssyDataTypeRef>
- <RemovalAssyDataTypeRef>
<AssyDataType languageCode="" />
- <SiteRef>
<Site />
</SiteRef>
</RemovalAssyDataTypeRef>
<CreateTrackableSFC>I</CreateTrackableSFC>
- <BomRef>
<Bom />
<Revision />
<BomType>S</BomType>
- <SiteRef>
<Site />
</SiteRef>
</BomRef>
- <RouterRef>
- <SiteRef>
<Site />
</SiteRef>
<Router />
<Revision />
<RouterType>D</RouterType>
</RouterRef>
<CurrentRevision>true</CurrentRevision>
<DrawingName languageCode="" />
<EffectiveEndDate daylightSavingTimeIndicator="true" timeZoneCode="" />
<EffectiveEndSequence unitCode="">0.00</EffectiveEndSequence>
<EffectiveStartDate daylightSavingTimeIndicator="true" timeZoneCode="" />
<EffectiveStartSequence unitCode="">0.00</EffectiveStartSequence>
- <ItemGroupRef>
- <SiteRef>
<Site />
</SiteRef>
<ItemGroup languageCode="" />
</ItemGroupRef>
- <MaskGroupRef>
- <SiteRef>
<Site />
</SiteRef>
<MaskGroup languageCode="" />
</MaskGroupRef>
<MaximumUsage unitCode="">0.00</MaximumUsage>
<Panel>true</Panel>
<PreAssembled>true</PreAssembled>
<QuantityMultiplier>0.00</QuantityMultiplier>
<QuantityRestriction>W</QuantityRestriction>
- <SelectorActivityRef>
<Activity languageCode="" />
</SelectorActivityRef>
<SelectorNote languageCode="" />
- <TransferItemGroupRef>
- <SiteRef>
<Site />
</SiteRef>
<ItemGroup languageCode="" />
</TransferItemGroupRef>
<UseCompFromDrawing>true</UseCompFromDrawing>
<IsCollector>true</IsCollector>
<CollectParentSerial>true</CollectParentSerial>
<RequiresSerialNumberChange>true</RequiresSerialNumberChange>
- <DocumentLinkList>
- <DocumentLink>
- <DocumentRef>
- <SiteRef>
<Site />
</SiteRef>
<Document />
<ModifiedDateTime daylightSavingTimeIndicator="true" timeZoneCode="" />
<Revision />
</DocumentRef>
- <DocumentContext>
- <ItemRef>
<Item />
<Revision />
- <SiteRef>
<Site />
</SiteRef>
</ItemRef>
- <RouterRef>
- <SiteRef>
<Site />
</SiteRef>
<Router />
<Revision />
<RouterType>D</RouterType>
</RouterRef>
<OperationRef />
- <SiteRef>
<Site />
</SiteRef>
</DocumentContext>
<Sequence unitCode="">0.00</Sequence>
</DocumentLink>
</DocumentLinkList>
- <ItemLocationList>
- <ItemLocation>
<Location languageCode="" />
<Description languageCode="" />
<Sequence unitCode="">0.00</Sequence>
- <ItemRef>
<Item />
<Revision />
- <SiteRef>
<Site />
</SiteRef>
</ItemRef>
</ItemLocation>
</ItemLocationList>
- <ItemAlternateList>
- <ItemAlternate>
- <AlternateItemRef>
<Item />
<Revision />
- <SiteRef>
<Site />
</SiteRef>
</AlternateItemRef>
<Sequence unitCode="">0.00</Sequence>
<Substitute>true</Substitute>
- <ItemRef>
<Item />
<Revision />
- <SiteRef>
<Site />
</SiteRef>
</ItemRef>
- <ItemGroupRef>
- <SiteRef>
<Site />
</SiteRef>
<ItemGroup languageCode="" />
</ItemGroupRef>
<RequiredSubstitute>true</RequiredSubstitute>
<ValidAssembly languageCode="" />
<ValidEnd daylightSavingTimeIndicator="true" timeZoneCode="" />
<ValidRevision />
<ValidStart daylightSavingTimeIndicator="true" timeZoneCode="" />
</ItemAlternate>
</ItemAlternateList>
- <ItemDPMOList>
- <ItemDPMO>
<Opportunities unitCode="">0.00</Opportunities>
- <OperationRef>
- <SiteRef>
<Site />
</SiteRef>
<Operation />
<Revision />
</OperationRef>
<ForAllOperations>true</ForAllOperations>
<ForAllDpmoCategories>true</ForAllDpmoCategories>
- <DpmoCategoryRef>
- <SiteRef>
<Site />
</SiteRef>
<DpmoCategory>TERMINATION</DpmoCategory>
</DpmoCategoryRef>
- <ItemRef>
<Item />
<Revision />
- <SiteRef>
<Site />
</SiteRef>
</ItemRef>
</ItemDPMO>
</ItemDPMOList>
- <TransferDataList>
- <TransferData>
- <TransferParent>
<ShopOrderRef />
- <ItemGroupRef>
- <SiteRef>
<Site />
</SiteRef>
<ItemGroup languageCode="" />
</ItemGroupRef>
- <ItemRef>
<Item />
<Revision />
- <SiteRef>
<Site />
</SiteRef>
</ItemRef>
</TransferParent>
<TransferType>N</TransferType>
- <TransferSite>
<Site />
</TransferSite>
- <AlarmTypeConfigRef>
- <SiteRef>
<Site />
</SiteRef>
<AlarmType languageCode="" />
<TypeSpecific>true</TypeSpecific>
</AlarmTypeConfigRef>
<DefaultChoice>true</DefaultChoice>
- <ExportTemplateRef>
<TransferDataType>S</TransferDataType>
- <SiteRef>
<Site />
</SiteRef>
<TemplateName />
</ExportTemplateRef>
<ReceiveRequired>true</ReceiveRequired>
</TransferData>
</TransferDataList>
- <ItemShopOrderTypeList>
- <ItemShopOrderType>
- <ShopOrderTypeRef>
- <SiteRef>
<Site />
</SiteRef>
<OrderType />
</ShopOrderTypeRef>
- <RouterRef>
- <SiteRef>
<Site />
</SiteRef>
<Router />
<Revision />
<RouterType>D</RouterType>
</RouterRef>
- <ItemRef>
<Item />
<Revision />
- <SiteRef>
<Site />
</SiteRef>
</ItemRef>
</ItemShopOrderType>
</ItemShopOrderTypeList>
- <CustomFieldList>
- <CustomField>
<Attribute languageCode="" />
<Value languageCode="" />
<Description languageCode="" />
</CustomField>
</CustomFieldList>
<CreatedDateTime daylightSavingTimeIndicator="true" timeZoneCode="" />
<ModifiedDateTime daylightSavingTimeIndicator="true" timeZoneCode="" />
<HoldId unitCode="">0.00</HoldId>
<LastReleasedDate daylightSavingTimeIndicator="true" timeZoneCode="" />
- <OriginalStatusRef>
<Status languageCode="" />
- <SiteRef>
<Site />
</SiteRef>
</OriginalStatusRef>
</Item>
</ItemByBasicDataResponse_sync> -
Sales Order Conversion to Production Order
Dear All,
I am from SD and have a doubt reg SD - PP ...
If i have 3 sales orders and each sales order has 3 line items. Now i need to make a production order --- the production order to have 1 line item from each sales order so in all 3 production orders for the 3 sales orders and each production order has 3 line items and each line item is from diffrent sales orders i.e as above 3 sales orders.
is it possible and how ?
I am awaiting for a suitable solution ASAP...
Thnks
krishnaHi,
In PP always 1 production order is for only 1 product ( if no co-product is added in BOM).
In your scenario, If the PP settings & master data are maintained perfectly.
System will create 9 production orders ( this may vary with respect to the lotsizing procedure used).
Reward points if useful
Thanks & regards
Mahesh babu
Edited by: Mahesh Babu MG on Jan 30, 2008 7:19 PM -
Inforecord Price is not taken in Costing-CK11N
Hi,
While executing costing run for a Material (Procurement Type F(External)), i am expecting the info record price to be picked (as per the valuation variant) for costing.
However, i dont see it picked. I have checked the validity, vendor block etc., everything seems ok.
Do you suggest.
KInd Regards
Umapathi GHi
Rounding off after calculating the whole cost estimate is a normal behaviour....
So, if your costing lotsize and Price Unit, both are high i.e. say, 1000 - Then rounding differences are minimized...
Also, if you have alternate UoM in your scenario, that can also be one of the reasons....
Try by increasing your costing lotsize and Price unit.. You may also maintain your info record for a higher qty
BR,Ajay M
Edited by: Ajay Maheshwari on Jan 27, 2011 5:39 PM -
Process to split production order based on the raw material batches
Hi All, below is a business situation which needs some some SAP process to help overcoming this issue.
We are working on process industry, where the core fabric (SFG) are produced from different machines and which are used as raw material in the subsequent process (Coating). Business wants SAP to generate individual planned orders for Coating when it uses this materials
e.g
Current situation.
SFG1 is the component of SFG2
SFG2 is the component of FG.
When the demand for FG is 100, you get 2 planned orders SFG1- 100 yd and SFG2- 100 yds
During production, the Planned order for SFG1 is split for 2 production order each producing 50 yds each.
Now I have SFG1 - 50 yds ( Batch A001), and SFG1- 50 yds ( Batch A002).
Now Business wants SAP to automatically propose 2 order for SFG2, However based on MRP it will only show 1 planned order of 100 yds required for SFG2 since the demand of FG is 100.
We want to split the planned orders of the higher level to look at lower level stock.
Any ideas or thought process.
Regards
SarvanSarvan,
You can have MRP propose two lots of SFG2 based upon lot sizing. For instance, if you always will want SFG2 to have orders of 50 each, then one way to achieve this would be to set the 'maximum lot size' to 50. MRP1 Tab of the material master.
There are other lotsizing methodologies that may be better suited to your business requirements as well.
Lot-Size Calculation - Consumption-Based Planning (MM-CBP) - SAP Library
Best Regards,
DB49 -
Factors influencing creation of a planned order
Hi,
What are the factors that lead to creation of a planned order during a Heuristic run?
When does a system decides to create a planned order? at what stock level? and how is the planned order qty. decided?
I have a material in a location that has planned orders generated.
I am trying to understand why the system created this order?
There is no safety stock, safety days supply or target days supply or rounding profile defined in Product master in Lot size tab.
Lot sizing procedure is by period (Days) - number of periods = 1
Lot size strategy blank
When I look at the product view,
the requirements pileup with category SNP:DepDmd and after some days, a planned order is generated for some qty.
I am trying to understand when the system determines to create a planned orders? What is the upper limit of the demand when the system generates a Planned order?
In the system, some times the planned order is generated when the stock is at 2,484.567 PCs some times 13.645 PCs.Planned Order creation is based on a MRP calculations (net requirements planning) and ofcourse APO takes into account various factors such as min or max lotsizes, time-phasing requirements, calendars or safety stock requirements etc.
Keeping aside the safety stock complexity in your situation, some of the reasons why a planned order could be created even with lots of stock in hand could be:
1. Check projected stock on hand may be going down under 0 if the planned order were not created on time
2. There would be a window of time for planned order creation due to production and other calendars that if lost would force projected stock in hand below 0
3. the stock in hand is blocked stock not useful for planning
4. Issues with SNP planning book configuration where key figures are not mapped correctly to ATP categories. Makes sense to double check in Product View
5. Due to min lot size being high, it might appear that system is over planning production. -
Error with Creation of process order
HI,
I am trying to create a Process order, system throw the error message "No valid task list for material XXXXX plant XXXX for sel.criteria". MAster data has not been transferd. I have checked in Recipie and BOM Nothing is missing, evry thing is fine. But as for my best of knowledge, it has been mantained correctly.
Kindly tell me what could be the problem & how to resolve it.
Regards.
NSRNSR,
The problem could be the validity dates or Lotsizes or status.
Most often faced problem could be that you would have created the recipe valid from todays date, but you may trying to create a Process order back dated. You can go to the master data tab in the process order display transcation(COR3) and check the Explosion dates, and check in C203 your master recipe header valid from date.
Regards,
Prasobh -
RE-FX - how to define the special condition in the lease -out contract
Dear experts,
pls help us in this case
we use the re-fx to our customer, but in this case, we have to define a rental price as below:
- the contract will be during 3 years; rental object is a office
- 1st year: the rental price is 10$/m2
- 2nd year: the rental price is increase 10% (compare with the rental price of the 1st year): (10*110%)$/m2
- 3rd year: the rental price is increase 10% (compare with the rental price of the 2st year): ((10*110%)*110%)$/m2
we dont know which internal formula can be resolved this case of us. pls help usHi,
I think your problem could be solved by using rounding profile but not using
fixed lotsize.
In rounding profile you have to give threshold value and rounding value
For the threshold value 1------- Rounding value 125
threshold value 126------Rounding value 250
threshold value 251-------Rounding value 375
threshold value 376 -
Rounding value 400
Regards,
nandha -
Hi all,
I learmed the basic stuff of XML, DTD, DOM, etc. long time ago. Now, I came back to resume my XML journey and try to learn the XML Schemas, XPath and XQuery. I have Microsoft SQL Server 2012 Management Studio (SSMS2012) in our computer network. From
Page 221 of the old Book "Beginning XML 2nd Edition" written by David Hunter, et.al., (published by Wrox), I copied the name5.xsd and name5.xml :
<?xml version="1.0"?>
<schema xmlns=http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.wrox.com/name" xmlns:target="http://www.wrox.com/name"
elementFormDefault="qualified">
<element name="name">
<complexType>
<sequence>
<element name="first" type="string"/>
<element name="middle" type="string"/>
<element name="last" type="string"/>
</sequence>
</complexType>
</element>
</schema>
<?xml version="1.0"?>
<name
xmlns=http://www.wrox.com/name"
xmlns:xsi="http://www.wrox.org/2001XMLSchema-instance"
xsi:schemaLocation="http://www.wrox.com/name name5.xsd"
title="Mr.">
<first>John</first>
<middle>Frizgerald</middle>
<last>Doe</last>
</name>
How can I execute these two files in my SSMS2012 for doing my first XML Schema trial?
Please kindly help, advise and respond.
Thanks in advance,
Scott ChangHi Eric Zhang, Thanks for your nice response.
1) I saw the CREATE XML SCHEMA COLLECTION (Transact-SQL) and tried its first example "Create XML schema collection in the database" in my SQL Server 2012 Management Studio (SSMS2012):
-- Create a sample database in which to load the XML schema collection.
-- Copied this set of code stsments from Microsoft Library (ms176009)
-- ColesMS12_20a.sql (saved in C:/Documents/SQL Server Management Studio)
-- 19 March 2015 1145 AM
CREATE DATABASE SampleDB
GO
USE SampleDB
GO
CREATE XML SCHEMA COLLECTION ManuInstructionsSchemaCollection AS
N'<?xml version="1.0" encoding="UTF-16"?>
<xsd:schema targetNamespace="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelManuInstructions"
xmlns ="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelManuInstructions"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" >
<xsd:complexType name="StepType" mixed="true" >
<xsd:choice minOccurs="0" maxOccurs="unbounded" >
<xsd:element name="tool" type="xsd:string" />
<xsd:element name="material" type="xsd:string" />
<xsd:element name="blueprint" type="xsd:string" />
<xsd:element name="specs" type="xsd:string" />
<xsd:element name="diag" type="xsd:string" />
</xsd:choice>
</xsd:complexType>
<xsd:element name="root">
<xsd:complexType mixed="true">
<xsd:sequence>
<xsd:element name="Location" minOccurs="1" maxOccurs="unbounded">
<xsd:complexType mixed="true">
<xsd:sequence>
<xsd:element name="step" type="StepType" minOccurs="1" maxOccurs="unbounded" />
</xsd:sequence>
<xsd:attribute name="LocationID" type="xsd:integer" use="required"/>
<xsd:attribute name="SetupHours" type="xsd:decimal" use="optional"/>
<xsd:attribute name="MachineHours" type="xsd:decimal" use="optional"/>
<xsd:attribute name="LaborHours" type="xsd:decimal" use="optional"/>
<xsd:attribute name="LotSize" type="xsd:decimal" use="optional"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>' ;
GO
-- Verify - list of collections in the database.
select *
from sys.xml_schema_collections
-- Verify - list of namespaces in the database.
select name
from sys.xml_schema_namespaces
-- Use it. Create a typed xml variable. Note collection name specified.
DECLARE @x xml (ManuInstructionsSchemaCollection)
GO
--Or create a typed xml column.
CREATE TABLE T (
i int primary key,
x xml (ManuInstructionsSchemaCollection))
GO
-- ////The following code statements are not used in order to create SampleDB
-- Clean up
---DROP TABLE T
---GO
---DROP XML SCHEMA COLLECTION ManuInstructionsSchemaCollection
---Go
---USE Master
---GO
---DROP DATABASE SampleDB
It worked and I got the following results:
1 4 NULL sys 2009-04-13 12:59:13.390 2012-02-10 20:16:02.097
65536 1 NULL ManuInstructionsSchemaCollection 2015-03-19 11:47:17.660 2015-03-19 11:47:17.660
http://www.w3.org/2001/XMLSchema
http://schemas.microsoft.com/sqlserver/2004/sqltypes
http://www.w3.org/XML/1998/namespace
http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelManuInstructions
But, I don't undertand (i) what SCHEMA COECTION is, (ii) what <xsd:schema targetNamespace=.....</xsd:complexType> are, (iii) How I can specify my "project specific" schema in the Microsoft SCHEMA COLLECTION to check my xml file.
2) I dived in the XQuery programmimng in SSMS2012 in the last few weeks. I used the examles of Ad-Hoc XML File Query by Seth Delconte (in
httpS://www.simple-talk.com/content/print.aspx?article=1756) in my SSMS2012. They worked. But I don't understand the (i) Importing XML data using a function, (ii) Using the XQuery contans()
function to find substrings, (iii)Efficiency comparisons in the article.
Please kindly help me in enlightening me to resolve the difficulties listed in 1) and 2).
Thanks,
Scott Chang -
Automatic Purchase Requisition Creation in MRP run
Hi,
1. I create a Sales Order for quantity 20 of main material MAT which has two sub-components - COMP1 and COMP2. The plant in which this sales order is being created does not have any stock quantitiy of the material or its sub-components. For quantity 20 of the main material, quantities required of the sub-components are 40 and 60 respectively.
2. I run MRP using transaction MD03 for the sub-components. This created purchase requisitions for the sub-components automatically. But, I see that the system creates only one purchase requisition of quantity 40 for COMP1 but two purchase requisitions for COMP2 each having quantity 60.
Can you please tell me why is the system creating two purchase requisitions for COMP2?
Thank you,
Helpful answers will be immediately rewarded!Hi Janakiraman,
I compared the parameters - Safety stock, Lotsize, Maximum Lot Size, Reorder point - between the two components but found all the values to be same.
The only difference I found in the parameter values was...
For COMP2 (the one for which 2 PRs were generated) 'Special Procurement' field was blank
For COMP1 this field had the value 4A which means "STO from X101 plant"
Do you have any idea what could be the reason?
Thank you.
Maybe you are looking for
-
TS1717 Updating to latest version on Windows 7 64 bit
I use Windows 7 64bit, iTunes advised me of a new update (10.6.3) available however, there were "invalid registration" problems with the download and I was advised to go to the site to perform the 64 bit download which I did but I am still being advi
-
Trouble saving images from safari
I'm running into a strange issue and wondering what's going on. Sometimes (not every time) when I save a jpg from safari, it will show up in my saved photos but it will be blank, all grey with a camera icon and jpg under it. Then, any time I save a p
-
File,send link,is NOT underlined
<blockquote>Locking duplicate thread.<br> Please continue here: [/questions/785560]</blockquote><br> When i send links(file,send link) i would like that link underlined
-
Processing routine ENTRY in program ZINVOICE does not exist
Hi all, I am finding an error after taking the print out of Excise Invoice in Tcode J1IP. We had a requirement where we created new output type and changed the driver program for the output assignment earlier this invoice was developed in scri
-
Download a movie from the IPad
It's possible to download a movie from the store with the IPad ?