SAP XX物料EAN13对应码查询及批量导入

合集下载

[精彩]SAP XX物料EAN13对应码查询及批量导进

[精彩]SAP  XX物料EAN13对应码查询及批量导进

[精彩]SAP XX物料EAN13对应码查询及批量导进SAP XX物料EAN13对应码查询及批量导入

*&---------------------------------------------------------------------*

*& Report ZMMEAN13B

*&---------------------------------------------------------------------*

REPORT ZMMEAN13B NO STANDARD PAGE HEADING

LINE-SIZE 120 LINE-COUNT 65

MESSAGE-ID ZDXMESS.

******************************************************************** ***

*程序名称:ZMMEAN13B *

*程序目的:XX物料EAN13对应码查询及批量导入

*

*使用变式: *

*需求文档: *

*开发人: SUNFENG *

*开始时间:2008-7-21 完成时间: 2008-7-25 传输请求号:

*

*程序修改时间: 修改人: *

*修改说明 *

******************************************************************** ***

*修改时间: 修改传输请求号: *

*修改人: *

*修改说明: *

******************************************************************** ***

SAP物料和BOM的创建、导入及查询

SAP物料和BOM的创建、导入及查询
28
四、修改
研发BOM可直接修改; 生产BOM修改前需要确认是否已经被项目部、工艺部等使用。 变更编号创建:CC01
29
2017-07-08
24
三、BOM编写与导入
BOM导入:ZPP014 需要分别导入生产BOM和研发BOM
PS:账号3000PPE008才有这个权限
25
三、BOM编写与导入
26
四、修改
物料的常见修改:物料描述、生产方式、存储库位、单位等。 BOM的常见修改:增、减、物料替换等。
27
四、修改
BOM修改: CS012
标准件
标准件编码规则 标准件描述
示例:81001000041
8
1
0
0
1
0
首位固定号段
分类
xx
xx
xx
名称
国标号
规格型号
内六角螺钉;GB70.1;M8x20;发蓝8.8级
0
0
0
0
1
流水码
xxΒιβλιοθήκη Baidu
xx
特征
其他备注
17
二、物料代码编写
特标件
特标件编码规则 特标件描述
示例:82001000046
8
2
0
0
1
0
首位固定号段
多层展开
10

SAP事务码大全超实用无基础可学会_解决方案_计划解决

SAP事务码大全超实用无基础可学会_解决方案_计划解决

生产部分:

CC01—建立更改主數據

CC02—修改更改主數據

CC03—显示更改主數據

MMR1—原料

MMB1—半成品

MMF1—成品

MM01—创建物料

MM02—修改物料

MM03—显示物料(可以查看生产版本)

MM04—查询料号修改的历史纪录

MM06—标记待删除物料

MM11—排程建立料号

MM13—立即执行已经schedule的建立或修改工作

MM17—批量修改物料(比如批量修改生产调度员、物料描述等)MM50—扩展物料视图

MM60—物料主数据清单显示(批量显示)

MMAM—更改物料类别

MR21----修改物资价格

CS01—物料BOM创建

CS02—物料BOM更改

CS03—物料BOM显示

CS07—创建工厂分配(比如将C003的BOM 分配给C004工厂)CS08—修改工厂分配

CS09—显示工厂分配

CS11—物料BOM逐层展开

CS12—物料BOM多层展开

CS13—BOM汇总

CS14—物料BOM比较

CS15—物料反查(根据组件查相应的BOM)

CS20—物料BOM批量更改

CS80—物料BOM更改文件(记录修改BOM的历史记录)

CC01—建立更改编号

CC02—修改更改编号

CC03—显示更改编号

CC04—产品结构显示(物料、更改编号等对象)

CC05—变更概观(批量显示更改编号跟踪下的记录)

CC11—建立物料修订版次

CC12—修改物料修订版次

CC22—更改对象管理记录

CC23—显示对象管理记录

CR01—创建工作中心

CR02—修改工作中心

CR03—显示工作中心

CR05—批量显示工作中心

CR06—批量显示工作中心中成本中心指派

sap物料管理操作手册

sap物料管理操作手册

sap物料管理操作手册

(原创版)

目录

1.SAP 物料管理的概述

2.SAP 物料管理的基本概念

3.SAP 物料管理的操作步骤

4.SAP 物料管理的应用实例

5.SAP 物料管理的注意事项

正文

【SAP 物料管理的概述】

SAP 物料管理操作手册主要介绍了如何在 SAP 系统中进行物料管理。物料管理是企业管理的重要组成部分,它涉及到对企业中各种物料的采购、库存、销售等环节进行有效管理。SAP 作为全球领先的企业管理软件,提供了全面的物料管理解决方案。通过 SAP 物料管理操作手册,企业可以

更好地掌握物料管理的各个环节,从而提高企业的管理效率和经济效益。

【SAP 物料管理的基本概念】

在 SAP 系统中,物料是指企业中具有独立管理需求的物品或商品。

物料分为生产物料和非生产物料。生产物料是指用于生产其他产品的物料,如原材料、半成品等;非生产物料是指不直接参与生产过程的物料,如办公用品、备品备件等。

SAP 物料管理的基本概念包括:物料主数据、物料编码、物料组、物

料分类等。物料主数据是物料的基本信息,包括物料名称、描述、计量单位、库存地点等。物料编码是根据物料主数据生成的唯一编码,便于系统识别和查询。物料组是一组具有相似特性的物料,可以进行统一管理的集合。物料分类是对物料进行分类管理的一种方法,可以根据企业的需要对

物料进行不同的分类。

【SAP 物料管理的操作步骤】

SAP 物料管理的操作步骤主要包括:物料主数据创建、物料编码生成、物料组维护、物料分类维护、采购申请、采购订单、入库、出库、库存查询等。

1.物料主数据创建:在 SAP 系统中,首先需要创建物料主数据,包括物料的基本信息和财务信息。

SAP数据批量导入的常用方法

SAP数据批量导入的常用方法

SAP数据批量导入的常用方法:

在SAP项目实施时主要有三种批量导入方法:

第一种:LSMW-----Legacy System Migration Workbench.(遗留系统迁移工作台)

The LSM Workbench is an R/3 based tool that support when transferring data from non-SAP systems to SAP R/3.

T-code: LSMW

第二种:CATT(计算机辅助测试工具)

CATT(computer aided test tool) screen record, system will not create program.

T-code: SCAT

第三种:BDC(批导入数据)

For batch input or change, system will create program, and you can change the program.

T-code: SHDB

一、C ATT操作具体方式如下:

1大致过程

1.1 录制CATT

SCAT—>TCD,输入事务码—>按前台操作方式操作一遍,在需要输入的地方输入相关内容,直至存盘退出;

1.2 定义相关需输入字段的名字(更改记录,把数值变化的字段做成“变量”,保存记录)

在SCAT中选中所保存的CATT,点击修改,双击TCD,双击相关条目,双击相关屏幕的字段进行定义,在此过程中对于不需要的屏幕可以跳过,对于需确认的屏幕可以插入OK code,最后保存,CATT定义即告完成

SAP通用事务码(附FI解析)

SAP通用事务码(附FI解析)

SAP通⽤事务码(附FI解析)

FI事务码解析6

⼀、FI清帐事务码6

1.总账清帐~F-03 6

2.客户清帐~F-32 6

3.供应商清帐~F-44 6

4.收客户款记账清帐~F-28=F-06 6

5.付供应商款记账并清帐~F-53=F-07 6

6.万能过账清帐~F-04=F-30 6

7.万能⾃动清帐~F.13 7

⼆、FI基础数据事务码7

1.总账科⽬维护~FS00 7

2.创建客户~FD01=XD01 7

3.创建供应商~FK01=XK01 7

4.创建固定资产~AS01 7

