I kept reading the docs and I can't find this.
I need to have some users Active and others Inactive.
Can I use _Users._Disabled for that?
Would it be safe?
We use OpenEdge 11.6.3, Windows 2016 server, Windows 8.1 and 10 workstations.
Thanks in advance
We also support Oracle and SQL databases thru the DataServer products so have limited use for the _user table and have always had our own user table.
This knowledge base article indicates that 'metaschema' fields are reserved for Progress' use. Metaschema being the wider name for any system table or view starting with an underscore. The _user-misc field can be appropriated for custom use.
This however conflicts with another knowledge base article indicating that the only active fields are:
_Userid
_Password
_TenantId
_Domain-name
_sql-only-user
Although it is, along with other 'inactive' fields returned by the OpenEdge.Security.Provider.UserTableAuthProvider.
So I would tend to say, use it.
Related
Our former security admin team off-boarded terminated users by deleting their user profiles from the system. We have changed that policy but there is potential for duplicates. I am attempting to find user ids on the various module tables that are not on the OPRDEFN but having no luck.
I would like to query the major tables to return a list of all user ids to compare to the current OPRDEFN. From there, I can either have them added or create a reference list the admins to use prior to creating a new user id.
Does anyone have any tips or already written SQL? I am not the best SQL writer, I've tried several different things but nothings works.
Any help would be greatly appreciated.
Here you have a list of tables using the OPRID field. I have already formatted it in a way you can just run the result to get the Oprids.
Also, consider other columns like OPERATOR
SELECT 'SELECT DISTINCT OPRID FROM PS_'||RECNAME||';' FROM PSRECDEFN WHERE RECTYPE=0
AND RECNAME IN
(SELECT RECNAME FROM PSRECFIELD WHERE FIELDNAME IN ('OPRID','OPERATOR'))
AND RECNAME NOT LIKE '%AET'
AND RECNAME NOT LIKE '%TMP'
Also, you may just look at PSACCESSLOG, it will show you when someone access, so you may save time by querying it only
I tried reading the Progress knowledge base for FIND CURRENT statement. It didn’t help much. Can anyone tell me what does FIND CURRENT statement do and why/in which locking scenarios we use it? Also, it would be really helpful if it can be explained with the simple example. Note: Any example using the Sports database, which is not shown in the knowledge base. I implemented the below code, but it doesn’t seems to reach the CURRENT-CHANGED statement when I compile the procedure ( I’m using the DB I’ve created with the logical name “Personal”).
Thank you.
FIND FIRST personal WHERE personal firstNAME = "Ganesh" EXCLUSIVE-LOCK.
UPDATE personal.
FIND CURRENT personal EXCLUSIVE-LOCK.
UPDATE personal
IF CURRENT-CHANGED personal THEN DO:
MESSAGE "Record is changed"
VIEW-AS ALERT-BOX INFORMATION BUTTONS OK
DISPLAY personal.
END
Your code example is not compilable as it stands. You seem to be confusing database name "personal" with a table name and then specifying a field name with a space between the table name and the field name. Or something like that.
Normally you do not have any need to specify the database name in your code. One case when you might wish to do that is if you are connected to multiple databases with identically named tables - but that isn't your situation. If you were to be doing that the correct syntax to use is:
dbname.tablename.fieldname
One situation when you might use FIND CURRENT is when you think that other users might be changing the data while you are reviewing it in a NO-LOCK status.
Another case might be to use FIND CURRENT if you want to upgrade the lock without having to specify the WHERE clause all over again (the example below is very simple so hardly worth saving the effort but you could have something a lot more complex).
For instance:
find customer no-lock where customer.custNum = 1.
display customer.custName.
pause.
/* if you try to update the name at this point you will fail because the record is not locked */
find current customer exclusive-lock. /* upgrade from no-lock to an exclusive-lock */
if current-changed customer = false then
update customer.custName.
else
do:
message "someone else changed things while you were reviewing the record :(".
end.
This is also explained here:
https://docs.progress.com/bundle/openedge-abl-reference-117/page/CURRENT-CHANGED-function.html
In the sample above, I don't see a lot of value in FIND CURRENT. You're locking the record exclusively in the first FIND. And since you have the record locked, no other user can change the record.
Generally FIND CURRENT has two purposes: Changing the lock status, e.g. from NO-LOCK or SHARE-LOCK to EXCLUSIVE-LOCK in case you don't know straight away that you need the lock.
And for a record that was accessed with FIND NO-LOCK initially, FIND CURRENT allows to refresh the record in case another user has changed it.
How can I read a people picker field and query AD to load additional fields related to the person in the field. Example: Employee Name; load information want to load email address, phone number. the InfoPath form is being used with Nintex Workflow and SharePoint 2010.
I have searched and have not been able to find answer.
Thanks
D
Unfortunately I don't have enough reputation points yet to leave a comment, but your question really doesn't provide enough detail. So any answer provided is going to be based on assumptions. You don't even clarify what version of InfoPath you're using.
That said, a good place to start is to create a data connection to receive data. You'll need to select the web service option and will then need to enter in the web server address. The address will probably be in the following format:
http://yourservernamehere/_vti_bin/userprofileservice.asmx?wsdl
Replace yourservernamehere with the address of your SharePoint server. Then, you'll need to select GetUserProfileByName as the operation you need. Just keep on clicking next and then finish to complete the connection.
You will then have to view the data source within InfoPath to see what fields are available and map the ones you want to the fields you want prepopulated on your form.
All this is based on my own assumptions, so I can't guarantee it will work in your scenario. Happy to assist if you still need help and are able to provide more details.
To autocomplete you can use your e-mail or phone number fields, with a new action rule. This is due to people picker fields not allowing any action rules applied to them.
The web service option mentioned in another answer unfortunately no longer works in SharePoint Online. Please use a data connection the hidden User Information List located on the stem of your SharePoint site instead.
Condition:
Use the condition DisplayName is not blank by using "Select a field or group..." in advanced view and selecting your people pickers DisplayName field
Actions:
Set a field's value
Field: User Information List data connection queryFields DisplayName of people picker
Value: your forms DisplayName of people picker
Query using a data connection: User Information List data connection
Set a field's value
Field: your forms email or phone number field
Value: data fields > Work_email / Work_phone of your data connection
I just started to do a development in JD Edwards Enterprise One.
I bump to seems simple things but I couldn't found how to do it, that is how to retrieve the value of the field (either after selecting from table or business view).
for e.g:
F0005.Select
now if I want to retrieve the value of DL01 and assign it to evt_myVar, what should I do?
note: What I am talking above is in creating the NER (Business Function)
Any info or hint to find the solution is really appreaciated.
Thanks.
If you have indexes of it, you can use the 'Fetch Single'.
When you use the 'Select', it always uses it with 'Fetch Next'.
You can retrieve and assign the value by Operation.
Does anyone have some code or a link as to how to create the user login name as a parameter during a sql query in ASP.NET?
Basically I want to use the default membership structure with a new field ClubID, then I want to add a new table called aspnet_Clubs which contains things such as Club Name, stadium name, Balance etc etc... and then use a relationship between ClubID and a field in the aspnet_Clubs table to tie things together.
Then when each user logs in they should see the clubs information specific to their loginID.
I know the syntax to use for the query, its getting the loginname parameter and being able to use/assign it as part of the search that is causing me the problem.
In general it is not recommended to break the default schema of the aspnetdb where the Membership data is stored. It can bring you to unexpected consequences in the future.
I had a similar question a couple of days ago, please check it here, may be you will be able to adopt something from the discussion to your situation.