YHLMR007 服装PDA验货差异报表
***********************************************************************
* Title : YHLMR007 *
* Application : LM *
* Subject : 服装PDA验货差异报表 *
* Requested by : Yang_zhenglian (YH_LM) *
* Execution : Online when required *
* Ref no: : ERPS0543 *
* Author : AD_CAIXIANG *
* Req Date : 20121006 *
***********************************************************************
* 服装PDA验货差异报表 *
***********************************************************************
* 设计主要逻辑与原理说明 *
***********************************************************************
*1.取数:按用户输入的交货凭证、验货日期查询自定义表获取交货单号 *
* (有重复取单一值),不包含删除记录 *
* 通过查询条件,先在自建表YTPDAIN中取得交货单号,然后通过交货单号, *
* 去标准表里取得商品,然后回到自建表中找数量。 *
*2.输出: 进行alv显示查询的那段时间里的交货单号对应的商品验货差异信息 *
***********************************************************************
* MODIFICATIONS (latest entry at the top) *
* ------------------------------------------------------------------- *
* REL DATE NAME (COMPANY) DESCRIPTION TASK-NO *
* --- ---- ---- --------- ----------- ------- *
* ERPS0558 *
***********************************************************************
REPORT YHLMR007 NO STANDARD PAGE HEADING
MESSAGE-ID YH_LM01
LINE-SIZE
LINE-COUNT . *----------------------------------------------------------------------
* TYPE-POOLS
*----------------------------------------------------------------------
TYPE-POOLS: SLIS. "ALV *----------------------------------------------------------------------
* TABLES/Structure
*----------------------------------------------------------------------
TABLES: LIKP,
LIPS,
T001W,
MARA,
YTPDAIN. *----------------------------------------------------------------------
* DAGTA /Internal table
*----------------------------------------------------------------------
DATA: BEGIN OF GT_DATA OCCURS ,
VBELN LIKE LIKP-VBELN,
KUNNR LIKE LIKP-KUNNR,
ARKTX LIKE LIPS-ARKTX,
LFIMG LIKE LIPS-LFIMG,
MATNR LIKE LIPS-MATNR,
MEINS LIKE LIPS-MEINS,
NAME1 LIKE T001W-NAME1,
EAN11 LIKE MARA-EAN11,
DATUM LIKE YTPDAIN-DATUM,
MENGE LIKE YTPDAIN-MENGE,
CHSHU LIKE YTPDAIN-MENGE, END OF GT_DATA.
DATA: WA_DATA LIKE GT_DATA. DATA:GT_DATA1 LIKE TABLE OF GT_DATA. *----------------------------------------------------------------------
* Data parameters for alv report use
*----------------------------------------------------------------------
DATA: G_PROGRAM TYPE SY-REPID,
GW_LAYOUT TYPE SLIS_LAYOUT_ALV,
GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
GT_EVENT TYPE SLIS_T_EVENT,
WA_EVENT TYPE SLIS_ALV_EVENT. DATA: G_GRID TYPE REF TO CL_GUI_ALV_GRID.
DATA L_LEN TYPE I. *======================================================================
* SELECTION-SCREEN
*======================================================================
SELECTION-SCREEN BEGIN OF BLOCK BLK1 WITH FRAME TITLE TEXT-. *PARAMETERS: p_werks LIKE mseg-werks OBLIGATORY MEMORY ID wrk. ”PARAMETER 单值选项框定义
*SELECTION-SCREEN PUSHBUTTON pb1 UNIT_NOT_FOUND USER-COMMAND pb1. “PUSHBUTTON 选项框定义
*SELECTION-SCREEN COMMENT 04(20) TEXT-001. ”选择界面文本定义 SELECT-OPTIONS: S_VBELN FOR YTPDAIN-VBELN,
S_DATUM FOR YTPDAIN-DATUM OBLIGATORY,
S_WERKS FOR LIPS-WERKS OBLIGATORY. *& ADD 增加的条件选项,显示差异不为零的条目:
SELECTION-SCREEN SKIP .
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: P_GB TYPE C AS CHECKBOX DEFAULT 'X' . "界面勾选框定义
SELECTION-SCREEN END OF LINE. SELECTION-SCREEN END OF BLOCK BLK1. *----------------------------------------------------------------------
* INITIALIZATION
*----------------------------------------------------------------------
INITIALIZATION. * 初始化数据
PERFORM FRM_INITIAL. *----------------------------------------------------------------------
* AT SELECTION-SCREEN
*----------------------------------------------------------------------
AT SELECTION-SCREEN. * 权限检查部分
PERFORM FRM_CHECK_AUTHOR. *======================================================================
* MAIN PROGRAM
*======================================================================
* START-OF-SELECTION
*----------------------------------------------------------------------
START-OF-SELECTION.
*&获取数据
PERFORM FRM_GET_DATA.
*&ALV展示输出
PERFORM FRM_ALV_OUTPUT. *----------------------------------------------------------------------
* END-OF-SELECTION
*---------------------------------------------------------------------- *&---------------------------------------------------------------------*
*& Form FRM_INITIAL
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM FRM_INITIAL. IF S_DATUM[] IS INITIAL.
S_DATUM-LOW = SY-DATUM .
S_DATUM-HIGH = SY-DATUM .
APPEND S_DATUM.
ENDIF. ENDFORM. " FRM_INITIAL *&---------------------------------------------------------------------*
*& Form FRM_CHECK_AUTHOR
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM FRM_CHECK_AUTHOR.
DATA: BEGIN OF LT_T001W OCCURS ,
WERKS LIKE T001W-WERKS,
END OF LT_T001W. SELECT WERKS INTO TABLE LT_T001W
FROM T001W
WHERE WERKS IN S_WERKS.
IF SY-SUBRC NE .
MESSAGE I011 WITH '没有任何地点!'.
ENDIF. LOOP AT LT_T001W.
AUTHORITY-CHECK OBJECT 'M_MATE_WRK'
ID 'WERKS' FIELD LT_T001W-WERKS "S_WERKS-LOW
ID 'ACTVT' FIELD ''.
IF SY-SUBRC NE .
MESSAGE I004 WITH '没有地点' LT_T001W-WERKS '权限!'.
STOP.
ENDIF.
ENDLOOP. ENDFORM. " FRM_CHECK_AUTHOR *&---------------------------------------------------------------------*
*& Form frm_get_data
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM FRM_GET_DATA . DATA: BEGIN OF LT_VBELN OCCURS ,
VBELN LIKE YTPDAIN-VBELN,
END OF LT_VBELN. DATA: BEGIN OF LT_MATNR OCCURS ,
VBELN LIKE LIKP-VBELN,
KUNNR LIKE LIKP-KUNNR,
LFART LIKE LIKP-LFART,
ARKTX LIKE LIPS-ARKTX,
LFIMG LIKE LIPS-LFIMG,
MATNR LIKE LIPS-MATNR,
MEINS LIKE LIPS-MEINS,
VGBEL LIKE LIPS-VGBEL,
VGPOS LIKE LIPS-VGPOS,
NAME1 LIKE T001W-NAME1,
EAN11 LIKE MARA-EAN11,
DATUM LIKE YTPDAIN-DATUM,
MENGE LIKE YTPDAIN-MENGE,
END OF LT_MATNR. DATA: BEGIN OF LT_EKPO OCCURS ,
EBELN LIKE EKPO-EBELN,
EBELP LIKE EKPO-EBELP,
LGORT LIKE EKPO-LGORT,
RESLO LIKE EKPO-RESLO,
END OF LT_EKPO. DATA: BEGIN OF LT_T001W OCCURS ,
WERKS LIKE T001W-WERKS,
NAME1 LIKE T001W-NAME1,
END OF LT_T001W. DATA: BEGIN OF LT_MARA OCCURS ,
MATNR LIKE MARA-MATNR,
EAN11 LIKE MARA-EAN11,
END OF LT_MARA.
DATA: LT_TAB LIKE TABLE OF LT_MATNR WITH HEADER LINE. *&G1.通过输入的时间条件在服装PDA提交表中找到交货单号:
SELECT DISTINCT VBELN
INTO TABLE LT_VBELN
FROM YTPDAIN
WHERE DATUM IN S_DATUM
AND VBELN IN S_VBELN. IF SY-SUBRC NE .
MESSAGE I011 WITH '没有查询到符合条件的数据!'.
STOP.
ENDIF. *&G2.通过找到的交货单号在交货单数据表中取得商品信息:
SELECT A~KUNNR A~VBELN
A~LFART
B~MATNR B~MEINS
B~ARKTX B~LFIMG
B~VGBEL B~VGPOS
INTO CORRESPONDING FIELDS OF TABLE LT_MATNR
FROM LIKP AS A
JOIN LIPS AS B
ON A~VBELN EQ B~VBELN
FOR ALL ENTRIES IN LT_VBELN
WHERE A~VBELN EQ LT_VBELN-VBELN
AND B~WERKS IN S_WERKS. **&G3. 交货数量汇总:
*LOOP AT LT_MATNR.
* COLLECT LT_MATNR.
*ENDLOOP. LT_TAB[] = LT_MATNR[].
SORT LT_MATNR BY VGBEL VGPOS.
DELETE ADJACENT DUPLICATES FROM LT_MATNR COMPARING VGBEL VGPOS.
*&取送达方值
SELECT EBELN EBELP
LGORT RESLO
INTO TABLE LT_EKPO
FROM EKPO
FOR ALL ENTRIES IN LT_TAB
WHERE EBELN EQ LT_TAB-VGBEL
AND EBELP EQ LT_TAB-VGPOS+().
SORT LT_EKPO BY EBELN EBELP.
REFRESH LT_TAB. *&取送达方地点名称
SELECT WERKS NAME1
INTO TABLE LT_T001W
FROM T001W.
* FOR ALL ENTRIES IN LT_TAB.
* WHERE WERKS EQ LT_TAB-KUNNR.
SORT LT_T001W BY WERKS. LT_TAB[] = LT_MATNR[].
SORT LT_TAB BY MATNR.
DELETE ADJACENT DUPLICATES FROM LT_TAB COMPARING MATNR.
*&取商品条码
SELECT MATNR EAN11
INTO TABLE LT_MARA
FROM MARA
FOR ALL ENTRIES IN LT_TAB
WHERE MATNR EQ LT_TAB-MATNR.
SORT LT_MARA BY MATNR.
REFRESH LT_TAB. *&G4.循环内表,对单位送达方信息处理
LOOP AT LT_MATNR.
*&G4.1 转换单位:
CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT'
EXPORTING
INPUT = LT_MATNR-MEINS
LANGUAGE = ''
IMPORTING
* LONG_TEXT =
OUTPUT = LT_MATNR-MEINS
* SHORT_TEXT =
EXCEPTIONS
UNIT_NOT_FOUND =
OTHERS = . *&G4.2 如果移库配送 LIKP- LFART=‘NL’ 则 送达方的值取EKPO-LGORT
IF LT_MATNR-LFART = 'NL'.
READ TABLE LT_EKPO WITH KEY EBELN = LT_MATNR-VGBEL
EBELP = LT_MATNR-VGPOS+()
BINARY SEARCH.
IF SY-SUBRC EQ .
LT_MATNR-KUNNR = LT_EKPO-LGORT.
ENDIF. ELSE.
*&G4.3 如果移库返配LIKP- LFART=‘NLR’则送达方的值取EKPO-RESLO
IF LT_MATNR-LFART = 'NLR'.
READ TABLE LT_EKPO WITH KEY EBELN = LT_MATNR-VGBEL
EBELP = LT_MATNR-VGPOS+()
BINARY SEARCH.
IF SY-SUBRC EQ .
LT_MATNR-KUNNR = LT_EKPO-RESLO.
ENDIF.
ENDIF.
ENDIF. *&G4.4. 取得送达方名称:(KNA1)
READ TABLE LT_T001W WITH KEY WERKS = LT_MATNR-KUNNR BINARY SEARCH.
IF SY-SUBRC EQ .
LT_MATNR-NAME1 = LT_T001W-NAME1.
ENDIF. *&G4.5. 取的商品条码:
READ TABLE LT_MARA WITH KEY MATNR = LT_MATNR-MATNR BINARY SEARCH.
IF SY-SUBRC EQ .
LT_MATNR-EAN11 = LT_MARA-EAN11.
ENDIF. *&G4.6 赋值已扫描数量:
LT_MATNR-MENGE = . MODIFY LT_MATNR. ENDLOOP. *&G5. 内表LT_MATNR 的值给入GT_DATA.
LOOP AT LT_MATNR.
MOVE-CORRESPONDING LT_MATNR TO GT_DATA.
APPEND GT_DATA.
ENDLOOP. *&G6. 最终显示的内表循环,差异数量处理
"BREAK AD_CAIXIANG.
LOOP AT GT_DATA. SELECT SINGLE SUM( MENGE )
INTO GT_DATA-MENGE
FROM YTPDAIN
WHERE VBELN EQ GT_DATA-VBELN
AND MATNR EQ GT_DATA-MATNR
AND DATUM IN S_DATUM
AND DELMK NE 'X'
GROUP BY VBELN MATNR. *&G6.1 计算差异数量:
GT_DATA-CHSHU = GT_DATA-LFIMG - GT_DATA-MENGE. MODIFY GT_DATA.
ENDLOOP. *& ADD G6.1.1 只显示差异数量按钮,取得数据,当此条件时,则筛选出差异数量不为零的值:
IF P_GB IS NOT INITIAL.
DELETE GT_DATA WHERE CHSHU = ''.
ENDIF. *&G7. 获取条目数
DESCRIBE TABLE GT_DATA LINES L_LEN. *&G8. 判断是否取得数据
IF L_LEN EQ .
MESSAGE I001 WITH '没有查询到数据!'.
STOP.
ENDIF.
*&G9. 内表排序:
SORT GT_DATA BY VBELN MATNR. ENDFORM. " frm_get_data *&---------------------------------------------------------------------*
*& Form frm_alv_output
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM FRM_ALV_OUTPUT .
DATA: L_NN TYPE I. DEFINE ADD_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = &.
WA_FIELDCAT-SELTEXT_L = &.
WA_FIELDCAT-KEY = &.
WA_FIELDCAT-COL_POS = L_NN + .
WA_FIELDCAT-JUST = &.
WA_FIELDCAT-OUTPUTLEN = &.
WA_FIELDCAT-FIX_COLUMN = &.
WA_FIELDCAT-NO_ZERO = &.
WA_FIELDCAT-EDIT = &.
APPEND WA_FIELDCAT TO GT_FIELDCAT.
END-OF-DEFINITION. CLEAR GT_FIELDCAT.
REFRESH GT_FIELDCAT. ADD_FIELDCAT 'VBELN' '交货单号' '' '' '' '' '' ''.
ADD_FIELDCAT 'KUNNR' '送达方' '' '' '' '' '' ''.
ADD_FIELDCAT 'NAME1' '送达方名称' '' '' '' '' '' ''.
ADD_FIELDCAT 'EAN11' '商品条码' '' '' '' '' '' ''.
ADD_FIELDCAT 'MATNR' '商品编码' '' '' '' '' 'X' ''.
ADD_FIELDCAT 'ARKTX' '商品名称' '' '' '' '' '' ''.
ADD_FIELDCAT 'LFIMG' '交货数量' '' '' '' '' '' ''.
ADD_FIELDCAT 'MENGE' '已扫描数量' '' '' '' '' '' ''.
ADD_FIELDCAT 'CHSHU' '差异数量' '' '' '' '' '' ''.
ADD_FIELDCAT 'MEINS' '单位' '' '' '' '' '' ''. GW_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
* gw_layout-box_fieldname = 'SEL'. *& 调用函数显示ALV列表
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = G_PROGRAM
I_SAVE = 'A'
IS_LAYOUT = GW_LAYOUT
IT_FIELDCAT = GT_FIELDCAT
IT_EVENTS = GT_EVENT
TABLES
T_OUTTAB = GT_DATA
EXCEPTIONS
PROGRAM_ERROR =
OTHERS = . ENDFORM. " frm_alv_output
YHLMR007 服装PDA验货差异报表的更多相关文章
- 服装PDA软件|服装销售开单PDA管理软件|服装PDA管理系统|服装PDA点货系统|服装移动POS系统
浩瀚软件为了更好服务于广大批发客户群体进行销售.盘点.调拨配送等.深圳浩瀚软件推出基于无线网络版移动PDA销售开单系统.该系统支持无线3G.WIFI.GPRS系统,用户可以手持PDA在无线网络连接状态 ...
- 仓库、超市、服装、食品、批发零售手持打印PDA开单器-现场无线开单扫描 无线传输电脑
深圳浩瀚技是一家主要从事手持数据终端硬件.软件研究.销售服务为一体的高新企业公司.公司主要销售进销存等无线开单系统.工业级手持PDA,安卓数据采集器,RFID阅读器等设备.我们秉承“诚信.敏捷.繁荣” ...
- 一个神奇的POS -扫描 现场销售 开单打印票据 安卓物联网POS机 手持开单终端机 省时省力 高效准确!!
5寸高清彩屏,高端大气上档次,小巧轻便,独特的包胶防护,坚固耐用,外形精细,美观!与软件灵活对接,解决企业手工盘点,手工输单,库存管理等困难,提高准确率,提高工作效率!! 应用领域:适用于仓库.超市. ...
- Oracle采购模块中的多组织访问控制(MOAC)
1. 概述 从Release12开始启用多组织访问控制功能,将允许用户在一个单独的职责中访问一个或者多个经营单位(OU-Operation Units)的数据.这个功能允许用户在一个可共享服务的 ...
- 服装盘点机PDA在服装行业颜色尺码仓库条码高效管理应用
服装行业的商品管理的特点是需要管理颜色和尺码 具体逻辑就是: 什么商品,什么颜色,什么尺码,入库多少个? 什么商品,什么颜色,什么尺码,出库多少个? 什么商品,什么颜色,什么尺码,还有库存多少个? 如 ...
- SAP MM MB5L 报表里的差异金额如何调整?
SAP MM MB5L 报表里的差异金额如何调整? 5月3号,收到财务顾问提出的一个问题,说是MB5L报表里有差异. 如下查询条件, 报表结果里显示有差异, 经查,导致这个差异的原因之一是,一些物料批 ...
- PDA移动POS终端系统,实现专柜或店铺的收货、零售、盘点通过无线网络直接连接总部中央数据库,实现高效安全的移动供应链管理
利用PDA移动终端,实现专柜或店铺的收货.零售.盘点等一体化操作,通过无线网络直接连接总部中央数据库,实现高效安全的移动供应链管理. · PDA订货会应用解决方案利用PDA或电脑系统,在订货会现场直接 ...
- 大家都在用PDA条码扫描枪管理企业仓库 PDA无线数据采集程序
PDA数据采集器又称之为手持终端,这些都是用于扫描货物条码统计数据用的,PDA扫描枪有效提高企业仓库管理,在仓库管理中引入条码技术,对仓库的到货检验.入库.出库.调拨.移库移位.库存盘点等各个作业环节 ...
- PDA移动POS开单扫描打票收银系统-带来零售批发 新的技术 新的手段!!
手持POS终端高清彩屏,清晰.美观.大方,适用于仓库.超市.服装.食品.批发零售.手机电脑等企业管理.可与管理软件灵活对接.1:员工记不住价格,产品名称,只要有PDA扫描,价格,库存,直接开销售单,打 ...
随机推荐
- 单调队列 hdu2823
Sliding Window Time Limit: 12000MS Memory Limit: 65536K Total Submissions: 48608 Accepted: 14047 ...
- 【java】关于时间
import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; /** * Created b ...
- CentOS----使用yum命令出现“could not retrieve mirrorlist http://mirrorlist.centos.org ***” - ybq155”
无聊安装了个mini版的32位的CentOS 6.5,进来想安装个东西,yum install emacs 提示什么 Loaded plugins: fastestmirror, refresh-pa ...
- 如何让一个DIV浮动在另一个DIV上面
直接上DEMO了 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3 ...
- 学习mongo系列(十)MongoDB 备份(mongodump)与恢复(mongorerstore) 监控(mongostat mongotop)
一.备份 在Mongodb中我们使用mongodump命令来备份MongoDB数据.该命令可以导出所有数据到指定目录中. mongodump命令可以通过参数指定导出的数据量级转存的服务器. mongo ...
- JQuery_高级选择器
在很多特殊的元素上,比如父子关系的元素,兄弟关系的元素,特殊属性的元素等等. 在早期 CSS 的使用上,由于 IE6 等低版本浏览器不支持,所以这些高级选择器的使用也不具备普遍性,但随着 jQuery ...
- Docker中的镜像分层技术详解
早在集装箱没有出现的时候,码头上还有许多搬运的工人在搬运货物,在集装箱出现以后,码头上看到更多的不是工人,而且集装箱的搬运模式更加单一,更加高效,还有其他的好处,比如:货物多打包在集装箱里面,可以防止 ...
- 手机号 和 email 的正则匹配
手机号 /^1[3|4|5|8] \d{9}$/ email /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/
- wpf中ToolTip实现
定义样式: <UserControl.Resources> <Style TargetType="DataGridCell" BasedOn="{Sta ...
- (35)odoo中widget
widget大全: many2many_tagsone2many_listselectionprogressbarselectionstatusbarhandlemonetarymail_thread ...