;***********************************************************************
;Licensed Materials - Property of IBM
;
;BI and PM: UDA
;
;(C) Copyright IBM Corp. 2005, 2009
;
;U.S. Government Users Restricted Rights - Use, duplication, or disclosure 
;by GSA ADP Schedule Contract with IBM Corp.
;
;Unless specifically authorized by IBM, you may not modify any part of this
;file. Where modification is authorized, you must reproduce any copyright
;notices contained in this file and specifically identify which
;modifications have been made by your organization. YOU ARE SOLELY
;RESPONSIBLE FOR DETERMINING THE APPROPRIATENESS OF ANY MODIFICATIONS TO
;THIS FILE AND ASSUME ALL RISKS ASSOCIATED WITH THE USE AND DISTRIBUTION
;OF THE MODIFIED FILE. IBM will not provide support relating to
;unauthorized changes you make to this file.
;***********************************************************************
; $Header: $
;
; Module:
;    cogdmr3.ini
;
; Purpose:
;    This module contains the R3 gateway information.
;
; ABAP version:
;    SAP4-UDA8.0a
;
; Notes:
;    Do NOT modify this file.  Doing so could result in unknown behavior,
;    possibly resulting in application aborts.
; ************************************************************************
[Expression Results]

[Exceptions Commands]	
	Select_Star="F"
	Update=
	Insert=
	Delete=

[Exceptions Clauses]
	Group_By="GROUP BY"
;	Having="HAVING"

[Exceptions Clauses SAP45]
;	Group_By=

[Exceptions Tables]
	Simple=T
	Derived=F
	Joined=F
	Simple_And_Joined=F
	UniqueName_Prefix="coguda"

[Exceptions Tables SAP45]
;	Joined=F

[Exceptions Joins]
	Cross=F
	Product_Join=F
;	Product_Join=T
	No_Join_Special_Table=T
	Inner=T
	Nested_Inner=T
	Left_Outer=F
;	Left_Outer=T
	Inner_Tbl_Restrict=T
	Left_Eql=" LEFT OUTER JOIN "
	Left_Nested=T
	Right_Outer=F
	Full_Outer=F
;	Union_Join=F
	Inner_Syntax=" INNER JOIN "
	Inner_Tbl_Restrict=T
	One_Outer=T
	Non_Join_Non_Equi_Expr=F
	Only_Eql_With_And=T
	Optnl_Tbl_Filter=F
	Optnl_Tbl_Restrict=T
	Optnl_Tbl_Join_Restrict=T
	Optnl_Tbl_Join_Filter=T
	Prsrv_Tbl_Filter=T
	Prsrv_Tbl_Join_Filter=F
	On_Condition_No_Expr=T
	On_Condition_Between_Predicate=T
	On_Condition_In_Predicate=F
	On_Condition_Like_Predicate=F
	On_Condition_Not_Predicate=F
	On_Condition_Functions=F

[Exceptions Joins SAP45]
;	Product_Join=F
;	Inner=F
;	Nested_Inner=F
;	Left_Outer=F
;	Left_Nested=F
;	Optnl_Tbl_Filter=F
;	Optnl_Tbl_Restrict=T
;	Optnl_Tbl_Join_Restrict=T
;	Optnl_Tbl_Join_Filter=T
;	Prsrv_Tbl_Filter=T
;	Prsrv_Tbl_Join_Filter=F
;	One_Outer=F
;	On_Condition_Between_Predicate=F
;	On_Condition_In_Predicate=F
;	On_Condition_Like_Predicate=F
;	On_Condition_Not_Predicate=F
;	On_Condition_Functions=F

[Exceptions Predicates]
	All=
	Any=
	Between=" BETWEEN "
	Exists=" EXISTS "
	In=" IN "
	Is_Null=
	Like=" LIKE "
	Match=
;	NotLike=T
	Overlaps=
	Unique=


[Exceptions Predicates SAP45]
;	Between=
;	Exists=
;	In=
;	Like=

[Exceptions Aggregates]
	Avg="AVG"
	Count="COUNT"
	Count_Star="COUNT( * )"
;	First=F
;	Last=F
	Max="MAX"
	Min="MIN"
;	Ravg=F
;	Rcount=F
;	Rcountstar=F
;	Rdiff=F
;	Rmax=F
;	Rmin=F
;	Rsum=F
;	Stddev=
	Sum="SUM"
