在屏幕 MIGO 附加选项卡处循环

Loop at Screen MIGO additional tab

提问人:Frisk_Shepard 提问时间:7/13/2023 最后编辑:Sandra RossiFrisk_Shepard 更新时间:7/13/2023 访问量:151

问:

我正在研究有关本教程的事务中的其他栏:https://blogs.sap.com/2013/06/14/how-to-create-a-custom-tab-for-migo-item-details/MIGO

此解决方案使用两个屏幕来显示数据,如博客文章中所示:copy of https://blogs.sap.com/wp-content/uploads/2013/06/6_231309.jpg

是否可以使用一个屏幕来展示它们?我正在考虑使用循环,但我不太知道如何使用它。

我的PBO:

METHOD if_ex_mb_migo_badi~pbo_detail.
  DATA: wa_extdata  TYPE BAND_SCREEN_FIELD.
  DATA :gf_class_id TYPE migo_class_id.
  gf_class_id = 'CLASS_NAME'.
  CHECK i_class_id = gf_class_id.
  IF g_no_input IS INITIAL.
    e_cprog   = 'SAPLNAME_FG'.
    e_dynnr   = '9001'.
    e_heading = 'HZZZ'(001).
  ELSE.
    e_cprog   = 'SAPLNAME_FG'.
    e_dynnr   = '9002'.
    e_heading = 'HZZZ'(001).
  ENDIF.
  g_line_id = i_line_id.
  READ TABLE gt_extdata INTO wa_extdata WITH KEY line_id = g_line_id.
  IF sy-subrc = 0 AND wa_extdata-mblnr IS NOT INITIAL AND wa_extdata-mjahr IS NOT INITIAL AND wa_extdata-zeile IS NOT INITIAL.
    SELECT SINGLE * FROM Z_TABLE
    CLIENT SPECIFIED INTO CORRESPONDING FIELDS OF wa_extdata
    WHERE mandt = sy-mandt
    AND   mblnr = wa_extdata-mblnr
    AND   mjahr = wa_extdata-mjahr
    AND   zeile = wa_extdata-zeile.

    SET PARAMETER ID:
                  'ZFIELD1' FIELD wa_extdata-ZFIELD1,
                  'ZFIELD2' FIELD wa_extdata-ZFIELD2.
  ELSE.
    SET PARAMETER ID:
                  'ZFIELD1' FIELD space,
                  'ZFIELD2' FIELD space.
  ENDIF.

  ENDMETHOD.

具有两个屏幕的解决方案正在工作,但是我需要尝试使用一个屏幕创建解决方案。

ABAP S4HANA

评论

0赞 Sandra Rossi 7/14/2023
您已经在标题中指明了可能的解决方案(“在屏幕上循环”以更改屏幕字段的属性,例如只读)。你走在正确的轨道上。我认为您在帖子中混淆了“PBO”和方法。PBO(输出前处理)是屏幕(即 9001 或 9002)的“流逻辑”的一部分,在此期间您可以执行一个“模块”,该模块将执行 .请重试,如果无法成功,请恢复。请提出一个准确的问题/标题。不要引用外部内容,所有内容都必须在 Stack Overflow 中描述。PBO_DETAILloop at screen

答: 暂无答案