楼主: woshiyiziyu

[原创] 求助屏幕screen设计

[复制链接]
论坛徽章:
45
ITPUB9周年纪念徽章
日期:2010-10-08 09:34:022010广州亚运会纪念徽章:射箭
日期:2010-12-27 18:16:17
11#
发表于 2009-7-11 09:07 | 只看该作者
四個文檔你可以用記事本打開,Report程序如.SAP文檔,STATUS設計中只需設計一個’EXIT’就可以了,其他你先照著寫,如還有問題,你把SCREEN設計全部切圖上來。

使用道具 举报

回复
论坛徽章:
23
2009日食纪念
日期:2009-07-22 09:30:00秀才
日期:2015-12-21 09:48:11秀才
日期:2015-12-21 09:53:46天枰座
日期:2015-12-23 11:00:06金牛座
日期:2015-12-25 11:38:39秀才
日期:2016-01-12 11:23:27秀才
日期:2016-01-25 14:55:31双子座
日期:2016-05-06 09:49:392017金鸡报晓
日期:2017-01-10 15:33:11乌索普
日期:2017-02-18 09:05:12
12#
 楼主| 发表于 2009-7-12 09:43 | 只看该作者
我用记事本打开了,可里面有乱码,我是照着书上的代码敲的,核对过的,我把截图全放在附件里了。

截图.rar

310.8 KB, 下载次数: 12

使用道具 举报

回复
论坛徽章:
45
ITPUB9周年纪念徽章
日期:2010-10-08 09:34:022010广州亚运会纪念徽章:射箭
日期:2010-12-27 18:16:17
13#
发表于 2009-7-13 09:09 | 只看该作者
原因在於Module命名不相符,程序因而未執行MODULE user_command_0160_input,而程序又以第三方變量來保存當前OK Code的值,所以造成第三方變量Save_ok永恆為空。

如下圖:

Compare


只要把Module命名相同就正確了。

使用道具 举报

回复
论坛徽章:
23
2009日食纪念
日期:2009-07-22 09:30:00秀才
日期:2015-12-21 09:48:11秀才
日期:2015-12-21 09:53:46天枰座
日期:2015-12-23 11:00:06金牛座
日期:2015-12-25 11:38:39秀才
日期:2016-01-12 11:23:27秀才
日期:2016-01-25 14:55:31双子座
日期:2016-05-06 09:49:392017金鸡报晓
日期:2017-01-10 15:33:11乌索普
日期:2017-02-18 09:05:12
14#
 楼主| 发表于 2009-7-13 11:10 | 只看该作者
wind_lin
你太辛苦了!
一针见血!
能不能再帮个忙呢?感激万分!
*&---------------------------------------------------------------------*
*& Report  YTEST035
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  YTEST035.

*功能码返回值
DATA: OK_CODE TYPE SY-UCOMM,
      SAVE_OK TYPE SY-UCOMM.
DATA: SGRP(20) TYPE C,
      SMOD(1)  TYPE C.

*是否修改
DATA:CANMOD(1) TYPE C.
*默认可以修改
CANMOD = 'X'.
*直接调用窗口
CALL SCREEN 160.
*&--------------------------------------------------------------------*
*& MODULE STATUS_0160 OUTPUT
*&--------------------------------------------------------------------*
*定义状态条,包括菜单、工具条按钮、系统按钮
*---------------------------------------------------------------------*
MODULE STATUS_0160 OUTPUT.
  SET PF-STATUS 'STATUS1'.
*根据按钮确定字段组
  SGRP = ''.
  IF SAVE_OK = 'BTN1'.
    SGRP = 'NO1'.
  ENDIF.
*CHECKBOX转换
  IF CANMOD = 'X'.
    SMOD = '1'.
  ELSE.
    SMOD = '0'.
  ENDIF.
*逐个扫描屏幕元素
  LOOP AT SCREEN.
*如果是需要修改的组,更改变量,其他组不考虑,如果正式考虑先存储到变量
    IF SCREEN-GROUP1 = SGRP.
      SCREEN-INPUT = SMOD.
*更新到窗口元素变量
      MODIFY SCREEN.
    ENDIF.
  ENDLOOP.


*逐个扫描屏幕元素
  LOOP AT SCREEN.
*如果是需要修改的组,更改变量,其他组不考虑,如果正式考虑先存储到变量
    IF SCREEN-GROUP2 = SGRP.
      SCREEN-INPUT = SMOD.
