project QadFinancials > class BBusinessRelation > API query ContactByAddress

Description

Returns all contacts for a certain address (ID).


query filter (table tFilter)


tcBusinessFieldNametcDataTypetcOperator
iiAddressIdi=
tContact.ContactEmailc=,>=,>,<>,<=,<,begins,can-do,matches
tContact.ContactFaxc=,>=,>,<>,<=,<,begins,can-do,matches
tContact.ContactFunctionc=,>=,>,<>,<=,<,begins,can-do,matches
tContact.ContactGenderc=,>=,>,<>,<=,<,begins,can-do,matches
tContact.ContactInitialsc=,>=,>,<>,<=,<,begins,can-do,matches
tContact.ContactIsPrimaryl=,<>
tContact.ContactIsSecondaryl=,<>
tContact.ContactMobilePhonec=,>=,>,<>,<=,<,begins,can-do,matches
tContact.ContactNamec=,>=,>,<>,<=,<,begins,can-do,matches
tContact.ContactTelephonec=,>=,>,<>,<=,<,begins,can-do,matches
tContact.ContactTitlec=,>=,>,<>,<=,<,begins,can-do,matches
tContact.LastModifiedDatet=,>=,>,<>,<=,<
tContact.LastModifiedTimei=,>=,>,<>,<=,<
tContact.LastModifiedUserc=,>=,>,<>,<=,<,begins,can-do,matches
tLng.LngCodec=,>=,>,<>,<=,<,begins,can-do,matches
tLng.LngDescriptionc=,>=,>,<>,<=,<,begins,can-do,matches


Parameters (internal)


iiAddressIdinteger


query condition


  each Contact where
Contact.Address_ID = iiAddressId

      first Lng (inner-join) where
Lng.Lng_ID = Contact.Lng_ID AND


query resultset tqContactByAddress


