details: https://code.openbravo.com/erp/devel/pi/rev/97f3513fa272 changeset: 15097:97f3513fa272 user: Gorka Ion Damián <gorkaion.damian <at> openbravo.com> date: Mon Jan 09 17:44:38 2012 +0100 summary: Apply format to MA_PRODUCTIONRUN_STANDARD procedure.
details: https://code.openbravo.com/erp/devel/pi/rev/e46a32462212 changeset: 15098:e46a32462212 user: Gorka Ion Damián <gorkaion.damian <at> openbravo.com> date: Tue Jan 10 12:23:24 2012 +0100 summary: Related to issue 19438.Removed static String on error message. details: https://code.openbravo.com/erp/devel/pi/rev/9f8e7fc6e85f changeset: 15099:9f8e7fc6e85f user: Gorka Ion Damián <gorkaion.damian <at> openbravo.com> date: Tue Jan 10 12:23:53 2012 +0100 summary: Related to issue 19438.Added boolean to avoid commit on AD_UPDATE_PINSTANCE procedure. details: https://code.openbravo.com/erp/devel/pi/rev/19f096d0360f changeset: 15100:19f096d0360f user: Gorka Ion Damián <gorkaion.damian <at> openbravo.com> date: Tue Jan 10 12:26:07 2012 +0100 summary: Related to issue 19438.Avoid commits on m_get_stock and replaced raise with message. details: https://code.openbravo.com/erp/devel/pi/rev/1cde7d46d50d changeset: 15101:1cde7d46d50d user: Gorka Ion Damián <gorkaion.damian <at> openbravo.com> date: Tue Jan 10 12:46:19 2012 +0100 summary: Fixed issue 19438.Call m_get_stock using new parameter, check result of pinstance. details: https://code.openbravo.com/erp/devel/pi/rev/64bae4838323 changeset: 15102:64bae4838323 user: Gorka Ion Damián <gorkaion.damian <at> openbravo.com> date: Tue Jan 10 12:46:41 2012 +0100 summary: Format M_GET_STOCK procedure. details: https://code.openbravo.com/erp/devel/pi/rev/b68ac8e9dd97 changeset: 15103:b68ac8e9dd97 user: Gorka Ion Damián <gorkaion.damian <at> openbravo.com> date: Tue Jan 10 15:41:15 2012 +0100 summary: Related to issue 19438.Boolean parameters are not allowed. details: https://code.openbravo.com/erp/devel/pi/rev/28bdfcbfa6fc changeset: 15104:28bdfcbfa6fc user: Gorka Ion Damián <gorkaion.damian <at> openbravo.com> date: Tue Jan 10 15:41:53 2012 +0100 summary: Fixed issue 19438.Fixed issue with connection to retrieve uncommited message. details: https://code.openbravo.com/erp/devel/pi/rev/82a4638a2c55 changeset: 15105:82a4638a2c55 user: Gorka Ion Damián <gorkaion.damian <at> openbravo.com> date: Tue Jan 10 16:44:45 2012 +0100 summary: Related to issue 19438.Update license year on modified files. diffstat: src-db/database/model/functions/AD_UPDATE_PINSTANCE.xml | 9 +- src-db/database/model/functions/MA_PRODUCTIONRUN_STANDARD.xml | 1159 ++++----- src-db/database/model/functions/M_GET_STOCK.xml | 450 +-- src/org/openbravo/erpCommon/ad_actionButton/CreateStandards.java | 7 +- 4 files changed, 795 insertions(+), 830 deletions(-) diffs (truncated from 1789 to 300 lines): diff -r 1d3a130a7d50 -r 82a4638a2c55 src-db/database/model/functions/AD_UPDATE_PINSTANCE.xml --- a/src-db/database/model/functions/AD_UPDATE_PINSTANCE.xml Tue Jan 10 16:45:51 2012 +0100 +++ b/src-db/database/model/functions/AD_UPDATE_PINSTANCE.xml Tue Jan 10 16:44:45 2012 +0100 @@ -16,6 +16,9 @@ <parameter name="p_message" type="VARCHAR" mode="in"> <default/> </parameter> + <parameter name="p_docommit" type="VARCHAR" mode="in"> + <default><![CDATA[Y]]></default> + </parameter> <body><![CDATA[/************************************************************************* * The contents of this file are subject to the Openbravo Public License * Version 1.1 (the "License"), being the Mozilla Public License @@ -28,7 +31,7 @@ * under the License. * The Original Code is Openbravo ERP. * The Initial Developer of the Original Code is Openbravo SLU -* All portions are Copyright (C) 2001-2006 Openbravo SLU +* All portions are Copyright (C) 2001-2012 Openbravo SLU * All Rights Reserved. * Contributor(s): ______________________________________. ************************************************************************/ @@ -42,7 +45,9 @@ Result=p_Result, -- 1=success ErrorMsg=p_Message WHERE AD_PInstance_ID=p_PInstance_ID; - COMMIT; + IF (p_doCommit = 'Y') THEN + COMMIT; + END IF; END AD_UPDATE_PINSTANCE ]]></body> </function> diff -r 1d3a130a7d50 -r 82a4638a2c55 src-db/database/model/functions/MA_PRODUCTIONRUN_STANDARD.xml --- a/src-db/database/model/functions/MA_PRODUCTIONRUN_STANDARD.xml Tue Jan 10 16:45:51 2012 +0100 +++ b/src-db/database/model/functions/MA_PRODUCTIONRUN_STANDARD.xml Tue Jan 10 16:44:45 2012 +0100 @@ -16,7 +16,7 @@ * under the License. * The Original Code is Openbravo ERP. * The Initial Developer of the Original Code is Openbravo SLU -* All portions are Copyright (C) 2001-2011 Openbravo SLU +* All portions are Copyright (C) 2001-2012 Openbravo SLU * All Rights Reserved. * Contributor(s): ______________________________________. ************************************************************************/ @@ -26,638 +26,613 @@ v_result NUMBER:=1; -- Parameter TYPE RECORD IS REF CURSOR; - Cur_Parameter RECORD; - -- - v_Record_ID VARCHAR2(32):=NULL; - v_User_ID VARCHAR2(32); - v_PlanOrg_ID VARCHAR2(32); - v_Client_ID VARCHAR2(32); - v_WRPhase_ID VARCHAR2(32); - v_DoneQuantity NUMBER; - v_Process_ID VARCHAR2(32); - v_Toolset_ID VARCHAR2(32); - v_ToolsetUsed_ID VARCHAR2(32); - v_ProductionLine_ID VARCHAR2(32); - v_GlobalUse_ID VARCHAR2(32); - v_Processed CHAR; - v_NoQty CHAR; - v_GlobalUse CHAR; - v_Qty NUMBER; - v_QtyAcumulated NUMBER; - v_QtyOrder NUMBER; - v_Count NUMBER; - v_Product_old VARCHAR2(32); - v_UOM_old VARCHAR2(32); - v_Product_UOM_old VARCHAR2(32); - v_Production_ID VARCHAR2(32); - v_QtyStorage NUMBER:=0; - v_Line NUMBER; - v_PlanLine NUMBER; - v_CostCenterCost NUMBER; - v_CostCenterUse NUMBER; - v_allownegativestock CHAR(1); - v_Calculated CHAR(1); - v_ByDefault CHAR(1); - v_PendingQty NUMBER; - v_InsertQty NUMBER; - v_AD_Pinstance_ID VARCHAR2(32); - v_UniqueAttConsum CHAR(1); - -- Toolset Types to process - Cur_ToolsetProcess RECORD; - -- WRPhase products created - Cur_WRPProduct RECORD; - -- WRPhase products useed - Cur_WRPUsed RECORD; - -- Stocked Products - Cur_CostCenter_Employee RECORD; - -- CostCenter Employee - CURSOR Cur_Stock (v_AD_Pinstance_ID VARCHAR)IS - SELECT T.M_PRODUCT_ID, T.C_UOM_ID, T.M_LOCATOR_ID, T.M_ATTRIBUTESETINSTANCE_ID, - T.M_PRODUCT_UOM_ID, MS.QUANTITY AS Qty, MS.QTYORDER AS QtyOrder, - U.STDPRECISION, MS.PRIORITY - FROM M_STOCK_PROPOSED MS - LEFT JOIN M_STORAGE_DETAIL T ON MS.M_STORAGE_DETAIL_ID = T.M_STORAGE_DETAIL_ID - LEFT JOIN M_PRODUCT_UOM PU ON T.M_PRODUCT_UOM_ID = PU.M_PRODUCT_UOM_ID - LEFT JOIN C_UOM U ON PU.C_UOM_ID = U.C_UOM_ID - WHERE MS.AD_PINSTANCE_ID = v_AD_Pinstance_ID - ORDER BY MS.PRIORITY; - v_storage CUR_STOCK%ROWTYPE; - NEXT_PRODUCT BOOLEAN:=false; - Cur_Stock_ISOPEN BOOLEAN:=false; - BEGIN - -- Process Parameters - IF(p_PInstance_ID IS NOT NULL) THEN - -- Update AD_PInstance - DBMS_OUTPUT.PUT_LINE('Updating PInstance - Processing ' || p_PInstance_ID) ; - v_ResultStr:='PInstanceNotFound'; - AD_UPDATE_PINSTANCE(p_PInstance_ID, NULL, 'Y', NULL, NULL) ; - -- Get Parameters - v_ResultStr:='ReadingParameters'; - FOR Cur_Parameter IN - (SELECT i.Record_ID, i.AD_User_ID, i.AD_Org_ID, i.AD_Client_ID, p.ParameterName, - p.P_String, p.P_Number, p.P_Date - FROM AD_PInstance i LEFT JOIN AD_PInstance_Para p ON i.AD_PInstance_ID=p.AD_PInstance_ID - WHERE i.AD_PInstance_ID=p_PInstance_ID - ORDER BY p.SeqNo ) - LOOP - v_Record_ID:=Cur_Parameter.Record_ID; - v_User_ID:=Cur_Parameter.AD_User_ID; - v_Client_ID:=Cur_Parameter.AD_Client_ID; - END LOOP; -- Get Parameter - ELSE - DBMS_OUTPUT.PUT_LINE('--<<MA_ProductionRun_Standard>>') ; - END IF; - BEGIN --BODY - SELECT ad_clientinfo.allownegativestock into - v_allownegativestock - FROM ad_clientinfo - where ad_clientinfo.ad_client_id = v_Client_ID; - - v_ResultStr:='Getting DoneQuantity and process_ID'; - SELECT M_ProductionPlan.AD_Org_ID, M_ProductionPlan.MA_WRPhase_ID, - M_ProductionPlan.ProductionQty, M_ProductionPlan.Processed, - COALESCE(MA_CostCenter.CALCULATED, 'N') AS CALCULATED, COALESCE(MA_CostCenter.BYDEFAULT, 'N') AS BYDEFAULT, - M_ProductionPlan.line, M_ProductionPlan.M_Production_ID - INTO v_PlanOrg_ID, v_WRPhase_ID, v_DoneQuantity, v_Processed, - v_Calculated, v_ByDefault, v_PlanLine, v_Production_ID - FROM M_ProductionPlan LEFT JOIN MA_CostCenter_Version ON M_ProductionPlan.MA_CostCenter_Version_ID = MA_CostCenter_Version.MA_CostCenter_Version_ID - LEFT JOIN MA_CostCenter ON MA_CostCenter_version.MA_CostCenter_ID = MA_CostCenter.MA_CostCenter_ID - WHERE M_ProductionPlan_ID=v_Record_ID; - SELECT MA_Process_ID, NoQty INTO v_Process_ID, v_NoQty - FROM MA_WRPhase - WHERE MA_WRPhase_ID=v_WRPhase_ID; - IF v_Processed='Y' THEN - v_ResultStr:='Production Run is Processed'; - DBMS_OUTPUT.PUT_LINE('Production Run is already processed') ; - v_Message:='@ProductionRunProcessed@'; - RAISE_APPLICATION_ERROR(-20000, v_Message); - END IF; - --Insert toolsets if necessary - v_ResultStr:='ToolsetProcess Processing'; - FOR Cur_ToolsetProcess IN - (SELECT MA_Toolset_Type_ID, UseCoef - FROM MA_ToolsetProcess - WHERE MA_Process_ID=v_Process_ID) - LOOP - DECLARE - Cur_MAToolSet RECORD; - BEGIN - --It's taken the toolset with higher number of uses - FOR Cur_MAToolSet IN - (SELECT MA_Toolset_ID AS Toolset_ID - FROM MA_Toolset - WHERE MA_Toolset_Type_ID=Cur_ToolsetProcess.MA_Toolset_Type_ID - AND Discarded='N' - ORDER BY NumberUses DESC - ) + Cur_Parameter RECORD; + -- + v_Record_ID VARCHAR2(32):=NULL; + v_User_ID VARCHAR2(32); + v_PlanOrg_ID VARCHAR2(32); + v_Client_ID VARCHAR2(32); + v_WRPhase_ID VARCHAR2(32); + v_DoneQuantity NUMBER; + v_Process_ID VARCHAR2(32); + v_Toolset_ID VARCHAR2(32); + v_ToolsetUsed_ID VARCHAR2(32); + v_ProductionLine_ID VARCHAR2(32); + v_GlobalUse_ID VARCHAR2(32); + v_Processed CHAR; + v_NoQty CHAR; + v_GlobalUse CHAR; + v_Qty NUMBER; + v_QtyAcumulated NUMBER; + v_QtyOrder NUMBER; + v_Count NUMBER; + v_Product_old VARCHAR2(32); + v_UOM_old VARCHAR2(32); + v_Product_UOM_old VARCHAR2(32); + v_Production_ID VARCHAR2(32); + v_QtyStorage NUMBER:=0; + v_Line NUMBER; + v_PlanLine NUMBER; + v_CostCenterCost NUMBER; + v_CostCenterUse NUMBER; + v_allownegativestock CHAR(1); + v_Calculated CHAR(1); + v_ByDefault CHAR(1); + v_PendingQty NUMBER; + v_InsertQty NUMBER; + v_AD_Pinstance_ID VARCHAR2(32); + -- Toolset Types to process + Cur_ToolsetProcess RECORD; + -- WRPhase products created + Cur_WRPProduct RECORD; + -- WRPhase products useed + Cur_WRPUsed RECORD; + -- Stocked Products + Cur_CostCenter_Employee RECORD; + -- CostCenter Employee + CURSOR Cur_Stock (v_AD_Pinstance_ID VARCHAR)IS + SELECT T.M_PRODUCT_ID, T.C_UOM_ID, T.M_LOCATOR_ID, T.M_ATTRIBUTESETINSTANCE_ID, + T.M_PRODUCT_UOM_ID, MS.QUANTITY AS Qty, MS.QTYORDER AS QtyOrder, + U.STDPRECISION, MS.PRIORITY + FROM M_STOCK_PROPOSED MS + LEFT JOIN M_STORAGE_DETAIL T ON MS.M_STORAGE_DETAIL_ID = T.M_STORAGE_DETAIL_ID + LEFT JOIN M_PRODUCT_UOM PU ON T.M_PRODUCT_UOM_ID = PU.M_PRODUCT_UOM_ID + LEFT JOIN C_UOM U ON PU.C_UOM_ID = U.C_UOM_ID + WHERE MS.AD_PINSTANCE_ID = v_AD_Pinstance_ID + ORDER BY MS.PRIORITY; + v_storage CUR_STOCK%ROWTYPE; + NEXT_PRODUCT BOOLEAN:=false; + Cur_Stock_ISOPEN BOOLEAN:=false; + BEGIN + -- Process Parameters + IF(p_PInstance_ID IS NOT NULL) THEN + -- Update AD_PInstance + DBMS_OUTPUT.PUT_LINE('Updating PInstance - Processing ' || p_PInstance_ID) ; + v_ResultStr:='PInstanceNotFound'; + AD_UPDATE_PINSTANCE(p_PInstance_ID, NULL, 'Y', NULL, NULL) ; + -- Get Parameters + v_ResultStr:='ReadingParameters'; + FOR Cur_Parameter IN + (SELECT i.Record_ID, i.AD_User_ID, i.AD_Org_ID, i.AD_Client_ID, p.ParameterName, + p.P_String, p.P_Number, p.P_Date + FROM AD_PInstance i LEFT JOIN AD_PInstance_Para p ON i.AD_PInstance_ID=p.AD_PInstance_ID + WHERE i.AD_PInstance_ID=p_PInstance_ID + ORDER BY p.SeqNo ) + LOOP + v_Record_ID:=Cur_Parameter.Record_ID; + v_User_ID:=Cur_Parameter.AD_User_ID; + v_Client_ID:=Cur_Parameter.AD_Client_ID; + END LOOP; -- Get Parameter + ELSE + DBMS_OUTPUT.PUT_LINE('--<<MA_ProductionRun_Standard>>') ; + END IF; + BEGIN --BODY + SELECT ad_clientinfo.allownegativestock + INTO v_allownegativestock + FROM ad_clientinfo + WHERE ad_clientinfo.ad_client_id = v_Client_ID; + + v_ResultStr:='Getting DoneQuantity and process_ID'; + SELECT M_ProductionPlan.AD_Org_ID, M_ProductionPlan.MA_WRPhase_ID, + M_ProductionPlan.ProductionQty, M_ProductionPlan.Processed, + COALESCE(MA_CostCenter.CALCULATED, 'N') AS CALCULATED, COALESCE(MA_CostCenter.BYDEFAULT, 'N') AS BYDEFAULT, + M_ProductionPlan.line, M_ProductionPlan.M_Production_ID + INTO v_PlanOrg_ID, v_WRPhase_ID, v_DoneQuantity, v_Processed, + v_Calculated, v_ByDefault, v_PlanLine, v_Production_ID + FROM M_ProductionPlan LEFT JOIN MA_CostCenter_Version ON M_ProductionPlan.MA_CostCenter_Version_ID = MA_CostCenter_Version.MA_CostCenter_Version_ID + LEFT JOIN MA_CostCenter ON MA_CostCenter_version.MA_CostCenter_ID = MA_CostCenter.MA_CostCenter_ID + WHERE M_ProductionPlan_ID=v_Record_ID; + SELECT MA_Process_ID, NoQty INTO v_Process_ID, v_NoQty + FROM MA_WRPhase + WHERE MA_WRPhase_ID=v_WRPhase_ID; + IF v_Processed='Y' THEN + v_ResultStr:='Production Run is Processed'; + DBMS_OUTPUT.PUT_LINE('Production Run is already processed') ; + v_Message:='@ProductionRunProcessed@'; + RAISE_APPLICATION_ERROR(-20000, v_Message); + END IF; + --Insert toolsets if necessary + v_ResultStr:='ToolsetProcess Processing'; + FOR Cur_ToolsetProcess IN + (SELECT MA_Toolset_Type_ID, UseCoef + FROM MA_ToolsetProcess + WHERE MA_Process_ID=v_Process_ID) + LOOP + DECLARE + Cur_MAToolSet RECORD; + BEGIN + --It's taken the toolset with higher number of uses + FOR Cur_MAToolSet IN + (SELECT MA_Toolset_ID AS Toolset_ID + FROM MA_Toolset + WHERE MA_Toolset_Type_ID=Cur_ToolsetProcess.MA_Toolset_Type_ID + AND Discarded='N' + ORDER BY NumberUses DESC + ) + LOOP + v_Toolset_ID:=Cur_MAToolSet.Toolset_ID; + EXIT; + END LOOP; ------------------------------------------------------------------------------ Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev _______________________________________________ Openbravo-commits mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/openbravo-commits
