数据服务:to_date禁止下推

2020-09-21 17:43发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好 使用...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好

使用to_date函数时是否还有其他人遇到过DS(4.2 SP9)无法下推的情况(与注释2212730中记录的相反)? 请找到随附的测试用例:

df- Patient-il-ini-resuffix-to- xml.txt (如果您很好奇我为什么要使用花费数十万瑞士法郎的工具进行如此重命名,请阅读以下内容。对我来说,这简直是不可想象的!)

流程似乎并不太复杂:

将VALID_UNTIL设置为sysdate()支持完全下推(不是我所说的美丽代码,但仍然完全下推)。

插入
   /* +附加*/
     进入
         " IL"。"患者"(
             " T_JOB_ID",
             " T_FLOW_NAME",
             " T_BATCH_ID",
             " FK_01_MPGE_T_RECORD_ID",
             " FK_01_MPSS_T_RECORD_ID",
             " FK_02_MPSS_T_RECORD_ID",
             " PATIENT_ID",
             "生日",
             " F_INTERNAL_EMPLOYEE",
             " VALID_FROM",
             " VALID_UNTIL"
         ) 选择
             $ VG_JOB_ID T_JOB_ID,
             $ I_DATAFLOW_NAME T_FLOW_NAME,
             $ VG_BATCH_ID T_BATCH_ID,
             " MAP_GENDER"。" T_RECORD_ID" FK_01_MPGE_T_RECORD_ID,
             " MAP_SOURCE_SYSTEM_1_1"。" T_RECORD_ID" FK_01_MPSS_T_RECORD_ID,
             " MAP_SOURCE_SYSTEM_1"。" T_RECORD_ID" FK_02_MPSS_T_RECORD_ID,
             " HE#PATIENT"。" PID" PATIENT_ID,
             " HE#PATIENT"。" PATIENTS_BIRTH_DATE" BIRTH_DATE,
             (
                 (
                     (
                         案件
                             什么时候(
                                 " HE#患者"。"分类" = 1
                             )然后0
                             否则1
                         结束
                     )
                 )
             )F_INTERNAL_EMPLOYEE,
             sysdate VALID_FROM,
             sysdate VALID_UNTIL
         从
             (
                 (
                     " LZ"。" HE#PATIENT"" HE#PATIENT"
                 左外部联接" IL"。" MAP_GENDER"" MAP_GENDER"
                     (
                         nvl(" HE#PATIENT"。" PATIENTS_GENDER",'U')=" MAP_GENDER"。" CD_USB_HE"
                     )
                     和(
                         " MAP_GENDER"。" VALID_FROM" <= sysdate
                     )
                     和(
                         " MAP_GENDER"。" VALID_UNTIL"> = sysdate
                     )
                     和(
                         (
                             sysdate> =" MAP_GENDER"。" T_APPROVED_ON"
                         )
                         要么(
                             1 = 1
                         )
                     )
                 )
             左外部联接" IL"。" MAP_SOURCE_SYSTEM"" MAP_SOURCE_SYSTEM_1_1"
                 (
                     " HE#PATIENT"。" T_SOURCE" =" MAP_SOURCE_SYSTEM_1_1"。" CD_USB_CDWH"
                 )
                 和(
                     " MAP_SOURCE_SYSTEM_1_1"。" VALID_FROM" <= sysdate
                 )
                 和(
                     " MAP_SOURCE_SYSTEM_1_1"。" VALID_UNTIL"> = sysdate
                 )
                 和(
                     (
                         sysdate> =" MAP_SOURCE_SYSTEM_1_1"。" T_APPROVED_ON"
                     )
                     要么(
                         1 = 1
                     )
                 )
             )
         左外部联接" IL"。" MAP_SOURCE_SYSTEM"" MAP_SOURCE_SYSTEM_1"
             (
                 " HE#PATIENT"。" SOURCE_SYSTEM" =" MAP_SOURCE_SYSTEM_1"。" CD_USB_HE"
             )
             和(
                 " MAP_SOURCE_SYSTEM_1"。" VALID_FROM" <= sysdate
             )
             和(
                 " MAP_SOURCE_SYSTEM_1"。" VALID_UNTIL"> = sysdate
             )
             和(
                 (
                     sysdate> =" MAP_SOURCE_SYSTEM_1"。" T_APPROVED_ON"
                 )
                 要么(
                     1 = 1
                 )
             ); 

将VALID_UNTIL设置为

to_date('9999-12-31 23:59:59.999999999','yyyy-mm-dd hh24:mi:ss.ff')禁止完全下推(BLIMEY!该代码应该是什么?):

  1. DS为什么将映射表中的所有日期都输入到引擎中?
  2. DS为什么将1.转换为字符?

