ITPUB??ì3
新一届的微软MVP评选已经开始,欢迎各位推荐!
ITPUB论坛 » ERP二次开发 » ABAP 文本框回车问题

投票标题: [范例] ABAP 文本框回车问题  (单选) [参与投票的会员]
各位高手:
  0 (0.00%)
有个问题希望大家帮忙;就是我在screen上放了两个文本框 Edit1 和Edit2;先希望光标在E
  0 (0.00%)


标题: [范例] ABAP 文本框回车问题
离线 yblong_yang
初级会员



精华贴数 0
个人空间 0
技术积分 26 (45698)
社区积分 0 (1530066)
注册日期 2007-8-27
论坛徽章:0
      
      

发表于 2008-7-1 22:33 
ABAP 文本框回车问题

各位高手:
     有个问题希望大家帮忙;就是我在screen上放了两个文本框 Edit1 和Edit2;先希望光标在Edit1是按会车光标要跑到Edit2上去;Edit2是按回车再跑到Edit1上去;请各位高手帮忙;谢谢/


只看该作者    顶部
离线 jimmie1978
啥都不知道。。。


来自 上海
精华贴数 0
个人空间 0
技术积分 48 (28669)
社区积分 0 (669154)
注册日期 2005-10-27
论坛徽章:0
      
      

发表于 2008-7-3 09:54 
按回车后系统首先会进入PAI事件,你在PAI事件里面SET CURSOR就可以了,如果是自建程序那就写在AT SELECTION-SCREEN事件里面


只看该作者    顶部
离线 yblong_yang
初级会员



精华贴数 0
个人空间 0
技术积分 26 (45698)
社区积分 0 (1530066)
注册日期 2007-8-27
论坛徽章:0
      
      

发表于 2008-7-5 09:35 
能否给例子:

我是这样做的。

在PAI 里写代码: Field Fieldname1 module mod1.
再在abap程序里写 :

MODULE mod1 INPUT.

   set cursor field 'fieldname2'.

ENDMODULE.      

我想是在 光标在fieldname1  是按回车就要调到fieldname1里去;但这样不行。   
请帮忙谢谢/


只看该作者    顶部
离线 jimmie1978
啥都不知道。。。


来自 上海
精华贴数 0
个人空间 0
技术积分 48 (28669)
社区积分 0 (669154)
注册日期 2005-10-27
论坛徽章:0
      
      

发表于 2008-7-7 09:21 
SAP默认的是大写,所以引号里面的字符串文本也必须为大写,不知道你是否注意了,写成'FIELDNAME1'再试一下


只看该作者    顶部
离线 yblong_yang
初级会员



精华贴数 0
个人空间 0
技术积分 26 (45698)
社区积分 0 (1530066)
注册日期 2007-8-27
论坛徽章:0
      
      

发表于 2008-7-7 21:25 
回复 #4 jimmie1978 的帖子

在PAI 里写代码: Field FIELDNAME1 module mod1.
再在abap程序里写 :

MODULE mod1 INPUT.

   set cursor field 'FIELDNAME2'.

   FIELDNAME2 = '12'.

ENDMODULE.   

还是不行;我在后面加了句    FIELDNAME2 = '12'.值是赋过去了;但光标还是不在FIELDNAME2。请帮忙;谢谢/


只看该作者    顶部
离线 jimmie1978
啥都不知道。。。


来自 上海
精华贴数 0
个人空间 0
技术积分 48 (28669)
社区积分 0 (669154)
注册日期 2005-10-27
论坛徽章:0
      
      

发表于 2008-7-8 09:06 
系统调用事件的顺序是PBO-->输出屏幕-->PAI-->PBO-->......
如果像你说的那样不变的话那就是执行PAI事件后加载PBO事件的时候类似于屏幕重设(就是重新加载PBO事件)而引起的结果,PAI本身的代码没有问题。


只看该作者    顶部
离线 jimmie1978
啥都不知道。。。


来自 上海
精华贴数 0
个人空间 0
技术积分 48 (28669)
社区积分 0 (669154)
注册日期 2005-10-27
论坛徽章:0
      
      

发表于 2008-7-8 09:16 
我现在也不是很清楚你的需求,你可以加我MSN:jimmie1978@hotmail.com我们交流下,希望能帮到你!


只看该作者    顶部
离线 VagrantLee
监督员


