Library List Equivalent

Nitin_Doshi

Member
Hi everyone,

I am the first time user of this forum. I was quite impressed with the
questions / answers.

We are currently running JDE World and project for migration to OneWorld Xe
is under way.

I have a question to find out equivalent solution for one of our existing
solution in World / AS/400.

Currently we manipulate AS/400 library list (add/remove) for accessing same
database in different library.

Let's say we have two libraries library A and library B. Both libraries
have JDE database F0010(JDE Company Profile). We have a business reason for
using different F0010 from library A or B depending on user selection. The
way we have achieved is as follows:

When user logs in, F0010 in library A is used. When user selects a
particular option on the menu, library B is added to library list at the
top. So JDE program uses F0010 in library B rather than library A. When
that user goes back to the menu, library B is removed from library list. So
F0010 in library A is used.

If I wanted to achieve the same in OneWorld Xe, is there any way ?

I am aware that we can manipulate with user group. But that solution is not
possible for us because our requirement is user option selection depending
rather than user ID dependent.

Any help will be much appreciated.

We will implement Xe, SQL 2000 on Intel platform.

Regards

Nitin Doshi.
 
Hi Nitin,

At first, You Are Welcome!

In reponse to your issue:
I am affraid, there isn't any equivalent solution in XE (and generally in OnWorld).

You can change table location(s) with OCM mappings (Object Configuration Manager) instead of Library Lists.
OCM mappings are cached at log-on time and further changes have no effect until you restart OW.
To handle two different F0101 generally in OW needs two Environments and you can select between them it only at log-on time.

If your mentioned need is not a general need in OW but only in some limited place for some limited functionality then could be a solution to develope a new application using HANDLEs for Table I/O where you can change environments. I do not want to detail this way because I suppose it isn't really a solution for you, am I right?

Regards,
Zoltán

B7332 SP11, ESU 4116422, Intel NT4, SQL 7 SP1
(working with B7321, B7331, XE too)
 
Zoltan,

A similar issue was brought up with our implementation team this past week.

In our legacy(Pre XE) JDE installation we have a heavily modded P4210. We
are carrying over the mods into XE ~ but we only want one group of the
business to interact with the heavily modded app... while the rest of the
company uses a more pristine P4210. YES, it is ugly.

There were several discussion on how to place the app so one set of users
would hit the pristine and another set would hit the modded. We still
haven't resolved the issue. I am currently working on the modded ~ using
P554210 as the name, not P4210(pristine).

Does anyone know of a systematic approach to a resolution... I have several
programmatic solutions ~ but system wide solutions are, sometimes, easier to
maintain. If it was as easy as applying library lists to a Windows
environment ~ this would be a synch. But, we live in a gates-aware
One-World...

Opinions, suggestions and whatever's are always welcome.

Daniel Bohner
[email protected]
www.existinglight.net

or

Daniel Bohner
Simplot Corporate Information Systems
Pioneer Building
Boise, ID
(208)332-0613 desk phone
(208)250-1917 personal cell
[email protected]
 
Re: RE: Library List Equivalent

Daniel,
I think your problem is hardly simmilar then the previous one :), using two version of an APPL and seeing different contents in a table.

Let me advise some observation, consideration and hints for you.

1.) Using copied P554210 appl:
P4210 is frequently effected by ESUs, so you have to discover and apply ESU changes manually when and where it is necessary.
APPLs calling P4210 won't know about your copied version unless you modify them too. (maybe it is not an issue for you)

From here your system configuration become important in the details "how to do it", mainly OW release (XE or pre-XE):

2.) Managing two versions of P4210 with the same name (just briefly some idea):
A.) Create a new empty path code and store your modified P4210 there. Check-Out/Get it to the workstations where you want to use it (workstation dependecy instead of User dependency)

B.) Duplicate your Path Code, and store the modified P4210 in the newly created one. Copy the Environment too and change only the Path Code.
Grant the new environment to the Users who have to use the modified P4210. Flexible solution: beside User dependency you can grant the choice of the selection at logon time too (Of course, only on multi Path Code workstations). This solution requires extra storage place on the workstations as well as on the deployment server.

C.) Start with A.). Swap modified P4210 temporarily into the original path code. Build an update package from P4210. Restore original P4210 in the Path Code. Install the update package where you want to use this one.

Hopefully, some of the above written could be interesting for you.

