amdp client/filter/sql

公共amdp 接口声明


  PUBLIC SECTION.

    INTERFACES if_amdp_marker_hdb.

  METHOD get_039_data BY DATABASE PROCEDURE FOR HDB LANGUAGE SQLSCRIPT
    OPTIONS READ-ONLY USING   zmm1000t039 marc  t024 makt lfa1 eina  MSEG mkpf zasnitem .

 lt_039 = SELECT DISTINCT a.*,CAST( A.menge AS CHAR( 20 ) ) AS menge01,CAST( A.menge1 AS CHAR( 20 ) ) AS menge02, CAST( A.zzhgx AS CHAR( 20 ) ) AS menge03,--CAST( A.zxtylzd3 AS NUMBER( 12 ) ) AS zsrmnoh,
                 c.name1,b.maktx,d.ekgrp,g.eknam,e.idnlf ,CASE WHEN I.werks <> ' ' THEN I.werks ELSE f.werks END AS werks
            FROM zmm1000t039 AS a
           INNER JOIN  marc AS d  ON d.MANDT = A.MANDT AND a.matnr = d.matnr AND d.werks = '1000'
            LEFT JOIN  t024 AS g  ON d.MANDT = g.MANDT AND d.ekgrp = g.ekgrp
            LEFT JOIN  makt AS b  ON b.MANDT = a.MANDT AND a.matnr = b.matnr
            LEFT JOIN  lfa1 AS c  ON c.MANDT = a.MANDT AND a.lifnr = c.lifnr
            LEFT JOIN  eina AS e  ON e.MANDT = a.MANDT AND a.lifnr = e.lifnr AND a.matnr = e.matnr
            LEFT JOIN  mkpf AS H  ON H.MANDT = A.MANDT AND A.zsrmno1 = H.FRBNR
            LEFT JOIN  MSEG AS I  ON I.MANDT = A.MANDT AND I.MBLNR = H.MBLNR AND I.MJAHR = H.MBLNR
            LEFT JOIN zasnitem AS f ON F.MANDT = A.MANDT AND a.zsrmno1 = f.stno
           WHERE A.MANDT =  SESSION_CONTEXT('CLIENT')
             AND a.zsrmno1 LIKE 'ASN%'
           UNION ALL
          SELECT DISTINCT a.*,CAST( A.menge AS CHAR( 20 ) ) AS menge01,CAST( A.menge1 AS CHAR( 20 ) ) AS menge02, CAST( A.zzhgx AS CHAR( 20 ) ) AS menge03,--CAST( A.zxtylzd3 AS NUMBER( 12 ) ) AS zsrmnoh,
                 c.name1,b.maktx,d.ekgrp,g.eknam,e.idnlf ,h.werks
            FROM zmm1000t039 AS a
           INNER JOIN  marc AS d  ON d.MANDT = A.MANDT AND a.matnr = d.matnr AND d.werks = '1000'
            LEFT JOIN  t024 AS g  ON d.MANDT = g.MANDT AND d.ekgrp = g.ekgrp
            LEFT JOIN  makt AS b  ON b.MANDT = a.MANDT AND a.matnr = b.matnr
            LEFT JOIN  lfa1 AS c  ON c.MANDT = a.MANDT AND a.lifnr = c.lifnr
            LEFT JOIN  eina AS e  ON e.MANDT = a.MANDT AND a.lifnr = e.lifnr AND a.matnr = e.matnr
            LEFT JOIN  MSEG AS h  ON h.MANDT = A.MANDT AND SUBSTRING( A.ZSRMNO1,1,10 ) = h.MBLNR AND SUBSTRING( A.ZSRMNO1,12,4 )  = h.MJAHR
           WHERE A.MANDT =  SESSION_CONTEXT('CLIENT')
             AND a.zsrmno1 NOT LIKE 'ASN%'
             AND a.zsrmno1 IS NOT NULL;
  et_039 = APPLY_FILTER(:lt_039, :IV_COND );
  ENDMETHOD.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值