三、FI业务操作事务码7

1.总账科⽬记账~F-02 7

四、FI报表查询事务码8

1.客户余额查询-FD10N 8 2供应商余额查询-FK10N 8

3.总账余额查询-FS10N 8

4.客户⾏项⽬查询-FBL5N 8

5.供应商⾏项⽬查询-FBL1N 8

6.总账⾏项⽬查询-FBL3N 8

7.检查交货单是否⽣成会计凭证-VFX3 8 8查询移动类型明细-MB51 8 9查询库存明细-MB5B 8

五、固定资产事务码8

1.创建资产主数据-AS01 8

2.主数据修改调拨-AS02 8

3.主数据冻结/删除-AS05/AS06 8

4.查看固定资产详细信息-AW01N 8 5固定资产报废-ABAVN 8

6固定资产公司间调拨-ABT1N 8

7.固定资产折旧运⾏-AFAB 8

8.资产明细账和总账的校对-ABST2 8 9资产会计年度更改-AJRW 8 10.资产年末余额结转-AJAB 9 11在建⼯程分配设定-AIAB

9 12.在建结算(转固定)-AIBU 9

SAP数据的导入与批量更改

SAP数据的导入与批量更改
SAP数据的导入与批量更改
ERP事业部顾问二部 2009年7月17日
赵瑜
Copyright © 2008 Neusoft Corporation
目录
一.数据导入方法概览 二.数据导入的前提 三.LSMW原理介绍 四.LSMW实例演示 五.SM35原理介绍 六.SM35实例演示 七.SAP数据批量更改演示 八.导入更改数据心得体会
data import
LSMW
data on SAP data base
6
五、SM35原理介绍
一、录屏产生BDCCODE
二、excel模板进行转换
三、执行转换的BDC CODE
7
六、SM35实例演示
8
七、SAP数据批量更改演示 物料主数据------MM17 供应商主数据-------XK99 客Fra Baidu bibliotek主数据-------XD99 采购订单------MEMASSPO 汇总------MASS
Read data
Convert data
Converted data
Read data
One or several files
Legacy data on PC
Legacy data on application
server
R/3 Standard
Batch Input processing

SAP半成品物料主数据批量导入模板

SAP半成品物料主数据批量导入模板

matnr

mbrsh

mtart

werks vkorg

vtweg

Material number

Industry sector Material type

Plant

Sales

organiz

Distri

bution

channe

makte

maktc

meins matkl Eng. material description

Chi. material description

Base unit of

Material group

bismt spart mtpos brgew ntgew gewei volum voleh normt

Old material number Division

Gen. item

category

Gross

weight

Net

weight

Weight UOM Volume Volume UOM

Industry

Standard

Descriptio

wrkst klart class umren meinh umrez laeng breit hoehe meabm

Basic material Class

type

Class X UOM of X Y Length Width Height

UOM of

dimension

volua volea ntgea brgea gewea dwerk

taxkm aumng mtpov mvgr1Volume

UOM of volume

Net weight

Gross weight

UOM of weight

Delivering plant Tax

classifica tion

SAP批量导入数据研究

SAP批量导入数据研究

SAP批量导入数据研究

SAP批量导入数据研究

曾春年1,刘洋1,董爱强2

1武汉理工大学信息工程学院,武汉 (430070)

2中国电力科学研究院,北京 (100058)

摘要:SAP系统代表了世界上最先进的企业资源计划技术,广泛的应用于各行各业,为企业带来了更有效的管理模式和提高整个企业的竞争力。随着企业信息化的发展,越来越多的公司要求上SAP系统,而企业的业务数据如何传输至SAP系统是众多企业面临的难题。SAP系统中的业务数据可以通过用户手工输入或者利用系统工具自动上传,手工输入通常适用于少量的数据,而对于大批量业务数据,靠手工输入的方式是无法让人接受的也是不经济的,因此需要考虑寻找一种在后台自动的执行的批量导入的方法。本文以一个自行定制的批量导入程序对SAP的数据导入进行研究。

关键词:LSMW,DXWB,BAPI,ALE

1. 引言

ERP 软件在国内外发展十分迅速,全球ERP 市场收入增长速度惊人。面对巨大的市场,一些企业纷纷加入到ERP 的开发和研发队伍中,世界上先后涌出了数百家专门从事MRP,MRPII 和ERP 产品的开发,销售和咨询公司。按近年来ERP 软件及服务的营业收入排序,前几名的包括SAP, Oracle, J.D.Edwards 等公司。

SAP 非常注重系统二次开发,它提供了优秀的二次开发平台、业务程序接口(BAPI),应用程序链接(ALE),电子数据交换(EDI--Electronic Bata Interchange)等丰富的接口和函数(这方面正是国内ERP 软件最为欠缺的,甚至包括一些国外的ERP 软件),这不仅弥补了SAP 本身的许多不足,同时也更利于客户的个性化开发。现在国内外许多企业和技术人员都在进行这方面的研究与开发。尤其在国外有许多优秀的专门从事SAP 实施的顾问,他们能够根据客户的要求和现状设计出优秀的数据传输程序,满足客户的特殊要求。然而,国内从事数据传输开发的人员不管是在数量上

sap物料管理操作手册

sap物料管理操作手册

sap物料管理操作手册

【实用版】

目录

1.SAP 物料管理的概述

2.SAP 物料管理的基本概念

3.SAP 物料管理的主要功能

4.SAP 物料管理的操作步骤

5.SAP 物料管理的应用实例

6.SAP 物料管理的注意事项

正文

1.SAP 物料管理的概述

SAP 物料管理操作手册主要介绍了如何在 SAP 系统中进行物料管理。物料管理是企业资源计划(ERP)系统中的一个重要组成部分,它涉及到

对企业内各种物料的创建、修改、查询和删除等操作。通过 SAP 物料管

理操作手册,用户可以更好地掌握 SAP 物料管理的相关知识,从而提高

企业的物料管理效率。

2.SAP 物料管理的基本概念

在 SAP 系统中,物料是指企业生产和经营过程中涉及到的任何物品,包括原材料、半成品、成品等。物料管理主要包括以下几个基本概念:(1)物料主数据:物料主数据是物料信息的详细描述,包括物料名称、物料编号、物料组、基本单位、单位数量等。

(2)物料分类:物料分类是指对物料进行分组的一种方法,可以根

据企业的需要对物料进行分类管理。

(3)物料编码:物料编码是根据物料的特性和分类对物料进行编号

的一种方法,有助于提高物料管理的效率。

3.SAP 物料管理的主要功能

SAP 物料管理的主要功能包括:

(1)物料主数据的创建和维护:通过 SAP 系统,用户可以方便地创建和维护物料主数据,确保物料信息的准确性。

(2)物料的查询和搜索:用户可以通过 SAP 系统查询和搜索物料信息,提高物料管理的效率。

(3)物料的变更和删除:用户可以对物料信息进行变更和删除,以适应企业生产和经营的变化。

erp软件之sap资料lsmw批量导入数据培训教程手册课件

erp软件之sap资料lsmw批量导入数据培训教程手册课件
• LSMW的原理是对需要批处理操作的流程进行录像,然后设定模板, 再将准备好的数据传入到SAP系统进行预转换,如果合适就进行实际 的转换。
• LSMW导入数据操作分为以下几大步骤: • 1. 准备需要导入的数据 • 2. 转换模板定义 • 3. 读取数据并预转换 • 4. 实际转换
erp软件之sap资料lsmw批量导入
7
数据培训教程手册
• 双击相应条码,对所录字段进行编辑,将值为变量的字段设为 空。
erp软件之sap资料lsmw批量导入
8
数据培训教程手册
• 完成后保存退出。进入lsmw 初始界面 点击执行按钮,进入下一页面。
erp软件之sap资料lsmw批量导入
9
数据培训教程手册
• 双击 1,选中batch input recording (批量输入记录), 选 中刚刚建好的recording.保存,退出
• 用选择性粘贴,选择转置。 得到数据模板,把正确数据填写完毕,去 掉表头,保存。 然后保存为文本文件(即txt格式), 文件中不要有多 余的空格和字符
erp软件之sap资料lsmw批量导入
19
数据培训教程手册
• Read Data读取数据步骤。检验数据是否正确。
• 点击运行后如下图,如发现错误请检查以上步骤。
erp软件之sap资料lsmw批量导入
20
数据培训教程手册

