我想了解交付等级“A”和“C”的区别。C 表示仅由客户输入的数据,但我如何在代码上看到它?
我创建了两个类型为“A”和“C”的表。我用ABAP代码添加数据。我以为我无法将数据添加到我用 C 创建的表中,但它们的工作原理相同。
对于 A 型:
DATA wa_ogr LIKE ZSGT_DELIVCLS2.
wa_ogr-ogrenci_no = 1.
wa_ogr-ogrenci_adi = 'Seher'.
INSERT ZSGT_DELIVCLS2 FROM wa_ogr.
Run Code Online (Sandbox Code Playgroud)
对于 C 型:
DATA wa_ogr LIKE ZSGT_DELIVERYCLS.
wa_ogr2-ogrenci_no = 1.
wa_ogr2-ogrenci_adi = 'Seher'.
INSERT ZSGT_DELIVERYCLS FROM wa_ogr2.
Run Code Online (Sandbox Code Playgroud)
有没有现场演示可以让我看到 C 的工作逻辑?您能更好地描述一下 C 级交付吗?
我有一个设置错误的表(作为应用程序表,但创建了一个维护视图)但它应该是一个自定义表,以便我们能够传输表的条目。
到目前为止,我更改了表的类型和可维护性,现在是类型 C(定制),可以无限制地进行更改。我还在技术设置中将类型更改为 APPL2,因此它是一个自定义表。在这些更改之后,我删除了原始表维护生成器视图并生成了一个新视图。
我的问题是,当我在 sm30 中保存我的新/更改条目时,我不会被要求提供传输请求,并且将它们放入 sm30 中的传输请求的选项(通过菜单)不可用。它过分了。
我如何更改我的表格/我需要做什么,以便我能够传输我的自定义条目?
我在abap中创建了一个新函数模块,它应返回数据元素的列表AGVAL
.
AFAIK现在有两种方式:
怎么做这种反省?我想现在,如果已经有一个包含一列的表类型,它是AGVAL类型的?
我正在使用该line_index
函数,并且想搜索两个值,不仅是carrid
,而且是connid
。是否可以?如果真是这样,那么是以哪种方式?
因为现在,这是有效的:
lv_index = line_index( lt[ carrid = 'LH' ] ).
Run Code Online (Sandbox Code Playgroud)
[ connid = '2407' ]
但是添加这样的代码后:
lv_index = line_index( lt[ carrid = 'LH' ][ connid = '2407' ] ).
Run Code Online (Sandbox Code Playgroud)
我收到语法错误:
LT[ ] 不是内表
SAP 表 DD02L 列出了 SAP 中的每个表以及每个表中的字段数。例如,根据 T 代码 S_PH0_48000138,PLPO(PM 任务列表)表包含 244 个字段。对于业务报告和使用 SQL,我最多只想看到 5、6 个字段值,但整个表都被复制,所有 244 个字段!
所以,我想知道有多少个透明表包含超过 20 个字段。如果我运行上面的 t 代码,我将花费 10 年时间才能一次完成一张表。
迈克·麦克纳利
我不是一个经验丰富的 ABAPer,所以我不知道如何设置。
我有两个表:ZDEPARTMENT01
和ZEMPLOY01
。
ZDEPARTMENT01
有一个外键DEPHEAD
,其数据元素是ZPERSONNEL_NO
域ZPERSONNEL_NO
(NUMC, 10)。ZEMPLOY01
有一个主键EMP_NUM
,其数据元素是ZEMP_NUM
域ZEMP_NUM
(NUMC, 10)。
ZDEPARTMENT01-DEPHEAD
是外键,ZEMPLOY01-EMP_NUM
是检查键, ZDEPARTMENT01-DEPHEAD
域ZPERSONNEL_NO
有值表:ZEMPLOY01
。
在为ZDEPARTMENT01-DEPHEAD
我设置检查表时出现错误检查表 ZEMPLOY01 没有键字段,域 ZPERSONNEL_NO 的域为 DEPHEAD
即使两个域具有相同的数据类型和长度(但域不同),系统也无法识别外键表和检查表关系。
文档说:系统尝试将检查表的关键字段分配给具有相同域的表的字段。是不是除了数据类型和长度外,外键表和校验表的域名应该是一样的?
如何解决这个问题?