SAP ABAP SM30 排序处理

** SAP ABAP SM30 排序处理**

FIELD-SYMBOLS : , .

在这里插入图片描述
<VIM_TOTAL_KEY> <VIM_XTOTAL_KEY> with KEY

根据表 DD03L 找到表字段所位置 ,算出位置及长度
ASSIGN EXTRACT+3(18) TO .
ASSIGN EXTRACT+21(1) TO .
SORT EXTRACT STABLE BY .

SM30 数据导入的刷新

  MODIFY ZTSD032B  FROM TABLE LT_DATA[] .
  IF SY-SUBRC = 0 .
    MESSAGE S000(SU)  WITH '数据导入成功!' .
    DATA : LV_VNAME  TYPE STRING .

    LV_VNAME = '(ZSD032B)GS_HEAD' .
    ASSIGN (LV_VNAME)  TO FIELD-SYMBOL(<FS>) .
    IF SY-SUBRC = 0 .
      <FS>    =   'ZSD032B'  .
      <FS>+30 =   'IMPORT'    .
      LEAVE TO SCREEN 0 .
    ENDIF.
  •    PERFORM FRM_GET_DATA .
    
  •    PERFORM FRM_CALL_VIEW(ZMM149M) USING 'U'.
    ENDIF .
    

调用 sm30 函数调整 :
CALL FUNCTION ‘VIEW_MAINTENANCE_CALL’
EXPORTING
ACTION = ‘U’
VIEW_NAME = ‘ZTSD032B’.

IF SY-SUBRC = 0 .
  IF  GS_HEAD-OPRNO = 'IMPORT' AND GS_HEAD-TABLENAME = 'ZSD032B'  .
    CLEAR  GS_HEAD .
    CALL FUNCTION 'VIEW_MAINTENANCE_CALL'
      EXPORTING
        ACTION    = 'U'
        VIEW_NAME = 'ZTSD032B'.
  ENDIF.
ENDIF.

sm30 更新字段

&---------------------------------------------------------------------
*& 包含 ZBC_I_SM30_LOG
&---------------------------------------------------------------------

DEFINE assign_field.

ASSIGN COMPONENT &1 OF STRUCTURE <ls_maintview> TO <lv_field>.
IF sy-subrc = 0.
IF <lv_field> IS ASSIGNED.
<lv_field> = &2.
ENDIF.
ENDIF.

END-OF-DEFINITION.

FORM create_entry.

FIELD-SYMBOLS:
<ls_maintview> TYPE any,
<lv_field> TYPE any.

CHECK x_header-maintview IS NOT INITIAL.

ASSIGN (x_header-maintview) TO <ls_maintview>.
CHECK sy-subrc = 0.
CHECK <ls_maintview> IS ASSIGNED.

assign_field ‘CREATED_DATE’ sy-datum.
assign_field ‘CREATED_TIME’ sy-uzeit.
assign_field ‘CREATED_USER’ sy-uname.

ENDFORM.

FORM change_entry.

DATA:
lo_data TYPE REF TO data,
lv_tabix TYPE sy-tabix.

FIELD-SYMBOLS:
<ls_maintview> TYPE any,
<lv_field> TYPE any.

IF x_header-maintview IS NOT INITIAL.
CREATE DATA lo_data TYPE (x_header-maintview).
IF lo_data IS BOUND.
ASSIGN lo_data->* TO <ls_maintview>.
ENDIF.
IF <ls_maintview> IS ASSIGNED.
IF = ‘U’.
LOOP AT total.
READ TABLE extract WITH KEY <vim_xtotal_key>.
IF sy-subrc = 0.
lv_tabix = sy-tabix.
ELSE.
CONTINUE.
ENDIF.
IF = ‘U’.
CLEAR <ls_maintview>.
MOVE-CORRESPONDING <vim_total_struc> TO <ls_maintview>.
assign_field ‘CHANGED_DATE’ sy-datum.
assign_field ‘CHANGED_TIME’ sy-uzeit.
assign_field ‘CHANGED_USER’ sy-uname.
MOVE-CORRESPONDING <ls_maintview> TO <vim_total_struc>.
MODIFY total.
extract = total.
MODIFY extract INDEX lv_tabix.
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.
ENDIF.

sy-subrc = 0.

ENDFORM.

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您提供一些常见的SAP ABAP面试题,但并不会提供答案,因为这些问题需要您自己思考和回答。以下是一些可能会被问到的SAP ABAP面试题: 1. SAP ABAP是什么? 2. 如何在SAP ABAP中定义变量? 3. 什么是函数模块? 4. 如何在SAP ABAP处理异常? 5. 如何在SAP ABAP中进行调试? 6. 什么是内表?如何定义内表? 7. 如何在SAP ABAP处理日期和时间? 8. 如何在SAP ABAP处理字符串? 9. 如何在SAP ABAP中使用SELECT语句? 10. 如何在SAP ABAP中使用LOOP语句? 11. 如何在SAP ABAP中使用IF语句? 12. 如何在SAP ABAP中使用CASE语句? 13. 如何在SAP ABAP中使用BREAK-POINT语句? 14. 如何在SAP ABAP中使用MESSAGE语句? 15. 如何在SAP ABAP中使用CATCH语句? 16. 什么是数据字典?如何定义数据字典对象? 17. 如何在SAP ABAP中使用ABAP OO? 18. 如何在SAP ABAP中使用ALV报表? 19. 如何在SAP ABAP中使用BAPI? 20. 如何在SAP ABAP中使用RFC? 21. 如何在SAP ABAP中使用IDoc? 22. 如何在SAP ABAP中使用ALE? 23. 如何在SAP ABAP中使用EDI? 24. 如何在SAP ABAP中使用BDC? 25. 如何在SAP ABAP中使用LSMW? 26. 如何在SAP ABAP中使用用户退出? 27. 如何在SAP ABAP中使用BADI? 28. 如何在SAP ABAP中使用Enhancement Spot? 29. 如何在SAP ABAP中使用Enhancement Section? 30. 如何在SAP ABAP中使用Function Exit? 31. 如何在SAP ABAP中使用事件? 32. 如何在SAP ABAP中使用ABAP List Viewer(ALV)? 33. 如何在SAP ABAP中使用SAP Query? 34. 如何在SAP ABAP中使用Smart Forms? 35. 如何在SAP ABAP中使用Adobe Forms? 36. 如何在SAP ABAP中使用BSP? 37. 如何在SAP ABAP中使用Web Dynpro? 38. 如何在SAP ABAP中使用SAPUI5? 39. 如何在SAP ABAP中使用Fiori Launchpad? 40. 如何在SAP ABAP中使用SAP HANA?

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值