[精彩]SAP XX物料EAN13对应码查询及批量导进

[精彩]SAP  XX物料EAN13对应码查询及批量导进

[精彩]SAP XX物料EAN13对应码查询及批量导进SAP XX物料EAN13对应码查询及批量导入

*&---------------------------------------------------------------------*

*& Report ZMMEAN13B

*&---------------------------------------------------------------------*

REPORT ZMMEAN13B NO STANDARD PAGE HEADING

LINE-SIZE 120 LINE-COUNT 65

MESSAGE-ID ZDXMESS.

******************************************************************** ***

*程序名称:ZMMEAN13B *

*程序目的:XX物料EAN13对应码查询及批量导入

*

*使用变式: *

*需求文档: *

*开发人: SUNFENG *

*开始时间:2008-7-21 完成时间: 2008-7-25 传输请求号:

*

*程序修改时间: 修改人: *

*修改说明 *

******************************************************************** ***

*修改时间: 修改传输请求号: *

*修改人: *

*修改说明: *

******************************************************************** ***

SAP通用事务码(附FI解析)

SAP通用事务码(附FI解析)

SAP通⽤事务码(附FI解析)

FI事务码解析6

⼀、FI清帐事务码6

1.总账清帐~F-03 6

2.客户清帐~F-32 6

3.供应商清帐~F-44 6

4.收客户款记账清帐~F-28=F-06 6

5.付供应商款记账并清帐~F-53=F-07 6

6.万能过账清帐~F-04=F-30 6

7.万能⾃动清帐~F.13 7

⼆、FI基础数据事务码7

1.总账科⽬维护~FS00 7

2.创建客户~FD01=XD01 7

3.创建供应商~FK01=XK01 7

4.创建固定资产~AS01 7

三、FI业务操作事务码7

1.总账科⽬记账~F-02 7

四、FI报表查询事务码8

1.客户余额查询-FD10N 8 2供应商余额查询-FK10N 8

3.总账余额查询-FS10N 8

4.客户⾏项⽬查询-FBL5N 8

5.供应商⾏项⽬查询-FBL1N 8

6.总账⾏项⽬查询-FBL3N 8

7.检查交货单是否⽣成会计凭证-VFX3 8 8查询移动类型明细-MB51 8 9查询库存明细-MB5B 8

五、固定资产事务码8

1.创建资产主数据-AS01 8

2.主数据修改调拨-AS02 8

3.主数据冻结/删除-AS05/AS06 8

4.查看固定资产详细信息-AW01N 8 5固定资产报废-ABAVN 8

6固定资产公司间调拨-ABT1N 8

7.固定资产折旧运⾏-AFAB 8

8.资产明细账和总账的校对-ABST2 8 9资产会计年度更改-AJRW 8 10.资产年末余额结转-AJAB 9 11在建⼯程分配设定-AIAB

9 12.在建结算(转固定)-AIBU 9

sap物料管理操作手册

sap物料管理操作手册

sap物料管理操作手册

【最新版】

目录

1.SAP 物料管理的概述

2.SAP 物料管理的基本概念

3.SAP 物料管理的操作步骤

4.SAP 物料管理的注意事项

5.SAP 物料管理的应用案例

正文

【SAP 物料管理的概述】

SAP 物料管理是指在 SAP 系统中对生产和非生产物料进行有效管理的一种方法。物料管理的目标是确保物料的准确性、及时性和可靠性,以便在降低成本的同时提高生产效率。SAP 物料管理操作手册为使用者提供了详细的操作指南,帮助企业实现物料管理的高效运作。

【SAP 物料管理的基本概念】

在 SAP 系统中,物料是指具有独立特征的物品,可以是生产过程中的原材料、半成品、成品等。物料管理涉及到物料的创建、修改、显示、查询和删除等操作。同时,还需要对物料的库存、采购、销售等环节进行管理。

【SAP 物料管理的操作步骤】

1.物料创建:在 SAP 系统中,首先需要创建物料主数据,包括物料编号、物料名称、物料描述、计量单位等信息。

2.物料修改:在物料信息发生变化时,需要对物料主数据进行修改,确保物料信息的准确性。

3.物料显示:在 SAP 系统中,可以通过查询物料主数据,查看物料的相关信息。

4.物料查询:可以通过物料查询功能,根据物料编号、物料名称等条件,快速找到所需物料的信息。

5.物料删除:在物料不再使用时,需要将物料主数据进行删除,以便保持物料信息的整洁性。

【SAP 物料管理的注意事项】

1.物料编码的唯一性:在创建物料时,需要确保物料编码的唯一性,避免编码重复导致系统错误。

2.物料信息的准确性:在物料管理过程中,需要确保物料信息的准确性,以便为企业提供有效的决策依据。

(2024年)SAP批导入处理教程

(2024年)SAP批导入处理教程
确认无误后,点击“执行”按钮, 启动批输入处理过程。
监控批输入状态
在批输入执行过程中,可以通过事 务代码SM37监控执行状态,查看 处理进度和结果。
24
05
常见问题与解决方案
2024/3/26
25
数据格式问题
数据格式不匹配
确保导入文件的数据格式与SAP 系统要求的数据格式一致,包括
字段分隔符、文本标识符等。
Boomi是一个云集成平台,提 供了与SAP系统的连接和数据 交换功能。它支持多种数据格 式和连接协议,并具有灵活的 数据映射和转换功能。
Informatica PowerCenter
Informatica PowerCenter是 一个企业级的数据集成平台, 支持从各种数据源向SAP系统 导入数据。它提供了强大的数 据清洗、转换和加载功能。
2024/3/26
初始化系统时,批量导入基础数 据。
与其他系统集成时,通过批导入 实现数据的交换和同步。
5
批导入流程简介
1. 准备数据
01 根据SAP系统的要求,准备好
需要导入的数据文件,确保数 据格式正确、完整。
2. 创建批输入会话
02 在SAP系统中创建批输入会话
,定义数据导入的相关参数和 设置。
学员B
教程内容详实,步骤清晰,让我能够快速上手并完成批导入处理任 务,非常感谢老师的指导。

SAP批量导入数据研究

SAP批量导入数据研究

SAP批量导入数据研究

导入数据是企业管理中非常重要的一个环节,尤其是对于使用SAPERP系统的企业来说,SAP提供了强大的批量导入工具,以方便企业快

速导入大量数据。本文将从导入数据的需求、SAP批量导入工具的优势和

应用实例等方面进行研究。

一、导入数据的需求

在企业管理过程中,导入数据是一项必不可少的工作。无论是从其他

系统迁移数据,还是通过Excel等工具批量导入数据,都是企业管理过程

中的常见需求。导入数据可以减少手工输入的工作量,提高数据准确性和

效率。而对于SAP ERP系统来说,导入数据的需求更加迫切,因为SAP作

为一套企业级的管理系统,需要管理海量的数据,并且数据之间的关联性

复杂,手工输入数据不仅耗时耗力,还容易出现错误。

二、SAP批量导入工具的优势

1. 快速导入大量数据:SAP批量导入工具使用传统的数据导入方式,通过Excel等工具将数据批量导入SAP系统,可以快速导入大量数据,大

