点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
Hallo Abapers,
我需要从旧的ZProgram调用屏幕到新的ZProgram。
此屏幕名称 0400 是通过在旧程序的选择屏幕中单击一个按钮来调用的,此按钮称为" PB_01" ...。
现在回到我的新zprogram中,我创建了一个名为 PB_02 的新按钮,并在尝试调用dynpro '0400'时编写了以下代码。
DATA:l_f_bdcdata TYPE bdcdata, l_t_bdcdata_tab bdcdata类型表。 如果sy-ucomm ='PB_02'。 清除l_f_bdcdata。 l_f_bdcdata-program ='/EDEL/R_DD_RPRT_MGMT'。 l_f_bdcdata-dynpro ='0400'。 l_f_bdcdata-dynbegin ='X'。 将l_f_bdcdata附加到l_t_bdcdata_tab。 使用l_t_bdcdata_tab进行呼叫交易" altprogram"。
内部表类型是排序表,而不是BDCDATA。 .....
因此代码无法正常工作.....
有人可以指导如何做到这一点吗??
最好的问候
珍妮
首先,我想您不能从其他程序中调用屏幕,如果要这样做,则应在功能组中定义它。
现在,因为您正在使用bdcdata i 建议您尝试fm:ABAP4_CALL_TRANSACTION并传递所有bdcdata以检查其是否有效。 也许您需要先用sm36记录旧程序(为了能够从旧程序中调用屏幕0400,它背后应该有其他逻辑,也许您在BDC中丢失了。)
我认为还有另一种方法 可以使用的方法是添加一个子屏幕区域并进行调用(如果屏幕0400定义为子屏幕):
这只是正常现象 您将ok代码PB_02放入bdcdata中的"使用bdcdata进行交易" ...
(是的批输入没有死)
我有 已经做过,但无法正常工作,请查看下面的代码
关于
这取决于PB_02是否在屏幕0400上...我确实知道您必须单击PB_02按钮才能进入屏幕0400: 很抱歉,您必须在上一个屏幕上生成ok代码PB_02
抱歉,但是我不能在此处进行完整的BDC培训,在最坏的情况下,您可以使用事务SHDB来注册要执行的操作 放在BDCDATA中。
一周热门 更多>