Container Limit!!
I have a problem with oracle application server. When I want to create a new OC4J instance there is no problem but when i want to deploy a new application to this instance, the system gives errors. I suppose that the source of the error is the number of containers (or the applications). But I could not find any place where it is defined. Is there any real place where we can adjust the number of containers on an app. server?
the error message is :
ADMN-100992
Changes cannot be saved to disk due to an environmental problem.
Base Exception:
oracle.ias.sysmgmt.exception.InvalidConfigurationException:Configuration changes prevented server startup. /app/oracle/product/ias//Apache//Apache//bin//apachectl: line 1: 31869 Segmentation fault /app/oracle/product/ias/Apache/Apache/bin/httpd -d /app/oracle/product/ias/Apache/Apache -t "-f" "/app/oracle/product/ias/Apache/Apache/conf/httpd.conf.ohsPluginTmp" "-D" "SSL"
Resolution: Please make sure the values entered in OHS configuration files are correct.
Transaction failed.
oracle.ias.sysmgmt.exception.InvalidConfigurationException: Configuration changes prevented server startup. /app/oracle/product/ias//Apache//Apache//bin//apachectl: line 1: 31869 Segmentation fault /app/oracle/product/ias/Apache/Apache/bin/httpd -d /app/oracle/product/ias/Apache/Apache -t "-f" "/app/oracle/product/ias/Apache/Apache/conf/httpd.conf.ohsPluginTmp" "-D" "SSL"
Resolution: Please make sure the values entered in OHS configuration files are correct.
at oracle.ias.sysmgmt.repository.plugin.advanced.apache.StateTranslator.checkConfigFileValidity(Unknown Source)
at oracle.ias.sysmgmt.repository.plugin.advanced.apache.StateTranslator.validateConfigDuringEvaluate(Unknown Source)
at oracle.ias.sysmgmt.repository.plugin.advanced.apache.PlugInImpl.localConfigValidation(Unknown Source)
at oracle.ias.sysmgmt.repository.RepositoryImpl.performLocalValidation(Unknown Source)
at oracle.ias.sysmgmt.repository.DomManagerCollection.saveToPersistence(Unknown Source)
at oracle.ias.sysmgmt.repository.RepositoryImpl.saveToPersistence(Unknown Source)
at oracle.ias.sysmgmt.configsvc.NormalConfigurationHandlerImpl.evaluate(Unknown Source)
at oracle.ias.sysmgmt.configsvc.ConfigurationServiceImpl.evaluate(Unknown Source)
at oracle.ias.sysmgmt.configsvc.ConfigurationServiceImpl.evaluate(Unknown Source)
at oracle.ias.sysmgmt.deployment.DeploymentSession.evaluate(Unknown Source)
at oracle.ias.sysmgmt.deployment.j2ee.adapter.SmiChangeManager.triggerSmiChanges(Unknown Source)
at oracle.ias.sysmgmt.deployment.j2ee.adapter.DeploymentAdapter.doEvaluateDeploy(Unknown Source)
at oracle.ias.sysmgmt.deployment.j2ee.adapter.DeploymentAdapter.evaluate(Unknown Source)
at oracle.ias.sysmgmt.task.TaskMaster.sync_evaluate(Unknown Source)
at oracle.ias.sysmgmt.task.TaskMaster.internal_evaluate(Unknown Source)
at oracle.ias.sysmgmt.task.RemoteEvaluate.execCommand(Unknown Source)
at oracle.ias.sysmgmt.task.DaemonWorker.run(Unknown Source)
Similar Messages
-
Hi,
I can't find this documented anywhere, but I am thinking there is a maximum number associated with the number of matches that can be counted with the 'body-contains' rule, for example;
body-contains("someword",1000) - works just fine
...but using say a count of 10,000 (a lot, I know!) does not.
[EDIT : I figured this out, 10,000 works fine! Apologies for the hasty post]
<Snip>
Thanks guys!
Chris.i can't find it documented anywhere. but it sounds like a bad idea... content filters (GUI) have form validation to restrict you from entering a value of > 1000 term matches. message filters (CLI) may lack similar data validation but it uses more or less the same scanning capabilities so there must be a resource consumption type reason to limit term matches to 1000. i've only ever seen someone use values from 1 through 10 in that field to be honest.
if you do decide to use that in production - let us know what happens.
andrew -
How to limit number of sessions for an Application
Hi,
I have an ASO application running on Essbase 7.1.5 version.
This Essbase cube is widely used by the BO ( business objects ) Web I services for retrieving data in there Dash Boards.
No I want to restrict number of sessions on this application. We have SERVERTHREADS through which we can set limit on application wise.
SERVERTHREADS [application] 20;
When I set this in the Essbase config file on this server and bounce the Essbase services. Will this really help me in limiting the session till 20 for this application . I see we can set minimum 20 and maximum 500 using server threads.
What will happen to the session which excceds 20. will they be kept in queue ?.
Pls let me know if this work. Else pls suggest me the best one.
Some information for you – in the Essbase ->properties->statistics-> I see Ports Available are 65531
Thanks
MSHI,
1. SERVERTHREADS does not contain/limit the count of sessions one can have .
2. Count of ports will help you decide what is the default SERVERTHREAD count , in your case its 20.
3. the count 20 signifies the number of threads which a transaction can use ( here threads are nothing by the operating system level threads, to do with the processes and processor).
4. If you have multiple transactions and you want to improve the performance of them ( in case of slow response or so). You can increase the thread count , to make more threads work for your transactions. Again , this does not limit the count of sessions .
5. I did not understand the obejctive behind limiting the sessions and avoiding users from accessing . I think , this defeats the whole purpose of having cubes then. You have many cubes ,and huge number of users who pull data and essbase and its kernel are capable of handling this . If you still want to restrcit, might as well set their security ( by letting them not to access cubes).
Hope this adds value
Sandeep Reddy Enti
HCC
http://hyperionconsultancy.com/ -
Business Application Log how to suppress 'Number' of messages column
Dear SDN Members,
how is it possible to suppress the 'Number' column in a BAL output where the number of messages is printed?
Thanks and kind regards,
CedrikHI,
1. SERVERTHREADS does not contain/limit the count of sessions one can have .
2. Count of ports will help you decide what is the default SERVERTHREAD count , in your case its 20.
3. the count 20 signifies the number of threads which a transaction can use ( here threads are nothing by the operating system level threads, to do with the processes and processor).
4. If you have multiple transactions and you want to improve the performance of them ( in case of slow response or so). You can increase the thread count , to make more threads work for your transactions. Again , this does not limit the count of sessions .
5. I did not understand the obejctive behind limiting the sessions and avoiding users from accessing . I think , this defeats the whole purpose of having cubes then. You have many cubes ,and huge number of users who pull data and essbase and its kernel are capable of handling this . If you still want to restrcit, might as well set their security ( by letting them not to access cubes).
Hope this adds value
Sandeep Reddy Enti
HCC
http://hyperionconsultancy.com/ -
HI ,
When I see "sh int status" from core switch --access switch port, I am getting huge count of Broadcast/multicast packet
How to refrain that behaviour & how to check what machine/host is generating the traffic.
Also any fine-tuning needs to be done in our network to control that behaviour.
Br/SubhojitHi Subhojit,
The only way that you will be able to know the source of the broadcast / multicast traffic is by getting a sniffer capture and analyzing it.
In order to contain / limit unicast / broadcast / multicast traffic, you need to configure storm-control on the affected ports. You may refer the following link for detailed information.
http://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst2950/software/release/12-1_22ea/SCG/scg/swtrafc.html
I hope this helps.
Thanks,
Arun -
Oracle Text contain query limit with 9i
The Oracle Text contain query is defined as this:
CONTAINS(
[schema.]column,
text_query VARCHAR2
[,label NUMBER])
RETURN NUMBER;
Is the size limit of text_query 4000 bytes with 9i? Is it increased with 10g or is it accepting CLOB in 10g?
I always got the error: "ORA-01460: unimplemented or unreasonable conversion requested" when I do the following where p_var was dynamically passed with size of more than 4000 bytes:
p_statement varchar2(20000);
p_var varchar2(8000);
p_statement := select count(*) from dewey_table where contains(concat, :x)>0;
open m_cursor for p_statement using p_var;
Thanks very much,
KevinThe limit is definitely 4000 characters in 9i and the 10g documentation shows no change in the calling spec for that parameter.
-
xsql:query - Is there a character limit on the SQL contained in the tag?
Is there a limit to the length of the SQL contained in the
<xsql:query> tag ?
I've been very successful with short queries using xsql:query
tags, however, for longer queries they seem to fail the XML
Syntax check using JDeveloper 3.2.3.
The resulting error from the XSQLServlet is XSQL-005 page is not
well formed with the following:
XML-0201: (Fatal Error) Expected name instead of .
XML-0122: (Fatal Error) '=' missing in attribute.
XML-0125: (Fatal Error) Attribute value should start with quote
(Posted example 10/16/01)Hello Bill,
>> … to our apex environment (9.2)
The following might give you some more information on your possible situation -
Re: Is there a maximum number of characters allowed in PL/SQL Anonymous Blo
ORA-06550 recieved when trying to modify existing page after 3.1 Apex upg
Regards,
Arie. -
I have lost my harddrive which contains a vast amount of music I've been collecting for many years. I just purchased a new Mac, but I've reached my activation limit. And I only have access to 2 of the 5 activated computers. My old music can still be played on my iPod, but I need to set up another account on my new Mac. What will happen to my music if I were to deactivate all of activated computers?
Authorization determines to which computers material requiring authorization can be transferrred using the itunes interface. If you want to re-download past purchases then a computer need to be authorized.
As for transferring music from the iPod, your i-device was not designed for unique storage of your media. It is not a backup device and media transfer is designed with you maintaining a master copy of your media on a computer which is itself properly backed up against loss. Syncing is one way, computer to device, updating the device content to the content on the computer, not updating or restoring content on a computer. The exception is purchased content.
iTunes Store: Transferring purchases from your iOS device or iPod to a computer - http://support.apple.com/kb/HT1848 - only media purchased from iTunes Store
For transferring other items from an i-device to a computer you will have to use third party commercial software. Examples (check the web for others; this is not an exhaustive listing, nor do I have any idea if they are any good):
- Senuti - http://www.fadingred.com/senuti/
- Phoneview - http://www.ecamm.com/mac/phoneview/
- MusicRescue - http://www.kennettnet.co.uk/products/musicrescue/ - Mac & Windows
- Sharepod (free) - http://download.cnet.com/SharePod/3000-2141_4-10794489.html?tag=mncol;2 - Windows
- Snowfox/iMedia - http://www.mac-videoconverter.com/imedia-transfer-mac.html - Mac & PC
- iexplorer (free) - http://www.macroplant.com/iexplorer/ - Mac&PC
- Yamipod (free) - http://www.yamipod.com/main/modules/downloads/ - PC, Linux, Mac [Still updated for use on newer devices? No edits to site since 2010.]
- 2010 Post by Zevoneer: iPod media recovery options - https://discussions.apple.com/message/11624224 - this is an older post and many of the links are also for old posts, so bear this in mind when reading them.
Syncing to a "New" Computer or replacing a "crashed" Hard Drive - https://discussions.apple.com/docs/DOC-3141 - dates from 2008 and some outdated information now.
Copying Content from your iPod to your Computer - The Definitive Guide - http://www.ilounge.com/index.php/articles/comments/copying-music-from-ipod-to-co mputer/ - Information about use in disk mode pertains only to older model iPods.
Get Your Music Off of Your iPod - http://howto.wired.com/wiki/Get_Your_Music_Off_of_Your_iPod - I am not sure but this may only work with some models and not newer Touch, iPhone, or iPad.
Additional information here https://discussions.apple.com/message/18324797 -
What is the size limit of inbound container in Generic Synchronization?
Hello Everyone,
I am calling a RFC function module from the back end. It is returning me 102 entries for a particulor set of input parameters when i run it there.
But when i call it from MI Client using Generic Synchronization then it returns me 99 entries.
Is it beacuse inbound container size limit?
Can anybody solve this problem?
Thanks in advance.Hi Abhijit,
Please refer to the note 842475 for getting info about package size for inbound containers.
The maximum size a package can obtain is 5MB. However, this will not restrict data from coming on client. The remaining data will be sent in next container.
Regards,
Rahul
If this helps kindly assign me some points. -
WS14000109 N-Step limit, LastApproverName field in container not filled
Hi,
We are running BBPCRM40 SP8,
We are using WS14000109 workflow, when the approver reject the shopping cart the message in the task (TS10407972) starts by
&LASTAPPROVERNAME& has rejected
The problem is that field is not being filled out, I can't change the field because this task appears in other workflows.
Does anybody know how I can solve this?
thanks
Best regardscan suggest one workaround
In addition to yr current WF WS14000109,
also activate automatic approval WF.
For automatic WF engter the start condition as
the SC total value should be < 600 euro
and exclude this condition in WS14000109
means in start condition
SC total value should be > 600 euro
then below 600 euro SC will be auto approved.
BR
Dinesh -
Problems in Creation of Limit based PO's
Dear Forum,
As per my req I am creating a limit Based PO with reference to limit based PR using the FM BAPI_PO_CREATE1 in 4.6c.
I encountered so many errors like 'PO contains faulty item data' 'Assign acc data correctly'. I searched max in forums for solution. But I have not come across the limit based PO creation solution. I fcould found so may service based PO creation.
Checked may notes.
request you all to provide the solution of creating Limit Based PO (which structures I need to update)with reference to PR.
Kindly find my code below and provide me the solution.
v_ponum = p_i_eban_banfn.
v_pitem = p_i_eban_bnfpo.
CONCATENATE v_ponum v_pitem INTO v_fnum.
header-po_number = p_i_eban_banfn.
header-comp_code = c_comp.
header-doc_type = p_i_eban_bsart.
header-creat_date = sy-datum.
header-vendor = c_lifnr.
header-purch_org = c_org.
header-pur_group = p_i_eban_ekgrp.
header-vper_start = sy-datum.
header-vper_end = c_date.
*populate header flag.
headerx-po_number = c_x.
headerx-comp_code = c_x.
headerx-doc_type = c_x.
headerx-creat_date = c_x.
headerx-vendor = c_x.
headerx-purch_org = c_x.
headerx-pur_group = c_x.
headerx-vper_start = c_x.
headerx-vper_end = c_x.
*POPULATE ITEM DATA.
item-po_item = p_i_eban_bnfpo.
item-preq_no = p_i_eban_banfn.
item-preq_item = p_i_eban_bnfpo.
item-acctasscat = p_i_eban_knttp.
item-po_unit = c_uom.
item-short_text = p_i_eban_txz01.
item-net_price = p_i_eban_preis.
item-po_unit_iso = c_uom.
item-plant = p_i_eban_werks.
item-quantity = p_i_eban_menge.
item-tax_code = c_a0.
item-vend_mat = p_i_eban_idnlf.
item-item_cat = 'B'.
item-pckg_no = '0000000001'.
APPEND item.
*POPULATE ITEM FLAG TABLE
itemx-po_item = p_i_eban_bnfpo.
itemx-plant = c_x .
itemx-preq_no = c_x.
itemx-preq_item = p_i_eban_bnfpo.
itemx-acctasscat = c_x.
itemx-quantity = c_x .
itemx-vend_mat = c_x.
itemx-tax_code = c_x .
itemx-po_unit = c_x.
itemx-short_text = c_x.
itemx-po_unit_iso = c_x.
item-item_cat = 'X'.
itemx-pckg_no = 'X'.
APPEND itemx.
*POPULATE SCHEDULE TABLE
WRITE sy-datum TO gv_inv_date.
poschedule-po_item = p_i_eban_bnfpo.
poschedule-delivery_date = gv_inv_date.
poschedule-preq_no = p_i_eban_banfn.
poschedule-preq_item = p_i_eban_bnfpo.
APPEND poschedule.
*POPULATE SCHEDULE FLAG TABLE
poschedulex-po_item = p_i_eban_bnfpo.
poschedulex-del_datcat_ext = c_x.
poschedulex-delivery_date = c_x.
poschedulex-preq_no = c_x.
poschedulex-preq_item = c_x.
APPEND poschedulex.
populating Account table
t_acc-po_item = '00010'.
t_acc-serial_no = '01'.
t_acc-gl_account = '0621150001'.
t_acc-costcenter = '0020011813'.
APPEND t_acc.
populating Account flag table
t_accx-po_item = '00010'.
t_accx-serial_no = '01'.
t_accx-po_itemx = 'X'.
t_accx-serial_nox = 'X'.
t_accx-gl_account = 'X'.
t_accx-costcenter = 'X'.
APPEND t_accx.
populating limit table
t_limit-pckg_no = '0000000001'.
t_limit-limit = p_i_eban_preis.
t_limit-no_limit = ' '.
t_limit-exp_value = p_i_eban_preis.
t_limit-no_frlimit = 'X'.
APPEND t_limit.
Populating srvaccessvalues table
t_serv_acc-pckg_no = '0000000001'.
t_serv_acc-line_no = '0000000000'.
t_serv_acc-serno_line = '01'.
t_serv_acc-percentage = '100.0'.
t_serv_acc-serial_no = '01'.
APPEND t_serv_acc.
*POPULATE CONDITION TABLE
pocond-itm_number = p_i_eban_bnfpo.
pocond-cond_type = c_zbpr.
p_i_eban_preis = p_i_eban_preis / 10.
pocond-cond_value = p_i_eban_preis.
pocond-change_id = 'I'.
APPEND pocond.
*POPULATE CONDITION FLAG TABLE
pocondx-cond_type = c_x.
pocondx-itm_number = i_eban-bnfpo.
pocondx-cond_value = c_x.
pocondx-change_id = c_x.
APPEND pocondx.
**bapi create call
CALL FUNCTION 'BAPI_PO_CREATE1'
EXPORTING
poheader = header
poheaderx = headerx
TABLES
return = return
poitem = item
poitemx = itemx
poschedule = poschedule
poschedulex = poschedulex
poaccount = t_acc
poaccountx = t_accx
pocond = pocond
pocondx = pocondx
polimits = t_limit
posrvaccessvalues = t_serv_acc.Hi Venkat Prasad
As you told that the query is on multi provider and the view is not allowing to declare/define filter value
Just drag the infoprovider info object avilable under packet dimension to rows and right click on it restrict by selecting the name of the info provider when u right click it will show you the option of restrict once u click on it,it will takes to u a pop up where you can able to see the name of info providers and you specify according to it and finally in the display of results if you dont want to to display the info provider name then just right click on the 0infoprovider object under rows go to properties then choose hide option under display.
Hope its clear a little..!
Thanks
K M R
**Assigning points is the only way of saying thanks in SDN***
>
venkata prasad wrote:
> Hi K M R,
>
> Thanks for ur quick response. Most of the Infoobjects are common for both infocubes. I didn't understand this sentense "retrict the value with the infoprovider which values you are trying to view".
> Please explian elaborately how to restrict the values speicfic to infoprovider under rows. -
PL/SQL Limit When Dealing with a CLOB?
Greetings,
I am constructing HTML into a CLOB in a PL/SQL routine which I later display in an APEX application. The HTML can get large, because I am constructing a grid over an image, and the grid can have a lot of columns and rows which means there can be a lot of <area shape="rect" HTML lines. I did a search and found that another person had the same problem, because there is a 32K limit with HTML contents. That was very helpful.
Thing is - I have another (maybe similar) issue. The procedure that constructs the HTML gets a numeric error when the number of cells in the grid reach a certain point. I checked and this happens when the CLOB in the procedure gets close to 32K. Sorry, it difficult to know exactly when it fails, but the most I have been able to put into the CLOB is 32,852 characters. Therefore my question - is there in internal limit in PL/SQL (or some other Oracle aspect) that is limited to 32K? The coluimn in the table that contains the HTML is a CLOB and the variable in the PL/SQL that the HTML is parsed into is a CLOB, so I thought I was good to go since the CLOB limit is 4GB. But, it looks like I may be missing something.
We are running Oracle 11i and APEX 4.0.2.00.07. If other system info is needed let me know and I will get that for you.
Also, if it helps. The code from the procedure is copied below. v_html is the variable that holds the HTML. The table column for the HTML is imagemap_html. Both v_html and imagemap_html are defined as CLOB's.
Thanks, Tony
= = = = = = =
create or replace
procedure create_grid (p_action IN VARCHAR2) as
v_wcount integer := 0;
v_wmax integer := 20;
v_width integer := 720;
v_w1 integer := 0;
v_w2 integer := 0;
v_winc integer := 0;
v_wstart integer := 0;
v_wend integer := 0;
v_hcount integer := 0;
v_hmax integer := 10;
v_height integer := 520;
v_h1 integer := 0;
v_h2 integer := 0;
v_hinc integer := 0;
v_hstart integer := 0;
v_hend integer := 0;
v_cell_row integer := 0;
v_cell_col integer := 0;
v_cell_title varchar2(10) := NULL;
v_whitespace varchar2(10) := NULL;
v_url_1 varchar2(100) := NULL;
v_url_2 varchar2(100) := NULL;
v_url_3 varchar2(100) := NULL;
v_brand_id integer := 0;
v_division_id integer := 0;
v_plant_id integer := 0;
v_model_id integer := 0;
v_acc_group integer := 0;
v_accessory integer := 0;
v_acc_grp integer := 0;
v_acc integer := 0;
v_station_id integer := 0;
v_substation_id integer := 0;
v_image_id integer := 0;
v_id integer := 0;
v_html clob;
begin
v_brand_id := v('P4_BRAND_ID');
v_division_id :=v('P4_DIVISION_ID');
v_plant_id := v('P4_PLANT_ID');
v_model_id := v('P4_MODEL_ID');
v_acc_group := v('P4_ACC_GROUP');
v_accessory := v('P4_ACCESSORY');
v_station_id := v('P4_STATION_ID');
v_substation_id := v('P4_SUBSTATION_ID');
v_image_id := v('P4_IMAGES_ID');
v_wmax := v('P4_COLUMNS');
v_hmax := v('P4_ROWS');
v_wstart := v('P4_XSTART');
v_hstart := v('P4_YSTART');
v_wend := v('P4_XEND');
v_hend := v('P4_YEND');
v_whitespace := v('P4_WHITESPACE');
if p_action = 'INSERT' then
-- insert the row now, so that the cell table rows can be inserted with the correct FK
insert into IM_TEMPLATE_DRAFT
(plant_id, brand_id, division_id, model_id, acc_group, accessory, station_id,
substation_id, image_id)
values
(v_plant_id,v_brand_id,v_division_id,v_model_id,v_acc_group,v_accessory,v_station_id,v_substation_id,v_image_id);
commit;
end if;
-- get the id of the row that was just inserted
select header_id into v_id from IM_TEMPLATE_DRAFT where
plant_id=v_plant_id and brand_id=v_brand_id and division_id=v_division_id and
model_id=v_model_id and acc_group=v_acc_group and accessory=v_accessory and
station_id=v_station_id and substation_id=v_substation_id and image_id=v_image_id;
-- remove all the cell rows for the draft, they will be created anew
delete from qcis_draft_cells where draft_id = v_id;
BEGIN
select pixel_width, pixel_height into v_width, v_height from images
where images_id = v_image_id;
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_height := 720;
v_width := 520;
END;
-- the first part of the href for the image is stored in the keyword table and put into v_url_1 for use later
BEGIN
select keyword_value into v_url_1 from qcis_keywords
where keyword_type = 'Control' and keyword_code = 'URL_PATH';
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_url_1 := 'http://xxx.xxx.com:8000/apex40/f?p=';
END;
-- construct the first three lines of the div tag
v_html := '<div style="text-align:center; width:'||v_width||'px; margin-left:auto; margin-right:auto;">';
v_html := v_html || chr(10) || '<img id="ImageMap" src="download_image?p_id='||v_image_id||'" usemap="#ImageMap" border="0" width="'||v_width||'" height="'||v_height||'" alt="" />';
v_html := v_html || chr(10) || '<map id="_ImageMap" name="ImageMap">';
-- subtract the ending inset amounts from the image dimensions
v_width := v_width - v_wend;
v_height := v_height - v_hend;
-- calculate the increment for each cell and subtract the starting inset amounts
v_winc := floor((v_width - v_wstart) / v_wmax);
v_hinc := floor((v_height - v_hstart) / v_hmax);
-- there are two main loops, one for the columns, one for the rows
-- one loop is inside the other, which helps to build the cells in logical order and helps with the naming of the cells
loop
-- if this is the first row (count = 0) and they have inset values we need to adust the first x y values to something other than zero
if ((v_wstart != 0) and (v_wcount = 0)) then v_w1 := v_wstart; end if;
if ((v_hstart != 0) and (v_hcount = 0)) then v_h1 := v_hstart; end if;
if ((v_wstart != 0) and (v_wcount = 0)) then v_w2 := v_wstart; end if;
if ((v_hstart != 0) and (v_hcount = 0)) then v_h2 := v_hstart; end if;
v_wcount := v_wcount + 1;
v_w2 := v_w2 + v_winc;
-- checking to see if this is the last row and whether they want the grid to go to the end or have all cells the same size which may leave whitespace
if (v_wcount = v_wmax) and (v_whitespace = 'Y') then v_w2 := v_width - 2; end if;
v_cell_row := 0;
v_cell_col := v_cell_col +1;
loop
v_hcount := v_hcount + 1;
v_h2 := v_h2 + v_hinc;
-- checking to see if this is the last row and whether they want the grid to go to the end or have all cells the same size which may leave whitespace
if (v_hcount = v_hmax) and (v_whitespace = 'Y') then v_h2 := v_height - 2; end if;
v_cell_row := v_cell_row + 1;
-- put it all together and construct the line for the area shape tag
v_html := v_html || chr(10) || '<area shape="rect" coords="'
||v_w1||','||v_h1||','||v_w2||','||v_h2||
'" href="'||v_url_1|| '" alt="'||v_cell_col||'-'||v_cell_row||'" title="'||v_cell_col||'-'||v_cell_row||'" />';
v_cell_title := v_cell_col||'-'||v_cell_row;
insert into DRAFT_CELLS (DRAFT_ID, CELL_TITLE) values(v_id, v_cell_title);
v_h1 := v_h1 + v_hinc;
exit when v_hcount = v_hmax;
end loop;
v_hcount := 0;
v_h1 := 0;
v_h2 := 0;
v_w1 := v_w1 + v_winc;
exit when v_wcount = v_wmax;
end loop;
v_html := v_html || chr(10) || '</div>';
update IM_TEMPLATE_DRAFT set imagemap_html = v_html
where header_id = v_id;
END create_grid;Edited by: cloaked on Nov 7, 2011 4:45 AMFor "Application Express 4.2.1.00.08" i created such good solution.
I downloaded freeware plugin "Enkitec Clob Load Plug-in Version: 1.0.0 - APEX Version: 4.2.0" from there:
http://www.enkitec.com/products/plugins/clob-load/help
Then i followed plugin installation steps and created a APEX page where i added an item of type "Rich Text Editor".
I found the plugin crashes when my database CLOB field is empty, also crashed when i tried to save down empty value to database.
I changed Plugin code a little, and now everything works as needed, i can save down larga data, and also empty data.
1. In Apex open plugin "Enkitec CLOB Load".
2. Navigate to "Source-->PL/SQL Code" where is text area with plugin source code.
3. there you have such code:
FUNCTION enkitec_clob_load_render (
p_dynamic_action IN APEX_PLUGIN.T_DYNAMIC_ACTION,
p_plugin IN APEX_PLUGIN.T_PLUGIN
RETURN APEX_PLUGIN.T_DYNAMIC_ACTION_RENDER_RESULT
IS
l_retval APEX_PLUGIN.T_DYNAMIC_ACTION_RENDER_RESULT;
l_show_modal VARCHAR2(1) := p_plugin.attribute_01;
l_dialog_title VARCHAR2(4000) := NVL(p_plugin.attribute_02, 'Please wait...');
l_loading_img_type VARCHAR2(30) := p_plugin.attribute_03;
l_loading_img_c VARCHAR2(4000) := p_plugin.attribute_04;
l_action VARCHAR2(10) := NVL(p_dynamic_action.attribute_01, 'RENDER');
l_change_only VARCHAR2(1) := NVL(p_dynamic_action.attribute_06, 'Y');
l_make_blocking VARCHAR2(1) := NVL(p_dynamic_action.attribute_07, 'Y');
l_loading_img_src VARCHAR2(32767);
l_crlf VARCHAR2(2) := CHR(13)||CHR(10);
l_js_function VARCHAR2(32767);
l_onload_code VARCHAR2(32767);
BEGIN
IF apex_application.g_debug
THEN
apex_plugin_util.debug_dynamic_action(
p_plugin => p_plugin,
p_dynamic_action => p_dynamic_action
END IF;
IF l_loading_img_type = 'DEFAULT'
THEN
l_loading_img_src := p_plugin.file_prefix || 'enkitec-loading.gif';
ELSE
l_loading_img_src := REPLACE(l_loading_img_c, '#IMAGE_PREFIX#', apex_application.g_image_prefix);
l_loading_img_src := REPLACE(l_loading_img_src, '#PLUGIN_PREFIX#', p_plugin.file_prefix);
END IF;
apex_css.add(
p_css => '.clob-load-dialog .ui-dialog-titlebar-close {display: none;}',
p_key => 'clob-load-hide-modal-close'
apex_javascript.add_library(
p_name => 'enkitec-clob-load.min',
p_directory => p_plugin.file_prefix,
p_version => NULL
l_onload_code :=
'apex.jQuery(document).clob_load({'|| l_crlf ||
' showModal: "' || l_show_modal ||'",'|| l_crlf ||
' dialogTitle: "' || l_dialog_title ||'",'|| l_crlf ||
' loadingImageSrc: "' || l_loading_img_src ||'",'|| l_crlf ||
' pluginFilePrefix: "' || p_plugin.file_prefix || '",' || l_crlf ||
' apexImagePrefix: "' || apex_application.g_image_prefix || ',"' || l_crlf ||
apex_javascript.add_onload_code(
p_code => l_onload_code
IF l_action = 'RENDER'
THEN
l_js_function :=
'function(){'|| l_crlf ||
' apex.jQuery(document).clob_load("renderClob", {' || l_crlf ||
' $elmt: this.affectedElements.eq(0),' || l_crlf ||
' ajaxIdentifier: "' || apex_plugin.get_ajax_identifier() || '"' || l_crlf ||
' });'|| l_crlf ||
ELSE
l_js_function :=
'function(){'|| l_crlf ||
' apex.jQuery(document).clob_load("submitClob", {' || l_crlf ||
' $elmt: this.affectedElements.eq(0),' || l_crlf ||
' ajaxIdentifier: "' || apex_plugin.get_ajax_identifier() || '",' || l_crlf ||
' changeOnly: "' || l_change_only || '",' || l_crlf ||
' makeBlocking: "' || l_make_blocking || '"' || l_crlf ||
' });'|| l_crlf ||
END IF;
l_retval.javascript_function := l_js_function;
RETURN l_retval;
END enkitec_clob_load_render;
FUNCTION enkitec_clob_load_ajax (
p_dynamic_action IN APEX_PLUGIN.T_DYNAMIC_ACTION,
p_plugin IN APEX_PLUGIN.T_PLUGIN
RETURN APEX_PLUGIN.T_DYNAMIC_ACTION_AJAX_RESULT
IS
l_retval APEX_PLUGIN.T_DYNAMIC_ACTION_AJAX_RESULT;
l_ajax_function VARCHAR2(32767) := apex_application.g_x01;
l_source VARCHAR2(20) := NVL(p_dynamic_action.attribute_02, 'COLLECTION');
l_render_collection_name VARCHAR2(255) := p_dynamic_action.attribute_03;
l_query VARCHAR2(32767) := p_dynamic_action.attribute_04;
l_submit_collection_name VARCHAR2(255) := p_dynamic_action.attribute_05;
l_column_value_list APEX_PLUGIN_UTIL.T_COLUMN_VALUE_LIST2;
l_clob_text CLOB := EMPTY_CLOB();
l_token VARCHAR2(32000);
l_chunk_size NUMBER := 4000;
BEGIN
IF l_ajax_function = 'RENDER_CLOB'
THEN
IF l_source = 'COLLECTION'
THEN
IF apex_collection.collection_exists(l_render_collection_name)
THEN
SELECT clob001
INTO l_clob_text
FROM apex_collections
WHERE collection_name = l_render_collection_name
AND seq_id = 1;
END IF;
ELSE --must be SQL_QUERY
BEGIN
l_column_value_list := apex_plugin_util.get_data2(
p_sql_statement => l_query,
p_min_columns => 1,
p_max_columns => 1,
p_component_name => p_dynamic_action.action,
p_first_row => 1,
p_max_rows => 1
EXCEPTION
WHEN NO_DATA_FOUND
THEN
NULL;
END;
IF l_column_value_list.exists(1)
AND l_column_value_list(1).value_list.exists(1)
THEN
l_clob_text := l_column_value_list(1).value_list(1).clob_value;
END IF;
END IF;
FOR i IN 0 .. FLOOR(LENGTH(l_clob_text)/l_chunk_size)
LOOP
sys.htp.prn(substr(l_clob_text, i * l_chunk_size + 1, l_chunk_size));
END LOOP;
ELSE --must be SUBMIT_CLOB
dbms_lob.createtemporary(l_clob_text, false, dbms_lob.session);
FOR i IN 1..apex_application.g_f01.count
LOOP
l_token := wwv_flow.g_f01(i);
dbms_lob.writeappend(l_clob_text, length(l_token), l_token);
END LOOP;
apex_collection.create_or_truncate_collection(
p_collection_name => l_submit_collection_name
apex_collection.add_member(
p_collection_name => l_submit_collection_name,
p_clob001 => l_clob_text
END IF;
RETURN l_retval;
END enkitec_clob_load_ajax;4. Change this code to this code:
FUNCTION enkitec_clob_load_render (
p_dynamic_action IN APEX_PLUGIN.T_DYNAMIC_ACTION,
p_plugin IN APEX_PLUGIN.T_PLUGIN
RETURN APEX_PLUGIN.T_DYNAMIC_ACTION_RENDER_RESULT
IS
l_retval APEX_PLUGIN.T_DYNAMIC_ACTION_RENDER_RESULT;
l_show_modal VARCHAR2(1) := p_plugin.attribute_01;
l_dialog_title VARCHAR2(4000) := NVL(p_plugin.attribute_02, 'Please wait...');
l_loading_img_type VARCHAR2(30) := p_plugin.attribute_03;
l_loading_img_c VARCHAR2(4000) := p_plugin.attribute_04;
l_action VARCHAR2(10) := NVL(p_dynamic_action.attribute_01, 'RENDER');
l_change_only VARCHAR2(1) := NVL(p_dynamic_action.attribute_06, 'Y');
l_make_blocking VARCHAR2(1) := NVL(p_dynamic_action.attribute_07, 'Y');
l_loading_img_src VARCHAR2(32767);
l_crlf VARCHAR2(2) := CHR(13)||CHR(10);
l_js_function VARCHAR2(32767);
l_onload_code VARCHAR2(32767);
BEGIN
IF apex_application.g_debug
THEN
apex_plugin_util.debug_dynamic_action(
p_plugin => p_plugin,
p_dynamic_action => p_dynamic_action
END IF;
IF l_loading_img_type = 'DEFAULT'
THEN
l_loading_img_src := p_plugin.file_prefix || 'enkitec-loading.gif';
ELSE
l_loading_img_src := REPLACE(l_loading_img_c, '#IMAGE_PREFIX#', apex_application.g_image_prefix);
l_loading_img_src := REPLACE(l_loading_img_src, '#PLUGIN_PREFIX#', p_plugin.file_prefix);
END IF;
apex_css.add(
p_css => '.clob-load-dialog .ui-dialog-titlebar-close {display: none;}',
p_key => 'clob-load-hide-modal-close'
apex_javascript.add_library(
p_name => 'enkitec-clob-load.min',
p_directory => p_plugin.file_prefix,
p_version => NULL
l_onload_code :=
'apex.jQuery(document).clob_load({'|| l_crlf ||
' showModal: "' || l_show_modal ||'",'|| l_crlf ||
' dialogTitle: "' || l_dialog_title ||'",'|| l_crlf ||
' loadingImageSrc: "' || l_loading_img_src ||'",'|| l_crlf ||
' pluginFilePrefix: "' || p_plugin.file_prefix || '",' || l_crlf ||
' apexImagePrefix: "' || apex_application.g_image_prefix || ',"' || l_crlf ||
apex_javascript.add_onload_code(
p_code => l_onload_code
IF l_action = 'RENDER'
THEN
l_js_function :=
'function(){'|| l_crlf ||
' apex.jQuery(document).clob_load("renderClob", {' || l_crlf ||
' $elmt: this.affectedElements.eq(0),' || l_crlf ||
' ajaxIdentifier: "' || apex_plugin.get_ajax_identifier() || '"' || l_crlf ||
' });'|| l_crlf ||
ELSE
l_js_function :=
'function(){'|| l_crlf ||
' apex.jQuery(document).clob_load("submitClob", {' || l_crlf ||
' $elmt: this.affectedElements.eq(0),' || l_crlf ||
' ajaxIdentifier: "' || apex_plugin.get_ajax_identifier() || '",' || l_crlf ||
' changeOnly: "' || l_change_only || '",' || l_crlf ||
' makeBlocking: "' || l_make_blocking || '"' || l_crlf ||
' });'|| l_crlf ||
END IF;
l_retval.javascript_function := l_js_function;
RETURN l_retval;
END enkitec_clob_load_render;
FUNCTION enkitec_clob_load_ajax (
p_dynamic_action IN APEX_PLUGIN.T_DYNAMIC_ACTION,
p_plugin IN APEX_PLUGIN.T_PLUGIN
RETURN APEX_PLUGIN.T_DYNAMIC_ACTION_AJAX_RESULT
IS
l_retval APEX_PLUGIN.T_DYNAMIC_ACTION_AJAX_RESULT;
l_ajax_function VARCHAR2(32767) := apex_application.g_x01;
l_source VARCHAR2(20) := NVL(p_dynamic_action.attribute_02, 'COLLECTION');
l_render_collection_name VARCHAR2(255) := p_dynamic_action.attribute_03;
l_query VARCHAR2(32767) := p_dynamic_action.attribute_04;
l_submit_collection_name VARCHAR2(255) := p_dynamic_action.attribute_05;
l_column_value_list APEX_PLUGIN_UTIL.T_COLUMN_VALUE_LIST2;
l_clob_text CLOB := EMPTY_CLOB();
l_token VARCHAR2(32000);
l_chunk_size NUMBER := 4000;
BEGIN
IF l_ajax_function = 'RENDER_CLOB'
THEN
IF l_source = 'COLLECTION'
THEN
IF apex_collection.collection_exists(l_render_collection_name)
THEN
SELECT clob001
INTO l_clob_text
FROM apex_collections
WHERE collection_name = l_render_collection_name
AND seq_id = 1;
END IF;
ELSE --must be SQL_QUERY
BEGIN
l_column_value_list := apex_plugin_util.get_data2(
p_sql_statement => l_query,
p_min_columns => 1,
p_max_columns => 1,
p_component_name => p_dynamic_action.action,
p_first_row => 1,
p_max_rows => 1
EXCEPTION
WHEN NO_DATA_FOUND
THEN
NULL;
END;
IF l_column_value_list.exists(1)
AND l_column_value_list(1).value_list.exists(1)
THEN
l_clob_text := l_column_value_list(1).value_list(1).clob_value;
END IF;
END IF;
FOR i IN 0 .. FLOOR(NVL(LENGTH(l_clob_text)/l_chunk_size,0))
LOOP
sys.htp.prn(substr(l_clob_text, i * l_chunk_size + 1, l_chunk_size));
END LOOP;
ELSE --must be SUBMIT_CLOB
dbms_lob.createtemporary(l_clob_text, false, dbms_lob.session);
FOR i IN 1..apex_application.g_f01.count
LOOP
l_token := wwv_flow.g_f01(i);
if NVL(length(l_token),0) > 0 Then
dbms_lob.writeappend(l_clob_text, length(l_token), l_token);
end if;
END LOOP;
apex_collection.create_or_truncate_collection(
p_collection_name => l_submit_collection_name
apex_collection.add_member(
p_collection_name => l_submit_collection_name,
p_clob001 => l_clob_text
END IF;
RETURN l_retval;
END enkitec_clob_load_ajax;5. As you see only 2 places of plugin had to be fixed, when you compare previous 2 steps:
FOR i IN 0 .. FLOOR(LENGTH(l_clob_text)/l_chunk_size)
LOOP
sys.htp.prn(substr(l_clob_text, i * l_chunk_size + 1, l_chunk_size));
END LOOP;-->
FOR i IN 0 .. FLOOR(NVL(LENGTH(l_clob_text)/l_chunk_size,0))
LOOP
sys.htp.prn(substr(l_clob_text, i * l_chunk_size + 1, l_chunk_size));
END LOOP;And
FOR i IN 1..apex_application.g_f01.count
LOOP
l_token := wwv_flow.g_f01(i);
dbms_lob.writeappend(l_clob_text, length(l_token), l_token);
END LOOP;-->
FOR i IN 1..apex_application.g_f01.count
LOOP
l_token := wwv_flow.g_f01(i);
if NVL(length(l_token),0) > 0 Then
dbms_lob.writeappend(l_clob_text, length(l_token), l_token);
end if;
END LOOP;This way seems to be best way to handle APEX CLOBS today, using that plugin, and a little fix. -
How to limit line items for 999
Hi Gurus
i heard that a standard setting should be there to all company codes to create a second accounting document as soon as the number of lines reaches 800 or above lines. Can you tell me where to check this settings ?
can you tell me the check on number of lines in the accounting document that is being generated.
kind regards
SunithaHi Sunitha,
As far as my knowledge goes, there is no specific configuration from FI side where you tell the system the maximum line items to be posted in a FI document. The limit of 999 is inbuilt in SAP programs. You have some options to summarise the line items in configuration.
SAP has given various notes on summarisation as well as problems we encounter when we post a document with more than 999 line items. In my experience, I have seen a second document being posted automatically when you have more line items with the 1st document containing 991 lines and where the second one has the rest of the lines.
Thanks
Aravind -
I have a status of completed and a date field in the dataset. The date field is either empty or contains a date. All 2015 dates are holding dates.
So how can I limit the report to only pull completed status with an empty date or a holding date?
I have not been able to set an OR option on a date field filter and if I add two filters on the date column one for empty one for > 12/31/2014 then it treats it as an "and" and pulls nothing from the list I have in sharepoint.
any help will be appreciated.Hi MB,
In Reporting Services, the relationship of filters is “And”, and there is no option to change the relationship from “And” to “Or”. While we can use “or” operator within the expression to create one filter to integrated all filters to work around this
issue.
We can add a filter as follows in the dataset to limit the rows in your report:
Expression: =Fields!date.Value is nothing or Fields!date.Value>"12/31/2014" Type: Boolean
Operator: =
Value: true
If there are any other questions, please feel free to ask.
Thanks,
Katherine Xiong
If you have any feedback on our support, please click
here.
Katherine Xiong
TechNet Community Support -
32K HTML Row Limit - (follow up)
Hi,
I've run into this problem, specifically with select lists containing a large number of entries as part of a report in html db v 1.5. I've found numerous posts about this, for example :
32k limit in some regions types
I'm curious if the HTML DB team was able to address this in the 2.0 release?
Thanks
MattMatt,
There are two different 32k limits. One is the number of characters that can be edited within a text area. For example, if youre editing SQL query regions, PL/SQL regions or processes, etc., were constrained by the underlying modplsq component, as Joel pointed out. This issue has been addressed in the HTML DB 2.0 SQL Workshop. You can now edit SQL Scripts that are longer than 32k characters; you can also edit PL/SQL objects (packages, functions, procedures, triggers) that are longer than 32k characters, using the Object Browser. Youre still limited to less then 32k characters in the Application Builder, were planning on addressing this in HTML DB 3.0.
The second case where you have a 32k character limit is when working with select lists, and this seems to be the problem youre referring to. A select list, including all the options, is stored in a 32k long varchar2 variable. So if you have a very large number of options, you can potentially exceed that limit. In this case I would recommend using a popup LOV instead.
Regards,
Marc
Maybe you are looking for
-
Apple BT keyboard - keys don't respond
I have read just about every post related to my problem but can't find an answer. I have a Aluminum wireless keyboard that will not pair. It has a green light and is recognized in Bluetooth Assistant but during the pairing process when it asks me to
-
Calling PL/SQL stored procedure from XML template
I've a requirement to call a store procedure/function/package from XML template. How can i achieve this?
-
Can't add a blank row entry on to a navigation list dependable listbox
Hi All Need some help please! I am trying to build two dependable selectOnechoice list boxes. i adopt Frank's method and built the top level list box as navigation list. my problem is I can't set a unselectedlabel property for this top level list box
-
Inheritance for webservice parameters
Folks, please pardon if this topic has been covered before, but my search has not found much on this specifically. I am working on webservices using weblogic 9.1. Starting with an annotated Java bean, using jwsc/jws tasks to generate EJB, etc. All th
-
Two Media Folders? Different artwork for screensaver
Hi all, Setup: - Macbook Air - Yosemite, OS X 10.10 - iTunes 12.0.1.26 - External HD - Match subscriber I have set up iTunes to have my media folder located on a portable hard drive and the library files (.itl, .xml, artwork etc) on the local machine