Transaction to create root object in genil component.
hi all ,
may be it seems to be basic question. i am following one tutorial where they are creating one genil component. in order to create root object, they told to run the transaction GENIL_MODEL_EDITOR. but i couldnt find the this transaction in my system. is there any other transaction to create root objects for genil component in CRM. kindly help me.
Hey praveen,
If you dont use ehp1, there is no any transaction to create root object. you can fallow this [wiki|http://wiki.sdn.sap.com/wiki/display/CRM/CreateaZBOLObjectPart1] page.
Regards,
Zafer,
Similar Messages
-
GenIL: Application ACI - create root object ACIActionContext
Hello.
I need to know how to access the root object 'ACIActionContext' (within the component set ACI) for a given one-order object (guid). I did not find (or maybe oversaw) a corresponding relation ship between business transactions and actions.
Many thanks and kind regards.
C. Augustin
Edited by: Christian Augustin on Sep 30, 2008 2:16 PMHey praveen,
If you dont use ehp1, there is no any transaction to create root object. you can fallow this [wiki|http://wiki.sdn.sap.com/wiki/display/CRM/CreateaZBOLObjectPart1] page.
Regards,
Zafer, -
Where to create root BOL in custom component - best practice
Hi Experts,
I have created a BOL class to insert values into a ZTable.
I have created a custom component/views for the BOL. Now how will the create method in the BOL will be called. In which method of the component controller or view controller do I create the BOL root..
I want to use the following code.
CALL METHOD SUPER->WD_CREATE_CONTEXT
DATA:
lref_substitute TYPE REF TO if_bol_bo_property_access,
lv_index TYPE i,
lref_bol_entity TYPE REF TO cl_crm_bol_entity,
lrf_cuco TYPE REF TO cl_gs_mcat_mcat_impl,
lref_bol_core TYPE REF TO cl_crm_bol_core,
lv_object_name TYPE crmt_ext_obj_name VALUE cl_crm_catego_genil=>gc_ob_schema,
lv_create_param TYPE crmt_name_value_pair_tab,
lv_number TYPE int4 VALUE 1,
lref_new_substitute TYPE REF TO if_bol_entity_col,
lr_tx TYPE REF TO if_bol_transaction_context
lref_bol_core = cl_crm_bol_core=>Get_instance( abap_true ).
lv_object_name = 'ZHRUS_D2'.
TRY.
CALL METHOD lref_bol_core->root_create
EXPORTING
iv_object_name = lv_object_name
iv_create_param = lv_create_param
iv_number = lv_number
RECEIVING
rv_result = lref_new_substitute.
CATCH cx_crm_unsupported_object .
ENDTRY.
CHECK lref_new_substitute IS BOUND.
lref_substitute ?= lref_new_substitute->get_first( ).
CHECK lref_substitute IS BOUND.
me->typed_context->zhrus->collection_wrapper->clear( ).
me->typed_context->zhrus->collection_wrapper->add( iv_entity = lref_substitute ).
I give the code in various methods and it all works fine. But what is the best way to create the root node.
Regards,
Abdullah IsmailHi Abdullah,
I use something like this to create a root entity in the BOL Core. In this case, a standard entity: BTOrder.
*- Data dictionary
DATA lr_core TYPE REF TO cl_crm_bol_core.
DATA lr_fac TYPE REF TO cl_crm_bol_entity_factory.
DATA lt_params TYPE crmt_name_value_pair_tab.
DATA lr_ent TYPE REF TO cl_crm_bol_entity.
FIELD-SYMBOLS <line> TYPE crmt_name_value_pair.
*- Get the core instance and factory
lr_core = cl_crm_bol_core=>get_instance( ).
lr_fac = lr_core->get_entity_factory( 'BTOrder' ).
*- get supported parameters for this object
lt_params = lr_fac->get_parameter_table( ).
*- Set the process Type
READ TABLE lt_params ASSIGNING <line> WITH KEY name = 'PROCESS_TYPE'.
<line>-value = '0010'.
*- Create the BOL entity, based on parameters
lr_ent = lr_fac->create( lt_params ).
lr_ent = lr_ent->get_related_entity( 'BTOrderHeader' ).
*- Lock order
CHECK lr_ent->lock( ) = abap_true.
It is an alternative way. Check if it helps you creating your Z-Object in the BOL root
Kind regards,
Garcia
Edited by: Bruno Garcia on May 12, 2011 12:15 PM -
Root object in Object Stream in Encrypted file
I cannot find anywhere in the PDF Spec a prohibition on including the Root object in an Object Stream in a non-linearized encrypted file, but Acrobat products appear to assume such a restriction.
Encrypted files where the Root obj is in an Object Stream do not open with Acrobat 7, 8 or Reader 9, but do open with GhostView/Ghostscript, Foxit, and Adobe Digital Editions.
If the file is not encrypted there is no problem with the Root object appearing in an Object Stream, and if the Root object is a 'normal' encrypted object there is also no problem.
Anyone any ideas?
Matthew FitzgeraldHey praveen,
If you dont use ehp1, there is no any transaction to create root object. you can fallow this [wiki|http://wiki.sdn.sap.com/wiki/display/CRM/CreateaZBOLObjectPart1] page.
Regards,
Zafer, -
Root object not apparing in genil model browser
hi experts,
i am trying to create one new genil model. i followed below steps to create it.
1. create one new component, component set and assinged the component to component set.
2. created one new z class with CL_CRM_GENIL_ABSTR_COMPONENT as super class.
3. created one key structures, attribute strucutres as required.
4. created object table and model table and i created one entry in the object table for root object.
5. i added the entry in component basic settings in spro also with new component, class, object and model table.
the problem is when open execute my new component in genil_model_browser, i could not find my root object there. nothig was added there. did i miss any step or is there any mistake in my approach.
when i open s02 compoent in this transaction , i could see lot of root objects. but in above way , nothing was added . kindly help me.You have to do the following
a) Modify the object table.
b) Modify the model table.
c) Implement the method IF_GENIL_APPL_MODELGET_MODEL & IF_GENIL_APPL_MODELGET_OBJECT_PROPS.Here you have to return the objects & models created earlier.
Regards
Kavindra -
HOW TO Create variants for transaction MASS on LFA1 object?
hOW TO Create variants for transaction MASS on LFA1 object?
Edited by: cheppalliakr on Nov 10, 2011 1:09 PM
Moderator message: please do more research before asking, show what you have done yourself and provide more information when asking.
Edited by: Thomas Zloch on Nov 10, 2011 3:10 PMHi Oscar ,
You need to create optional date prompt variable in BW which fills your requirement .
Ex : If you require report should always run for 1st of the month to last of month .Then create Optional date variable in BW with interval .write customer exit ,
if from date is left blank it should take 1st of the month and if todate is left blank it should take last of the month .
when creating webi schedules , leave prompts as blank. -
Run-time error '429':Active X component can not create an object
Hi Folks,
I am using some VBA code to run logic in BPC for Excel. When i try to click on VBA button, It's giving the below error.However when i am trying to execute same from server it is working fine. Accessing from BPC client only we are facing this problem.
Code have no issues. Is there any specific thing need to mentioned in client when we use VBA programming? Basically we used the VBA program to create the id's in BPC for Excel. So that it will automatically created on fly. Testing was fine interms of working in Server.
" Run-time error '429':Active X component can not create an object ."Hi,
Are you trying to add a member into the dimension from excel? As you said that this has been already tested in the server and is working fine, I believe, you have taken care of everything.
Now, coming to the point, when you are adding a member in the membersheet, you need to process the dimension. This requires the admin rights. So, please check the task profile of the user ID, with which you are trying from your system. This user ID should be the primary admin.
Hope this helps.
Additionally, can you please elaborate on the steps on what you followed for adding a member from the excel directly? -
How to create entity object (Business Component) using service interface
Hi,
I have tried to create one entity object (ADF Business Component) in JDeveloper 11g using service interface option instead of database schema but getting Failed to read service WSDL URL: http://....?wsdl message.
I have tried with axis default service Admin & Version wsdl and got same error message.
Regards,
DevangHi,
+"Oracle ADF Business Components application modules offer built-in support for web services and for publishing rows of view object data as service data objects (SDOs). This means that you can use an application module both as a local component and as a remotely accessible service, thereby using the same component to support interactive web user interfaces and web service clients. Entity objects that you create in your local Business Components project can utilize SDOs that the service-enabled application module exposes on its service interface."+
This means that you don't use Axis services but ADF Business Components Services. I am not sure this functionality made it in Boxer, but surely will in the next
Frank -
Error Occurred creating Report Object: ActiveX component can't create objec
Hello!
I have an error "Error Occurred creating Report Object: ActiveX component can't create object" when open asp-file in IE. Please, help me! What Java-components I need install? What else?
Server side: Windows 2003 SP2, IIS6, Crystal Reports Server XI
Client side: Windows XP SP3, IE 7.0<%@ LANGUAGE="VBSCRIPT" %>
<%
ServerName="app4-odusb-bur"
DatabaseName="CKReports"
WorkLogin="***"
WorkPWD="***"
reportname = "SV3in1_p1.rpt"
If Not IsObject (session("oApp")) Then
Set session("oApp") = Server.CreateObject("CrystalRuntime.Application.11")
End If
Path = Request.ServerVariables("PATH_TRANSLATED")
While (Right(Path, 1) <> "\" And Len(Path) <> 0)
iLen = Len(Path) - 1
Path = Left(Path, iLen)
Wend
If IsObject(session("oRpt")) then
Set session("oRpt") = nothing
End if
On error resume next
rYear = Request.Form("rYear")
rDay = Request.Form("rDay")
rMonth = Request.Form("rMonth")
sDay = CStr(rDay)
if CInt(rDay)<10 then sDay="0"+SDay
sMonth = CStr(rMonth)
if CInt(rMonth)<10 then sMonth="0"+sMonth
sYear = CStr(rYear)
Set obj = CreateObject("ReportServer.Collector") 'HERE an ERROR was occurred, so I have closed any other operators after this one, except Error Message Operators
'obj.ConnectToDatabase1 ServerName, DatabaseName, WorkLogin, WorkPWD
'obj.Disconnect
'Set session("oRpt") = session("oApp").OpenReport(path & reportname, 1)
'Session("oRpt").Database.LogOnServer "p2ssql.dll", CStr(ServerName), CStr(DatabaseName), CStr(WorkLogin), CStr(WorkPWD)
'For n = 1 to Session("oRpt").Database.Tables.Count
' Session("oRpt").Database.Tables.Item(n).SetLogonInfo CStr(ServerName), CStr(DatabaseName), CStr(WorkLogin), CStr(WorkPWD)
'Next
If Err.Number <> 0 Then
Response.Write "Error Occurred creating Report Object: " & Err.Description
Set Session("oRpt") = nothing
Set Session("oApp") = nothing
Session.Abandon
Response.End
End If
%> -
Can't create new root object?
i have created new suffix,and i want to add them into directory.so i click create "new root object" in menu "directory" .
but i return , u have no the admin right to do this!
but i used the user "admin" to login,it have the right to admin the directory server!
why?
tks a lot...This can only be done by
cn=Directory Manager
User admin is allowed to change anything inside a tree, but not to start a new tree (root suffix)
Regards,
Niels -
J_1IINTPR2 object which transaction is creating this number range.
J_1IINTPR2 : Despatch serial Number Excise Group:21
Current Number range is running ,in SNRO but i want to know where this number is generating in data base Tables
and in which sales transaction is creating this number range.Hi,
This no. range is asigned at J1I9 also,
it will be generated at J1IIN. -
How to add z object to root object in BOL
hi,
I have to add my z object to BuilStandardAddress (standard object for BP Address ).I hav created a external object by using ztable.I can see that object in transaction GENIL_MODEL_BROWSER as a Root Object but I hav to add this object as dependent object under BuilStandardAddress .
Please suggest any possible solution for this.
Thanks in Advance.
Hemhi carsten,
Thanks a lot for reply.
Acc to my opinion there is 2 method first one is enhance standard implementaion class.
second one is to use this class.CL_CRM_GENIL_GEN_TABLE_OBJ
I opt. second mehtod:
Actually ,Our requirement is that we hav to add some custom fields in addresss view.If weadd custom fields through EEWB then it adds fields to builheader rather then standard address.To achieve this I have created a external object and assign a impleimentation class (CL_CRM_GENIL_GEN_TABLE_OBJ). after this I hav define Object defination in which I define this object as dependent object of builstandardaddress.and give my z table name.After that I hav define Model defination in which i hav define relationship.By doing this I am able to use my object in view.Now I added this z attribute to the standardaddress node of standaddress view of component BP_ADDR.
Now, I can see this field on UI screen but My Implementation Class has some methods(like modify, Save )that will save the data in z table.these methods are not calling at runtime.
Plz suggest any solution
Hem
Edited by: janawa hemlata on Dec 4, 2008 7:31 AM -
Creating Activity object for a Service Request object...
<b>[This thread was migrated from the On Demand Developer Forum in the old Siebel Community] </b>
drangineni
New Contributor
Ho do we use Activity object of a Service Request object. I am trying to
create an Activity object for a existing Service Request object.
I am looking for some sample code.
I greatly appreciate your help.
Product: CRM OnDemand
11-26-2006 12:40 PM
Re: Creating Activity object for a Service Request object...
BigSlick
Valued Contributor
drangineni, What programming language are you using?
BS
12-04-2006 10:56 AM
Re: Creating Activity object for a Service Request object...
drangineni
New Contributor
Hi, I am using C# .
12-04-2006 07:40 PM
Re: Creating Activity object for a Service Request object...
BigSlick
Valued Contributor
drangineni, assuming you know the service requestid or externalId of the
Sr you are dealin gwith you would first set that value.
ServiceRequest1[] objSRList =new ServiceRequest1[1];
objSRList[0] = new ServiceRequest1();
objSRList[0].ServiceRequestId = <YourSRId>;
Then you create an array of activities and initialize the first one:
objSRList[0].ListOfActivity = new Activity[1];
objSRList[0].ListOfActivity[0] = new Activity();
Now set the data fields
objSRList[0].ListOfActivity[0].Subject ="My Subject";
objSRList[0].ListOfActivity[0].Description ="My Description";
objSRList[0].ListOfActivity[0].Display = "Task"; //valid values are either
"Task" or "Appointment"
Then call the ServiceREquestInsertOrUpdate method on the ServiceRequest
WebService and pass in the above variable.
BS
12-06-2006 12:36 PM
Re: Creating Activity object for a Service Request object...
drangineni
New Contributor
Thank you BigSlick.
The following error is thrown when I use the
ServiceRequestInsertOrUpdate(objInput)
"No user key can be used for the Integration Component instance 'Service <br/>
Request_Action'.(SBL-EAI-04397)"
When I use the prxySrvcRequest.ServiceRequestInsert(objInput), no error is
thrown and the Activity gets added, but a new Service Request object is
created, but the Activity gets added to an existing Service Request
object. I greatly appreciate your help.
The following is the code:
int ActivityLength = 0;
WSOD_ServiceRequest.ServiceRequest1[] ServiceRequest = new
WSOD_ServiceRequest.ServiceRequest1[1];
ServiceRequest[0] = new WSOD_ServiceRequest.ServiceRequest1();
ServiceRequest[0].ServiceRequestId = this.Request.QueryString["id"];
ServiceRequest[0].ListOfActivity = new
WebSelfService.WSOD_ServiceRequest.Activity[ActivityLength + 1];
ServiceRequest[0].ListOfActivity[0] = new WSOD_ServiceRequest.Activity();
ServiceRequest[0].ListOfActivity[ActivityLength].Description =
this.txtDescription.Text;
ServiceRequest[0].ListOfActivity[ActivityLength].Display = "Task";
ServiceRequest[0].ListOfActivity[ActivityLength].Subject = "My Subject";
WSOD_ServiceRequest.ServiceRequest prxySrvcRequest = new
WebSelfService.WSOD_ServiceRequest.ServiceRequest();
WSOD_ServiceRequest.ServiceRequestWS_ServiceRequestInsertOrUpdate_Input
objInput = new
WebSelfService.WSOD_ServiceRequest.ServiceRequestWS_ServiceRequestInsertOrUpdate_Input();
WSOD_ServiceRequest.ServiceRequestWS_ServiceRequestInsertOrUpdate_Output
objOutput = new
WebSelfService.WSOD_ServiceRequest.ServiceRequestWS_ServiceRequestInsertOrUpdate_Output();
objInput.ListOfServiceRequest = ServiceRequest;
Session objSession;
objSession = (Session) Application["Session"];
prxySrvcRequest.Url = objSession.GetURL();
try
objOutput = prxySrvcRequest.ServiceRequestInsertOrUpdate(objInput);
catch(Exception e)
12-09-2006 09:53 AM
Re: Creating Activity object for a Service Request object...
drangineni
New Contributor
Thank you BigSlick.
The following error is thrown when I use the
ServiceRequestInsertOrUpdate(objInput)
"No user key can be used for the Integration Component instance 'Service <br/>
Request_Action'.(SBL-EAI-04397)"
When I use the prxySrvcRequest.ServiceRequestInsert(objInput), no error is
thrown and the Activity gets added, but a new Service Request object is
created, but the Activity gets added to an existing Service Request
object. I greatly appreciate your help.
The following is the code:
int ActivityLength = 0;
WSOD_ServiceRequest.ServiceRequest1[] ServiceRequest = new
WSOD_ServiceRequest.ServiceRequest1[1];
ServiceRequest[0] = new WSOD_ServiceRequest.ServiceRequest1();
ServiceRequest[0].ServiceRequestId = this.Request.QueryString["id"];
ServiceRequest[0].ListOfActivity = new
WebSelfService.WSOD_ServiceRequest.Activity[ActivityLength + 1];
ServiceRequest[0].ListOfActivity[0] = new WSOD_ServiceRequest.Activity();
ServiceRequest[0].ListOfActivity[ActivityLength].Description =
this.txtDescription.Text;
ServiceRequest[0].ListOfActivity[ActivityLength].Display = "Task";
ServiceRequest[0].ListOfActivity[ActivityLength].Subject = "My Subject";
WSOD_ServiceRequest.ServiceRequest prxySrvcRequest = new
WebSelfService.WSOD_ServiceRequest.ServiceRequest();
WSOD_ServiceRequest.ServiceRequestWS_ServiceRequestInsertOrUpdate_Input
objInput = new
WebSelfService.WSOD_ServiceRequest.ServiceRequestWS_ServiceRequestInsertOrUpdate_Input();
WSOD_ServiceRequest.ServiceRequestWS_ServiceRequestInsertOrUpdate_Output
objOutput = new
WebSelfService.WSOD_ServiceRequest.ServiceRequestWS_ServiceRequestInsertOrUpdate_Output();
objInput.ListOfServiceRequest = ServiceRequest;
Session objSession;
objSession = (Session) Application["Session"];
prxySrvcRequest.Url = objSession.GetURL();
try
objOutput = prxySrvcRequest.ServiceRequestInsertOrUpdate(objInput);
catch(Exception e)
12-10-2006 08:49 AM
Re: Creating Activity object for a Service Request object...
BigSlick
Valued Contributor
Ah yes, I forgot you also need to specify a unquie Id for the activity.
It's kinda strange.
Try adding this:
ServiceRequest[0].ListOfActivity[ActivityLength].ActivityId = "DummyId";
//OD will overwrite this with a real Id
Or if you have a unquie ID for your Activities you can use:
ServiceRequest[0].ListOfActivity[ActivityLength].ExternalSystemId = <Your
Unique Value>;
Hope that helps,
BS
12-11-2006 10:52 AM
Re: Creating Activity object for a Service Request object...
surgientweb
New Contributor
Hi all,
I have a similar problem, but mine is returning a message that field
"Display" is required. Looking at this post and the documentation it is
obvious that Display is a required field, but my WSDL did not include a
field called "Display", so my proxy did not generate one.
I tried adding a field called Display to the WSDL and the proxy class, but
I get a different error... I figure I maybe cannot add it manually like
that - but I think the bigger problem is it is not part of the WSDL that
Siebel OD generates for me in my admin account.
On top of that Display is not shown in the list of fields for Activity
through the admin interface.. is it possible my account is bugged? Am I
missing something simple here? BigSlick, I see you mention a .Display in
your code sample so I thought you might understand what is wrong. Here is
my code (I am trying to add a activity to a lead).
Thanks for any insight into this!
private void InsertLeadActivity(Session session, NameValueCollection data,
string leadID)
try
if (blnDebug)
Response.Write("Setting up Activity<br>";
// instantiate the proxy service
Activity_Service.Activity activityProxy = new Activity_Service.Activity();
// set up the target URL
activityProxy.Url = session.GetURL();
activityProxy.CookieContainer = session.GetCookieContainer();
// set up input argument
ActivityNWS_Activity_Insert_Input input = new
ActivityNWS_Activity_Insert_Input();
input.ListOfActivity = new Activity1[1];
input.ListOfActivity[0] = new Activity1();
if (blnDebug)
Response.Write("Getting Data<br>";
// dg note: name value
// input.ListOfActivity[0].MrMrs = data["MrMrs"];
input.ListOfActivity[0].LeadId = leadID.ToString();
input.ListOfActivity[0].Description = DataToString(data);
input.ListOfActivity[0].Subject = "Website Submission Activity";
input.ListOfActivity[0].Priority = "3-Low";
//input.ListOfActivity[0].DueDate =
DateTime.Now.AddDays(7).ToShortDateString();
input.ListOfActivity[0].Owner = this.defaultLeadOwner;
input.ListOfActivity[0].Type = "Call";
//input.ListOfActivity[0].Display = "Task";
input.ListOfActivity[0].ActivityId = "DummyId";
input.ListOfActivity[0].ExternalSystemId = "web";
activityProxy.Activity_Insert(input);
catch (Exception exInsertActivity1)
if (blnDebug)
Response.Write("<br>Error inserting activity.<br><br>" +
exInsertActivity1.ToString() + "<br>";
01-06-2007 05:05 PM
Re: Creating Activity object for a Service Request object...
surgientweb
New Contributor
Figured it out.. the field "Display" is also known as "Activity"........
Here are some notes for other people.. good luck and feel free to write me
at raskawa-at-gmail-com if you want a code sample.
Some unpublished nice to knows for Siebel On Demand Activities....
In summary:
- .Activity is also known as Display in documentation and on the error
messages coming back from the WS. Also, it appears based on these boards
some people actually have a .Display field. Maybe different accounts
generate different WSDL's.... buggy.
- If a error message is thrown saying "Description is required" it really
means "Subject is required" (make sure .Subject has a value)
- If a error message is thrown complaining that ActionType is not right..
that is really .Type.. make sure it's lookup value is valid for the
dropdown values in your CRM OD system.
My code/values that worked..
input.ListOfActivity[0].LeadId = leadID.ToString();
input.ListOfActivity[0].Description = DataToString(data);
input.ListOfActivity[0].Subject = "Website Submission Activity";
input.ListOfActivity[0].Priority = "3-Low";
//input.ListOfActivity[0].DueDate =
DateTime.Now.AddDays(7).ToShortDateString();
input.ListOfActivity[0].Owner = this.defaultLeadOwner;
input.ListOfActivity[0].Type = "Call";
input.ListOfActivity[0].ActivityId = "DummyId";
input.ListOfActivity[0].ExternalSystemId = "web";
//input.ListOfActivity[0].Display = "Task"; //doesn't work
input.ListOfActivity[0].Activity = "Task"; //does work.
01-06-2007 05:17 PM
Re: Creating Activity object for a Service Request object...
raskawa
First Time Contributor
Hi,
This is surgientweb (under my own login now..)
Anyway, I wanted to add that I figured out that there are two ways to add
a Activity to a Lead. Via the Lead object (by getting a ListOfActivities)
OR by creating a Activity directly and just adding your "LeadID" to it (or
you can also add a "ContactID" to relate the activity to a Contact.)
Feel free to email me for a code example (raskawa....at....gmail)
-David
01-09-2007 02:58 PMHi Stephane,
You can definitely read the categories using Tables in CRM. The logic is a bit complicated though.
Use the following steps to retrieve Categories using Std. CRM Tables:
1. Pass transaction GUID in field GUID of table CRMV_REPORT_SUBJ and get KATALOGART, CODEGRUPPE and CODE field values in lv_catalog, lv_codegrp and lv_code.
2. Now you need to concatenate these 3 fields values carefully like this:
CONCATENATE lv_catelog lv_codegrp ' ' lv_code into lv_category1.
Remember there are 4 spaces between lv_codegrp and lv_code.
3. Now pass this lv_category1 in field OBJEXT in table CRMC_ERMS_CAT_OK and get OBJGUID in field lv_objguid.
4. Pass this lv_objguid in field OBJ_GUID and LNK_TYPE = 'IS_CODE' in table CRMC_ERMS_CAT_LN and get value of CAT_GUID in lv_cat_guid.
5. Pass this lv_cat_guid in field CAT_GUID in table CRMC_ERMS_CAT_CA and get value of CAT_ID in field lv_cat_text.
Remember this lv_cat_text is the text value of your last level of category of transaction.
6. To get its upper cateogry level value, simply use table CRMC_ERMS_CAT_HI and get parent guid value and pass this as CAT_GUID again in table CRMC_ERMS_CAT_CA to get its text.
Alternatively, you can also use class method cl_crm_ml_category_util=>get_parse_all to get all levels of categories.
Hope this helps.
Thanks
Vishal -
Failed to create Salience object and java.lang.NoClassDefFoundError
We are getting the below error while trying to use the text enrichment component in Endeca integrator clover server.
2015-01-26 10:11:59,880 INFO 1343495 [pool-7-thread-1] Creating new Salience object from data paths: '/app/oracle/ofm/TextEnrichment/salience-5.1.1.7349/data'.
2015-01-26 10:11:59,881 ERROR 1343495 [pool-7-thread-1] Failed to get Salience object from factory
java.lang.NoClassDefFoundError: com/lexalytics/salience/Salience
at com.endeca.clover.adapters.salience.SalienceFactory.createSalience(SalienceFactory.java:101)
at com.endeca.clover.adapters.salience.SalienceFactory.getSalienceInstance(SalienceFactory.java:41)
at com.endeca.clover.adapters.salience.SalienceRunnable.run(SalienceRunnable.java:92)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:680)
2015-01-26 10:11:59,891 ERROR 1343495 [WatchDog_1343495] Component [Customer Background:CUSTOMER_BACKGROUND] finished with status ERROR.
Failed to create Salience object.
2015-01-26 10:11:59,891 ERROR 1343495 [WatchDog_1343495] Error details:
org.jetel.exception.JetelRuntimeException: Component [Customer Background:CUSTOMER_BACKGROUND] finished with status ERROR.
at org.jetel.graph.Node.createNodeException(Node.java:535)
at org.jetel.graph.Node.run(Node.java:514)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.RuntimeException: Failed to create Salience object.
at com.endeca.clover.adapters.salience.SalienceComponent.execute(SalienceComponent.java:166)
at org.jetel.graph.Node.run(Node.java:485)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:919)
... 1 more
2015-01-26 10:11:59,930 INFO 1343495 [WatchDog_1343495] Execution of phase [0] finished with error - elapsed time(sec): 0
2015-01-26 10:11:59,930 ERROR 1343495 [WatchDog_1343495] !!! Phase finished with error - stopping graph run !!!
2015-01-26 10:11:59,930 INFO 1343495 [WatchDog_1343495] Post-execute finalization of connection:
2015-01-26 10:11:59,930 INFO 1343495 [WatchDog_1343495] DBConnection driver[org.jetel.connection.jdbc.driver.JdbcDriverImpl@103cdbdc]:jndi[null]:url[jdbc:oracle:thin:@gitvm000212.us.oracle.com:1521:upslstg]:user[upsell_winref] ... OK
2015-01-26 10:11:59,930 INFO 1343495 [WatchDog_1343495] -----------------------** Summary of Phases execution **---------------------
2015-01-26 10:11:59,931 INFO 1343495 [WatchDog_1343495] Phase# Finished Status RunTime(sec) MemoryAllocation(KB)
2015-01-26 10:11:59,930 INFO 1343495 [JobFinalizer_1343495] Finalisation
2015-01-26 10:11:59,931 INFO 1343495 [WatchDog_1343495] 0 ERROR 0 139976
2015-01-26 10:11:59,931 INFO 1343495 [WatchDog_1343495] ------------------------------** End of Summary **---------------------------
2015-01-26 10:11:59,931 INFO 1343495 [WatchDog_1343495] WatchDog thread finished - total execution time: 0 (sec)
2015-01-26 10:11:59,935 INFO 1343495 [JobFinalizer_1343495] RunTime: 296 ms
2015-01-26 10:11:59,935 ERROR 1343495 [JobFinalizer_1343495]
--------------------------------- Error details ----------------------------------
Component [Customer Background:CUSTOMER_BACKGROUND] finished with status ERROR.
Failed to create Salience object.
2015-01-26 10:11:59,935 INFO 1343495 [JobFinalizer_1343495] Finished Status: ERROR
This happens only on our stage and production instances. On our dev instance it works without problems. All 3 instances are setup the same, although our dev instance was created long time before the stage and prod instances. However, we cannot detect any differences between the machines.
I've tried the solutions mentioned in the other similar thread: Failed to create Salience object but this doesnt solve the issue since the directory and variables were already correct.
Anyone can help?Given that you are running this in Clover Server, one thing I can recommend is to shut that server down, move/truncate the logs, restart and retest, then look at the first error message you get when attempting to run the graph. Java classloaders sometimes cache failed class clinit and report future attempts to load that class as a simple NoClassDefFoundError, masking the original/actual root cause. With any luck you might find another, clearer error - maybe the native binary libraries are not being located.
-
BAPI for transaction IW31 (creating a work order)
Hi all,
I need to be able to create a work order ( IW31) using ABAP code and was wondering if any knew if there was a BAPI that should be used for this functionality.
Thanks in advance
Marthi,
You can use
BAPI_ALM_ORDER_MAINTAIN.
Have a look at the following documentation.
FU BAPI_ALM_ORDER_MAINTAIN
Text
Process Maintenance-/Service Order
Functionality
This Business Application Programming Interface (BAPI) is used for changing maintenance- or service orders and their lower-level objects. The following objects of an order can be processed (for restrictions, see the note at the end of the documentation):
Order header
Partner
User status
Order operations
Relationships
Components
Long texts for order header, operations, and components
Function
Calling up this BAPI once allows you to perform all the operations. For this the system supplies the function module with a method table containing the methods to be performed. The entries in the method table refer to data records in the optionally filled-out data tables. All the methods from the method table are performed. Alternatively, just lower- level objects from existing orders can be changed.
You can process the transferred data with the Business Add-In (BAdI) IBAPI_ALM_ORD_MODIFY to, for example, merge data from the external system with data from the R/3 system. The BAdI is called up as soon as the transferred data is converted into the internal format. The tests then take place after this.
Construction of Method Table
REFNUMBER Reference number for linking object methods - attributes
The reference number is the line of the database which contains the corresponding data. The data table is determined by the object type.
OBJECTTYPE Object category
The object category specifies which object from the order should be processed. The key words listed here are not language-dependent and must be transferred exactly as they are. The following objects exist:
HEADER Order header
PARTNER Partner data
USERSTATUS User status
OPERATION Operation data
RELATION Relationships
COMPONENT Components
TEXT Long texts
(empty) ,General BAPI functions (save)
METHOD Methods
The methods with which the data should be processed. The following functions exist:
CREATE Create objects
CHANGE Change objects
DELETE Delete objects
RELEASE Release
TECHNICALCOMPLETE Technically complete
ATPCHECK Availability check
CALCULATE Calculate
SCHEDULE Schedule
DELELTEDSEX Delete the status for external scheduling at operation level
SAVE Save all data
DIALOG Call-up dialog. See explanation below.
TRACE Write trace file in the specified file to the frontend
OBJECTKEY SAP external object key
This key is for assigning the lower-level objects correctly to the corresponding objects, as there is always just one key in the data table. The key must have the following structure:
1-12 Order number
When creating orders with internal number assignment, a reference number beginning with % must be entered here. The BAPI then returns this number and the number actually assigned.
13-16 Operation number
17-20 Sub-operation number
For relationships, the key is structured as follows:
1-12 ,Order number from
13-16 Operation number from
17-28 Order number to
29-32 Operation number to
The following methods are permissible for the individual objects:
HEADER:
CREATE, CHANGE, RELEASE, TECHNICALCOMPLETE, ATPCHECK, CALCUALTE, SCHEDULE
OPERATION
CREATE, CHANGE, DELETE, DELETEDSEX
PARTNER, RELATION, COMPONENT, USERSTATUS, TEXT:
CREATE, CHANGE, DELETE
(empty):
SAVE, DIALOG, TRACE
Data tables and update tables
The objects have one or more data tables. For some objects you can specify which of the fields specified in the structure should be changed. For this you must set the field in the corresponding table to X as in the data table. If no update-table is transferred, then only those fields are set that have a value that is not initial. This simplifies the transfer data. However, this means it is not possible to delete fields. If an update structure should only be specified for some data records, the table with the update fields must nonetheless have the same amount of lines as the data table. The empty lines are then treated as if no update structure was transferred. The objects "Partner", "User Status", and "Text" have no update tables. The whole data record is always copied here.
References
The objects use the field REFNUMBER from the method table to refer to the lines in the data table. Counting always begins with 1. In doing this, REFNUMBER also refers to the update table. However, in the method table there is a second reference to higher-level objects for lower-levels objects. The field OBJECTKEY must be filled with order number, operation number, and sub-operation number, as specified above. If lower-level objects of a newly-created order should be changed, then you must enter a temporary order number that must begin with %. Several orders can be numbered serially, for example, with %00000000001, %00000000002 ... .
The following objects have special treatment for REFNUMBER:
Partner
Texts
Partners have an order number in the data table. During processing of the method table, all those entries in the data table are processed which have an order number that is the same as that in the line to which the method refers. Thus, through just one entry in the method table, several partners can be changed.
Texts are composed of two tables. The first table (IT_TEXT) is made up of the header data of the text. Here you must specify the object and the first and last line of the text table (respectively inclusive, counting from 1). Through this, a line segment is specified in the text line table (IT_TEXT_LINES).
Peculiarities in processing
The BAPI processes the transferred methods in a particular sequence, which must not correspond to the sequence in the methods table.
Write trace file
Change user status time period 1
Delete objects (dependent first)
Create new objects
Change existing or newly-created objects
Change user status time period 2
Status change of order
Save data
The methods are performed such that lower-level objects can also be assigned to newly-created objects. For example, first the operations are created, and then the components. Long texts can also be created for the objects.
Components have an exceptional position. Components are created through the assignment to an operation, that is, using the "key" order/ operation (item number). However, as this is not the unique component key, you can only access the components to change them, delete them, or add long texts by using the reservation number/-item, which is only given after saving. This means that, for example, you cannot create a long text when you create the component.
User status changes can take place at two different time points. Time point 1 is before the object changes, time point 2 is after the object changes and before the status change of the system. These time points should be defined in the transfer table in the field CHANGE_EVENT. The field documentation contains the possible values.
The external scheduling is offered by the BAPI as a special function. THe BAPI can set the date field directly at the operation level, and select the operation with the status DSEX "Date set by external system". This status prevents any further scheduling of the operation, it keeps the transferred dates. For this, set the category 'X' in the restriction categories. When reading the operation, this category is also returned, independent of the category of restriction set in the dialog. To delete the status, you can call up the method DELETEDSEX for the object operation. The external scheduling cannot be influenced in the dialog. All changes to the scheduling restrictions in the dialog are saved as normal, but are not relevant for the scheduling as long as the status DSEX is active.
Every time the BAPI is called up, a SAVE or DIALOG method must be transferred. Normally, calling up a BAPI is seen as a transaction. All data that is changed in the BAPI should be saved to the database immediately. The BAPI checks whether a SAVE method exists, otherwise it terminates processing. A test run of the BAPI is composed of a normal call-up using the SAVE method and a subsequent BAPI_TRANSACTION_ROLLBACK. To call up the BAPI without the SAVE method, for example, to realize dialog transactions, the BAPI can be called up with the DIALOG method. This switches off the check for the SAVE method. The processor must then ensure that later either a SAVE method or a BAPI_TRANSACTION_ROLLBACK is called up.
A BAPI_TRANSACTION_COMMIT without SAVE method terminates processing in the update to ensure that no inconsistent data is written to the database. The processor who called up the BAPI does not receive any confirmation for the termination of the update in the target system. This logic is necessary as the order data was flagged for updating with BAPI_TRANSACTION_COMMIT through the SAVE method. However, the status information was already flagged for updating when the BAPI was called up. A BAPI_TRANSACTION_COMMIT without SAVE method then just saves the status information and would generate inconsistent orders, if the updating was not terminated.
Customer Enhancement
The BAdI IBAPI_ALM_ORD_MODIFY can be used to change the transferred data. The BAdI is called up after the conversion of the transfer structure into the structures used internally. Additional data can be transferred using the table EXTENSION_IN. Only then is the data checked.
Example
The following examples should clarify the use.
Creating an order
OBJECTKEY should be filled with a temporary key. The BAPI returns this key together with the assigned order number in the return table ET_NUMBERS . The order number in the HEADER table should also be filled with the number. For external number assignment, the external number should be specified. The update structure can be transferred if necessary.
Methods table
REFNUMBER OBJECTTYPE METHOD OBJECTKEY
1 HEADER CREATE %00000000001
IT_HEADER
ORDERID ORDER_TYPE PLANPLANT ...
%00000000001 PM01 1000 ...
Creating an order with operation and long text
Methods table
REFNUMBER OBJECTTYPE METHOD OBJECTKEY
1 HEADER CREATE %00000000001
1 OPERATION CREATE %00000000001
1 TEXT CREATE %000000000010010
IT_HEADER
ORDERID ORDER_TYPE PLANPLANT ...
%00000000001 PM01 1000 ...
IT_OPERATION
ACTIVITY SUB_ACTIVITY CONTROL_KEY WRK_CNTR ...
10 PM01 MECHANIC ...
IT_TEXT
ACTIVITY ... TEXTSTART TEXTEND
10 ... 1 2
IT_TEXT_LINES
TDFORMAT TDLINE
Longtext for operation 10, line 1
Line 2 of the long text
Notes
Using the BAPI to process the order data cannot support all the functions of the transaction. This applies in particular for the following functions:
Order header data
The object list cannot be processed.
Refurbishment orders are not supported.
The estimated costs cannot be processed - only the estimated overall costs of the order.
Notification data cannot be processed with the order BAPI. Even if the settings in Customizing are such that the orders and notifications can be maintained on one screen, no notification is created for the order.
Permits cannot be processed.
The order addresses cannot be processed.
Individual partner addresses cannot be maintained.
The settlement rule cannot be maintained.
Order functions
Printing the papers is not possible.
Locking and unlocking the order is not possible.
Accepting and rejecting quotations is not possible.
Business completion is not possible.
Flagging for deletion is not possible.
The log cannot be displayed.
User default values are not used.
The field selection is not checked.
The Customer Exits/BAdIs are not executed completely.
Joint ventures are not supported.
Funds Management is not supported.
Investment orders are not supported.
No integration of service products with task lists possible.
No integration of configurable service products possible.
Assignment of sales document items with service products in accordance with the aforementioned conditions.
Operation data
A change of the control key in the operation is not possible, if this leads to a change of the processing type (internal-/external processing)
User status change not possible.
Production resources and tools cannot be processed.
Service lines cannot be processed.
Task list integration is not supported.
Linking operations with object list is not supported.
Component data
User status change not possible.
BOM data cannot be processed.
The delivery address cannot be processed.
Further Information
See also the documentation for the individual transfer tables.
Parameters
IT_METHODS
IT_HEADER
IT_HEADER_UP
IT_HEADER_SRV
IT_HEADER_SRV_UP
IT_USERSTATUS
IT_PARTNER
IT_PARTNER_UP
IT_OPERATION
IT_OPERATION_UP
IT_RELATION
IT_RELATION_UP
IT_COMPONENT
IT_COMPONENT_UP
IT_TEXT
IT_TEXT_LINES
EXTENSION_IN
RETURN
ET_NUMBERS
Exceptions
Function Group
IBAPI_ALM_ORDER
~~Guduri
Maybe you are looking for
-
Change the condition type based on sales document type
Dear ALL, I have created a condition Zxxx which is a fixed calculation type for the documents created by the upload from external tool to SAP. I created this condition because external tool is using a 15 place decimal which SAP doesn't allow and if
-
I have tried to use the camera on my new iPad. It just shows the shutter. I have updated software, rebooted, shutdown iPad. Still will not work..
-
I'm not tech-savvy, but I do OK...except I can't connect to the itunes store!!!! First I get prompted by my computer that itunes is not my default audio, which it is, then I wait for a really long time until I x out the store connection attempt and I
-
The icons for reply, reply all, forward etc on top of mail screen just disappeared. How do I get them back? Thanks!
-
Cp 4 not playing in Oracle iLearning LMS
I love Cp 4 - but now that I've published, loaded to LMS, I can preview just fine, but learners can't play content, and object is marked complete when the screen never loaded even page 1. Help! LMS is Oracle iLearning (5.2) - published for SCORM 1.2.