Starting from a LedgerJournalTrans line:
if (ledgerJournalTrans.AccountType == LedgerJournalACType::Cust)
{
if (CustTable::find(DimensionStorage::ledgerDimension2AccountNum(
ledgerJournalTrans.LedgerDimension)).partyType() == DirPartyType::Person)
{
........
}
}
So, the partyType() method from CustTable will do the job.
Now here is how i did it in Sql:
--DirPerson 2975, DirOrganization 2978, CompanyInfo 41, OMOperatingUnit 2377, OMTeam 5329
SELECT CASE (SELECT dpt.INSTANCERELATIONTYPE
FROM DIRPARTYTABLE AS dpt
WHERE dpt.RECID = ct.PARTY)
WHEN 2975 THEN 'Person'
WHEN 2978 THEN 'Organization'
END AS 'Party'
, ct.AccountNum
FROM CUSTTABLE AS ct
and in order to get only the persons, just add a cte over it:
WITH parties
AS
(
SELECT CASE (SELECT dpt.INSTANCERELATIONTYPE
FROM DIRPARTYTABLE AS dpt
WHERE dpt.RECID = ct.PARTY)
WHEN 2975 THEN 'Person'
WHEN 2978 THEN 'Organization'
END AS 'Party'
, ct.AccountNum
FROM CUSTTABLE AS ct
)
SELECT *
FROM parties p
WHERE p.Party = 'Person'
Niciun comentariu:
Trimiteți un comentariu