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.