IDEMPIERE-1770 Allowing manual entry from Attributes tab on shipment/MR line

This commit is contained in:
Deepak Pansheriya 2014-07-01 21:07:07 -05:00
parent 313f7293f6
commit 29f0a5810e
23 changed files with 1359 additions and 55 deletions

View File

@ -0,0 +1,9 @@
create view M_InoutLineMA_Returned as
SELECT sma.*, sum (crma.movementqty) returnedQty FROM M_InoutLineMA sma inner join M_InoutLine sl on (sma.M_InoutLine_ID =sl.M_InoutLine_ID)
inner join M_InOut sio on (sio.M_InOut_ID=sl.M_InOut_ID) left join M_RMALine rl on (rl.M_InOutLine_ID = sl.M_InOutLine_ID )
left join M_InoutLine crl on (rl.M_RMALine_ID =crl.M_RMALine_ID)
left join M_inout cr on (cr.M_Inout_ID = crl.M_Inout_ID and not cr.docstatus in ('CO','RE'))
left join M_InoutLineMA crma on (crma.M_InoutLine_Id = crl.M_InoutLine_ID and sma.M_AttributeSetInstance_ID=crma.M_AttributeSetInstance_ID)
group by sma.M_AttributeSetInstance_ID,sma.m_inoutline_id,sma.ad_client_id,sma.ad_org_id,sma.isactive,sma.created,sma.createdby,sma.updated
,sma.updatedby,sma.movementqty,sma.m_inoutlinema_uu,sma.datematerialpolicy;

View File

@ -0,0 +1,9 @@
create view M_InoutLineMA_Returned as
SELECT sma.*, sum (crma.movementqty) returnedQty FROM M_InoutLineMA sma inner join M_InoutLine sl on (sma.M_InoutLine_ID =sl.M_InoutLine_ID)
inner join M_InOut sio on (sio.M_InOut_ID=sl.M_InOut_ID) left join M_RMALine rl on (rl.M_InOutLine_ID = sl.M_InOutLine_ID )
left join M_InoutLine crl on (rl.M_RMALine_ID =crl.M_RMALine_ID)
left join M_inout cr on (cr.M_Inout_ID = crl.M_Inout_ID and not cr.docstatus in ('CO','RE'))
left join M_InoutLineMA crma on (crma.M_InoutLine_Id = crl.M_InoutLine_ID and sma.M_AttributeSetInstance_ID=crma.M_AttributeSetInstance_ID)
group by sma.M_AttributeSetInstance_ID,sma.m_inoutline_id,sma.ad_client_id,sma.ad_org_id,sma.isactive,sma.created,sma.createdby,sma.updated
,sma.updatedby,sma.movementqty,sma.m_inoutlinema_uu,sma.datematerialpolicy;

View File

