小编gku*_*bed的帖子

掌握SAP R3和ABAP的正确方法

我在过去的2.5年里一直致力于SAP技术.由于技术概念太多,我无法获得单一来源,可以了解与之相关的所有内容.我没有掌握掌握所有技术概念的信心.

如果您遇到过这样的经历以及如何克服它,请帮助我.建议您遵循的一些书籍或方法可能会有所帮助.

注意:我已经在Java/J2EE中工作过.我对掌握这些概念充满信心.

abap

3
推荐指数
1
解决办法
786
查看次数

在ABAP报告中本地化全局可变量

使用扩展程序检查时,我收到以下警告:

不要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.除了一起省略事件之外,有没有办法遵守警告但让数据通过事件传递?

sap abap global-variables

2
推荐指数
1
解决办法
1855
查看次数

如何从ui5应用程序使用$ select for odata调用?

我有以下几列的分析图- , sid,name,age,gendermarks.我无法使用,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调用本身实现?

odata sapui5 sap-fiori

2
推荐指数
1
解决办法
1800
查看次数

将许多骆驼组件组合到一个自定义组件中

我想创建一个新的骆驼组件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的文件..

如何做到这一点?

apache-camel

1
推荐指数
1
解决办法
240
查看次数

如何动态地将键添加到字典中?

 for x in names:
        dictionary = {x : [], }
Run Code Online (Sandbox Code Playgroud)

我希望我的字典有一个包含每个名称元素的空列表,但我只得到最后一个(显然是最重要的)。在列表中我们可以使用 .append(). 我如何用字典做到这一点?

编辑:假设名字有吉米和亚历克斯。

dictionary = {Jimmy : [], Alex : []}
Run Code Online (Sandbox Code Playgroud)

python dictionary list

1
推荐指数
1
解决办法
7611
查看次数

使用字符串模板"|" 跨越多行

有没有办法|在多行中使用字符串运算符?

使用经典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)

sap abap concatenation

1
推荐指数
1
解决办法
325
查看次数

在选择屏幕PARAMETERS输入中避免LIKE

PARAMETERS p_var LIKE varit-variant.
Run Code Online (Sandbox Code Playgroud)

LIKE varit-variant附加内容可以帮助用户包含搜索帮助,用户可以在其中输入报告名称,并从VARIT表格中列出变体并将其提供给用户.

但是,ABAP最佳实践禁止LIKE在引用DDIC类型时使用.如何在不使用过时的语言元素的情况下保留此功能?

sap abap

1
推荐指数
1
解决办法
54
查看次数

APK不是由Android Studio V 2.3.3制作的

我已将Android Studio从2.3.2更新到2.3.3.

现在,当我尝试安装在\ app\build\outputs\apk中生成的APK时,应用程序已安装,但它只是轻弹并存在.

它以前工作得很好,但从昨天起它没有工作,我尝试了2-3个不同的项目,但没有用.

android apk android-install-apk android-studio

0
推荐指数
1
解决办法
5922
查看次数

ABAP - 选择MAX值与选择条件匹配的行

这是我希望在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)

然而,这个选择始终网我的价值观1lv_rmzhl,并且20140826lv_iedd,因此没有得到MAX像我试图获得价值.我明白,通过将所有内容放入内部表格并对RMZHL …

abap opensql

-1
推荐指数
1
解决办法
1万
查看次数