;	Variance=
;	Xavg=F
;	Xcount=F
;	Xcountstar=F
;	Xfirst=F
;	Xlast=F
;	Xmax=F
;	Xmin=F
;	Xmovingavg=F
;	Xmovingsum=F
;	Xntile=F
;	Xperc=F
;	Xrank=F
;	Xratio=F
;	Xstddev=F
;	Xsum=F
;	Xtertile=F
;	Xvariance=F

[Exceptions Aggregates SAP45]
;	Avg=
;	Count=
;	Count_Star=
;	Max=
;	Min=
;	Sum=

[Exceptions Set Operators]
	Union=""
	Union_All=F
;Trakker 456977 and 584162. If there is an expression in the select list, the distinct can not be pushed.
	Distinct="distinct"
	Open_Sql_Distinct=T

[Exceptions Set Operators SAP45]
;	Order_By_Limit="0"
;	Order_By=

[Exceptions Operators]
	Neq="T"

[Exceptions Operators SAP45]

[Exceptions Value Expressions]
	Char_Length=C
	Lower=T
	Upper=T
	Substring=T
	Position=T
;	Trim=T
	Trim=F
	StrCat=F

[Exceptions General]
	Group_By_Alias=F
	Group_By_Expr=F
	Group_By_In_Exists=F
	Group_By_Sorted=T
	Subquery_Column_Alias=F
	Order_By_Alias=F
	Order_By_Name=T
	Count_Literal=T
	Count_Non_Distinct=F
	Subqueries=F
	Correlated_Subqueries=F
	Aggregate_In_Expr=F
	Aggregate_Value_Expr=F
	Cross_Product=F
	Substring_On_Expr=F
	Multiple_Distinct=T
	No_Aggr_Special_Table=T
	No_Sort_Special_Table=T
	No_Group_By_Special_Table=T
	Sort_Column_Only=T
	Proc_Append_Paren=T
	Check_Special_Table_Type=T
	Predicate_Value_Expr=T
	No_Sort_In_Product=T
	Filter_Mutex_Expr_Pred=T
	Aggr_Simple_Filter_Only=T
	Comments=F

[Exceptions General SAP45]
;	Group_By_Sorted=F
;	Order_By_Name=F
;	Count_Literal=F

[Exceptions Literals] 
	Date_Literal=C
	Date_Format_Str="YYYY MM DD"
	Date_Literal_Str="'%s%s%s'"
	Interval_Literal=F
	IntervalYM_Literal=F
	Time_Literal=C
	Time_Format_Str="HH MM SS"
	Time_Literal_Str="'%s%s%s'"
	TimeTZ_Literal=F
	TimeTZ_Format_Str=
	TimeTZ_Literal_Str=
	Timestamp_Literal=F
	TimestampTZ_Literal=F
	TimestampTZ_Format_Str=
	TimestampTZ_Literal_Str=

[Exceptions Misc]
	ABAP_Decomposition=T
	Retrieve_Table_Type=T