field namedata typedb fielddescription
tiAddress_IDintegerContact.Address_IDLink to Address
tiBusinessRelation_IDintegerContact.BusinessRelation_IDLink to BusinessRelation
tiContact_IDintegerContact.Contact_IDRecord ID
tcContactEmailcharacterContact.ContactEmailE-mail. The E-Mail address of the contact.
This field can be blank.
tcContactFaxcharacterContact.ContactFaxFax. The fax or telex number to use when sending documents to the contact.
This field can be blank.
tcContactFunctioncharacterContact.ContactFunctionFunction. The function of the contact to the address.
This field can be blank.
tcContactGendercharacterContact.ContactGenderGender. indicates whether the contact is male or femail.
This field is mandatory
tcContactInitialscharacterContact.ContactInitialsInitials. The initials of the contact.
This field can be blank.
tlContactIsPrimarylogicalContact.ContactIsPrimaryPrimary Contact. This field indicates if the contact is the primary contact of the address.
Only one primary contact per address type is allowed.
api annotation:PartialUpdate = yes - defaults to false
tlContactIsSecondarylogicalContact.ContactIsSecondarySecondary Contact. This field indicates if the contact is the primary contact of the address.
Only one secondary contact per address type is allowed.
api annotation:PartialUpdate = yes - defaults to false
tcContactMobilePhonecharacterContact.ContactMobilePhoneMobile. The mobile phone number of the contact.
This field can be blank.
tcContactNamecharacterContact.ContactNameName. The full name of the contact.
This field is mandatory.
tcContactTelephonecharacterContact.ContactTelephoneTelephone. The telephone number of the contact.
This field can be blank.
tcContactTitlecharacterContact.ContactTitleTitle. Title of the contact.
This field can be blank.
tcCustomCombo0characterContact.CustomCombo0Custom Combo Field
tcCustomCombo1characterContact.CustomCombo1Custom Combo Field
tcCustomCombo2characterContact.CustomCombo2Custom Combo Field
tcCustomCombo3characterContact.CustomCombo3Custom Combo Field
tcCustomCombo4characterContact.CustomCombo4Custom Combo Field
tcCustomCombo5characterContact.CustomCombo5Custom Combo Field
tcCustomCombo6characterContact.CustomCombo6Custom Combo Field
tcCustomCombo7characterContact.CustomCombo7Custom Combo Field
tcCustomCombo8characterContact.CustomCombo8Custom Combo Field
tcCustomCombo9characterContact.CustomCombo9Custom Combo Field
ttCustomDate0dateContact.CustomDate0Custom Date Field
ttCustomDate1dateContact.CustomDate1Custom Date Field
ttCustomDate2dateContact.CustomDate2Custom Date Field
ttCustomDate3dateContact.CustomDate3Custom Date Field
ttCustomDate4dateContact.CustomDate4Custom Date Field
tdCustomDecimal0decimalContact.CustomDecimal0Custom Decimal Field
tdCustomDecimal1decimalContact.CustomDecimal1Custom Decimal Field
tdCustomDecimal2decimalContact.CustomDecimal2Custom Decimal Field
tdCustomDecimal3decimalContact.CustomDecimal3Custom Decimal Field
tdCustomDecimal4decimalContact.CustomDecimal4Custom Decimal Field
tiCustomInteger0integerContact.CustomInteger0Custom Integer Field
tiCustomInteger1integerContact.CustomInteger1Custom Integer Field
tiCustomInteger2integerContact.CustomInteger2Custom Integer Field
tiCustomInteger3integerContact.CustomInteger3Custom Integer Field
tiCustomInteger4integerContact.CustomInteger4Custom Integer Field
tcCustomLong0characterContact.CustomLong0Custom Long Field
tcCustomLong1characterContact.CustomLong1Custom Long Field
tcCustomNotecharacterContact.CustomNoteCustom Note Field
tcCustomShort0characterContact.CustomShort0Custom Short Field
tcCustomShort1characterContact.CustomShort1Custom Short Field
tcCustomShort2characterContact.CustomShort2Custom Short Field
tcCustomShort3characterContact.CustomShort3Custom Short Field
tcCustomShort4characterContact.CustomShort4Custom Short Field
tcCustomShort5characterContact.CustomShort5Custom Short Field
tcCustomShort6characterContact.CustomShort6Custom Short Field
tcCustomShort7characterContact.CustomShort7Custom Short Field
tcCustomShort8characterContact.CustomShort8Custom Short Field
tcCustomShort9characterContact.CustomShort9Custom Short Field
ttLastModifiedDatedateContact.LastModifiedDateLast Modified Date
tiLastModifiedTimeintegerContact.LastModifiedTimeLast Modified Time
tcLastModifiedUsercharacterContact.LastModifiedUserLast Modified User
tiLng_IDintegerLng.Lng_IDRecord ID
tcLngCodecharacterLng.LngCodeLanguage Code
tcLngDescriptioncharacterLng.LngDescriptionDescription
ContactCustomcharactercalculatedcustom fields
LngCustomcharactercalculatedcustom fields
ti_sequenceintegercalculatedprimary index
tc_rowidcharactercalculated = rowid(Contact),rowid(Lng)


Internal usage


QadFinancials
method BBusinessRelation.ApiLoadBusinessRelation
method BBusinessRelation.GetContactByAddress
method BCreditorReport.CreditorAccountsHistory
method BCreditorReport.CreditorAgeingABackwards
method BCreditorReport.CreditorAgeingAnalysisCurrent
method BCreditorReport.CreditorOpenItems
method BDebtorEndUser.ApiLoadDebtorEndUser
method BDebtorEndUser.ApiStdMaintainTT
method BDebtorEndUser.Calculate
method BDebtorReport.DebtorAccountsHistoryDet
method BDebtorReport.DebtorAgeingAnalysisCurrent
method BDebtorReport.DebtorOpenItemsQuick
method BDebtorShipTo.ApiLoadDebtorShipTo
method BDebtorShipTo.Calculate
method BMfgAddress.ApiGetDockAddress
method BMfgAddress.ApiGetHeadOfficeAddress
method BMfgAddress.ApiReplicateFromFinancialsCreditor
method BMfgAddress.ApiReplicateFromFinancialsDebtor
method BMfgAddress.ApiReplicateFromFinancialsEndUSer
method BMfgAddress.ApiReplicateFromFinancialsShipTo
method BMfgAddress.MapMfgAddressData
method BMfgAddress.UpdateMfgData
method BMfgEmployee.ApiReplicateFromFinancials
method BMfgEmployee.UpdateMfgData
method BMfgEndUser.ApiReplicateFromFinancials
method BMfgEndUser.UpdateMfgData


