Log in / create account
View source | Discuss page | Page history | Printable version   
ADVERTISEMENT
Accounting eLearning Courses
Partnerships
SourceForge.net Logo
Openbravo ERP at SourceForge

SourceForge.net Logo
Openbravo POS at SourceForge

Open Solution Alliance Logo
Openbravo at Open Solution Alliance

Acceptance Testing/Edit products properties script PostgreSQL

CREATE OR REPLACE FUNCTION create_edit_products()
  RETURNS void AS
$BODY$ DECLARE

v_taxcategory_id numeric(10);
v_setattribute_id numeric(10);
v_client_id numeric(10);
v_categorytax_id numeric(10);

Cur_Rawmaterials RECORD;
Cur_Bom RECORD;
Cur_Finalgoods RECORD;
BEGIN

SELECT MAX(AD_CLIENT_ID) INTO v_client_id FROM AD_CLIENT;

/*
This script is a draft
The update will change all products, so if manual section of the testcase is
executed different from steps, running will overwrite differences

Task: Exclude "Raw Material A" from this script
*/
SELECT C_TAXCATEGORY_ID INTO v_categorytax_id FROM C_TAXCATEGORY WHERE   AD_CLIENT_ID=v_client_id AND NAME='VAT 10%';

FOR Cur_Rawmaterials IN (SELECT M_PRODUCT.M_PRODUCT_ID FROM M_PRODUCT,   M_PRODUCT_CATEGORY WHERE M_PRODUCT.M_PRODUCT_CATEGORY_ID =  M_PRODUCT_CATEGORY.M_PRODUCT_CATEGORY_ID AND M_PRODUCT_CATEGORY.value='RM') LOOP

SELECT M_ATTRIBUTESET_ID INTO v_setattribute_id FROM M_ATTRIBUTESET WHERE  NAME='Serial number' AND AD_CLIENT_ID=v_client_id;

UPDATE M_PRODUCT SET M_ATTRIBUTESET_ID=v_setattribute_id , ISPURCHASED='Y',  ISSOLD='N', C_TAXCATEGORY_ID=v_categorytax_id WHERE  M_PRODUCT_ID=Cur_Rawmaterials.m_product_id;

END LOOP;

SELECT M_ATTRIBUTESET_ID INTO v_setattribute_id FROM M_ATTRIBUTESET WHERE NAME='Lots' AND AD_CLIENT_ID=v_client_id;

FOR Cur_Bom IN (SELECT M_PRODUCT.M_PRODUCT_ID FROM M_PRODUCT,  M_PRODUCT_CATEGORY WHERE M_PRODUCT.M_PRODUCT_CATEGORY_ID =  M_PRODUCT_CATEGORY.M_PRODUCT_CATEGORY_ID AND M_PRODUCT_CATEGORY.value='BOM')LOOP

UPDATE M_PRODUCT SET M_ATTRIBUTESET_ID=v_setattribute_id , ISPURCHASED='N',  ISSOLD='N', ISBOM='Y', PRODUCTION='Y' WHERE M_PRODUCT_ID=Cur_Bom.m_product_id;

END LOOP;


SELECT C_TAXCATEGORY_ID INTO v_categorytax_id FROM C_TAXCATEGORY WHERE  AD_CLIENT_ID=v_client_id AND NAME='VAT 3%';
             
FOR Cur_Finalgoods IN (SELECT M_PRODUCT.M_PRODUCT_ID FROM M_PRODUCT,   M_PRODUCT_CATEGORY WHERE M_PRODUCT.M_PRODUCT_CATEGORY_ID =  M_PRODUCT_CATEGORY.M_PRODUCT_CATEGORY_ID AND M_PRODUCT_CATEGORY.value='FG') LOOP

UPDATE M_PRODUCT SET M_ATTRIBUTESET_ID=v_setattribute_id , ISPURCHASED='N',  ISSOLD='Y', ISBOM='N', PRODUCTION='Y', C_TAXCATEGORY_ID=v_categorytax_id WHERE  M_PRODUCT_ID=Cur_Finalgoods.m_product_id;

END LOOP;
     
END ; $BODY$
LANGUAGE 'plpgsql' VOLATILE;

SELECT create_edit_products();

drop function create_edit_products();

Retrieved from "http://wiki.openbravo.com/wiki/Acceptance_Testing/Edit_products_properties_script_PostgreSQL"

This page has been accessed 147 times. This page was last modified 19:00, 1 July 2008. Content is available under Creative Commons Attribution-ShareAlike 2.5 Spain License.