问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

ABAP程序有具体的结构吗?一般结构是什么?

发布网友 发布时间:2022-11-22 23:11

我来回答

3个回答

热心网友 时间:2023-12-31 04:40

ABAP主要是做报表开发,报表程序结构如下……
一个典型的报表程序是由许多的程序区块(Code Block)所组成,
在区块间最好能加上一些说明以利程序可读性,一个典型的报表程序格式如下:
************************************************************************
**Program name: ZREPORT_SAMPLE
**Description : ABAP Report sample (以SD SO为例)
**Date/Author : 2012-01-05
************************************************************************
** M O D I F I C A T I O N L O G
************************************************************************
** ChangeDate Programmer Request Description
** ========== ========== ========== =========================
**
************************************************************************
*---------------------------------------------------------------
* REPORT NAME : 宣告程序名称及报表格式,
*---------------------------------------------------------------
REPORT Z_____
NO STANDARD PAGE HEADING
MESSAGE-ID __ “ 所使用的MESSAGE
LINE-COUNT ___ “ 每页报表列数
LINE-SIZE ___. “ 每页报表宽度
*---------------------------------------------------------------
* Include Program : 列出所含入的其它程序source code, 如子程序
*---------------------------------------------------------------
INCLUDE ____.
*---------------------------------------------------------------
* TABLE DESCRIPTION : 宣告程序会使用的TABLE
*---------------------------------------------------------------
TABLES:
*---------------------------------------------------------------
* DATA : 宣告程序所使用的变量及自定型态
*---------------------------------------------------------------
TYPES:
DATA:

*---------------------------------------------------------------
* SELECTION SCREEN / OPTION / PARAMETER : 屏幕输入报表筛选条件
*---------------------------------------------------------------
SELECTION-SCREEN BEGIN OF BLOCK ____
SELECT-OPTIONS:
SELECTION-SCREEN END OF BLOCK ___
*---------------------------------------------------------------
LOAD-OF-PROGRAM :程序开始执行时候自动调用
*---------------------------------------------------------------
LOAD-OF-PROGRAM.
这个事件在SUBMIT,CALL TRANSACTION,PERFORM等执行的时候系统会自动调用这个事件。
所以无需声明即可。
*---------------------------------------------------------------
* INITIALIZATION :对程序变量进行初始化,启动程序开始执行
*---------------------------------------------------------------
INITIALIZATION.
*---------------------------------------------------------------
* AT SELECTION-SCREEN :选择屏幕运行时触发,主要是对查询条件或是权限进行校验
*---------------------------------------------------------------
AT SELECTION-SCREEN.
1.ON psel :在PARAMETER变化是触发的事件
2.ON END OF sel :SELECT-OPTION触发的事件
3.ON VALUE-REQUEST FOR psel_low_high :选择的帮助(F4)
4.ON HELP-REQUEST FOR psel_low_high :选择的帮助(F1)
5.ON RADIOBUTTON GROUP radi :单选按钮事件
6.ON BLOCK block :框架的触发事件
7.OUTPUT :响应屏幕上的事件,修改选择屏幕的唯一方法
*---------------------------------------------------------------
* START-OF-SELECTION : 抓取数据, 打印
*---------------------------------------------------------------
START-OF-SELECTION.
SET PF-STATUS ____. “ 指定报表执行时所用的 GUI-STATUS名称

PERFORM data_retrieve.
PERFORM output_data.
*---------------------------------------------------------------
* AT USER Commaand : 执行在GUI-STATUS中自定的命令
*---------------------------------------------------------------
AT USER_COMMAND.

*---------------------------------------------------------------
* AT LINE SELECTION : 由在报表中按下<F2>或Double-Click启动
*---------------------------------------------------------------
AT LINE-SELECTION.
*---------------------------------------------------------------
* TOP OF PGAE : 每页开始打印时执行, 用于定义报表表头
*---------------------------------------------------------------
TOP-OF-PAGE.

*---------------------------------------------------------------
* END OF PAGE : 报表打印完最后一页后启动
*---------------------------------------------------------------
END-OF-PAGE.