大节省了时间和人力成本。

2.数据准确性高:SAP批量导入工具可以通过数据校验和验证功能,

确保导入的数据准确无误。在导入过程中,系统会检查数据的格式和内容,如果发现错误或异常数据,可以及时提醒用户进行修正,从而避免了错误

数据导入SAP系统的情况。

3.灵活性强:SAP批量导入工具支持导入各种类型的数据,包括主数据、开票数据、成本数据等等。同时,用户可以根据自己的需求进行必要

的配置和设置,以满足不同的导入需求。

4. 提高工作效率:SAP批量导入工具的操作简单方便,用户只需要

按照系统要求准备好导入数据的Excel模板,并进行必要的数据转换和映射,即可完成数据导入。相比手工输入数据,SAP批量导入工具大大提高

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

*&---------------------------------------------------------------------*
*& Report ZMMEAN13B
*&---------------------------------------------------------------------*
REPORT ZMMEAN13B NO STANDARD PAGE HEADING
LINE-SIZE 120 LINE-COUNT 65
MESSAGE-ID ZDXMESS.
***********************************************************************
*程序名称:ZMMEAN13B *
*程序目的:XX物料EAN13对应码查询及批量导入 *
*使用变式: *
*需求文档: *
*开发人: SUNFENG *
*开始时间:2008-7-21 完成时间: 2008-7-25 传输请求号: *
*程序修改时间: 修改人: *
*修改说明 *
***********************************************************************
*修改时间: 修改传输请求号: *
*修 改 人: *
*修改说明: *
***********************************************************************
** 定义
TABLES: vbak,vbap,vbep,MARA,ZEAN13.

DATA: w_loop like sy-tabix,
l_answer type c,
zflag type c,
zwmeng(13) type c,
ZKBETR(13) type c,
ZJ_3AKORD1 LIKE J_3APGEN-J_3AKORD1, "尺码
ZMATNR TYPE MATNR, "SKU
ZMTART TYPE MTART, "ZFT1
ZLAEDA TYPE ERSDA, "日期 (提交日期)

ZZEAN13 TYPE DZEINR, "EAN13
ZEINR TYPE DZEINR. "商品编码
DATA: BEGIN OF ZZMTART OCCURS 0,
LAEDA TYPE ERSDA, "日期 (提交日期)
ZMTART TYPE MTART. "ZFT1
DATA: END OF ZZMTART.

DATA: BEGIN OF ZZMATNR OCCURS 0,
LAEDA TYPE ERSDA, "日期 (提交日期)
ZMATNR TYPE MATNR. "SKU
DATA: END OF ZZMATNR.

DATA: BEGIN OF ZZJ_3AKORD1 OCCURS 0,
LAEDA TYPE ERSDA, "日期 (提交日期)
ZMTART TYPE MTART,
ZJ_3AKORD1 LIKE J_3APGEN-J_3AKORD1. "尺码
DATA: END OF ZZJ_3AKORD1.

DATA: BEGIN OF ZZLAEDA OCCURS 0,
LAEDA TYPE ERSDA, "日期 (提交日期)
ZLAEDA LIKE J_3APGEN-J_3AKORD1.
DATA: END OF ZZLAEDA.

DATA: BEGIN OF ZZZEAN13 OCCURS 0,
LAEDA TYPE ERSDA, "日期 (提交日期)1
ZEAN13 TYPE DZEINR. "
DATA: END OF ZZZEAN13.

DATA: BEGIN OF ZZEINR OCCURS 0,
LAEDA TYPE ERSDA, "日期 (提交日期)2
ZEINR TYPE DZEINR. "
DATA: END OF ZZEINR.


DATA: LEN TYPE I.
DATA: fname(128) TYPE c, ftype(3), fsize TYPE i,cancel(1).
DATA: begi

n of itab OCCURS 0,
ZEAN13 TYPE DZEINR, "EAN13
MATNR TYPE MATNR, "SKU
J_3AKORD1 TYPE J_3AKORD1, "尺码
MTART TYPE MTART,
LAEDA TYPE ERSDA, "日期 (提交日期)
ERSDA TYPE ERSDA, "日期(系统创建日期)
ZEINR TYPE DZEINR, "商品编码

ZEAN13S TYPE I, "TYPE DZEINR, "EAN13码位数
ZEINRS TYPE I, "TYPE DZEINR, "商品编码位数
zitem type i,
end of itab.
****检查将要导入的文件有无EAN13码重复
DATA: begin of itab_ZEAN13 OCCURS 0,
ZEAN13 TYPE DZEINR, "EAN13
zitem type i,
end of itab_ZEAN13.
***** 检查将要导入的文件有无商品编码码重复
DATA: begin of itab_ZEINR OCCURS 0,
ZEINR TYPE DZEINR, "商品编码
zitem type i,
end of itab_ZEINR.

*** 复查用表
DATA: BEGIN OF ITAB_MARA OCCURS 0 ,
MANDT TYPE MARA-MANDT, "客户端
MATNR TYPE MARA-MATNR, "物料号
MTART TYPE MTART,
END OF ITAB_MARA.

DATA: begin of ITAB_MARAW OCCURS 0,
ZEAN13 TYPE DZEINR, "EAN13
MATNR TYPE MATNR, "SKU
J_3AKORD1 TYPE J_3AKORD1, "尺码
LAEDA TYPE ERSDA, "日期 (提交日期)
ERSDA TYPE ERSDA, "日期
MTART TYPE MTART,
ZCF TYPE DZEINR, "(22) TYPE C,
end of ITAB_MARAW.


DATA: BEGIN OF ITAB_ZMEAN13 OCCURS 0,
ZEINR TYPE DZEINR, "商品编码
ZEAN13 TYPE DZEINR,
ERSDA TYPE ERSDA. "日期 (历史创建日期)
** INCLUDE STRUCTURE ZMEAN13 .
* ZEINR TYPE DZEINR, "商品编码
* ZEAN13 TYPE DZEINR,
* LAEDA TYPE ERSDA. "日期 (历史提交日期)

DATA: END OF ITAB_ZMEAN13.

DATA: BEGIN OF ITAB_S OCCURS 0,
MTART TYPE MTART,
ZEINR TYPE DZEINR, "商品编码
ZEAN13 TYPE DZEINR, "EAN13
MATNR TYPE MATNR, "SKU
J_3AKORD1 TYPE J_3AKORD1, "尺码
ERSDA TYPE ERSDA. "日期 (历史创建日期)
DATA: END OF ITAB_S.

DATA: BEGIN OF ITAB_BAR OCCURS 0,
ZEINR(22) TYPE C.
DATA: END OF ITAB_BAR.
***新导入物料组合商品编码
DATA: BEGIN OF ITAB_BARS OCCURS 0,
ZEINR(22) TYPE C.
DATA: END OF ITAB_BARS.

*****
DATA: begin of itabCF OCCURS 0,
ZEAN13 TYPE DZEINR, "EAN13
MATNR TYPE MATNR, "SKU
J_3AKORD1 TYPE J_3AKORD1, "尺码

LAEDA TYPE ERSDA, "日期 (提交日期)
ERSDA TYPE ERSDA, "日期历史
ZEINR TYPE DZEINR, "商品编码
MTART TYPE MTART,
ZCF TYPE DZEINR, "(22) TYPE C,
end of itabCF.
***复查

DATA: bdcdata LIKE bdcdata OCCURS 0 WITH HEADER L

INE.

DATA : BEGIN OF I_BDCDATA OCCURS 0,
PROGRAM LIKE BDCDATA-PROGRAM,
DYNPRO LIKE BDCDATA-DYNPRO,
DYNBEGIN LIKE BDCDATA-DYNBEGIN,
FNAM LIKE BDCDATA-FNAM,
FVAL LIKE BDCDATA-FVAL,
END OF I_BDCDATA.

