FWIW:
As an APL programmer back in the day, I learned that short and symbolic
came at a steep price in clarity.
So I strive to take full advantage of R:BASE's practically-unlimited
object naming ability to make just about everything I can
"self-documenting".
Yes, that makes for more typing up front; but coming back to
troubleshoot code is no longer the terror it used to be.
Bruce Chitiea
SafeSectors, Inc.
909.238.9012 Mobile
------ Original Message ------
Sent: 8/7/2017 8:25:35 PM
Subject: RE: [RBASE-L] - Version 10 - dotted vs. ampersand variables
From: "Claudine Robbins" <[email protected]>
To: "[email protected]" <[email protected]>
Cc:
Buddy,
Truth be told I messed up big time. I’m going blind looking at these
variables… I used vlading where the variable name is vlad… My apologies
for leading you astray.
Now, everything is working fine.
Thank you very much,
Claudine
From:[email protected] [mailto:[email protected]] On
Behalf Of Buddy Walker
Sent: Monday, August 07, 2017 7:35 PM
To:[email protected]
Subject: RE: [RBASE-L] - Version 10 - dotted vs. ampersand variables
Claudine
I would add ‘INT’ before the (vlading) when building your variable
SET VAR vValue = (.vValue + ', INT(' + ('.Vlading' +(CTXT(.VCOUNT)))+’)’
)
I think I have the it added in (RED) the right spot
Buddy
From:[email protected] [mailto:[email protected]] On
Behalf Of Claudine Robbins
Sent: Monday, August 7, 2017 8:03 PM
To:[email protected]
Subject: RE: [RBASE-L] - Version 10 - dotted vs. ampersand variables
Trying to figure this out on my own. I tried one field at a time and
all load fine until I reach vlading. All text fields total 667
characters. Am I running up against a size limit of some kind?
From:[email protected] [mailto:[email protected]] On
Behalf Of Claudine Robbins
Sent: Monday, August 07, 2017 6:17 PM
To:[email protected]
Subject: RE: [RBASE-L] - Version 10 - dotted vs. ampersand variables
Oh, it helps a lot. And what a beautiful thing it is when code works as
expected!
One problem remains however, on the last field loaded I get an error 122
that LOADLADING needs to be TEXT. Except for vamt which is currency,
the variables and the temp table column are text so I’m stumped. This
is my code:
SET VAR vValue TEXT
SET VAR vValue = ('.VDTG'+(CTXT(.VCOUNT)))
SET VAR vValue = (.vValue + ',' + ('.Vcar'+(CTXT(.VCOUNT))) )
SET VAR vValue = (.vValue + ',' + ('.Vwb'+(CTXT(.VCOUNT))) )
SET VAR vValue = (.vValue + ',' + ('.Vamt'+(CTXT(.VCOUNT))) )
SET VAR vValue = (.vValue + ',' + ('.Vorigin'+(CTXT(.VCOUNT))) )
SET VAR vValue = (.vValue + ',' + ('.Vdestin'+(CTXT(.VCOUNT))) )
SET VAR vValue = (.vValue + ',' + ('.Vlading' +(CTXT(.VCOUNT))) )
INSERT INTO comparecontrast
(LOADDTGSPLIT,LOADCARNAME,LOADWB,CARAMT,LOADORIGIN,LOADDESTIN,LOADLADING)
VALUES &vValue
vValue = .VDTG1,.Vcar1,.Vwb1,.Vamt1,.Vo TEXT
rigin1,.Vdestin1,.Vlading1
Vlad1 = LOAD FROM SEABOARD-CORPUS: TEXT
[1] 5-1/8" X 15 MANUAL VALVE,
BOLTS, RING GASKETS ***
-----Original Message-----
From: [email protected] [mailto:[email protected]] On
Behalf Of Claudine Robbins
Sent: Sunday, August 06, 2017 10:39 PM
To: [email protected]
Subject: Re: [RBASE-L] - Version 10 - dotted vs. ampersand variables
Razzak,
Well I can't wait to try it tomorrow! I actually also have several
values to load into my temp table...
Thank you very much.
Claudine
Sent from my iPhone
On Aug 6, 2017, at 8:23 PM, A. Razzak Memon <[email protected]> wrote:
Claudine,
The timing of your post couldn't have been better.
Yes, you can!
In your specific case ...
You will have to create an additional variable to build the string which
is the "values" part of the insert.
When you finally go to use that variable, use the "&" prefix instead of
the "." prefix.
Here is the key part of an example from one of my application ...
-- Predefined variables and logic is defined here ...
SET VAR vValue TEXT
WHILE vWorkingOn <> vLFNFileCount THEN
SET VAR vWorkingOn = (.vWorkingOn + 1)
SELECT (MAX(External_File_ID)+1) INTO vExternal_File_ID INDIC iv1 FROM
External_Files
-- Build the string with needed file names
set var vValue = ('(' + '.vExternal_File_ID')
set var vValue = (.vValue + ',' + '.vLFNFileNameS' +
CTXT(.vWorkingOn))
set var vValue = (.vValue + ',' + '.vLFNFileExt'+(CTXT(.vWorkingOn)))
set var vValue = (.vValue + ',' +
'.vLFNFileDateTime'+(CTXT(.vWorkingOn)))
set var vValue = (.vValue + ',' + '.vLFNFileSize'+(CTXT(.vWorkingOn)))
set var vValue = (.vValue + ',' + '.vLFNFilePath'+(CTXT(.vWorkingOn))
+ ')')
-- Now use this string for the value part of the insert
INSERT INTO External_Files +
(External_File_ID, +
External_File_Name, +
External_File_Extension, +
External_File_DateTime, +
External_File_Size, +
External_File_Original_Path) +
VALUES +
&vValue
ENDWHILE
RETURN
Hope that helps!
Very Best R:egards,
Razzak
At 09:05 PM 8/6/2017, Claudine Robbins wrote:
> SET VAR VCOUNT = 1
> SET VAR yylading TEXT = ('Vlad'+(CTXT(.VCOUNT)))----vlad1 SET VAR
> &yylading TEXT = NULL-----same as vlad1 = NULL SELECT LADING INTO
> &yylading INDICATOR ivlad FROM orders WHERE (dtg+split) = .ventry
> R>sho v vlad1
> LOAD FROM SEABOARD-CORPUS:
> [1] 5-1/8" X 15 MANUAL VALVE,
> BOLTS, RING GASKETS ***
> LOAD FROM BASIC
> ENERGY-CORPUS: [1] 5-1/8" X
> 15 MANUAL VALVE, BOLTS, RING
> GASKETS
>
> I’m trying to do something which is NOT in the whitepaper dotted vs.
ampersand variables.
>
> I’m in a 4 count while loop, so as vcount is incremented field vlad
becomes vlad1, vlad2, vlad3, and vlad4.
>
> My select correctly acquires the lading value. Before I increment
vcount = (.vcount +1), I want to load vlad1 in a temporary table.
>
> INSERT INTO tempTBL VALUES (????). I’ve tried (&yylading), &yylading
(error), '&yylading',and '.yylading' . All I manage to get is
&yylading, .yylading or vlad1 but not the actual value contained in
vlad1.
>
> I don’t have any great hopes that this can be done but what the heck,
> I thought I’d ask anyway…
--
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].
For more options, visit https://groups.google.com/d/optout.
--
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].
For more options, visit https://groups.google.com/d/optout.
--
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].
For more options, visit https://groups.google.com/d/optout.
--
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].
For more options, visit https://groups.google.com/d/optout.
--
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].
For more options, visit https://groups.google.com/d/optout.
--
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].
For more options, visit https://groups.google.com/d/optout.
--
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].
For more options, visit https://groups.google.com/d/optout.