× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Charles,

But, what happens some developer does an "ALTER TABLE ..." on the base table to change the width of some column(s), or deletes some column(s)?

The "data structure" for that VIEW (record layout) is "locked in" to the *PGM at the time the program was compiled.   So, any changes that would affect the view and its "record layout" will NOT be immediately reflected, without recreating the VIEW and recompiling the program, as far as I can tell.

This whole approach seems to be a step backward, without the benefit of "level checking" that the OS normally provides, tossing out one of the main benefits of using SQL versus "native I/O" ... with SQL, a program normally depends only on the table names and column names, and how the host variables are defined -- there is not a dependency on the "record layout" -- but with a data structure, you are re-introducing this dependency.

Just saying ...

Mark S. Waterbury






On Tuesday, July 19, 2022 at 11:35:46 AM EDT, Charles Wilt <charles.wilt@xxxxxxxxx> wrote:





Easy to reuse the same set of columns...

You could use the view both for the DS and the UPDATE column list...

Charles



On Tue, Jul 19, 2022 at 8:28 AM Rob Berendt <rob@xxxxxxxxx> wrote:

Then what's the point of using a data structure in this case?

Rob Berendt
--
IBM Certified System Administrator - IBM i 6.1
Group Dekko
Dept 1600
Mail to:  7310 Innovation Blvd, Suite 104
          Ft. Wayne, IN 46818
Ship to:  7310 Innovation Blvd, Dock 9C
          Ft. Wayne, IN 46818
http://www.dekko.com

-----Original Message-----
From: MIDRANGE-L <midrange-l-bounces@xxxxxxxxxxxxxxxxxx> On Behalf Of
Charles Wilt
Sent: Tuesday, July 19, 2022 10:24 AM
To: Midrange Systems Technical Discussion <midrange-l@xxxxxxxxxxxxxxxxxx>
Subject: Re: Update a table from EXTNAME-defined data structure using
search argument

CAUTION: This email originated from outside of the organization. Do not
click links or open attachments unless you recognize the sender and know
the content is safe.


Some good points Rob...

But the work-a-round is the same as it should be for RPG RLA...  the DS
should not be defined using the physical table.  Instead, it should be a
view/LF with an explicit column list.

One of the advantages of SQL is that it allows you to disconnect the
physical layout of the data, but only if you use an explicit column list.

Charles

On Tue, Jul 19, 2022 at 7:40 AM Rob Berendt <rob@xxxxxxxxx> wrote:

You may want to rethink that.  Suppose you add derived columns, or those
which have default values.  Examples include some of the timestamp, job
user, etc columns used for temporal tables.  Do you really want to
manually
override these?  IDK if making these columns implicitly hidden would
remove
them from appearing in the data structure.

But if you're sure you want to do that then google is your friend
https://www.rpgpgm.com/2018/01/using-rpg-data-structures-with-sql.html



Rob Berendt
--
IBM Certified System Administrator - IBM i 6.1
Group Dekko
Dept 1600
Mail to:  7310 Innovation Blvd, Suite 104
          Ft. Wayne, IN 46818
Ship to:  7310 Innovation Blvd, Dock 9C
          Ft. Wayne, IN 46818
http://www.dekko.com

-----Original Message-----
From: MIDRANGE-L <midrange-l-bounces@xxxxxxxxxxxxxxxxxx> On Behalf Of
Alan Cassidy
Sent: Tuesday, July 19, 2022 9:30 AM
To: midrange-l@xxxxxxxxxxxxxxxxxx
Subject: Update a table from EXTNAME-defined data structure using search
argument

CAUTION: This email originated from outside of the organization. Do not
click links or open attachments unless you recognize the sender and know
the content is safe.


Good morning folks,

I am updating a file. I have an externally defined data structure
defined with EXTNAME().

I can't find a specific reference anywhere, but is there a syntax to use
that data structure to update the row in the table, like so, maybe?

UPDATE  TABLE1  SET TABLERECD = :TABLE-DS WHERE KEY1 = VALUE1 AND KEY2 =
VALUE2?

I have just seven fields to list out, and I'm doing that, but I just
wondered if there was a way to do the above (without having to input
with an update lock)?

Reason I'm asking is for the future, if I could set it up that way, it
would make it easier to add changes to other columns, and maybe other
thins.

--Alan Cassidy

--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
list
To post a message email: MIDRANGE-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: https://amazon.midrange.com

--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
list
To post a message email: MIDRANGE-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: https://amazon.midrange.com

--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: https://amazon.midrange.com
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: https://amazon.midrange.com


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.