DATA: RETURN LIKE TABLE OF BDCMSGCOLL WITH HEADER LINE.


DATA: begin of itab13 OCCURS 0.
include structure itab.
DATA: end of itab13.
** 屏幕定义
selection-screen begin of block bk1 with frame title text01.
selection-screen skip 1 . .
PARAMETERS: p_file LIKE RLGRAP-FILENAME.
selection-screen skip 1.
selection-screen end of block bk1.
selection-screen begin of block bk2 with frame title text02.
*selection-screen skip 1.
parameters p8 radiobutton group T1 default 'X'.
parameters p88 radiobutton group T1. "default 'X'.
parameters p1 radiobutton group T1. "default 'X'.

parameters p2 radiobutton group T1.
parameters p3 radiobutton group T1.
parameters p4 radiobutton group T1.
parameters p5 radiobutton group T1.
*parameters p6 radiobutton group T1.
parameters p7 radiobutton group T1.

selection-screen end of block bk2.
*selection-screen skip 1.
selection-screen comment /2(20) text10.
selection-screen uline /2(83).
selection-screen comment /2(83) text11.
*selection-screen uline /2(83).
*selection-screen uline /2(83).
selection-screen skip 1.
selection-screen comment /2(20) text14.
selection-screen uline /2(83).
selection-screen comment /2(83) text12.
*selection-screen uline /2(83).
selection-screen comment /2(83) text13.
**
INITIALIZATION.
text01 = '条件选项'.
text02 = '附加选项'.
* p_file = '导入文件路径和文件名(.TXT)'.
text10 = '上载文本格式如下:'.
text11 = 'EAN13码 款号(SKU) 型号 物料类型 提交日期'.
text14 = '注意事项:'.
text12 = '导入前,请先查有无重复信息,确保物料对应EAN13码同先前的对应码无重复!!!如有重复信息将不被导入系统!!!'.
text13 = '导入EAN13码前,请选择"各复查"选项进行复核!!!'.
** 权限检查
authority-check object 'V_VBAK_VKO'
* id 'VKORG' field P_VKORG
id 'ACTVT' field '03'.
IF SY-SUBRC NE 0.
message e000 with '根限不够,请找殷大爷!'.
leave list-processing.
ENDIF.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
PERFORM GET_FILENAME.
** 程式主体
START-OF-SELECTION.
IF P_FILE NE SPACE.
CALL FUNCTION 'WS_QUERY'
EXPORTING
FILENAME = P_FILE
QUERY = 'FE' "file exists
IMPORTING
RETURN = L_ANSWER.
IF L_ANSWER <> '1'.
MESSAGE S000 WITH '指定文件不存在,请检查!'.
LEAVE LIST-PROCESSING.
ENDIF.
ENDIF.

LEN = STRLEN( P_FILE ).
LEN = LEN - 4.
IF LEN > 3.
IF P_FILE+LEN(4) <> '.TXT' AND P_FILE+LEN(4) <> '.txt'.
IF P_FILE+L

EN(1) = '.'.
MESSAGE '本地文件的后缀显示,这个文件不是TXT文件!' TYPE 'I'.
ELSE.
CONCATENATE P_FILE '.TXT' INTO P_FILE.
ENDIF.
ENDIF.
ELSE.
CLEAR P_FILE.
ENDIF.
CLEAR LEN.

CALL FUNCTION 'WS_UPLOAD'
EXPORTING
FILENAME = p_file
FILETYPE = 'DAT'
DAT_D_FORMAT = 'YYYY.MM.DD'
* IMPORTING
* FILELENGTH = FLEN
TABLES
DATA_TAB = itab
EXCEPTIONS
CONVERSION_ERROR = 1
FILE_OPEN_ERROR = 2
FILE_READ_ERROR = 3
INVALID_TYPE = 4
NO_BATCH = 5
UNKNOWN_ERROR = 6
INVALID_TABLE_WIDTH = 7
GUI_REFUSE_FILETRANSFER = 8
CUSTOMER_ERROR = 9
NO_AUTHORITY = 10
OTHERS = 11.
IF itab[] is initial.
message s000 with '导入文件是空文件,请检查!'.
ENDIF.

CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
PERCENTAGE = 0
TEXT = '读入文件进行中,请稍等......'.
* IF P1 = 'X'. "复查
***取系统内存在的对应表
SELECT ZEAN13~ZEAN13 ZEAN13~MATNR ZEAN13~J_3AKORD1 ZEAN13~MTART ZEAN13~ERSDA
INTO CORRESPONDING FIELDS OF TABLE ITAB_S
FROM ZEAN13.

LOOP AT ITAB_S WHERE MTART <> 'ZFT5'.
CONCATENATE ITAB_S-MATNR '-' ITAB_S-J_3AKORD1 INTO ITAB_BAR-ZEINR.
APPEND ITAB_BAR.
MOVE-CORRESPONDING ITAB_S TO ITAB_ZMEAN13.
ITAB_ZMEAN13-ZEINR = ITAB_BAR-ZEINR.
APPEND ITAB_ZMEAN13.
ENDLOOP.

LOOP AT ITAB_S WHERE MTART = 'ZFT5'.
CONCATENATE ITAB_S-MATNR ITAB_S-J_3AKORD1 INTO ITAB_BAR-ZEINR. "'-'
APPEND ITAB_BAR.
MOVE-CORRESPONDING ITAB_S TO ITAB_ZMEAN13.
ITAB_ZMEAN13-ZEINR = ITAB_BAR-ZEINR.
APPEND ITAB_ZMEAN13.
ENDLOOP.


****对应表
***新导临时表数据
LOOP AT ITAB where MTART <> 'ZFT5'.
CONCATENATE ITAB-MATNR '-' ITAB-J_3AKORD1 INTO ITAB_BARS-ZEINR.
APPEND ITAB_BARS.
* MOVE-CORRESPONDING ITAB_S TO ITAB.
ITAB-ZEINR = ITAB_BARS-ZEINR.
ITAB-ERSDA = SY-DATUM.
ITAB-zitem = '1'.

* *** SUNFNEG 2008-10-17 新加大写转换
TRANSLATE ITAB-MATNR TO UPPER CASE.
TRANSLATE ITAB-MTART TO UPPER CASE.
TRANSLATE ITAB-ZEINR TO UPPER CASE.
TRANSLATE ITAB-J_3AKORD1 TO UPPER CASE.
**删除字符串中所有的空格
CONDENSE ITAB-MATNR NO-GAPS.
CONDENSE ITAB-MTART NO-GAPS.
CONDENSE ITAB-ZEINR NO-GAPS.
CONDENSE ITAB-J_3AKORD1 NO-GAPS.

MODIFY ITAB.
ENDLOOP.


LOOP AT ITAB where MTART = 'ZFT5'.
CONCATENATE ITAB-MATNR ITAB-J_3AKORD1 INTO ITAB_BARS-ZEINR. "'-'
APPEND ITAB_BARS.
* MOVE-CORRESPONDING ITAB_S TO ITAB.
ITAB-ZEINR = ITAB_BARS-ZEINR.
ITAB-ERSDA = SY-DATUM.
ITAB-zitem = '1'.

** *** SUNFNEG 2008-10-17 新加大写转换
TRANSLATE

ITAB-MATNR TO UPPER CASE.
TRANSLATE ITAB-MTART TO UPPER CASE.
TRANSLATE ITAB-ZEINR TO UPPER CASE.
TRANSLATE ITAB-J_3AKORD1 TO UPPER CASE.


**删除字符串中所有的空格
CONDENSE ITAB-MATNR NO-GAPS.
CONDENSE ITAB-MTART NO-GAPS.
CONDENSE ITAB-ZEINR NO-GAPS.
CONDENSE ITAB-J_3AKORD1 NO-GAPS.

