Here is a program that removes highlights from a source member.
I use an input primary file. If you know the record you want to change,
just chain by that number. I don't think you can do an "update" on an
internally defined file (I could be wrong). Use Except or the cycle.
HTH,
Craig
OVRDBF FILE(SOURCE) TOFILE(&LIB/&FILE) MBR(&MBR)
FSource UP F 132 DISK
DHi c X'22'
D X S 3 0
ISource NS 01
I 1 132 SrcDta
/free
SrcDta = %xlate(Hi:' ':SrcDta);
/End-Free
OSource D 01
O SrcDta 132
-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx
[mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Antonio
Fernandez-Vicenti
Sent: Tuesday, February 26, 2008 12:15 PM
To: Midrange Systems Technical Discussion
Subject: Re: Updating a program described file
Tim, let me point something about your code:
- you mention "I can read the file (qclsrc) member without issue", so I
assume you do an OVRDBF prior to executing your program to point to the
proper member.
- you are using a "program described file", so I believe there's NO NEED
AT ALL to redifine record name to make its name different from file
name... (some people told you to do so, but not needed in my opinion).
- you coded your file as "F QCLSRC UF F 92
DISK"
This, is NOT correct, I believe. "UF" means "update Full
procedural", which (since there NO Key (K in some column I don't recall
by heart between the 92 and "Disk" ) implies you HAVE TO ACCESS record
via CHAIN op.code by record number..., and there's no Chain in your code!!!
I don't know how many records your FTP script has, but guess at least
you'll have one for the Login, another for the Password, etc.
Is your "DELETE" record always in same record number? Let's say, the
fourth...?
Then you should change your "READ" line for a line with say, " 4
CHAIN QCLRSC +indicatorXX in for NOT-found
Make sure the NOT-found indicator is OFF, or your "update" will fail!!!
HTH,
Antonio
----------------------------------------------------------------------------
----------------------
Tim Gornall escribió:
I have an FTP script source member that I need to update dynamically.
Basically I am attempting to update a source physical file member from
within RPGLE. I can read the file (qclsrc) member without issue, but can't
get it to compile with update logic. I've tried a bunch of different
things, too much to put in this text. Here is an example of my code. Does
anyone have an example? Thanks, Tim
FQCLSRC UF F 92 DISK
IQCLSRC AA 01
I 1 92 SrcDta
*
C *entry plist
C parm filename 24
*
C read QCLSRC
*
C eval SrcDta = 'delete ' + filename
C update qclsrc
*
C eval *inlr = *on
*
As an Amazon Associate we earn from qualifying purchases.