使用功能模块的呼叫画面

2020-09-13 02:57发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我试图创建一个功能组和一个功能模...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我试图创建一个功能组和一个功能模块,以便能够从功能模块调用屏幕。
我已经完成了以下步骤:
1-创建功能组
2- 创建屏幕'800'
3-在屏幕中创建PBO初始模块以选择数据和状态。
4-在屏幕中创建PAI推荐模块。
5-创建一个功能模块,然后在此FM中编写

呼叫屏幕800。


6-现在在我应该编写的应调用此屏幕/FM的程序中

开始选择。

 调用函数" ZFM" 

问题是当我执行FM或程序时,系统显示的屏幕上没有数据或状态吗????

有些人能告诉我我还缺少什么吗?

最好的问候

珍妮

(14.7 kB)
付费偷看设置
发送
8条回答
1楼-- · 2020-09-13 03:08

Muthu,

我的PBO编码如下:

输出前的过程。
  MODULE STATUS_800。
  模组in_800 OUTPUT。

 **********************************************


  模组in_800 OUTPUT。
     执行get_data。

     执行create_object。

     执行display_data。
 ENDMODULE。

 FORM create_object。
   创建对象g_cont
     出口
       container_name ='SCREEN'。
   创建对象go_grid
     出口

       i_parent = g_cont。
 ENDFORM。  " CREATE_OB

 FORM display_data。



 DATA lo_variant TYPE变量。

 数据ls_layout类型为lvc_s_layo。

 lvc_s_fcat的数据lt_fieldcat类型标准表。
 DATA lo_variant TYPE变量。

 lvc_s_fcat的数据lt_fieldcat类型标准表。

 lo_variant-report = sy-repid。

   通话功能'LVC_FIELDCATALOG_MERGE'

     出口
       i_structure_name ='MARA'
     改变
       ct_fieldcat = lt_fieldcat
     例外情况
       接口不一致= 1
       程序错误= 2
       其他= 3。
   呼叫方法go_grid-> set_table_for_first_display
     出口
       is_variant = lo_variant
       i_save ='A'
       is_layout = ls_layout
     改变
       it_outtab = gt_mara
       it_fieldcatalog = lt_fieldcat

     例外情况

       invalid_parameter_combination = 1

       程序错误= 2

       too_many_lines = 3

       其他= 4。

   如果sy-subrc <> 0。

     消息ID sy-msgid类型sy-msgty编号sy-msgno

                 与sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4。

   万一。

 ENDFORM。  " DISPLAY_DATA

 FORM get_data。

   数据lt_mara mara的类型标准表。

   DATA ls_mara TYPE马拉。

 选择*从mara到表gt_mara,最多100行。

 ENDFORM。

 

我在FM中写过

功能ZFM_TEST

 致电屏幕800。

 ENDFUNCTION 

在程序中...

开始选择
 调用函数" ZFM_TEST"。

但是由于状态或PBO正在工作,我仍然无法将屏幕传递给FM?

您的建议高度赞赏:)

Jenie

Nir深蓝
2楼-- · 2020-09-13 03:11

嗨,珍妮弗,

也请附加PBO代码。

灬番茄
3楼-- · 2020-09-13 03:06

嗨,詹妮弗,

在工厂调用方法中,请检查内部表-。 是否填充。

共享调试屏幕..以了解确切的内容。

谢谢

Mohan

半个程序猿
4楼-- · 2020-09-13 03:01

嗨詹妮弗,

很多疑问。

1)从程序调用的FM不同。 正确使用名称。

2)为什么要在FM内使用呼叫屏幕400? 您正在使用800或400屏幕吗?

3)现在问题到底在哪里? 在程序中还是在FM中? 您如何将屏幕传递给FM? 您能详细说明一下吗?

〜MR

槿木_熙
5楼-- · 2020-09-13 03:03

嗨,Muthu,
我已经更改了代码,以便更轻松地了解FM的概念,请看一看我写的内容 我失去了功能组和FM之间的连接。

最好的问候

大简至美
6楼-- · 2020-09-13 03:10

嗨,莫汉,
感谢您的输入。

我已经在单独的程序中调试了代码,并且运行顺利...但是我如何调试在功能组中编写的代码,这有可能吗?....我可以调试直到调用 FM中的屏幕800,然后SAP无需进入屏幕就直接调用屏幕800。

最好的问候

珍妮

一周热门 更多>