The symbol in checkboxes
Hello,
I am using Adobe Acrobat Professional 8.1.2 and Microsoft Windows XP Professional SP3. I want to fill out some forms containing checkboxes. The form (respectively its creator) insists that those boxes have to be filled out with crosses. But if I activate one a tick appears.
So here is my question: Is it possible to change the symbol inserted in checkboxes?
I found it but I cannot change anything. Did I find the wrong one or is it possible that the PDF's creator has blocked changing those symbols? (Would be stupid if they ask for a specific one, but it's better to ask, isn't it?)
Similar Messages
-
Encountered the symbol "COLLECT" error message, without a collection?
Okay, once again I'm confused and lost.
I'm working on a 'variation' of the Issue Tracker sample application at:
http://apex.oracle.com/pls/otn/f?p=23133
Once there, select "Projects", then on the "Projects" page, click the edit button.
The error appears in the "Add or Edit Project Tasks" region.
The region source is:
select
x.del,
x.task_name,
x.status,
x.dependent_upon,
x.task_scope,
x.task_comments,
x.task_lead,
x.ck ck
from (
select
apex_item.checkbox(1,task_id) del,
apex_item.text(2,task_name,30,70) TASK_NAME,
apex_item.display_and_save(3,ht_tasks_getstatus(task_id)) STATUS,
apex_item.select_list_from_lov(4,dependent_upon,'select task_name d, task_id r from ht_tasks where project_id = :P3_PROJECT_ID') DEPENDENT_UPON,
apex_item.textarea(5,task_scope,4,40) TASK_SCOPE,
apex_item.textarea(6,task_comments,4,40) TASK_COMMENTS,
apex_item.select_list_from_lov(7,task_lead,'PEOPLE') TASK_LEAD,
apex_item.hidden(8,project_id)||
apex_item.hidden(9,wwv_flow_item.md5(task_name,status,dependent_upon,task_scope,task_comments,task_lead)) ck
from HT_TASKS_VIEW
where project_id = :P3_PROJECT_ID
union all
select
apex_item.checkbox(1,null) del,
apex_item.text(2,null,30,70) TASK_NAME,
apex_item.display_and_save(3,null) STATUS,
apex_item.select_list_from_lov(4,null,'select task_name d, task_id r from ht_tasks where project_id = :P3_PROJECT_ID') DEPENDENT_UPON,
apex_item.textarea(5,null,4,40) TASK_SCOPE,
apex_item.textarea(6,null,4,40) TASK_COMMENTS,
apex_item.select_list_from_lov(7,null,'PEOPLE') TASK_LEAD,
apex_item.hidden(8,to_number(:P3_PROJECT_ID))||
apex_item.hidden(9,null) ck
from dual) x
Which appears to be working correctly. When I click the debug link, the following appears:
0.04: add row query: select x.del, x.task_name, x.status, x.dependent_upon, x.task_scope, x.task_comments, x.task_lead, x.ck ck from ( select apex_item.checkbox(1,task_id) del, apex_item.text(2,task_name,30,70) TASK_NAME, apex_item.display_and_save(3,ht_tasks_getstatus(task_id)) STATUS, apex_item.select_list_from_lov(4,dependent_upon,'select task_name d, task_id r from ht_tasks where project_id = :P3_PROJECT_ID') DEPENDENT_UPON, apex_item.textarea(5,task_scope,4,40) TASK_SCOPE, apex_item.textarea(6,task_comments,4,40) TASK_COMMENTS, apex_item.select_list_from_lov(7,task_lead,'PEOPLE') TASK_LEAD, apex_item.hidden(8,project_id)|| apex_item.hidden(9,wwv_flow_item.md5(task_name,status,dependent_upon,task_scope,task_comments,task_lead)) ck from HT_TASKS_VIEW where project_id = :P3_PROJECT_ID union all select apex_item.checkbox(1,null) del, apex_item.text(2,null,30,70) TASK_NAME, apex_item.display_and_save(3,null) STATUS, apex_item.select_list_from_lov(4,null,'select task_name d, task_id r from ht_tasks where project_id = :P3_PROJECT_ID') DEPENDENT_UPON, apex_item.textarea(5,null,4,40) TASK_SCOPE, apex_item.textarea(6,null,4,40) TASK_COMMENTS, apex_item.select_list_from_lov(7,null,'PEOPLE') TASK_LEAD, apex_item.hidden(8,to_number(:P3_PROJECT_ID))|| apex_item.hidden(9,null) ck from dual) x
0.04: determine column headings
0.04: parse query as: ARIA
0.04: binding: ":P3_PROJECT_ID"="P3_PROJECT_ID" value="1"
0.04: print column headings
0.04: rows loop: 15 row(s)
report error:
ORA-06550: line 1, column 13:
PLS-00103: Encountered the symbol "COLLECT" when expecting one of the following:
:= . ( @ % ;
So, it looks like the error is happening when it starts the loop to grab the rows. I'm not using a collection, so I'm assuming that for the pagination, Apex is using a collection internally, and somehow, somewhere, that's generating the error?
I've deleted the region and everything associated with it, buttons, processes, etc. and the rebuilt the region without the other 'stuff', but I still get the error. I'm completely lost now, as I really don't what else to try, other than dropping the page an trying to recreate it. But if that doesn't work, any idea what would?
Also, to log in and see the code, my workspace is wbfergus, and the id and pwd are both htmldb.
Thanks.
Bill FergusonBill - Try apex_item.select_list_from_query when a query (not a named lov) is the source: apex_item.select_list_from_query(4,dependent_upon,'select task_name d, task_id r from ht_tasks where project_id = :P3_PROJECT_ID') DEPENDENT_UPON,BTW, nothing do do with collections in this case. The parsing hit a 'bulk collect' probably.
Scott -
Hello,
I wanted to use the APEX_ITEM.DISPLAY_AND_SAVE
Here is my query:
DECLARE
QUERY VARCHAR2 (2000);
BEGIN
QUERY := 'SELECT '
||'APEX_ITEM.DISPLAY_AND_SAVE(1,REGISTRATION_ID,'f01_'||ROWNUM, NULL) REGISTRATION_ID, '
||'APEX_ITEM.DISPLAY_AND_SAVE(2,STATUS,'f02_'||ROWNUM, NULL) STATUS, '
||'APEX_ITEM.DISPLAY_AND_SAVE(3,CALL_CODE,'f03_'||ROWNUM, NULL) CALL_CODE, '
||'APEX_ITEM.DISPLAY_AND_SAVE(4,PARTNER_USER_ID,'f04_'||ROWNUM, NULL) PARTNER_USER_ID,'
||'APEX_ITEM.DISPLAY_AND_SAVE(5,COORDINATOR_USER_ID,'f05_'||ROWNUM, NULL) COORDINATOR_USER_ID, '
||'APEX_ITEM.DISPLAY_AND_SAVE(6,COORDINATOR_EMAIL,'f06_'||ROWNUM, NULL) COORDINATOR_EMAIL, '
||'APEX_ITEM.DISPLAY_AND_SAVE(7,COORDINATOR_FINAUTH_EMAIL,'f07_'||ROWNUM, NULL) COORDINATOR_FINAUTH_EMAIL,'
||'APEX_ITEM.DISPLAY_AND_SAVE(8,COORDINATOR_FULL_ADDRESS,'f08_'||ROWNUM, NULL) COORDINATOR_FULL_ADDRESS, '
||'APEX_ITEM.DISPLAY_AND_SAVE(9,COORDINATOR_NAME,'f09_'||ROWNUM, NULL) COORDINATOR_NAME, '
||'APEX_ITEM.DISPLAY_AND_SAVE(10,COORDINATOR_FAX,'f10_'||ROWNUM, NULL) COORDINATOR_FAX,'
||'APEX_ITEM.DISPLAY_AND_SAVE(11,COORDINATOR_TEL,'f11_'||ROWNUM, NULL) COORDINATOR_TEL, '
||'APEX_ITEM.DISPLAY_AND_SAVE(12,COORDINATOR_COUNTRY,'f12_'||ROWNUM, NULL) COORDINATOR_COUNTRY, '
||'APEX_ITEM.DISPLAY_AND_SAVE(13,COORDINATOR_COMPANY_NAME,'f13_'||ROWNUM, NULL) COORDINATOR_COMPANY_NAME,'
||'APEX_ITEM.DISPLAY_AND_SAVE(14,DATE_LETTER_SENT,'f14_'||ROWNUM, NULL) DATE_LETTER_SENT, '
||'APEX_ITEM.DISPLAY_AND_SAVE(15,DATE_LAST_SUBMISSION,'f15_'||ROWNUM, NULL) DATE_LAST_SUBMISSION, '
||'APEX_ITEM.DISPLAY_AND_SAVE(16,PROPOSAL_ACRONYM,'f16_'||ROWNUM, NULL) PROPOSAL_ACRONYM,'
||'APEX_ITEM.DISPLAY_AND_SAVE(17,INSTRUMENT_CODE,'f17_'||ROWNUM, NULL) INSTRUMENT_CODE, '
||'APEX_ITEM.DISPLAY_AND_SAVE(18,TITLE,'f18_'||ROWNUM, NULL) TITLE, '
||'APEX_ITEM.DISPLAY_AND_SAVE(19,SUBMITTED,'f19_'||ROWNUM, NULL) SUBMITTED, '
||'APEX_ITEM.DISPLAY_AND_SAVE(20,PREPARATION,'f20_'||ROWNUM, NULL) PREPARATION, '
||'APEX_ITEM.DISPLAY_AND_SAVE(21,PASS_BY_MAIL,'f21_'||ROWNUM, NULL) PASS_BY_MAIL,'
||'APEX_ITEM.DISPLAY_AND_SAVE(22,PROPOSAL_ID,'f22_'||ROWNUM, NULL) PROPOSAL_ID, '
||'APEX_ITEM.DISPLAY_AND_SAVE(23,PROPOSAL_NUMBER,'f23_'||ROWNUM, NULL) PROPOSAL_NUMBER '
||' FROM SUZANREGISTRATIONVIEW '
||' where 1 = 1 ';
IF LENGTH (V ('P4_REGISTRATION_ID')) > 0
THEN
QUERY :=
QUERY || ' and REGISTRATION_ID like ' || V ('P4_REGISTRATION_ID');
ELSE
QUERY := QUERY || '';
END IF;
IF LENGTH (V ('P4_CALL_CODE')) > 0
THEN
QUERY := QUERY || ' and CALL_CODE like ''' || V ('P4_CALL_CODE') || '''';
ELSE
QUERY := QUERY || '';
END IF;
IF LENGTH (V ('P4_COORDINATOR_USER_ID')) > 0
THEN
QUERY :=
QUERY
|| ' and (upper(COORDINATOR_USER_ID)) like (upper('''
|| V ('P4_COORDINATOR_USER_ID')
|| '''))';
ELSE
QUERY := QUERY || '';
END IF;
IF LENGTH (V ('P4_COORDINATOR_FINAUTH_EMAIL')) > 0
THEN
QUERY :=
QUERY
|| ' and (upper(R.COORDINATOR_EMAIL)) like (upper('''
|| V ('P4_COORDINATOR_FINAUTH_EMAIL')
|| '''))';
ELSE
QUERY := QUERY || '';
END IF;
IF LENGTH (V ('P4_COORDINATOR_NAME')) > 0
THEN
QUERY :=
QUERY
|| ' and upper(COORDINATOR_NAME) like (upper('''
|| V ('P4_COORDINATOR_NAME')
|| '''))';
ELSE
QUERY := QUERY || '';
END IF;
IF LENGTH (V ('P4_COORDINATOR_COMPANY_NAME')) > 0
THEN
QUERY :=
QUERY
|| ' and (upper(COORDINATOR_COMPANY_NAME)) like (upper('''
|| V ('P4_COORDINATOR_COMPANY_NAME')
|| '''))';
ELSE
QUERY := QUERY || '';
END IF;
IF LENGTH (V ('P4_PARTNER_USER_ID')) > 0
THEN
QUERY :=
QUERY
|| ' and (upper(PARTNER_USER_ID)) like (upper('''
|| V ('P4_PARTNER_USER_ID')
|| '''))';
ELSE
QUERY := QUERY || '';
END IF;
IF LENGTH (V ('P4_PROPOSAL_ACRONYM')) > 0
THEN
QUERY :=
QUERY
|| ' and (upper(proposal_acronym)) like (upper('''
|| V ('P4_PROPOSAL_ACRONYM')
|| '''))';
ELSE
QUERY := QUERY || '';
END IF;
RETURN QUERY;
END;
And here is the error encountered:
1 error has occurred
* Function returning SQL query: Query cannot be parsed within the Builder. If you believe your query is syntactically correct, check the generic columns checkbox below the region source to proceed without parsing.
(ORA-06550: line 5, column 57: PLS-00103: Encountered the symbol "F01_" when expecting one of the following: * & = - + ; < / > at in is mod remainder not rem <> or != or ~= >= <= <> and or like LIKE2_ LIKE4_ LIKEC_ between || member SUBMULTISET_)
I don't understand why the engine returns an error at that point.
Despite the fact that I follow the user guide and the Denes Kubicek's sample examples, I still have that error.
If I remove the part 'f01_' || and only keep the rownum, the problem is solved.
Do you have any idea ?
Thanks in advance for your answers.
Regards,
Stessy DelcroixHI MickyWay,
So simple. :-)
Problem solved.
Thanks a lot (merci beaucoup) -
How can I will declare the symbol u2018 (Single Quote) in the report
Hi ,
Could you please tell me how can I will declare the symbol u2018 (Single Quote) in the report.
My requirement is that I have concate the data with single quote and after that I have to store the data in to an internal table and I have to download the data in the form text file in the presentation server.
For example :
Let the below data I want to download into the presentation serve in the format of text file by storing in internal table.
Assume all are constants:
1st line : abcu2019add
2nd line : defu2019gef
Thanks in advance.Hi Jyothi,
Thanks for the quick reply .
I can agree with you are point but My requirement is like this I am explaining clearly.
I have declared the internal table like this.
DATA: BEGIN OF OTAB OCCURS 0,
LINE (9024),
END OF OTAB.
So I have to append the each line item into the internal table.
So I am explaining what the data I have to append
Ist line contains
'UNBUNOC:2020308u2019 where 020308 I will get the date from reguh table
2nd line contains:
'DTM+20020510' where the 20020510 will be reference document number from the table reguh.
So I want to declare a constant 'UNBUNOC:2
2nd the date from reguh table
And another constant u2018
So that I can concate all the three and I can put into string and I will append into internal table and I can download the data into the presentation server.
Please let me know if you need any more clarification regarding my requirement.
Thanks in advance. -
In the last update of Firefox, the + symbol suddenly disappeared from the tabs section. In the past, this was used to open a new tab instead of having to go to the file menu. I would like to have the + symbol back on the right side of the tabs and cannot find a way to do this in the options or customize sections.
Open the Customize window and set which toolbar items to display.
*"3-bar" Firefox menu button > Customize
*if missing items are in the Customize palette then drag them back from the Customize window on the toolbar
*if you do not see an item on a toolbar and in the Customize palette then click the <u>Restore Defaults</u> button to restore the default toolbar setup
See also:
*https://support.mozilla.org/kb/customize-firefox-controls-buttons-and-toolbars -
Pages '08 Export does not honor the "Hide extension" checkbox
I have noticed that Pages '08, even with the latest update (3.0.3), does not honor the state of the "Hide extension" checkbox in the Export save dialog (or "sheet" that slides out from the title bar). Specifically, I have seen this happen when exporting to Word. When un-checking the "Hide extension" checkbox, the filename is displayed in the dialog with the .doc extension, but the file appears in the save folder (anywhere in the file system) without the .doc extension until I do a Get Info on the file and un-check Hide Extension in the Name & Extension section.
This is really annoying because I hate automatic hiding of file extensions in general, and I find it unacceptable with any kind of MS Office docs because my Windows-using colleagues can't seem to cope without a file extension they recognize.
Also note that this does not seem to affect the Save or Save As dialogs in Pages '08, only the Export save dialog. I can create a regular Pages document, do a Save As, uncheck Hide Extension, and I'll see the document show up in the file system with the .pages extension.
Is this a known bug in Pages '08? I can't find any mention of it in the forums. I also want to know if this is fixed in Pages '09. I've been looking for a way to report this as a bug, but am not having much luck.LionMage wrote:
Is this a known bug in Pages '08?
Yes. just add the extension manually in the Finder.
I can't find any mention of it in the forums.
It has been mentioned many times but not lately.
I also want to know if this is fixed in Pages '09.
No.
I've been looking for a way to report this as a bug, but am not having much luck.
+Menu > Pages > Provide Pages Feedback+
Peter -
What is the purpose of the Initial Value checkbox in SE11?
Hi,
When we create database tables using SE11, there is a Initial Value checkbox for the fields that we create. How do we make use of this checkbox?
For example, after checking the Initial Value checkbox, how do I go about entering the intial value? There isn't a input field for me to do it. Thanks."Initial values" Flag ---> Indicator that NOT NULL is forced for this field
Select the flag if a field to be inserted in the database is to be filled with initial values. The initial value used depends on the data type of the field.
Please note that fields in the database for which the this flag is not set can also be filled with initial values.
When you create a table, all fields of the table can be defined as NOT NULL and filled with an initial value. The same applies when converting the table. Only when new fields are added or inserted, are these filled with initial values. An exception is key fields. These are always filled automatically with initial values.
Restrictions and notes:
The initial value cannot be set for fields of data types LCHR, LRAW, and RAW. If the field length is greater than 32, the initial flag cannot be set for fields of data type NUMC.
If a new field is inserted in the table and the initial flag is set, the complete table is scanned on activation and an UPDATE is made to the new field. This can be very time-consuming.
If the initial flag is set for an included structure, this means that the attributes from the structure are transferred. That is, exactly those fields which are marked as initial in the definition have this attribute in the table as well.
Hope this helps.
Thanks,
Balaji -
PLS-00103: Encountered the symbol "SELECT" when expecting one of the follow
Can any one tell me why I an getting compile error in Trigger with the following code (see below for the error message). Error is indicated in the IF statement Select clause.
Code:
-- AUdit Code Begin
-- Note: Ony for those tables having 'AUDIT' UDP
-- Value set to 'T'
IF (Select Count(*) From DBConfiguration
Where ConfigurationCode = 'AUDIT' AND
ConfigurationValue = 'T') > 0 THEN
WHEN (:new.WORKREQUESTSTATUS <> :old.WORKREQUESTSTATUS)
Begin
Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTSTATUS',
:old.WORKREQUESTSTATUS,:new.WORKREQUESTSTATUS,:new.UserId)
End;
WHEN (:new.WORKREQUESTSOURCE <> :old.WORKREQUESTSOURCE)
Begin
Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTSOURCE',
:old.WORKREQUESTSOURCE,:new.WORKREQUESTSOURCE,:new.UserId)
End;
WHEN (:new.WORKREQUESTSOURCEID <> :old.WORKREQUESTSOURCEID)
Begin
Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTSOURCEID',
:old.WORKREQUESTSOURCEID,:new.WORKREQUESTSOURCEID,:new.UserId)
End;
WHEN (:new.WORKREQUESTDESC <> :old.WORKREQUESTDESC)
Begin
Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTDESC',
:old.WORKREQUESTDESC,:new.WORKREQUESTDESC,:new.UserId)
End;
WHEN (:new.WORKREQUESTDATE <> :old.WORKREQUESTDATE)
Begin
Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTDATE',
CAST(:old.WORKREQUESTDATE AS varchar2(256)),CAST(:new.WORKREQUESTDATE AS varchar2(256)),:new.UserId)
End;
WHEN (:new.WORKREQUESTOWNER <> :old.WORKREQUESTOWNER)
Begin
Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTOWNER',
:old.WORKREQUESTOWNER,:new.WORKREQUESTOWNER,:new.UserId)
End;
WHEN (:new.WORKREQUESTAPPCODE <> :old.WORKREQUESTAPPCODE)
Begin
Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTAPPCODE',
:old.WORKREQUESTAPPCODE,:new.WORKREQUESTAPPCODE,:new.UserId)
End;
WHEN (:new.WORKREQUESTAPPROVER <> :old.WORKREQUESTAPPROVER)
Begin
Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTAPPROVER',
:old.WORKREQUESTAPPROVER,:new.WORKREQUESTAPPROVER,:new.UserId)
End;
WHEN (:new.WORKREQUESTAPPDATE <> :old.WORKREQUESTAPPDATE)
Begin
Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTAPPDATE',
CAST(:old.WORKREQUESTAPPDATE AS varchar2(256)),CAST(:new.WORKREQUESTAPPDATE AS varchar2(256)),:new.UserId)
End;
WHEN (:new.WORKREQUESTCOMMENT <> :old.WORKREQUESTCOMMENT)
Begin
Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTCOMMENT',
:old.WORKREQUESTCOMMENT,:new.WORKREQUESTCOMMENT,:new.UserId)
End;
WHEN (:new.CLOSEDATE <> :old.CLOSEDATE)
Begin
Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'CLOSEDATE',
CAST(:old.CLOSEDATE AS varchar2(256)),CAST(:new.CLOSEDATE AS varchar2(256)),:new.UserId)
End;
WHEN (:new.ANALYTEKEY <> :old.ANALYTEKEY)
Begin
Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'ANALYTEKEY',
CAST(:old.ANALYTEKEY AS varchar2(256)),CAST(:new.ANALYTEKEY AS varchar2(256)),:new.UserId)
End;
WHEN (:new.SUBPURPOSEKEY <> :old.SUBPURPOSEKEY)
Begin
Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'SUBPURPOSEKEY',
CAST(:old.SUBPURPOSEKEY AS varchar2(256)),CAST(:new.SUBPURPOSEKEY AS varchar2(256)),:new.UserId)
End;
WHEN (:new.PURPOSEKEY <> :old.PURPOSEKEY)
Begin
Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'PURPOSEKEY',
CAST(:old.PURPOSEKEY AS varchar2(256)),CAST(:new.PURPOSEKEY AS varchar2(256)),:new.UserId)
End;
End if;
-- Audit End
Error:
95/5 PLS-00103: Encountered the symbol "SELECT" when expecting one of the following:
( - + case mod new not null others <an identifier>
<a double-quoted delimited-identifier> <a bind variable> avg
count current exists max min prior sql stddev sum variance
execute forall merge time timestamp interval date
<a string literal with character set specification>
<a number> <a single-quoted SQL string> pipe
<an alternatively-quoted string literal with character set specification>
<an alternativ
97/39 PLS-00103: Encountered the symbol ")" when expecting one of the following:
* & - + ; / at for mod remainder rem <an exponent (**)> and
or group having intersect minus order start union where
connect || multisetHere is the code:
-- AUdit Code Begin
-- Note: Ony for those tables having 'AUDIT' UDP
-- Value set to 'T'
IF (Select Count(DBConfigurationValue) From DBConfiguration
Where DBConfigurationCode = 'AUDIT' AND
DBConfigurationValue = 'T') > 0 THEN
WHEN (:new.WORKREQUESTSTATUS <> :old.WORKREQUESTSTATUS)
Begin
Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTSTATUS',
:old.WORKREQUESTSTATUS,:new.WORKREQUESTSTATUS,:new.UserId)
End;
WHEN (:new.WORKREQUESTSOURCE <> :old.WORKREQUESTSOURCE)
Begin
Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTSOURCE',
:old.WORKREQUESTSOURCE,:new.WORKREQUESTSOURCE,:new.UserId)
End;
WHEN (:new.WORKREQUESTSOURCEID <> :old.WORKREQUESTSOURCEID)
Begin
Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTSOURCEID',
:old.WORKREQUESTSOURCEID,:new.WORKREQUESTSOURCEID,:new.UserId)
End;
WHEN (:new.WORKREQUESTDESC <> :old.WORKREQUESTDESC)
Begin
Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTDESC',
:old.WORKREQUESTDESC,:new.WORKREQUESTDESC,:new.UserId)
End;
WHEN (:new.WORKREQUESTDATE <> :old.WORKREQUESTDATE)
Begin
Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTDATE',
CAST(:old.WORKREQUESTDATE AS varchar2(256)),CAST(:new.WORKREQUESTDATE AS varchar2(256)),:new.UserId)
End;
WHEN (:new.WORKREQUESTOWNER <> :old.WORKREQUESTOWNER)
Begin
Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTOWNER',
:old.WORKREQUESTOWNER,:new.WORKREQUESTOWNER,:new.UserId)
End;
WHEN (:new.WORKREQUESTAPPCODE <> :old.WORKREQUESTAPPCODE)
Begin
Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTAPPCODE',
:old.WORKREQUESTAPPCODE,:new.WORKREQUESTAPPCODE,:new.UserId)
End;
WHEN (:new.WORKREQUESTAPPROVER <> :old.WORKREQUESTAPPROVER)
Begin
Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTAPPROVER',
:old.WORKREQUESTAPPROVER,:new.WORKREQUESTAPPROVER,:new.UserId)
End;
WHEN (:new.WORKREQUESTAPPDATE <> :old.WORKREQUESTAPPDATE)
Begin
Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTAPPDATE',
CAST(:old.WORKREQUESTAPPDATE AS varchar2(256)),CAST(:new.WORKREQUESTAPPDATE AS varchar2(256)),:new.UserId)
End;
WHEN (:new.WORKREQUESTCOMMENT <> :old.WORKREQUESTCOMMENT)
Begin
Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'WORKREQUESTCOMMENT',
:old.WORKREQUESTCOMMENT,:new.WORKREQUESTCOMMENT,:new.UserId)
End;
WHEN (:new.CLOSEDATE <> :old.CLOSEDATE)
Begin
Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'CLOSEDATE',
CAST(:old.CLOSEDATE AS varchar2(256)),CAST(:new.CLOSEDATE AS varchar2(256)),:new.UserId)
End;
WHEN (:new.ANALYTEKEY <> :old.ANALYTEKEY)
Begin
Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'ANALYTEKEY',
CAST(:old.ANALYTEKEY AS varchar2(256)),CAST(:new.ANALYTEKEY AS varchar2(256)),:new.UserId)
End;
WHEN (:new.SUBPURPOSEKEY <> :old.SUBPURPOSEKEY)
Begin
Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'SUBPURPOSEKEY',
CAST(:old.SUBPURPOSEKEY AS varchar2(256)),CAST(:new.SUBPURPOSEKEY AS varchar2(256)),:new.UserId)
End;
WHEN (:new.PURPOSEKEY <> :old.PURPOSEKEY)
Begin
Insert INTO ADAMChangeAudit (ADAMChangeAuditKey,AuditTable,AuditRecordKey,AuditColumnName,AuditOldValue,AuditNewValue,AuditUser)
VALUES(ADAMChangeAuditKey.NextValue,'WORKREQUEST',:new.WORKREQUESTKEY,'PURPOSEKEY',
CAST(:old.PURPOSEKEY AS varchar2(256)),CAST(:new.PURPOSEKEY AS varchar2(256)),:new.UserId)
End;
End if; -
PLS-00103: Encountered the symbol "" when expecting one of the following:
Hi I am creating trigger using CFQUERY tag of cold fusion on oracle..
<CFQUERY DATASOURCE="CRM">
create or replace trigger AWC_ACCESSROLESID_TRI
before insert on AWC_ACCESSROLES
for each row
begin
select AWC_ACCESSROLESID_SEQ.nextval into :new.AR_ID from dual;
end;
</CFQUERY>
But the created trigger is not compiled, it is giving the following error
"Line # = 1 Column # = 6 Error Text = PLS-00103: Encountered the symbol "" when expecting one of the following: begin case declare exit for goto if loop mod null pragma raise return select update while with <an identifier> <a double-quoted delimited-identifier> <a bind variable> << close current delete fetch lock insert open rollback savepoint set sql execute commit forall merge <a single-quoted SQL string> pipe The symbol "" was ignored."
If I edit that trigger in enterprose manager console by pressing space and compile that, it is working fine with out any error. If i run the above statement in sql *plus, It is working fine with out any error.
Can you please tell me why this is happening if i run it using cfquery tag and also the possible solutions.
Thanks in advance,
VinodSo it works in Enterprise manager. It works in SQL*Plus. It doesn't work in CFQUERY. Sounds to me like a ColdFusion problem rather than an Oracle problem to be honest. Aren't there any ColdFusion support resources?
Cheers, APC -
Controlling a symbol from a button inside of the symbol
I hope this explanation makes sense:
I have an animate file with buttons on the main stage that control symbols.
(buttons are circles labeled 1876 and 1877)
The symbols simply move a png image on and off the stage.
For example, the two circles labeled 1876 and 1877 are PNG files made into buttons that control two different symbols.
The symbols move the scoreboard image on and off the stage.
Within the scoreboard image is an X, that I am hoping to put a button on top of within the symbol to close the symbol.
The code I am using to move the symbols on and off the stage is:
var current = sym.getVariable("current");
if (current != "") {
sym.getSymbol(current).play("out");
sym.getSymbol("syboard1876").play("in");
else {
sym.getSymbol("syboard1876").play("shortIn");
sym.setVariable("current", "syboard1876");
syboard1876 is the green board png.
Any idea how i can get the symbol to move off of the stage by tapping it?
And will I be able to have multiple buttons beneath the symbol (that are hidden beneath the b=green board when it is visible)?
This was the original tutorial I adapted the get the animation to work so far.
Tutorial: Leveraging Independent Symbol Timelines « Adobe Edge Animate Team Blog
Now I just need to figure a way to give the user the ability to tap the X to close the symbol.
Any suggestions?you could use $each() with jquery in compositionReady
if not you need to get back to stage with sym.getComposition().getStage() or
you could use this in compositionReady
function useButtons(element) {
sym.$(element).bind("click",function() {
sym.$('image').attr('src','images/'+element+'.png').css({"opacity":1.00}); // this is a code example - I used the same name for the buttons and image names.
// add button names here
['', '','' ,'',''].forEach(useButtons); -
How can I set a symbol to hide with a code in the symbol?
Hmmm... I will try to explain this question:
I have my main timeline. It is the homepage of my website. The subsites are symbols filled with content. They are 100% of my composition and should overlay over my homepage.
So when I click on the menu buttons on my homepage I can set the symbols (subpages, they are turned off, hidden) on and they will show and play. For that I am using this code:
sym.$("mySymbol").show();
sym.getSymbol("mySymbol").play(0);
This works perfectly.
So I actually looking for the code I put on a kind of closebutton. The closebutton jumps to the fade out transition. Then should close the compositsion - set it to hide. I am back on my homepage where I left it.
I tried to put
sym.$("mySymbol").hide();
on a script in the timeline but that doesnt work. So can anybody tell me the right code?
I searched a lot but couldnt find a solution.
Thanks a lot for help!!!!There is also the possibility to use a variable but this might not be what you want.
In this example you can play each page and use the close button to close the current page. If you try to play the other pages without closing the current, it will not work - only the close button with work to reset all the page's button to be able to play.
Just try it:
click a page button -It will play that page - now try to click the other page buttons - will not work.
click the close button - it will close the current page.
Now you can clck any page and it will play and so on.
Example: https://app.box.com/s/bfg0lvy0spzwinefqzn7 -
Hi
I have a button the does two functions at the same time. it plays a symbol's animation in reverse (in order to hide it) and it slides an element. the symbols animation is triggered by another button (which is not relevant) . So my problem is that if the animation has been triggered first than when the button is pushed the animation plays in reverse, the symbol hides and everything is fine, but if a push the button before that the animation will flash in reverse. SO how can I tell it to only play in reverse when the symbol's animation has run. I know it's an if / else statement but i have no idea how to do it.
thxHere is a case close to your issue:
if ( sym.getSymbol("Symbol1").$("Text").is(":visible") ) { sym.getSymbol("Symbol1").playReverse(); }
else { sym.getSymbol("Symbol1").play(); }
Demo files ==> isVisible.zip - Box -
Report:"encountered the symbol of namespace....."
My Envirement:
CentOS 4.7||Oracle11g||pro*c
My file of nn.pc:
[oracle@oracle11g work2]$ more nn.pc
#include<iostream>
using namespace std;
#include "sqlca.h"
EXEC SQL BEGIN DECLARE SECTION;
char *uid="scott/scott@wilson";
EXEC SQL END DECLARE SECTION;
int main()
EXEC SQL CONNECT :uid;
count<<sqlca.sqlerrm.sqlerrmc<<endl;
if(sqlca.sqlcode == 0)
cout<<"yes"<<endl;
else
cout<<"no"<<endl;
[oracle@oracle11g work2]$
my file of pcscfg.cfg:
[oracle@oracle11g admin]$ more $ORACLE_HOME/precomp/admin/pcscfg.cfg
sys_include=(/u01/oracle/precomp/public,/usr/include,/usr/lib/gcc/i386-redhat-linux/4.1.1/include,/usr/lib/gcc/i386-redhat-li
nux/3.4.5/include,/usr/lib/gcc-lib/i386-redhat-linux/3.2.3/include,/usr/lib/gcc/i586-suse-linux/4.1.0/include)
ltype=short
code=cpp
cpp_suffix=cc
parse=none
SQLCHECK=SEMANTICS
[oracle@oracle11g admin]$
my file of /etc/profile:
[oracle@oracle11g work2]$ more /etc/profile
# /etc/profile
# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc
pathmunge () {
if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; then
if [ "$2" = "after" ] ; then
PATH=$PATH:$1
else
PATH=$1:$PATH
fi
fi
# Path manipulation
if [ `id -u` = 0 ]; then
pathmunge /sbin
pathmunge /usr/sbin
pathmunge /usr/local/sbin
fi
pathmunge /usr/X11R6/bin after
# No core files by default
ulimit -S -c 0 > /dev/null 2>&1
USER="`id -un`"
LOGNAME=$USER
MAIL="/var/spool/mail/$USER"
HOSTNAME=`/bin/hostname`
HISTSIZE=1000
if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]; then
INPUTRC=/etc/inputrc
fi
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC
for i in /etc/profile.d/*.sh ; do
if [ -r "$i" ]; then
. $i
fi
done
unset i
unset pathmunge
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/usr/local/lib;
export LD_LIBRARY_PATH
[oracle@oracle11g work2]$
the error report:
[oracle@oracle11g work2]$ source /etc/profile
[oracle@oracle11g work2]$ proc nn.pc
Pro*C/C++: Release 11.1.0.6.0 - Production on Sun Jun 21 20:15:44 2009
Copyright (c) 1982, 2007, Oracle. All rights reserved.
System default option values taken from: /u01/oracle/precomp/admin/pcscfg.cfg
Error at line 1, column 10 in file nn.pc
#include<iostream>
.........1
PCC-S-02015, unable to open include file
Syntax error at line 2, column 8, file nn.pc:
Error at line 2, column 8 in file nn.pc
using namespace std;
.......1
PCC-S-02201, Encountered the symbol "namespace" when expecting one of the follow
ing:
; , = ( [
Syntax error at line 11, column 2, file nn.pc:
Error at line 11, column 2 in file nn.pc
.1
PCC-S-02201, Encountered the symbol "{" when expecting one of the following:
; , = ( [
The symbol ";" was substituted for "{" to continue.
Syntax error at line 0, column 0, file nn.pc:
Error at line 0, column 0 in file nn.pc
PCC-S-02201, Encountered the symbol "<eof>" when expecting one of the following:
; { } ( * & + - ~ ! ^ ++ -- ... auto, break, case, char,
const, continue, default, do, double, enum, extern, float,
for, goto, if, int, long, ulong_varchar, OCIBFileLocator
OCIBlobLocator, OCIClobLocator, OCIDateTime,
OCIExtProcContext, OCIInterval, OCIRowid, OCIDate, OCINumber,
OCIRaw, OCIString, register, return, short, signed, sizeof,
sql_context, sql_cursor, static, struct, switch, typedef,
union, unsigned, utext, uvarchar, varchar, void, volatile,
while, an identifier, a typedef name, a precompiled header,
a quoted string, a numeric constant, exec oracle,
exec oracle begin, exec, exec sql, exec sql begin,
exec sql type, exec sql var, exec sql include,
Error at line 0, column 0 in file nn.pc
PCC-F-02102, Fatal error while doing C preprocessing
[oracle@oracle11g work2]$
=======================
what does this mean? I searched google, but there's no corresponding solution.
Edited by: user3032370 on 2009-6-22 上午2:03Hi,
I am facing simialr issue on racle 11G
PCC-S-02201, Encountered the symbol "namespace" when expecting one of the follow
ing:
} auto, char, const, double, enum, extern, float, int, long,
ulong_varchar, OCIBFileLocator OCIBlobLocator,
OCIClobLocator, OCIDateTime, OCIExtProcContext, OCIInterval,
OCIRowid, OCIDate, OCINumber, OCIRaw, OCIString, register,
short, signed, sql_context, sql_cursor, static, struct,
typedef, union, unsigned, utext, uvarchar, varchar, void,
volatile, a typedef name, a precompiled header, exec oracle,
exec oracle begin, exec, exec sql, exec sql begin,
exec sql type, exec sql var, exec sql include,
The symbol "exec," was substituted for "namespace" to continue.
Syntax error at line 28, column 7, file ./gen/acd_lib_ppc.i:
Error at line 28, column 7 in file ./gen/acd_lib_ppc.i
using std :: ptrdiff_t ;
......1
PCC-S-02201, Encountered the symbol "std" when expecting one of the following:
; , = ( [
Error at line 0, column 0 in file ./gen/acd_lib_ppc.i
Did you find any solution to this please?
proc details:
[fnetdba@gwl09072appd194 code]$ proc
Pro*C/C++: Release 11.1.0.7.0 - Production on Mon Feb 20 11:25:12 2012
Copyright (c) 1982, 2007, Oracle. All rights reserved. -
How to remove the '#'symbols for infoobject movement types in bex reporting
Hi All,
I have a problem in Bex reporting. The problem is when ever executing the report that time some of the characteristic values is shown in layout '#' Symbols. i want to remove the '#' valuse in report.
is it possible please give me step by step procedure for how to remove the '#' Symbols in reporing layout.
this is very urgent please help to me on this issue.
Thanks & Regards,
Guna.Hi Guna,
To achieve this issue, we need to replace the value of #, we need to change the description while retrieving the data from tables. So we need to write some ABAP code in SE38. Go to RSA1 transaction and go to Info objects tab. Then go to context menu for cProject Key Figures as shown below. Click on the Object Overview to get the overview of all the info objects. Here you can see the field names which are used to know the table names.
In SE11, type the table name in Database Table field. Now press F4, then you will get the next screen to select one of the P/Q/S/T tables.
Now click on the button rounded in the below screen to view the data in the table.
Now click the execute button or press F8 to view the records.
Now go to Tcode: SE38. Create a source code and give some program name for that source code. To write code, you need access key. Contact your BASIS for this.
Now write the below code for that particular table in which you want to change the value # to description Blank. In the below source code, we are updating particular table, setting the field as Blank where it is null or no value. Here the field will automatically get updated to # if there is no value or null.
update /BIC/PXXXXX set /BIC/ZXXXX = 'Blank' where /BIC/ZXXXXX is null or /BIC/ZXXXX = ''.
if sy-subrc eq 0.
write 'successful'.
commit work.
else.
write 'unsuccessful'.
endif.
OR
If this # is because of the missing master data than,
right click that IO -> maintain master
you will see first row as a blank.
whatever value you maintain in this row that will come in the report for all Not assigned # values of the master data in the report.
maintain it according to your requirement, save and activate the master data
Hope this helps u...
Regards,
KK. -
How to make the symbol to be resolved within the shared library ?
I have two definitions of a symbol, one is in the main code, the other in a shared library. I want the symbol to be resolved within the shared library if it needed in the shared library.
From the 'C++ User�s Guide', use the option '-Bsymbolic' to build the shared library is a choice. But it also said 'Never use -Bsymbolic with programs containing C++ code, use linker map files instead. So I have to try to use the map file, but I did not get more useful information from 'Linker and Libraries Guide'.
I want to know what should be included in the map file and how to generate the map file?
Additionally, from the 'Linker and Libraries Guide', the 'Direct Binding' also could resolve this problem. And I tried to build the shared library by the '-B direct' option, it works.
Could anybody tell me what's the difference between the '-Bsymbolic' and '-B direct'?
Any comments are appreciated.You didn't provide fun.h, and you didn't show all the commands that you must have used -- there are no commands that compile the source code into .o files. So I can't tell why the -xldscope option didn't work for you.
Problems and errors that I see in your example:
Functions func and swap are referenced from C code, but swap and one of the func functions are compiled by the C++ compiler and will get mangled names. If you compile a function with the C++ compiler that is to be called from C code, you need to declare the function as extern "C". But the extern "C" in a shared header needs to be guarded by +#ifdef __cplusplus+, since a C compiler won't understand the declaration.
When you build a shared library, you must explicitly list the libraries it depends on, since no dependencies are created by default. For a C++ library, you need at least -lCrun -lc in that order. Otherwise, in a real-world program you can have program failures due to incorrect library initialization order. To be sure you have listed all needed libraries, use the -zdefs option, which causes the linker to complain about missing definitions.
To be sure the shared library is picked up at run time, provide a RUNPATH via the -R option when you build the executable.
The -xldscope option must appear on compile commands for the files where you want it to take effect. It has no effect on a link command, because the option affects how code is generated.
Here is my rewrite:
% cat fun.h
#ifdef __cplusplus
extern "C"
#endif
void func();
#ifdef __cplusplus
extern "C"
#endif
void swap();
% cat fun.c
#include <stdio.h>
#include "fun.h"
extern "C" void func()
printf("func in the shared lib\n");
extern "C" void swap()
func();
% cat fun_in.c
#include <stdio.h>
#include "fun.h"
void func()
printf("func in the main code\n");
% cat main.c
#include <stdio.h>
#include "fun.h"
int main()
func();
printf("invoke the swap:\n");
swap();
% CC -G -xldscope=symbolic fun.c -Kpic -o liboutside.so -lCrun -lc -zdefs
% cc -o run main.c fun_in.c -L. -loutside -R .
% ./run
func in the main code
invoke the swap:
func in the shared libAs you can see, it works as advertised.
Please note that the -xldscope option affects all functions in the module. If you need more fine-grained control, you must add declarations to the source code, or use a mapfile instead of -xldscope .
Maybe you are looking for
-
OS5-Issue with reminders/alerts of all-day events
Hi there, in our company we are used to set up anniversaries and birthdays as all-day events with a reminder at 08.00 AM in Lotus Notes which are synchronized together with individual calendar entries to the Blackberries. After upgrading the first Bo
-
An active component in a JCombobox
I placed an own component, used to select a date in, a JComboBox, no problem so far. I wrote a simple renderer, place the component on a JPanel � works fine. Now my problem: If I click on the component, the JCombobox closes immediately. No mouse-clic
-
How to use clamav anti-virus for Red Hat linux
I wanted to know how to use clamAV anti-virus solution for RHEL 5.X. I tried to find it online but the information does not seem consolidated. I wanted to understand how to install and use it to scan the system. Requesting a reply to my query. Regard
-
Hi Experts, is it possible to create the newTS & business system for the r/3client(system)it has already TS & business system? please suggest to me
-
Lightroom printing - colors way off
I searched through this forum for a known problem, but I'm at a loss... My configuration : Lightroom 2.0 Vista 32 bit Epson R1800, using glossy paper Downloaded the most recent drivers and profiles from Epson site. In the printer properties, I switch