Initilaization
Hi all,
Now i am doing initialization for purchasing in R/3. i delted the deltas in RSA7. i deleted the setup table. now i have to initialize the data.
1) why shud i delete Deltas in RSA7?
2) Do i need to Run V3 Job?
3) hOW TO RUN V3 JOB?
PLEASE EXPLAIN ME
REGARDS,
MADHU
Edited by: madhavi tatineni on Feb 11, 2008 5:45 PM
Hi Hegde,
Thanks for ur Reply,
Now i am loading data in to purchasing cube.
in r/3 first i deleted purchsaing related request in R/3.
and the deleted setup tables for purchasing.
filled the setup tables for purchasing.
when shud i run v3 jobs? How to run?
Cud u plz explain me that? the process i mentioned above,is it right?
Regards,
Madhu
Similar Messages
-
0FI_AR_4 Initilaization issues
Hi All,
I was going thru messages on and found quite a few messages on this
the below was the the closest to our issue. We have around 5 million records to be pulled.
0FI_AR_4 - Slow Sequential Read in ECC on Initial Load
Also iIdid read that we have to load 0FI_GL_4 before we load 0FI_AR_4. We do not have FI GL implemented in BW nor in R/3.
We are on R/3 4.7 Version & BW 7.0, we are in process of upgrade to ECC 6.0 which woudl happen by March 2010.
So how does this condition satisfy of laoding GL before AR.
Regards
Lalan[OSS Note 641977 - Poor performance|https://websmp130.sap-ag.de/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/sapnotes/index2.htm?numm=641977], which was listed in the post that you referenced, should resolve the issue, but when we deployed the indexes in that OSS Note via SE11 in R3/ECC, they weren't being invoked. We had to have our Basis DBA create the indexes at the RDBMS level and then they got invoked perfectly.
What we've found is that any of the SAP recommended indexes related to FI-CO/PA tend to need to be created at the Oracle level instead of at the application level using SE11 in R3/ECC. -
Problem in passing a date field to initilaize a VO query
Hi,
I am stuck with date issue
I am passing end date to a VO query as parameter.
this date is oracle.jbo.domain.date
public void initQuery(Number swapHeaderId, Date start_date, Date end_date)
setWhereClauseParam(0, end_date);
When i print this end_date I get 2011-08-15
In VO query I have mentioned
Select Srsf.Swap_Header_Id From Sfifin.Sfi_Rm_Swap_Fills Srsf ,Sfifin.Sfi_Rm_Swap_Header Srsh, Sfifin.Sfi_Rm_Offer_Lines Srol Where Srsf.Swap_Header_Id = Srsh.Swap_Header_Id
And Srol.Offer_Line_Id = Srsf.Offer_Line_Id And Srol.Offer_Header_Id = Srsf.Offer_Header_Id And Srsf.Swap_Header_Id = 124
And to_char(Srol.End_Date,'YYYY-MM-DD') > to_char(to_date(:1,'YYYY-MM-DD'),'YYYY-MM-DD')
Now when this Vo executes I get this error.
java.sql.SQLException: ORA-01858: a non-numeric character was found where a numeric was expected
I have tried all means but am unable to solve this issue.I have even tried to use
Srol.End_Date>to_date(:1,'YYYY-MM-DD') in where clause but still the same error when I am hardcoding this parameter its working fine .
Please help.setWhereClauseParam(0, end_date);Change this to
setWhereClauseParam(0, end_date.toString());In VO query change
Srol.End_Date > TO_DATE((to_char(trunc(to_date(:1)),'DD-MON-YYYY') ),'DD-MON-YYYY')Hope it helps!!
Thanks
AJ -
Form Builder Failed to Initilaize
im running EBS12 smoothly. when i try to use form builder in the same machine it gives message "FRM-18122 failed to initialize",
while running "startinst.bat" from \10.1.2\j2ee\DevSuite it runs the command and stop (hang out) at "Initialize" statement..
any assistance shall be highly appreciatedReinstall JDK its due to java run time environment.
-
Hi Everyone,
Can you please help me.. how can i solve this problem.
please find out the following code which was i written..
DECLARE
-- Variables needed to create task hierachy
level1 NUMBER;
level2 NUMBER;
level3 NUMBER;
a NUMBER;
m NUMBER;
parent_level1 VARCHAR2(30);
parent_level2 VARCHAR2(30);
parent_level3 VARCHAR2(30);
number_of_tasks1 NUMBER; -- number of tasks/levels
number_of_tasks2 NUMBER;
number_of_tasks3 NUMBER;
number_of_tasks4 NUMBER;
-- Variables needed for API standard parameters
l_api_version_number NUMBER := 1.0;
l_commit VARCHAR2(1) := 'F';
l_return_status VARCHAR2(1);
l_init_msg_list VARCHAR2(1) := 'F';
l_msg_count NUMBER;
l_msg_index_out NUMBER;
l_msg_data VARCHAR2(2000);
l_data VARCHAR2(2000);
l_workflow_started VARCHAR2(1) := 'Y';
l_pm_product_code VARCHAR2(10);
-- Predefined Composit data types
l_project_in PA_PROJECT_PUB.PROJECT_IN_REC_TYPE;
l_project_out PA_PROJECT_PUB.PROJECT_OUT_REC_TYPE;
l_key_members PA_PROJECT_PUB.PROJECT_ROLE_TBL_TYPE;
l_class_categories PA_PROJECT_PUB.CLASS_CATEGORY_TBL_TYPE;
l_tasks_in_rec PA_PROJECT_PUB.TASK_IN_REC_TYPE;
l_tasks_in PA_PROJECT_PUB.TASK_IN_TBL_TYPE;
l_tasks_out_rec PA_PROJECT_PUB.TASK_OUT_REC_TYPE;
l_tasks_out PA_PROJECT_PUB.TASK_OUT_TBL_TYPE;
l_cust_rec PA_PROJECT_PUB.CUSTOMER_IN_REC_TYPE;
l_cust_tbl PA_PROJECT_PUB.CUSTOMER_TBL_TYPE;
l_person_id NUMBER;
l_project_role_type VARCHAR2(20);
l_responsibility_id NUMBER;
l_user_id NUMBER;
v_ind NUMBER;
API_ERROR EXCEPTION;
BEGIN
-- GET GLOBAL VALUES
select user_id, responsibility_id
into l_user_id, l_responsibility_id
from pa_user_resp_v
where user_name = 'SATISH' -- substitute valid username
and responsibility_name = '*PAC Projects Administrator'; -- substitute responsibility name
dbms_output.put_line( 'initilaization');
-- SET GLOBAL VALUES
pa_interface_utils_pub.set_global_info(
p_api_version_number => 1.0,
p_responsibility_id => l_responsibility_id,
p_user_id => l_user_id,
p_msg_count => l_msg_count,
p_msg_data => l_msg_data,
p_return_status => l_return_status);
dbms_output.put_line( 'Assigning values');
-- PRODUCT RELATED DATA
l_pm_product_code := 'GMS'; -- can be user defined
-- PRODUCT DATA (PROJECT_IN_REC_TYPE)
l_project_in.created_from_project_id := 11759;--'1746';--'11759'; -- Project id from template
l_project_in.project_name := 'TEST_VS_14052014';
l_project_in.pm_project_reference := 'TEST_VS_14052014';
l_project_in.description := 'CREATION OF PROJECT(VS)';
l_project_in.project_status_code := 'APPROVED';
l_project_in.carrying_out_organization_id := 652;--3274; -- can default from template
l_project_in.start_date := '01-JAN-2007'; -- can override default from template
l_project_in.completion_date := '31-JAN-2010'; -- can override default from template
l_project_in.actual_start_date := '01-JAN-2010';
l_project_in.actual_finish_date := '31-JAN-2010';
l_project_in.early_start_date := '01-JAN-2010';
l_project_in.early_finish_date :='31-JAN-2010';
l_project_in.late_start_date := '01-JAN-2010';
l_project_in.late_finish_date :='31-JAN-2010';
-- l_proj_in.process_mode := 'ONLINE';
-- l_project_in.customer_id := 1001;
--KEY MEMBERS DATA (PROJECT_ROLE_TBL_TYPE)
-- can be defaulted from the Template, but not from a Project
m := 1;
l_person_id := 34; -- need to get from Apps
l_project_role_type := 'PROJECT MANAGER';
l_key_members(m).person_id := 53;
l_key_members(m).project_role_type := 'PROJECT MANAGER';
-- l_class_categories(1).class_category := 'Engineering';
--l_class_categories(1).class_code := 'Programs';
--l_class_categories(2).class_category := 'Planned';
--l_class_categories(2).class_code := 'Active';
l_class_categories(3).class_category := 'Rank';
l_class_categories(3).class_code := 'CUST';
-- CUSTOMERS
v_ind := 0;
l_cust_rec.customer_id := 1001;
l_cust_rec.project_relationship_code := 'CLIENT'; --cus.project_relationship_code;
l_cust_rec.Bill_To_Customer_id := NULL; --cus.x_bill_customer_id;
l_cust_rec.contact_id := NULL; -- pa_interface_utils_pub.g_pa_miss_num;
l_cust_rec.project_contact_type_code := NULL; -- pa_interface_utils_pub.g_pa_miss_char;
l_cust_rec.customer_bill_split := NULL; --nvl(cus.customer_bill_split, pa_interface_utils_pub.g_pa_miss_num);
l_cust_rec.allow_inv_user_rate_type_flag := NULL; --nvl(cus.allow_inv_user_rate_type_flag, pa_interface_utils_pub.g_pa_miss_char);
l_cust_rec.inv_rate_date := NULL; --nvl(cus.inv_rate_date, pa_interface_utils_pub.g_pa_miss_date);
l_cust_rec.inv_rate_type := NULL; --nvl(cus.inv_rate_type, pa_interface_utils_pub.g_pa_miss_char);
l_cust_rec.inv_currency_code := NULL; --nvl(cus.inv_currency_code, pa_interface_utils_pub.g_pa_miss_char);
l_cust_rec.inv_exchange_rate := NULL; --nvl(cus.inv_exchange_rate, pa_interface_utils_pub.g_pa_miss_num);
l_cust_rec.bill_another_project_flag := 'Y'; --nvl(cus.bill_another_project_flag, pa_interface_utils_pub.g_pa_miss_char);
l_cust_rec.RECEIVER_TASK_ID := 35078;
v_ind := v_ind + 1;
l_cust_tbl (v_ind) := l_cust_rec;
--CLASS CATEGORIES DATA (CLASS_CATEGORY_TBL_TYPE)
-- l_class_categories(1).class_category := 'Product'; --value from template
-- l_class_categories(1).class_code := 'Product 1';
--TASKS DATA
--Set the number of tasks for every level (there are 4 levels)
number_of_tasks1 := 1;
number_of_tasks2 := 2;
number_of_tasks3 := 0;
number_of_tasks4 := 0;
-- This is just a set of looping structures to create the tasks and sub-tasks
-- If it is difficult to understand, then feel free to create them individually.
a := 0;
for level1 in 1..number_of_tasks1 loop
a := a + 1;
l_tasks_in_rec.pm_task_reference := level1 || '.' || '0';
l_tasks_in_rec.task_name := 'Top Level ' || level1 || '.' || '0';
l_tasks_in_rec.pm_parent_task_reference := '';
l_tasks_in_rec.task_start_date := '01-JAN-2010';
l_tasks_in_rec.task_completion_date := '31-JAN-2010';
l_tasks_in_rec.actual_start_date := '01-JAN-2010';
l_tasks_in_rec.actual_finish_date :='31-JAN-2010';
l_tasks_in_rec.early_start_date := '01-JAN-2010';
l_tasks_in_rec.early_finish_date :='31-JAN-2010';
l_tasks_in_rec.late_start_date := '01-JAN-2010';
l_tasks_in_rec.late_finish_date :='31-JAN-2010';
l_tasks_in_rec.receive_project_invoice_flag := 'Y';
l_tasks_in(a) := l_tasks_in_rec;
parent_level1 := level1 || '.' || '0';
for level2 in 1..number_of_tasks2 loop
a := a + 1;
l_tasks_in_rec.pm_task_reference := level1 || '.' || level2;
l_tasks_in_rec.task_name := '2 Level ' || level1 || '.' || level2;
l_tasks_in_rec.pm_parent_task_reference := parent_level1;
l_tasks_in(a) := l_tasks_in_rec;
parent_level2 := level1 || '.' || level2;
end loop;
end loop;
--INIT_CREATE_PROJECT
pa_project_pub.init_project;
--CREATE_PROJECT
pa_project_pub.create_project(
l_api_version_number,
p_commit => l_commit,
p_init_msg_list => l_init_msg_list,
p_msg_count => l_msg_count,
p_msg_data => l_msg_data,
p_return_status => l_return_status,
p_workflow_started => l_workflow_started,
p_pm_product_code => l_pm_product_code,
p_project_in => l_project_in,
p_project_out => l_project_out,
p_key_members => l_key_members,
p_class_categories => l_class_categories,
p_tasks_in => l_tasks_in,
p_tasks_out => l_tasks_out,
p_customers_in => l_cust_tbl);
-- Check for errors
if l_return_status != 'S'
then
raise API_ERROR;
end if;
dbms_output.put_line('New Project Id: ' || l_project_out.pa_project_id);
dbms_output.put_line('New Project Number: ' || l_project_out.pa_project_number);
Commit;
--HANDLE EXCEPTIONS
-- Get the error message that were returned if it did not complete sucessfully
EXCEPTION
When API_ERROR then
if l_msg_count >= 1
then
for i in 1..l_msg_count loop
pa_interface_utils_pub.get_messages(
p_msg_data => l_msg_data,
p_encoded => 'F',
p_data => l_data,
p_msg_count => l_msg_count,
p_msg_index => l_msg_count, -- Added in 11i.PA.I
p_msg_index_out => l_msg_index_out);
dbms_output.put_line('error message: ' || l_data);
end loop;
rollback;
end if;
When OTHERS then
if l_msg_count >= 1
then
for i in 1..l_msg_count loop
pa_interface_utils_pub.get_messages(
p_msg_count => l_msg_count,
p_encoded => 'F',
p_msg_data => l_msg_data,
p_data => l_data,
p_msg_index => l_msg_count, -- Added in 11i.PA.I
p_msg_index_out => l_msg_index_out);
dbms_output.put_line('error message: ' || l_data);
end loop;
rollback;
end if;
END;
ERROR:=
initilaization
Assigning values
debug message -->: Start..
debug message -->: 1
debug message -->: 2
debug message -->: 3
debug message -->: 4
debug message -->: 5
debug message -->: 6
debug message -->: 7
debug message -->: 8
debug message -->: 9
debug message -->: 10
debug message -->: 11
debug message -->: 12
debug message -->: 13
debug message -->: 14
debug message -->: 15
debug message -->: 16
debug message -->: 17
debug message -->: 18
debug message -->: 19
debug message -->: 20
debug message -->: 21
debug message -->: 22
debug message -->: 23
debug message -->: 25
debug message -->: 26
debug message -->: 26-I
debug message -->: 26-II
debug message -->: 26-I
debug message -->: 26-II
debug message -->: 26-I
debug message -->: 26-II
debug message -->: 26-I
debug message -->: 26-II
debug message -->: 26-Vi
debug message -->: 26-I
debug message -->: 26-II
debug message -->: 26-VII
debug message -->: 27
debug message -->: 28
debug message -->: 30
error message: Project: 'TEST_VS_14052014'
The class category is invalid.Please see if (PA_PROJECT_PUB.create_project Errors - The Class Category Is Invalid (Doc ID 1323904.1)) helps.
Thanks,
Hussein -
RPC E Server Fault SAP B1 8.8
Hi
I have written some code to import various documents, ie invoices, goods in from an ascii file
The customer occasionally gets the RPC E Server fault coming up
I looked in the forums and updated the message bar which seemed to help but for some reason they still seem to get it
Generally on larger import files
The code is fairly simple, I have enclosed a copy of an invoice import below to see if anyone can see any problems
Would a garbage collect help ?
Many thanks
Regards Andy
ps Not sure how to make code readable ?
While Not EOF(filenum)
lc = lc + 1
'If lc Mod 5 = 0 Then
B1Connections.theAppl.SetStatusBarMessage("Importing line " & lc & " ....", BoMessageTime.bmt_Short, False)
'form.Items.Item("9").Specific.string = " " & lc
'End If
If EOF(filenum) Then GoTo end_imp
Input(filenum, custid)
If EOF(filenum) Then GoTo end_imp
Input(filenum, invnum)
If EOF(filenum) Then GoTo end_imp
Input(filenum, invdate)
Input(filenum, adamstockrot)
Input(filenum, qty)
Input(filenum, unitprice)
Input(filenum, salesval)
Input(filenum, vc)
Input(filenum, prodbandid)
Input(filenum, prodid)
Input(filenum, ordnum)
Input(filenum, credreason)
Input(filenum, invtype)
Input(filenum, rettostock)
Input(filenum, currcode)
Input(filenum, exrate)
Input(filenum, salescontrref)
Input(filenum, wh)
Input(filenum, salesanal)
Input(filenum, costval)
Input(filenum, salestype)
Input(filenum, invprodid)
Input(filenum, oauserprodid)
Input(filenum, qtyinvprod)
Input(filenum, rep)
custid = "C" & Trim(custid)
prodid = "P" & Trim(prodid)
' check stock code exists
If credreason < 8 Then
recset.DoQuery("select * from oitm where itemcode = '" & prodid & "'")
If recset.RecordCount = 0 Then
'result = B1Connections.theAppl.MessageBox("Cannot find stock code " & prodid, 1, "Ok", "Cancel Import")
'If result = 2 Then Return
message("Line " & lc & " Error Cannot find stock code " & prodid)
GoTo nline
End If
End If
' check customer exists
recset.DoQuery("select * from ocrd where cardcode = '" & custid & "'")
If recset.RecordCount = 0 Then
message("Line " & lc & " Cannot find bp " & custid)
GoTo nline
End If
' see if new document
If invnum.Trim <> lastinv.Trim Then
' save document
If lastinv.Trim = "" Then GoTo new_ord
lastbp = doc.CardCode
If doc.Add <> 0 Then
B1Connections.diCompany.GetLastError(errcode, errmsg)
'result = B1Connections.theAppl.MessageBox("Line " & lc & "-" & errmsg, 1, "Ok", "Cancel Import")
'If result = 2 Then Return
'Message("Error adding invoice/credit " & lastinvno & " " & errmsg & " file " & plpath)
message("Line " & lc & " Error adding pos inv/cr " & lastinv & " " & errmsg)
PrintLine(filenum2, docstring)
Else
'Message("Added invoice/credit " & lastinvno & " period " & period & " file " & plpath)
'B1Connections.theAppl.MessageBox("Added document")
' find sap total
If Trim(lastdoctype) = "IN" Then recset.DoQuery("SELECT top 1 doctotal,doctotalfc FROM OINV T0 where cardcode = '" & lastbp & "' order by docnum desc")
If Trim(lastdoctype) = "CR" Then recset.DoQuery("SELECT top 1 doctotal,doctotalfc FROM ORIN T0 where cardcode = '" & lastbp & "' order by docnum desc")
If recset.Fields.Item(0).Value > 0 Then saptotal = recset.Fields.Item(0).Value
If recset.Fields.Item(1).Value > 0 Then saptotal = recset.Fields.Item(1).Value
message("Line " & lc & " Added pos inv/cr " & lastinv & " import total " & doctotal & " sap total " & saptotal)
'If Trim(invtype).ToUpper = "IN" Then add_pos_payment(lastinv, lc)
End If
new_ord:
' create new doc
If invtype = "IN" Then
doc = B1Connections.diCompany.GetBusinessObject(BoObjectTypes.oInvoices)
Else
doc = B1Connections.diCompany.GetBusinessObject(BoObjectTypes.oCreditNotes)
End If
' need to check if service invoice
'If credreason >= 8 Then
'doc.DocType = BoDocumentTypes.dDocument_Service
'Else
doc.DocType = BoDocumentTypes.dDocument_Items
'End If
doc.CardCode = custid
doc.NumAtCard = invnum
doc.DocDate = CDate(invdate)
If exrate > 1 Then doc.DocRate = exrate
lastinv = invnum
doc.UserFields.Fields.Item("U_ORDER_NUMBER").Value = ordnum
doc.UserFields.Fields.Item("U_CF_ADAM_CNCY_CODE").Value = currcode
doc.UserFields.Fields.Item("U_INVOICE_TYPE").Value = invtype
doc.UserFields.Fields.Item("U_CREDIT_REASON").Value = CStr(credreason)
addlines = False
doctotal = 0
lastdoctype = invtype
docstring = ""
End If
' add lines to document
If addlines Then
doc.Lines.Add()
End If
addlines = True
'If credreason < 8 Then
doc.Lines.ItemCode = prodid
doc.Lines.WarehouseCode = wh
doc.Lines.WarehouseCode = "01"
'End If
' service invoice mod
If credreason >= 8 Then
doc.Lines.ItemCode = "PCR"
If vc = "0" Then doc.Lines.VatGroup = "O2"
If vc = "1" Then doc.Lines.VatGroup = "O1"
If vc = "2" Then doc.Lines.VatGroup = "O3"
End If
doc.Lines.Quantity = qty
' map vat code
'doc.Lines.VatGroup = vc
'If qty > 0 And salesval > 0 Then
'doc.Lines.UnitPrice = CDec(salesval / qty)
'End If
doc.Lines.LineTotal = salesval
doctotal = doctotal + salesval
' set user defined fields for line
doc.Lines.UserFields.Fields.Item("U_VAT_CODE").Value = vc
doc.Lines.UserFields.Fields.Item("U_PRODUCT_BRAND_ID").Value = prodbandid
doc.Lines.UserFields.Fields.Item("U_RETURN_TO_STOCK").Value = CStr(rettostock)
doc.Lines.UserFields.Fields.Item("U_SALES_CONTRACT_REF").Value = salescontrref
doc.Lines.UserFields.Fields.Item("U_COST_VALUE").Value = CStr(costval)
doc.Lines.UserFields.Fields.Item("U_SALES_ANALYSIS_ID").Value = salesanal
doc.Lines.UserFields.Fields.Item("U_SALES_TYPE").Value = salestype
doc.Lines.UserFields.Fields.Item("U_INVOICE_PROD_ID").Value = invprodid
doc.Lines.UserFields.Fields.Item("U_SALEPSYS_PROD_ID").Value = oauserprodid
doc.Lines.UserFields.Fields.Item("U_QTY_INVOICE_PROD").Value = CStr(qtyinvprod)
doc.Lines.UserFields.Fields.Item("U_REP_NUMBER").Value = CStr(rep)
' map gl code
' look for mapping table for group code
recset.DoQuery("select U_X_Code from [@CF_GL_2_REP] where U_POS = 'POS' and U_REP = '" & rep & "'")
If recset.RecordCount = 1 Then
gcode = recset.Fields.Item(0).Value
recset.DoQuery("select RevenuesAc,salecostac,ARCMAct,ItmsGrpNam from oitb where ItmsGrpNam = '" & gcode & "'")
If recset.RecordCount = 1 Then
If Trim(invtype) = "IN" Then
doc.Lines.AccountCode = recset.Fields.Item(0).Value
Else
doc.Lines.AccountCode = recset.Fields.Item(2).Value
End If
If credreason < 8 Then doc.Lines.COGSAccountCode = recset.Fields.Item(1).Value
End If
End If
nline:
End While
end_imp:
Edited by: Andrew Brooker on Nov 8, 2010 9:12 AM
Tried to make code readable, doesn't seem to help ?Hello Guys,
So basically let's do a skype conf in this topic, if you have time.......
locate me: janos.nagy.itelligence.
Garbage is managed automatically.... You do not need to release any com objects (memory), because if you are have any transactions / data changes / cache movements you loose the data...
Please note: the most important is: compiler is able to manage the memory when you have a clear definition....
The problem is always the loop. How to manage the (DI API and other) objects memory inside the loop to not get run to the sky, and hold in a manageable situation. It is not easy, but if you hold some major steps and rules, you are able to manage...
example:
bad
dim foo as object
do
set foo = new object
loop
why?
Who will release the memory for object? declared outside from a loop -> initilized inside the loop.... compiler will never free the object, so you will initilaize the previous object always-> eats memory....
correct
'version a
do
declare foo as object
set foo = new object
loop
'version b
function update_foo (list of params) as booelan
begin
declare foo as object
set foo = new object
... do operation here
gc,.collect()
end
'now you call update_foo
do
call update_foo function and pass the params
loop
Some sample cases....
1. Creation of UDF-s / UDT-s in a cycle:
task: Never do it in one method or subrutine
- reason cannot release the Garbage in a transaction
- solution create a subrutine and inside code, where you are able to manage the memory by the compiler automatically
2. update any Objects in a loop:
- never declare document as global for the metjod/subrutin
- reason unable to manage Garbage inside (which object to be released?)
- solution: declare the whole document inside the loop
so Andy,
in your code i see, that the document declared outside the loop, and initialized inside the loop. -> compiler will never release the com object in a loop
Correct would be: apply sap note i have provided in the message and and also change the declaration of document somewhere in your code
' create new doc
'-> insert the doc declaration here
so Sebastian,
I did not see your code, but if you separate the UDF creation into a method/subrutine.
if you using method b, the issue never happens....
I have tested a lot, each cases.... these solutions was always giving the correct way......
Regards
János -
Hello,
I'm using LabVIEW2009 under windows XP (4Go RAM).
When I create a large array using the "Initilaize an array" fucntion (for example a 2D 512x512 array of U16), I've an error message "Insufficient memory" while this table weighs only 520kb if I try to use it (for example, save it to a binary file). My final need if a 2D 512x512 array of double precision.
Is there a maximum size for array in LabVIEW? If yes, could we modify it?
Thank you in advance,
EricThat's very strange, you are correct the array is not that big.
Is your code making a lot of copies of the array?
Can you initialize the array on a fresh start:
-Reboot your PC
-Start LabVIEW
-Create an empty VI
-Place the initalization inside this VI
Run code.
One thing to advice, make one of your constants a control, this will prevent LabVIEW from doubling the memory upon editing the array in memory.*
Ton
*When you initialize an error with only constants LabVIEW will make the array a Constant in memory, when you edit the array, LabVIEW needs to declare a copy. This is very usefull for read-only (lookup) array.
Free Code Capture Tool! Version 2.1.3 with comments, web-upload, back-save and snippets!
Nederlandse LabVIEW user groep www.lvug.nl
My LabVIEW Ideas
LabVIEW, programming like it should be! -
This is really just a philosophical question. The language allows a literal to be used to initilaize an array like this
int[] arr = {1,2,3,4}but later in the code you cannot write
arr = {4,5,6,7};I have always wondered why. Anyone got an insight?...and the reason is that to create the array, the
compiler needs to know the element type of the array,
but with the elements you use it could be any of byte
short char int float double... so they allow that
expression only when you declare and initialize on
the same line.Hmmm.... I don't buy it. The types are no more ambigous in the second line than the first: int[] arr = {1, 2};
arr = {3, 4}; In both cases, the values could be interpreted as ints, longs, doubles...
But in both cases, it's known that arr is an array of ints, so all that should be required is that the values inside the {} are assignment compatible with int. -
Tried to download, went ok, but when tried to install, got to 50% than got a message failed to initilaize? Any ideas? Tried many times, does it to both.
thanks,
SeanCould you provide some details about the computer/OS/Browser?
Are you signed in with Admin priviliges?
Does the error occur even if you use a different browser? -
How to use bind_variable for connectivity between Oracle and SQLServer 2005
The code specified below could be used as an example of how to call a remote SQLServer 2005 procedure from Oracle.
The problem I am facing is that I am not able to use the dbms_hs_passthrough.bind_variable without exceptions.
Could someone help me out on this?
declare
CREATE PROCEDURE dbo.OrcaMessageTranslator
@inp nvarchar(255),
@outp nvarchar(255) output
AS
BEGIN
select @outp = @inp+'output'
END
c integer;
nr integer;
inp varchar2(255);
outp varchar2(255);
sql_stmt varchar2(32767);
begin
dbms_output.put_line('call SQLServer procedure OrcaMessageTranslator');
dbms_output.put_line('value of input variable inp is HowToReplaceThisValueByBindVariable ');
sql_stmt := 'DECLARE @outp nvarchar(255)
EXEC dbo.OrcaMessageTranslator
@inp = N''HowToReplaceThisValueByBindVariable'',
@outp = @outp OUTPUT
SELECT @outp as N''@outp''';
c := dbms_hs_passthrough.open_cursor@pp_preorca;
dbms_hs_passthrough.parse@pp_preorca(c,sql_stmt);
nr := dbms_hs_passthrough.fetch_row@pp_preorca(c);
dbms_hs_passthrough.get_value@pp_preorca(c, 1, outp);
dbms_hs_passthrough.close_cursor@pp_preorca(c);
dbms_output.put_line('acquired value of output variable outp is '||outp);
end;Hi,
BIND_VARIABLE is useful when you have only IN variable but in your case you have IN and OUT.
I don't know if you use the gateway for MS SQL SERVER or HSODBC/DG4ODBC but here how you can do to call a remote procedure with bind variables:
DECLARE
ret integer;
inp varchar2(255);
outp varchar2(255);
BEGIN
inp :='Hello World';
outp :='';
ret := "dbo"."in_out_proc_test"@tg4msql( inp, outp);
dbms_output.put_line('Input value: ' ||v_ut1||' - Output value: '||v_ut2);
END;
The MS SQL Server procedure belongs to the user "dbo" and the database link
being used is tg4msql.
The following line initilaize the out variables of the procedure with an
empty string:
outp :=''
I hope it helps you.
Regards
Mireille -
SAP Early WatchHealth Check Report
Hi Folks,
I am trying to generated SAP Early Watch Health Check Report from my dual stack system but the JAva data are not populated. On the other hand, the JAva data are populated in EWA report.
Does SAP Health Check Report not support Java data?
Thank you so much,
MariHello,
I haave a dual stack Solution Manager system. The EA reports fine on both ABAP and Java, so I have Java data in my EWA reports.
When I create an Earlywatch HEalth Check Service session, I see the section "Definition of System SLM in SMSY" and I see teh Application Server ABAP Stach and Application Server Java Stack, both checked as relevent. Under the section "Servers in current Landscape" I see both ABAP and JAva checked. So this system is clarly identified in the EWHC as a dual stack system.
What I do not see in the service session are any Java checks that I would see in the EWA report. I mean I am not seeing it in the structure of the service session. This would indicate to me the the checks are not done, as opposed to data missing. If the data was missing the place to contain the data would be there, and its not in the structure.
I performed the same on a Solution Manager 7.1 system, and have the same results, no Java
Again, beause I do not see the tree structure in the service session having any nodes for Java data that are just empty, this does not look like missing data, but looks like it is not reported intentionally.
Perhaps someone who deliivers this service on a regular basis can add their input, or a developer, but based on my testing, on a dulal stack system, where the EWA reports Java data, I cannot see that the Java data is even being considered, or it would have a place int eh session tree of the Earlywatch Health Check, and would have entries int eh tree that would be grey if it was just missing. Additionally it is reporting a Java and ABAP stack, so it does know there is a Java stack. Based on this, it would seem the EWHC does not report on Java.
Unfortunately I do not have a java only stack system in my landscape, as it would be interesting to see what this service would report on a Java only system. Should the report generate no data and the Session not initilaize of just have no nodes, then you could say for certain. Unfortunately I do not know this for certain and can only draw conclusions based on the test I performed on my two test Solution Manager systems . One being 7.0 EHP1 SP 27 and the other 7.1 SP03.
Regards,
Paul -
PL/SQL array passed to SQL IN
Hi,
I have a PL/SQL array which type is defined like this:
create or replace type type_id_array as table of number(6, 3);
then i create a variable and initilaize:
var_1 type_id_array;
var_1 := .....
then i have a select statement.
select * from table t where t.id in(var_1)
That's it, i want to use the array in an SQL in. This seems not possible.
Can you explain why? Any alternate solutions?
Thanksuser610868 wrote:
That's it, i want to use the array in an SQL in. This seems not possible.
Can you explain why? Any alternate solutions?SQL supports set commands specifically for arrays (in addition to the using the TABLE() method mentioned). For example:
SQL> create or replace type TNumbers is table of number;
2 /
Type created.
SQL>
SQL> declare
2 numList TNumbers;
3 cnt integer;
4 begin
5 numList := new TNumbers(1,2,3,4,5,6,7);
6 select
7 count(*) into cnt
8 from user_objects
9 where TNumbers(object_id) member of numList;
10 DBMS_OUTPUT.put_line( 'cnt='||cnt );
11 end;
12 /
cnt=0
PL/SQL procedure successfully completed.Obviously there are performance considerations when using arrays/collections in SQL. So before choosing a method, evaluate the performance. -
Flash 9 and 10 serious limitations
Hello!
I've been developping flash applications with AS2 for years.
While Flash 9 and 10 are great, for the very first time in Flash
history it had become impossible for me to do something important
that I was once able to do with previous versions.
In Flash 8, I developped a complex but wonderful run-time
system in order to load my classes dynamically. As you know,
classes were stored in the "global" object in previous versions. In
order to store my classes in only ONE swf file in complex projects,
I used the "global" keyword in all my actionscript code so that I
could always decide WHERE i wanted to include a particular class.
Of course, I had to create a special class in order to load
all my other classes. For example, the following code
allowed me to load a package of classes :
myClassLoader.load ("com.mynamespace.Map");
The classLoader was a very handful. Basically, it was
performing the following tasks :
1) convert the string "com.mynamespace.Map" to
"com/mynamespace/map.swf"
2) load the file "com/mynamespace/map.swf"
Of course, the file "com/mynamespace/map.swf" contained the
class "com.mynamespace.map" therefore my class loader was checking
if _global.com.nymespace.map was defined.
3) Once the _global.com.nymespace.map is defined, my class
loader look for the following static properties :
public static var PARENT_S :String= "net.tanoa.Component";
public static var TANOA_REQUIREMENT_A :Array=
["net.tanoa.Geodesy","net.tanoa.Component"]
At this point, you have are probably understanding where I am
going.
My classLoader is looking for all requiered classes and if
they are not already defined, those classes will be loaded as well.
Here, you must understand that I single SWF can contain many
classes actually, but those classes are "raw" (thas is there is not
inheritage at this point)
4) When ALL required classes are loaded, my classLoader needs
to perform an other important task : to link classes prototypes in
order to build dynamically the inheritage. As you have already
understood, I use the "PARENT_S" static property of all classes to
do so.
5) When the inheritage structure is build, the classLoader
check out if there is any initilialization to perform on each
classes (there was a standard name for my initilaization method in
all classes) this was required in order to create default
properties of some classes (when those default properties are
instances of other classes for example) I don't want to make it
more complex than required, but there was also an optionnal
propertie "initalization_priority" to determine which classes
should be initialized first.
Well at this point I hope you understand the main ideas. I
have a lot of classes in many swf files. There is NEVER any
duplication of any classes. Many different projects can reuse the
same classes and therefore the same files stored in the cache. It's
possible for me to create a virtual Windows application and load an
XML file in which i determine which "components" are required, and
they will be loaded only when needed.
As far as I know, I am the only guy in Fiji (and in the
world) who developped such a system.
In order to avoid the inclusion of my classes in more than
one swf, I had to use the keyword "_global" in all my code (it was
a pain in the ***) and I couldn't take advanatge of the compilator
check-ups or special keywords like "extends" etc... it was the big
price to pay.
I am really sad that Flash 9 and Flash 10 do not allow us to
deal with inheritage dynamically. Technically, Flash 9 and 10 are
very limited, it's like if it was impossible for a program running
in Windows to load a "dll" file.
In my opinion, the next generation of flash applications
should allow us to find a solution to that problem.
As long as I am concerned, if I can't continue to do what I
did before, it means that I have a big problem.
FijiflasherThank you for the link David, I'm gonna have a look to it but
at this point I am not absolutely sure that i'll be able to create
dynamic inheritage and stuff like that...well let's stay
optimistic...;-)
Thank you for your reply Raymond. The problem here is not
really the "global" object. using the _global object in my as code
was the best way to avoid the inclusion of classes in my swf files.
On the first frame of my Fla file, i was adding the following code
in order to force the inclusion of some classes in a particular swf
if (com.mynamespace.Map)
As you can see, this code doesn't do anything (that's
great...) but the class Map will be included in the "global" object
automatically as soon as the swf is loaded.
From there, it is possible to load many SWF files from a main
SWF file (once they are loaded, I unload the swf files but the
"classes" remain in the global object) it might sounds weird for
some of you, but i can tell you it was a wonderful way to build
complex applications. Unfortunately, this brings some problems (you
don't get advanatage of the compilator check-up when you compile
your modules, etc...)
it was important for me to be able to check up at run time if
a particular class was available. For example :
if (_global.com.Map ==undefined){
// i need to load "com/Map.swf"
see? that's great isn't it? As soon as the _global keyword
was encountered by the compilator, the following reference was
"ignored" and therefore I could manage to validate if a class was
there or not WITHOUT including it. it was better than using the
"xml exclusion file" for many reasons.
As far as I know, there is no way with AS3 to do something
like that (there is no "eval" function) so i can't validate at the
run time if some classes are there or not. I need to check David's
link before to confirm that.
An other great think when you need to develop applications in
many languages : if you use jokers like this
"com.mynamespace.{language}.textFunction" in your architecture
(where "language" is a parameter which is replaced dynamically by
my classLoader function), you can actually create a wonderful kind
of dynamic classes. Generally, it's not possible to translate
English to French in a "simple way", I mean that you need a proper
function to "generate" a string output using some parameters passed
to a function. In my architecture, only the "french" or "english"
classes were loaded. Also, I can use other "jokers" like {style}
for example if i have a collection of different "rendering
functions" for a same application...when you need to use bitmaps,
it's really useful.
Well my main point is that it's very important to :
1) be able to load classes at run time in a "common" place ;
2) be able to check out if a class is available in that
"commom" place without forcing the inclusion of that class in the
code.
There is a few more other things, but that is the core idea
here.
Thanks
Mathieu -
Hi All,
Please give answer for some question.
1. What is reorganaization of master data.
2.If we delete initilaization of infopackage what will happen?
3.what BI accelerator and what is the necessity of this?
Thanks,
Hema.Hi Hemalatha,
If we delete intialisation of infopackage, then we can again perform init loads using that infopackage after which we can able to get/pick delta records.
For example, you are getting a lot of data discrepencies in ur reports. Inorder to trectify that you want to load all the data again, then you need to run inti First and then you can pick up delta records.
After one montha again you r getting the same problem and to rectify that prob you want to again run INITs which cannot be performed without deleteing the previous INIT in the infopackge. So if you want to run INTI agian you need to delete previous INIT flag. -
Hi Oracle ERP guru,
Am going to administer(or better still do a QA) an oracle SAP database system and i need help on the following.
1. I need to know of the standards expected from an Oracle SAP database administrator. are there any documentation on these standards?
2. Is there any need for multiplexing the control files?
I traced 3 different control files from the initilaization parameters. On taking a close look at them, i found out the are located on the same disk in different folders.
3. what do i do to the datafiles?
They are located on the same disk though the disk is very large.
4. what should i be looking out for WRT performance tuning?
I would appreciate any other information that would be helpfull.
Thank you in advance.
ToluWell, I don't think that all questions are only for ERP gurus ...
Question 2 is not only for an Oracle SAP database: you've got an answer from Oracle Administration Guide: Oracle strongly recommends you use at least two control
files stored on separate physical disk drives for each database. .
Same for question 3:
Place Datafiles Appropriately
Tablespace location is determined by the physical location
of the datafiles that constitute that tablespace. Use the
hardware resources of your computer appropriately.
For example, if several disk drives are available to store
the database, consider placing potentially contending
datafiles on separate disks.This way, when users query
information, both disk drives can work simultaneously,
retrieving data at the same time.
See Also:
Oracle Database Performance Tuning Guide for information
about I/O and the placement of datafiles
Store Datafiles Separate from Redo Log Files
Datafiles should not be stored on the same disk drive that
stores the database redo log files. If the datafiles and
redo log files are stored on the same disk drive and that
disk drive fails, the files cannot be used in your
database recovery procedures.
If you multiplex your redo log files, then the likelihood
of losing all of your redo log files is low, so you can
store datafiles on the same drive as some redo log files.Message was edited by:
Pierre Forstmann
Maybe you are looking for
-
Problem with missing colors when printing
It has been sugested by HP that I try this forum for help. The following is a copy of the email I sent them which describes my problem, I hopesomeone can help! Thanks. language_code : en language : English Country of Residence : France product_line :
-
I have a new Mac Pro computer and have migrated my files from my older computer to the new computer. In trying to open a Lightroom catalog on an external hard drive I keep on getting the message "lightroom cannot use the catalog named " " because i
-
Windows 8.1 won't let me install Reader when logged in as administrator
Are there any fixes to this problem?
-
Soap sender adpater issue missing sender interface and namespace in the msg
Hi Expert, I got a problem when try to using soap sender adapter. Here is the sceanrio: Http web service client call ---PI soap sender adapter -some routing data-business system inbound. Sytem information: SAP_ABA 700 0019 SAPKA70019
-
Best practice to keep on top of Binding in ADF?
Hello, Today I had to change an adf table in my jsf page because I switched to a different view object and I tought I would be easier for a beginner like me to remove the adf table and add it again with the new binding automatically generated by the