来自 广东省东莞市
精华贴数 0
个人空间 0
技术积分 8770 (138)
社区积分 11589 (131)
注册日期 2002-11-18
论坛徽章:76
玉兔每日论坛发贴之星2008北京奥运纪念徽章:柔道2008北京奥运纪念徽章:柔道2008北京奥运纪念徽章:帆船2008北京奥运纪念徽章:排球
2008北京奥运纪念徽章:摔跤2008北京奥运纪念徽章:举重2008北京奥运纪念徽章:足球2008北京奥运纪念徽章:跆拳道2008北京奥运纪念徽章:击剑2008北京奥运纪念徽章:羽毛球

发表于 2008-7-8 12:08 
PAI?


__________________
很高兴认识从事SAP的朋友....让我们一起学习,共同进步....QQ:1876283(请注明)
欢迎访问我的博客:SAP学习&休闲中心欢迎你
只看该作者    顶部
离线 jimmie1978
啥都不知道。。。


来自 上海
精华贴数 0
个人空间 0
技术积分 48 (28669)
社区积分 0 (669154)
注册日期 2005-10-27
论坛徽章:0
      
      

发表于 2008-7-8 15:07 
*&---------------------------------------------------------------------*
*& Report  Z_JTEST26
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  Z_JTEST26.

DATA G_FIELD TYPE C.

SELECTION-SCREEN BEGIN OF BLOCK BLK1.
PARAMETERS:
  PA_TEXT1(20) TYPE C,
  PA_TEXT2(20) TYPE C.
SELECTION-SCREEN END OF BLOCK BLK1.

AT SELECTION-SCREEN OUTPUT.
  CASE G_FIELD.
    WHEN '1'.
      SET CURSOR FIELD 'PA_TEXT1'.
    WHEN OTHERS.
      SET CURSOR FIELD 'PA_TEXT2'.
  ENDCASE.

AT SELECTION-SCREEN.
  IF G_FIELD IS INITIAL.
    G_FIELD = '1'.
  ELSE.
    CLEAR G_FIELD.
  ENDIF.


只看该作者    顶部
离线 gubrier
初级会员



精华贴数 0
个人空间 0
技术积分 4 (154016)
社区积分 0 (1578028)
注册日期 2007-10-1
论坛徽章:0
      
      

发表于 2008-7-22 15:03 
冒昧的说一下,这样的想法是没有问题的,也许是疏忽了,这样写代码是不能达到效果的。AT-SELECTION-SCREEN OUTPUT 事件是不需要写的,因为默认的光标位置就是屏幕上的第一个FIELD.

我重新改了一下。

REPORT  z_test_dean.


DATA g_field(8) TYPE c.

SELECTION-SCREEN BEGIN OF BLOCK blk1.
PARAMETERS:
  pa_text1(20) TYPE c,
  pa_text2(20) TYPE c.
SELECTION-SCREEN END OF BLOCK blk1.

AT SELECTION-SCREEN.

* 如果想判断,首先要获得当前的光标位置。
  get cursor field g_field.

  CASE g_field.
    WHEN 'PA_TEXT1'.
      SET CURSOR FIELD 'PA_TEXT1'.
    WHEN OTHERS.
      SET CURSOR FIELD 'PA_TEXT2'.
  ENDCASE.


这样的话,点了enter以后,光标仍然在原来的field里面,不过位置是文本的第一位,请注意。欢迎交流。


*&---------------------------------------------------------------------*
*& Report  Z_JTEST26
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  Z_JTEST26.

DATA G_FIELD TYPE C.

SELECTION-SCREEN BEGIN OF BLOCK BLK1.
PARAMETERS:
  PA_TEXT1(20) TYPE C,
  PA_TEXT2(20) TYPE C.
SELECTION-SCREEN END OF BLOCK BLK1.

AT SELECTION-SCREEN OUTPUT.
  CASE G_FIELD.
    WHEN '1'.
      SET CURSOR FIELD 'PA_TEXT1'.
    WHEN OTHERS.
      SET CURSOR FIELD 'PA_TEXT2'.
  ENDCASE.

AT SELECTION-SCREEN.
  IF G_FIELD IS INITIAL.
    G_FIELD = '1'.
  ELSE.
    CLEAR G_FIELD.
  ENDIF.

[ 本帖最后由 gubrier 于 2008-7-22 15:11 编辑 ]


只看该作者    顶部
相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问