Merge release-1.0c changes to development

This commit is contained in:
Heng Sin Low 2013-07-19 10:41:02 +08:00
commit 42bbcfc2de
46 changed files with 1747 additions and 1442 deletions

View File

@ -0,0 +1,76 @@
-- Jul 15, 2013 10:36:11 AM COT
-- IDEMPIERE-1173 Fixed landed cost allocation for Average Costing
UPDATE AD_Field SET SeqNo=280, AD_FieldGroup_ID=200013, IsDisplayed='Y', XPosition=4,Updated=TO_DATE('2013-07-15 10:36:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=58783
;
-- Jul 15, 2013 10:36:11 AM COT
UPDATE AD_Field SET SeqNo=290,Updated=TO_DATE('2013-07-15 10:36:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=2662
;
-- Jul 15, 2013 10:36:12 AM COT
UPDATE AD_Field SET SeqNo=300,Updated=TO_DATE('2013-07-15 10:36:12','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=3842
;
-- Jul 15, 2013 10:36:12 AM COT
UPDATE AD_Field SET SeqNo=310,Updated=TO_DATE('2013-07-15 10:36:12','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=3841
;
-- Jul 15, 2013 10:36:12 AM COT
UPDATE AD_Field SET SeqNo=320,Updated=TO_DATE('2013-07-15 10:36:12','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5132
;
-- Jul 15, 2013 10:36:12 AM COT
UPDATE AD_Field SET SeqNo=330,Updated=TO_DATE('2013-07-15 10:36:12','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5133
;
-- Jul 15, 2013 10:36:12 AM COT
UPDATE AD_Field SET SeqNo=340,Updated=TO_DATE('2013-07-15 10:36:12','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=3845
;
-- Jul 15, 2013 10:36:12 AM COT
UPDATE AD_Field SET SeqNo=350,Updated=TO_DATE('2013-07-15 10:36:12','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=3844
;
-- Jul 15, 2013 10:36:12 AM COT
UPDATE AD_Field SET SeqNo=360,Updated=TO_DATE('2013-07-15 10:36:12','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=3839
;
-- Jul 15, 2013 10:36:12 AM COT
UPDATE AD_Field SET SeqNo=370,Updated=TO_DATE('2013-07-15 10:36:12','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=3840
;
-- Jul 15, 2013 10:36:12 AM COT
UPDATE AD_Field SET SeqNo=380,Updated=TO_DATE('2013-07-15 10:36:12','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=3836
;
-- Jul 15, 2013 10:36:12 AM COT
UPDATE AD_Field SET SeqNo=390,Updated=TO_DATE('2013-07-15 10:36:12','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=3851
;
-- Jul 15, 2013 10:36:12 AM COT
UPDATE AD_Field SET SeqNo=400,Updated=TO_DATE('2013-07-15 10:36:12','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=2654
;
-- Jul 15, 2013 10:36:12 AM COT
UPDATE AD_Field SET SeqNo=410,Updated=TO_DATE('2013-07-15 10:36:12','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=3835
;
-- Jul 15, 2013 10:36:12 AM COT
UPDATE AD_Field SET SeqNo=420,Updated=TO_DATE('2013-07-15 10:36:12','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=3823
;
-- Jul 15, 2013 10:36:42 AM COT
UPDATE AD_Field SET SeqNo=190, IsDisplayed='Y', XPosition=4,Updated=TO_DATE('2013-07-15 10:36:42','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=58784
;
-- Jul 15, 2013 10:36:42 AM COT
UPDATE AD_Field SET SeqNo=200,Updated=TO_DATE('2013-07-15 10:36:42','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=3945
;
-- Jul 15, 2013 10:37:13 AM COT
UPDATE AD_Field SET SeqNo=170, IsDisplayed='Y', XPosition=4,Updated=TO_DATE('2013-07-15 10:37:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=58785
;
SELECT register_migration_script('201307151037_IDEMPIERE-1173.sql') FROM dual
;

View File

@ -0,0 +1,20 @@
-- Jul 15, 2013 3:50:50 PM COT
-- IDEMPIERE-1176 Cannot generate UUIDs on migrated database
INSERT INTO AD_Element (ColumnName,AD_Element_ID,Name,PrintName,AD_Element_UU,Created,Updated,AD_Org_ID,CreatedBy,UpdatedBy,IsActive,AD_Client_ID,EntityType) VALUES ('IsFillUUID',202570,'Fill UUID','Fill UUID','512112d3-bf9b-49a3-a354-90c710d52c6f',TO_DATE('2013-07-15 15:50:49','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2013-07-15 15:50:49','YYYY-MM-DD HH24:MI:SS'),0,100,100,'Y',0,'D')
;
-- Jul 15, 2013 3:50:50 PM COT
INSERT INTO AD_Element_Trl (AD_Language,AD_Element_ID, Help,PO_Description,PO_Help,Name,Description,PrintName,PO_Name,PO_PrintName, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Element_Trl_UU ) SELECT l.AD_Language,t.AD_Element_ID, t.Help,t.PO_Description,t.PO_Help,t.Name,t.Description,t.PrintName,t.PO_Name,t.PO_PrintName, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Element t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Element_ID=202570 AND NOT EXISTS (SELECT * FROM AD_Element_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Element_ID=t.AD_Element_ID)
;
-- Jul 15, 2013 3:51:35 PM COT
INSERT INTO AD_Process_Para (IsRange,AD_Element_ID,AD_Process_Para_ID,AD_Process_Para_UU,AD_Process_ID,AD_Reference_ID,IsMandatory,EntityType,Name,ColumnName,FieldLength,IsCentrallyMaintained,SeqNo,DefaultValue,IsActive,UpdatedBy,Updated,CreatedBy,Created,AD_Org_ID,IsEncrypted,AD_Client_ID) VALUES ('N',202570,200068,'ecd91936-ca2c-4262-87c1-4861c8b00663',53252,20,'Y','D','Fill UUID','IsFillUUID',10,'Y',20,'Y','Y',100,TO_DATE('2013-07-15 15:51:34','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2013-07-15 15:51:34','YYYY-MM-DD HH24:MI:SS'),0,'N',0)
;
-- Jul 15, 2013 3:51:35 PM COT
INSERT INTO AD_Process_Para_Trl (AD_Language,AD_Process_Para_ID, Help,Name,Description, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Process_Para_Trl_UU ) SELECT l.AD_Language,t.AD_Process_Para_ID, t.Help,t.Name,t.Description, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Process_Para t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Process_Para_ID=200068 AND NOT EXISTS (SELECT * FROM AD_Process_Para_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Process_Para_ID=t.AD_Process_Para_ID)
;
SELECT register_migration_script('201307151553_IDEMPIERE-1176.sql') FROM dual
;

View File

@ -0,0 +1,12 @@
-- Jul 17, 2013 9:14:59 AM COT
-- IDEMPIERE-984 Change Role and Logout must check for unsaved records on open windows
INSERT INTO AD_Message (MsgType,MsgText,MsgTip,AD_Message_ID,EntityType,AD_Message_UU,Value,IsActive,Updated,CreatedBy,UpdatedBy,AD_Org_ID,Created,AD_Client_ID) VALUES ('I','There are records that haven''t been saved yet. ','Do you still want to proceed?',200207,'D','78553b48-d536-4366-90ee-7fc69e80f35a','ProceedWithTask?','Y',TO_DATE('2013-07-17 09:14:58','YYYY-MM-DD HH24:MI:SS'),100,100,0,TO_DATE('2013-07-17 09:14:58','YYYY-MM-DD HH24:MI:SS'),0)
;
-- Jul 17, 2013 9:14:59 AM COT
-- IDEMPIERE-984 Change Role and Logout must check for unsaved records on open windows
INSERT INTO AD_Message_Trl (AD_Language,AD_Message_ID, MsgText,MsgTip, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Message_Trl_UU ) SELECT l.AD_Language,t.AD_Message_ID, t.MsgText,t.MsgTip, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Message t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Message_ID=200207 AND NOT EXISTS (SELECT * FROM AD_Message_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Message_ID=t.AD_Message_ID)
;
SELECT register_migration_script('20130717091459_IDEMPIERE-984.sql') FROM dual
;

View File

@ -0,0 +1,8 @@
-- Jul 17, 2013 1:10:17 PM COT
-- IDEMPIERE-347 passwords hash
UPDATE AD_Column SET ReadOnlyLogic='@AD_User_ID@=0',Updated=TO_DATE('2013-07-17 13:10:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Column_ID=417
;
SELECT register_migration_script('201307171313_IDEMPIERE-347.sql') FROM dual
;

View File

@ -0,0 +1,76 @@
-- Jul 15, 2013 10:36:11 AM COT
-- IDEMPIERE-1173 Fixed landed cost allocation for Average Costing
UPDATE AD_Field SET SeqNo=280, AD_FieldGroup_ID=200013, IsDisplayed='Y', XPosition=4,Updated=TO_TIMESTAMP('2013-07-15 10:36:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=58783
;
-- Jul 15, 2013 10:36:11 AM COT
UPDATE AD_Field SET SeqNo=290,Updated=TO_TIMESTAMP('2013-07-15 10:36:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=2662
;
-- Jul 15, 2013 10:36:12 AM COT
UPDATE AD_Field SET SeqNo=300,Updated=TO_TIMESTAMP('2013-07-15 10:36:12','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=3842
;
-- Jul 15, 2013 10:36:12 AM COT
UPDATE AD_Field SET SeqNo=310,Updated=TO_TIMESTAMP('2013-07-15 10:36:12','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=3841
;
-- Jul 15, 2013 10:36:12 AM COT
UPDATE AD_Field SET SeqNo=320,Updated=TO_TIMESTAMP('2013-07-15 10:36:12','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5132
;
-- Jul 15, 2013 10:36:12 AM COT
UPDATE AD_Field SET SeqNo=330,Updated=TO_TIMESTAMP('2013-07-15 10:36:12','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5133
;
-- Jul 15, 2013 10:36:12 AM COT
UPDATE AD_Field SET SeqNo=340,Updated=TO_TIMESTAMP('2013-07-15 10:36:12','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=3845
;
-- Jul 15, 2013 10:36:12 AM COT
UPDATE AD_Field SET SeqNo=350,Updated=TO_TIMESTAMP('2013-07-15 10:36:12','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=3844
;
-- Jul 15, 2013 10:36:12 AM COT
UPDATE AD_Field SET SeqNo=360,Updated=TO_TIMESTAMP('2013-07-15 10:36:12','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=3839
;
-- Jul 15, 2013 10:36:12 AM COT
UPDATE AD_Field SET SeqNo=370,Updated=TO_TIMESTAMP('2013-07-15 10:36:12','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=3840
;
-- Jul 15, 2013 10:36:12 AM COT
UPDATE AD_Field SET SeqNo=380,Updated=TO_TIMESTAMP('2013-07-15 10:36:12','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=3836
;
-- Jul 15, 2013 10:36:12 AM COT
UPDATE AD_Field SET SeqNo=390,Updated=TO_TIMESTAMP('2013-07-15 10:36:12','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=3851
;
-- Jul 15, 2013 10:36:12 AM COT
UPDATE AD_Field SET SeqNo=400,Updated=TO_TIMESTAMP('2013-07-15 10:36:12','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=2654
;
-- Jul 15, 2013 10:36:12 AM COT
UPDATE AD_Field SET SeqNo=410,Updated=TO_TIMESTAMP('2013-07-15 10:36:12','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=3835
;
-- Jul 15, 2013 10:36:12 AM COT
UPDATE AD_Field SET SeqNo=420,Updated=TO_TIMESTAMP('2013-07-15 10:36:12','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=3823
;
-- Jul 15, 2013 10:36:42 AM COT
UPDATE AD_Field SET SeqNo=190, IsDisplayed='Y', XPosition=4,Updated=TO_TIMESTAMP('2013-07-15 10:36:42','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=58784
;
-- Jul 15, 2013 10:36:42 AM COT
UPDATE AD_Field SET SeqNo=200,Updated=TO_TIMESTAMP('2013-07-15 10:36:42','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=3945
;
-- Jul 15, 2013 10:37:13 AM COT
UPDATE AD_Field SET SeqNo=170, IsDisplayed='Y', XPosition=4,Updated=TO_TIMESTAMP('2013-07-15 10:37:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=58785
;
SELECT register_migration_script('201307151037_IDEMPIERE-1173.sql') FROM dual
;

View File

@ -0,0 +1,20 @@
-- Jul 15, 2013 3:50:50 PM COT
-- IDEMPIERE-1176 Cannot generate UUIDs on migrated database
INSERT INTO AD_Element (ColumnName,AD_Element_ID,Name,PrintName,AD_Element_UU,Created,Updated,AD_Org_ID,CreatedBy,UpdatedBy,IsActive,AD_Client_ID,EntityType) VALUES ('IsFillUUID',202570,'Fill UUID','Fill UUID','512112d3-bf9b-49a3-a354-90c710d52c6f',TO_TIMESTAMP('2013-07-15 15:50:49','YYYY-MM-DD HH24:MI:SS'),TO_TIMESTAMP('2013-07-15 15:50:49','YYYY-MM-DD HH24:MI:SS'),0,100,100,'Y',0,'D')
;
-- Jul 15, 2013 3:50:50 PM COT
INSERT INTO AD_Element_Trl (AD_Language,AD_Element_ID, Help,PO_Description,PO_Help,Name,Description,PrintName,PO_Name,PO_PrintName, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Element_Trl_UU ) SELECT l.AD_Language,t.AD_Element_ID, t.Help,t.PO_Description,t.PO_Help,t.Name,t.Description,t.PrintName,t.PO_Name,t.PO_PrintName, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Element t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Element_ID=202570 AND NOT EXISTS (SELECT * FROM AD_Element_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Element_ID=t.AD_Element_ID)
;
-- Jul 15, 2013 3:51:35 PM COT
INSERT INTO AD_Process_Para (IsRange,AD_Element_ID,AD_Process_Para_ID,AD_Process_Para_UU,AD_Process_ID,AD_Reference_ID,IsMandatory,EntityType,Name,ColumnName,FieldLength,IsCentrallyMaintained,SeqNo,DefaultValue,IsActive,UpdatedBy,Updated,CreatedBy,Created,AD_Org_ID,IsEncrypted,AD_Client_ID) VALUES ('N',202570,200068,'ecd91936-ca2c-4262-87c1-4861c8b00663',53252,20,'Y','D','Fill UUID','IsFillUUID',10,'Y',20,'Y','Y',100,TO_TIMESTAMP('2013-07-15 15:51:34','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2013-07-15 15:51:34','YYYY-MM-DD HH24:MI:SS'),0,'N',0)
;
-- Jul 15, 2013 3:51:35 PM COT
INSERT INTO AD_Process_Para_Trl (AD_Language,AD_Process_Para_ID, Help,Name,Description, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Process_Para_Trl_UU ) SELECT l.AD_Language,t.AD_Process_Para_ID, t.Help,t.Name,t.Description, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Process_Para t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Process_Para_ID=200068 AND NOT EXISTS (SELECT * FROM AD_Process_Para_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Process_Para_ID=t.AD_Process_Para_ID)
;
SELECT register_migration_script('201307151553_IDEMPIERE-1176.sql') FROM dual
;

View File

@ -0,0 +1,12 @@
-- Jul 17, 2013 9:14:59 AM COT
-- IDEMPIERE-984 Change Role and Logout must check for unsaved records on open windows
INSERT INTO AD_Message (MsgType,MsgText,MsgTip,AD_Message_ID,EntityType,AD_Message_UU,Value,IsActive,Updated,CreatedBy,UpdatedBy,AD_Org_ID,Created,AD_Client_ID) VALUES ('I','There are records that haven''t been saved yet. ','Do you still want to proceed?',200207,'D','78553b48-d536-4366-90ee-7fc69e80f35a','ProceedWithTask?','Y',TO_TIMESTAMP('2013-07-17 09:14:58','YYYY-MM-DD HH24:MI:SS'),100,100,0,TO_TIMESTAMP('2013-07-17 09:14:58','YYYY-MM-DD HH24:MI:SS'),0)
;
-- Jul 17, 2013 9:14:59 AM COT
-- IDEMPIERE-984 Change Role and Logout must check for unsaved records on open windows
INSERT INTO AD_Message_Trl (AD_Language,AD_Message_ID, MsgText,MsgTip, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Message_Trl_UU ) SELECT l.AD_Language,t.AD_Message_ID, t.MsgText,t.MsgTip, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Message t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Message_ID=200207 AND NOT EXISTS (SELECT * FROM AD_Message_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Message_ID=t.AD_Message_ID)
;
SELECT register_migration_script('20130717091459_IDEMPIERE-984.sql') FROM dual
;

View File

@ -0,0 +1,8 @@
-- Jul 17, 2013 1:10:17 PM COT
-- IDEMPIERE-347 passwords hash
UPDATE AD_Column SET ReadOnlyLogic='@AD_User_ID@=0',Updated=TO_TIMESTAMP('2013-07-17 13:10:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Column_ID=417
;
SELECT register_migration_script('201307171313_IDEMPIERE-347.sql') FROM dual
;

View File

@ -0,0 +1,36 @@
/******************************************************************************
* Product: iDempiere ERP & CRM Smart Business Solution *
* Copyright (C) 2012 Heng Sin Low *
* Copyright (C) 2012 www.iDempiere.org *
* This program is free software; you can redistribute it and/or modify it *
* under the terms version 2 of the GNU General Public License as published *
* by the Free Software Foundation. This program is distributed in the hope *
* that it will be useful, but WITHOUT ANY WARRANTY; without even the implied *
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* See the GNU General Public License for more details. *
* You should have received a copy of the GNU General Public License along *
* with this program; if not, write to the Free Software Foundation, Inc., *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
*****************************************************************************/
package org.adempiere.exceptions;
/**
*
* @author hengsin
*
*/
public class AverageCostingZeroQtyException extends AdempiereException {
/**
* generated serial version id
*/
private static final long serialVersionUID = 4165497320719149773L;
public AverageCostingZeroQtyException() {
super();
}
public AverageCostingZeroQtyException(String message) {
super(message);
}
}

View File

@ -20,7 +20,6 @@ import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.UUID;
import java.util.logging.Level;
@ -50,6 +49,8 @@ public class UUIDGenerator extends SvrProcess {
private String tableName;
private boolean isFillUUID = false;
/** Logger */
private static CLogger log = CLogger.getCLogger(UUIDGenerator.class);
@ -63,6 +64,8 @@ public class UUIDGenerator extends SvrProcess {
;
else if (param.getParameterName().equals("TableName"))
tableName = param.getParameter().toString();
else if (param.getParameterName().equals("IsFillUUID"))
isFillUUID = param.getParameterAsBoolean();
else
log.log(Level.SEVERE, "Unknown Parameter: " + param.getParameterName());
}
@ -79,7 +82,7 @@ public class UUIDGenerator extends SvrProcess {
tableName = tableName.trim();
if (!tableName.endsWith("%"))
tableName = tableName + "%";
String sql = "SELECT AD_Table_ID, TableName FROM AD_Table WHERE TableName LIKE ? AND IsView = 'N' AND IsActive='Y'";
String sql = "SELECT AD_Table_ID, TableName FROM AD_Table WHERE TableName LIKE ? AND IsView = 'N' AND IsActive='Y' ORDER BY TableName";
PreparedStatement stmt = null;
ResultSet rs = null;
int count = 0;
@ -122,8 +125,16 @@ public class UUIDGenerator extends SvrProcess {
syncColumn(mColumn);
//update db
// COMMENT NEXT LINE ON RELEASE WORK
updateUUID(mColumn, null);
if (isFillUUID) {
// COMMENT NEXT LINE ON RELEASE WORK
updateUUID(mColumn, null);
}
} else {
if (isFillUUID) {
MColumn mColumn = MColumn.get(getCtx(), AD_Column_ID);
// COMMENT NEXT LINE ON RELEASE WORK
updateUUID(mColumn, null);
}
}
/*
@ -148,16 +159,21 @@ public class UUIDGenerator extends SvrProcess {
public static void updateUUID(MColumn column, String trxName) {
MTable table = (MTable) column.getAD_Table();
int AD_Column_ID = DB.getSQLValue(null, "SELECT AD_Column_ID FROM AD_Column WHERE AD_Table_ID=? AND ColumnName=?", table.getAD_Table_ID(), table.getTableName()+"_ID");
if (table.getTableName().startsWith("T_")) {
// don't update UUID for temporary tables
return;
}
int AD_Column_ID = 0;
StringBuilder sql = new StringBuilder("SELECT ");
String keyColumn = null;
List<String> compositeKeys = null;
if (AD_Column_ID > 0) {
keyColumn = table.getTableName()+"_ID";
} else {
compositeKeys = Arrays.asList(table.getKeyColumns());
String[] compositeKeys = table.getKeyColumns();
if (compositeKeys == null || compositeKeys.length == 1) {
keyColumn = compositeKeys[0];
AD_Column_ID = table.getColumn(keyColumn).getAD_Column_ID();
compositeKeys = null;
}
if ((compositeKeys == null || compositeKeys.size() == 0) && keyColumn == null) {
if ((compositeKeys == null || compositeKeys.length == 0) && keyColumn == null) {
// TODO: Update using rowid for oracle or ctid for postgresql
log.warning("Cannot update orphan table " + table.getTableName() + " (not ID neither parents)");
return;
}

View File

@ -20,12 +20,15 @@ import java.math.BigDecimal;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Savepoint;
import java.util.ArrayList;
import java.util.logging.Level;
import org.adempiere.exceptions.AverageCostingZeroQtyException;
import org.compiere.model.MAccount;
import org.compiere.model.MAcctSchema;
import org.compiere.model.MClientInfo;
import org.compiere.model.MConversionRate;
import org.compiere.model.MCostDetail;
import org.compiere.model.MCurrency;
import org.compiere.model.MInvoice;
@ -33,8 +36,10 @@ import org.compiere.model.MInvoiceLine;
import org.compiere.model.MLandedCostAllocation;
import org.compiere.model.MTax;
import org.compiere.model.ProductCost;
import org.compiere.model.X_M_Cost;
import org.compiere.util.DB;
import org.compiere.util.Env;
import org.compiere.util.Trx;
/**
* Post Invoice Documents.
@ -835,22 +840,8 @@ public class Doc_Invoice extends Doc
if (line.getDescription() != null)
desc += " - " + line.getDescription();
// Accounting
ProductCost pc = new ProductCost (Env.getCtx(),
lca.getM_Product_ID(), lca.getM_AttributeSetInstance_ID(), getTrxName());
BigDecimal drAmt = null;
BigDecimal crAmt = null;
if (dr)
drAmt = lca.getAmt();
else
crAmt = lca.getAmt();
FactLine fl = fact.createLine (line, pc.getAccount(ProductCost.ACCTTYPE_P_CostAdjustment, as),
getC_Currency_ID(), drAmt, crAmt);
fl.setDescription(desc);
fl.setM_Product_ID(lca.getM_Product_ID());
// Cost Detail - Convert to AcctCurrency
/*
BigDecimal allocationAmt = lca.getAmt();
if (getC_Currency_ID() != as.getC_Currency_ID())
allocationAmt = MConversionRate.convert(getCtx(), allocationAmt,
@ -861,15 +852,58 @@ public class Doc_Invoice extends Doc
allocationAmt = allocationAmt.setScale(as.getCostingPrecision(), BigDecimal.ROUND_HALF_UP);
if (!dr)
allocationAmt = allocationAmt.negate();
// AZ Goodwill
// use createInvoice to create/update non Material Cost Detail
MCostDetail.createInvoice(as, lca.getAD_Org_ID(),
lca.getM_Product_ID(), lca.getM_AttributeSetInstance_ID(),
C_InvoiceLine_ID, lca.getM_CostElement_ID(),
allocationAmt, lca.getQty(),
desc, getTrxName());
*/
// end AZ
Trx trx = Trx.get(getTrxName(), false);
Savepoint savepoint = null;
boolean zeroQty = false;
try {
savepoint = trx.setSavepoint(null);
if (!MCostDetail.createInvoice(as, lca.getAD_Org_ID(),
lca.getM_Product_ID(), lca.getM_AttributeSetInstance_ID(),
C_InvoiceLine_ID, lca.getM_CostElement_ID(),
allocationAmt, lca.getQty(),
desc, getTrxName())) {
throw new RuntimeException("Failed to create cost detail record.");
}
} catch (SQLException e) {
throw new RuntimeException(e.getLocalizedMessage(), e);
} catch (AverageCostingZeroQtyException e) {
zeroQty = true;
try {
trx.rollback(savepoint);
savepoint = null;
} catch (SQLException e1) {
throw new RuntimeException(e1.getLocalizedMessage(), e1);
}
} finally {
if (savepoint != null) {
try {
trx.releaseSavepoint(savepoint);
} catch (SQLException e) {}
}
}
// Accounting
ProductCost pc = new ProductCost (Env.getCtx(),
lca.getM_Product_ID(), lca.getM_AttributeSetInstance_ID(), getTrxName());
BigDecimal drAmt = null;
BigDecimal crAmt = null;
if (dr)
drAmt = lca.getAmt();
else
crAmt = lca.getAmt();
String costingMethod = pc.getProduct().getCostingMethod(as);
MAccount account = null;
if (X_M_Cost.COSTINGMETHOD_AverageInvoice.equals(costingMethod) || X_M_Cost.COSTINGMETHOD_AveragePO.equals(costingMethod)) {
account = zeroQty ? pc.getAccount(ProductCost.ACCTTYPE_P_AverageCostVariance, as) : pc.getAccount(ProductCost.ACCTTYPE_P_Asset, as);
} else {
account = pc.getAccount(ProductCost.ACCTTYPE_P_CostAdjustment, as);
}
FactLine fl = fact.createLine (line, account, getC_Currency_ID(), drAmt, crAmt);
fl.setDescription(desc);
fl.setM_Product_ID(lca.getM_Product_ID());
}
if (log.isLoggable(Level.CONFIG)) log.config("Created #" + lcas.length);

View File

@ -126,14 +126,19 @@ public class Doc_MatchPO extends Doc
ArrayList<Fact> facts = new ArrayList<Fact>();
//
if (getM_Product_ID() == 0 // Nothing to do if no Product
|| getQty().signum() == 0
|| m_M_InOutLine_ID == 0) // No posting if not matched to Shipment
|| getQty().signum() == 0)
{
if (log.isLoggable(Level.FINE)) log.fine("No Product/Qty - M_Product_ID=" + getM_Product_ID()
+ ",Qty=" + getQty());
return facts;
}
if (m_M_InOutLine_ID == 0) // No posting if not matched to Shipment
{
p_Error = "No posting if not matched to Shipment";
return null;
}
// create Fact Header
Fact fact = new Fact(this, as, Fact.POST_Actual);
setC_Currency_ID(as.getC_Currency_ID());

View File

@ -28,6 +28,7 @@ import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.Properties;
@ -1782,6 +1783,7 @@ public class GridField
AD_Window_ID, AD_Tab_ID, readOnly, rs);
listVO.add(vo);
}
Collections.sort(listVO, new GridFieldVO.SeqNoComparator());
}
catch (Exception e)
{

View File

@ -21,6 +21,7 @@ import java.io.Serializable;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.Comparator;
import java.util.Properties;
import java.util.logging.Level;
@ -45,7 +46,7 @@ public class GridFieldVO implements Serializable
/**
*
*/
private static final long serialVersionUID = -6098724121324445114L;
private static final long serialVersionUID = -767158053380874050L;
/**
* Return the SQL statement used for the MFieldVO.create
@ -66,6 +67,7 @@ public class GridFieldVO implements Serializable
return sql.toString();
} // getSQL
/**
* Create Field Value Object
* @param ctx context
@ -112,6 +114,8 @@ public class GridFieldVO implements Serializable
vo.IsDisplayed = "Y".equals(rs.getString (i));
else if (columnName.equalsIgnoreCase("IsDisplayedGrid"))
vo.IsDisplayedGrid = "Y".equals(rs.getString (i));
else if (columnName.equalsIgnoreCase("SeqNo"))
vo.SeqNo = rs.getInt (i);
else if (columnName.equalsIgnoreCase("SeqNoGrid"))
vo.SeqNoGrid = rs.getInt (i);
else if (columnName.equalsIgnoreCase("DisplayLogic"))
@ -275,7 +279,11 @@ public class GridFieldVO implements Serializable
if (userDef.getNumLines() > 0)
vo.NumLines=userDef.getNumLines();
if (userDef.getIsToolbarButton() != null)
vo.IsToolbarButton = "Y".equals(userDef.getIsToolbarButton());
vo.IsToolbarButton = "Y".equals(userDef.getIsToolbarButton());
//IDEMPIERE-1120 Implement Field SeqNo customization
if (userDef.getSeqNo() > 0)
vo.SeqNo = userDef.getSeqNo();
}
}
//
@ -491,8 +499,10 @@ public class GridFieldVO implements Serializable
public boolean IsDisplayed = false;
/** Displayed Grid */
public boolean IsDisplayedGrid = false;
/** Position */
public int SeqNo = 0;
/** Grid Display sequence */
public int SeqNoGrid = 0;
public int SeqNoGrid = 0;
/** Dislay Logic */
public String DisplayLogic = "";
/** Default Value */
@ -684,6 +694,7 @@ public class GridFieldVO implements Serializable
clone.IsDisplayed = IsDisplayed;
clone.IsDisplayedGrid = IsDisplayedGrid;
clone.AD_Field_ID = AD_Field_ID;
clone.SeqNo = SeqNo;
clone.SeqNoGrid = SeqNoGrid;
clone.DisplayLogic = DisplayLogic;
clone.DefaultValue = DefaultValue;
@ -741,4 +752,16 @@ public class GridFieldVO implements Serializable
return sb.toString ();
} // toString
} // MFieldVO
/**
*
* @author a42niem
* IDEMPIERE-1120 Implement Field SeqNo customization
*/
public static class SeqNoComparator implements Comparator<GridFieldVO> {
@Override
public int compare(GridFieldVO gf1, GridFieldVO gf2) {
return (new Integer(gf1.SeqNo)).compareTo(new Integer(gf2.SeqNo));
}
}
} // GridFieldVO

View File

@ -21,6 +21,7 @@ import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Properties;
import java.util.logging.Level;
@ -37,6 +38,11 @@ import org.compiere.util.Evaluatee;
*/
public class GridTabVO implements Evaluatee, Serializable
{
/**
*
*/
private static final long serialVersionUID = -5120775523212893253L;
/**************************************************************************
* Create MTab VO
*
@ -314,6 +320,7 @@ public class GridTabVO implements Evaluatee, Serializable
pstmt = null;
}
Collections.sort(mTabVO.Fields, new GridFieldVO.SeqNoComparator());
mTabVO.initFields = true;
return mTabVO.Fields.size() != 0;
@ -384,8 +391,6 @@ public class GridTabVO implements Evaluatee, Serializable
WindowNo = windowNo;
} // MTabVO
static final long serialVersionUID = 9160212869277319305L;
/** Context - replicated */
public Properties ctx;
/** Window No - replicated */

View File

@ -28,6 +28,7 @@ import java.util.Properties;
import java.util.logging.Level;
import org.adempiere.exceptions.AverageCostingNegativeQtyException;
import org.adempiere.exceptions.AverageCostingZeroQtyException;
import org.adempiere.exceptions.DBException;
import org.compiere.Adempiere;
import org.compiere.util.CLogger;
@ -1487,6 +1488,13 @@ public class MCost extends X_M_Cost
amt = amt.negate();
}
//can't do cost adjustment if there's no stock left
if (qty.signum() == 0 && getCurrentQty().signum() <= 0)
{
throw new AverageCostingZeroQtyException("Product(ID)="+getM_Product_ID()+", Current Qty="+getCurrentQty()+", Trx Qty="+qty
+", CostElement="+getM_CostElement().getName()+", Schema="+getC_AcctSchema().getName());
}
if (getCurrentQty().add(qty).signum() < 0)
{
throw new AverageCostingNegativeQtyException("Product(ID)="+getM_Product_ID()+", Current Qty="+getCurrentQty()+", Trx Qty="+qty

View File

@ -151,11 +151,13 @@ public class MCostDetail extends X_M_CostDetail
.append("WHERE Processed='N' AND COALESCE(DeltaAmt,0)=0 AND COALESCE(DeltaQty,0)=0")
.append(" AND C_InvoiceLine_ID=").append(C_InvoiceLine_ID)
.append(" AND C_AcctSchema_ID =").append(as.getC_AcctSchema_ID())
.append(" AND M_AttributeSetInstance_ID=").append(M_AttributeSetInstance_ID);
.append(" AND M_AttributeSetInstance_ID=").append(M_AttributeSetInstance_ID)
.append(" AND Coalesce(M_CostElement_ID,0)=").append(M_CostElement_ID);
int no = DB.executeUpdate(sql.toString(), trxName);
if (no != 0)
if (s_log.isLoggable(Level.CONFIG)) s_log.config("Deleted #" + no);
MCostDetail cd = get (as.getCtx(), "C_InvoiceLine_ID=?",
MCostDetail cd = get (as.getCtx(), "C_InvoiceLine_ID=? AND Coalesce(M_CostElement_ID,0)="+M_CostElement_ID,
C_InvoiceLine_ID, M_AttributeSetInstance_ID, as.getC_AcctSchema_ID(), trxName);
//
if (cd == null) // createNew
@ -796,7 +798,20 @@ public class MCostDetail extends X_M_CostDetail
else
{
MCostElement ce = MCostElement.get(getCtx(), getM_CostElement_ID());
ok = process (as, product, ce, Org_ID, M_ASI_ID);
if (ce.getCostingMethod() == null)
{
MCostElement[] ces = MCostElement.getCostingMethods(this);
for (MCostElement costingElement : ces)
{
ok = process (as, product, costingElement, Org_ID, M_ASI_ID);
if (!ok)
break;
}
}
else
{
ok = process (as, product, ce, Org_ID, M_ASI_ID);
}
}
// Save it
@ -859,6 +874,14 @@ public class MCostDetail extends X_M_CostDetail
amt = getAmt();
}
// end MZ
boolean costAdjustment = false;
//landed cost adjustment
if (this.getM_CostElement_ID() > 0 && this.getM_CostElement_ID() != ce.getM_CostElement_ID() && getC_InvoiceLine_ID() > 0)
{
qty = BigDecimal.ZERO;
costAdjustment = true;
}
int precision = as.getCostingPrecision();
BigDecimal price = amt;
@ -942,6 +965,10 @@ public class MCostDetail extends X_M_CostDetail
cost.setWeightedAverage(amt, qty);
if (log.isLoggable(Level.FINER)) log.finer("Inv - AverageInv - " + cost);
}
else if (ce.isAveragePO() && costAdjustment)
{
cost.setWeightedAverage(amt, qty);
}
else if (ce.isFifo()
|| ce.isLifo())
{
@ -958,7 +985,7 @@ public class MCostDetail extends X_M_CostDetail
cost.add(amt, qty);
if (log.isLoggable(Level.FINER)) log.finer("Inv - FiFo/LiFo - " + cost);
}
else if (ce.isLastInvoice())
else if (ce.isLastInvoice() && !costAdjustment)
{
if (!isReturnTrx)
{
@ -973,7 +1000,7 @@ public class MCostDetail extends X_M_CostDetail
cost.add(amt, qty);
if (log.isLoggable(Level.FINER)) log.finer("Inv - LastInv - " + cost);
}
else if (ce.isStandardCosting())
else if (ce.isStandardCosting() && !costAdjustment)
{
// Update cost record only if it is zero
if (cost.getCurrentCostPrice().signum() == 0
@ -996,54 +1023,7 @@ public class MCostDetail extends X_M_CostDetail
// Interface
cost.add(amt, qty);
if (log.isLoggable(Level.FINER)) log.finer("Inv - UserDef - " + cost);
}
/*
else if (!ce.isCostingMethod()) // Cost Adjustments
{
// AZ Goodwill
//get costing method for product
String costingMethod = product.getCostingMethod(as);
if (MAcctSchema.COSTINGMETHOD_AveragePO.equals(costingMethod) ||
MAcctSchema.COSTINGMETHOD_AverageInvoice.equals(costingMethod))
{
// Problem with Landed Costs: certain cost element may not occur in every purchases,
// causing the average calculation of that cost element wrongly took the current qty.
//
// Solution:
// Make sure the current qty is reflecting the actual qty in storage
//
StringBuilder sql = new StringBuilder("SELECT COALESCE(SUM(QtyOnHand),0) FROM M_StorageOnHand")
.append(" WHERE AD_Client_ID=").append(cost.getAD_Client_ID())
.append(" AND M_Product_ID=").append(cost.getM_Product_ID());
//Costing Level
String CostingLevel = product.getCostingLevel(as);
if (MAcctSchema.COSTINGLEVEL_Organization.equals(CostingLevel))
sql.append(" AND AD_Org_ID=").append(cost.getAD_Org_ID());
else if (MAcctSchema.COSTINGLEVEL_BatchLot.equals(CostingLevel))
sql.append(" AND M_AttributeSetInstance_ID=").append(M_ASI_ID);
//
BigDecimal qtyOnhand = DB.getSQLValueBD(get_TrxName(), sql.toString());
if (qtyOnhand.signum() != 0)
{
BigDecimal oldSum = cost.getCurrentCostPrice().multiply(cost.getCurrentQty());
BigDecimal sumAmt = oldSum.add(amt); // amt is total already
BigDecimal costs = sumAmt.divide(qtyOnhand, precision, BigDecimal.ROUND_HALF_UP);
cost.setCurrentCostPrice(costs);
}
cost.setCumulatedAmt(cost.getCumulatedAmt().add(amt));
cost.setCumulatedQty(cost.getCumulatedQty().add(qty));
cost.setCurrentQty(qtyOnhand);
}
else //original logic from Compiere
{
BigDecimal cCosts = cost.getCurrentCostPrice().add(amt);
cost.setCurrentCostPrice(cCosts);
cost.add(amt, qty);
}
// end AZ
if (log.isLoggable(Level.FINER)) log.finer("Inv - Landed Costs - " + cost);
}
*/
}
// else
// log.warning("Inv - " + ce + " - " + cost);
}
@ -1177,53 +1157,6 @@ public class MCostDetail extends X_M_CostDetail
else
log.warning("QtyAdjust - " + ce + " - " + cost);
//AZ Goodwill
//Also update Landed Costs to reflect the actual qty in storage
/*
String costingMethod = ce.getCostingMethod();
if (MAcctSchema.COSTINGMETHOD_AveragePO.equals(costingMethod) ||
MAcctSchema.COSTINGMETHOD_AverageInvoice.equals(costingMethod))
{
MCostElement[] lce = MCostElement.getNonCostingMethods(this);
if (lce.length > 0)
{
StringBuilder sql = new StringBuilder("SELECT COALESCE(SUM(QtyOnHand),0) FROM M_StorageOnHand")
.append(" WHERE AD_Client_ID=").append(cost.getAD_Client_ID())
.append(" AND M_Product_ID=").append(cost.getM_Product_ID());
//Costing Level
String CostingLevel = product.getCostingLevel(as);
if (MAcctSchema.COSTINGLEVEL_Organization.equals(CostingLevel))
sql.append(" AND AD_Org_ID=").append(cost.getAD_Org_ID());
else if (MAcctSchema.COSTINGLEVEL_BatchLot.equals(CostingLevel))
sql.append(" AND M_AttributeSetInstance_ID=").append(M_ASI_ID);
//
BigDecimal qtyOnhand = DB.getSQLValueBD(get_TrxName(), sql.toString());
for (int i = 0 ; i < lce.length ; i++)
{
MCost lCost = MCost.get(getCtx(), cost.getAD_Client_ID(), cost.getAD_Org_ID(),
cost.getM_Product_ID(), cost.getM_CostType_ID(), cost.getC_AcctSchema_ID(),
lce[i].getM_CostElement_ID(), cost.getM_AttributeSetInstance_ID(), get_TrxName());
if (lCost != null)
{
if (qtyOnhand.signum() != 0)
{
// new average cost
BigDecimal oldSum = lCost.getCurrentCostPrice().multiply(lCost.getCurrentQty());
BigDecimal costs = oldSum.divide(qtyOnhand, precision, BigDecimal.ROUND_HALF_UP);
lCost.setCurrentCostPrice(costs);
}
lCost.setCurrentQty(qtyOnhand);
if (!lCost.save())
{
log.warning("Update Landed Costs (Qty) fail: " + lce + " - " + lCost);
return false;
}
}
}
}//end-if
}
*/
//end AZ
}
else // unknown or no id
{

View File

@ -1605,16 +1605,12 @@ public class MInOut extends X_M_InOut implements DocAction
iLine.saveEx(); // update matched invoice with ASI
inv.setM_AttributeSetInstance_ID(sLine.getM_AttributeSetInstance_ID());
}
boolean isNewMatchInv = false;
if (inv.get_ID() == 0)
isNewMatchInv = true;
if (!inv.save(get_TrxName()))
{
m_processMsg = CLogger.retrieveErrorString("Could not create Inv Matching");
return DocAction.STATUS_Invalid;
}
if (isNewMatchInv)
addDocsPostProcess(inv);
addDocsPostProcess(inv);
}
}
@ -1625,16 +1621,17 @@ public class MInOut extends X_M_InOut implements DocAction
// Ship - PO
MMatchPO po = MMatchPO.create (null, sLine, getMovementDate(), matchQty);
if (po != null) {
boolean isNewMatchPO = false;
if (po.get_ID() == 0)
isNewMatchPO = true;
if (!po.save(get_TrxName()))
{
m_processMsg = "Could not create PO Matching";
return DocAction.STATUS_Invalid;
}
if (isNewMatchPO)
if (!po.isPosted())
addDocsPostProcess(po);
MMatchInv matchInvCreated = po.getMatchInvCreated();
if (matchInvCreated != null) {
addDocsPostProcess(matchInvCreated);
}
}
// Update PO with ASI
if ( oLine != null && oLine.getM_AttributeSetInstance_ID() == 0
@ -1655,15 +1652,12 @@ public class MInOut extends X_M_InOut implements DocAction
MMatchPO po = MMatchPO.create (iLine, sLine,
getMovementDate(), matchQty);
if (po != null) {
boolean isNewMatchPO = false;
if (po.get_ID() == 0)
isNewMatchPO = true;
if (!po.save(get_TrxName()))
{
m_processMsg = "Could not create PO(Inv) Matching";
return DocAction.STATUS_Invalid;
}
if (isNewMatchPO)
if (!po.isPosted())
addDocsPostProcess(po);
}

View File

@ -651,8 +651,12 @@ public class MInOutLine extends X_M_InOutLine
MInvoiceLine m_il = MInvoiceLine.getOfInOutLine(this);
if (m_il == null)
{
log.severe("No Invoice Line for: " + this.toString());
return Env.ZERO;
m_il = MInvoiceLine.getOfInOutLineFromMatchInv(this);
if (m_il == null)
{
log.severe("No Invoice Line for: " + this.toString());
return Env.ZERO;
}
}
return this.getMovementQty().multiply(m_il.getPriceActual()); // Actual delivery
}

View File

@ -1807,17 +1807,13 @@ public class MInvoice extends X_C_Invoice implements DocAction
matchQty = receiptLine.getMovementQty();
MMatchInv inv = new MMatchInv(line, getDateInvoiced(), matchQty);
boolean isNewMatchInv = false;
if (inv.get_ID() == 0)
isNewMatchInv = true;
if (!inv.save(get_TrxName()))
{
m_processMsg = CLogger.retrieveErrorString("Could not create Invoice Matching");
return DocAction.STATUS_Invalid;
}
matchInv++;
if (isNewMatchInv)
addDocsPostProcess(inv);
addDocsPostProcess(inv);
}
// Update Order Line
@ -1845,18 +1841,15 @@ public class MInvoice extends X_C_Invoice implements DocAction
BigDecimal matchQty = line.getQtyInvoiced();
MMatchPO po = MMatchPO.create (line, null,
getDateInvoiced(), matchQty);
boolean isNewMatchPO = false;
if (po != null)
{
if (po.get_ID() == 0)
isNewMatchPO = true;
if (!po.save(get_TrxName()))
{
m_processMsg = "Could not create PO Matching";
return DocAction.STATUS_Invalid;
}
matchPO++;
if (isNewMatchPO)
if (!po.isPosted() && po.getM_InOutLine_ID() > 0) // match po don't post if receipt is not assigned, and it doesn't create avg po record
addDocsPostProcess(po);
}
}

View File

@ -52,7 +52,7 @@ public class MInvoiceLine extends X_C_InvoiceLine
/**
*
*/
private static final long serialVersionUID = -5113860437274708398L;
private static final long serialVersionUID = 6157080330492848409L;
/**
* Get Invoice Line referencing InOut Line
@ -78,6 +78,29 @@ public class MInvoiceLine extends X_C_InvoiceLine
return retValue;
} // getOfInOutLine
/**
* Get Invoice Line referencing InOut Line - from MatchInv
* @param sLine shipment line
* @return (first) invoice line
*/
public static MInvoiceLine getOfInOutLineFromMatchInv(MInOutLine sLine) {
if (sLine == null)
return null;
final String whereClause = "C_InvoiceLine_ID IN (SELECT C_InvoiceLine_ID FROM M_MatchInv WHERE M_InOutLine_ID=?)";
List<MInvoiceLine> list = new Query(sLine.getCtx(),I_C_InvoiceLine.Table_Name,whereClause,sLine.get_TrxName())
.setParameters(sLine.getM_InOutLine_ID())
.list();
MInvoiceLine retValue = null;
if (list.size() > 0) {
retValue = list.get(0);
if (list.size() > 1)
s_log.warning("More than one C_InvoiceLine of " + sLine);
}
return retValue;
}
/** Static Logger */
private static CLogger s_log = CLogger.getCLogger (MInvoiceLine.class);
@ -1053,9 +1076,9 @@ public class MInvoiceLine extends X_C_InvoiceLine
// end MZ
if (base.signum() != 0)
{
double result = getLineNetAmt().multiply(base).doubleValue();
result /= total.doubleValue();
lca.setAmt(result, getPrecision());
BigDecimal result = getLineNetAmt().multiply(base);
result = result.divide(total, BigDecimal.ROUND_HALF_UP);
lca.setAmt(result.doubleValue(), getPrecision());
}
if (!lca.save()){
msgreturn = new StringBuilder("Cannot save line Allocation = ").append(lca);
@ -1079,6 +1102,8 @@ public class MInvoiceLine extends X_C_InvoiceLine
lca.setM_Product_ID(iol.getM_Product_ID());
lca.setM_AttributeSetInstance_ID(iol.getM_AttributeSetInstance_ID());
BigDecimal base = iol.getBase(lc.getLandedCostDistribution());
if (base.signum() == 0)
return "Base value is 0 - " + lc.getLandedCostDistribution();
lca.setBase(base);
lca.setAmt(getLineNetAmt());
// MZ Goodwill
@ -1174,9 +1199,9 @@ public class MInvoiceLine extends X_C_InvoiceLine
// end MZ
if (base.signum() != 0)
{
double result = getLineNetAmt().multiply(base).doubleValue();
result /= total.doubleValue();
lca.setAmt(result, getPrecision());
BigDecimal result = getLineNetAmt().multiply(base);
result = result.divide(total, BigDecimal.ROUND_HALF_UP);
lca.setAmt(result.doubleValue(), getPrecision());
}
if (!lca.save()){
msgreturn = new StringBuilder("Cannot save line Allocation = ").append(lca);

View File

@ -59,8 +59,7 @@ public class MMatchPO extends X_M_MatchPO
/**
*
*/
private static final long serialVersionUID = 7189366329684552916L;
private static final long serialVersionUID = -3669451656879485463L;
/**
* Get PO Match with order/invoice
@ -446,6 +445,7 @@ public class MMatchPO extends X_M_MatchPO
s_log.fine(msg);
continue;
}
mpo.setMatchInvCreated(matchInv);
if (savepoint != null)
{
try {
@ -549,7 +549,28 @@ public class MMatchPO extends X_M_MatchPO
return retValue;
} // create
private MMatchInv m_matchInv;
/**
* Register the match inv created for immediate accounting purposes
* @param matchInv
*/
private void setMatchInvCreated(MMatchInv matchInv) {
m_matchInv = matchInv;
}
/**
* Get the match inv created for immediate accounting purposes
* Is cleared after read, so if you read twice second time it returns null
* @param matchInv
*/
public MMatchInv getMatchInvCreated() {
MMatchInv tmp = m_matchInv;
m_matchInv = null;
return tmp;
}
/** Static Logger */
private static CLogger s_log = CLogger.getCLogger (MMatchPO.class);

View File

@ -85,8 +85,6 @@ public class MRfQLine extends X_C_RfQLine
public MRfQLine (Properties ctx, ResultSet rs, String trxName)
{
super(ctx, rs, trxName);
if (get_ID() > 0)
s_cache.put(new Integer(get_ID()), this);
} // MRfQLine
/**

View File

@ -89,8 +89,6 @@ public class MRfQLineQty extends X_C_RfQLineQty
public MRfQLineQty (Properties ctx, ResultSet rs, String trxName)
{
super(ctx, rs, trxName);
if (get_ID() > 0)
s_cache.put (new Integer (get_ID()), this);
} // MRfQLineQty
/**

View File

@ -844,6 +844,8 @@ public final class DB
pstmt.setTimestamp(index, (Timestamp)param);
else if (param instanceof Boolean)
pstmt.setString(index, ((Boolean)param).booleanValue() ? "Y" : "N");
else if (param instanceof byte[])
pstmt.setBytes(index, (byte[]) param);
else
throw new DBException("Unknown parameter type "+index+" - "+param);
}

View File

@ -27,6 +27,7 @@ import java.util.List;
import java.util.Properties;
import java.util.logging.Level;
import org.adempiere.exceptions.AdempiereException;
import org.adempiere.exceptions.DBException;
import org.compiere.model.MColumn;
import org.compiere.model.Query;
@ -104,9 +105,10 @@ public class MWFNode extends X_AD_WF_Node
setXPosition (0);
setYPosition (0);
}
// Save to Cache
if (get_ID() != 0)
s_cache.put (new Integer(getAD_WF_Node_ID()), this);
if (getAD_WF_Node_ID() > 0) {
loadNext();
loadTrl();
}
} // MWFNode
/**
@ -137,7 +139,14 @@ public class MWFNode extends X_AD_WF_Node
loadNext();
loadTrl();
// Save to Cache
s_cache.put (get_ID(), this);
Integer key = null;
try {
key = new Integer (rs.getInt("AD_WF_Node_ID"));
} catch (SQLException e) {
throw new AdempiereException(e);
}
if (key != null && trxName == null && !s_cache.containsKey(key))
s_cache.put (key, this);
} // MWFNode

View File

@ -85,7 +85,8 @@ public class ReferenceUtils {
public static String getTableReference(String tableName, String searchColumn, int id, AttributesImpl atts)
{
String keyColumn = tableName + "_ID";
if (id > 0 && id <= PackOut.MAX_OFFICIAL_ID)
if ( (id > 0 && id <= PackOut.MAX_OFFICIAL_ID)
|| (id == 0 && MTable.isZeroIDTable(tableName)))
{
//official id
atts.addAttribute("", "", "reference", "CDATA", "id");

View File

@ -1216,14 +1216,7 @@ DataStatusListener, IADTabpanel, IdSpace, IFieldEditorContainer
}else if(e.isInserting() && gridTab.getRecord_ID() < 0 && gridTab.getTabLevel() > 0 )
{
int AD_Tree_ID = Integer.parseInt(gridTab.getParentTab().getValue("AD_Tree_ID").toString());
MTreeNode root = new MTree (Env.getCtx(), AD_Tree_ID, true, true, null).getRoot();
SimpleTreeModel treeModel = SimpleTreeModel.createFrom(root);
try {
treePanel.getTree().setItemRenderer(treeModel);
treePanel.getTree().setModel(treeModel);
} catch (Exception treeExc) {
logger.log(Level.SEVERE, "Failed to setup tree");
}
treePanel.initTree(AD_Tree_ID, windowNo);
}
}
if (listPanel.isVisible()) {

View File

@ -2931,4 +2931,9 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
LayoutUtils.openEmbeddedWindow(getComponent().getParent(), findWindow, "overlap");
}
}
public boolean isPendingChanges() {
return boolChanges;
}
}

View File

@ -295,4 +295,9 @@ public abstract class AbstractDesktop extends AbstractUIPart implements IDesktop
win.setPage(page);
win.doHighlighted();
}
protected List<Object> getWindows(){
return windows;
}
}

View File

@ -18,6 +18,7 @@
package org.adempiere.webui.desktop;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
import java.util.Properties;
@ -26,6 +27,7 @@ import org.adempiere.base.event.IEventManager;
import org.adempiere.base.event.IEventTopics;
import org.adempiere.model.MBroadcastMessage;
import org.adempiere.util.ServerContext;
import org.adempiere.webui.adwindow.ADWindow;
import org.adempiere.webui.apps.AEnv;
import org.adempiere.webui.apps.BusyDialog;
import org.adempiere.webui.apps.ProcessDialog;
@ -593,4 +595,19 @@ public class DefaultDesktop extends TabbedDesktop implements MenuListener, Seria
super.openTask(taskId);
updateHelpContext(X_AD_CtxHelp.CTXTYPE_Task, taskId);
}
public boolean isPendingWindow() {
List<Object> windows = getWindows();
if (windows != null) {
for (int idx = 0; idx < windows.size(); idx++) {
Object ad = windows.get(idx);
if (ad != null && ad instanceof ADWindow) {
if ( ((ADWindow)ad).getADWindowContent().isPendingChanges()) {
return true;
}
}
}
}
return false;
}
}

View File

@ -204,4 +204,6 @@ public interface IDesktop extends UIPart {
public void updateHelpContext(String ctxType, int recordId);
public void updateHelpTooltip(GridField gridField);
public boolean isPendingWindow();
}

View File

@ -216,7 +216,7 @@ public class HelpController
}
else if (ctxType.equals(X_AD_CtxHelp.CTXTYPE_Process))
{
MProcess process = new MProcess(Env.getCtx(), recordId, null);
MProcess process = MProcess.get(Env.getCtx(), recordId);
if (!Env.isBaseLanguage(Env.getCtx(), "AD_Process")) {
nameMsg = process.get_Translation("Name");
@ -322,50 +322,84 @@ public class HelpController
}
}
}
else if (ctxType.equals(X_AD_CtxHelp.CTXTYPE_Workflow))
{
MWorkflow workflow = new MWorkflow(Env.getCtx(), recordId, null);
if (workflow != null && workflow.getName() != null && workflow.getName().length() != 0)
{
sb.append("<br><br>\n<b>" + workflow.getName() + "</b>");
if (workflow.getDescription() != null && workflow.getDescription().length() != 0)
sb.append("<br><br>\n<i>" + workflow.getDescription() + "</i>");
if (workflow.getHelp() != null && workflow.getHelp().length() != 0)
sb.append("<br><br>\n" + workflow.getHelp());
}
}
else if (ctxType.equals(X_AD_CtxHelp.CTXTYPE_Task))
{
MTask task = new MTask(Env.getCtx(), recordId, null);
if (task != null && task.getName() != null && task.getName().length() != 0)
{
sb.append("<br><br>\n<b>" + task.getName() + "</b>");
if (task.getDescription() != null && task.getDescription().length() != 0)
sb.append("<br><br>\n<i>" + task.getDescription() + "</i>");
if (task.getHelp() != null && task.getHelp().length() != 0)
sb.append("<br><br>\n" + task.getHelp());
}
}
else if (ctxType.equals(X_AD_CtxHelp.CTXTYPE_Node))
{
MWFNode node = new MWFNode(Env.getCtx(), recordId, null);
if (node != null && node.getName() != null && node.getName().length() != 0)
{
sb.append("<br><br>\n<b>" + node.getName() + "</b>");
if (node.getDescription() != null && node.getDescription().length() != 0)
sb.append("<br><br>\n<i>" + node.getDescription() + "</i>");
if (node.getHelp() != null && node.getHelp().length() != 0)
sb.append("<br><br>\n" + node.getHelp());
}
}
}
else if (ctxType.equals(X_AD_CtxHelp.CTXTYPE_Workflow)) {
MWorkflow workflow = MWorkflow.get(Env.getCtx(), recordId);
boolean trl = !Env.getLoginLanguage(Env.getCtx()).isBaseLanguage();
nameMsg = workflow.getName(trl);
if (workflow != null && nameMsg != null
&& nameMsg.length() != 0) {
sb.append("<br><br>\n<b>" + nameMsg + "</b>");
descMsg = workflow.getDescription(trl);
if (descMsg != null && descMsg.length() != 0)
sb.append("<br><br>\n<i>" + descMsg + "</i>");
helpMsg = workflow.getHelp(trl);
if (helpMsg != null && helpMsg.length() != 0)
sb.append("<br><br>\n" + helpMsg);
}
} else if (ctxType.equals(X_AD_CtxHelp.CTXTYPE_Task)) {
MTask task = new MTask(Env.getCtx(), recordId, null);
if (!Env.getLoginLanguage(Env.getCtx()).isBaseLanguage()) {
nameMsg = task.get_Translation("Name");
if (task != null && nameMsg != null
&& nameMsg.length() != 0) {
sb.append("<br><br>\n<b>" + nameMsg + "</b>");
descMsg = task.get_Translation("Description");
if (descMsg != null && descMsg.length() != 0)
sb.append("<br><br>\n<i>" + descMsg + "</i>");
helpMsg = task.get_Translation("Help");
if (helpMsg != null && helpMsg.length() != 0)
sb.append("<br><br>\n" + helpMsg);
}
} else {
if (task != null && task.getName() != null
&& task.getName().length() != 0) {
sb.append("<br><br>\n<b>" + task.getName() + "</b>");
if (task.getDescription() != null
&& task.getDescription().length() != 0)
sb.append("<br><br>\n<i>" + task.getDescription()
+ "</i>");
if (task.getHelp() != null
&& task.getHelp().length() != 0)
sb.append("<br><br>\n" + task.getHelp());
}
}
} else if (ctxType.equals(X_AD_CtxHelp.CTXTYPE_Node)) {
MWFNode node = MWFNode.get(Env.getCtx(), recordId);
boolean trl = !Env.getLoginLanguage(Env.getCtx()).isBaseLanguage();
nameMsg = node.getName(trl);
if (node != null && nameMsg != null
&& nameMsg.length() != 0) {
sb.append("<br><br>\n<b>" + nameMsg + "</b>");
descMsg = node.getDescription(trl);
if (descMsg != null && descMsg.length() != 0)
sb.append("<br><br>\n<i>" + descMsg + "</i>");
helpMsg = node.getHelp(trl);
if (helpMsg != null && helpMsg.length() != 0)
sb.append("<br><br>\n" + helpMsg);
}
}
}
sb.append("</div>\n</body>\n</html>");
htmlContextHelp.setContent(sb.toString());
@ -519,6 +553,7 @@ public class HelpController
finally
{
DB.close(rs, pstmt);
rs=null; pstmt=null;
}
}

View File

@ -19,11 +19,13 @@ package org.adempiere.webui.panel;
import java.util.Properties;
import org.adempiere.util.Callback;
import org.adempiere.webui.component.Label;
import org.adempiere.webui.component.Menupopup;
import org.adempiere.webui.component.Messagebox;
import org.adempiere.webui.session.SessionManager;
import org.adempiere.webui.util.FeedbackManager;
import org.adempiere.webui.window.FDialog;
import org.adempiere.webui.window.WPreference;
import org.compiere.model.MClient;
import org.compiere.model.MOrg;
@ -63,7 +65,10 @@ public class UserPanel implements EventListener<Event>, Composer<Component>
protected Component component;
public UserPanel()
private static final String ON_DEFER_CHANGE_ROLE = "onDeferChangeRole";
private static final String ON_DEFER_LOGOUT = "onDeferLogout";
public UserPanel()
{
super();
this.ctx = Env.getCtx();
@ -103,6 +108,9 @@ public class UserPanel implements EventListener<Event>, Composer<Component>
SessionManager.getSessionApplication().getKeylistener().addEventListener(Events.ON_CTRL_KEY, this);
component.addEventListener("onEmailSupport", this);
component.addEventListener(ON_DEFER_LOGOUT, this);
component.addEventListener(ON_DEFER_CHANGE_ROLE, this);
}
private String getUserName()
@ -143,7 +151,21 @@ public class UserPanel implements EventListener<Event>, Composer<Component>
if (logout == event.getTarget())
{
SessionManager.logoutSession();
if (SessionManager.getAppDesktop().isPendingWindow()) {
FDialog.ask(0, component, "ProceedWithTask?", new Callback<Boolean>() {
@Override
public void onCallback(Boolean result)
{
if (result)
{
Events.echoEvent(ON_DEFER_LOGOUT, component, null);
}
}
});
} else {
Events.echoEvent(ON_DEFER_LOGOUT, component, null);
}
}
else if (lblUserNameValue == event.getTarget())
{
@ -153,8 +175,21 @@ public class UserPanel implements EventListener<Event>, Composer<Component>
}
else if (changeRole == event.getTarget())
{
MUser user = MUser.get(ctx);
SessionManager.changeRole(user);
if (SessionManager.getAppDesktop().isPendingWindow()) {
FDialog.ask(0, component, "ProceedWithTask?", new Callback<Boolean>() {
@Override
public void onCallback(Boolean result)
{
if (result)
{
Events.echoEvent(ON_DEFER_CHANGE_ROLE, component, null);
}
}
});
} else {
Events.echoEvent(ON_DEFER_CHANGE_ROLE, component, null);
}
}
else if (preference == event.getTarget())
{
@ -202,6 +237,16 @@ public class UserPanel implements EventListener<Event>, Composer<Component>
}
}
}
else if (ON_DEFER_LOGOUT.equals(event.getName()))
{
SessionManager.logoutSession();
}
else if (ON_DEFER_CHANGE_ROLE.equals(event.getName()))
{
MUser user = MUser.get(ctx);
SessionManager.changeRole(user);
}
}
@Override

View File

@ -31,6 +31,7 @@ import javax.activation.FileDataSource;
import javax.servlet.http.HttpServletRequest;
import org.adempiere.exceptions.AdempiereException;
import org.adempiere.exceptions.DBException;
import org.adempiere.pdf.Document;
import org.adempiere.webui.LayoutUtils;
import org.adempiere.webui.apps.AEnv;
@ -125,7 +126,7 @@ public class ZkReportViewer extends Window implements EventListener<Event>, ITab
/**
*
*/
private static final long serialVersionUID = 344552813342946104L;
private static final long serialVersionUID = 6208607687967139151L;
/** Window No */
private int m_WindowNo = -1;
@ -296,6 +297,9 @@ public class ZkReportViewer extends Window implements EventListener<Event>, ITab
bFind.setTooltiptext(Util.cleanAmp(Msg.getMsg(Env.getCtx(), "Find")));
toolBar.appendChild(bFind);
bFind.addEventListener(Events.ON_CLICK, this);
if (getAD_Tab_ID(m_reportEngine.getPrintFormat().getAD_Table_ID()) <= 0) {
bFind.setVisible(false); // IDEMPIERE-1185
}
toolBar.appendChild(new Separator("vertical"));
@ -421,6 +425,22 @@ public class ZkReportViewer extends Window implements EventListener<Event>, ITab
init = true;
}
/**
* Get the maintenance tab of the table associated to the report engine
* @return AD_Tab_ID or -1 if not found
*/
private int getAD_Tab_ID(int AD_Table_ID) {
// Get Find Tab Info
final String sql = "SELECT t.AD_Tab_ID "
+ "FROM AD_Tab t"
+ " INNER JOIN AD_Window w ON (t.AD_Window_ID=w.AD_Window_ID)"
+ " INNER JOIN AD_Table tt ON (t.AD_Table_ID=tt.AD_Table_ID) "
+ "WHERE tt.AD_Table_ID=? "
+ "ORDER BY w.IsDefault DESC, t.SeqNo, ABS (tt.AD_Window_ID-t.AD_Window_ID)";
int AD_Tab_ID = DB.getSQLValueEx(null, sql, AD_Table_ID);
return AD_Tab_ID;
}
private void renderReport() throws Exception {
media = null;
Listitem selected = previewType.getSelectedItem();
@ -448,8 +468,10 @@ public class ZkReportViewer extends Window implements EventListener<Event>, ITab
m_reportEngine.createHTML(file, false, AEnv.getLanguage(Env.getCtx()), new HTMLExtension(Executions.getCurrent().getContextPath(), "rp", this.getUuid()));
media = new AMedia(file.getName(), "html", "text/html", file, false);
labelDrill.setVisible(true);
comboDrill.setVisible(true);
if (comboDrill.getItemCount() > 1) {
labelDrill.setVisible(true);
comboDrill.setVisible(true);
}
} else if ("XLS".equals(previewType.getSelectedItem().getValue())) {
String path = System.getProperty("java.io.tmpdir");
String prefix = makePrefix(m_reportEngine.getName());
@ -1008,20 +1030,11 @@ public class ZkReportViewer extends Window implements EventListener<Event>, ITab
*/
private void cmd_find()
{
int AD_Table_ID = m_reportEngine.getPrintFormat().getAD_Table_ID();
String title = null;
String tableName = null;
// Get Find Tab Info
String sql = "SELECT t.AD_Tab_ID "
// ,w.Name, t.Name, w.IsDefault, t.SeqNo, ABS (tt.AD_Window_ID-t.AD_Window_ID)
+ "FROM AD_Tab t"
+ " INNER JOIN AD_Window w ON (t.AD_Window_ID=w.AD_Window_ID)"
+ " INNER JOIN AD_Table tt ON (t.AD_Table_ID=tt.AD_Table_ID) "
+ "WHERE tt.AD_Table_ID=? "
+ "ORDER BY w.IsDefault DESC, t.SeqNo, ABS (tt.AD_Window_ID-t.AD_Window_ID)";
int AD_Tab_ID = DB.getSQLValue(null, sql, AD_Table_ID);
int AD_Table_ID = m_reportEngine.getPrintFormat().getAD_Table_ID();
int AD_Tab_ID = getAD_Tab_ID(AD_Table_ID);
// ASP
MClient client = MClient.get(Env.getCtx());
String ASPFilter = "";
@ -1060,10 +1073,13 @@ public class ZkReportViewer extends Window implements EventListener<Event>, ITab
+ " AND ce.AD_Field_ID IS NULL "
+ " AND ce.ASP_Status = 'H')"; // Hide
//
sql = "SELECT Name, TableName FROM AD_Tab_v WHERE AD_Tab_ID=? " + ASPFilter;
if (!Env.isBaseLanguage(Env.getCtx(), "AD_Tab"))
String sql = null;
if (!Env.isBaseLanguage(Env.getCtx(), "AD_Tab")) {
sql = "SELECT Name, TableName FROM AD_Tab_vt WHERE AD_Tab_ID=?"
+ " AND AD_Language='" + Env.getAD_Language(Env.getCtx()) + "' " + ASPFilter;
+ " AND AD_Language='" + Env.getAD_Language(Env.getCtx()) + "' " + ASPFilter;
} else {
sql = "SELECT Name, TableName FROM AD_Tab_v WHERE AD_Tab_ID=? " + ASPFilter;
}
PreparedStatement pstmt = null;
ResultSet rs = null;
try
@ -1080,7 +1096,7 @@ public class ZkReportViewer extends Window implements EventListener<Event>, ITab
}
catch (SQLException e)
{
log.log(Level.SEVERE, sql, e);
throw new DBException(e);
}
finally
{

View File

@ -4,9 +4,17 @@
cd %~dp0
cp idempiere.ini idempiere.ini.sav
if exist server.xml.sav del /q server.xml.sav
if exist plugins/org.adempiere.tomcat.config_1.0.0/META-INF/tomcat/server.xml (
copy plugins/org.adempiere.tomcat.config_1.0.0/META-INF/tomcat/server.xml server.xml.sav
)
java -Dosgi.noShutdown=false -Dosgi.compatibility.bootdelegation=true -Dosgi.install.area=director -jar plugins/org.eclipse.osgi_3.7.*.jar -application org.eclipse.equinox.p2.director -consoleLog -profileProperties org.eclipse.update.install.features=true -destination %~dp0 -repository %1 -u org.adempiere.server.product
java -Dosgi.noShutdown=false -Dosgi.compatibility.bootdelegation=true -Dosgi.install.area=director -jar plugins/org.eclipse.osgi_3.7.*.jar -application org.eclipse.equinox.p2.director -consoleLog -profileProperties org.eclipse.update.install.features=true -destination %~dp0 -repository %1 -i org.adempiere.server.product
cp idempiere.ini.sav idempiere.ini
if exist server.xml.sav (
copy server.xml.sav plugins/org.adempiere.tomcat.config_1.0.0/META-INF/tomcat/server.xml
del /q server.xml.sav
)

View File

@ -6,8 +6,23 @@ DESTINATION=$(pwd)
cp idempiere.ini idempiere.ini.sav
if [ -f server.xml.sav ];
then
rm -f server.xml.sav
fi
if [ -f plugins/org.adempiere.tomcat.config_1.0.0/META-INF/tomcat/server.xml ]
then
cp plugins/org.adempiere.tomcat.config_1.0.0/META-INF/tomcat/server.xml server.xml.sav
fi
java -Dosgi.noShutdown=false -Dosgi.compatibility.bootdelegation=true -Dosgi.install.area=director -jar plugins/org.eclipse.osgi_3.7.*.jar -application org.eclipse.equinox.p2.director -consoleLog -profileProperties org.eclipse.update.install.features=true -destination $DESTINATION -repository $1 -u org.adempiere.server.product
java -Dosgi.noShutdown=false -Dosgi.compatibility.bootdelegation=true -Dosgi.install.area=director -jar plugins/org.eclipse.osgi_3.7.*.jar -application org.eclipse.equinox.p2.director -consoleLog -profileProperties org.eclipse.update.install.features=true -destination $DESTINATION -repository $1 -i org.adempiere.server.product
cp idempiere.ini.sav idempiere.ini
if [ -f server.xml.sav ]
then
cp server.xml.sav plugins/org.adempiere.tomcat.config_1.0.0/META-INF/tomcat/server.xml
rm -f server.xml.sav
fi

View File

@ -45,6 +45,7 @@ import javax.xml.ws.WebServiceContext;
import org.apache.xmlbeans.StringEnumAbstractBase.Table;
import org.compiere.model.Lookup;
import org.compiere.model.MColumn;
import org.compiere.model.MLookup;
import org.compiere.model.MLookupFactory;
import org.compiere.model.MRefTable;
import org.compiere.model.MRole;
@ -57,7 +58,9 @@ import org.compiere.model.X_WS_WebServiceFieldInput;
import org.compiere.model.X_WS_WebService_Para;
import org.compiere.util.CLogger;
import org.compiere.util.DB;
import org.compiere.util.DisplayType;
import org.compiere.util.Env;
import org.compiere.util.KeyNamePair;
import org.compiere.util.Trx;
import org.compiere.util.Util;
import org.compiere.util.ValueNamePair;
@ -944,7 +947,7 @@ public class ModelADServiceImpl extends AbstractService implements ModelADServic
sqlBuilder.append(" ot.").append(colName).append(" Is Null AND ");
} else if (holderPo.get_Value(colName) == null) {
return rollbackAndSetError(trx, resp, ret, true, "Web service type " + m_webservicetype.getValue()
+ ": Record Identifiier column " + colName + " must be set");
+ ": Record Identifier column " + colName + " must be set");
} else {
sqlBuilder.append(" ot.").append(colName).append("=? AND ");
sqlParaList.add(holderPo.get_Value(colName));
@ -1071,11 +1074,38 @@ public class ModelADServiceImpl extends AbstractService implements ModelADServic
"LookupResolutionFailed"));
}
String sql = ADLookup.getDirectAccessSQL(lookup, lookupValue.toUpperCase());
int id = DB.getSQLValue(localTrxName, sql);
if (id > 0)
value = id;
int AD_Reference_ID = 0;
if(lookup instanceof MLookup){
AD_Reference_ID = ((MLookup)lookup).getDisplayType();
}
if(AD_Reference_ID==DisplayType.List)
{
if (lookup.getSize() == 0)
lookup.refresh();
Object[] list = lookup.getData(true, true, true, false,false).toArray(); // IDEMPIERE 90
for (Object pair : list) {
if (pair instanceof KeyNamePair) {
KeyNamePair p = (KeyNamePair) pair;
if (p.getName().equalsIgnoreCase(lookupValue)) {
value = p.getID();
break;
}
} else {
ValueNamePair p = (ValueNamePair) pair;
if (p.getName().equalsIgnoreCase(lookupValue)) {
value = p.getValue();
break;
}
}
}
}else{
String sql = ADLookup.getDirectAccessSQL(lookup, lookupValue.toUpperCase());
int id = DB.getSQLValue(localTrxName, sql);
if (id > 0)
value = id;
}
if (value == null) {
throw new IdempiereServiceFault(" Invalid Lookup value:" + lookupValue, new QName("LookupResolutionFailed"));
}

View File

@ -93,6 +93,9 @@ public class AbstractService {
Login login = new Login(m_cs.getCtx());
KeyNamePair[] clients = login.getClients(loginRequest.getUser(), loginRequest.getPass());
if (clients == null)
return "Error login - User invalid";
boolean okclient = false;
KeyNamePair selectedClient = null;
for (KeyNamePair client : clients) {

View File

@ -1,849 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<con:soapui-project name="AdempiereWebServices" resourceRoot="" soapui-version="2.5" xmlns:con="http://eviware.com/soapui/config"><con:settings><con:setting id="ProjectSettings@projectRoot">/home/carlos/srcAdempiere/branches/3E_WebServices/testScripts</con:setting></con:settings><con:interface xsi:type="con:WsdlInterface" wsaVersion="NONE" name="ModelADServiceHttpBinding" type="wsdl" bindingName="{http://3e.pl/ADInterface}ModelADServiceHttpBinding" soapVersion="1_1" anonymous="optional" definition="https://localhost:8443/ADInterface/services/ModelADService?wsdl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:settings/><con:definitionCache type="TEXT" rootPart="https://localhost:8443/ADInterface/services/ModelADService?wsdl"><con:part><con:url>https://localhost:8443/ADInterface/services/ModelADService?wsdl</con:url><con:content><![CDATA[<wsdl:definitions targetNamespace="http://3e.pl/ADInterface" xmlns:tns="http://3e.pl/ADInterface" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenc11="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soapenc12="http://www.w3.org/2003/05/soap-encoding" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<wsdl:types>
<xsd:schema elementFormDefault="qualified" targetNamespace="http://3e.pl/ADInterface">
<xsd:element name="Window" type="tns:Window"/>
<xsd:complexType name="Window">
<xsd:sequence>
<xsd:element name="Description" type="xsd:string"/>
<xsd:element name="Help" type="xsd:string"/>
<xsd:element name="Tabs" type="tns:TabList"/>
</xsd:sequence>
<xsd:attribute name="Name" type="xsd:string"/>
<xsd:attribute name="IsSoTrx" type="xsd:boolean"/>
<xsd:attribute name="WindowNo" type="xsd:int"/>
<xsd:attribute name="AD_Table_ID" type="xsd:int"/>
<xsd:attribute name="AD_Window_ID" type="xsd:int"/>
<xsd:attribute name="WindowType" type="xsd:int"/>
<xsd:attribute name="AD_Image_ID" type="xsd:int"/>
<xsd:attribute name="AD_Color_ID" type="xsd:int"/>
<xsd:attribute name="IsReadWrite" type="xsd:boolean"/>
<xsd:attribute name="WinWidth" type="xsd:int"/>
<xsd:attribute name="WinHeight" type="xsd:int"/>
<xsd:attribute name="IsError" type="xsd:boolean"/>
<xsd:attribute name="Error" type="xsd:string"/>
</xsd:complexType>
<xsd:complexType name="Tab">
<xsd:sequence>
<xsd:element name="Description" type="xsd:string"/>
<xsd:element name="Help" type="xsd:string"/>
<xsd:element name="ReadOnlyLogic" type="xsd:string"/>
<xsd:element name="DisplayLogic" type="xsd:string"/>
<xsd:element name="Fields" type="tns:FieldList"/>
<xsd:element name="CommitWarning" type="xsd:string"/>
<xsd:element name="WhereClause" type="xsd:string"/>
<xsd:element name="OrderByClause" type="xsd:string"/>
</xsd:sequence>
<xsd:attribute name="Name" type="xsd:string"/>
<xsd:attribute name="IsSoTrx" type="xsd:boolean"/>
<xsd:attribute name="TabNo" type="xsd:int"/>
<xsd:attribute name="WindowNo" type="xsd:int"/>
<xsd:attribute name="AD_Table_ID" type="xsd:int"/>
<xsd:attribute name="AD_Window_ID" type="xsd:int"/>
<xsd:attribute name="AD_Tab_ID" type="xsd:int"/>
<xsd:attribute name="IsSingleRow" type="xsd:boolean"/>
<xsd:attribute name="IsReadOnly" type="xsd:boolean"/>
<xsd:attribute name="IsInsertRecord" type="xsd:boolean"/>
<xsd:attribute name="HasTree" type="xsd:boolean"/>
<xsd:attribute name="IsView" type="xsd:boolean"/>
<xsd:attribute name="AD_Column_ID" type="xsd:int"/>
<xsd:attribute name="TableName" type="xsd:string"/>
<xsd:attribute name="AccessLevel" type="xsd:string"/>
<xsd:attribute name="IsSecurityEnabled" type="xsd:boolean"/>
<xsd:attribute name="IsDeleteable" type="xsd:boolean"/>
<xsd:attribute name="IsHighVolume" type="xsd:boolean"/>
<xsd:attribute name="AD_Process_ID" type="xsd:int"/>
<xsd:attribute name="TabLevel" type="xsd:int"/>
<xsd:attribute name="AD_Image_ID" type="xsd:int"/>
<xsd:attribute name="Included_Tab_ID" type="xsd:int"/>
<xsd:attribute name="ReplicationType" type="xsd:string"/>
<xsd:attribute name="IsSortTab" type="xsd:boolean"/>
<xsd:attribute name="AD_ColumnSortOrder_ID" type="xsd:int"/>
<xsd:attribute name="AD_ColumnSortYesNo_ID" type="xsd:int"/>
<xsd:attribute name="onlyCurrentRows" type="xsd:boolean"/>
<xsd:attribute name="onlyCurrentDays" type="xsd:int"/>
</xsd:complexType>
<xsd:complexType name="TabList">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="1" name="Tab" type="tns:Tab"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="FieldList">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="1" name="Field" type="tns:Field"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Field">
<xsd:sequence>
<xsd:element name="Tab" type="tns:Tab"/>
<xsd:element name="lookupInfo" type="tns:LookupInfo"/>
<xsd:element name="Description" type="xsd:string"/>
<xsd:element name="Help" type="xsd:string"/>
<xsd:element name="ColumnSQL" type="xsd:string"/>
<xsd:element name="DisplayLogic" type="xsd:string"/>
<xsd:element name="ReadOnlyLogic" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="lookup" type="tns:LookupValues"/>
</xsd:sequence>
<xsd:attribute name="Name" type="xsd:string"/>
<xsd:attribute name="WindowNo" type="xsd:int"/>
<xsd:attribute name="TabNo" type="xsd:int"/>
<xsd:attribute name="AD_Window_ID" type="xsd:int"/>
<xsd:attribute name="tabReadOnly" type="xsd:boolean"/>
<xsd:attribute name="isProcess" type="xsd:boolean"/>
<xsd:attribute name="ColumnName" type="xsd:string"/>
<xsd:attribute name="Header" type="xsd:string"/>
<xsd:attribute name="displayType" type="xsd:int"/>
<xsd:attribute name="AD_Column_ID" type="xsd:int"/>
<xsd:attribute name="DisplayLength" type="xsd:int"/>
<xsd:attribute name="IsSameLine" type="xsd:boolean"/>
<xsd:attribute name="IsDisplayed" type="xsd:boolean"/>
<xsd:attribute name="DefaultValue" type="xsd:string"/>
<xsd:attribute name="IsMandatory" type="xsd:boolean"/>
<xsd:attribute name="IsReadOnly" type="xsd:boolean"/>
<xsd:attribute name="IsUpdateable" type="xsd:boolean"/>
<xsd:attribute name="IsAlwaysUpdateable" type="xsd:boolean"/>
<xsd:attribute name="IsHeading" type="xsd:boolean"/>
<xsd:attribute name="IsFieldOnly" type="xsd:boolean"/>
<xsd:attribute name="IsEncryptedField" type="xsd:boolean"/>
<xsd:attribute name="IsEncryptedColumn" type="xsd:boolean"/>
<xsd:attribute name="IsSelectionColumn" type="xsd:boolean"/>
<xsd:attribute name="SortNo" type="xsd:int"/>
<xsd:attribute name="FieldLength" type="xsd:int"/>
<xsd:attribute name="VFormat" type="xsd:string"/>
<xsd:attribute name="ValueMin" type="xsd:string"/>
<xsd:attribute name="ValueMax" type="xsd:string"/>
<xsd:attribute name="FieldGroup" type="xsd:string"/>
<xsd:attribute name="IsKey" type="xsd:boolean"/>
<xsd:attribute name="IsParent" type="xsd:boolean"/>
<xsd:attribute name="Callout" type="xsd:string"/>
<xsd:attribute name="AD_Process_ID" type="xsd:int"/>
<xsd:attribute name="ObscureType" type="xsd:string"/>
<xsd:attribute name="ValidationCode" type="xsd:string"/>
<xsd:attribute name="AD_Reference_Value_ID" type="xsd:int"/>
<xsd:attribute name="isRange" type="xsd:boolean"/>
<xsd:attribute name="DefaultValue2" type="xsd:string"/>
</xsd:complexType>
<xsd:complexType name="LookupInfo">
<xsd:sequence>
<!--<xsd:element name="Tab" type="tns:Tab"/>
<xsd:element name="lookupInfo" type="tns:LookupInfo"/>-->
<xsd:element name="ZoomWindow" type="xsd:int"/>
<xsd:element name="ZoomWindowPO" type="xsd:int"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="WindowTabData" type="tns:WindowTabData"/>
<xsd:complexType name="WindowTabData">
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="0" name="DataSet" type="tns:DataSet"/>
<xsd:element maxOccurs="1" minOccurs="0" name="RowCount" type="xsd:int"/>
<xsd:element maxOccurs="1" minOccurs="0" name="Success" type="xsd:boolean"/>
<xsd:element maxOccurs="1" minOccurs="0" name="Error" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="ErrorInfo" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="Status" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="StatusError" type="xsd:boolean"/>
</xsd:sequence>
<xsd:attribute name="NumRows" type="xsd:int"/>
<xsd:attribute name="TotalRows" type="xsd:int"/>
<xsd:attribute name="StartRow" type="xsd:int"/>
</xsd:complexType>
<xsd:complexType name="DataSet">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="0" name="DataRow" type="tns:DataRow"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="DataRow">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="0" name="field" type="tns:DataField"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="DataField">
<xsd:sequence>
<xsd:element name="val" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="lookup" type="tns:LookupValues"/>
</xsd:sequence>
<xsd:attribute name="type" type="xsd:string" use="optional"/>
<xsd:attribute name="column" type="xsd:string"/>
<xsd:attribute name="lval" type="xsd:string" use="optional"/>
<xsd:attribute name="disp" type="xsd:boolean" use="optional"/>
<xsd:attribute name="edit" type="xsd:boolean" use="optional"/>
<xsd:attribute name="error" type="xsd:boolean" use="optional"/>
<xsd:attribute name="errorVal" type="xsd:string" use="optional"/>
</xsd:complexType>
<xsd:complexType name="LookupValues">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="0" name="lv" type="tns:LookupValue"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="LookupValue">
<xsd:sequence></xsd:sequence>
<xsd:attribute name="val" type="xsd:string"/>
<xsd:attribute name="key" type="xsd:string"/>
</xsd:complexType>
<xsd:element name="GetProcessParams" type="tns:GetProcessParams"/>
<xsd:element name="ProcessParams" type="tns:ProcessParams"/>
<xsd:element name="RunProcess" type="tns:RunProcess"/>
<xsd:element name="RunProcessResponse" type="tns:RunProcessResponse"/>
<xsd:complexType name="ProcessParams">
<xsd:sequence>
<xsd:element name="Params" type="tns:ProcessParamList"/>
<xsd:element name="Description" type="xsd:string"/>
<xsd:element name="Name" type="xsd:string"/>
<xsd:element name="Help" type="xsd:string"/>
</xsd:sequence>
<xsd:attribute name="AD_Process_ID" type="xsd:int"/>
</xsd:complexType>
<xsd:complexType name="GetProcessParams">
<xsd:sequence></xsd:sequence>
<xsd:attribute name="AD_Process_ID" type="xsd:int"/>
<xsd:attribute name="AD_Menu_ID" type="xsd:int"/>
<xsd:attribute name="AD_Record_ID" type="xsd:int"/>
</xsd:complexType>
<xsd:complexType name="RunProcess">
<xsd:sequence>
<xsd:element name="ParamValues" type="tns:DataRow"/>
</xsd:sequence>
<xsd:attribute name="AD_Process_ID" type="xsd:int"/>
<xsd:attribute name="AD_Menu_ID" type="xsd:int"/>
<xsd:attribute name="AD_Record_ID" type="xsd:int"/>
<xsd:attribute name="DocAction" type="xsd:string"/>
</xsd:complexType>
<xsd:complexType name="RunProcessResponse">
<xsd:sequence>
<xsd:element name="Error" type="xsd:string"/>
<xsd:element name="Summary" type="xsd:string"/>
<xsd:element name="LogInfo" type="xsd:string"/>
<xsd:element name="Data" type="xsd:hexBinary"/>
</xsd:sequence>
<xsd:attribute name="IsError" type="xsd:boolean"/>
<xsd:attribute name="IsReport" type="xsd:boolean"/>
<xsd:attribute name="ReportFormat" type="xsd:string"/>
</xsd:complexType>
<xsd:complexType name="ProcessParamList">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="0" name="Param" type="tns:ProcessParam"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ProcessParam">
<xsd:sequence>
<xsd:element name="Description" type="xsd:string"/>
<xsd:element name="Help" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="lookup" type="tns:LookupValues"/>
</xsd:sequence>
<xsd:attribute name="Name" type="xsd:string"/>
<xsd:attribute name="DefaultValue" type="xsd:string"/>
<xsd:attribute name="DefaultValue2" type="xsd:string"/>
<xsd:attribute name="IsMandatory" type="xsd:boolean"/>
<xsd:attribute name="IsRange" type="xsd:boolean"/>
<xsd:attribute name="FieldLength" type="xsd:int"/>
<xsd:attribute name="DisplayType" type="xsd:int"/>
<xsd:attribute name="ColumnName" type="xsd:string"/>
</xsd:complexType>
<!--int WindowNo, int AD_Window_ID, int AD_Menu_ID, int TabNo, int PrevTabNo, int PrevRecNo, boolean getData, int RowStart, int RowCount)-->
<xsd:element name="WindowTabDataReq" type="tns:WindowTabDataReq"/>
<xsd:complexType name="WindowTabDataReq">
<xsd:sequence>
<xsd:element name="FindCriteria" type="tns:DataRow"/>
</xsd:sequence>
<xsd:attribute name="WindowNo" type="xsd:int"/>
<xsd:attribute name="AD_Window_ID" type="xsd:int"/>
<xsd:attribute name="AD_Menu_ID" type="xsd:int"/>
<xsd:attribute name="TabNo" type="xsd:int"/>
<xsd:attribute name="PrevTabNo" type="xsd:int"/>
<xsd:attribute name="PrevRecNo" type="xsd:int"/>
<xsd:attribute name="getData" type="xsd:boolean"/>
<xsd:attribute name="RowStart" type="xsd:int"/>
<xsd:attribute name="RowCount" type="xsd:int"/>
<xsd:attribute name="fromZoom" type="xsd:boolean"/>
<xsd:attribute name="fromZoom_Window_ID" type="xsd:int"/>
<xsd:attribute name="fromZoom_Tab_ID" type="xsd:int"/>
<xsd:attribute name="fromZoom_Row_ID" type="xsd:int"/>
<xsd:attribute name="fromZoom_ColumnName" type="xsd:string"/>
<xsd:attribute name="fromZoom_ColumnValue" type="xsd:string"/>
</xsd:complexType>
<xsd:element name="ADMenu" type="tns:ADMenuItem"/>
<xsd:complexType name="ADMenuItemList">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="0" name="Item" type="tns:ADMenuItem"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ADMenuItem">
<xsd:sequence>
<xsd:element name="items" type="tns:ADMenuItemList"/>
<xsd:element name="description" type="xsd:string"/>
<xsd:element name="url" type="xsd:string"/>
</xsd:sequence>
<xsd:attribute name="AD_Menu_ID" type="xsd:int"/>
<xsd:attribute name="type" type="xsd:string"/>
<xsd:attribute name="name" type="xsd:string"/>
</xsd:complexType>
<xsd:element name="ADLoginRequest" type="tns:ADLoginRequest"/>
<xsd:element name="ADLoginResponse" type="tns:ADLoginResponse"/>
<xsd:complexType name="ADLoginRequest">
<xsd:sequence>
<xsd:element name="user" type="xsd:string"/>
<xsd:element name="pass" type="xsd:string"/>
<xsd:element name="lang" type="xsd:string"/>
<xsd:element name="ClientID" type="xsd:int"/>
<xsd:element name="RoleID" type="xsd:int"/>
<xsd:element name="OrgID" type="xsd:int"/>
<xsd:element name="WarehouseID" type="xsd:int"/>
<xsd:element name="stage" type="xsd:int"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ADLoginResponse">
<xsd:sequence>
<xsd:element name="status" type="xsd:int"/>
<xsd:element name="roles" type="tns:LookupValues"/>
<xsd:element name="langs" type="tns:LookupValues"/>
<xsd:element name="orgs" type="tns:LookupValues"/>
<xsd:element name="clients" type="tns:LookupValues"/>
<xsd:element name="warehouses" type="tns:LookupValues"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Location">
<xsd:sequence>
<xsd:element name="C_Location_ID" type="xsd:int"/>
<xsd:element name="Name" type="xsd:string"/>
<xsd:element name="Address1" type="xsd:string"/>
<xsd:element name="Address2" type="xsd:string"/>
<xsd:element name="City" type="xsd:string"/>
<xsd:element name="PostalCode" type="xsd:string"/>
<xsd:element name="C_Country_ID" type="xsd:int"/>
<xsd:element name="C_Region_ID" type="xsd:int"/>
<xsd:element maxOccurs="1" minOccurs="0" name="Countries" type="tns:LookupValues"/>
<!--<xsd:element name="Regions" type="tns:LookupValues" minOccurs="0" maxOccurs="1" />-->
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="StandardResponse">
<xsd:sequence>
<xsd:element name="Error" type="xsd:string"/>
</xsd:sequence>
<xsd:attribute name="IsError" type="xsd:boolean"/>
<xsd:attribute name="RecordID" type="xsd:int"/>
</xsd:complexType>
<xsd:element name="Location" type="tns:Location"/>
<xsd:element name="StandardResponse" type="tns:StandardResponse"/>
<xsd:element name="DocAction" type="tns:DocAction"/>
<xsd:complexType name="DocAction">
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="0" name="Action" type="tns:LookupValues"/>
<xsd:element name="Error" type="xsd:string"/>
</xsd:sequence>
<xsd:attribute name="IsError" type="xsd:boolean"/>
<xsd:attribute name="RecordID" type="xsd:int"/>
</xsd:complexType>
<xsd:element name="getLookupSearchDataReq" type="tns:getLookupSearchDataReq"/>
<xsd:complexType name="getLookupSearchDataReq">
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="0" name="Params" type="tns:DataRow"/>
</xsd:sequence>
<xsd:attribute name="WindowNo" type="xsd:int"/>
<xsd:attribute name="TabNo" type="xsd:int"/>
<xsd:attribute name="RowNo" type="xsd:int"/>
<xsd:attribute name="ColumnName" type="xsd:string"/>
</xsd:complexType>
<!--Elements added for model web services-->
<xsd:element name="ModelSetDocActionRequest" type="tns:ModelSetDocActionRequest"/>
<xsd:complexType name="ModelSetDocAction">
<xsd:sequence>
<xsd:element name="serviceType" type="xsd:string"/>
<xsd:element name="tableName" type="xsd:string"/>
<xsd:element name="recordID" type="xsd:int"/>
<xsd:element name="docAction" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ModelSetDocActionRequest">
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="ModelSetDocAction" type="tns:ModelSetDocAction"/>
<xsd:element maxOccurs="1" minOccurs="1" name="ADLoginRequest" type="tns:ADLoginRequest"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="ModelRunProcess" type="tns:ModelRunProcess"/>
<xsd:complexType name="ModelRunProcess">
<xsd:sequence>
<xsd:element name="serviceType" type="xsd:string"/>
<xsd:element name="ParamValues" type="tns:DataRow"/>
</xsd:sequence>
<xsd:attribute name="AD_Process_ID" type="xsd:int"/>
<xsd:attribute name="AD_Menu_ID" type="xsd:int"/>
<xsd:attribute name="AD_Record_ID" type="xsd:int"/>
<xsd:attribute name="DocAction" type="xsd:string"/>
</xsd:complexType>
<xsd:element name="ModelRunProcessRequest" type="tns:ModelRunProcessRequest"/>
<xsd:complexType name="ModelRunProcessRequest">
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="ModelRunProcess" type="tns:ModelRunProcess"/>
<xsd:element maxOccurs="1" minOccurs="1" name="ADLoginRequest" type="tns:ADLoginRequest"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="ModelGetListRequest" type="tns:ModelGetListRequest"/>
<xsd:complexType name="ModelGetList">
<xsd:sequence>
<xsd:element name="serviceType" type="xsd:string"/>
<xsd:element name="AD_Reference_ID" type="xsd:int"/>
<xsd:element name="Filter" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ModelGetListRequest">
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="ModelGetList" type="tns:ModelGetList"/>
<xsd:element maxOccurs="1" minOccurs="1" name="ADLoginRequest" type="tns:ADLoginRequest"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="ModelCRUDRequest" type="tns:ModelCRUDRequest"/>
<xsd:complexType name="ModelCRUD">
<xsd:sequence>
<xsd:element name="serviceType" type="xsd:string"/>
<xsd:element name="TableName" type="xsd:string"/>
<xsd:element name="RecordID" type="xsd:int"/>
<xsd:element name="Filter" type="xsd:string"/>
<xsd:element name="Action">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="Create"/>
<xsd:enumeration value="Read"/>
<xsd:enumeration value="Update"/>
<xsd:enumeration value="Delete"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element maxOccurs="1" minOccurs="0" name="DataRow" type="tns:DataRow"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ModelCRUDRequest">
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="ModelCRUD" type="tns:ModelCRUD"/>
<xsd:element maxOccurs="1" minOccurs="1" name="ADLoginRequest" type="tns:ADLoginRequest"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
</wsdl:types>
<wsdl:message name="queryDataResponse">
<wsdl:part name="WindowTabData" element="tns:WindowTabData"/>
</wsdl:message>
<wsdl:message name="runProcessResponse">
<wsdl:part name="RunProcessResponse" element="tns:RunProcessResponse"/>
</wsdl:message>
<wsdl:message name="getListResponse">
<wsdl:part name="WindowTabData" element="tns:WindowTabData"/>
</wsdl:message>
<wsdl:message name="getListRequest">
<wsdl:part name="ModelGetListRequest" element="tns:ModelGetListRequest"/>
</wsdl:message>
<wsdl:message name="setDocActionResponse">
<wsdl:part name="StandardResponse" element="tns:StandardResponse"/>
</wsdl:message>
<wsdl:message name="readDataRequest">
<wsdl:part name="ModelCRUDRequest" element="tns:ModelCRUDRequest"/>
</wsdl:message>
<wsdl:message name="createDataRequest">
<wsdl:part name="ModelCRUDRequest" element="tns:ModelCRUDRequest"/>
</wsdl:message>
<wsdl:message name="updateDataResponse">
<wsdl:part name="StandardResponse" element="tns:StandardResponse"/>
</wsdl:message>
<wsdl:message name="setDocActionRequest">
<wsdl:part name="ModelSetDocActionRequest" element="tns:ModelSetDocActionRequest"/>
</wsdl:message>
<wsdl:message name="queryDataRequest">
<wsdl:part name="ModelCRUDRequest" element="tns:ModelCRUDRequest"/>
</wsdl:message>
<wsdl:message name="deleteDataResponse">
<wsdl:part name="StandardResponse" element="tns:StandardResponse"/>
</wsdl:message>
<wsdl:message name="deleteDataRequest">
<wsdl:part name="ModelCRUDRequest" element="tns:ModelCRUDRequest"/>
</wsdl:message>
<wsdl:message name="createDataResponse">
<wsdl:part name="StandardResponse" element="tns:StandardResponse"/>
</wsdl:message>
<wsdl:message name="readDataResponse">
<wsdl:part name="WindowTabData" element="tns:WindowTabData"/>
</wsdl:message>
<wsdl:message name="runProcessRequest">
<wsdl:part name="ModelRunProcessRequest" element="tns:ModelRunProcessRequest"/>
</wsdl:message>
<wsdl:message name="updateDataRequest">
<wsdl:part name="ModelCRUDRequest" element="tns:ModelCRUDRequest"/>
</wsdl:message>
<wsdl:portType name="ModelADServicePortType">
<wsdl:operation name="runProcess">
<wsdl:input name="runProcessRequest" message="tns:runProcessRequest"/>
<wsdl:output name="runProcessResponse" message="tns:runProcessResponse"/>
</wsdl:operation>
<wsdl:operation name="createData">
<wsdl:input name="createDataRequest" message="tns:createDataRequest"/>
<wsdl:output name="createDataResponse" message="tns:createDataResponse"/>
</wsdl:operation>
<wsdl:operation name="updateData">
<wsdl:input name="updateDataRequest" message="tns:updateDataRequest"/>
<wsdl:output name="updateDataResponse" message="tns:updateDataResponse"/>
</wsdl:operation>
<wsdl:operation name="readData">
<wsdl:input name="readDataRequest" message="tns:readDataRequest"/>
<wsdl:output name="readDataResponse" message="tns:readDataResponse"/>
</wsdl:operation>
<wsdl:operation name="getList">
<wsdl:input name="getListRequest" message="tns:getListRequest"/>
<wsdl:output name="getListResponse" message="tns:getListResponse"/>
</wsdl:operation>
<wsdl:operation name="setDocAction">
<wsdl:input name="setDocActionRequest" message="tns:setDocActionRequest"/>
<wsdl:output name="setDocActionResponse" message="tns:setDocActionResponse"/>
</wsdl:operation>
<wsdl:operation name="deleteData">
<wsdl:input name="deleteDataRequest" message="tns:deleteDataRequest"/>
<wsdl:output name="deleteDataResponse" message="tns:deleteDataResponse"/>
</wsdl:operation>
<wsdl:operation name="queryData">
<wsdl:input name="queryDataRequest" message="tns:queryDataRequest"/>
<wsdl:output name="queryDataResponse" message="tns:queryDataResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="ModelADServiceHttpBinding" type="tns:ModelADServicePortType">
<wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="runProcess">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="runProcessRequest">
<wsdlsoap:body use="literal" namespace="http://3e.pl/ADInterface"/>
</wsdl:input>
<wsdl:output name="runProcessResponse">
<wsdlsoap:body use="literal" namespace="http://3e.pl/ADInterface"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="createData">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="createDataRequest">
<wsdlsoap:body use="literal" namespace="http://3e.pl/ADInterface"/>
</wsdl:input>
<wsdl:output name="createDataResponse">
<wsdlsoap:body use="literal" namespace="http://3e.pl/ADInterface"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="updateData">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="updateDataRequest">
<wsdlsoap:body use="literal" namespace="http://3e.pl/ADInterface"/>
</wsdl:input>
<wsdl:output name="updateDataResponse">
<wsdlsoap:body use="literal" namespace="http://3e.pl/ADInterface"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="readData">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="readDataRequest">
<wsdlsoap:body use="literal" namespace="http://3e.pl/ADInterface"/>
</wsdl:input>
<wsdl:output name="readDataResponse">
<wsdlsoap:body use="literal" namespace="http://3e.pl/ADInterface"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="getList">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="getListRequest">
<wsdlsoap:body use="literal" namespace="http://3e.pl/ADInterface"/>
</wsdl:input>
<wsdl:output name="getListResponse">
<wsdlsoap:body use="literal" namespace="http://3e.pl/ADInterface"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="setDocAction">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="setDocActionRequest">
<wsdlsoap:body use="literal" namespace="http://3e.pl/ADInterface"/>
</wsdl:input>
<wsdl:output name="setDocActionResponse">
<wsdlsoap:body use="literal" namespace="http://3e.pl/ADInterface"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="deleteData">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="deleteDataRequest">
<wsdlsoap:body use="literal" namespace="http://3e.pl/ADInterface"/>
</wsdl:input>
<wsdl:output name="deleteDataResponse">
<wsdlsoap:body use="literal" namespace="http://3e.pl/ADInterface"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="queryData">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="queryDataRequest">
<wsdlsoap:body use="literal" namespace="http://3e.pl/ADInterface"/>
</wsdl:input>
<wsdl:output name="queryDataResponse">
<wsdlsoap:body use="literal" namespace="http://3e.pl/ADInterface"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="ModelADService">
<wsdl:port name="ModelADServiceHttpPort" binding="tns:ModelADServiceHttpBinding">
<wsdlsoap:address location="https://localhost:8443/ADInterface/services/ModelADService"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>]]></con:content><con:type>http://schemas.xmlsoap.org/wsdl/</con:type></con:part></con:definitionCache><con:endpoints><con:endpoint>https://localhost:8443/ADInterface/services/ModelADService</con:endpoint></con:endpoints><con:operation isOneWay="false" action="" name="createData" bindingOperationName="createData" type="Request-Response" outputName="createDataResponse" inputName="createDataRequest" receivesAttachments="false" sendsAttachments="false" anonymous="optional"><con:settings/><con:call name="Sample Create BP GlobalQSS (GW Working)"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>https://localhost:8443/ADInterface/services/ModelADService</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:adin="http://3e.pl/ADInterface">
<soapenv:Header/>
<soapenv:Body>
<adin:createData>
<adin:ModelCRUDRequest>
<adin:ModelCRUD>
<adin:serviceType>CreateBPartner</adin:serviceType>
<adin:TableName>C_BPartner</adin:TableName>
<adin:RecordID>0</adin:RecordID>
<adin:Action>Create</adin:Action>
<adin:DataRow>
<adin:field column="Value">
<adin:val>GlobalQSS</adin:val>
</adin:field>
<adin:field column="Name">
<adin:val>Quality Systems &amp; Solutions</adin:val>
</adin:field>
<adin:field column="TaxID">
<adin:val>830.085.359-4</adin:val>
</adin:field>
<adin:field column="IsVendor">
<adin:val>Y</adin:val>
</adin:field>
<adin:field column="IsCustomer">
<adin:val>N</adin:val>
</adin:field>
<adin:field column="IsTaxExempt">
<adin:val>N</adin:val>
</adin:field>
<adin:field column="Name2">
<adin:val>QSS Ltda. - http://www.globalqss.com</adin:val>
</adin:field>
<adin:field column="C_BP_Group_ID">
<adin:val>104</adin:val>
</adin:field>
</adin:DataRow>
</adin:ModelCRUD>
<adin:ADLoginRequest>
<adin:user>WebService</adin:user>
<adin:pass>WebService</adin:pass>
<adin:lang>en_US</adin:lang>
<adin:ClientID>11</adin:ClientID>
<adin:RoleID>50004</adin:RoleID>
<adin:OrgID>11</adin:OrgID>
<adin:WarehouseID>103</adin:WarehouseID>
<adin:stage>9</adin:stage>
</adin:ADLoginRequest>
</adin:ModelCRUDRequest>
</adin:createData>
</soapenv:Body>
</soapenv:Envelope>]]></con:request><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://3e.pl/ADInterface/ModelADServicePortType/createDataRequest"/></con:call></con:operation><con:operation isOneWay="false" action="" name="deleteData" bindingOperationName="deleteData" type="Request-Response" outputName="deleteDataResponse" inputName="deleteDataRequest" receivesAttachments="false" sendsAttachments="false" anonymous="optional"><con:settings/><con:call name="Sample Delete BP TreeFarm (must fail)"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>https://localhost:8443/ADInterface/services/ModelADService</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:adin="http://3e.pl/ADInterface">
<soapenv:Header/>
<soapenv:Body>
<adin:deleteData>
<adin:ModelCRUDRequest>
<adin:ModelCRUD>
<adin:serviceType>DeleteBPartner</adin:serviceType>
<adin:TableName>C_BPartner</adin:TableName>
<adin:RecordID>114</adin:RecordID>
<adin:Action>Delete</adin:Action>
</adin:ModelCRUD>
<adin:ADLoginRequest>
<adin:user>WebService</adin:user>
<adin:pass>WebService</adin:pass>
<adin:lang>en_US</adin:lang>
<adin:ClientID>11</adin:ClientID>
<adin:RoleID>50004</adin:RoleID>
<adin:OrgID>11</adin:OrgID>
<adin:WarehouseID>103</adin:WarehouseID>
<adin:stage>9</adin:stage>
</adin:ADLoginRequest>
</adin:ModelCRUDRequest>
</adin:deleteData>
</soapenv:Body>
</soapenv:Envelope>]]></con:request><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://3e.pl/ADInterface/ModelADServicePortType/deleteDataRequest"/></con:call></con:operation><con:operation isOneWay="false" action="" name="getList" bindingOperationName="getList" type="Request-Response" outputName="getListResponse" inputName="getListRequest" receivesAttachments="false" sendsAttachments="false" anonymous="optional"><con:settings/><con:call name="Sample Get List Sales Region"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>https://localhost:8443/ADInterface/services/ModelADService</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:adin="http://3e.pl/ADInterface">
<soapenv:Header/>
<soapenv:Body>
<adin:getList>
<adin:ModelGetListRequest>
<adin:ModelGetList>
<adin:serviceType>GetListSalesRegions</adin:serviceType>
<adin:AD_Reference_ID>144</adin:AD_Reference_ID>
<adin:Filter></adin:Filter>
</adin:ModelGetList>
<adin:ADLoginRequest>
<adin:user>WebService</adin:user>
<adin:pass>WebService</adin:pass>
<adin:lang>en_US</adin:lang>
<adin:ClientID>11</adin:ClientID>
<adin:RoleID>50004</adin:RoleID>
<adin:OrgID>11</adin:OrgID>
<adin:WarehouseID>103</adin:WarehouseID>
<adin:stage>9</adin:stage>
</adin:ADLoginRequest>
</adin:ModelGetListRequest>
</adin:getList>
</soapenv:Body>
</soapenv:Envelope>]]></con:request><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://3e.pl/ADInterface/ModelADServicePortType/getListRequest"/></con:call></con:operation><con:operation isOneWay="false" action="" name="queryData" bindingOperationName="queryData" type="Request-Response" outputName="queryDataResponse" inputName="queryDataRequest" receivesAttachments="false" sendsAttachments="false" anonymous="optional"><con:settings/><con:call name="Sample get BP Standard &lt; S"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>https://localhost:8443/ADInterface/services/ModelADService</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:adin="http://3e.pl/ADInterface">
<soapenv:Header/>
<soapenv:Body>
<adin:queryData>
<adin:ModelCRUDRequest>
<adin:ModelCRUD>
<adin:serviceType>QueryBPartner</adin:serviceType>
<adin:TableName>C_BPartner</adin:TableName>
<adin:Filter>name&lt;'S'</adin:Filter>
<adin:Action>Read</adin:Action>
<adin:DataRow>
<adin:field column="C_BP_Group_ID">
<adin:val>103</adin:val>
</adin:field>
</adin:DataRow>
</adin:ModelCRUD>
<adin:ADLoginRequest>
<adin:user>WebService</adin:user>
<adin:pass>WebService</adin:pass>
<adin:lang>en_US</adin:lang>
<adin:ClientID>11</adin:ClientID>
<adin:RoleID>50004</adin:RoleID>
<adin:OrgID>11</adin:OrgID>
<adin:WarehouseID>103</adin:WarehouseID>
<adin:stage>9</adin:stage>
</adin:ADLoginRequest>
</adin:ModelCRUDRequest>
</adin:queryData>
</soapenv:Body>
</soapenv:Envelope>]]></con:request><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://3e.pl/ADInterface/ModelADServicePortType/queryDataRequest"/></con:call></con:operation><con:operation isOneWay="false" action="" name="readData" bindingOperationName="readData" type="Request-Response" outputName="readDataResponse" inputName="readDataRequest" receivesAttachments="false" sendsAttachments="false" anonymous="optional"><con:settings/><con:call name="Sample Read TreeFarm"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>https://localhost:8443/ADInterface/services/ModelADService</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:adin="http://3e.pl/ADInterface">
<soapenv:Header/>
<soapenv:Body>
<adin:readData>
<adin:ModelCRUDRequest>
<adin:ModelCRUD>
<adin:serviceType>ReadBPartner</adin:serviceType>
<adin:TableName>C_BPartner</adin:TableName>
<adin:RecordID>114</adin:RecordID>
<adin:Action>Read</adin:Action>
</adin:ModelCRUD>
<adin:ADLoginRequest>
<adin:user>WebService</adin:user>
<adin:pass>WebService</adin:pass>
<adin:lang>en_US</adin:lang>
<adin:ClientID>11</adin:ClientID>
<adin:RoleID>50004</adin:RoleID>
<adin:OrgID>11</adin:OrgID>
<adin:WarehouseID>103</adin:WarehouseID>
<adin:stage>9</adin:stage>
</adin:ADLoginRequest>
</adin:ModelCRUDRequest>
</adin:readData>
</soapenv:Body>
</soapenv:Envelope>]]></con:request><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://3e.pl/ADInterface/ModelADServicePortType/readDataRequest"/></con:call></con:operation><con:operation isOneWay="false" action="" name="runProcess" bindingOperationName="runProcess" type="Request-Response" outputName="runProcessResponse" inputName="runProcessRequest" receivesAttachments="false" sendsAttachments="false" anonymous="optional"><con:settings/><con:call name="Sample Process Invoice (GW Working)"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>https://localhost:8443/ADInterface/services/ModelADService</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:adin="http://3e.pl/ADInterface">
<soapenv:Header/>
<soapenv:Body>
<adin:runProcess>
<adin:ModelRunProcessRequest>
<adin:ModelRunProcess AD_Process_ID="111" AD_Menu_ID="0" AD_Record_ID="103" DocAction="CO">
<adin:serviceType>ProcessInvoice</adin:serviceType>
<adin:ParamValues>
</adin:ParamValues>
</adin:ModelRunProcess>
<adin:ADLoginRequest>
<adin:user>WebService</adin:user>
<adin:pass>WebService</adin:pass>
<adin:lang>en_US</adin:lang>
<adin:ClientID>11</adin:ClientID>
<adin:RoleID>50004</adin:RoleID>
<adin:OrgID>11</adin:OrgID>
<adin:WarehouseID>103</adin:WarehouseID>
<adin:stage>9</adin:stage>
</adin:ADLoginRequest>
</adin:ModelRunProcessRequest>
</adin:runProcess>
</soapenv:Body>
</soapenv:Envelope>]]></con:request><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://3e.pl/ADInterface/ModelADServicePortType/runProcessRequest"/></con:call><con:call name="Run Storage Detail"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>https://localhost:8443/ADInterface/services/ModelADService</con:endpoint><con:request><![CDATA[<!--
Example on how to run report Storage Detail with HQ Warehouse and Patio Chair as parameters
You need to define web service security for:
Web Service Type: RunStorageDetail
Web Service Parameters:
AD_Process_ID Constant 236
AD_Menu_ID Constant 0
AD_Record_ID Constant 0
And allow execution to the WebService role on the report.
-->
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:adin="http://3e.pl/ADInterface">
<soapenv:Header/>
<soapenv:Body>
<adin:runProcess>
<adin:ModelRunProcessRequest>
<adin:ModelRunProcess AD_Process_ID="236">
<adin:serviceType>RunStorageDetail</adin:serviceType>
<adin:ParamValues>
<adin:field column="M_Warehouse_ID">
<adin:val>103</adin:val>
</adin:field>
<adin:field column="M_Product_ID">
<adin:val>133</adin:val>
</adin:field>
</adin:ParamValues>
</adin:ModelRunProcess>
<adin:ADLoginRequest>
<adin:user>WebService</adin:user>
<adin:pass>WebService</adin:pass>
<adin:lang>en_US</adin:lang>
<adin:ClientID>11</adin:ClientID>
<adin:RoleID>50004</adin:RoleID>
<adin:OrgID>11</adin:OrgID>
<adin:WarehouseID>103</adin:WarehouseID>
<adin:stage>9</adin:stage>
</adin:ADLoginRequest>
</adin:ModelRunProcessRequest>
</adin:runProcess>
</soapenv:Body>
</soapenv:Envelope>]]></con:request><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://3e.pl/ADInterface/ModelADServicePortType/runProcessRequest"/></con:call></con:operation><con:operation isOneWay="false" action="" name="setDocAction" bindingOperationName="setDocAction" type="Request-Response" outputName="setDocActionResponse" inputName="setDocActionRequest" receivesAttachments="false" sendsAttachments="false" anonymous="optional"><con:settings/><con:call name="Sample Complete Order"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>https://localhost:8443/ADInterface/services/ModelADService</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:adin="http://3e.pl/ADInterface">
<soapenv:Header/>
<soapenv:Body>
<adin:setDocAction>
<adin:ModelSetDocActionRequest>
<adin:ModelSetDocAction>
<adin:serviceType>ActionCompleteOrder</adin:serviceType>
<adin:tableName>C_Order</adin:tableName>
<adin:recordID>102</adin:recordID>
<adin:docAction>CO</adin:docAction>
</adin:ModelSetDocAction>
<adin:ADLoginRequest>
<adin:user>WebService</adin:user>
<adin:pass>WebService</adin:pass>
<adin:lang>en_US</adin:lang>
<adin:ClientID>11</adin:ClientID>
<adin:RoleID>50004</adin:RoleID>
<adin:OrgID>11</adin:OrgID>
<adin:WarehouseID>103</adin:WarehouseID>
<adin:stage>9</adin:stage>
</adin:ADLoginRequest>
</adin:ModelSetDocActionRequest>
</adin:setDocAction>
</soapenv:Body>
</soapenv:Envelope>]]></con:request><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://3e.pl/ADInterface/ModelADServicePortType/setDocActionRequest"/></con:call></con:operation><con:operation isOneWay="false" action="" name="updateData" bindingOperationName="updateData" type="Request-Response" outputName="updateDataResponse" inputName="updateDataRequest" receivesAttachments="false" sendsAttachments="false" anonymous="optional"><con:settings/><con:call name="Sample Update TreeFarm URL"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>https://localhost:8443/ADInterface/services/ModelADService</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:adin="http://3e.pl/ADInterface">
<soapenv:Header/>
<soapenv:Body>
<adin:updateData>
<adin:ModelCRUDRequest>
<adin:ModelCRUD>
<adin:serviceType>UpdateBPartner</adin:serviceType>
<adin:TableName>C_BPartner</adin:TableName>
<adin:RecordID>114</adin:RecordID>
<adin:Action>Update</adin:Action>
<adin:DataRow>
<adin:field column="URL">
<adin:val>http://www.treefarm.com</adin:val>
</adin:field>
</adin:DataRow>
</adin:ModelCRUD>
<adin:ADLoginRequest>
<adin:user>WebService</adin:user>
<adin:pass>WebService</adin:pass>
<adin:lang>en_US</adin:lang>
<adin:ClientID>11</adin:ClientID>
<adin:RoleID>50004</adin:RoleID>
<adin:OrgID>11</adin:OrgID>
<adin:WarehouseID>103</adin:WarehouseID>
<adin:stage>9</adin:stage>
</adin:ADLoginRequest>
</adin:ModelCRUDRequest>
</adin:updateData>
</soapenv:Body>
</soapenv:Envelope>]]></con:request><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://3e.pl/ADInterface/ModelADServicePortType/updateDataRequest"/></con:call></con:operation></con:interface><con:properties/><con:wssContainer/></con:soapui-project>

View File

@ -1,23 +0,0 @@
<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body>
<runProcess xmlns="http://3e.pl/ADInterface">
<ModelRunProcessRequest>
<ModelRunProcess AD_Process_ID="111" AD_Menu_ID="0" AD_Record_ID="103" DocAction="CO">
<serviceType>ProcessInvoice</serviceType>
<ParamValues/>
</ModelRunProcess>
<ADLoginRequest>
<user>WebService</user>
<pass>WebService</pass>
<lang>en_US</lang>
<ClientID>11</ClientID>
<RoleID>50004</RoleID>
<OrgID>11</OrgID>
<WarehouseID>103</WarehouseID>
<stage/>
</ADLoginRequest>
</ModelRunProcessRequest>
</runProcess>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

View File

@ -1,25 +0,0 @@
<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body>
<setDocAction xmlns="http://3e.pl/ADInterface">
<ModelSetDocActionRequest>
<ModelSetDocAction>
<serviceType>ActionCompleteOrder</serviceType>
<tableName>C_Order</tableName>
<recordID>102</recordID>
<docAction>CO</docAction>
</ModelSetDocAction>
<ADLoginRequest>
<user>WebService</user>
<pass>WebService</pass>
<lang>en_US</lang>
<ClientID>11</ClientID>
<RoleID>50004</RoleID>
<OrgID>11</OrgID>
<WarehouseID>103</WarehouseID>
<stage/>
</ADLoginRequest>
</ModelSetDocActionRequest>
</setDocAction>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

View File

@ -1,18 +0,0 @@
:
if [ $# -ne 1 ]
then
echo "Usage: $0 Message_File
echo " i.e.: $0 MsgModelSetDocAction
exit 1
fi
FILENAME=ModelADService.wsdl.$$
wget \
--no-check-certificate \
--post-file=$1 \
--save-headers \
https://localhost:8443/ADInterface/services/ModelADService \
-O $FILENAME
ls -l $FILENAME
cat $FILENAME
echo
rm -f $FILENAME

View File

@ -0,0 +1,714 @@
<?xml version="1.0" encoding="UTF-8"?>
<con:soapui-project activeEnvironment="Default" name="iDempiereWebServices" resourceRoot="" soapui-version="4.5.1" xmlns:con="http://eviware.com/soapui/config"><con:settings/><con:interface xsi:type="con:WsdlInterface" wsaVersion="NONE" name="ModelADServiceSoapBinding" type="wsdl" bindingName="{http://idempiere.org/ADInterface/1_0}ModelADServiceSoapBinding" soapVersion="1_1" anonymous="optional" definition="https://localhost:8443/ADInterface/services/ModelADService?wsdl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:settings/><con:definitionCache type="TEXT" rootPart="https://localhost:8443/ADInterface/services/ModelADService?wsdl"><con:part><con:url>https://localhost:8443/ADInterface/services/ModelADService?wsdl</con:url><con:content><![CDATA[<wsdl:definitions name="ModelADService" targetNamespace="http://idempiere.org/ADInterface/1_0" xmlns:ns1="http://schemas.xmlsoap.org/soap/http" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://idempiere.org/ADInterface/1_0" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<wsdl:types>
<xsd:schema elementFormDefault="qualified" targetNamespace="http://idempiere.org/ADInterface/1_0">
<xsd:element name="WindowTabData" type="tns:WindowTabData"/>
<xsd:complexType name="WindowTabData">
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="0" name="DataSet" type="tns:DataSet"/>
<xsd:element maxOccurs="1" minOccurs="0" name="RowCount" type="xsd:int"/>
<xsd:element maxOccurs="1" minOccurs="0" name="Success" type="xsd:boolean"/>
<xsd:element maxOccurs="1" minOccurs="0" name="Error" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="ErrorInfo" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="Status" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="StatusError" type="xsd:boolean"/>
</xsd:sequence>
<xsd:attribute name="NumRows" type="xsd:int"/>
<xsd:attribute name="TotalRows" type="xsd:int"/>
<xsd:attribute name="StartRow" type="xsd:int"/>
</xsd:complexType>
<xsd:complexType name="DataSet">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="0" name="DataRow" type="tns:DataRow"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="DataRow">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="0" name="field" type="tns:DataField"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="DataField">
<xsd:sequence>
<xsd:element name="val" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="lookup" type="tns:LookupValues"/>
</xsd:sequence>
<xsd:attribute name="type" type="xsd:string" use="optional"/>
<xsd:attribute name="column" type="xsd:string"/>
<xsd:attribute name="lval" type="xsd:string" use="optional"/>
<xsd:attribute name="disp" type="xsd:boolean" use="optional"/>
<xsd:attribute name="edit" type="xsd:boolean" use="optional"/>
<xsd:attribute name="error" type="xsd:boolean" use="optional"/>
<xsd:attribute name="errorVal" type="xsd:string" use="optional"/>
</xsd:complexType>
<xsd:complexType name="LookupValues">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="0" name="lv" type="tns:LookupValue"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="LookupValue">
<xsd:sequence></xsd:sequence>
<xsd:attribute name="val" type="xsd:string"/>
<xsd:attribute name="key" type="xsd:string"/>
</xsd:complexType>
<xsd:element name="GetProcessParams" type="tns:GetProcessParams"/>
<xsd:element name="ProcessParams" type="tns:ProcessParams"/>
<xsd:element name="RunProcess" type="tns:RunProcess"/>
<xsd:element name="RunProcessResponse" type="tns:RunProcessResponse"/>
<xsd:complexType name="ProcessParams">
<xsd:sequence>
<xsd:element name="Params" type="tns:ProcessParamList"/>
<xsd:element name="Description" type="xsd:string"/>
<xsd:element name="Name" type="xsd:string"/>
<xsd:element name="Help" type="xsd:string"/>
</xsd:sequence>
<xsd:attribute name="AD_Process_ID" type="xsd:int"/>
</xsd:complexType>
<xsd:complexType name="GetProcessParams">
<xsd:sequence></xsd:sequence>
<xsd:attribute name="AD_Process_ID" type="xsd:int"/>
<xsd:attribute name="AD_Menu_ID" type="xsd:int"/>
<xsd:attribute name="AD_Record_ID" type="xsd:int"/>
</xsd:complexType>
<xsd:complexType name="RunProcess">
<xsd:sequence>
<xsd:element name="ParamValues" type="tns:DataRow"/>
</xsd:sequence>
<xsd:attribute name="AD_Process_ID" type="xsd:int"/>
<xsd:attribute name="AD_Menu_ID" type="xsd:int"/>
<xsd:attribute name="AD_Record_ID" type="xsd:int"/>
<xsd:attribute name="DocAction" type="xsd:string"/>
</xsd:complexType>
<xsd:complexType name="RunProcessResponse">
<xsd:sequence>
<xsd:element name="Error" type="xsd:string"/>
<xsd:element name="Summary" type="xsd:string"/>
<xsd:element name="LogInfo" type="xsd:string"/>
<xsd:element name="Data" type="xsd:hexBinary"/>
</xsd:sequence>
<xsd:attribute name="IsError" type="xsd:boolean"/>
<xsd:attribute name="IsReport" type="xsd:boolean"/>
<xsd:attribute name="ReportFormat" type="xsd:string"/>
</xsd:complexType>
<xsd:complexType name="ProcessParamList">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="0" name="Param" type="tns:ProcessParam"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ProcessParam">
<xsd:sequence>
<xsd:element name="Description" type="xsd:string"/>
<xsd:element name="Help" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="lookup" type="tns:LookupValues"/>
</xsd:sequence>
<xsd:attribute name="Name" type="xsd:string"/>
<xsd:attribute name="DefaultValue" type="xsd:string"/>
<xsd:attribute name="DefaultValue2" type="xsd:string"/>
<xsd:attribute name="IsMandatory" type="xsd:boolean"/>
<xsd:attribute name="IsRange" type="xsd:boolean"/>
<xsd:attribute name="FieldLength" type="xsd:int"/>
<xsd:attribute name="DisplayType" type="xsd:int"/>
<xsd:attribute name="ColumnName" type="xsd:string"/>
</xsd:complexType>
<xsd:element name="ADLoginRequest" type="tns:ADLoginRequest"/>
<xsd:element name="ADLoginResponse" type="tns:ADLoginResponse"/>
<xsd:complexType name="ADLoginRequest">
<xsd:sequence>
<xsd:element name="user" type="xsd:string"/>
<xsd:element name="pass" type="xsd:string"/>
<xsd:element name="lang" type="xsd:string"/>
<xsd:element name="ClientID" type="xsd:int"/>
<xsd:element name="RoleID" type="xsd:int"/>
<xsd:element name="OrgID" type="xsd:int"/>
<xsd:element name="WarehouseID" type="xsd:int"/>
<xsd:element name="stage" type="xsd:int"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ADLoginResponse">
<xsd:sequence>
<xsd:element name="status" type="xsd:int"/>
<xsd:element name="roles" type="tns:LookupValues"/>
<xsd:element name="langs" type="tns:LookupValues"/>
<xsd:element name="orgs" type="tns:LookupValues"/>
<xsd:element name="clients" type="tns:LookupValues"/>
<xsd:element name="warehouses" type="tns:LookupValues"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="StandardResponse">
<xsd:sequence>
<xsd:element minOccurs="0" name="Error" type="xsd:string"/>
<xsd:element maxOccurs="unbounded" minOccurs="0" name="outputFields" type="tns:outputFields"/>
<xsd:element minOccurs="0" name="RunProcessResponse" type="tns:RunProcessResponse"/>
<xsd:element minOccurs="0" name="WindowTabData" type="tns:WindowTabData"/>
</xsd:sequence>
<xsd:attribute name="IsError" type="xsd:boolean"/>
<xsd:attribute name="IsRolledBack" type="xsd:boolean"/>
<xsd:attribute name="RecordID" type="xsd:int"/>
</xsd:complexType>
<xsd:complexType name="outputFields">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" name="outputField" type="tns:outputField"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="outputField">
<xsd:attribute name="column" type="xsd:string"/>
<xsd:attribute name="value" type="xsd:string"/>
<xsd:attribute name="Text" type="xsd:string"/>
</xsd:complexType>
<xsd:element name="StandardResponse" type="tns:StandardResponse"/>
<!--Elements added for model web services-->
<xsd:element name="ModelSetDocActionRequest" type="tns:ModelSetDocActionRequest"/>
<xsd:complexType name="ModelSetDocAction">
<xsd:sequence>
<xsd:element name="serviceType" type="xsd:string"/>
<xsd:element name="tableName" type="xsd:string"/>
<xsd:element name="recordID" type="xsd:int"/>
<xsd:element minOccurs="0" name="recordIDVariable" type="xsd:string"/>
<xsd:element name="docAction" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ModelSetDocActionRequest">
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="ModelSetDocAction" type="tns:ModelSetDocAction"/>
<xsd:element maxOccurs="1" minOccurs="1" name="ADLoginRequest" type="tns:ADLoginRequest"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="ModelRunProcess" type="tns:ModelRunProcess"/>
<xsd:complexType name="ModelRunProcess">
<xsd:sequence>
<xsd:element name="serviceType" type="xsd:string"/>
<xsd:element name="ParamValues" type="tns:DataRow"/>
</xsd:sequence>
<xsd:attribute name="AD_Process_ID" type="xsd:int"/>
<xsd:attribute name="AD_Menu_ID" type="xsd:int"/>
<xsd:attribute name="AD_Record_ID" type="xsd:int"/>
<xsd:attribute name="DocAction" type="xsd:string"/>
</xsd:complexType>
<xsd:element name="ModelRunProcessRequest" type="tns:ModelRunProcessRequest"/>
<xsd:complexType name="ModelRunProcessRequest">
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="ModelRunProcess" type="tns:ModelRunProcess"/>
<xsd:element maxOccurs="1" minOccurs="1" name="ADLoginRequest" type="tns:ADLoginRequest"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="ModelGetListRequest" type="tns:ModelGetListRequest"/>
<xsd:complexType name="ModelGetList">
<xsd:sequence>
<xsd:element name="serviceType" type="xsd:string"/>
<xsd:element name="AD_Reference_ID" type="xsd:int"/>
<xsd:element name="Filter" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ModelGetListRequest">
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="ModelGetList" type="tns:ModelGetList"/>
<xsd:element maxOccurs="1" minOccurs="1" name="ADLoginRequest" type="tns:ADLoginRequest"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="ModelCRUDRequest" type="tns:ModelCRUDRequest"/>
<xsd:complexType name="ModelCRUD">
<xsd:sequence>
<xsd:element name="serviceType" type="xsd:string"/>
<xsd:element name="TableName" type="xsd:string"/>
<xsd:element name="RecordID" type="xsd:int"/>
<xsd:element minOccurs="0" name="recordIDVariable" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="Filter" type="xsd:string"/>
<xsd:element name="Action">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="Create"/>
<xsd:enumeration value="Read"/>
<xsd:enumeration value="Update"/>
<xsd:enumeration value="Delete"/>
<xsd:enumeration value="CreateUpdate"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element maxOccurs="1" minOccurs="0" name="DataRow" type="tns:DataRow"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ModelCRUDRequest">
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="ModelCRUD" type="tns:ModelCRUD"/>
<xsd:element maxOccurs="1" minOccurs="1" name="ADLoginRequest" type="tns:ADLoginRequest"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="operations">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="1" name="operation" type="tns:operation"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="operation">
<xsd:sequence>
<xsd:element name="TargetPort">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="createData"/>
<xsd:enumeration value="readData"/>
<xsd:enumeration value="updateData"/>
<xsd:enumeration value="deleteData"/>
<xsd:enumeration value="runProcess"/>
<xsd:enumeration value="setDocAction"/>
<xsd:enumeration value="createUpdateData"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element minOccurs="0" name="ModelCRUD" type="tns:ModelCRUD"/>
<xsd:element minOccurs="0" name="ModelSetDocAction" type="tns:ModelSetDocAction"/>
<xsd:element minOccurs="0" name="ModelRunProcess" type="tns:ModelRunProcess"/>
</xsd:sequence>
<xsd:attribute default="false" name="preCommit" type="xsd:boolean"/>
<xsd:attribute default="false" name="postCommit" type="xsd:boolean"/>
</xsd:complexType>
<xsd:element name="CompositeRequest" type="tns:CompositeRequest"/>
<xsd:complexType name="CompositeRequest">
<xsd:sequence>
<xsd:element name="ADLoginRequest" type="tns:ADLoginRequest"/>
<xsd:element name="serviceType" type="xsd:string"/>
<xsd:element maxOccurs="unbounded" name="operations" type="tns:operations"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="CompositeResponses" type="tns:CompositeResponses"/>
<xsd:complexType name="CompositeResponses">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="0" name="CompositeResponse" type="tns:CompositeResponse"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CompositeResponse">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="1" name="StandardResponse" type="tns:StandardResponse"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
</wsdl:types>
<wsdl:message name="createUpdateData">
<wsdl:part element="tns:ModelCRUDRequest" name="arg0"></wsdl:part>
</wsdl:message>
<wsdl:message name="createDataResponse">
<wsdl:part element="tns:StandardResponse" name="return"></wsdl:part>
</wsdl:message>
<wsdl:message name="setDocAction">
<wsdl:part element="tns:ModelSetDocActionRequest" name="arg0"></wsdl:part>
</wsdl:message>
<wsdl:message name="readDataResponse">
<wsdl:part element="tns:WindowTabData" name="return"></wsdl:part>
</wsdl:message>
<wsdl:message name="runProcessResponse">
<wsdl:part element="tns:RunProcessResponse" name="return"></wsdl:part>
</wsdl:message>
<wsdl:message name="deleteDataResponse">
<wsdl:part element="tns:StandardResponse" name="return"></wsdl:part>
</wsdl:message>
<wsdl:message name="updateData">
<wsdl:part element="tns:ModelCRUDRequest" name="arg0"></wsdl:part>
</wsdl:message>
<wsdl:message name="queryDataResponse">
<wsdl:part element="tns:WindowTabData" name="return"></wsdl:part>
</wsdl:message>
<wsdl:message name="deleteData">
<wsdl:part element="tns:ModelCRUDRequest" name="arg0"></wsdl:part>
</wsdl:message>
<wsdl:message name="getListResponse">
<wsdl:part element="tns:WindowTabData" name="return"></wsdl:part>
</wsdl:message>
<wsdl:message name="readData">
<wsdl:part element="tns:ModelCRUDRequest" name="arg0"></wsdl:part>
</wsdl:message>
<wsdl:message name="createUpdateDataResponse">
<wsdl:part element="tns:StandardResponse" name="return"></wsdl:part>
</wsdl:message>
<wsdl:message name="createData">
<wsdl:part element="tns:ModelCRUDRequest" name="arg0"></wsdl:part>
</wsdl:message>
<wsdl:message name="setDocActionResponse">
<wsdl:part element="tns:StandardResponse" name="return"></wsdl:part>
</wsdl:message>
<wsdl:message name="updateDataResponse">
<wsdl:part element="tns:StandardResponse" name="return"></wsdl:part>
</wsdl:message>
<wsdl:message name="runProcess">
<wsdl:part element="tns:ModelRunProcessRequest" name="arg0"></wsdl:part>
</wsdl:message>
<wsdl:message name="getList">
<wsdl:part element="tns:ModelGetListRequest" name="arg0"></wsdl:part>
</wsdl:message>
<wsdl:message name="queryData">
<wsdl:part element="tns:ModelCRUDRequest" name="arg0"></wsdl:part>
</wsdl:message>
<wsdl:portType name="ModelADService">
<wsdl:operation name="setDocAction">
<wsdl:input message="tns:setDocAction" name="setDocAction"></wsdl:input>
<wsdl:output message="tns:setDocActionResponse" name="setDocActionResponse"></wsdl:output>
</wsdl:operation>
<wsdl:operation name="createUpdateData">
<wsdl:input message="tns:createUpdateData" name="createUpdateData"></wsdl:input>
<wsdl:output message="tns:createUpdateDataResponse" name="createUpdateDataResponse"></wsdl:output>
</wsdl:operation>
<wsdl:operation name="getList">
<wsdl:input message="tns:getList" name="getList"></wsdl:input>
<wsdl:output message="tns:getListResponse" name="getListResponse"></wsdl:output>
</wsdl:operation>
<wsdl:operation name="readData">
<wsdl:input message="tns:readData" name="readData"></wsdl:input>
<wsdl:output message="tns:readDataResponse" name="readDataResponse"></wsdl:output>
</wsdl:operation>
<wsdl:operation name="createData">
<wsdl:input message="tns:createData" name="createData"></wsdl:input>
<wsdl:output message="tns:createDataResponse" name="createDataResponse"></wsdl:output>
</wsdl:operation>
<wsdl:operation name="runProcess">
<wsdl:input message="tns:runProcess" name="runProcess"></wsdl:input>
<wsdl:output message="tns:runProcessResponse" name="runProcessResponse"></wsdl:output>
</wsdl:operation>
<wsdl:operation name="queryData">
<wsdl:input message="tns:queryData" name="queryData"></wsdl:input>
<wsdl:output message="tns:queryDataResponse" name="queryDataResponse"></wsdl:output>
</wsdl:operation>
<wsdl:operation name="updateData">
<wsdl:input message="tns:updateData" name="updateData"></wsdl:input>
<wsdl:output message="tns:updateDataResponse" name="updateDataResponse"></wsdl:output>
</wsdl:operation>
<wsdl:operation name="deleteData">
<wsdl:input message="tns:deleteData" name="deleteData"></wsdl:input>
<wsdl:output message="tns:deleteDataResponse" name="deleteDataResponse"></wsdl:output>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="ModelADServiceSoapBinding" type="tns:ModelADService">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="createUpdateData">
<soap:operation soapAction="" style="rpc"/>
<wsdl:input name="createUpdateData">
<soap:body namespace="http://idempiere.org/ADInterface/1_0" use="literal"/>
</wsdl:input>
<wsdl:output name="createUpdateDataResponse">
<soap:body namespace="http://idempiere.org/ADInterface/1_0" use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="setDocAction">
<soap:operation soapAction="" style="rpc"/>
<wsdl:input name="setDocAction">
<soap:body namespace="http://idempiere.org/ADInterface/1_0" use="literal"/>
</wsdl:input>
<wsdl:output name="setDocActionResponse">
<soap:body namespace="http://idempiere.org/ADInterface/1_0" use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="getList">
<soap:operation soapAction="" style="rpc"/>
<wsdl:input name="getList">
<soap:body namespace="http://idempiere.org/ADInterface/1_0" use="literal"/>
</wsdl:input>
<wsdl:output name="getListResponse">
<soap:body namespace="http://idempiere.org/ADInterface/1_0" use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="readData">
<soap:operation soapAction="" style="rpc"/>
<wsdl:input name="readData">
<soap:body namespace="http://idempiere.org/ADInterface/1_0" use="literal"/>
</wsdl:input>
<wsdl:output name="readDataResponse">
<soap:body namespace="http://idempiere.org/ADInterface/1_0" use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="createData">
<soap:operation soapAction="" style="rpc"/>
<wsdl:input name="createData">
<soap:body namespace="http://idempiere.org/ADInterface/1_0" use="literal"/>
</wsdl:input>
<wsdl:output name="createDataResponse">
<soap:body namespace="http://idempiere.org/ADInterface/1_0" use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="runProcess">
<soap:operation soapAction="" style="rpc"/>
<wsdl:input name="runProcess">
<soap:body namespace="http://idempiere.org/ADInterface/1_0" use="literal"/>
</wsdl:input>
<wsdl:output name="runProcessResponse">
<soap:body namespace="http://idempiere.org/ADInterface/1_0" use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="queryData">
<soap:operation soapAction="" style="rpc"/>
<wsdl:input name="queryData">
<soap:body namespace="http://idempiere.org/ADInterface/1_0" use="literal"/>
</wsdl:input>
<wsdl:output name="queryDataResponse">
<soap:body namespace="http://idempiere.org/ADInterface/1_0" use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="updateData">
<soap:operation soapAction="" style="rpc"/>
<wsdl:input name="updateData">
<soap:body namespace="http://idempiere.org/ADInterface/1_0" use="literal"/>
</wsdl:input>
<wsdl:output name="updateDataResponse">
<soap:body namespace="http://idempiere.org/ADInterface/1_0" use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="deleteData">
<soap:operation soapAction="" style="rpc"/>
<wsdl:input name="deleteData">
<soap:body namespace="http://idempiere.org/ADInterface/1_0" use="literal"/>
</wsdl:input>
<wsdl:output name="deleteDataResponse">
<soap:body namespace="http://idempiere.org/ADInterface/1_0" use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="ModelADService">
<wsdl:port binding="tns:ModelADServiceSoapBinding" name="ModelADServiceImplPort">
<soap:address location="https://localhost:8443/ADInterface/services/ModelADService"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>]]></con:content><con:type>http://schemas.xmlsoap.org/wsdl/</con:type></con:part></con:definitionCache><con:endpoints><con:endpoint>https://localhost:8443/ADInterface/services/ModelADService</con:endpoint></con:endpoints><con:operation isOneWay="false" action="" name="createData" bindingOperationName="createData" type="Request-Response" outputName="createDataResponse" inputName="createData" receivesAttachments="false" sendsAttachments="false" anonymous="optional"><con:settings/><con:call name="Sample Create BP GlobalQSS (GW Working)"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>https://localhost:8443/ADInterface/services/ModelADService</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:_0="http://idempiere.org/ADInterface/1_0">
<soapenv:Header/>
<soapenv:Body>
<_0:createData>
<_0:ModelCRUDRequest>
<_0:ModelCRUD>
<_0:serviceType>CreateBPartner</_0:serviceType>
<_0:TableName>C_BPartner</_0:TableName>
<_0:RecordID>0</_0:RecordID>
<_0:Action>Create</_0:Action>
<_0:DataRow>
<_0:field column="Value">
<_0:val>GlobalQSS</_0:val>
</_0:field>
<_0:field column="Name">
<_0:val>Quality Systems &amp; Solutions</_0:val>
</_0:field>
<_0:field column="TaxID">
<_0:val>830.085.359-4</_0:val>
</_0:field>
<_0:field column="IsVendor">
<_0:val>Y</_0:val>
</_0:field>
<_0:field column="IsCustomer">
<_0:val>N</_0:val>
</_0:field>
<_0:field column="IsTaxExempt">
<_0:val>N</_0:val>
</_0:field>
<_0:field column="Name2">
<_0:val>QSS Ltda. - http://www.globalqss.com</_0:val>
</_0:field>
<_0:field column="C_BP_Group_ID">
<_0:val>104</_0:val>
</_0:field>
</_0:DataRow>
</_0:ModelCRUD>
<_0:ADLoginRequest>
<_0:user>WebService</_0:user>
<_0:pass>WebService</_0:pass>
<_0:lang>en_US</_0:lang>
<_0:ClientID>11</_0:ClientID>
<_0:RoleID>50004</_0:RoleID>
<_0:OrgID>11</_0:OrgID>
<_0:WarehouseID>103</_0:WarehouseID>
<_0:stage>9</_0:stage>
</_0:ADLoginRequest>
</_0:ModelCRUDRequest>
</_0:createData>
</soapenv:Body>
</soapenv:Envelope>]]></con:request><con:credentials><con:authType>Global HTTP Settings</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://idempiere.org/ADInterface/1_0/ModelADService/createData"/><con:wsrmConfig version="1.2"/></con:call></con:operation><con:operation isOneWay="false" action="" name="createUpdateData" bindingOperationName="createUpdateData" type="Request-Response" outputName="createUpdateDataResponse" inputName="createUpdateData" receivesAttachments="false" sendsAttachments="false"><con:settings/></con:operation><con:operation isOneWay="false" action="" name="deleteData" bindingOperationName="deleteData" type="Request-Response" outputName="deleteDataResponse" inputName="deleteData" receivesAttachments="false" sendsAttachments="false" anonymous="optional"><con:settings/><con:call name="Sample Delete BP TreeFarm (must fail)"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>https://localhost:8443/ADInterface/services/ModelADService</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:_0="http://idempiere.org/ADInterface/1_0">
<soapenv:Header/>
<soapenv:Body>
<_0:deleteData>
<_0:ModelCRUDRequest>
<_0:ModelCRUD>
<_0:serviceType>DeleteBPartner</_0:serviceType>
<_0:TableName>C_BPartner</_0:TableName>
<_0:RecordID>114</_0:RecordID>
<_0:Action>Delete</_0:Action>
</_0:ModelCRUD>
<_0:ADLoginRequest>
<_0:user>WebService</_0:user>
<_0:pass>WebService</_0:pass>
<_0:lang>en_US</_0:lang>
<_0:ClientID>11</_0:ClientID>
<_0:RoleID>50004</_0:RoleID>
<_0:OrgID>11</_0:OrgID>
<_0:WarehouseID>103</_0:WarehouseID>
<_0:stage>9</_0:stage>
</_0:ADLoginRequest>
</_0:ModelCRUDRequest>
</_0:deleteData>
</soapenv:Body>
</soapenv:Envelope>]]></con:request><con:credentials><con:authType>Global HTTP Settings</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://idempiere.org/ADInterface/1_0/ModelADService/deleteData"/><con:wsrmConfig version="1.2"/></con:call></con:operation><con:operation isOneWay="false" action="" name="getList" bindingOperationName="getList" type="Request-Response" outputName="getListResponse" inputName="getList" receivesAttachments="false" sendsAttachments="false" anonymous="optional"><con:settings/><con:call name="Sample Get List Sales Region"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>https://localhost:8443/ADInterface/services/ModelADService</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:_0="http://idempiere.org/ADInterface/1_0">
<soapenv:Header/>
<soapenv:Body>
<_0:getList>
<_0:ModelGetListRequest>
<_0:ModelGetList>
<_0:serviceType>GetListSalesRegions</_0:serviceType>
<_0:AD_Reference_ID>144</_0:AD_Reference_ID>
<_0:Filter></_0:Filter>
</_0:ModelGetList>
<_0:ADLoginRequest>
<_0:user>WebService</_0:user>
<_0:pass>WebService</_0:pass>
<_0:lang>en_US</_0:lang>
<_0:ClientID>11</_0:ClientID>
<_0:RoleID>50004</_0:RoleID>
<_0:OrgID>11</_0:OrgID>
<_0:WarehouseID>103</_0:WarehouseID>
<_0:stage>9</_0:stage>
</_0:ADLoginRequest>
</_0:ModelGetListRequest>
</_0:getList>
</soapenv:Body>
</soapenv:Envelope>]]></con:request><con:credentials><con:authType>Global HTTP Settings</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://idempiere.org/ADInterface/1_0/ModelADService/getList"/><con:wsrmConfig version="1.2"/></con:call></con:operation><con:operation isOneWay="false" action="" name="queryData" bindingOperationName="queryData" type="Request-Response" outputName="queryDataResponse" inputName="queryData" receivesAttachments="false" sendsAttachments="false" anonymous="optional"><con:settings/><con:call name="Sample get BP Standard &lt; S"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>https://localhost:8443/ADInterface/services/ModelADService</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:_0="http://idempiere.org/ADInterface/1_0">
<soapenv:Header/>
<soapenv:Body>
<_0:queryData>
<_0:ModelCRUDRequest>
<_0:ModelCRUD>
<_0:serviceType>QueryBPartner</_0:serviceType>
<_0:TableName>C_BPartner</_0:TableName>
<_0:Filter>name&lt;'S'</_0:Filter>
<_0:Action>Read</_0:Action>
<_0:DataRow>
<_0:field column="C_BP_Group_ID">
<_0:val>103</_0:val>
</_0:field>
</_0:DataRow>
</_0:ModelCRUD>
<_0:ADLoginRequest>
<_0:user>WebService</_0:user>
<_0:pass>WebService</_0:pass>
<_0:lang>en_US</_0:lang>
<_0:ClientID>11</_0:ClientID>
<_0:RoleID>50004</_0:RoleID>
<_0:OrgID>11</_0:OrgID>
<_0:WarehouseID>103</_0:WarehouseID>
<_0:stage>9</_0:stage>
</_0:ADLoginRequest>
</_0:ModelCRUDRequest>
</_0:queryData>
</soapenv:Body>
</soapenv:Envelope>]]></con:request><con:credentials><con:authType>Global HTTP Settings</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://idempiere.org/ADInterface/1_0/ModelADService/queryData"/><con:wsrmConfig version="1.2"/></con:call></con:operation><con:operation isOneWay="false" action="" name="readData" bindingOperationName="readData" type="Request-Response" outputName="readDataResponse" inputName="readData" receivesAttachments="false" sendsAttachments="false" anonymous="optional"><con:settings/><con:call name="Sample Read TreeFarm"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>https://localhost:8443/ADInterface/services/ModelADService</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:_0="http://idempiere.org/ADInterface/1_0">
<soapenv:Header/>
<soapenv:Body>
<_0:readData>
<_0:ModelCRUDRequest>
<_0:ModelCRUD>
<_0:serviceType>ReadBPartner</_0:serviceType>
<_0:TableName>C_BPartner</_0:TableName>
<_0:RecordID>114</_0:RecordID>
<_0:Action>Read</_0:Action>
</_0:ModelCRUD>
<_0:ADLoginRequest>
<_0:user>WebService</_0:user>
<_0:pass>WebService</_0:pass>
<_0:lang>en_US</_0:lang>
<_0:ClientID>11</_0:ClientID>
<_0:RoleID>50004</_0:RoleID>
<_0:OrgID>11</_0:OrgID>
<_0:WarehouseID>103</_0:WarehouseID>
<_0:stage>9</_0:stage>
</_0:ADLoginRequest>
</_0:ModelCRUDRequest>
</_0:readData>
</soapenv:Body>
</soapenv:Envelope>]]></con:request><con:credentials><con:authType>Global HTTP Settings</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://idempiere.org/ADInterface/1_0/ModelADService/readData"/><con:wsrmConfig version="1.2"/></con:call></con:operation><con:operation isOneWay="false" action="" name="runProcess" bindingOperationName="runProcess" type="Request-Response" outputName="runProcessResponse" inputName="runProcess" receivesAttachments="false" sendsAttachments="false" anonymous="optional"><con:settings/><con:call name="Run Storage Detail"><con:description>Example on how to run report Storage Detail with HQ Warehouse and Patio Chair as parameters You need to define web service security for: Web Service Type: RunStorageDetail Web Service Parameters: AD_Process_ID Constant 236 AD_Menu_ID Constant 0 AD_Record_ID Constant 0 And allow execution to the WebService role on the report. </con:description><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>https://localhost:8443/ADInterface/services/ModelADService</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:_0="http://idempiere.org/ADInterface/1_0">
<soapenv:Header/>
<soapenv:Body>
<_0:runProcess>
<_0:ModelRunProcessRequest>
<_0:ModelRunProcess AD_Process_ID="236">
<_0:serviceType>RunStorageDetail</_0:serviceType>
<_0:ParamValues>
<_0:field column="M_Warehouse_ID">
<_0:val>103</_0:val>
</_0:field>
</_0:ParamValues>
</_0:ModelRunProcess>
<_0:ADLoginRequest>
<_0:user>WebService</_0:user>
<_0:pass>WebService</_0:pass>
<_0:lang>en_US</_0:lang>
<_0:ClientID>11</_0:ClientID>
<_0:RoleID>50004</_0:RoleID>
<_0:OrgID>11</_0:OrgID>
<_0:WarehouseID>103</_0:WarehouseID>
<_0:stage>9</_0:stage>
</_0:ADLoginRequest>
</_0:ModelRunProcessRequest>
</_0:runProcess>
</soapenv:Body>
</soapenv:Envelope>]]></con:request><con:credentials><con:authType>Global HTTP Settings</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://idempiere.org/ADInterface/1_0/ModelADService/runProcess"/><con:wsrmConfig version="1.2"/></con:call><con:call name="Sample Process Invoice (GW Working)"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>https://localhost:8443/ADInterface/services/ModelADService</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:_0="http://idempiere.org/ADInterface/1_0">
<soapenv:Header/>
<soapenv:Body>
<_0:runProcess>
<_0:ModelRunProcessRequest>
<_0:ModelRunProcess AD_Process_ID="111" AD_Menu_ID="0" AD_Record_ID="103" DocAction="CO">
<_0:serviceType>ProcessInvoice</_0:serviceType>
</_0:ModelRunProcess>
<_0:ADLoginRequest>
<_0:user>WebService</_0:user>
<_0:pass>WebService</_0:pass>
<_0:lang>en_US</_0:lang>
<_0:ClientID>11</_0:ClientID>
<_0:RoleID>50004</_0:RoleID>
<_0:OrgID>11</_0:OrgID>
<_0:WarehouseID>103</_0:WarehouseID>
<_0:stage>9</_0:stage>
</_0:ADLoginRequest>
</_0:ModelRunProcessRequest>
</_0:runProcess>
</soapenv:Body>
</soapenv:Envelope>]]></con:request><con:credentials><con:authType>Global HTTP Settings</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://idempiere.org/ADInterface/1_0/ModelADService/runProcess"/><con:wsrmConfig version="1.2"/></con:call></con:operation><con:operation isOneWay="false" action="" name="setDocAction" bindingOperationName="setDocAction" type="Request-Response" outputName="setDocActionResponse" inputName="setDocAction" receivesAttachments="false" sendsAttachments="false" anonymous="optional"><con:settings/><con:call name="Sample Complete Order"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>https://localhost:8443/ADInterface/services/ModelADService</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:_0="http://idempiere.org/ADInterface/1_0">
<soapenv:Header/>
<soapenv:Body>
<_0:setDocAction>
<_0:ModelSetDocActionRequest>
<_0:ModelSetDocAction>
<_0:serviceType>ActionCompleteOrder</_0:serviceType>
<_0:tableName>C_Order</_0:tableName>
<_0:recordID>102</_0:recordID>
<_0:docAction>CO</_0:docAction>
</_0:ModelSetDocAction>
<_0:ADLoginRequest>
<_0:user>WebService</_0:user>
<_0:pass>WebService</_0:pass>
<_0:lang>en_US</_0:lang>
<_0:ClientID>11</_0:ClientID>
<_0:RoleID>50004</_0:RoleID>
<_0:OrgID>11</_0:OrgID>
<_0:WarehouseID>103</_0:WarehouseID>
<_0:stage>9</_0:stage>
</_0:ADLoginRequest>
</_0:ModelSetDocActionRequest>
</_0:setDocAction>
</soapenv:Body>
</soapenv:Envelope>]]></con:request><con:credentials><con:authType>Global HTTP Settings</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://idempiere.org/ADInterface/1_0/ModelADService/setDocAction"/><con:wsrmConfig version="1.2"/></con:call></con:operation><con:operation isOneWay="false" action="" name="updateData" bindingOperationName="updateData" type="Request-Response" outputName="updateDataResponse" inputName="updateData" receivesAttachments="false" sendsAttachments="false" anonymous="optional"><con:settings/><con:call name="Sample Update TreeFarm URL"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>https://localhost:8443/ADInterface/services/ModelADService</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:_0="http://idempiere.org/ADInterface/1_0">
<soapenv:Header/>
<soapenv:Body>
<_0:updateData>
<_0:ModelCRUDRequest>
<_0:ModelCRUD>
<_0:serviceType>UpdateBPartner</_0:serviceType>
<_0:TableName>C_BPartner</_0:TableName>
<_0:RecordID>114</_0:RecordID>
<_0:Action>Update</_0:Action>
<_0:DataRow>
<_0:field column="URL">
<_0:val>http://www.treefarm.com</_0:val>
</_0:field>
</_0:DataRow>
</_0:ModelCRUD>
<_0:ADLoginRequest>
<_0:user>WebService</_0:user>
<_0:pass>WebService</_0:pass>
<_0:lang>en_US</_0:lang>
<_0:ClientID>11</_0:ClientID>
<_0:RoleID>50004</_0:RoleID>
<_0:OrgID>11</_0:OrgID>
<_0:WarehouseID>103</_0:WarehouseID>
<_0:stage>9</_0:stage>
</_0:ADLoginRequest>
</_0:ModelCRUDRequest>
</_0:updateData>
</soapenv:Body>
</soapenv:Envelope>]]></con:request><con:credentials><con:authType>Global HTTP Settings</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://idempiere.org/ADInterface/1_0/ModelADService/updateData"/><con:wsrmConfig version="1.2"/></con:call></con:operation></con:interface><con:properties/><con:wssContainer/></con:soapui-project>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<con:soapui-project name="idempiere-composite2" soapui-version="3.5.1" xmlns:con="http://eviware.com/soapui/config"><con:settings/><con:interface xsi:type="con:WsdlInterface" wsaVersion="NONE" name="compositeInterfaceSoapBinding" type="wsdl" bindingName="{http://idempiere.org/ADInterface/1_0}compositeInterfaceSoapBinding" soapVersion="1_1" anonymous="optional" definition="http://localhost:9191/ADInterface/services/compositeInterface?wsdl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:settings/><con:definitionCache type="TEXT" rootPart="http://localhost:9191/ADInterface/services/compositeInterface?wsdl"><con:part><con:url>http://localhost:9191/ADInterface/services/compositeInterface?wsdl</con:url><con:content><![CDATA[<wsdl:definitions name="compositeInterface" targetNamespace="http://idempiere.org/ADInterface/1_0" xmlns:ns1="http://schemas.xmlsoap.org/soap/http" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://idempiere.org/ADInterface/1_0" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<con:soapui-project name="idempiere-composite2" soapui-version="4.5.1" activeEnvironment="Default" abortOnError="false" runType="SEQUENTIAL" resourceRoot="" xmlns:con="http://eviware.com/soapui/config"><con:settings/><con:interface xsi:type="con:WsdlInterface" wsaVersion="NONE" name="compositeInterfaceSoapBinding" type="wsdl" bindingName="{http://idempiere.org/ADInterface/1_0}compositeInterfaceSoapBinding" soapVersion="1_1" anonymous="optional" definition="https://localhost:8443/ADInterface/services/compositeInterface?wsdl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:settings/><con:definitionCache type="TEXT" rootPart="https://localhost:8443/ADInterface/services/compositeInterface?wsdl"><con:part><con:url>https://localhost:8443/ADInterface/services/compositeInterface?wsdl</con:url><con:content><![CDATA[<wsdl:definitions name="compositeInterface" targetNamespace="http://idempiere.org/ADInterface/1_0" xmlns:ns1="http://schemas.xmlsoap.org/soap/http" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://idempiere.org/ADInterface/1_0" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<wsdl:types>
<xsd:schema elementFormDefault="qualified" targetNamespace="http://idempiere.org/ADInterface/1_0">
<xsd:element name="WindowTabData" type="tns:WindowTabData"/>
@ -382,277 +382,270 @@
</wsdl:binding>
<wsdl:service name="compositeInterface">
<wsdl:port binding="tns:compositeInterfaceSoapBinding" name="CompositeServiceImplPort">
<soap:address location="http://localhost:9191/ADInterface/services/compositeInterface"/>
<soap:address location="https://localhost:8443/ADInterface/services/compositeInterface"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>]]></con:content><con:type>http://schemas.xmlsoap.org/wsdl/</con:type></con:part></con:definitionCache><con:endpoints><con:endpoint>http://localhost:9191/ADInterface/services/compositeInterface</con:endpoint></con:endpoints><con:operation isOneWay="false" action="" name="compositeOperation" bindingOperationName="compositeOperation" type="Request-Response" outputName="compositeOperationResponse" inputName="compositeOperation" receivesAttachments="false" sendsAttachments="false" anonymous="optional"><con:settings/><con:call name="Request 1"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://localhost:9191/ADInterface/services/compositeInterface</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:_0="http://idempiere.org/ADInterface/1_0">
</wsdl:definitions>]]></con:content><con:type>http://schemas.xmlsoap.org/wsdl/</con:type></con:part></con:definitionCache><con:endpoints><con:endpoint>https://localhost:8443/ADInterface/services/compositeInterface</con:endpoint></con:endpoints><con:operation isOneWay="false" action="" name="compositeOperation" bindingOperationName="compositeOperation" type="Request-Response" outputName="compositeOperationResponse" inputName="compositeOperation" receivesAttachments="false" sendsAttachments="false" anonymous="optional"><con:settings/><con:call name="Request 1"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>https://localhost:8443/ADInterface/services/compositeInterface</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:_0="http://idempiere.org/ADInterface/1_0">
<soapenv:Header/>
<soapenv:Body>
<_0:compositeOperation>
<_0:CompositeRequest>
<_0:ADLoginRequest>
<_0:user>WebService</_0:user>
<_0:pass>WebService</_0:pass>
<_0:lang>en_US</_0:lang>
<_0:ClientID>11</_0:ClientID>
<_0:RoleID>50004</_0:RoleID>
<_0:OrgID>11</_0:OrgID>
<_0:WarehouseID>103</_0:WarehouseID>
<_0:stage>9</_0:stage>
<_0:user>WebService</_0:user>
<_0:pass>WebService</_0:pass>
<_0:lang>en_US</_0:lang>
<_0:ClientID>11</_0:ClientID>
<_0:RoleID>50004</_0:RoleID>
<_0:OrgID>11</_0:OrgID>
<_0:WarehouseID>103</_0:WarehouseID>
<_0:stage>9</_0:stage>
</_0:ADLoginRequest>
<_0:serviceType>SyncOrder</_0:serviceType>
<_0:operations>
<_0:operation preCommit="false" postCommit="false">
<_0:TargetPort>createUpdateData</_0:TargetPort>
<_0:ModelCRUD>
<_0:serviceType>CreateBPartner</_0:serviceType>
<_0:TableName>C_BPartner</_0:TableName>
<_0:RecordID>0</_0:RecordID>
<_0:Action>CreateUpdate</_0:Action>
<_0:DataRow>
<_0:field column="Name">
<_0:val>Trek Global</_0:val>
</_0:field>
<_0:field column="email">
<_0:val>dpansheriya@trekglobal.com</_0:val>
</_0:field>
<_0:field column="TaxID">
<_0:val>830.085.359-4</_0:val>
</_0:field>
<_0:field column="IsVendor">
<_0:val>Y</_0:val>
</_0:field>
<_0:field column="IsCustomer">
<_0:val>N</_0:val>
</_0:field>
<_0:field column="IsTaxExempt">
<_0:val>N</_0:val>
</_0:field>
<_0:field column="C_BP_Group_ID">
<_0:val>104</_0:val>
</_0:field>
</_0:DataRow>
</_0:ModelCRUD>
</_0:operation>
<_0:operation preCommit="false" postCommit="false">
<_0:TargetPort>createUpdateData</_0:TargetPort>
<_0:ModelCRUD>
<_0:serviceType>CreateUpdateUser</_0:serviceType>
<_0:TableName>AD_User</_0:TableName>
<_0:RecordID>0</_0:RecordID>
<_0:Action>CreateUpdate</_0:Action>
<_0:DataRow>
<_0:field column="Name">
<_0:val>Deepak Pansheriya</_0:val>
</_0:field>
<_0:field column="EMail">
<_0:val>dpansheriya@trekglobal.com</_0:val>
</_0:field>
<_0:field column="C_BPartner_ID">
<_0:val>@C_BPartner.C_BPartner_ID</_0:val>
</_0:field>
<_0:field column="Phone">
<_0:val>9228785734</_0:val>
</_0:field>
</_0:DataRow>
</_0:ModelCRUD>
</_0:operation>
<_0:operation preCommit="false" postCommit="false">
<_0:TargetPort>createUpdateData</_0:TargetPort>
<_0:ModelCRUD>
<_0:serviceType>CreateUpdateLocation1</_0:serviceType>
<_0:TableName>C_Location</_0:TableName>
<_0:RecordID>0</_0:RecordID>
<_0:Action>CreateUpdate</_0:Action>
<_0:DataRow>
<_0:field column="C_Country_ID" lval="United States"/>
<_0:field column="Address1">
<_0:val>1625 Cowboy Chaps Place</_0:val>
</_0:field>
<_0:field column="Address2">
<_0:val></_0:val>
</_0:field>
<_0:field column="C_Region_ID" lval="NV"/>
<_0:field column="RegionName">
<_0:val>NV</_0:val>
</_0:field>
<_0:field column="Postal">
<_0:val>89002</_0:val>
</_0:field>
<_0:field column="City">
<_0:val>Henderson</_0:val>
</_0:field>
</_0:DataRow>
</_0:ModelCRUD>
</_0:operation>
<_0:operation preCommit="false" postCommit="false">
<_0:TargetPort>createUpdateData</_0:TargetPort>
<_0:ModelCRUD>
<_0:serviceType>CreateUpdateBPLocation</_0:serviceType>
<_0:TableName>C_BPartner_Location</_0:TableName>
<_0:RecordID>0</_0:RecordID>
<_0:Action>CreateUpdate</_0:Action>
<_0:DataRow>
<_0:field column="C_BPartner_ID">
<_0:val>@C_BPartner.C_BPartner_ID</_0:val>
</_0:field>
<_0:field column="C_Location_ID">
<_0:val>@C_Location.C_Location_ID</_0:val>
</_0:field>
<_0:field column="IsShipTo">
<_0:val>True</_0:val>
</_0:field>
<_0:field column="IsBillTo">
<_0:val>True</_0:val>
</_0:field>
</_0:DataRow>
</_0:ModelCRUD>
</_0:operation>
<_0:operation preCommit="false" postCommit="false">
<_0:TargetPort>createUpdateData</_0:TargetPort>
<_0:ModelCRUD>
<_0:serviceType>CreateUpdateUser</_0:serviceType>
<_0:TableName>AD_User</_0:TableName>
<_0:RecordID>0</_0:RecordID>
<_0:Action>CreateUpdate</_0:Action>
<_0:DataRow>
<_0:field column="EMail">
<_0:val>dpansheriya@trekglobal.com</_0:val>
</_0:field>
<_0:field column="C_BPartner_ID">
<_0:val>@C_BPartner.C_BPartner_ID</_0:val>
</_0:field>
<_0:field column="C_BPartner_Location_ID">
<_0:val>@C_BPartner_Location.C_BPartner_Location_ID</_0:val>
</_0:field>
</_0:DataRow>
</_0:ModelCRUD>
</_0:operation>
<_0:operation preCommit="false" postCommit="false">
<_0:TargetPort>createUpdateData</_0:TargetPort>
<_0:ModelCRUD>
<_0:serviceType>createOrderRecord</_0:serviceType>
<_0:TableName>C_Order</_0:TableName>
<_0:RecordID>0</_0:RecordID>
<_0:Action>CreateUpdate</_0:Action>
<_0:DataRow>
<_0:field column="M_Warehouse_ID">
<_0:val>50001</_0:val>
</_0:field>
<_0:field column="DocumentNo">
<_0:val>DEEPTEST03</_0:val>
</_0:field>
<_0:field column="AD_User_ID">
<_0:val>@AD_User.AD_User_ID</_0:val>
</_0:field>
<_0:field column="C_BPartner_ID">
<_0:val>@C_BPartner.C_BPartner_ID</_0:val>
</_0:field>
<_0:field column="C_BPartner_Location_ID">
<_0:val>@C_BPartner_Location.C_BPartner_Location_ID</_0:val>
</_0:field>
<_0:field column="Bill_BPartner_ID">
<_0:val>@C_BPartner.C_BPartner_ID</_0:val>
</_0:field>
<_0:field column="Bill_Location_ID">
<_0:val>@C_BPartner_Location.C_BPartner_Location_ID</_0:val>
</_0:field>
<_0:field column="C_DocTypeTarget_ID">
<_0:val>132</_0:val>
</_0:field>
<_0:field column="FreightCostRule" lval="Freight included"/>
<_0:field column="FreightAmt">
<_0:val>6</_0:val>
</_0:field>
</_0:DataRow>
</_0:ModelCRUD>
</_0:operation>
<_0:operation preCommit="true" postCommit="false">
<_0:TargetPort>createUpdateData</_0:TargetPort>
<_0:ModelCRUD>
<_0:serviceType>CreateOrderLine</_0:serviceType>
<_0:TableName>C_OrderLine</_0:TableName>
<_0:RecordID>0</_0:RecordID>
<_0:Action>CreateUpdate</_0:Action>
<_0:DataRow>
<_0:field column="AD_Org_ID">
<_0:val>11</_0:val>
</_0:field>
<_0:field column="AD_Client_ID">
<_0:val>11</_0:val>
</_0:field>
<_0:field column="C_Order_ID">
<_0:val>@C_Order.C_Order_ID</_0:val>
</_0:field>
<_0:field column="M_Product_ID">
<_0:val>140</_0:val>
</_0:field>
<_0:field column="QtyEntered">
<_0:val>1</_0:val>
</_0:field>
<_0:field column="QtyOrdered">
<_0:val>1</_0:val>
</_0:field>
<_0:field column="Line">
<_0:val>10</_0:val>
</_0:field>
<_0:field column="PriceEntered">
<_0:val>12</_0:val>
</_0:field>
<_0:field column="PriceActual">
<_0:val>13</_0:val>
</_0:field>
</_0:DataRow>
</_0:ModelCRUD>
</_0:operation>
<_0:operation preCommit="false" postCommit="false">
<_0:TargetPort>createUpdateData</_0:TargetPort>
<_0:ModelCRUD>
<_0:serviceType>CreateOrderLine</_0:serviceType>
<_0:TableName>C_OrderLine</_0:TableName>
<_0:RecordID>0</_0:RecordID>
<_0:Action>CreateUpdate</_0:Action>
<_0:DataRow>
<_0:field column="C_Order_ID">
<_0:val>@C_Order.C_Order_ID</_0:val>
</_0:field>
<_0:field column="M_Product_ID">
<_0:val>123</_0:val>
</_0:field>
<_0:field column="QtyEntered">
<_0:val>2</_0:val>
</_0:field>
<_0:field column="QtyOrdered">
<_0:val>2</_0:val>
</_0:field>
<_0:field column="Line">
<_0:val>10</_0:val>
</_0:field>
<_0:field column="PriceEntered">
<_0:val>14</_0:val>
</_0:field>
<_0:field column="PriceActual">
<_0:val>15</_0:val>
</_0:field>
</_0:DataRow>
</_0:ModelCRUD>
</_0:operation>
<_0:operation preCommit="true" postCommit="true">
<_0:TargetPort>setDocAction</_0:TargetPort>
<_0:ModelSetDocAction>
<_0:serviceType>CompleteOrder</_0:serviceType>
<_0:tableName>C_Order</_0:tableName>
<_0:recordID>0</_0:recordID>
<_0:recordIDVariable>@C_Order.C_Order_ID</_0:recordIDVariable>
<_0:docAction>CO</_0:docAction>
</_0:ModelSetDocAction>
</_0:operation>
<_0:operation preCommit="false" postCommit="false">
<_0:TargetPort>createUpdateData</_0:TargetPort>
<_0:ModelCRUD>
<_0:serviceType>CreateBPartner</_0:serviceType>
<_0:TableName>C_BPartner</_0:TableName>
<_0:RecordID>0</_0:RecordID>
<_0:Action>CreateUpdate</_0:Action>
<_0:DataRow>
<_0:field column="Name">
<_0:val>Trek Global</_0:val>
</_0:field>
<_0:field column="TaxID">
<_0:val>830.085.359-4</_0:val>
</_0:field>
<_0:field column="IsVendor">
<_0:val>Y</_0:val>
</_0:field>
<_0:field column="IsCustomer">
<_0:val>N</_0:val>
</_0:field>
<_0:field column="IsTaxExempt">
<_0:val>N</_0:val>
</_0:field>
<_0:field column="C_BP_Group_ID">
<_0:val>104</_0:val>
</_0:field>
</_0:DataRow>
</_0:ModelCRUD>
</_0:operation>
<_0:operation preCommit="false" postCommit="false">
<_0:TargetPort>createUpdateData</_0:TargetPort>
<_0:ModelCRUD>
<_0:serviceType>CreateUpdateUser</_0:serviceType>
<_0:TableName>AD_User</_0:TableName>
<_0:RecordID>0</_0:RecordID>
<_0:Action>CreateUpdate</_0:Action>
<_0:DataRow>
<_0:field column="Name">
<_0:val>Deepak Pansheriya</_0:val>
</_0:field>
<_0:field column="EMail">
<_0:val>dpansheriya@trekglobal.com</_0:val>
</_0:field>
<_0:field column="C_BPartner_ID">
<_0:val>@C_BPartner.C_BPartner_ID</_0:val>
</_0:field>
<_0:field column="Phone">
<_0:val>9228785734</_0:val>
</_0:field>
</_0:DataRow>
</_0:ModelCRUD>
</_0:operation>
<_0:operation preCommit="false" postCommit="false">
<_0:TargetPort>createUpdateData</_0:TargetPort>
<_0:ModelCRUD>
<_0:serviceType>CreateUpdateLocation1</_0:serviceType>
<_0:TableName>C_Location</_0:TableName>
<_0:RecordID>0</_0:RecordID>
<_0:Action>CreateUpdate</_0:Action>
<_0:DataRow>
<_0:field column="C_Country_ID" lval="United States"/>
<_0:field column="Address1">
<_0:val>1625 Cowboy Chaps Place</_0:val>
</_0:field>
<_0:field column="Address2">
<_0:val/>
</_0:field>
<_0:field column="C_Region_ID" lval="NV"/>
<_0:field column="RegionName">
<_0:val>NV</_0:val>
</_0:field>
<_0:field column="Postal">
<_0:val>89002</_0:val>
</_0:field>
<_0:field column="City">
<_0:val>Henderson</_0:val>
</_0:field>
</_0:DataRow>
</_0:ModelCRUD>
</_0:operation>
<_0:operation preCommit="false" postCommit="false">
<_0:TargetPort>createUpdateData</_0:TargetPort>
<_0:ModelCRUD>
<_0:serviceType>CreateUpdateBPLocation</_0:serviceType>
<_0:TableName>C_BPartner_Location</_0:TableName>
<_0:RecordID>0</_0:RecordID>
<_0:Action>CreateUpdate</_0:Action>
<_0:DataRow>
<_0:field column="C_BPartner_ID">
<_0:val>@C_BPartner.C_BPartner_ID</_0:val>
</_0:field>
<_0:field column="C_Location_ID">
<_0:val>@C_Location.C_Location_ID</_0:val>
</_0:field>
<_0:field column="IsShipTo">
<_0:val>True</_0:val>
</_0:field>
<_0:field column="IsBillTo">
<_0:val>True</_0:val>
</_0:field>
</_0:DataRow>
</_0:ModelCRUD>
</_0:operation>
<_0:operation preCommit="false" postCommit="false">
<_0:TargetPort>createUpdateData</_0:TargetPort>
<_0:ModelCRUD>
<_0:serviceType>CreateUpdateUser</_0:serviceType>
<_0:TableName>AD_User</_0:TableName>
<_0:RecordID>0</_0:RecordID>
<_0:Action>CreateUpdate</_0:Action>
<_0:DataRow>
<_0:field column="EMail">
<_0:val>dpansheriya@trekglobal.com</_0:val>
</_0:field>
<_0:field column="C_BPartner_ID">
<_0:val>@C_BPartner.C_BPartner_ID</_0:val>
</_0:field>
<_0:field column="C_BPartner_Location_ID">
<_0:val>@C_BPartner_Location.C_BPartner_Location_ID</_0:val>
</_0:field>
</_0:DataRow>
</_0:ModelCRUD>
</_0:operation>
<_0:operation preCommit="false" postCommit="false">
<_0:TargetPort>createUpdateData</_0:TargetPort>
<_0:ModelCRUD>
<_0:serviceType>createOrderRecord</_0:serviceType>
<_0:TableName>C_Order</_0:TableName>
<_0:RecordID>0</_0:RecordID>
<_0:Action>CreateUpdate</_0:Action>
<_0:DataRow>
<_0:field column="M_Warehouse_ID">
<_0:val>50001</_0:val>
</_0:field>
<_0:field column="DocumentNo">
<_0:val>DEEPTEST03</_0:val>
</_0:field>
<_0:field column="AD_User_ID">
<_0:val>@AD_User.AD_User_ID</_0:val>
</_0:field>
<_0:field column="C_BPartner_ID">
<_0:val>@C_BPartner.C_BPartner_ID</_0:val>
</_0:field>
<_0:field column="C_BPartner_Location_ID">
<_0:val>@C_BPartner_Location.C_BPartner_Location_ID</_0:val>
</_0:field>
<_0:field column="Bill_BPartner_ID">
<_0:val>@C_BPartner.C_BPartner_ID</_0:val>
</_0:field>
<_0:field column="Bill_Location_ID">
<_0:val>@C_BPartner_Location.C_BPartner_Location_ID</_0:val>
</_0:field>
<_0:field column="C_DocTypeTarget_ID">
<_0:val>132</_0:val>
</_0:field>
<_0:field column="FreightCostRule" lval="Freight included"/>
<_0:field column="FreightAmt">
<_0:val>6</_0:val>
</_0:field>
</_0:DataRow>
</_0:ModelCRUD>
</_0:operation>
<_0:operation preCommit="true" postCommit="false">
<_0:TargetPort>createUpdateData</_0:TargetPort>
<_0:ModelCRUD>
<_0:serviceType>CreateOrderLine</_0:serviceType>
<_0:TableName>C_OrderLine</_0:TableName>
<_0:RecordID>0</_0:RecordID>
<_0:Action>CreateUpdate</_0:Action>
<_0:DataRow>
<_0:field column="AD_Org_ID">
<_0:val>11</_0:val>
</_0:field>
<_0:field column="AD_Client_ID">
<_0:val>11</_0:val>
</_0:field>
<_0:field column="C_Order_ID">
<_0:val>@C_Order.C_Order_ID</_0:val>
</_0:field>
<_0:field column="M_Product_ID">
<_0:val>140</_0:val>
</_0:field>
<_0:field column="QtyEntered">
<_0:val>1</_0:val>
</_0:field>
<_0:field column="QtyOrdered">
<_0:val>1</_0:val>
</_0:field>
<_0:field column="Line">
<_0:val>10</_0:val>
</_0:field>
<_0:field column="PriceEntered">
<_0:val>12</_0:val>
</_0:field>
<_0:field column="PriceActual">
<_0:val>13</_0:val>
</_0:field>
</_0:DataRow>
</_0:ModelCRUD>
</_0:operation>
<_0:operation preCommit="false" postCommit="false">
<_0:TargetPort>createUpdateData</_0:TargetPort>
<_0:ModelCRUD>
<_0:serviceType>CreateOrderLine</_0:serviceType>
<_0:TableName>C_OrderLine</_0:TableName>
<_0:RecordID>0</_0:RecordID>
<_0:Action>CreateUpdate</_0:Action>
<_0:DataRow>
<_0:field column="C_Order_ID">
<_0:val>@C_Order.C_Order_ID</_0:val>
</_0:field>
<_0:field column="M_Product_ID">
<_0:val>123</_0:val>
</_0:field>
<_0:field column="QtyEntered">
<_0:val>2</_0:val>
</_0:field>
<_0:field column="QtyOrdered">
<_0:val>2</_0:val>
</_0:field>
<_0:field column="Line">
<_0:val>10</_0:val>
</_0:field>
<_0:field column="PriceEntered">
<_0:val>14</_0:val>
</_0:field>
<_0:field column="PriceActual">
<_0:val>15</_0:val>
</_0:field>
</_0:DataRow>
</_0:ModelCRUD>
</_0:operation>
<_0:operation preCommit="true" postCommit="true">
<_0:TargetPort>setDocAction</_0:TargetPort>
<_0:ModelSetDocAction>
<_0:serviceType>CompleteOrder</_0:serviceType>
<_0:tableName>C_Order</_0:tableName>
<_0:recordID>0</_0:recordID>
<_0:recordIDVariable>@C_Order.C_Order_ID</_0:recordIDVariable>
<_0:docAction>CO</_0:docAction>
</_0:ModelSetDocAction>
</_0:operation>
</_0:operations>
</_0:CompositeRequest>
</_0:compositeOperation>
</soapenv:Body>
</soapenv:Envelope>]]></con:request><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://idempiere.org/ADInterface/1_0/CompositeService/compositeOperation"/><con:wsrmConfig version="1.2"/></con:call></con:operation></con:interface><con:properties/><con:wssContainer/></con:soapui-project>
</soapenv:Envelope>]]></con:request><con:credentials><con:authType>Global HTTP Settings</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://idempiere.org/ADInterface/1_0/CompositeService/compositeOperation"/><con:wsrmConfig version="1.2"/></con:call></con:operation></con:interface><con:properties/><con:wssContainer/></con:soapui-project>