Record defintion type in forms 4.5
Hi,
We are using Forms 4.5 (4.5.10.22.0 with PL/SQL Versión 1.2.5.0.5) and oracle 8i 8.1.7.4.0
Why are we still using Forms 4.5? Well, because is for and old program that will be updated to a newer version in the future but in the meantime we have to work with it.
The fact is that I have defined a record type in a server pl/sql package (inside the database) and if I create a variable or a function that returns a value from that record type Forms 4.5 doesn't recognize them. However if I define that record type in a pl/sql local library (.pll) it works.
Is there any reason for that? Must I do anything special to get it works?
Example:
-- Package specification in the server
PACKAGE Pkg_Prueba IS
Type tipo_datos_prueba Is Record
c_usuario VARCHAR2(8),
a_estado VARCHAR2(1),
FUNCTION F_Datos_Usuario (pm_usuario_so VARCHAR2)
RETURN tipo_datos_prueba;
END;
--Trigger definition in Forms 4.5
Declare
v_prueba Pkg_Prueba.tipo_datos_prueba; -- Error message at this line: component
-- tipo_datos_prueba must be declared
Begin
-- Error message at this line: component F_Datos_Usuario must be declared
v_prueba := Pkg_Prueba.F_Datos_Usuario(:Parameter.PRM_USUARIO_SO);
End;
Thank you very much in advance
I believe that was a limitation at the time. It was lifted in later versions.
Consider using at least 6i (which also has been desupported for quite sometime but is still widely used).
Similar Messages
-
Get three previous records of the current record in an Oracle Form
Hi,
I need to get three previous records of the current record in an Oracle Form
Sorry for the lengthy explanation:
I have a table name: ARCHIVE_DATA with column name: coll_time and its data type DATE.
SQL> SELECT COLL_TIME FROM ARCHIVE_DATA;
COLL_TIME
12-AUG-05
12-AUG-05
12-AUG-05
12-AUG-05
12-AUG-05
12-AUG-05
12-AUG-05
12-AUG-05
12-AUG-05
12-AUG-05
10 rows selected.
SQL> select to_char(coll_time,'dd-mon-yyyy:HH:MI:SS') from ARCHIVE_DATA;
TO_CHAR(COLL_TIME)
12-aug-2005:02:42:00
12-aug-2005:02:43:00
12-aug-2005:02:44:00
12-aug-2005:02:45:00
12-aug-2005:02:46:00
12-aug-2005:02:47:00
12-aug-2005:02:48:00
12-aug-2005:02:49:00
12-aug-2005:02:50:00
12-aug-2005:02:51:00
10 rows selected.
This is the Requirement:
In a Form's Block(BLK1), for example: the current_record is the fifth record from the top
(i.e. 12-aug-2005:02:46:00)
When the fifth record is the current_record and When I click a button, three previous records of the
current_record should be populated on the screen.
See what I did:
I created another table same as the first table(ARCHIVE_DATA) and its name is: THREE_RECS.
I am inserting three records from the first table(ARCHIVE_DATA) into the second table: THREE_RECS
which are less than the current record and ORDER BY DESC.
CANVAS:
Two blocks (BLK1, BLK2) based on ARCHIVE_DATA and THREE_RECS are on the same CANVAS.
But the first block (BLK1) which is based on the first table:ARCHIVE_DATA is populated with one record and the
second block (BLK2) is empty.
So when I click a particular button (ex: prev_recs), the second block(BLK2) should be populated with
three previous records of the current record( :BLK1.COLL_TIME)
(off course :BLK2 populates with one record and use arrows or scrollbar to get the other two records)
This is the code I wrote in the trigger and followed by the error:
1 BEGIN
2 DECLARE
3 cursor c1 IS
4 SELECT MONITOR_ID,
5 SAMPLE_ID,
6 COLL_TIME,
7 DEW_POINT
8 FROM ARCHIVE_DATA;
9 cursor c2(passing_date IN date) IS
10 SELECT MONITOR_ID,
11 SAMPLE_ID,
12 COLL_TIME,
13 DEW_POINT
14 FROM (SELECT MONITOR_ID,
15 SAMPLE_ID,
16 COLL_TIME,
17 DEW_POINT
18 FROM ARCHIVE_DATA
19 ORDER BY COLL_TIME desc)
20 WHERE COLL_TIME < passing_date;
21 BEGIN
22 FOR cur_rec in c1
23 LOOP
24 IF (cur_rec.COLL_TIME = to_date(:BLK.COLL_TIME,'dd-mon-yyyy:HH24:mi:ss')) then
25 FOR second_cur_rec in c2(second_cur_rec.COLL_TIME)
26 LOOP
27 IF c2%rowcount < 4 then
28 BEGIN
29 INSERT INTO THREE_RECS
30 values(second_cur_rec.MONITOR_ID,
31 second_cur_rec.SAMPLE_ID,
32 second_cur_rec.COLL_TIME,
33 second_cur_rec.DEW_POINT);
34 COMMIT;
35 END IF;
36 END LOOP;
37 END IF;
38 END LOOP;
39 END;
40 END;
This is the error I am getting:
Error 103 at line 14
Encountered the symbol "(" when expecting one of the following
a PL/SQL variable or double quoted string
an expanded name
an expanded name link
a table reference __expression
a key word
Resuming parse at line 126, column 46
Thanks in advanceChange C2 to:
cursor c2(passing_date IN date) IS
SELECT MONITOR_ID, SAMPLE_ID,
COLL_TIME, DEW_POINT
FROM ARCHIVE_DATA
WHERE COLL_TIME < passing_date
ORDER BY COLL_TIME desc;And rather than populating a table with the three records, you could just select the three records using: where COLL_TIME between Prev3_time and Prev1_time -
Oracle ADF - First record is shown on form no matter which record is edited
Hi,
I am using ADF application for development with J Developer version 11.1.1.4.0
in my project i am having screens(pages) which contain table with form and we are displaying data from that table
on form using partial Triggers. when i am going to edit records except fist record the record doesn't show on form
by default it is showing first record . it should display that particular selected records in in that form.
Plz suggest a solution for the same.
Thanks,
vinodHi
see the source code
<?xml version='1.0' encoding='UTF-8'?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:af="http://xmlns.oracle.com/adf/faces/rich"
xmlns:PGN="/PaginationDefLib">
<jsp:directive.page contentType="text/html;charset=UTF-8"/>
<f:view>
<af:document id="d1"
title="#{finiqwebappuiBundle['TreasuryDepartmentSetup.scrTitle']}">
<af:form id="f1">
<af:pageTemplate viewId="/WEB-INF/templates/FinIqWebAppTemplate.jspx"
id="pt1">
<f:facet name="center">
<af:group id="g1">
<af:outputLabel id="ol1" styleClass="AFHeaderLevelOne"
value="#{finiqwebappuiBundle['TreasuryDepartmentSetup.scrTitle']}"/>
<af:panelGroupLayout id="pgl1">
<af:panelHeader text=" " id="ph1" styleClass="AFStretchWidth">
<af:messages id="m1" inline="true"/>
<af:outputText id="otDisplayMsg"
binding="#{TreasuryDepartmentSetupBean.otDisplayMsg}"
inlineStyle="color:Red;" visible="false"
partialTriggers="saveButton"/>
</af:panelHeader>
<af:panelGroupLayout id="pgl3" layout="vertical"
inlineStyle="width:570px; border-color:Silver; border-style:solid; border-width:thin;">
<af:panelGroupLayout id="pgl9" layout="vertical"
inlineStyle="border-style:none;"
partialTriggers="t1" halign="left">
<af:panelGroupLayout id="pgl5" layout="horizontal">
<af:panelFormLayout id="pfl2"
inlineStyle="width:280px; border-style:none;"
labelAlignment="start">
<af:selectOneChoice label="#{finiqwebappuiBundle['TreasuryDepartmentSetup.entityName']}"
valueChangeListener="#{TreasuryDepartmentSetupBean.changeValue}"
binding="#{TreasuryDepartmentSetupBean.entityId}"
autoSubmit="true" id="soc1">
<af:forEach var="item"
items="#{sessionScope.FINIQGV.loginMappedEntities}">
<af:selectItem label="#{item.entityName}"
value="#{item.entityId}" id="sil1"/>
</af:forEach>
</af:selectOneChoice>
<af:inputText value="bindings.TBDBookId.inputValue"
label="Label 6" id="itBookId"
visible="false">
<f:validator binding="#{bindings.TBDBookId.validator}"/>
</af:inputText>
<af:inputText value="#{bindings.BookName.inputValue}"
label="#{finiqwebappuiBundle['TreasuryDepartmentSetup.branchName']}"
maximumLength="#{bindings.BookName.hints.precision}"
binding="#{TreasuryDepartmentSetupBean.itBookName}"
id="itBookName" autoSubmit="false"
disabled="true" required="true"
requiredMessageDetail="#{finiqwebappuiBundle['TreasuryDepartmentSetup.msgBookNameReq']}">
<f:validator binding="#{bindings.BookName.validator}"/>
</af:inputText>
<af:inputText value="#{bindings.BookCode.inputValue}"
label="#{finiqwebappuiBundle['TreasuryDepartmentSetup.branchCode']}"
maximumLength="#{bindings.BookCode.hints.precision}"
binding="#{TreasuryDepartmentSetupBean.itBranchCode}"
id="itBranchCode" disabled="true"
required="true"
requiredMessageDetail="#{finiqwebappuiBundle['TreasuryDepartmentSetup.msgBookCodeReq']}">
<f:validator binding="#{bindings.BookCode.validator}"/>
</af:inputText>
<af:inputText value="#{bindings.TBDMisc1.inputValue}"
label="#{finiqwebappuiBundle['TreasuryDepartmentSetup.misc1']}"
maximumLength="#{bindings.TBDMisc1.hints.precision}"
binding="#{TreasuryDepartmentSetupBean.itMisc1}"
id="itMisc1" disabled="true"/>
</af:panelFormLayout>
<af:spacer width="10" height="10" id="s1"/>
<af:panelFormLayout id="pfl3" labelAlignment="start"
inlineStyle="width:270px; border-style:none;">
<af:inputText value="#{bindings.TBDMisc2.inputValue}"
label="#{finiqwebappuiBundle['TreasuryDepartmentSetup.misc2']}"
maximumLength="#{bindings.TBDMisc2.hints.precision}"
binding="#{TreasuryDepartmentSetupBean.itMisc2}"
id="itMisc2" disabled="true">
<f:validator binding="#{bindings.TBDMisc2.validator}"/>
</af:inputText>
<af:selectOneChoice label="#{finiqwebappuiBundle['TreasuryDepartmentSetup.activation']}"
binding="#{TreasuryDepartmentSetupBean.socTBDDeactivate}"
id="socTBDDeactivate"
value="#{bindings.TBDDeactivate.inputValue}"
disabled="true">
<af:selectItem label="Yes" value="0" id="si1"/>
<af:selectItem label="No" value="1" id="si2"/>
</af:selectOneChoice>
<af:inputText value="#{bindings.TBDMisc3.inputValue}"
label="#{finiqwebappuiBundle['TreasuryDepartmentSetup.misc3']}"
maximumLength="#{bindings.TBDMisc3.hints.precision}"
binding="#{TreasuryDepartmentSetupBean.itMisc3}"
id="itMisc3" disabled="true"/>
<af:inputText value="#{bindings.TBDMisc4.inputValue}"
label="#{finiqwebappuiBundle['TreasuryDepartmentSetup.misc4']}"
maximumLength="#{bindings.TBDMisc4.hints.precision}"
binding="#{TreasuryDepartmentSetupBean.itMisc4}"
id="itMisc4" disabled="true"/>
<af:inputText value="#{bindings.TBDBookEntityId.inputValue}"
label="#{bindings.TBDBookEntityId.hints.label}"
id="TBDBookEntityId" visible="false"
binding="#{TreasuryDepartmentSetupBean.tbdBookEntityid}"/>
</af:panelFormLayout>
</af:panelGroupLayout>
<af:spacer width="10" height="10" id="s5"/>
<af:panelGroupLayout id="pgl4">
<af:spacer width="10" height="10" id="s4"/>
<af:commandButton id="addButton"
binding="#{TreasuryDepartmentSetupBean.addButton}"
action="#{TreasuryDepartmentSetupBean.newAction}"
text="#{finiqwebappuiBundle['Common.addButton']}"></af:commandButton>
<af:commandButton id="editButton"
action="#{TreasuryDepartmentSetupBean.editAction}"
binding="#{TreasuryDepartmentSetupBean.editButton}"
text="#{finiqwebappuiBundle['Common.editButton']}"></af:commandButton>
<af:commandButton text="#{finiqwebappuiBundle['Common.saveButton']}"
disabled="true" id="saveButton"
binding="#{TreasuryDepartmentSetupBean.saveButton}"
action="#{TreasuryDepartmentSetupBean.saveAction}"></af:commandButton>
<af:commandButton disabled="#{!bindings.Rollback.enabled}"
id="cancelButton"
binding="#{TreasuryDepartmentSetupBean.cancelButton}"
text="#{finiqwebappuiBundle['Common.cancelButton']}"
actionListener="#{bindings.Rollback.execute}"
immediate="true"
action="#{TreasuryDepartmentSetupBean.cancelAction}"></af:commandButton>
</af:panelGroupLayout>
</af:panelGroupLayout>
</af:panelGroupLayout>
<af:spacer width="10" height="10" id="s2"/>
<af:panelGroupLayout layout="vertical" id="pgl6">
<af:panelGroupLayout id="pgl2" layout="horizontal"
valign="bottom"
inlineStyle="width:230px;">
<af:quickQuery label=" " id="qryId1" searchDesc=" "
value="#{bindings.TreasuryDepartmentVO1Query.quickQueryDescriptor}"
model="#{bindings.TreasuryDepartmentVO1Query.queryModel}"
queryListener="#{bindings.TreasuryDepartmentVO1Query.processQuery}"
layout="vertical">
<f:facet name="end">
<af:group id="g3">
<af:commandLink text="Advanced" rendered="false"
id="cl1"/>
</af:group>
</f:facet>
</af:quickQuery>
<af:commandImageLink id="ex1" icon="/images/excel_j.jpeg"
shortDesc="#{finiqwebappuiBundle['Common.exportButton']}"
partialTriggers="qryId1 "
visible="#{bindings.TreasuryDepartmentVO1Iterator.estimatedRowCount ne '0' ? 'true':'false'}"
partialSubmit="true">
<af:exportCollectionActionListener exportedId="t1"
type="excelHTML"/>
</af:commandImageLink>
</af:panelGroupLayout>
<af:table columnStretching="last"
summary="Treasury Departments"
value="#{bindings.TreasuryDepartmentVO1.rangeSet}"
var="row"
rows="#{bindings.TreasuryDepartmentVO1.rangeSize}"
fetchSize="#{sessionScope.FINIQGV.displayRecordCount}"
rowBandingInterval="0"
selectedRowKeys="#{bindings.TreasuryDepartmentVO1.collectionModel.selectedRow}"
selectionListener="#{backingBeanScope.PaginationDefBean.rowSelected}"
rowSelection="single"
partialTriggers="::soc1 ::qryId1 ::ex1 ::pd1"
binding="#{TreasuryDepartmentSetupBean.bookTable}"
id="t1" inlineStyle="height:220.0px;" width="881">
<f:attribute name="VOObject" value="TreasuryDepartmentVO1"/>
<af:column rowHeader="unstyled" sortProperty="BookCode"
sortable="true" align="left"
headerText="#{finiqwebappuiBundle['TreasuryDepartmentSetup.branchCode']}(#{bindings.TreasuryDepartmentVO1.estimatedRowCount})"
id="c8">
<af:outputText value="#{row.BookCode}" id="ot10"/>
</af:column>
<af:column sortProperty="TBDBookId" sortable="true"
headerText="#{finiqwebappuiBundle['TreasuryDepartmentSetup.branchId']}"
id="c2">
<af:outputText value="#{row.TBDBookId}" id="ot8"/>
</af:column>
<af:column sortProperty="BookName" sortable="true"
headerText="#{finiqwebappuiBundle['TreasuryDepartmentSetup.branchName']}"
id="c3">
<af:outputText value="#{row.BookName}" id="ot1"/>
</af:column>
<af:column sortProperty="TBDMisc1" sortable="true"
headerText="#{finiqwebappuiBundle['TreasuryDepartmentSetup.misc1']}"
id="c10" width="50">
<af:outputText value="#{row.TBDMisc1}" id="ot3"/>
</af:column>
<af:column sortProperty="TBDDeactivateForDisplay"
sortable="true"
headerText="#{finiqwebappuiBundle['TreasuryDepartmentSetup.activation']}"
id="c9">
<af:outputText value="#{row.TBDDeactivateForDisplay}"
id="ot4"/>
</af:column>
<af:column sortProperty="TBDMisc2" sortable="true"
headerText="#{finiqwebappuiBundle['TreasuryDepartmentSetup.misc2']}"
id="c7">
<af:outputText value="#{row.TBDMisc2}" id="ot11"/>
</af:column>
<af:column sortProperty="TBDMisc3" sortable="true"
headerText="#{finiqwebappuiBundle['TreasuryDepartmentSetup.misc3']}"
id="c5">
<af:outputText value="#{row.TBDMisc3}" id="ot7"/>
</af:column>
<af:column sortProperty="TBDMisc4" sortable="true"
headerText="#{finiqwebappuiBundle['TreasuryDepartmentSetup.misc4']}"
id="c4">
<af:outputText value="#{row.TBDMisc4}" id="ot5"/>
</af:column>
</af:table>
<af:panelGroupLayout id="dcpanel" layout="horizontal">
<af:panelGroupLayout id="paginationDC" layout="horizontal"
partialTriggers="qryId1 t1"
visible="#{bindings.TreasuryDepartmentVO1.estimatedRowCount > '10' ? 'true':'false'}">
<PGN:PaginationDef First="First" Last="Last"
Iterator="TreasuryDepartmentVO1Iterator"
VOObject="TreasuryDepartmentVO1"
NextSet="NextSet"
PreviousSet="PreviousSet" id="pd1"/>
</af:panelGroupLayout>
</af:panelGroupLayout>
</af:panelGroupLayout>
</af:panelGroupLayout>
</af:group>
</f:facet>
</af:pageTemplate>
</af:form>
</af:document>
</f:view>
</jsp:root> -
What is the maximum length of LONG data type in Forms 6i?
What is the maximum length of LONG data type in Forms 6i?
Do you mean the maximum size of a LONG that Forms 6i can display or the maximum size that can be stored in the database which sits behind your Forms application?
Regards, APC -
How to print devlievery document with out condition record mess type
Hi,
Actually user want to take the sample print out ( Hard copy ) of the delivery note and other documents for reference, even the message type processed, not processed and even ended with errors also
I have written a program to display the delivery document numbers with check boxses and added one button in application tool bar.
onece user executed the program, he will able to see all the delivery or sales numbers with checkboxes.
now requirement is, users will select check box and click on the print button it should fire printouts in local printer of user location.
for this what we are planning is we want to maintian the entries in NAST by RV_MESSAGE_* function modules and printing the output immedaietly
If any one worked on this kind of requirement, please suggest step by step, how we can print the documents with directly maitaining the message types with out condition records
Thanks in advance.
RajuHi,
Generally if we create any document ( sales or delivery ), based on the condition record message type will be created and with message type details print will be triggered when the medium is 1, date time 4
But in my case i want to take the printout irrespective of the message and condition records
i want to take printout even if the message processed,not processed and ended with error.
is there any way to take the print of the documents by using function modules or updation of NAST table.
Please help me.
Thanks in advance
Raju -
How to restrict LOV to a particular project type through form personalize.
Hi,
I got a requirement to restrict LOV to a particular Project type through form personalization in project accounting module. form name: PAXPREPR
i tried the below code in Builtin, but it didn't work
SELECT distinct PROJ.SEGMENT1, PROJ.NAME,
PROJ.DESCRIPTION, PROJ.PROJECT_ID
FROM PA_PROJECTS_ALL PROJ,
PA_PROJECT_TYPES_ALL TYPES,
pa_proj_elements ppe,
pa_proj_structure_types ppst,
pa_structure_types pst
WHERE PROJ.TEMPLATE_FLAG <> 'Y'
AND PROJ.PROJECT_TYPE = TYPES.PROJECT_TYPE
AND TYPES.CC_PRVDR_FLAG <> 'Y'
AND proj.project_id = ppe.project_id
and ppe.object_type = 'PA_STRUCTURES'
and ppe.proj_element_id = ppst.proj_element_id
and ppst.structure_type_id = pst.structure_type_id
and pst.structure_type = 'FINANCIAL'
and proj.project_type = 'GRANT'
order by PROJ.SEGMENT1
please suggest me where i went wrong.
Edited by: 925049 on Apr 3, 2012 2:49 PMIn the Control Data of FS00 there is field 'Authorization Group'
Please Create an Authorization Group for those user ID who can post TDS entries.
then Maintain this group for TDS related GL.
Then others will not able to post to this GL.
Regards,
Alok -
Displaying all the records in a tabular form on a single page
Hello,
After setting up a data entry page, I have hit an unexpected problem.
The logic in my page requires that all the records in my tabular form should be displayed .
The tabular form is based on a collection, and the user selects rows through a checkbox.
Any reload of the page due to pagination will break the logic, as some calculation and display events occur during page load,
based on the previous page.
I need to display about 25 rows.
I have changed the report attribute to display 50 rows, but it displays rows only up to the bottom of the screen,
i.e. 11 rows.
Unfortunately I only just added some new rows and saw this behaviour else I would not have gone that way,
as I expected APEX to display all rows if required.
Some help will be much appreciated.
Regards
Leckrajleckj wrote:
Hello,
After setting up a data entry page, I have hit an unexpected problem.
The logic in my page requires that all the records in my tabular form should be displayed .
The tabular form is based on a collection, and the user selects rows through a checkbox.
Any reload of the page due to pagination will break the logic, as some calculation and display events occur during page load,
based on the previous page.
I need to display about 25 rows.
I have changed the report attribute to display 50 rows, but it displays rows only up to the bottom of the screen,
i.e. 11 rows.
Unfortunately I only just added some new rows and saw this behaviour else I would not have gone that way,
as I expected APEX to display all rows if required.Pagination settings are cached for the duration of the session. For this change to be instantly visible, either log out, restart the brower, and log in again, or manually re-request the page from the browser address bar, adding 'RP' in the ClearCache position in the URL. -
How to enable Multi-record select in Oracle Forms
Hi
we recently upgraded to R12 -- 12.1.3.
we have a requirement in which I should let the users select multiple records in a tabular Form (custom form).
Currently we have a custom form that displays Open sales orders with credit holds. After selecting the record, the user can release the hold on the order by clicking on a button. The requirement is for enabling selection of multiple records and release.
We have a similary functionality in 'Quick Sales Orders' form. In this form, multiple lines can be selected by pressing 'CTL' and clicking on the records.
I read about using APP_MULTI for this. But I couldnt figure out how to enable the multiple selection.
If someone could throw some light on this, it would be greatly helpfulSee http://stackoverflow.com/questions/3291758/how-do-i-use-the-app-multi-package-to-support-multi-selection-in-my-oracle-form for steps/sample code.
Sandeep Gandhi -
Hi,
Are SQL Types supported in Oracle Forms 10.1.2.0.2 ?
Today I had a problem with them . I used a SQL type in forms , I compiled it, tested it, everything was fine but once I used a different database other than the one I used for the compilation, I start getting "ORA-06508 PL/SQL: could not find program unit being called" errors for my form's program unit in which I used the SQL type.
Anybody has an idea about this ?
ThanksI meant the user defined sql types. Here is an example
CREATE OR REPLACE
TYPE myType AS OBJECT ( char_Column VARCHAR2(32000) )
CREATE OR REPLACE TYPE myTypeTable AS TABLE OF myType;Then In form
procedure myProc is
vMyTypeTable myTypeTable;
begin
null;--Some code here ..having the above decalarition is enough to reproduce the problem
end; -
Record disappear on the form, but not in the table
Hi,
I have a main form which ties to table tab1 and subform which ties to table
tab2
User entered a record in the main form and not completely finished and go to another form and try to setup something else. And click "Refresh All"
When the user went back to the main form, the record is lost on the form, but the record in tab1, I think information of the subform is not entered, and maybe because it is an inner join, that's it is not shown on the form?
Please advice how I can fix this or how we can prevent this in the future.
Thanks in advance.I think you are right about the inner join causing the problem. Can you post the SQL of the query you are using as the main form's record source? Usually, when you have a main form/sub form setup, each form has a table (not a query) as its record source.
If you set up the master/child links between the two it becomes an implied outer join.
Bill Mosca
www.thatlldoit.com
http://tech.groups.yahoo.com/group/MS_Access_Professionals -
Can't create object types in forms 10
Hello,
I am trying to use object types in forms 10.
I have already created successfully two object types and also corresponding object views.
With one object type A everything works fine in form. But with the other object type B it doesn't.
I am calling the constructor of object B and after the constructor finshed, forms says that there is a numeric or value error.
Well, by nbow I have reduced attributes from object B so that they are identical to object A (which works). But still get the same error or if I use a different constructor I get NULL as a return value. I tested the constructors with test script in the database directly and viola - the constructor are working fine.
Only if I use the constructors in forms environment they fail.
Any ideas why this might happen?
Thank you
Matthias
Well, I fear to use the object types in my next project cause if I run into trouble if the object types are so easy with less code, what else might happen if they are filled up with much more code?Hello again,
I have tried again and still get the exception.
Now I provide the code. Perhaps someone can see, why this exceptioon occurs.
In the database I coded the following:
create or replace type GenericObject as object
-- Attributes
iVersion VARCHAR2(8),
-- Member functions and procedures
MEMBER FUNCTION toString(SELF IN OUT NOCOPY GenericObject) RETURN VARCHAR2,
FINAL MEMBER FUNCTION toString001(SELF IN OUT NOCOPY GenericObject) RETURN VARCHAR2,
NOT INSTANTIABLE MEMBER PROCEDURE log(pLogger IN OUT MyLogger)
) NOT INSTANTIABLE NOT FINAL
create or replace type body GenericObject is
-- Member procedures and functions
MEMBER FUNCTION toString(SELF IN OUT NOCOPY GenericObject) RETURN VARCHAR2 IS
BEGIN
RETURN SELF.toString001();
END;
FINAL MEMBER FUNCTION toString001(SELF IN OUT NOCOPY GenericObject) RETURN VARCHAR2 IS
BEGIN
RETURN 'GenericObject(' || SELF.iVersion || ')';
END;
end;
create or replace type MyTestA UNDER GenericObject
-- Attributes
iPk VARCHAR2(16),
iName VARCHAR2(100),
iDCN NUMBER,
-- constructor
CONSTRUCTOR FUNCTION MyTestA(pName VARCHAR2, pDummy INTEGER) RETURN SELF AS RESULT,
CONSTRUCTOR FUNCTION MyTestA(pPk VARCHAR2) RETURN SELF AS RESULT,
STATIC FUNCTION mycreate(pName VARCHAR2) RETURN MyTestA,
-- Member functions and procedures
OVERRIDING MEMBER FUNCTION toString(SELF IN OUT NOCOPY MyTestA) RETURN VARCHAR2,
FINAL MEMBER FUNCTION toString002(SELF IN OUT NOCOPY MyTestA) RETURN VARCHAR2,
OVERRIDING MEMBER PROCEDURE log(SELF IN OUT NOCOPY MyTestA, pLogger IN OUT MyLogger)
) NOT FINAL
create or replace type body MyTestA is
-- constructors
CONSTRUCTOR FUNCTION MyTestA(pName VARCHAR2, pDummy INTEGER) RETURN SELF AS RESULT IS
BEGIN
SELF.iVersion := '1.1';
SELF.iPk := 1;
SELF.iName := pName;
SELF.iDCN := 1;
RETURN;
END;
CONSTRUCTOR FUNCTION MyTestA(pPk VARCHAR2) RETURN SELF AS RESULT IS
BEGIN
SELECT VALUE(o) INTO SELF FROM v_testa o WHERE o.ipk = pPk;
RETURN;
END;
STATIC FUNCTION mycreate(pName VARCHAR2) RETURN MyTestA IS
BEGIN
RETURN MyTestA(pName, 1);
END;
-- Member procedures and functions
OVERRIDING MEMBER FUNCTION toString(SELF IN OUT NOCOPY MyTestA) RETURN VARCHAR2 IS
BEGIN
RETURN toString002();
END;
FINAL MEMBER FUNCTION toString002(SELF IN OUT NOCOPY MyTestA) RETURN VARCHAR2 IS
lvText VARCHAR2(1000);
BEGIN
lvText := SELF.toString001();
RETURN 'MyTestA(' || iPk || ', ' || iName || ', ' || 'lvHersteller.toString()' || ', ' || lvText || ')';
END;
OVERRIDING MEMBER PROCEDURE log(SELF IN OUT NOCOPY MyTestA, pLogger IN OUT MyLogger) IS
BEGIN
pLogger.log(toString());
END;
end;
CREATE OR REPLACE VIEW v_testa OF MyTesta
WITH OBJECT IDENTIFIER (iPk) AS
SELECT
'1.0' iVersion
,g.pk iPk, g.NAME iName, g.ora_rowscn iDCN FROM o_geraete g
DROP TABLE o_geraete;
CREATE TABLE
o_geraete
pk VARCHAR2(16)
, name VARCHAR2(100)
, hersteller_FK VARCHAR2(16)
, zaehlernummer VARCHAR2(20)
, dummy VARCHAR2(10)
INSERT INTO o_geraete
VALUES(
'100', 'Stromzähler', '1', 'AB-56', 'dumb'
INSERT INTO o_geraete
VALUES(
'200', 'Wasserzähler', '2', 'WS-09', 'dumb'
In forms I created a form from the view and coded into the on-insert-trigger:
declare
lvtest mytesta;
begin
message('1');
lvtest := new mytesta(:blk_testa.iname, 1);
message('2');
message('3' || lvtest.tostring());
exception
when others then
message('Exception: ' || sqlerrm);
end;
And in that forms block I got the exception.
Perhaps someone has ANY idea...
Thanx a lot
Matthias
Message was edited by:
user522343
Message was edited by:
user522343 -
Finding output type and form for the transaction
hi all,
i have a problem finding output type and form for the transaction j1iv .actually i need to find the standard output type and form name for the transaction j1iv. how can we do it.Hi Abinash,
Go through the following steps.
1 . Go to the transaction <b>NACE.</b>
2. You will be able to see the <b>Application and description</b> tab over
there. Select the Application for which you need the output type.
3. After selecting the Application..on the top you can see the tab--
output types...click in that..here you will be able to see all the <b>output
types for that application.</b>
4. Now select a output type ..and on the left side u will be able to see
the tab for processing routines...double click on it...
5. Here you will be able to see the standard SAP program...the form
routine...the form..attached to it..
Please Reward..if helpful..
Regards,
Himanshu. -
Hi,
I want to know the output type for Form 16, from where i can find it..
ThanksHi P ,
have u seen the program of that Form 16? Run the program itself , it will give defalut output types.
i think its the Form name not the output type.
regards
Prabhu -
Extension type for mime-type "multipart/form-data"
Hello:
If I want to register a mime-type of type "multipart/form-data" in WebLogic 6.0
what, if any, extension should I specify fot it in the web.xml? Is it necessary
to specify this mime-type for handling "multipart/form-data" type http requests?
Thanks
John
You cannot use request.getParameter() for Multipart/form-data.
You need to Use getInputStream and use the InputStream to read data.
Please Refer Jeason Hunters Implementation for the same. Its a very good example.
Kumar.
John Buckley wrote:
> Hmm. Strange. When I send in a multipart/form-data request and when I try to do
> a request.getParameter within my servlet it returns null and also throws a socket
> exception at the server console.
>
> Any ideas?
>
> John
>
> Mettu Kumar <[email protected]> wrote:
> >I don't think its neccesary as I am able to run my code with wls6.0 without
> >registering
> >multipart/form-data.
> >
> >kumar.
> >John Buckley wrote:
> >
> >> Hello:
> >> If I want to register a mime-type of type "multipart/form-data" in
> >WebLogic 6.0
> >> what, if any, extension should I specify fot it in the web.xml? Is
> >it necessary
> >> to specify this mime-type for handling "multipart/form-data" type http
> >requests?
> >>
> >> Thanks
> >>
> >> John
> >
-
I use JDeveloper 10.1.3.1 for my SOA project. Dose human task limited to JSP forms and I have to use only JSP forms? How can I use another type of forms like aspx forms? If it allows using multi type forms what I must do for that?
Thanks.Good question fro another forum. BPEL: BPEL
Frank
Maybe you are looking for
-
"BCP Commit Failed" New Install On Windows 2008 R2 with SQL Server 2008 R2
I am installing a new Netweaver install on a virtual machine loaded with Windows 2008 R2 and SQL Server 2008 R2. The install gets to the "Import ABAP" phase and just hangs. SAPINST says it is still running, but there is no activity to suggest there i
-
Dear all, I have created a company code and assigned the same to CAIN chart of accounts. But when i go to FS00 & FSP0, no GL accounts are there for the company code. The following error comes: "Specify an existing value" Can anyone help me solve this
-
How do I rotate a received email pdf document
email attachments i receive need rotating to view...How do I rotate them??
-
"Visual" Tables and Constraints are missing!!!
Hi all, i drew my database diagram and deployed to the database. But the creation file accuse a few tables that were created and deleted in the drawing process. I mean, they are not in the diagram, but JDeveloper is seeing them somehow. After deployi
-
Dear All i finished all basics about studing Oracle ADF in JDeveloper and i think i have to learn User Interface Building ( i have a little experience in Java Buildings ). But when i started in the second issue , i founded that we can work with ADF C