1 14 package org.compiere.model; 15 16 import java.util.*; 17 import java.sql.*; 18 import java.io.*; 19 20 import org.compiere.util.*; 21 22 28 public final class MSetup 29 { 30 35 public MSetup(Properties ctx, int WindowNo) 36 { 37 m_ctx = ctx; 38 m_lang = Env.getAD_Language(m_ctx); 39 m_WindowNo = WindowNo; 40 } 42 private Properties m_ctx; 43 private String m_lang; 44 private int m_WindowNo; 45 private StringBuffer m_info; 46 private String m_clientName; 48 private String m_orgName; 49 private String m_stdColumns = "AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy"; 51 private String m_stdValues; 52 private String m_stdValuesOrg; 53 private NaturalAccountMap m_nap = null; 55 private int AD_Client_ID = 1000001; private int AD_Org_ID; 59 private int AD_User_ID; 60 private String AD_User_Name; 61 private int AD_User_U_ID; 62 private String AD_User_U_Name; 63 private int AD_Role_ID; 64 private int C_Calendar_ID; 65 private int C_AcctSchema_ID; 66 private int C_Currency_ID; 67 private int AD_Tree_Account_ID; 68 private int C_Cycle_ID; 69 private boolean m_hasProject = false; 71 private boolean m_hasMCampaign = false; 72 private boolean m_hasSRegion = false; 73 private AcctSchema m_AcctSchema = null; 74 75 76 85 public boolean createClient (String clientName, String orgName, 86 String userClient, String userOrg) 87 { 88 Log.trace(Log.l3_Util, "MSetup.createClient"); 89 m_info = new StringBuffer (); 91 String name = null; 93 String sql = null; 94 int no = 0; 95 96 99 AD_Client_ID = DB.getKeyNextNo (AD_Client_ID, "AD_Client"); 100 Env.setContext(m_ctx, m_WindowNo, "AD_Client_ID", AD_Client_ID); 101 102 m_stdValues = String.valueOf(AD_Client_ID) + ",0,'Y',SysDate,0,SysDate,0"; 104 105 name = clientName; 107 if (name == null || name.length() == 0) 108 name = "newClient"; 109 name = name.trim(); 110 m_clientName = name; 111 sql = "INSERT INTO AD_Client(" + m_stdColumns + ",Value,Name,Description)" 112 + " VALUES (" + m_stdValues + ",'" + name + "','" + name + "','" + name + "')"; 113 no = DB.executeUpdate(sql); 114 if (no != 1) 115 { 116 String err = "MSetup.createClient - Client NOT inserted"; 117 Log.error(err); 118 m_info.append(err); 119 return false; 120 } 121 m_info.append(Msg.translate(m_lang, "AD_Client_ID")).append("=").append(name).append("\n"); 123 124 127 String sql2 = null; 128 if (Env.isBaseLanguage(m_lang, "AD_Ref_List")) sql2 = "SELECT Value, Name FROM AD_Ref_List WHERE AD_Reference_ID=120"; 130 else 131 sql2 = "SELECT l.Value, t.Name FROM AD_Ref_List l, AD_Ref_List_Trl t " 132 + "WHERE l.AD_Reference_ID=120 AND l.AD_Ref_List_ID=t.AD_Ref_List_ID"; 133 134 int AD_Tree_Org_ID=0, AD_Tree_BPartner_ID=0, AD_Tree_Project_ID=0, 136 AD_Tree_SalesRegion_ID=0, AD_Tree_Product_ID=0; 137 138 try 139 { 140 Statement stmt = DB.createStatement(); 141 ResultSet rs = stmt.executeQuery(sql2); 142 while (rs.next()) 143 { 144 String value = rs.getString(1); 145 int AD_Tree_ID = 0; 146 if (value.equals("OO")) 147 { 148 AD_Tree_ID = DB.getKeyNextNo(AD_Client_ID, "AD_Tree"); 149 AD_Tree_Org_ID = AD_Tree_ID; 150 } 151 else if (value.equals("BP")) 152 { 153 AD_Tree_ID = DB.getKeyNextNo(AD_Client_ID, "AD_Tree"); 154 AD_Tree_BPartner_ID = AD_Tree_ID; 155 } 156 else if (value.equals("PJ")) 157 { 158 AD_Tree_ID = DB.getKeyNextNo(AD_Client_ID, "AD_Tree"); 159 AD_Tree_Project_ID = AD_Tree_ID; 160 } 161 else if (value.equals("SR")) 162 { 163 AD_Tree_ID = DB.getKeyNextNo(AD_Client_ID, "AD_Tree"); 164 AD_Tree_SalesRegion_ID = AD_Tree_ID; 165 } 166 else if (value.equals("PR")) 167 { 168 AD_Tree_ID = DB.getKeyNextNo(AD_Client_ID, "AD_Tree"); 169 AD_Tree_Product_ID = AD_Tree_ID; 170 } 171 else if (value.endsWith("EV")) 172 { 173 AD_Tree_ID = DB.getKeyNextNo(AD_Client_ID, "AD_Tree"); 174 AD_Tree_Account_ID = AD_Tree_ID; 175 } 176 else if (value.equals("MM")) ; 178 else 179 AD_Tree_ID = DB.getKeyNextNo(AD_Client_ID, "AD_Tree"); 181 182 if (AD_Tree_ID != 0) 184 { 185 name = m_clientName + " " + rs.getString(2); 186 sql = "INSERT INTO AD_Tree(" + m_stdColumns + ",AD_Tree_ID,Name,Description,TreeType)" 187 + " VALUES (" + m_stdValues + "," + AD_Tree_ID + ",'" + name + "','" + name + "','" + value + "')"; 188 no = DB.executeUpdate(sql); 189 if (no == 1) 190 m_info.append(Msg.translate(m_lang, "AD_Tree_ID")).append("=").append(name).append("\n"); 191 else 192 Log.error("MSetup.createClient - Tree NOT created: " + name); 193 } 194 } 195 rs.close(); 196 stmt.close(); 197 } 198 catch (SQLException e1) 199 { 200 Log.error ("MSetup.createClient - Trees", e1); 201 } 202 203 int AD_Tree_Menu_ID = 10; 206 sql = "INSERT INTO AD_ClientInfo(" + m_stdColumns + ",Acct2_Active,Acct3_Active," 208 + "AD_Tree_Menu_ID,AD_Tree_Org_ID,AD_Tree_BPartner_ID,AD_Tree_Project_ID,AD_Tree_SalesRegion_ID,AD_Tree_Product_ID)" 209 + " VALUES (" + m_stdValues + ",'N','N'," 210 + AD_Tree_Menu_ID + "," + AD_Tree_Org_ID + "," + AD_Tree_BPartner_ID + "," + AD_Tree_Project_ID + "," + AD_Tree_SalesRegion_ID + "," + AD_Tree_Product_ID + ")"; 211 no = DB.executeUpdate(sql); 212 if (no != 1) 213 { 214 String err = "MSetup.createClient - ClientInfo NOT inserted"; 215 Log.error(err); 216 m_info.append(err); 217 return false; 218 } 219 222 225 AD_Org_ID = DB.getKeyNextNo(AD_Client_ID, "AD_Org"); 226 m_stdValuesOrg = AD_Client_ID + "," + AD_Org_ID + ",'Y',SysDate,0,SysDate,0"; 227 228 name = orgName; 229 if (name == null || name.length() == 0) 230 name = "newOrg"; 231 m_orgName = name; 232 sql = "INSERT INTO AD_Org (" + m_stdColumns + ",Value,Name,IsSummary)" 233 + " VALUES (" + m_stdValuesOrg + ",'" + name + "','" + name + "','N')"; 234 no = DB.executeUpdate(sql); 235 if (no != 1) 236 { 237 String err = "MSetup.createClient - Org NOT inserted"; 238 Log.error(err); 239 m_info.append(err); 240 return false; 241 } 242 m_info.append(Msg.translate(m_lang, "AD_Org_ID")).append("=").append(name).append("\n"); 244 245 250 name = m_clientName + " Admin"; 251 AD_Role_ID = DB.getKeyNextNo(AD_Client_ID, "AD_Role"); 252 sql = "INSERT INTO AD_Role(" + m_stdColumns + ",AD_Role_ID," 253 + "Name,Description,UserLevel,ClientList,OrgList)" 254 + " VALUES (" + m_stdValues + "," + AD_Role_ID + "," 255 + "'" + name + "','" + name + "',' CO','" + AD_Client_ID + "','0," + AD_Org_ID + "')"; 256 no = DB.executeUpdate(sql); 257 if (no != 1) 258 { 259 String err = "MSetup.createClient - Admin Role A NOT inserted"; 260 Log.error(err); 261 m_info.append(err); 262 return false; 263 } 264 sql = "INSERT INTO AD_Role_OrgAccess(" + m_stdColumns + ",AD_Role_ID) VALUES (" 266 + m_stdValues + "," + AD_Role_ID + ")"; 267 no = DB.executeUpdate(sql); 268 if (no != 1) 269 Log.error("MSetup.createClient - Admin Role_OrgAccess 0 NOT created"); 270 sql = "INSERT INTO AD_Role_OrgAccess(" + m_stdColumns + ",AD_Role_ID) VALUES (" 272 + m_stdValuesOrg + "," + AD_Role_ID + ")"; 273 no = DB.executeUpdate(sql); 274 if (no != 1) 275 Log.error("MSetup.createClient - Admin Role_OrgAccess NOT created"); 276 m_info.append(Msg.translate(m_lang, "AD_Role_ID")).append("=").append(name).append("\n"); 278 279 name = m_clientName + " User"; 281 int AD_Role_ID_U = DB.getKeyNextNo(AD_Client_ID, "AD_Role"); 282 sql = "INSERT INTO AD_Role(" + m_stdColumns + ",AD_Role_ID," 283 + "Name,Description,UserLevel,ClientList,OrgList)" 284 + " VALUES (" + m_stdValues + "," + AD_Role_ID_U + "," 285 + "'" + name + "','" + name + "',' O','" + AD_Client_ID + "','" + AD_Org_ID + "')"; 286 no = DB.executeUpdate(sql); 287 if (no != 1) 288 { 289 String err = "MSetup.createClient - User Role A NOT inserted"; 290 Log.error(err); 291 m_info.append(err); 292 return false; 293 } 294 sql = "INSERT INTO AD_Role_OrgAccess(" + m_stdColumns + ",AD_Role_ID) VALUES (" 296 + m_stdValuesOrg + "," + AD_Role_ID_U + ")"; 297 no = DB.executeUpdate(sql); 298 if (no != 1) 299 Log.error("MSetup.createClient - User Role_OrgAccess NOT created"); 300 m_info.append(Msg.translate(m_lang, "AD_Role_ID")).append("=").append(name).append("\n"); 302 303 308 name = userClient; 309 if (name == null || name.length() == 0) 310 name = m_clientName + "Client"; 311 AD_User_ID = DB.getKeyNextNo(AD_Client_ID, "AD_User"); 312 AD_User_Name = name; 313 sql = "INSERT INTO AD_User(" + m_stdColumns + ",AD_User_ID," 314 + "Name,Description,Password)" 315 + " VALUES (" + m_stdValues + "," + AD_User_ID + "," 316 + "'" + AD_User_Name + "','" + AD_User_Name + "','" + AD_User_Name + "')"; 317 no = DB.executeUpdate(sql); 318 if (no != 1) 319 { 320 String err = "MSetup.createClient - Admin User NOT inserted - " + AD_User_Name; 321 Log.error(err); 322 m_info.append(err); 323 return false; 324 } 325 m_info.append(Msg.translate(m_lang, "AD_User_ID")).append("=").append(AD_User_Name).append("/").append(AD_User_Name).append("\n"); 327 328 name = userOrg; 329 if (name == null || name.length() == 0) 330 name = m_clientName + "Org"; 331 AD_User_U_ID = DB.getKeyNextNo(AD_Client_ID, "AD_User"); 332 AD_User_U_Name = name; 333 sql = "INSERT INTO AD_User(" + m_stdColumns + ",AD_User_ID," 334 + "Name,Description,Password)" 335 + " VALUES (" + m_stdValues + "," + AD_User_U_ID + "," 336 + "'" + AD_User_U_Name + "','" + AD_User_U_Name + "','" + AD_User_U_Name + "')"; 337 no = DB.executeUpdate(sql); 338 if (no != 1) 339 { 340 String err = "MSetup.createClient - Org User NOT inserted - " + AD_User_U_Name; 341 Log.error(err); 342 m_info.append(err); 343 return false; 344 } 345 m_info.append(Msg.translate(m_lang, "AD_User_ID")).append("=").append(AD_User_U_Name).append("/").append(AD_User_U_Name).append("\n"); 347 348 351 sql = "INSERT INTO AD_User_Roles(" + m_stdColumns + ",AD_User_ID,AD_Role_ID)" 353 + " VALUES (" + m_stdValues + "," + AD_User_ID + "," + AD_Role_ID + ")"; 354 no = DB.executeUpdate(sql); 355 if (no != 1) 356 Log.error("MSetup.createClient - UserRole ClientUser+Admin NOT inserted"); 357 sql = "INSERT INTO AD_User_Roles(" + m_stdColumns + ",AD_User_ID,AD_Role_ID)" 358 + " VALUES (" + m_stdValues + "," + AD_User_ID + "," + AD_Role_ID_U + ")"; 359 no = DB.executeUpdate(sql); 360 if (no != 1) 361 Log.error("MSetup.createClient - UserRole ClientUser+User NOT inserted"); 362 sql = "INSERT INTO AD_User_Roles(" + m_stdColumns + ",AD_User_ID,AD_Role_ID)" 364 + " VALUES (" + m_stdValues + "," + AD_User_U_ID + "," + AD_Role_ID_U + ")"; 365 no = DB.executeUpdate(sql); 366 if (no != 1) 367 Log.error("MSetup.createClient - UserRole OrgUser+Org NOT inserted"); 368 sql = "INSERT INTO AD_User_Roles(" + m_stdColumns + ",AD_User_ID,AD_Role_ID)" 370 + " VALUES (" + m_stdValues + ",100," + AD_Role_ID + ")"; 371 no = DB.executeUpdate(sql); 372 if (no != 1) 373 Log.error("MSetup.createClient - UserRole SuperUser+Admin NOT inserted"); 374 sql = "INSERT INTO AD_User_Roles(" + m_stdColumns + ",AD_User_ID,AD_Role_ID)" 375 + " VALUES (" + m_stdValues + ",100," + AD_Role_ID_U + ")"; 376 no = DB.executeUpdate(sql); 377 if (no != 1) 378 Log.error("MSetup.createClient - UserRole SuperUser+User NOT inserted"); 379 380 return true; 381 } 383 384 385 386 387 405 public boolean createAccounting(int newC_Currency_ID, String curName, 406 boolean hasProduct, boolean hasBPartner, boolean hasProject, 407 boolean hasMCampaign, boolean hasSRegion, 408 File AccountingFile) 409 { 410 Log.trace(Log.l3_Util, "MSetup.createAccount"); 411 C_Currency_ID = newC_Currency_ID; 413 m_hasProject = hasProject; 414 m_hasMCampaign = hasMCampaign; 415 m_hasSRegion = hasSRegion; 416 417 m_info = new StringBuffer (); 419 String name = null; 420 StringBuffer sqlCmd = null; 421 int no = 0; 422 423 426 C_Calendar_ID = DB.getKeyNextNo(AD_Client_ID, "C_Calendar"); 427 name = m_clientName + " " + Msg.translate(m_lang, "C_Calendar_ID"); 428 sqlCmd = new StringBuffer ("INSERT INTO C_Calendar("); 429 sqlCmd.append(m_stdColumns).append(",C_Calendar_ID,Name)").append(" VALUES ("); 430 sqlCmd.append(m_stdValues).append(",").append(C_Calendar_ID).append(",'").append(name).append("')"); 431 no = DB.executeUpdate(sqlCmd.toString()); 432 if (no != 1) 433 { 434 String err = "MSetup.createAccounting - Calendar NOT inserted"; 435 Log.error(err); 436 m_info.append(err); 437 return false; 438 } 439 m_info.append(Msg.translate(m_lang, "C_Calendar_ID")).append("=").append(name).append("\n"); 441 442 int C_Year_ID = DB.getKeyNextNo(AD_Client_ID, "C_Year"); 444 sqlCmd = new StringBuffer ("INSERT INTO C_Year "); 445 sqlCmd.append("(C_Year_ID,").append(m_stdColumns).append(","); 446 sqlCmd.append("Year,C_Calendar_ID) VALUES ("); 447 sqlCmd.append(C_Year_ID).append(",").append(m_stdValues).append(","); 448 sqlCmd.append("TO_CHAR(SysDate,'YYYY'),").append(C_Calendar_ID).append(")"); 449 no = DB.executeUpdate(sqlCmd.toString()); 450 if (no != 1) 451 Log.error("MSetup.createAccounting - Year NOT inserted"); 452 453 454 455 int C_Element_ID = DB.getKeyNextNo(AD_Client_ID, "C_Element"); 457 name = m_clientName + " " + Msg.translate(m_lang, "Account_ID"); 458 sqlCmd = new StringBuffer ("INSERT INTO C_ELEMENT("); 459 sqlCmd.append(m_stdColumns).append(",C_Element_ID,Name,Description,") 460 .append("VFormat,ElementType,IsBalancing,IsNaturalAccount,AD_Tree_ID)").append(" VALUES ("); 461 sqlCmd.append(m_stdValues).append(",").append(C_Element_ID).append(",'").append(name).append("','").append(name).append("',") 462 .append("NULL,'A','N','Y',").append(AD_Tree_Account_ID).append(")"); 463 no = DB.executeUpdate(sqlCmd.toString()); 464 if (no != 1) 465 { 466 String err = "MSetup.createAccounting - Acct Element NOT inserted"; 467 Log.error(err); 468 m_info.append(err); 469 return false; 470 } 471 m_info.append(Msg.translate(m_lang, "C_Element_ID")).append("=").append(name).append("\n"); 472 473 m_nap = new NaturalAccountMap(m_ctx); 475 String errMsg = m_nap.parseFile(AccountingFile); 476 if (errMsg.length() != 0) 477 { 478 Log.error(errMsg); 479 m_info.append(errMsg); 480 return false; 481 } 482 if (m_nap.createAccounts(AD_Client_ID, AD_Org_ID, C_Element_ID)) 483 m_info.append(Msg.translate(m_lang, "C_ElementValue_ID")).append(" # ").append(m_nap.size()).append("\n"); 484 else 485 { 486 String err = "MSetup.createAccounting - Acct Element Values NOT inserted"; 487 Log.error(err); 488 m_info.append(err); 489 return false; 490 } 491 492 int C_ElementValue_ID = m_nap.getC_ElementValue_ID("DEFAULT_ACCT"); 493 Log.trace(Log.l4_Data, "C_ElementValue_ID=" + C_ElementValue_ID); 494 495 498 C_AcctSchema_ID = DB.getKeyNextNo(AD_Client_ID, "C_AcctSchema"); 499 String GAAP = "US"; String CostingMethod = "A"; name = m_clientName + " " + GAAP + "/" + CostingMethod + "/" + curName; 503 sqlCmd = new StringBuffer ("INSERT INTO C_AcctSchema("); 505 sqlCmd.append(m_stdColumns).append(",C_AcctSchema_ID,Name,") 506 .append("GAAP,IsAccrual,CostingMethod,C_Currency_ID,") 507 .append("AutoPeriodControl,Separator,HasAlias,HasCombination)") 508 .append(" VALUES ("); 509 sqlCmd.append(m_stdValues).append(",").append(C_AcctSchema_ID).append(",'").append(name).append("',") 510 .append("'").append(GAAP).append("','Y','").append(CostingMethod).append("',").append(C_Currency_ID).append(",") 511 .append("'N','-','Y','N')"); 512 no = DB.executeUpdate(sqlCmd.toString()); 513 if (no != 1) 514 { 515 String err = "MSetup.createAccounting - AcctSchema NOT inserted"; 516 Log.error(err); 517 m_info.append(err); 518 return false; 519 } 520 m_info.append(Msg.translate(m_lang, "C_AcctSchema_ID")).append("=").append(name).append("\n"); 522 523 526 String sql2 = null; 527 if (Env.isBaseLanguage(m_lang, "AD_Reference")) sql2 = "SELECT Value, Name FROM AD_Ref_List WHERE AD_Reference_ID=181"; 529 else 530 sql2 = "SELECT l.Value, t.Name FROM AD_Ref_List l, AD_Ref_List_Trl t " 531 + "WHERE l.AD_Reference_ID=181 AND l.AD_Ref_List_ID=t.AD_Ref_List_ID"; 532 int Element_OO=0, Element_AC=0, Element_PR=0, Element_BP=0, Element_PJ=0, 534 Element_MC=0, Element_SR=0; 535 try 536 { 537 Statement stmt = DB.createStatement(); 538 ResultSet rs = stmt.executeQuery(sql2); 539 while (rs.next()) 540 { 541 String ElementType = rs.getString(1); 542 name = rs.getString(2); 543 String IsMandatory = null; 545 String IsBalanced = "N"; 546 int SeqNo = 0; 547 int C_AcctSchema_Element_ID = 0; 548 549 if (ElementType.equals("OO")) 550 { 551 C_AcctSchema_Element_ID = DB.getKeyNextNo(AD_Client_ID, "C_AcctSchema_Element"); 552 Element_OO = C_AcctSchema_Element_ID; 553 IsMandatory = "Y"; 554 IsBalanced = "Y"; 555 SeqNo = 10; 556 } 557 else if (ElementType.equals("AC")) 558 { 559 C_AcctSchema_Element_ID = DB.getKeyNextNo(AD_Client_ID, "C_AcctSchema_Element"); 560 Element_AC = C_AcctSchema_Element_ID; 561 IsMandatory = "Y"; 562 SeqNo = 20; 563 } 564 else if (ElementType.equals("PR") && hasProduct) 565 { 566 C_AcctSchema_Element_ID = DB.getKeyNextNo(AD_Client_ID, "C_AcctSchema_Element"); 567 Element_PR = C_AcctSchema_Element_ID; 568 IsMandatory = "N"; 569 SeqNo = 30; 570 } 571 else if (ElementType.equals("BP") && hasBPartner) 572 { 573 C_AcctSchema_Element_ID = DB.getKeyNextNo(AD_Client_ID, "C_AcctSchema_Element"); 574 Element_BP = C_AcctSchema_Element_ID; 575 IsMandatory = "N"; 576 SeqNo = 40; 577 } 578 else if (ElementType.equals("PJ") && hasProject) 579 { 580 C_AcctSchema_Element_ID = DB.getKeyNextNo(AD_Client_ID, "C_AcctSchema_Element"); 581 Element_PJ = C_AcctSchema_Element_ID; 582 IsMandatory = "N"; 583 SeqNo = 50; 584 } 585 else if (ElementType.equals("MC") && hasMCampaign) 586 { 587 C_AcctSchema_Element_ID = DB.getKeyNextNo(AD_Client_ID, "C_AcctSchema_Element"); 588 Element_MC = C_AcctSchema_Element_ID; 589 IsMandatory = "N"; 590 SeqNo = 60; 591 } 592 else if (ElementType.equals("SR") && hasSRegion) 593 { 594 C_AcctSchema_Element_ID = DB.getKeyNextNo(AD_Client_ID, "C_AcctSchema_Element"); 595 Element_SR = C_AcctSchema_Element_ID; 596 IsMandatory = "N"; 597 SeqNo = 70; 598 } 599 601 if (IsMandatory != null) 602 { 603 sqlCmd = new StringBuffer ("INSERT INTO C_AcctSchema_Element("); 604 sqlCmd.append(m_stdColumns).append(",C_AcctSchema_Element_ID,C_AcctSchema_ID,") 605 .append("ElementType,Name,SeqNo,IsMandatory,IsBalanced) VALUES ("); 606 sqlCmd.append(m_stdValues).append(",").append(C_AcctSchema_Element_ID).append(",").append(C_AcctSchema_ID).append(",") 607 .append("'").append(ElementType).append("','").append(name).append("',").append(SeqNo).append(",'") 608 .append(IsMandatory).append("','").append(IsBalanced).append("')"); 609 no = DB.executeUpdate(sqlCmd.toString()); 610 if (no == 1) 611 m_info.append(Msg.translate(m_lang, "C_AcctSchema_Element_ID")).append("=").append(name).append("\n"); 612 613 614 if (ElementType.equals("OO")) 615 { 616 sqlCmd = new StringBuffer ("UPDATE C_AcctSchema_Element SET Org_ID="); 617 sqlCmd.append(AD_Org_ID).append(" WHERE C_AcctSchema_Element_ID=").append(C_AcctSchema_Element_ID); 618 no = DB.executeUpdate(sqlCmd.toString()); 619 if (no != 1) 620 Log.error("MSetup.createAccounting - Default Org in AcctSchamaElement NOT updated"); 621 } 622 if (ElementType.equals("AC")) 623 { 624 sqlCmd = new StringBuffer ("UPDATE C_AcctSchema_Element SET C_ElementValue_ID="); 625 sqlCmd.append(C_ElementValue_ID).append(", C_Element_ID=").append(C_Element_ID); 626 sqlCmd.append(" WHERE C_AcctSchema_Element_ID=").append(C_AcctSchema_Element_ID); 627 no = DB.executeUpdate(sqlCmd.toString()); 628 if (no != 1) 629 Log.error("MSetup.createAccounting - Default Account in AcctSchamaElement NOT updated"); 630 } 631 } 632 } 633 rs.close(); 634 stmt.close(); 635 } 636 catch (SQLException e1) 637 { 638 Log.error ("MSetup.createAccounting - Elements", e1); 639 } 640 m_AcctSchema = new AcctSchema (C_AcctSchema_ID); 642 643 644 sqlCmd = new StringBuffer ("INSERT INTO C_ACCTSCHEMA_GL ("); 646 sqlCmd.append(m_stdColumns).append(",C_ACCTSCHEMA_ID," 647 + "USESUSPENSEBALANCING,SUSPENSEBALANCING_ACCT," 648 + "USESUSPENSEERROR,SUSPENSEERROR_ACCT," 649 + "USECURRENCYBALANCING,CURRENCYBALANCING_ACCT," 650 + "RETAINEDEARNING_ACCT,INCOMESUMMARY_ACCT," 651 + "INTERCOMPANYDUETO_ACCT,INTERCOMPANYDUEFROM_ACCT," 652 + "PPVOFFSET_ACCT) VALUES ("); 653 sqlCmd.append(m_stdValues).append(",").append(C_AcctSchema_ID).append(","); 654 sqlCmd.append("'Y',").append(getAcct("SUSPENSEBALANCING_ACCT")).append(","); 655 sqlCmd.append("'Y',").append(getAcct("SUSPENSEERROR_ACCT")).append(","); 656 sqlCmd.append("'Y',").append(getAcct("CURRENCYBALANCING_ACCT")).append(","); 657 sqlCmd.append(getAcct("RETAINEDEARNING_ACCT")).append(","); 659 sqlCmd.append(getAcct("INCOMESUMMARY_ACCT")).append(","); 660 sqlCmd.append(getAcct("INTERCOMPANYDUETO_ACCT")).append(","); 662 sqlCmd.append(getAcct("INTERCOMPANYDUEFROM_ACCT")).append(","); 663 sqlCmd.append(getAcct("PPVOFFSET_ACCT")).append(")"); 664 no = DB.executeUpdate(sqlCmd.toString()); 665 if (no != 1) 666 { 667 String err = "MSetup.createAccounting - GL Accounts NOT inserted"; 668 Log.error(err); 669 m_info.append(err); 670 return false; 671 } 672 673 sqlCmd = new StringBuffer ("INSERT INTO C_ACCTSCHEMA_DEFAULT ("); 675 sqlCmd.append(m_stdColumns).append(",C_ACCTSCHEMA_ID," 676 + "W_INVENTORY_ACCT,W_DIFFERENCES_ACCT,W_REVALUATION_ACCT,W_INVACTUALADJUST_ACCT, " 677 + "P_REVENUE_ACCT,P_EXPENSE_ACCT,P_ASSET_ACCT,P_COGS_ACCT, " 678 + "P_PURCHASEPRICEVARIANCE_ACCT,P_INVOICEPRICEVARIANCE_ACCT,P_TRADEDISCOUNTREC_ACCT,P_TRADEDISCOUNTGRANT_ACCT, " 679 + "C_RECEIVABLE_ACCT,C_PREPAYMENT_ACCT, " 680 + "V_LIABILITY_ACCT,V_LIABILITY_SERVICES_ACCT,V_PREPAYMENT_ACCT, " 681 + "PAYDISCOUNT_EXP_ACCT,PAYDISCOUNT_REV_ACCT,WRITEOFF_ACCT, " 682 + "UNREALIZEDGAIN_ACCT,UNREALIZEDLOSS_ACCT,REALIZEDGAIN_ACCT,REALIZEDLOSS_ACCT, " 683 + "WITHHOLDING_ACCT,E_PREPAYMENT_ACCT,E_EXPENSE_ACCT, " 684 + "PJ_ASSET_ACCT,PJ_WIP_ACCT," 685 + "T_EXPENSE_ACCT,T_LIABILITY_ACCT,T_RECEIVABLES_ACCT,T_DUE_ACCT,T_CREDIT_ACCT, " 686 + "B_INTRANSIT_ACCT,B_ASSET_ACCT,B_EXPENSE_ACCT,B_INTERESTREV_ACCT,B_INTERESTEXP_ACCT," 687 + "B_UNIDENTIFIED_ACCT,B_SETTLEMENTGAIN_ACCT,B_SETTLEMENTLOSS_ACCT," 688 + "B_REVALUATIONGAIN_ACCT,B_REVALUATIONLOSS_ACCT,B_PAYMENTSELECT_ACCT,B_UNALLOCATEDCASH_ACCT, " 689 + "CH_EXPENSE_ACCT,CH_REVENUE_ACCT, " 690 + "UNEARNEDREVENUE_ACCT,NOTINVOICEDRECEIVABLES_ACCT,NOTINVOICEDREVENUE_ACCT,NOTINVOICEDRECEIPTS_ACCT, " 691 + "CB_ASSET_ACCT,CB_CASHTRANSFER_ACCT,CB_DIFFERENCES_ACCT,CB_EXPENSE_ACCT,CB_RECEIPT_ACCT) VALUES ("); 692 sqlCmd.append(m_stdValues).append(",").append(C_AcctSchema_ID).append(","); 693 sqlCmd.append(getAcct("W_INVENTORY_ACCT")).append(","); 695 sqlCmd.append(getAcct("W_DIFFERENCES_ACCT")).append(","); 696 sqlCmd.append(getAcct("W_REVALUATION_ACCT")).append(","); 697 sqlCmd.append(getAcct("W_INVACTUALADJUST_ACCT")).append(", "); 698 sqlCmd.append(getAcct("P_REVENUE_ACCT")).append(","); 700 sqlCmd.append(getAcct("P_EXPENSE_ACCT")).append(","); 701 sqlCmd.append(getAcct("P_ASSET_ACCT")).append(","); 702 sqlCmd.append(getAcct("P_COGS_ACCT")).append(", "); 703 sqlCmd.append(getAcct("P_PURCHASEPRICEVARIANCE_ACCT")).append(","); 705 sqlCmd.append(getAcct("P_INVOICEPRICEVARIANCE_ACCT")).append(","); 706 sqlCmd.append(getAcct("P_TRADEDISCOUNTREC_ACCT")).append(","); 707 sqlCmd.append(getAcct("P_TRADEDISCOUNTGRANT_ACCT")).append(", "); 708 sqlCmd.append(getAcct("C_RECEIVABLE_ACCT")).append(","); 710 sqlCmd.append(getAcct("C_PREPAYMENT_ACCT")).append(", "); 711 sqlCmd.append(getAcct("V_LIABILITY_ACCT")).append(","); 713 sqlCmd.append(getAcct("V_LIABILITY_SERVICES_ACCT")).append(","); 714 sqlCmd.append(getAcct("V_PREPAYMENT_ACCT")).append(", "); 715 sqlCmd.append(getAcct("PAYDISCOUNT_EXP_ACCT")).append(","); 717 sqlCmd.append(getAcct("PAYDISCOUNT_REV_ACCT")).append(","); 718 sqlCmd.append(getAcct("WRITEOFF_ACCT")).append(", "); 719 sqlCmd.append(getAcct("UNREALIZEDGAIN_ACCT")).append(","); 721 sqlCmd.append(getAcct("UNREALIZEDLOSS_ACCT")).append(","); 722 sqlCmd.append(getAcct("REALIZEDGAIN_ACCT")).append(","); 723 sqlCmd.append(getAcct("REALIZEDLOSS_ACCT")).append(", "); 724 sqlCmd.append(getAcct("WITHHOLDING_ACCT")).append(","); 726 sqlCmd.append(getAcct("E_PREPAYMENT_ACCT")).append(","); 727 sqlCmd.append(getAcct("E_EXPENSE_ACCT")).append(", "); 728 sqlCmd.append(getAcct("PJ_ASSET_ACCT")).append(","); 730 sqlCmd.append(getAcct("PJ_WIP_ACCT")).append(","); 731 sqlCmd.append(getAcct("T_EXPENSE_ACCT")).append(","); 733 sqlCmd.append(getAcct("T_LIABILITY_ACCT")).append(","); 734 sqlCmd.append(getAcct("T_RECEIVABLES_ACCT")).append(","); 735 sqlCmd.append(getAcct("T_DUE_ACCT")).append(","); 736 sqlCmd.append(getAcct("T_CREDIT_ACCT")).append(", "); 737 sqlCmd.append(getAcct("B_INTRANSIT_ACCT")).append(","); 739 sqlCmd.append(getAcct("B_ASSET_ACCT")).append(","); 740 sqlCmd.append(getAcct("B_EXPENSE_ACCT")).append(","); 741 sqlCmd.append(getAcct("B_INTERESTREV_ACCT")).append(","); 742 sqlCmd.append(getAcct("B_INTERESTEXP_ACCT")).append(","); 743 sqlCmd.append(getAcct("B_UNIDENTIFIED_ACCT")).append(","); 745 sqlCmd.append(getAcct("B_SETTLEMENTGAIN_ACCT")).append(","); 746 sqlCmd.append(getAcct("B_SETTLEMENTLOSS_ACCT")).append(","); 747 sqlCmd.append(getAcct("B_REVALUATIONGAIN_ACCT")).append(","); 749 sqlCmd.append(getAcct("B_REVALUATIONLOSS_ACCT")).append(","); 750 sqlCmd.append(getAcct("B_PAYMENTSELECT_ACCT")).append(","); 751 sqlCmd.append(getAcct("B_UNALLOCATEDCASH_ACCT")).append(", "); 752 sqlCmd.append(getAcct("CH_EXPENSE_ACCT")).append(","); 754 sqlCmd.append(getAcct("CH_REVENUE_ACCT")).append(", "); 755 sqlCmd.append(getAcct("UNEARNEDREVENUE_ACCT")).append(","); 757 sqlCmd.append(getAcct("NOTINVOICEDRECEIVABLES_ACCT")).append(","); 758 sqlCmd.append(getAcct("NOTINVOICEDREVENUE_ACCT")).append(","); 759 sqlCmd.append(getAcct("NOTINVOICEDRECEIPTS_ACCT")).append(", "); 760 sqlCmd.append(getAcct("CB_ASSET_ACCT")).append(","); 762 sqlCmd.append(getAcct("CB_CASHTRANSFER_ACCT")).append(","); 763 sqlCmd.append(getAcct("CB_DIFFERENCES_ACCT")).append(","); 764 sqlCmd.append(getAcct("CB_EXPENSE_ACCT")).append(","); 765 sqlCmd.append(getAcct("CB_RECEIPT_ACCT")).append(")"); 766 no = DB.executeUpdate(sqlCmd.toString()); 767 if (no != 1) 768 { 769 String err = "MSetup.createAccounting - Default Accounts NOT inserted"; 770 Log.error(err); 771 m_info.append(err); 772 return false; 773 } 774 775 createGLCategory("Standard", "M", true); 777 int GL_None = createGLCategory("None", "D", false); 778 int GL_GL = createGLCategory("Manual", "M", false); 779 int GL_ARI = createGLCategory("AR Invoice", "D", false); 780 int GL_ARR = createGLCategory("AR Receipt", "D", false); 781 int GL_MM = createGLCategory("Material Management", "D", false); 782 int GL_API = createGLCategory("AP Invoice", "D", false); 783 int GL_APP = createGLCategory("AP Payment", "D", false); 784 785 createDocType("GL Journal", "Journal", "GLJ", null, 0, 0, 1000, GL_GL); 787 int DT_I = createDocType("AR Invoice", "Invoice", "ARI", null, 0, 0, 100000, GL_ARI); 788 int DT_II = createDocType("AR Invoice Indirect", "Invoice", "ARI", null, 0, 0, 200000, GL_ARI); 789 createDocType("AR Credit Memo", "Credit Memo", "ARC", null, 0, 0, 300000, GL_ARI); 790 createDocType("AR Receipt", "Receipt", "ARR", null, 0, 0, 400000, GL_ARR); 791 int DT_S = createDocType("MM Shipment", "Delivery Note", "MMS", null, 0, 0, 500000, GL_MM); 792 int DT_SI = createDocType("MM Shipment Indirect", "Delivery Note", "MMS", null, 0, 0, 600000, GL_MM); 793 createDocType("MM Receipt", "Vendor Delivery", "MMR", null, 0, 0, 0, GL_MM); 794 createDocType("AP Invoice", "Vendor Invoice", "API", null, 0, 0, 0, GL_API); 795 createDocType("AP CreditMemo", "Vendor Credit Memo", "APC", null, 0, 0, 0, GL_API); 796 createDocType("AP Payment", "Vendor Payment", "APP", null, 0, 0, 700000, GL_APP); 797 createDocType("Purchase Order", "Purchase Order", "POO", null, 0, 0, 800000, GL_None); 798 createDocType("Purchase Requisition", "Purchase Requisition", "POR", null, 0, 0, 900000, GL_None); 799 800 createDocType("Quotation", "Binding offer", "SOO", "OB", 0, 0, 10000, GL_None); 802 createDocType("Proposal", "Non binding offer", "SOO", "ON", 0, 0, 20000, GL_None); 803 createDocType("Prepay Order", "Prepay Order", "SOO", "PR", DT_S, DT_I, 30000, GL_None); 804 createDocType("Return Material", "Return Material Authorization", "SOO", "RM", DT_S, DT_I, 40000, GL_None); 805 createDocType("Standard Order", "Order Confirmation", "SOO", "SO", DT_S, DT_I, 50000, GL_None); 806 createDocType("Credit Order", "Order Confirmation", "SOO", "WI", DT_SI, DT_I, 60000, GL_None); createDocType("Warehouse Order", "Order Confirmation", "SOO", "WP", DT_S, DT_I, 70000, GL_None); int DT = createDocType("POS Order", "Order Confirmation", "SOO", "WR", DT_SI, DT_II, 80000, GL_None); createPreference("C_DocTypeTarget_ID", String.valueOf(DT), 143); 810 811 sqlCmd = new StringBuffer ("UPDATE AD_ClientInfo SET "); 813 sqlCmd.append("C_AcctSchema1_ID=").append(C_AcctSchema_ID) 814 .append(", C_Calendar_ID=").append(C_Calendar_ID) 815 .append(" WHERE AD_Client_ID=").append(AD_Client_ID); 816 no = DB.executeUpdate(sqlCmd.toString()); 817 if (no != 1) 818 { 819 String err = "MSetup.createAccounting - ClientInfo not updated"; 820 Log.error(err); 821 m_info.append(err); 822 return false; 823 } 824 825 return true; 827 } 829 834 private int getAcct (String key) 835 { 836 Log.trace(Log.l4_Data, "MSetup.getAcct - " + key); 837 int C_ElementValue_ID = m_nap.getC_ElementValue_ID(key); 839 Account vc = Account.getDefault(m_AcctSchema, true); vc.setAccount_ID(C_ElementValue_ID); 841 vc.save(AD_Client_ID, 0); 842 int C_ValidCombination_ID = vc.getC_ValidCombination_ID(); 843 844 if (C_ValidCombination_ID == 0) 846 Log.error("MSetup.getAcct - no account for " + key); 847 return C_ValidCombination_ID; 848 } 850 857 private int createGLCategory (String Name, String CategoryType, boolean isDefault) 858 { 859 int GL_Category_ID = DB.getKeyNextNo(AD_Client_ID, "GL_Category"); 860 StringBuffer sqlCmd = new StringBuffer ("INSERT INTO GL_Category "); 861 sqlCmd.append("(GL_Category_ID,").append(m_stdColumns).append(",") 862 .append("Name,CategoryType,IsDefault) VALUES (") 863 .append(GL_Category_ID).append(",").append(m_stdValues).append(",") 864 .append("'").append(Name).append("','").append(CategoryType).append("','") 865 .append(isDefault ? "Y" : "N").append("')"); 866 int no = DB.executeUpdate(sqlCmd.toString()); 867 if (no != 1) 868 Log.error("MSetup.createGLCategory - GL Category NOT created - " + Name); 869 return GL_Category_ID; 871 } 873 885 private int createDocType (String Name, String PrintName, 886 String DocBaseType, String DocSubTypeSO, 887 int C_DocTypeShipment_ID, int C_DocTypeInvoice_ID, 888 int StartNo, int GL_Category_ID) 889 { 890 StringBuffer sqlCmd = null; 891 int AD_Sequence_ID = 0; 893 if (StartNo != 0) { 895 AD_Sequence_ID = DB.getKeyNextNo(AD_Client_ID, "AD_Sequence"); 896 sqlCmd = new StringBuffer ("INSERT INTO AD_Sequence "); 897 sqlCmd.append("(AD_Sequence_ID,").append(m_stdColumns).append(","); 898 sqlCmd.append("Name,IsAutoSequence,IncrementNo,StartNo,CurrentNext,"); 899 sqlCmd.append("CurrentNextSys,IsTableID) VALUES ("); 900 sqlCmd.append(AD_Sequence_ID).append(",").append(m_stdValues).append(","); 901 sqlCmd.append("'").append(Name).append("','Y',1,").append(StartNo).append(",").append(StartNo).append(","); 902 sqlCmd.append(StartNo/10).append(",'N')"); 903 int no = DB.executeUpdate(sqlCmd.toString()); 904 if (no != 1) 905 Log.error("MSetup.createDocType - Sequence NOT created - " + Name); 906 } 907 908 int C_DocType_ID = DB.getKeyNextNo(AD_Client_ID, "C_DocType"); 910 sqlCmd = new StringBuffer ("INSERT INTO C_DocType "); 911 sqlCmd.append("(C_DocType_ID,").append(m_stdColumns).append(","); 912 sqlCmd.append("Name,PrintName,DocBaseType,DocSubTypeSO,"); 913 sqlCmd.append("C_DocTypeShipment_ID,C_DocTypeInvoice_ID,"); 914 sqlCmd.append("IsDocNoControlled,DocNoSequence_ID,GL_Category_ID,"); 915 sqlCmd.append("IsPrinted,IsTransferred,DocumentCopies,IsSOTrx)"); 916 sqlCmd.append(" VALUES (").append(C_DocType_ID).append(",").append(m_stdValues).append(","); 918 sqlCmd.append("'").append(Name).append("','").append(PrintName).append("','").append(DocBaseType).append("',"); 920 if (DocSubTypeSO == null || DocSubTypeSO.length() == 0) 921 sqlCmd.append("NULL,"); 922 else 923 sqlCmd.append("'").append(DocSubTypeSO).append("',"); 924 if (C_DocTypeShipment_ID == 0) 926 sqlCmd.append("NULL,"); 927 else 928 sqlCmd.append(C_DocTypeShipment_ID).append(","); 929 if (C_DocTypeInvoice_ID == 0) 930 sqlCmd.append("NULL,"); 931 else 932 sqlCmd.append(C_DocTypeInvoice_ID).append(","); 933 if (AD_Sequence_ID == 0) 935 sqlCmd.append("'N',NULL,"); 936 else 937 sqlCmd.append("'Y',").append(AD_Sequence_ID).append(","); 938 sqlCmd.append(GL_Category_ID).append(","); 939 sqlCmd.append("'Y',"); 941 if (DocBaseType.equals("SOO")) 942 sqlCmd.append("'N',"); 943 else 944 sqlCmd.append("'Y',"); 945 sqlCmd.append("0,"); 946 if (DocBaseType.startsWith("AR") || DocBaseType.equals("MMS") || DocBaseType.equals("SOO")) 947 sqlCmd.append("'Y'"); 948 else 949 sqlCmd.append("'N'"); 950 sqlCmd.append(")"); 951 int no = DB.executeUpdate(sqlCmd.toString()); 952 if (no != 1) 953 Log.error("MSetup.createDocType - DocType NOT created - " + Name); 954 return C_DocType_ID; 956 } 958 959 960 971 public boolean createEntities (int C_Country_ID, String City, int C_Region_ID) 972 { 973 Log.trace(Log.l3_Util, "MSetup.createEntries", "C_Country_ID=" + C_Country_ID + ", City=" + City + ", C_Region_ID=" + C_Region_ID); 974 m_info.append("\n----\n"); 975 String defaultName = Msg.translate(m_lang, "Standard"); 977 String defaultEntry = "'" + defaultName + "',"; 978 StringBuffer sqlCmd = null; 979 int no = 0; 980 981 int C_Channel_ID = DB.getKeyNextNo(AD_Client_ID, "C_Channel"); 983 sqlCmd = new StringBuffer ("INSERT INTO C_Channel "); 984 sqlCmd.append("(C_Channel_ID,Name,"); 985 sqlCmd.append(m_stdColumns).append(") VALUES ("); 986 sqlCmd.append(C_Channel_ID).append(",").append(defaultEntry); 987 sqlCmd.append(m_stdValues).append(")"); 988 no = DB.executeUpdate(sqlCmd.toString()); 989 if (no != 1) 990 Log.error("MSetup.createEntities - Channel NOT inserted"); 991 int C_Campaign_ID = DB.getKeyNextNo(AD_Client_ID, "C_Campaign"); 992 sqlCmd = new StringBuffer ("INSERT INTO C_Campaign "); 993 sqlCmd.append("(C_Campaign_ID,C_Channel_ID,").append(m_stdColumns).append(","); 994 sqlCmd.append(" Value,Name,Costs) VALUES ("); 995 sqlCmd.append(C_Campaign_ID).append(",").append(C_Channel_ID).append(",").append(m_stdValues).append(","); 996 sqlCmd.append(defaultEntry).append(defaultEntry).append("0)"); 997 no = DB.executeUpdate(sqlCmd.toString()); 998 if (no == 1) 999 m_info.append(Msg.translate(m_lang, "C_Campaign_ID")).append("=").append(defaultName).append("\n"); 1000 else 1001 Log.error("MSetup.createEntities - Campaign NOT inserted"); 1002 if (m_hasMCampaign) 1003 { 1004 sqlCmd = new StringBuffer ("UPDATE C_AcctSchema_Element SET "); 1006 sqlCmd.append("C_Campaign_ID=").append(C_Campaign_ID); 1007 sqlCmd.append(" WHERE C_AcctSchema_ID=").append(C_AcctSchema_ID); 1008 sqlCmd.append(" AND ElementType='MC'"); 1009 no = DB.executeUpdate(sqlCmd.toString()); 1010 if (no != 1) 1011 Log.error("MSetup.createEntities - AcctSchema ELement Campaign NOT updated"); 1012 } 1013 1014 int C_SalesRegion_ID = DB.getKeyNextNo(AD_Client_ID, "C_SalesRegion"); 1016 sqlCmd = new StringBuffer ("INSERT INTO C_SalesRegion "); 1017 sqlCmd.append("(C_SalesRegion_ID,").append(m_stdColumns).append(","); 1018 sqlCmd.append(" Value,Name,IsSummary) VALUES ("); 1019 sqlCmd.append(C_SalesRegion_ID).append(",").append(m_stdValues).append(", "); 1020 sqlCmd.append(defaultEntry).append(defaultEntry).append("'N')"); 1021 no = DB.executeUpdate(sqlCmd.toString()); 1022 if (no == 1) 1023 m_info.append(Msg.translate(m_lang, "C_SalesRegion_ID")).append("=").append(defaultName).append("\n"); 1024 else 1025 Log.error("MSetup.createEntities - SalesRegion NOT inserted"); 1026 if (m_hasSRegion) 1027 { 1028 sqlCmd = new StringBuffer ("UPDATE C_AcctSchema_Element SET "); 1030 sqlCmd.append("C_SalesRegion_ID=").append(C_SalesRegion_ID); 1031 sqlCmd.append(" WHERE C_AcctSchema_ID=").append(C_AcctSchema_ID); 1032 sqlCmd.append(" AND ElementType='SR'"); 1033 no = DB.executeUpdate(sqlCmd.toString()); 1034 if (no != 1) 1035 Log.error("MSetup.createEntities - AcctSchema ELement SalesRegion NOT updated"); 1036 } 1037 1038 1041 int C_BP_Group_ID = DB.getKeyNextNo(AD_Client_ID, "C_BP_Group"); 1043 sqlCmd = new StringBuffer ("INSERT INTO C_BP_Group "); 1044 sqlCmd.append("(C_BP_Group_ID,").append(m_stdColumns).append(","); 1045 sqlCmd.append(" Value,Name,IsDefault) VALUES ( "); 1046 sqlCmd.append(C_BP_Group_ID).append(",").append(m_stdValues).append(", "); 1047 sqlCmd.append(defaultEntry).append(defaultEntry).append("'Y')"); 1048 no = DB.executeUpdate(sqlCmd.toString()); 1049 if (no == 1) 1050 m_info.append(Msg.translate(m_lang, "C_BP_Group_ID")).append("=").append(defaultName).append("\n"); 1051 else 1052 Log.error("MSetup.createEntities - BP Group NOT inserted"); 1053 1054 int C_BPartner_ID = DB.getKeyNextNo(AD_Client_ID, "C_BPartner"); 1056 sqlCmd = new StringBuffer ("INSERT INTO C_BPartner "); 1057 sqlCmd.append("(C_BPartner_ID,").append(m_stdColumns).append(","); 1058 sqlCmd.append("Value,Name,C_BP_Group_ID,IsSummary) VALUES ("); 1059 sqlCmd.append(C_BPartner_ID).append(",").append(m_stdValues).append(", "); 1060 sqlCmd.append(defaultEntry).append(defaultEntry).append(C_BP_Group_ID).append(",'N')"); 1061 no = DB.executeUpdate(sqlCmd.toString()); 1062 if (no == 1) 1063 m_info.append(Msg.translate(m_lang, "C_BPartner_ID")).append("=").append(defaultName).append("\n"); 1064 else 1065 Log.error("MSetup.createEntities - BPartner NOT inserted"); 1066 sqlCmd = new StringBuffer ("UPDATE C_AcctSchema_Element SET "); 1068 sqlCmd.append("C_BPartner_ID=").append(C_BPartner_ID); 1069 sqlCmd.append(" WHERE C_AcctSchema_ID=").append(C_AcctSchema_ID); 1070 sqlCmd.append(" AND ElementType='BP'"); 1071 no = DB.executeUpdate(sqlCmd.toString()); 1072 if (no != 1) 1073 Log.error("MSetup.createEntities - AcctSchema Element BPartner NOT updated"); 1074 createPreference("C_BPartner_ID", String.valueOf(C_BPartner_ID), 143); 1075 1076 1079 int M_Product_Category_ID = DB.getKeyNextNo(AD_Client_ID, "M_Product_Category"); 1081 sqlCmd = new StringBuffer ("INSERT INTO M_Product_Category "); 1082 sqlCmd.append("(M_Product_Category_ID,").append(m_stdColumns).append(","); 1083 sqlCmd.append(" Value,Name,IsDefault,PlannedMargin) VALUES ("); 1084 sqlCmd.append(M_Product_Category_ID).append(",").append(m_stdValues).append(", "); 1085 sqlCmd.append(defaultEntry).append(defaultEntry).append("'Y',0)"); 1086 no = DB.executeUpdate(sqlCmd.toString()); 1087 if (no == 1) 1088 m_info.append(Msg.translate(m_lang, "M_Product_Category_ID")).append("=").append(defaultName).append("\n"); 1089 else 1090 Log.error("MSetup.createEntities - Product Category NOT inserted"); 1091 1092 int C_UOM_ID = 100; 1094 1095 int C_TaxCategory_ID = DB.getKeyNextNo(AD_Client_ID, "C_TaxCategory"); 1097 sqlCmd = new StringBuffer ("INSERT INTO C_TaxCategory "); 1098 sqlCmd.append("(C_TaxCategory_ID,").append(m_stdColumns).append(","); 1099 sqlCmd.append(" Name,IsDefault) VALUES ("); 1100 sqlCmd.append(C_TaxCategory_ID).append(",").append(m_stdValues).append(", "); 1101 if (C_Country_ID == 100) sqlCmd.append("'Sales Tax','Y')"); 1103 else 1104 sqlCmd.append(defaultEntry).append("'Y')"); 1105 no = DB.executeUpdate(sqlCmd.toString()); 1106 if (no != 1) 1107 Log.error("MSetup.createEntities - TaxCategory NOT inserted"); 1108 1109 int C_Tax_ID = DB.getKeyNextNo(AD_Client_ID, "C_Tax"); 1112 sqlCmd = new StringBuffer ("INSERT INTO C_Tax "); 1113 sqlCmd.append("(C_Tax_ID,").append(m_stdColumns).append(","); 1114 sqlCmd.append(" Name,Rate,C_TaxCategory_ID,C_Country_ID,TO_Country_ID,ValidFrom,SoPoType,IsDefault) VALUES ("); 1115 sqlCmd.append(C_Tax_ID).append(",").append(m_stdValues).append(", "); 1116 sqlCmd.append(defaultEntry).append("0,").append(C_TaxCategory_ID).append(",") 1117 .append(C_Country_ID).append(",").append(C_Country_ID) 1118 .append(",TO_DATE('1990-01-01','YYYY-MM-DD'),'B','Y')"); 1119 no = DB.executeUpdate(sqlCmd.toString()); 1120 if (no == 1) 1121 m_info.append(Msg.translate(m_lang, "C_Tax_ID")).append("=").append(defaultName).append("\n"); 1122 else 1123 Log.error("MSetup.createEntities - Tax NOT inserted"); 1124 1125 int M_Product_ID = DB.getKeyNextNo(AD_Client_ID, "M_Product"); 1127 sqlCmd = new StringBuffer ("INSERT INTO M_Product "); 1128 sqlCmd.append("(M_Product_ID,").append(m_stdColumns).append(","); 1129 sqlCmd.append(" Value,Name,C_UOM_ID,M_Product_Category_ID,C_TaxCategory_ID) VALUES ("); 1130 sqlCmd.append(M_Product_ID).append(",").append(m_stdValues).append(", "); 1131 sqlCmd.append(defaultEntry).append(defaultEntry); 1132 sqlCmd.append(C_UOM_ID).append(",").append(M_Product_Category_ID).append(","); 1133 sqlCmd.append(C_TaxCategory_ID).append(")"); 1134 no = DB.executeUpdate(sqlCmd.toString()); 1135 if (no == 1) 1136 m_info.append(Msg.translate(m_lang, "M_Product_ID")).append("=").append(defaultName).append("\n"); 1137 else 1138 Log.error("MSetup.createEntities - Product NOT inserted"); 1139 sqlCmd = new StringBuffer ("UPDATE C_AcctSchema_Element SET "); 1141 sqlCmd.append("M_Product_ID=").append(M_Product_ID); 1142 sqlCmd.append(" WHERE C_AcctSchema_ID=").append(C_AcctSchema_ID); 1143 sqlCmd.append(" AND ElementType='PR'"); 1144 no = DB.executeUpdate(sqlCmd.toString()); 1145 if (no != 1) 1146 Log.error("MSetup.createEntities - AcctSchema Element Product NOT updated"); 1147 1148 1151 int C_Location_ID = DB.getKeyNextNo(AD_Client_ID, "C_Location"); 1153 sqlCmd = new StringBuffer ("INSERT INTO C_Location ") 1154 .append("(C_Location_ID,").append(m_stdColumns).append(",") 1155 .append("City,C_Country_ID,C_Region_ID) VALUES ("); 1156 sqlCmd.append(C_Location_ID).append(",").append(m_stdValues).append(",") 1157 .append("'").append(City).append("',").append(C_Country_ID).append(","); 1158 if (C_Region_ID != 0) 1159 sqlCmd.append(C_Region_ID).append(")"); 1160 else 1161 sqlCmd.append("null)"); 1162 DB.executeUpdate(sqlCmd.toString()); 1163 sqlCmd = new StringBuffer ("UPDATE AD_OrgInfo SET C_Location_ID="); 1164 sqlCmd.append(C_Location_ID).append(" WHERE AD_Org_ID=").append(AD_Org_ID); 1165 no = DB.executeUpdate(sqlCmd.toString()); 1166 if (no != 1) 1167 Log.error("MSetup.createEntities - Location NOT inserted"); 1168 createPreference("C_Country_ID", String.valueOf(C_Country_ID), 0); 1169 1170 int M_Warehouse_ID = DB.getKeyNextNo(AD_Client_ID, "M_Warehouse"); 1172 sqlCmd = new StringBuffer ("INSERT INTO M_Warehouse "); 1173 sqlCmd.append("(M_Warehouse_ID,").append(m_stdColumns).append(","); 1174 sqlCmd.append(" Value,Name,C_Location_ID,Separator) VALUES ("); 1175 sqlCmd.append(M_Warehouse_ID).append(",").append(m_stdValues).append(", "); 1176 sqlCmd.append(defaultEntry).append(defaultEntry).append(C_Location_ID).append(",'-')"); 1177 no = DB.executeUpdate(sqlCmd.toString()); 1178 if (no != 1) 1179 Log.error("MSetup.createEntities - Warehouse NOT inserted"); 1180 1181 int M_Locator_ID = DB.getKeyNextNo(AD_Client_ID, "M_Locator"); 1183 sqlCmd = new StringBuffer ("INSERT INTO M_Locator "); 1184 sqlCmd.append("(M_Locator_ID,").append(m_stdColumns).append(","); 1185 sqlCmd.append(" Value,M_Warehouse_ID,X,Y,Z,PriorityNo,IsDefault) VALUES ("); 1186 sqlCmd.append(M_Locator_ID).append(",").append(m_stdValues).append(", "); 1187 sqlCmd.append(defaultEntry).append(M_Warehouse_ID).append(",0,0,0,50,'Y')"); 1188 no = DB.executeUpdate(sqlCmd.toString()); 1189 if (no != 1) 1190 Log.error("MSetup.createEntities - Locator NOT inserted"); 1191 1192 sqlCmd = new StringBuffer ("UPDATE AD_ClientInfo SET "); 1194 sqlCmd.append("C_BPartnerCashTrx_ID=").append(C_BPartner_ID); 1195 sqlCmd.append(",M_ProductFreight_ID=").append(M_Product_ID); 1196 sqlCmd.append(" WHERE AD_Client_ID=").append(AD_Client_ID); 1201 no = DB.executeUpdate(sqlCmd.toString()); 1202 if (no != 1) 1203 { 1204 String err = "MSetup.createEntities - ClientInfo not updated"; 1205 Log.error(err); 1206 m_info.append(err); 1207 return false; 1208 } 1209 1210 1213 int M_PriceList_ID = DB.getKeyNextNo(AD_Client_ID, "M_PriceList"); 1215 sqlCmd = new StringBuffer ("INSERT INTO M_PriceList "); 1216 sqlCmd.append("(M_PriceList_ID,").append(m_stdColumns).append(","); 1217 sqlCmd.append(" Name,C_Currency_ID,IsDefault) VALUES ("); 1218 sqlCmd.append(M_PriceList_ID).append(",").append(m_stdValues).append(", "); 1219 sqlCmd.append(defaultEntry).append(C_Currency_ID).append(",'Y')"); 1220 no = DB.executeUpdate(sqlCmd.toString()); 1221 if (no != 1) 1222 Log.error("MSetup.createEntities - PriceList NOT inserted"); 1223 int M_DiscountSchema_ID = DB.getKeyNextNo(AD_Client_ID, "M_DiscountSchema"); 1225 sqlCmd = new StringBuffer ("INSERT INTO M_DiscountSchema "); 1226 sqlCmd.append("(M_DiscountSchema_ID,").append(m_stdColumns).append(","); 1227 sqlCmd.append(" Name,ValidFrom,DiscountType, FlatDiscount) VALUES ("); 1228 sqlCmd.append(M_DiscountSchema_ID).append(",").append(m_stdValues).append(", "); 1229 sqlCmd.append(defaultEntry).append("SysDate,'P',0)"); no = DB.executeUpdate(sqlCmd.toString()); 1231 if (no != 1) 1232 Log.error("MSetup.createEntities - DiscountSchema NOT inserted"); 1233 int M_PriceList_Version_ID = DB.getKeyNextNo(AD_Client_ID, "M_PriceList_Version"); 1235 sqlCmd = new StringBuffer ("INSERT INTO M_PriceList_Version "); 1236 sqlCmd.append("(M_PriceList_Version_ID,").append(m_stdColumns).append(","); 1237 sqlCmd.append(" Name,ValidFrom,M_PriceList_ID,M_DiscountSchema_ID) VALUES ("); 1238 sqlCmd.append(M_PriceList_Version_ID).append(",").append(m_stdValues).append(","); 1239 sqlCmd.append("TO_CHAR(SysDate,'YYYY-MM-DD'),SysDate,").append(M_PriceList_ID) 1240 .append(",").append(M_DiscountSchema_ID).append(")"); 1241 no = DB.executeUpdate(sqlCmd.toString()); 1242 if (no != 1) 1243 Log.error("MSetup.createEntities - PriceList_Version NOT inserted"); 1244 sqlCmd = new StringBuffer ("INSERT INTO M_ProductPrice "); 1246 sqlCmd.append("(M_PriceList_Version_ID,").append(m_stdColumns).append(","); 1247 sqlCmd.append("M_Product_ID,PriceList,PriceStd,PriceLimit) VALUES ("); 1248 sqlCmd.append(M_PriceList_Version_ID).append(",").append(m_stdValues).append(","); 1249 sqlCmd.append(M_Product_ID).append(",1,1,1)"); 1250 no = DB.executeUpdate(sqlCmd.toString()); 1251 if (no != 1) 1252 Log.error("MSetup.createEntities - ProductPrice NOT inserted"); 1253 1254 C_Location_ID = DB.getKeyNextNo(AD_Client_ID, "C_Location"); 1256 sqlCmd = new StringBuffer ("INSERT INTO C_Location ") 1257 .append("(C_Location_ID,").append(m_stdColumns).append(",") 1258 .append("City,C_Country_ID,C_Region_ID) VALUES ("); 1259 sqlCmd.append(C_Location_ID).append(",").append(m_stdValues).append(",") 1260 .append("'").append(City).append("',").append(C_Country_ID).append(","); 1261 if (C_Region_ID != 0) 1262 sqlCmd.append(C_Region_ID).append(")"); 1263 else 1264 sqlCmd.append("null)"); 1265 DB.executeUpdate(sqlCmd.toString()); 1266 int C_BPartner_Location_ID = DB.getKeyNextNo(AD_Client_ID, "C_BPartner_Location"); 1267 sqlCmd = new StringBuffer ("INSERT INTO C_BPartner_Location "); 1268 sqlCmd.append("(C_BPartner_Location_ID,").append(m_stdColumns).append(","); 1269 sqlCmd.append("Name,C_BPartner_ID,C_Location_ID) VALUES ("); 1270 sqlCmd.append(C_BPartner_Location_ID).append(",").append(m_stdValues).append(","); 1271 sqlCmd.append("'").append(City).append("',").append(C_BPartner_ID).append(",").append(C_Location_ID).append(")"); 1272 no = DB.executeUpdate(sqlCmd.toString()); 1273 if (no != 1) 1274 Log.error("MSetup.createEntities - BP_Location (Standard) NOT inserted"); 1275 1276 C_BPartner_ID = DB.getKeyNextNo(AD_Client_ID, "C_BPartner"); 1278 sqlCmd = new StringBuffer ("INSERT INTO C_BPartner "); 1279 sqlCmd.append("(C_BPartner_ID,").append(m_stdColumns).append(","); 1280 sqlCmd.append("Value,Name,C_BP_Group_ID,IsSummary,IsEmployee,IsSalesRep,IsVendor) VALUES ("); 1281 sqlCmd.append(C_BPartner_ID).append(",").append(m_stdValues).append(","); 1282 sqlCmd.append("'").append(AD_User_U_Name).append("','").append(AD_User_U_Name).append("',"); 1283 sqlCmd.append(C_BP_Group_ID).append(",'N','Y','Y','Y')"); 1284 no = DB.executeUpdate(sqlCmd.toString()); 1285 if (no == 1) 1286 m_info.append(Msg.translate(m_lang, "SalesRep_ID")).append("=").append(AD_User_U_Name).append("\n"); 1287 else 1288 Log.error("MSetup.createEntities - SalesRep (User) NOT inserted"); 1289 sqlCmd = new StringBuffer ("UPDATE AD_User SET C_BPartner_ID="); 1291 sqlCmd.append(C_BPartner_ID).append(" WHERE AD_User_ID=").append(AD_User_U_ID); 1292 no = DB.executeUpdate(sqlCmd.toString()); 1293 if (no != 1) 1294 Log.error("MSetup.createEntities - User of SalesRep (User) NOT updated"); 1295 1296 C_Location_ID = DB.getKeyNextNo(AD_Client_ID, "C_Location"); 1298 sqlCmd = new StringBuffer ("INSERT INTO C_Location ") 1299 .append("(C_Location_ID,").append(m_stdColumns).append(",") 1300 .append("City,C_Country_ID,C_Region_ID) VALUES ("); 1301 sqlCmd.append(C_Location_ID).append(",").append(m_stdValues).append(",") 1302 .append("'").append(City).append("',").append(C_Country_ID).append(","); 1303 if (C_Region_ID != 0) 1304 sqlCmd.append(C_Region_ID).append(")"); 1305 else 1306 sqlCmd.append("null)"); 1307 DB.executeUpdate(sqlCmd.toString()); 1308 C_BPartner_Location_ID = DB.getKeyNextNo(AD_Client_ID, "C_BPartner_Location"); 1309 sqlCmd = new StringBuffer ("INSERT INTO C_BPartner_Location "); 1310 sqlCmd.append("(C_BPartner_Location_ID,").append(m_stdColumns).append(","); 1311 sqlCmd.append("Name,C_BPartner_ID,C_Location_ID) VALUES ("); 1312 sqlCmd.append(C_BPartner_Location_ID).append(",").append(m_stdValues).append(","); 1313 sqlCmd.append("'").append(City).append("',").append(C_BPartner_ID).append(",").append(C_Location_ID).append(")"); 1314 no = DB.executeUpdate(sqlCmd.toString()); 1315 if (no != 1) 1316 Log.error("MSetup.createEntities - BP_Location (User) NOT inserted"); 1317 1318 1319 C_BPartner_ID = DB.getKeyNextNo(AD_Client_ID, "C_BPartner"); 1321 sqlCmd = new StringBuffer ("INSERT INTO C_BPartner "); 1322 sqlCmd.append("(C_BPartner_ID,").append(m_stdColumns).append(","); 1323 sqlCmd.append("Value,Name,C_BP_Group_ID,IsSummary,IsEmployee,IsSalesRep,IsVendor) VALUES ("); 1324 sqlCmd.append(C_BPartner_ID).append(",").append(m_stdValues).append(","); 1325 sqlCmd.append("'").append(AD_User_Name).append("','").append(AD_User_Name).append("',"); 1326 sqlCmd.append(C_BP_Group_ID).append(",'N','Y','Y','Y')"); 1327 no = DB.executeUpdate(sqlCmd.toString()); 1328 if (no == 1) 1329 m_info.append(Msg.translate(m_lang, "SalesRep_ID")).append("=").append(AD_User_Name).append("\n"); 1330 else 1331 Log.error("MSetup.createEntities - SalesRep (Admin) NOT inserted"); 1332 sqlCmd = new StringBuffer ("UPDATE AD_User SET C_BPartner_ID="); 1334 sqlCmd.append(C_BPartner_ID).append(" WHERE AD_User_ID=").append(AD_User_ID); 1335 no = DB.executeUpdate(sqlCmd.toString()); 1336 if (no != 1) 1337 Log.error("MSetup.createEntities - User of SalesRep (Admin) NOT updated"); 1338 1339 C_Location_ID = DB.getKeyNextNo(AD_Client_ID, "C_Location"); 1341 sqlCmd = new StringBuffer ("INSERT INTO C_Location ") 1342 .append("(C_Location_ID,").append(m_stdColumns).append(",") 1343 .append("City,C_Country_ID,C_Region_ID) VALUES ("); 1344 sqlCmd.append(C_Location_ID).append(",").append(m_stdValues).append(",") 1345 .append("'").append(City).append("',").append(C_Country_ID).append(","); 1346 if (C_Region_ID != 0) 1347 sqlCmd.append(C_Region_ID).append(")"); 1348 else 1349 sqlCmd.append("null)"); 1350 DB.executeUpdate(sqlCmd.toString()); 1351 C_BPartner_Location_ID = DB.getKeyNextNo(AD_Client_ID, "C_BPartner_Location"); 1352 sqlCmd = new StringBuffer ("INSERT INTO C_BPartner_Location "); 1353 sqlCmd.append("(C_BPartner_Location_ID,").append(m_stdColumns).append(","); 1354 sqlCmd.append("Name,C_BPartner_ID,C_Location_ID) VALUES ("); 1355 sqlCmd.append(C_BPartner_Location_ID).append(",").append(m_stdValues).append(","); 1356 sqlCmd.append("'").append(City).append("',").append(C_BPartner_ID).append(",").append(C_Location_ID).append(")"); 1357 no = DB.executeUpdate(sqlCmd.toString()); 1358 if (no != 1) 1359 Log.error("MSetup.createEntities - BP_Location (Admin) NOT inserted"); 1360 1361 1362 int C_PaymentTerm_ID = DB.getKeyNextNo(AD_Client_ID, "C_PaymentTerm"); 1364 sqlCmd = new StringBuffer ("INSERT INTO C_PaymentTerm "); 1365 sqlCmd.append("(C_PaymentTerm_ID,").append(m_stdColumns).append(","); 1366 sqlCmd.append("Value,Name,NetDays,GraceDays,DiscountDays,Discount,DiscountDays2,Discount2,IsDefault) VALUES ("); 1367 sqlCmd.append(C_PaymentTerm_ID).append(",").append(m_stdValues).append(","); 1368 sqlCmd.append("'Immediate','Immediate',0,0,0,0,0,0,'Y')"); 1369 no = DB.executeUpdate(sqlCmd.toString()); 1370 if (no != 1) 1371 Log.error("MSetup.createEntities - PaymentTerm NOT inserted"); 1372 1373 C_Cycle_ID = DB.getKeyNextNo(AD_Client_ID, "C_Cycle"); 1375 sqlCmd = new StringBuffer ("INSERT INTO C_Cycle "); 1376 sqlCmd.append("(C_Cycle_ID,").append(m_stdColumns).append(","); 1377 sqlCmd.append(" Name,C_Currency_ID) VALUES ("); 1378 sqlCmd.append(C_Cycle_ID).append(",").append(m_stdValues).append(", "); 1379 sqlCmd.append(defaultEntry).append(C_Currency_ID).append(")"); 1380 no = DB.executeUpdate(sqlCmd.toString()); 1381 if (no != 1) 1382 Log.error("MSetup.createEntities - Cycle NOT inserted"); 1383 1384 1387 1388 int C_Project_ID = DB.getKeyNextNo(AD_Client_ID, "C_Project"); 1390 sqlCmd = new StringBuffer ("INSERT INTO C_Project "); 1391 sqlCmd.append("(C_Project_ID,").append(m_stdColumns).append(","); 1392 sqlCmd.append(" Value,Name,C_Currency_ID,IsSummary) VALUES ("); 1393 sqlCmd.append(C_Project_ID).append(",").append(m_stdValuesOrg).append(", "); 1394 sqlCmd.append(defaultEntry).append(defaultEntry).append(C_Currency_ID).append(",'N')"); 1395 no = DB.executeUpdate(sqlCmd.toString()); 1396 if (no == 1) 1397 m_info.append(Msg.translate(m_lang, "C_Project_ID")).append("=").append(defaultName).append("\n"); 1398 else 1399 Log.error("MSetup.createEntities - Project NOT inserted"); 1400 if (m_hasProject) 1402 { 1403 sqlCmd = new StringBuffer ("UPDATE C_AcctSchema_Element SET "); 1404 sqlCmd.append("C_Project_ID=").append(C_Project_ID); 1405 sqlCmd.append(" WHERE C_AcctSchema_ID=").append(C_AcctSchema_ID); 1406 sqlCmd.append(" AND ElementType='PJ'"); 1407 no = DB.executeUpdate(sqlCmd.toString()); 1408 if (no != 1) 1409 Log.error("MSetup.createEntities - AcctSchema ELement Project NOT updated"); 1410 } 1411 1412 int C_CashBook_ID = DB.getKeyNextNo(AD_Client_ID, "C_CashBook"); 1414 sqlCmd = new StringBuffer ("INSERT INTO C_CashBook "); 1415 sqlCmd.append("(C_CashBook_ID,").append(m_stdColumns).append(","); 1416 sqlCmd.append(" Name,C_Currency_ID) VALUES ("); 1417 sqlCmd.append(C_CashBook_ID).append(",").append(m_stdValuesOrg).append(", "); 1418 sqlCmd.append(defaultEntry).append(C_Currency_ID).append(")"); 1419 no = DB.executeUpdate(sqlCmd.toString()); 1420 if (no == 1) 1421 m_info.append(Msg.translate(m_lang, "C_CashBook_ID")).append("=").append(defaultName).append("\n"); 1422 else 1423 Log.error("MSetup.createEntities - CashBook NOT inserted"); 1424 1425 return true; 1426 } 1428 1434 private void createPreference (String Attribute, String Value, int AD_Window_ID) 1435 { 1436 int AD_Preference_ID = DB.getKeyNextNo(AD_Client_ID, "AD_Preference"); 1437 StringBuffer sqlCmd = new StringBuffer ("INSERT INTO AD_Preference "); 1438 sqlCmd.append("(AD_Preference_ID,").append(m_stdColumns).append(","); 1439 sqlCmd.append("Attribute,Value,AD_Window_ID) VALUES ("); 1440 sqlCmd.append(AD_Preference_ID).append(",").append(m_stdValues).append(","); 1441 sqlCmd.append("'").append(Attribute).append("','").append(Value).append("',"); 1442 if (AD_Window_ID == 0) 1443 sqlCmd.append("NULL)"); 1444 else 1445 sqlCmd.append(AD_Window_ID).append(")"); 1446 int no = DB.executeUpdate(sqlCmd.toString()); 1447 if (no != 1) 1448 Log.error("MSetup.createPreference - Preference NOT inserted - " + Attribute); 1449 } 1451 1452 1453 1457 public int getAD_Client_ID() 1458 { 1459 return AD_Client_ID; 1460 } 1461 public int getAD_Org_ID() 1462 { 1463 return AD_Org_ID; 1464 } 1465 public int getAD_User_ID() 1466 { 1467 return AD_User_ID; 1468 } 1469 public int getAD_Role_ID() 1470 { 1471 return AD_Role_ID; 1472 } 1473 public int getC_AcctSchema_ID() 1474 { 1475 return C_AcctSchema_ID; 1476 } 1477 public String getInfo() 1478 { 1479 return m_info.toString(); 1480 } 1481} | Popular Tags |