Wednesday, November 9, 2011

The Quintessential Fake Check-out technique

Won’t I be doomed if I ever forget this technique of faking a check out for the developer. In a scenario where a object has been modified without checking it out and
there is no save location available we can perform a fake checkout by following the simple steps below:
1. Open the Object with its Designer Tool in OMW
2. Check-Out the object in OMW.
3. Save the object in its Designer Tool.
…. light flash!! fake check-out is done.

SQL to find Out all the active users in the system

Execute the following SQL command to get all the active users with a particular role (ABCD)
select distinct SCUSER NT_ID, ABALPH UserName
from sys7334.F0092 a, sys7334.f98owsec b, devdta.F0101 c
where a.ULUSER = b.SCUSER
and a.ULUSER = c.ABALKY
and a.ULUGRP like ‘%ABCD%’
and b.SCEUSER = ’01′
and c.ABAT1 = ‘E’
and b.SCUSER not in
(‘JDEXYZ’, ‘JDE’, ‘AFPCRPMON’);

Search for an application when you know what it does…

For newcomers into JDE CNC there are times when we forget the P***** name of an application that we want to use. For instance you are creating a new user in the system and now want to add the Role to the ID. Alas!! newsflash, you just can not remember the name of the application or the menu link to execute it. What a hopeless situation, which warrants asking for some help.  Well rather than picking the phone up and calling here’s what else can be done:
  1. Go to fastpath and type IV [Interactive Version]
  2. In the screen that appears open up the Visual Assist
  3. In the QBE for Description type %Role%  and hit find
  4. There you see the bright light flash. P95921 comes right in the list :)
As you search for an application in IV you can similarly search for a UBE in BV or a Table in the UTB visual assist.

Things to remember will be that search behaves differently for different databases in JDE. For Instance if you have a MS SQL DB and you search for say a user name in P01012 , it will be case-sensitive when you search in the Alpha Name field but the case wont matter if you have an Oracle DB.  :) I tried to clear one confusion but created another !!! Well that’s life… and the challenge of the unknown….

Windows Tricks

Contrary to the popular belief that E812 is the biggest user base of Oracle and no one uses XE or ERP8 any more, a lot of us work with clients who have  considerable investments in the good old versions of XE and ERP 8. Working with these versions means a CNC is constantly challenged by maintenance of Fat clients.
Imagine your self working to set up a new user and finding out that the admin access is missing and you need to add the user up. But the local policy denies you access to Computer management . Typical CNC day right :) Here is what you can do:
  • net local group Administrators domain\username /add
The user will get added to the local admin group and you can finish ur work and leave :)
Another important command with net is “net use”. It helps you to map the deployment server share to the user’s pc with the help of any id that you know has access to the share
  • net use * //depservername\ver /user: domainname\userid /persistent: no

SQL that gives all the details of all the tables…

SELECT TDOBNM, –Table Name
(Select SIMD From OBJ7334.F9860 Where SIOBNM = TDOBNM AND SIFUNO = ‘TBLE’)
Table_Description, –TableDescription
TDSQLC, –Column Name
(Select FRDSCR From DD7334.F9202 Where FRDTAI = TDOBND AND FRSYR = ‘ ‘)
Column_Description, –Column Description
(Select DRDL01 From DD7334.F9210, F0005 Where FRDTAI = TDOBND AND LTRIM(RTRIM(FROWTP)) = LTRIM(RTRIM(DRKY)) AND DRSY = ‘H98′ AND DRRT = ‘DT’)
Column_Type, — Column Type (JDE)
(Select FRDTAS From DD7334.F9210 Where FRDTAI = TDOBND)
Column_Length, — Column Length (JDE)
(Select FROWDI From DD7334.F9210 Where FRDTAI = TDOBND)
DD_Item, — Data Dictionary Item
(Select FROWER From DD7334.F9210 Where FRDTAI = TDOBND)
Edit_Rule, — Edit (Validation) Rule
(Select FROER1 From DD7334.F9210 Where FRDTAI = TDOBND)
Edit_Rule_Parm1, — Edit Rule Parameter 1
(Select FROER2 From DD7334.F9210 Where FRDTAI = TDOBND)
Edit_Rule_Parm2, — Edit Rule Parameter 2
TDPSEQ — Column Number
FROM DV7334.F98711 WHERE TDOBNM Like ‘F09%’ ORDER BY TDOBNM, TDPSEQ

Scheduler Server Jobs Status Update Issue with Oracle Database

The scheduler kernel uses the *Scheduler record in F91300 to know what machine is running the Scheduler Service. With the machine name, then finds in F98611 the Logical Datasource for that machine
and uses the value in the Database Name as the Server Map datasource for the bootstrap tables.

When the database is other than Oracle (hence ODBC), the Database Name field value coincides with the naming convention of Datasources for OneWorld/E1 (i.e ENTSERVER – B7334 Server Map).
But if the database is Oracle, the Database Name is the ORACLE DB name (i.e. OWERP8, which does not exist as a ‘Server Map’ datasource in F986110 for the Server).

Manually create a logical datasource that is a copy of the Server Map datasource by following the instructions below:

1. Sign into EnterpriseOne.

2. Run the “Database Data Sources” application (P986115).

3. Select the “ServerName – B7333 Server Map” from the “Machine Search & Select” form.

4. Make sure that the value of the “Data Source Use” search field of the “Work With Data Sources” form is set to “DB”. Then, click on the Find button.

5. Search for “ServerName – B7333 Server Map” data source in the grid. When you have found the data source in the grid, hightlight it and click on the Copy button of the “Work With Data Sources” form.

6. For the name the new database datasource, use the name of the Oracle database that appears in the JDB9900245 error message. Do not change any other fields on the “Data Source Revisions” form.

7. Click on the OK button of the “Data Source Revisions” form to save the new database datasource.

8. Exit out of OneWorld.

9. Restart the EnterpriseOne services for the change to take effect.

Corrupt Scheduler Server Record..

When JDE scheduler hangs up for certain reasons and none of the schedule jobs look like they will be executed, its very tempting to restart the scheduler server from the P91300 application. But remember in JDE there is a concept which states that just because an option is there it doesn’t necessarily mean that it will work (Product Packaging anybody!!!).
If you try to stop and start the scheduler server from the P91300 application, it corrupts the *Scheduler record in the system.f91300 table.
To start the scheduler server again stop the jde services, update the SJSCHUSER column with the security server port number for the setup and restart JDE services again.