选择
     (
         (
             (
                 案件
                     什么时候(
                         " HE#患者"。"分类" = 1
                     )然后0
                     否则1
                 结束
             )
         )
     ),
     " MAP_GENDER"。" T_RECORD_ID",
     " MAP_SOURCE_SYSTEM_1_1"。" T_RECORD_ID",
     " MAP_SOURCE_SYSTEM_1"。" T_RECORD_ID",
     " HE#患者"。" PID",
     " HE#PATIENT"。" PATIENTS_BIRTH_DATE",
     " HE#PATIENT"。" SOURCE_SYSTEM",
     " MAP_SOURCE_SYSTEM_1"。" CD_USB_HE",
     to_char(" MAP_SOURCE_SYSTEM_1"。" VALID_FROM",'yyyy.mm.dd hh24:mi:ss.ff'),
     to_char(" MAP_SOURCE_SYSTEM_1"。" VALID_UNTIL",'yyyy.mm.dd hh24:mi:ss.ff'),
     to_char(" MAP_SOURCE_SYSTEM_1"。" T_APPROVED_ON",'yyyy.mm.dd hh24:mi:ss.ff'),
     " HE#PATIENT"。" T_SOURCE",
     " MAP_SOURCE_SYSTEM_1_1"。" CD_USB_CDWH",
     to_char(" MAP_SOURCE_SYSTEM_1_1"。" VALID_FROM",'yyyy.mm.dd hh24:mi:ss.ff'),
     to_char(" MAP_SOURCE_SYSTEM_1_1"。" VALID_UNTIL",'yyyy.mm.dd hh24:mi:ss.ff'),
     to_char(" MAP_SOURCE_SYSTEM_1_1"。" T_APPROVED_ON",'yyyy.mm.dd hh24:mi:ss.ff'),
     " HE#PATIENT"。" PATIENTS_GENDER",
     " MAP_GENDER"。" CD_USB_HE",
     to_char(" MAP_GENDER"。" VALID_FROM",'yyyy.mm.dd hh24:mi:ss.ff'),
     to_char(" MAP_GENDER"。" VALID_UNTIL",'yyyy.mm.dd hh24:mi:ss.ff'),
     to_char(" MAP_GENDER"。" T_APPROVED_ON",'yyyy.mm.dd hh24:mi:ss.ff')
 从
     (
         (
             " LZ"。" HE#PATIENT"" HE#PATIENT"
         左外部联接" IL"。" MAP_GENDER"" MAP_GENDER"
             (
                 nvl(" HE#PATIENT"。" PATIENTS_GENDER",'U')=" MAP_GENDER"。" CD_USB_HE"
             )
             和(
                 " MAP_GENDER"。" VALID_FROM" <= sysdate
             )
             和(
                 " MAP_GENDER"。" VALID_UNTIL"> = sysdate
             )
             和(
                 (
                     sysdate> =" MAP_GENDER"。" T_APPROVED_ON"
                 )
                 要么(
                     1 = 1
                 )
             )
         )
     左外部联接" IL"。" MAP_SOURCE_SYSTEM"" MAP_SOURCE_SYSTEM_1_1"
         (
             " HE#PATIENT"。" T_SOURCE" =" MAP_SOURCE_SYSTEM_1_1"。" CD_USB_CDWH"
         )
         和(
             " MAP_SOURCE_SYSTEM_1_1"。" VALID_FROM" <= sysdate
         )
         和(
             " MAP_SOURCE_SYSTEM_1_1"。" VALID_UNTIL"> = sysdate
         )
         和(
             (
                 sysdate> =" MAP_SOURCE_SYSTEM_1_1"。" T_APPROVED_ON"
             )
             要么(
                 1 = 1
             )
         )
     )
 左外部联接" IL"。" MAP_SOURCE_SYSTEM"" MAP_SOURCE_SYSTEM_1"
     (
         " HE#PATIENT"。" SOURCE_SYSTEM" =" MAP_SOURCE_SYSTEM_1"。" CD_USB_HE"
     )
     和(
         " MAP_SOURCE_SYSTEM_1"。" VALID_FROM" <= sysdate
     )
     和(
         " MAP_SOURCE_SYSTEM_1"。" VALID_UNTIL"> = sysdate
     )
     和(
         (
             sysdate> =" MAP_SOURCE_SYSTEM_1"。" T_APPROVED_ON"
         )
         要么(
             1 = 1
         )
     );

 为什么我不能切换到html来摆脱代码?!? 无论如何,重命名测试用例文件背后的故事。 我首先想导入atl文件,但是它被禁止了:

 

 好的,再次导出为xml。 支持xml ...
 
 

 ...我却适合!

 真伤心 (从唐纳德·特朗普复制)

 混淆了这种工具销售商对这种价值数十万瑞士法郎的傲慢!

(17.6 kB)
3条回答
绿领巾童鞋
2020-09-21 18:01

对于在数据流执行期间没有更改的日期/时间戳,您可以通过设置(全局)日期/时间戳变量来解决此问题,该变量由参数传递给查询。 在查询中使用参数而不是调用函数。

一周热门 更多>