Solved

Access multi membered file from Java

Posted on 2012-03-14
8
553 Views
Last Modified: 2012-03-21
Hi,

I am working on a file modification project which involves craeting a UI for a business team such that they are able to access the latest version of a multi membered physical file on the AS400. The UI is being written in JAVA. I am not too familiar with this and my involvement in the project is to help facilitate the backend needs.

Is there a way in Java that can help use a specific version (or the last version) of a multi membered file? We have used single membered PF's as SQL tables from the java code. We are trying to figure out how to do the same when there are more than 1 version.

Thanks
Ali
0
Comment
Question by:bhagatali
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
  • 2
  • +2
8 Comments
 
LVL 7

Accepted Solution

by:
gudii9 earned 300 total points
ID: 37720603
Here is interesting explanation, link
You can do this by creating an SQL Alias. Suppose that you have a physical file MYLIB/SALES with twelve members (one member for each month of the year). To access JANUARY, you must first create an alias with the following SQL command:

CREATE ALIAS MYLIB/SALES_JANUARY FOR MYLIB/SALES(JANUARY)

http://as400samplecode.blogspot.com/2011/09/java-access-multiple-member-physical.html
0
 
LVL 16

Assisted Solution

by:theo kouwenhoven
theo kouwenhoven earned 200 total points
ID: 37720635
Hi ALi,

You can make an Alias for a member:

CREATE ALIAS MyLib/MyAlias FOR MyLib/MyFile (Member1)

Use that alias in the rest of your SQL;

SELECT * FROM MyLib/MyAlias

If possibel, create the alias in QTEMP, so that not remain on disk  :-)

Successs
0
 
LVL 18

Expert Comment

by:daveslash
ID: 37720704
As the previous two posts point out, creating the alias in QTEMP is the best way to go. But, in case you need an alternative, you can also issue a CL command to override to the target member before running your SQL.

e.g.
OVRDBF FILE(MyTable) TOFILE(ACALIB/MyTable) MBR(TargetMbr)

HTH,
DaveSlash
0
Revamp Your Training Process

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action.

 

Author Comment

by:bhagatali
ID: 37720843
@Dave: I initially was thinking of the OVRDBF command too but I am not certain of will the override remain when I execute the SQL query on that file. We know how an override on AS400 remains for the duration of a job. From Java, with all the connections and AS400 object class that have to be created I was curious if the override would still be in effect.

@murphy and @gudii: thanks for the alias and QTEMP suggestions.
Regards
Ali
0
 
LVL 18

Expert Comment

by:daveslash
ID: 37720877
The OVRDBF has always worked from me through ODBC and JDBC, but I still think the CREATE ALIAS in QTEMP is a better solution.
0
 
LVL 16

Expert Comment

by:theo kouwenhoven
ID: 37721645
Sorry gudii9,

I think you posted the solution while I was still typing it.

:-)
0
 
LVL 27

Expert Comment

by:tliotta
ID: 37745651
In general, an ALIAS can be preferred when a permanent object may be shared among users or across sessions (or across jobs). An OVRDBF can be preferred when it is known to be needed strictly local to the process.

CREATE ALIAS creates a permanent object. Technically, it's implemented as a DDM file. As such, all of the overhead of object creation (and perhaps deletion if not actually permanent) gets brought in. This includes setting ownership and authority attributes. Those attributes may cascade into changes to related objects such as the owning profile.

An OVRDBF simply puts some changes into any ODP in that job. No significant overhead.

Either one can work well. There's no real way to say one is better. It always depends on the environments in which they're used.

Tom
0
 

Author Comment

by:bhagatali
ID: 37747158
Thanks Tom for the added explanation.

Regards
Ali.
0

Featured Post

On Demand Webinar - Networking for the Cloud Era

This webinar discusses:
-Common barriers companies experience when moving to the cloud
-How SD-WAN changes the way we look at networks
-Best practices customers should employ moving forward with cloud migration
-What happens behind the scenes of SteelConnect’s one-click button

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
ejb wildfly example 2 75
mysql jsp example issue 32 75
CSV file parsing thru Java 13 40
How to fix  socket closed error 11 32
After being asked a question last year, I went into one of my moods where I did some research and code just for the fun and learning of it all.  Subsequently, from this journey, I put together this article on "Range Searching Using Visual Basic.NET …
Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
Viewers will learn about the different types of variables in Java and how to declare them. Decide the type of variable desired: Put the keyword corresponding to the type of variable in front of the variable name: Use the equal sign to assign a v…
Viewers will learn about basic arrays, how to declare them, and how to use them. Introduction and definition: Declare an array and cover the syntax of declaring them: Initialize every index in the created array: Example/Features of a basic arr…

696 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question