project QadFinancials > class BDebtor > API query DebtorByAddressByType


query filter (table tFilter)


tcBusinessFieldNametcDataTypetcOperator
iiCompanyIdi
icAddressTypec=
iiDebtorIdi=
tAddress.AddressCityc=,>=,>,<>,<=,<,begins,can-do,matches
tAddress.AddressEMailc=,>=,>,<>,<=,<,begins,can-do,matches
tAddress.AddressFaxc=,>=,>,<>,<=,<,begins,can-do,matches
tAddress.AddressIsTaxablel=,<>
tAddress.AddressIsTemporaryl=,<>
tAddress.AddressNamec=,>=,>,<>,<=,<,begins,can-do,matches
tAddress.AddressSearchNamec=,>=,>,<>,<=,<,begins,can-do,matches
tAddress.AddressStreet1c=,>=,>,<>,<=,<,begins,can-do,matches
tAddress.AddressStreet2c=,>=,>,<>,<=,<,begins,can-do,matches
tAddress.AddressStreet3c=,>=,>,<>,<=,<,begins,can-do,matches
tAddress.AddressTelephonec=,>=,>,<>,<=,<,begins,can-do,matches
tAddressType.AddressTypeCodec=,>=,>,<>,<=,<,begins,can-do,matches
tAddress.AddressWebSitec=,>=,>,<>,<=,<,begins,can-do,matches
tAddress.AddressZipc=,>=,>,<>,<=,<,begins,can-do,matches
tBusinessRelation.BusinessRelationCodec=,>=,>,<>,<=,<,begins,can-do,matches
tCountry.CountryCodec=,>=,>,<>,<=,<,begins,can-do,matches
tCountry.CountryDescriptionc=,>=,>,<>,<=,<,begins,can-do,matches
tCounty.CountyCodec=,>=,>,<>,<=,<,begins,can-do,matches
tCounty.CountyDescriptionc=,>=,>,<>,<=,<,begins,can-do,matches
tDebtor.DebtorCodec=,>=,>,<>,<=,<,begins,can-do,matches
tLng.LngCodec=,>=,>,<>,<=,<,begins,can-do,matches
tState.StateCodec=,>=,>,<>,<=,<,begins,can-do,matches
tState.StateDescriptionc=,>=,>,<>,<=,<,begins,can-do,matches


Parameters (internal)


iiCompanyIdintegerCompany id
icAddressTypecharacterAddress type of the addresses that need to be selected
iiDebtorIdintegerDebtor for which the address information is needed.


query condition


  each Debtor where
Debtor.SharedSet_Id = vi_DEBTOR_sharedset(iiCompanyId) AND
Debtor.Debtor_ID = iiDebtorId

      first BusinessRelation (inner-join) where
BusinessRelation.BusinessRelation_ID = Debtor.BusinessRelation_ID AND

          each Address (inner-join) where
Address.BusinessRelation_ID = BusinessRelation.BusinessRelation_ID AND

              first AddressType (inner-join) where
AddressType.AddressType_ID = Address.AddressType_ID AND
AddressType.AddressTypeCode = icAddressType

              first Country (inner-join) where
Country.Country_ID = Address.Country_ID AND

              first County (outer-join) where
County.County_ID = Address.County_ID AND

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

              first State (outer-join) where
State.State_ID = Address.State_ID AND


query resultset tqDebtorByAddressByType


