ABAP 新特性 - VALUE 实现DEEP结构赋值

TYPES: BEGIN OF SSCR_RESTRICT,
         OPT_LIST_TAB TYPE SSCR_OPT_LIST_TAB,
         ASS_TAB     TYPE SSCR_ASS_TAB,
       END   OF SSCR_RESTRICT.

* One list of options
TYPES: BEGIN OF SSCR_OPT_LIST,
         NAME    LIKE RSRESTRICT-OPTIONLIST,
         OPTIONS LIKE RSOPTIONS,
       END   OF SSCR_OPT_LIST.

* List of option lists
TYPES: SSCR_OPT_LIST_TAB TYPE SSCR_OPT_LIST OCCURS 5.

* One line of table associating selection screen object with opt. list
TYPES: BEGIN OF SSCR_ASS,
         KIND LIKE RSSCR-KIND,         " A(ll), B(lock), S(elect-Option)
         NAME LIKE RSRESTRICT-OBJECTNAME,  " Blockname, maximal 20
         SG_MAIN LIKE RSRESTRICT-SIGN, " (only) I, SPACE = both
         SG_ADDY LIKE RSRESTRICT-SIGN, " additional SIGN
                                       " on multiple selection screen
         OP_MAIN LIKE RSRESTRICT-OPTIONLIST, " name of option list for
                                       " main selection screen
         OP_ADDY LIKE RSRESTRICT-OPTIONLIST, " name of additional option
                                " list for multiple selection screen
       END   OF SSCR_ASS.
* The association table
TYPES: SSCR_ASS_TAB TYPE SSCR_ASS OCCURS 20.

*工作区ls_restrict 赋值
  DATA(ls_options) = CORRESPONDING rsoptions( is_options ).

  IF ls_options IS INITIAL.
    ls_options-eq = 'X'.
  ENDIF.

  DATA(ls_restrict) = VALUE sscr_restrict(
      opt_list_tab = VALUE sscr_opt_list_tab(
        ( name    = 'OPT_LIST'
          options = VALUE rsoptions( bt = ls_options-bt
                                     cp = ls_options-cp
                                     eq = ls_options-eq
                                     ge = ls_options-ge
                                     gt = ls_options-gt
                                     le = ls_options-le
                                     lt = ls_options-lt
                                     nb = ls_options-nb
                                     ne = ls_options-ne
                                     np = ls_options-np ) )
      )
      ass_tab      = VALUE sscr_ass_tab(
        ( kind = 'S' name = iv_name sg_main = 'I' op_main = 'OPT_LIST' )
      )
  ).

 

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
ABAP是一种用于SAP系统开发的编程语言,其中pp模块是SAP系统中的生产计划模块,主要用于生产计划、生产过程控制和生产数据记录等。 ABAP开发在pp模块中的要点如下: 1. 熟悉pp模块的基础知识:了解pp模块的功能和流程,包括物料需求计划、生产订单、工作中心、生产版本等。这些知识对于正确理解和开发与pp模块相关的程序非常重要。 2. 掌握ABAP语言特性:ABAP作为SAP系统的开发语言,开发人员需要掌握其语法和特性,例如数据类型、变量声明、循环语句、条件语句等。这些知识将帮助开发人员编写高效且可靠的pp模块程序。 3. 理解生产计划数据结构:pp模块涉及的数据结构较为复杂,包括物料清单、工艺路线、生产订单等。开发人员需要了解这些数据结构的组成和关系,以便能够正确地读取和处理这些数据。 4. 开发报表和界面程序:PP模块通常需要输出各种类型的报表,如生产订单报表、工序报表等。开发人员需要根据用户需求设计和开发这些报表,并保证它们的准确性和易用性。 5. 数据验证和错误处理:在pp模块开发中,数据的准确性和可靠性非常重要。开发人员需要编写适当的代码来验证用户输入的数据,并能够处理各种可能的错误情况,以保证系统的稳定性和可靠性。 总之,ABAP开发在pp模块中需要掌握相关的知识和技术,包括pp模块的基础知识、ABAP语言特性、数据结构、报表和界面开发以及数据验证和错误处理等方面。只有掌握这些要点,才能够开发出高质量和高效率的pp模块程序。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王小磊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值