- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下一段代码。
REPORT YYY.
TYPES: BEGIN OF t_test,
test TYPE c LENGTH 4,
END OF t_test,
tth_test TYPE HASHED TABLE OF t_test WITH UNIQUE KEY test.
DATA(g_tab_test) = VALUE tth_test( ( test = 'AAAA' ) ( test = 'BBBB' )
( test = 'CCCC' ) ( test = 'DDDD' ) ).
PARAMETERS:
p_x1 TYPE abap_bool,
p_x2 TYPE abap_bool,
p_x3 TYPE abap_bool.
CLASS lcl_main DEFINITION FINAL CREATE PRIVATE.
PUBLIC SECTION.
CLASS-METHODS:
main.
ENDCLASS.
CLASS lcl_main IMPLEMENTATION.
METHOD main.
ENDMETHOD.
ENDCLASS.
AT SELECTION-SCREEN OUTPUT.
LOOP AT screen.
MODIFY SCREEN.
ENDLOOP.
BREAK-POINT. "<-- why is the table g_tab_test not initialsed here yet?
AT SELECTION-SCREEN ON p_x1.
ASSERT 1 = 1.
尽管有定义,AT SELECTION-SCREEN OUTPUT
中中断点处的表是空的。为什么会这样,是否有记录在案的行为?
最佳答案
我相信这是一个记录在案的行为。
https://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-US/abapstart-of-selection.htm
In an executable program, the following statements are assigned to an implicit START-OF-SELECTION event block, which is inserted by an explicit START-OF-SELECTION event block if one exists:
All statements that are not declaration and are listed before the first explicit processing block.
All functional statements in the program if it does not contain any explicit processing blocks,
代码是“悬而未决”的,不是在确切的事件下显式的,这意味着内部表的初始化将仅使用隐式 START-OF-SELECTION
运行。
代码段需要在INITIALIZATION
下(或LOAD-OF-PROGRAM
,具体取决于具体需要)
关于abap - 为什么 inline-declared itab 没有在 AT SELECTION SCREEN OUTPUT 中初始化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56700870/
假设我有 2 个内部表: TYPES:BEGIN OF LTY_FILE, SOKEY TYPE CHAR5, SOPONO TYPE CHAR15, SOC
在我的选择屏幕上,您可以使用单选按钮组选择您要选择的信息类型。 ( Material 编号、施工契约(Contract)或客户订单)。 选择种类后,用户必须在相应的选择选项中填写数字。有了这些信息,我
我想获取一个字段说 excep_point来自透明的 table z_accounts为company_code的组合和 account_number .如何在 ABAP SQL 中执行此操作? 假设
我从一个返回约 100 行的函数模块调用中得到一个内部表。大约 40% 的行与我无关,因为我只需要带有 PAR1 = "XYZ" 的条目. 在 SQL 表(透明表)上,我可以使用 select cou
构造了一个动态内部表,其中表名作为用户的输入字符串,如何循环遍历它? 请找到 MWE: DATA W_TABNAME TYPE W_TABNAME. DATA W_DREF TYPE REF TO D
构造了一个动态内部表,其中表名作为用户的输入字符串,如何循环遍历它? 请找到 MWE: DATA W_TABNAME TYPE W_TABNAME. DATA W_DREF TYPE REF TO D
我尝试使用SELECT FROM @itab,如所解释的here in SAP docs . 我从未使用过此功能,但认为这很棒。您可以查询仅存在于解释器 RAM 中的内部数据结构,就像数据库中的真实表
我有一个查询,其中使用FOR ALL ENTRIES。内表lt_customer没有记录。 SELECT * FROM bsid INTO CORRESPONDING FIELDS O
我对ABAP一无所知——但我的同事(也对此一无所知)向我展示了他想出的一些代码,其中包含太多的if语句。在 JavaScript 中我可以改进它,但在 ABAP 中我有点迷失,因为我丢失了我的数组;)
我尝试使用SELECT FROM @itab,如所解释的here in SAP docs . 我从未使用过此功能,但认为这很棒。您可以查询仅存在于解释器 RAM 中的内部数据结构,就像数据库中的真实表
我有一个查询,其中使用FOR ALL ENTRIES。内表lt_customer没有记录。 SELECT * FROM bsid INTO CORRESPONDING FIELDS O
我有这样的选择 DATA lt_data TYPE SORTED TABLE OF T_TYPE1 WITH NON-UNIQUE KEY col1. SELECT col1, col2 INTO C
我想对具有 6 个关键字段的数据库表执行 SELECT 查询,假设它们是 keyA、keyB、...、keyF。 作为我的 ABAP 功能模块的输入参数,我确实收到了一个内部表,该内部表具有与关键字段
我试图从内部表中获取一个字段,如下所示: READ TABLE tbl_peps TRANSPORTING ususap INTO lv_responsable WITH KEY usr03 = wa
为了检查内表lt_itab的所有条目是否满足条件COND,我想使用REDUCE语句。一旦发生违反 COND 的行,循环当然需要终止。下面的第二个代码块似乎可以工作,但在我看来像是对迭代索引的轻微滥用。
我找到了这个用于填充范围表的代码(源已经离线): DATA lr_vkorg TYPE RANGE OF vkorg. TYPES: lr_range_t TYPE RANGE OF vkor
ABAP 7.40 给我们带来了新的语法,我还在摸索。 我想在现有表中添加一个新行 lt_itab .我通过添加一个空行并计算出表的当前长度以按索引进行更新找到了一种解决方法,但是有没有更简单的方法?
为了检查内表lt_itab的所有条目是否满足条件COND,我想使用REDUCE语句。一旦发生违反 COND 的行,循环当然需要终止。下面的第二个代码块似乎可以工作,但在我看来像是对迭代索引的轻微滥用。
我找到了这个用于填充范围表的代码(源已经离线): DATA lr_vkorg TYPE RANGE OF vkorg. TYPES: lr_range_t TYPE RANGE OF vkor
我已经声明了一个内部表: DATA: wa_collectoraction TYPE zcollectoraction, it_collectoraction LIKE STANDARD TABL
我是一名优秀的程序员,十分优秀!