53 lines
2.0 KiB
SQL
53 lines
2.0 KiB
SQL
/**
|
|
* C_ElementValue_Check.sql
|
|
*
|
|
* For C_ElementValue create
|
|
* - Missing Translations
|
|
* - Missing ElementValue Tree Structure(s)
|
|
*/
|
|
BEGIN
|
|
DBMS_OUTPUT.PUT_LINE('Adding to ElementValue Tree');
|
|
DECLARE
|
|
CURSOR Cur_Tree IS
|
|
SELECT *
|
|
FROM C_Element WHERE AD_Tree_ID IS NOT NULL;
|
|
CURSOR Cur_ElementValue (Element NUMBER, Tree NUMBER) IS
|
|
SELECT *
|
|
FROM C_ElementValue
|
|
WHERE C_ElementValue_ID NOT IN
|
|
(SELECT Node_ID FROM AD_TreeNode WHERE AD_Tree_ID=Tree)
|
|
AND C_Element_ID=Element;
|
|
BEGIN
|
|
FOR CT IN Cur_Tree LOOP
|
|
DBMS_OUTPUT.PUT_LINE(' For Tree ' || CT.AD_Tree_ID || '; Element=' || CT.C_Element_ID);
|
|
--
|
|
FOR CP IN Cur_ElementValue (CT.C_Element_ID, CT.AD_Tree_ID) LOOP
|
|
INSERT INTO AD_TreeNode
|
|
(AD_Client_ID, AD_Org_ID,
|
|
IsActive, Created, CreatedBy, Updated, UpdatedBy,
|
|
AD_Tree_ID, Node_ID, Parent_ID, SeqNo)
|
|
VALUES
|
|
(CP.AD_Client_ID, CP.AD_Org_ID,
|
|
CP.IsActive, CP.Created, CP.CreatedBy, CP.Updated, CP.UpdatedBy,
|
|
CT.AD_Tree_ID, CP.C_ElementValue_ID, 0, 999);
|
|
DBMS_OUTPUT.PUT_LINE(' added: ' || CP.NAME);
|
|
END LOOP; -- ElementValue Loop
|
|
END LOOP; -- Tree Loop
|
|
END; -- Adding to Tree
|
|
|
|
|
|
DBMS_OUTPUT.PUT_LINE('Adding missing Translations');
|
|
INSERT INTO C_ElementValue_Trl (C_ElementValue_ID, AD_Language, AD_Client_ID, AD_Org_ID,
|
|
IsActive, Created, CreatedBy, Updated, UpdatedBy,
|
|
Name, IsTranslated)
|
|
SELECT m.C_ElementValue_ID, l.AD_Language, m.AD_Client_ID, m.AD_Org_ID,
|
|
m.IsActive, m.Created, m.CreatedBy, m.Updated, m.UpdatedBy,
|
|
m.Name, 'N'
|
|
FROM C_ElementValue m, AD_Language l
|
|
WHERE l.IsActive = 'Y' AND l.IsSystemLanguage = 'Y'
|
|
AND C_ElementValue_ID || AD_Language NOT IN
|
|
(SELECT C_ElementValue_ID || AD_Language FROM C_ElementValue_Trl);
|
|
DBMS_OUTPUT.PUT_LINE('Rows added: ' || SQL%ROWCOUNT);
|
|
|
|
COMMIT;
|
|
END; |