SAP 中的popup dialog (弹出对话框)

来源:互联网 发布:淘宝 精灵香水 假货 编辑:程序博客网 时间:2024/05/20 22:36

SAP  中很多时候是需要弹出式对话框的,提醒客户是否要进行下一个操作,我们可以调用FUNCTION MODULE : POPUP_TO_CONFIRM,POPUP_CONTINUE_YES_NO.显示选中某一行的数据类似与ALV 里面的detail item 的显示,可以用ADA_POPUP_WITH_TABLE ,缺点是这个对话框不可以修改大小,POPUP_WITH_TABLE_DISPLAY这个fm, 是提供选择的数据但是,如果显示的choose or cancel ,所以也不可以满足要求,POPUP_WITH_TABLE_DISPLAY_OK 这个FM 可以修改大小,但是title bar 显示的title 却不可以改变是‘Register',总之目前我找了很多都没有找到,可以肯定的一个方法,拷贝SAP 标准的程序用OO 的方法改写ALV里面detail display 的实现方法,
当一切的方法你都觉得没有现成的可以实现的时候,其实很简单,自己建立一个呗,要怎么显示就怎么显示,很难么,easy也。实现方法如下:
 
CALL SCREEN 0101 STARTING AT STARTPOS_COL STARTPOS_ROW
                   ENDING   AT ENDPOS_COL   ENDPOS_ROW.
 
*&---------------------------------------------------------------------*
*&      Module  STATUS_0101  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE status_0101 OUTPUT.
  SET PF-STATUS '101'.
  SET TITLEBAR '101'.
ENDMODULE.                 " STATUS_0101  OUTPUT
*&---------------------------------------------------------------------*
*&      Module  USER_COMMAND_0101  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE user_command_0101 INPUT.
  IF ok_code = 'CANCEL'.
*  LEAVE PROGRAM.
    LEAVE TO SCREEN 0.
  ELSEIF ok_code = 'CANCEL'.
* LEAVE PROGRAM.
    LEAVE TO SCREEN 0.
  ENDIF.
ENDMODULE.                 " USER_COMMAND_0101  INPUT
重点: 只要你会用CALL SCREEN 0101 STARTING AT  
                   ENDING   AT  .
这个语法,你就明白了,那么煞费苦心的去找POPPUP 函数是多么的狼狈,当然,如果,你知道,那么就不用自己去写了。