一、在界面中循环输出行数据,屏幕直接画出行数,需要计算翻页,一旦界面行数变动,则需要更改代码,所以引入步循环

二、步循环

首先在界面上画出要展示的内容

注意,在步循环中,文本的名称和输入框的名称不能相同,否则报错

选中显示的框,定义步循环,发现一行框变成了两行

通过下拉框,可以随意展示多行数据

定义翻页按钮

在屏幕输入输出流中加入步循环代码

参考代码如下

"-----------------------------@斌将军-----------------------------
TYPES: BEGIN OF ty_makt,
matnr TYPE makt-matnr,
maktx TYPE makt-maktx,
END OF ty_makt. DATA:gt_makt TYPE TABLE OF ty_makt,
gs_makt TYPE ty_makt. DATA:gv_line TYPE i, "当前行
gv_lines TYPE i, "
gv_row TYPE i, "总行数
gv_page_lines TYPE i.
* gv_limit TYPE i. DATA:ok_code TYPE sy-ucomm,
save_ok TYPE sy-ucomm. START-OF-SELECTION. SELECT
matnr"物料号
spras"语言
maktx"物料描述
FROM makt
INTO CORRESPONDING FIELDS OF TABLE gt_makt
WHERE matnr >= '000000000000000001' AND matnr <= '000000000000004422'. DESCRIBE TABLE gt_makt LINES gv_row.
CALL SCREEN 100.
*&---------------------------------------------------------------------*
*& Module READ_DATA OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE read_data OUTPUT.
gv_page_lines = sy-loopc.
gv_lines = sy-stepl + gv_line.
READ TABLE gt_makt INTO gs_makt INDEX gv_lines.
ENDMODULE. " READ_DATA OUTPUT
*&---------------------------------------------------------------------*
*& Module MODIFY_DATA INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE modify_data INPUT.
gv_lines = sy-stepl + gv_line.
MODIFY gt_makt FROM gs_makt INDEX gv_lines.
ENDMODULE. " MODIFY_DATA INPUT
*&---------------------------------------------------------------------*
*& Module USER_COMM INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE user_comm INPUT.
DATA:lv_count TYPE i.
save_ok = ok_code.
CLEAR ok_code.
CASE save_ok.
WHEN 'PREV_LINE'.
gv_line = gv_line - 1.
IF gv_line < 0.
gv_line = 0.
ENDIF.
WHEN 'PREV_PAGE'.
gv_line = gv_line - gv_page_lines.
IF gv_line < 0.
gv_line = 0.
ENDIF.
WHEN 'FIRST_PAGE'.
gv_line = 0.
WHEN 'NEXT_LINE'.
* CLEAR gv_limit.
* gv_limit = gv_row - gv_line.
* IF gv_limit > gv_page_lines.
IF gv_line + 1 < gv_row."如果后边已经没有了,就不能再翻页
gv_line = gv_line + 1.
ENDIF.
* ENDIF.
WHEN 'NEXT_PAGE'.
* CLEAR gv_limit.
* gv_limit = gv_row - gv_line - gv_page_lines.
* IF gv_limit > gv_page_lines.
IF gv_line + gv_page_lines < gv_row."如果后边已经没有了,就不能再翻页
gv_line = gv_line + gv_page_lines.
ENDIF.
* ELSE.
* gv_line = gv_row - gv_page_lines.
* ENDIF.
WHEN 'LAST_PAGE'.
* gv_line = gv_row - gv_page_lines.
IF gv_page_lines <> 0.
gv_line = ( gv_row / gv_page_lines ) * 10.
ENDIF. WHEN 'CANCEL'.
LEAVE PROGRAM.
WHEN OTHERS. ENDCASE.
ENDMODULE. " USER_COMM INPUT "-----------------------------@斌将军-----------------------------

定期更文,欢迎关注

 
 
 
此页面的语言为英语
 
翻译为中文(简体)
 
 
 
 
  • 中文(简体)
  • 中文(繁体)
  • 丹麦语
  • 乌克兰语
  • 乌尔都语
  • 亚美尼亚语
  • 俄语
  • 保加利亚语
  • 克罗地亚语
  • 冰岛语
  • 加泰罗尼亚语
  • 匈牙利语
  • 卡纳达语
  • 印地语
  • 印尼语
  • 古吉拉特语
  • 哈萨克语
  • 土耳其语
  • 威尔士语
  • 孟加拉语
  • 尼泊尔语
  • 布尔语(南非荷兰语)
  • 希伯来语
  • 希腊语
  • 库尔德语
  • 德语
  • 意大利语
  • 拉脱维亚语
  • 挪威语
  • 捷克语
  • 斯洛伐克语
  • 斯洛文尼亚语
  • 旁遮普语
  • 日语
  • 普什图语
  • 毛利语
  • 法语
  • 波兰语
  • 波斯语
  • 泰卢固语
  • 泰米尔语
  • 泰语
  • 海地克里奥尔语
  • 爱沙尼亚语
  • 瑞典语
  • 立陶宛语
  • 缅甸语
  • 罗马尼亚语
  • 老挝语
  • 芬兰语
  • 英语
  • 荷兰语
  • 萨摩亚语
  • 葡萄牙语
  • 西班牙语
  • 越南语
  • 阿塞拜疆语
  • 阿姆哈拉语
  • 阿尔巴尼亚语
  • 阿拉伯语
  • 韩语
  • 马尔加什语
  • 马拉地语
  • 马拉雅拉姆语
  • 马来语
  • 马耳他语
  • 高棉语
 
