寒假SAP ABAP 培训笔记 part 6{转载}

屏幕编程

程序类型

Executable program (type1) 可执行程序

Module pool (type m) 必须制作一个T CODE 才能运行

 

制作T-CODE

点击程序右键点击 transaction

 

选项:

Program and screen (屏幕程序)

Program and selection screen(选择屏幕)  (alv)选择

       Program 程序的名称 保存

键入 TCODE 就可以进入

重要:真实项目中每一个程序都需要一个TCODE

 

屏幕程序

PBO 屏幕显示前做的动作

PAI 屏幕显示之后做的动作

选择屏幕中的PBO 和PAI 都不需要用户定义

 

制作屏幕

 在程序中 CALL screen 0100.(调用屏幕)

双击建立屏幕

   Screen type(屏幕类型)

     Normal(一般屏幕)

     Subscreen(子屏幕)

     Modal dialog box

屏幕选项:

Other attributes

   Next screen 下个屏幕回到界面0 注意:如果定义为本身 则会无法跳出屏幕

 

   Element list 包含元素的名功能代码

      重要: 定义OK_CODE 用来处理按钮事件

 

Flow logic选项卡中拥有有PBO(process before output)和PAI(process after input)

          在PBO和PAI中拥有事件块,也可以用户自己定义相关事件

Screen painter 使用

点击layout按钮进入

Tabstrip 向导(可以根据向导轻松的建立控件)

Layout中控件的名称一定要大写

Box 框

选项卡中显示的为子屏幕区域

Table contral 选择表(难度大)

Table contral 选择表向导(向导非常好)

定义一个区域可以把数据放到区域里也可以放alv报表

 

状态图标(重要)

         如果出发到达城市在一个国家

           为国内航空

         如果不在一个城市,为国外航空

           按钮为国内航空

          如果国内显示对号 不在显示错号

 

 

输出的数据 在PBO中

屏幕程序的顺序

数据库表  ----- 内表----结构------屏幕结构-------屏幕

 

屏幕- -- -屏幕结构-- -结构----内表----数据库表

 

Screen 系统内表

Screen-input = ‘X’ 默认值

     双击控件设置属性(姓名…等等)

                键入back 后退

       将输入框设置成必选框

         PBO中自己建立一个module init_screen

           放入到新的include

              Loop at screen.

                If screen-name = ‘INPUT1‘.(控件名称)

              Screen-required = ‘1’.

                      Endloop.

     单选框radio 1 2 3要属于一个组 adm

 

建立新屏幕

在程序上右键创建新屏幕 200

设置Next screen 静态的 下一屏幕

 

动态的下一屏幕 如果在程序中指定跳转屏幕 

则不会 跳到静态屏幕中

 

          加入module next_screen

       动态设定 set screen 300

                 Leave screen.(跳出屏幕)

 

  屏幕100与屏幕200之间 插入屏幕300可以使用call screen 300

   则进入 screen 300 而后还会进入200

       但是 如果用 leave to 300. 则不会再进入200

 

调用对话框

    Call screen 101

    Starting at lc ur

    Ending at rc lr.

 

PBO中建立工具条  

module status_0100.打开屏幕100中PBO下的注释

建立

    Set pf-status ‘MYSTATUS’.

    Set TITLEBAR ‘MYTITLE’.

  建立子程序MYSTATUS 和MYTITLE(标题,用户自己设定)

 

将工具条按钮的动作写到PAI

Module user_command_0100 负责 点按钮后的事件

OK_CODE 系统变量 (需要定义)

Data ok_code type sy-ucomm.

在PAI中的user_command_0100中写入

CASE OK_CODE.

      WHEN ‘BACK’

    LEAVE TO SCREEN 0.

ENDCASE.

 

 

 

 

可以从数据库表或系统表中拖出一组的控件

   点”右下角是小红”的图标

   输入表名  get from dictionary

   选择字段

   拖入

可以直接建立

 

 

定义一个<状态图标>按钮

DATA ICON_NAME TYPE ICON-NAME.

DATA ICON TYPE ICONS-TEXT.

 

在PBO中写 module set_icon.

 

Select * from ekpo into table IT_EKPO.

Read table it_ekpo into wa_ekpo index 1.

If wa_ekpo = ‘’.

Icon_name = ‘ICON_CHECKED’.

Else.

Icon_name = ‘ICON_INCOMPLETE’.

Endif.

在主程序中定义

DATA WA_EKPO TYPE EKPO.

Data icon_name type icon-name.

 

Call function   icon_create

    EXPORTING

 name   = icon_name

 

Importing

Result = ICON  (对错号的名)

 

例题: 如果ekko的数据 大于10000 则提示 数据条目过多.

建立module check input

If ekpo-natnr = ‘AAA’

MESSAGE ‘请输入正确数值’ TYPE ‘I’.(一定要加’ ’否则就为错) 

Endif.

 

Type ‘I’ 代表一种信息  自动跳到  静态下一个屏幕

 

TYPE ‘E’ 代表是一种错误  又跳回自己屏幕

 

TYPE ‘S’ 表示success

 

‘A’ 表示 终止 

 

srchhelp变成下拉菜单

在layout中  把控件的dropdown 改为list

 

 

单选框 和复选框

在 layout中选择控件 点选框 建立控件

制作单选框 group-op1 group-op2

然后将控件用框围起来

 

右键框 把 单选框组合

Define radio button group

   要定义一个组 (结构).

     Data: begin of group,

       Op1 value ‘x’,

       Op2,

          End of group.

复选框的建立

把复选框加入到layout中

Check 1  check 2

给括起来

    要定义一下

        Data check1 type c value ‘X’.

        Data check 2 type c value ‘Y’.

 

Pushbutton

   在LAYOUT中加入按钮控件

      按钮中 需要加入 一个OK_CODE

   然后在 PAI中使用

 

转自:http://blog.sina.com.cn/s/blog_5cdacb630100ceak.html~type=v5_one&label=rela_nextarticle

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值