MODIFY ITAB.
ENDLOOP.

loop at ITAB.
ITAB-ZEAN13S = STRLEN( ITAB-ZEAN13 ).
ITAB-ZEINRS = STRLEN( ITAB-ZEINR ).
MODIFY ITAB.
endloop.

IF P8 = 'X'. "复查

* loop at ITAB.
* ITAB-ZEAN13S = STRLEN( ITAB-ZEAN13 ).
* ITAB-ZEINRS = STRLEN( ITAB-ZEINR ).
* MODIFY ITAB.
* endloop.


SORT ITAB BY J_3AKORD1.
perform alv_output_ITAB.


ELSEif P88 = 'X'. "复查

ITAB13[] = ITAB[].

DELETE ITAB13 WHERE ZEAN13S = '13'.

SORT ITAB13 BY J_3AKORD1.

IF ITAB13[] IS initial.
SKIP 3.
WRITE: 48 '本项检查通过!'. SKIP 3.

ELSEif ITAB13[] IS NOT initial.
perform alv_output_ITAB13.
ENDIF.
ELSEif P1 = 'X'. "复查
clear ITAB_ZEAN13.
loop at ITAB.
move-corresponding ITAB to ITAB_ZEAN13.
collect ITAB_ZEAN13.
endloop.

DELETE itab_ZEAN13 WHERE zitem = '1'.

IF itab_ZEAN13[] IS initial.
SKIP 3.
WRITE: 48 '本项检查通过!'. SKIP 3.

ELSEif itab_ZEAN13[] IS NOT initial.

perform alv_output_ZEAN13.
ENDIF.


ELSEif P7 = 'X'. "复查

SORT ITAB BY ZEAN13.

IF ITAB-ZEAN13S <> '13'.
message e000 with 'EAN13码有不是13位的记录,系统终止!请复查后重新导入!'.
leave list-processing.
ENDIF.

loop at ITAB.
ZZMTART-ZMTART = ITAB-MTART.
ZZMTART-LAEDA = SY-DATUM.
APPEND ZZMTART.
ENDLOOP.
DELETE ZZMTART WHERE ZMTART <> ''.
loop at ZZMTART
where ZMTART = ''.
ZMTART = '1'.
ENDLOOP.
IF ZMTART = '1'.
message e000 with '物料类有空记录,系统终止!请复查后重新导入!'.
leave list-processing.
ENDIF.


loop at ITAB.
ZZMATNR-ZMATNR = ITAB-MATNR.
ZZMATNR-LAEDA = SY-DATUM.
APPEND ZZMATNR.
ENDLOOP.
DELETE ZZMATNR WHERE ZMATNR <> ''.
loop at ZZMATNR
where ZMATNR = ''.
ZMATNR = '1'.
ENDLOOP.
IF ZMATNR = '1'.
message e000 with 'SKU值有空记录,系统终止!请复查后重新导入!'.
leave list-processing.
ENDIF.


loop at ITAB.
ZZJ_3AKORD1-ZJ_3AKORD1 = ITAB-J_3AKORD1.
ZZJ_3AKORD1-LAEDA = SY-DATUM.
ZZJ_3AKORD1-ZMTART = ITAB-MTART.
APPEND ZZJ_3AKORD1.
ENDLOOP.
DELETE ZZJ_3AKORD1 WHERE ZJ_3AKORD1 <> ''.
DELETE ZZJ_3AKORD1 WHERE ZMTART = 'ZFT5'.

loop at ZZJ_3AKORD1
where ZJ_3AKORD1 = ''.
ZJ_3AKORD1 = '1'. "ZZJ_3AKORD1-ZJ_3AKORD1.
ENDLOOP.
IF ZJ_3AKORD1 = '1'.

" ZZJ_3AKORD1-LAEDA = ' ' AND ZZJ_3AKORD1-
message e000 with '尺码值有空记录,系统终止!请复查后重新导入!'.
leave list-processing.
ENDIF.


loop at ITAB.
ZZLAEDA-ZLAEDA = ITAB-LAEDA.
ZZLAEDA-LAEDA = SY-DATUM.
APPEND ZZLAEDA.
ENDLOOP.
DELETE ZZLAEDA WHERE ZLAEDA <> ''.
loop at ZZLAEDA
where ZLAEDA = ''.
ZZLAEDA = '1'. "ZZJ_3AKORD1-ZJ_3AKORD1.
ENDLOOP.
IF ZLAEDA = '1'.
message e000 with '提交日期有空记录,系统终止!请复查后重新导入!'.
leave list-processing.
ENDIF.

loop at ITAB.
loop at ITAB_ZMEAN13
where ZEINR = ITAB-ZEINR.
ZZZEAN13-ZEAN13 = ITAB_ZMEAN13-ZEAN13.
ZZZEAN13-LAEDA = SY-DATUM.
APPEND ZZZEAN13.
ENDLOOP.
ENDLOOP.
IF ZZZEAN13[] IS NOT initial.
message e000 with 'EAN13码同系统内有重复记录,系统终止!请复查后重新导入!'.
leave list-processing.
ENDIF.


loop at ITAB.
loop at ITAB_ZMEAN13
where ZEINR = ITAB-ZEINR.
ZZEINR-ZEINR = ITAB_ZMEAN13-ZEINR.
ZZEINR-LAEDA = SY-DATUM.
APPEND ZZEINR.
ENDLOOP.
ENDLOOP.
IF ZZEINR[] IS NOT initial.
message e000 with '商品编码同系统里重复,系统终止!请复查后重新导入!'.
leave list-processing.
ENDIF.

SELECT MARA~MANDT MARA~MATNR MARA~MTART
INTO CORRESPONDING FIELDS OF TABLE ITAB_MARA
FROM MARA .
clear ITAB_MARAW.

loop at ITAB.
move-corresponding ITAB to ITAB_MARAW.
collect ITAB_MARAW.
endloop.

LOOP AT ITAB_MARA.
loop at ITAB_MARAW
where MATNR = ITAB_MARA-MATNR.
ITAB_MARAW-ZCF = ITAB_MARA-MATNR.
MODIFY ITAB_MARAW.
ENDLOOP.
ENDLOOP.
DELETE ITAB_MARAW WHERE ZCF <> ''.
DELETE ITAB_MARAW WHERE MATNR = ''.
IF itab_MARAW[] IS NOT initial.
message e000 with '商品SKU有不在R3系统的数据,系统终止!请复查后重新导入!'.
leave list-processing.
ENDIF.



LOOP AT ITAB.
move-corresponding ITAB to ZEAN13. "YTEST1. "ZEAN13.
* collect ZEAN13.
modify ZEAN13 from ZEAN13.
ENDLOOP.
COMMIT WORK.

SKIP 3.

WRITE: /44 ' 导 入 数 据 成 功!'.

ELSEif P2 = 'X'. "复查

clear ITAB_ZEINR.
loop at ITAB.
move-corresponding ITAB to ITAB_ZEINR.
collect ITAB_ZEINR.
endloop.

DELETE itab_ZEINR WHERE zitem = '1'.

DELETE itab_ZEINR WHERE ZEINR = '-'.

IF itab_ZEINR[] IS initial.
SKIP 3.
WRITE: 48 '本项检查通过!'. SKIP 3.

ELSEif itab_ZEINR[] IS NOT initial.

perform alv_output_ZEINR.
ENDIF.



ELSEif P3 = 'X'. "复查
****检验
SELECT MARA~MANDT MARA~MATNR MARA~MTART
INTO CORRESPONDING FIELDS O

F TABLE ITAB_MARA
FROM MARA .