[Exceptions Delimiters]
;
; Specifies the delimiter character for each name part.
;
; If a delimiter is set to nothing, then the database does not support the
; delimiting of that name part; otherwise, the specified string is used to
; delimit the corresponding name part.
;
; NOTE: if Wholename specified and not empty then this indicates that fully
;             qualified names are delimited with this character; 
;             For example,
;                    "myCatalog.mySchema.myTable.myColumn"
;
; NOTE: for a double quote (") entry, specifies "\"".
;
; SAP does not support delimiter
	Wholename_Delimiter=""
	Catalog_Delimiter=""
	Schema_Delimiter=""
	Table_Delimiter=""
	Column_Delimiter=""
	Procedure_Delimiter=""
	Numeric_Delimiter="\'"


[Exceptions Separators]
;
; Specifies the name separator that follows the type of name.
; [<catalog><catalogSeparator>][<schema><schemaSeparator>][<table><tableSeparator>][<column>]
; [<catalog><catalogSeparator>][<schema><schemaSeparator>][<procedure>]
;
; SAP use '~' to denote columns belonging to a table
	Table_Separator="~"

;
; List of expression results.
;
[Expression Results]

;
; Operations supported and results of the supported operation.
; The format is;
; [Operator <operator name>]
; <LHS>=<RHS>,<RES>{;<RHS>,<RES>}
;
; where
;
; LHS = data type of left hand side of operation
; RHS = data type of right hand side of operation
; RES = result data type of operation
;
; LHS, RHS and RES values may be one of:
;
;   Name			Abbreviation			DMS Data Type
;	CHAR			CH						sqlChar
;	VARCHAR			VC						sqlVarChar
;	LVARCHAR		LC						sqlLongVarChar
;	BINARY			BN						sqlBinary
;	VARBINARY		VB						sqlVarBinary
;	SMALLINT		SM						sqlSmallInt
;	INTEGER			IT						sqlInteger
;	QUAD			QD						sqlQuad
;	DECIMAL			DM						sqlDecimal
;	FLOAT			FL						sqlFloat
;	DOUBLE			DB						sqlDouble
;	DATE			DT						sqlDate
;	TIME			TM						sqlTime
;	TIMESTAMP		TS						sqlDateTime
;	INTERVAL		IV						sqlInterval
;	----			NA						sqlUnknownType
;
[Operator Addition]

[Operator Subtraction]

[Operator Multiplicateion]

[Operator Division]

[Operator Concatenation]
Date=TM,CH
Date=DT,CH
Time=DT,CH
Time=TM,CH

[Operator Comparison]

[Builtin Functions]
;
; Date/time functions
;
d:sysdate()=SY-DATUM;
t:systime()=SY-UZEIT;

[Database Functions]
;
; Numeric functions
;
; A tricky transformation in SQLtoSQL for this gateway requires all 
; functions to accept arguments of type interval. SAP doesn't currently support intervals.
;
n:char_length(%1ci)=STRLEN( %1 );
n:cast_float(%1ni)=%1;
;n:position(%1ci,%2ci)=SEARCH %1 FOR %2;

;
; Date/time functions
;

;
; String functions
;
;c:substring(%1c,%2n{,%3n})=%1+%2({%3});
;c:upper(%1c)=TRANSLATE %1 TO UPPER CASE;
;c:lower(%1c)=TRANSLATE %1 TO LOWER CASE;
;c:coalesce(%1c,%2c)=%1;
;c:r3_trim({%1c FROM }%2c}

;
; System functions
;

[Database Function Mappings]
;
; Numeric functions
;

;
; Date/time functions
;

;
; String functions
;
;c:r3_substring=1:2,3
;r3_substring2=0:%s+%d:99,0,0:2:99,0,1:99,0,1
;r3_substring3=0:%s+%d(%d):99,0,0:2:99,0,1:99,0,1:99,0,1

;
; System functions
;


[Special Case Information]


[CODEPAGE]
; Note:
; Based on "Supported Languages and Code Pages" attached to SAP Note 73606.
; The names on the right side are aliases used in ICU - see data/convrtrs.txt, 
; except in "Custom Code Pages" section, where converters are not in the icu database.
; If the code page mapping is not found, an error is returned. 
; If there is an ICU converter for this code page, you might specify it below and tell development.
; Otherwise, if the code page matches the client system default, you may add "<SAP Code Page>=default". 
; Example: The server is installed with code page 6300, and on the Windows client machine the 
; language for non-Unicode programs is English. If "6300=default" is added, the data retrieved from 
; the server will be treated as being in MS code page 1252.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; ANSI code pages
;
1100=iso-8859-1
1103=ibm-850
1127=macce
1160=windows-1252
1401=iso-8859-2
1404=windows-1250
1500=iso-8859-5
1504=windows-1251
1610=iso-8859-9
1614=windows-1254
1700=iso-8859-7
1703=ibm-869
1704=windows-1253
1800=iso-8859-8
8000=shift_jis
8300=big5
8400=gb2312
8500=ksc5601
8600=tis-620
;
; EBCDIC code pages
;
120=ibm-500
410=ibm-870
500=ibm-1025
610=ibm-1026
700=ibm-875
800=ibm-424
860=ibm-839
;
; UNICODE
;
4102=utf-16be
4103=utf-16le
4110=utf-8
;
; Custom code pages
; 
6300=sap-6300
; If the customer code page is not one of the above, but matches
; the OS default code page of the machine the UDA is installed on,
; use <code page>=default

[MISC]
UTF8Client=Yes

[MISC SAP70]
Hints=%_HINTS ORACLE '&SUBSTITUTE LITERALS&'