Link to home
Start Free TrialLog in
Avatar of premavani
premavani

asked on

Reading from Excel sheet that is placed in a folder (PC) and uploading into AS400

Hello,

I have a situation like this.

we have a folder on PC that contains Excel sheet. We need to read that data from excel sheet and that has to be uploaded into AS400. This process has to be automated.
Is there any method of doing this. This is very urgent. Please respond to this question ASAP.

Thanks in Advance.
Prema
Avatar of Mind_nl
Mind_nl

you can use Run Remote Command (RUNRMTCMD) from the AS/400 to start a client access upload on the PC. This could also be put in the AS/400 jobscheduler. You'll need the 'Incoming Remote Command' part of client access installed on the PC
ASKER CERTIFIED SOLUTION
Avatar of Shalom Carmel
Shalom Carmel
Flag of Israel image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of premavani

ASKER

Thanks for ur early response Mind nl and ShalomC.

But im not clear with ur solution Mind nl. Can u explain in detail.
Also can u give the syntax of RUNRMTCMD with an example like what should be the value of command parameter and etc.,
Please explain me the different steps involved to achieve this.

Thanks
Prema
Hi ShalomC

How to save Excel file as a CSV file?
How to upload this CSV file into AS400 and to which directory or library?
what is 'Stream file' parameter in CPYFRMIMPF command?
Can u explain in detail.
If possible explain all the steps that is required to do this with an example.
Please respond to this ASAP.

Thanks
Prema
Saving Excel as CSV:
------------------------
Open the Excel worksheet, open the "save as" dialog, select type "CSV", assign a name to the file and click the "Save" button. For this example, assume the file is called "Prema.csv" in directory E:\temp

Creating a directory on the AS400:
----------------------------------------
MKDIR '/incoming'
(or any other name you fancy.)

Uploading the CSV file to the AS400:
------------------------------------------
Using FTP which exist on any PC

Create the following batch file and place it in E:\temp, with the CSV

echo off
E:
cd \temp
echo open AS400_server > cmd.ftp
echo user >> cmd.ftp
echo password >> cmd.ftp
echo quote site namefmt 1  >> cmd.ftp
echo cd /incoming  >> cmd.ftp
echo ascii >> cmd.ftp
echo put prema.csv >> cmd.ftp
echo quote rcmd CALL PREMALIB/PROCESSCSV >> cmd.ftp
echo quit >> cmd.ftp
ftp -s:cmd.ftp
del cmd.ftp


Importing the uploaded CSV file into an AS400 table
------------------------------------------------------------
In the example, a CL program called PREMALIB/PROCESSCSV contains the CPYFRMIMPF command.

The 'Stream file' parameter should be '/incoming/prema.csv'
The database file must be constructed according to the data types and number of columns found in the Excel worksheet.


Cheers,
ShalomC
The runrmtcmd in your CL program yould look something like this:

RUNRMTCMD  CMD('C:\UPLOAD\UPLOAD.BAT') +
                     RMTLOCNAME(&REMOTE *IP) RMTUSER(&USER) +
                     RMTPWD(&PASSWORD)

On the PC you'll have to start the Client Access Remote Command service (under services in your control panel)

The UPLOAD.BAT would contain some checking for existence of your PC file and a client access data transfer
Hi ShalomC,

Thanks a lot...Its working perfectly fine...
Thanks u so much....

One more query...

How to Schedule this Batch file. I need to run this batch file once in a day...
How to set that....

Prema.
If you create a CL program with above mentioned RUNRMTCMD  you can use the AS/400's jobscheduler. Or you can try the windows task scheduler to run the batch every day
I advise against using RUNRMTCMD in this case.
First, to use this command, you need a REXEC service running on the PC.
Second, reserve RUNRMTCMD to cases when an AS400 event must trigger a PC event. In this case - a simple PC scheduler will work perfectly, without the added complexity of yet another client/server.

ShalomC
Good point you have there shalomc, I have used this once when the PC side program would have to start after the AS/400 side processing had finished. So in this case I guess my second sugestion, the windows task scheduler,  would be the best thing to do...
Hi
one solution I have been looking into for this whole AS/400 - PC Excel stuff is java based.

I have not had much time to develope but there is JAVA open source that can read and write to Excel workbooks

here is one

http://www.andykhan.com/jexcelapi/

Dave
Hi
Check out these babies available on the seriesnetwork
You must register first but the articals are free

http://www.iseriesnetwork.com/resources/artarchive/index.cfm?fuseaction=viewarticle&CO_ContentID=17839
http://www.iseriesnetwork.com/resources/artarchive/index.cfm?fuseaction=viewarticle&CO_ContentID=18409


The sample source code that I've written for this article demonstrates
how to call this service program, and it also demonstrates a more
complex sample workbook -- including one that has multiple sheets --
and shows you how to use larger fonts and merge cells. You can
download this article from the iSeries Network Web site at the
following link:
http://www.iseriesnetwork.com/noderesources/code/clubtechcode/ExcelCrtDemo.zip .

More information about calling Java methods from RPG programs can be
found in the "WebSphere Development Studio ILE RPG Programmer's
Guide," which is in the Information Center at the following link:
http://publib.boulder.ibm.com/iseries/v5r2/ic2924/books/c0925074.pdf

The following is a link to the January 8, 2004, issue of this
newsletter, where I demonstrated reading an Excel file in RPG:
http://www.iseriesnetwork.com/resources/clubtech/index.cfm?fuseaction=ShowNewsletterIssue&ID=17839

Geert Van Landeghem also has a tutorial online that demonstrates how
to use these Java classes to create an Excel spreadsheet. You can read
his tutorial at the following link:
http://www.jasservices.com/articles/as400/001_genexcel.htm

Dave