clear ITAB_MARAW.
loop at ITAB.
move-corresponding ITAB to ITAB_MARAW.
collect ITAB_MARAW.
endloop.

LOOP AT ITAB_MARA.
loop at ITAB_MARAW
where MATNR = ITAB_MARA-MATNR.
ITAB_MARAW-ZCF = ITAB_MARA-MATNR.
MODIFY ITAB_MARAW.
ENDLOOP.
ENDLOOP.

DELETE ITAB_MARAW WHERE ZCF <> ''.
DELETE ITAB_MARAW WHERE MATNR = ''.

IF ITAB_MARAW[] IS initial.
SKIP 3.
WRITE: 48 '本项检查通过!'. SKIP 3.

ELSEif ITAB_MARAW[] IS NOT initial.

perform alv_output_MARAW.
ENDIF.

ELSEif P4 = 'X'. "复查
clear ITABCF.
loop at ITAB.
move-corresponding ITAB to ITABCF.
collect ITABCF.
endloop.

loop at ITAB_ZMEAN13.
loop at itabCF
where ZEINR = ITAB_ZMEAN13-ZEINR.
itabCF-ZCF = ITAB_ZMEAN13-ZEAN13.
itabCF-ERSDA = ITAB_ZMEAN13-ERSDA.

MODIFY itabCF.
ENDLOOP.
ENDLOOP.

DELETE itabCF WHERE ZCF = ' '.

* loop at itabCF.
** WHERE ZCF = itabCF-ZEAN13.
* DELETE itabCF WHERE ZCF = itabCF-ZEAN13. "
* ENDLOOP.

IF itabCF[] IS initial.
SKIP 3.
WRITE: 48 '本项检查通过!'. SKIP 3.

ELSEif itabCF[] IS NOT initial.
perform alv_output.
ENDIF.

clear ITABCF.
ELSEif P5 = 'X'. "复查
clear ITABCF.
loop at ITAB.
move-corresponding ITAB to ITABCF.
collect ITABCF.
endloop.

loop at ITAB_ZMEAN13.
loop at itabCF
where ZEAN13 = ITAB_ZMEAN13-ZEAN13.
itabCF-ZCF = ITAB_ZMEAN13-ZEINR.
itabCF-ERSDA = ITAB_ZMEAN13-ERSDA.
MODIFY itabCF .
ENDLOOP.
ENDLOOP.
DELETE itabCF WHERE ZCF = ' '.
*
* loop at itabCF.
* DELETE itabCF WHERE ZCF = itabCF-ZEINR.
* ENDLOOP.

IF itabCF[] IS initial.
SKIP 3.
WRITE: 48 '本项检查通过!'. SKIP 3.

ELSEif itabCF[] IS NOT initial.
perform alv_output.
ENDIF.
clear ITABCF.
* ELSEif P6 = 'X'.
*
*
* CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
* EXPORTING
* PERCENTAGE = 0
* TEXT = '批量导入进行中,请稍等......'.
**&---------------------------------------------------------------------*
**& Form BAPI_PROC
**&---------------------------------------------------------------------*
** text
***----------------------------------------------------------------------*
**FORM BAPI_PROC .
* REFRESH I_BDCDATA. CLEAR I_BDCDATA.
* REFRESH RETURN . CLEAR RETURN.
*
* SORT ITAB BY ZEAN13.
* LOOP AT ITAB.
* W_LOOP = SY-TABIX.
* ZFLAG = ''.
* AT NEW ZEAN13.
* READ TABLE ITAB INDEX W_LOOP.
* PERFORM i_bdcdata_add USING:
*
* '1' 'SAPLSETB' '0230',
* '' 'BDC_OKCODE' '=ANLE',
* '' 'DATABROWSE-TABLENAME'

'ZEAN13',
*
* '1' '/1BCDWB/DBZEAN13' '0101',
* '' 'BDC_OKCODE' '=SAVE',
* '' 'ZEAN13-ZEAN13' ITAB-ZEAN13,
* '' 'ZEAN13-MATNR' ITAB-MATNR,
* '' 'ZEAN13-J_3AKORD1' ITAB-J_3AKORD1,
*
* '' 'ZEAN13-LAEDA' ITAB-LAEDA,
*
* '' 'ZEAN13-ERSDA' ITAB-ERSDA,
* '' 'ZEAN13-MTART' ITAB-MTART,
*
*
* '1' '/1BCDWB/DBZEAN13' '0101',
* '' 'BDC_OKCODE' '/EEND',
*
* '1' 'SAPLSETB' '0230',
* '' 'BDC_OKCODE' '/EEND'.
*
* CALL TRANSACTION 'SE16' USING I_BDCDATA MODE 'E' "E A
* UPDATE 'S' MESSAGES INTO RETURN.
*
* COMMIT WORK AND WAIT.
* REFRESH I_BDCDATA. CLEAR I_BDCDATA.
* REFRESH RETURN . CLEAR RETURN.
* ENDAT.
* SY-TABIX = W_LOOP.
* ENDLOOP.
**ENDFORM. " BAPI_PROC
ENDIF.
*&---------------------------------------------------------------------*
*& Form i_bdcdata_add
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
form i_bdcdata_add using tmp_flag
tmp_var1
tmp_var2.

CLEAR I_BDCDATA.
IF TMP_FLAG = '1'.
I_BDCDATA-PROGRAM = TMP_VAR1.
I_BDCDATA-DYNPRO = TMP_VAR2.
I_BDCDATA-DYNBEGIN = 'X'.
ELSE.
I_BDCDATA-FNAM = TMP_VAR1.
I_BDCDATA-FVAL = TMP_VAR2.
ENDIF.
APPEND I_BDCDATA.

endform. " i_bdcdata_add
*&---------------------------------------------------------------------*
*& Form GET_FILENAME
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM GET_FILENAME .
CALL FUNCTION 'WS_FILENAME_GET'
EXPORTING
DEF_FILENAME = P_FILE
DEF_PATH = 'C:\'
MASK = ',*.TXT,*.txt.'
MODE = 'O'
IMPORTING
FILENAME = P_FILE
EXCEPTIONS
INV_WINSYS = 1
NO_BATCH = 2
SELECTION_CANCEL = 3
SELECTION_ERROR = 4
OTHERS = 5.

ENDFORM. " GET_FILENAME

***复查商品编码重复信息
*&---------------------------------------------------------------------*
*& Form alv_output
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM alv_output .
type-pools: slis.
data: t_fieldcat type slis_t_fieldcat_alv with header line.
data: gs_layout type slis_layout_alv.
gs_layout-colwidth_optimize = 'X'.
gs_layout-zebra = 'X'.


t_fieldcat-fieldname = 'MTART'

.
t_fieldcat-seltext_l = '物料类型'. append t_fieldcat.

t_fieldcat-fieldname = 'ZEAN13'.
t_fieldcat-seltext_l = 'EAN13'. append t_fieldcat.

t_fieldcat-fieldname = 'MATNR'.
t_fieldcat-seltext_l = 'SKU'. append t_fieldcat.

t_fieldcat-fieldname = 'J_3AKORD1'.
t_fieldcat-seltext_l = '尺码'. append t_fieldcat.

t_fieldcat-fieldname = 'LAEDA'.
t_fieldcat-seltext_l = '提交日期'. append t_fieldcat.

t_fieldcat-fieldname = 'ERSDA'.
t_fieldcat-seltext_l = '历史创建日期'. append t_fieldcat.

t_fieldcat-fieldname = 'ZEINR'.
t_fieldcat-seltext_l = '商品编码'. append t_fieldcat.

t_fieldcat-fieldname = 'ZCF'.
t_fieldcat-seltext_l = '历史存在信息'. append t_fieldcat.

