Get GSTN from Custinvoice transactions

 private Taxregistrationnumber_IN CompGSTNumberNew(CustInvoiceJour _custInvoiceJour)

    {
        LogisticsEntityPostalAddressView        postalAddressView;
        CompanyInfo                             companyInfo;
        TaxInformation_IN                       taxInformation;
        TaxRegistrationNumbers_IN               TaxRegistrationNumbers_IN;
        DimensionAttributeValueSet              DimensionAttributeValueSet;
        DimensionAttributeValueSetItem          DimensionAttributeValueSetItem;
        DimensionAttributeValue                 DimensionAttributeValue;
        DimensionAttribute                      DimensionAttribute;
        CustInvoiceJour                         custInvoiceJourLocal;
        OMOperatingUnit                         omOperatingUnit;
        RecId                                   OmRecid;
        LogisticsPostalAddress                  LogisticsPostalAddress;

        while select DefaultDimension from custInvoiceJourLocal
            where custInvoiceJourLocal.RecId == _custInvoicejour.RecId
    join RecId from DimensionAttributeValueSet
            where  DimensionAttributeValueSet.RecId == custInvoicejourlocal.DefaultDimension
    join RecId, DisplayValue from DimensionAttributeValueSetItem
            where DimensionAttributeValueSetItem.DimensionAttributeValueSet == DimensionAttributeValueSet.RecId
    join RecId from DimensionAttributeValue
            where DimensionAttributeValue.RecId == DimensionAttributeValueSetItem.DimensionAttributeValue
    join RecId, Name from DimensionAttribute
            where DimensionAttribute.RecId == DimensionAttributeValue.DimensionAttribute
        {
            if(DimensionAttribute.Name  ==  "BusinessUnit")
            {
                Businessunit = DimensionAttributeValueSetItem.DisplayValue;

                if(CustTable::find(_custInvoiceJour.InvoiceAccount).AccountNum == 'SSL-D0001')
                {
                    BusinessUnit = "BG3";
                }
            }
        }

        companyInfo = CompanyInfo::find();

        select postalAddressView
        where postalAddressView.Entity  ==  companyInfo.RecId
           && postalAddressView.LocationName    ==  BusinessUnit;

        if(postalAddressView)
        {
            select taxInformation
                where taxInformation.RegistrationLocation   == postalAddressView.Location
                   && taxInformation.IsPrimary  == NoYes::Yes
            join TaxRegistrationNumbers_IN
                where TaxRegistrationNumbers_IN.RecId == taxInformation.GSTIN;

            return taxRegistrationNumbers_IN.RegistrationNumber;
        }
        return taxRegistrationNumbers_IN.RegistrationNumber;
    }

Comments