Zoltán
P.S.: Next time please, attach your system configuration informations too and keep this your good habit in all of your subsequent posts too. Thanks.


B7332 SP11, ESU 4116422, Intel NT4, SQL 7 SP1
(working with B7321, B7331, XE too)
 
Re: RE: Library List Equivalent

With regard to copying applications such as P4210, there are other problems apart from ESU's and calls from other apps. Watch out for hard-coding of program names in Master Business Functions to retrieve processing options. Search for P4312 in 'xt4312z1.c' for an example...

a way around this is to maintain processing options for the old programs which are actually being used for your new apps.

tom brown
 
Zoltan,

Thank you for your reply.

I understand that I can achieve this using different table location. You also mentioned that OCM mappings are cached at the login time. Is there any way we can manipulate the OCM mapping cache to point OW to table in different location ?

Thank you for your help.

Regards

Nitin.
 
Nitin,

I haven't known any worked-around solution how to manipulate the OCM mapping cache.
My only suggestioun is the following:

Search for business functions in your OL/OMW filtering for *OCM* in the description field. I have done it on B7331 and XE and I have got 7 entries (I will copy them to the end of this post). The name of most of them is very interesting.

Try to Check-Out/Get them and examine them what and how do they do. Unfortunatley any of them has attachment but 3 of 7 is NER BSFN.
Maybe this way you can figure out a solution for you.

Please, let us know your results anyway. Thanks.
======================================================================
Function Name Source Module Description
ClearOCMCache B9800208 Clear OCM Cache
FetchUBEMapping N98305 Fetch UBE Mapping from OCM
ModifyOCMRepForRemoteLoc B9800952 Modify OCM Replication for remote locations
ModifyPlannerOCMMappings N9800953 Modify Planner OCM Mappings
SetServerOCM B9861101 Set Server OCM
UpdateOCMDataSource N9200010 Update OCM Data Source For OL Tables
VerifyOCM B9861120 Verify OCM
======================================================================
Good luck for knowledge mining,
Zoltán


B7332 SP11, ESU 4116422, Intel NT4, SQL 7 SP1
(working with B7321, B7331, XE too)
 
This is in response to the problem of multiple companies in the same path
code each requiring a different modification level in a given program.

We have a similar problem and are attempting to resolve it in the following
manner.
The original program (say P4210) has an if statement in the form
initialization to check based on user profile for a value in a file
(retrieve a company code or something like that) and then based on the
retrieve value call a new application (P554210) passing all the required
form interconnect values and then exit the application when P554210 exits.
This seems to be working for us (so far).

I have a new problem in that the versions over the original program (P4210)
have processing options that I want to be able to access in the new
application (P554210) but I have no way of retrieving them. I do know the
version name (it gets passed to the new program form the old program) but
have no way to retrieve the processing options after the application has
started. Does anyone know how to retrieve the processing options used in
program A while you are in program B?


B7333 (XE)
SP 14.2
Coexistant (AS400 database)



William C. Godfrey, BBA
Senior Programmer Analyst
 
Re: RE: Library List Equivalent

Hi Bill,
Here are 1 question + 1 hint for versions + 1 hint for alternative solution.

1.) What are you doing with ESUs? How do you apply them against the copied P554210 appl? I know, P4210 is often effected by ESUs.

2.) Proc Opt issue. What about to create paralell versions for P4210 and P554210 with the same name and PO settings. You can retrieve the current version name as "SL VersionName" system literal in P4210 and you can call the same version of P554210 through your form interconnect. For example create GBILL001 version for both appl with the same PO settings and pass the SL VersionName value in the Version Name parameter of the form interconnect. Do not let you to be deluded because Version Name field is grayed out on the Form Interconnect panel. Just click in the field and select SL VersionName from the left pane.

3.) Why don't you put your logic and other differences into the single P4210 using If/Else where it is approriate? I suppose, it isn't much more complicated than managing a copied and changed P554210.

I would like to read your reply,

Zoltán

B7332 SP11, ESU 4116422, Intel NT4, SQL 7 SP1
(working with B7321, B7331, XE too)
 
RE: RE: Library List Equivalent

Zoltan:
Thank you for your response. See answers to your questions below.

William C. Godfrey, BBA
Senior Programmer Analyst
Information Technology Division
J. D. Irving, Limited
Email: [email protected]
Coexistance on AS400 V4R4
B7333 (XE)
SP 14.2


