Custom Wizards (using Wizard Framework)?
Is there a good resource out there that describes how one might go about creating a custom wizard (I suppose using SAP's Wizard Framework) to be used during creation of new iViews (of a particular portal archive)? I've been looking around, but haven't found much on the topic. I have looked at the URL iView code (which implements this framwork API), and it appears somewhat involved.
Thanks,
John Schimmels
Hi John,
you know the API doc? If not - https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/documents/a1-8-4/ep 6.0 sp2 wizard framework api
I don't remember to have seen anything in addtion
Hope it helps
Detlev
Similar Messages
-
How do I implement a Normalized DB in Customer Forms using OA Framework
Our Customer would like a Form that lists the years left to right(columns) versus in a single column with multiple rows. Looking at how the GL tables are and how OA works it is very easy to do this by creating a table with the following design and mapping the form directly to the table; However, this is poor data modeling for a transactional system. Is there any examples or anyone have experience in decoupling the Form from the data model using 11i.
We currently achieve this using the following database design.
CREATE TABLE XXAF.XXAF_GL_JE_LINES
ID NUMBER,
LINE_NO NUMBER,
BATCH_ID NUMBER,
CODE_COMBINATION_ID NUMBER,
CONTEXT VARCHAR2(150 BYTE),
DESCRIPTION VARCHAR2(250 BYTE),
TYPE VARCHAR2(1 BYTE),
YEAR_1 NUMBER,
YEAR_2 NUMBER,
YEAR_3 NUMBER,
YEAR_4 NUMBER,
YEAR_5 NUMBER,
YEAR_6 NUMBER,
YEAR_7 NUMBER,
YEAR_8 NUMBER,
YEAR_9 NUMBER,
YEAR_10 NUMBER,
YEAR_11 NUMBER,
YEAR_12 NUMBER,
YEAR_13 NUMBER,
YEAR_14 NUMBER,
YEAR_15 NUMBER,
YEAR_16 NUMBER,
YEAR_17 NUMBER,
YEAR_18 NUMBER,
YEAR_19 NUMBER,
YEAR_20 NUMBER,
CURRENCY VARCHAR2(30 BYTE)
Suggested Design
Some team members have argued (correctly) that the above is not a perfect database design. The preferred table structure would be something along the lines of:
CREATE TABLE XXAF.XXAF_GL_JE_LINES
ID NUMBER,
LINE_NO NUMBER,
BATCH_ID NUMBER,
CODE_COMBINATION_ID NUMBER,
CONTEXT VARCHAR2(150 BYTE),
DESCRIPTION VARCHAR2(250 BYTE),
TYPE VARCHAR2(1 BYTE),
CURRENCY VARCHAR2(30 BYTE)
CREATE TABLE XXAF.XXAF_FISCAL_YEAR_VALUES
ID NUMBER,
LINE_ID NUMBER
YEAR NUMBER
VALUE NUMBER
In this design, there is a parent-child relationship between the individual line records and the fiscal year records. This is a far more flexible database design. The question is, can this design be used to create the desired OAF screen. This design leads to a vertical OAF table.
Thanks
BrianHi Brian,
OAF supports the master-detail based design. You can very well implement your model. You can use 2 VO for your 2 objects and link them using a ViewLink. Check OAF Dev guide for more details.
--Shiv -
Uninstall previous version with Adobe Customized Wizard
Good day everyone. I am just beginning to use Adobe Customized wizard 9 to be used with SCCM (newer version of SMS). I have already extracted the exe to get to the msi file, but looking at the wizard, these options are grayed out and cannot be checked off. Actually the option to remove previous versions of Acrobat is checked (which I need it unchecked) and remove previous versions of Reader is unchecked. Any idea of the work around? We currently have in our environment versions 6-9 and we want everyone to be upgraded to 9.2. Also will this Customized wizard corrupt or change any settings for those that have both ReEader and Writer? Any help or info greatly appreciated. Thanks
You may want to try the following.
Remove all traces of Reader (not only the program) from your system using the Windows Installer Cleanup Utility. This is no longer supported by Microsoft because it can produce problems with Win 7, but you can still download it from from places like
http://majorgeeks.com/download.php?det=4459
Then, if you want to install Reader, download its installer from
http://get.adobe.com/reader/enterprise/
and perform a clean install. -
Wizard framework API SAMPLE CODE !!!!
Does somebody have some sample code
on how to use the wizard framework api
ThanksYeah, I have it.
Wizard Framework
Regards
Puru
Award points. -
Custom Login using the Pluggable Identity Management Framework
Hi all,
We are trying to establish 2 ways into our application:
1. via a login form
2. seamless login from an external application
To achieve this we are trying to build our own custom authentication using the pluggable IDM framework.
Basically if a secure page is requested, we want to check the header/cookie/request (don't mind which) for a key which is provided by the external application. If present, the key is validated against a web service provided by the external app, the identity is asserted and the user is entered seamlessly into the application. If the header/cookie/request does not contain a key the user is to be redirected to a login page, where they can input username and password which will be validated against our database.
We've created a Token Collector and Token Asserter class, we've modified our custom Login Module to retrieve the identity created by the Token Asserter but we haven't worked out how to get the alternate login page working for users which don't come through the external application.
Has anybody built anything similar? From the documentation it appears we should be able to achieve our goal using the pluggable IDM, but we're going around in circles a bit at the moment.
Any help/sample code would be greatly appreciated.
thanks.Can you tell why the page is not working? I mean, any errors ? What happens when you try to open the protected resource?
Here is an example of the code, I removed some part of the code specific to the bussines so if you have doubts just let me know
token collector
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.Hashtable;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import oracle.security.jazn.collector.CollectorException;
import oracle.security.jazn.collector.TokenCollector;
import oracle.security.jazn.sso.SSOTokenFormatException;
import oracle.security.jazn.token.IdentityToken;
import oracle.security.jazn.token.TokenNotFoundException;
public class MyTokenCollector implements TokenCollector
private Properties _properties;
public void fail(HttpServletRequest request,
HttpServletResponse response, int reason)
throws CollectorException
String loginURL = _properties.getProperty("custom.sso.url.login");
String urlParam = _properties.getProperty("custom.sso.url.param");
String idParam = _properties.getProperty("custom.sso.id.param");
Log.Info("Token collection failed (" + reason + ")");
StringBuffer requestURL = request.getRequestURL();
String queryString = request.getQueryString();
requestURL = requestURL.append("?").append(queryString);
StringBuffer sb = new StringBuffer();
try
sb = sb.append(urlParam).append("=");
String encodedStr =
URLEncoder.encode(requestURL.toString(), "UTF-8");
sb = sb.append(encodedStr);
sb = sb.append("#").append(request.getServerName()).append("#").append(request.getServerPort());
String redirectQueryString = sb.toString();
String rurl = loginURL + "?" + redirectQueryString;
response.sendRedirect(response.encodeRedirectURL(rurl));
catch (UnsupportedEncodingException uee)
SSOTokenFormatException stfe =
new SSOTokenFormatException(uee, 4);
Log.Error(stfe.getMessage());
throw new CollectorException(stfe);
catch (IOException ioe)
Log.Error("IOException occured: " + ioe);
throw new CollectorException(ioe);
public IdentityToken getToken(String tokenType,
HttpServletRequest request,
List tokenNames, Properties properties)
throws TokenNotFoundException, CollectorException
_properties = properties;
String valor = null;
Log.Info("URL: "+request.getRequestURI());
if ( tokenType. equalsIgnoreCase("HTTP_COOKIE"))
valor = procesarCookie(request, tokenNames);
}else if (tokenType.equalsIgnoreCase("HTTP_HEADER"))
valor = procesarHeader(request, tokenNames);
}else
throw new CollectorException("token type not supported");
MyIdentityToken token = new MyIdentityToken(valor);
token.setTokenType(tokenType);
token.setPropiedades(properties);
return token;
private String procesarCookie(HttpServletRequest request, List tokenNames)
throws TokenNotFoundException
if (1 != tokenNames.size())
//Only one cookie can be handled
String error = "Invalid number of cookies check jazn.xml";
throw new TokenNotFoundException(error);
Map cookies = new Hashtable();
Cookie allCookies[] = request.getCookies();
if (allCookies != null)
String cookieName = (String) tokenNames.get(0);
Log.Info( "Searching for cookie: " + cookieName);
Cookie cookie;
for(int i = 0; i < allCookies.length; i++)
cookie = allCookies;
if (cookie.getName().equals(cookieName))
return cookie.getValue();
String error = "Rquired cookie not found";
Log.Error(error);
throw new TokenNotFoundException(error);
}else
String error = "No cookie on request";
throw new TokenNotFoundException(error);
private String procesarHeader(HttpServletRequest request, List tokenNames)
throws TokenNotFoundException
String nombreHeader = (String) tokenNames.get(0);
String header = request.getHeader(nombreHeader);
if (header != null)
return header;
}else
String error = "Request doesn't have the requierd header";
throw new TokenNotFoundException(error);
Token Asserter Example
import java.util.Properties;
import javax.security.auth.Subject;
import oracle.security.jazn.asserter.AsserterException;
import oracle.security.jazn.asserter.TokenAsserter;
import oracle.security.jazn.callback.IdentityCallbackHandler;
import oracle.security.jazn.callback.IdentityCallbackHandlerImpl;
import oracle.security.jazn.token.IdentityToken;
public class MyTokenAsserter
implements TokenAsserter
public void finalize()
throws Throwable
public IdentityCallbackHandler assertIdentity(String tokenType,
IdentityToken token,
Properties properties)
throws AsserterException
InversuraIdentityToken idToken = (InversuraIdentityToken) token;
String valorToken = idToken.getValorToken();
InversuraToken invToken;
try {
invToken = new InversuraToken(valorToken);
if (verificarVigencia(invToken))
IdentityCallbackHandlerImpl idcb = new IdentityCallbackHandlerImpl(invToken.getLogin());
idcb.setAuthenticationType("InversuraSSO");
idcb.setIdentityAsserted(true);
MyPrincipal ppal = new MyPrincipal(invToken.getLogin());
Subject subj = new Subject();
subj.getPrincipals().add(ppal);
idcb.setSubject(subj);
return idcb;
throw new AsserterException("Token expired");
}catch (Exception e)
String error = e.getMessage();
throw new AsserterException(error, e);
public boolean verificarVigencia(InversuraToken token)
return token.estaVigente(); -
Custom Branding Using the AJAX Framework L-Shape APIs
Hello folks,
i want to do this Tutorial (How To Apply Custom Branding Using the AJAX Framework L-Shape APIs) but i'm missing the source code.
Can anyone of you provide me with the necessary files?!
It was once located in Sap Code-Exchange (https://code.sdn.sap.com/svn/sap-portal-ajax-framework)
Thanks in advance.
Greetings,I downloaded in May 2014 two EARs with a custom AFP from SAP:
com.customer.afp.fromscratch.ear
com.customer.sdesign.ear
I also have the images shown in the pdf....
If interested, send me an email (see profile).
Kai -
Can I use OA framework to create custom pages
Hi,
My client is using 11.5.8 and the Framework version is 5.6.
And we want to add a custom page to iSupplier application.
Can I use OA Framework extension to develop the page and add it to the application without upgrading the applications techstack.? If Yes, what version of the OA patch do I need to use for development.
If not, is there any way to add a custom page to this application?OAF can be technology of choice only after 11.5.9 . Use JSP instead to develop your custom pages.
--Mukul -
Hi,
I am newb here. I did some research but i could not find answer for my question: How to build custom wizard in configuration tool in RPAS. The only information I found are placed in configuration guide, but it is limited just to list of icons in configuration tool.
Thanks for any infoHow about starting with the documentation...
http://www.oracle.com/pls/db102/search?remark=quick_search&word=user+defined+datatypes&tab_id=&format=ranked -
Skipping Custom Wizard in MDT-LiteTouch Deployment
I have one deployment share in which I generate media from to create a gold image, sysprep and capture, and than a deployment where the gold image and other things are performed. As part of the deployment of the Gold Image, I want to incorporate a custom
wizard to prompt if the user wants to wipe the hard drive as I need to accomplish something greater than the included reformat once. It needs to obviously run before the format and partitioning occurs, and I only want it to appear in one of my three media.
I have created a custom XML file, made the entry DeployWiz_Definition_ENU.xml, and can successfully acknowledged the variable ("DoSanitize") value where I need to in my task sequence.... however, I am unable to skip the custom wizard the way
I am with other pre-defined wizards. I have made the condition to skip it and I have placed the condition in my customsettings.ini.
How can I skip a custom wizard if the variable is set in customsettings.ini?
Entry added to the customsettings.ini for the media I want to skip
======================================
SkipSanitize=YES
======================================
Entry added to DeployWiz_Definition_ENU.xml
======================================
<Pane id="SanitizeHardDrive" reference="DeployWiz_SanitizeDrive.xml">
<Condition><![CDATA[UCASE(Property("SkipSanitize"))<>"YES"]]></Condition>
</Pane>
======================================
Contents of DeployWiz_SanitizeDrive.xml
======================================
<Wizard>
<Global>
</Global>
<Pane id="SanitizeHardDrive" title="Sanitize Hard Drive">
<Body><![CDATA[
<H1>Do you want to sanitize the Hard Drive?</H1>
<table>
<tr>
<td>
<input type=radio name="DoSanitize" id="CaptureRadio1" Value="YES">
</td>
<td>
<Label class="Larger" for=CaptureRadio1 language=vbscript >Sanitize the Hard Drive.</Label>
</td>
</tr>
<tr>
<td>
<input type=radio name="DoSanitize" id="CaptureRadio2" Value="NO" checked>
</td>
<td>
<Label class="Larger" for=CaptureRadio1 language=vbscript >Do not sanitize the Hard Drive.</Label>
</td>
</tr>
</table>]]></Body>
<Condition><![CDATA[UCASE(Property("SkipSanitize"))<>"YES" or UCase(Property("DeploymentType"))<>"CAPTURE"]]></Condition>
</Pane>
</Wizard>
======================================
The only end user facing media will have the Sanitize Drive option available so it is not show stopper, but more of an OCD thing for me.Thanks for your response and I see that now. I did a bit of a workaround for this and moved all applications to a temp folder in Deployment Workbench, then moved them back out in the proper order. That appeared to fix the order problem.
Yet, my original problem still stands - The applications that I have added within the last 24 hours are not showing up in Deployment Wizard. I have even tried deleting them and recreating them but it would appear that any new applications are not being
added. I do see them within the Applications.xml AND the ApplicationGroups.xml. I have created them in a normal method as I have done many times before and there is not really anything unique about the apps (the are apps with source files).
How can this be? -
Connectoriviews to get information from db system using connector framework
Hi,
How to Develop Connector iviews to get information from DB system by using Connection Framework API?
please give one example to dev connector iviews to get info from db system uisng connector frame work api.
if any body know please help
Thanks,
SidHi,
For any external database like oracle or sql, you can use JDBC Connector iView.
[Creating iViews for Databases (JDBC)|http://help.sap.com/saphelp_nw04/helpdata/en/f5/eb516b0e6a11d7b84900047582c9f7/frameset.htm]
If you want to use SAP DB, then you can go for SAP connector iView
[Creating iViews over Enterprise Applications and Databases|http://help.sap.com/saphelp_nw04/helpdata/en/f5/eb51610e6a11d7b84900047582c9f7/frameset.htm]
For other iViews based on SAP systems.
[Running the System Landscape Wizard|http://help.sap.com/saphelp_nw04/helpdata/en/1f/bddf3d48b05d5ae10000000a11405a/frameset.htm]
Check this thread for an example.
Creating JDBC System in SAP EP For SQL Server 2005
Regards,
Harini S -
Any one knows how to use Axis Framework in the SOAP Adapter Modules
How to use Axis Framework in the SOAP Adapter?
How to add custom handler modules?
http://help.sap.com/saphelp_nw04/helpdata/en/45/a4f8bbdfdc0d36e10000000a114a6b/frameset.htm
I went through the above link on help.sap.com. But still could not create a working example.
I have created a wc on some 3ed party app server using apaches axis. I am trying to call that web service from XI using SOAP receiver? I need to add some security related headers to the soap message, SO I am trying to use a handler. I want to know how to configure this handler in SOAP axis adapter module.
Thank you
MoniRavi ,
I am trying exactly the same. Hers is the scenario.
ABAP Proxy --> PI (7.0) SP 12 ---> WebService.
Since This is service is secured, means it is using OASIS web servie securyty user name token,
I am trying to use AXIS adapter. and I want to configure HandlerBean in which I want to use apache wss4j api to add the userNameToken. I am looking for some documentation on this.
I need to add SOAP action element too as I can not configure this one on the communication channel.
Thanks for any inputs in this regard.
Moni -
ISetup new custom interface using BC4J/java class
Hi,
I am able to create new custom interface using the link :- How to setup an user to be Oracle iSetup Super user ? but I have not seen anything for BC4J filter set, as per oracle iSetup developer guide clearly explains step by step process how to create custom BC4J interface type, but they have not mention how to add filters, as per oracle developer guide we have to use 'iSetup Framework' for BC4J, if we select type as 'iSetup Framework' then we don't have option to add filter parameters.
Any idea how to see existing iSetup interface repository values, Search shows the result, but we can't go in details? any idea to see this?
Oracle have good interface repository but most of them does not have option to filter, and update so I want to customize them by adding new interfaces with filterable and update option
Regards
AnilFirst, be sure your properties file is in the root of the classpath.
The Messages.properties or Messages_en.properties should be in the WEB-INF/classes/ directory of the war or as a root file of a jar included in the classpath (WEB-INF/lib).
If it doesn't work, try adding a "/" before the file name. The classloader will try to find it as a root file of the classpath.
For example:
ResourceBundle messages = ResourceBundle.getBundle("/Messages", locale);
If you are using sun appserver, the classloader hierarchy is configured by default from inside the war to outside, so it will search first in the WEB-INF/classes/Messages_en.properties and then it will search the file inside each jar file in WEB-INF/lib.
If you want more information, check the classloader hierarchy of the appserver you are using.
Hope it helps. -
How to add link in subtabLayout using OA Framework page personlization
Hi,
how to add new link in subTabLayout using OA Framework page personalization.Hi Sumit,
I am also working similar kind of requirement. In my case I tried to add new tab subtab using personalization , how ever the add new item button is not enable.
So I created new stacklayout and tried to add this to new tab in the existing subtablayout by using co process form request code:
public void processRequest(OAPageContext oapagecontext, OAWebBean oawebbean)
super.processRequest(oapagecontext, oawebbean);
OracleCallableStatement oraclecallablestatement = null;
OracleConnection oracleconnection = (OracleConnection)oapagecontext.getApplicationModule(oawebbean).getOADBTransaction().getJdbcConnection();
try{
oracleconnection.setAutoCommit(true);
oraclecallablestatement = (OracleCallableStatement)oracleconnection.prepareCall("begin GLO_TMPVIJ_PRCV(:1); end;");
oraclecallablestatement.setString(1,"In the custom co process request");
oraclecallablestatement.execute();
}catch(SQLException sqlexception)
throw OAException.wrapperException(sqlexception);
OASubTabLayoutBean subTabLayout =
(OASubTabLayoutBean)oawebbean.findChildRecursive("ApplicationDetsTabLayout");
OASubTabBarBean subtabbar = (OASubTabBarBean)oawebbean.findIndexedChildRecursive("subTabBar");
OALinkBean link = (OALinkBean)oapagecontext.getWebBeanFactory().createWebBean(oapagecontext,
OAWebBeanConstants.LINK_BEAN, null,
"link");
OAStackLayoutBean commentsRN =
(OAStackLayoutBean)oapagecontext.getWebBeanFactory().createWebBean(oapagecontext,
"/xxhr/oracle/apps/irc/candidateManagement/webui/CommentsRn",
"CommentsRn", // always specify name
true); // region created in Oracle9i JDeveloper OA Extension
subTabLayout.addIndexedChild(commentsRN);
subTabLayout.addIndexedChild(link);
in this I am not ale to add the new tab.
Regards,
Vijay Reddy. -
How to achieve modularize in flex using cairngorm framework?
Hi,
I have seen many articles on flex and cairngorm but haven't found enough information on how to achieve modularization in flex using cairngorm framework.
Please let me know any information regarding this.
Thanks in advance.
VishnuHi Sumit,
I am also working similar kind of requirement. In my case I tried to add new tab subtab using personalization , how ever the add new item button is not enable.
So I created new stacklayout and tried to add this to new tab in the existing subtablayout by using co process form request code:
public void processRequest(OAPageContext oapagecontext, OAWebBean oawebbean)
super.processRequest(oapagecontext, oawebbean);
OracleCallableStatement oraclecallablestatement = null;
OracleConnection oracleconnection = (OracleConnection)oapagecontext.getApplicationModule(oawebbean).getOADBTransaction().getJdbcConnection();
try{
oracleconnection.setAutoCommit(true);
oraclecallablestatement = (OracleCallableStatement)oracleconnection.prepareCall("begin GLO_TMPVIJ_PRCV(:1); end;");
oraclecallablestatement.setString(1,"In the custom co process request");
oraclecallablestatement.execute();
}catch(SQLException sqlexception)
throw OAException.wrapperException(sqlexception);
OASubTabLayoutBean subTabLayout =
(OASubTabLayoutBean)oawebbean.findChildRecursive("ApplicationDetsTabLayout");
OASubTabBarBean subtabbar = (OASubTabBarBean)oawebbean.findIndexedChildRecursive("subTabBar");
OALinkBean link = (OALinkBean)oapagecontext.getWebBeanFactory().createWebBean(oapagecontext,
OAWebBeanConstants.LINK_BEAN, null,
"link");
OAStackLayoutBean commentsRN =
(OAStackLayoutBean)oapagecontext.getWebBeanFactory().createWebBean(oapagecontext,
"/xxhr/oracle/apps/irc/candidateManagement/webui/CommentsRn",
"CommentsRn", // always specify name
true); // region created in Oracle9i JDeveloper OA Extension
subTabLayout.addIndexedChild(commentsRN);
subTabLayout.addIndexedChild(link);
in this I am not ale to add the new tab.
Regards,
Vijay Reddy. -
How to deploy a custom page using OAF
Hi,
I need to deploy a custom page using OAF
can anyone suggest me
Thanks in AdvanceHi,
you could try posting on the OA Framework forums:
OA Framework
Deployment is covered in the Oracle Application Framework Developer’s Guide Release 11.5.10 RUP4 which can be found on Metalink. See note 269138.1 which is the full PDF
Brenden
Maybe you are looking for
-
I've been having this problem for a while but until I subscibed to iTunes Match it didn't really matter so I let it slide. Now it's an issue; I have two Apple IDs as I've been a customer for a while; the @me.com account issued as I was a Mobileme use
-
Exception IndexOutOfBoundsException using Vector. Christmas homework!
Hi everyone, I'm not a java expert (almost a newbie, I would say) and this is the first time I post anything in a Forum. I have the following piece of code: public class Test extends javax.swing.JFrame { private java.util.Vector list; public Test() {
-
We have a user that is being removed from IT (more like being forcefully demoted) and our owner still finds him valuable in other departments. My challenge is to find all servers that he may be using his account locally on (as a service or added to a
-
URGENT ! Is it possible to create a xml data control description file
We are encountering serious problem when generating data control against java bean build from java classes generated with xml top link mapping. As workaround we have created a new xml schema that generate the java classes in a way data control may be
-
Hi, I've just created in BO Designer 6.5 a derived table for the calculation of an aggregate function. The table is structured in the following way (for example): SELECT SUM(ColumnCount) AS Sum_Distinct_NDG FROM (SELECT COUNT(DISTINCT cod_sample) AS