/** * For AD_Org create * - Missing Org Tree Structure */ BEGIN DBMS_OUTPUT.PUT_LINE('Adding to Base Org Tree'); DECLARE CURSOR Cur_Tree IS SELECT * FROM AD_ClientInfo; CURSOR Cur_Org (Client NUMBER, Tree NUMBER) IS SELECT * FROM AD_Org WHERE AD_Org_ID NOT IN (SELECT Node_ID FROM AD_TreeNode WHERE AD_Tree_ID=Tree) AND AD_Client_ID=Client; CURSOR Cur_OrgInfo IS SELECT * FROM AD_Org o WHERE NOT EXISTS (SELECT * FROM AD_OrgInfo oi WHERE oi.AD_Org_ID=o.AD_Org_ID); BEGIN FOR CT IN Cur_Tree LOOP DBMS_OUTPUT.PUT_LINE(' For Tree ' || CT.AD_Tree_Org_ID || ' Client=' || CT.AD_Client_ID); -- FOR CO IN Cur_Org (CT.AD_Client_ID, CT.AD_Tree_Org_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 (CO.AD_Client_ID, CO.AD_Org_ID, CO.IsActive, CO.Created, CO.CreatedBy, CO.Updated, CO.UpdatedBy, CT.AD_Tree_Org_ID, CO.AD_Org_ID, 0, 999); DBMS_OUTPUT.PUT_LINE(' added: ' || CO.Name || ' Client=' || CO.AD_Client_ID || ' Org=' || CO.AD_Org_ID); END LOOP; -- Org Loop END LOOP; -- Tree Loop FOR o IN Cur_OrgInfo () LOOP DBMS_OUTPUT.PUT_LINE('Create OrgInfo For Org ' || o.AD_Org_ID || ' ' || o.Name); INSERT INTO AD_OrgInfo (AD_Org_ID, AD_Client_ID, IsActive, Created, CreatedBy, Updated, UpdatedBy, C_Location_ID, Duns, TaxID, PA_Goal_ID) VALUES (o.AD_Org_ID, o.AD_Client_ID, o.IsActive, o.Created, o.CreatedBy, o.Updated, o.UpdatedBy, NULL, '?', '?', NULL); END LOOP; END; COMMIT; END;