[Godfrey, Bill] As was the problem in World software our thought is
that we will manually apply the ESU or remove our custom object and re-apply
our modifications or not apply the ESU if we do not want it to the
customized objects. (allows lots of choices).
Out goal is to only modify programs as little as possible.

[Godfrey, Bill] I realize that on the form interconnect if you do
not fill in the version option it will pass in to the called application the
version that was used by the original application and with that it is
possible to automatically retrieve the processing options for the new
application with the old version name (provided one exists). My desire
would be to retrieve the processing options for the original application
(via a business function so it could be conditional) to save the problem of
trying to enforce the rule that if you create a version on the original
application you must create a version with the same name on the new
application(s).
Is it possible to copy versions (processing options) from
one application to another without re-keying the versions? The application
I am currently looking at has over 50 versions set up now. On that one I
have found a work around however I am thinking of the next one that I may
have to modify that I cannot as easily work around it.

[Godfrey, Bill] That would be fine if we only had one set of
modifications to worry about. However with several companies in different
industries the requirements for the modifications are varied and the logic
to be added with if statements etc would become very cumbersome.
 
RE: RE: Library List Equivalent

Zoltan:
This is what you wrote and my asweres. The first time I sent this
it did not include your questions.



Hi Bill,
Here are 1 question + 1 hint for versions + 1 hint for alternative
solution.

1.) What are you doing with ESUs? How do you apply them against the
copied P554210 appl? I know, P4210 is often effected by ESUs.
[Godfrey, Bill] As was the problem in World software our thought is
that we will manually apply the ESU or remove our custom object and re-apply
our modifications or not apply the ESU if we do not want it to the
customized objects. (allows lots of choices).
Out goal is to only modify programs as little as possible.

2.) Proc Opt issue. What about to create paralell versions for P4210
and P554210 with the same name and PO settings. You can retrieve the current
version name as "SL VersionName" system literal in P4210 and you can call
the same version of P554210 through your form interconnect. For example
create GBILL001 version for both appl with the same PO settings and pass the
SL VersionName value in the Version Name parameter of the form interconnect.
Do not let you to be deluded because Version Name field is grayed out on the
Form Interconnect panel. Just click in the field and select SL VersionName
from the left pane.
[Godfrey, Bill] I realize that on the form interconnect if you do
not fill in the version option it will pass in to the called application the
version that was used by the original application and with that it is
possible to automatically retrieve the processing options for the new
application with the old version name (provided one exists). My desire
would be to retrieve the processing options for the original application
(via a business function so it could be conditional) to save the problem of
trying to enforce the rule that if you create a version on the original
application you must create a version with the same name on the new
application(s).
Is it possible to copy versions (processing options) from
one application to another without re-keying the versions? The application
I am currently looking at has over 50 versions set up now. On that one I
have found a work around however I am thinking of the next one that I may
have to modify that I cannot as easily work around it.

3.) Why don't you put your logic and other differences into the
single P4210 using If/Else where it is approriate? I suppose, it isn't much
more complicated than managing a copied and changed P554210.
[Godfrey, Bill] That would be fine if we only had one set of
modifications to worry about. However with several companies in different
industries the requirements for the modifications are varied and the logic
to be added with if statements etc would become very cumbersome.

I would like to read your reply,

Zoltán

B7332 SP11, ESU 4116422, Intel NT4, SQL 7 SP1
(working with B7321, B7331, XE too)



William C. Godfrey, BBA
Senior Programmer Analyst
Information Technology Division
J. D. Irving, Limited
Bus: (506) 863-6092
Fax: (506) 858-7787
Email: [email protected]
 
Re: RE: RE: Library List Equivalent

Hi Bill,
About version copy.
Do you use the same Processing Option data structure in the copied application or also a copied one?
If you use the same (the original) then you can try to copy the version record(s) in F983051 just to change name in the Progam ID (PID) field.
If it works then you can easy create a custom appl to accomplish this task or add this functionality to your Work With Interactive Versions (P983051/W983051I) ;-) as a Row Exit and enable it only on the P4210 application.

I am very curious to could it work or not, so please let us know if you have tried it. Thanks.

Good luck,
Zoltán

B7332 SP11, ESU 4116422, Intel NT4, SQL 7 SP1
(working with B7321, B7331, XE too)
 
Back
Top