*---------------------------------------------------------------
* END OF SELECTION : 在结束打印数据后启动, 如可用来印出USER输入的条件
*---------------------------------------------------------------
END-OF-SELECTION.
*&---------------------------------------------------------------------*
*& INCLUDE _____
*&---------------------------------------------------------------------*
* FORM : 撰写程序中所使用到的子程序
* Read Data : 自TABLE读取数据放入Internal Table
*&---------------------------------------------------------------------*
FORM data_retrieve.
SELECT * FROM ______
INTO _______
WHERE _______.
IF SY-SUBRC = 0.

ENDIF.
APPEND _____. “ 增加Internal Table元素
ENDSELECT.

ENDFORM.
*---------------------------------------------------------------
* Print Data : 依序输出 Internal Table的数据
*---------------------------------------------------------------
FORM output_data.
WRITE:/_____
ENDFORM.

*---------------------------------------------------------------
* Include Program : 列出所含入的其它程序source code, 如子程序
*---------------------------------------------------------------
INCLUDE _____
INCLUDE _____

热心网友 时间:2023-12-31 04:40

结构就是一个数据的类型。像定义一个人一样,type: person由两个属性构成姓名,性别,person就是一个结构,拥有下面的属性
var_name char30
var_sex char2

热心网友 时间:2023-12-31 04:41

在程序里面你可以把它看作一个工作区,相对表来说就是一行数据(表可以有多行数据,结构只能有一行)。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
哪个牌子复印机好 复印店用什么型号的复印机好 开复印店需要什么设备 家用打印复印机哪个好 如何分辨鞋底是不是空心格子底? Ubuntu10.04下安装Oracle11g 超市监控多少钱 超市防盗器要多少钱 超市防盗系统多少钱 智能存放柜管理系统 48小时核酸检测结果在哪里查询-48小时核酸检测怎么看结果 Start BW-info-packet run R/3-ABAP-programm? The ABAP program lines are wider than the internal table_百度... structure program是什么意思 ...中获取在一个月能消耗性能较高的ABAP Program ? ...系统中获取在一个月能消耗性能较高的ABAP Program ABAP中怎么在一个程序里面用多次PROGRAM 他提示我只能用一次program啊... 一千多的蓝牙音响需要煲机吗 我想问一下理发店用什么软化头发 ict技术中哪种技术依托于5g技术中的大连接的特性 集装箱充气袋金华哪里有实体店 泰兴中考分数几号出来 油性头皮如何护理? 白天睡觉做梦梦见狗熊咬我手没流血 投影幕布怎么调整停止位 投影机幕布下到一半就上去 一升等于多少千克 一升水有多重 一升水重多少千克 直飞林芝会有高原反应吗 林芝高原反应严重吗 云闪付抢到的券在哪里查看 再相遇仍满眼星辰什么歌 “只谈现实,不谈理想”的观点,对吗? 谈现实,伤感情! 谈感情,伤自己! 不谈现实,难道我以后跟你过家家吗?这句... 女生跟男生谈现实是不爱你嘛 难道现在的人都不谈感情谈现实吗? 当女友和你谈现实的时候,并且因为钱和你争吵的时候,作为她的男朋友,我... 人生三十,要少谈理想,多谈现实。因为,人到了三十岁,责任会变得重大。既... 说实际的行吗 怎样从电脑上下载应用宝到学习机上,我需要步骤,详细点 森海塞尔HD438耳机插到声卡上耳机插口没声音插到音响插口声音很很小_百... 森海塞尔hd438的耳机怎么样?请专家解答 森海塞尔HD438耳机该怎么用比较有效果? 森海塞尔HD438推得动手机么?型号C5...音量大小如何? 森海塞尔HD438或HD448与PX200Ⅱ音质哪个更好呢? 森海塞尔HD438的音质怎么样? 痔疮为什么会缩 谁能提供乒乓球天才瓦尔德内尔曼切斯特世乒赛的录像吗? 让灵魂伴随着美妙的音符和旋律翩翩起舞 科目一补考费用在哪里交山东 我现在使用的是红米手机有时屏滑不动另冲电发热