call function 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = 'ZMMEAN13B'
i_grid_title = '动向体育物料EAN13对应码复查'
it_fieldcat = t_fieldcat[]
is_layout = gs_layout
i_save = 'A'
TABLES
t_outtab = itabCF
EXCEPTIONS
program_error = 1
others = 2.
ENDFORM. " alv_output
***复查商品编码重复信息
*&---------------------------------------------------------------------*
*& Form alv_output_ZEAN13
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM alv_output_ZEAN13 .
type-pools: slis.
data: t_fieldcat type slis_t_fieldcat_alv with header line.
data: gs_layout type slis_layout_alv.
gs_layout-colwidth_optimize = 'X'.
gs_layout-zebra = 'X'.

t_fieldcat-fieldname = 'ZEAN13'.
t_fieldcat-seltext_l = 'EAN13'. append t_fieldcat.

t_fieldcat-fieldname = 'ZITEM'.
t_fieldcat-seltext_l = '重复信息次数'. append t_fieldcat.

call function 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = 'ZMMEAN13B'
i_grid_title = '动向体育物料EAN13对应码复查'
it_fieldcat = t_fieldcat[]
is_layout = gs_layout
i_save = 'A'
TABLES
t_outtab = itab_ZEAN13
EXCEPTIONS
program_error = 1
others = 2.
ENDFORM. " alv_output_ZEINR

***复查商品编码重复信息
*&---------------------------------------------------------------------*
*& Form alv_output_ZEINR
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM alv_output_ZEINR .
type-pools: slis.
data: t_fieldcat type slis_t_fieldcat_alv with header line.
data: gs_layout type slis_layout_alv.
gs_layout-colwidth_optimize = 'X'.
gs_layout-zebra = 'X'.

t_fieldcat-fieldname = 'ZEIN

R'.
t_fieldcat-seltext_l = '商品编码'. append t_fieldcat.


t_fieldcat-fieldname = 'ZITEM'.
t_fieldcat-seltext_l = '重复信息次数'. append t_fieldcat.

call function 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = 'ZMMEAN13B'
i_grid_title = '动向体育物料EAN13对应码复查'
it_fieldcat = t_fieldcat[]
is_layout = gs_layout
i_save = 'A'
TABLES
t_outtab = itab_ZEINR
EXCEPTIONS
program_error = 1
others = 2.
ENDFORM. " alv_output

*&---------------------------------------------------------------------*
*& Form alv_output_MARAW
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM alv_output_MARAW.
type-pools: slis.
data: t_fieldcat type slis_t_fieldcat_alv with header line.
data: gs_layout type slis_layout_alv.
gs_layout-colwidth_optimize = 'X'.
gs_layout-zebra = 'X'.

t_fieldcat-fieldname = 'MTART'.
t_fieldcat-seltext_l = '物料类型'. append t_fieldcat.

t_fieldcat-fieldname = 'ZEAN13'.
t_fieldcat-seltext_l = 'EAN13'. append t_fieldcat.

t_fieldcat-fieldname = 'MATNR'.
t_fieldcat-seltext_l = 'SKU'. append t_fieldcat.

t_fieldcat-fieldname = 'J_3AKORD1'.
t_fieldcat-seltext_l = '尺码'. append t_fieldcat.


t_fieldcat-fieldname = 'LAEDA'.
t_fieldcat-seltext_l = '提交日期'. append t_fieldcat.

* t_fieldcat-fieldname = 'ERSDA'.
* t_fieldcat-seltext_l = '日期'. append t_fieldcat.

* t_fieldcat-fieldname = 'ZCF'.
* t_fieldcat-seltext_l = 'R3存在的SKU信息'. append t_fieldcat.

call function 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = 'ZMMEAN13B'
i_grid_title = '动向体育物料EAN13对应码R3不存在的SKU信息'
it_fieldcat = t_fieldcat[]
is_layout = gs_layout
i_save = 'A'
TABLES
t_outtab = itab_MARAW
EXCEPTIONS
program_error = 1
others = 2.
ENDFORM. " alv_outputMARAW



*&---------------------------------------------------------------------*
*& Form alv_output_itab
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM alv_output_itab .
type-pools: slis.
data: t_fieldcat type slis_t_fieldcat_alv with header line.
data: gs_layout type slis_layout_alv.
gs_layout-colwidth_optimize = 'X'.
gs_layout-zebra = 'X'.


t_fieldcat-fieldname = 'MTART'.
t_fieldcat-seltext_l = '物料类型'. append t_fieldcat.

t_fieldcat-fieldname = 'ZEAN13'.
t_fieldcat-seltext_l = 'EAN13'.

append t_fieldcat.

t_fieldcat-fieldname = 'MATNR'.
t_fieldcat-seltext_l = 'SKU'. append t_fieldcat.

t_fieldcat-fieldname = 'J_3AKORD1'.
t_fieldcat-seltext_l = '尺码'. append t_fieldcat.


t_fieldcat-fieldname = 'LAEDA'.
t_fieldcat-seltext_l = '提交日期'. append t_fieldcat.

* t_fieldcat-fieldname = 'ERSDA'.
* t_fieldcat-seltext_l = '日期'. append t_fieldcat.
*
t_fieldcat-fieldname = 'ZEINR'.
t_fieldcat-seltext_l = '商品编码'. append t_fieldcat.

t_fieldcat-fieldname = 'ZEAN13S'.
t_fieldcat-seltext_l = 'EAN13码位数'. append t_fieldcat.

t_fieldcat-fieldname = 'ZEINRS'.
t_fieldcat-seltext_l = '商品编码位数'. append t_fieldcat.


call function 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = 'ZMMEAN13B'
i_grid_title = '新导文件自身格式有无问题复查'
it_fieldcat = t_fieldcat[]
is_layout = gs_layout
i_save = 'A'
TABLES
t_outtab = itab
EXCEPTIONS
program_error = 1
others = 2.
ENDFORM. " alv_output_itab


*&---------------------------------------------------------------------*
*& Form alv_output_itab
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM alv_output_itab13 .
type-pools: slis.
data: t_fieldcat type slis_t_fieldcat_alv with header line.
data: gs_layout type slis_layout_alv.
gs_layout-colwidth_optimize = 'X'.
gs_layout-zebra = 'X'.


t_fieldcat-fieldname = 'MTART'.
t_fieldcat-seltext_l = '物料类型'. append t_fieldcat.

t_fieldcat-fieldname = 'ZEAN13'.
t_fieldcat-seltext_l = 'EAN13'. append t_fieldcat.

t_fieldcat-fieldname = 'MATNR'.
t_fieldcat-seltext_l = 'SKU'. append t_fieldcat.

t_fieldcat-fieldname = 'J_3AKORD1'.
t_fieldcat-seltext_l = '尺码'. append t_fieldcat.


t_fieldcat-fieldname = 'LAEDA'.
t_fieldcat-seltext_l = '提交日期'. append t_fieldcat.

* t_fieldcat-fieldname = 'ERSDA'.
* t_fieldcat-seltext_l = '日期'. append t_fieldcat.
*
t_fieldcat-fieldname = 'ZEINR'.
t_fieldcat-seltext_l = '商品编码'. append t_fieldcat.

t_fieldcat-fieldname = 'ZEAN13S'.
t_fieldcat-seltext_l = 'EAN13码位数'. append t_fieldcat.

t_fieldcat-fieldname = 'ZEINRS'.
t_fieldcat-seltext_l = '商品编码位数'. append t_fieldcat.


call function 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = 'ZMMEAN13B'
i_grid_title = '新导文件自身格式有无问题复查'
it_fieldcat = t_fieldcat[]
is_layout = gs_layout
i_save = 'A'
TABLES
t_outtab = i

tab13
EXCEPTIONS
program_error = 1
others = 2.
ENDFORM. " alv_output_itab

相关文档
最新文档