Lower performance for select in our setup

We are currently doing performance testing for timesten for 2000 users. The application is a java project and is deployed on weblogic server. We are facing very poor performance with timesten. The response time for the same code with Oracle db is 0.116 second , however with timesten it is coming about 9 seconds.
We have tried both the client-server connection as well as direct connection .
The sql query is just a select statement which gets the count of records from the database . Our requirement is read only and we are not writing anything in timesten . We are caching data from oracle db in timesten tables and running our query on it .
The details of the environment and the timesten database are as follows.
1.)Timesten is intalled on RHEL 5 64 bit machine . The output of ttversion of the same is
TimesTen Release 11.2.1.9.0 (64 bit Linux/x86_64) (TTEAG:23388) 2012-03-19T21:35:54Z
Instance admin: tteag
Instance home directory: /timestendb/TimesTen/TTEAG
Group owner: ttadmin
Daemon home directory: /timestendb/TimesTen/TTEAG/info
PL/SQL enabled.
2.)This machine has currently 10 cpu . The cpu details is
processor     : 0
vendor_id     : GenuineIntel
cpu family     : 6
model          : 44
model name     : Intel(R) Xeon(R) CPU X5675 @ 3.07GHz
stepping     : 2
cpu MHz          : 3066.886
cache size     : 12288 KB
physical id     : 1
siblings     : 5
core id          : 0
cpu cores     : 5
apicid          : 32
fpu          : yes
fpu_exception     : yes
cpuid level     : 11
wp          : yes
flags          : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx pdpe1gb rdtscp lm constant_tsc ida nonstop_tsc arat pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm
bogomips     : 6133.77
clflush size     : 64
cache_alignment     : 64
address sizes     : 40 bits physical, 48 bits virtual
power management: [8]
3.)The memory details for the machine are :-
MemTotal: 148449320 kB
MemFree: 45912888 kB
Buffers: 941548 kB
Cached: 94945804 kB
SwapCached: 48 kB
Active: 93980700 kB
Inactive: 5289636 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 148449320 kB
LowFree: 45912888 kB
SwapTotal: 147455984 kB
SwapFree: 147455732 kB
Dirty: 616 kB
Writeback: 412 kB
AnonPages: 3383108 kB
Mapped: 298540 kB
Slab: 2848180 kB
PageTables: 19772 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
CommitLimit: 221549572 kB
Committed_AS: 102509964 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 340988 kB
VmallocChunk: 34359395635 kB
HugePages_Total: 128
HugePages_Free: 96
HugePages_Rsvd: 0
Hugepagesize: 2048 kB
4.)We have permanent and temporary both databases.
4 a )The dsn entry for permanent timesten db is :-
[TTEAG]
Driver=/timestendb/TimesTen/TTEAG/lib/libtten.so
DataStore=/timesten03/TimesTen/database/TTEAG/TT_1121
LogDir=/timesten04/TimesTen/logs/TTEAG
PermSize=50000
TempSize=2000
DatabaseCharacterSet=AL32UTF8
OracleNetServiceName=EAG
Connections=2047
#MemoryLock=4
PLSQL=1
Output of monitor command for it
Command> monitor;
TIME_OF_1ST_CONNECT: Wed Sep 12 14:39:40 2012
DS_CONNECTS: 1574
DS_DISCONNECTS: 799
DS_CHECKPOINTS: 746
DS_CHECKPOINTS_FUZZY: 746
DS_COMPACTS: 0
PERM_ALLOCATED_SIZE: 51200000
PERM_IN_USE_SIZE: 70188
PERM_IN_USE_HIGH_WATER: 70188
TEMP_ALLOCATED_SIZE: 2048000
TEMP_IN_USE_SIZE: 26561
TEMP_IN_USE_HIGH_WATER: 869386
SYS18: 0
TPL_FETCHES: 0
TPL_EXECS: 0
CACHE_HITS: 0
PASSTHROUGH_COUNT: 0
XACT_BEGINS: 738998
XACT_COMMITS: 739114
XACT_D_COMMITS: 0
XACT_ROLLBACKS: 0
LOG_FORCES: 746
DEADLOCKS: 0
LOCK_TIMEOUTS: 0
LOCK_GRANTS_IMMED: 765835
LOCK_GRANTS_WAIT: 0
SYS19: 0
CMD_PREPARES: 13
CMD_REPREPARES: 0
CMD_TEMP_INDEXES: 0
LAST_LOG_FILE: 1
REPHOLD_LOG_FILE: -1
REPHOLD_LOG_OFF: -1
REP_XACT_COUNT: 0
REP_CONFLICT_COUNT: 0
REP_PEER_CONNECTIONS: 0
REP_PEER_RETRIES: 0
FIRST_LOG_FILE: 1
LOG_BYTES_TO_LOG_BUFFER: 305952
LOG_FS_READS: 0
LOG_FS_WRITES: 747
LOG_BUFFER_WAITS: 0
CHECKPOINT_BYTES_WRITTEN: 955832
CURSOR_OPENS: 727934
CURSOR_CLOSES: 728366
SYS3: 0
SYS4: 0
SYS5: 0
SYS6: 0
CHECKPOINT_BLOCKS_WRITTEN: 6739
CHECKPOINT_WRITES: 9711
REQUIRED_RECOVERY: 0
SYS11: 0
SYS12: 1
TYPE_MODE: 0
SYS13: 0
SYS14: 0
SYS15: 0
SYS16: 0
SYS17: 0
SYS9:
4 b.) The dsn of temporary db is :-
[TTEAGTMP]
Driver=/timestendb/TimesTen/TTEAG/lib/libtten.so
DataStore=/timesten03/TimesTen/database/TTEAGTMP/TT_1121
LogDir=/timesten04/TimesTen/logs/TTEAGTMP
Temporary=1
AutoCreate=1
PermSize=20000
TempSize=20000
DatabaseCharacterSet=AL32UTF8
OracleNetServiceName=EAG
Connections=2047
#MemoryLock=4
PLSQL=2
PLSQL_MEMORY_ADDRESS=20000000
The output of monitor command is :-
Command> monitor;
TIME_OF_1ST_CONNECT: Tue Sep 11 14:00:34 2012
DS_CONNECTS: 4609
DS_DISCONNECTS: 4249
DS_CHECKPOINTS: 894
DS_CHECKPOINTS_FUZZY: 893
DS_COMPACTS: 0
PERM_ALLOCATED_SIZE: 20480000
PERM_IN_USE_SIZE: 70198
PERM_IN_USE_HIGH_WATER: 70560
TEMP_ALLOCATED_SIZE: 20480000
TEMP_IN_USE_SIZE: 15856
TEMP_IN_USE_HIGH_WATER: 326869
SYS18: 0
TPL_FETCHES: 0
TPL_EXECS: 0
CACHE_HITS: 0
PASSTHROUGH_COUNT: 0
XACT_BEGINS: 1005281
XACT_COMMITS: 1005661
XACT_D_COMMITS: 0
XACT_ROLLBACKS: 6
LOG_FORCES: 8
DEADLOCKS: 0
LOCK_TIMEOUTS: 8
LOCK_GRANTS_IMMED: 2031645
LOCK_GRANTS_WAIT: 2
SYS19: 0
CMD_PREPARES: 149
CMD_REPREPARES: 0
CMD_TEMP_INDEXES: 0
LAST_LOG_FILE: 0
REPHOLD_LOG_FILE: -1
REPHOLD_LOG_OFF: -1
REP_XACT_COUNT: 0
REP_CONFLICT_COUNT: 0
REP_PEER_CONNECTIONS: 0
REP_PEER_RETRIES: 0
FIRST_LOG_FILE: 0
LOG_BYTES_TO_LOG_BUFFER: 12515480
LOG_FS_READS: 0
LOG_FS_WRITES: 36
LOG_BUFFER_WAITS: 0
CHECKPOINT_BYTES_WRITTEN: 0
CURSOR_OPENS: 928766
CURSOR_CLOSES: 929343
SYS3: 0
SYS4: 0
SYS5: 0
SYS6: 0
CHECKPOINT_BLOCKS_WRITTEN: 0
CHECKPOINT_WRITES: 0
REQUIRED_RECOVERY: 0
SYS11: 0
SYS12: 1
TYPE_MODE: 0
SYS13: 0
SYS14: 0
SYS15: 0
SYS16: 0
SYS17: 0
SYS9:
5.)The weblogic installed is version 10.3.4 . There are three managed servers in it and they are in a cluster . The timesten data source is created in the weblogic . The application uses the jndi name to connect to the data source using jdbc driver .
6 .) Cache groups
We have 7 cachegroups created for the 7 tables. Indexes have also been created on the tables which are same as the source oracle db from where data is cached .
The cachegroups details is :-
Cache Group CACHEADM.PROCESS_INSTANCE_B_T_UG:
Cache Group Type: User Managed
Autorefresh: Yes
Autorefresh Mode: Incremental
Autorefresh State: On
Autorefresh Interval: 1 Minute
Autorefresh Status: ok
Aging: No aging defined
Root Table: EAGBE00.PROCESS_INSTANCE_B_T
Table Type: Propagate
7.)For client server connection. On the client machine weblogic 10.3.4 is installed with two managed servers .
The ttversion for timesten client is :-
TimesTen Release 11.2.1.9.0 (64 bit HPUX/IPF) (TTEAG) 2012-03-20T00:45:11Z
Instance home directory: /globalapp/app/TimesTen/TTEAG
Group owner: oinstall
8.) The oracle database is 10.2.0.4.0
Please let us know if you see anything wrong with this setup or if we are doing something wrong.

