External Datasource Creation
Hi All,
I have created an external datasource to sql server from BAM (Version is 11g- 11.1.1.5). Datasource test was successful.
Configuration
==========
Owner --- Weblogic
type --- JDBC
Driver --- weblogic.jdbc.sqlserver.SQLServerDriver
User --- <user>
Password --- <pwd>
Connection String ---- jdbc:weblogic:sqlserver://<ip>:1433;User=<user>;Password=<pwd>
===========================================================
I was creating a DataObject using this External datasource, but External Table Name is not showing any Tables...
Please let me know your suggestion on this..
Thanks,
Manikandan
I created the user with the wizard Administration Assistant for windowsNT.thru I created the external user successfully but the problem is while I am connecting to sqlplus Iam unable to connect to the schema. I given connect and resource privilege to the exeternal user.
After creation of external user I entered into window with that user name and while I am connecting sqlplus at command prompt it is giving error. I given like at commond promp sqlplus "/ as sysdba". it is giving protocol error and how to connect to exeternal user with dba privilege.
what my doubt is how to connect to external user and is it necessary that external user should have the sysdba privileges.
Similar Messages
-
Error with quantity field:Datasource Creation Using Function Module method
Problem with DATASOURCE Creation using Function Module method :
I have created a datasource ZSTANDARD_COST_PRICE using Function Module method . The datasource creation is successfull when I remove the quantity field from the Z table . If I dont remove the quantity field from my Z table it gives an error as "Units Field WAERS for field STPRS of datasource ZSTANDARD_COST_PRICE is hidden". I am not able to remove this error . Please someone guide.
Let me know if my explanation is not clear enough.
Thanks in advance,
Neha.
Z table definition is as below :
MATNR MATNR CHAR 18 0 Material Number
BWKEY BWKEY CHAR 4 0 Valuation area
LFGJA LFGJA NUMC 4 0 Fiscal Year of Current Period
STPRS STPRS CURR 11 2 Standard Price " Here the currency field is WAERS and table T001
PEINH PEINH DEC 5 0 Price Unit
VJSTP VJSTP CURR 11 2 Standard price in previous year
VJPEI VJPEI DEC 5 0 Price unit of previous year.
Edited by: Neha Rathi on Jan 30, 2009 3:03 PMHi,
You should add it as one of the main fields as you have added other fields and not as the currency fields...that is..it should be part of the data source and you should be able to see it in RSO2...
Also if added as i said then it will come as new field in the data source...you can either let it be there...or hide it..
also if you want to populate it then you will have to write the code for this fields as well.
Thanks
Ajeet -
External datasource problem(tns error)
hi,
i got and error while working with external datasource in BAM architect, how to fix it? Moreover i got tns error when i use tnsping utility for my XE db from command prompt
======================================
C:\Documents and Settings\rehanfa>tnsping xe
TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 06-JUN-2
008 15:26:18
Copyright (c) 1997, 2005, Oracle. All rights reserved.
Used parameter files:
C:\OracleBAM\ClientForBAM\network\admin\sqlnet.ora
TNS-03505: Failed to resolve name
======================================
and BAM archtect error while viewing contents of data model based on this external datasource
========================================
ADC Server exception in OpenViewset().
Details <<
ADC Server exception in OpenViewset().
Source: "ActiveDataCache" ID: "ADCServerException"
ERROR [08001] [Microsoft][ODBC driver for Oracle][Oracle]ORA-12154: TNS:could not resolve the connect identifier specified ERROR [IM006] [Microsoft][ODBC Driver Manager] Driver's SQLSetConnectAttr failed ERROR [01000] [Microsoft][ODBC Driver Manager] The driver doesn't support the version of ODBC behavior that the application requested (see SQLSetEnvAttr).
Source: ""
Internal debugging information >>
Oracle.BAM.ActiveDataCache.Common.Exceptions.CacheException: ADC Server exception in OpenViewset(). ---> System.Data.Odbc.OdbcException: ERROR [08001] [Microsoft][ODBC driver for Oracle][Oracle]ORA-12154: TNS:could not resolve the connect identifier specified
ERROR [IM006] [Microsoft][ODBC Driver Manager] Driver's SQLSetConnectAttr failed
ERROR [01000] [Microsoft][ODBC Driver Manager] The driver doesn't support the version of ODBC behavior that the application requested (see SQLSetEnvAttr).
at System.Data.Odbc.OdbcConnection.Open()
at Oracle.BAM.ActiveDataCache.ExternalDataSources.ODBC.Open(String strXml)
at Oracle.BAM.ActiveDataCache.Kernel.Datasets.ExternalStorageEngine.GetDataReader(DSEQuery oDseQuery)
at Oracle.BAM.ActiveDataCache.Kernel.Viewsets.Utilities.ExternalData.DataImporter.ExecuteQuery()
at Oracle.BAM.ActiveDataCache.Kernel.Viewsets.Utilities.ExternalData.ExternalDataManager.ImportExternalData(String strDatasetID, String strTempName, FilterExpression filter)
at Oracle.BAM.ActiveDataCache.Kernel.Viewsets.Utilities.ExternalData.ExternalDataManager.ImportExternalFactData()
at Oracle.BAM.ActiveDataCache.Kernel.Viewsets.Utilities.ExternalData.ExternalDataManager.GetExternalData()
at Oracle.BAM.ActiveDataCache.Kernel.Viewsets.Viewset.LoadData()
at Oracle.BAM.ActiveDataCache.Kernel.Viewsets.ViewsetBase.Initialize()
at Oracle.BAM.ActiveDataCache.Kernel.Viewsets.Viewset.Initialize()
at Oracle.BAM.ActiveDataCache.Kernel.Viewsets.ViewsetBase.Open()
at Oracle.BAM.ActiveDataCache.Kernel.Viewsets.ViewsetManager.InitViewset(Modifier oModifier, ViewsetOptions oViewsetOptions, Boolean bSynchronized, Int32 iTransactionID)
at Oracle.BAM.ActiveDataCache.Kernel.Viewsets.ViewsetManager.OpenViewset(Modifier modifier, ViewsetOptions options, Int32 iTransactionID)
at Oracle.BAM.ActiveDataCache.Kernel.Server.DataStoreServer.OpenViewset(Modifier modifier, ViewsetOptions options, Int32 iTransactionID)
--- End of inner exception stack trace ---
Server stack trace:
at Oracle.BAM.ActiveDataCache.Kernel.Server.DataStoreServer.OpenViewset(Modifier modifier, ViewsetOptions options, Int32 iTransactionID)
at System.Runtime.Remoting.Messaging.StackBuilderSink.PrivateProcessMessage(MethodBase mb, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)
at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean fExecuteInContext)
Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at Oracle.BAM.ActiveDataCache.Common.Core.IDataStore.OpenViewset(Modifier oModifier, ViewsetOptions options, Int32 iTransactionID)
at Oracle.BAM.ActiveDataCache.Remoting.ServerWrapper.OpenViewset(Modifier oModifier, ViewsetOptions options, Int32 iTransactionID)
at Oracle.BAM.ActiveDataCache.Viewset.Open(Context ctxAdcContext, Modifier oModifier, ViewsetOptions options)
at Oracle.BAM.Architect.DataObjectsContents.InternalContentsByRowID(String strEventParam, Boolean bEdit, Int64 lHighlightRowID, Boolean bAddBegin)
==========================================================Dear, I am facing that problem and I need some help. please tell me how the issue was resolved
-
Get default audit field behavior with an external datasource
Others have posted and blogged extensively about creating a robust audit trail for LightSwitch. However, if you are looking to achieve the default behavior with an external datasource, you could simply add the fields to your database
and write code in every entity's Inserting() and Updating() method. However, if you have many tables in your app this can be a lot of work. Here is a very easy way to DRY this up.
1. Add the audit fields to your tables
- CreatedBy
- DateCreated
- UpdatedBy
- DateUpdated
2. Use this code in the DataService class for your datasource.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.LightSwitch;
using Microsoft.LightSwitch.Security.Server;
namespace LightSwitchApplication
public partial class ApplicationDataService
partial void SaveChanges_Executing()
EntityChangeSet changes = this.Details.GetChanges();
IReadOnlyCollection<IEntityObject> addedEntities = changes.AddedEntities;
IReadOnlyCollection<IEntityObject> modifiedEntities = changes.ModifiedEntities;
if (addedEntities.Any())
foreach (IEntityObject entity in addedEntities)
InsertAuditFields(entity);
if (modifiedEntities.Any())
foreach (IEntityObject entity in modifiedEntities)
UpdateAuditFields(entity);
private void InsertAuditFields(IEntityObject entity)
string userName = this.Application.User.FullName;
DateTimeOffset currentDateTime = DateTimeOffset.Now;
entity.Details.Properties["CreatedBy"].Value = userName;
entity.Details.Properties["DateCreated"].Value = currentDateTime;
entity.Details.Properties["UpdatedBy"].Value = userName;
entity.Details.Properties["DateUpdated"].Value = currentDateTime;
private void UpdateAuditFields(IEntityObject entity)
string userName = this.Application.User.FullName;
DateTimeOffset currentDateTime = DateTimeOffset.Now;
entity.Details.Properties["UpdatedBy"].Value = userName;
entity.Details.Properties["DateUpdated"].Value = currentDateTime;
Hopefully this helps someone.This version will check whether the table has the audit properties, thus allowing you to opt in. Paul's solution is going to be better in the long run because it checks at compile time. This was meant to be a quick way to get the default behavior.
This is not a substitute for a full audit capability (see Paul's blog) if that is your requirement.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.LightSwitch;
using Microsoft.LightSwitch.Security.Server;
using Microsoft.LightSwitch.Details;
namespace LightSwitchApplication
public partial class ApplicationDataService
partial void SaveChanges_Executing()
EntityChangeSet changes = this.Details.GetChanges();
IReadOnlyCollection<IEntityObject> addedEntities = changes.AddedEntities;
IReadOnlyCollection<IEntityObject> modifiedEntities = changes.ModifiedEntities;
if (addedEntities.Any())
foreach (IEntityObject entity in addedEntities)
if (AuditProperties(entity))
InsertAuditFields(entity);
if (modifiedEntities.Any())
foreach (IEntityObject entity in modifiedEntities)
if (AuditProperties(entity))
UpdateAuditFields(entity);
private bool AuditProperties(IEntityObject entity)
bool hasAuditProperties = true;
bool createdBy = entity.Details.Properties.Contains("CreatedBy");
bool dateCreated = entity.Details.Properties.Contains("DateCreated");
bool updatedBy = entity.Details.Properties.Contains("UpdatedBy");
bool dateUpdated = entity.Details.Properties.Contains("DateUpdated");
bool[] checkForAuditProperties = new bool[]
createdBy,
dateCreated,
updatedBy,
dateUpdated
if (checkForAuditProperties.Any(a => a == false))
hasAuditProperties = false;
return hasAuditProperties;
private void InsertAuditFields(IEntityObject entity)
string userName = this.Application.User.FullName;
DateTimeOffset currentDateTime = DateTimeOffset.Now;
entity.Details.Properties["CreatedBy"].Value = userName;
entity.Details.Properties["DateCreated"].Value = currentDateTime;
entity.Details.Properties["UpdatedBy"].Value = userName;
entity.Details.Properties["DateUpdated"].Value = currentDateTime;
private void UpdateAuditFields(IEntityObject entity)
string userName = this.Application.User.FullName;
DateTimeOffset currentDateTime = DateTimeOffset.Now;
entity.Details.Properties["UpdatedBy"].Value = userName;
entity.Details.Properties["DateUpdated"].Value = currentDateTime; -
Hi
I need an ldap datasource created for my custom use and not for UME. Hence where can i create a datasource for ldap as i donot find any option to create an ldap datsource other than in UME.
Thanks
PadmajaHi,
Using LDAP you can connect to external user directory. Generally in many companies they will maintain a central user data source. This datasource can be configured in portal using LDAP connectivity. These external datasources can be microsoft Active directory or Tivoli Identity Manager etc......
you can configure them by navigting to System administration -> system configuraiton -> UME Configuration
also search in SDN for LDAP connectivty, you will get step by step documents.
Raghu -
Hi
I have created an external datasource.I completed all steps as given in
http://www.oracle.com/technology/products/integration/bam/10.1.3/TechNotes/TechNote_BAM_ExternalDataSource.pdf
Problem is : While verifying data in BAM architect console it is giving error saying
ADC Server exception in OpenViewset().
Source: "ActiveDataCache" ID: "ADCServerException"
Format of the initialization string does not conform to specification starting at index 82.
Source: "System.Data".
what is the error in this kindly revert back
,Thankshi,
i get the same error, ho you fixed it.Moreover i get an tns error when i use tnsping utility for my XE db from command prompt
ADC Server exception in OpenViewset().
Details <<
ADC Server exception in OpenViewset().
Source: "ActiveDataCache" ID: "ADCServerException"
ERROR [08001] [Microsoft][ODBC driver for Oracle][Oracle]ORA-12154: TNS:could not resolve the connect identifier specified ERROR [IM006] [Microsoft][ODBC Driver Manager] Driver's SQLSetConnectAttr failed ERROR [01000] [Microsoft][ODBC Driver Manager] The driver doesn't support the version of ODBC behavior that the application requested (see SQLSetEnvAttr).
Source: ""
Internal debugging information >>
Oracle.BAM.ActiveDataCache.Common.Exceptions.CacheException: ADC Server exception in OpenViewset(). ---> System.Data.Odbc.OdbcException: ERROR [08001] [Microsoft][ODBC driver for Oracle][Oracle]ORA-12154: TNS:could not resolve the connect identifier specified
ERROR [IM006] [Microsoft][ODBC Driver Manager] Driver's SQLSetConnectAttr failed
ERROR [01000] [Microsoft][ODBC Driver Manager] The driver doesn't support the version of ODBC behavior that the application requested (see SQLSetEnvAttr).
at System.Data.Odbc.OdbcConnection.Open()
at Oracle.BAM.ActiveDataCache.ExternalDataSources.ODBC.Open(String strXml)
at Oracle.BAM.ActiveDataCache.Kernel.Datasets.ExternalStorageEngine.GetDataReader(DSEQuery oDseQuery)
at Oracle.BAM.ActiveDataCache.Kernel.Viewsets.Utilities.ExternalData.DataImporter.ExecuteQuery()
at Oracle.BAM.ActiveDataCache.Kernel.Viewsets.Utilities.ExternalData.ExternalDataManager.ImportExternalData(String strDatasetID, String strTempName, FilterExpression filter)
at Oracle.BAM.ActiveDataCache.Kernel.Viewsets.Utilities.ExternalData.ExternalDataManager.ImportExternalFactData()
at Oracle.BAM.ActiveDataCache.Kernel.Viewsets.Utilities.ExternalData.ExternalDataManager.GetExternalData()
at Oracle.BAM.ActiveDataCache.Kernel.Viewsets.Viewset.LoadData()
at Oracle.BAM.ActiveDataCache.Kernel.Viewsets.ViewsetBase.Initialize()
at Oracle.BAM.ActiveDataCache.Kernel.Viewsets.Viewset.Initialize()
at Oracle.BAM.ActiveDataCache.Kernel.Viewsets.ViewsetBase.Open()
at Oracle.BAM.ActiveDataCache.Kernel.Viewsets.ViewsetManager.InitViewset(Modifier oModifier, ViewsetOptions oViewsetOptions, Boolean bSynchronized, Int32 iTransactionID)
at Oracle.BAM.ActiveDataCache.Kernel.Viewsets.ViewsetManager.OpenViewset(Modifier modifier, ViewsetOptions options, Int32 iTransactionID)
at Oracle.BAM.ActiveDataCache.Kernel.Server.DataStoreServer.OpenViewset(Modifier modifier, ViewsetOptions options, Int32 iTransactionID)
--- End of inner exception stack trace ---
Server stack trace:
at Oracle.BAM.ActiveDataCache.Kernel.Server.DataStoreServer.OpenViewset(Modifier modifier, ViewsetOptions options, Int32 iTransactionID)
at System.Runtime.Remoting.Messaging.StackBuilderSink.PrivateProcessMessage(MethodBase mb, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)
at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean fExecuteInContext)
Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at Oracle.BAM.ActiveDataCache.Common.Core.IDataStore.OpenViewset(Modifier oModifier, ViewsetOptions options, Int32 iTransactionID)
at Oracle.BAM.ActiveDataCache.Remoting.ServerWrapper.OpenViewset(Modifier oModifier, ViewsetOptions options, Int32 iTransactionID)
at Oracle.BAM.ActiveDataCache.Viewset.Open(Context ctxAdcContext, Modifier oModifier, ViewsetOptions options)
at Oracle.BAM.Architect.DataObjectsContents.InternalContentsByRowID(String strEventParam, Boolean bEdit, Int64 lHighlightRowID, Boolean bAddBegin) -
Datasource Creation for Informatica Source system in NW2004s
Hi,
We are upgrading BW 3.5 to SAP NW2004s. In NW2004s Create datasource
is new feature provided in BW 7.0.
I tried to create this datasource for Flat file and worked fine. We
are also using Informatica as source system (External System).
Whenever I tried to create datasource for External system such as
Informatica, it gives message
"Datasource ZTEST(INFPCPD):Object Type RSDS not supported in BAPI
Source System"
Is it a bug? or Creation of datasource is not supported incase of
Informatica or external system?
Thanks
RupeshHi Rupesh,
The latest BI release in SAP NetWeaver 7.0 (2004s) includes a new type of DataSource for which staging BAPI has not yet been aligned.
Third party ETL tool vendors can therefore only implement their load processes using the original type of DataSource from BW 3.x. This DataSource is still provided in the new release without any changes. Upgrading to NetWeaver 7.0 (2004s) BI (BI 7.0) does not therefore endanger existing implementations based on BW 3.x and NetWeaver 2004 (BW 3.5).
It is also possible to migrate third party ETL implementations based on BW 3.x into the new data-flow concept of a NetWeaver 7.0 (2004s) BI environment using new DataSources, transformations (also new), and data transfer processes (DTP) (also new). This is possible because the system provides an emulated view for BW 3.x DataSources, which makes it possible to combine them with NetWeaver 7.0 (2004s) transformations and DTPs for regular batch load processing (this does not include direct access and real-time data acquisition (RDA)).
This allows the benefits of the new data loading concept to be made available in such third party ETL-based loading scenarios.
Regards,
Anil -
Bad file is not created during the external table creation.
Hello Experts,
I have created a script for external table in Oracle 10g DB. Everything is working fine except it does not create the bad file, But it creates the log file. I Cann't figure out what is the issue. Because my shell scripts is failing and the entire program is failing. I am attaching the table creation script and the shell script where it is refering and the error. Kindly let me know if something is missing. Thanks in advance
Table Creation Scripts:_-------------------------------
create table RGIS_TCA_DATA_EXT
guid VARCHAR2(250),
badge VARCHAR2(250),
scheduled_store_id VARCHAR2(250),
parent_event_id VARCHAR2(250),
event_id VARCHAR2(250),
organization_number VARCHAR2(250),
customer_number VARCHAR2(250),
store_number VARCHAR2(250),
inventory_date VARCHAR2(250),
full_name VARCHAR2(250),
punch_type VARCHAR2(250),
punch_start_date_time VARCHAR2(250),
punch_end_date_time VARCHAR2(250),
event_meet_site_id VARCHAR2(250),
vehicle_number VARCHAR2(250),
vehicle_description VARCHAR2(250),
vehicle_type VARCHAR2(250),
is_owner VARCHAR2(250),
driver_passenger VARCHAR2(250),
mileage VARCHAR2(250),
adder_code VARCHAR2(250),
bonus_qualifier_code VARCHAR2(250),
store_accuracy VARCHAR2(250),
store_length VARCHAR2(250),
badge_input_type VARCHAR2(250),
source VARCHAR2(250),
created_by VARCHAR2(250),
created_date_time VARCHAR2(250),
updated_by VARCHAR2(250),
updated_date_time VARCHAR2(250),
approver_badge_id VARCHAR2(250),
approver_name VARCHAR2(250),
orig_guid VARCHAR2(250),
edit_type VARCHAR2(250)
organization external
type ORACLE_LOADER
default directory ETIME_LOAD_DIR
access parameters
RECORDS DELIMITED BY NEWLINE
BADFILE ETIME_LOAD_DIR:'tstlms.bad'
LOGFILE ETIME_LOAD_DIR:'tstlms.log'
READSIZE 1048576
FIELDS TERMINATED BY '|'
MISSING FIELD VALUES ARE NULL(
GUID
,BADGE
,SCHEDULED_STORE_ID
,PARENT_EVENT_ID
,EVENT_ID
,ORGANIZATION_NUMBER
,CUSTOMER_NUMBER
,STORE_NUMBER
,INVENTORY_DATE char date_format date mask "YYYYMMDD HH24:MI:SS"
,FULL_NAME
,PUNCH_TYPE
,PUNCH_START_DATE_TIME char date_format date mask "YYYYMMDD HH24:MI:SS"
,PUNCH_END_DATE_TIME char date_format date mask "YYYYMMDD HH24:MI:SS"
,EVENT_MEET_SITE_ID
,VEHICLE_NUMBER
,VEHICLE_DESCRIPTION
,VEHICLE_TYPE
,IS_OWNER
,DRIVER_PASSENGER
,MILEAGE
,ADDER_CODE
,BONUS_QUALIFIER_CODE
,STORE_ACCURACY
,STORE_LENGTH
,BADGE_INPUT_TYPE
,SOURCE
,CREATED_BY
,CREATED_DATE_TIME char date_format date mask "YYYYMMDD HH24:MI:SS"
,UPDATED_BY
,UPDATED_DATE_TIME char date_format date mask "YYYYMMDD HH24:MI:SS"
,APPROVER_BADGE_ID
,APPROVER_NAME
,ORIG_GUID
,EDIT_TYPE
location (ETIME_LOAD_DIR:'tstlms.dat')
reject limit UNLIMITED;
_***Shell Script*:*----------------_*
version=1.0
umask 000
DATE=`date +%Y%m%d%H%M%S`
TIME=`date +"%H%M%S"`
SOURCE=`hostname`
fcp_login=`echo $1|awk '{print $3}'|sed 's/"//g'|awk -F= '{print $2}'`
fcp_reqid=`echo $1|awk '{print $2}'|sed 's/"//g'|awk -F= '{print $2}'`
TXT1_PATH=/home/ac1/oracle/in/tsdata
TXT2_PATH=/home/ac2/oracle/in/tsdata
ARCH1_PATH=/home/ac1/oracle/in/tsdata
ARCH2_PATH=/home/ac2/oracle/in/tsdata
DEST_PATH=/home/custom/sched/in
PROGLOG=/home/custom/sched/logs/rgis_tca_to_tlms_create.sh.log
PROGNAME=`basename $0`
PROGPATH=/home/custom/sched/scripts
cd $TXT2_PATH
FILELIST2="`ls -lrt tstlmsedits*.dat |awk '{print $9}'`"
NO_OF_FILES2="`ls -lrt tstlmsedits*.dat |awk '{print $9}'|wc -l`"
$DEST_PATH/tstlmsedits.dat for i in $FILELIST2
do
cat $i >> $DEST_PATH/tstlmsedits.dat
printf "\n" >> $DEST_PATH/tstlmsedits.dat
mv $i $i.$DATE
#mv $i $TXT2_PATH/test/.
mv $i.$DATE $TXT2_PATH/test/.
done
if test $NO_OF_FILES2 -eq 0
then
echo " no tstlmsedits.dat file exists " >> $PROGLOG
else
echo "created dat file tstlmsedits.dat at $DATE" >> $PROGLOG
echo "-------------------------------------------" >> $PROGLOG
fi
NO_OF_FILES1="`ls -lrt tstlms*.dat |awk '{print $9}'|wc -l`"
FILELIST1="`ls -lrt tstlms*.dat |awk '{print $9}'`"
$DEST_PATH/tstlms.datfor i in $FILELIST1
do
cat $i >> $DEST_PATH/tstlms.dat
printf "\n" >> $DEST_PATH/tstlms.dat
mv $i $i.$DATE
# mv $i $TXT2_PATH/test/.
mv $i.$DATE $TXT2_PATH/test/.
done
if test $NO_OF_FILES1 -eq 0
then
echo " no tstlms.dat file exists " >> $PROGLOG
else
echo "created dat file tstlms.dat at $DATE" >> $PROGLOG
fi
cd $TXT1_PATH
FILELIST3="`ls -lrt tstlmsedits*.dat |awk '{print $9}'`"
NO_OF_FILES3="`ls -lrt tstlmsedits*.dat |awk '{print $9}'|wc -l`"
$DEST_PATH/tstlmsedits.datfor i in $FILELIST3
do
cat $i >> $DEST_PATH/tstlmsedits.dat
printf "\n" >> $DEST_PATH/tstlmsedits.dat
mv $i $i.$DATE
#mv $i $TXT1_PATH/test/.
mv $i.$DATE $TXT1_PATH/test/.
done
if test $NO_OF_FILES3 -eq 0
then
echo " no tstlmsedits.dat file exists " >> $PROGLOG
else
echo "created dat file tstlmsedits.dat at $DATE" >> $PROGLOG
echo "-------------------------------------------" >> $PROGLOG
fi
NO_OF_FILES4="`ls -lrt tstlms*.dat |awk '{print $9}'|wc -l`"
FILELIST4="`ls -lrt tstlms*.dat |awk '{print $9}'`"
$DEST_PATH/tstlms.datfor i in $FILELIST4
do
cat $i >> $DEST_PATH/tstlms.dat
printf "\n" >> $DEST_PATH/tstlms.dat
mv $i $i.$DATE
# mv $i $TXT1_PATH/test/.
mv $i.$DATE $TXT1_PATH/test/.
done
if test $NO_OF_FILES4 -eq 0
then
echo " no tstlms.dat file exists " >> $PROGLOG
else
echo "created dat file tstlms.dat at $DATE" >> $PROGLOG
fi
#connecting to oracle to generate bad files
sqlplus -s $fcp_login<<EOF
select count(*) from rgis_tca_data_ext;
select count(*) from rgis_tca_data_history_ext;
exit;
EOF
#counting the records in files
tot_rec_in_tstlms=`wc -l $DEST_PATH/tstlms.dat | awk ' { print $1 } '`
tot_rec_in_tstlmsedits=`wc -l $DEST_PATH/tstlmsedits.dat | awk ' { print $1 } '`
tot_rec_in_tstlms_bad=`wc -l $DEST_PATH/tstlms.bad | awk ' { print $1 } '`
tot_rec_in_tstlmsedits_bad=`wc -l $DEST_PATH/tstlmsedits.bad | awk ' { print $1 } '`
#updating log table
echo "pl/sql block started"
sqlplus -s $fcp_login<<EOF
define tot_rec_in_tstlms = '$tot_rec_in_tstlms';
define tot_rec_in_tstlmsedits = '$tot_rec_in_tstlmsedits';
define tot_rec_in_tstlms_bad = '$tot_rec_in_tstlms_bad';
define tot_rec_in_tstlmsedits_bad='$tot_rec_in_tstlmsedits_bad';
define fcp_reqid ='$fcp_reqid';
declare
l_tstlms_file_id number := null;
l_tstlmsedits_file_id number := null;
l_tot_rec_in_tstlms number := 0;
l_tot_rec_in_tstlmsedits number := 0;
l_tot_rec_in_tstlms_bad number := 0;
l_tot_rec_in_tstlmsedits_bad number := 0;
l_request_id fnd_concurrent_requests.request_id%type;
l_start_date fnd_concurrent_requests.actual_start_date%type;
l_end_date fnd_concurrent_requests.actual_completion_date%type;
l_conc_prog_name fnd_concurrent_programs.concurrent_program_name%type;
l_requested_by fnd_concurrent_requests.requested_by%type;
l_requested_date fnd_concurrent_requests.request_date%type;
begin
--getting concurrent request details
begin
SELECT fcp.concurrent_program_name,
fcr.request_id,
fcr.actual_start_date,
fcr.actual_completion_date,
fcr.requested_by,
fcr.request_date
INTO l_conc_prog_name,
l_request_id,
l_start_date,
l_end_date,
l_requested_by,
l_requested_date
FROM fnd_concurrent_requests fcr, fnd_concurrent_programs fcp
WHERE fcp.concurrent_program_id = fcr.concurrent_program_id
AND fcr.request_id = &fcp_reqid; --fnd_global.conc_request_id();
exception
when no_data_found then
fnd_file.put_line(fnd_file.log, 'Error:RGIS_TCA_TO_TLMS_CREATE.sh');
fnd_file.put_line(fnd_file.log, 'No data found for request_id');
fnd_file.put_line(fnd_file.log, sqlerrm);
raise_application_error(-20001,
'Error occured when executing RGIS_TCA_TO_TLMS_CREATE.sh ' ||
sqlerrm);
when others then
fnd_file.put_line(fnd_file.log, 'Error:RGIS_TCA_TO_TLMS_CREATE.sh');
fnd_file.put_line(fnd_file.log,
'Error occured when retrieving request_id request_id');
fnd_file.put_line(fnd_file.log, sqlerrm);
raise_application_error(-20001,
'Error occured when executing RGIS_TCA_TO_TLMS_CREATE.sh ' ||
sqlerrm);
end;
--calling ins_or_upd_tca_process_log to update log table for tstlms.dat file
begin
rgis_tca_to_tlms_process.ins_or_upd_tca_process_log
(l_tstlms_file_id,
'tstlms.dat',
l_conc_prog_name,
l_request_id,
l_start_date,
l_end_date,
&tot_rec_in_tstlms,
&tot_rec_in_tstlms_bad,
null,
null,
null,
null,
null,
null,
null,
l_requested_by,
l_requested_date,
null,
null,
null,
null,
null);
exception
when others then
fnd_file.put_line(fnd_file.log, 'Error:RGIS_TCA_TO_TLMS_CREATE.sh');
fnd_file.put_line(fnd_file.log,
'Error occured when executing rgis_tca_to_tlms_process.ins_or_upd_tca_process_log for tstlms file');
fnd_file.put_line(fnd_file.log, sqlerrm);
end;
--calling ins_or_upd_tca_process_log to update log table for tstlmsedits.dat file
begin
rgis_tca_to_tlms_process.ins_or_upd_tca_process_log
(l_tstlmsedits_file_id,
'tstlmsedits.dat',
l_conc_prog_name,
l_request_id,
l_start_date,
l_end_date,
&tot_rec_in_tstlmsedits,
&tot_rec_in_tstlmsedits_bad,
null,
null,
null,
null,
null,
null,
null,
l_requested_by,
l_requested_date,
null,
null,
null,
null,
null);
exception
when others then
fnd_file.put_line(fnd_file.log, 'Error:RGIS_TCA_TO_TLMS_CREATE.sh');
fnd_file.put_line(fnd_file.log,
'Error occured when executing rgis_tca_to_tlms_process.ins_or_upd_tca_process_log for tstlmsedits file');
fnd_file.put_line(fnd_file.log, sqlerrm);
end;
end;
exit;
EOF
echo "rgis_tca_to_tlms_process.sql started"
sqlplus -s $fcp_login @$SCHED_TOP/sql/rgis_tca_to_tlms_process.sql $fcp_reqid
exit;
echo "rgis_tca_to_tlms_process.sql ended"
_**Error:*----------------------------------*_
RGIS Scheduling: Version : UNKNOWN
Copyright (c) 1979, 1999, Oracle Corporation. All rights reserved.
TCATLMS module: TCA To TLMS Import Process
Current system time is 18-AUG-2011 06:13:27
COUNT(*)
16
COUNT(*)
25
wc: cannot open /home/custom/sched/in/tstlms.bad
wc: cannot open /home/custom/sched/in/tstlmsedits.bad
pl/sql block started
old 33: AND fcr.request_id = &fcp_reqid; --fnd_global.conc_request_id();
new 33: AND fcr.request_id = 18661823; --fnd_global.conc_request_id();
old 63: &tot_rec_in_tstlms,
new 63: 16,
old 64: &tot_rec_in_tstlms_bad,
new 64: ,
old 97: &tot_rec_in_tstlmsedits,
new 97: 25,
old 98: &tot_rec_in_tstlmsedits_bad,
new 98: ,
ERROR at line 64:
ORA-06550: line 64, column 4:
PLS-00103: Encountered the symbol "," when expecting one of the following:
( - + case mod new not null others <an identifier>
<a double-quoted delimited-identifier> <a bind variable> avg
count current exists max min prior sql stddev sum variance
execute forall merge time timestamp interval date
<a string literal with character set specification>
<a number> <a single-quoted SQL string> pipe
<an alternatively-quoted string literal with character set specification>
<an alternatively-q
ORA-06550: line 98, column 4:
PLS-00103: Encountered the symbol "," when expecting one of the following:
( - + case mod new not null others <an identifier>
<a double-quoted delimited-identifier> <a bind variable> avg
count current exists max min prior sql st
rgis_tca_to_tlms_process.sql started
old 12: and concurrent_request_id = '&1';
new 12: and concurrent_request_id = '18661823';
old 18: and concurrent_request_id = '&1';
new 18: and concurrent_request_id = '18661823';
old 22: rgis_tca_to_tlms_process.run_tca_data(l_tstlms_file_id,&1);
new 22: rgis_tca_to_tlms_process.run_tca_data(l_tstlms_file_id,18661823);
old 33: rgis_tca_to_tlms_process.run_tca_data_history(l_tstlmsedits_file_id,&1);
new 33: rgis_tca_to_tlms_process.run_tca_data_history(l_tstlmsedits_file_id,18661823);
old 44: rgis_tca_to_tlms_process.send_tca_email('TCATLMS',&1);
new 44: rgis_tca_to_tlms_process.send_tca_email('TCATLMS',18661823);
declare
ERROR at line 1:
ORA-20001: Error occured when executing RGIS_TCA_TO_TLMS_PROCESS.sql ORA-01403:
no data found
ORA-06512: at line 59
Executing request completion options...
------------- 1) PRINT -------------
Printing output file.
Request ID : 18661823
Number of copies : 0
Printer : noprint
Finished executing request completion options.
Concurrent request completed successfully
Current system time is 18-AUG-2011 06:13:29
---------------------------------------------------------------------------Hi,
Check the status of the batch in SM35 transaction.
if the batch is locked by mistake or any other error, now you can release it and aslo you can process again.
To Release -Shift+F4.
Also you can analyse the job status through F2 button.
Bye -
JDBC Datasource creation via ANT doesn't expose the JNDI name
I'm using the wlconfig ANT task to create a Datasource (& JDBC connectionpool) on the weblogic server. The datasource is created fine, and I can test it using the console.
The problem is that the provided JNDI name isn't exposed in the JNDI tree. This seems to be related to the fact that the following element is generated in the config/jdbc/CP-PoolName-2164-jdbc.xml
<jdbc-data-source>
<name>PoolName</name>
<internal-properties>
*<property>*
*<name>LegacyType</name>*
*<value>1</value>*
*</property>*
When removing the LegacyType 1 property from the JDBC config xml, the JNDI name is exposed fine.
I've used the instructions located at [http://edocs.bea.com/wls/docs100/programming/ant_tasks.html] where an example of a JDBCConnectionPool creation is provided.
The 10.3 documentation doesn't include the example anymore, but I'm having the problem both on BEA Weblogic 10.0 and Oracle Weblogic 10.3
<wlconfig url="t3://localhost:7001" username="weblogic" password="weblogic">
bq. <query domain="base_domain" type="Server" name="AdminServer" property="adminserver"/>
bq. <create type="JDBCConnectionPool" name="MediumSecureOnlineNode1Pool" property="customPool1">
bq. bq. <set attribute="CapacityIncrement" value="1"/> \\ <set attribute="DriverName" value="oracle.jdbc.OracleDriver"/> \\ <set attribute="InitialCapacity" value="1"/> \\ <set attribute="MaxCapacity" value="10"/> \\ <set attribute="Password" value="pass"/> \\ <set attribute="Properties" value="user=username"/> \\ <set attribute="RefreshMinutes" value="0"/> \\ <set attribute="ShrinkPeriodMinutes" value="15"/> \\ <set attribute="ShrinkingEnabled" value="true"/> \\ <set attribute="TestConnectionsOnCreate" value="true"/> \\ <set attribute="TestConnectionsOnRelease" value="true"/> \\ <set attribute="TestConnectionsOnReserve" value="true"/> \\ <set attribute="TestTableName" value="SQL SELECT 1 FROM DUAL"/> \\ <set attribute="URL" value="jdbc:oracle:thin:@localhost:1521"/> \\ <set attribute="Targets" value="${adminserver}"/>
</create>
As we would like to automate the process of configuring our weblogic instances using ANT, is there a way to create JDBC datasources that don't have the LegacyType 1 element included in the config ?Curious if you were ever able to find a resolution to this issue?
I am facing the same thing now with our Ant scripts and WL10.3 connection pools/datasources.
I would like to either specify a different LegacyType or suppress it altogether. Any help would be appreciated.
Many thanks,
Steve -
I am trying to create datasources dynamically. Using an example from a previous
post,
mbeanHome = lookupMBeanHome();
JDBCDataSourceMBean dsMBean = (JDBCDataSourceMBean)mbeanHome.createAdminMBean(poolName,"JDBCDataSource",
mbeanHome.getDomainName());
dsMBean.setJNDIName(poolName);
dsMBean.setPoolName(poolName);
dsMBean.addTarget(tserverMBean);
dsMBean.setPersistenceEnabled(false);
How can I retrieve the proper TargetMBean reference to send to the addTarget method.
Does anyone know where I can find an entire class example of dynamically creating
datasources, or something similar.
Thanks in advance,
FahdHi Fahd,
Here is a sample I posted here some time ago
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Iterator;
import java.util.Set;
import javax.naming.Context;
import javax.sql.DataSource;
import weblogic.jndi.Environment;
import weblogic.management.configuration.JDBCDataSourceMBean;
import weblogic.management.configuration.ServerMBean;
import weblogic.management.MBeanHome;
* This class demonstrates dymamic creation,
* using and deletion of DataSource via
* Weblogic management API.
public class DynamicDataSource {
private Context ctx = null;
private JDBCDataSourceMBean dsMBean = null;
private MBeanHome mbeanHome = null;
private ServerMBean serverMBean = null;
// DataSource attributes
private String cpName = "yourPoolName";
private String dsJNDIName = "dynamic-data-source";
private String dsName = "dynamic-data-source";
// Security credentials
private String password = "admPasword";
private String serverName = "yourServer";
private String url = "t3://localhost:7701";
private String userName = "system";
* Creates and starts up a DataSource using
* management API.
public void createDataSource() throws SQLException {
System.out.println("Creating DataSource...");
try {
// Get context
Environment env = new Environment();
env.setProviderUrl(url);
env.setSecurityPrincipal(userName);
env.setSecurityCredentials(password);
ctx = env.getInitialContext();
// Lookup for MBean home
mbeanHome = (MBeanHome)ctx.lookup(MBeanHome.ADMIN_JNDI_NAME);
serverMBean = (ServerMBean)mbeanHome.getAdminMBean(serverName,
"Server");
// Delete if DataSource MBean already exists in active domain
Set dsMBeanSet = mbeanHome.getMBeansByType("JDBCDataSource",
mbeanHome.getDomainName());
Iterator iter = dsMBeanSet.iterator();
while(iter.hasNext()) {
JDBCDataSourceMBean dsmb = (JDBCDataSourceMBean) iter.next();
if (dsmb.getJNDIName().equals(dsJNDIName)) {
dsMBean = dsmb;
deleteDataSource();
break;
// Create DataSource MBean
dsMBean = (JDBCDataSourceMBean)mbeanHome.createAdminMBean(
dsName, "JDBCDataSource",
mbeanHome.getDomainName());
// Set DataSource attributes
dsMBean.setJNDIName(dsJNDIName);
dsMBean.setPoolName(cpName);
// Startup datasource
dsMBean.addTarget(serverMBean);
} catch (Exception ex) {
throw new SQLException(ex.toString());
* Symply gets and closes a connection from dynamic
* DataSource. Will throw a SQLException if datasource
* does not exists.
public void createConnection() throws SQLException {
System.out.println("Getting Connection...");
try {
DataSource ds = (DataSource)ctx.lookup (dsName);
Connection conn = ds.getConnection();
conn.close();
} catch (Exception ex) {
throw new SQLException(ex.toString());
* Shuts down and deletes DataSource from configuratrion
* using management API.
public void deleteDataSource() throws SQLException {
System.out.println("Deleting DataSource...");
try {
// Remove dynamically created datasource from the server
dsMBean.removeTarget(serverMBean);
// Remove dynamically created datasource from the configuration
mbeanHome.deleteMBean(dsMBean);
} catch (Exception ex) {
throw new SQLException(ex.toString());
public static void main(String args[]) {
DynamicDataSource dds = new DynamicDataSource();
try {
dds.createDataSource();
dds.createConnection();
dds.deleteDataSource();
} catch (SQLException ex) {
ex.printStackTrace();
"Fahd" <[email protected]> wrote in message
news:[email protected]...
>
I am trying to create datasources dynamically. Using an example from aprevious
post,
mbeanHome = lookupMBeanHome();
JDBCDataSourceMBean dsMBean =(JDBCDataSourceMBean)mbeanHome.createAdminMBean(poolName,"JDBCDataSource",
mbeanHome.getDomainName());
dsMBean.setJNDIName(poolName);
dsMBean.setPoolName(poolName);
dsMBean.addTarget(tserverMBean);
dsMBean.setPersistenceEnabled(false);
How can I retrieve the proper TargetMBean reference to send to theaddTarget method.
>
>
Does anyone know where I can find an entire class example of dynamicallycreating
datasources, or something similar.
Thanks in advance,
Fahd -
Hi
This script is creating log file in the ext directory. How to avoid it. Can you specify the syntex.
Thanks alot.
Bhaskar
CREATE TABLE datfiles_list
(file_name varchar2(255))
ORGANIZATION EXTERNAL
(TYPE ORACLE_LOADER
DEFAULT DIRECTORY ext_dir
ACCESS PARAMETERS (RECORDS DELIMITED BY NEWLINE)
LOCATION ('datfiles_list.txt')
);Just answered in your Avoid creation of log file for external table. Please do not make multiple posts in different forums.
-
E- Recruitment 600 - External candidate creation
Hi All,
I created internal candidate and iam able to view the start pages of the internal candidate.
But when followed the similar steps to create external candidate iam facing lot of issues starting from User creation. can anyone share their inputs wrt ext candidate user creation and its related portal page.
thanks in advance.
kind regards
saipriyanHello Sai,
of course you are right that the standard functions to create an external candidte differ from creating an internal one. In the production scenarios there are basically 3 ways to create an external candidate:
- The candidate uses the registration where he registers to the candidate pool without actually applying to a position
- The candidate uses the unregistered search and applies for a position. In the process of applying the candidate is created
- The recruiter uses the minimum data entry functionality accessable through a link on his startpage to enter a hardcopy application into the system
These 3 scenarios are available for creating the external candidate but each of them requires a certain amount of configuration (e.g. unregistered search requires a properly set up TREX search engine) which usually takes some time.
On the very beginning of a project when the servers are installed and the basic configurations have been done, I usually test all standard start pages to see if the basic settings are ok. In this case all I want is the ability to log in and call the startpages. Then I use the described approach to just give an internal candidate which is usually my test user the authorization for the external startpage and I set the username as Alias so I can call the page. Of course next steps are creating the first requsition / posting / publication and test the application wizard (as said this requires the TREX set up or some help report to generate a direct application link). But overall for me I find it very handy to ba able to log on to all internal and external applications with my test user so I do not need to remember several logins as long I do not start testing full scenarios with applied authorization.
Best Regards
Roman Weise -
Fill Grid with external datasource
Someone to loaded data from external database to a grid in SAP BO with SDK
I need to show data from a external system with MySQL to transfer the purchase orders to SAP
Best Regards
ClaudioHere's a little piece of code to work with. You have to code your part for loading for your datasource and then pass the value to each UserDataSource.
Try
Dim oForm As SAPbouiCOM.Form
Dim oMatrix As SAPbouiCOM.Matrix
'Load your Data on a DataSet or other DataSource method
oMatrix.Clear()
For Each oColumn As SAPbouiCOM.Column In oMatrix.Columns 'Bind your columns
Dim strColumn As String = Replace(Replace(oColumn.UniqueID, "U_", ""), "UD", "")
If oColumn.UniqueID = "#" Or Left(oColumn.UniqueID, 2) = "V_" Then
Else
Try
oForm.DataSources.UserDataSources.Item("UD" & Replace(strCOlumn, "U_", ""))
Catch ex As Exception
Select Case rst.Fields.Item(strCOlumn).Type
Case SAPbobsCOM.BoFieldTypes.db_Alpha : oForm.DataSources.UserDataSources.Add("UD" & Replace(strCOlumn, "U_", ""), SAPbouiCOM.BoDataType.dt_SHORT_TEXT, rst.Fields.Item(strCOlumn).Size)
Case SAPbobsCOM.BoFieldTypes.db_Memo : oForm.DataSources.UserDataSources.Add("UD" & Replace(strCOlumn, "U_", ""), SAPbouiCOM.BoDataType.dt_LONG_TEXT, rst.Fields.Item(strCOlumn).Size)
Case SAPbobsCOM.BoFieldTypes.db_Date : oForm.DataSources.UserDataSources.Add("UD" & Replace(strCOlumn, "U_", ""), SAPbouiCOM.BoDataType.dt_DATE, rst.Fields.Item(strCOlumn).Size)
Case SAPbobsCOM.BoFieldTypes.db_Float
Select Case rst.Fields.Item(strCOlumn).SubType
Case SAPbobsCOM.BoFldSubTypes.st_None : oForm.DataSources.UserDataSources.Add("UD" & Replace(strCOlumn, "U_", ""), SAPbouiCOM.BoDataType.dt_QUANTITY, rst.Fields.Item(strCOlumn).Size)
Case SAPbobsCOM.BoFldSubTypes.st_Measurement : oForm.DataSources.UserDataSources.Add("UD" & Replace(strCOlumn, "U_", ""), SAPbouiCOM.BoDataType.dt_MEASURE, rst.Fields.Item(strCOlumn).Size)
Case SAPbobsCOM.BoFldSubTypes.st_Percentage : oForm.DataSources.UserDataSources.Add("UD" & Replace(strCOlumn, "U_", ""), SAPbouiCOM.BoDataType.dt_PERCENT, rst.Fields.Item(strColumn).Size)
Case SAPbobsCOM.BoFldSubTypes.st_Price : oForm.DataSources.UserDataSources.Add("UD" & Replace(strCOlumn, "U_", ""), SAPbouiCOM.BoDataType.dt_PRICE, rst.Fields.Item(strColumn).Size)
Case SAPbobsCOM.BoFldSubTypes.st_Quantity : oForm.DataSources.UserDataSources.Add("UD" & Replace(strColumn, "U_", ""), SAPbouiCOM.BoDataType.dt_QUANTITY, rst.Fields.Item(strCOlumn).Size)
Case SAPbobsCOM.BoFldSubTypes.st_Rate : oForm.DataSources.UserDataSources.Add("UD" & Replace(strCOlumn, "U_", ""), SAPbouiCOM.BoDataType.dt_RATE, rst.Fields.Item(strCOlumn).Size)
Case SAPbobsCOM.BoFldSubTypes.st_Sum : oForm.DataSources.UserDataSources.Add("UD" & Replace(strCOlumn, "U_", ""), SAPbouiCOM.BoDataType.dt_SUM, rst.Fields.Item(strCOlumn).Size)
End Select
Case SAPbobsCOM.BoFieldTypes.db_Numeric : oForm.DataSources.UserDataSources.Add("UD" & Replace(strCOlumn, "U_", ""), SAPbouiCOM.BoDataType.dt_SHORT_NUMBER, rst.Fields.Item(strCOlumn).Size)
End Select
End Try
oColumn.DataBind.SetBound(True, "", "UD" & oColumn.UniqueID)
oForm.DataSources.UserDataSources.Item("UD" & Replace(strCOlumn, "U_", "")).Value = ""
End If
Next
For i As Int32 = 1 To rst.RecordCount 'load your data here
For Each oColumn As SAPbouiCOM.Column In oMatrix.Columns
If oColumn.UniqueID = "#" Or Left(oColumn.UniqueID, 2) = "V_" Then
'do nothing
Else
If Len(oColumn.DataBind.Alias) > 0 Then
Select Case rst.Fields.Item(strFieldName).Type
Case SAPbobsCOM.BoFieldTypes.db_Date
oForm.DataSources.UserDataSources.Item(oColumn.DataBind.Alias).Value = rst.Fields.Item(strFieldName)
Case Else
oForm.DataSources.UserDataSources.Item(oColumn.DataBind.Alias).Value = rst.Fields.Item(strFieldName).Value
End Select
End If
End If
Next
oMatrix.AddRow(1)
oMatrix.SetLineData(i)
rst.MoveNext()
Next
Catch ex As Exception
SBO_Application.MessageBox("Error on column : " & " - " & ex.Message)
End Try -
Can XI Pro link to external datasources to validate data?
I am testing out XI Pro and FormsCentral and wondering if XI Pro is able to either automatically number a form field (like invoice number) or can it pull from a datasource to know that a number has already been used...no duplicates etc?
Thanks,
DYou can only append SSOToken in the URL...
Then in your external web app:
1. Validate SSO Token and you can get current login if the token hasn't expired
2. SSO Token login. It will return a jessionid
3. Establish a session in your app or use stateless web service call
Please refer to OnDemWebSvcs.pdf to find detailed usage. The latest version is R19.
Thanks,
P -
Generic datasource creation in IS-HTCM
Gurus
Has anyone worked with IS-HTCM on CRM? and creating of reports with HTCM as source system?
We want to create a few generic Datasources ....BWA1 is one option and RSO2 is the other...But can the BWA1 concept of CRM be tried in HTCM as well? or do we have to resort to RSO2?
Thanks in advance
Regards
PrakashHi Prakash,
for generic datasources the transaction will be rso2 in all systems.
Siggi
Maybe you are looking for
-
Hi Masters, In SM37 I seen that 3 jobs were cancelled. Pls see below: ====== Job started Step 001 started (program RSSTAT1, variant &0000000002410, user name ALEREMOTE) Log:Programm RSSTAT1; Request REQU_3ZAF2Q2IY0EE5RZCTYPE2FCAT; Status ; Action Sta
-
Itunes 10 crashes when streaming from NAS
I know many of you have this problem. I'm just starting a new topic to keep this issue visible because I'm ****** off! Apple, listen to us! I've reverted to Itunes 9--stop treating music lovers like sh*t!
-
Hi SAP Gurus.... Could you all plz help me to map in SAP..MM..Its very critical need to provide solution to my client ASAP 1. Client procures two types of products from ABC Dubai namely, A and B products. 2. The products under warranty are be
-
Hi All, I have a HTTP to webservice scenario currently running in production , i.e ., From the HTTP Application user sends a request to XI . XI makes a SOAP call and sends the request back to HTTP Application . now I have a new requireme
-
If the app is free, why ask me for my appleID and password. I tried to download FB Messenger for example. Just got my phone today so I have mountains of questions !!