日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ABAP 透明表操作备忘 刘欣

發(fā)布時間:2023/12/16 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ABAP 透明表操作备忘 刘欣 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

關(guān)于ABAP? OPENSQL操作備忘,博主會把平時使用的例句,都統(tǒng)統(tǒng)記錄到這個文檔里。

"-------多表查詢1--------

????SELECT?B~MATNR?,?B~SOBKZ?,?B~LIFNR??,?SUM(?B~MENGE?)?as?JHSL?,?0?as?THSL??FROM?MKPF?AS?AINNER??JOIN??MSEG?AS?BON?A~MBLNR?=?B~MBLNRWHERE?A~MJAHR?=?B~MJAHRAND?B~BUKRS?IN?@s_bukrsAND?B~WERKS?IN?@s_werksAND?B~LIFNR?IN?@s_lifnrAND?B~MATNR?IN?@s_matnrAND?B~SOBKZ?IN?@s_sobkzAND?A~BUDAT?IN?@s_budatAND?(?B~BWART?=?561?OR?B~BWART?=?101?OR?B~BWART?=?162??OR?(?B~BWART?=?'Z43'?AND??B~SOBKZ?=?'K'?)?)GROUP?BY?B~MATNR?,?B~SOBKZ?,?B~LIFNRINTO?TABLE?@gt_table1.

"-------多表查詢2----動態(tài)創(chuàng)建----

????SELECT?B~MATNR?,?B~SOBKZ?,?B~LIFNR??,?SUM(?B~MENGE?)?as?JHSL?,?0?as?THSL??FROM?MKPF?AS?AINNER??JOIN??MSEG?AS?BON?A~MBLNR?=?B~MBLNRWHERE?A~MJAHR?=?B~MJAHRAND?B~BUKRS?IN?@s_bukrsAND?B~WERKS?IN?@s_werksAND?B~LIFNR?IN?@s_lifnrAND?B~MATNR?IN?@s_matnrAND?B~SOBKZ?IN?@s_sobkzAND?A~BUDAT?IN?@s_budatAND?(?B~BWART?=?561?OR?B~BWART?=?101?OR?B~BWART?=?162??OR?(?B~BWART?=?'Z43'?AND??B~SOBKZ?=?'K'?)?)GROUP?BY?B~MATNR?,?B~SOBKZ?,?B~LIFNRINTO?TABLE?@DATA(gt_table).

"-------大表是透明表,小表是內(nèi)表,小表去大表找一些字段來填充-------

LOOP AT GT_ACT ASSIGNING FIELD-SYMBOL(<fs>).SELECT SINGLE * FROM PPC1_ALL WHERE ORDERID = @<fs>-ORDERID INTO @DATA(ls_all).IF sy-subrc = 0.<fs>-MATERIALNR = ls_all-MATERIALNR.<fs>-PLANT = ls_all-PLANT.<fs>-KDAUF = ls_all-KDAUF.<fs>-KDPOS = ls_all-KDPOS.ENDIF.ENDLOOP.

"-------取號碼表最大一個加一,保存日志表-----------

SELECTZSEQNOBINTO TABLE @DATA(LT_2251)FROM ZTPD_SERIALUP TO 1 ROWSORDER BY ZSEQNOB DESCENDING.READ TABLE LT_2251 INTO DATA(ls_2251) INDEX 1.<fs2234>-ZSEQNOB = ls_2251-ZSEQNOB + 1.DATA ls_ZTPD_SERIAL like ZTPD_SERIAL.ls_ZTPD_SERIAL-UUID = cl_uuid_factory=>create_system_uuid( )->create_uuid_c22( ).ls_ZTPD_SERIAL-ORDNO = <fs2234>-ORDNO.ls_ZTPD_SERIAL-ZSEQNOB = <fs2234>-ZSEQNOB.ls_ZTPD_SERIAL-CUSER = SY-UNAME.ls_ZTPD_SERIAL-CDATE = SY-DATUM.ls_ZTPD_SERIAL-CTIME = SY-UZEIT.INSERT ZTPD_SERIAL FROM ls_ZTPD_SERIAL.COMMIT WORK.


"-------按條件抓一行-------

SELECT?SINGLE?BWKEY????FROM?T001W???WHERE?WERKS?EQ?@GS_LOG-WERKS?INTO?@DATA(LV_BWKEY)?.?

"-------透明表抓一行影響性能,如果透明表比較小,可以一次全部抓到內(nèi)表再查詢------

DATA gt_makt TYPE SORTED TABLE OF makt WITH NON-UNIQUE KEY matnr spras.DATA gs_makt TYPE makt.SELECT * INTO TABLE gt_makt FROM makt.LOOP AT GT_20 ASSIGNING FIELD-SYMBOL(<fs>).READ TABLE gt_makt WITH KEY matnr = <fs>-matnr spras = '1' INTO gs_makt.IF sy-subrc = 0.<fs>-maktx = gs_makt-maktx. ENDIF.ENDLOOP.

"-------修改一行透明表(按工作區(qū))----------

gs_log-AENAM?=?SY-UNAME. gs_log-AEDAT?=?SY-DATUM. gs_log-AEZET?=?SY-UZEIT. gs_log-EXECUTE_STATUS?=?'E'.UPDATE?ZTPP0018?FROM??gs_log. COMMIT?WORK.

"-------修改表中DATE字段的數(shù)據(jù),條件是大于某個日期----------

UPDATE ztpp0029 SET PSTNG_DATE = '20220417' WHERE WERKS = 1002 and PSTNG_DATE > '20220418'. WRITE :/ '修改條數(shù):' && SY-DBCNT. COMMIT WORK.

"-------刪除表中數(shù)據(jù),按條件----------

DELETE?FROM?ZTPP0029 WHERE?WERKS?=?'1002'.COMMIT?WORK.

?"-------刪除一個日期區(qū)間的數(shù)據(jù),代碼1---------

DELETE FROM ZTPP0029 WHERE PSTNG_DATE BETWEEN '20220601' and '20220621' .COMMIT WORK. write:/ SY-DBCNT.

?"-------刪除一個日期區(qū)間的數(shù)據(jù),代碼2---------

DELETE FROM ZTPP0029 WHERE PSING_DATE >= '20220601' AND PSING_DATE <= '20220621' .COMMIT WORK.write:/ SY-DBCNT.

總結(jié)

以上是生活随笔為你收集整理的ABAP 透明表操作备忘 刘欣的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。