Please find the details as follows split in two posts:-
1. Full cache group definition including any additional indexes you have created (e.g.
ones from Oracle DB)
a.) Cache group details – total 7
create USERMANAGED cache group TASK_INSTANCE_T_UG
AUTOREFRESH MODE INCREMENTAL INTERVAL 1 MINUTES STATE ON
from eagbe00.TASK_INSTANCE_T
TKIID varbinary(16) not null primary key,
NAME VARCHAR2(220) not null,
NAMESPACE VARCHAR2(254) not null,
TKTID varbinary(16),
TOP_TKIID varbinary(16) not null,
FOLLOW_ON_TKIID varbinary(16),
APPLICATION_NAME VARCHAR2(220),
APPLICATION_DEFAULTS_ID varbinary(16),
CONTAINMENT_CONTEXT_ID varbinary(16),
PARENT_CONTEXT_ID varbinary(16),
STATE NUMBER(10) not null,
KIND NUMBER(10) not null,
AUTO_DELETE_MODE NUMBER(10) not null,
HIERARCHY_POSITION NUMBER(10) not null,
TYPE VARCHAR2(254),
SVTID varbinary(16),
SUPPORTS_CLAIM_SUSPENDED NUMBER(5) not null,
SUPPORTS_AUTO_CLAIM NUMBER(5) not null,
SUPPORTS_FOLLOW_ON_TASK NUMBER(5) not null,
IS_AD_HOC NUMBER(5) not null,
IS_ESCALATED NUMBER(5) not null,
IS_INLINE NUMBER(5) not null,
IS_SUSPENDED NUMBER(5) not null,
IS_WAITING_FOR_SUBTASK NUMBER(5) not null,
SUPPORTS_DELEGATION NUMBER(5) not null,
SUPPORTS_SUB_TASK NUMBER(5) not null,
IS_CHILD NUMBER(5) not null,
HAS_ESCALATIONS NUMBER(5),
START_TIME TIMESTAMP(6),
ACTIVATION_TIME TIMESTAMP(6),
LAST_MODIFICATION_TIME TIMESTAMP(6),
LAST_STATE_CHANGE_TIME TIMESTAMP(6),
COMPLETION_TIME TIMESTAMP(6),
DUE_TIME TIMESTAMP(6),
EXPIRATION_TIME TIMESTAMP(6),
FIRST_ACTIVATION_TIME TIMESTAMP(6),
DEFAULT_LOCALE VARCHAR2(32),
DURATION_UNTIL_DELETED VARCHAR2(254),
DURATION_UNTIL_DUE VARCHAR2(254),
DURATION_UNTIL_EXPIRES VARCHAR2(254),
CALENDAR_NAME VARCHAR2(254),
JNDI_NAME_CALENDAR VARCHAR2(254),
JNDI_NAME_STAFF_PROVIDER VARCHAR2(254),
CONTEXT_AUTHORIZATION NUMBER(10) not null,
ORIGINATOR VARCHAR2(128),
STARTER VARCHAR2(128),
OWNER VARCHAR2(128),
ADMIN_QTID varbinary(16),
EDITOR_QTID varbinary(16),
POTENTIAL_OWNER_QTID varbinary(16),
POTENTIAL_STARTER_QTID varbinary(16),
READER_QTID varbinary(16),
PRIORITY NUMBER(10),
SCHEDULER_ID VARCHAR2(254),
SERVICE_TICKET VARCHAR2(254),
EVENT_HANDLER_NAME VARCHAR2(64),
BUSINESS_RELEVANCE NUMBER(5) not null,
RESUMES TIMESTAMP(6),
SUBSTITUTION_POLICY NUMBER(10) not null,
DELETION_TIME TIMESTAMP(6),
VERSION_ID NUMBER(5) not null,
PROPAGATE
create USERMANAGED cache group WORK_ITEM_T_UG
AUTOREFRESH MODE INCREMENTAL INTERVAL 1 MINUTES STATE ON
from eagbe00.WORK_ITEM_T
WIID varbinary(16) not null primary key,
PARENT_WIID varbinary(16),
OWNER_ID VARCHAR2(128),
GROUP_NAME VARCHAR2(128),
EVERYBODY NUMBER(5) not null,
EXCLUDE NUMBER(5) not null,
QIID varbinary(16),
OBJECT_TYPE NUMBER(10) not null,
OBJECT_ID varbinary(16) not null,
ASSOCIATED_OBJECT_TYPE NUMBER(10) not null,
ASSOCIATED_OID varbinary(16),
REASON NUMBER(10) not null,
CREATION_TIME TIMESTAMP(6) not null,
KIND NUMBER(10) not null,
AUTH_INFO NUMBER(10) not null,
VERSION_ID NUMBER(5) not null,
PROPAGATE
create USERMANAGED cache group RETRIEVED_USER_T_UG
AUTOREFRESH MODE INCREMENTAL INTERVAL 1 MINUTES STATE ON
from eagbe00.RETRIEVED_USER_T
QIID varbinary(16) not null,
OWNER_ID VARCHAR2(128) not null,
REASON NUMBER(10) not null,
ASSOCIATED_OID varbinary(16),
VERSION_ID NUMBER(5) not null,
primary key (QIID, OWNER_ID),
PROPAGATE
create USERMANAGED cache group PROCESS_INSTANCE_B_T_UG
AUTOREFRESH MODE INCREMENTAL INTERVAL 1 MINUTES STATE ON
from eagbe00.PROCESS_INSTANCE_B_T
PIID varbinary(16) not null primary key,
PTID varbinary(16) not null,
STATE NUMBER(10) not null,
PENDING_REQUEST NUMBER(10) not null,
CREATED TIMESTAMP(6),
STARTED TIMESTAMP(6),
COMPLETED TIMESTAMP(6),
LAST_STATE_CHANGE TIMESTAMP(6),
LAST_MODIFIED TIMESTAMP(6),
NAME VARCHAR2(220) not null,
PARENT_NAME VARCHAR2(220),
TOP_LEVEL_NAME VARCHAR2(220) not null,
COMPENSATION_SPHERE_NAME VARCHAR2(100),
STARTER VARCHAR2(128),
DESCRIPTION VARCHAR2(254),
INPUT_SNID varbinary(16),
INPUT_ATID varbinary(16),
INPUT_VTID varbinary(16),
OUTPUT_SNID varbinary(16),
OUTPUT_ATID varbinary(16),
OUTPUT_VTID varbinary(16),
FAULT_NAME VARCHAR2(254),
TOP_LEVEL_PIID varbinary(16) not null,
PARENT_PIID varbinary(16),
PARENT_AIID varbinary(16),
TKIID varbinary(16),
TERMIN_ON_REC NUMBER(5) not null,
AWAITED_SUB_PROC NUMBER(5) not null,
IS_CREATING NUMBER(5) not null,
PREVIOUS_STATE NUMBER(10),
EXECUTING_ISOLATED_SCOPE NUMBER(5) not null,
SCHEDULER_TASK_ID VARCHAR2(254),
RESUMES TIMESTAMP(6),
PENDING_SKIP_REQUEST NUMBER(5) not null,
UNHANDLED_EXCEPTION VARBINARY(16),
VERSION_ID NUMBER(5) not null,
PROPAGATE
create USERMANAGED cache group PROCESS_TEMPLATE_B_T_UG
AUTOREFRESH MODE INCREMENTAL INTERVAL 1 MINUTES STATE ON
from eagbe00.PROCESS_TEMPLATE_B_T
PTID varbinary(16) not null primary key,
NAME VARCHAR2(220) not null,
DEFINITION_NAME VARCHAR2(220),
DISPLAY_NAME VARCHAR2(64),
APPLICATION_NAME VARCHAR2(220),
DISPLAY_ID NUMBER(10) not null,
DESCRIPTION VARCHAR2(254),
DOCUMENTATION varchar2(4),
EXECUTION_MODE NUMBER(10) not null,
IS_SHARED NUMBER(5) not null,
IS_AD_HOC NUMBER(5) not null,
STATE NUMBER(10) not null,
VALID_FROM TIMESTAMP(6) not null,
TARGET_NAMESPACE VARCHAR2(250),
CREATED TIMESTAMP(6) not null,
AUTO_DELETE NUMBER(5) not null,
EXTENDED_AUTO_DELETE NUMBER(10) not null,
VERSION VARCHAR2(32),
SCHEMA_VERSION NUMBER(10) not null,
ABSTRACT_BASE_NAME VARCHAR2(254),
S_BEAN_LOOKUP_NAME VARCHAR2(254),
S_BEAN60_LOOKUP_NAME VARCHAR2(254),
E_BEAN_LOOKUP_NAME VARCHAR2(254),
PROCESS_BASE_NAME VARCHAR2(254),
S_BEAN_HOME_NAME VARCHAR2(254),
E_BEAN_HOME_NAME VARCHAR2(254),
BPEWS_UTID varbinary(16),
WPC_UTID varbinary(16),
BUSINESS_RELEVANCE NUMBER(5) not null,
ADMINISTRATOR_QTID varbinary(16),
READER_QTID varbinary(16),
A_TKTID varbinary(16),
A_TKTIDFOR_ACTS varbinary(16),
COMPENSATION_SPHERE NUMBER(10) not null,
AUTONOMY NUMBER(10) not null,
CAN_CALL NUMBER(5) not null,
CAN_INITIATE NUMBER(5) not null,
CONTINUE_ON_ERROR NUMBER(5) not null,
IGNORE_MISSING_DATA NUMBER(10) not null,
PROPAGATE
create USERMANAGED cache group TASK_TEMPL_LDESC_T_UG
AUTOREFRESH MODE INCREMENTAL INTERVAL 1 MINUTES STATE ON
from eagbe00.TASK_TEMPL_LDESC_T
TKTID varbinary(16) not null,
LOCALE VARCHAR2(32) not null,
CONTAINMENT_CONTEXT_ID varbinary(16) not null,
DISPLAY_NAME VARCHAR2(64),
DESCRIPTION VARCHAR2(254),
DOCUMENTATION varchar2(4) ,
primary key (TKTID, LOCALE),
PROPAGATE
create USERMANAGED cache group QUERY_VAR_INSTANCE_T_UG
AUTOREFRESH MODE INCREMENTAL INTERVAL 1 MINUTES STATE ON
from eagbe00.QUERYABLE_VARIABLE_INSTANCE_T
PKID varbinary(16) not null primary key,
CTID varbinary(16) not null,
PIID varbinary(16) not null,
PAID varbinary(16) not null,
VARIABLE_NAME VARCHAR2(254) not null,
PROPERTY_NAME VARCHAR2(255) not null,
PROPERTY_NAMESPACE VARCHAR2(254) not null,
TYPE NUMBER(10) not null,
GENERIC_VALUE VARCHAR2(512),
STRING_VALUE VARCHAR2(512),
NUMBER_VALUE NUMBER(20),
DECIMAL_VALUE NUMBER,
TIMESTAMP_VALUE TIMESTAMP(6),
VERSION_ID NUMBER(5) not null,
PROPAGATE
select count(1) from eagbe00.task, eagbe00.work_item, eagbe00.process_instance pi,eagbe00.TASK_TEMPL_DESC
where WORK_ITEM.OBJECT_ID = TASK.TKIID AND TASK.TKTID = TASK_TEMPL_DESC.TKTID
AND pi.piid = TASK.containment_ctx_id AND TASK.KIND = 105 AND TASK.STATE = 2
and WORK_ITEM.REASON IN (1,4) and TASK.IS_ESCALATED = 0 AND TASK.SUSPENDED = 0
and TASK.IS_INLINE = 1
AND WORK_ITEM.OWNER_ID = '169403'
SELECT count(1 )
FROM (SELECT DISTINCT TA.TKIID , TA.ACTIVATED , TA.COMPLETED , TTD.DISPLAY_NAME , TA.ORIGINATOR ,
TA.STATE ,QP1.NAME ,QP1.STRING_VALUE ,QP2.NAME AS NAME1,QP2.STRING_VALUE AS STRING_VALUE1,
QP3.NAME AS NAME2,QP3.STRING_VALUE AS STRING_VALUE2,QP4.NAME AS NAME3,QP4.STRING_VALUE AS STRING_VALUE3,
QP5.NAME AS NAME4,QP5.STRING_VALUE AS STRING_VALUE4
FROM EAGBE00.TASK TA
LEFT JOIN EAGBE00.QUERY_PROPERTY QP3 ON (TA.CONTAINMENT_CTX_ID = QP3.PIID)
LEFT JOIN EAGBE00.QUERY_PROPERTY QP5 ON (TA.CONTAINMENT_CTX_ID = QP5.PIID)
LEFT JOIN EAGBE00.QUERY_PROPERTY QP4 ON (TA.CONTAINMENT_CTX_ID = QP4.PIID)
LEFT JOIN EAGBE00.QUERY_PROPERTY QP2 ON (TA.CONTAINMENT_CTX_ID = QP2.PIID)
LEFT JOIN EAGBE00.QUERY_PROPERTY QP1 ON (TA.CONTAINMENT_CTX_ID = QP1.PIID),
EAGBE00.WORK_ITEM WI,
EAGBE00.TASK_TEMPL_DESC TTD
WHERE (WI.OBJECT_ID = TA.TKIID AND TA.TKTID = TTD.TKTID) AND (TA.KIND IN (105 ) and TA.STATE IN (2 ,8 )
and TA.IS_ESCALATED =0 and TA.SUSPENDED =0 and TA.IS_INLINE =1 and WI.REASON IN (1 ,4 )
AND WI.EVERYBODY =0 and QP1.NAME ='starter'
and QP2.NAME ='applicationName' and upper(QP2.STRING_VALUE) like '%GESS%'
and QP3.NAME ='subType' and QP4.NAME ='description' and QP5.NAME ='additionalInfo' and WI.OWNER_ID ='169403' )
ORDER BY TA.ACTIVATED DESC)
CREATE USERMANAGED CACHE GROUP WORK_ITEM_TIMESTEN_UG
AUTOREFRESH MODE INCREMENTAL INTERVAL 1 MINUTES STATE ON FROM
EAGBE00.WORK_ITEM_TIMESTEN
(WIID VARBINARY(16) ,
PARENT_WIID VARBINARY(16),
OWNER_ID VARCHAR2(128),
GROUP_NAME VARCHAR2(128),
EVERYBODY NUMBER(5) ,
EXCLUDE NUMBER(5) ,
QIID VARBINARY(16),
OBJECT_TYPE NUMBER(10) ,
OBJECT_ID VARBINARY(16) ,
ASSOCIATED_OBJECT_TYPE NUMBER(10) ,
ASSOCIATED_OID VARBINARY(16),
REASON NUMBER(10) ,
CREATION_TIME TIMESTAMP(6) ,
KIND NUMBER(10) ,
AUTH_INFO NUMBER(10) ,
VERSION_ID NUMBER(5),
SEQ_NO_PK NUMBER(6),
primary key (SEQ_NO_PK),
PROPAGATE
b .) Indexes
create index EAGBE00.TI_ACOID on EAGBE00.TASK_INSTANCE_T (APPLICATION_DEFAULTS_ID);
create index EAGBE00.TI_CCID on EAGBE00.TASK_INSTANCE_T (CONTAINMENT_CONTEXT_ID);
create index EAGBE00.TI_NAME on EAGBE00.TASK_INSTANCE_T (NAME);
create index EAGBE00.TI_PARENT on EAGBE00.TASK_INSTANCE_T (PARENT_CONTEXT_ID);
create index EAGBE00.TI_SERVICET on EAGBE00.TASK_INSTANCE_T (SERVICE_TICKET);
create index EAGBE00.TI_STATE on EAGBE00.TASK_INSTANCE_T (STATE);
create index EAGBE00.TI_ST_KND_TI_NAME on EAGBE00.TASK_INSTANCE_T (STATE, KIND, TKIID, NAME);
create index EAGBE00.TI_TI_KND_ST on EAGBE00.TASK_INSTANCE_T (TKIID, KIND, STATE);
create index EAGBE00.TI_TK_TOPTK on EAGBE00.TASK_INSTANCE_T (TKTID, TKIID, TOP_TKIID);
create index EAGBE00.TI_TOPTKIID on EAGBE00.TASK_INSTANCE_T (TOP_TKIID);
create index EAGBE00.TI_TT_KND on EAGBE00.TASK_INSTANCE_T (TKTID, KIND);
create index EAGBE00.WI_ASSOBJ_REASON on EAGBE00.WORK_ITEM_T (ASSOCIATED_OID, ASSOCIATED_OBJECT_TYPE, REASON, PARENT_WIID);
create index EAGBE00.WI_AUTH_E on EAGBE00.WORK_ITEM_T (AUTH_INFO, EVERYBODY);
create index EAGBE00.WI_AUTH_G on EAGBE00.WORK_ITEM_T (AUTH_INFO, GROUP_NAME);
create index EAGBE00.WI_AUTH_GR_O_E on EAGBE00.WORK_ITEM_T (AUTH_INFO, GROUP_NAME, OWNER_ID, EVERYBODY);
create index EAGBE00.WI_AUTH_L on EAGBE00.WORK_ITEM_T (EVERYBODY, GROUP_NAME, OWNER_ID, QIID);
create index EAGBE00.WI_AUTH_O on EAGBE00.WORK_ITEM_T (AUTH_INFO, OWNER_ID DESC);
create index EAGBE00.WI_AUTH_R on EAGBE00.WORK_ITEM_T (AUTH_INFO, REASON DESC);
create index EAGBE00.WI_AUTH_U on EAGBE00.WORK_ITEM_T (AUTH_INFO, QIID);
create index EAGBE00.WI_GROUP_NAME on EAGBE00.WORK_ITEM_T (GROUP_NAME);
create index EAGBE00.WI_OBJID_TYPE_QIID on EAGBE00.WORK_ITEM_T (OBJECT_ID, OBJECT_TYPE, QIID);
create index EAGBE00.WI_OBJID_TYPE_REAS on EAGBE00.WORK_ITEM_T (OBJECT_ID, OBJECT_TYPE, REASON);
create index EAGBE00.WI_OT_OID_RS on EAGBE00.WORK_ITEM_T (OBJECT_TYPE, OBJECT_ID, REASON);
create index EAGBE00.WI_OWNER on EAGBE00.WORK_ITEM_T (OWNER_ID, OBJECT_ID, REASON, OBJECT_TYPE);
create index EAGBE00.WI_PARENT_WIID on EAGBE00.WORK_ITEM_T (PARENT_WIID);
create index EAGBE00.WI_QIID on EAGBE00.WORK_ITEM_T (QIID);
create index EAGBE00.WI_QI_OID_OWN on EAGBE00.WORK_ITEM_T (QIID, OBJECT_ID, OWNER_ID);
create index EAGBE00.WI_QI_OID_RS_OWN on EAGBE00.WORK_ITEM_T (QIID, OBJECT_ID, REASON, OWNER_ID);
create index EAGBE00.WI_QRY on EAGBE00.WORK_ITEM_T (OBJECT_ID, REASON, EVERYBODY, OWNER_ID);
create index EAGBE00.WI_REASON on EAGBE00.WORK_ITEM_T (REASON);
create index EAGBE00.WI_WI_QI on EAGBE00.WORK_ITEM_T (WIID, QIID);
create index EAGBE00.RUT_ASSOC on EAGBE00.RETRIEVED_USER_T (ASSOCIATED_OID);
create index EAGBE00.RUT_OWN_QIDESC on EAGBE00.RETRIEVED_USER_T (OWNER_ID, QIID DESC);
create index EAGBE00.RUT_OWN_QIID on EAGBE00.RETRIEVED_USER_T (OWNER_ID, QIID);
create index EAGBE00.RUT_QIID on EAGBE00.RETRIEVED_USER_T (QIID);
create unique index EAGBE00.PIB_NAME on EAGBE00.PROCESS_INSTANCE_B_T (NAME);
create index EAGBE00.PIB_PAP on EAGBE00.PROCESS_INSTANCE_B_T (PARENT_PIID);
create index EAGBE00.PIB_PAR on EAGBE00.PROCESS_INSTANCE_B_T (PARENT_AIID);
create index EAGBE00.PIB_PIID_PTID_STAT on EAGBE00.PROCESS_INSTANCE_B_T (PIID, PTID, STATE, STARTER, STARTED);
create index EAGBE00.PIB_PIID_STATE on EAGBE00.PROCESS_INSTANCE_B_T (PIID, STATE);
create index EAGBE00.PIB_PTID on EAGBE00.PROCESS_INSTANCE_B_T (PTID);
create index EAGBE00.PIB_STATE on EAGBE00.PROCESS_INSTANCE_B_T (STATE);
create index EAGBE00.PIB_TOP on EAGBE00.PROCESS_INSTANCE_B_T (TOP_LEVEL_PIID);
create index EAGBE00.PTB_NAME on EAGBE00.PROCESS_TEMPLATE_B_T (PTID, NAME);
create unique index EAGBE00.PTB_NAME_VALID on EAGBE00.PROCESS_TEMPLATE_B_T (NAME, VALID_FROM);
create index EAGBE00.PTB_NAME_VF_STATE on EAGBE00.PROCESS_TEMPLATE_B_T (NAME, VALID_FROM, STATE, PTID);
create index EAGBE00.PTB_STATE_PTID on EAGBE00.PROCESS_TEMPLATE_B_T (STATE, PTID);
create index EAGBE00.PTB_TOP_APP on EAGBE00.PROCESS_TEMPLATE_B_T (APPLICATION_NAME);
create index EAGBE00.TTLD_CCID on EAGBE00.TASK_TEMPL_LDESC_T (CONTAINMENT_CONTEXT_ID);
create index EAGBE00.TTLD_TKTID on EAGBE00.TASK_TEMPL_LDESC_T (TKTID);
create index EAGBE00.TTLD_TT_LOC on EAGBE00.TASK_TEMPL_LDESC_T (TKTID, LOCALE DESC);
create index EAGBE00.QVI_PI_CT_PA on EAGBE00.QUERYABLE_VARIABLE_INSTANCE_T (PIID, CTID, PAID);
create index EAGBE00.QVI_PI_DEC on EAGBE00.QUERYABLE_VARIABLE_INSTANCE_T (PIID, DECIMAL_VALUE);
create index EAGBE00.QVI_PI_GEN_VALUE on EAGBE00.QUERYABLE_VARIABLE_INSTANCE_T (PIID, GENERIC_VALUE);
create index EAGBE00.QVI_PI_NAMESPACE on EAGBE00.QUERYABLE_VARIABLE_INSTANCE_T (PIID, PROPERTY_NAMESPACE);
create index EAGBE00.QVI_PI_NUM on EAGBE00.QUERYABLE_VARIABLE_INSTANCE_T (PIID, NUMBER_VALUE);
create index EAGBE00.QVI_PI_PROPNAME on EAGBE00.QUERYABLE_VARIABLE_INSTANCE_T (PIID, PROPERTY_NAME);
create index EAGBE00.QVI_PI_STR_VALUE on EAGBE00.QUERYABLE_VARIABLE_INSTANCE_T (PIID, STRING_VALUE);
create index EAGBE00.QVI_PI_TIME on EAGBE00.QUERYABLE_VARIABLE_INSTANCE_T (PIID, TIMESTAMP_VALUE);
create index EAGBE00.QVI_PI_VARNAME on EAGBE00.QUERYABLE_VARIABLE_INSTANCE_T (PIID, VARIABLE_NAME);
c.)Views - 5 views
CREATE VIEW EAGBE00.TASK
(tkiid, activated, applic_defaults_id, applic_name, business_relevance, completed, containment_ctx_id,
ctx_authorization, due, expires, first_activated, follow_on_tkiid, is_ad_hoc, is_escalated, is_inline,
is_wait_for_sub_tk, kind, last_modified, last_state_change, name, name_space, originator, owner, parent_context_id,
priority, started, starter, state, support_autoclaim, support_claim_susp, support_delegation, support_sub_task,
support_follow_on, hierarchy_position, is_child, suspended, tktid, top_tkiid, type, resumes)
AS
SELECT TKIID, ACTIVATION_TIME,
APPLICATION_DEFAULTS_ID, APPLICATION_NAME,
BUSINESS_RELEVANCE, COMPLETION_TIME,
CONTAINMENT_CONTEXT_ID, CONTEXT_AUTHORIZATION,
DUE_TIME, EXPIRATION_TIME,
FIRST_ACTIVATION_TIME, FOLLOW_ON_TKIID,
IS_AD_HOC, IS_ESCALATED,
IS_INLINE, IS_WAITING_FOR_SUBTASK,
KIND, LAST_MODIFICATION_TIME,
LAST_STATE_CHANGE_TIME, NAME,
NAMESPACE, ORIGINATOR, OWNER,
PARENT_CONTEXT_ID, PRIORITY, START_TIME,
STARTER, STATE, SUPPORTS_AUTO_CLAIM,
SUPPORTS_CLAIM_SUSPENDED, SUPPORTS_DELEGATION,
SUPPORTS_SUB_TASK, SUPPORTS_FOLLOW_ON_TASK,
HIERARCHY_POSITION, IS_CHILD, IS_SUSPENDED,
TKTID, TOP_TKIID, TYPE,
RESUMES
FROM EAGBE00.TASK_INSTANCE_T
CREATE VIEW EAGBE00.TASK
(tkiid, activated, applic_defaults_id, applic_name, business_relevance, completed, containment_ctx_id,
ctx_authorization, due, expires, first_activated, follow_on_tkiid, is_ad_hoc, is_escalated, is_inline,
is_wait_for_sub_tk, kind, last_modified, last_state_change, name, name_space, originator, owner, parent_context_id,
priority, started, starter, state, support_autoclaim, support_claim_susp, support_delegation, support_sub_task,
support_follow_on, hierarchy_position, is_child, suspended, tktid, top_tkiid, type, resumes)
AS
SELECT TKIID, ACTIVATION_TIME,
APPLICATION_DEFAULTS_ID, APPLICATION_NAME,
BUSINESS_RELEVANCE, COMPLETION_TIME,
CONTAINMENT_CONTEXT_ID, CONTEXT_AUTHORIZATION,
DUE_TIME, EXPIRATION_TIME,
FIRST_ACTIVATION_TIME, FOLLOW_ON_TKIID,
IS_AD_HOC, IS_ESCALATED,
IS_INLINE, IS_WAITING_FOR_SUBTASK,
KIND, LAST_MODIFICATION_TIME,
LAST_STATE_CHANGE_TIME, NAME,
NAMESPACE, ORIGINATOR, OWNER,
PARENT_CONTEXT_ID, PRIORITY, START_TIME,
STARTER, STATE, SUPPORTS_AUTO_CLAIM,
SUPPORTS_CLAIM_SUSPENDED, SUPPORTS_DELEGATION,
SUPPORTS_SUB_TASK, SUPPORTS_FOLLOW_ON_TASK,
HIERARCHY_POSITION, IS_CHILD, IS_SUSPENDED,
TKTID, TOP_TKIID, TYPE,
RESUMES
FROM EAGBE00.TASK_INSTANCE_T
CREATE VIEW EAGBE00.WORK_ITEM
(wiid, owner_id, group_name, everybody, object_type, object_id, assoc_object_type, assoc_oid, reason, creation_time,
qiid, kind)
AS
SELECT WORK_ITEM_T.WIID, WORK_ITEM_T.OWNER_ID, WORK_ITEM_T.GROUP_NAME,
WORK_ITEM_T.EVERYBODY, WORK_ITEM_T.OBJECT_TYPE, WORK_ITEM_T.OBJECT_ID,
WORK_ITEM_T.ASSOCIATED_OBJECT_TYPE, WORK_ITEM_T.ASSOCIATED_OID, WORK_ITEM_T.REASON,
WORK_ITEM_T.CREATION_TIME, WORK_ITEM_T.QIID, WORK_ITEM_T.KIND
FROM EAGBE00.WORK_ITEM_T
WHERE WORK_ITEM_T.AUTH_INFO = 1
UNION ALL SELECT WORK_ITEM_T.WIID, WORK_ITEM_T.OWNER_ID, WORK_ITEM_T.GROUP_NAME,
WORK_ITEM_T.EVERYBODY, WORK_ITEM_T.OBJECT_TYPE, WORK_ITEM_T.OBJECT_ID,
WORK_ITEM_T.ASSOCIATED_OBJECT_TYPE, WORK_ITEM_T.ASSOCIATED_OID, WORK_ITEM_T.REASON,
WORK_ITEM_T.CREATION_TIME, WORK_ITEM_T.QIID, WORK_ITEM_T.KIND
FROM EAGBE00.WORK_ITEM_T
WHERE WORK_ITEM_T.AUTH_INFO = 2
UNION ALL SELECT WORK_ITEM_T.WIID, WORK_ITEM_T.OWNER_ID, WORK_ITEM_T.GROUP_NAME,
WORK_ITEM_T.EVERYBODY, WORK_ITEM_T.OBJECT_TYPE, WORK_ITEM_T.OBJECT_ID,
WORK_ITEM_T.ASSOCIATED_OBJECT_TYPE, WORK_ITEM_T.ASSOCIATED_OID, WORK_ITEM_T.REASON,
WORK_ITEM_T.CREATION_TIME, WORK_ITEM_T.QIID, WORK_ITEM_T.KIND
FROM EAGBE00.WORK_ITEM_T
WHERE WORK_ITEM_T.AUTH_INFO = 3
UNION ALL SELECT WORK_ITEM_T.WIID, RETRIEVED_USER_T.OWNER_ID, WORK_ITEM_T.GROUP_NAME,
WORK_ITEM_T.EVERYBODY, WORK_ITEM_T.OBJECT_TYPE, WORK_ITEM_T.OBJECT_ID,
WORK_ITEM_T.ASSOCIATED_OBJECT_TYPE, WORK_ITEM_T.ASSOCIATED_OID, WORK_ITEM_T.REASON,
WORK_ITEM_T.CREATION_TIME, WORK_ITEM_T.QIID, WORK_ITEM_T.KIND
FROM EAGBE00.WORK_ITEM_T, EAGBE00.RETRIEVED_USER_T
WHERE WORK_ITEM_T.AUTH_INFO = 0 AND WORK_ITEM_T.QIID = RETRIEVED_USER_T.QIID
CREATE VIEW "EAGBE00"."PROCESS_INSTANCE" ("PTID",
"PIID","NAME","STATE","CREATED","STARTED","COMPLETED",
"PARENT_NAME","TOP_LEVEL_NAME","PARENT_PIID","TOP_LEVEL_PIID",
"STARTER","DESCRIPTION","TEMPLATE_NAME","TEMPLATE_DESCR",
"RESUMES","CONTINUE_ON_ERROR") AS
SELECT EAGBE00.PROCESS_INSTANCE_B_T.PTID,
EAGBE00.PROCESS_INSTANCE_B_T.PIID,
EAGBE00.PROCESS_INSTANCE_B_T.NAME,
EAGBE00.PROCESS_INSTANCE_B_T.STATE,
EAGBE00.PROCESS_INSTANCE_B_T.CREATED,
EAGBE00.PROCESS_INSTANCE_B_T.STARTED,
EAGBE00.PROCESS_INSTANCE_B_T.COMPLETED,
EAGBE00.PROCESS_INSTANCE_B_T.PARENT_NAME,
EAGBE00.PROCESS_INSTANCE_B_T.TOP_LEVEL_NAME,
EAGBE00.PROCESS_INSTANCE_B_T.PARENT_PIID,
EAGBE00.PROCESS_INSTANCE_B_T.TOP_LEVEL_PIID,
EAGBE00.PROCESS_INSTANCE_B_T.STARTER,
EAGBE00.PROCESS_INSTANCE_B_T.DESCRIPTION,
EAGBE00.PROCESS_TEMPLATE_B_T.NAME,
EAGBE00.PROCESS_TEMPLATE_B_T.DESCRIPTION,
EAGBE00.PROCESS_INSTANCE_B_T.RESUMES,
EAGBE00.PROCESS_TEMPLATE_B_T.CONTINUE_ON_ERROR
FROM EAGBE00.PROCESS_INSTANCE_B_T,
EAGBE00.PROCESS_TEMPLATE_B_T
WHERE EAGBE00.PROCESS_INSTANCE_B_T.PTID =
EAGBE00.PROCESS_TEMPLATE_B_T.PTID
CREATE VIEW EAGBE00.TASK_TEMPL_DESC AS
SELECT TASK_TEMPL_LDESC_T.TKTID, TASK_TEMPL_LDESC_T.LOCALE, TASK_TEMPL_LDESC_T.DESCRIPTION,
TASK_TEMPL_LDESC_T.DISPLAY_NAME
FROM eagbe00.TASK_TEMPL_LDESC_T
CREATE VIEW eagbe00.QUERY_PROPERTY
(piid, variable_name, name, namespace, generic_value, string_value, number_value, decimal_value, timestamp_value)
AS
SELECT QUERYABLE_VARIABLE_INSTANCE_T.PIID, QUERYABLE_VARIABLE_INSTANCE_T.VARIABLE_NAME,
QUERYABLE_VARIABLE_INSTANCE_T.PROPERTY_NAME, QUERYABLE_VARIABLE_INSTANCE_T.PROPERTY_NAMESPACE,
QUERYABLE_VARIABLE_INSTANCE_T.GENERIC_VALUE, QUERYABLE_VARIABLE_INSTANCE_T.STRING_VALUE,
QUERYABLE_VARIABLE_INSTANCE_T.NUMBER_VALUE, QUERYABLE_VARIABLE_INSTANCE_T.DECIMAL_VALUE,
QUERYABLE_VARIABLE_INSTANCE_T.TIMESTAMP_VALUE
FROM eagbe00.QUERYABLE_VARIABLE_INSTANCE_T
;

