Beruflich Dokumente
Kultur Dokumente
util;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import org.apache.log4j.Logger;
import com.pfg.idd.customsifapi.constant.ItemConstants;
import com.siperian.bdd.userexits.datamodel.BDDObject;
import com.siperian.sif.client.SiperianClient;
import com.siperian.sif.message.Field;
import com.siperian.sif.message.HubStateIndicator;
import com.siperian.sif.message.MatchType;
import com.siperian.sif.message.Parameter;
import com.siperian.sif.message.Password;
import com.siperian.sif.message.Record;
import com.siperian.sif.message.RecordKey;
import com.siperian.sif.message.RecordState;
import com.siperian.sif.message.SiperianObjectType;
import com.siperian.sif.message.XrefKey;
import com.siperian.sif.message.mrm.DeleteRequest;
import com.siperian.sif.message.mrm.DeleteResponse;
import com.siperian.sif.message.mrm.GetRequest;
import com.siperian.sif.message.mrm.GetResponse;
import com.siperian.sif.message.mrm.GetXrefForEffectiveDateRequest;
import com.siperian.sif.message.mrm.GetXrefForEffectiveDateResponse;
import com.siperian.sif.message.mrm.PromotePendingXrefsRequest;
import com.siperian.sif.message.mrm.PromotePendingXrefsResponse;
import com.siperian.sif.message.mrm.PutRequest;
import com.siperian.sif.message.mrm.PutResponse;
import com.siperian.sif.message.mrm.RestoreRequest;
import com.siperian.sif.message.mrm.RestoreResponse;
import com.siperian.sif.message.mrm.SearchMatchRequest;
import com.siperian.sif.message.mrm.SearchMatchResponse;
import com.siperian.sif.message.mrm.SearchQueryRequest;
import com.siperian.sif.message.mrm.SearchQueryResponse;
import com.siperian.sif.message.mrm.SetRecordStateRequest;
import com.siperian.sif.message.mrm.SetRecordStateResponse;
/**
* The Class SIFUtil.
*/
public class SIFUtil
{
public static SiperianClient getSIFClient()
{
// initialize a SIF client
Properties sifClientProps = new Properties();
sifClientProps.setProperty("siperian-client.protocol", "http");
sifClientProps.setProperty("http.call.url",
ItemConstants.UPGRADE_UAT_CMX);
sifClientProps.setProperty("siperian-client.orsId",
ItemConstants.UPGRADE_UAT_ORS_ID);
sifClientProps.setProperty("siperian-client.username","adas");
sifClientProps.setProperty("siperian-client.securityPayload","");
SiperianClient sifClient =
SiperianClient.newSiperianClient(sifClientProps);
return sifClient;
}
request.setSiperianObjectUid(SiperianObjectType.BASE_OBJECT.makeUid("C_B_PARTY"));
request.setFilterCriteria("PFG_PARTY_ID = ? AND BO_CLASS_CODE =
'Customer' AND IS_SAVE = 'U'"); //for promote: AND IS_SAVE = 'U'
ArrayList<Parameter> params = new ArrayList<Parameter>();
params.add(new Parameter(PFGCustID));
request.setFilterParameters(params);
request.setSiperianObjectUid(SiperianObjectType.XREF.makeUid("C_B_PARTY"));
request.setFilterCriteria("ROWID_OBJECT = ?");
recList = response.getRecords();
String interaction =
rec.getField("INTERACTION_ID").getValue().toString().trim();
String pkeysrc =
rec.getField("PKEY_SRC_OBJECT").getValue().toString().trim();
String rowidxref =
rec.getField("ROWID_XREF").getValue().toString().trim();
String syst =
rec.getField("ROWID_SYSTEM").getValue().toString().trim();
if(action.equalsIgnoreCase("promote")){
PromoteQuery("C_B_PARTY", interaction, pkeysrc,
rowidxref, syst);
noPromoteFlag = false;
}
}
//else{
//System.out.println("No pending xrefs in C_B_Party. So
check Customer Dtl and all other tables.");
request.setSiperianObjectUid(SiperianObjectType.BASE_OBJECT.makeUid(table));
request.setFilterCriteria("PARTY_ID = ?");
response = (SearchQueryResponse)
sifClient.process(request);
recList = response.getRecords();
String rid =
rec.getField("ROWID_OBJECT").getValue().toString().trim();
if(table.equalsIgnoreCase("C_B_RL_PARTY_ADDR"))
{
if(rec.getField("REL_TYPE_CD").getValue().toString().trim().equalsIgnoreCase("BI"))
addrIDBI =
rec.getField("ADDRESS_ID").getValue().toString().trim();
if(rec.getField("REL_TYPE_CD").getValue().toString().trim().equalsIgnoreCase("SH"))
{
addrIDSH =
rec.getField("ADDRESS_ID").getValue().toString().trim();
rowIDSH = rid;
}
}
request = new SearchQueryRequest();
response = new SearchQueryResponse();
request.setSiperianObjectUid(SiperianObjectType.XREF.makeUid(table));
request.setFilterCriteria("ROWID_OBJECT = ?");
recordStates = new
ArrayList<HubStateIndicator>();
recordStates.add(HubStateIndicator.PENDING);
request.setRecordStates(recordStates);
response = (SearchQueryResponse)
sifClient.process(request);
recList = response.getRecords();
String interaction =
rec.getField("INTERACTION_ID").getValue().toString().trim();
String pkeysrc =
rec.getField("PKEY_SRC_OBJECT").getValue().toString().trim();
String rowidxref =
rec.getField("ROWID_XREF").getValue().toString().trim();
String syst =
rec.getField("ROWID_SYSTEM").getValue().toString().trim();
if(action.equalsIgnoreCase("promote")){
PromoteQuery(table, interaction,
pkeysrc, rowidxref, syst);
noPromoteFlag = false;
if(table.equalsIgnoreCase("C_B_CUSTOMER_DTL") &&
rec.getField("STATUS_CD").getValue() != null &&
rec.getField("STATUS_CD").getValue().toString().trim().equalsIgnoreCase("I"))
{
//if party inactive, must
make ship to address & associated opco inactive too
System.out.println(PFGCustID
+ " - make SH address & opco inactive as well");
}
if(table.equalsIgnoreCase("C_B_RL_PARTY_ADDR") &&
rec.getField("STATUS_CD").getValue() != null &&
rec.getField("STATUS_CD").getValue().toString().trim().equalsIgnoreCase("I"))
{
//if address inactive, must
make ship to associated opco inactive too
System.out.println(PFGCustID
+ " - make opco inactive as well");
}
}
}
}
}
request.setSiperianObjectUid(SiperianObjectType.XREF.makeUid("C_B_ADDRESS"));
request.setFilterCriteria("ROWID_OBJECT = ?");
response = (SearchQueryResponse)
sifClient.process(request);
recList = response.getRecords();
String interaction =
rec.getField("INTERACTION_ID").getValue().toString().trim();
String pkeysrc =
rec.getField("PKEY_SRC_OBJECT").getValue().toString().trim();
String rowidxref =
rec.getField("ROWID_XREF").getValue().toString().trim();
String syst =
rec.getField("ROWID_SYSTEM").getValue().toString().trim();
if(action.equalsIgnoreCase("promote")){
PromoteQuery("C_B_ADDRESS", interaction,
pkeysrc, rowidxref, syst);
noPromoteFlag = false;
}
}
request.setSiperianObjectUid(SiperianObjectType.XREF.makeUid("C_B_ADDRESS"));
request.setFilterCriteria("ROWID_OBJECT = ?");
response = (SearchQueryResponse)
sifClient.process(request);
recList = response.getRecords();
String interaction =
rec.getField("INTERACTION_ID").getValue().toString().trim();
String pkeysrc =
rec.getField("PKEY_SRC_OBJECT").getValue().toString().trim();
String rowidxref =
rec.getField("ROWID_XREF").getValue().toString().trim();
String syst =
rec.getField("ROWID_SYSTEM").getValue().toString().trim();
if(action.equalsIgnoreCase("promote")){
PromoteQuery("C_B_ADDRESS", interaction,
pkeysrc, rowidxref, syst);
noPromoteFlag = false;
addrPromoteFlag = true;
}
}
//offtables
if(!addrPromoteFlag){
request.setSiperianObjectUid(SiperianObjectType.BASE_OBJECT.makeUid(table));
request.setFilterCriteria("PARTY_ADDRESS_ID
= ?");
recordStates = new
ArrayList<HubStateIndicator>();
recordStates.add(HubStateIndicator.PENDING);
recordStates.add(HubStateIndicator.ACTIVE);
request.setRecordStates(recordStates);
response = (SearchQueryResponse)
sifClient.process(request);
recList = response.getRecords();
String roid =
rec.getField("ROWID_OBJECT").getValue().toString().trim();
request.setSiperianObjectUid(SiperianObjectType.XREF.makeUid(table));
request.setFilterCriteria("ROWID_OBJECT =
?");
recordStates = new
ArrayList<HubStateIndicator>();
recordStates.add(HubStateIndicator.PENDING);
request.setRecordStates(recordStates);
response = (SearchQueryResponse)
sifClient.process(request);
recList = response.getRecords();
System.out.println("Found pending
record in xref of " + table);
String interaction =
rec.getField("INTERACTION_ID").getValue().toString().trim();
String pkeysrc =
rec.getField("PKEY_SRC_OBJECT").getValue().toString().trim();
String rowidxref =
rec.getField("ROWID_XREF").getValue().toString().trim();
String syst =
rec.getField("ROWID_SYSTEM").getValue().toString().trim();
System.out.println("Table: " +
table + " Interaction id: " + interaction + " pkey src: " + pkeysrc + " rowid xref:
" + rowidxref);
if(action.equalsIgnoreCase("promote")){
PromoteQuery(table,
interaction, pkeysrc, rowidxref, syst);
noPromoteFlag = false;
}
}
}
}
}
//}
}
else{
System.out.println("No active customers with pfg party id " +
PFGCustID);
}
if(noPromoteFlag){
System.out.println("No promotes done");
}
}
request.setSiperianObjectUid(SiperianObjectType.BASE_OBJECT.makeUid(tableName));
request.setInteractionId(interaction);
response = (PromotePendingXrefsResponse)sifClient.process(request);
request.setSiperianObjectUid(SiperianObjectType.BASE_OBJECT.makeUid(tableName));
response = (RestoreResponse)sifClient.process(request);
request.setSiperianObjectUid(SiperianObjectType.BASE_OBJECT.makeUid(tableName));
if(!interaction.equalsIgnoreCase(""))
request.setInteractionId(interaction);
response = (DeleteResponse)sifClient.process(request);
req.setSiperianObjectUid(SiperianObjectType.BASE_OBJECT.makeUid(tableName));
RecordKey rKey = new RecordKey();
rKey.setRowid(rowid);
req.addRecordKey(rKey);
req.setRecordState(RecordState.NEWLY_LOADED);
record.setSiperianObjectUid(SiperianObjectType.BASE_OBJECT.makeUid(tableName));
for(int x= 0; x<colNames.size();x++){
System.out.println("setting field. name: " + colNames.get(x) + "
value: " + colVals.get(x));
record.setField(new Field(colNames.get(x), colVals.get(x)));
}
req.setRecordKey(rKey);
req.setRecord(record);
req.setGenerateSourceKey(false);
req.setBypassPostLoadUE(true);
if(!interacn.equalsIgnoreCase(""))
req.setInteractionId(interacn);
record.setSiperianObjectUid(SiperianObjectType.BASE_OBJECT.makeUid(tableName));
for(int x= 0; x<colNames.size();x++){
System.out.println("setting field. name: " + colNames.get(x) + "
value: " + colVals.get(x));
record.setField(new Field(colNames.get(x), colVals.get(x)));
}
if(!srcKey.equalsIgnoreCase(""))
rKey.setSourceKey(srcKey);
req.setRecordKey(rKey);
req.setRecord(record);
req.setGenerateSourceKey(false);
req.setBypassPostLoadUE(true);
record.setSiperianObjectUid(SiperianObjectType.BASE_OBJECT.makeUid(tableName));
for(int x= 0; x<colNames.size();x++){
record.setField(new Field(colNames.get(x), colVals.get(x)));
}
RecordKey rKey = new RecordKey();
rKey.setSystemName("Admin");
request.setRecordKey(rKey);
request.setRecord(record);
request.setGenerateSourceKey(true);
request.setSiperianObjectUid(SiperianObjectType.BASE_OBJECT.makeUid("C_B_PARTY"));
request.setFilterCriteria("PFG_PARTY_ID = ? AND BO_CLASS_CODE =
'Vendor'");
ArrayList<Parameter> params = new ArrayList<Parameter>();
params.add(new Parameter(PFGVendID));
request.setFilterParameters(params);
String partyid =
rec.getField("ROWID_OBJECT").getValue().toString().trim();
request.setSiperianObjectUid(SiperianObjectType.BASE_OBJECT.makeUid("C_B_RL_PARTY_O
PCO"));
request.setFilterCriteria("OPCO_CD = 'DEFAULT' AND PARTY_ID
= ?");
recList = response.getRecords();
String accountNum =
rec.getField("TARGET_SYSTEM_ID").getValue().toString().trim();
request.setSiperianObjectUid(SiperianObjectType.BASE_OBJECT.makeUid("C_B_RL_PARTY_O
PCO"));
request.setFilterCriteria("OPCO_CD = '428' AND PARTY_ID
= ?");
response = (SearchQueryResponse)
sifClient.process(request);
recList = response.getRecords();
if (recList != null && recList.size() > 1){
System.out.println("More than one 428 opco for vendor
" + PFGVendID);
}
else if (recList != null && recList.size() == 1){
rec = (Record) recList.get(0);
String rowid =
rec.getField("ROWID_OBJECT").getValue().toString().trim();
UpdateQuery("C_B_RL_PARTY_OPCO", rowid, new
ArrayList<String>(Arrays.asList("TARGET_SYSTEM_ID")),
new
ArrayList<String>(Arrays.asList(accountNum)));
}
else{
System.out.println("No 428 opcos for vendor " +
PFGVendID);
}
}
else{
System.out.println("No default opcos for vendor " +
PFGVendID);
}
}
else{
System.out.println("No active vendors with pfg party id " +
PFGVendID);
}
}
request.setSiperianObjectUid(SiperianObjectType.BASE_OBJECT.makeUid("C_B_PARTY"));
request.setFilterCriteria("PFG_PARTY_ID = ? AND BO_CLASS_CODE =
'Vendor'");
ArrayList<Parameter> params = new ArrayList<Parameter>();
params.add(new Parameter(PFGVendID));
request.setFilterParameters(params);
request.setSiperianObjectUid(SiperianObjectType.XREF.makeUid("C_B_PARTY"));
request.setFilterCriteria("ROWID_OBJECT = ?");
recList = response.getRecords();
String interaction =
rec.getField("INTERACTION_ID").getValue().toString().trim();
String pkeysrc =
rec.getField("PKEY_SRC_OBJECT").getValue().toString().trim();
String rowidxref =
rec.getField("ROWID_XREF").getValue().toString().trim();
String syst =
rec.getField("ROWID_SYSTEM").getValue().toString().trim();
if(action.equalsIgnoreCase("promote")){
System.out.println("Interaction id: " + interaction +
" pkey src: " + pkeysrc + " rowid xref: " + rowidxref);
PromoteQuery("C_B_PARTY", interaction, pkeysrc,
rowidxref, syst);
}
else if(action.equalsIgnoreCase("delete") &&
interacn.equalsIgnoreCase(interaction)){
System.out.println("Interaction id: " + interaction +
" pkey src: " + pkeysrc + " rowid xref: " + rowidxref);
DeleteQuery("C_B_PARTY", interaction, pkeysrc,
rowidxref, syst);
}
}
request.setSiperianObjectUid(SiperianObjectType.BASE_OBJECT.makeUid(table));
request.setFilterCriteria("PARTY_ID = ?");
response = (SearchQueryResponse)
sifClient.process(request);
recList = response.getRecords();
if(table.equalsIgnoreCase("C_B_RL_PARTY_ADDR")){
rpaRowid.add(rid);
rpaAddrid.add(rec.getField("ADDRESS_ID").getValue().toString().trim());
}
request.setSiperianObjectUid(SiperianObjectType.XREF.makeUid(table));
request.setFilterCriteria("ROWID_OBJECT = ?");
response = (SearchQueryResponse)
sifClient.process(request);
recList = response.getRecords();
String interaction =
rec.getField("INTERACTION_ID").getValue().toString().trim();
String pkeysrc =
rec.getField("PKEY_SRC_OBJECT").getValue().toString().trim();
String rowidxref =
rec.getField("ROWID_XREF").getValue().toString().trim();
String syst =
rec.getField("ROWID_SYSTEM").getValue().toString().trim();
if(action.equalsIgnoreCase("promote")){
System.out.println("Table: " + table + "
Interaction id: " + interaction + " pkey src: " + pkeysrc + " rowid xref: " +
rowidxref);
PromoteQuery(table, interaction, pkeysrc,
rowidxref, syst);
}
else if(action.equalsIgnoreCase("delete") &&
interacn.equalsIgnoreCase(interaction)){
System.out.println("Table: " + table + "
Interaction id: " + interaction + " pkey src: " + pkeysrc + " rowid xref: " +
rowidxref);
DeleteQuery(table, interaction, pkeysrc,
rowidxref, syst);
}
}
}
}
request.setSiperianObjectUid(SiperianObjectType.XREF.makeUid("C_B_ADDRESS"));
request.setFilterCriteria("ROWID_OBJECT = ?");
response = (SearchQueryResponse)
sifClient.process(request);
recList = response.getRecords();
String interaction =
rec.getField("INTERACTION_ID").getValue().toString().trim();
String pkeysrc =
rec.getField("PKEY_SRC_OBJECT").getValue().toString().trim();
String rowidxref =
rec.getField("ROWID_XREF").getValue().toString().trim();
String syst =
rec.getField("ROWID_SYSTEM").getValue().toString().trim();
if(action.equalsIgnoreCase("promote")){
System.out.println("Table: C_B_ADDRESS
Interaction id: " + interaction + " pkey src: " + pkeysrc + " rowid xref: " +
rowidxref);
PromoteQuery("C_B_ADDRESS", interaction,
pkeysrc, rowidxref, syst);
}
if(action.equalsIgnoreCase("delete") &&
interacn.equalsIgnoreCase(interaction)){
System.out.println("Table: C_B_ADDRESS
Interaction id: " + interaction + " pkey src: " + pkeysrc + " rowid xref: " +
rowidxref);
DeleteQuery("C_B_ADDRESS", interaction,
pkeysrc, rowidxref, syst);
}
}
}
request.setSiperianObjectUid(SiperianObjectType.BASE_OBJECT.makeUid("C_B_VEN_ADDR_D
TL"));
request.setFilterCriteria("PARTY_ADDRESS_ID = ?");
response = (SearchQueryResponse)
sifClient.process(request);
recList = response.getRecords();
String rid =
rec.getField("ROWID_OBJECT").getValue().toString().trim();
request.setSiperianObjectUid(SiperianObjectType.XREF.makeUid("C_B_VEN_ADDR_DTL"));
request.setFilterCriteria("ROWID_OBJECT = ?");
response = (SearchQueryResponse)
sifClient.process(request);
recList = response.getRecords();
String interaction =
rec.getField("INTERACTION_ID").getValue().toString().trim();
String pkeysrc =
rec.getField("PKEY_SRC_OBJECT").getValue().toString().trim();
String rowidxref =
rec.getField("ROWID_XREF").getValue().toString().trim();
String syst =
rec.getField("ROWID_SYSTEM").getValue().toString().trim();
if(action.equalsIgnoreCase("promote")){
System.out.println("Table:
C_B_VEN_ADDR_DTL Interaction id: " + interaction + " pkey src: " + pkeysrc + "
rowid xref: " + rowidxref);
PromoteQuery("C_B_VEN_ADDR_DTL",
interaction, pkeysrc, rowidxref, syst);
}
else if(action.equalsIgnoreCase("delete") &&
interacn.equalsIgnoreCase(interaction)){
System.out.println("Table:
C_B_VEN_ADDR_DTL Interaction id: " + interaction + " pkey src: " + pkeysrc + "
rowid xref: " + rowidxref);
DeleteQuery("C_B_VEN_ADDR_DTL",
interaction, pkeysrc, rowidxref, syst);
}
}
}
}
}
else{
System.out.println("No active vendors with pfg party id " +
PFGVendID);
}
}
request.setSiperianObjectUid(SiperianObjectType.BASE_OBJECT.makeUid("C_B_PARTY"));
request.setFilterCriteria("BO_CLASS_CODE = 'Customer' AND PFG_PARTY_ID
= ?");
ArrayList<Parameter> params = new ArrayList<Parameter>();
params.add(new Parameter(PFGCustID));
request.setFilterParameters(params);
String partyID =
rec.getField("ROWID_OBJECT").getValue().toString().trim();
request.setSiperianObjectUid(SiperianObjectType.BASE_OBJECT.makeUid("C_B_RL_PARTY_A
DDR"));
request.setFilterCriteria("REL_TYPE_CD = 'SH' AND PARTY_ID = ?");
params = new ArrayList<Parameter>();
params.add(new Parameter(partyID));
request.setFilterParameters(params);
recList = response.getRecords();
String partyAddrID =
rec.getField("ROWID_OBJECT").getValue().toString().trim();
InsertQuery("C_B_CONCEPT_PARTYADDR", new
ArrayList<String>(Arrays.asList("CONCEPT_CD", "PARTY_ADDRESS_ID")),
new ArrayList<String>(Arrays.asList("300004",
partyAddrID)));
}
else{
System.out.println("Not 1 active SH addr");
}
}
else{
System.out.println("Not 1 active customer");
}
}
request.setSiperianObjectUid(SiperianObjectType.BASE_OBJECT.makeUid("C_B_CONCEPT_PA
RTYADDR"));
request.setFilterCriteria("PARTY_ADDRESS_ID = ?");
ArrayList<Parameter> params = new ArrayList<Parameter>();
params.add(new Parameter(conceptPAID));
request.setFilterParameters(params);
request.setSiperianObjectUid(SiperianObjectType.XREF.makeUid("C_B_CONCEPT_PARTYADDR
"));
request.setFilterCriteria("ROWID_OBJECT = ?");
recList = response.getRecords();
record.setSiperianObjectUid(SiperianObjectType.BASE_OBJECT.makeUid("C_B_CONCEPT_PAR
TYADDR"));
req.setRecordKey(rKey);
req.setRecord(record);
req.setGenerateSourceKey(false);
}
else{
System.out.println("More than one in XREF of :" +
conceptPAID + " or none");
}
}
else{
System.out.println("More than one in BO of :" + conceptPAID + "
or none");
}
}
request.setSiperianObjectUid(SiperianObjectType.BASE_OBJECT.makeUid("C_B_PARTY"));
request.setFilterCriteria("PFG_PARTY_ID = ? AND BO_CLASS_CODE =
'Customer'");
ArrayList<Parameter> params = new ArrayList<Parameter>();
params.add(new Parameter(PFGCustID));
request.setFilterParameters(params);
request.setSiperianObjectUid(SiperianObjectType.BASE_OBJECT.makeUid("C_B_RL_PARTY_O
PCO"));
request.setFilterCriteria("PARTY_ID = ? AND OPCO_CD = ?");
recList = response.getRecords();
String paid =
rec.getField("PARTY_ADDRESS_ID").getValue().toString().trim();
request.setSiperianObjectUid(SiperianObjectType.BASE_OBJECT.makeUid("C_B_RL_PARTY_A
DDR"));
request.setFilterCriteria("ROWID_OBJECT = ?");
response = (SearchQueryResponse)
sifClient.process(request);
recList = response.getRecords();
if(rec.getField("REL_TYPE_CD").getValue().toString().trim().equalsIgnoreCase("SH"))
{
paidSH = paid;
System.out.println("paidSH: " + paidSH);
break;
}
}
}
if(!paidSH.equalsIgnoreCase("")){
request.setSiperianObjectUid(SiperianObjectType.BASE_OBJECT.makeUid("C_B_CONCEPT_PA
RTYADDR"));
request.setFilterCriteria("PARTY_ADDRESS_ID = ?");
response = (SearchQueryResponse)
sifClient.process(request);
recList = response.getRecords();
if (recList.size() == 1){
//update concept
rec = (Record) recList.get(0);
if(paid.equalsIgnoreCase(paidSH)){
request = new SearchQueryRequest();
response = new SearchQueryResponse();
request.setSiperianObjectUid(SiperianObjectType.XREF.makeUid("C_B_CONCEPT_PARTYADDR
"));
request.setFilterCriteria("ROWID_OBJECT = ?");
recordStates = new
ArrayList<HubStateIndicator>();
recordStates.add(HubStateIndicator.ACTIVE);
recordStates.add(HubStateIndicator.PENDING);
request.setRecordStates(recordStates);
response = (SearchQueryResponse)
sifClient.process(request);
recList = response.getRecords();
String pkeysrc =
rec.getField("PKEY_SRC_OBJECT").getValue().toString().trim();
System.out.println("rowid: " + rid + "
pkey src: " + pkeysrc + " existing paid: " + paid);
}
else{
System.out.println("Existing PAID not matching
selected PAID");
}
}
request.setSiperianObjectUid(SiperianObjectType.XREF.makeUid("C_B_ENTERPRISE_VEN"))
;
request.setFilterCriteria("ROWID_OBJECT = ?");
ArrayList<Parameter> params = new ArrayList<Parameter>();
params.add(new Parameter(entVenRowid));
request.setFilterParameters(params);
String rowidXref =
rec.getField("ROWID_XREF").getValue().toString().trim();
String pkeySrc =
rec.getField("PKEY_SRC_OBJECT").getValue().toString().trim();
String syst =
rec.getField("ROWID_SYSTEM").getValue().toString().trim();
request.setSiperianObjectUid(SiperianObjectType.BASE_OBJECT.makeUid("C_B_PARTY"));
request.setFilterCriteria("PFG_PARTY_ID = ? AND BO_CLASS_CODE =
'Customer'");
ArrayList<Parameter> params = new ArrayList<Parameter>();
params.add(new Parameter(cust));
request.setFilterParameters(params);
request.setSiperianObjectUid(SiperianObjectType.BASE_OBJECT.makeUid("C_B_RL_PARTY_O
PCO"));
request.setFilterCriteria("PARTY_ID = ?");
recList = response.getRecords();
String rid =
rec.getField("ROWID_OBJECT").getValue().toString().trim();
String rpa =
rec.getField("PARTY_ADDRESS_ID").getValue().toString().trim();
String addr =
rec.getField("ADDRESS_ID").getValue().toString().trim();
if(RPAaddr.get(rpa) == null){
response = (SearchQueryResponse)
sifClient.process(request);
recList = response.getRecords();
String adr =
rec1.getField("ADDRESS_ID").getValue().toString().trim();
RPAaddr.put(rpa, adr);
if(!addr.equalsIgnoreCase(RPAaddr.get(rpa))){
UpdateQuery("C_B_RL_PARTY_OPCO", rid, new
ArrayList<String>(Arrays.asList("ADDRESS_ID")),
new
ArrayList<String>(Arrays.asList(RPAaddr.get(rpa))));
}
}
}
else if (recList != null && recList.size() > 1){
System.out.println("Found more than one customer with party id "
+ cust);
}
else{
System.out.println("Did not find customer " + cust);
}
}
request.setSiperianObjectUid(SiperianObjectType.BASE_OBJECT.makeUid("C_B_PARTY"));
request.setFilterCriteria("PFG_PARTY_ID = ? AND BO_CLASS_CODE =
'Vendor'");
ArrayList<Parameter> params = new ArrayList<Parameter>();
params.add(new Parameter(PFGVendID));
request.setFilterParameters(params);
SRSQuery(rowid, "C_B_PARTY");
request.setSiperianObjectUid(SiperianObjectType.BASE_OBJECT.makeUid(table));
request.setFilterCriteria("PARTY_ID = ?");
response = (SearchQueryResponse)
sifClient.process(request);
recList = response.getRecords();
String rid =
rec.getField("ROWID_OBJECT").getValue().toString().trim();
SRSQuery(rid, table);
if(table.equalsIgnoreCase("C_B_RL_PARTY_ADDR")){
String addrRowid =
rec.getField("ADDRESS_ID").getValue().toString().trim();
SRSQuery(addrRowid, "C_B_ADDRESS");
request.setSiperianObjectUid(SiperianObjectType.BASE_OBJECT.makeUid("C_B_VEN_ADDR_D
TL"));
request.setFilterCriteria("PARTY_ADDRESS_ID
= ?");
recordStates = new
ArrayList<HubStateIndicator>();
recordStates.add(HubStateIndicator.ACTIVE);
request.setRecordStates(recordStates);
response = (SearchQueryResponse)
sifClient.process(request);
recList = response.getRecords();
String row =
rec.getField("ROWID_OBJECT").getValue().toString().trim();
SRSQuery(row, "C_B_VEN_ADDR_DTL");
}
}
}
}
}
else{
System.out.println("No active vendors with pfg party id " +
PFGVendID);
}
}