随时将英语翻译为中文(简体)PRO
一律不翻译英语
一律不翻译i.cnblogs.com

ABAP步循环的更多相关文章

  1. ABAP 表格控制(Table Control)和步循环

    表格控制(Table Control)和步循环     1.两个标准Demo: SAPMTZ60,SAPMTZ61 2.简介 3.建立Table Control程序的基本流程 4.使用步循环 5.表格 ...

  2. SAS学习笔记之《SAS编程与数据挖掘商业案例》(4)DATA步循环与控制、常用全程语句、输出控制

    SAS学习笔记之<SAS编程与数据挖掘商业案例>(4)DATA步循环与控制.常用全程语句.输出控制 1. 各种循环与控制 DO组 创建一个执行语句块 DO循环 根据下标变量重复执行DO和E ...

  3. 每隔n步循环删除,返回最后一个元素

    题目:有一个数组a[N]顺序存放0~N-1,要求每隔两个数删掉一个数,到末尾时循环至开头继续进行,求最后一个被删掉的数的原始下标位置.以8个数(N=7)为例:{0,1,2,3,4,5,6,7},0-& ...

  4. Java编程的逻辑 (10) - 强大的循环

    本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http:/ ...

  5. JS的for循环包裹异步函数的问题

    有个循环,循环一个异步回调,为啥回调引用的循环值都是最后一步循环的循环值?然后,又有些时候无论什么循环值都得不到? var arr = [1,3,5,7,9]; var arrLength = arr ...

  6. 3.2spring源码系列----循环依赖源码分析

    首先,我们在3.1 spring5源码系列--循环依赖 之 手写代码模拟spring循环依赖 中手写了循环依赖的实现. 这个实现就是模拟的spring的循环依赖. 目的是为了更容易理解spring源码 ...

  7. JAVA用for循环打印*三角形

    public class Sanjiaoxing { //本节为for循环的嵌套结构练习 public static void main(String[] args) { // TODO Auto-g ...

  8. C#中使用Socket请求Web服务器过程

    最开始我们需要明白一件事情,因为这是这篇文章的前提: HTTP协议只是一个应用层协议,它底层是通过TCP进行传输数据的.因此,浏览器访问Web服务器的过程必须先有“连接建立”的发生. 而有人或许会问: ...

  9. Theano:LSTM源码解析

    最难读的Theano代码 这份LSTM代码的作者,感觉和前面Tutorial代码作者不是同一个人.对于Theano.Python的手法使用得非常娴熟. 尤其是在两重并行设计上: ①LSTM各个门之间并 ...

  10. 带阈值的平滑l0范数加速稀疏恢复——同名英文论文翻译

    原文链接:Thresholded Smoothed l0 Norm for Accelerated Sparse Recovery http://ieeexplore.ieee.org/documen ...

随机推荐

  1. (Good topic)哈希表:拼写单词 (3.17 leetcode每日打卡)

    给你一份『词汇表』(字符串数组) words 和一张『字母表』(字符串) chars. 假如你可以用 chars 中的『字母』(字符)拼写出 words 中的某个『单词』(字符串),那么我们就认为你掌 ...

  2. 工厂模式(Factory Method)

    模式定义 定义一个用于创建对象的接口,让子类决定实例化哪一个类.Factory Method使得一个类的实例化延迟(目的:解耦)到子类. 要点总结 Factory Method模式用于隔离类对象的使用 ...

  3. 提升开发技能:10个高级的JavaScript技巧

    前言 在这个快速发展的数字时代,JavaScript作为一种广泛应用的编程语言,其重要性愈发凸显.为了在竞争激烈的开发领域中保持竞争力,不断提升自己的技能是至关重要的.本文小编将您介绍10个高级的Ja ...

  4. 下载神器——you-get

    下载神器--you-get 01. you-get下载 you-get是一个基于Python3开发的开源项目. 某些网站的音视频资源,本身不提供下载功能,通过you-get,可以通过几条简单的命令去下 ...

  5. Tomact从认识到安装与详细使用

    一.什么是Tomact? Tomcat是一个开源免费的轻量级Web服务器,它是一个软件程序,主要功能是提供网上信息浏览服务,对HTTP协议的操作进行封装,使得程序员不必对协议进行操作,让Web开发更加 ...

  6. Kubernetes: client-go 源码剖析(一)

    0. 前言 在看 kube-scheduler 组件的过程中遇到了 kube-scheduler 对于 client-go 的调用,泛泛的理解调用过程总有种隔靴搔痒的感觉,于是调转头先把 client ...

  7. django-celery-results - 使用 Django ORM/Cache 作为结果后端

    https://docs.celeryq.dev/en/stable/django/first-steps-with-django.html#django-celery-results-using-t ...

  8. ElasticSearch之系统关键配置

    ElasticSearch之系统关键配置 集群名称 在配置文件$ES_HOME/config/elasticsearch.yml中指定,样例如下: cluster: name: logging-pro ...

  9. ASR项目实战-交付过程中遇到的疑似内存泄漏问题

    基于Kaldi实现语音识别时,需要引入一款名为OpenFST的开源软件,本文中提到的内存问题,即和这款软件相关. 考虑到过程比较曲折,内容相对比较长,因此先说结论. 在做长时间的语音识别时,集成了Ka ...

  10. wasm+pygbag让你在网页上也能运行Python代码:【贪吃蛇游戏】

    引言 最近小伙伴告诉我一种新的方法,可以使用wasm来使浏览器网页能够运行Python代码.这一下子激起了我的兴趣,因为这意味着用户无需安装Python环境就能直接运行我的demo,这真是太方便了.所 ...