field namedata typedb fielddescription
tiAddress_IDintegerAddress.Address_IDRecord ID
tcAddressCitycharacterAddress.AddressCityCity. The city for this address. This field can be used to decide the tax zone of the address.
tcAddressEMailcharacterAddress.AddressEMailE-Mail. This field indicates the e-mail address associated with this business relation.
This field can be blank.
tcAddressFaxcharacterAddress.AddressFaxFax. This field indicates the fax or telex number to use when sending documents to this address.
This field can be balnk.
tlAddressIsTaxablelogicalAddress.AddressIsTaxableTaxable Address. This field indicates if business activities for this address are normally subject to tax.
The taxable status of the address defaults to transactions where the address is used.
api annotation:PartialUpdate = yes - defaults to false.
tlAddressIsTemporarylogicalAddress.AddressIsTemporaryTemporary. If the type of this address is ship-to or dock, this field indicates if the address is temporary.
This field is for reference and can be useful for sorting and filtering records.
api annotation:PartialUpdate = yes - defaults to false.
tcAddressNamecharacterAddress.AddressNameName. The full name of this particular address.
The name of a headoffice address is the same as the name of the business relationship and can not be modified.
api annotation:PartialUpdate = yes - defaults to the name of the businessRelation.
tcAddressSearchNamecharacterAddress.AddressSearchNameSearch Name. An alternate name for finding this address.
The searchname of a headoffice address is the same as the business relationship and can not be modified.
api annotation:PartialUpdate = yes - defaults to the searchname of the businessRelation.
tcAddressStreet1characterAddress.AddressStreet1Address: Line one of address details.
This field can be blank.
tcAddressStreet2characterAddress.AddressStreet2Address.Line two of address details.
This field can be blank.
tcAddressStreet3characterAddress.AddressStreet3Address.Line three of address details.
This field can be blank.
tcAddressTelephonecharacterAddress.AddressTelephoneTelephone. The telephone number for calling this business relation address.
This field can be blank.
tiAddressType_IDintegerAddress.AddressType_IDAddress Type
tcAddressTypeCodecharacterAddressType.AddressTypeCodeAddress Type
tcAddressWebSitecharacterAddress.AddressWebSiteInternet. This field indicates the Web site of this business relation.
This field can be blank.
tcAddressZipcharacterAddress.AddressZipZip. The postal code or US zip code associated with this address.
This field is used to decide the tax zone for the address.
This field can be blank.
tiBusinessRelation_IDintegerBusinessRelation.BusinessRelation_IDRecord ID
tcBusinessRelationCodecharacterBusinessRelation.BusinessRelationCodeBusiness Relation. A code to identify the business relation.
If this field does not have a input from the user, the system automatically generates a number for the record based on the sequence defined in Business Relation Autonumber Create.
tiCountry_IDintegerCountry.Country_IDRecord ID
tcCountryCodecharacterCountry.CountryCodeCountry Code
tcCountryDescriptioncharacterCountry.CountryDescriptionDescription
tiCounty_IDintegerCounty.County_IDRecord ID
tcCountyCodecharacterCounty.CountyCodeCounty Code
tcCountyDescriptioncharacterCounty.CountyDescriptionDescription
tiDebtor_IDintegerDebtor.Debtor_IDRecord ID
tcDebtorCodecharacterDebtor.DebtorCodeA code (maximum eight characters) that identifies a customer. If the code you specify matches an existing supplier code, a warning message displays. You can choose to ignore the warning, and create the record. However, when a supplier and customer share the same code, they must reference the same business relation.
api annotation:If you leave the Customer Code field blank, the system automatically generates a number for the record based on the sequence defined in Customer Autonumber Create.
tcLngCodecharacterLng.LngCodeLanguage Code
tiState_IDintegerState.State_IDRecord ID
tcStateCodecharacterState.StateCodeState
tcStateDescriptioncharacterState.StateDescriptionDescription
DebtorCustomcharactercalculatedcustom fields
BusinessRelationCustomcharactercalculatedcustom fields
AddressCustomcharactercalculatedcustom fields
CountryCustomcharactercalculatedcustom fields
CountyCustomcharactercalculatedcustom fields
StateCustomcharactercalculatedcustom fields
LngCustomcharactercalculatedcustom fields
AddressTypeCustomcharactercalculatedcustom fields
ti_sequenceintegercalculatedprimary index
tc_rowidcharactercalculated = rowid(Debtor),rowid(BusinessRelation),rowid(Address),rowid(AddressType),rowid(Country),rowid(County),rowid(Lng),rowid(State)


Internal usage


unused


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 = "BDebtor".
create ttContext.
assign ttContext.propertyName = "methodName"
       ttContext.propertyValue = "DebtorByAddressByType".
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/bdebtor.debtorbyaddressbytype.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.