*更新到窗口元素变量
      MODIFY SCREEN.
    ENDIF.
  ENDLOOP.


蓝色字体是我新添加的,我的目的是在点击设置组2的时候组2的输入输出框变成灰色,可是现在不知道为什么没起作用。


ENDMODULE.               "STATUS_0160 OUTPUT
*&--------------------------------------------------------------------*
*& MODULE CANCEL INPUT
*&--------------------------------------------------------------------*
*CANCEL MODULE 与屏幕逻辑流对应,退出程序
*---------------------------------------------------------------------*
MODULE CANCEL INPUT.
  LEAVE PROGRAM.
ENDMODULE.               "CANCEL INPUT
*&--------------------------------------------------------------------*
*& MODULE USER_COMMAND_0160 INPUT
*&--------------------------------------------------------------------*
*PAI
*---------------------------------------------------------------------*
MODULE USER_COMMAND_0160 INPUT.
  SAVE_OK = OK_CODE.
  CLEAR OK_CODE.
  CASE SAVE_OK.
    WHEN 'EXIT'.
      LEAVE PROGRAM.
  ENDCASE.
ENDMODULE.              "USER_COMMAND_0160 INPUT

[ 本帖最后由 woshiyiziyu 于 2009-7-13 11:14 编辑 ]

使用道具 举报

回复
论坛徽章:
45
ITPUB9周年纪念徽章
日期:2010-10-08 09:34:022010广州亚运会纪念徽章:射箭
日期:2010-12-27 18:16:17
15#
发表于 2009-7-13 17:20 | 只看该作者
有以下兩點要跟你說說:
一,你添加以下代碼
*逐个扫描屏幕元素
  LOOP AT SCREEN.
*如果是需要修改的组,更改变量,其他组不考虑,如果正式考虑先存储到变量
    IF SCREEN-GROUP2 = SGRP.
      SCREEN-INPUT = SMOD.
*更新到窗口元素变量
      MODIFY SCREEN.
    ENDIF.
  ENDLOOP.

是否知道SCREEN-GROUP2是做何用?指screen上那個位置?

二,你說:蓝色字体是新添加的,目的是在点击设置组2的时候组2的输入输出框变成灰色。原有程序不是已經實現此功能了,你又何需添加代碼?!

使用道具 举报

回复
论坛徽章:
23
2009日食纪念
日期:2009-07-22 09:30:00秀才
日期:2015-12-21 09:48:11秀才
日期:2015-12-21 09:53:46天枰座
日期:2015-12-23 11:00:06金牛座
日期:2015-12-25 11:38:39秀才
日期:2016-01-12 11:23:27秀才
日期:2016-01-25 14:55:31双子座
日期:2016-05-06 09:49:392017金鸡报晓
日期:2017-01-10 15:33:11乌索普
日期:2017-02-18 09:05:12
16#
 楼主| 发表于 2009-7-14 09:51 | 只看该作者
一、是否知道SCREEN-GROUP2是做何用?指screen上那個位置?
不知道什么用途,我想应该指的是screen上组2的两个输入输出框,我想screen-group1控制了screen上组1的两个输入输出框,那么screen-group2就应该对应组2的两个输入输出框,因为此前我在论坛上搜索了一下screen-group的含义,地址:http://www.itpub.net/viewthread. ... hlight=SCREEN-GROUP
二、原有程序没能实现啊
在点击设置组2的时候组2的输入输出框没有变成灰色,又比较了一下自己写的代码和书上的例子,还是没发现有什么不对劲,不过我现在在怀疑自己可能哪个地方写错了。

使用道具 举报

回复
论坛徽章:
45
ITPUB9周年纪念徽章
日期:2010-10-08 09:34:022010广州亚运会纪念徽章:射箭
日期:2010-12-27 18:16:17
17#
发表于 2009-7-15 09:26 | 只看该作者
原帖由 woshiyiziyu 于 2009-7-14 09:51 发表
一、是否知道SCREEN-GROUP2是做何用?指screen上那個位置?
不知道什么用途,我想应该指的是screen上组2的两个输入输出框,我想screen-group1控制了screen上组1的两个输入输出框,那么screen-group2就应该对应组2的两个输入输出框,因为此前我在论坛上搜索了一下screen-group的含义,地址:http://www.itpub.net/viewthread.php?tid=949762&highlight=SCREEN-GROUP
二、原有程序没能实现啊
在点击设置组2的时候组2的输入输出框没有变成灰色,又比较了一下自己写的代码和书上的例子,还是没发现有什么不对劲,不过我现在在怀疑自己可能哪个地方写错了。


