Migration Custom Action Blocks from 11.5 to 12.0
Hi,
I have created some custom Action Blocks in xMII 11.5.Now i want to migrate my code to 12.0.i have taken care of the Folder structure .Do i need to change any thing in customised Action Blocks or directly can i upload to 12.0 while migrating the code?Please any one guide me.
Gurunadh,
Yes there is and the guide for this should be released to the SDN shortly. One thing to keep in mind is the include paths have changed from com.lighthammer... to com.sap and com.lhcommon
Another thing to keep in mind is that there are additional interfaces you can implement for greater control over your customization. Before I can help you any further you have to say what specifically you are doing and what error messages you are receiving.
Sam
Similar Messages
-
Changing action name of sample custom action block in MII 12.2
Hi all,
I have a problem changing the action name of the custom action block sample. I've changed the content and successfully implemented the action block. But when I changed the action name and uploaded again, the action block cannot display any input parameters and output parameters. In the java console, I can see 3 rows of "Shared Properties Error: No File Defined" error. Can I get a hand on resolving this issue? Thanks.
The From rows are the sample code. To row is what I changed to.
In SimpleActions.java
From:
@Action(name = "AddTwoNumbers", referenceDocumentGenerator = ReferenceDocumentGenSample.class)
To:
@Action(name = "GBarcode", referenceDocumentGenerator = ReferenceDocumentGenSample.class)
From:
public static void addTwoNumbers(
To:
public static void gBarcode(
In catalog.xml
From:
Component Type="Action"
Name="AddTwoNumbers"
To:
Component Type="Action"
Name="GBarcode"
All other code remains the same.
Best regards,
LawrenceHi Lawrence
Did you remember to change the action name in the catalog xml as well? In the catalog xml the Name field denotes the name of the action. This needs to also change in case the Action Name is changed in the class.
Please check this and change if not already done.
Regards
Partha -
Setting icon for MII version 12.1.x custom action
Hi,
i tryed to set icon image for custom action for MII version 12.1.x but i did not achieve.
How can it be done?
Thanks.Hello,
I have done it in 11.5. This is how I did it in 11.5. (I am hoping that it has not changed in 12.1)
//funciton for specifying icon
public String GetIconPath() {
return "com/path/to/icons/imagename.png";
Store your image file in the following way
com/path/to/icons and name that as imagename.png
There is also a blog on it
/people/rupesh.bajaj/blog/2007/12/04/beginners-guide-to-create-custom-action-block
I hope it helps.
Regards,
Musarrat
Edited by: Musarrat Husain on May 17, 2011 12:18 PM -
How to call a custom action class present in one DC from a different DC
Hi Experts,
I have to implement one email functionality in my project.This functionality works fine if I use the Standard EmailAction class present in com.sap.isa.cic.customer package,but we need to change the email IDs in some cases so,we need to create a custom class.But if I create a custom Action class in Another DC(shext) and try to call this class from the config file present in the other DC(From where the Standard class was called),I am getting no Action Instance found for the declared Action(This Happens when the class is not present ).
From the error I interpreted that the presence of the Custom Action class is not recognised by the The DC.
Please confirm If my understanding is correct.
I also tried adding a a new public part in shrext and tried adding the same in the used dc for the DC from where I am trying to call the class.But the activity fails and it gives me the error that the DCs are Broken.Do I need to build the DCs after adding a public part or a used DC?
Please answer If anybody has faced the same issue or has a solution to it.
Thanks
Arpita Saxena
Edited by: ArpitaSaxena on Jun 23, 2011 6:51 AM
Edited by: ArpitaSaxena on Jun 23, 2011 7:01 AMHi All,
I was able to resolve this issue myself.
I had to include the DC crm/isa/lwc and the DC mail in the used DCs of SHREXT .
So,all the jars got included automatically and I was able to create a new custom class for the required functionality.
Its working fine now. -
Option Explicit
Sub BatchProcess()
Dim strFileName As String
Dim strPath As String
Dim oDoc As Document
Dim oLog As Document
Dim oRng As Range
Dim oHeader As HeaderFooter
Dim oSection As Section
Dim fDialog As FileDialog
Set fDialog = Application.FileDialog(msoFileDialogFolderPicker)
With fDialog
.Title = "Select folder and click OK"
.AllowMultiSelect = False
.InitialView = msoFileDialogViewList
If .Show <> -1 Then
MsgBox "Cancelled By User", , _
"List Folder Contents"
Exit Sub
End If
strPath = fDialog.SelectedItems.Item(1)
If Right(strPath, 1) <> "\" _
Then strPath = strPath + "\"
End With
If Documents.Count > 0 Then
Documents.Close savechanges:=wdPromptToSaveChanges
End If
Set oLog = Documents.Add
If Left(strPath, 1) = Chr(34) Then
strPath = Mid(strPath, 2, Len(strPath) - 2)
End If
strFileName = Dir$(strPath & "*.doc?")
While Len(strFileName) <> 0
WordBasic.DisableAutoMacros 1
Set oDoc = Documents.Open(strPath & strFileName)
'Do what you want with oDoc here
For Each oSection In oDoc.Sections
For Each oHeader In oSection.Headers
If oHeader.Exists Then
Set oRng = oHeader.Range
oRng.Collapse wdCollapseStart
InsertMyBuildingBlock "ASAP 1", oRng
End If
Next oHeader
Next oSection
'record the name of the document processed
oLog.Range.InsertAfter oDoc.FullName & vbCr
oDoc.Close savechanges:=wdSaveChanges
WordBasic.DisableAutoMacros 0
strFileName = Dir$()
Wend
End Sub
Function InsertMyBuildingBlock(BuildingBlockName As String, HeaderRange As Range)
Dim oTemplate As Template
Dim oAddin As AddIn
Dim bFound As Boolean
Dim i As Long
bFound = False
Templates.LoadBuildingBlocks
For Each oTemplate In Templates
If InStr(1, oTemplate.Name, "Building Blocks") > 0 Then Exit For
Next
For i = 1 To Templates(oTemplate.FullName).BuildingBlockEntries.Count
If Templates(oTemplate.FullName).BuildingBlockEntries(i).Name = BuildingBlockName Then
Templates(oTemplate.FullName).BuildingBlockEntries(BuildingBlockName).Insert _
Where:=HeaderRange, RichText:=True
'set the found flag to true
bFound = True
'Clean up and stop looking
Set oTemplate = Nothing
Exit Function
End If
Next i
If bFound = False Then 'so tell the user.
MsgBox "Entry not found", vbInformation, "Building Block " _
& Chr(145) & BuildingBlockName & Chr(146)
End If
End Function
This works, using the ASAP 1 watermark that is in bold. ASAP 1 is a built-in building block, if i just rename this to ASAP, but save it in the same place with buildingblocks.dotx it wont work. What do i need to do to be able to use this with my custom building
blocks?Hi,
This is the forum to discuss questions and feedback for Microsoft Excel, this issue is related to Office DEV, please post the question to the MSDN forum for Excel
http://social.msdn.microsoft.com/Forums/en-US/home?forum=exceldev&filter=alltypes&sort=lastpostdesc
The reason why we recommend posting appropriately is you will get the most qualified pool of respondents, and other partners who read the forums regularly can either share their knowledge or learn from your interaction with us. Thank you for your understanding.
George Zhao
TechNet Community Support
It's recommended to download and install
Configuration Analyzer Tool (OffCAT), which is developed by Microsoft Support teams. Once the tool is installed, you can run it at any time to scan for hundreds of known issues in Office
programs. -
Hi all,
I like to migrate custom attributes from test environment to my production environment. I read OIM documentation and i tried to fallow these steps but I cannot export sandbox and import it because all sandboxes are published in the test environment.
I exported and imported users metadata by deployment manager only. Now, all migrated attributes are in the OIM DB but I do not see these attributes in Administration Console.
How can i solve this issue? Is it possible to export published sandbox and import it in the other environment?
Thank you.
MilanIn OIM 11g R2 you need to export sandbox before publishing sandbox for custom user fields from DEV or TEST environment.
Then import exported sandbox in the another environment.
If you didn't exported custom user fields sandbox from your TEST or DEV in that case you need to create those again in another environment manually. There is no other option for this in OIM 11g R2. -
How to hide custom actions from Oracle Worklist Application (Conceptual)
Hi,
I have a conceptual question in relation to Worklist Application and the Oracle Workflow. I will explain, now:
This is the image that demonstrate the situation (worklist app console): http://i53.tinypic.com/34h9ilw.png
As you can see, i have 4 custom actions (ENVIAR_ANALISE_FRAUDE, APROVAR, REPROVAR, ENVIAR_ANALISE_NIVEL2) and i have three main regions in the image
(Action By Menu 1, Action By Menu 2 and Action By Button 3).
I have to make same custom validations when the user to choose any action, then inside of the JSPX file (Human Task Page Generated), i made the following customizations to reach my objective:
1) At the Region 2 (Action By Menu 2) - I delete these lines of code to hide the actions:
<af:group id="g2">
<af:forEach var="childNode1"
items="#{actionAvailable.customActions}">
<af:commandMenuItem textAndAccessKey="#{childNode1.displayName}"
actionListener="#{invokeActionBean.setAction}"
action="#{invokeActionBean.action}"
partialSubmit="false" id="cmi2">
<f:attribute name="ACTION_MENU_ITEM"
value="#{childNode1.action}"/>
</af:commandMenuItem>
</af:forEach>
</af:group>
2) At the Region 3 (Action By Button 3), i change the default action button's to point to my managed bean action and make the required custom validations, in accordance to my requirements. After that i made my validations, i call some lines of code to make with the Oracle Workflow executes your default internal functions when an action is clicked.
<af:commandToolbarButton actionListener="#{myManagedBean.setOperation}"
text="Aprovar"
disabled="#{myManagedBean.isErrorOccurred}"
action="#{myManagedBean.invokeMyCustomizedOperation}"
partialSubmit="false"
visible="#{wf:isCustomActionAvailable('APROVAR', 'bindings.customActions')}"
id="ctb2">
<f:attribute name="DC_OPERATION_BINDING" value="bindings.APROVAR"/>
</af:commandToolbarButton>
public void setOperation(ActionEvent p1){
this.acaoSelecionada = (String) p1.getComponent().getAttributes().get("DC_OPERATION_BINDING");
this.operation = UtilWorkflow.getInstance().getOperationFromHumanTask(this.acaoSelecionada);
this.operation.execute();
InvokeActionBean ia = (InvokeActionBean)ADFContext.getCurrent().getRequestScope().get("invokeActionBean");
ia.setFinalizerJavaScriptName("closeBrowser()");
ia.invokeScript();
3) The great problem for me now is the region 1 (Region By Menu 1), this the part of Oracle Worklist Application and i cannot hide this Menu or change anything inside it. If the user click at the 'APROVAR' action, my custom validations will be ignored and the Workflow will approve my task, without intervention of my validations.
After explaining everything this, here are my questions:
1) Is this the correct way to work with the Oracle Soa Suite ?
2) How can i hide the Region 1 (Action By Menu 1) ? Is possible ?
Thanks,
Victor JaburHi,
I am also in need of hiding or having custom validations for the actions in Region 1. Does anyone have any suggestions? Please help!
Thanks,
Farhana -
How to migrate Custom Reports from 2010 to 2013
We are considering upgrading from Project 2010 to 2013 and one of our users noticed there are no Custom Reports or canned reports available.
On her computer with Project 2010, when she selects Reports-Custom Reports, there are numerous canned reports available.
On the test computer, with Project 2013, when she views Custom Reports, it is empty.
How do we get the Custom Reports moved from her computer with Project 2010 to the test computer with Project 2013?
thank you in advance for any assistance you can provide.
GeemailThus I guess you are using the new reports feature in MS Project Pro 2013 (as per my 2nd screenshot)?
I would say that this feature aims at giving reports summarizing projects information in a global way, based on criterion specified by the user (cost, time period, tasks, resources..).
I don't know how to bypass this limitation (which doesn't mean that it is not possible).
But I'd advice as it says in the report tip to filter in order to emphasize on what makes sense for the user (incomplete tasks, overdue tasks, overallocated resources...) in order to use it like a dashboard more than like a detailed report.
If your objective is to provide detail reports (and if you're using project server), I'd suggest to use more advanced BI features such as Excel Services or SSRS.
Hope this helps.
Guillaume Rouyre - MBA, MCP, MCTS -
Unable to use action blocks in xMII 12.0.2
Hi,
We recently started working on MII 12.0.2 and migrated our xMII 11.5 transactions using the migration tool provided by SAP with MII 12.0 version. In MII 12.0.2, when i open the migrated transactions all the action block images are shown as yellow boxes.
If i double click on any action block of that transaction i am getting a message saying that "Action is not enabled for this version". When i press OK button of this message, the properties window is shown up.
Also, i am unable to use the actions blocks in new transactions. When i double click the action or drag and drop the action, no action is performed. When i launched xMII workbench, i got an error messages in a popup saying "java.lang.nullpointerexception"
It seems we missed out some installation or some configuration files. Can anyone ever faced such problems ?
Thanks,
Prasad.Prasad,
Custom Action written for SAP xMII 11.5 will not running under SAP xMII 12.0. The package names for the XMII code have changed in 12.0. You must update the references to the com.lighthammer packages to com.sap.xmii. More information
you will find under the link below:
http://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/801e9072-ae80-2a10-5e90-8ee2e4f703ca
BR
Pedro Iglesias -
Based on the "Developing Custom Action in in SAP MII 12.1" i encountered error while running the action block in BLS. In Link Editor I assign 2 values in Inputs and Output to a tracer. When I execute this BLS, I receive following error
[ERROR] [Tracer_0] Link ('Tracer_0.Message' [Assign] from "SimpleAction_0.Output") execution threw an exception. Exception: Invalid variable: SimpleAction_0.Output [Unknown variable: SimpleAction_0.Output
[ERROR] [Tracer_0] Action: Runtime threw an exception. Exception: [Invalid variable: SimpleAction_0.Output Unknown variable: SimpleAction_0.Output
The code is exactly like in the document
package customactions;
import com.sap.lhcommon.common.*; // Needed for the VariantDataTypes and
import com.sap.lhcommon.exceptions.DataConversionException;
// VariantData types.
import com.sap.xmii.bls.sdk.*; // This is the main SDK for custom actions.
* This is a simple action construct used to show how to use some of the basic
* MII 12.1 Custom Action constructs.
public class SimpleActions {
* To ensure the parameters are always named the same, it is good practice to
* create a static final string with the parameters name. This also make it
* easy to use across actions.
private static final String PARAM_OUTPUT = "Output";
* Describes a simple action that adds two numbers together.
* @param instance This is the action instance. This is the main interface
* from the action code back into the transaction engine. Most
* users will only need to set their variables through this
* interface, though much more powerful operations are also
* available.
* @param in1 This is an input into the action. The type is detected by the
* transaction engine and automatically cast to the correct value.
* @param in2 This is a second input.
* @throws InvalidVariableException This exception is
@Action(name = "AddTwoNumbers") // This annotation tells the engine that this
// is an action available to execute.
@Outputs(names = { PARAM_OUTPUT },
types = { VariantDataTypes.INTEGER }) // This annotation tells
// the engine that one
// integer output called
// 'Output' is going to be
// returned.
public static void addTwoNumbers(
IActionInstance instance, // Besides the basic types, the
// IActionInstance interface is the only
// other type allowed to be defined in
// parameter list of a custom action.
@Input(name = "Input1") int in1, // @Input annotations are used to
// indicate the user modifiable
// inputs to this action.
@Input(name = "Input2") int in2)
throws InvalidVariableException { // Exceptions can be thrown directly from
// the actions without causing critical
// execution failures. These exceptions
// will be caught and logged by the engine
// and will cause the Success flag to be
// set to false.
// The following code describes how to set an actions output.
try {
instance.setActionResult(PARAM_OUTPUT, in1 + in2);
} catch (DataConversionException e) {
// TODO Auto-generated catch block
e.printStackTrace();
the catalog is
<ComponentCatalog>
<Category Name="Custom" Description="Custom">
<Component Type="Action" Name="AddTwoNumbers"
Description="" Label="SimpleAction"
ClassName="customactions.SimpleActions"
AssemblyName="SimpleActions.jar" Dependencies=""
HelpFileName="" />
</Category>
</ComponentCatalog>
Is there anything I might have done wrong?hargoe
and do you know why my icon does not show up? it just black.
@Action(name = "AddTwoNumbers", icon="icons/CustomAction.png")
i created a package called icons and in this package I have a .png file called CustomAction.png
I copied this CustomAction.png from another .jar and it works for that jar.
thanks -
SAP ME Integration Action Block in SAP MII14.0
Hi All
Since ME 6.1 and MII 14.0 are now on the same platform, the transfer of data between shop floor (PLC) and ME via MII is now easy using ME Integration action blocks present in MII 14.0. These action blocks have different kinds of API's present which can be used as per the requirement.
At the time of MII installation in my landscape, these SAP ME Integration action blocks were installed successfully and were working perfectly fine.
Now, again I got a requirement to use API (SAP ME Integration Action Blocks) and could not find them in my MII 14.0 workbench. The complete SAP ME INTEGRATION folder is missing from the MII workbench, just like it got disappeared from its place.
Following are the messages I am able to fetch from MII logs after executing the transactions which were created at the time when API's folder was present:
Info: Deprecated scope of type SERVERSESSION_AT_LEAST_ONE_APP_SCOPE is used! Please replace the usage of scopes with new mechanism based on "Cross
application session communication API".
Warning: Link execution failed: java.lang.NullPointerException: while trying to invoke the method java.util.Map.containsKey(java.lang.Object) of a null object loaded from
field com.sap.xmii.bls.legacy.LegacyActionWrapper.types of an object loaded from local variable 'this'.
Error: Uncaught exception from (TRX Name), while trying to invoke the method java.util.Map.containsKey(java.lang.Object) of a null object loaded from field com.sap.xmii.bls.legacy.LegacyActionWrapper.types of an object loaded from local variable 'this'.
Please guide.
Thanks in advance.
AvichalHi Avichal,
This is a one time activity if you do not undeploy MII or MEINT at any point in time. From what you are saying it appears that you have either undeployed and re-deployed MII. Or you have undeployed MEINT from your system.
You can check if MEINT is deployed by navigating to System Resources -> Custom Actions within MII. If you see sap.com~xapps~me~integration~action~actions.mii-actions.jar, it means MEINT classes exist within MII server. Else they are lost.
Regards,
Anushree -
Service Desk Unable to set status to Customer Action and Proposed Solution
Hi Everyone,
We are unable to set a service desk issue to the status Customer Action or Proposed solution.
I have someone create a new issue in the bakend system and when I receive the issue I assign it to myself as the processor. When I try to set teh status to Customer action it is grayed out.
I have checked the following:
1. As a test I assigned My user with sap_all profile so does not appear to be authroisation related
2. The status profile has all six standard values (New, customer action, In Process, Sent to SAP, Proposed Solution, Confirmed).
3. The transaction types have been defined using the standard profiles for Text Det. Procedure, Partnet Determination Procedure, Status Profile. The Partner Function ORG is set to Sold-To-Party , The date profile is a SRV_SLA_ITEM and the Action profile is set to SLFN0001_ADVANCED. The Org Data Prof is set to a customer defined one: ZSSC000000001.
4. I have checked transaction ppoma_crm and the org structure and my user is assigned to a team lead position.
Your assistance is greatly appreciated.
MichaelHi Michael,
please check your status profile for the "lowest status no." and "highest status no." values of the status values as Alex mentioned!
You can find this in SPRO under "SAP Solution Manager> Scenario-Specific Settings>Service Desk>Service Desk>Status Profile".
If the "high" value of the status "New" is lower than the status number of status "Customer Action" than you can not set the message from "New" to "Customer Action"!
Hope this helps,
Christoph -
Custom action with XML type input and output parameter.
Hi,
I want to develop custom action with xml type input and/or output parameter.
Is there sample code for java side. How is the definition of input and/or output parameter and set/get methods?
does it need special .jar file to develop custom action like this?
Thanks.Cemil - yes, you can use XML data types. Use the class
com.sap.lhcommon.xml.XMLDataType
for your parameter type. Here is a snippet from a custom action we use to log XML (instead of just returning the #text node like the default logger does):
public class XMLLogger extends ActionReflectionBase
private String source;
private String eventType;
private String textMessage;
private XMLDataType xmlMessage;
public XMLLogger()
log = new Logger("UserLog");
source = DEFAULT_SOURCE;
eventType = TYPE_INFO;
textMessage = "";
xmlMessage = new XMLDataType();
public XMLDataType getXmlMessage()
return xmlMessage;
public void setXmlMessage(XMLDataType xmlMessage)
this.xmlMessage = xmlMessage;
public void Invoke(Transaction transaction, ILog ilog)
StringBuffer sb = new StringBuffer();
sb.append('[');
sb.append(source);
sb.append("] ");
sb.append(textMessage);
sb.append(XMLUtils.convertXmlToString(xmlMessage));
XMLUtils is a helper class we wrote - it's just a bunch of standard Java XML boilerplate code. The important part you need to know is XMLDataType.getDocument() will return an org.w3c.dom.Document.
I hope that was enough information to help.
-tim -
Several customers running different versions of Office 2011 (14.4.1-14.4.5) on OSX varying from 10.7.5 to 10.9.5, running on various kinds of hardware (iMac/MacBook Pro/MacBook Air) of various ages are having issues opening *.doc files if the Word is already open. The error message that gets displayed is, "XXXX.doc uses a file type that is blocked from opening in this version"
When the customer tries to open the same file via File-Open, she gets "The file is locked for editing. you can open the file as read-only".
When trying to do so, she gets "Word cannot open this document. The document might be in use, the document might not be a valid Word document, or the file name might contain invalid characters".
If Word gets Force-quit, the same document opens without any problems.
1. Repairing Disk permissions was ran several times. and the volume was found to be OK.
2. I have noticed that in this scenario either deleting the normal.dotm or com.microsoft.word.plist (~/Library/Preferences) sometimes resolves the issue, sometimes it doesn’t. There is no pattern to follow. All versions of Office are affected, the fully updated and the non-updated ones.
3. I have tried completely removing the suite using Office 2011 Uninstall.app and/or Remove Office 2011 Uninstaller.pkg, then going through customer's library and manually removing all the Office references.
4. None of these systems had Office 2008 in the past.
Any help will be greatly appreciated.Reboot both the Mac and the server. Word opens .DOC files and Excel opens .XLS files. As you have found out by copying the files to the computer. It is the connection between the 2 computer that is causing the error.
-
Migration of Approved Invoices from 11i to R12
Hi All,
I am migrating all approved invoices from 11i to R12 using Invoice Interface tables and "Payables Open Interface Import" Concurrent program.But in R12 the Approval status changes and to "Required" and the Accounted status of distribution line changes to Unprocessed. We do not have the set up for approval work flow process, So the invoice should be validated by "Force Validation" by checking the ‘Allow Force Approval’ in payable options. But when I am running the "Invoice Validation" program the theere is no change in the Approval status.
Please help.
Thanks in Advance,
SubhrakantI am a newbie to Oracle Apps. I guess Oracle Apps use the "sequence" to generate the Key in the Oracle tables or is there some else mechanism.
When migrating Oracle Apps from lower version to higher version, is there any concept of setting the sequence numbers in Oracle Apps or we don't need to take care of this ie the migration handles this automatically.The migration/upgrade script/driver should take of seeded objects,
For your custom objects, you need to verify it yourself.
Thanks,
Hussein
Maybe you are looking for
-
DBCA ERROR WHILE CREATING A DATABASE
While creating a RAC database using DBCA, DBCA gave the folling error - "Virtual IP address is not configured for cluster node "pdb1". Run "/opt/app/oracle/product/10.2.0/oracle/bin/vipca" as "root" user to configure it before performing the "create
-
Hi, How do I organize the order my tracks play in on my iPod? Can the track order be altered once I have copied it in to my iTunes or iPod library?
-
How to implement settings function in std table ?
Hi All, Alv table is having setting functionality by default . I need to provide the similar functionality in standard table . Is there any way for that ? . If any knows , how to do that , please provide me the steps . Regards, Kalpana .
-
Role of S Partition in Installing New Operating System
Hello, I've been taking a look on here and understand that the Q partition is for the backup to factory settings and the S partition is part of the start up system (working with a 2009 T400). I am looking to install Windows 7 and have no interest in
-
Please connect your device Error when trying to download (sync) app from AppWorld
Hi, I need help. I have been using my BB8520Curver for a month already and was able to download apps in the appworld before but after I upgraded the Appworld in my device (to AppWorld version3?) I can't sync or download anything. im getting an error