一:常用表
模块 | 表名 | 说明 | TIPTOP | 关键字段 |
---|---|---|---|---|
ALL | MARA | 物料主数据 | ima_file | |
ALL | MARC | 工厂材料主数据视图 | imaf_t | |
ALL | MARD | 库存表 | inag_t | |
ALL | MAKE | 物料主数据销售视图 | imaf_t | |
ALL | MARM | 物料主数据计量单位 | imaf_t | |
ALL | MBEW | 物料评估 | ||
ALL | MBEWH | 材料评价历史 | ||
ALL | MAKT | 物料描述 | ||
ALL | MSEG | 移动凭证 | tlf_file | MBLNR,MJAHR,ZEILE |
ALL | MATDOC | TLF表 | 异动汇总表 | |
ALL | T001 | 公司代码 | ||
ALL | T001W | 工厂代码 | ||
ALL | CSKS | 成本中心 | ||
ALL | CRHD | 工作中心 | ||
ALL | CRCO | 工作中心成本中心对应 | ||
ALL | T023/T023T | 物料组 | ||
ALL | T134 | 物料类型 | ||
MM | T024 | 采购组 | ||
MM | LFA1 | 供应商主表 | ||
MM | LFAS | 供应商主数据(增值税登记号的一般部分) | ||
MM | LFB1 | 供应商工厂数据 | ||
MM | LFM1 | 供应商记录采购组织数据 | ||
MM | EBAN | 请购单表 | ||
MM | EBAN | 请购单表 | ||
MM | EBKN | 设置采购申请账户 | ||
MM | EBKO | 采购单抬头 | ||
MM | EKPO | 单项采购 | ||
MM | EKKN | 采购凭证中的账户设置 | ||
MM | EKBE | 采购历史证书 | ||
MM | EKBEH | 删除的PO历史记录 | ||
MM | MSTA | 物料主记录状态 | ? | |
MM | A018 | 采购核价 | ||
MM | KONP | 采购核价记录 | ||
PP | MAST | BOM表头链接 | bma_file | s |
PP | STKO | BOM表头 | bma_file | s |
PP | STPO | BOM单身 | bmb_file | s |
PP | RESB | 计划需求 | sfa_file | |
PP | PBIM | 独立需求 | ||
PP | PBED | 独立需求明细 | ||
PP | PLAF | 计划订单 | ||
PP | AFKO | 生产工单 | ||
PP | AUFK | 生产工单主数据 | ||
WM | MARD | 库存表 | img_file | MATNR,WERKS,LGORT |
WM | MARDH | 库存期别表 | imk_file | |
WM | T001L | 仓位 | ||
SD | KAN1 | 客户主数据 | OCC_FILE | |
SD | KAB1 | 客户主数据公司级 | pmaa_t | |
SD | KNVV | 客户主数据销售视图 | ||
SD | KNVP | 客户主数据合作伙伴 | ||
SD | ADRC | 地址 | ||
SD | KNOH/KONP/A901 | 销售报价 | ||
SD | VBAK | 销售订单抬头 | ||
SD | VBKD | 业务数据 | ||
SD | VBPA | 是伙伴 | ||
SD | VBEP | 是计划行 | ||
SD | VBFA | 是单据流 | ||
SD | VBUK | 抬头状态 | ||
SD | VBUP | 行项状态 | ||
SD | LIKP | 交货抬头 | ||
SD | LIPS | 交货行项 | ||
SD | VTTK | 交货是Shipment抬头 | ||
SD | VTTP | 交货是Shipment行项 | ||
SD | VBRK | 发票凭证抬头 | ||
SD | VBRP | 发票凭证行项目 | ||
SD | BKPF | 财务凭证抬头 | ||
SD | BSEG | 财务凭证行项目 | ||
SD | BSAD | 应收明细(已清帐)客户 | ||
SD | BSID | 应收明细(未清帐)客户 | ||
SD | BSAS | 总帐明细(已清帐)总账 | ||
SD | BSIS | 总帐明细(未清帐)总账 | ||
SD | BSAK | 应付明细(已清帐)供应商 | ||
SD | BSIK | 应付明细(未清帐)供应商 | ||
FI | ANLA | 固定资产表 | faj_file | |
FI | KEKO | 产品成本核算 | KEKO~FEH_STA<>‘FR’ 的为未发布价格的 | |
FI | BKPF | 会计凭证抬头 | BELNR,GJAHR | |
PM | EQUI | 设备主数据 | ||
PM | EQUZ | 设备变更记录数据 | ||
PM | EQKT | 设备描述表 | ||
PM | ILOA | 功能位置与设备绑定关系 | ||
PM | IFLOT | 功能位置表 | ||
PM | IFLOTX | 功能位置描述 | ||
PM | CRHD | 工作中心表 |
二:常用事务代码
模块 | 代码 | 说明 | 备注 |
---|---|---|---|
开发 | se38 | 程序编辑器 | 一般程序编辑 |
开发 | se37 | 函数编辑器 | RFC函数等 |
开发 | se80 | 编辑器 | 大功能编辑器 |
开发 | se19 | 增强 | |
开发 | se11 | ABAP字典 | 表字典、视图、结构、元素等 |
开发 | se16n | 常规表内容查看器 | |
开发 | se93 | 事务代码维护 | 同azzi910 |
开发 | sm37/sm36 | 定时任务 | p_cron |
开发 | su01 | 用户维护 | |
开发 | sm12 | 解锁程序 | |
开发 | DBACOCKPIT | 数据库管理 | 可以写原始sql |
开发 | SE09/STMS | 程序上传 | 程序上传 |
开发 | SHDB | 程序录屏 | |
开发 | SCOT | 邮件配置 | |
系统 | su01 | 建账号 | |
MM | bp | 供应商创建 | |
MM | me11/12/13 | 采购信息记录 | |
MM | me51n/52n/53n/54n | 采购申请单/审批 | |
MM | me5a | 采购申请单报表 | |
MM | me57 | 请购转采购作业 | |
MM | me21n/22n/23n | 采购单 | |
MM | me29n | 采购审批 | |
MM | me2n | 采购单报表 | |
MM | mir7 | 发票预制 | |
MM | miro | 发票录入 | |
MM | mmbe/mb52 | 库存 | |
MM | mb51 | 库存异动记录 | |
PP | MD11/MD12/MD13 | 手工创建计划订单 | |
PP | CO40/CO41/CO48 | 计划订单转生产工单 | |
PP | mm01/mm02/mm03 | 物料维护 | |
PP | cs01/cs02/cs03 | BOM维护 | |
PP | ca01/ca02/ca03/ca51 | 工艺路线维护 | |
PP | ir01/ir02/ir03 | 工作中心维护 | |
PP | co01/co02/co03/coois | 生产工单维护 | |
PP | md01/md02/md04 | MRP数据 | |
SD | va01/va02/va03 | 销售订单维护 | |
SD | md61/md62/md63 | 独立需求维护 | |
SD | vl01n/vl02n/vl03n | 出货单 |
三:常见系统变量
- SY-SUBRC: 系统执行某指令后,表示执行成功与否的变量,0表示成功
1.使用SELECT语句选择查询 SY-SUBRC = 0: 至少有一行数据,当ENDSELECT语句执行完,SY-DBCNT中保存着记录的个数。 SY-SUBRC = 4: 没有数据。 SY-SUBRC = 8: 只有使用“SELECT SINGLE FOR UPDATE”时才会有,表示: WHERE条件指定的记录> 不止一行,结果是没有记录被选中。 2.使用INSERT语句 SY-SUBRC = 0: 插入成功,SY-DBCNT包含了插入的行数,0或1。 SY-SUBRC = 4: 由于有相同的KEY存在,所以插入失败。 3. 使用LOOP语句来遍历一个内表: SY-SUBRC = 0: 循环至少被执行一次。 SY-SUBRC = 4: 循环没有被执行,可能是没有数据,也可能是没有符合条件的记录。 4.使用DELETE语句来删除一条记录: SY-SUBRC = 0: 找到一行并删除之,如果该表有不唯一主键,也就是有多条重复的记录,则只删除第一条记录。 SY-SUBRC = 4: 没有找到符合条件的记录,也没有删除。 使用UPDATE语句来更新一条记录: SY-SUBRC = 0: 找到记录并更新,(如果有多条记录呢?) SY-SUBRC = 4: 没有找到符合条件的记录,也没有更新。
- SY-DBLNT: 被处理过的记录的笔数
- SY-UNAME: 当前使用者登入SAP的USERNAME
- SY-DATUM: 当前系统日期
- SY-UZEIT: 当前系统时间
- SY-TCODE: 当前执行程序的Transaction code
- SY-REPID: 当前程序名称
- SY-INDEX : 当前LOOP循环过的次数(loop加筛选条件了将无效)
- SY-TABIX: 当前处理的是internal table 的第几笔
- SY-TMAXL: Internal table的总笔数
- SY-SROWS: 屏幕总行数
- SY-SCOLS: 屏幕总列数
- SY-MANDT: 當前系統編號(CLIENT NUMBER)
- SY-VLINE: 画竖线
- SY-ULINE: 画横线
- SY-PAGNO: 当前页号
- SY-LINSZ: 当前报表宽度
- SY-LINCT: 当前报表长度
- SPACE: 空字符串
- SY-LSIND: 列表索引页
- SY-LISTI: 上一个列表的索引
- SY-LILLI: 绝对列表中选定行的行号
- SY-CUROW: 屏幕上的行
- SY-CUCOL: 光标列
- SY-CPAGE: 列表的当前显示页
- SY-STARO:真实行号
- SY-LISEL: 选择行的内容,长度为255
- SY-LINNO: 当前行
- SY-SUBRC:语句执行后的返回值,0表示成功
- SY-DATUM:当前服务器日期
- SY-UZEIT:当前服务器时间
- SY-ULINE:255长度的水平线
- SY-VLINE:垂直线
- SY-MSGID 消息, 消息类
- SY-MSGTY 消息,消息类型
- SY-MSGNO 消息, 消息编号
- SY-MSGV1 消息,消息变量1
- SY-MSGV2 消息,消息变量2
- SY-MSGV3 消息,消息变量3
- SY-MSGV4 消息,消息变量4
四:常用函数
- SHIFT STRING:左移字符串。长度减1。
- CONCATENATE:连接字符串。
- SPLIT:拆分字符串。
- SEARCH:查询字符串。
- REPLACE:替换字符串。
- CONDENSE:删除多余的空格。
- TRANSLATE:转换字符格式,如将’ABC’转换为’ABC’
- CONVERT TEXT:创建一个可排序的字符串。
- OVERLAY:用一个字符串覆盖另一个字符串。
- STRLEN:字符串长度。
- ABS:取绝对值。
- COS、SIN、TAN:取三角函数值。
- ACOS、ASIN、ATAN:反三角函数。
- COSH、SINH、TANH:双曲函数。
- EXP:E的幂函数。
- LOG:底数为E的对数。
- LOG10:底数为10的对数。
- SQRT:平方根。
- SIGN:返回参数符号。
- TRUNC:返回参数的整数部分。
- FRAC:输入参数的小数部分。
- CEIL:返回不小于参数的最小整数。
- FLOOR:返回不大于参数的最小整数。
五:常用BAPI函数
- CS_BOM_EXPL_MAT_V2:获取BOM清单信息
"调用BOM 函数,获取BOM尾阶数据 CALL FUNCTION 'CS_BOM_EXPL_MAT_V2' EXPORTING capid = 'PP01' "Application ID BOM类型
datuv = sy-datum "Validity date 有效日期 emeng = <f_t020>-menge "Required quantity 需求数量,放大点,避免小数位问题
auskz = space "scrap mehrs = 'X' "Multi-level explosion 展开单层或者多层
mtnrv = <f_t020>-matnr "Material stlal = '01' "Alternative BOM
stlan = <f_t020>-stlan "'M' "BOM usage
werks = <f_t020>-werks "工厂 TABLES stb = it_stpox matcat = matcat EXCEPTIONS alt_not_found = 1 call_invalid = 2 material_not_found = 3 missing_authorization = 4 no_bom_found = 5 no_plant_data = 6 no_suitable_bom_found = 7 conversion_error = 8 OTHERS = 9. "CS_BOM_EXPL_MAT_V2
- 单位转换
CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'
EXPORTING
input = ls_afru-ism06 "传入数量"
round_sign = 'X' "默认"
unit_in = ls_afru-ile06 "来源单位"
unit_out = <fs_afvv>-VGE06 "目的单位"
IMPORTING
output = ls_afru-ism06 "转换后数量"
EXCEPTIONS
conversion_not_found = 01
division_by_zero = 02
input_invalid = 03.
- 弹出确认框
CALL FUNCTION 'POPUP_TO_CONFIRM'
EXPORTING
text_question = '该操作会清除之前版本数据,是否继续?' "提示消息 icon_button_1 = '是' "是
icon_button_2 = '否' "否
default_button = '2'
display_cancel_button = 'X'
start_column = 25
start_row = 6
IMPORTING
answer = l_answer
EXCEPTIONS
text_not_found = 1
OTHERS = 2.
- 左下角报错消息
MESSAGE s001(00) WITH 'EXCEL输入文件要求必输!' DISPLAY LIKE 'E'. #E=报错 W=警告