我在过去的2.5年里一直致力于SAP技术.由于技术概念太多,我无法获得单一来源,可以了解与之相关的所有内容.我没有掌握掌握所有技术概念的信心.
如果您遇到过这样的经历以及如何克服它,请帮助我.建议您遵循的一些书籍或方法可能会有所帮助.
注意:我已经在Java/J2EE中工作过.我对掌握这些概念充满信心.
使用扩展程序检查时,我收到以下警告:
不要
variable name全局声明字段和字段符号().
这是在选择屏幕之前声明全局数据.显而易见的解决方案是它们应该在子例程中本地声明.
如果我决定这样做,数据现在将超出其他子程序的范围,所以我最终会创建一些main()来自C或Java函数的东西.这听起来是个好主意 - 但是,诸如INITIALIZATION不允许在子例程中的事件,这意味着它会强制中断范围.
请观察以下示例程序:
REPORT Z_EXAMPLE.
SELECTION-SCREEN BEGIN OF BLOCK upload WITH FRAME TITLE text-H01.
PARAMETERS: p_infile TYPE rlgrap-filename LOWER CASE OBLIGATORY.
SELECTION-SCREEN END OF BLOCK upload.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_infile.
PERFORM main1 CHANGING p_infile.
INITIALIZATION.
PERFORM main2.
TOP-OF-PAGE.
PERFORM main3.
...
Run Code Online (Sandbox Code Playgroud)
main1,main2并且main3不能据我所知,在没有全局声明的情况下将任何数据传递给彼此.如果从上传的文件p_infile中解析数据main1,则无法在main2或中访问main3.除了一起省略事件之外,有没有办法遵守警告但让数据通过事件传递?
我有以下几列的分析图- ,
sid,name,age,gender和marks.我无法使用,select *因为该gender列在查看输出时会产生错误.因此,我必须选择除gender查看结果之外的所有列.我有一个查询视图的OData服务.
OData服务如下 -
service {
"_SYS_BIC"."test_package/AN_STUDENTS" as "query"
keys ("sid","name","age")
aggregates always (SUM of "marks");
}
settings {
support null;
}
Run Code Online (Sandbox Code Playgroud)
我只能在使用时查看OData结果$select.
http://testservice.xsodata/query?$select=sid,name,age
任何人都可以建议如何绑定sap.m table到这个OData服务与其项目聚合,以便该$select部分直接在OData调用本身实现?
我想创建一个新的骆驼组件MyComponent,它是不同组件的组合:
例如,代替指定多个端点:
from("file:c:/in")...to...
from("ftp:...")...to...
Run Code Online (Sandbox Code Playgroud)
我希望MyComponent可以检测到正确的端点:
from("myComponent:..")...to...
Run Code Online (Sandbox Code Playgroud)
因此,它可以作为一个适配器,该文件是否来到from("file"),from("sftp"),from("stream"),等...
并作为适配器吞噬者,我们有一个作为条目或ftp的文件..
如何做到这一点?
for x in names:
dictionary = {x : [], }
Run Code Online (Sandbox Code Playgroud)
我希望我的字典有一个包含每个名称元素的空列表,但我只得到最后一个(显然是最重要的)。在列表中我们可以使用 .append(). 我如何用字典做到这一点?
编辑:假设名字有吉米和亚历克斯。
dictionary = {Jimmy : [], Alex : []}
Run Code Online (Sandbox Code Playgroud) 有没有办法|在多行中使用字符串运算符?
使用经典CONCATENATE令牌,您可以进行如下分配:
CONCATENATE 'A rubber duck is a toy shaped like a stylized'
'duck, generally yellow with a flat base. It'
'may be made of rubber or rubber-like material'
'such as vinyl plastic.' INTO lv_variable SEPARATED BY space.
Run Code Online (Sandbox Code Playgroud)
我没有找到一种有效的方法来执行以下操作:
lv_variable = |A rubber duck is a toy shaped like a stylized | &
|duck, generally yellow with a flat base. It | &
|may be made of rubber or rubber-like material | &
|such as vinyl …Run Code Online (Sandbox Code Playgroud) PARAMETERS p_var LIKE varit-variant.
Run Code Online (Sandbox Code Playgroud)
该LIKE varit-variant附加内容可以帮助用户包含搜索帮助,用户可以在其中输入报告名称,并从VARIT表格中列出变体并将其提供给用户.
但是,ABAP最佳实践禁止LIKE在引用DDIC类型时使用.如何在不使用过时的语言元素的情况下保留此功能?
我已将Android Studio从2.3.2更新到2.3.3.
现在,当我尝试安装在\ app\build\outputs\apk中生成的APK时,应用程序已安装,但它只是轻弹并存在.
它以前工作得很好,但从昨天起它没有工作,我尝试了2-3个不同的项目,但没有用.
这是我希望在AFRU表格中选择的数据样本.
+----------------------+-----------------+-------------------------+
| Confirmation (RUECK) | Counter (RMZHL) | Finish Execution (IEDD) |
+----------------------+-----------------+-------------------------+
| 30116 | 1 | 08/26/2014 |
| 30116 | 2 | 08/27/2014 |
| 30116 | 3 | 09/27/2013 |
+----------------------+-----------------+-------------------------+
Run Code Online (Sandbox Code Playgroud)
给定这个数据集,我想选择最后一行,因为它包含最高RMZHL值(我实际上只是在该IEDD记录的值之后).这是我一直在尝试使用的代码:
SELECT MAX( rmzhl ), iedd FROM afru
INTO (@DATA(lv_rmzhl), @DATA(lv_iedd))
WHERE rueck = '0000030116'
GROUP BY rmzhl, iedd.
...
<some fancy code here>
...
ENDSELECT.
Run Code Online (Sandbox Code Playgroud)
然而,这个选择始终网我的价值观1了lv_rmzhl,并且20140826为lv_iedd,因此没有得到MAX像我试图获得价值.我明白,通过将所有内容放入内部表格并对RMZHL …