




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SAP 培训教程 ABAP 数据字典 事物代码(TCODE):SE11 回车 后便如下图进入数据字典。 这里面的 域 描述一个字段类型和长度的信息 数据元素 描述一个字段的用途 数据库表 顾名思义在这里建立一个表,里面规定好使用那些数据元素 首先我们创建一个自己的 域 注意:自己开发的时候 ,建立 任何 必须用 Z 开头(也可以用 Y) 在各个框体内输入 Z*然后 按 F4 显示当前系统里存在 Z 开头的自建体。 建立域:输入 ZGUNDAM_LX 点击创建 进入下面页面后,先输入简短描述(任何描述一定要写) 然后定义 数据类型 然后点击 范围值 选项卡 在这里可以规定用户将来维护表时可以选择的 值范围 都设定好后请点击 保存 保存后 点击 激活(注意:无论是建立什么,过程都必须是先保存然后激活,只有激活后才能正常使用) 一个域就算创建完成,接下来创建 数据元素 在这里的 域 调用之前建立好的域 在这里 老师建议: 10 15 20 10 然后 保存 保存时候出现下面 请点击 本地对象 接下来 创建表 点完创建后出现如下画面 注意标注红框内的数据 选项 自 建 数 据 表 一定 要第一个字段 是 MANDT 数据 元素 MANDT 点击保存后然后点击 激活 如下 进入 技术设置 选择完成后 点击保存 随后出现如下 界面 表示你已经成功建立一个表 以上表间好了 ,但还没有分配权限组 现在点击上面 实用程序 菜单 选择 表维护生成器 进入权限分配界面 继续完善 选择一个 函数组(在这里要选择一个有效地) 确定维护类型 一步或者两步 填入屏幕编号 9001 (必须以 9 开头) 最后点击左上角 新建 来生成单表维护界面 新开一个窗口 /oSM30 进入 视图 点击维护和显示 你会看到你的表 如上图所示,大家发现了吗,红框内表头是我们在数据元素里所写的。但这里又如何进行修改呢? 请回到 SE11 进入你要修改的表,然后选择菜单 实用程序 下面选择 表维护生成器 随后如图选择 如 上 图: 在 这 里 面 可 以 修 改 表 头 的 名 称 和 大小。 如果你定义的表内数据发生了变更:请删除掉 表维护生成器 创建的一切,重新生成。如下图 : 以上我们建立了域,数据元素,创建了表 ,也为表生成了 维护视图 这样用户就可以在 SM30 视图里面进行表的 数据维护工作了。当数据都写入表中后我们就要进行显示了。先看看单表的显示 ,回到 SE11 输入要查看的表, 点击显示。然后在里面点击 内容 按钮。 进入查询条件选择页面 如下: 在这里可以对每一个字段进行条件筛选,红框内我们看到的是字段名,如何让字段名变为我们在数据元素里面起 的名字呢?我们点击 设置 用户参数 在 关键字 的地方把字段名称改为 字段标签 接 下来点 击 左上角 的 执行 按 钮显示 表 内容。 补充 事物代码: VA01 销售订单创建 VA02 销售订单修改 VA03 销售订单查看 ME21N 采购订单创建 ME22M 采购订单修改 ME23N 采购订单查询 /n 回主菜单 /o 打开新会话 /nse11 ABAP 字典:初始屏幕 /nse16 简单表显示 se38 代码编辑器 se80 开发 su01 用户管理 一、 内表 :(sap 不提供直接输入 sql 语句查询结果,需要做个小程序来 为自己显示出来,系统会创建一个内 表在内存中来存储你的数据) 结构:如下 XX1 1. 系统内声明个 结构 2. 内存里的内表生成 LIKE TYPE XX1 3. 提取数据 4. 最后显示 二、 例题 SE38 程序编辑器 命名规则: 字段 字段 字段 开发以 Z 开头 sap 模块:Retail SAP 加入零售的 sap 版本 SD 销售与分销 MM 后勤物流 FI 财务 HYB 电商 CRM 客户关系 SRM 供应链 SCM 供应商 SC 售后 所以如果是财务程序 就是 ZFI 每个模块里面 报 表 RP 函数组 FG 函 数 FM 增 强 EX 所以如果是财务报表开发 就是 ZFIRP0010 下一个就是 ZFIRP0020 (为什么命名是 0010、0020 而不是 0001、0002,目的是在每个开发板块里为修改留有 10 个余地,比如:程序有所 调整命名为 0011、0012 .) 现在 Se38: 输入名称 ZGUNDAMRP0080 创建 进入开发界面: *&-* *& FS:ZGUNDAMRP0080 作者:德勤顾问 菜百关键用户 *&开发者:李恺 2015.4.2 *& 王岩 2015.5.2 是因为 SD 顾问修改了 FS(功能说明书) *&-* *& *& *&-* REPORT ZGUNDAMRP0080. TYPE-POOLS:SLIS. “ALV 显示使用到的共享池 TABLES:ZGUNDAM_SPXX, ZGUNDAM_SPFL, ZGUNDAM_SPCC, ZGUNDAM_FACTORY. “通知 sap 我在这里需要用到的表 * 定义 ALV 显示字段的内表 DATA: IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV. “定义类型 * 定义 ALV 显示字段的工作区 DATA: WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV. * 定义 ALV 显示格式的工作区 DATA: WA_LAYOUT TYPE SLIS_LAYOUT_ALV. “定义布局 *DATA: GD_REPID LIKE SY-REPID, * REF_GRID TYPE REF TO CL_GUI_ALV_GRID. * 以下是声名个内表结构,用于接收物力表的数据, type 前面是结构字段名, type 后面是此字段要引用哪个物理表的结构 TYPES:BEGIN OF STRU_0010, “声明结构 名为 STRU_0010 SEL_COL TYPE CHAR1, “增加选择框栏 NAME TYPE ZGUNDAM_SPXX-NAME, “表名 -加字段 的写法往 内表里装载什么数据 MADE_IN TYPE ZGUNDAM_SPXX-MADE_IN, LSDJ TYPE ZGUNDAM_SPXX-LSDJ, LX_NAME TYPE ZGUNDAM_SPFL-NAME, CC TYPE ZGUNDAM_SPCC-CC, FAC_BM TYPE ZGUNDAM_SPXX-FACTORY_BM, FACTORY TYPE ZGUNDAM_FACTORY-FACTORY, C_NAME TYPE CHAR10, * VBELN1 TYPE ANGDT_V, “可以直接引用 数据元素 但系统不知道从那个表里提取数据 END OF STRU_0010. * 以下是将结构声名成内表 IT_TABLE 并创建 WA_TABLE 工作区 DATA IT_TABLE TYPE STANDARD TABLE OF STRU_0010. “根据结构生成内表 DATA WA_TABLE TYPE STRU_0010. “为内表建立工作区 * 以下是创建 sap 自动生成的查询筛选方法 SELECT-OPTIONS:S_MADE FOR ZGUNDAM_SPXX-MADE_IN. “创建一个选择查询方法 SELECT-OPTIONS:S_LXNAME FOR ZGUNDAM_SPFL-NAME. “S_ERDAT 其实就是声名个变量 SELECT-OPTIONS:S_CCNAME FOR ZGUNDAM_SPCC-CC. “S_audat 这类型的命名 绝对不允许超过 8 位 START-OF-SELECTION. “当用户点击了 执行 按钮后将执行下面语句 PERFORM GET_DATA. “调用函数取数 PERFORM ALV_SHOW. “调用 alv 函数进行显示 * 以下是 GET_DATA 自定义函数 FORM GET_DATA. * 以下是 select 查询并将结果传递回内表 SELECT ANAME “要查询物里表的字段值 AMADE_IN ALSDJ BNAME AS LX_NAME “当定义结构时起的字段名与物理表字段名不一致时,需要用 AS 指向结果要传递给内表的哪个字段 CCC AFACTORY_BM AS FAC_BM “当定义结构时起的字段名与物理表字段名不一致时,需要用 AS 指向结果要传递给内表的哪个字段 INTO CORRESPONDING FIELDS OF TABLE IT_TABLE “这一句是系统会自我判断的将结果赋予内表里的字段,但定义结构时起的字段名与物理表字段名必须一致 FROM ZGUNDAM_SPXX AS A INNER JOIN ZGUNDAM_SPFL AS B ON ALX_BM EQ BBM INNER JOIN ZGUNDAM_SPCC AS C ON ACC_BM EQ CXH WHERE AMADE_IN IN S_MADE AND BNAME IN S_LXNAME AND CCC IN S_CCNAME. LOOP AT IT_TABLE INTO WA_TABLE. SELECT SINGLE FACTORY INTO WA_TABLE-FACTORY FROM ZGUNDAM_FACTORY WHERE BM EQ WA_TABLE-FAC_BM. MODIFY IT_TABLE FROM WA_TABLE. ENDLOOP. LOOP AT IT_TABLE INTO WA_TABLE. WA_TABLE-C_NAME = GUNDAM. MODIFY IT_TABLE FROM WA_TABLE. ENDLOOP. * LOOP AT IT_TABLE INTO WA_TABLE. * * SELECT SINGLE NAME AGE INTO (WA_TABLE1-C_NAME,WA_TABLE1-AGE) FROM LIZIXUAN. * * MODIFY IT_TABLE FROM WA_TABLE. * * ENDLOOP. * BREAK-POINTWENJING. “断点 ENDFORM. FORM ALV_SHOW. CLEAR: IT_FIELDCAT. “清空内表内容 CLEAR: WA_FIELDCAT. “清空工作区 WA_FIELDCAT-TABNAME = IT_TABLE. WA_FIELDCAT-FIELDNAME = SEL_COL. WA_FIELDCAT-SELTEXT_L = . * WA_FIELDCAT-CHECKBOX =X. * WA_FIELDCAT-EDIT = X. APPEND WA_FIELDCAT TO IT_FIELDCAT. WA_FIELDCAT-TABNAME = IT_TABLE. “要显示的内表是什么 WA_FIELDCAT-FIELDNAME = NAME. “要显示的字段是什么 WA_FIELDCAT-SELTEXT_L = 商品名称. “显示内表字段的 头是什么 APPEND WA_FIELDCAT TO IT_FIELDCAT. “将工作区结果追加进去内表 CLEAR: WA_FIELDCAT. WA_FIELDCAT-TABNAME = IT_TABLE. WA_FIELDCAT-FIELDNAME = LX_NAME. WA_FIELDCAT-SELTEXT_L = 商品类型. APPEND WA_FIELDCAT TO IT_FIELDCAT. CLEAR: WA_FIELDCAT. WA_FIELDCAT-TABNAME = IT_TABLE. WA_FIELDCAT-FIELDNAME = CC. WA_FIELDCAT-SELTEXT_L = 商品规格. APPEND WA_FIELDCAT TO IT_FIELDCAT. CLEAR: WA_FIELDCAT. WA_FIELDCAT-TABNAME = IT_TABLE. WA_FIELDCAT-FIELDNAME = LSDJ. WA_FIELDCAT-SELTEXT_L = 零售单价. APPEND WA_FIELDCAT TO IT_FIELDCAT. CLEAR: WA_FIELDCAT. WA_FIELDCAT-TABNAME = IT_TABLE. WA_FIELDCAT-FIELDNAME = MADE_IN. WA_FIELDCAT-SELTEXT_L = 品牌. APPEND WA_FIELDCAT TO IT_FIELDCAT. CLEAR: WA_FIELDCAT. WA_FIELDCAT-TABNAME = IT_TABLE. WA_FIELDCAT-FIELDNAME = FACTORY. WA_FIELDCAT-SELTEXT_L = 产地. APPEND WA_FIELDCAT TO IT_FIELDCAT. CLEAR: WA_FIELDCAT. WA_FIELDCAT-TABNAME = IT_TABLE. WA_FIELDCAT-FIELDNAME = C_NAME. WA_FIELDCAT-SELTEXT_L = 标签. APPEND WA_FIELDCAT TO IT_FIELDCAT. WA_LAYOUT-COLWIDTH_OPTIMIZE = X. “自适应列宽 WA_LAYOUT-ZEBRA = X. WA_LAYOUT-NO_INPUT = X. CALL FUNCTION REUSE_ALV_GRID_DISPLAY EXPORTING I_CALLBACK_PROGRAM = SY-REPID “系统参数 IS_LAYOUT = WA_LAYOUT “布局 IT_FIELDCAT = IT_FIELDCAT “内容输出 * I_CALLBACK_PF_STATUS_SET = PF_STATUS_SET * I_CALLBACK_USER_COMMAND = USER_COMMAND TABLES T_OUTTAB = IT_TABLE EXCEPTIONS PROGRAM_ERROR = 1 OTHERS = 2. ENDFORM. * * FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM * RS_SELFIELD TYPE SLIS_SELFIELD. * IF REF_GRID IS INITIAL. * CALL FUNCTION GET_GLOBALS_FROM_SLVC_FULLSCR * IMPORTING * E_GRID = REF_GRID. * ENDIF. * IF NOT REF
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年文化遗产传承与发展硕士研究生入学考试试卷及答案
- 2025年文化多样性与全球视野试题
- 2025年文化创意产业师资格考试试题及答案
- 2025年文化创意产业发展战略研究试题及答案
- 2025年网页美工执业能力评估试题及答案解析
- 2025年消雾塔合作协议书
- 陆安一中高考数学试卷
- 平行与相交数学试卷
- 南宁中考五三数学试卷
- 老城小学4年级数学试卷
- 甲醇安全技术说明书SDS
- 小学五年级下科学期末考试质量分析
- GB/T 18341-2021地质矿产勘查测量规范
- oh卡牌理论-课件
- 皮肌炎与多肌炎的诊疗及进展课件
- 合同工期管理台账
- 食品安全自身检查记录表
- 临床常见危急值及处理培训课件
- 先心病介入治疗技术医疗质量控制指标(2021年版)可编辑版
- DB51∕T 2616-2019 机关会议服务规范
- 气瓶检验站乙炔瓶检验
评论
0/150
提交评论