ddf_Address

This is our generic address function that we call into each report that needs an address block.

The goal here is RAD - Rapid Application Development. If we write a function once we blog it here... so it doesn't have to be written again.

Use it like this:

select
        h.sopnumbe,
        dbo.ddf_Address(h.CUSTNAME, SHIPTO.CNTCPRSN, SHIPTO.ADDRESS1, SHIPTO.ADDRESS2, SHIPTO.ADDRESS3, SHIPTO.CITY, SHIPTO.STATE, SHIPTO.ZIP) as address
    from sop10100 h
        join rm00102 SHIPTO on SHIPTO.custnmbr = h.custnmbr and SHIPTO.ADRSCODE = h.PRSTADCD

 

 

-- =============================================
-- all address fields formatted for an invoice
-- =============================================
 
IF EXISTS (SELECT *
       FROM   sysobjects
       WHERE  name = N'ddf_Address')
    DROP FUNCTION ddf_Address
GO
 
 
CREATE FUNCTION ddf_Address
    (@name  varchar(31),
    @contact varchar(30),
    @address1 varchar(31),@address2 varchar(31),@address3 varchar(31),@city varchar(31) ,
    @state varchar(29),@zip varchar(11))
 
 
--select dbo.ddf_Address (@name, @contact,@VchrLotNumber ,@vchrBuildingNumber,@vchrPhase,@vchrSubdivisionName ,@address1 ,@address2 ,@address3 ,@city,@state ,@zip)
 
Returns varchar(200)
 
AS
begin
    declare @out varchar(200)
    set @out = ''
 
    if @name > ''
        set @out = rtrim(@name) + char(13) + char(10)
 
    if @contact > ''
        set @out = @out + rtrim(@contact) + char(13) + char(10)
 
    if @address1 > ''
        set @out = @out + rtrim(@address1) + ' '
    if @address2 > ''
        set @out = @out + rtrim(@address2) + ' '
    if @address3 > ''
        set @out = @out + rtrim(@address3)
 
    set @out = @out + char(13) + char(10)
 
    if @city > ''
        set @out = @out + rtrim(@city) + ', '
    if @state > ''
        set @out = @out + rtrim(@state) + ' '
    if @zip > ''
        set @out = @out + rtrim(@zip) + ' '
 
    return (@out)
end
go
grant exec on ddf_Address to public
                       

 


RealWorldCode gives developers practical, real‑world solutions with clean, working code — no fluff, no theory, just answers.
Links
Home
Knowledge Areas
Sitemap
Contact
Et cetera
Privacy Policy
Terms and Conditions
Cookie Preferences