首先,我建議你多了解下ABAP Basic。

一、是否知道SCREEN-GROUP2是做何用?指screen上那個位置?
  你已理解錯誤,請參照附件中的”1-1輸入/輸出欄位的屬性”圖。

二、原有程序能实现啊
  你可參照附件中screen的各欄位屬性去設置,程序代碼如原(如想測試SCREEN-GROUP2,可照附件各圖去設置),並附運行結果圖。


附件:
screen.rar (216.42 KB, 下载次数: 14)

使用道具 举报

回复
论坛徽章:
23
2009日食纪念
日期:2009-07-22 09:30:00秀才
日期:2015-12-21 09:48:11秀才
日期:2015-12-21 09:53:46天枰座
日期:2015-12-23 11:00:06金牛座
日期:2015-12-25 11:38:39秀才
日期:2016-01-12 11:23:27秀才
日期:2016-01-25 14:55:31双子座
日期:2016-05-06 09:49:392017金鸡报晓
日期:2017-01-10 15:33:11乌索普
日期:2017-02-18 09:05:12
18#
 楼主| 发表于 2009-7-15 10:33 | 只看该作者
楼上,你功德无量,非常感谢,这下清楚SCREEN-GROUP*了,我对sap basis这方
面只有肤浅的认识,现在在自己摸索,感觉有点困难。昨天在查看表SPFLI(应用
表,主数据和业务数据)时,发现这张表的条目数是0,我就想我自己手工添加几
条记录吧,当时没有想到再上网搜索一下,其实网上有解答的,

http://www.itpub.net/viewthread.php?tid=921588

在修改这张表时,sap跳出提示框需要access key,没有service.sap的帐号,于是
就在itpub的博客上搜索到了一个破解access key的教程,

http://space.itpub.net/15760276/viewspace-497720

教程上说可以破解sap ecc 6.0版的,而且博主说自己测试过的,我就照着步骤一
步一步来了,没曾想没有破解成功,反而留下了后遗症,现在在用se38修改任何
一个程序时,都会报错。

image002.jpg (47.68 KB, 下载次数: 4)

image002.jpg

使用道具 举报

回复
论坛徽章:
23
2009日食纪念
日期:2009-07-22 09:30:00秀才
日期:2015-12-21 09:48:11秀才
日期:2015-12-21 09:53:46天枰座
日期:2015-12-23 11:00:06金牛座
日期:2015-12-25 11:38:39秀才
日期:2016-01-12 11:23:27秀才
日期:2016-01-25 14:55:31双子座
日期:2016-05-06 09:49:392017金鸡报晓
日期:2017-01-10 15:33:11乌索普
日期:2017-02-18 09:05:12
19#
 楼主| 发表于 2009-7-15 10:44 | 只看该作者
在itpub上搜索了一番,发现
http://www.itpub.net/viewthread. ... p;extra=&page=2
但是上面没有说详细的步骤,我的会弹出一个对话框,
我不知道“号”里面应该填什么。能否请wind_lin再次帮帮忙?实在是不好意思了。

image004.jpg (28.7 KB, 下载次数: 2)

image004.jpg

使用道具 举报

回复
论坛徽章:
45
ITPUB9周年纪念徽章
日期:2010-10-08 09:34:022010广州亚运会纪念徽章:射箭
日期:2010-12-27 18:16:17
20#
发表于 2009-7-15 15:10 | 只看该作者
原帖由 woshiyiziyu 于 2009-7-15 10:44 发表
在itpub上搜索了一番,发现
http://www.itpub.net/viewthread. ... p;extra=&page=2
但是上面没有说详细的步骤,我的会弹出一个对话框,
我不知道“号”里面应该填什么。能否请wind_lin再次帮帮忙?实在是不好意思了。


破解access key我沒試過,不過看了教程,也了解了下,並按你所給教程設置並未出錯!所以也不知為何?

網上所說,解決方法是用se95  可以 reset to original

而你所遇的对话框,如是在測試機上,可試下點”新建”,生成一個新的request,並確定。注意最後是否能還原?

也請有懂得的高手指點下!

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表