TOC using auto-generate TOC function in RH - wierd XREFs
I am using TSC2 on an XP machine.
I linked a FM file (not a book) and then used TOOLS, Auto-Create TOC. It does that just fine... but there are some topics named in the TOC as follows:
XREF_1234_1.0_Name of Topic
When I look at the project manager, although these are not topics, they are listed below the topics (sort of greyed out)
When I go to that topic, there is a little flag icon which says its a bookmark. If I delete the flag icon then the topic names correctly... what am I deleting? What are those bookmarks? Is that a setting I can change somewhere?
TIA,
Adriana
Hi Adriana.
These bookmarks are being created because of something in your FM file. They could be bookmarks or some other element. Deleting them won't delete any content apart from the TOC entry so you are OK there. You can prevent having these by either removing the element from the FM file or manually creating the TOC. If the former, I can't say for sure what causes them without knowing more about your FM file.
Read the RoboColum(n).
Similar Messages
-
Problem in using Auto-generated Table in Program
Hi experts,
I'm using some auto-generated table in my program. But the Problem is program is not activated due to non-existance of any type of table or structure or view of that Table type in the development server. i.e. table name in development is FMFMOADE12200014 and same in Production is FMFMOAPE14000018.
How can I solve this problem to active the program and transport it?
Thnaks in advance.
GoutamHi Friend ,
If an Auto-generated tables inside your program ,then you should not use that table directly as internal table type .
In that case you have used the Dynamic structure in your program .
tips is you should check first the table is there in the database through your programing using the standard function module for checking the table exsisting , then use the field symbols for dynmaic creating of program strucuture ,including field creation to tat strcuture . this will make your program more lines in that case you can write subroutine for creating the fields and adding inside the dynamice strucure .
simple example please see this link : [http://www.sap-img.com/ab030.htm]
becasuse we do have the same auto-generating table concept in Finance base on the Operating cencern out table name & fields inside will be changing ,Our program has to support world wide Rollouts . so we used dynamic structuring inside Our program .
Regards, -
Installing components using auto-generated plans from Jython CLI
Hi All,
for specific reasons, we want to install a set of components with fixed signatures from Jython CLI, but without appropriate plans. In fact, we want to simulate the behavior that we know from Plugin UI, i.e. linking directly to an installer of a component.
We figured the following steps are necessary within CLI code:
1) For the targeted component generate an appropriate install plan using 'pdb.p.genplan' command. This unfortunately does not create the plan within the system, but rather has to be redirected to a file.
2) Import the previously generated plan using 'pdb.p.ci' command from this file.
3) run the plan using fixed signature to install component
4) eventually remove the plan.
Now, the problem is, that step 1) generates a plan targeted for the folder '/system/autogen', but step 2) fails on importing the plan there, because the folder is owned by the system plugin. So we would end up parsing the XML file, replacing path and so on .... We definately don't want to reinvent the wheel, here.
Any help appreciated!!!
Regards,
FrankFirst of all, thanks for the super-fast reply.
We got around with parsing using the xml.dom.minidom package in Python. Three more lines and poorer performance, but nothing you can measure against the CLI performance itself ;-)
I like the idea of using a template plan, as you suggested, because the generated ones bear another problem: We have to pipe in the plan parameters, which we don't know for sure, except for one, that is the 'markOnly' flag. So this might get us around piping in stupid dummy params.
How exactly do you wait for the plan completion? We use 'pe.p.lo', but don't know how to figure out, if it was successful or not, at all. No return code this time, and stdout isn't filled in markOnly=true mode.
Regards,
Frank -
Problem using Auto Generated Task Form with Autogenerated ADF controls
Sorry bothering you again, but I'm in troubles again.
I'm using an autogenerated page for a human task with adf controls. Generates fine, it's deployed in App Server and runs Ok, buth when you try to see the form, you get this error:
500 Internal Server Error
Servlet error: Security sensitive exception occured. Please consult application log for details.
And in the log, I got:
oracle.classloader.util.AnnotatedNoClassDefFoundError:
Class not found:oracle.classloader.util.AnnotatedNoClassDefFoundError
Dependet class: oracle.bpel.services.workflow.adfforms.BPELWFDCDef
Loader: oracle.bpel.common:10.1.3
Origen : /C:/programs/com/oracle/SOASuite/10.1.3.1/bpel/system/services/lib/bpm-services.jar
Configuration: <code-source> in /C:/programs/com/oracle/SOASuite/10.1.3.1/j2ee/oc4j_soa/config/server.xml
Class can be found in:
1. Code origen: /C:/programs/com/oracle/SOASuite/10.1.3.1/BC4J/jlib/adfui.jar (from <code-source> in /C:/programs/com/oracle/SOASuite/10.1.3.1/j2ee/oc4j_soa/config/server.xml)
Este origen de código está disponible en el cargador adf.oracle.domain:10.1.3.
Este origen de código está disponible en el cargador adf.generic.domain:10.1.3.
2. Origen de Código: /C:/programs/com/oracle/SOASuite/10.1.3.1/BC4J/lib/adfm.jar (from <code-source> in /C:/programs/com/oracle/SOASuite/10.1.3.1/j2ee/oc4j_soa/config/server.xml)
Este origen de código está disponible en el cargador adf.oracle.domain:10.1.3.
Este origen de código está disponible en el cargador adf.generic.domain:10.1.3.
at oracle.classloader.PolicyClassLoader.defineClass(PolicyClassLoader.java:2264)
at oracle.classloader.PolicyClassLoader.findLocalClass(PolicyClassLoader.java:1462)
at oracle.classloader.SearchPolicy$FindLocal.getClass(SearchPolicy.java:167)
at oracle.classloader.SearchSequence.getClass(SearchSequence.java:119)
at oracle.classloader.SearchPolicy.loadClass(SearchPolicy.java:645)
at oracle.classloader.SearchPolicy$CheckSharedLibraries.getClass(SearchPolicy.java:396)
at oracle.classloader.SearchSequence.getClass(SearchSequence.java:119)
at oracle.classloader.PolicyClassLoader.internalLoadClass(PolicyClassLoader.java:1674)
at oracle.classloader.PolicyClassLoader.loadClass(PolicyClassLoader.java:1635)
at oracle.classloader.PolicyClassLoader.loadClass(PolicyClassLoader.java:1620)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:242)
at oracle.jbo.common.java2.JDK2ClassLoader.loadClassForName(JDK2ClassLoader.java:38)
at oracle.jbo.common.JBOClass.forName(JBOClass.java:164)
at oracle.adf.model.adapter.DataControlFactoryImpl.createSession(DataControlFactoryImpl.java:132)
at oracle.adf.model.binding.DCDataControlReference.getDataControl(DCDataControlReference.java:76)
at oracle.adf.model.BindingContext.get(BindingContext.java:457)
at oracle.adf.model.binding.DCUtil.findSpelObject(DCUtil.java:280)
at oracle.adf.model.binding.DCUtil.findSpelObject(DCUtil.java:248)
at oracle.adf.model.binding.DCUtil.findContextObject(DCUtil.java:383)
at oracle.adf.model.binding.DCIteratorBinding.<init>(DCIteratorBinding.java:128)
at oracle.jbo.uicli.binding.JUIteratorBinding.<init>(JUIteratorBinding.java:60)
at oracle.jbo.uicli.binding.JUMethodIteratorDef$JUMethodIteratorBinding.<init>(JUMethodIteratorDef.java:138)
at oracle.jbo.uicli.binding.JUMethodIteratorDef.createIterBinding(JUMethodIteratorDef.java:93)
at oracle.jbo.uicli.binding.JUMethodIteratorDef.createIterBinding(JUMethodIteratorDef.java:84)
at oracle.adf.model.binding.DCIteratorBindingDef.createExecutableBinding(DCIteratorBindingDef.java:277)
at oracle.adf.model.binding.DCBindingContainerDef.createExecutables(DCBindingContainerDef.java:296)
at oracle.adf.model.binding.DCBindingContainerDef.createBindingContainer(DCBindingContainerDef.java:425)
at oracle.adf.model.binding.DCBindingContainerReference.createBindingContainer(DCBindingContainerReference.java:54)
at oracle.adf.model.binding.DCBindingContainerReference.getBindingContainer(DCBindingContainerReference.java:44)
at oracle.adf.model.BindingContext.get(BindingContext.java:483)
at oracle.adf.model.BindingContext.findBindingContainer(BindingContext.java:313)
at oracle.adf.model.BindingContext.findBindingContainerByPath(BindingContext.java:633)
at oracle.adf.model.BindingRequestHandler.isPageViewable(BindingRequestHandler.java:261)
at oracle.adf.model.BindingRequestHandler.beginRequest(BindingRequestHandler.java:165)
at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:178)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.0) ].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:619)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.0) ].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:368)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.0) ].server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:866)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.0) ].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:448)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.0) ].server.http.AJPRequestHandler.run(AJPRequestHandler.java:302)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.0) ].server.http.AJPRequestHandler.run(AJPRequestHandler.java:190)
at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.0) ].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
at java.lang.Thread.run(Thread.java:595)
There is something I must add?See if this helps -
https://forums.oracle.com/thread/2460140 -
Translate field name using auto-generated xlf resource for a view
Hi,
as i already know a resource file (xlf), is automatically generated for each view, message pool, etc. But textAccessor seems to work only for messages in the message pool. What if i want to translate the name of a field in a view? Do i have to repeat it's name and translation in the message pool in order to show the field's name correctly translated?
The problem arose when i was trying to display an error message bound to an input field trying to append the field's name in the current language.
Greetings
NicolásHi Nicolas,
For your WD views you are getting separate XLF files wich contains localizable text. So, if you have view with name ViewCV you will get ViewCV.wdview.xlf. Copy it with name ViewCV.wdview_de.xlf (german example), open in NWDS and change all UI text elements.
Best regards, Maksim Rashchynski. -
How to make the auto generated java script not to have any html comments.
Hello BEA Experts, As you know that auto generated javascript functions like getNetuiTagNames in Workshop are included with in the the HTML comment tags like <b><!--
--!></b> its another thing they should be generated correctly as follows <b><!--
//--!></b>, to hide it from browsers not supporting javascript.
My question is there any way to stop generation of the HTML comment tags and just genrate the javascript with in teh script elements..
Please let me know..
Thanks in advance..
-Bob F.Not sure if this is an application question or if you are trying to hook into Crystal Reports parameter UI? If the later then no option other than report design. If an application then I can move this to the Java Forums.
If you are asking how to alter the parameters I suggest you remove the Java reference and post a new question so it's not confusing the issue.
Please clarify? -
How to set the AS2 fileName for outbound Functional Ack 997 auto generated by Oracle B2B
Hi Friends,
How to set the AS2 fileName for outbound Functional Ack 997 auto generated by Oracle B2B.
External Trading Partner is sending the EDI 856 via AS2 URL to our Oracle B2B Server.
In the inbound 856 agreement, we have checked the option of Funtional Ack and also Functiona Ack handled by B2B is yes.
We have the outbound agreement which is sending that Functional ack 997 (auto generated by oracle b2b) and we have specified the Outbound AS2 channel of the Partner.
997 doc is being sent to external partner using AS2 channel, but the filename is generating as '40101'.
Please can you let me know how to set the AS2 fileName for outbound Functional Ack 997 auto generated by Oracle B2B.
Appreciate your valuable answers!!
Thanks,
AmirineniAmirineni,
AFAIK, there is no option to set the file name when the 997 is generated automatically by B2B.
Alternatively, if this is a must requirement, you can generate the FA from backend and send to B2B with MSG_TYPE =9. In this case, you can set the header with filename (How to set the actionname property in B2B 11g) -
Using taskFlow in auto generated human task
Hi,
I have auto-generated ADF human task which have simple payload with InvoiceId attribute.
In worklist app I see this attribute and in page source there is an input text with value set to #{bindings.InvoiceId.inputValue}.
I would like to add my custom task flow, which takes invoiceId as a parameter. When I set this parameter to #{bindings.InvoiceId.inputValue} I obtain strange errors.
How should I set this parameter to the payload value? (I am using JDev 11.1.1.5.).
kind regards,
Krzysztof PolakI would like to add my custom task flow, which takes invoiceId as a parameter.Does that mean you have dropped your own task flow as a ADF region into your auto generarated page and you are passing InvoiceId as input parameter to the regionBinding ?
-
How can I customize the auto-generated WSDL when using a PL/SQL webservice?
My webservice returns a refcursor as an ArrayOfString. (I followed the sample code.) Instead of everything being returned in one large array, I need to create a correct record hierarchy, like <rec1><fld1></fld1></rec1>, etc.
As far as I know, this grouping has to be done in a WSDL file. However, following this sample, the WSDL is auto-generated and overwritten with each launch of the webservice.
Am I missing something, or are there other secrets/tips?
thanksVery Nice:) Thanks!
1. I added this to my HTM HEADER:
<script language="JavaScript" type="text/javascript">
function test_javaprompt () {
var Hours = prompt("How Many Hours?");
$x('P142_HOURS').value = Hours;
doSubmit()
</script>
2. I Created an Item:
P142_HOURS
3. I Created a Button:
TEST_JAVA
a. In the Button area for, Optional URL Redirect, I selected- Target is a URL
b. URL Target- javascript:test_javaprompt();
When I press the Button then it does Exactly what I want it to do.
Except....
Ultimately, I do not want this javascript assigned to the button.
I would like to run this javascript when the value of a DatePicker Item, (P142_DROPS_SUBMITTED) is changed.
If you can help me with that then I'll be forever grateful:)
-Gary -
How to auto generate SFC Number(using the Old SFC Num) when I split a SFC
when I split a SFC (SFC Number:A001), I want to auto generate the new SFC number, and the new SFC number pattern is A001-01 (the prefix is old SFC number). I don't know how to do.
Please help me if you know it.Wenjun,
SFC ID is actually a key field so I would suggest you following [Note 1363812|https://service.sap.com/sap/support/notes/1363812] "SAP ME 5.2: Key Field Character
Restrictions" to use only legal characters in Next Number patter. If the system does not generate serialized SFCs in accordance with the patter even in this case, then it is definitely a bug.
Per on-line help: "SFC Number Serialize - the pattern that uniquely identifies the serialized SFC number during serialization, split, or relabel"
Sergiy -
Excise Invoice number not display in case auto generate
Dear Experts,
we have use auto excise invoice generation functionality, it is working properly, but only Excise Invoice number not display after saving billing document. what to do for display the same after saving billing document.
Regards
BK GAIKWADThank you Lakshmipathiji,
My question is when we have create excise invoice through J1IIN excise invoice number has been display in bottom line after saving billing document.
But in case we have creating auto generate Excise invoice, Excise Invoice number not display in same screen. How to do to display excise invoice after saving billing document.(Excise invoice generating in background but number not display in same screen)
We have changeover manual to auto generate excise invoice system.
Regards
BK GAIKWAD -
HOW TO GET AUTO GENERATED PRIMARY ID KEY BACK FROM AN INSERT STATEMENT IN .
Just recently I ran into a problem with what seems to be a deficiency in the Oracle Database. When trying to return an auto-generated key as is done in Microsoft's SQL database, it seems Oracle for whatever reason didn't add this capability, the key couldn't be passed back to the .Net call. After tinkering with the .Net software and talking with the Oracle techs, a decent work around to the problem (presented here) comes fairly close. Two things have to be done first before this will work. A sequence has to be created on the Oracle DB. Also a trigger has to be created against the table the keys are going to be returned from.
The class works by passing to the function 'update_datasets_return' a DataSet with as many tables as you want. The function spins through the tables and put the keys in each row inserted. It's assumed the first row will either be the primary key or some numeric value. This can be changed by modifying the: dt.Columns(0).ColumnName
Notice the word Inserted. On Updates and Deletes the key value is ignored because it's already present. The routine just updates the database as usual.
So in other words you could send a table to the function with rows inserted, deleted, or updated and it will take care of them all. One routine for all.
' ======================================================================
' Created by SEF and Oracle SR: 5607364.993 This is a complete Redo
' of the initial concept. SEF...
' Sample of sequence and trigger at bottom.
' Uses the ODP.NET data provider.
' update_datasets_return: Goes thru each table in the dataset and
' updates, deletes, or inserts as needed.
' If inserting, a 'sequence counter' and a 'trigger'
' using the 'before insert' must be present. The sequence
' counter is set to auto increment by 1 starting at 1.
' The trigger is specific to the table.
' Create the trigger and sequence in the database or run the samples
' below in PL/SQL. Be sure the logon with a user that has enough rights.
' Routine assumes the first column is going to hold the sequence
' number. Actually any column could be used. Just change the
' dt.Columns(0).ColumnName to whatever you want or leave as default.
' The da_RowUpdated sub is where the 'sequence number' gets returned
' on each row that is inserted into a table. Routine is ignored on
' deletes and updates. SEF...
' =======================================================================
Imports System
Imports System.Data
Imports Oracle.DataAccess.Client
Imports Oracle.DataAccess.Types
Public Class OracleUpdate
Private Shared m_conn As OracleConnection
Private Shared da As New OracleDataAdapter
Private Shared dt As DataTable
Private Shared conn As New OracleConnection
Private Shared dr As DataRow
Private Shared astep As Long
Private Shared rwIndex As Integer = 0
Private Shared tblIndex As Integer = 0
Public Shared Function update_datasets_return(ByVal constr As String, ByVal ds As DataSet) As DataSet ''ByRef ds As DataSet)
Dim selectstmt As String
m_conn = New OracleConnection(constr)
Try
m_conn.Open()
Catch ex As Exception
Throw New ArgumentException(" Error: connection lost." & ex.Message)
End Try
For Each dt In ds.Tables
''Uncomment the code only if auto numbering
''is NOT turned on for the table being updated. SEF...
''rwIndex = 0
''For Each dr In dt.Rows
'' Try
'' Select Case dr.RowState
'' Case DataRowState.Added
'' astep += 1
'' ' =======================================================
'' ' This "Try Catch" section created only if auto numbering
'' ' is NOT turned on for the table being updated. SEF...
'' ' It's a crude attempt at creating a unique number.
'' ' A more serious approach would be to use a GUID.
'' ' Use only if you decide not to have a sequence and a
'' ' trigger for the table.
'' ' =======================================================
'' Try
'' 'ds.Tables(tblIndex).Rows(rwIndex).Item(0) = astep
'' Catch
'' ' ignore the error corrected integer identity so don't randomize it
'' End Try
'' dr.Item("createdDate") = Now
'' dr.Item("changedDate") = Now
'' Case DataRowState.Modified
'' dr.Item("changedDate") = Now
'' End Select
'' Catch ex As Exception
'' conn.Close()
'' conn.Dispose()
'' Throw New ArgumentException(" Error: update_datasets " & ex.Message)
'' End Try
'' rwIndex += 1
''Next
selectstmt = "SELECT * From " & dt.TableName & " Where " & dt.Columns(0).ColumnName & " = " & 0
da = New OracleDataAdapter(selectstmt, m_conn)
Dim bldr As OracleCommandBuilder = New OracleCommandBuilder(da)
AddHandler da.RowUpdated, New Oracle.DataAccess.Client.OracleRowUpdatedEventHandler(AddressOf da_RowUpdated)
Dim insCmd As OracleCommand = Nothing
Try
insCmd = CType(bldr.GetInsertCommand(), OracleCommand)
Catch ex As Exception
Throw New Exception("")
End Try
insCmd.CommandText += " returning " + dt.Columns(0).ColumnName + " into :seqno"
insCmd.Parameters.Add(New OracleParameter("seqno", OracleDbType.Int16, _
4, ParameterDirection.Output, False, CType(0, System.Byte), CType(0, _
System.Byte), dt.Columns(0).ColumnName, DataRowVersion.Current, Nothing))
da.InsertCommand = insCmd
Try
' ===========================
da.Update(ds, dt.TableName)
' ===========================
Catch ex As Exception
Throw New ArgumentException(" Error: update_datasets_return " & ex.Message)
End Try
Next
m_conn.Close()
m_conn.Dispose()
Return ds
End Function
Friend Shared Sub da_RowUpdated(ByVal sender As Object, ByVal e As OracleRowUpdatedEventArgs)
If e.StatementType = StatementType.Insert Then
e.Row(0) = Int64.Parse(e.Command.Parameters("seqno").Value.ToString())
End If
End Sub
' ================================================================================
' Notes:
' =================== How To -- Sample section for PL/SQL ==================================
' myTrigger, myTable, mySequence, and myColumn are values you need to supply.
' Note: A trigger needs to be created for each table.
' A sequence needs to be created only once and referenced each time
' in the trigger(s). Or you could create a new sequence each time you
' create a trigger. Sort of a waste of effort.
' Explanation:
' myTrigger = The name you are giving this trigger.
' If a trigger with same name already
' exist, it will be overwritten.
' myTable = Table you want to add the sequence numbers to.
' mySequence = Sequence counter you created. Whatever name you called it.
' myColumn = The column to update with the sequence number.
' =================================================================================
' -- Run in PL/SQL or create at DB. --
' create or replace trigger myTrigger
' before insert on myTable for each row
' begin
' select mySequence.nextval into :new.myColumn from dual ;
' end;
' -- Run in PL/SQL or create at DB. --
' create sequence mySequence
' MINVALUE 1
' START WITH 1
' INCREMENT BY 1
' NOCACHE; can be set to CACHE but sequence may contain gaps.
' Explanation of CACHE from: http://www.techonthenet.com/oracle/sequences.php
' With respect to a sequence, the CACHE option specifies how many sequence
' values will be stored in memory for faster access. The downside of creating
' a sequence with a CACHE is that if a system failure occurs, all cached
' sequence values that have not be used, will be "lost". This results in
' a "gap" in the assigned sequence values. When the system comes back up,
' Oracle will CACHE new numbers from where it left off in the sequence,
' ignoring the so called "lost" sequence values.
' Note: To recover the lost sequence values, you can always execute an
' ALTER SEQUENCE command to reset the counter to the correct value.
' NOCACHE means that none of the sequence values are stored in memory.
' This option may sacrifice some performance, however, you should not encounter
' a gap in the assigned sequence values.
End Class
C#:
using System;
using System.Data;
using Oracle.DataAccess.Client;
using Oracle.DataAccess.Types;
public class OracleUpdater2
private static OracleConnection m_conn;
private static OracleDataAdapter da = new OracleDataAdapter();
private static OracleConnection conn = new OracleConnection();
public static DataTable load_it(string constr, string strqry, string tblName)
// =====================================================================
// constr = User Id=myUser;Password=myPass";Data Source=myDataSource
// strqry = Select * from something?
// tblName = The table name to fill.
// =====================================================================
conn = new OracleConnection(constr);
conn.Open();
da = new OracleDataAdapter(strqry, conn);
OracleCommandBuilder bldr = new OracleCommandBuilder(da);
DataTable dt = new DataTable(tblName);
da.Fill(dt);
conn.Dispose();
return dt;
public static DataSet update_datasets_return(string constr, DataSet ds)
//'ByRef ds As DataSet)
string selectstmt = null;
m_conn = new OracleConnection(constr);
try
m_conn.Open();
catch (Exception ex)
throw new ArgumentException(" Error: connection lost." + ex.Message);
foreach (DataTable dt in ds.Tables)
selectstmt = "SELECT * From " + dt.TableName + " Where " +
dt.Columns[0].ColumnName + " = " + 0;
da = new OracleDataAdapter(selectstmt, m_conn);
OracleCommandBuilder bldr = new OracleCommandBuilder(da);
da.RowUpdated += new
Oracle.DataAccess.Client.OracleRowUpdatedEventHandler(da_RowUpdated);
OracleCommand insCmd = null;
try
insCmd = (OracleCommand)(bldr.GetInsertCommand());
catch (Exception ex)
throw new Exception("" + ex.Message);
insCmd.CommandText += " returning " + dt.Columns[0].ColumnName + " into
:seqno";
insCmd.Parameters.Add(new OracleParameter("seqno", OracleDbType.Int16, 4,
ParameterDirection.Output, false, System.Convert.ToByte(0),
System.Convert.ToByte(0), dt.Columns[0].ColumnName, DataRowVersion.Current,
null));
da.InsertCommand = insCmd;
try
// ===========================
da.Update(ds, dt.TableName);
// ===========================
catch (Exception ex)
throw new ArgumentException(" Error: update_datasets_return " +
ex.Message);
m_conn.Close();
m_conn.Dispose();
return ds;
If you need a working program of how this works, let me know.Oh my god, it is too long! You definitely check out types, casting and especially ODP.Net (it does everything for you)... etc. They can help you to simplify your code. I do not have enough time to copy paste it to Studio and understand and solve your issue, so I got title of your message as your main question.
In Oracle, you can create an autonumber field by using sequences object. This is really useful when you need to create a unique number to act as a primary key.
Basically you can create a sequence simply typing;
CREATE SEQUENCE MY_SEQUENCE;
now you have a sequence called "MY_SEQUENCE"... Then, I advice you select a number from sequence;
select MY_SEQUENCE.nextval from dual;
I said I advice actually kinda must, although it called sequence, I cannot be sequential. Do not even try to predict the value. You can be sure that it is unique number so you can use it.
Then insert you record and use that number part of your primary key. I think that's it. Have fun. -
How to strip out leading numbers in auto-generated bookmarks?
For years now my team has used an Acrobat plug-in called Compose, which lets us strip out the leading numbers from bookmarks in PDFs generated from FrameMaker 7.2. (The tool works after the fact, so that all bookmark creation occurs after the PDF is created.)
For example, these document headings:
1.1 Intro to Happy Fun Ball
1.1.1. System Requirements
1.1.2. Cautionary Information (WARNING)
are translated to the bookmarks:
Intro to Happy Fun Ball
System Requirements
Cautionary Information (WARNING)
After evaluating the new Adobe Tech Comm Suite, it seems that Acrobat 9 Extended Pro isn't compatible with the Compose plug-in (or at least, the version we've been using for years).
Does anyone know if there's a method -- built into either FrameMaker 8 or Acrobat 9 Pro Extended, or in an SDK -- that allows you to auto-generate bookmarks but strip out leading numbers? It seems this is a no-brainer of a feature, yet I can't find it listed anywhere in the Acrobat documentation.
Other names for this feature might be "wild card" or "text masking," not to mention "strip leading numbers."
Thanks very much for your help.
Regards,
BusterThe following code can be run from the JavaScript console, but since you're new to this, it might be easier to create a button, paste the code shown below into the Mouse Up event of the button, select the Hand tool and click the button to execute the code, and then delete the button if everything is OK.
If you need to do this a lot, you should consider setting up a custom menu item or toolbar button that executes this code:
function removeBookmarkPrefix(bookmark) {
// Resursive function to remove bookmark prefix
// Rename bookmark without prefix
bookmark.name = bookmark.name.replace(/^\S+\s+/, "");
if (bookmark.children != null) {
for (var i = 0; i < bookmark.children.length; i++) {
removeBookmarkPrefix(bookmark.children[i]);
// Remove all bookmark prefixes, recursively
removeBookmarkPrefix(bookmarkRoot);
The code uses what's called a regular expression, which in this case is fairly simple: /^\S+\s+/
This regular expression means to search the bookmark name for the beginning of the string (^), followed by one or more non-whitespace characters (\S+), followed by one or more white space characters (\s+), and replace all that with an empty string (""), thus removing it. This should work with the bookmark name prefixes you describe.
The function is called recursively, which is an efficient way to handle the hierarchical structure that the bookmark tree can have.
If you get stuck, post again.
George -
Missing Outcomes for Human Task in Auto-Generated ADF Project
Hi
I am using SOA Suite 11g (11.1.1.5) and have created a Human Task in my composite application and then auto-generated the appropriate task form using the wizard which has been successful and created the ADF project.
My task has 3 outcomes the responses of which are then mapped out in the BPEL process.
When the human task is raised it puts a notification in the BPM worklist as expected however the 'Actions' list on the notification is blank? I was expecting there to be 3 values in the Actions list one for each of my outcomes.
I have tried re-building the ADF project from scratch from the task flow but still no joy.
I have not changed the ADF project over its default.
My next step is to look into the binding on the Actions picklist but I thought this was standard functionality and that the wizard handled this at the point of form generation.
Any assistance greatly appreciated.Hi
User error.
I had sent the task to a group rather than a user. Before the task outcomes will display in the ADF page a user must first claim the notification using the 'Claim' button. On re-selecting the notification the task outcomes display as buttons. -
SQL Dev Data Modeller: Auto-generate Surrogate PKs in the Physical Model ?
How can I have the logical modeller allow the user to design with logical PKs, but then have surrogate primary keys be auto-generated off sequences by the modeller when it comes to create the physical model - as in conventional application design?
Without this facility, this tool is useless, IMO.
I want:
i). sequences to become the physical PKs by default, and that what were the logical PKs in the logical model, to become a unique key in the physical model.
ii). I want this set by default when generating the physical model....
iii). ....with an option to turn this off on a entity-by-entity basis (as not all tables will necessarily require such a surrogate PK; so the logical PK may remain the physical PK).It is common practice that physical PKs in Oracle tables are defined from sequences (surrogate PKs), and that the logical PK from the entity becomes a unique key in the table.
This may not always be the case in every application out there, and some people may disagree, but it is nonetheless a needed feature.
My new Feature Request is therefore:
I would like to see the following additions to the product.
1. In the Preferences -> Data Modeler -> Model -> Logical, a flag that by default indicates whether the designer wishes to opt to enable this feature (ie; have all logical PKs converted to unique keys, and replaced by sequence nos. in the physical model). This flags needs to be there since in real life, albeit erroneously IMO, some people will choose not to opt to use this functionality.
2. On every entity created in the model, there needs to be a flag that allows to override this default option, as not every table will require a surrogate PK to be generated. Being able to (re)set a flag located on the entity properties (perhaps under 'Engineer To'), will accomplish this.
3. When Forward Engineering to the physical model from the logical, the following should happen.
ENTITY 1 ---------->TABLE 1
---------------------> P * Surrogate PK
* Attribute 1 -----> U * Column 1
* Attribute 2 -----> U * Column 2
o Attribute 3 ----------> Column 3
Here you can see,
- Attributes 1 & 2 (the logical PK) of the entity become a unique key in the table (columns 1 & 2),
- optional Attribute 3 becomes NULLable column 3,
- and a physical surrogate PK column is added (type unbounded INTEGER, PRIMARY KEY constraint added).
From entity DEPT as: (Examples based on SCOTT schema)
DEPTNO NUMBER(2) NOT NULL <-- Logical primary key on entity
DNAME VARCHAR2(14)
LOC VARCHAR2(13)
CREATE TABLE DEPT
(PK_DEPT INTEGER, -- New column becomes surrogate physical PK, driven from sequence defined later
DEPTNO NUMBER(2) NOT NULL, -- Former logical PK becomes a UK
DNAME VARCHAR2(14),
LOC VARCHAR2(13))
ALTER TABLE DEPT
ADD CONSTRAINT PK_DEPT PRIMARY KEY (PK_DEPT) USING INDEX PCTFREE 0
ALTER TABLE DEPT
ADD CONSTRAINT UKLPK_DEPTNO UNIQUE (DEPTNO) USING INDEX PCTFREE 0 -- Former logical PK becomes a UK (constraint name reflects this)
CREATE SEQUENCE PK_DEPT_SEQ
CREATE TRIGGER PK_DEPT_SEQ_TRG
BEFORE INSERT ON DEPT
FOR EACH ROW
WHEN (new.PK_DEPT IS NULL)
BEGIN
SELECT PK_DEPT_SEQ.NEXTVAL
INTO :new.PK_DEPT
FROM DUAL;
-- Or from 11g onwards, simply,
:new.PK_DEPT := PK_DEPT_SEQ.NEXTVAL;
END;
From entity EMP as:
EMPNO NUMBER(4) NOT NULL -- Logical primary key on entity
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NUMBER(2)
CREATE TABLE EMP
(PK_EMP INTEGER, -- New column becomes surrogate physical PK, driven from sequence defined later
FK_DEPT INTEGER, -- New FK to surrogate PK in DEPT table (maybe NOT NULL depending on relationship with parent)
EMPNO NUMBER(4) NOT NULL, -- Former logical PK becomes a UK
ENAME VARCHAR2(10),
JOB VARCHAR2(9),
MGR NUMBER(4),
HIREDATE DATE,
SAL NUMBER(7,2),
COMM NUMBER(7,2),
DEPTNO NUMBER(2))
ALTER TABLE EMP
ADD CONSTRAINT PK_EMP PRIMARY KEY (PK_EMP) USING INDEX PCTFREE 0
ALTER TABLE EMP
ADD CONSTRAINT FK_DEPT FOREIGN KEY (FK_DEPT) REFERENCES DEPT (PK_DEPT)
ALTER TABLE EMP
ADD CONSTRAINT UKLPK_EMPNO UNIQUE (EMPNO) USING INDEX PCTFREE 0 -- Former logical PK becomes a UK (constraint name reflects this)
CREATE SEQUENCE PK_EMP_SEQ
CREATE TRIGGER PK_EMP_SEQ_TRG
BEFORE INSERT ON EMP
FOR EACH ROW
WHEN (new.PK_EMP IS NULL)
BEGIN
SELECT PK_EMP_SEQ.NEXTVAL
INTO :new.PK_EMP
FROM DUAL;
-- Or from 11g onwards, simply,
:new.PK_EMP := PK_EMP_SEQ.NEXTVAL;
END;
[NOTE: I use PCTFREE 0 to define the index attributes for the primary & unique keys since the assumption is that they will in general not get updated, thereby allowing for the denser packing of entries in the indexes and the (albeit minor) advantages that go with it.
This is certainly always true of a sequence-driven primary key (as it is by its very nature immutable), but if the unique key is likely to be frequently updated, then this PCTFREE option could be user-configurable on a per table basis (perhaps under Table Properties -> unique Constraints).
For non-sequence-driven primary keys, this storage option could also appear under Table Properties -> Primary Key.
I notice no storage options exist in general for objects, so you may like to consider adding this functionality overall].
Associated Issues :
- Preferences, 'Naming Standard: Templates' should be updated to allow for the unique key/constraint to be called something different, thus highlighting that it comes from the logical PK. I've used 'UKLPK' in this example.
- Mark the physical PK as being generated from a sequence; perhaps a flag under Table Properties -> Primary Key.
- When Forward Engineering, if an entity exists without a logical PK, the forward engineering process should halt with a fatal error.
!!! MODERATOR PLEASE DELETE ME !!!
Maybe you are looking for
-
I am migrating data and performing an upgrade from 9.2.0.1 to 10.2.0.3 on the same VMWARE virtual hosts. Each host is a production host. The customer does not have test, QA, or development environments or hardware either virtual or otherwise to suppo
-
How can I download Adobe CC Package for Windows version 1.1?
Hi I'm the user administrator of Adobe CC for teams in a spanish company. The problem that we found is we can't download the 1.1 version of the Adobe CC Package, just because in the spanish website it's only available the 1.0. I have this link: http:
-
How to capture screen activity? (screen&audio to video file)
Hello, I have to capture video desktop activity (including audio) to a file using JMF. I spent hours and hours searching this... a have studied a lot of classes, examples BUT I don't know how to bind them... how to record the actvity. My project is t
-
Hi Java GURUS Firts of all, I would like to start with my introduction. My self Prashant Kadam. Right now i am developing a small system in java for my organization. This application is realted with art. And here we are dealing with PDF files. So app
-
Giving a user read access to an account for all entities
Dear All, We have a series of R&D accounts that a user with limited entity security needs to review for all entities. We have security switched on for Accounts and Entities only. All entites have security classes defined, only the R&D accounts have a