project QadFinancials > class BDebtor > API query DebtorByDebtorBRIDCode


query filter (table tFilter)


tcBusinessFieldNametcDataTypetcOperator
iiCompanyIdi
iiDebtorIdi=
icDebtorCodec=
tAddressType.AddressTypeCodec=,>=,>,<>,<=,<,begins,can-do,matches
tBusinessRelation.BusinessRelationCodec=,>=,>,<>,<=,<,begins,can-do,matches
tContact.ContactEmailc=,>=,>,<>,<=,<,begins,can-do,matches
tContact.ContactFaxc=,>=,>,<>,<=,<,begins,can-do,matches
tContact.ContactIsPrimaryl=,<>
tContact.ContactIsSecondaryl=,<>
tContact.ContactNamec=,>=,>,<>,<=,<,begins,can-do,matches
tContact.ContactTelephonec=,>=,>,<>,<=,<,begins,can-do,matches
tContact.ContactTitlec=,>=,>,<>,<=,<,begins,can-do,matches
tCountry.CountryCodec=,>=,>,<>,<=,<,begins,can-do,matches
tCountry.CountryIsEUCountryl=,<>
tCurrency.CurrencyCodec=,>=,>,<>,<=,<,begins,can-do,matches
tDebtor.DebtorCodec=,>=,>,<>,<=,<,begins,can-do,matches
tDebtor.DebtorIsActivel=,<>
tDebtor.DebtorIsCheckAftDICredLiml=,<>
tDebtor.DebtorIsOverruleDICredLiml=,<>
tDebtor.DebtorTaxIDStatec=,>=,>,<>,<=,<,begins,can-do,matches
tPaymentCondition.PaymentConditionCodec=,>=,>,<>,<=,<,begins,can-do,matches
tProfile3.ProfileCodec=,>=,>,<>,<=,<,begins,can-do,matches
tProfile2.ProfileCodec=,>=,>,<>,<=,<,begins,can-do,matches
tProfile1.ProfileCodec=,>=,>,<>,<=,<,begins,can-do,matches
tReason.ReasonCodec=,>=,>,<>,<=,<,begins,can-do,matches
tDebtor.VatDeliveryTypec=,>=,>,<>,<=,<,begins,can-do,matches


Parameters (internal)


iiCompanyIdintegerCompany id
iiDebtorIdintegerDebtor ID
icDebtorCodecharacterCustomer Code


query condition


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

      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

              each Contact (outer-join) where
Contact.Address_ID = Address.Address_ID AND

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

                  first Currency (inner-join) where
Currency.Currency_ID = Country.Currency_ID AND

      first PaymentCondition (inner-join) where
PaymentCondition.PaymentCondition_ID = Debtor.NormalPaymentCondition_ID AND

      first Profile1 (inner-join) where
Profile1.Profile_ID = Debtor.InvControlGLProfile_ID AND

      first Profile2 (inner-join) where
Profile2.Profile_ID = Debtor.CnControlGLProfile_ID AND

      first Profile3 (inner-join) where
Profile3.Profile_ID = Debtor.SalesAccountGLProfile_ID AND

      first Reason (inner-join) where
Reason.Reason_ID = Debtor.Reason_ID AND


query resultset tqDebtorByDebtorBRIDCode


field namedata typedb fielddescription
tcAddressTypeCodecharacterAddressType.AddressTypeCodeAddress Type
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.
tiCnControlGLProfile_IDintegerDebtor.CnControlGLProfile_IDControl GL Profile (Credit Note)
tcCnControlGLProfileCodecharacterProfile2.ProfileCodeA code (maximum 20 characters) that identifies a profile.
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.
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
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.
tcCountryCodecharacterCountry.CountryCodeCountry Code
tlCountryIsEUCountrylogicalCountry.CountryIsEUCountryEU Member
tcCurrencyCodecharacterCurrency.CurrencyCodeCurrency Code
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.
tlDebtorIsActivelogicalDebtor.DebtorIsActiveIndicate if this is an active record.
api annotation:Value for this field defaults to false.
tlDebtorIsCheckAftDICredLimlogicalDebtor.DebtorIsCheckAftDICredLimIndicate whether to perform the credit check when saving a new or modified invoice and include the new invoice amount in the total.
api annotation:Value for this field defaults to false.
tlDebtorIsOverruleDICredLimlogicalDebtor.DebtorIsOverruleDICredLimIndicate whether to allow users to enter invoice transactions for a customer when the customer’s credit limit is exceeded.
api annotation:Value for this field defaults to false.
tcDebtorTaxIDStatecharacterDebtor.DebtorTaxIDStateState Tax- For reference and documentation purposes, enter either a state or provincial tax identification number or a VAT registration number.
api annotation:Value for the field defaults to null.
tiInvControlGLProfile_IDintegerDebtor.InvControlGLProfile_IDControl GL Profile (Invoice)
tcInvControlGLProfileCodecharacterProfile1.ProfileCodeA code (maximum 20 characters) that identifies a profile.
tiNormalPaymentCondition_IDintegerDebtor.NormalPaymentCondition_IDCredit Terms Code
tcNormalPaymentConditionCodecharacterPaymentCondition.PaymentConditionCodeCredit Terms Code
tiReason_IDintegerDebtor.Reason_IDInvoice Status Code
tcReasonCodecharacterReason.ReasonCodeInvoice Status Code
tiSalesAccountGLProfile_IDintegerDebtor.SalesAccountGLProfile_IDSales Account GL Profile
tcSalesAccountGLProfileCodecharacterProfile3.ProfileCodeA code (maximum 20 characters) that identifies a profile.
tiSharedSet_IDintegerDebtor.SharedSet_IDLink to SharedSet
tcVatDeliveryTypecharacterDebtor.VatDeliveryTypeTax Nature. Legacy field from the Soft Cell version of the product. This field is now replaced by the GTM tax field.
DebtorCustomcharactercalculatedcustom fields
BusinessRelationCustomcharactercalculatedcustom fields
AddressTypeCustomcharactercalculatedcustom fields
ContactCustomcharactercalculatedcustom fields
CountryCustomcharactercalculatedcustom fields
CurrencyCustomcharactercalculatedcustom fields
PaymentConditionCustomcharactercalculatedcustom fields
Profile1Customcharactercalculatedcustom fields
Profile2Customcharactercalculatedcustom fields
Profile3Customcharactercalculatedcustom fields
ReasonCustomcharactercalculatedcustom fields
ti_sequenceintegercalculatedprimary index
tc_rowidcharactercalculated = rowid(Debtor),rowid(BusinessRelation),rowid(Address),rowid(AddressType),rowid(Contact),rowid(Country),rowid(Currency),rowid(PaymentCondition),rowid(Profile1),rowid(Profile2),rowid(Profile3),rowid(Reason)


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 = "DebtorByDebtorBRIDCode".
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.debtorbydebtorbridcode.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.