我最近有一个转储,
DATA: gt_data TYPE SORTED TABLE OF ty_data WITH NON-UNIQUE KEY bukrs gaapnm,
...
lt_tabdel TYPE standard TABLE OF ty_data.
LOOP AT gt_data ASSIGNING <gf_data>.
IF <gf_data>-KANSW + <gf_data>-KAUFW = 0.
APPEND <gf_data> TO lt_tabdel.
ENDIF.
ENDLOOP.
IF lt_tabdel IS NOT INITIAL.
DELETE gt_data FROM lt_tabdel.
ENDIF.
Run Code Online (Sandbox Code Playgroud)
并且在内部表中删除表的行 - 我有一个转储:在语句中将对象转换为整数只在参数位置"对象"支持数值类型的数据对象.在本例中,操作数"对象"具有非数值数据类型"TABLE OF TY_DATA".我只是无法理解 - 为什么?它们都有相同的类型......所以,如果你能提供一些建议和一些错误来源的解释,那将会很棒.
这句话有什么问题?
SELECT aufk~aufnr
zmm_limit_co~vd zmm_limit_co~matkl_code
zmm_limit_matkl~sign
FROM aufk
JOIN zmm_limit_co ON zmm_limit_co~auart = aufk~auart
left JOIN zmm_limit_matkl
on zmm_limit_matkl~matkl = zmm_limit_matkl~matkl_code
INTO CORRESPONDING FIELDS OF table lt_input
WHERE aufk~aufnr = <lf_new_pos>-aufnr.
Run Code Online (Sandbox Code Playgroud)
当我尝试执行程序时,ABAP给了我一个错误:
'必须使用逗号分隔"SELECT LIST"列表中的元素.
我想,当我从它中删除"左"时,错误以某种方式与JOIN连接 - 它正在编译就好了,但随之而来.
MyData data = new MyData { MyInt = 1, MyString = "Smith" };
MyData data1 = new MyData { MyInt = 3, MyString = "Wesson" };
MyData data2 = new MyData { MyInt = 2, MyString = "Colt" };
List<MyData> lst = new List<MyData>();
lst.Add(data);
lst.Add(data1);
lst.Add(data2);
Console.WriteLine("\nBefore sort:");
foreach (MyData MyInt in lst)
{
Console.WriteLine((MyInt));
Console.WriteLine(lst.ToString());
}
Run Code Online (Sandbox Code Playgroud)
为什么这样表现出来?我期望得到它的内容.两种不同的方式给了我相同的结果.列表填充可能是我错了吗?
var account = new TRANSPORT_TO_ACCOUNT
{
TransportLayerId = reader["ID"] as string,
...
BLOCKED = reader["BLOCKED"] as bool,
};
accounts.Add(account);
Run Code Online (Sandbox Code Playgroud)
我有这个代码的问题.
as运算符必须与引用类型或可空类型一起使用('bool'是不可为空的值类型)
BLOCKED在这种情况下我应该如何正确宣布?
我需要从我们的生产数据库更新测试环境中的一些表。基本上是同一张表,只是更新了几个月。
所以,这是我试图实现的一个查询:
UPDATE [Server-DEV].[Database].[dbo].[bHRRM]
SET [Field1] = b.[Field1],
[Field2] = b.[Field2], ... ,
[FieldX] = b.[FieldX]
FROM [Server-PROD].[Database].[dbo].[bHRRM] AS b
Run Code Online (Sandbox Code Playgroud)
我不关心数据被覆盖,因为它是一样的。即使相反也是如此 - 如果有差异,最好测试服务器进行相应更新。但我不想要重复的。
KeyID现在,如果包含列,则存在问题。即使我将其排除在SET- 之外,仍然存在错误:
无法在具有唯一索引“biHRRM”的对象“dbo.bHRRM”中插入重复的键行。重复的键值为 (5, 1000)。
所以,第一个问题是——我做错了什么?