Sample code: how to call this query through RPCRequestService (QXtend Inbound)

define temp-table ttContext no-undo
    field propertyQualifier as character
    field propertyName as character
    field propertyValue as character
    index entityContext is primary unique
        propertyQualifier
        propertyName
    index propertyQualifier
        propertyQualifier.

define dataset dsContext for ttContext.

define variable vhContextDS as handle no-undo.
define variable vhExceptionDS as handle no-undo.
define variable vhServer as handle no-undo.
define variable vhInputDS as handle no-undo.
define variable vhInputOutputDS as handle no-undo.
define variable vhOutputDS as handle no-undo.
define variable vhParameter as handle no-undo.

/* Create context */
create ttContext.
assign ttContext.propertyName = "programName"
       ttContext.propertyValue = "BBusinessRelation".
create ttContext.
assign ttContext.propertyName = "methodName"
       ttContext.propertyValue = "ContactByAddress".
create ttContext.
assign ttContext.propertyName = "applicationId"
       ttContext.propertyValue = "fin".
create ttContext.
assign ttContext.propertyName = "entity"
       ttContext.propertyValue = "1000".
create ttContext.
assign ttContext.propertyName = "userName"
       ttContext.propertyValue = "mfg".
create ttContext.
assign ttContext.propertyName = "password"
       ttContext.propertyValue = "".

/* Create input dataset */
create dataset vhInputDS.
vhInputDS:read-xmlschema("file", "xml/bbusinessrelation.contactbyaddress.i.xsd", ?).
vhParameter = vhInputDS:get-buffer-handle("tParameterI").
vhParameter:buffer-create().

assign vhParameter::icRange = "A"
       vhParameter::icRowid = ""
       vhParameter::iiRownum = 0
       vhParameter::iiNumber = 5 /* Number of records to read */
       vhParameter::icSortColumns = ""
       vhParameter::ilCountOnly = false
       vhParameter::ilForwardRead = true
       vhParameter::iiMaximumBrowseRecordsToCount = 0.

vhParameter = vhInputDS:get-buffer-handle("tFilter").
vhParameter:buffer-create().

assign vhParameter::<field-name-1> = <field-value-1>
       vhParameter::<field-name-2> = <field-value-2>
       ...

/* Connect the AppServer */
create server vhServer.
vhServer:connect("-URL <appserver-url>").

if not vhServer:connected()
then do:
    message "Could not connect AppServer" view-as alert-box error title "Error".
    return.
end.

/* Run */
assign vhContextDS = dataset dsContext:handle.

run program/rpcrequestservice.p on vhServer
    (input-output dataset-handle vhContextDS by-reference,
           output dataset-handle vhExceptionDS,
     input        dataset-handle vhInputDS by-reference,
     input-output dataset-handle vhInputOutputDS by-reference,
           output dataset-handle vhOutputDS).

/* Handle output however you want, in this example, we dump it to xml */
if valid-handle(vhExceptionDS)
then vhExceptionDS:write-xml("file", "Exceptions.xml", true).

if valid-handle(vhOutputDS)
then vhOutputDS:write-xml("file", "Output.xml", true).

/* Cleanup */
vhServer:disconnect().
assign vhServer = ?.

if valid-handle(vhInputDS)
then delete object vhInputDS.

if valid-handle(vhOutputDS)
then delete object vhOutputDS.

if valid-handle(vhExceptionDS)
then delete object vhExceptionDS.