Error while creating authorisation policy using OIM 11g API
Hi,
We have a requirement to create ‘Authorization Policies’ (assign Data Constraints, Permissions & Assignments) using OIM 11g API’s. I am using ‘oracle.iam.authzpolicydefn.api.PolicyDefinitionService & oracle.iam.authzpolicydefn.vo.AuthzPolicy’. But when I am trying to attach Entity/Feature (User Management) to authorisation policy, it is throwing exception. Below is the code snippet which I am trying to implement.
Line1: PolicyDefinitionService policyService = oimClient.getService(PolicyDefinitionService.class);
Line2: AuthzPolicy authPolicy = new AuthzPolicy();
Line3: authPolicy.setName("Test Authz Policy");
Line4: authPolicy.setDisplayName("Test Authz Policy Dsp Name");
Line5: authPolicy.setDescription("Test Authz Policy Description");
Line6: Feature feature = oimClient.getService(Feature.class);
Line7: Action featureAction = feature.getAction(FeatureManagerConstants.Features.USER_MGMT.getId());
Line8: List<Action> actions = new ArrayList<Action>();
Line9: actions.add(featureAction);
Line10: authPolicy.setActions(actions);
Line11: policyService.createPolicy(authPolicy);
Exception: oracle.iam.platform.utils.NoSuchServiceException: java.lang.ClassNotFoundException: oracle.iam.authzpolicydefn.api.FeatureDelegate
The above exception is throwing at Line6.
Let me know if anyone implemented.
- Kalyan Mutya
If you are using JDeveloper , can you able to get class after giving "." .If yes no than it is the problem with the jar file you are using .Check whether you can able to import oracle.iam.authzpolicydefn.api.Feature.
Thanks ,
Animesh anand
Similar Messages
-
How to create Authorization policy using OIM 11g API
Hi,
Could you please let me know how to create Authorization policy using OIM 11g API.
ThanksConstructing A Policy Programmatically
http://docs.oracle.com/cd/E27559_01/dev.1112/e27154/cons_policy_prog.htm#CHDHACBF
api ref for PolicyStore
http://docs.oracle.com/cd/E21764_01/apirefs.1111/e22649/oracle/security/jps/service/policystore/PolicyStore.html#createApplicationPolicy_java_lang_String_
something like below code to start with
try {
JpsContextFactory ctxFact;
ctxFact = JpsContextFactory.getContextFactory();
JpsContext ctx;
ctx = ctxFact.getContext();
PolicyStore ps = ctx.getServiceInstance(PolicyStore.class);
if (ps == null) {
// if no policy store instance configured in jps-config.xml
System.out.println("no policy store instance configured");
return;
ApplicationPolicy ap = ps.createApplicationPolicy("Trading", "Trading
Application","Trading Application.");
} catch (JpsException e) {
} -
Creating access policy using OIM 11g APIs
Is there a way to create an access policy using API? I see that there is AccessPolicyService but it only supports evalutePoliciesForUser. I need a way to add and modify policies.
I'm using OIM 11.1.1.5
Edited by: DJ on May 21, 2012 11:53 AMFYI, I hope the following links might be helpful, if you did not come across them before:
OIM API for Create Access Policy:
http://otndnld.oracle.co.jp/document/products/id_mgmt/idm_904/doc_cd/javadocs/operations/Thor/API/Operations/tcAccessPolicyOperationsIntf.html
Example Code for OIM API Creation of Access Policy
http://learnidm.blogspot.co.uk/2011_08_01_archive.html
Thanks,
Krish. -
Error in creating approval policy in OIM 11g
hi...
i am trying to create approval policy in OIM 11g. But after giving the details for first step, it gives the following error-
"Approval policy validation failed with oracle.iam.request.exception. ApprovalPolicyServiceException:An error occured while searching request model <policy name>"
Please let me know the coz of this error and the way to resolve it.If you are using JDeveloper , can you able to get class after giving "." .If yes no than it is the problem with the jar file you are using .Check whether you can able to import oracle.iam.authzpolicydefn.api.Feature.
Thanks ,
Animesh anand -
Error while creating resource group using non-globalzones.
Dear all,
Hi techs please guide me how to create failover resource group in nongloablzones.
I'm getting error while creating resource group using non-globalzones.
My setup:
I have two node cluster running sun cluster 3.2 configured and running properly.
node1: sun5
nide2: sun8
I have create non-globalzone "zone1" in node:sun5
I have create non-globalzone "zone2" in node:sun8
node:sun5# clrg create -n sun5:zone1,sun8:zone2 zonerg
*(C160082) WARNING: one or more zones in the node list have never been fully booted in the cluster mode,verify that correct zone name was entered.*
kindly guide me how to create Apache resource group using non-glabalzones, i'm new to sun cluster 3.2. please guide me step by step information.
Thanks in advance,
veera
Edited by: veeraa on Dec 19, 2008 1:54 AMHi Veera,
Actually you are getting a warning message where one of two things could have happened. Either you specified an incorrect zone name or one of the zones has not been fully booted. It's likely that you haven't booted the zones, so please follow this:
zoneadm list -iv
If zone1 or zone2 are not running then boot and configure them
zoneadm -z <zone> boot
zlogin -C <zone>
After that you can continue to follow the step by step instructions at
http://docs.sun.com/app/docs/doc/819-2975/chddadaa?a=view
These may also help
http://blogs.sun.com/Jacky/entry/a_simple_expample_about_how
http://blogs.sun.com/SC/en_US/entry/sun_cluster_and_solaris_zones
Regards
Neil -
Getting error while provisioning user to AD - OIM 11g R2
Hi,
I have installed the AD connector and I am able to do the user and group reconciliation between AD and OIM 11g R2.
But when I am trying to provision the user to AD, I am getting the below error :
oracle.iam.connectors.icfcommon.prov.ICProvisioningManager : createObject : Error while creating user[[
java.lang.NumberFormatException: null
at java.lang.Long.parseLong(Long.java:375)
at java.lang.Long.parseLong(Long.java:468)
at oracle.iam.connectors.icfcommon.prov.ICProvisioningManager.init(ICProvisioningManager.java:104)
at oracle.iam.connectors.icfcommon.prov.ICProvisioningManager.init(ICProvisioningManager.java:123)
at oracle.iam.connectors.icfcommon.prov.ICProvisioningManager.createObject(ICProvisioningManager.java:267)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.thortech.xl.adapterGlue.ScheduleItemEvents.adpADIDCCREATEOBJECT.CREATEOBJECT(adpADIDCCREATEOBJECT.java:109)
at com.thortech.xl.adapterGlue.ScheduleItemEvents.adpADIDCCREATEOBJECT.implementation(adpADIDCCREATEOBJECT.java:54)
at com.thortech.xl.client.events.tcBaseEvent.run(tcBaseEvent.java:196)
at com.thortech.xl.dataobj.tcDataObj.runEvent(tcDataObj.java:2492)
at com.thortech.xl.dataobj.tcScheduleItem.runMilestoneEvent(tcScheduleItem.java:3148)
at com.thortech.xl.dataobj.tcScheduleItem.eventPostInsert(tcScheduleItem.java:716)
at com.thortech.xl.dataobj.tcDataObj.insert(tcDataObj.java:602)
at com.thortech.xl.dataobj.tcDataObj.save(tcDataObj.java:474)
at com.thortech.xl.dataobj.tcORC.insertNonConditionalMilestones(tcORC.java:847)
at com.thortech.xl.dataobj.tcORC.completeSystemValidationMilestone(tcORC.java:1162)
at com.thortech.xl.dataobj.tcOrderItemInfo.completeCarrierBaseMilestone(tcOrderItemInfo.java:757)
at com.thortech.xl.dataobj.tcOrderItemInfo.eventPostInsert(tcOrderItemInfo.java:173)
at com.thortech.xl.dataobj.tcUDProcess.eventPostInsert(tcUDProcess.java:235)
at com.thortech.xl.dataobj.tcDataObj.insert(tcDataObj.java:602)
at com.thortech.xl.dataobj.tcDataObj.save(tcDataObj.java:474)
at com.thortech.xl.dataobj.tcTableDataObj.save(tcTableDataObj.java:2910)
at com.thortech.xl.dataobj.tcORC.autoDOBSave(tcORC.java:3008)
at com.thortech.xl.dataobj.util.tcOrderPackages.createOrder(tcOrderPackages.java:471)
at com.thortech.xl.dataobj.util.tcOrderPackages.orderPackageForUser(tcOrderPackages.java:180)
at com.thortech.xl.dataobj.tcOIU.provision(tcOIU.java:639)
at com.thortech.xl.dataobj.tcOIU.eventPostInsert(tcOIU.java:357)
at com.thortech.xl.dataobj.tcDataObj.insert(tcDataObj.java:602)
at com.thortech.xl.dataobj.tcDataObj.save(tcDataObj.java:474)
at com.thortech.xl.dataobj.tcTableDataObj.save(tcTableDataObj.java:2910)
at com.thortech.xl.dataobj.tcUserProvisionObject.insertImplementation(tcUserProvisionObject.java:288)
at com.thortech.xl.dataobj.tcDataObj.insert(tcDataObj.java:591)
at com.thortech.xl.dataobj.tcDataObj.save(tcDataObj.java:474)
at oracle.iam.provisioning.spi.DOBProvisioningUtil.provisionObject(DOBProvisioningUtil.java:128)
at oracle.iam.provisioning.spi.DOBProvisioningMechanism.provision(DOBProvisioningMechanism.java:341)
at oracle.iam.provisioning.impl.ProvisioningServiceImpl$4.process(ProvisioningServiceImpl.java:483)
at oracle.iam.provisioning.impl.ProvisioningServiceImpl$4.process(ProvisioningServiceImpl.java:471)
at oracle.iam.platform.tx.OIMTransactionCallback.doInTransaction(OIMTransactionCallback.java:13)
at oracle.iam.platform.tx.OIMTransactionCallback.doInTransaction(OIMTransactionCallback.java:6)
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
at oracle.iam.platform.tx.OIMTransactionManager.oimExecute(OIMTransactionManager.java:46)
at oracle.iam.provisioning.impl.ProvisioningServiceImpl.provision(ProvisioningServiceImpl.java:471)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at oracle.iam.platform.utils.DMSMethodInterceptor.invoke(DMSMethodInterceptor.java:25)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy380.provision(Unknown Source)
at oracle.iam.provisioning.api.ProvisioningServiceEJB.provisionx(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.oracle.pitchfork.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:34)
at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:54)
at com.oracle.pitchfork.spi.EnvironmentInterceptor.invoke(EnvironmentInterceptor.java:42)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy379.provisionx(Unknown Source)
at oracle.iam.provisioning.api.ProvisioningService_p7m7x_ProvisioningServiceRemoteImpl.__WL_invoke(Unknown Source)
Please help me in solving this issue.
Thanks.
Edited by: user9212679 on May 9, 2013 4:17 AMHi Kevin,
Thanks for the reply. As suggested by you I have assigned the default value as 0 for all the checkbox type in form designer for AD User form but still I am getting the same error while provisioning the AD resource.
Please help. -
Gating error while creating standby database in oracle 11g
Dear Gurus
I am getting following error while creating standby database. My database version is oracle 11g 11.2.0.1 in Redhat 5.2
RMAN> duplicate target database for standby from active database;
Starting Duplicate Db at 10-MAY-12
using channel ORA_AUX_DISK_1
contents of Memory Script:
backup as copy reuse
targetfile '/oracle/product/11.2.0/dbhome_1/dbs/orapworcl' auxiliary format
'/oracle/product/11.2.0/dbhome_1/dbs/orapwstdb' ;
executing Memory Script
Starting backup at 10-MAY-12
using channel ORA_DISK_1
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 05/10/2012 15:44:18
RMAN-03015: error occurred in stored script Memory Script
RMAN-03009: failure of backup command on ORA_DISK_1 channel at 05/10/2012 15:44:18
ORA-17629: Cannot connect to the remote database server
ORA-17627: ORA-12528: TNS:listener: all appropriate instances are blocking new connections
ORA-17629: Cannot connect to the remote database server
RMAN>
Regards
RabiHello;
Generally for the connection to work you need to add something like this to the listener.ora file :
(SID_DESC =
(global_dbname = STANDBY.hostname)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0.2)
(sid_name = STANDBY)
)You should stop and start the listener on the Standby after adding this. Also your tnsnames.ora must be correct on both the primary and the Standby.
Also you need an INIT for the Standby side :
STANDBY.__db_cache_size=343932928
STANDBY.__java_pool_size=4194304
STANDBY.__large_pool_size=4194304
STANDBY.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
STANDBY.__pga_aggregate_target=281018368
STANDBY.__sga_target=834666496
STANDBY.__shared_io_pool_size=0
STANDBY.__shared_pool_size=469762048
STANDBY.__streams_pool_size=0
audit_file_dest='/u01/app/oracle/admin/PRIMARY/adump'
audit_trail='db'
compatible='11.2.0.0.0'
control_files='/u01/app/oracle/oradata/PRIMARY/control01.ctl','/u01/app/oracle/oradata/PRIMARY/control02.ctl'
db_block_size=8192
db_domain='SOME.DOMAIN.COM'
db_flashback_retention_target=2880
db_name='PRIMARY'
db_recovery_file_dest_size=2147483648
db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'
diagnostic_dest='/u01/app/oracle'
dispatchers='(PROTOCOL=TCP) (SERVICE=PRIMARYXDB)'
log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_DEST'
open_cursors=300
pga_aggregate_target=277872640
processes=150
remote_login_passwordfile='EXCLUSIVE'
sga_target=833617920
undo_tablespace='UNDOTBS1'
log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=STANDBY'
log_archive_dest_2='SERVICE=PRIMARY LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) '
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=DEFER
LOG_ARCHIVE_MAX_PROCESSES=30
FAL_SERVER=STANDBY
STANDBY_FILE_MANAGEMENT=AUTO
DB_UNIQUE_NAME=STANDBYFinally
startup nomount
Start RMAN and issue duplicate command
$ORACLE_HOME/bin/rman target=sys/@primary auxiliary=sys/@standby
RMAN>duplicate target database for standby from active database NOFILENAMECHECK;
Keys to success
1. New Standby start NOMOUNT on new password file. ( On Oracle 11 you must copy and rename the file from Primary server )
2. Hard coded listener on new Standby server.
3. Correct tnsnames.ora files.
4. Correct duplicate command.
Please consider closing some of you old answered questions
Best Regards
mseberg
Edited by: mseberg on May 10, 2012 7:06 AM -
Error while creating new crosstab using
I am getting the following error while creating a new crosstab object within Swing application. This error has started coming after we applied Oracle patch 9206 on database. The error originates from one of the classes in the olap_api_92.jar.
==========================================================
Wed Feb 02 09:13:51 CST 2005 In BuilderWizardValidateAdapter::wizardValidatePage
oracle.express.idl.util.OlapiException: No more data to read from socket
at oracle.express.idl.ExpressOlapiDataSourceModule.DefinitionManagerInterfaceStub.crtCurMgrs2(DefinitionManagerInterfaceStub.java:927)
at oracle.express.olapi.data.full.DefinitionManagerSince9202.createOLAPICursorManagers(DefinitionManagerSince9202.java:611)
at oracle.express.olapi.data.full.ExpressDataProvider.createCursorManagers(ExpressDataProvider.java:1325)
=========================================================
Please check the BIcheckconfig output. It does not show any errors.
=========================================================
<?xml version="1.0" encoding="UTF-8" ?>
<BICheckConfig version="1.0.2.0">
<Check key="JDEV_ORACLE_HOME" value="C:\Mohan\Installs\Jdev904"/>
<Check key="JAVA_HOME" value="C:\Mohan\Installs\Jdev904\jdk"/>
<Check key="JDeveloper version" value="9.0.4.0.1419"/>
<Check key="BI Beans release description" value="BI Beans 9.0.4 Production Release"/>
<Check key="BI Beans component number" value="9.0.4.23.0"/>
<Check key="BI Beans internal version" value="2.7.5.32"/>
<Check key="host" value="db03schgefage"/>
<Check key="port" value="1521"/>
<Check key="sid" value="biolapp"/>
<Check key="user" value="nairs5"/>
<Check key="Connecting to the database" value="Successful"/>
<Check key="JDBC driver version" value="9.2.0.4.0"/>
<Check key="JDBC JAR file location" value="C:\Mohan\Installs\Jdev904\jdev\lib\patches"/>
<Check key="Database version" value="9.2.0.6.0"/>
<Check key="OLAP Catalog version" value="9.2.0.6.0"/>
<Check key="OLAP AW Engine version" value="9.2.0.6.0"/>
<Check key="OLAP API Server version" value="9.2.0.6.0"/>
<Check key="BI Beans Catalog version" value="N/A; not installed in nairs5"/>
<Check key="OLAP API JAR file version" value="9.2"/>
<Check key="OLAP API JAR file location" value="C:\Mohan\Installs\Jdev904\jdev\lib\ext"/>
<Check key="OLAP API Metadata Load" value="Successful"/>
<Check key="Number of metadata folders" value="3"/>
<Check key="Number of metadata measures" value="569"/>
<Check key="Number of metadata dimensions" value="5"/>
<Check key="OLAP API Metadata">
<![CDATA[==============================================================================
Type Name (S=Schema, C=Cube, M=Measure, D=Dimension)
========= ====================================================================
Folder... ROOT
Folder... Auto Claim Measures
Folder... Service Measures
Folder... Claim Counts
Folder... Cell Summary Cube
Folder... Actual Measures
Measure.. Actual Acceptance Rate
Measure.. Actual Annualized Bill amt
Measure.. Actual Application Count
Measure.. Actual Avg Annual Billing
Measure.. Actual Contacts Count
Measure.. Actual Commission Amt
at oracle.express.olapi.data.full.ExpressDataProvider.internalCreateCursorManager(ExpressDataProvider.java:680)
at oracle.express.olapi.data.full.ExpressDataProvider.createCursorManager(ExpressDataProvider.java:586)
at oracle.olapi.data.source.DataProvider.createCursorManager(DataProvider.java:268)
at oracle.dss.dataSource.QueryUtilities.setUpCursors(QueryUtilities.java:559)
at oracle.dss.dataSource.QueryServer._setUpCursorsForMainQuery(QueryServer.java:7039)
at oracle.dss.dataSource.QueryServer._getCursorForCube(QueryServer.java:4098)
at oracle.dss.dataSource.QueryServer._updateCube(QueryServer.java:4055)
at oracle.dss.dataSource.QueryServer._applySelections(QueryServer.java:2661)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at oracle.dss.util.Operation.execute(Operation.java:69)
at oracle.dss.dataSource.OperationQueue.update(OperationQueue.java:68)
at oracle.dss.dataSource.common.BaseOperationQueue.addOperation(BaseOperationQueue.java:176)
at oracle.dss.dataSource.common.BaseOperationQueue.addOperation(BaseOperationQueue.java:146)
at oracle.dss.dataSource.QueryServer.queueOperation(QueryServer.java:7076)
at oracle.dss.dataSource.QueryServer.applySelection(QueryServer.java:2192)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at oracle.dss.util.Operation.execute(Operation.java:69)
at oracle.dss.dataSource.QueryManagerServer.sendQueue(QueryManagerServer.java:1549)
at oracle.dss.dataSource.common.OperationQueue.update(OperationQueue.java:198)
at oracle.dss.dataSource.common.BaseOperationQueue.addOperation(BaseOperationQueue.java:176)
at oracle.dss.dataSource.common.BaseOperationQueue.addOperation(BaseOperationQueue.java:146)
at oracle.dss.dataSource.common.OperationQueue.addOperation(OperationQueue.java:127)
at oracle.dss.dataSource.client.QueryClient.applySelection(QueryClient.java:970)
at oracle.dss.dataSource.common.QueryQueryAccess$SelCursor.getDataAccess(QueryQueryAccess.java:1133)
at oracle.dss.dataSource.common.QueryQueryAccess.getDataAccess(QueryQueryAccess.java:278)
at oracle.dss.datautil.QueryAccessUtilities._getValues(QueryAccessUtilities.java:639)
at oracle.dss.datautil.QueryAccessUtilities._getValues(QueryAccessUtilities.java:705)
at oracle.dss.datautil.QueryAccessUtilities.getValues(QueryAccessUtilities.java:608)
at oracle.dss.queryBuilder.QueryBuilderUtils.getSelectedMeasures(QueryBuilderUtils.java:623)
at oracle.dss.queryBuilder.SelectedItemsPanel.populateTree(SelectedItemsPanel.java:298)
at oracle.dss.queryBuilder.SelectedItemsPanel.refreshTree(SelectedItemsPanel.java:333)
at oracle.dss.queryBuilder.SelectedItemsPanel.setActive(SelectedItemsPanel.java:366)
at oracle.dss.queryBuilder.ItemsPanel.setActive(ItemsPanel.java:251)
at oracle.dss.datautil.gui.DefaultBuilderDialog.setActive(DefaultBuilderDialog.java:1072)
at oracle.dss.datautil.gui.DefaultBuilderDialog.validateNextPreviousEvent(DefaultBuilderDialog.java:1396)
at oracle.dss.datautil.gui.DefaultBuilderDialog$BuilderWizardValidateAdapter.wizardValidatePage(DefaultBuilderDialog.java:2113)
at oracle.bali.ewt.wizard.WizardPage.processWizardValidateEvent(Unknown Source)
at oracle.bali.ewt.wizard.WizardPage.validatePage(Unknown Source)
at oracle.dss.datautil.gui.CustomImageWizardPage.validatePage(CustomImageWizardPage.java:81)
at oracle.bali.ewt.wizard.BaseWizard.validateSelectedPage(Unknown Source)
at oracle.bali.ewt.wizard.BaseWizard.doNext(Unknown Source)
at oracle.dss.datautil.gui.CustomWizard.doNext(CustomWizard.java:415)
at oracle.bali.ewt.wizard.BaseWizard$Action.actionPerformed(Unknown Source)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786)
at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1839)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:245)
at java.awt.Component.processMouseEvent(Component.java:5100)
at java.awt.Component.processEvent(Component.java:4897)
at java.awt.Container.processEvent(Container.java:1569)
at java.awt.Component.dispatchEventImpl(Component.java:3615)
at java.awt.Container.dispatchEventImpl(Container.java:1627)
at java.awt.Component.dispatchEvent(Component.java:3477)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)
at java.awt.Container.dispatchEventImpl(Container.java:1613)
at java.awt.Window.dispatchEventImpl(Window.java:1606)
at java.awt.Component.dispatchEvent(Component.java:3477)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:141)
at java.awt.Dialog$1.run(Dialog.java:540)
at java.awt.Dialog.show(Dialog.java:561)
at java.awt.Component.show(Component.java:1133)
at java.awt.Component.setVisible(Component.java:1088)
at oracle.bali.ewt.wizard.WizardDialog.runDialog(Unknown Source)
at oracle.dss.datautil.gui.DefaultBuilderDialog.runDialog(DefaultBuilderDialog.java:489)
at oracle.dss.datautil.gui.DefaultBuilderDialog.run(DefaultBuilderDialog.java:466)
at oracle.dss.queryBuilder.QueryBuilder.run(QueryBuilder.java:2401)
at gecf.pmg.PmgBiOlapApp.newCrosstabWiz(PmgBiOlapApp.java:1622)
at gecf.pmg.PmgBiOlapApp.mNewCrosstab_ActionPerformed(PmgBiOlapApp.java:1563)
at gecf.pmg.PmgBiOlapApp$5.actionPerformed(PmgBiOlapApp.java:696)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786)
at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1839)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:245)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:231)
at java.awt.Component.processMouseEvent(Component.java:5100)
at java.awt.Component.processEvent(Component.java:4897)
at java.awt.Container.processEvent(Container.java:1569)
at java.awt.Component.dispatchEventImpl(Component.java:3615)
at java.awt.Container.dispatchEventImpl(Container.java:1627)
at java.awt.Component.dispatchEvent(Component.java:3477)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)
at java.awt.Container.dispatchEventImpl(Container.java:1613)
at java.awt.Window.dispatchEventImpl(Window.java:1606)
at java.awt.Component.dispatchEvent(Component.java:3477)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)I suspect that you have either not fully applied the patch or alternatively the patching process did not complete.
If you are using an analytic workspace, connect as OLAPSYS account and run the following commands:
exec CWM2_OLAP_METADATA_REFRESH.MR_REFRESH
exec CWM2_OLAP_METADATA_REFRESH.MR_AC_REFRESH
If this does not resolve the error, and assuming your system worked prior to applying the 9206 patch, then the patch may need to be reapplied.
Hope this helps
Business Intelligence Beans Product Management Team
Oracle Corporation -
Error while creating new projects using api
Hello,
I am having error while creating projects using standard api, PA_PROJECT_PUB.CREATE_PROJECTS. The error I am having is as follow.
Source template ID is invalid.
===
My code is as follow:
SET SERVEROUTPUT ON SIZE 1000000
SET VERIFY OFF
define no=&amg_number
DECLARE
-- Variables used to initialize the session
l_user_id NUMBER;
l_responsibility_id NUMBER;
cursor get_key_members is
select person_id, project_role_type, rownum
from pa_project_players
where project_id = 1;
-- Counter variables
a NUMBER := 0;
m NUMBER := 0;
-- Variables needed for API standard parameters
l_commit VARCHAR2(1) := 'F';
l_init_msg_list VARCHAR2(1) := 'T';
l_api_version_number NUMBER :=1.0;
l_return_status VARCHAR2(1);
l_msg_count NUMBER;
l_msg_data VARCHAR2(2000);
-- Variables used specifically in error message retrieval
l_encoded VARCHAR2(1) := 'F';
l_data VARCHAR2(2000);
l_msg_index NUMBER;
l_msg_index_out NUMBER;
-- Variables needed for Oracle Project specific parameters
-- Input variables
l_pm_product_code VARCHAR2(30);
l_project_in pa_project_pub.project_in_rec_type;
l_key_members pa_project_pub.project_role_tbl_type;
l_class_categories pa_project_pub.class_category_tbl_type;
l_tasks_in pa_project_pub.task_in_tbl_type;
-- Record variables for loading table variables above
l_key_member_rec pa_project_pub.project_role_rec_type;
l_class_category_rec pa_project_pub.class_category_rec_type;
l_task_rec pa_project_pub.task_in_rec_type;
-- Output variables
l_workflow_started VARCHAR2(100);
l_project_out pa_project_pub.project_out_rec_type;
l_tasks_out pa_project_pub.task_out_tbl_type;
-- Exception to call messag handlers if API returns an error.
API_ERROR EXCEPTION;
BEGIN
-- Initialize the session with my user id and Projects, Vision Serves (USA0
-- responsibility:
select user_id into l_user_id
from fnd_user
where user_name = 'SSHAH';
select responsibility_id into l_responsibility_id
from fnd_responsibility_tl
where responsibility_name = 'Projects Implementation Superuser';
pa_interface_utils_pub.set_global_info(
p_api_version_number => l_api_version_number,
p_responsibility_id => l_responsibility_id,
p_user_id => l_user_id,
p_msg_count => l_msg_count,
p_msg_data => l_msg_data,
p_return_status => l_return_status);
if l_return_status != 'S' then
raise API_ERROR;
end if;
-- Provide values for input variables
-- L_PM_PRODUCT_CODE: These are stored in pa_lookups and can be defined
-- by the user. In this case we select a pre-defined one.
select lookup_code into l_pm_product_code
from pa_lookups
where lookup_type = 'PM_PRODUCT_CODE'
and meaning = 'Conversion';
-- L_PROJECT_IN: We have to provide values for all required elements
-- of this record (see p 5-13, 5-14 for the definition of the record).
-- Customers will normally select this information from some external
-- source
l_project_in.pm_project_reference := 'AGL-AMG Project &no';
l_project_in.project_name := 'AGL-AMG Project &no';
l_project_in.created_from_project_id := 1;
l_project_in.carrying_out_organization_id := 2864; /*Cons. West*/
l_project_in.project_status_code := 'UNAPPROVED';
l_project_in.start_date := '01-JAN-11';
l_project_in.completion_date := '31-DEC-11';
l_project_in.description := 'Trying Hard';
l_project_in.project_relationship_code := 'Primary';
-- L_KEY_MEMBERS: To load the key member table we load individual
-- key member records and assign them to the key member table. In
-- the example below I am selecting all of the key member setup
-- from an existing project with 4 key members ('EE-Proj-01'):
for km in get_key_members loop
-- Get the next record and load into key members record:
l_key_member_rec.person_id := km.person_id;
l_key_member_rec.project_role_type := km.project_role_type;
-- Assign this record to the table (array)
l_key_members(km.rownum) := l_key_member_rec;
end loop;
-- L_CLASS_CATEGORIES: commented out below should fix the error we get
-- because the template does not have an assigment for the mandatory class
-- 'BAS Test'
l_class_category_rec.class_category := 'Product';
l_class_category_rec.class_code := 'Non-classified';
-- Assign the record to the table (array)
l_class_categories(1) := l_class_category_rec;
-- L_TASKS_IN: We will load in a single task and a subtask providing only
-- the basic fields (see pp. 5-16,5-17,5-18 for the definition of
-- the task record)
l_task_rec.pm_task_reference := '1';
l_task_rec.pa_task_number := '1';
l_task_rec.task_name := 'Construction';
l_task_rec.pm_parent_task_reference := '' ;
l_task_rec.task_description := 'Plant function';
-- Assign the top task to the table.
l_taskS_in(1) := l_task_rec;
-- Assign values for the sub task
l_task_rec.pm_task_reference := '1.1';
l_task_rec.pa_task_number := '1.1';
l_task_rec.task_name := 'Brick laying';
l_task_rec.pm_parent_task_reference := '1' ;
l_task_rec.task_description := 'Plant building';
-- Assign the subtask to the task table.
l_tasks_in(2) := l_task_rec;
-- All inputs are assigned, so call the API:
pa_project_pub.create_project
(p_api_version_number => l_api_version_number,
p_commit => l_commit,
p_init_msg_list => l_init_msg_list,
p_msg_count => l_msg_count,
p_msg_data => l_msg_data,
p_return_status => l_return_status,
p_workflow_started => l_workflow_started,
p_pm_product_code => l_pm_product_code,
p_project_in => l_project_in,
p_project_out => l_project_out,
p_key_members => l_key_members,
p_class_categories => l_class_categories,
p_tasks_in => l_tasks_in,
p_tasks_out => l_tasks_out);
-- Check the return status, if it is not success, then raise message handling
-- exception.
IF l_return_status != 'S' THEN
dbms_output.put_line('Msg_count: '||to_char(l_msg_count));
dbms_output.put_line('Error: ret status: '||l_return_status);
RAISE API_ERROR;
END IF;
-- perform manual commit since p_commit was set to False.
COMMIT;
--HANDLE EXCEPTIONS
EXCEPTION
WHEN API_ERROR THEN
FOR i IN 1..l_msg_count LOOP
pa_interface_utils_pub.get_messages(
p_msg_count => l_msg_count,
p_encoded => l_encoded,
p_msg_index => i,
p_msg_data => l_msg_data,
p_data => l_data,
p_msg_index_out => l_msg_index_out);
dbms_output.put_line('ERROR: '||to_char(l_msg_index_out)||': '||l_data);
END LOOP;
rollback;
WHEN OTHERS THEN
dbms_output.put_line('Error: '||sqlerrm);
FOR i IN 1..l_msg_count LOOP
pa_interface_utils_pub.get_messages(
p_msg_count => l_msg_count,
p_encoded => l_encoded,
p_msg_index => i,
p_msg_data => l_msg_data,
p_data => l_data,
p_msg_index_out => l_msg_index_out);
dbms_output.put_line('ERROR: '||to_char(l_msg_index_out)||': '||l_data);
END LOOP;
rollback;
END;
===
Msg_count: 1
Error: ret status: E
ERROR: 1: Project: 'AGL-AMG Project 1123'
Source template ID is invalid.
PL/SQL procedure successfully completed.I was using a custom Application, which had a id other then 275 (which belongs to Oracle projects)
-
Error while creating a material using Bapi_material_savedata
Hi,
there is an error encountered while creating a material using BAPI_MATERIAL_SAVEDATA..
The Error description is " Material description is not transfered " even after supplying the Material description and other mandatory field information like industrial sector, material type ,basic view indicator,Base UOM,Base UOM ISO code.
Please let me know the solution, if you know.Hi,
Please search the SCN for the answers
https://www.sdn.sap.com/irj/scn/advancedsearch?query=errorinBAPI_MATERIAL_SAVEDATA+&cat=sdn_all -
Error while creating activity by using BAPI
Hi,
While creating activity by using BAPI Im getting error as follows,
Start processing of refference object handle generated.
Integrity rule a d0008 broken
business partner with function from vbkakom not vbpakom
Integrity rule a d0008 broken
edit all incomplete field .
Please help me for solving this issue.
Regards,
SureshNot received any proper reply Closing the issue.
-
Error while creating logical file using transaction FILE
Hello there,
I am facing an error while creating Logical File name definition using transaction FILE
This is the input which I'm trying to give
Logical file name: ZTEST
Name : ZTEST
Physical file : ZTEST_1<DATE><TIME>.csv
Data format: ASC
Application area: BW
Logical path:ZTEST_1_DATAOUT
when I tried to save it throws me an error like ASSIGN_SUBSTRING_NOT_ALLOWED
Please help.Hi,
Please check the OSS Notes :
Note 792061 - SP Case Locator: Dump: ASSIGN to a substring isn't allowed.
SAP Note 1297989 - Short dump ASSIGN_SUBSTRING_NOT_ALLOWED
Hope this solves the problem.
-Vikram -
Error while Creating a PO using BAPI_PO_CREATE1
Hi Friends,
The following issue that I have observed and as explained below is one of the weirdest scenarios that I have seen while working with SAP. Hence, kindly help me with possible errors from my end. I am working on ECC 6.0.
Requirement: To automatically create a PO.
Option used: I have used a BAPI: u2018BAPI_PO_CREATE1u2019
Scenario: When I execute the BAPI u2018BAPI_PO_CREATE1u2019 directly in sequence with u2018BAPI_TRANSACTION_COMMITu2019, the PO gets created successfully. The data entered as input is:
POHEADER-COMP_CODE
POHEADER-DOC_TYPE
POHEADER-PMNTTRMS
POITEM-PO_ITEM
POITEM-QUANTITY
POITEM-TAX_CODE
POITEM-TAXJURCODE
POITEM-RFQ_NO
POITEM-RFQ_ITEM
POITEM-PREQ_NO
POITEM-PREQ_ITEM
POITEM-PREQ_NAME
POSCHEDULE-PO_ITEM
POSCHEDULE-SCHED_LINE
POSCHEDULE-QUANTITY
POSCHEDULE-PREQ_NO
POSCHEDULE-PREQ_ITEM
Problem: I need to pass data to the BAPI through code, so I called the BAPI u2018BAPI_PO_CREATE1u2019 and u2018BAPI_TRANSACTION_COMMITu2019 in a test function module as well as report. I passed the same data as mentioned above i.e. while creating the PO by passing data to the BAPI directly.
But the BAPI returns an error BAPI header data still faulty, enter plant, Pur. Org., Pur. Grp., etc.
I tried by passing all the available data for the header and then for the items, but finally, I still get an error that the item is from a different order account and just cannot create a PO.
The Test FM code is as shown below:
DATA : PYMNT_TERMS TYPE YOAF_SEC_MASTER-TER_PYMNT.
DATA : ITEM_NO(4) .
DATA : CURRENCY TYPE LFM1-WAERS.
DATA : POHEAD TYPE BAPIMEPOHEADER.
DATA : POHEADX TYPE BAPIMEPOHEADERX.
DATA : EXP_HEAD TYPE BAPIMEPOHEADER.
DATA : POITEM TYPE TABLE OF BAPIMEPOITEM WITH HEADER LINE.
DATA : POITEMX TYPE TABLE OF BAPIMEPOITEMX WITH HEADER LINE.
DATA : POSCHED TYPE TABLE OF BAPIMEPOSCHEDULE WITH HEADER LINE.
DATA : POSCHEDX TYPE TABLE OF BAPIMEPOSCHEDULX WITH HEADER LINE.
DATA : EX_PO_NUMBER TYPE BAPIMEPOHEADER-PO_NUMBER.
CONSTANTS : C_X VALUE 'X'.
POHEAD-COMP_CODE = 'P110'.
POHEAD-DOC_TYPE = DOC_TYPE.
POHEAD-PMNTTRMS = 'P10'.
POHEADX-COMP_CODE = C_X.
POHEADX-DOC_TYPE = C_X.
POHEADX-PMNTTRMS = C_X.
POITEM-PO_ITEM = '00001'.
POITEM-QUANTITY = '1.000'.
POITEM-TAX_CODE = 'D2'.
POITEM-TAXJURCODE = 'MH01'.
POITEM-RFQ_NO = '2300009491'.
POITEM-RFQ_ITEM = '00001'.
POITEM-PREQ_NO = '200003583'.
POITEM-PREQ_ITEM = '00001'.
POITEM-PREQ_NAME = 'SACHIN'.
APPEND POITEM.
POITEMX-PO_ITEM = '00001'.
POITEMX-PO_ITEMX = C_X.
POITEMX-QUANTITY = C_X .
POITEMX-TAX_CODE = C_X .
POITEMX-TAXJURCODE = C_X .
POITEM-RFQ_NO = C_X.
POITEM-RFQ_ITEM = C_X.
POITEM-PREQ_NO = C_X.
POITEM-PREQ_ITEM = C_X.
POITEMX-PREQ_NAME = C_X.
APPEND POITEMX.
POSCHED-PO_ITEM = '00001'.
POSCHED-SCHED_LINE = '0001'.
POSCHED-QUANTITY = '1.000'.
POSCHED-PREQ_NO = '1200003583'.
POSCHED-PREQ_ITEM = '00001'.
APPEND POSCHED.
POSCHEDX-PO_ITEM = '1'.
POSCHEDX-SCHED_LINE = '0001'.
POSCHEDX-PO_ITEMX = C_X.
POSCHEDX-SCHED_LINEX = C_X.
POSCHEDX-QUANTITY = C_X.
POSCHEDX-PREQ_NO = C_X.
POSCHEDX-PREQ_ITEM = C_X.
APPEND POSCHEDX.
CALL FUNCTION 'BAPI_PO_CREATE1'
EXPORTING
POHEADER = POHEAD
POHEADERX = POHEADX
IMPORTING
EXPPURCHASEORDER = EX_PO_NUMBER
EXPHEADER = EXP_HEAD
EXPPOEXPIMPHEADER =
TABLES
RETURN = RETURN_ERROR
POITEM = POITEM
POITEMX = POITEMX
POADDRDELIVERY =
POSCHEDULE = POSCHED
POSCHEDULEX = POSCHEDX
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'
IMPORTING
RETURN = RETURN_ERROR.Hi,
As mentioned that this error was one of the wierdest SAP issues I have faced, it was due to the silliest copy paste errors on my behalf. I completely overlooked the POITEMX naming.
For 4 values of RFQ_NO, RFQ_ITEM, PREQ_NO, PREQ_ITEM, I didnt have the 'X' for POITEMX and kept on looking for errors for days.
BAPI_PO_CREATE1 works with min. possible inputs successfully.
Thanks to all! -
Error while creating a cube using Cube Builder
we have installed the Cube builder for SSM 7.0
while creating the cube I am facing a error and the .TRC file contents are as follows :-
LSS>
LSS> set control LINKID SSM_CB_EA
LSS>
LSS> .... capture cube id in a control var to simplify queries on other tables
LSS> access lslink
LSLink> connect SSM_CB_EA
LSLink>
LSLink> SELECT ID FROM CPMS_CB_CUBES WHERE NAME = 'CUBEBUILDER1'
[Microsoft][ODBC SQL Server Driver][SQL Server]Invalid object name 'CPMS_CB_CUBES'.
SQLSTATE: S0002
SQL System code: 208
LSLink> lss create code = 'set control CUBEID ' + ID
LSLink> output proc setcubeid;PIPADMINDEFAULT over
LSLink> peek create nohead nonumb
No Fields currently Selected
ACC004:
No Record Has Been Accessed From the Database.
ACC004:
No Record Has Been Accessed From the Database.
CHE FRE
CHE UPD
Kindly help me out........Hi Martin,
I believe that the issue you are encountering now is that you're using the wrong set of procedures for accessing MS SQL Server.
In section 5.4.1 (Setting up SAP NetWeaver System database software) in the Strategy Management configuration guide, there is a section which discusses steps that are required depending on whether or not you are using MaxDB or MS SQL Server as your system database behind NetWeaver CE. My guess is that you have not followed the steps described for SQL Server here. This is simple to do thoughm, because all you need to do is copy the files in the "<install-dir>\SAP\SSM\InternetPub\procs\sqlsrvr_procs" into the <install-dir>\SAP\SSM\InternetPub\procs" directory.
This is required because, when using Cube Builder or Entry and Appropval, the PAS component communicates directly with the system database in order to load data from there into PAS. Because MaxDB and SQL Server have different SQL syntax, specifically regarding field concatenation, slightly different SQL is required. So if you copy the SQL Server specific procedures across, you should be able to successfully build your model from Cube Builder.
Of course, having read through your question again I'm not 100% sure that this is what you are hitting. The problem you're seeing seems to be that, when we internally concatenate some selected fields together, we aren't finding a field called ID. However, the SQL select being issued doesn't seem to have returned any error messages, so I'm not sure why there is a problem referencing the field.
The only thing that comes to mind is a problem that I ran into at one point with the type of driver I was using to connect to SQL Server. The PAS component of Strategy Management, even though it runs on Windows 2003 Server 64bit, is still only a 32bit component. This means that, when configuring the System Data Sources within the ODBC applet in Control Panel, it is critical that the 32bit version of that ODBC applet be used - as documented in the note at the end of section 5.4.3 in the configuration guide. The reason this is important is because, if you use an OLEDB connection to SQL Server, for some reason the field names are not returned correctly. It is only when using the ODBC driver that the field names are returned correctly.
So please ensure that you are using the ODBC driver for your Link ID which connects to SQL Server, and not an OLEDB connection.
Hope this helps,
Robert
Edited by: Robert Holland on Dec 19, 2008 3:23 PM -
Error while creating Time Card Using API
Hello
I have a requirement to run OTL Interface once day to create/update Time Card in OTL for those datea created on sysdate-1 in Service Module (data will get feeded from Service Module). For example this interface will run on sysdate to create time cards for those data created in the service module on sysdate-1.
I have some sample data and code I am using but it is erroring out with different errors..Can anybody help me on this
My Interface should run as expected below and my time card range will be Monday 24-Dec-2012 to Sunday 30-Dec-2012
Interface Run Date Time Entry to process
25-Dec-2012 24-Dec-2012 Data
26-Dec-2012 25-Dec-2012 Data
CREATE OR REPLACE PROCEDURE main_process (o_errbuf OUT VARCHAR2,
o_ret_code OUT NUMBER,
l_chr_from_date IN VARCHAR2,
l_chr_to_date IN VARCHAR2)
IS
l_chr_skip VARCHAR2 (1);
l_chr_task_exists VARCHAR2 (100);
l_chr_error_msg VARCHAR2 (4000);
l_num_tbb_id NUMBER;
l_num_request_id NUMBER := fnd_global.conc_request_id;
l_num_login_id NUMBER := fnd_global.login_id;
l_num_user_id NUMBER := fnd_global.user_id;
l_num_resp_id NUMBER := fnd_Profile.VALUE ('resp_ID');
l_num_otl_appl_id CONSTANT NUMBER (3) := 809; -- This is the appl_id for OTL, do not change
l_chr_proj_attr1 CONSTANT VARCHAR2 (7) := 'Task_Id';
l_chr_proj_attr2 CONSTANT VARCHAR2 (10) := 'Project_Id';
l_chr_proj_attr3 CONSTANT VARCHAR2 (16) := 'Expenditure_Type';
l_chr_proj_attr4 CONSTANT VARCHAR2 (19) := 'Expenditure_Comment';
l_chr_proj_attr5 CONSTANT VARCHAR2 (23) := 'SYSTEM_LINKAGE_FUNCTION';
i_num_count NUMBER;
i_num_rows_inserted NUMBER := NULL;
l_chr_message fnd_new_messages.MESSAGE_TEXT%TYPE;
l_chr_hdr_eligible VARCHAR2 (5);
l_tbl_timecard_info hxc_self_service_time_deposit.timecard_info;
l_tbl_attributes_info hxc_self_service_time_deposit.app_attributes_info;
l_tbl_messages hxc_self_service_time_deposit.message_table;
l_new_timecard_id NUMBER;
l_new_timecard_ovn NUMBER;
l_num_time_building_block_id hxc_time_building_blocks.time_building_block_id%TYPE;
I NUMBER; --PENDING REMOVE
l_message VARCHAR2 (2000); --PENDING REMOVE
l_time_building_block_id NUMBER; --PENDING REMOVE
CURSOR process_line
IS
SELECT ROWID ROW_ID, a.*
FROM xxpowl.xxpowl_hxt_otl_intf a
WHERE 1 = 1 --a.request_id = l_num_request_id
AND a.status_flag = 'NEW' -- 'VALID'
AND a.error_desc IS NULL
AND a.service_activity_type IS NOT NULL;
BEGIN
FND_FILE.PUT_LINE (
fnd_file.LOG,
'Entered From Date:'
|| (TO_DATE ( (l_chr_from_date), 'YYYY/MM/DD HH24:MI:SS')));
FND_FILE.PUT_LINE (
fnd_file.LOG,
'Entered To Date:'
|| (TO_DATE ( (l_chr_to_date), 'YYYY/MM/DD HH24:MI:SS')));
FND_GLOBAL.APPS_INITIALIZE (user_id => l_num_user_id,
resp_id => l_num_resp_id,
resp_appl_id => l_num_otl_appl_id);
BEGIN
FND_FILE.PUT_LINE (
fnd_file.LOG,
'Inserting the data in the custom table XXPOWL_HXT_OTL_INTF');
INSERT INTO xxpowl.XXPOWL_HXT_OTL_INTF (SR_NUMBER,
PROJECT_TASK_OWNER,
PROJECT_TASK_OWNER_PERSON_ID,
PROJECT_ID,
PROJECT_TASK_ID,
ASSIGNEE,
ASSIGNEE_ID,
ASSIGNEE_PERSON_ID,
ASSIGNEE_SUPERVISOR_PERSON_ID,
TASK_NUMBER,
PARENT_TASK_NUMBER,
DEBRIEF_NUMBER,
DEBRIEF_HEADER_ID,
DEBRIEF_DATE,
TASK_ASSIGNMENT_ID,
DEBRIEF_OBJECT_VERSION_NUMBER,
DEBRIEF_PER_COMPLETE,
DEBRIEF_LINE_ID,
DEBRIEF_PROCESS,
SERVICE_ACTIVITY,
SERVICE_ACTIVITY_TYPE,
INVENTORY_ITEM_ID,
ITEM,
BUSINESS_PROCESS_ID,
DEBRIEF_TRANSACTION_TYPE_ID,
DEBRIEF_UOM_CODE,
DEBRIEF_HOURS,
CONV_DEBRIEF_IN_HOURS,
DEBRIEF_START_TIME,
DEBRIEF_END_TIME,
DEBRIEF_SERVICE_DATE,
NOTES,
OTL_ELIGIBLE_FLAG,
NOTIF_SENT_FLAG,
NOTIF_ELIGIBLE_FLAG,
ERROR_DESC,
STATUS_FLAG,
INITIAL_NOTIF_SENT_DATE,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_LOGIN,
REQUEST_ID,
INITIAL_REQUEST_ID)
(SELECT b.incident_number sr_number,
h.resource_name project_task_owner,
h.source_id project_task_owner_person_id,
b.external_attribute_1 project_id,
b.external_attribute_2 project_task_id,
jtf_task_utl.get_owner (d.resource_type_code, d.resource_id)
assignee,
d.resource_id assignee_id,
jrre.source_id assignee_person_id,
paa.supervisor_id assignee_supervisor_person_id,
c.task_number task_number,
(SELECT task_number
FROM jtf_tasks_b z
WHERE c.parent_task_id = z.task_id)
parent_task_number,
a.debrief_number,
a.debrief_header_id debrief_header_id,
a.debrief_date debrief_date,
a.task_assignment_id task_assignment_id,
a.object_version_number debrief_object_version_number,
a.attribute1 debrief_per_complete,
e.debrief_line_id debrief_line_id,
cbp.name debrief_process,
cttv.name service_activity,
DECODE (cttv.attribute1,
'Y', 'Service-Billable',
'N', 'Service-Non Billable')
service_activity_type,
e.inventory_item_id inventory_item_id, --f.segment1 item,
(SELECT segment1
FROM mtl_system_items_b f
WHERE e.inventory_item_id = f.inventory_item_id
AND f.organization_id = b.inv_organization_id)
item, --241 --Mater Org
e.business_process_id business_process_id,
e.transaction_type_id debrief_transaction_type_id,
e.uom_code debrief_uom_code,
e.quantity debrief_hours,
(g.conversion_rate * e.quantity) conv_debrief_in_hours,
e.labor_start_date debrief_start_time,
e.labor_end_date debrief_end_time,
e.service_date debrief_service_date,
(SELECT note_tl.notes
FROM JTF_NOTES_B NOTE, JTF_NOTES_TL NOTE_TL
WHERE NOTE.JTF_NOTE_ID = NOTE_TL.JTF_NOTE_ID
AND NOTE_TL.LANGUAGE = USERENV ('LANG')
AND NOTE.SOURCE_OBJECT_ID = a.DEBRIEF_HEADER_ID
AND note.jtf_note_id =
(SELECT MAX (note1.jtf_note_id)
FROM JTF_NOTES_B note1
WHERE NOTE1.SOURCE_OBJECT_ID =
a.DEBRIEF_HEADER_ID))
notes,
'Y',
'N',
'X',
NULL,
'NEW',
NULL,
SYSDATE,
l_num_user_id,
SYSDATE,
l_num_user_id,
l_num_login_id,
l_num_request_id,
l_num_request_id
FROM csf_debrief_headers a,
cs_incidents_all_b b,
jtf_tasks_b c,
jtf_task_assignments d,
csf_debrief_lines e, --mtl_system_items_b f,
mtl_uom_conversions g,
jtf_rs_resource_extns_vl h,
cs_business_processes cbp,
cs_transaction_types_vl cttv --, cs_sr_task_debrief_notes_v notes
jtf_rs_resource_extns_vl jrre,
per_all_assignments_f paa
WHERE a.task_assignment_id = d.task_assignment_id
AND d.task_id = c.task_id
AND c.source_object_id = b.incident_id
AND c.source_object_type_code = 'SR'
AND a.debrief_header_id = e.debrief_header_id
AND e.uom_code = g.uom_code
AND g.uom_class = 'Time'
AND b.incident_owner_id = h.resource_id(+)
AND e.business_process_id = cbp.business_process_id
AND e.transaction_type_id = cttv.transaction_type_id
AND d.resource_id = jrre.resource_id
AND jrre.source_id = paa.person_id --= 181
AND TRUNC (SYSDATE) BETWEEN paa.effective_start_date
AND paa.effective_end_date
AND TRUNC (e.last_update_date) BETWEEN TO_DATE (
(l_chr_from_date),
'YYYY/MM/DD HH24:MI:SS')
AND TO_DATE (
(NVL (
l_chr_to_date,
l_chr_from_date)),
'YYYY/MM/DD HH24:MI:SS')
AND NOT EXISTS
(SELECT 1
FROM xxpowl.XXPOWL_HXT_OTL_INTF old
WHERE old.debrief_header_id =
e.debrief_header_id
AND old.task_number = c.task_number
AND TRUNC (old.DEBRIEF_SERVICE_DATE) =
TRUNC (e.SERVICE_DATE)
AND old.DEBRIEF_TRANSACTION_TYPE_ID =
e.TRANSACTION_TYPE_ID
AND old.request_id <> l_num_request_id
AND old.DEBRIEF_UOM_CODE = e.uom_code
AND old.DEBRIEF_HOURS = e.quantity));
i_num_rows_inserted := SQL%ROWCOUNT;
fnd_file.put_line (fnd_file.LOG,
'No of rows Inserted:' || i_num_rows_inserted);
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
l_chr_error_msg :=
l_chr_error_msg
|| 'Error while Inserting debrief lines data into custom table.Error: '
|| SQLERRM
|| '. Exiting the interface without processing further';
fnd_file.put_line (fnd_file.LOG, l_chr_error_msg);
ROLLBACK;
RETURN;
END;
FOR process_line_rec IN process_line
LOOP
l_chr_error_msg := NULL;
l_tbl_timecard_info.delete;
l_tbl_attributes_info.delete;
l_tbl_messages.delete;
l_new_timecard_id := NULL;
l_new_timecard_ovn := NULL;
l_num_time_building_block_id := NULL;
l_chr_message := NULL;
i_num_count := 0;
l_num_tbb_id := NULL;
BEGIN
hxc_timestore_deposit.create_time_entry (
p_measure => process_line_rec.conv_debrief_in_hours,
p_day => TO_DATE ( (process_line_rec.debrief_service_date),
'DD/MM/RRRR'),
p_resource_id => process_line_rec.assignee_person_id,
p_comment_text => process_line_rec.notes
|| '....Remove this notes in the code logic....Request Id:'
|| l_num_request_id, --pending lokesh
p_app_blocks => l_tbl_timecard_info,
p_app_attributes => l_tbl_attributes_info,
p_time_building_block_id => l_num_time_building_block_id);
fnd_file.put_line (
fnd_file.LOG,
'Step#1 completed, TIME_BUILDING_BLOCK_ID:'
|| l_num_time_building_block_id);
EXCEPTION
WHEN OTHERS
THEN
l_chr_error_msg :=
l_chr_error_msg
|| '.Error in INSERT API CALL at Step#1 for the debrief line id: '
|| process_line_rec.debrief_line_id
|| '.Error:'
|| SQLERRM;
END;
BEGIN
-- Classify Time
-- Attribute1
hxc_timestore_deposit.create_attribute (
p_building_block_id => l_num_time_building_block_id,
p_attribute_name => 'Task_Id',
p_attribute_value => process_line_rec.project_task_id,
p_app_attributes => l_tbl_attributes_info);
EXCEPTION
WHEN OTHERS
THEN
l_chr_error_msg :=
l_chr_error_msg
|| '.Error in INSERT API CALL at Step#2 for the debrief line id: '
|| process_line_rec.debrief_line_id
|| '.Error:'
|| SQLERRM;
END;
BEGIN
-- Attribute2
hxc_timestore_deposit.create_attribute (
p_building_block_id => l_num_time_building_block_id,
p_attribute_name => 'Project_Id',
p_attribute_value => process_line_rec.project_id,
p_app_attributes => l_tbl_attributes_info);
EXCEPTION
WHEN OTHERS
THEN
l_chr_error_msg :=
l_chr_error_msg
|| '.Error in INSERT API CALL at Step#3 for the debrief line id: '
|| process_line_rec.debrief_line_id
|| '.Error:'
|| SQLERRM;
END;
BEGIN
-- Attribute3
hxc_timestore_deposit.create_attribute (
p_building_block_id => l_num_time_building_block_id,
p_attribute_name => 'Expenditure_Type',
p_attribute_value => 'Service-Billable',
-- p_attribute_value=> 'Service-Non Billable',
p_app_attributes => l_tbl_attributes_info);
EXCEPTION
WHEN OTHERS
THEN
l_chr_error_msg :=
l_chr_error_msg
|| '.Error in INSERT API CALL at Step#4 for the debrief line id: '
|| process_line_rec.debrief_line_id
|| '.Error:'
|| SQLERRM;
END;
BEGIN
-- Attribute4
hxc_timestore_deposit.create_attribute (
p_building_block_id => l_num_time_building_block_id,
p_attribute_name => 'Expenditure_Comment',
p_attribute_value => 'Expenditure Comment created by API',
p_app_attributes => l_tbl_attributes_info);
EXCEPTION
WHEN OTHERS
THEN
l_chr_error_msg :=
l_chr_error_msg
|| '.Error in INSERT API CALL at Step#5 for the debrief line id: '
|| process_line_rec.debrief_line_id
|| '.Error:'
|| SQLERRM;
END;
BEGIN
-- Attribute5
hxc_timestore_deposit.create_attribute (
p_building_block_id => l_num_time_building_block_id,
p_attribute_name => 'SYSTEM_LINKAGE_FUNCTION',
p_attribute_value => 'ST',
p_app_attributes => l_tbl_attributes_info);
EXCEPTION
WHEN OTHERS
THEN
l_chr_error_msg :=
l_chr_error_msg
|| '.Error in INSERT API CALL at Step#6 for the debrief line id: '
|| process_line_rec.debrief_line_id
|| '.Error:'
|| SQLERRM;
END;
BEGIN
hxc_timestore_deposit.execute_deposit_process (
p_validate => FALSE,
p_app_blocks => l_tbl_timecard_info,
p_app_attributes => l_tbl_attributes_info,
p_messages => l_tbl_messages,
p_mode => 'SAVE', -- p_mode-> 'SUBMIT', 'SAVE', 'MIGRATION', 'FORCE_SAVE' or 'FORCE_SUBMIT'
p_deposit_process => 'OTL Deposit Process',
p_timecard_id => l_new_timecard_id,
p_timecard_ovn => l_new_timecard_ovn);
COMMIT;
hxc_timestore_deposit.log_messages (p_messages => l_tbl_messages);
IF (l_tbl_messages.COUNT <> 0)
THEN
l_chr_error_msg :=
l_chr_error_msg
|| '.Error in INSERT API CALL at Step#7 for the debrief line id: '
|| process_line_rec.debrief_line_id
|| '.Error:'
|| SQLERRM
|| '.API Error messages are:';
i_num_count := l_tbl_messages.FIRST;
LOOP
EXIT WHEN (NOT l_tbl_messages.EXISTS (i_num_count));
l_chr_message :=
fnd_message.get_string (
appin => l_tbl_messages (i_num_count).application_short_name,
namein => l_tbl_messages (i_num_count).message_name);
fnd_file.put_line (
fnd_file.LOG,
(l_tbl_messages (i_num_count).message_name));
l_chr_error_msg := l_chr_error_msg || l_chr_message || '.';
i_num_count := l_tbl_messages.NEXT (i_num_count);
END LOOP;
END IF;
EXCEPTION
WHEN OTHERS
THEN
fnd_file.put_line (
fnd_file.LOG,
'**** Error.....Inside Exception Block in execute_deposit_process');
BEGIN
hxc_timestore_deposit.log_messages (
p_messages => l_tbl_messages);
EXCEPTION
WHEN OTHERS
THEN
fnd_file.put_line (
fnd_file.LOG,
'*****Error....Inside Exception Block in hxc_timestore_deposit.log_messages.Error:'
|| SQLERRM);
END;
l_chr_error_msg :=
l_chr_error_msg
|| 'Error in INSERT API CALL at Step#7 for the debrief line id: '
|| process_line_rec.debrief_line_id
|| '.Error:'
|| SQLERRM
|| '.API Error messages are:';
IF (l_tbl_messages.COUNT <> 0)
THEN
i_num_count := l_tbl_messages.FIRST;
LOOP
EXIT WHEN (NOT l_tbl_messages.EXISTS (i_num_count));
l_chr_message :=
fnd_message.get_string (
appin => l_tbl_messages (i_num_count).application_short_name,
namein => l_tbl_messages (i_num_count).message_name);
l_chr_error_msg := l_chr_error_msg || l_chr_message || '.';
i_num_count := l_tbl_messages.NEXT (i_num_count);
END LOOP;
END IF;
END;
COMMIT;
IF l_chr_error_msg IS NOT NULL OR l_new_timecard_id IS NULL
THEN
fnd_file.put_line (fnd_file.LOG,
'***** Error *****' || l_chr_error_msg);
o_ret_code := 1;
END IF;
BEGIN
fnd_file.put_line (
fnd_file.LOG,
'Updating the status of the record in custom table for debrief_line_id:'
|| process_line_rec.debrief_line_id);
UPDATE xxpowl.XXPOWL_HXT_OTL_INTF
SET status_flag =
DECODE (
l_chr_error_msg,
NULL, DECODE (
l_new_timecard_id,
NULL, 'FAILED',
DECODE (SIGN (l_new_timecard_id),
'1', 'SUCESS',
'FAILED')),
'FAILED'),
time_building_block_id = l_new_timecard_id,
last_update_date = SYSDATE,
request_id = l_num_request_id,
last_updated_by = l_num_user_id,
error_desc = l_chr_error_msg
WHERE ROWID = process_line_rec.row_id;
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
l_chr_error_msg :=
l_chr_error_msg
|| '.Error while updating the status to SUCCESS.Error: '
|| SQLERRM;
END;
END LOOP; --process_line
EXCEPTION
WHEN OTHERS
THEN
FND_FILE.PUT_LINE (
fnd_file.LOG,
'Unknown/Unhandlled Exception Error......' || SQLERRM);
o_ret_code := 2;
END main_process;
SHOW ERR;
Error Messages:
1. Error in INSERT API CALL at Step#7 for the debrief line id: 41011.Error:ORA-00001: unique constraint (HXC.HXC_ROLLBACK_TIMECARDS_PK) violated.
2. Error in INSERT API CALL at Step#7 for the debrief line id: 41011.Error:ORA-00001: unique constraint (HXC.HXC_LATEST_DETAILS_FK) violated
Thanks a lot for the help!Hello
We will get this error message when we run this from application other than "Time and Labor Engine". So try to run this concurrent program (if you registered as a conc. program) from Time and Labor Engine application.
--Lokesh
Maybe you are looking for
-
Not starting up at all..
Hi guys, I bought a new hard drive and ram for my mbp, so I figured I'd install it myself after reading some guides. I opened it up, but was missing the right screwdriver to actually remove anything so I closed it back up. I was really careful not to
-
Macbook pro retina and time capsule problem
I have purchased a macbook pro retina and time capsule recently. I had no trouble setting up the TC, however even though it is visible in the Finder, I can not connect to it. I can not make time machine. Try to connect with my imac that has snow leop
-
Iphone 4S number Unknown + Imessage sending via email adress
Here's my problem... My Iphone 4S doesnt show my number, it says UNKNOWN, and when I want to send an Imessage, it send it via my email adress... What should I do to fix this? Can somebody help me please? K.
-
BC4J: embedding Special SQL in View Objects
While BC4J allows for easier development because developers do not need to embed a lot of SQL in Java codes, I wonder how I could embed special SQLs either into my Java code or in the View Object Wizard. For example, the following SQL statement could
-
hi i have created a bounded buffer class called,Q, and this operates as a fixed length first-in-first-out queue of size N. I have two public methods put, which takes an Object as its only parameter, and adds this object to the end of the queue, and g