1.SELECT MAX 按物料号matnr 工厂werks 取日期最近的采购订单的供应商数据 SELECT ekpo~ebeln ebelp lifnr matnr werks ekko~aedat INTO TABLE lt_ekpo FROM ekpo JOIN ekko ON ekko~ebeln = ekpo~ebeln FOR ALL ENTRIES IN stb WHERE matnr = stb-idnrk AND werks = stb-werks. AND ekko~aedat IN ( SELECT MAX( ekko~aedat ) FROM ekko JOIN ekpo ON ekko~ebeln = ekpo~ebeln WHERE matnr = stb-idnrk AND werks = stb-werks GROUP BY matnr werks ). 2.关联内表写select SELECT a~vbeln , "销售订单号 a~auart , "订单类型 a~vkorg , "销售组织 a~vtweg , "分销渠道 a~spart , "产品组 a~kunnr , "售达方 c~bstkd , "客户合同号 c~bstdk , "客户合同签署日期 a~bname , "导远合同号 c~bstkd_e , "借用/赠送单据编号 a~audat , "需求日期 a~vdatu , "交货日期 c~zterm , "付款条件 a~augru , "订单原因 a~vkgrp , "销售员 a~zztxt , "文本 a~netwr , "不含税总价 a~ernam , "创建人 a~erdat , "创建日期 a~zzpl , "普票/专票 a~knumv , "凭证条件号 a~objnr , "凭证条件号 b~posnr , "行项目 b~matnr , "物料编码 CASE WHEN a~auart = 'ZCR' OR a~auart = 'ZDR' THEN b~zmeng ELSE b~kwmeng END AS kwmeng , "订单数量 b~waerk , "货币 b~netwr AS netwr2 , "行项目的净值 b~mwsbp , "税额 d~kbetr , "含税单价 d~kkurs , "定价汇率 d~kpein , "定价单位 b~vrkme , "销售单位 b~werks , "工厂 b~abgru , "拒绝原因 e~edatu , "首个交货日期 b~taxm1 , "税分类 b~zzglh , "借用转销售单号 b~zzghh , "借用转销售行号 f~vtext AS vkorg_text, g~vtext AS vtweg_text, h~vtext AS spart_text, i~name_org1 AS kunnr_text, j~vtext AS zterm_text, k~bezei AS vkgrp_text, l~ddtext AS zzpl_text, m~maktx AS matnr_text, n~name1 AS werks_text, o~bezei AS vbeln_text, CASE WHEN a~auart = 'ZCR' OR a~auart = 'ZDR' THEN CASE WHEN d~kpein <> 0 THEN ( ( CAST( d~kbetr AS FLTP ) / CAST( d~kpein AS FLTP ) ) * CAST( b~zmeng AS FLTP ) ) END ELSE CASE WHEN d~kpein <> 0 THEN ( ( CAST( d~kbetr AS FLTP ) / CAST( d~kpein AS FLTP ) ) * CAST( b~kwmeng AS FLTP ) ) END END AS total FROM @lt_vbak AS a INNER JOIN vbap AS b ON b~vbeln = a~vbeln LEFT JOIN vbkd AS c ON c~vbeln = b~vbeln LEFT JOIN prcd_elements AS d ON d~knumv = a~knumv AND d~kposn = b~posnr AND d~kschl = 'PR01' AND d~kinak <> 'X' LEFT JOIN vbep AS e ON e~vbeln = b~vbeln AND e~posnr = b~posnr AND e~lfrel <> '' LEFT JOIN tvkot AS f ON f~vkorg = a~vkorg AND f~spras = '1' LEFT JOIN tvtwt AS g ON g~vtweg = a~vtweg AND g~spras = '1' LEFT JOIN tspat AS h ON h~spart = a~spart AND h~spras = '1' LEFT JOIN but000 AS i ON i~partner = a~kunnr LEFT JOIN tvzbt AS j ON j~zterm = c~zterm AND j~spras = '1' LEFT JOIN tvgrt AS k ON k~vkgrp = a~vkgrp AND k~spras = '1' LEFT JOIN dd07t AS l ON l~domname = 'ZDZPL' AND l~domvalue_l = a~zzpl AND l~ddlanguage = '1' LEFT JOIN makt AS m ON m~matnr = b~matnr AND m~spras = '1' LEFT JOIN t001w AS n ON n~werks = b~werks LEFT JOIN tvakt AS o ON o~auart = a~auart AND o~spras = '1' INTO TABLE @DATA(lt_salesorder). 3.SELECT SUM SUM的时候不能用FOR ALL ENTRIES IN SELECT kalnr curtp categ ptyp process meins xkdm_nact waers SUM( prd ) AS prd SUM( kdm ) AS kdm SUM( quant ) AS quant SUM( stval ) AS stval SUM( altval ) AS alttval SUM( markup ) AS markup FROM mldoc INTO CORRESPONDING FIELDS OF TABLE lt_mldoc_sum WHERE curtp = '10' * AND rldnr IN mt_ledger * AND runref in MT_runref AND kalnr IN lr_kalnr AND ( jahrper = l_jahrper OR jahrper < l_jahrper AND jahrper >= l_jahrper AND xabr = space ) AND categ = 'VN' AND ( posart NOT IN lt_posart OR posart IN lt_posart AND jahrper_wip = l_jahrper ) * AND timestamp <= mv_max_timestamp GROUP BY kalnr curtp categ ptyp process meins xkdm_nact waers. "在sum里面加条件 SELECT werks, matnr, SUM( CASE shkzg WHEN 'S' THEN menge WHEN 'H' THEN ( -1 * menge ) END ) AS menge INTO TABLE @DATA(lt_aufm_sum) FROM aufm WHERE werks IN @s_werks AND matnr IN @s_matnr AND budat IN @lr_budat GROUP BY werks, matnr. SORT lt_aufm_sum BY werks matnr. 4.判断某几位字符substring SELECT a~matnr , "物料编码 b~werks , "工厂 a~mtart , "物料类型 a~matkl , "物料组 a~meins , "基本单位 a~labor , "物料状态 a~ntgew , "净重 a~gewei , "重量单位 b~maabc , "物料等级 a~mstde AS zstad, "有效期 a~mstae AS mmsta, "有效期状态 b~beskz , "采购类型 b~bstrf , "舍入值 b~rgekz , "反冲 b~lgpro , "生产仓储地点 b~lgfsb , "采购仓储地点 b~dispo , "MRP控制者 a~mhdhb , "总货架寿命 a~xchpf "批次管理 FROM mara AS a INNER JOIN marc AS b ON b~matnr = a~matnr INNER JOIN @lt_cdhdr AS c ON substring( c~objectid,1,40 ) = a~matnr WHERE b~werks IN @s_werks INTO TABLE @DATA(lt_mara_marc). 5.从内表读取数据 SELECT DISTINCT matnr, werks FROM @lt_mdkp AS a INTO TABLE @lt_matnr_werks.
上一篇: 不常用 tcode...
下一篇: VA02 实时推送销售订单...