ABAP SQL 新语法 submit 及动态组建结构及表

1 , SUBSTRING , RIGHT

SELECT A~* , RIGHT( OBJECTID ,8 ) AS KEY FROM CDHDR AS A
WHERE OBJECTCLAS = ‘PLAN’
AND RIGHT( OBJECTID ,8 ) IN ( SELECT PLNNR FROM MAPL WHERE WERKS = ‘1032’ )
AND UDATE >= ‘20230101’
INTO TABLE @DATA(LT_CDHDR) .

SELECT A~* , B~* FROM CDHDR AS A
INNER JOIN MAPL AS B ON SUBSTRING( A~OBJECTID,5,8 ) = B~PLNNR AND SUBSTRING( A~OBJECTID,4,1 ) = B~PLNTY
WHERE A~OBJECTCLAS = ‘PLAN’
AND RIGHT( OBJECTID ,8 ) IN ( SELECT PLNNR FROM MAPL WHERE WERKS = ‘1032’ OR WERKS = ‘1024’ )
AND A~UDATE >= ‘20230101’
INTO TABLE @DATA(LT_CDHDR2) .

( 字段名, 启示字段 , 长度 )
SUBSTRING( FIELDNAME , BEGDA , LENGTH )

SELECT *
FROM MAPL AS A
WHERE EXISTS ( SELECT * FROM CDHDR AS B
WHERE SUBSTRING( B~OBJECTID,5,8 ) = A~PLNNR
AND SUBSTRING( B~OBJECTID,4,1 ) = A~PLNTY
AND B~UDATE >= ‘20230101’ )
AND WERKS = ‘1032’ OR WERKS = ‘1024’
INTO TABLE @LT_MAPL
.

submit
https://www.cnblogs.com/hhelibeb/p/5802398.html

动态组建结构及表
DATA :GT_COMPONENTS TYPE CL_ABAP_STRUCTDESCR=>COMPONENT_TABLE,
GS_COMPONENTS LIKE LINE OF GT_COMPONENTS,
LR_DESCR_REF TYPE REF TO CL_ABAP_STRUCTDESCR.

*LR_DESCR_REF ?= CL_ABAP_STRUCTDESCR=>DESCRIBE_BY_NAME( ‘T001’ ).
LR_DESCR_REF ?= CL_ABAP_STRUCTDESCR=>DESCRIBE_BY_DATA( LS_DATA ).
LOOP AT LR_DESCR_REF->COMPONENTS ASSIGNING FIELD-SYMBOL(<FS_COMP>).
ASSIGN COMPONENT <FS_COMP>-NAME OF STRUCTURE LS_DATA TO FIELD-SYMBOL(<FS_VALUE>).
CHECK SY-SUBRC = 0 AND <FS_VALUE> IS NOT INITIAL.
ENDLOOP.

DATA(LR_DATA) = CL_ABAP_ELEMDESCR=>DESCRIBE_BY_NAME( ‘SIGN’ ) .
DATA(LR_DATA1) = CL_ABAP_ELEMDESCR=>DESCRIBE_BY_NAME( ‘OPTION’ ) .
DATA(LR_DATA2) = CL_ABAP_ELEMDESCR=>DESCRIBE_BY_NAME( ‘CHAR10’ ) .
DATA(LR_DATA3) = CL_ABAP_ELEMDESCR=>DESCRIBE_BY_NAME( ‘CHAR10’ ) .
**DATA(LR_DATA2) = CL_ABAP_ELEMDESCR=>DESCRIBE_BY_DATA( LS_DATA-BUKRS ) .

GS_COMPONENTS-NAME = ‘SIGN’ .
GS_COMPONENTS-TYPE ?= LR_DATA .
APPEND GS_COMPONENTS TO GT_COMPONENTS.

GS_COMPONENTS-NAME = ‘OPTION’ .
GS_COMPONENTS-TYPE ?= LR_DATA1 .
APPEND GS_COMPONENTS TO GT_COMPONENTS.

GS_COMPONENTS-NAME = ‘LOW’ .
GS_COMPONENTS-TYPE ?= LR_DATA2 .
APPEND GS_COMPONENTS TO GT_COMPONENTS.

GS_COMPONENTS-NAME = ‘HIGH’ .
GS_COMPONENTS-TYPE ?= LR_DATA3 .
APPEND GS_COMPONENTS TO GT_COMPONENTS.

DATA(LT_LINE) = CL_ABAP_STRUCTDESCR=>CREATE( P_COMPONENTS = GT_COMPONENTS ) .
DATA : TAB_REF TYPE REF TO DATA .

DATA LR_TABLEDESCR TYPE REF TO CL_ABAP_TABLEDESCR.

LR_TABLEDESCR = CL_ABAP_TABLEDESCR=>CREATE(
P_LINE_TYPE = LT_LINE ).

CREATE DATA TAB_REF TYPE HANDLE LR_TABLEDESCR.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值