I use stored procedure to build address of varying lines:
[Begin SP]
*(sp_Addr mod 011505 mbyerley)
*(Use only 2 Ret VarNames vRetText and vRetInt)
*(Input Params should be of: pt1,pt2, for text pi1,pi2 for Int)
CLEAR VAR MICRORIM_RETURN, stp_return
SET VAR pt1 TEXT
SET VAR vcr = ((CHAR(13)) + (CHAR(10)))
SELECT mainname, address1, address2, city, statename, zipcode, zipplus +
INTO vspmainname IND vspin0, vrettextess1 IND vspin0, vrettextess2 IND 
vspin0, +
vspcity IND vspin0, vspstatename IND vspin0,vspzipcode IND vspin0, +
vspzipplus IND vspin0 +
FROM vwcontacts WHERE (cid = .pt1)

IF SQLCODE = 0 THEN
  SET VAR vrettext = .vspmainname
  IF vrettextess1 <> NULL OR (SLEN((STRIM(.vrettextess1)))) > 0 THEN
    SET VAR vrettext = (.vrettext + .vcr + .vrettextess1)
  ENDIF
  IF vrettextess2 <> NULL OR (SLEN((STRIM(.vrettextess2)))) > 0 THEN
    SET VAR vrettext = (.vrettext + .vcr + .vrettextess2)
  ENDIF
  IF vspcity <> NULL OR (SLEN((STRIM(.vspcity)))) > 0 THEN
    SET VAR vrettext = (.vrettext + .vcr + .vspcity)
  ENDIF
  IF vspstatename <> NULL OR (SLEN((STRIM(.vspstatename)))) > 0 THEN
    SET VAR vrettext = (.vrettext + ' ' + .vspstatename)
  ENDIF
  IF vspzipcode <> NULL OR (SLEN((STRIM(.vspzipcode)))) > 0 THEN
    SET VAR vrettext = (.vrettext + ' ' + .vspzipcode)
  ENDIF
  IF vspzipplus <> NULL OR (SLEN((STRIM(.vspzipplus)))) > 0 THEN
    SET VAR vrettext = (.vrettext + '-' + .vspzipplus)
  ENDIF
ELSE
  SET VAR vrettext = 'No Address Entry'
ENDIF

Clear Var pt1
CLEAR VAR vspin0,vspcity,vspstatename,vrettextess1,vrettextess2, +
vspmainname,vspzipcode,vspzipplus
RETURN .vrettext
[End SP]

On Sunday, January 21, 2024 at 8:31:31 PM UTC-5 Bruce Chitiea wrote:

> All:
> I need to concatenate mailing addresses with variable line counts, for 
> envelope printing. For example:
>
> Addressee
> StreetAddress
> CityStateZip
> or:
> Addressee
> Department
> Corporation
> StreetAddress
> CityStateZip
>
> A Report Variable is placed within the Page Header of a table-bound Report 
> to serve as the printing breakpoint.
>
> Simplified to focus just on line feeding[1] (ignoring the IFNULLing 
> required for variable line counts), the variable:
>
> *( Addressee + (CHAR(013)) + Department + (CHAR(013)) + Corporation + 
> (CHAR(013)) + StreetAddress + (CHAR(013)) + CityStateZip )*
>
> ... produces this string, exactly where the address should be, one per 
> envelope:
>
> *AddresseeStreetAddressCityStateZip*
> or:
> *AddresseeDepartmentCorporationStreetAddressCityStateZip*
>
>
> Thoughts? And thanks.
>
> Bruce A. Chitiea
> SafeSectors, Inc.
> 1142 S Diamond Bar Blvd # 442
> Diamond Bar CA 91765-2203
>
> [email protected] 
> (909) 238-9012 m
>
> [1] This has also been attempted with (CHAR(013)) + (CHAR(010)) . No 
> change.
>
>

-- 
For group guidelines, visit 
http://www.rbase.com/support/usersgroup_guidelines.php
--- 
You received this message because you are subscribed to the Google Groups 
"RBASE-L" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rbase-l/0f9bf06b-5b19-496e-be55-9f5ec4692979n%40googlegroups.com.

Reply via email to