Printing 自定义报告中的标准打印按钮不工作

Printing 自定义报告中的标准打印按钮不工作,printing,abap,Printing,Abap,我的客户报告了一个问题,开发人员以前编写的Z-report中的标准打印按钮不起作用 如何启用该按钮 MODULE user_command_0100 INPUT. DATA: GS_STATUS TYPE SLIS_STATUS, XS_STATUS LIKE GS_STATUS. CASE sy-ucomm. WHEN 'BACK' OR '%EX' OR 'RW'. LEAVE TO SCREEN 0.

我的客户报告了一个问题,开发人员以前编写的Z-report中的标准打印按钮不起作用

如何启用该按钮

    MODULE user_command_0100 INPUT.
      DATA: GS_STATUS TYPE SLIS_STATUS,
      XS_STATUS LIKE GS_STATUS.

      CASE sy-ucomm.
        WHEN 'BACK' OR '%EX' OR 'RW'.
          LEAVE TO SCREEN 0.
        WHEN '&RNT'.

      ENDCASE.
    ENDMODULE.

然后按钮需要分配一个usercommand,然后在pai中处理。通常使用一种叫做get_ucomm的通用形式,许多开发人员称之为类似的形式。您还可以在交易字段中发出/h,然后按打印按钮/h将触发调试器,您可以逐步检查报告。
这就是我在没有看到代码的情况下所能说的。希望这会有所帮助。

您在GUI状态中定义了哪个用户命令

如果您有一个我在编写z报告时所期望的标准列表,那么您应该定义命令PRI来打印该列表:

如果使用屏幕画师或ALV网格定义屏幕。。。那么这个解决方案对你没有帮助

如果您不知道GUI状态是什么:扫描源代码以获取命令

SET PF-STATUS 'XXXX'.

然后双击“XXXX”,您将被引导到状态定义。可能有多个状态和具有通用名称的状态。

我已经看到了您的代码,对于&RNT选项,没有要执行的代码,因此如果用户想要打印,按钮将不会执行任何操作

MODULE user_command_0100 INPUT.
  DATA: GS_STATUS TYPE SLIS_STATUS,
  XS_STATUS LIKE GS_STATUS.

  CASE sy-ucomm.
    WHEN 'BACK' OR '%EX' OR 'RW'.
       LEAVE TO SCREEN 0.
    WHEN '&RNT'.
       " There's no code
  ENDCASE.
ENDMODULE.
我使用了功能组“KKBL”中的“标准”GUI状态,“&RNT”是打印按钮的代码,这就是为什么我认为这是您在程序中引用的打印按钮


您可以发布您正在使用的GUI状态吗?

它是dynpro还是正常选择屏幕?没有打印系统的案例。在本例中添加一个断点并键入“模拟到&RNT”,只需在WHEN&PRI下添加指令断点,并在WHEN&PRI下添加一个WHEN-PRI,然后在此处执行同样的操作,按下pint按钮,看看会发生什么。@knut我正在共享一段代码。我不是一个开发人员,但我认为我应该在“何时”触发后写一些东西。模块用户命令输入。数据:GS_状态类型SLIS_状态,XS_状态类似于GS_状态。病例:子宫内膜异位症。当“返回”或“%EX”或“RW”时。转到屏幕0。当“&RNT”时。尾声。ENDMODULE。请更新初始帖子,以便使用代码突出显示功能。@Eldanar:如果您在我的答案下发表评论,那么我会被告知您的帖子。根据printscreen,它是PRI,而不是RNT,必须是大小写。@icbytes如果您是指我的屏幕截图:您可以在状态下定义自己的命令。PRI只是ABAP列表的预定义命令,在这种特殊情况下不使用。所以op的gui状态不是默认状态?