Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Topics - Peter.Higgins

#1
Is it possible to use the Client *IT with the WindX plugin.  I have substantial mods to my version that save much time on certain conversion tasks and do not want to install my IT version on client servers. 
#2
Server parameter in CALL "*web/sftp;receive" is confusing me somewhat. 
I recently implemented a client with Id/Password where the domain:port only worked as domain;port. (Delimiter = Semi-Colon)
The next client using a cert only works with domain:port.
Is there a way to know when to use a certain delimiter in the domain sent? 
#3
Language / Key function - Key Generate
December 05, 2022, 06:52:16 PM
The really useful part of this functions Key Generate is not having to enumerate alternate keys for padding. 
But it does not return a complete key padded for trailing empty fields in external key files as shown below. 
I haven't checked it yet against the internal files as empty trailing fields are less likely by design.
So enumeration of keys or hard coding padding data may still be necessary.
Wondering if I am missing something here? 
I would expect and prefer to mid/stp the result if a partial key was wanted.
Still on Version 1410. 

01 OPEN (1)"OP9002" ! External Prime key file, Key 3 is 4 Fields, 33 bytes - 20:7:2:4
02 cmd$="key(1,key=""00190579172397"":""5850720"":""  "":""    "",kno=3)"
03 x$=EVS(cmd$)
04 PRINT HTA(x$)
05 PRINT LEN(x$)
06 cmd$="key(1,key=""00190579172397"":""5850720"":"""":"""",kno=3)"
07 x$=EVS(cmd$)
08 PRINT HTA(x$)
09 PRINT LEN(x$)
10 cmd$="key(1,key=""00190579172397"":""5850720"",kno=3)"
11 x$=EVS(cmd$)
12 PRINT HTA(x$)
13 PRINT LEN(x$)
14 CLOSE (1)
15 END

-;run
303031393035373931373233393700000000000035383530373230202020202020
33
3030313930353739313732333937000000000000353835303732300000
29
303031393035373931373233393700000000000035383530373230
27
#4
Programming / Reverse or limit VER *
August 10, 2022, 05:29:54 PM
For a while we've been able to VER 2 for instance to get the date/Time/Version number of a program.  This has stopped working recently.  Since the system program count is set a 50, VER * is pretty much useless as it only shows the last 10 lines or so.  Is there a way to limit or reverse the list?
#5
Programming / Reverse or limit VER *
August 10, 2022, 05:28:40 PM
For a while we've been able to VER 2 for instance to get the date/Time/Version number of a program and it has stopped working in the last couple of weeks.  Since the program count is set a 50, VER * is pretty much useless as it only shows the last 10 lines or so.  Is there a way to limit or reverse the list?
#6
I use records frequently as object parameters and find the structure neither remains after the enter, or in a local variable.  So I must do the following in every method. Except I've found debugging that a variable of len 9 will not return data from a composite string although the structure is there. Note: I have not played with how long a variable still works.   Curious if I missed something in documentation,  if this is unusual  behavior, or just an object limitation?  version 2017 on Linux.

! Doesn't work
ENTER (FILEREC$),(FILEIOL$)
DIM AAARecord$:fileiol$
AAARecord$=FILEREC$
phone$=AAA.RoadsideAssistenceNumber$
? lst(iol(AAARecord$))  ! will show Structure. 
? str(AAA.RoadsideAssistenceNumber$:"xxx-xxx-xxxx")
   -   -   

! This works
ENTER (FILEREC$),(FILEIOL$)
DIM AAA$:fileiol$
AAA$=FILEREC$
phone$=AAA.RoadsideAssistenceNumber$
? str(phone$:"xxx-xxx-xxxx")
888-888-8888
#7
Programming / UNT & HFN returning -1
July 21, 2022, 03:27:27 PM
This is a new one in my experience.  I'm wondering why I am getting this from these two functions.  It is 5 levels into an object stack when the file handles appear to run out, but chn doesn't span more than 1 and half lines.  Same code has been running for a week with this object on thousands of imports for another project without this error occurring.
#8
Programming / *web/sftp directory delimiters
July 21, 2022, 01:30:50 PM
In a continuing battle to connect to a specific network I and being asked to add a trailing delimiter to the directory path.  This is stripped by the sftp program.  Is there a way to escape the final path delimiter.
#9
Programming / error handling in objects
July 17, 2022, 10:59:56 AM
If the goal is to capture the minor errors in an object create or a method, is there a way to use SETERR and do a proper return integer/string to the stack?  I am looking to save the errNumber and ErrMessage$ and suppress error processing from an escape err or exit err in the stack program so they can handle the error as required.  I can do this using TRY or EVN/EVS encapsulation but it would require extensive additions to every object method of which there are around 100 objects and unknown qty of methods and anticipating all possible errors is not likely.
#10
Programming / *web/sftp
July 11, 2022, 08:28:30 PM
At one location, CALL "*web/sftp;receive" returns the sporadic error below.  I have tried PO/OUT /PO/OUT ~/PO/OUT & /~/PO/OUT and still get the error a few times a day.  File: is the FilesToReceive variable sent.

