P_TH_ADDRESS

DDL: P_TH_ADDRESS SQL: PTHIAVADDRESS Type: view COMPOSITE Package: GLO_FIN_IS_VAT_TH

Thailand Address determine

P_TH_ADDRESS is a Composite CDS View that provides data about "Thailand Address determine" in SAP S/4HANA. It reads from 1 data source (I_Address_2) and exposes 25 fields with key fields AddressID, AddressPersonID, AddressRepresentationCode. Part of development package GLO_FIN_IS_VAT_TH.

Data Sources (1)

SourceAliasJoin Type
I_Address_2 Address from

Annotations (10)

NameValueLevelField
AbapCatalog.sqlViewName PTHIAVADDRESS view
AbapCatalog.preserveKey true view
VDM.private true view
VDM.viewType #COMPOSITE view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #NOT_REQUIRED view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.dataClass #MIXED view

Fields (25)

KeyFieldSource TableSource FieldDescription
KEY AddressID I_Address_2 AddressID
KEY AddressPersonID I_Address_2 AddressPersonID
KEY AddressRepresentationCode I_Address_2 AddressRepresentationCode
OrganizationName1endasOrganizationName1
OrganizationName2endasOrganizationName2
OrganizationName3endasOrganizationName3
OrganizationName3endasOrganizationName4
OrganizationName411endasTaxPayerName
DistrictNameendasDistrictName
VillageNameendasVillageName
PostalCodeendasPostalCode
StreetendasStreet
StreetNameendasStreetName
StreetPrefixName1endasStreetPrefixName1
StreetPrefixName2endasStreetPrefixName2
StreetSuffixName1endasStreetSuffixName1
StreetSuffixName2endasStreetSuffixName2
HouseNumberendasHouseNumber
BuildingendasBuilding
FloorendasFloor
RoomNumberendasRoomNumber
CountryendasCountry
RegionendasRegion
RegionNameendendasCityName
AddressCreatedByUser I_Address_2 AddressCreatedByUser
@AbapCatalog.sqlViewName: 'PTHIAVADDRESS'
@AbapCatalog.preserveKey: true
@VDM.private: true
@VDM.viewType: #COMPOSITE
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.dataClass: #MIXED
define view P_TH_ADDRESS
  as select from           I_Address_2 as Address
    left outer to one join I_Address_2 as I_Address on  Address.AddressID                   = I_Address.AddressID
                                                    and Address.AddressPersonID             = I_Address.AddressPersonID
                                                    and I_Address.AddressRepresentationCode = 'T'
{
  key Address.AddressID,
  key Address.AddressPersonID,
  key Address.AddressRepresentationCode,
      case
      when I_Address.AddressID is not initial
      then I_Address.OrganizationName1
      else Address.OrganizationName1
      end                                 as OrganizationName1,
      case
      when I_Address.AddressID is not initial then
      I_Address.OrganizationName2
      else Address.OrganizationName2
      end                                 as OrganizationName2,

      case
      when I_Address.AddressID is not initial then
      I_Address.OrganizationName3
      else  Address.OrganizationName3
      end                                 as OrganizationName3,
      case
      when I_Address.AddressID is not initial then
      I_Address.OrganizationName4
      else Address.OrganizationName3
      end                                 as OrganizationName4,

      case
      when I_Address.AddressID is not initial
      then concat_with_space(concat_with_space(I_Address.OrganizationName1,I_Address.OrganizationName2, 1),
      concat_with_space(I_Address.OrganizationName3,I_Address.OrganizationName4, 1), 1 )
      else
      concat_with_space(concat_with_space(Address.OrganizationName1,Address.OrganizationName2, 1),
      concat_with_space(Address.OrganizationName3,Address.OrganizationName4, 1), 1)
      end                                 as TaxPayerName,

      case when I_Address.AddressID is not initial then
      I_Address.DistrictName
      else Address.DistrictName
      end                                 as DistrictName,
      case when I_Address.AddressID is not initial then
            I_Address.VillageName
            else
             Address.VillageName
             end                          as VillageName,
      case when I_Address.AddressID is not initial then
           I_Address.PostalCode
           else Address.PostalCode
           end                            as PostalCode,

      case when I_Address.AddressID is not initial then
      I_Address.Street
      else
       Address.Street
       end                                as Street,
      case when I_Address.AddressID is not initial then
      I_Address.StreetName
      else Address.StreetName
      end                                 as StreetName,
      case when I_Address.AddressID is not initial then
            I_Address.StreetPrefixName1
            else   Address.StreetPrefixName1
            end                           as StreetPrefixName1,
      case when I_Address.AddressID is not initial then
      I_Address.StreetPrefixName2
      else  Address.StreetPrefixName2 end as StreetPrefixName2,
      
      case when I_Address.AddressID is not initial then
            I_Address.StreetSuffixName1
            else   Address.StreetSuffixName1
            end                           as StreetSuffixName1,


      case when I_Address.AddressID is not initial then
            I_Address.StreetSuffixName2
            else   Address.StreetSuffixName2
            end                           as StreetSuffixName2,

      case when I_Address.AddressID is not initial then I_Address.HouseNumber
           else Address.HouseNumber
           end                            as HouseNumber,

      case when I_Address.AddressID is not initial then I_Address.Building
           else Address.Building
           end                            as Building,

      case when I_Address.AddressID is not initial then I_Address.Floor
           else Address.Floor
           end                            as Floor,

      case when I_Address.AddressID is not initial then I_Address.RoomNumber
           else Address.RoomNumber
           end                            as RoomNumber,

      case when I_Address.AddressID is not initial then I_Address.Country
           else Address.Country
           end                            as Country,

      case when I_Address.AddressID is not initial then I_Address.Region
           else Address.Region
           end                            as Region,
      case
      when I_Address.AddressID is not initial
      then
        case
        when I_Address.CityName is not initial
        then I_Address.CityName
        else I_Address._Region._RegionText[1:Language = '2'].RegionName
        end
      else
        case
        when Address.CityName is not initial
        then Address.CityName
        else Address._Region._RegionText[1:Language = 'E'].RegionName
        end
      end                                 as CityName,
      //      Address.Region,


      @Semantics.user.createdBy: true
      Address.AddressCreatedByUser,
      case when  Address._CurrentDfltLandlinePhoneNmbr.PhoneAreaCodeSubscriberNumber!= '' then  Address._CurrentDfltLandlinePhoneNmbr.PhoneAreaCodeSubscriberNumber
           when Address._CurrentDfltMobilePhoneNumber.PhoneAreaCodeSubscriberNumber!= '' then  Address._CurrentDfltMobilePhoneNumber.PhoneAreaCodeSubscriberNumber
           else '' end                    as PhoneNumber
}
where
  Address.AddressRepresentationCode is initial