ObjectReferenceId
InfoSphere MDM utiliza un etiqueta especializada denominada ObjectReferenceId para declarar una clave primaria lógica para el objeto que se crea en la adición o actualización de la transacción.
Se puede hacer referencia posteriormente al valor de esta clave en la solicitud de servicio que se va a utilizar como clave foránea.
En el siguiente ejemplo de servicio addContract, la referencia de objeto lógico 1313 se ha declarado para el TCRMContractBobj proporcionando la siguiente etiqueta y valor: <ObjectReferenceId>1313</ObjectReferenceId>.
Cuando el objeto TCRMContractRelationshipBObj se construye más tarde en el mismo mensaje de solicitud de transacción, el valor de 1313 de ObjectReferenceId se utiliza como valor de clave foránea para OrigContractId para indicar que debe hacerse referencia al TCRMContractBobj, que ha creado anteriormente, como punto de partida para la relación de contrato.
Mensaje de solicitud
<TCRMTx>
<TCRMTxType>addContract</TCRMTxType>
<TCRMTxObject>TCRMContractBObj</TCRMTxObject>
<TCRMObject>
<TCRMContractBObj>
<ObjectReferenceId>1313</ObjectReferenceId>
<ContractIdPK></ContractIdPK>
<ContractLangType>100</ContractLangType>
<ContractLangValue>English</ContractLangValue>
<LineOfBusiness>ships</LineOfBusiness>
<CurrencyType>1</CurrencyType>
<CurrencyValue>U.S. Dollar</CurrencyValue>
<FrequencyModeType>1</FrequencyModeType>
<FrequencyModeValue>Annual</FrequencyModeValue>
<BillingType>5</BillingType>
<BillingValue>Payroll Deduction</BillingValue>
<ReplacedByContract></ReplacedByContract>
<PremiumAmount>200.011</PremiumAmount>
<PremiumAmountCurrencyType>1</PremiumAmountCurrencyType>
<PremiumAmountCurrencyValue>U.S. Dollar</PremiumAmountCurrencyValue>
<NextBillingDate>2001-01-01</NextBillingDate>
<CurrentCashValueAmount>300.011</CurrentCashValueAmount>
<CurrentCashValueAmountCurrencyType>1</CurrentCashValueAmountCurrencyType>
<CurrentCashValueAmountCurrencyValue>U.S. Dollar</CurrentCashValueAmountCurrencyValue>
<BrandName>Eco</BrandName>
<ServiceOrgName>Eco Service</ServiceOrgName>
<ServiceProvId>54</ServiceProvId>
<BusOrgunitId>1226</BusOrgunitId>
<IssueLocation>ON</IssueLocation>
<ContractLastUpdateDate></ContractLastUpdateDate>
<ContractLastUpdateUser></ContractLastUpdateUser>
<ContractLastUpdateTxId></ContractLastUpdateTxId>
<AccessTokenValue>jan02</AccessTokenValue>
....
<TCRMContractRelationshipBObj>
<ObjectReferenceId></ObjectReferenceId>
<ContractRelIdPK></ContractRelIdPK>
<OrigContractId>1313</OrigContractId>
<DestContractId></DestContractId>
<RelationshipType>1</RelationshipType>
<RelationshipValue>Parent</RelationshipValue>
<RelationshipDescription>contract relationship description</RelationshipDescription>
<RelationshipStatusType>1</RelationshipStatusType>
<RelationshipStatusValue>Active</RelationshipStatusValue>
<StartDate>2002-02-02</StartDate>
<EndDate>2099-02-02</EndDate>
<ContractRelationshipLastUpdateDate></ContractRelationshipLastUpdateDate>
<ContractRelationshipLastUpdateUser></ContractRelationshipLastUpdateUser>
<ContractRelationshipLastUpdateTxId></ContractRelationshipLastUpdateTxId>
</TCRMContractRelationshipBObj>
</TCRMContractBObj>
</TCRMObject>
</TCRMTx>
Tenga en cuenta que el valor de ObjectReferenceId no es el mismo que la clave primaria del objeto. Cuando la transacción addContract se ejecuta, InfoSphere MDM asigna automáticamente un valor de clave primaria generada en el campo ContractIdPK del registro de contrato recién creado, como puede ver en la línea <ContractIdPK>453539601523560333</ContractIdPK> del mensaje de respuesta en la lista más adelante en este tema.
Además, tenga en cuenta que se ha asignado a OrigContractID el valor de la clave primaria del contrato, que es <OrigContractId>453539601523560333</OrigContractId>, en función del valor de referencia lógica de 1313.
Mensaje de respuesta
OrigContractId ahora se devuelve como ContractIdPK del contrato existente.
<TxResponse>
<RequestType>addContract</RequestType>
<TxResult>
<ResultCode>SUCCESS</ResultCode>
</TxResult>
<ResponseObject>
<TCRMContractBObj>
<ObjectReferenceId>1313</ObjectReferenceId>
<ContractIdPK>453539601523560333</ContractIdPK>
<ContractLangType>100</ContractLangType>
<ContractLangValue>English</ContractLangValue>
<LineOfBusiness>ships</LineOfBusiness>
<CurrencyType>1</CurrencyType>
<CurrencyValue>U.S. Dollar</CurrencyValue>
<FrequencyModeType>1</FrequencyModeType>
<FrequencyModeValue>Annual</FrequencyModeValue>
<BillingType>5</BillingType>
<BillingValue>Payroll Deduction</BillingValue>
<ReplacedByContract>11122331</ReplacedByContract>
<PremiumAmount>200.011</PremiumAmount>
<PremiumAmountCurrencyType>1</PremiumAmountCurrencyType>
<PremiumAmountCurrencyValue>U.S. Dollar</PremiumAmountCurrencyValue>
<NextBillingDate>2001-01-01 23:59:59.0</NextBillingDate>
<CurrentCashValueAmount>300.011</CurrentCashValueAmount>
<CurrentCashValueAmountCurrencyType>1</CurrentCashValueAmountCurrencyType>
<CurrentCashValueAmountCurrencyValue>U.S. Dollar</CurrentCashValueAmountCurrencyValue>
<BrandName>Eco</BrandName>
<ServiceOrgName>Eco Service</ServiceOrgName>
<ServiceProvId>54</ServiceProvId>
<BusOrgunitId>1226</BusOrgunitId>
<IssueLocation>ON</IssueLocation>
<ContractLastUpdateDate>2014-03-28 10:00:35.602</ContractLastUpdateDate>
<ContractLastUpdateUser>cusadmin</ContractLastUpdateUser>
<ContractLastUpdateTxId>333539601522313668</ContractLastUpdateTxId>
<AccessTokenValue>jan02</AccessTokenValue>
......
<TCRMContractRelationshipBObj>
<ContractRelIdPK>456839601523581239</ContractRelIdPK>
<OrigContractId>453539601523560333</OrigContractId>
<DestContractId>11122331</DestContractId>
<RelationshipType>1</RelationshipType>
<RelationshipValue>Parent</RelationshipValue>
<RelationshipDescription>contract relationship description</RelationshipDescription>
<RelationshipStatusType>1</RelationshipStatusType>
<RelationshipStatusValue>Active</RelationshipStatusValue>
<StartDate>2002-02-02 00:00:00.0</StartDate>
<EndDate>2099-02-02 23:59:59.0</EndDate>
<ContractRelationshipLastUpdateDate>2014-03-28 10:00:35.811</ContractRelationshipLastUpdateDate>
<ContractRelationshipLastUpdateUser>cusadmin</ContractRelationshipLastUpdateUser>
<ContractRelationshipLastUpdateTxId>333539601522313668</ContractRelationshipLastUpdateTxId>
<DWLStatus>
<Status>0</Status>
</DWLStatus>
</TCRMContractRelationshipBObj>
<DWLStatus>
<Status>0</Status>
</DWLStatus>
</TCRMContractBObj>