@ -0,0 +1,272 @@
SET SQLBLANKLINES ON
SET DEFINE OFF
-- Apr 14, 2014 5:56:06 PM IST
-- IDEMPIERE-1770 Making Attribute tab Manually editable
INSERT INTO AD_Message (MsgType,MsgText,AD_Message_ID,EntityType,AD_Message_UU,Value,IsActive,Updated,CreatedBy,UpdatedBy,Created,AD_Org_ID,AD_Client_ID) VALUES ('I','More than line qty on attribute tab for line ',200270,'D','4726e9ac-3831-4ca4-b860-23b2364160f0','Over_Qty_On_Attribute_Tab','Y',TO_DATE('2014-04-14 17:56:04','YYYY-MM-DD HH24:MI:SS'),100,100,TO_DATE('2014-04-14 17:56:04','YYYY-MM-DD HH24:MI:SS'),0,0)
;
-- Apr 14, 2014 5:56:27 PM IST
UPDATE AD_Tab SET IsReadOnly='N',Updated=TO_DATE('2014-04-14 17:56:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=751
;
-- Apr 14, 2014 6:01:47 PM IST
UPDATE AD_Tab SET IsInsertRecord='Y',Updated=TO_DATE('2014-04-14 18:01:47','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=751
;
-- Apr 14, 2014 6:15:24 PM IST
UPDATE AD_Field SET IsReadOnly='N',Updated=TO_DATE('2014-04-14 18:15:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=12194
;
-- Apr 14, 2014 6:15:38 PM IST
UPDATE AD_Field SET IsReadOnly='N',Updated=TO_DATE('2014-04-14 18:15:38','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=12196
;
-- Apr 14, 2014 7:48:10 PM IST
-- IDEMPIERE-1770 Making Attribute tab Manually editable
UPDATE AD_Column SET DefaultValue='@AD_Org_ID@',Updated=TO_DATE('2014-04-14 19:48:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=13325
;
-- Apr 14, 2014 7:54:02 PM IST
UPDATE AD_Column SET IsParent='N',Updated=TO_DATE('2014-04-14 19:54:02','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=208342
;
-- Apr 14, 2014 7:56:15 PM IST
UPDATE AD_Column SET IsUpdateable='Y',Updated=TO_DATE('2014-04-14 19:56:15','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=208342
;
-- Apr 15, 2014 4:26:24 PM IST
-- IDEMPIERE-1770 Making Attribute tab Manually editable
INSERT INTO AD_Tab (ImportFields,Processing,IsSingleRow,SeqNo,IsTranslationTab,IsSortTab,HasTree,IsInfoTab,IsReadOnly,IsInsertRecord,IsAdvancedTab,TabLevel,AD_Tab_UU,EntityType,Name,Description,AD_Tab_ID,AD_Org_ID,Created,CreatedBy,Updated,UpdatedBy,IsActive,AD_Table_ID,AD_Client_ID,AD_Window_ID,TreeDisplayedOn) VALUES ('N','N','Y',40,'N','N','N','N','N','Y','N',2,'d771d2e8-42a0-426e-ba58-c4f459bbbc1e','D','Attributes','Product Instance Attribute Material Allocation',200137,0,TO_DATE('2014-04-15 16:26:23','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-04-15 16:26:23','YYYY-MM-DD HH24:MI:SS'),100,'Y',762,0,184,'B')
;
-- Apr 15, 2014 4:27:05 PM IST
UPDATE AD_Tab SET SeqNo=50,Updated=TO_DATE('2014-04-15 16:27:05','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=688
;
-- Apr 15, 2014 4:27:20 PM IST
UPDATE AD_Tab SET SeqNo=60,Updated=TO_DATE('2014-04-15 16:27:20','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=689
;
-- Apr 15, 2014 4:27:56 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',22,'N','N',13324,10,'Y',202855,'N','A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client.','Client/Tenant for this installation.','Client','59fa77cd-26e2-4603-abf3-371353ba0006','Y','N',100,0,TO_DATE('2014-04-15 16:27:55','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-04-15 16:27:55','YYYY-MM-DD HH24:MI:SS'),'Y','N',0,2,'D',200137)
;
-- Apr 15, 2014 4:27:57 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,IsAllowCopy,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,XPosition,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',22,'N','N',13325,20,'Y',202856,'N','An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations.','Organizational entity within client','Organization','e46f8fd7-d445-4664-8232-cef0e6bc362b','Y','N','Y',100,0,TO_DATE('2014-04-15 16:27:56','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-04-15 16:27:56','YYYY-MM-DD HH24:MI:SS'),'Y',4,0,2,'D',200137)
;
-- Apr 15, 2014 4:27:59 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',22,'N','N',13322,30,'Y',202857,'N','The Shipment/Receipt Line indicates a unique line in a Shipment/Receipt document','Line on Shipment or Receipt document','Shipment/Receipt Line','726ab1f8-fd3f-49b1-a927-b33abb65747e','Y','N',100,0,TO_DATE('2014-04-15 16:27:57','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-04-15 16:27:57','YYYY-MM-DD HH24:MI:SS'),'Y',0,2,'D',200137)
;
-- Apr 15, 2014 4:27:59 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',22,'N','N',13323,40,'Y',202858,'N','The values of the actual Product Attribute Instances. The product level attributes are defined on Product level.','Product Attribute Set Instance','Attribute Set Instance','b9e93296-2cd5-47d0-81e3-0923434e82c2','Y','N',100,0,TO_DATE('2014-04-15 16:27:59','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-04-15 16:27:59','YYYY-MM-DD HH24:MI:SS'),'Y',0,2,'D',200137)
;
-- Apr 15, 2014 4:28:00 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',22,'N','N',13331,50,'Y',202859,'N','The Movement Quantity indicates the quantity of a product that has been moved.','Quantity of a product moved.','Movement Quantity','92faf768-01a2-4ad7-b4f4-44161d9c6460','Y','N',100,0,TO_DATE('2014-04-15 16:27:59','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-04-15 16:27:59','YYYY-MM-DD HH24:MI:SS'),'Y',0,2,'D',200137)
;
-- Apr 15, 2014 4:28:01 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',36,'N','N',60900,60,'Y',202860,'N','M_InOutLineMA_UU','0c446edf-38f0-4948-8871-591260db1db9','N','N',100,0,TO_DATE('2014-04-15 16:28:00','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-04-15 16:28:00','YYYY-MM-DD HH24:MI:SS'),'Y','N',0,2,'D',200137)
;
-- Apr 15, 2014 4:28:01 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',7,'N','N',208342,70,'Y',202861,'N','This field is used to record time used for LIFO and FIFO material policy','Time used for LIFO and FIFO Material Policy','Date Material Policy','92265f55-892e-4814-9922-9bf1c35fd43b','Y','N',100,0,TO_DATE('2014-04-15 16:28:01','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-04-15 16:28:01','YYYY-MM-DD HH24:MI:SS'),'Y',0,2,'D',200137)
;
-- Apr 15, 2014 4:28:02 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,XPosition,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',1,'N','N',13326,80,'Y',202862,'N','There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports.
There are two reasons for de-activating and not deleting records:
(1) The system requires the record for audit purposes.
(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries.','The record is active in the system','Active','13f448e6-c398-4ea2-97e8-89c901f24124','Y','N',100,0,TO_DATE('2014-04-15 16:28:01','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-04-15 16:28:01','YYYY-MM-DD HH24:MI:SS'),'Y',2,0,2,'D',200137)
;
-- Apr 15, 2014 4:28:44 PM IST
UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=202862
;
-- Apr 15, 2014 4:28:44 PM IST
UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=202860
;
-- Apr 15, 2014 4:28:44 PM IST
UPDATE AD_Field SET SeqNo=60,IsDisplayed='Y' WHERE AD_Field_ID=202861
;
-- Apr 15, 2014 4:29:26 PM IST
UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=202862
;
-- Apr 15, 2014 4:29:26 PM IST
UPDATE AD_Field SET SeqNoGrid=10,IsDisplayedGrid='Y' WHERE AD_Field_ID=202858
;
-- Apr 15, 2014 4:29:26 PM IST
UPDATE AD_Field SET SeqNoGrid=20,IsDisplayedGrid='Y' WHERE AD_Field_ID=202861
;
-- Apr 15, 2014 4:29:26 PM IST
UPDATE AD_Field SET SeqNoGrid=30,IsDisplayedGrid='Y' WHERE AD_Field_ID=202859
;
-- Apr 15, 2014 4:29:26 PM IST
UPDATE AD_Field SET SeqNoGrid=40,IsDisplayedGrid='Y' WHERE AD_Field_ID=202856
;
-- Apr 15, 2014 4:29:26 PM IST
UPDATE AD_Field SET SeqNoGrid=50,IsDisplayedGrid='Y' WHERE AD_Field_ID=202857
;
-- Apr 15, 2014 4:30:34 PM IST
UPDATE AD_Field SET IsReadOnly='Y',Updated=TO_DATE('2014-04-15 16:30:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202857
;
-- Apr 15, 2014 4:53:49 PM IST
UPDATE AD_Field SET XPosition=4,Updated=TO_DATE('2014-04-15 16:53:49','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202858
;
-- Apr 15, 2014 4:54:23 PM IST
UPDATE AD_Field SET XPosition=4,Updated=TO_DATE('2014-04-15 16:54:23','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202861
;
-- Apr 16, 2014 6:24:54 PM IST
-- IDEMPIERE-1770 Making Attribute tab Manually editable
INSERT INTO AD_Tab (ImportFields,Processing,IsSingleRow,SeqNo,IsTranslationTab,IsSortTab,HasTree,IsInfoTab,IsReadOnly,IsInsertRecord,IsAdvancedTab,TabLevel,AD_Tab_UU,EntityType,Name,Description,AD_Tab_ID,AD_Org_ID,Created,CreatedBy,Updated,UpdatedBy,IsActive,AD_Table_ID,AD_Client_ID,AD_Window_ID,TreeDisplayedOn) VALUES ('N','N','Y',40,'N','N','N','N','N','Y','N',2,'8cf5abeb-4146-4581-b353-24ee510bcaff','D','Attributes','Product Instance Attribute Material Allocation',200138,0,TO_DATE('2014-04-16 18:24:52','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-04-16 18:24:52','YYYY-MM-DD HH24:MI:SS'),100,'Y',762,0,53097,'B')
;
-- Apr 16, 2014 6:25:03 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',22,'N','N',13324,10,'Y',202863,'N','A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client.','Client/Tenant for this installation.','Client','490b0733-4890-4e19-af23-acd31c1adb2e','Y','N',100,0,TO_DATE('2014-04-16 18:25:02','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-04-16 18:25:02','YYYY-MM-DD HH24:MI:SS'),'Y','N',0,2,'D',200138)
;
-- Apr 16, 2014 6:25:04 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,IsAllowCopy,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,XPosition,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',22,'N','N',13325,20,'Y',202864,'N','An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations.','Organizational entity within client','Organization','b4f28546-657c-47cc-9d41-0631c71c1616','Y','N','Y',100,0,TO_DATE('2014-04-16 18:25:03','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-04-16 18:25:03','YYYY-MM-DD HH24:MI:SS'),'Y',4,0,2,'D',200138)
;
-- Apr 16, 2014 6:25:04 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',22,'N','N',13322,30,'Y',202865,'N','The Shipment/Receipt Line indicates a unique line in a Shipment/Receipt document','Line on Shipment or Receipt document','Shipment/Receipt Line','f83a86f6-472d-494f-8abf-6b5b84f71f99','Y','N',100,0,TO_DATE('2014-04-16 18:25:04','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-04-16 18:25:04','YYYY-MM-DD HH24:MI:SS'),'Y',0,2,'D',200138)
;
-- Apr 16, 2014 6:25:05 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',22,'N','N',13323,40,'Y',202866,'N','The values of the actual Product Attribute Instances. The product level attributes are defined on Product level.','Product Attribute Set Instance','Attribute Set Instance','a81d331b-79d1-450d-9856-945b0d713556','Y','N',100,0,TO_DATE('2014-04-16 18:25:04','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-04-16 18:25:04','YYYY-MM-DD HH24:MI:SS'),'Y',0,2,'D',200138)
;
-- Apr 16, 2014 6:25:06 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',22,'N','N',13331,50,'Y',202867,'N','The Movement Quantity indicates the quantity of a product that has been moved.','Quantity of a product moved.','Movement Quantity','637b8625-8cba-4a2c-b67e-fb6d2537e3ae','Y','N',100,0,TO_DATE('2014-04-16 18:25:05','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-04-16 18:25:05','YYYY-MM-DD HH24:MI:SS'),'Y',0,2,'D',200138)
;
-- Apr 16, 2014 6:25:07 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',36,'N','N',60900,60,'Y',202868,'N','M_InOutLineMA_UU','153a008e-e046-4014-b466-7c03e7694ff1','N','N',100,0,TO_DATE('2014-04-16 18:25:06','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-04-16 18:25:06','YYYY-MM-DD HH24:MI:SS'),'Y','N',0,2,'D',200138)
;
-- Apr 16, 2014 6:25:07 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',7,'N','N',208342,70,'Y',202869,'N','This field is used to record time used for LIFO and FIFO material policy','Time used for LIFO and FIFO Material Policy','Date Material Policy','74d11884-f339-481d-a278-3eadc2c7cfde','Y','N',100,0,TO_DATE('2014-04-16 18:25:07','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-04-16 18:25:07','YYYY-MM-DD HH24:MI:SS'),'Y',0,2,'D',200138)
;
-- Apr 16, 2014 6:25:08 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,XPosition,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',1,'N','N',13326,80,'Y',202870,'N','There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports.
There are two reasons for de-activating and not deleting records:
(1) The system requires the record for audit purposes.
(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries.','The record is active in the system','Active','381c7afe-31bd-4499-a5b5-fbdae4afefaf','Y','N',100,0,TO_DATE('2014-04-16 18:25:07','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-04-16 18:25:07','YYYY-MM-DD HH24:MI:SS'),'Y',2,0,2,'D',200138)
;
-- Apr 16, 2014 6:25:49 PM IST
UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=202870
;
-- Apr 16, 2014 6:25:49 PM IST
UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=202868
;
-- Apr 16, 2014 6:25:49 PM IST
UPDATE AD_Field SET SeqNo=60,IsDisplayed='Y' WHERE AD_Field_ID=202869
;
-- Apr 16, 2014 6:27:46 PM IST
UPDATE AD_Field SET IsReadOnly='Y',Updated=TO_DATE('2014-04-16 18:27:46','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202863
;
-- Apr 16, 2014 6:28:41 PM IST
UPDATE AD_Field SET IsReadOnly='Y',Updated=TO_DATE('2014-04-16 18:28:41','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202864
;
-- Apr 16, 2014 6:29:03 PM IST
UPDATE AD_Field SET IsReadOnly='Y',Updated=TO_DATE('2014-04-16 18:29:03','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202865
;
-- Apr 16, 2014 6:29:21 PM IST
UPDATE AD_Field SET XPosition=4,Updated=TO_DATE('2014-04-16 18:29:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202866
;
-- Apr 16, 2014 6:29:45 PM IST
UPDATE AD_Field SET XPosition=4,Updated=TO_DATE('2014-04-16 18:29:45','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202869
;
-- Apr 16, 2014 6:30:00 PM IST
UPDATE AD_Tab SET SeqNo=50,Updated=TO_DATE('2014-04-16 18:30:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=53274
;
-- Apr 16, 2014 6:30:21 PM IST
UPDATE AD_Tab SET SeqNo=30,Updated=TO_DATE('2014-04-16 18:30:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=200138
;
-- Apr 16, 2014 6:30:27 PM IST
UPDATE AD_Tab SET SeqNo=40,Updated=TO_DATE('2014-04-16 18:30:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=53273
;
-- Apr 16, 2014 6:30:48 PM IST
UPDATE AD_Tab SET SeqNo=60,Updated=TO_DATE('2014-04-16 18:30:48','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=53275
;
-- Apr 16, 2014 7:52:20 PM IST
-- IDEMPIERE-1770 Making Attribute tab Manually editable
UPDATE AD_Tab SET IsReadOnly='N', IsInsertRecord='Y',Updated=TO_DATE('2014-04-16 19:52:20','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=53279
;
-- Apr 16, 2014 7:52:44 PM IST
UPDATE AD_Field SET IsReadOnly='N',Updated=TO_DATE('2014-04-16 19:52:44','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=57942
;
-- Apr 16, 2014 7:52:52 PM IST
UPDATE AD_Field SET IsReadOnly='N',Updated=TO_DATE('2014-04-16 19:52:52','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=57943
;
-- Apr 16, 2014 7:53:07 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',36,'N','N',60900,60,'Y',202871,'N','M_InOutLineMA_UU','966b40fa-a67b-4014-adf6-6e4e549357e2','N','N',100,0,TO_DATE('2014-04-16 19:53:06','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-04-16 19:53:06','YYYY-MM-DD HH24:MI:SS'),'Y','N',0,2,'D',53279)
;
-- Apr 16, 2014 7:53:08 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',7,'N','N',208342,70,'Y',202872,'N','This field is used to record time used for LIFO and FIFO material policy','Time used for LIFO and FIFO Material Policy','Date Material Policy','1a789397-4670-40f6-9dfd-2f366bd1deb7','Y','N',100,0,TO_DATE('2014-04-16 19:53:07','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-04-16 19:53:07','YYYY-MM-DD HH24:MI:SS'),'Y',0,2,'D',53279)
;
-- Apr 16, 2014 7:53:43 PM IST
UPDATE AD_Field SET XPosition=4,Updated=TO_DATE('2014-04-16 19:53:43','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202872
;
-- Apr 16, 2014 8:16:21 PM IST
UPDATE AD_Field SET XPosition=4,Updated=TO_DATE('2014-04-16 20:16:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=57942
;
-- Apr 16, 2014 8:17:03 PM IST
UPDATE AD_Field SET XPosition=1,Updated=TO_DATE('2014-04-16 20:17:03','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=57943
;
create view M_InoutLineMA_Returned as
SELECT sma.*, sum (crma.movementqty) returnedQty FROM M_InoutLineMA sma inner join M_InoutLine sl on (sma.M_InoutLine_ID =sl.M_InoutLine_ID)
inner join M_InOut sio on (sio.M_InOut_ID=sl.M_InOut_ID) left join M_RMALine rl on (rl.M_InOutLine_ID = sl.M_InOutLine_ID )
left join M_InoutLine crl on (rl.M_RMALine_ID =crl.M_RMALine_ID)
left join M_inout cr on (cr.M_Inout_ID = crl.M_Inout_ID and not cr.docstatus in ('CO','RE'))
left join M_InoutLineMA crma on (crma.M_InoutLine_Id = crl.M_InoutLine_ID and sma.M_AttributeSetInstance_ID=crma.M_AttributeSetInstance_ID)
group by sma.M_AttributeSetInstance_ID,sma.m_inoutline_id,sma.ad_client_id,sma.ad_org_id,sma.isactive,sma.created,sma.createdby,sma.updated
,sma.updatedby,sma.movementqty,sma.m_inoutlinema_uu,sma.datematerialpolicy;
SELECT register_migration_script('201404170743_IDEMPIERE-1770.sql') FROM dual
;

View File

@ -0,0 +1,84 @@
SET SQLBLANKLINES ON
SET DEFINE OFF
-- Apr 18, 2014 12:49:29 AM IST
-- IDEMPIERE-1770 Making Attribute tab Manually editable
UPDATE AD_Tab SET IsReadOnly='N', IsInsertRecord='Y',Updated=TO_DATE('2014-04-18 00:49:29','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=749
;
-- Apr 18, 2014 12:49:54 AM IST
UPDATE AD_Field SET IsReadOnly='N',Updated=TO_DATE('2014-04-18 00:49:54','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=12182
;
-- Apr 18, 2014 12:49:59 AM IST
UPDATE AD_Field SET IsReadOnly='N',Updated=TO_DATE('2014-04-18 00:49:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=12184
;
-- Apr 18, 2014 12:54:05 AM IST
UPDATE AD_Tab SET IsReadOnly='N', IsInsertRecord='Y',Updated=TO_DATE('2014-04-18 00:54:05','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=750
;
-- Apr 18, 2014 12:54:25 AM IST
UPDATE AD_Field SET IsReadOnly='N',Updated=TO_DATE('2014-04-18 00:54:25','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=12188
;
-- Apr 18, 2014 12:54:27 AM IST
UPDATE AD_Field SET IsReadOnly='N',Updated=TO_DATE('2014-04-18 00:54:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=12191
;
-- Apr 18, 2014 2:37:40 PM IST
UPDATE AD_Column SET DefaultValue='@AD_Org_ID@',Updated=TO_DATE('2014-04-18 14:37:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=13357
;
-- Apr 18, 2014 3:53:52 PM IST
UPDATE AD_Column SET DefaultValue='@AD_Org_ID@',Updated=TO_DATE('2014-04-18 15:53:52','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=13305
;
-- Apr 20, 2014 11:44:44 AM IST
-- IDEMPIERE-1770 Making Attribute tab Manually editable
UPDATE AD_Column SET IsUpdateable='N',Updated=TO_DATE('2014-04-20 11:44:44','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=13355
;
-- Apr 20, 2014 11:45:36 AM IST
UPDATE AD_Column SET IsUpdateable='N',Updated=TO_DATE('2014-04-20 11:45:36','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=210653
;
-- Apr 20, 2014 11:46:25 AM IST
UPDATE AD_Column SET IsUpdateable='N',Updated=TO_DATE('2014-04-20 11:46:25','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=13303
;
-- Apr 20, 2014 11:46:56 AM IST
UPDATE AD_Column SET IsUpdateable='N',Updated=TO_DATE('2014-04-20 11:46:56','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=210651
;
-- Apr 20, 2014 12:43:45 PM IST
UPDATE AD_Tab SET IsReadOnly='N', IsInsertRecord='Y',Updated=TO_DATE('2014-04-20 12:43:45','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=53134
;
-- Apr 20, 2014 12:43:57 PM IST
UPDATE AD_Field SET IsReadOnly='Y',Updated=TO_DATE('2014-04-20 12:43:57','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=55368
;
-- Apr 20, 2014 12:44:24 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',36,'N','N',60903,60,'Y',202873,'N','M_InventoryLineMA_UU','56f2de3d-9fa1-4e67-bcd5-cdbfc3199071','N','N',100,0,TO_DATE('2014-04-20 12:44:22','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-04-20 12:44:22','YYYY-MM-DD HH24:MI:SS'),'Y','N',0,2,'D',53134)
;
-- Apr 20, 2014 12:44:25 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',7,'N','N',210653,70,'Y',202874,'N','This field is used to record time used for LIFO and FIFO material policy','Time used for LIFO and FIFO Material Policy','Date Material Policy','0d13babb-408e-43c1-ad73-8b5056ef3f5d','Y','N',100,0,TO_DATE('2014-04-20 12:44:24','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-04-20 12:44:24','YYYY-MM-DD HH24:MI:SS'),'Y',0,2,'D',53134)
;
-- Apr 20, 2014 12:45:00 PM IST
UPDATE AD_Field SET XPosition=4,Updated=TO_DATE('2014-04-20 12:45:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202874
;
-- Apr 20, 2014 12:46:49 PM IST
UPDATE AD_Field SET XPosition=4,Updated=TO_DATE('2014-04-20 12:46:49','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=55364
;
-- Apr 20, 2014 12:48:30 PM IST
UPDATE AD_Field SET XPosition=1,Updated=TO_DATE('2014-04-20 12:48:30','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=55366
;
SELECT register_migration_script('201404200408_IDEMPIERE-1770.sql') FROM dual
;

View File

@ -0,0 +1,91 @@
SET SQLBLANKLINES ON
SET DEFINE OFF
-- May 29, 2014 10:41:22 PM IST
-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator
INSERT INTO AD_Element (ColumnName,AD_Element_ID,Help,Name,PrintName,AD_Element_UU,Created,Updated,AD_Org_ID,CreatedBy,UpdatedBy,IsActive,AD_Client_ID,EntityType) VALUES ('IsAutoGenerated',202701,'Record is Auto Generated by System.','Auto Generated','Auto Generated','88bf1864-a7b4-490d-836d-ae2eb3a08a97',TO_DATE('2014-05-29 22:41:22','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2014-05-29 22:41:22','YYYY-MM-DD HH24:MI:SS'),0,100,100,'Y',0,'D')
;
-- May 29, 2014 10:41:23 PM IST
INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,DefaultValue,Help,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintType,AD_Element_ID,AD_Table_ID) VALUES (0,'Y',0,211211,'N','N','N',0,'N',1,'N',20,'N','N','N','5fa29a45-c0e0-44a6-be20-63a8e05bb836','N','IsAutoGenerated','N','Record is Auto Generated by System.','Auto Generated','N',100,TO_DATE('2014-05-29 22:41:23','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_DATE('2014-05-29 22:41:23','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','N',202701,762)
;
-- May 29, 2014 10:41:23 PM IST
ALTER TABLE M_InOutLineMA ADD IsAutoGenerated CHAR(1) DEFAULT 'N' CHECK (IsAutoGenerated IN ('Y','N'))
;
-- May 29, 2014 10:41:24 PM IST
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,EntityType) VALUES ('N',751,1,'N','N',211211,70,'Y',202878,'Y','Record is Auto Generated by System.','Auto Generated','d94f1477-cb26-41ec-a677-4162d13f5339','Y','N',100,0,TO_DATE('2014-05-29 22:41:24','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-05-29 22:41:24','YYYY-MM-DD HH24:MI:SS'),'Y','Y',2,'N',0,2,1,'N','N','D')
;
-- May 29, 2014 10:41:24 PM IST
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,EntityType) VALUES ('N',200137,1,'N','N',211211,70,'Y',202879,'Y','Record is Auto Generated by System.','Auto Generated','c50c3d51-cc6a-49a1-919a-2ebd13fbc994','Y','N',100,0,TO_DATE('2014-05-29 22:41:24','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-05-29 22:41:24','YYYY-MM-DD HH24:MI:SS'),'Y','Y',2,'N',0,2,1,'N','N','D')
;
-- May 29, 2014 10:41:25 PM IST
INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,DefaultValue,Help,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintType,AD_Element_ID,AD_Table_ID) VALUES (0,'Y',0,211212,'N','N','N',0,'N',1,'N',20,'N','N','N','6d814e7b-3f7e-4f51-91f0-f5d6a80a9ec8','N','IsAutoGenerated','N','Record is Auto Generated by System.','Auto Generated','N',100,TO_DATE('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_DATE('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'U','N','N','N',202701,763)
;
-- May 29, 2014 10:41:25 PM IST
ALTER TABLE M_InventoryLineMA ADD IsAutoGenerated CHAR(1) DEFAULT 'N' CHECK (IsAutoGenerated IN ('Y','N'))
;
-- May 29, 2014 10:41:25 PM IST
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,EntityType) VALUES ('N',749,1,'N','N',211212,70,'Y',202880,'Y','Record is Auto Generated by System.','Auto Generated','040f311d-d321-46ac-a1b8-0650df7b9b8b','Y','N',100,0,TO_DATE('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),'Y','Y',2,'N',0,2,1,'N','N','U')
;
-- May 29, 2014 10:41:25 PM IST
INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,DefaultValue,Help,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintType,AD_Element_ID,AD_Table_ID) VALUES (0,'Y',0,211213,'N','N','N',0,'N',1,'N',20,'N','N','N','b41d414b-71e2-4df9-a8b7-1c30119eebbf','N','IsAutoGenerated','N','Record is Auto Generated by System.','Auto Generated','N',100,TO_DATE('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_DATE('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'U','N','N','N',202701,764)
;
-- May 29, 2014 10:41:25 PM IST
ALTER TABLE M_MovementLineMA ADD IsAutoGenerated CHAR(1) DEFAULT 'N' CHECK (IsAutoGenerated IN ('Y','N'))
;
-- May 29, 2014 10:41:25 PM IST
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,EntityType) VALUES ('N',750,1,'N','N',211213,70,'Y',202881,'Y','Record is Auto Generated by System.','Auto Generated','9e2cc848-53dc-4ad8-916a-bf58ff5c3184','Y','N',100,0,TO_DATE('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),'Y','Y',2,'N',0,2,1,'N','N','U')
;
-- May 29, 2014 10:41:26 PM IST
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,EntityType) VALUES ('N',53134,1,'N','N',211212,80,'Y',202882,'Y','Record is Auto Generated by System.','Auto Generated','c597cd68-10ed-46b0-8d80-f50e68d5f89b','Y','N',100,0,TO_DATE('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),'Y','Y',2,'N',0,2,1,'N','N','U')
;
-- May 29, 2014 11:01:22 PM IST
-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator
UPDATE AD_Column SET DefaultValue='1',Updated=TO_DATE('2014-05-29 23:01:22','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=13331
;
-- May 29, 2014 11:01:27 PM IST
ALTER TABLE M_InOutLineMA MODIFY MovementQty NUMBER DEFAULT 1
;
-- May 29, 2014 11:01:27 PM IST
UPDATE M_InOutLineMA SET MovementQty=1 WHERE MovementQty IS NULL
;
-- May 29, 2014 11:04:42 PM IST
UPDATE AD_Column SET DefaultValue='1',Updated=TO_DATE('2014-05-29 23:04:42','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=13363
;
-- May 29, 2014 11:04:47 PM IST
ALTER TABLE M_InventoryLineMA MODIFY MovementQty NUMBER DEFAULT 1
;
-- May 29, 2014 11:04:47 PM IST
UPDATE M_InventoryLineMA SET MovementQty=1 WHERE MovementQty IS NULL
;
-- May 29, 2014 11:06:10 PM IST
UPDATE AD_Column SET DefaultValue='1',Updated=TO_DATE('2014-05-29 23:06:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=13311
;
-- May 29, 2014 11:06:14 PM IST
ALTER TABLE M_MovementLineMA MODIFY MovementQty NUMBER DEFAULT 1
;
SELECT register_migration_script('201405310538_IDEMPIERE-1770.sql') FROM dual
;

View File

@ -0,0 +1,263 @@
-- Apr 14, 2014 5:56:06 PM IST
-- IDEMPIERE-1770 Making Attribute tab Manually editable
INSERT INTO AD_Message (MsgType,MsgText,AD_Message_ID,EntityType,AD_Message_UU,Value,IsActive,Updated,CreatedBy,UpdatedBy,Created,AD_Org_ID,AD_Client_ID) VALUES ('I','More than line qty on attribute tab for line ',200270,'D','4726e9ac-3831-4ca4-b860-23b2364160f0','Over_Qty_On_Attribute_Tab','Y',TO_TIMESTAMP('2014-04-14 17:56:04','YYYY-MM-DD HH24:MI:SS'),100,100,TO_TIMESTAMP('2014-04-14 17:56:04','YYYY-MM-DD HH24:MI:SS'),0,0)
;
-- Apr 14, 2014 5:56:27 PM IST
UPDATE AD_Tab SET IsReadOnly='N',Updated=TO_TIMESTAMP('2014-04-14 17:56:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=751
;
-- Apr 14, 2014 6:01:47 PM IST
UPDATE AD_Tab SET IsInsertRecord='Y',Updated=TO_TIMESTAMP('2014-04-14 18:01:47','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=751
;
-- Apr 14, 2014 6:15:24 PM IST
UPDATE AD_Field SET IsReadOnly='N',Updated=TO_TIMESTAMP('2014-04-14 18:15:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=12194
;
-- Apr 14, 2014 6:15:38 PM IST
UPDATE AD_Field SET IsReadOnly='N',Updated=TO_TIMESTAMP('2014-04-14 18:15:38','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=12196
;
-- Apr 14, 2014 7:48:10 PM IST
-- IDEMPIERE-1770 Making Attribute tab Manually editable
UPDATE AD_Column SET DefaultValue='@AD_Org_ID@',Updated=TO_TIMESTAMP('2014-04-14 19:48:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=13325
;
-- Apr 14, 2014 7:54:02 PM IST
UPDATE AD_Column SET IsParent='N',Updated=TO_TIMESTAMP('2014-04-14 19:54:02','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=208342
;
-- Apr 14, 2014 7:56:15 PM IST
UPDATE AD_Column SET IsUpdateable='Y',Updated=TO_TIMESTAMP('2014-04-14 19:56:15','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=208342
;
-- Apr 15, 2014 4:26:24 PM IST
-- IDEMPIERE-1770 Making Attribute tab Manually editable
INSERT INTO AD_Tab (ImportFields,Processing,IsSingleRow,SeqNo,IsTranslationTab,IsSortTab,HasTree,IsInfoTab,IsReadOnly,IsInsertRecord,IsAdvancedTab,TabLevel,AD_Tab_UU,EntityType,Name,Description,AD_Tab_ID,AD_Org_ID,Created,CreatedBy,Updated,UpdatedBy,IsActive,AD_Table_ID,AD_Client_ID,AD_Window_ID,TreeDisplayedOn) VALUES ('N','N','Y',40,'N','N','N','N','N','Y','N',2,'d771d2e8-42a0-426e-ba58-c4f459bbbc1e','D','Attributes','Product Instance Attribute Material Allocation',200137,0,TO_TIMESTAMP('2014-04-15 16:26:23','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-04-15 16:26:23','YYYY-MM-DD HH24:MI:SS'),100,'Y',762,0,184,'B')
;
-- Apr 15, 2014 4:27:05 PM IST
UPDATE AD_Tab SET SeqNo=50,Updated=TO_TIMESTAMP('2014-04-15 16:27:05','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=688
;
-- Apr 15, 2014 4:27:20 PM IST
UPDATE AD_Tab SET SeqNo=60,Updated=TO_TIMESTAMP('2014-04-15 16:27:20','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=689
;
-- Apr 15, 2014 4:27:56 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',22,'N','N',13324,10,'Y',202855,'N','A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client.','Client/Tenant for this installation.','Client','59fa77cd-26e2-4603-abf3-371353ba0006','Y','N',100,0,TO_TIMESTAMP('2014-04-15 16:27:55','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-04-15 16:27:55','YYYY-MM-DD HH24:MI:SS'),'Y','N',0,2,'D',200137)
;
-- Apr 15, 2014 4:27:57 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,IsAllowCopy,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,XPosition,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',22,'N','N',13325,20,'Y',202856,'N','An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations.','Organizational entity within client','Organization','e46f8fd7-d445-4664-8232-cef0e6bc362b','Y','N','Y',100,0,TO_TIMESTAMP('2014-04-15 16:27:56','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-04-15 16:27:56','YYYY-MM-DD HH24:MI:SS'),'Y',4,0,2,'D',200137)
;
-- Apr 15, 2014 4:27:59 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',22,'N','N',13322,30,'Y',202857,'N','The Shipment/Receipt Line indicates a unique line in a Shipment/Receipt document','Line on Shipment or Receipt document','Shipment/Receipt Line','726ab1f8-fd3f-49b1-a927-b33abb65747e','Y','N',100,0,TO_TIMESTAMP('2014-04-15 16:27:57','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-04-15 16:27:57','YYYY-MM-DD HH24:MI:SS'),'Y',0,2,'D',200137)
;
-- Apr 15, 2014 4:27:59 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',22,'N','N',13323,40,'Y',202858,'N','The values of the actual Product Attribute Instances. The product level attributes are defined on Product level.','Product Attribute Set Instance','Attribute Set Instance','b9e93296-2cd5-47d0-81e3-0923434e82c2','Y','N',100,0,TO_TIMESTAMP('2014-04-15 16:27:59','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-04-15 16:27:59','YYYY-MM-DD HH24:MI:SS'),'Y',0,2,'D',200137)
;
-- Apr 15, 2014 4:28:00 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',22,'N','N',13331,50,'Y',202859,'N','The Movement Quantity indicates the quantity of a product that has been moved.','Quantity of a product moved.','Movement Quantity','92faf768-01a2-4ad7-b4f4-44161d9c6460','Y','N',100,0,TO_TIMESTAMP('2014-04-15 16:27:59','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-04-15 16:27:59','YYYY-MM-DD HH24:MI:SS'),'Y',0,2,'D',200137)
;
-- Apr 15, 2014 4:28:01 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',36,'N','N',60900,60,'Y',202860,'N','M_InOutLineMA_UU','0c446edf-38f0-4948-8871-591260db1db9','N','N',100,0,TO_TIMESTAMP('2014-04-15 16:28:00','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-04-15 16:28:00','YYYY-MM-DD HH24:MI:SS'),'Y','N',0,2,'D',200137)
;
-- Apr 15, 2014 4:28:01 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',7,'N','N',208342,70,'Y',202861,'N','This field is used to record time used for LIFO and FIFO material policy','Time used for LIFO and FIFO Material Policy','Date Material Policy','92265f55-892e-4814-9922-9bf1c35fd43b','Y','N',100,0,TO_TIMESTAMP('2014-04-15 16:28:01','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-04-15 16:28:01','YYYY-MM-DD HH24:MI:SS'),'Y',0,2,'D',200137)
;
-- Apr 15, 2014 4:28:02 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,XPosition,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',1,'N','N',13326,80,'Y',202862,'N','There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports.
There are two reasons for de-activating and not deleting records:
(1) The system requires the record for audit purposes.
(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries.','The record is active in the system','Active','13f448e6-c398-4ea2-97e8-89c901f24124','Y','N',100,0,TO_TIMESTAMP('2014-04-15 16:28:01','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-04-15 16:28:01','YYYY-MM-DD HH24:MI:SS'),'Y',2,0,2,'D',200137)
;
-- Apr 15, 2014 4:28:44 PM IST
UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=202862
;
-- Apr 15, 2014 4:28:44 PM IST
UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=202860
;
-- Apr 15, 2014 4:28:44 PM IST
UPDATE AD_Field SET SeqNo=60,IsDisplayed='Y' WHERE AD_Field_ID=202861
;
-- Apr 15, 2014 4:29:26 PM IST
UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=202862
;
-- Apr 15, 2014 4:29:26 PM IST
UPDATE AD_Field SET SeqNoGrid=10,IsDisplayedGrid='Y' WHERE AD_Field_ID=202858
;
-- Apr 15, 2014 4:29:26 PM IST
UPDATE AD_Field SET SeqNoGrid=20,IsDisplayedGrid='Y' WHERE AD_Field_ID=202861
;
-- Apr 15, 2014 4:29:26 PM IST
UPDATE AD_Field SET SeqNoGrid=30,IsDisplayedGrid='Y' WHERE AD_Field_ID=202859
;
-- Apr 15, 2014 4:29:26 PM IST
UPDATE AD_Field SET SeqNoGrid=40,IsDisplayedGrid='Y' WHERE AD_Field_ID=202856
;
-- Apr 15, 2014 4:29:26 PM IST
UPDATE AD_Field SET SeqNoGrid=50,IsDisplayedGrid='Y' WHERE AD_Field_ID=202857
;
-- Apr 15, 2014 4:30:34 PM IST
UPDATE AD_Field SET IsReadOnly='Y',Updated=TO_TIMESTAMP('2014-04-15 16:30:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202857
;
-- Apr 15, 2014 4:53:49 PM IST
UPDATE AD_Field SET XPosition=4,Updated=TO_TIMESTAMP('2014-04-15 16:53:49','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202858
;
-- Apr 15, 2014 4:54:23 PM IST
UPDATE AD_Field SET XPosition=4,Updated=TO_TIMESTAMP('2014-04-15 16:54:23','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202861
;
-- Apr 16, 2014 6:24:54 PM IST
-- IDEMPIERE-1770 Making Attribute tab Manually editable
INSERT INTO AD_Tab (ImportFields,Processing,IsSingleRow,SeqNo,IsTranslationTab,IsSortTab,HasTree,IsInfoTab,IsReadOnly,IsInsertRecord,IsAdvancedTab,TabLevel,AD_Tab_UU,EntityType,Name,Description,AD_Tab_ID,AD_Org_ID,Created,CreatedBy,Updated,UpdatedBy,IsActive,AD_Table_ID,AD_Client_ID,AD_Window_ID,TreeDisplayedOn) VALUES ('N','N','Y',40,'N','N','N','N','N','Y','N',2,'8cf5abeb-4146-4581-b353-24ee510bcaff','D','Attributes','Product Instance Attribute Material Allocation',200138,0,TO_TIMESTAMP('2014-04-16 18:24:52','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-04-16 18:24:52','YYYY-MM-DD HH24:MI:SS'),100,'Y',762,0,53097,'B')
;
-- Apr 16, 2014 6:25:03 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',22,'N','N',13324,10,'Y',202863,'N','A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client.','Client/Tenant for this installation.','Client','490b0733-4890-4e19-af23-acd31c1adb2e','Y','N',100,0,TO_TIMESTAMP('2014-04-16 18:25:02','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-04-16 18:25:02','YYYY-MM-DD HH24:MI:SS'),'Y','N',0,2,'D',200138)
;
-- Apr 16, 2014 6:25:04 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,IsAllowCopy,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,XPosition,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',22,'N','N',13325,20,'Y',202864,'N','An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations.','Organizational entity within client','Organization','b4f28546-657c-47cc-9d41-0631c71c1616','Y','N','Y',100,0,TO_TIMESTAMP('2014-04-16 18:25:03','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-04-16 18:25:03','YYYY-MM-DD HH24:MI:SS'),'Y',4,0,2,'D',200138)
;
-- Apr 16, 2014 6:25:04 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',22,'N','N',13322,30,'Y',202865,'N','The Shipment/Receipt Line indicates a unique line in a Shipment/Receipt document','Line on Shipment or Receipt document','Shipment/Receipt Line','f83a86f6-472d-494f-8abf-6b5b84f71f99','Y','N',100,0,TO_TIMESTAMP('2014-04-16 18:25:04','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-04-16 18:25:04','YYYY-MM-DD HH24:MI:SS'),'Y',0,2,'D',200138)
;
-- Apr 16, 2014 6:25:05 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',22,'N','N',13323,40,'Y',202866,'N','The values of the actual Product Attribute Instances. The product level attributes are defined on Product level.','Product Attribute Set Instance','Attribute Set Instance','a81d331b-79d1-450d-9856-945b0d713556','Y','N',100,0,TO_TIMESTAMP('2014-04-16 18:25:04','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-04-16 18:25:04','YYYY-MM-DD HH24:MI:SS'),'Y',0,2,'D',200138)
;
-- Apr 16, 2014 6:25:06 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',22,'N','N',13331,50,'Y',202867,'N','The Movement Quantity indicates the quantity of a product that has been moved.','Quantity of a product moved.','Movement Quantity','637b8625-8cba-4a2c-b67e-fb6d2537e3ae','Y','N',100,0,TO_TIMESTAMP('2014-04-16 18:25:05','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-04-16 18:25:05','YYYY-MM-DD HH24:MI:SS'),'Y',0,2,'D',200138)
;
-- Apr 16, 2014 6:25:07 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',36,'N','N',60900,60,'Y',202868,'N','M_InOutLineMA_UU','153a008e-e046-4014-b466-7c03e7694ff1','N','N',100,0,TO_TIMESTAMP('2014-04-16 18:25:06','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-04-16 18:25:06','YYYY-MM-DD HH24:MI:SS'),'Y','N',0,2,'D',200138)
;
-- Apr 16, 2014 6:25:07 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',7,'N','N',208342,70,'Y',202869,'N','This field is used to record time used for LIFO and FIFO material policy','Time used for LIFO and FIFO Material Policy','Date Material Policy','74d11884-f339-481d-a278-3eadc2c7cfde','Y','N',100,0,TO_TIMESTAMP('2014-04-16 18:25:07','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-04-16 18:25:07','YYYY-MM-DD HH24:MI:SS'),'Y',0,2,'D',200138)
;
-- Apr 16, 2014 6:25:08 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,XPosition,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',1,'N','N',13326,80,'Y',202870,'N','There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports.
There are two reasons for de-activating and not deleting records:
(1) The system requires the record for audit purposes.
(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries.','The record is active in the system','Active','381c7afe-31bd-4499-a5b5-fbdae4afefaf','Y','N',100,0,TO_TIMESTAMP('2014-04-16 18:25:07','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-04-16 18:25:07','YYYY-MM-DD HH24:MI:SS'),'Y',2,0,2,'D',200138)
;
-- Apr 16, 2014 6:25:49 PM IST
UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=202870
;
-- Apr 16, 2014 6:25:49 PM IST
UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=202868
;
-- Apr 16, 2014 6:25:49 PM IST
UPDATE AD_Field SET SeqNo=60,IsDisplayed='Y' WHERE AD_Field_ID=202869
;
-- Apr 16, 2014 6:27:46 PM IST
UPDATE AD_Field SET IsReadOnly='Y',Updated=TO_TIMESTAMP('2014-04-16 18:27:46','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202863
;
-- Apr 16, 2014 6:28:41 PM IST
UPDATE AD_Field SET IsReadOnly='Y',Updated=TO_TIMESTAMP('2014-04-16 18:28:41','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202864
;
-- Apr 16, 2014 6:29:03 PM IST
UPDATE AD_Field SET IsReadOnly='Y',Updated=TO_TIMESTAMP('2014-04-16 18:29:03','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202865
;
-- Apr 16, 2014 6:29:21 PM IST
UPDATE AD_Field SET XPosition=4,Updated=TO_TIMESTAMP('2014-04-16 18:29:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202866
;
-- Apr 16, 2014 6:29:45 PM IST
UPDATE AD_Field SET XPosition=4,Updated=TO_TIMESTAMP('2014-04-16 18:29:45','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202869
;
-- Apr 16, 2014 6:30:00 PM IST
UPDATE AD_Tab SET SeqNo=50,Updated=TO_TIMESTAMP('2014-04-16 18:30:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=53274
;
-- Apr 16, 2014 6:30:21 PM IST
UPDATE AD_Tab SET SeqNo=30,Updated=TO_TIMESTAMP('2014-04-16 18:30:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=200138
;
-- Apr 16, 2014 6:30:27 PM IST
UPDATE AD_Tab SET SeqNo=40,Updated=TO_TIMESTAMP('2014-04-16 18:30:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=53273
;
-- Apr 16, 2014 6:30:48 PM IST
UPDATE AD_Tab SET SeqNo=60,Updated=TO_TIMESTAMP('2014-04-16 18:30:48','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=53275
;
-- Apr 16, 2014 7:52:20 PM IST
-- IDEMPIERE-1770 Making Attribute tab Manually editable
UPDATE AD_Tab SET IsReadOnly='N', IsInsertRecord='Y',Updated=TO_TIMESTAMP('2014-04-16 19:52:20','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=53279
;
-- Apr 16, 2014 7:52:44 PM IST
UPDATE AD_Field SET IsReadOnly='N',Updated=TO_TIMESTAMP('2014-04-16 19:52:44','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=57942
;
-- Apr 16, 2014 7:52:52 PM IST
UPDATE AD_Field SET IsReadOnly='N',Updated=TO_TIMESTAMP('2014-04-16 19:52:52','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=57943
;
-- Apr 16, 2014 7:53:07 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',36,'N','N',60900,60,'Y',202871,'N','M_InOutLineMA_UU','966b40fa-a67b-4014-adf6-6e4e549357e2','N','N',100,0,TO_TIMESTAMP('2014-04-16 19:53:06','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-04-16 19:53:06','YYYY-MM-DD HH24:MI:SS'),'Y','N',0,2,'D',53279)
;
-- Apr 16, 2014 7:53:08 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',7,'N','N',208342,70,'Y',202872,'N','This field is used to record time used for LIFO and FIFO material policy','Time used for LIFO and FIFO Material Policy','Date Material Policy','1a789397-4670-40f6-9dfd-2f366bd1deb7','Y','N',100,0,TO_TIMESTAMP('2014-04-16 19:53:07','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-04-16 19:53:07','YYYY-MM-DD HH24:MI:SS'),'Y',0,2,'D',53279)
;
-- Apr 16, 2014 7:53:43 PM IST
UPDATE AD_Field SET XPosition=4,Updated=TO_TIMESTAMP('2014-04-16 19:53:43','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202872
;
-- Apr 16, 2014 8:16:21 PM IST
UPDATE AD_Field SET XPosition=4,Updated=TO_TIMESTAMP('2014-04-16 20:16:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=57942
;
-- Apr 16, 2014 8:17:03 PM IST
UPDATE AD_Field SET XPosition=1,Updated=TO_TIMESTAMP('2014-04-16 20:17:03','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=57943
;
create view M_InoutLineMA_Returned as
SELECT sma.*, sum (crma.movementqty) returnedQty FROM M_InoutLineMA sma inner join M_InoutLine sl on (sma.M_InoutLine_ID =sl.M_InoutLine_ID)
inner join M_InOut sio on (sio.M_InOut_ID=sl.M_InOut_ID) left join M_RMALine rl on (rl.M_InOutLine_ID = sl.M_InOutLine_ID )
left join M_InoutLine crl on (rl.M_RMALine_ID =crl.M_RMALine_ID)
left join M_inout cr on (cr.M_Inout_ID = crl.M_Inout_ID and not cr.docstatus in ('CO','RE'))
left join M_InoutLineMA crma on (crma.M_InoutLine_Id = crl.M_InoutLine_ID and sma.M_AttributeSetInstance_ID=crma.M_AttributeSetInstance_ID)
group by sma.M_AttributeSetInstance_ID,sma.m_inoutline_id,sma.ad_client_id,sma.ad_org_id,sma.isactive,sma.created,sma.createdby,sma.updated
,sma.updatedby,sma.movementqty,sma.m_inoutlinema_uu,sma.datematerialpolicy;
SELECT register_migration_script('201404170743_IDEMPIERE-1770.sql') FROM dual
;

View File

@ -0,0 +1,80 @@
-- Apr 18, 2014 12:49:29 AM IST
-- IDEMPIERE-1770 Making Attribute tab Manually editable
UPDATE AD_Tab SET IsReadOnly='N', IsInsertRecord='Y',Updated=TO_TIMESTAMP('2014-04-18 00:49:29','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=749
;
-- Apr 18, 2014 12:49:54 AM IST
UPDATE AD_Field SET IsReadOnly='N',Updated=TO_TIMESTAMP('2014-04-18 00:49:54','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=12182
;
-- Apr 18, 2014 12:49:59 AM IST
UPDATE AD_Field SET IsReadOnly='N',Updated=TO_TIMESTAMP('2014-04-18 00:49:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=12184
;
-- Apr 18, 2014 12:54:05 AM IST
UPDATE AD_Tab SET IsReadOnly='N', IsInsertRecord='Y',Updated=TO_TIMESTAMP('2014-04-18 00:54:05','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=750
;
-- Apr 18, 2014 12:54:25 AM IST
UPDATE AD_Field SET IsReadOnly='N',Updated=TO_TIMESTAMP('2014-04-18 00:54:25','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=12188
;
-- Apr 18, 2014 12:54:27 AM IST
UPDATE AD_Field SET IsReadOnly='N',Updated=TO_TIMESTAMP('2014-04-18 00:54:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=12191
;
-- Apr 18, 2014 2:37:40 PM IST
UPDATE AD_Column SET DefaultValue='@AD_Org_ID@',Updated=TO_TIMESTAMP('2014-04-18 14:37:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=13357
;
-- Apr 18, 2014 3:53:52 PM IST
UPDATE AD_Column SET DefaultValue='@AD_Org_ID@',Updated=TO_TIMESTAMP('2014-04-18 15:53:52','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=13305
;
-- Apr 20, 2014 11:44:45 AM IST
-- IDEMPIERE-1770 Making Attribute tab Manually editable
UPDATE AD_Column SET IsUpdateable='N',Updated=TO_TIMESTAMP('2014-04-20 11:44:44','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=13355
;
-- Apr 20, 2014 11:45:36 AM IST
UPDATE AD_Column SET IsUpdateable='N',Updated=TO_TIMESTAMP('2014-04-20 11:45:36','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=210653
;
-- Apr 20, 2014 11:46:25 AM IST
UPDATE AD_Column SET IsUpdateable='N',Updated=TO_TIMESTAMP('2014-04-20 11:46:25','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=13303
;
-- Apr 20, 2014 11:46:56 AM IST
UPDATE AD_Column SET IsUpdateable='N',Updated=TO_TIMESTAMP('2014-04-20 11:46:56','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=210651
;
-- Apr 20, 2014 12:43:45 PM IST
UPDATE AD_Tab SET IsReadOnly='N', IsInsertRecord='Y',Updated=TO_TIMESTAMP('2014-04-20 12:43:45','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=53134
;
-- Apr 20, 2014 12:43:57 PM IST
UPDATE AD_Field SET IsReadOnly='Y',Updated=TO_TIMESTAMP('2014-04-20 12:43:57','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=55368
;
-- Apr 20, 2014 12:44:24 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',36,'N','N',60903,60,'Y',202873,'N','M_InventoryLineMA_UU','56f2de3d-9fa1-4e67-bcd5-cdbfc3199071','N','N',100,0,TO_TIMESTAMP('2014-04-20 12:44:22','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-04-20 12:44:22','YYYY-MM-DD HH24:MI:SS'),'Y','N',0,2,'D',53134)
;
-- Apr 20, 2014 12:44:25 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',7,'N','N',210653,70,'Y',202874,'N','This field is used to record time used for LIFO and FIFO material policy','Time used for LIFO and FIFO Material Policy','Date Material Policy','0d13babb-408e-43c1-ad73-8b5056ef3f5d','Y','N',100,0,TO_TIMESTAMP('2014-04-20 12:44:24','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-04-20 12:44:24','YYYY-MM-DD HH24:MI:SS'),'Y',0,2,'D',53134)
;
-- Apr 20, 2014 12:45:00 PM IST
UPDATE AD_Field SET XPosition=4,Updated=TO_TIMESTAMP('2014-04-20 12:45:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202874
;
-- Apr 20, 2014 12:46:49 PM IST
UPDATE AD_Field SET XPosition=4,Updated=TO_TIMESTAMP('2014-04-20 12:46:49','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=55364
;
-- Apr 20, 2014 12:48:30 PM IST
UPDATE AD_Field SET XPosition=1,Updated=TO_TIMESTAMP('2014-04-20 12:48:30','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=55366
;
SELECT register_migration_script('201404200408_IDEMPIERE-1770.sql') FROM dual
;

View File

@ -0,0 +1,85 @@
-- May 29, 2014 10:41:22 PM IST
-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator
INSERT INTO AD_Element (ColumnName,AD_Element_ID,Help,Name,PrintName,AD_Element_UU,Created,Updated,AD_Org_ID,CreatedBy,UpdatedBy,IsActive,AD_Client_ID,EntityType) VALUES ('IsAutoGenerated',202701,'Record is Auto Generated by System.','Auto Generated','Auto Generated','88bf1864-a7b4-490d-836d-ae2eb3a08a97',TO_TIMESTAMP('2014-05-29 22:41:22','YYYY-MM-DD HH24:MI:SS'),TO_TIMESTAMP('2014-05-29 22:41:22','YYYY-MM-DD HH24:MI:SS'),0,100,100,'Y',0,'D')
;
-- May 29, 2014 10:41:23 PM IST
INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,DefaultValue,Help,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintType,AD_Element_ID,AD_Table_ID) VALUES (0,'Y',0,211211,'N','N','N',0,'N',1,'N',20,'N','N','N','5fa29a45-c0e0-44a6-be20-63a8e05bb836','N','IsAutoGenerated','N','Record is Auto Generated by System.','Auto Generated','N',100,TO_TIMESTAMP('2014-05-29 22:41:23','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_TIMESTAMP('2014-05-29 22:41:23','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','N',202701,762)
;
-- May 29, 2014 10:41:23 PM IST
ALTER TABLE M_InOutLineMA ADD COLUMN IsAutoGenerated CHAR(1) DEFAULT 'N' CHECK (IsAutoGenerated IN ('Y','N'))
;
-- May 29, 2014 10:41:24 PM IST
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,EntityType) VALUES ('N',751,1,'N','N',211211,70,'Y',202878,'Y','Record is Auto Generated by System.','Auto Generated','d94f1477-cb26-41ec-a677-4162d13f5339','Y','N',100,0,TO_TIMESTAMP('2014-05-29 22:41:24','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-05-29 22:41:24','YYYY-MM-DD HH24:MI:SS'),'Y','Y',2,'N',0,2,1,'N','N','D')
;
-- May 29, 2014 10:41:24 PM IST
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,EntityType) VALUES ('N',200137,1,'N','N',211211,70,'Y',202879,'Y','Record is Auto Generated by System.','Auto Generated','c50c3d51-cc6a-49a1-919a-2ebd13fbc994','Y','N',100,0,TO_TIMESTAMP('2014-05-29 22:41:24','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-05-29 22:41:24','YYYY-MM-DD HH24:MI:SS'),'Y','Y',2,'N',0,2,1,'N','N','D')
;
-- May 29, 2014 10:41:25 PM IST
INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,DefaultValue,Help,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintType,AD_Element_ID,AD_Table_ID) VALUES (0,'Y',0,211212,'N','N','N',0,'N',1,'N',20,'N','N','N','6d814e7b-3f7e-4f51-91f0-f5d6a80a9ec8','N','IsAutoGenerated','N','Record is Auto Generated by System.','Auto Generated','N',100,TO_TIMESTAMP('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_TIMESTAMP('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'U','N','N','N',202701,763)
;
-- May 29, 2014 10:41:25 PM IST
ALTER TABLE M_InventoryLineMA ADD COLUMN IsAutoGenerated CHAR(1) DEFAULT 'N' CHECK (IsAutoGenerated IN ('Y','N'))
;
-- May 29, 2014 10:41:25 PM IST
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,EntityType) VALUES ('N',749,1,'N','N',211212,70,'Y',202880,'Y','Record is Auto Generated by System.','Auto Generated','040f311d-d321-46ac-a1b8-0650df7b9b8b','Y','N',100,0,TO_TIMESTAMP('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),'Y','Y',2,'N',0,2,1,'N','N','U')
;
-- May 29, 2014 10:41:25 PM IST
INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,DefaultValue,Help,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintType,AD_Element_ID,AD_Table_ID) VALUES (0,'Y',0,211213,'N','N','N',0,'N',1,'N',20,'N','N','N','b41d414b-71e2-4df9-a8b7-1c30119eebbf','N','IsAutoGenerated','N','Record is Auto Generated by System.','Auto Generated','N',100,TO_TIMESTAMP('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_TIMESTAMP('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'U','N','N','N',202701,764)
;
-- May 29, 2014 10:41:25 PM IST
ALTER TABLE M_MovementLineMA ADD COLUMN IsAutoGenerated CHAR(1) DEFAULT 'N' CHECK (IsAutoGenerated IN ('Y','N'))
;
-- May 29, 2014 10:41:25 PM IST
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,EntityType) VALUES ('N',750,1,'N','N',211213,70,'Y',202881,'Y','Record is Auto Generated by System.','Auto Generated','9e2cc848-53dc-4ad8-916a-bf58ff5c3184','Y','N',100,0,TO_TIMESTAMP('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),'Y','Y',2,'N',0,2,1,'N','N','U')
;
-- May 29, 2014 10:41:26 PM IST
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,EntityType) VALUES ('N',53134,1,'N','N',211212,80,'Y',202882,'Y','Record is Auto Generated by System.','Auto Generated','c597cd68-10ed-46b0-8d80-f50e68d5f89b','Y','N',100,0,TO_TIMESTAMP('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),'Y','Y',2,'N',0,2,1,'N','N','U')
;
-- May 29, 2014 11:01:22 PM IST
-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator
UPDATE AD_Column SET DefaultValue='1',Updated=TO_TIMESTAMP('2014-05-29 23:01:22','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=13331
;
-- May 29, 2014 11:01:27 PM IST
INSERT INTO t_alter_column values('m_inoutlinema','MovementQty','NUMERIC',null,'1')
;
-- May 29, 2014 11:01:27 PM IST
UPDATE M_InOutLineMA SET MovementQty=1 WHERE MovementQty IS NULL
;
-- May 29, 2014 11:04:42 PM IST
UPDATE AD_Column SET DefaultValue='1',Updated=TO_TIMESTAMP('2014-05-29 23:04:42','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=13363
;
-- May 29, 2014 11:04:47 PM IST
INSERT INTO t_alter_column values('m_inventorylinema','MovementQty','NUMERIC',null,'1')
;
-- May 29, 2014 11:04:47 PM IST
UPDATE M_InventoryLineMA SET MovementQty=1 WHERE MovementQty IS NULL
;
-- May 29, 2014 11:06:10 PM IST
UPDATE AD_Column SET DefaultValue='1',Updated=TO_TIMESTAMP('2014-05-29 23:06:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=13311
;
-- May 29, 2014 11:06:14 PM IST
INSERT INTO t_alter_column values('m_movementlinema','MovementQty','NUMERIC',null,'1')
;
SELECT register_migration_script('201405310538_IDEMPIERE-1770.sql') FROM dual
;

View File

@ -315,7 +315,7 @@ public class InventoryCountCreate extends SvrProcess
else if (m_line.getM_AttributeSetInstance_ID() != 0) else if (m_line.getM_AttributeSetInstance_ID() != 0)
{ {
MInventoryLineMA ma = new MInventoryLineMA (m_line, MInventoryLineMA ma = new MInventoryLineMA (m_line,
m_line.getM_AttributeSetInstance_ID(), m_line.getQtyBook(),oldDateMPolicy); m_line.getM_AttributeSetInstance_ID(), m_line.getQtyBook(),oldDateMPolicy,true);
if (!ma.save()) if (!ma.save())
; ;
} }
@ -326,7 +326,7 @@ public class InventoryCountCreate extends SvrProcess
// //
MInventoryLineMA ma = new MInventoryLineMA (m_line, MInventoryLineMA ma = new MInventoryLineMA (m_line,
M_AttributeSetInstance_ID, QtyOnHand,dateMPolicy); M_AttributeSetInstance_ID, QtyOnHand,dateMPolicy,true);
if (!ma.save()) if (!ma.save())
; ;
return 0; return 0;

View File

@ -160,7 +160,7 @@ public class InventoryCountUpdate extends SvrProcess
continue; continue;
// Save ASI // Save ASI
ma = new MInventoryLineMA (il, ma = new MInventoryLineMA (il,
storage.getM_AttributeSetInstance_ID(), storage.getQtyOnHand(),storage.getDateMaterialPolicy()); storage.getM_AttributeSetInstance_ID(), storage.getQtyOnHand(),storage.getDateMaterialPolicy(),true);
if (!ma.save()) if (!ma.save())
; ;
} }

View File

@ -104,6 +104,15 @@ public interface I_M_InOutLineMA
*/ */
public boolean isActive(); public boolean isActive();
/** Column name IsAutoGenerated */
public static final String COLUMNNAME_IsAutoGenerated = "IsAutoGenerated";
/** Set Auto Generated */
public void setIsAutoGenerated (boolean IsAutoGenerated);
/** Get Auto Generated */
public boolean isAutoGenerated();
/** Column name M_AttributeSetInstance_ID */ /** Column name M_AttributeSetInstance_ID */
public static final String COLUMNNAME_M_AttributeSetInstance_ID = "M_AttributeSetInstance_ID"; public static final String COLUMNNAME_M_AttributeSetInstance_ID = "M_AttributeSetInstance_ID";

View File

@ -104,6 +104,15 @@ public interface I_M_InventoryLineMA
*/ */
public boolean isActive(); public boolean isActive();
/** Column name IsAutoGenerated */
public static final String COLUMNNAME_IsAutoGenerated = "IsAutoGenerated";
/** Set Auto Generated */
public void setIsAutoGenerated (boolean IsAutoGenerated);
/** Get Auto Generated */
public boolean isAutoGenerated();
/** Column name M_AttributeSetInstance_ID */ /** Column name M_AttributeSetInstance_ID */
public static final String COLUMNNAME_M_AttributeSetInstance_ID = "M_AttributeSetInstance_ID"; public static final String COLUMNNAME_M_AttributeSetInstance_ID = "M_AttributeSetInstance_ID";

View File

@ -104,6 +104,15 @@ public interface I_M_MovementLineMA
*/ */
public boolean isActive(); public boolean isActive();
/** Column name IsAutoGenerated */
public static final String COLUMNNAME_IsAutoGenerated = "IsAutoGenerated";
/** Set Auto Generated */
public void setIsAutoGenerated (boolean IsAutoGenerated);
/** Get Auto Generated */
public boolean isAutoGenerated();
/** Column name M_AttributeSetInstance_ID */ /** Column name M_AttributeSetInstance_ID */
public static final String COLUMNNAME_M_AttributeSetInstance_ID = "M_AttributeSetInstance_ID"; public static final String COLUMNNAME_M_AttributeSetInstance_ID = "M_AttributeSetInstance_ID";

View File

@ -1317,7 +1317,17 @@ public class MInOut extends X_M_InOut implements DocAction
//Ignore the Material Policy when is Reverse Correction //Ignore the Material Policy when is Reverse Correction
if(!isReversal()) if(!isReversal())
{ {
checkMaterialPolicy(sLine); BigDecimal movementQty = sLine.getMovementQty();
BigDecimal qtyOnLineMA = MInOutLineMA.getManualQty(sLine.getM_InOutLine_ID(), get_TrxName());
if(qtyOnLineMA.compareTo(movementQty)>0)
{
// More then line qty on attribute tab for line 10
m_processMsg = "@Over_Qty_On_Attribute_Tab@ " + sLine.getLine();
return DOCSTATUS_Invalid;
}
checkMaterialPolicy(sLine,movementQty.subtract(qtyOnLineMA));
} }
log.fine("Material Transaction"); log.fine("Material Transaction");
@ -1751,17 +1761,20 @@ public class MInOut extends X_M_InOut implements DocAction
* Check Material Policy * Check Material Policy
* Sets line ASI * Sets line ASI
*/ */
private void checkMaterialPolicy(MInOutLine line) private void checkMaterialPolicy(MInOutLine line,BigDecimal qty)
{ {
int no = MInOutLineMA.deleteInOutLineMA(line.getM_InOutLine_ID(), get_TrxName()); int no = MInOutLineMA.deleteInOutLineMA(line.getM_InOutLine_ID(), get_TrxName());
if (no > 0) if (no > 0)
if (log.isLoggable(Level.CONFIG)) log.config("Delete old #" + no); if (log.isLoggable(Level.CONFIG)) log.config("Delete old #" + no);
if(Env.ZERO.compareTo(qty)==0)
return;
// Incoming Trx // Incoming Trx
String MovementType = getMovementType(); String MovementType = getMovementType();
boolean inTrx = MovementType.charAt(1) == '+'; // V+ Vendor Receipt boolean inTrx = MovementType.charAt(1) == '+'; // V+ Vendor Receipt
boolean needSave = false; boolean needSave = false;
MProduct product = line.getProduct(); MProduct product = line.getProduct();
@ -1784,30 +1797,33 @@ public class MInOut extends X_M_InOut implements DocAction
if (getMovementType().compareTo(MInOut.MOVEMENTTYPE_VendorReceipts) == 0 ) if (getMovementType().compareTo(MInOut.MOVEMENTTYPE_VendorReceipts) == 0 )
{ {
//auto balance negative on hand //auto balance negative on hand
BigDecimal qtyToReceive = autoBalanceNegative(line, product); BigDecimal qtyToReceive = autoBalanceNegative(line, product,qty);
//Allocate remaining qty. //Allocate remaining qty.
if (qtyToReceive.compareTo(Env.ZERO)>0) if (qtyToReceive.compareTo(Env.ZERO)>0)
{ {
MInOutLineMA ma = MInOutLineMA.addOrCreate(line, 0, qtyToReceive, getMovementDate()); MInOutLineMA ma = MInOutLineMA.addOrCreate(line, 0, qtyToReceive, getMovementDate(),true);
ma.saveEx(); ma.saveEx();
} }
} else if (getMovementType().compareTo(MInOut.MOVEMENTTYPE_CustomerReturns) == 0){ } else if (getMovementType().compareTo(MInOut.MOVEMENTTYPE_CustomerReturns) == 0){
BigDecimal qtyToReturn = autoBalanceNegative(line, product); BigDecimal qtyToReturn = autoBalanceNegative(line, product,qty);
if (line.getM_RMALine_ID()!=0 && qtyToReturn.compareTo(Env.ZERO)>0){ if (line.getM_RMALine_ID()!=0 && qtyToReturn.compareTo(Env.ZERO)>0){
//Linking to shipment line //Linking to shipment line
MRMALine rmaLine = new MRMALine(getCtx(), line.getM_RMALine_ID(), get_TrxName()); MRMALine rmaLine = new MRMALine(getCtx(), line.getM_RMALine_ID(), get_TrxName());
if(rmaLine.getM_InOutLine_ID()>0){ if(rmaLine.getM_InOutLine_ID()>0){
MInOutLineMA shipmentMAS[] = MInOutLineMA.get(getCtx(), rmaLine.getM_InOutLine_ID(), get_TrxName()); //retrieving ASI which is not already returned
MInOutLineMA shipmentMAS[] = MInOutLineMA.getNonReturned(getCtx(), rmaLine.getM_InOutLine_ID(), get_TrxName());
for(MInOutLineMA sMA : shipmentMAS){ for(MInOutLineMA sMA : shipmentMAS){
BigDecimal lineMAQty = qtyToReturn; BigDecimal lineMAQty = qtyToReturn;
if(lineMAQty.compareTo(sMA.getMovementQty())>0){ BigDecimal qtyReturnable = (BigDecimal)sMA.get_Value(MInOutLineMA.COLUMNNAME_ReturnedQty);
lineMAQty = sMA.getMovementQty(); if(lineMAQty.compareTo(qtyReturnable)>0){
lineMAQty = qtyReturnable;
} }
MInOutLineMA ma = MInOutLineMA.addOrCreate(line, sMA.getM_AttributeSetInstance_ID(), lineMAQty, sMA.getDateMaterialPolicy()); MInOutLineMA ma = MInOutLineMA.addOrCreate(line, sMA.getM_AttributeSetInstance_ID(), lineMAQty, sMA.getDateMaterialPolicy(),true);
ma.saveEx(); ma.saveEx();
qtyToReturn = qtyToReturn.subtract(lineMAQty); qtyToReturn = qtyToReturn.subtract(lineMAQty);
@ -1818,7 +1834,7 @@ public class MInOut extends X_M_InOut implements DocAction
} }
if(qtyToReturn.compareTo(Env.ZERO)>0){ if(qtyToReturn.compareTo(Env.ZERO)>0){
//Use movement data for Material policy if no linkage found to Shipment. //Use movement data for Material policy if no linkage found to Shipment.
MInOutLineMA ma = MInOutLineMA.addOrCreate(line, 0, qtyToReturn, getMovementDate()); MInOutLineMA ma = MInOutLineMA.addOrCreate(line, 0, qtyToReturn, getMovementDate(),true);
ma.saveEx(); ma.saveEx();
} }
} }
@ -1829,14 +1845,14 @@ public class MInOut extends X_M_InOut implements DocAction
Timestamp minGuaranteeDate = getMovementDate(); Timestamp minGuaranteeDate = getMovementDate();
MStorageOnHand[] storages = MStorageOnHand.getWarehouse(getCtx(), getM_Warehouse_ID(), line.getM_Product_ID(), line.getM_AttributeSetInstance_ID(), MStorageOnHand[] storages = MStorageOnHand.getWarehouse(getCtx(), getM_Warehouse_ID(), line.getM_Product_ID(), line.getM_AttributeSetInstance_ID(),
minGuaranteeDate, MClient.MMPOLICY_FiFo.equals(MMPolicy), true, line.getM_Locator_ID(), get_TrxName(), true); minGuaranteeDate, MClient.MMPOLICY_FiFo.equals(MMPolicy), true, line.getM_Locator_ID(), get_TrxName(), true);
BigDecimal qtyToDeliver = line.getMovementQty(); BigDecimal qtyToDeliver = qty;
for (MStorageOnHand storage: storages) for (MStorageOnHand storage: storages)
{ {
if (storage.getQtyOnHand().compareTo(qtyToDeliver) >= 0) if (storage.getQtyOnHand().compareTo(qtyToDeliver) >= 0)
{ {
MInOutLineMA ma = new MInOutLineMA (line, MInOutLineMA ma = new MInOutLineMA (line,
storage.getM_AttributeSetInstance_ID(), storage.getM_AttributeSetInstance_ID(),
qtyToDeliver,storage.getDateMaterialPolicy()); qtyToDeliver,storage.getDateMaterialPolicy(),true);
ma.saveEx(); ma.saveEx();
qtyToDeliver = Env.ZERO; qtyToDeliver = Env.ZERO;
} }
@ -1844,7 +1860,7 @@ public class MInOut extends X_M_InOut implements DocAction
{ {
MInOutLineMA ma = new MInOutLineMA (line, MInOutLineMA ma = new MInOutLineMA (line,
storage.getM_AttributeSetInstance_ID(), storage.getM_AttributeSetInstance_ID(),
storage.getQtyOnHand(),storage.getDateMaterialPolicy()); storage.getQtyOnHand(),storage.getDateMaterialPolicy(),true);
ma.saveEx(); ma.saveEx();
qtyToDeliver = qtyToDeliver.subtract(storage.getQtyOnHand()); qtyToDeliver = qtyToDeliver.subtract(storage.getQtyOnHand());
if (log.isLoggable(Level.FINE)) log.fine( ma + ", QtyToDeliver=" + qtyToDeliver); if (log.isLoggable(Level.FINE)) log.fine( ma + ", QtyToDeliver=" + qtyToDeliver);
@ -1857,7 +1873,7 @@ public class MInOut extends X_M_InOut implements DocAction
if (qtyToDeliver.signum() != 0) if (qtyToDeliver.signum() != 0)
{ {
//Over Delivery //Over Delivery
MInOutLineMA ma = MInOutLineMA.addOrCreate(line, line.getM_AttributeSetInstance_ID(), qtyToDeliver, getMovementDate()); MInOutLineMA ma = MInOutLineMA.addOrCreate(line, line.getM_AttributeSetInstance_ID(), qtyToDeliver, getMovementDate(),true);
ma.saveEx(); ma.saveEx();
if (log.isLoggable(Level.FINE)) log.fine("##: " + ma); if (log.isLoggable(Level.FINE)) log.fine("##: " + ma);
} }
@ -1870,12 +1886,11 @@ public class MInOut extends X_M_InOut implements DocAction
} }
} // checkMaterialPolicy } // checkMaterialPolicy
private BigDecimal autoBalanceNegative(MInOutLine line, MProduct product) { private BigDecimal autoBalanceNegative(MInOutLine line, MProduct product,BigDecimal qtyToReceive) {
MStorageOnHand[] storages = MStorageOnHand.getWarehouseNegative(getCtx(), getM_Warehouse_ID(), line.getM_Product_ID(), 0, MStorageOnHand[] storages = MStorageOnHand.getWarehouseNegative(getCtx(), getM_Warehouse_ID(), line.getM_Product_ID(), 0,
null, MClient.MMPOLICY_FiFo.equals(product.getMMPolicy()), line.getM_Locator_ID(), get_TrxName(), true); null, MClient.MMPOLICY_FiFo.equals(product.getMMPolicy()), line.getM_Locator_ID(), get_TrxName(), true);
Timestamp dateMPolicy = null; Timestamp dateMPolicy = null;
BigDecimal qtyToReceive = line.getMovementQty();
for (MStorageOnHand storage : storages) for (MStorageOnHand storage : storages)
{ {
@ -1887,7 +1902,7 @@ public class MInOut extends X_M_InOut implements DocAction
lineMAQty = storage.getQtyOnHand().negate(); lineMAQty = storage.getQtyOnHand().negate();
//Using ASI from storage record //Using ASI from storage record
MInOutLineMA ma = new MInOutLineMA (line, storage.getM_AttributeSetInstance_ID(), lineMAQty,dateMPolicy); MInOutLineMA ma = new MInOutLineMA (line, storage.getM_AttributeSetInstance_ID(), lineMAQty,dateMPolicy,true);
ma.saveEx(); ma.saveEx();
qtyToReceive = qtyToReceive.subtract(lineMAQty); qtyToReceive = qtyToReceive.subtract(lineMAQty);
} }
@ -2177,7 +2192,7 @@ public class MInOut extends X_M_InOut implements DocAction
{ {
MInOutLineMA ma = new MInOutLineMA (rLine, MInOutLineMA ma = new MInOutLineMA (rLine,
mas[j].getM_AttributeSetInstance_ID(), mas[j].getM_AttributeSetInstance_ID(),
mas[j].getMovementQty().negate(),mas[j].getDateMaterialPolicy()); mas[j].getMovementQty().negate(),mas[j].getDateMaterialPolicy(),true);
ma.saveEx(); ma.saveEx();
} }
} }

View File

@ -17,11 +17,17 @@
package org.compiere.model; package org.compiere.model;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.sql.PreparedStatement;
import java.sql.ResultSet; import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Properties; import java.util.Properties;
import java.util.logging.Level;
import org.adempiere.exceptions.AdempiereException;
import org.compiere.util.CLogger;
import org.compiere.util.DB; import org.compiere.util.DB;
import org.compiere.util.Env; import org.compiere.util.Env;
import org.compiere.util.Util; import org.compiere.util.Util;
@ -39,6 +45,10 @@ public class MInOutLineMA extends X_M_InOutLineMA
*/ */
private static final long serialVersionUID = -3229418883339488380L; private static final long serialVersionUID = -3229418883339488380L;
/** Log */
private static CLogger s_log = CLogger.getCLogger (MInOutLineMA.class);
public static String COLUMNNAME_ReturnedQty ="returnedQty";
/** /**
* Get Material Allocations for Line * Get Material Allocations for Line
* @param ctx context * @param ctx context
@ -79,7 +89,7 @@ public class MInOutLineMA extends X_M_InOutLineMA
*/ */
public static int deleteInOutLineMA (int M_InOutLine_ID, String trxName) public static int deleteInOutLineMA (int M_InOutLine_ID, String trxName)
{ {
String sql = "DELETE FROM M_InOutLineMA ma WHERE ma.M_InOutLine_ID=?"; String sql = "DELETE FROM M_InOutLineMA ma WHERE ma.M_InOutLine_ID=? AND ma.IsAutoGenerated='Y'";
return DB.executeUpdate(sql, M_InOutLine_ID, trxName); return DB.executeUpdate(sql, M_InOutLine_ID, trxName);
} // deleteInOutLineMA } // deleteInOutLineMA
@ -119,6 +129,18 @@ public class MInOutLineMA extends X_M_InOutLineMA
* @param DateMaterialPolicy * @param DateMaterialPolicy
*/ */
public MInOutLineMA (MInOutLine parent, int M_AttributeSetInstance_ID, BigDecimal MovementQty,Timestamp DateMaterialPolicy) public MInOutLineMA (MInOutLine parent, int M_AttributeSetInstance_ID, BigDecimal MovementQty,Timestamp DateMaterialPolicy)
{
this (parent,M_AttributeSetInstance_ID,MovementQty,DateMaterialPolicy,true);
}
/**
* @param parent
* @param M_AttributeSetInstance_ID
* @param MovementQty
* @param DateMaterialPolicy
* @param isAutoGenerated
*/
public MInOutLineMA (MInOutLine parent, int M_AttributeSetInstance_ID, BigDecimal MovementQty,Timestamp DateMaterialPolicy,boolean isAutoGenerated)
{ {
this (parent.getCtx(), 0, parent.get_TrxName()); this (parent.getCtx(), 0, parent.get_TrxName());
setClientOrg(parent); setClientOrg(parent);
@ -139,6 +161,7 @@ public class MInOutLineMA extends X_M_InOutLineMA
} }
} }
setDateMaterialPolicy(DateMaterialPolicy); setDateMaterialPolicy(DateMaterialPolicy);
setIsAutoGenerated(isAutoGenerated);
} // MInOutLineMA } // MInOutLineMA
@Override @Override
@ -162,16 +185,106 @@ public class MInOutLineMA extends X_M_InOutLineMA
return sb.toString (); return sb.toString ();
} // toString } // toString
public static MInOutLineMA addOrCreate(MInOutLine line, int M_AttributeSetInstance_ID, BigDecimal MovementQty, Timestamp DateMaterialPolicy) public static MInOutLineMA addOrCreate(MInOutLine line, int M_AttributeSetInstance_ID, BigDecimal MovementQty, Timestamp DateMaterialPolicy){
return addOrCreate(line,M_AttributeSetInstance_ID,MovementQty,DateMaterialPolicy,true);
}
public static MInOutLineMA addOrCreate(MInOutLine line, int M_AttributeSetInstance_ID, BigDecimal MovementQty, Timestamp DateMaterialPolicy,boolean isAutoGenerated)
{ {
Query query = new Query(Env.getCtx(), I_M_InOutLineMA.Table_Name, "M_InOutLine_ID=? AND M_AttributeSetInstance_ID=? AND DateMaterialPolicy=trunc(cast(? as date))", Query query = new Query(Env.getCtx(), I_M_InOutLineMA.Table_Name, "M_InOutLine_ID=? AND M_AttributeSetInstance_ID=? AND DateMaterialPolicy=trunc(cast(? as date))",
line.get_TrxName()); line.get_TrxName());
MInOutLineMA po = query.setParameters(line.getM_InOutLine_ID(), M_AttributeSetInstance_ID, DateMaterialPolicy).first(); MInOutLineMA po = query.setParameters(line.getM_InOutLine_ID(), M_AttributeSetInstance_ID, DateMaterialPolicy).first();
if (po == null) if (po == null)
po = new MInOutLineMA(line, M_AttributeSetInstance_ID, MovementQty, DateMaterialPolicy); po = new MInOutLineMA(line, M_AttributeSetInstance_ID, MovementQty, DateMaterialPolicy,isAutoGenerated);
else else
po.setMovementQty(po.getMovementQty().add(MovementQty)); po.setMovementQty(po.getMovementQty().add(MovementQty));
return po; return po;
} }
/**
* Total qty on LineMA for M_InoutLine
* @param M_InOutLine_ID
* @param trxName
* @return
*/
public static BigDecimal getManualQty (int M_InOutLine_ID, String trxName)
{
String sql = "SELECT SUM(movementqty) FROM M_InOutLineMA ma WHERE ma.M_InOutLine_ID=? AND ma.IsAutoGenerated='N'";
BigDecimal totalQty = DB.getSQLValueBD(trxName, sql, M_InOutLine_ID);
return totalQty==null?Env.ZERO:totalQty;
} //totalLineQty
/**
* Get Material Allocations from shipment which is not returned
* @param ctx context
* @param M_InOutLine_ID line
* @param trxName trx
* @return allocations
*/
public static MInOutLineMA[] getNonReturned (Properties ctx, int M_InOutLine_ID, String trxName)
{
String sql = "SELECT * FROM M_InoutLineMA_Returned WHERE (returnedQty<>movementQty or returnedQty is null) and m_inoutline_id=? ";
PreparedStatement pstmt = null;
ResultSet rs = null;
ArrayList<MInOutLineMA> list = new ArrayList<MInOutLineMA>();
try
{
pstmt = DB.prepareStatement(sql, trxName);
pstmt.setInt(1, M_InOutLine_ID);
rs = pstmt.executeQuery();
while (rs.next())
{
MInOutLineMA lineMA = new MInOutLineMA(ctx, rs, trxName);
lineMA.set_Value(COLUMNNAME_ReturnedQty, rs.getBigDecimal(COLUMNNAME_ReturnedQty));
list.add(lineMA);
}
}catch (SQLException ex)
{
s_log.log(Level.SEVERE, sql, ex);
throw new AdempiereException(ex.getLocalizedMessage(),ex);
}finally
{
DB.close(rs, pstmt);
rs = null; pstmt = null;
}
MInOutLineMA[] retValue = new MInOutLineMA[list.size ()];
list.toArray (retValue);
return retValue;
} // getNonReturned
/**************************************************************************
* Before Save
* @param newRecord new
* @return save
*/
protected boolean beforeSave (boolean newRecord)
{
//Set DateMaterialPolicy
if(is_ValueChanged(COLUMNNAME_M_AttributeSetInstance_ID)){
//TODO Require testing for all scenario
I_M_InOutLine line = getM_InOutLine();
Timestamp dateMPolicy = null;
if(getM_AttributeSetInstance_ID()>0)
{
dateMPolicy = getM_AttributeSetInstance().getCreated();
}
if(dateMPolicy == null)
{
I_M_InOut inout = line.getM_InOut();
dateMPolicy = inout.getMovementDate();
}
setDateMaterialPolicy(dateMPolicy);
}
return true;
} //beforeSave
} // MInOutLineMA } // MInOutLineMA

View File

@ -433,9 +433,22 @@ public class MInventory extends X_M_Inventory implements DocAction
continue; continue;
//Ignore the Material Policy when is Reverse Correction //Ignore the Material Policy when is Reverse Correction
if(!isReversal()) if(!isReversal()){
checkMaterialPolicy(line, qtyDiff); BigDecimal qtyOnLineMA = MInventoryLineMA.getManualQty(line.getM_InventoryLine_ID(), get_TrxName());
if(qtyDiff.signum()<0){
if(qtyOnLineMA.compareTo(qtyDiff)<0){
m_processMsg = "@Over_Qty_On_Attribute_Tab@ " + line.getLine();
return DOCSTATUS_Invalid;
}
}else{
if(qtyOnLineMA.compareTo(qtyDiff)>0){
m_processMsg = "@Over_Qty_On_Attribute_Tab@ " + line.getLine();
return DOCSTATUS_Invalid;
}
}
checkMaterialPolicy(line, qtyDiff.subtract(qtyOnLineMA));
}
// Stock Movement - Counterpart MOrder.reserveStock // Stock Movement - Counterpart MOrder.reserveStock
if (product != null if (product != null
&& product.isStocked() ) && product.isStocked() )
@ -595,10 +608,14 @@ public class MInventory extends X_M_Inventory implements DocAction
*/ */
private void checkMaterialPolicy(MInventoryLine line, BigDecimal qtyDiff) private void checkMaterialPolicy(MInventoryLine line, BigDecimal qtyDiff)
{ {
int no = MInventoryLineMA.deleteInventoryLineMA(line.getM_InventoryLine_ID(), get_TrxName()); int no = MInventoryLineMA.deleteInventoryLineMA(line.getM_InventoryLine_ID(), get_TrxName());
if (no > 0) if (no > 0)
if (log.isLoggable(Level.CONFIG)) log.config("Delete old #" + no); if (log.isLoggable(Level.CONFIG)) log.config("Delete old #" + no);
if(qtyDiff.compareTo(Env.ZERO)==0)
return;
// Check Line // Check Line
boolean needSave = false; boolean needSave = false;
// Attribute Set Instance // Attribute Set Instance
@ -621,7 +638,7 @@ public class MInventory extends X_M_Inventory implements DocAction
} }
//backward compatibility: -ve in MA is incoming trx, +ve in MA is outgoing trx //backward compatibility: -ve in MA is incoming trx, +ve in MA is outgoing trx
MInventoryLineMA lineMA = new MInventoryLineMA(line, storage.getM_AttributeSetInstance_ID(), maQty.negate(), storage.getDateMaterialPolicy()); MInventoryLineMA lineMA = new MInventoryLineMA(line, storage.getM_AttributeSetInstance_ID(), maQty.negate(), storage.getDateMaterialPolicy(),true);
lineMA.saveEx(); lineMA.saveEx();
qtyDiff = qtyDiff.subtract(maQty); qtyDiff = qtyDiff.subtract(maQty);
@ -632,7 +649,7 @@ public class MInventory extends X_M_Inventory implements DocAction
if(qtyDiff.compareTo(Env.ZERO)>0) if(qtyDiff.compareTo(Env.ZERO)>0)
{ {
MInventoryLineMA lineMA = MInventoryLineMA.addOrCreate(line, 0, qtyDiff.negate(), getMovementDate()); MInventoryLineMA lineMA = MInventoryLineMA.addOrCreate(line, 0, qtyDiff.negate(), getMovementDate(),true);
lineMA.saveEx(); lineMA.saveEx();
} }
} }
@ -649,7 +666,7 @@ public class MInventory extends X_M_Inventory implements DocAction
{ {
MInventoryLineMA ma = new MInventoryLineMA (line, MInventoryLineMA ma = new MInventoryLineMA (line,
storage.getM_AttributeSetInstance_ID(), storage.getM_AttributeSetInstance_ID(),
qtyToDeliver,storage.getDateMaterialPolicy()); qtyToDeliver,storage.getDateMaterialPolicy(),true);
ma.saveEx(); ma.saveEx();
qtyToDeliver = Env.ZERO; qtyToDeliver = Env.ZERO;
if (log.isLoggable(Level.FINE)) log.fine( ma + ", QtyToDeliver=" + qtyToDeliver); if (log.isLoggable(Level.FINE)) log.fine( ma + ", QtyToDeliver=" + qtyToDeliver);
@ -658,7 +675,7 @@ public class MInventory extends X_M_Inventory implements DocAction
{ {
MInventoryLineMA ma = new MInventoryLineMA (line, MInventoryLineMA ma = new MInventoryLineMA (line,
storage.getM_AttributeSetInstance_ID(), storage.getM_AttributeSetInstance_ID(),
storage.getQtyOnHand(),storage.getDateMaterialPolicy()); storage.getQtyOnHand(),storage.getDateMaterialPolicy(),true);
ma.saveEx(); ma.saveEx();
qtyToDeliver = qtyToDeliver.subtract(storage.getQtyOnHand()); qtyToDeliver = qtyToDeliver.subtract(storage.getQtyOnHand());
if (log.isLoggable(Level.FINE)) log.fine( ma + ", QtyToDeliver=" + qtyToDeliver); if (log.isLoggable(Level.FINE)) log.fine( ma + ", QtyToDeliver=" + qtyToDeliver);
@ -670,7 +687,7 @@ public class MInventory extends X_M_Inventory implements DocAction
// No AttributeSetInstance found for remainder // No AttributeSetInstance found for remainder
if (qtyToDeliver.signum() != 0) if (qtyToDeliver.signum() != 0)
{ {
MInventoryLineMA lineMA = MInventoryLineMA.addOrCreate(line, 0, qtyToDeliver, getMovementDate()); MInventoryLineMA lineMA = MInventoryLineMA.addOrCreate(line, 0, qtyToDeliver, getMovementDate(),true);
lineMA.saveEx(); lineMA.saveEx();
if (log.isLoggable(Level.FINE)) log.fine("##: " + lineMA); if (log.isLoggable(Level.FINE)) log.fine("##: " + lineMA);
} }
@ -859,7 +876,7 @@ public class MInventory extends X_M_Inventory implements DocAction
{ {
MInventoryLineMA ma = new MInventoryLineMA (rLine, MInventoryLineMA ma = new MInventoryLineMA (rLine,
mas[j].getM_AttributeSetInstance_ID(), mas[j].getM_AttributeSetInstance_ID(),
mas[j].getMovementQty().negate(),mas[j].getDateMaterialPolicy()); mas[j].getMovementQty().negate(),mas[j].getDateMaterialPolicy(),true);
ma.saveEx(); ma.saveEx();
} }
} }

View File

@ -104,7 +104,7 @@ public class MInventoryLineMA extends X_M_InventoryLineMA
{ {
StringBuilder sql = new StringBuilder("DELETE FROM M_InventoryLineMA ma WHERE EXISTS ") StringBuilder sql = new StringBuilder("DELETE FROM M_InventoryLineMA ma WHERE EXISTS ")
.append("(SELECT * FROM M_InventoryLine l WHERE l.M_InventoryLine_ID=ma.M_InventoryLine_ID") .append("(SELECT * FROM M_InventoryLine l WHERE l.M_InventoryLine_ID=ma.M_InventoryLine_ID")
.append(" AND M_InventoryLine_ID=").append(M_InventoryLine_ID).append(")"); .append(" AND M_InventoryLine_ID=").append(M_InventoryLine_ID).append(") AND ma.IsAutoGenerated='Y'");
return DB.executeUpdate(sql.toString(), trxName); return DB.executeUpdate(sql.toString(), trxName);
} // deleteInventoryMA } // deleteInventoryMA
@ -144,6 +144,18 @@ public class MInventoryLineMA extends X_M_InventoryLineMA
* @param DateMaterialPolicy * @param DateMaterialPolicy
*/ */
public MInventoryLineMA (MInventoryLine parent, int M_AttributeSetInstance_ID, BigDecimal MovementQty,Timestamp DateMaterialPolicy) public MInventoryLineMA (MInventoryLine parent, int M_AttributeSetInstance_ID, BigDecimal MovementQty,Timestamp DateMaterialPolicy)
{
this(parent,M_AttributeSetInstance_ID,MovementQty,DateMaterialPolicy,true);
}
/**
* @param parent
* @param M_AttributeSetInstance_ID
* @param MovementQty
* @param DateMaterialPolicy
* @param isAutoGenerated
*/
public MInventoryLineMA (MInventoryLine parent, int M_AttributeSetInstance_ID, BigDecimal MovementQty,Timestamp DateMaterialPolicy,boolean isAutoGenerated)
{ {
this (parent.getCtx(), 0, parent.get_TrxName()); this (parent.getCtx(), 0, parent.get_TrxName());
setClientOrg(parent); setClientOrg(parent);
@ -164,6 +176,7 @@ public class MInventoryLineMA extends X_M_InventoryLineMA
} }
} }
setDateMaterialPolicy(DateMaterialPolicy); setDateMaterialPolicy(DateMaterialPolicy);
setIsAutoGenerated(isAutoGenerated);
} // MInventoryLineMA } // MInventoryLineMA
@Override @Override
@ -187,15 +200,62 @@ public class MInventoryLineMA extends X_M_InventoryLineMA
return sb.toString (); return sb.toString ();
} // toString } // toString
public static MInventoryLineMA addOrCreate(MInventoryLine line, int M_AttributeSetInstance_ID, BigDecimal MovementQty, Timestamp DateMaterialPolicy)
public static MInventoryLineMA addOrCreate(MInventoryLine line, int M_AttributeSetInstance_ID, BigDecimal MovementQty, Timestamp DateMaterialPolicy){
return addOrCreate(line, M_AttributeSetInstance_ID, MovementQty,DateMaterialPolicy,true);
}
public static MInventoryLineMA addOrCreate(MInventoryLine line, int M_AttributeSetInstance_ID, BigDecimal MovementQty, Timestamp DateMaterialPolicy,boolean isAutoGenerated)
{ {
Query query = new Query(Env.getCtx(), I_M_InventoryLineMA.Table_Name, "M_InventoryLine_ID=? AND M_AttributeSetInstance_ID=? AND DateMaterialPolicy=trunc(cast(? as date))", Query query = new Query(Env.getCtx(), I_M_InventoryLineMA.Table_Name, "M_InventoryLine_ID=? AND M_AttributeSetInstance_ID=? AND DateMaterialPolicy=trunc(cast(? as date))",
line.get_TrxName()); line.get_TrxName());
MInventoryLineMA po = query.setParameters(line.getM_InventoryLine_ID(), M_AttributeSetInstance_ID, DateMaterialPolicy).first(); MInventoryLineMA po = query.setParameters(line.getM_InventoryLine_ID(), M_AttributeSetInstance_ID, DateMaterialPolicy).first();
if (po == null) if (po == null)
po = new MInventoryLineMA(line, M_AttributeSetInstance_ID, MovementQty, DateMaterialPolicy); po = new MInventoryLineMA(line, M_AttributeSetInstance_ID, MovementQty, DateMaterialPolicy,isAutoGenerated);
else else
po.setMovementQty(po.getMovementQty().add(MovementQty)); po.setMovementQty(po.getMovementQty().add(MovementQty));
return po; return po;
} }
/**
*
* @param M_MovementLine_ID
* @param trxName
* @return
*/
public static BigDecimal getManualQty (int M_MovementLine_ID, String trxName)
{
String sql = "SELECT SUM(movementqty) FROM M_InventoryLineMA ma WHERE ma.M_InventoryLine_ID=? AND IsAutoGenerated='N'";
BigDecimal totalQty = DB.getSQLValueBD(trxName, sql, M_MovementLine_ID);
return totalQty==null?Env.ZERO:totalQty.negate();
} //totalLineQty
/**************************************************************************
* Before Save
* @param newRecord new
* @return save
*/
protected boolean beforeSave (boolean newRecord)
{
//Set DateMaterialPolicy
if(is_ValueChanged(COLUMNNAME_M_AttributeSetInstance_ID)){
I_M_InventoryLine line = getM_InventoryLine();
Timestamp dateMPolicy = null;
if(getM_AttributeSetInstance_ID()>0)
{
dateMPolicy = getM_AttributeSetInstance().getCreated();
}
if(dateMPolicy == null)
{
I_M_Inventory inventory = line.getM_Inventory();
dateMPolicy = inventory.getMovementDate();
}
setDateMaterialPolicy(dateMPolicy);
}
return true;
} //beforeSave
} // MInventoryLineMA } // MInventoryLineMA

View File

@ -389,8 +389,20 @@ public class MMovement extends X_M_Movement implements DocAction
&& product.isStocked() ) && product.isStocked() )
{ {
//Ignore the Material Policy when is Reverse Correction //Ignore the Material Policy when is Reverse Correction
if(!isReversal()) if(!isReversal()){
checkMaterialPolicy(line); BigDecimal qtyOnLineMA = MMovementLineMA.getManualQty(line.getM_MovementLine_ID(), get_TrxName());
BigDecimal movementQty = line.getMovementQty();
if(qtyOnLineMA.compareTo(movementQty)>0)
{
// More then line qty on attribute tab for line 10
m_processMsg = "@Over_Qty_On_Attribute_Tab@ " + line.getLine();
return DOCSTATUS_Invalid;
}
checkMaterialPolicy(line,movementQty.subtract(qtyOnLineMA));
}
if (line.getM_AttributeSetInstance_ID() == 0) if (line.getM_AttributeSetInstance_ID() == 0)
{ {
@ -548,23 +560,27 @@ public class MMovement extends X_M_Movement implements DocAction
* Check Material Policy * Check Material Policy
* Sets line ASI * Sets line ASI
*/ */
private void checkMaterialPolicy(MMovementLine line) private void checkMaterialPolicy(MMovementLine line,BigDecimal qtyToDeliver)
{ {
int no = MMovementLineMA.deleteMovementLineMA(line.getM_MovementLine_ID(), get_TrxName()); int no = MMovementLineMA.deleteMovementLineMA(line.getM_MovementLine_ID(), get_TrxName());
if (no > 0) if (no > 0)
if (log.isLoggable(Level.CONFIG)) log.config("Delete old #" + no); if (log.isLoggable(Level.CONFIG)) log.config("Delete old #" + no);
if(Env.ZERO.compareTo(qtyToDeliver)==0)
return;
boolean needSave = false; boolean needSave = false;
// Attribute Set Instance // Attribute Set Instance
if (line.getM_AttributeSetInstance_ID() == 0) if (line.getM_AttributeSetInstance_ID() == 0)
{ {
MProduct product = MProduct.get(getCtx(), line.getM_Product_ID()); MProduct product = MProduct.get(getCtx(), line.getM_Product_ID());
String MMPolicy = product.getMMPolicy(); String MMPolicy = product.getMMPolicy();
MStorageOnHand[] storages = MStorageOnHand.getWarehouse(getCtx(), 0, line.getM_Product_ID(), 0, MStorageOnHand[] storages = MStorageOnHand.getWarehouse(getCtx(), 0, line.getM_Product_ID(), 0,
null, MClient.MMPOLICY_FiFo.equals(MMPolicy), true, line.getM_Locator_ID(), get_TrxName()); null, MClient.MMPOLICY_FiFo.equals(MMPolicy), true, line.getM_Locator_ID(), get_TrxName());
BigDecimal qtyToDeliver = line.getMovementQty();
for (MStorageOnHand storage: storages) for (MStorageOnHand storage: storages)
{ {
@ -572,7 +588,7 @@ public class MMovement extends X_M_Movement implements DocAction
{ {
MMovementLineMA ma = new MMovementLineMA (line, MMovementLineMA ma = new MMovementLineMA (line,
storage.getM_AttributeSetInstance_ID(), storage.getM_AttributeSetInstance_ID(),
qtyToDeliver,storage.getDateMaterialPolicy()); qtyToDeliver,storage.getDateMaterialPolicy(),true);
ma.saveEx(); ma.saveEx();
qtyToDeliver = Env.ZERO; qtyToDeliver = Env.ZERO;
if (log.isLoggable(Level.FINE)) log.fine( ma + ", QtyToDeliver=" + qtyToDeliver); if (log.isLoggable(Level.FINE)) log.fine( ma + ", QtyToDeliver=" + qtyToDeliver);
@ -581,7 +597,7 @@ public class MMovement extends X_M_Movement implements DocAction
{ {
MMovementLineMA ma = new MMovementLineMA (line, MMovementLineMA ma = new MMovementLineMA (line,
storage.getM_AttributeSetInstance_ID(), storage.getM_AttributeSetInstance_ID(),
storage.getQtyOnHand(),storage.getDateMaterialPolicy()); storage.getQtyOnHand(),storage.getDateMaterialPolicy(),true);
ma.saveEx(); ma.saveEx();
qtyToDeliver = qtyToDeliver.subtract(storage.getQtyOnHand()); qtyToDeliver = qtyToDeliver.subtract(storage.getQtyOnHand());
if (log.isLoggable(Level.FINE)) log.fine( ma + ", QtyToDeliver=" + qtyToDeliver); if (log.isLoggable(Level.FINE)) log.fine( ma + ", QtyToDeliver=" + qtyToDeliver);
@ -593,7 +609,7 @@ public class MMovement extends X_M_Movement implements DocAction
// No AttributeSetInstance found for remainder // No AttributeSetInstance found for remainder
if (qtyToDeliver.signum() != 0) if (qtyToDeliver.signum() != 0)
{ {
MMovementLineMA ma = MMovementLineMA.addOrCreate(line, 0, qtyToDeliver, getMovementDate()) ; MMovementLineMA ma = MMovementLineMA.addOrCreate(line, 0, qtyToDeliver, getMovementDate(),true) ;
ma.saveEx(); ma.saveEx();
if (log.isLoggable(Level.FINE)) log.fine("##: " + ma); if (log.isLoggable(Level.FINE)) log.fine("##: " + ma);
@ -789,7 +805,7 @@ public class MMovement extends X_M_Movement implements DocAction
{ {
MMovementLineMA ma = new MMovementLineMA (rLine, MMovementLineMA ma = new MMovementLineMA (rLine,
mas[j].getM_AttributeSetInstance_ID(), mas[j].getM_AttributeSetInstance_ID(),
mas[j].getMovementQty().negate(),mas[j].getDateMaterialPolicy()); mas[j].getMovementQty().negate(),mas[j].getDateMaterialPolicy(),true);
ma.saveEx(); ma.saveEx();
} }
} }

View File

@ -104,8 +104,8 @@ public class MMovementLineMA extends X_M_MovementLineMA
*/ */
public static int deleteMovementLineMA (int M_MovementLine_ID, String trxName) public static int deleteMovementLineMA (int M_MovementLine_ID, String trxName)
{ {
String sql = "DELETE FROM M_MovementLineMA WHERE M_MovementLine_ID=" + M_MovementLine_ID; String sql = "DELETE FROM M_MovementLineMA WHERE M_MovementLine_ID=? AND IsAutoGenerated='Y' ";
return DB.executeUpdate(sql, trxName); return DB.executeUpdate(sql,M_MovementLine_ID ,trxName);
} // deleteMovementLineMA } // deleteMovementLineMA
/** Logger */ /** Logger */
@ -145,6 +145,18 @@ public class MMovementLineMA extends X_M_MovementLineMA
* @param DateMaterialPolicy * @param DateMaterialPolicy
*/ */
public MMovementLineMA (MMovementLine parent, int M_AttributeSetInstance_ID, BigDecimal MovementQty,Timestamp DateMaterialPolicy) public MMovementLineMA (MMovementLine parent, int M_AttributeSetInstance_ID, BigDecimal MovementQty,Timestamp DateMaterialPolicy)
{
this(parent,M_AttributeSetInstance_ID,MovementQty,DateMaterialPolicy,true);
}
/**
* @param parent
* @param M_AttributeSetInstance_ID
* @param MovementQty
* @param DateMaterialPolicy
* @param isAutoGenerated
*/
public MMovementLineMA (MMovementLine parent, int M_AttributeSetInstance_ID, BigDecimal MovementQty,Timestamp DateMaterialPolicy,boolean isAutoGenerated)
{ {
this (parent.getCtx(), 0, parent.get_TrxName()); this (parent.getCtx(), 0, parent.get_TrxName());
setClientOrg(parent); setClientOrg(parent);
@ -165,6 +177,7 @@ public class MMovementLineMA extends X_M_MovementLineMA
} }
} }
setDateMaterialPolicy(DateMaterialPolicy); setDateMaterialPolicy(DateMaterialPolicy);
setIsAutoGenerated(isAutoGenerated);
} // MMovementLineMA } // MMovementLineMA
@Override @Override
@ -188,15 +201,66 @@ public class MMovementLineMA extends X_M_MovementLineMA
return sb.toString (); return sb.toString ();
} // toString } // toString
public static MMovementLineMA addOrCreate(MMovementLine line, int M_AttributeSetInstance_ID, BigDecimal MovementQty, Timestamp DateMaterialPolicy) public static MMovementLineMA addOrCreate(MMovementLine line, int M_AttributeSetInstance_ID, BigDecimal MovementQty, Timestamp DateMaterialPolicy)
{
return addOrCreate(line,M_AttributeSetInstance_ID,MovementQty,DateMaterialPolicy,true);
}
public static MMovementLineMA addOrCreate(MMovementLine line, int M_AttributeSetInstance_ID, BigDecimal MovementQty, Timestamp DateMaterialPolicy,boolean isAutoGenerated)
{ {
Query query = new Query(Env.getCtx(), I_M_MovementLineMA.Table_Name, "M_MovementLine_ID=? AND M_AttributeSetInstance_ID=? AND DateMaterialPolicy=trunc(cast(? as date))", Query query = new Query(Env.getCtx(), I_M_MovementLineMA.Table_Name, "M_MovementLine_ID=? AND M_AttributeSetInstance_ID=? AND DateMaterialPolicy=trunc(cast(? as date))",
line.get_TrxName()); line.get_TrxName());
MMovementLineMA po = query.setParameters(line.getM_MovementLine_ID(), M_AttributeSetInstance_ID, DateMaterialPolicy).first(); MMovementLineMA po = query.setParameters(line.getM_MovementLine_ID(), M_AttributeSetInstance_ID, DateMaterialPolicy).first();
if (po == null) if (po == null)
po = new MMovementLineMA(line, M_AttributeSetInstance_ID, MovementQty, DateMaterialPolicy); po = new MMovementLineMA(line, M_AttributeSetInstance_ID, MovementQty, DateMaterialPolicy,isAutoGenerated);
else else
po.setMovementQty(po.getMovementQty().add(MovementQty)); po.setMovementQty(po.getMovementQty().add(MovementQty));
return po; return po;
} }
/**
*
* @param M_MovementLine_ID
* @param trxName
* @return
*/
public static BigDecimal getManualQty (int M_MovementLine_ID, String trxName)
{
String sql = "SELECT SUM(movementqty) FROM M_MovementLineMA ma WHERE ma.M_MovementLine_ID=? AND ma.IsAutoGenerated='N'";
BigDecimal totalQty = DB.getSQLValueBD(trxName, sql, M_MovementLine_ID);
return totalQty==null?Env.ZERO:totalQty;
} //totalLineQty
/**************************************************************************
* Before Save
* @param newRecord new
* @return save
*/
protected boolean beforeSave (boolean newRecord)
{
//Set DateMaterialPolicy
if(is_ValueChanged(COLUMNNAME_M_AttributeSetInstance_ID)){
I_M_MovementLine line = getM_MovementLine();
Timestamp dateMPolicy = null;
if(getM_AttributeSetInstance_ID()>0)
{
dateMPolicy = getM_AttributeSetInstance().getCreated();
}
if(dateMPolicy == null)
{
I_M_Movement movement = line.getM_Movement();
dateMPolicy = movement.getMovementDate();
}
setDateMaterialPolicy(dateMPolicy);
}
return true;
} //beforeSave
} // MMovementLineMA } // MMovementLineMA

View File

@ -1008,4 +1008,40 @@ public class MStorageOnHand extends X_M_StorageOnHand
return sb.toString(); return sb.toString();
} // toString } // toString
/**
*
* @param M_Product_ID
* @param M_AttributeSetInstance_ID
* @return
*/
public static Timestamp getDateMaterialPolicy(int M_Product_ID, int M_AttributeSetInstance_ID,String trxName){
String sql = "SELECT dateMaterialPolicy FROM M_StorageOnHand WHERE M_Product_ID=? and M_AttributeSetInstance_ID=?";
PreparedStatement pstmt = null;
ResultSet rs = null;
try
{
pstmt = DB.prepareStatement(sql, trxName);
pstmt.setInt(1, M_Product_ID);
pstmt.setInt(2, M_AttributeSetInstance_ID);
rs = pstmt.executeQuery();
if (rs.next())
{
return rs.getTimestamp(1);
}
}catch (SQLException ex)
{
s_log.log(Level.SEVERE, sql, ex);
}finally
{
DB.close(rs, pstmt);
rs = null; pstmt = null;
}
return null;
} //getDateMaterialPolicy
} // MStorageOnHand } // MStorageOnHand

View File

@ -33,7 +33,7 @@ public class X_M_InOutLineMA extends PO implements I_M_InOutLineMA, I_Persistent
/** /**
* *
*/ */
private static final long serialVersionUID = 20131031L; private static final long serialVersionUID = 20140508L;
/** Standard Constructor */ /** Standard Constructor */
public X_M_InOutLineMA (Properties ctx, int M_InOutLineMA_ID, String trxName) public X_M_InOutLineMA (Properties ctx, int M_InOutLineMA_ID, String trxName)
@ -92,6 +92,27 @@ public class X_M_InOutLineMA extends PO implements I_M_InOutLineMA, I_Persistent
return (Timestamp)get_Value(COLUMNNAME_DateMaterialPolicy); return (Timestamp)get_Value(COLUMNNAME_DateMaterialPolicy);
} }
/** Set Auto Generated.
@param IsAutoGenerated Auto Generated */
public void setIsAutoGenerated (boolean IsAutoGenerated)
{
set_ValueNoCheck (COLUMNNAME_IsAutoGenerated, Boolean.valueOf(IsAutoGenerated));
}
/** Get Auto Generated.
@return Auto Generated */
public boolean isAutoGenerated ()
{
Object oo = get_Value(COLUMNNAME_IsAutoGenerated);
if (oo != null)
{
if (oo instanceof Boolean)
return ((Boolean)oo).booleanValue();
return "Y".equals(oo);
}
return false;
}
public I_M_AttributeSetInstance getM_AttributeSetInstance() throws RuntimeException public I_M_AttributeSetInstance getM_AttributeSetInstance() throws RuntimeException
{ {
return (I_M_AttributeSetInstance)MTable.get(getCtx(), I_M_AttributeSetInstance.Table_Name) return (I_M_AttributeSetInstance)MTable.get(getCtx(), I_M_AttributeSetInstance.Table_Name)

View File

@ -33,7 +33,7 @@ public class X_M_InventoryLineMA extends PO implements I_M_InventoryLineMA, I_Pe
/** /**
* *
*/ */
private static final long serialVersionUID = 20131031L; private static final long serialVersionUID = 20140508L;
/** Standard Constructor */ /** Standard Constructor */
public X_M_InventoryLineMA (Properties ctx, int M_InventoryLineMA_ID, String trxName) public X_M_InventoryLineMA (Properties ctx, int M_InventoryLineMA_ID, String trxName)
@ -92,6 +92,27 @@ public class X_M_InventoryLineMA extends PO implements I_M_InventoryLineMA, I_Pe
return (Timestamp)get_Value(COLUMNNAME_DateMaterialPolicy); return (Timestamp)get_Value(COLUMNNAME_DateMaterialPolicy);
} }
/** Set Auto Generated.
@param IsAutoGenerated Auto Generated */
public void setIsAutoGenerated (boolean IsAutoGenerated)
{
set_ValueNoCheck (COLUMNNAME_IsAutoGenerated, Boolean.valueOf(IsAutoGenerated));
}
/** Get Auto Generated.
@return Auto Generated */
public boolean isAutoGenerated ()
{
Object oo = get_Value(COLUMNNAME_IsAutoGenerated);
if (oo != null)
{
if (oo instanceof Boolean)
return ((Boolean)oo).booleanValue();
return "Y".equals(oo);
}
return false;
}
public I_M_AttributeSetInstance getM_AttributeSetInstance() throws RuntimeException public I_M_AttributeSetInstance getM_AttributeSetInstance() throws RuntimeException
{ {
return (I_M_AttributeSetInstance)MTable.get(getCtx(), I_M_AttributeSetInstance.Table_Name) return (I_M_AttributeSetInstance)MTable.get(getCtx(), I_M_AttributeSetInstance.Table_Name)

View File

@ -33,7 +33,7 @@ public class X_M_MovementLineMA extends PO implements I_M_MovementLineMA, I_Pers
/** /**
* *
*/ */
private static final long serialVersionUID = 20131031L; private static final long serialVersionUID = 20140508L;
/** Standard Constructor */ /** Standard Constructor */
public X_M_MovementLineMA (Properties ctx, int M_MovementLineMA_ID, String trxName) public X_M_MovementLineMA (Properties ctx, int M_MovementLineMA_ID, String trxName)
@ -91,6 +91,27 @@ public class X_M_MovementLineMA extends PO implements I_M_MovementLineMA, I_Pers
return (Timestamp)get_Value(COLUMNNAME_DateMaterialPolicy); return (Timestamp)get_Value(COLUMNNAME_DateMaterialPolicy);
} }
/** Set Auto Generated.
@param IsAutoGenerated Auto Generated */
public void setIsAutoGenerated (boolean IsAutoGenerated)
{
set_ValueNoCheck (COLUMNNAME_IsAutoGenerated, Boolean.valueOf(IsAutoGenerated));
}
/** Get Auto Generated.
@return Auto Generated */
public boolean isAutoGenerated ()
{
Object oo = get_Value(COLUMNNAME_IsAutoGenerated);
if (oo != null)
{
if (oo instanceof Boolean)
return ((Boolean)oo).booleanValue();
return "Y".equals(oo);
}
return false;
}
public I_M_AttributeSetInstance getM_AttributeSetInstance() throws RuntimeException public I_M_AttributeSetInstance getM_AttributeSetInstance() throws RuntimeException
{ {
return (I_M_AttributeSetInstance)MTable.get(getCtx(), I_M_AttributeSetInstance.Table_Name) return (I_M_AttributeSetInstance)MTable.get(getCtx(), I_M_AttributeSetInstance.Table_Name)