ADF BC: Creating updatable VO based upon DB View with "instead of" trigger
Hello all,
I have got an interesting issue. I have an Oracle DB view that is used to hide some complexity in the underlying DB design (it does some unions). This view is updatable because we have created an "instead of" update trigger to update the correct table when a row is updated. This is working fine in SQL.
Next, we have created an ADF Entity object based upon the view, specifying an appropriate PK for the DB View. Then, we have created an updatable VO based upon the EO. All well and good so far. The issue we have is in trying to commit changes to the DB - because the ADF BC framework is trying to lock the row to update (using SELECT ... FOR UPDATE), it's not working because of ORA-02014 - cannot select FOR UPDATE from view with DISTINCT, GROUP BY, etc.
This leads me to thinking about overridding doSelect() on the EO as hinted here http://radio.weblogs.com/0118231/stories/2005/07/28/differenceBetweenViewObjectSelectAndEntityDoselectMethod.html
As a temporary test, we have over-ridden the EO's doSelect to call super.doSelect(false) and it does work, although we will have lost update issues as detailed in Steve's article.
My questions:
1). Is overriding doSelect() the correct thing here? Perhaps there is a better way of handling this problem? I do have a base EO class from which all of the EO's extend, so adding this behavior should be straightforward.
2). Does anyone have example doSelect implementation? I am thinking of overriding doSelect for my EO and calling super.doSelect (lock=false), but then I need to deal with some possible exceptions, no?
Kind regards,
John
Hi John,
I have exactly the same issue as you experienced back in January. I have a complex data modelling requirement which requires the need to pivot rows into columns using ROW_NUMBER() and PARTITION clauses. To hide the complexity from the middle tier, I have created a database view and appropriate INSTEAD OF triggers and mapped my EO to the view. I have overriden the lock() method on the EO implementation class (to avoid ORA-02014) and would like to try the same solution you used with the pl/sql call to lock the record.
My question is, how did you manage the release of the lock if the transaction was not rolled back or committed by your application i.e. if the user closed the browser for instance.
In my naivity, I would like to think that the BC4J framework would release any locks for the database session when it found the servlet session to be terminated however my concern is that the lock would persist and cause complications.
Any assistance greatly appreciated (if you would be willing to supply your lock() method and pl/sql procedure logic I would be even more grateful!).
Many thanks,
Dave
London
Similar Messages
-
How to create ADF BC components like EO from "View with INSTEAD OF trigger
I have a "View with INSTEAD OF trigger" on a external schema. is it possible to create ADF EO on top of this view in my local schema?. If possible, then is it possible to insert/update that external table using ADF standard data controls and Application module?. I'm trying to see if it's possible with standard ADF controls without calling pl/sql API to insert/update that external table. any ideas are appreciated.
Regards,
Suryahttp://stegemanoracle.wordpress.com/2006/03/15/using-updatable-views-with-adf/
-
Issue in Invoking an Updatable View with Instead of Trigger
Hi,
I am trying to insert a record using Updatable View with Instead of Trigger. When i try to save the data, i get the below error:
java.sql.SQLException: ORA-01403: no data found
ORA-06512: at line 1
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:457)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:405)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:889)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:476)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:204)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:540)
at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:213)
at oracle.jdbc.driver.T4CCallableStatement.executeForRows(T4CCallableStatement.java:1075)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1466)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3752)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3887)
at oracle.jdbc.driver.OracleCallableStatement.executeUpdate(OracleCallableStatement.java:9323)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:1508)
at weblogic.jdbc.wrapper.PreparedStatement.executeUpdate(PreparedStatement.java:172)
at oracle.jbo.server.OracleSQLBuilderImpl.doEntityDML(OracleSQLBuilderImpl.java:432)
at oracle.jbo.server.EntityImpl.doDMLWithLOBs(EntityImpl.java:8566)
Can someone help me resolve this issue?
Also it would be great if you can share Sample codes for Invoking an updatable view with instead of trigger on Save/commit.
Regards,
JeevanAs a trigger is executed in the db and not in your app it's really hard to help as you did not give any useful information.
Have you read this blog http://stegemanoracle.blogspot.com/2006/03/using-updatable-views-with-adf.html ?
Timo
Edited by: Timo Hahn on 22.09.2011 09:15
And my friend google also found http://technology.amis.nl/blog/1447/adf-business-components-resfresh-after-insertupdate-and-instead-of-triggers -
View with instead of trigger still not updatable
Hi everybody,
could somebody explain how to make this view updatable?
I have the following log:
CREATE OR REPLACE FORCE VIEW BRS_V_VERPLICHTINGEN
(VERPLICHTING_NR
,ONTSTAANSJAAR
,OMSCHRIJVING
,DATUM_VERANTWOORDING
,OBJECT_NR
,OBJECT_NAAM
,CDG_CODE
,TMA_CODE
,CREATED_BY
,CREATION_DATE
,LAST_UPDATED_BY
,LAST_UPDATE_DATE)
AS SELECT vw_brs_verplichting.verplichting_nr
, vw_brs_verplichting.ontstaansjaar
, nvl( brs_verplichtingen.omschrijving, vw_brs_verplichting.verplichting_oms
, vw_brs_verplichting.datum_verantwoording
, vw_brs_verplichting.object_nr
, vw_brs_verplichting.object_naam
, brs_verplichtingen.cdg_code
, brs_verplichtingen.tma_code
, brs_verplichtingen.created_by
, brs_verplichtingen.creation_date
, brs_verplichtingen.last_updated_by
, brs_verplichtingen.last_update_date
FROM vw_brs_verplichting
, brs_verplichtingen
WHERE vw_brs_verplichting.vervallen_code = 'N'
AND vw_brs_verplichting.verplichting_nr = brs_verplichtingen.verplichting_nr
AND vw_brs_verplichting.ontstaansjaar = brs_verplichtingen.ontstaansjaar
View created
CREATE OR REPLACE TRIGGER BRS_VVG_IRU
INSTEAD OF UPDATE
ON BRS_V_VERPLICHTINGEN
BEGIN
brs_vvg_pck.instead_of_row_update( :new.verplichting_nr
, :new.ontstaansjaar
, :new.omschrijving
, :new.cdg_code
, :new.tma_code
END ;
Trigger created
SELECT COLUMN_NAME
, INSERTABLE
, UPDATABLE
, DELETABLE
FROM USER_UPDATABLE_COLUMNS
WHERE TABLE_NAME = 'BRS_V_VERPLICHTINGEN'
COLUMN_NAME INSERTABLE UPDATABLE DELETABLE
VERPLICHTING_NR YES YES YES
ONTSTAANSJAAR YES YES YES
OMSCHRIJVING NO NO NO
DATUM_VERANTWOORDING YES YES YES
OBJECT_NR YES YES YES
OBJECT_NAAM NO YES NO
CDG_CODE NO YES NO
TMA_CODE NO YES NO
CREATED_BY NO YES NO
CREATION_DATE NO YES NO
LAST_UPDATED_BY NO YES NO
LAST_UPDATE_DATE NO YES NO
12 rows selected
But that one column still isn't updatable... however because i'm using an INSTEAD OF UDPATE trigger they should all be updatable, shouldn't they?
I'm using the 10g database...
Hope someone can help...
Regards,
RobertJustin,
you might try to grant the views to the FLOWS_xxxxx user, which performs the Apex processes.
Dik Dral -
How to create an album based upon date of importing photos
today i imported over 2000 photos with dates accross three years time frame. how can i create an album based upon the date i imported the photos? or can i.
if not, how would i add these pix to a specific album without going through the whole library some 15,000 photos strong now?Check out the Film Rolls ->
View -> Film Rolls
Each import creates a Roll, so the most recent one's should be easy to find. Select all and make an album from them.
Regards
TD -
How to update Activity based upon Campaign
Hi !
We have created some Campaigns with campaignelements.
These elements has been "connected" to different BP - based upon roles.
The corresponding Activities, then has to be updated (Fields: Dates and Status)
Our task is to create a routine/program, where, based upon Campaign, the corresponding Activities can be updated.
Could any one please tell us how to do this?
Regards
TorbenHi Torben,
I hope I've got your problem correct. I think that a update of the Activities created during the campaign is not possible. You can try to search for the activities created by the campaign throu the link.
If I've got you wrong could you describe your business case in more detail please.
Regards
Gregor -
Update JSP based upon change in database
Hello JSF gurus,
Is it possible for a JSP to update based upon a change in a database? For example, say a new row gets added to a table. Can this be detected and somehow result in a notification being sent back to the JSP (or its backing bean), causing a refresh? Thanks.
-RobertIn fact, I guess that I could ask an even more general question: can a JSP be updated "programmatically" (a push type model), or does it require a request (i.e. some user interaction) generated on the JSP (a pull type model).
-
Create maintenance order based upon notification in NWBC / Portal
Dear experts,
How to create a maintenance order based upon a notification, using the POWL for notifications ?
I am using NWBC and would like to create a maintenance order, based upon a notification put in process.
In R/3, this works fine using transaction IW22 / IW28 and all info from the noticiation is copied in the new order.
How can I get the same functionality using the role SAP_BPR_MAINTENANCE_TECH_12 ?
Kind regards,
DirkDirk,
You should be able to select the Notification number from the POWL overview list and choose the "Create Order" push button on the Tollbar (along with display notification, change notification etc).
What i have noticed is that once you are inside the notification from the Portal application, the create Order push button or functionality doesn't seem to exists. This is probably incomplete functionality taking into consideration the standard IW22 transaction /Or a Bug and maybe you could raise a OSS Note for the same.
Regards
Narasimhan -
How to create LOV not based on a View Object attribute?
Hi,
I am creating a handed-made search form and I want to create an af:inputListOfValues.
I have :
- a read-only-view-object to get the LOV values from BD.
- af:inputListOfValues tag (droped from Component Palette).
How can I create the listOfValuesModel in Bindings layer? (the inputListOfValues is not based on a View Object attribute).Sorry, I think I am not very clear in my posts.
My requirement is to create a LOV but I have no ViewObject. I just want an input (not based on a view object attribute), alone, but with a LOV (where lov's datas are get from a view object).
In a "normal" LOV I would have something like this :
in jsff :
<af:inputListOfValues id="departmentIdId"
popupTitle="Search and Select: #{bindings.DepartmentId.hints.label}"
value="#{bindings.DepartmentId.inputValue}"
label="#{bindings.DepartmentId.hints.label}"
model="#{bindings.DepartmentId.listOfValuesModel}"
required="#{bindings.DepartmentId.hints.mandatory}"
columns="#{bindings.DepartmentId.hints.displayWidth}"
shortDesc="#{bindings.DepartmentId.hints.tooltip}">
<f:validator binding="#{bindings.DepartmentId.validator}"/>
<af:convertNumber groupingUsed="false"
pattern="#{bindings.DepartmentId.format}"/>
</af:inputListOfValues>in pageDef :
<listOfValues StaticList="false" IterBinding="EmployeesView1Iterator"
Uses="LOV_DepartmentId" id="DepartmentId"/>in model layer : a view object (EmployeeView) with view accessor and LOV based attribute, and a read only view object (DepartmentRVO) to get datas for the LOV.
But in my case I have no ViewObject, so I don't know how to create the listOfValuesModel in fragment pageDef.
I have :
<af:inputListOfValues label="Label 1"
popupTitle="Search and Result Dialog"
id="ilov1" model="here I want to point to a listOfValuesModel but I don't know how to create it"/>in pageDef : the listOfValuesModel but I don't know how to create it.
in model layer : just a read only view object (like DepartmentRVO), to get the datas for the LOV.
Edited by: h0s on 29 févr. 2012 00:31 -
ADF does not update FK to the child view (MasterDetail)
Hi!
Entities have in my system based on database views. These entities have ViewObjects. There is a relationship between the Entities and Associate of View Link between views. Despite this, after inserting a record, got an error warning that the bank could not return the value. To correct this problem, I performed the following operation:
I was in my EntityDefImpl.java entity and overrides the method createDef () with the following code:
@ Override
protected void createDef () {
setUseReturningClause (false);
Ok, I get no more errors returning. However, now I can no longer go to children's views the value of the parent view ID.
Does anyone know how can I fix this?
Edited by: GustavoSR on 08/11/2010 11:35
Edited by: GustavoSR on 08/11/2010 12:06When you use deepMergeClone you need to be careful as all the objects in the entire graph will be merged. If object identity is not maintained correctly in your graph of objects being merged you could end up missing updates, i.e. if your parent being merged had the changes, but the children were referencing a different version of the parent object without the changes they could get merged again, and your changes lost.
Typically mergeClone, shallowMergeClone or mergeWithReferences is safer, but you may need to cascade the merge yourself, i.e. call merge with each child object if they are not privately owned. -
ApEx 4.1.1: update record in a view with 'instead of update' trigger
I created a form against a view. The view is complex enough which prevents direct updates. To incorporate the update logic I created an 'instead of update' trigger on the view. When I open up the form, do changes, and click 'Apply Changes' button I am getting the following exception
ORA-02014: cannot select FOR UPDATE from view with DISTINCT, GROUP BY, etc.
I understand that the standard 'Automatic Row Processing' process is trying to lock the record before updating using a cursor like
select *
from my_view
for update
and fails. Is it possible to bypass this locking while using the standard APEX processes?
I think I can create a custom PL/SQL process which would execute the UPDATE statement (at least, it works in SQL*Plus), but I would like to know if I can use a standard ApEx functionality for this.Hello,
Sorry for delay.
I had found a feedback about trigger issue when restore SQL Database from a BACPAC file. Microsoft said the fixed will be available in the next major release of DacFx.
Feedback:
SQL Azure fires a trigger when restoring from bacpac
You can refer to the workarounds in the feedback. For example, if there is small amount of triggers on the database, you can try to remove the triggers and then recreate when restore from bacpac file.
Regards,
Fanny Liu
Fanny Liu
TechNet Community Support -
View-Update in forms with Instead-Of trigger
I has created a view and an Instead-Of trigger on that view.
Now, I want to update this view in FORMS 6. I am unable to update this view and getting error FRM-40602.
Is there any way to update this view updatable in FORMS6 or FORMS6 has not this feature?Hi,
This has been acknowledged by Oracle as bug earlier. The work-around for this is as follows:
1. Create table 1
2. Create table 2
3. Create view
4. Create instead of insert trigger on view
5. Create instead of update trigger on view
6. Now, in the forms, go to the Block property
7. Look for the 'Key mode' property. By default it is 'Automatic'. Set it to Updateable (If your database design supports updating primary keys) or Unique (preferable).
8. Now run the form. It should work.
All the best.
Sunil Kumar G S -
BUG? VIEWS with INSTEAD OF triggers are updatable????
When I try to update the view created with the PL/SQL code from
below, with an infobus data form generated by JDev wizards , i
ontain this error "ORA-22816: unsupported feature with RETURNING
clause"
Below this text are an plus80 sql text file, producing the same
error and creating the database environment required.
It creates :
.-2 tables,
.-2 sequences
.-a joined view of this 2 tables
.-an "instead of insert" trigger on the view
Demostrating the correctness of this code there are a
normal insert alone, and a pl/sql block producing the same kind
error from plus80.
If you generate the form to edit this view, it produces the same
error when trying to do an insert, that the error produced by
this sql file.
--------------------------------------------cut here
drop sequence suf_seq;
CREATE SEQUENCE SUF_SEQ
NOMAXVALUE
NOMINVALUE
NOCYCLE
NOCACHE
drop sequence fam_seq;
CREATE SEQUENCE FAM_SEQ
NOMAXVALUE
NOMINVALUE
NOCYCLE
NOCACHE
DROP TABLE SUBFAMILIAS CASCADE CONSTRAINTS;
CREATE TABLE FAMILIAS
(ID NUMBER(6,0) NOT NULL
,DESCRIPCION VARCHAR2(50) NOT NULL
,ACTIVO NUMBER(38)
,USERALTA VARCHAR2(15)
,FECHAALTA DATE
,USERMOD VARCHAR2(15)
,FECHAMOD DATE
DROP TABLE FAMILIAS CASCADE CONSTRAINTS;
CREATE TABLE SUBFAMILIAS
(ID NUMBER(6,0) NOT NULL
,FAM_ID NUMBER(6,0)
,DESCRIPCION VARCHAR2(50) NOT NULL
,ACTIVO NUMBER(38)
,USERALTA VARCHAR2(15)
,FECHAALTA DATE
,USERMOD VARCHAR2(15)
,FECHAMOD DATE
set serveroutput on;
create or replace view test ( fam_id , suf_id , fam_descripcion
,suf_descripcion) as
Select fam.id,suf.id,fam.descripcion,suf.descripcion
from familias fam,subfamilias suf
where fam.id=suf.fam_id;
CREATE OR REPLACE TRIGGER test_insert
INSTEAD OF INSERT
ON test
declare
auxFam_Id familias.id%type;
auxSuf_Id subfamilias.id%type;
begin
select fam_seq.nextval,suf_seq.nextval into
auxFam_id,auxSuf_id from dual;
insert into familias(id,descripcion) values
(auxFam_id,:NEW.fam_descripcion);
insert into subfamilias(id,fam_id,descripcion)
values(auxSuf_Id,auxFam_id,:NEW.suf_descripcion);
end;
show errors;
/* here is a non returning insert everything works ok */
insert into test(fam_descripcion,suf_descripcion) values
('familia test 1','subfamilia test1');
declare
aux RowId;
-- aux subfamilias.id%type;
begin
insert into test(fam_descripcion,suf_descripcion) values
('Familia test 2','Subfamilia test 2') returning RowId into aux;
dbms_output.put_line(aux);
--select * from subfamilias;
--delete from subfamilias;
end;
-------------------------cut here
nullAre INSTEAD OF triggers the only way to insert/update
information from a form using a view that combines
fields from two different tables? My goal is to try
to get away from using so many triggers and contain
as much as I can within HTML DB. Is this really the
only way?While you might be intimidated by the seeming complexity of an instead-of trigger, in the long run you'll be glad to dug in and did it the right way. The instead-of trigger is a thing of beauty where databases are concerned.
One thing to be careful about: when you attach a trigger to a view and recompile the view, if it has 'CREATE OR REPLACE' in the definition, any triggers defined for the view will be lost. All your hard work creating that elegant trigger could be gone in a keystroke.
Either use 'CREATE' without the 'OR REPLACE' or save a copy in your script repository or someplace safe so you can recreate it the event that it 'goes away' unexpectedly.
As always, this is only my experience. Your mileage may vary. Perhaps you're smarter than me and have a nice trick you'd like to share for preserving such things in a more elegant way??
Earl -
Returning newly created IDs from View with Instead Of
Hi All,
I have the following table:
CREATE TABLE TBLSIM_SUPPLIER_H
"SS_ID" NUMBER(10,0) NOT NULL ENABLE,
"SS_GUID" NVARCHAR2(36) NOT NULL ENABLE,
"SS_NAME" NVARCHAR2(50) NOT NULL ENABLE,
"SS_H_IS_ACTIVE" NUMBER(1,0) DEFAULT 1 NOT NULL ENABLE,
"SS_H_RE_ID" NUMBER(10,0) NOT NULL ENABLE,
"SS_H_DATE" DATE DEFAULT SYSDATE NOT NULL ENABLE,
"SS_H_MASTER_ID" NUMBER(10,0),
CONSTRAINT "TBLSIM_SUPPLIER_PK" PRIMARY KEY ("SS_ID") ENABLE,
CONSTRAINT "TBLSIM_SUPPLIER_FK_M_ID" FOREIGN KEY ("SS_H_MASTER_ID") REFERENCES "TBLSIM_SUPPLIER_H" ("SS_ID") ENABLE
)on which is enabled this trigger
CREATE OR REPLACE TRIGGER TBLSIM_SUPPLIER_H_TRG BEFORE
INSERT ON TBLSIM_SUPPLIER_H FOR EACH ROW BEGIN <<COLUMN_SEQUENCES>> BEGIN IF :NEW.SS_ID IS NULL THEN
SELECT TBLSIM_SUPPLIER_H_SEQ.NEXTVAL INTO :NEW.SS_ID FROM DUAL;
END IF;
IF :NEW.SS_GUID IS NULL THEN
:NEW.SS_GUID := UTILITYPKG.formatted_guid;
END IF;
END COLUMN_SEQUENCES;
END;UTILITYPKG.formatted_guid returns a standard 36chr GUID
I then created a view
CREATE OR REPLACE FORCE VIEW TBLSIM_SUPPLIER
AS
SELECT SS_ID,
SS_GUID,
SS_NAME,
SS_H_IS_ACTIVE,
SS_H_RE_ID,
SS_H_DATE
FROM TBLSIM_SUPPLIER_H
WHERE (ss_h_is_active = 1);on which I enabled the trigger
CREATE OR REPLACE TRIGGER TBLSIM_SUPPLIER_INS INSTEAD OF
INSERT ON TBLSIM_SUPPLIER FOR EACH ROW
BEGIN
INSERT INTO TBLSIM_SUPPLIER_H (ss_name, ss_h_is_active, ss_h_re_id, ss_h_date)
VALUES (:NEW.ss_name, 1, :NEW.ss_h_re_id, SYSDATE);
END TBLSIM_SUPPLIER_INS;I then have a stored Procedure
PROCEDURE SimSupplier_Create(
cur_tblresource_id_in IN tblresource.re_id%TYPE
, ss_name_in IN tblsim_supplier.ss_name%TYPE
, ss_id_out OUT tblsim_supplier.ss_id%TYPE
, ss_guid_out OUT tblsim_supplier.ss_guid%TYPE
) AS
BEGIN
INSERT INTO tblsim_supplier (
, ss_name
, ss_h_re_id
VALUES (
, ss_name_in
, cur_tblresource_id_in
RETURNING ss_id, ss_guid INTO ss_id_out, ss_guid_out;
END SimSupplier_Create; What happens is that the RETURNING clause is not available.
Any way of getting the ID & GUID of the just inserted record out of the prcedure?
Thanks
AndreaWhy do you need this instead of trigger? Can't you simply insert into the view? Maybe enable WITH CHECK OPTION to prevent wrong values beeing entered via the view. Or simply insert into the table and not the view. As long as it is done in the procedure, you are safe that there is no priviledge confict.
Edited by: Sven W. on Oct 17, 2012 5:38 PM -
How to update UDF based upon the row level dimensions.
Hello Experts,
I have made 4 new udf at Sales Order. Its displaying at Righthand side under General Category.
Now at row level im entering item detail, and other things with 4 profit center vaues.
So i want that if i enter value in those 4 proft center in row level then it should automatically update those 4 udf with that value.
It always happen in Add mode of SO, if SO open in update mode then i can update those udf with other values also, which can be differ then row level profit center values.
If we need to create any trigger or any query for that, then guide me for that.
Regards,Hi Chintesh,
You can use the option of changing value when the exising column value changes. (also check the option refersh only option)
pls revert in case more help.
Regards,
Datta Kharat
Maybe you are looking for
-
Hi, I am getting this error. cputype (18, architecture ppc) does not match cputype (7) for specified -arch flag: i386 (file not loaded), And as found out it means - I have some stuff [perhaps mpich] comiled for PPC CPU - but now you have an Intel i38
-
IMac Having screen issues when in sleep mode
Hey everyone, Does anyone have this problem, when my computer goes into sleep mode the screen turns like this...
-
Hey guys, This wasn't a problem before, but since I have updated to Flex 4.5. All my e-values are 0 when displayed but when passed from ColdFusion to Flex app they are in scientific notation. I have even tried to wrap the values in single quot
-
Creating portal DB provider: Can be schema on what instances?
When I look at the Database Objects through the Navigator, the Database Schemas all seem to reside on the instance that supports 9iAS. Is it possible to get at a schema in another instance? John [email protected]
-
Hi All, What is the standard data format in SAP? Is it in unicode, ascii, or binary? Can you also tell me the difference between the 3? More specifically, what is the data format for a document downloaded from SAP via GUI_DOWNLOAD? Thanks.