The Excel To CI spreadsheet makes it easy to import data from Excel into PeopleSoft. It lets you enter data in a familiar Excel spreadsheet, and when you're ready it loads the data to PeopleSoft via Component Interface. Since Component Interface is used, it runs the PeopleCode edit checks that run when you enter the data on-line and it enforces the integrity of the data as it loads. Any errors are reported back so that you can correct them.
This article will explain step-by-step how to use ExcelToCI to load a simple set of data (locations) into your PeopleSoft application.
The spreadsheet is called ExcelToCI.xls and is located in your PS_HOME directory under excel folder.
The PeopleBooks documentation is located at http://<YourHelpWebServer:Port>/PSOL/htmldoc/eng/psbooks/tcpi/htm/tcpi10.htm #i090f42a6803232d2.
Before you can use the Excel To CI Spreadsheet, you’ll need to know the name of the Component Interface that you’re working with as well as the WEBLIB_SOAPTOCI web library and the SOAPTOCI web service added to one of your permission lists.
The ExcelToCI utility is a Microsoft Excel spreadsheet with 5 tabs, one for each worksheet. Each worksheet has a special function. Start by opening the ExcelToCI spreadsheet. After opening the file you will be warned that the spreadsheet contains macros. Make sure to click the Enable Macros button.
|
|
| If you don’t see the Macro warning dialog, your security settings may be set too high to run any macros. Navigate to Tools > Macro > Security and double-check your macro security settings. Anything above Medium will cause problems with this spreadsheet. |
|
| Once the spreadsheet is open, it is a good idea to click File > Save As and save it to your local hard drive.
|
|
Coversheet Tab
| The coversheet tab is a general worksheet that explains how to configure and use the utility. Nothing to see here. Move along. |
|
Connect Information Tab
| This tab is where you specify the parameters needed to log in to PeopleSoft and submit data to the application. The parameters you’ll need will depend on the environment you’ll be working in.
|
|
| Most of the time you can map the parameters from the target environment’s URL directly to fields on this page. The example on the right illustrates this.
You may have to ask your administrator what the default local node is. If you need to guess, PT_LOCAL and PSFT_EP are pretty good ones. There’s usually no need to change the Chunking Factor. Error Threshold can be set if you want to stop the import after a certain number of errors are reached. The value for the Action field is populated by the system when the component interface is retrieved from the database, so you don’t need to set it at this point. |
|
Template Tab
| The template tab is where you identify the component interface you want to use and which fields you want to map to and submit. The Template Actions toolbar will make everything possible. | |
| First, click the New Template button. You’ll be prompted for your PeopleSoft user id, password, and component interface name. As you can see, I’m using the Location Table CI for purposes of this demonstration. When you’re done, click OK. |
|
| If you entered everything correctly, the template will be auto-generated based on the component interface.
The next step is to tell ExcelToCI which fields you want to include for the CI.
We’ll be working with the buttons on the second row of the Template Actions toolbar.
Select the grey box below the field name you want to include in your CI mapping. Then click the Select Input Cell button on the Template Actions tab. The Grey box will change colors to indicate that it has been selected. If you make a mistake, repeat the process but click Deselect Input Cell. |
|
| Continue the process until all of the cells you need have been selected. |
|
| When you’re done, click the New Data Input button. This will build the next worksheet called Data Input. You will get a warning about deleting existing data. We don’t have existing data so just click Yes. |
|
Data Tab
| The Data Input worksheet is where we will enter the data that we want to load. The fields that we selected on the Template tab have been brought forward to this worksheet, so all we have to do now is enter the data that we want to load. |
| |
| Now we’re ready to submit this data to the Component Interface. But before we do, go back to the Connect Information worksheet and verify that the Action field reflects what we really want to do.
If you’re loading new data, make sure the action is Create. It is possible to update data with the ExcelToCI spreadsheet too, so if that’s what you’re trying to do just set the action to UPDATE. Once you verify this is correct, go back to the Data Input worksheet. |
| |
| Now click the Stage Data for Submission button. This will build the final tab, Staging and Submission. |
| |
Staging and Submission
| The Staging and Submission tab shows all of the data that you’re going to send to PeopleSoft via Component Interface. It’s formatted for PeopleSoft’s purposes, so you might see data broken out on different lines.
If you feel good about the data you’ve entered, click the Submit Data button. |
|
| The logon box will appear again. Verify your username and password, and click OK. |
|
| If the rows load correctly, you should see a green OK button in the Status field of this page. Otherwise you’ll see a red ERROR. |
|
| And this shows the data successfully loaded in PeopleSoft. |
|
Dealing with Errors
Sometimes errors happen. The next example was created by submitting the same data a second time.
| Here’s what the Staging & Submission tab looks if you submit data that is in error. |
|
| If you mouse over the error cell, you’ll see the error message. As you can tell, the row already existed. |
|
| If you think this is something you can correct, click the Post Results button which will copy the data back to the Data Input tab. From there you can correct whatever was wrong and resubmit. |
|
| To correct this, I’d just change the key information and click the Stage Data for Submission button again. |
|
Loading Effective Dated Tables with ExcelToCI
If you’re populating a component with Effective Date as a key, and you want to populate multiple Effective Dates for the same key value, you’ll have to do some special processing. Here’s why:
Remember on the Connection Information tab, there’s an Action field that can be either Add or Update/Display. This means that for each row it attempts to load, it’ll either load it in Add mode or Update/Display mode. If, for example you have the same location with two effective dates, it’ll attempt to add the first row. This will succeed. Then it’ll try to add the next row with the different effective date. But since there’s already a row for the same key values, you’ll get the “Row already exists with the specified keys” error message
So to make it work, you’ll have to create two loads. The first load will be done with the Action field on the Connection Information tab set to Add. It will contain just one row (and one effective date) for each unique key field. This should load successfully.
The next load will be done with the Action field set to Update/Display. It will contain all of the rows that you didn’t process in the first load. Update/Display mode will allow new effective-dated rows to be added to the existing keys so this load will succeed as well.
A Parting Note of Caution
As nice as the spreadsheet is, it only works on components that have a pre-built Component Interface. A component interface is a mapping between an external system and a PeopleSoft component. Since it’s a mapping, the tables and fields won’t necessarily match the tables and fields in the database, or even the component for that matter! And you may see fields for in-memory, or “derived work” records that don’t really exist in the database but are used for on-line computations before data is actually written to the database.
Mapping to the right fields can require a bit of trial and error, but if the Component Interface and the underlying component are designed well (and the delivered CI's usually are) the process should go smoothly.

written by ganesh, July 26, 2007
It is very useful tool.
We use PeopleSoft Tools ver 8.22 and application 8.31. It doesn't contain the Weblib
WEBLIB_SOAPTOCI. Can any one suggest me in how can I implement this in my system ?
Kindly help.
written by Shy, August 10, 2007
written by PRABHU, October 17, 2007
written by Ishtiaq Ahmad, October 24, 2007
written by Tojo, October 27, 2007
written by Tarannum, December 03, 2007
I am using the recent Microsoft 07 version. I am not getting any template actions window on chnaging the security. Why is it so?
written by :-), December 05, 2007
Very nicely explained.
I am trying to test this, but i am getting an error as "The dwnload of the specified resourse failed.. error occured in routine sendSOAPRequest_GetCIShape". Has anyone encountered this?Pl. let me know.
TIA
written by Neetha Pai, December 10, 2007
I guess the info in the connect tab is wrong. Pl.take the template from your PS_HOME directory under excel folder.
I hope this helps.
-Neetha
written by Richard, December 19, 2007
written by Richard, December 19, 2007
written by Richard, December 20, 2007
Prior to the Do While loop add the following:
Dim y As Long
y = 1
Then where you stated to add your code I added a modified version for our situation (in my version its a nested k loop):
If Cells(j, 3).Value = "000" Then
If y > 1 Then
ActiveWorkbook.Sheets("Submit to Database").Rows(j).Delete
j = j - 1
iRowCount = iRowCount - 1
End If
y = y 1
End If
Thanks for your help. It really gave me a boost.
written by Eric, January 03, 2008
Having one issue... when loading PeopleSoft field types defined as “NUMBERSâ€, PeopleSoft is truncating the value by dropping the decimals (e.g. loading 15.00 instead of 15.23). Specifically, we are trying to load data into the SALARY_GRADE component interface. I’ve tried changing the format of the Excel field (e.g. number, currency, text, etc.) but nothing seems to work.
Has anyone else experienced this issue?
written by Pumpkin, January 04, 2008
Anyways, i have a quick question now. I am trying to integrate CI through Messages. I have currently built a CI based on the VCHR_EXPRESS component. When i parse XML which i got as an input from the user through the message and try to instantiate the CI and call the Create method , it says First operand of .null ----- error. There is a global record which gets value in the search save code . But since CI is not supporting the search save event, this particular record is empty and system throws this error. Is there any workaround for this ? i mean how to pass search record values to the Pre build code ?
written by SAS, January 05, 2008
written by Pumpkin, January 05, 2008
Here is where my problem occurs. There is a search save code in this component which is not getting triggered when CI executes because of which im getting the first operand of .null error . I tried replicating the same code in the prebuild event still system is not recognising the search record and its values. I need help in this portion . a) How to bring the search record values into the CI
written by Pumpkin, January 08, 2008
written by martin, January 09, 2008
Can I make the entry sheets to make it as one sheet? then all codes behind it was added to a single command button?
written by Richard, January 29, 2008
written by Richard, January 30, 2008
written by Barb, March 14, 2008
I have an exceltoci populating a very simple custom component/record. The problem we are having is with performance. Any more then 200 lines takes hours to run, less then 200 will run in 20 minutes or so. Is there a way to tune this at all? The PCode excuting behind the component is minimal.
Thanks
Barb
written by Jeanie, July 09, 2008
Has anyone seen a scenario where you get an "OK" status indicating all went well and the data was loaded, but no data was actually written to the database?
I'm loading items via the IN_MST_ITM_XLS CI. Built template and input a line of data to load, staged data for submission, and clicked on "Submit Data" on the "Staging and Submission" page. I get a status back that all is "OK", but there's no data when in check in psoft.
FSCM 8.9 MP3, PT 8.47.05, Oracle 10G.
Thanks for any assist!
written by sri, July 31, 2008
I am trying to read the functional documents of some of the financial module.Could you please let me know the link.
written by Gee, December 13, 2008
Errors:
#1 - SQL error. Stmt #: 908 Error Position: 0 Return: 8602 - [Microsoft][ODBC SQL Server Driver][SQL Server]Cannot insert the value NULL into column 'VNDR_AFFILIATE', table 'EPDEV.dbo.PS_VOUCHER'; column does not allow nulls. INSERT fails.
[Microsoft][ODBC SQL Server Driver][SQL Server]The statement has been termi
#2 - INSERT INTO PS_VOUCHER_ADD_VW(BUSINESS_UNIT,VOUCHER_ID,VOUCHER_STYL
E) VALUES(:1,:2,:3)
#3 - Error saving Component Interface. {VCHR_UPLOAD} (91,37)
#4 - Error saving Component Interface. {VCHR_UPLOAD}
Thanks
written by laura, December 13, 2008
I've been reading the ocmments related to your article and they are great.I have a question for you: could you please indicate me how can i import the open items/invoices in Receivables using the Excel to Ci- in psftV9? I have found a ci dc_penditems but this only imports the items/invoices from billing that are normally in pending tables before ar update, but what can i do with the open items/invoices for a customer that are already into the customer balance? I have to create separate component interfaces for all the tables that contain these open items in receivables.Thanks a lot for your help- i mention that i am a functional girl and i cannot use the VB codes
written by laura, December 13, 2008
written by laura, December 16, 2008
written by laura, December 16, 2008
#2 - Warning -- The Accounting Date entered is not the current date. Please verify that the date entered is correct. (6000,815)
#3 - The highlighted field is required. You must enter a value for it before proceeding.{U_DC_PENDITEM_CI.GROUP_TYPE} (15,54)
#4 - The highlighted field is required. You must enter a value for it before proceeding.{U_DC_PENDITEM_CI.ORIGIN_ID} (15,54)
#5 - Error saving Component Interface. {U_DC_PENDITEM_CI} (91,37)
#6 - Error saving Component Interface. {U_DC_PENDITEM_CI}".I have checked the group type and the origini id and i have them setup in the PSFTV9.Then i excluded those 2 columns from my CI but i also get the same error.I mention that i have already excluded columns- that are required as these 2- but i managed to make the Ci work.Could you please give me an advice?
written by Rupa, February 25, 2009
written by pindiwall, April 13, 2009
written by Sjois, April 22, 2009
written by AGNEL, April 27, 2009
written by Aditi Baveja, May 07, 2009
I want to configure the Excel to CI utility for a given CI and generate data input sheet for the end user. In the sense, the end user should not have to bother with the connection setup, connecting to the CI, creating a new template or selecting the input cells. He/She could directly enter values and submit them. Any ideas ?
Thanks and Regards,
Aditi
written by a guest, May 20, 2009
Brent:
I am trying to create an Excel to CI load of vouchers using a Quick Invoice Entry CI. I get an error: First operand of .null -----. Is there any workaround for this? How to pass search record values to the Pre build code? Is there some command to use that will pull data from the worksheet into the search record?
written by Renee, June 04, 2009
#1 - Invalid value -- press the prompt button of hyperlink for a list of values (15,11)
#2 - Error changing value. {VCHR_QUICK_PNL_CI.VCHR_LINE_QV.VCHR_DIST_QV(1).BUSINESS_UNIT_PC_3} (91,34)
#3 - Error saving Component Interface {VCHR_QUICK_PNL_CI}.
This is the data that is entered(when done manually) thru the PC_fields page via a link 'Projects' on the VCHR_QUICK_PNL. I am thinking this might be a PC change but cannot identify where and what.
Anyone have any ideas? Thanks.
written by chandrashekhar, June 05, 2009
written by Renee, June 05, 2009
written by Renee answered, June 22, 2009
Now I need to find out how to allow it to insert multiple invoices without having to hit 'submit data' once per invoice in the Excel to CI. Anyone have any suggestions?
written by Renee answer, June 23, 2009
written by Junaid, July 21, 2009
This can avoid user to enter/change values in 'Staging & Submission' tab
written by Bryan (Boise State), July 29, 2009
You have a lot of great comments and information here. I have been studying them very carefully in my attempt to get the batch load of Location Amounts through the CI working. However, and this is yet another parent/child relationship issue, I keep getting an error. I do the initial load using "Create" as the Action. Then I am attempting to load, or update, new data with a different effective date. I am positive that the key structure is unique, however, I am getting the error message "Data being added conflicts with existing data." What I don't know is where the data conflict is, at the header record (ex_loc_amount) or the child record (ex_loc_amt_dtl).
I noticed that in creating Component Interfaces, EFFDT is never added to 'FINDKEYS', 'GETKEYS', and 'CREATEKEYS' in the component interface in App Designer. It just seems that EFFDT is not being used as part of making the key structure unique when loading data through the component interface, however there's not a problem when going through the web interface.
written by Misha Lauenstein, July 31, 2009
I am trying to use component interface VNDR_ID. My problem is that when I click "New Data Input", I only get the cells from the first section of the Template (rows 12 - 29). At first I thought it was an overflow problem, because I had more than IV columns, but I removed a bunch of columns that I don't need to populate, and I still get nothing from rows 64 - 70 (Record Type A21 through A27). PS version is 8.8. Excel version is 2003.
Any ideas?
Thanks in advance
written by Young, August 26, 2009
Errors:
#1 - Property or collection SCC_IWI_TBL was not found in the component interface at the given level
What does it mean? And how to insert data into the record?Thanks for your help!
written by Fred, September 29, 2009
written by Tamara Cooksey, October 15, 2009
These are the CIs that I found within this blog posting (Time Entry is my next big task!)
TE_TIME_ENTRY CI
CONTACT_INFO
VCHR_EXPRESS
SALARY_GRADE
IN_MST_ITM_XLS
DC_PENDITEM
PS_PENDING_ITEM
PS_GROUP_CONTROL
VNDR_ID
VCHR_QUICK_PNL_CI
Thanks again!!!!
-tam
written by shruti, November 18, 2010
Description field is neither promipt table nor lookup
written by Woj, February 15, 2011
written by Deb Woj, February 15, 2011
Thanks, ds
written by Syed Faheem Abbas, July 15, 2011
Regards,
Syed Faheem Abbas
written by Syed Faheem Abbas, July 15, 2011
Regards,
Syed Faheem Abbs
written by Syed Faheem Abbas, July 15, 2011
written by Abdul Rabb, November 15, 2011
it was nice experince to see this much benificial info here..
I have also one question
" How we can update the EFFDT field by using EXCEL TO CI...."
By online application it can possible by using correct history but through Excel to CI it is giving error.
Thanks
Abdul
written by Joe Chan, December 07, 2011























This is a wonderful step-by-step explanation of the Excel-to-CI load.
I would like to generate the Log as a text file, and have a copy as reference. Is it possible to create one? I see a check box while clicking on Submit Data, and I checked it to 'generate log'. However, I am not sure where the log file is created.
Please help.
thanks, Jag