Similar Messages

  • OPtimizing Performance for Select query on NAST table

    Hi All,
       We are fetching a single record from NAST table. The table has around 10 Million Entries.
       The Select Query takes around 5-6 minutes to return.
       We are not using the Primary key completely. We are using only one field of the primary key.
        The field is also a part of the Index but we are not using all the fields in the index as well.
        We need to bring down the time. What can be the solution? I cant see any changes to the code, since its a single query and we cant use the Entire Primary key.
       Would creating an Index on the fields that we are concerned with help in this regard.
       Open to all solutions.
    Thanks in Advance,
    Imran

    Hi,
    Please check this thread
    http://sap.ittoolbox.com/documents/popular-q-and-a/specifying-the-index-to-be-used-2462
    For creating another secondary index in NAST whether basis will approve for this?
    aRs

  • How to improve Performance for Select statement

    Hi Friends,
    Can  you please help me in improving the performance of the following query:
    SELECT SINGLE MAX( policyterm ) startterm INTO (lv_term, lv_cal_date) FROM zu1cd_policyterm WHERE gpart = gv_part GROUP BY startterm.
    Thanks and Regards,
    Johny

    long lists can not be produced with  a SELECT SINGLE, there is also nothing to group.
    But I guess the SINGLE is a bug
    SELECT MAX( policyterm ) startterm
                  INTO (lv_term, lv_cal_date)
                  FROM zu1cd_policyterm
                  WHERE gpart = gv_part
                  GROUP BY startterm.
    How many records are in zu1cd_policyterm ?
    Is there an index starting with gpart?
    If first answer is 'large' and second 'no'   =>   slow
    What is the meaning of gpart?  How many different values can it assume?
    If many different values then an index makes sense, if you are allowed to create
    an index.
    Otherwise you must be patient.
    Siegfried

  • OPtimizing Performance for Select query on huge table

    Hi All,
       We are fetching a single record from NAST table. The table has around 10 Million Entries.
       The Select Query takes around 5-6 minutes to return.
       We are not using the Primary key completely. We are using only one field of the primary key.
        The field is also a part of the Index but we are not using all the fields in the index as well.
        We need to bring down the time. What can be the solution? I cant see any changes to the code, since its a single query and we cant use the Entire Primary key.
       Would creating an Index on the fields that we are concerned with help in this regard.
       Open to all solutions.
    Thanks in Advance,
    Imran

    There are sometimes tricks you can use to get it to use the index more efficiently. If you let us know which fields you are using in the SELECT (all of them actually), we might be able to help.
    Or are you saying you can't change the code at all?
    Please don't create duplicate posts though.
    Rob
    Message was edited by:
            Rob Burbank

  • Select single to RSEG with very low performance

    Hello experts,
    We have recently upgraded our sap basis from 701 to 740 and we are experiencing a very low performance with the following abap instruction:
    select single * from rseg into lw_rseg where ebeln = lw_output-pedido and
                                                                ebelp = lw_output-item and
                                                                kschl = lw_output-kschl.
    Could it be anything from the upgrade?
    Any suggestions?
    If we change the "*" for only one field of the RSEG table, would the improvement in te performance be significant?
    Thank you.
    Best regards,
    Raquel Oliveira

    Hi, Raquel!
    In SELECT statement you are not using the key fields for RSEG table.
    Replacing "*" by a single field won't do the trick.
    In our system we've got a table index on EBELN and EBELP fields in RSEG and it helps a lot.
    In case you don't want to set additional indexes you can find all incoming invoices for the purchasing document items in EKBE table and then go to RSEG having BELNR, GJAHR and BUZEI fields.
    If you already have table index on RSEG with EBELN & EBELP fields - you can trace SQL statement in ST05 and check whether it uses the index.
    And apart from that - anything can be from upgrade

  • Adding the capability to 3PL for customers to our SD/LE/IM/WM setup

    Looking to solve a problem where we perform the service of a 3PL for our customers.  Our customer stocks inventory at our warehouse (IM/WM implementation) and will subsequently place orders for us to deliver (with WM TO) materials to their locations for their production process.  They own the stock, we just store and provide logistic serves for them. 
    Additional considerations:
    u2022A specific material number may be something we make, stock and deliver(own stock), we may also sell and transfer that stock to a customeru2019s(3PL customer) inventory for them to subsequently order to be delivered. 
    u2022Customers 3PL inventory will be non-valuated
    u2022Solution should be scalable to new 3PL customers via master data setup, not having to configure.  Meaning we want to avoid creating a separate non-valuated plant for customer 3PL stock and managing the individual customers a within different storage locations or some other logical way of breaking the stock out by customer.
    u2022Inventory visibility by material can be distinguished between own stock and specific 3PL customer stock.
    We are using industry solution u201CFabricated Metalsu201D also referred to often as Mill Works.  Within that solution there is a Special Stock Indicator u201CBu201D(Customer Stock) defined in the system.  There is documentation of itu2019s use within subcontracting business processes but it also appears to be a workable solution for our needs.  We are able to MIGO inventory into the system for 3PL customer stock using SOBKZ=B, however the 601B movement for a delivery is not supported. 
    Itu2019s arguable that some sort of custom movement type(for example 901B) could be created and tied to a delivery schedule line category as a potential solution with the requisite item category setup to support it.  I may be missing a few more details to that setup.  Our thoughts are this is not a unique requirement and someone must be doing similar 3PL services on an R/3 system and SAP does have a clear vision of how this process should be designed in the system.
    Any input or experiences you can share are appreciated.

    Dear Myles,
    This can be done in two way and both we have suggested for one of our leading client.
    1. First Process:
    a). Kindly create PO with confirmation key "0004-Inbound Delivery". -ME21N
    b). Inbound Delivery treated as a ASN and here we have appended fields to capture transporter details. -VL31N
    c). Goods received from vendor then the transporter has to acknowledge the ASN through customized transaction and system will given acknowledgment number. (Custom Transaction for Acknowledgment)
    d). Once acknowledged the ASN details like Qty, Price, Invoice number, Weight, No of cases, Mode of Transport, Transporter Name and LR numbers will be captured in customized table and display incustomized report.
    e). After reaching 3PL warehouse then the transporter has to confirm ASN and ensure above details are correct. (Custom Transaction for Confirmation)
    d). Customized report treated as 3PL stock overview report and it contains all above information with Acknowledgment and Confirmation.( Here we can come to know if any transit or confirmation pending details). (Custom Transaction for 3PL stock Visibility)
    e). Based on the requirement received from customer the stock will be supply from 3PL warehouse. (MIGO at customer end)
    2.  Second Process through Rough GR:
    a). Kindly create PO with confirmation key "Rough GR/Inbound Delivery". - ME21N
    b). Inbound Delivery treated as a ASN. - VL31N
    c) Create Rough GR with IBD at 3PL warehouse  - VL41
    d) Once Rough GR made then the corresponding IBD stock is consider as 3PL stock and stock visibility can be done through customized transaction.
    e) Based on the requirement received from customer the stock will be supply from 3PL warehouse. (MIGO at customer end)
    Hope it is clear.....
    Regards,
    Karna J

  • Dataguard setup for selected schemas

    Version:10.2, 11.2
    Platform : Solaris 5.10
    In our Production DB, we have some schemas which we do not want to be replicated at the standby site. Logical backup is enough for these schemas.
    Instead of replicating the entire database, Is there a way we could set up dataguard in which the logs are shipped only for selected schemas?

    With a Physical Standby Database , you always 'replicate' your whole Primary. With Logical Standby, though, you could exclude certain schemas from the 'replication'.
    Another option would be - as already mentioned by others - to do a regular replication with Streams or Golden Gate and only replicate the schemas resp. objects that you deem important.
    However, I would recommend that you review the requirement to exclude 'unimportant' schemas from your Standby Database. It makes the whole setup more complicated than necessary.
    Just go with Physical Standby and ignore those schemas - why bother?
    Kind regards
    Uwe Hesse
    http://uhesse.wordpress.com

  • RDS Gateway 2012, RemoteApp Displays "A Revocation check could not be performed for the Certificate" via RDWEB

    I have searched through the forums and there are a number of posts that are similar but all the checks they list seem to not apply to this one.
    My current setup is as follows
    All Servers are 2012 R2
    1 x DC server
    1 x RDS Gateway server with RDS Web installed
    1 x Session Host Server
    Certificate supplied by godaddy with 5 names. (included is the name of the RDS Gateway/Web server in the certificate, the internal name of the session host server is not included as the internal names are differnet to the external)
    My tests are as follows
    Navigating to the RDSWEB page from a machine inside the same network (windows 7 sp1) but not on the same domain is fine no errors and logging in and launching any published application is fine with no errors.
    However logging in on another machine that is external from the network (windows 7 sp1) is ok up to the point of launching any of the published apps I get the error about ""A Revocation check could not be performed for the Certificate". this
    prompts twice but does allow you to continue and login and use the app till the next time. If I view the certificate from the warning message all appears to be ok with all certs in the chain.
    I have imported the root and intermediate certs to each of the gateway/rdsweb server and session host server into the computer cert store just to be on the safe side. This has not helped, I have also run the following command from both windows 7 machines
    with no errors on either
    certutil -f –urlfetch -verify c:\export.cer
    I cant seem to see where this is failing and I am beginning to think there is something wrong with godaddy cert itself somehow.
    If I skip rdsweb and just use MSTSC with the gateway server settings then I can login to any machine on the network with no errors so this is only related to launching published apps on the 2012 R2 RDWEB or session host servers.
    Any help appreciated

    Hi,
    1. Please make sure the client PCs have mstsc.exe (6.3.9600) installed.
    2. If you are seeing a name mismatch error, you can set the published name via this cmdlet:
    Change published FQDN for Server 2012 or 2012 R2 RDS Deployment
    http://gallery.technet.microsoft.com/Change-published-FQDN-for-2a029b80
    To be clear, the above cmdlet changes the name that shows up next to Remote computer on the prompt you see when launching a RemoteApp.  You should have a DNS A record on your internal network pointing to the private ip address of your RDCB server. 
    Additionally, in RD Gateway Manager, Properties of your RD RAP, Network Resource tab, you should select Allow users to connect to any network resource or if you choose to use RD Gateway Managed group you will need to add all of the appropriate names to the
    group.
    For example, when launching a RemoteApp you would see something like Remote computer: rdcb.domain.com and Gateway server: gateway.domain.com .  Both of these names need to be on your GoDaddy certificate.
    Please verify the above and reply back so that we may assist you further if needed.  It is possible you have an issue with the revocation check but I would like you to make sure that the above is in place first.
    Thanks.
    -TP
    Thanks for the response.
    To be clear I am only seeing a name mismatch and revocation error if I assign a self signed cert to the session host as advised earlier in the thread by "Dharmesh Solanki", if I remove this and assign the 3rd party certificate I then
    just get the revocation error , I have already ran the powershell to change the FQDN's but this has not resolved the issue although the RDP connection details now match the external url for RDWEB when looking at one of the remoteapp files. The workspace
    ID still shows an internal name though inside this same file. 
    RD Gateway is already set to connect any resource, when connecting using remote app both names (RDCB/RDGateway) show as being correct and are contained within the same UCC certificate. I also already have a DNS entry for the Connection broker pointing to
    the internal ip.
    Do you know if the I need the internal name of the session host servers contained within the same UCC certificate seeing as they are different fqdn's than what I am using for external access ? I resigned the UCC certificate and included the internal name
    of the session host server to see if this would help but for some reason I am still seeing the revocation error. I will check on a windows 8 client pc this evening to see if this gets any further as the majority of the testing has been done on windows 7 sp1
    client pc's
    Thanks

  • Dynamic Values for Select Option

    Hi, 
      My requirement is that i have to set
      yesterday for the low range of select option
      and today for the high range.
      I tried the selection variables and found that
      only low range can be specified in the
      selection variable.
    Thanks,
    Siva

    Hi,
    You mean default display variant.
    Then try this.
    data w_variant TYPE disvariant.
    PARAMETERS P_LAYOUT LIKE DISVARIANT-VARIANT.
    INITIALIZATION.
    *Get Default display variant
    PERFORM F100_DISPLAY_DEFAULT_VARIANTS.
    FORM f100_display_default_variants.
      w_variant-report   = sy-repid.
      w_variant-handle   = c_handle.
      CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
           EXPORTING
                i_save        = 'A'
           CHANGING
                cs_variant    = w_variant
           EXCEPTIONS
                wrong_input   = 1
                not_found     = 2
                program_error = 3
                OTHERS        = 4.
      IF sy-subrc EQ 0.
        p_layout = w_variant-variant.
      ENDIF.
    ENDFORM.

  • Estimating range of performance for a query

    I wonder if this is an intractable problem:
    Using information available from the data dictionary and from the tables referenced in a query, estimate actual minimum and maximum run times for a given query, predict performance for various combinations of realistic values for the variables that influence performance.
    Variables would include:
    what kinds of IO are used
    how much of each type of IO is used
    atpr - average time per read for various types of IO
    data relationships - min/max/avg #child records per parent record
    server caching - how many gets require IO
    clustering factor of indexes
    I think a related item would be client caching
    continued rows - how many per N primary rows
    Type of plan - initally I think perhaps all NL and all hash joins are simple starting points
    Some of the variables are observable from target systems ( atpr, data relationships, clustering factor, .. ).
    I know, the optimizer already does this.
    I know, it's faster to just run test queries.
    Repeated work with such ideas would cause refinement of the method and
    eventually might result in reasonably accurate estimates and improved understanding
    of the variables involved in query performance, the latter being more important
    than the former.
    Please tell me why this is a bad or good idea. I already mentioned a couple of counter-arguments above,
    please don't bother elaborating on them unless you're shedding light and not flaming. I think this would be
    somewhat like the index evaluation methods in Lahdenmaki/Leach's book, but more Oracle-centric.
    Or maybe I'm kidding myself..

    Justin Cave wrote:
    Could you possibly invert the problem a bit and use some statistical process control techniques to set some baselines and to identify statements that are moving outside of their control limits?
    For example, a control chart could be built for each SQL statement based on actual execution performance data in the AWR-- you just need to know the average and the standard deviation execution time for that which should be relatively easy to derive. You can then gather the performance data for every snapshot interval, add a new data point to the chart. There are a number of different sets of rules for determining a "signal" from this data as opposed to normal random variation. That would generally be a reasonable way for everyone to agree on what performance should really be expected for a SQL statement and it would be a good early warning system that "something has changed" when you see a particular query start to run consistently slower (or faster) than it had been. That, in turn, might lead to better discussions, i.e. "sql_id Y is starting to run more slowly than we were expecting based on prior testing because we just introduced Process X that is generating a pile of I/O in the same window your query runs in. We can adjust Y's baseline to incorporate this new reality. Or we can move when Y runs so that it isn't competing with X. Or we can try to optimize Y further. Or we can get the folks that own X and Y into a room and determine how to meet everyone's requirements". Particularly if your performance testing can identify issues in test before the new Process X code goes into prod.
    JustinThose are interesting ideas. Better discussions would be a good thing.
    Re inverting the problem from prediction to reaction:
    I have done some work with the script at http://kerryosborne.oracle-guy.com/2008/10/unstable-plans/ which of course work only for as much AWR data as you keep. I've had mixed results. I haven't tried to set it up to alert me about problems or to monitor a specific set of sql_ids. I've found it to be useful when users/developers are complaining about general slowness but won't give you any useful details about what is slow.
    Here are a few complicating factors re identifying significant divergences in query performance or resource use - There are queries that accept different inputs that rightly generate completely different workloads for the same query, e.g., a product/location/time query whose inputs allow wide variations in the selectivity for each of the dimensions. There are applications that never heard of a bind variable, and there are queries that rightly do not use bind variables ( yes, even in the age of sql injection ).
    In general , aside from the usual Grid Control and Nagios alerts re CPU/Memory/IO thresholds, and some blocking-locks alert programs, it's up to our users/developers to report performance problems.
    Re my original question - I'll admit I was pretty sleep deprived when I wrote it. Sleep deprivation isn't usually conducive to clear thinking, so it will be interesting to see how this all looks in a month. Still, given that so much testing is affected by previous test runs ( caching ), I thought it made sense to try to understand the worst-performing case for a given execution plan. It's not a good thing to find that the big query that was tested to death and gave users a certain expectation of run time runs in production on a system where the caches have been dominated for the last N hours by completely unrelated workloads, and that when the query runs every single block must be read from a spindle, giving the users a much slower query than was seen in test.
    Maybe the best way to predict worst-case performance is to work from the v$ metrics from test, manipulating the metrics to simulate different amounts of caching and different IO rates, thus generating different estimates for run-time.

  • F4 help for select option

    HI ALL,
    please help me.
    i need to get f4 help for zlsch field, if i give only one company code its working fine , if u give 2 company codes its not working,even though i kept s_bukrs-high code.
    please help me
    its urgent
    s_bukrs  FOR lfb1-bukrs  no intervals OBLIGATORY,
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_zlsch-low.
    data : l_dyname type standard table of DYNPREAD with header line.
    l_dyname-FIELDNAME = 'S_BUKRS-LOW'.
    append l_dyname.
    l_dyname-FIELDNAME = 'S_BUKRS-HIGH'.
    append l_dyname.
    CALL FUNCTION 'DYNP_VALUES_READ'
    EXPORTING
    dyname = sy-cprog
    dynumb = sy-dynnr
    tables
    dynpfields = l_dyname
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    refresh s_bukrs.
    loop at l_dyname.
    s_bukrs-low = l_dyname-FIELDVALUE.
    s_bukrs-SIGN = 'I'.
    s_bukrs-OPTION = 'EQ'.
    append s_bukrs.
    endloop.
      SELECT zbukr
             zlsch
             FROM t042e
             INTO TABLE gt_t042e
             WHERE zbukr IN s_bukrs.
      CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
        EXPORTING
          retfield               ='ZLSCH'
         dynpprog               = sy-cprog
         dynpnr                 = '1000' "sy-dynnr
         dynprofield            = 'S_ZLSCH'
      VALUE                  = '*'
         value_org              = 'S'
        TABLES
          value_tab              = gt_t042e
      RETURN_TAB             = return_tab
       EXCEPTIONS
         parameter_error        = 1
         no_values_found        = 2
         OTHERS                 = 3

    Hi,
    The code will not get executed for s_zlsch-high.
    Put the code in which you are using the function module for fetching the values in a PERFORM.
    Call this perform twice.
    Once for  s_zlsch-low and once for s_zlsch-high.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_zlsch-low.
    perform <perfname>.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_zlsch-high.
    perform <perfname>.
    Reward if helpful.
    Regards.

  • Restrict number of characters in table field for select statement.

    SELECT * FROM table
                    WHERE  column1  = z-column.
    The field column1 is of  type char and size 20
    The field z-column is of type char size 10.
    how do we perform this select?
    Anyone can guide me?
    Edited by: Hadesfx on Sep 11, 2009 3:56 PM
    Edited by: Hadesfx on Sep 11, 2009 3:59 PM

    Hello,
    In your OP did you mention this? Please be specific when you post the next time.
    Can you please post your code?
    I think you have to try a work around:
    DATA:
    RS_STOCKID TYPE SELOPT,
    RT_STOCKID TYPE STANDARD TABLE OF SELOPT.
    LOOP AT GT_ZB1PUT_STOCKTMP.
    RS_STOCKID-SIGN = 'I'.
    RS_STOCKID-OPTION = 'EQ'.
    RS_STOCKID-LOW = GT_ZB1PUT_STOCKTMP-STOCKID.
    APPEND RS_STOCKID TO RT_STOCKID.
    CLEAR RS_STOCKID.
    ENDLOOP.
    You can use this RANGE table to SELECT data from the table.
    SELECT * FROM zb1xxt_param
                FOR ALL ENTRIES IN gt_zb1put_stocktmp[]
                WHERE zzcode    = 'DEV036'
                AND   zzdomain  = 'SD'
                AND   zzdata    = 'INBOUND'
                AND   zzinput1  = 'STOCKID'
                AND   zzinput2  IN RT_STOCKID. "Use RT_STOCKID for SELECT'ing data
    BR,
    Suhas

  • ALV with classes for selected fields

    Hi ALL,
            Please can anybody will give the example code for
    <b>ALV with classes for selected fields</b> from database table .

    Hi,
    *& Report  YR_TANS_ALVTEST                                             *
    REPORT  yr_tans_alvtest                         .
    INCLUDE ya_yr_tans_alvtest_top.
    TABLES yttans_test.
    DATA itab LIKE yttans_test OCCURS 0.
    DATA gr_alvgrid TYPE REF TO cl_gui_alv_grid .
    DATA gc_custom_control_name TYPE scrfname.
    gc_custom_control_name = 'CC_ALV'.
    DATA gr_ccontainer TYPE REF TO cl_gui_custom_container .
    DATA gt_fieldcat TYPE lvc_t_fcat .
    DATA gs_layout TYPE lvc_s_layo .
    data wa_itab like line of itab.
    TYPES : BEGIN OF ty_help,
              roll_no LIKE yttans_test-roll_no,
              name LIKE yttans_test-name,
            END OF ty_help.
    DATA: git_returntab TYPE TABLE OF ddshretval INITIAL SIZE 0.
          CLASS lcl_event_handler DEFINITION
    CLASS lcl_event_handler DEFINITION .
      PUBLIC SECTION .
        METHODS:
    handle_double_click FOR EVENT double_click OF cl_gui_alv_grid IMPORTING
        e_row e_column es_row_no.
      PRIVATE SECTION.
    ENDCLASS.                    "lcl_event_handler DEFINITION
    DATA gr_event_handler TYPE REF TO lcl_event_handler .
    *&      Form  handle_double_click
          text
         -->I_ROW      text
         -->I_COLUMN   text
         -->IS_ROW_NO  text
    FORM handle_double_click USING i_row TYPE lvc_s_row i_column TYPE
    lvc_s_col is_row_no TYPE lvc_s_roid.
    leave to list-processing.
    read table itab index is_row_no-row_id into wa_itab.
    write:/ 'Roll no: ', wa_itab-roll_no, /'Name: ', wa_itab-name,
    /'Marks: ', wa_itab-marks.
    LEAVE SCREEN.
    ENDFORM .                    "handle_double_click
          CLASS lcl_event_handler IMPLEMENTATION
    CLASS lcl_event_handler IMPLEMENTATION .
    *--Handle Double Click
      METHOD handle_double_click .
        PERFORM handle_double_click USING e_row e_column es_row_no .
      ENDMETHOD .                    "lcl_event_handler
    ENDCLASS .                    "lcl_event_handler IMPLEMENTATION
    SELECT-OPTIONS roll FOR yttans_test-roll_no .
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR roll-low.
      DATA: lit_help TYPE TABLE OF ty_help.
      DATA: wa_returntab LIKE LINE OF git_returntab.
      SELECT roll_no name INTO TABLE lit_help FROM yttans_test.
      CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
        EXPORTING
          retfield        = 'ROLL_NO'
          dynpprog        = sy-repid
          dynpnr          = sy-dynnr
          dynprofield     = 'roll-low'
          value_org       = 'S'
        TABLES
          value_tab       = lit_help
          return_tab      = git_returntab
        EXCEPTIONS
          parameter_error = 1
          no_values_found = 2
          OTHERS          = 3.
      IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      READ TABLE git_returntab INTO wa_returntab INDEX 1.
      roll-low = wa_returntab-fieldval.
    AT SELECTION-SCREEN.
      SELECT * FROM yttans_test INTO TABLE itab WHERE roll_no IN roll.
    START-OF-SELECTION.
      CREATE OBJECT gr_event_handler .
      CALL SCREEN '9000'.
    *&      Module  STATUS_9000  OUTPUT
          text
    MODULE status_9000 OUTPUT.
      SET PF-STATUS 'STATUS_9000'.
      SET TITLEBAR 'TITLE_9000'.
    ENDMODULE.                 " STATUS_9000  OUTPUT
    *&      Module  USER_COMMAND_9000  INPUT
          text
    MODULE user_command_9000 INPUT.
      DATA: ok_code TYPE sy-ucomm,
            save_ok TYPE sy-ucomm.
      save_ok = ok_code.
      CLEAR ok_code.
      CASE save_ok.
        WHEN 'BACK' OR '%EX' OR 'RW'.
          CALL METHOD gr_ccontainer->free.
         CALL METHOD cl_gui_cfw=>flush.
          LEAVE TO SCREEN 0.
      ENDCASE.
    ENDMODULE.                 " USER_COMMAND_9000  INPUT
    *&      Module  alv_display_9000  OUTPUT
          text
    MODULE alv_display_9000 OUTPUT.
      PERFORM display_alv .
    ENDMODULE.                 " alv_display_9000  OUTPUT
    *&      Form  display_alv
          text
    FORM display_alv .
      IF gr_alvgrid IS INITIAL .
        CREATE OBJECT gr_ccontainer
          EXPORTING
       PARENT                      =
            container_name              = gc_custom_control_name
       STYLE                       =
       LIFETIME                    = lifetime_default
       REPID                       =
       DYNNR                       =
       NO_AUTODEF_PROGID_DYNNR     =
          EXCEPTIONS
            cntl_error                  = 1
            cntl_system_error           = 2
            create_error                = 3
            lifetime_error              = 4
            lifetime_dynpro_dynpro_link = 5
            OTHERS                      = 6
        IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
               WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
        CREATE OBJECT gr_alvgrid
          EXPORTING
       I_SHELLSTYLE      = 0
       I_LIFETIME        =
            i_parent          = gr_ccontainer
       I_APPL_EVENTS     = space
       I_PARENTDBG       =
       I_APPLOGPARENT    =
       I_GRAPHICSPARENT  =
       I_NAME            =
          EXCEPTIONS
            error_cntl_create = 1
            error_cntl_init   = 2
            error_cntl_link   = 3
            error_dp_create   = 4
            OTHERS            = 5
        IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
               WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
        SET HANDLER gr_event_handler->handle_double_click FOR gr_alvgrid .
        PERFORM prepare_field_catalog CHANGING gt_fieldcat .
        PERFORM prepare_layout CHANGING gs_layout .
        CALL METHOD gr_alvgrid->set_table_for_first_display
          EXPORTING
       I_BUFFER_ACTIVE               =
       I_BYPASSING_BUFFER            =
       I_CONSISTENCY_CHECK           =
       I_STRUCTURE_NAME              =
       IS_VARIANT                    =
       I_SAVE                        =
       I_DEFAULT                     = 'X'
             is_layout                     = gs_layout
       IS_PRINT                      =
       IT_SPECIAL_GROUPS             =
       IT_TOOLBAR_EXCLUDING          =
       IT_HYPERLINK                  =
       IT_ALV_GRAPHICS               =
       IT_EXCEPT_QINFO               =
          CHANGING
            it_outtab                     = itab[]
            it_fieldcatalog               = gt_fieldcat
       IT_SORT                       =
       IT_FILTER                     =
          EXCEPTIONS
            invalid_parameter_combination = 1
            program_error                 = 2
            too_many_lines                = 3
            OTHERS                        = 4
        IF sy-subrc <> 0.
          LEAVE TO LIST-PROCESSING.
          WRITE 'error'.
        ENDIF.
      ELSE.
        CALL METHOD gr_alvgrid->refresh_table_display
    EXPORTING
       IS_STABLE      =
       I_SOFT_REFRESH =
          EXCEPTIONS
            finished       = 1
            OTHERS         = 2
        IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
               WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
      ENDIF.
    ENDFORM.                    "display_alv
    *&      Form  prepare_field_catalog
          text
         <--P_GT_FIELDCAT  text
    FORM prepare_field_catalog  CHANGING p_gt_fieldcat TYPE lvc_t_fcat .
      DATA ls_fcat TYPE lvc_s_fcat .
      ls_fcat-fieldname = 'ROLL_NO'.
      ls_fcat-coltext = 'ROLL No.'.
      APPEND ls_fcat TO p_gt_fieldcat.
      ls_fcat-fieldname = 'NAME'.
      ls_fcat-coltext = 'NAME'.
      APPEND ls_fcat TO p_gt_fieldcat.
      ls_fcat-fieldname = 'MARKS'.
      ls_fcat-coltext = 'MARKS'.
      APPEND ls_fcat TO p_gt_fieldcat.
    ENDFORM.                    " prepare_field_catalog
    *&      Form  prepare_layout
          text
         <--P_GS_LAYOUT  text
    FORM prepare_layout  CHANGING ps_layout TYPE lvc_s_layo.
      ps_layout-zebra = 'X' .
      ps_layout-grid_title = 'Students Details'.
      ps_layout-smalltitle = 'X' .
    ENDFORM.                    " prepare_layout
    Regards,
    Tanveer.
    Mark helpful answers
    Message was edited by: Tanveer Shaikh

  • Search help icon for select option

    hello all...
    can some one let me know , how to attach F4 help icon to select option..??
    in select option im referrin to a data element, this data element has a domain which has value range.
    if i press F4 on the select option, im gettin the values in the search help but the icon is not appearing..
    any suggestions...
    regards..
    vishal

    Hi,
    Select TABLE-FIELD GOTO>Search help>For field.
    If you have Search help you can assign here or else you need to create search help through SE11.
    Or programatically you can code like below.
    See below code........
    selection-screen: begin of block B1 with frame title text-001.
    select-options: s_pernr for zfdmr_records-pernr,
    selection-screen end of block B1.
    data: begin of t_itab occurs 0,
          pernr like zfdmr_records-pernr,
          end of t_itab.
    DATA: t_return like ddshretval occurs 0 with header line.
    *at selection-screen on value-request for s_pernr-low.
    perform get_values changing s_pernr-low.
    *at selection-screen on value-request for s_pernr-high.
    perform get_values changing s_pernr-high.
    *&      Form  get_values
          text
         -->P_S_PERNR_LOW  text
    FORM get_values CHANGING    P_S_PERNR.
      refresh t_itab.
      clear t_return.
      select pernr  from zfdmr_records into table t_itab.
      delete adjacent duplicates from t_itab.
      CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
        EXPORTING
      DDIC_STRUCTURE         = ' '
          RETFIELD               = 'PERNR'
      PVALKEY                = ' '
         DYNPPROG               = sy-cprog
         DYNPNR                 = sy-dynnr
         DYNPROFIELD            = 'ZFDMR_RECORDS-PERNR'
      STEPL                  = 0
      WINDOW_TITLE           =
      VALUE                  = ' '
         VALUE_ORG              = 'S'
         MULTIPLE_CHOICE        = ' '
         DISPLAY                = 'F'
      CALLBACK_PROGRAM       = ' '
      CALLBACK_FORM          = ' '
        TABLES
          VALUE_TAB              = t_itab
      FIELD_TAB              =
         RETURN_TAB             = t_return
      DYNPFLD_MAPPING        =
    EXCEPTIONS
      PARAMETER_ERROR        = 1
      NO_VALUES_FOUND        = 2
      OTHERS                 = 3
      IF SY-SUBRC <> 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      READ TABLE t_return INDEX 1.
      p_s_pernr = t_return-fieldval.
    ENDFORM.                    " get_values
    Thanks.
    If this helps you award points and close the thread.
    Message was edited by: Deepak333 k
    Message was edited by: Deepak333 k

  • Validation for select-options

    need help in validaiton for select-options.

    Hi..,
    could u paste ur selection screen declarations here !!!
    check this..
    *"Selection screen elements............................................
    select-options :
      s_vbeln for vbak-vbeln,              " Sales document number
      s_vkorg for vbak-vkorg,              " Sales organization
      s_erdat for vbak-erdat .             " Run date
                          AT SELECTION-SCREEN ON EVENT                  *
    *Validation on Sales document number range...
    at selection-screen on s_vbeln.
    Perform to validate Sales document number range...
      perform f0000_validate_vbeln.
                          AT SELECTION-SCREEN ON EVENT                  *
    *Validation on Sales Organization range...
    at selection-screen on s_vkorg.
    *Perform to validate the Organization number user input...
      perform f0100_validate_vkorg.
                          AT SELECTION-SCREEN ON EVENT                  *
    *Validation on Creation date range...
    at selection-screen on s_erdat.
    *Perform to validate the Creation date of the sales documents...
      perform f0100_validate_erdat.
    *&      Form  f0000_validate_vbeln
          This subroutine validates the user input - Sales document      *
          number range                                                   *
          There are no interface parameters                              *
    form f0000_validate_vbeln.
      select vbeln                         " Sales Document number
        from vbuk
       up to 1 rows
        into vbak-vbeln
       where vbeln in s_vbeln.
      endselect.
      check sy-subrc ne 0.
        message e001(zsls640) with s_vbeln-low s_vbeln-high.
    endform.                               " Form f0000_validate_vbeln
    *&      Form  f0100_validate_vkorg
          This subroutine validates the user input - Sales Organization  *
          range                                                          *
          There are no interface parameters                              *
    form f0100_validate_vkorg.
      select vkorg                         " Sales Organization
        from vbak
       up to 1 rows
        into vbak-vkorg
       where vkorg in s_vkorg.
      endselect.
      check sy-subrc ne 0.
        message e002(zsls640) with s_vkorg-low s_vkorg-high.
    endform.                               " Form f0100_validate_vkorg
    *&      Form  f0100_validate_erdat
          This subroutine validates the user input - Creation date of the*
          Sales documents                                                *
          There are no interface parameters                              *
    form f0100_validate_erdat.
      select erdat                         " Creation date
        from vbak
       up to 1 rows
        into vbak-erdat
       where vkorg in s_erdat.
      endselect.
      check sy-subrc ne 0.
        message e003(zsls640) with s_erdat-low s_erdat-high.
    endform.                               " Form f0100_validate_erdat
    <b>regards,
    sai ramesh</b>

Maybe you are looking for