How to pass multiple words as a search argument on the Acrobat Command Line?
I am trying to launch Acrobat using a multi-word search parameter on a Windows XP box. However, Acrobat is stripping the spaces between words. For example, I am trying to load Acrobat and have it search for the phrase "vision changes" using a Command Line like this:
C:\>"C:\Program Files\Adobe\Reader 8.0\Reader\AcroRd32.exe" /A search="vision changes" c:\temp\theDocument.pdf
When Acrobat loads, it shows the search panel with the phrase "visionchanges" in it. The space between the two words is gone and naturally it can't find the phrase.
I have read both the PDF Command Line parameter documents I could find. This format works fine for URLs, but for Shelling Acrobat on the local system, it doesn't work because of the space stripping problem. I have tried lots of different variants of quote characters, escape characters, even HTML characters like "&nbps;", but nothing works.
Does anyone have an answer?
For the curious here are links to the two PDF documents I found that cover the command line arguments:
http://www.adobe.com/devnet/acrobat/pdfs/PDFOpenParameters.pdf
http://www.adobe.com/devnet/acrobat/pdfs/pdf_open_parameters.pdf
Thanks,
Robert
Hey Robert,
Did you note that in the "pdf_open_parameters.pdf" document, it says that the value of the Search parameter is treated as a list of (single) words, not as a string of words (phrase)?
It says it explicitly: "You can search only for single words. You cannot search for a string of words."
PS: I'm replying to your query as a sort of thank you for posting the links to those documents. It helped me to find the way of conditioning how to open a pdf.
Similar Messages
-
How to Invoke tasks created in FrameMaker Publishing Server from the Windows command line
Hi All ,
i would like to know how can we Invoke tasks and schedules created in FrameMaker Publishing Server from the Windows command line.
we used publishing server mainly to convert Frame maker files into PDF and that should be do progarmatically without manual intervention on Demand.
so could you please let us know how can i invoke rthe task creted to convert FM file to PDF in FrameMaker Publishing Server from the Windows command line.
please let me know the command to execute .
thank you and waiting for valuable response.
best regards
Ramesh babuPlease see http://blogs.adobe.com/techcomm/2011/03/adobe-framemaker-server-10-and-its-command-line-ca pability.html for the same.
Harish Dhawan -
How can I import eex files into Applications EUL from the unix command line
How can I import *.eex and *.dis files into an Applications EUL from the unix command line?
ThanksHi
The simple answer is you either have to use the client tool DIS51ADM to import files using the command line (Discoverer Admin is a windows only client tool), or the Java command line which needs a browser.
In theory if you have a browser running on your Unix box you may be able to use the Java command line to make this work.
Best wishes
Michael -
How to pass multiple values from workbook to planning function ?
Hi,
I have created Planning function in Modeler and it has one parameter(Variable represents = Multiple single values).
When executing the planning function by create planning seq. in the web template : I see value of variable store data like ...
A.) input one value -> V1
B.) input three values -> V1;V2;V3
This function execute completely in web.
However, I want to use the planning function in workbook(Excel).
The value of variable can't input V1;V2;V3... I don't know how to pass multiple values from workbook to parameter(Multiple single values type) in planning function ?
thank you.Hi,
Please see the attached how to document (page no 16).
<a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f0881371-78a1-2910-f0b8-af3e184929be">how to</a>
Hope this was helpful
thanks -
How to Pass multiple parameter into single store procedure
How to Pass multiple parameter into single store procedure
like a one to many relationship.
it is possible then reply me immediatlyyou mean like this .....
CREATE OR REPLACE procedure display_me(in_param in varchar2,in_default in varchar2 := 'Default') is
BEGIN
DBMS_OUTPUT.put_line ('Values is .....'||in_param || '....'||in_default);
END display_me;
CREATE OR REPLACE procedure display_me_2 as
cnt integer :=0;
BEGIN
For c1_rec In (SELECT empno,deptno FROM test_emp) Loop
display_me(in_param => c1_rec.empno);
cnt := cnt+1;
end loop;
DBMS_OUTPUT.put_line('Total record count is ....'||cnt);
END display_me_2;
SQL > exec display_me_2
Values is .....9999....Default
Values is .....4567....Default
Values is .....2345....Default
Values is .....7369....Default
Values is .....7499....Default
Values is .....7521....Default
Values is .....7566....Default
Values is .....7654....Default
Values is .....7698....Default
Values is .....7782....Default
Values is .....7788....Default
Values is .....7839....Default
Values is .....7844....Default
Values is .....7876....Default
Values is .....7900....Default
Values is .....7902....Default
Values is .....7934....Default
Values is .....1234....Default
Total record count is ....18 -
How to Pass Multiple Parameters To ReportReuest Method in Oracle BI 11g
Hi,
Am integrate Oracle BI Publisher 11g via Web Services in Oracle Forms,For that am developing code in PublicReportServiceClient Class. This worked properly with out passing parameter to the report. so how to pass parameters to the report . If Report is requried some Parameters to generate report.
If any one knows about How to Passing Multiple Parameters to ReportRequest Methos in Oracle 11g. Pls help me.
Am trying with the below code for PassParameters to ReportReuest Method in Oracle BI 11g. But by using this code am able to pass only one parameter to the Report, not for multiple Parameter Passing.
ArrayOfParamNameValue PnameValue=new ArrayOfParamNameValue();
ParamNameValue Namevalue=new ParamNameValue();
Namevalue.setName("P_SNO"):
ArrayOfString aos=new ArrayOfString();
aos.getItem().add("2");
Namevalue.setValues(aos);
PnameValue.getItem().add(Namevalue);
ReportRequest RepReq = new ReportRequest();
RepReq.setParmeterNameValues(PnameValue);
Following method callRunReport() with an array of parameters used in Oracle Bi 10g,To pass multiple report parameters to ReportRequest method.
public void callRunReport (String reportPath, String[] paramName, String[] paramValue, Stringusername, String password, String format, String template, String outFile)
try {
bip_webservice.proxy.PublicReportServiceClient myPort =new bip_webservice.proxy.PublicReportServiceClient();
// Calling runReport
ReportRequest repRequest = new ReportRequest();
repRequest.setReportAbsolutePath(reportPath);
repRequest.setAttributeTemplate(template);
repRequest.setAttributeFormat(format);
repRequest.setAttributeLocale(“en-US”);
repRequest.setSizeOfDataChunkDownload(-1);
if (paramName != null)
ParamNameValue[] paramNameValue = new ParamNameValue[paramName.length];
String[] values = null;
for (int i=0; i<paramName.length; i++)
paramNameValue[i] = new ParamNameValue();
paramNameValue.setName(paramName[i]);
values = new String[1];
values[0] = paramValue[i];
paramNameValue[i].setValues(values);
repRequest.setParameterNameValues(paramNameValue);Ramani_vadakadu wrote:
window.open("http://hq-orapp-03.kuf.com:9704/xmlpserver/~weblogic/kufpec/BTA/KUF_CONF_ITINUD.xdo?_xpf=&_xpt=1&_xdo=%2F~weblogic%2Fkuf%2FBTA%2FKUF_CONF_ITINUD.xdo&_xmode=&_paramsP_BTM_ID="+parseInt(document.getElementById('P3_BTA_ID').value)+"&_xt=KUF_CONF_ITINUD&_xf=pdf&_xautorun=true&id=weblogic&passwd=kuf2011","_blank");
the above code we are using apex JS to BI publisher calling for report as PDF
i don't know exactly where your parameters , did you customize my link to multiple parameters
'http://192.168.0.57:8889/reports/rwservlet?userid=retail/1@xe&destype=cache&desformat=PDF¶mform=no&report=item_cost&P_BATCH_NO='+$v('P138_BATCH_NO'); -
How to pass multiple records to target side using xquery
Hi Everybody,
I am using xquery transformation.
Input: Source payload contains 5 variables.
Target payload contains 5 variables.
I have input with payload with multiple instance like:
<Input>
<payload1>
<a>1<a>
<b>2<b>
<c>3<c>
<d>4<d>
<e>5<e>
</payload1>
<payload1>
<a>6<a>
<b>7<b>
<c>8<c>
<d>9<d>
<e>10<e>
</payload1>
</Input>
So my requirement is to pass above records into target side,
So I am using xquery Transformation.
I have written code as follows.
(:: pragma bea:global-element-parameter parameter="$tHRecAdv1" element="ns0:THRecAdv" location="../XMLSchemas/THRecAdv.xsd" ::)
(:: pragma bea:global-element-return element="ns1:ShipmentReceiptEBO" location="../../AIAReferenceModelProject/EnterpriseObjectLibrary/Core/EBO/ShipmentReceipt/V1/ShipmentReceiptEBO.xsd" ::)
declare namespace ns2 = "http://xmlns.oracle.com/EnterpriseObjects/Core/Custom/EBO/ShipmentReceipt/V1";
declare namespace ns1 = "http://xmlns.oracle.com/EnterpriseObjects/Core/EBO/ShipmentReceipt/V1";
declare namespace ns4 = "http://xmlns.oracle.com/EnterpriseObjects/Core/Common/V2";
declare namespace ns3 = "http://xmlns.oracle.com/EnterpriseObjects/Core/Custom/Common/V2";
declare namespace ns0 = "http://diversey.com/THRecAdv";
declare namespace xf = "http://tempuri.org/ShipmentReceiptServicesProject/XMLTransformations/THRecAdvFile_ShipmentReceiptEBO_JDE_XQuery/";
declare function xf:THRecAdvFile_ShipmentReceiptEBO_JDE_XQuery($tHRecAdv1 as element(ns0:THRecAdv))
as element(ns1:ShipmentReceiptEBO) {
for $THRecAdvFields in $tHRecAdv1/ns0:THRecAdvFields
return
<ns1:ShipmentReceiptEBO>
<ns4:Identification>
<ns4:BusinessComponentID>{ data($THRecAdvFields/ns0:JD_WHSE_Code) }</ns4:BusinessComponentID>
<ns4:ID schemeID = "{ (data($THRecAdvFields/ns0:JD_PO_Number)) }"
schemeVersionID = "{ data($THRecAdvFields/ns0:JD_PO_Type) }">{ data($THRecAdvFields/ns0:WMS_InternalPONumber) }</ns4:ID>
<ns4:ApplicationObjectKey>
<ns4:ID>{ data($THRecAdvFields/ns0:JD_BranchPlant) }</ns4:ID>
</ns4:ApplicationObjectKey>
<ns4:Revision>
<ns4:Reason>{ data($THRecAdvFields/ns0:ReturnReceiptReasonCode) }</ns4:Reason>
</ns4:Revision>
</ns4:Identification>
<ns1:ExpectedReceiptDate>{ data($THRecAdvFields/ns0:WMS_ReceiptDate) }</ns1:ExpectedReceiptDate>
<ns4:InvoiceReference>
<ns4:InvoiceIdentification>
<ns4:ID>{ data($THRecAdvFields/ns0:JDE_SupplierInvoiceNumber) }</ns4:ID>
</ns4:InvoiceIdentification>
</ns4:InvoiceReference>
<ns1:ShipmentReceiptLine actionCode = "{ data($THRecAdvFields/ns0:ActionFlag) }">
<ns4:Identification>
<ns4:ID schemeID = "{ data($THRecAdvFields/ns0:JD_PO_LineNumber) }"
schemeVersionID = "{ data($THRecAdvFields/ns0:ExternPONumber) }">{ data($THRecAdvFields/ns0:WMS_ReceiptNumber) }</ns4:ID>
<ns4:ContextID>{ data($THRecAdvFields/ns0:WMSReceivingClerk) }</ns4:ContextID>
<ns4:ApplicationObjectKey>
<ns4:ID schemeID = "{ data($THRecAdvFields/ns0:BatchNumber) }"
schemeVersionID = "{ data($THRecAdvFields/ns0:BatchLineNumber) }">{ data($THRecAdvFields/ns0:JD_LocationCode) }</ns4:ID>
</ns4:ApplicationObjectKey>
<ns4:AlternateObjectKey>
<ns4:ID>{ data($THRecAdvFields/ns0:SupplierCode) }</ns4:ID>
<ns4:ContextID>{ data($THRecAdvFields/ns0:LineNumber_Or_SequenceNumber) }</ns4:ContextID>
</ns4:AlternateObjectKey>
<ns4:Revision>
<ns4:Label>{ data($THRecAdvFields/ns0:Records) }</ns4:Label>
</ns4:Revision>
</ns4:Identification>
<ns1:ReceivedQuantity unitCode = "{ data($THRecAdvFields/ns0:ReceiptUOM) }">{ data($THRecAdvFields/ns0:UnitReceipt) }</ns1:ReceivedQuantity>
<ns1:SourceDocumentTypeCode>{ data($THRecAdvFields/ns0:SKU_Code) }</ns1:SourceDocumentTypeCode>
<ns1:DestinationTypeCode>{ data($THRecAdvFields/ns0:DestinationProcessFlag) }</ns1:DestinationTypeCode>
<ns1:Comment>{ data($THRecAdvFields/ns0:Remarks) }</ns1:Comment>
<ns4:Status>
<ns4:Code>{ data($THRecAdvFields/ns0:ProcessSourceFlag) }</ns4:Code>
<ns4:EffectiveDateTime>{ data($THRecAdvFields/ns0:ADDDATE) }</ns4:EffectiveDateTime>
</ns4:Status>
<ns1:ShipmentReceiptTransaction>
<ns1:ShipmentReceiptTransactionLot>
<ns1:ShipmentReceiptItemLotReference>
<ns1:ExpirationDate>{ data($THRecAdvFields/ns0:ExpiryDate) }</ns1:ExpirationDate>
<ns1:CreationDateTime>{ data($THRecAdvFields/ns0:ProductionDate) }</ns1:CreationDateTime>
</ns1:ShipmentReceiptItemLotReference>
</ns1:ShipmentReceiptTransactionLot>
</ns1:ShipmentReceiptTransaction>
</ns1:ShipmentReceiptLine>
</ns1:ShipmentReceiptEBO>
declare variable $tHRecAdv1 as element(ns0:THRecAdv) external;
xf:THRecAdvFile_ShipmentReceiptEBO_JDE_XQuery($tHRecAdv1)
But while importing this code to OSB,and tested it ,
With 1 payload it successfully shows the data in Target side,
But while testing with multiple line items,i am getting an error as follows.
*Error executing the XQuery transformation: line 14, column 17: {err}FORG0005: expected exactly one item, got 2+ items*
So please provide me the steps how to pass multiple records to target side using xquery.
Regards,
Jyoti NayakHi Jyoti Nayak,
You have to do something like the example bellow, you can not just repeat the inner element, you will need an outer "container" tag. So you will have to change the target element of your xq transformation.
declare function xf:setToList($set1 as element(ns0:set))
as element(ns0:list) {
<ns0:list>
for $pair in $set1/ns0:pair
return
<ns0:entry>
<ns0:key>{ data($pair/ns0:key) }</ns0:key>
<ns0:value>{ data($pair/ns0:value) }</ns0:value>
</ns0:entry>
</ns0:list>
Cheers,
Vlad
Give points - it is good etiquette to reward an answerer points (5 - helpful; 10 - correct) for their post if they answer your question. If you think this is helpful, please consider giving points -
Passing multiple parameters between two report portlets on the same page
Hi,
I want to pass multiple parameters between two report portlets on the same page.
I have been succussful passing a single parameter between two portlets. The
following are the steps :
(1) Created first report based on the query
SELECT htf.anchor('http://192.168.0.84:7778/servlet/page?&_pageid=97&_dad=portal30&_schema=portal30&_mode=3&dept_code='||DEPTNO,DEPTNO) Department, ename FROM EMP;
(2) Created 2nd report
select * from EMP where DEPTNO = :dept_code
(3) Added pl/sql code before display page on the 2nd report
portal30.wwv_name_value.replace_value(
l_arg_names, l_arg_values,
p_reference_path||'.dept_code',portal30.wwv_standard_util.string_to_table2(nvl(g
et_value('dept_code'),10)));
(4) Created a page and added these reports as portlets.
Sofar it works fine for one parameter (deptno) . Now I want to add one more
parameter say empno to my first report query and would like to pass both the
parameters deptno and empno to the 2nd report. Please tell me how to pass multiple parameters ?
Thanks
AsimHi,
You will have to do the same thing
The select will be like this
SELECT htf.anchor('http://toolsweb.us.oracle.com:2000/servlet/page?_pageid=97&_dad=mb&_schema=mybugs&_mode=3&dept_code='||DEPTNO||'&empno='||empno,DEPTNO) Department,ename
FROM EMP
In the additional plsql code do the same for empno like this
mybugs.wwv_name_value.replace_value(l_arg_names,l_arg_values, p_reference_path||'.dept_code',mybugs.wwv_standard_util.string_to_table2(nvl(get_value('dept_code'),10)));
mybugs.wwv_name_value.replace_value(l_arg_names,l_arg_values, p_reference_path||'.empno',mybugs.wwv_standard_util.string_to_table2(get_value('empno')));
Thanks,
Sharmila -
Any way to pass Multiple Values for a single Label in the Parameter?
I have a Report that Contains 2 Parameters, @Customer & @Area. When trying to set up the Available Values for @Area, I'm having issues using multiple values for one Label, i.e. = "4006" Or "4610"
One of the Filters in the Report is an Operation number, which is the [OPERATION] field, which is setup as a filter on the Tablix referencing the @Area parameter.
PROBLEM: I cannot retrieve any data when trying to use the ‘Or’ Operator here. If I simply put “4006” or “4610” I retrieve data, but when trying to combine it returns no data.
Example, I need to allow a user to select ‘Chassis Incoming’, which would include data from Operations 4006 & 4610.
QUESTION:
Any way to pass Multiple Values for a single Label in the Parameter?
I realize the typical solution may be to use ‘Multi-Value’ selection, but in this case we want the User to select the Area and the multiple values for Filtering will be automatically determined for them. Otherwise, they are subject to not getting
it correct.
I have tried several different ways, such as =”4006” Or “4610”, =(“4006”, “4610”), = In(“4006”, “4610”), etc….
Note: We are using Report Builder 3.0Based on my experience, there's no way to 'intercept' the query that gets passed back to SQL Server, so a Split wouldn't work.
Try creating either a function or stored procedure using the code below (compliments to
http://www.dotnetspider.com/resources/4680-Parse-comma-separated-string-SQL.aspx) to parse the string:
CREATE FUNCTION dbo.Parse(@Array VARCHAR(1000), @Separator VARCHAR(10))
RETURNS @ResultTable TABLE (ParseValue VARCHAR(100))AS
BEGIN
DECLARE @SeparatorPosition INT
DECLARE @ArrayValue VARCHAR(1000)
SET @Array = @Array + @Separator
WHILE PATINDEX('%' + @Separator + '%' , @Array) <> 0
BEGIN
SELECT @SeparatorPosition = PATINDEX('%' + @Separator + '%', @Array)
SELECT @ArrayValue = LEFT(@Array, @SeparatorPosition - 1)
INSERT @ResultTable VALUES (CAST(@ArrayValue AS VARCHAR))
SELECT @Array = STUFF(@Array, 1, @SeparatorPosition, '')
END
RETURN
END
Once created you can do things like this:
SELECT * FROM Parse('John,Bill,David,Thomas', ',')
SELECT * FROM (SELECT 'John' AS TestName union select 'David' AS TestName) AS Main
WHERE TestName IN (SELECT ParseValue FROM dbo.Parse('John,Bill,David,Thomas', ','))
This is what your SQL query would probably look like:
SELECT OperationID, OperationName FROM dbo.Operations
WHERE AreaID IN (SELECT ParseValue FROM dbo.Parse(@Area, ','))
You may need to fiddle around with the Separator depending on whether SQL Server inserts a space between the comma and next value. -
I cant cant use mail merge feature in Winword in conjunction with Abobe Acrobat 10 (pdfmaker add-in) after the recent Office April Windows and Office Updates.
Here is a quick note from the event viewer:
The program WINWORD.EXE version 14.0.7134.5000 stopped interacting with Windows and was closed. To see if more information about the problem is available, check the problem history in the Action Center control panel.
Process ID: 1138
Start Time: 01d07dcede19c458
Termination Time: 15
Application Path: C:\Program (file:///C:/Program) Files (x86)\Microsoft Office\Office14\WINWORD.EXE
Report Id:
Microsoft Word: Accepted Safe Mode action : Word experienced a serious problem with the 'acrobat pdfmaker office com addin' add-in. If you have seen this message multiple times, you should disable
this add-in and check to see if an update is available. Do you want to disable this add-in?.
I do not wish to disable the pdfmaker add-in as I use it to run mail merge on WORD and send 10s and 1000s of pdfs via email to external users. I am not sure what are my options here and I wish
someone could help me get to the root cause of the matter.
My environment is as follows:
Windows 7 x64 SP1
Office 2010 v 14.0.7128.5000
Adobe Reader MUI X and Adobe Acrobat X
FerozeHi,
As the event log indicated, this is due to acrobat pdfmaker office com addin doesn't work well with Microsoft Word.
I would suggest you go ahead and try to upgrade your Adobe product to the latest version and see if issue persists.
Or contact the support of Adobe and see if there is a known compatibility issue or not.
Regards,
Ethan Hua
TechNet Community Support
It's recommended to download and install
Configuration Analyzer Tool (OffCAT), which is developed by Microsoft Support teams. Once the tool is installed, you can run it at any time to scan for hundreds of known issues in Office
programs.
Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact
[email protected] -
How to send report output to two detinations at a time from command line?
Hi ,
how to send my report to two detinations at a time from command line i.e FILE and Mail ?
i created batchfile in that i mentioned one line for file(DESTYPE=FILE) perpose and another line for mail perpose(DESTYPE=Mail).i don't want to mention to lines.
i want to send my report out put two destinations at a time insted of running two times.
thx in advance.....
raghuhello,
did you try to use distribution for that ? check out the reports distribution facilities available in 6i.
regards,
the oracle reports team -
How can i install snow leopard on my mac G5 using a command line and booting from an external usb rom, since my disk i have is not a bootable media
Hi.
You simply can't. Snow Leopard is compiled in Intel binary only.
Good Luck. -
How to compile an .air app from the ADT command line?
Hi,
I would like to compile an .air app from the ADT command line.
Does anybody have an example?
I don't know how to add the AIR SDK path and a folder to it.
Is there a generator for the command line availabble?
ThanksCorrection: it seems that Applescripts and some similar scripts can be called from the command line using "osascript scriptname". I don't speak automator but you might like to try it. osascript seems to come with severe limitations though, for instance it doesn't allow user interaction such as dialogue boxes.
-
How do I restart the SNMP agents with the original command line options?
I'm creating an application that changes the SNMP trap target configuration files and then restarts the SNMP agent. I'm currently working with the mibiisa agent. I want to make sure that I restart the service with the new trap targets but with the original command line options. How can I restart the mibiisa service with the same command line options that it originally loaded with?
It is not "Network Time" that is the problem, but actually "SystemStarter." SystemStarter is an interim kludge to enable the work or the old StartupItems until they can be converted to LaunchDaemons or LaunchAgents controlled by launchd. Launcd calls SystemStarter to launch all the unconverted StartupItems. ntpd is now under the control of launchd directly.
Launchctl is the command to load and unload the plist files, but I don't think it has a mechanism to restart a daemon.
There are start and stop commands in launchctl, but the man page indicates that they are for debugging purposes.
I also imagine you could just kill the ntp daemon and let it restart with new settings. It is most likely set to "keepAlive" so that it will automatically restart. -
10G-form: How to do MULTIPLE WORD OR SINGLE WORD SEARCH at ITEM?
I am using 10G DB + 10G Form Builder.
I've 'database_item' where I am storing multiline text data.
I want to do MULTIPLE WORD OR SINGLE WORD SEARCH at this item through FORM.
I've tried by creating the following NON Database Items on the form:
- multiline_search_text_item, and
- multiline_result__text_item
And then writing execute_query in KEY-NEXT-ITEM trigger.
I've also tried using this in the POST-TEXT-ITEM at multiline_search_text_item:
select table.database_item into :multiline_result__text_item from table where multiline_search_text_item = :multiline_search_text_item;
Pl help me asap.
GauravWhat you want to do is not clear.
The query you wrote will select records where the table contains exactly what has been written in the search item. You can use LIKE and a wildcard search to find records which contain the search text:
select table.database_item into :multiline_result__text_item
from table
where multiline_search_text_item LIKE '%'||:multiline_search_text_item||'%';
You can use UPPER to make this case insensitive:
select table.database_item into :multiline_result__text_item
from table
where Upper(multiline_search_text_item) LIKE Upper('%'||:multiline_search_text_item||'%');
But I suspect you want either to match the individual words in the search text to individual words in the database multiline field, or find records where the search words appear (not necessarily as whole words). In that case, check out the following:
-- set up a table (multiline and various whitespaces)
DROP TABLE t;
CREATE TABLE t AS
SELECT
ROWNUM rn,
owner||Chr(9)||object_name||Chr(160)||subobject_name||' '||object_id||' '||
data_object_id||Chr(10)||object_type||' '||created||' '||last_ddl_time||' '||
timestamp||' '||status||' '||temporary||' '||generated||' '||secondary AS col
FROM all_objects;
-- check the format of the multiline text item (col)
SELECT * FROM t WHERE ROWNUM < 4;
-- a type for the function below
CREATE TYPE string_tab AS TABLE OF VARCHAR2(255);
-- this function takes a string and cuts out each word, idetifying words
-- as being separated by any whitespace. it returns a collection
CREATE OR REPLACE FUNCTION string_to_tab(
p_string IN VARCHAR2) RETURN string_tab IS
l_string LONG DEFAULT
RTrim(regexp_replace(p_string,'[[:space:]]+',' ')) || ' ';
l_data string_tab := string_tab();
n NUMBER;
BEGIN
LOOP
EXIT WHEN l_string IS NULL;
n := InStr(l_string, ' ');
l_data.extend;
l_data(l_data.Count) := LTrim(RTrim(SubStr(l_string, 1, n - 1)));
l_string := SubStr(l_string, n + 1);
END LOOP;
RETURN l_data;
END string_to_tab;
-- selecting from t where ANY of the words in the search text has
-- a match in the multiline field (as a word or part of a word), so SYS
-- matches to MDSYS and SYSTEM
SELECT DISTINCT
t.rn, t.col
FROM
t,
(SELECT column_value
FROM TABLE(CAST(string_to_tab('SYS INDEX') AS string_tab))) x
WHERE InStr(t.col,x.column_value) > 0;
-- selecting from t where ALL of the words in the search text has
-- a match in the multiline field (as a word or part of a word), so SYS
-- matches to MDSYS and SYSTEM
SELECT rn, col FROM(
SELECT
t.rn, t.col, cnt_x, Count(*) cnt
FROM
t,
(SELECT column_value , Count(1) over(PARTITION BY 1)cnt_x
FROM TABLE(CAST(string_to_tab('SYS INDEX') AS string_tab))) x
WHERE InStr(t.col,x.column_value) > 0
GROUP BY t.rn, t.col, cnt_x
WHERE cnt = cnt_x;
-- selecting from t where ANY of the words in the search text
-- match a word in the multiline field, so SYS matches only to SYS
SELECT DISTINCT
t.rn, t.col
FROM
t,
(TABLE(CAST(string_to_tab(t.col) AS string_tab))) t2,
(SELECT column_value
FROM TABLE(CAST(string_to_tab('SYS INDEX') AS string_tab))) x
WHERE t2.column_value = x.column_value;
-- selecting from t where ALL of the words in the search text
-- match a word in the multiline field, so SYS matches only to SYS
SELECT rn, col FROM(
SELECT
t.rn, t.col, cnt_x, Count(*) cnt
FROM
t,
(TABLE(CAST(string_to_tab(t.col) AS string_tab))) t2,
(SELECT column_value , Count(1) over(PARTITION BY 1)cnt_x
FROM TABLE(CAST(string_to_tab('SYS INDEX') AS string_tab))) x
WHERE t2.column_value = x.column_value
GROUP BY t.rn, t.col, cnt_x
WHERE cnt = cnt_x;For your application you would replace 'SYS INDEX' with a variable (the search field). You can use upper() and wildcards for case insensitive & 'fuzzy' searches. You might need to modify the function so it removes other delimiters such as commas and colons.
Maybe you are looking for
-
How do I use switch and case statements to fill more than one other field?
Hi all, I'm new to the community. I'm trying to make an existing form more user friendly for my coworkers. I want to use a switch and case approach in a drop-down list field so that the selection fills two seperate other fields with different info re
-
Wanted: Your Skype for Windows Desktop ideas
We have just launched a new Windows Desktop Client idea board to let you all share and exchange your ideas on how to improve and develop Skype for Windows desktop client. Before you start sharing your ideas, here are some guidelines to help you get s
-
Hi Team , The below inesrt query returns an error message " exact fetch returns more than one row " . How can I found the insert query statement on the below query in the DBMS_SQL.PARSE ? Code : v_query(1) := 'insert into ' || gv_table_name || ' ' ;
-
My ipod touch 4th generation's home button and lockscreen work perfectly but the screen is unresponsive and wont work whats the problem?
-
Oracle Client 9.2.0.7 + forms60
Hi People, At my work we have Oracle client 9.2.0.7 on the workstations, About a week ago we got a new app and its build/made in Oracle Forms 6i Heres the thing i need to install the forms 60 client and make it work with the currently installed 9.2.0