*web/sftp;receive:Error: /~/PO/OUT not found on server.
File: /~/PO/OUT|B0

Is there a way to debug this?
#11
Language / "*web/ftp;send"
May 16, 2022, 03:47:30 PM
I have a password with $ special character and passing this as a argument doesn't work.
Any suggestions appreciated.
Tried adding single quotes around pswd and url encoding the $ but this doesn't work.
#12
Curious which is the best way to tackle the need to convert a EDI SAC code into one of 4 classification codes like frt or tax in an object.  This could be used 1 times to 2000 times per instantiation with the high occurring during peak load periods. 

I know Read Data with DATA lines is relatively "Old fashioned" but given the Standards in play and limited maintenance usage of the object it makes a lot of sense where as a maintenance file with FMs does not.

So considering DATA lines on instantiation writing to a memory file for a method, or a method with a switch case with @ 60 cases.  Which is better, or are there better ways?
PS: Since the switch only has 4 outputs, I have a version that has only 4 cases. 
#13
Programming / Passing Array{all} to an object in NEW()
November 22, 2021, 06:46:22 PM
I want to short cut opening a massive array structure in numerous objects by opening it in a main program and passing it via the new instantiation command as an parameter argument.  Thought I'd seen it here, but not finding it now.  Is it necessary to do this through a method or am I doing something wrong?  Getting sent to delete on an error 46 before the escape line immediately after on_create:  This is in Version 2017 so perhaps I'm pre versioning code?
Thanks for any help.
#14
Nomads / _PropList$
June 14, 2021, 01:35:21 PM
Looking for a way to reduce the color application overhead post grid load. 

Have considered Pseudo Multi-Properties and Multi-Property Access and feel the most maintainable way will be to set the basic four properties and assign any number of location colors in one shot rather than build a massive command string and massive value string.

grd'Row.Colno.BackColor.TextColor.$= (repeating string)
or
grd'_PropList$="Row,Colno,BackColor$,TextColor$"
grd'_PropValues$= (repeating string)

Wondering if this is currently possible or something that we could look forward to? 
#15
Nomads / Using %Nomads'Timeout for Dynamic Refresh
June 07, 2021, 07:30:55 PM
I have setup a panel to refresh based on a drop box selection and set %Nomads'Timeout in the drop box event.
In On_Exit I trapped the timeout and issue a reload.  At this point everything is great, but issuing a return just completes the panel shutdown.  Having done this in the past, I believe I am missing something simple and important like a preinput or resetting the %NOMADS'Timeout.  The latter doesn't work btw.
#16
Wish List / Key function addition
June 06, 2021, 07:20:37 PM
Key function allows a key string to be generated when explicitly stated:
SELECT .... FROM <fileno> BEGIN KEY(<fileno>, KEY=S1$:S2$:S3$)

It would be quite useful for this to also work indirectly as in: 
K$=KEY(<fileno>, KEY=str$,sep=$3E$)
where string is s1Value$:s2Value$:s3Value$

Currently I am building a string for the whole command and executing it to get the key from object parameters.
#17
Nomads / Object Dependency question
June 04, 2021, 05:10:25 PM
I have been using business logic objects that instantiate other objects "FOR OBJECT" .  As it is convenient, I occasionally make the internal object handles available as properties with SET ERR rather than opening two instances. 
Now I'm wondering if the shutdown of these objects used outside the container object might be responsible for the occasional segment fault I get in testing? 
#18
Nomads / Object dependency For Windows
June 03, 2021, 11:45:48 AM
I am curious if instantiating an object in the pre-display "FOR WINDOW" will garbage collect the object,  or if this must be done in POST-DISPLAY after window creation.   Thinking I've tested in v17 and it only worked in POST-DISPLAY.
#19
I've used Composite Strings & BBx® Templates in objects to keep record data separate for many years with SAGE and INFOR code.  I find  with pxplus Ver 2017 this does not work and guessing it may have only worked in the forked versions.

When a template or iolist is used to DIM the record variable's "Structure" it loads the record and explodes the internal IOLIST variables but not as record prefixed variables. I have tested this many ways without any change.
How can I keep different records with random matching field names separate in objects?

4760 dim AR1: "CUST_DIV:C(2),CUST_CODE:C(8)"
or
4760 dim AR1$:iol(AR1:*)

4770 READ DATA FROM objar1'readrecord$(shipto$),REC=ar1$ TO IOL=objar1'iolist$
or
4770 AR1$=objar1'readrecord$(shipto$)
3}?AR1.CUST_DIV$

3}?CUST_DIV$
00
#20
Language / Error handler Object handling.
January 14, 2021, 02:53:54 PM
Looking to add an object manager to programs and the error handler so it can drop them.

At first I thought *master might work, but not in *nix from the results I get. 

I also was thinking there was a newish object manager utility to keep object references in, but all I can find that is useful is the *obj/collection.pvc which leaves a lot of coding to implement everywhere else.

Am I missing one somewhere?