YHLMR009 交货单查询
***********************************************************************
* Title : YHLMR009 *
* Application : LM *
* Subject : 交货清单查询 *
* Requested by : Yang_Teng Fei (YH_LM) *
* Execution : Online when required *
* Ref no: : ERPS0115 *
* Author : AD_CAIXIANG *
* Req Date : 20120722 *
***********************************************************************
* 交货清单查询程序 *
***********************************************************************
* 设计主要逻辑与原理说明 *
***********************************************************************
*1.取数:根据用户的输入单据编号、交货单类型、计划发货日期、实际发货日期*
* 配入机构、商品编码等输入条件单一或者组合进行交货订单的查询。 *
* 涉及到的表 LIKP T001W KNA1 LIPS MARA MAKT MBEW MEAN LIPSD ZMADQ *
*2.输出: 进行alv输出交货清单信息 *
***********************************************************************
* MODIFICATIONS (latest entry at the top) *
* ------------------------------------------------------------------- *
* REL DATE NAME (COMPANY) DESCRIPTION TASK-NO *
* --- ---- ---- --------- ----------- ------- *
* 01 20121206 LM 交货清单查询修改 by AD_CAIXIANG ECDK906448 *
* 02 20121210 LM 交货清单查询修改 by AD_CAIXIANG ECDK906618 *
* 03 20121210 LN 程序规范化 by AD_CAIXIANG ECDK906622 *
* 04 20130111 LM 加直接显示明细按钮 BY AD_CAIXIANG ECDK907564 *
* 05 20130126 LM 交货单类型增添 BY AD_CAIXIANG ECDK907564 *
* 06 20130222 LM 价格取数修改 移动类型671,673 ECDK908753.*
* 价格取数改为 EKPO-KZWI1/EKPO-MENGE *
* 07 20130402 LM 程序优化 BY AD_CAIXIANG ECDK910228 *
* 08 20130516 LM 移出库位作为查询条件出现问题的修改 *
* BY AD_CAIXIANG ECDK911439 *
* 09 20130603 LM 价格取数问题调整 BY AD_CAIXIANG ECDK912048 *
* 10 20130703 LM 取税率优化 BY AD_CAIXIANG ECDK912680 *
* 11 20130726 LM 取数部分优化, *
* 当S_WBSTK 为空的时候,把VBUK的取数单独出来, *
* 对于EKPO和EKBE进行分批取数 ECDK913630 *
***********************************************************************
REPORT YHLMR009 NO STANDARD PAGE HEADING
LINE-SIZE
LINE-COUNT ()
MESSAGE-ID YH_LM1. *----------------------------------------------------------------------
* PUB-INCLDUE
*----------------------------------------------------------------------
INCLUDE <ICON>.
*INCLUDE YHLM009_TOP. *----------------------------------------------------------------------
* TYPE-POOLS
*----------------------------------------------------------------------
TYPE-POOLS: SLIS. *--------------------------------------------------------------------*
* 宏的调用方式:
*--------------------------------------------------------------------* *----------------------------------------------------------------------
* TABLES/Structure
*----------------------------------------------------------------------
TABLES: LIKP, "SD凭证:交货抬头数据
LIPS, "SD凭证 :交货:项目数据
KNA1, "客户主文件的一般数据
MBEW, "商品评估
MEAN, "商品的条码
LIPSD,"交货项目的动态部分
VBUK, "销售凭证:抬头状态和管理数据
VBFA, "销售凭证流
ADRP, "个人(办公地址管理)
EKPO. "采购凭证项目
TABLES: MARA, MARC, MAKT, T001W. *----------------------------------------------------------------------
* Internal table
*----------------------------------------------------------------------
DATA: BEGIN OF GT_ITAB OCCURS ,
VBELN LIKE LIKP-VBELN,
POSNR LIKE LIPS-POSNR,
LFART LIKE LIKP-LFART,
WERKS LIKE LIPS-WERKS,
NAME1 LIKE T001W-NAME1,"配出机构名称
KUNNR LIKE LIKP-KUNNR,
NAME2 LIKE KNA1-NAME1,
YYCARNO LIKE LIKP-YYCARNO,
TDDAT LIKE LIKP-TDDAT,
BLDAT LIKE LIKP-BLDAT,
ANZPK LIKE LIKP-ANZPK,
RESLO LIKE EKPO-RESLO,
LGOBE1 LIKE T001L-LGOBE,"移出
LGORT LIKE LIPS-LGORT,
LGOBE2 LIKE T001L-LGOBE,"移入
MENGE TYPE EKPO-MENGE, "订货数量
LFIMG TYPE LIPS-LFIMG, "实发数量
SHFA TYPE P DECIMALS , "实发件数
VGBEL LIKE LIPS-VGBEL,
VGPOS LIKE LIPS-VGPOS,
VGTYP LIKE LIPS-VGTYP,
MATNR LIKE LIPS-MATNR,
EAN11 LIKE MEAN-EAN11,
WADAT_IST LIKE LIKP-WADAT_IST,
MAKTX LIKE MAKT-MAKTX,
MEINS LIKE LIPS-MEINS,
VRKME LIKE LIPS-VRKME,
GROES LIKE MARA-GROES,
YUMREZ1 LIKE YTMADQ-YUMREZ1,
BRGEW TYPE LIPS-BRGEW, "毛重
NTGEW TYPE LIPS-NTGEW, "净重
JINZH TYPE LIPS-NTGEW, "皮重
KOSTK TYPE VBUK-KOSTK, "交货状态
ERNAM LIKE LIKP-ERNAM,
VTEXT TYPE TVLKT-VTEXT,
DINH TYPE P DECIMALS ,"订货件数
WBSTK TYPE VBUK-WBSTK, "状态
NAME_TEXT LIKE ADRP-NAME_FIRST,
LIFEX TYPE LIKP-LIFEX,
LIFNR TYPE EORD-LIFNR,
NAME3 TYPE LFA1-NAME1, JIAGE TYPE EKPO-KZWI5,
JINE TYPE EKPO-KZWI5, KZWI5 TYPE EKPO-KZWI5,
DMBTR TYPE MSEG-DMBTR,
ERZET TYPE LIKP-ERZET,
BWART LIKE LIPS-BWART,
KBETR TYPE KBETR,
*&->START ADD BY AD_CAIXIANG ON 20130514.
YLBID1 LIKE YTLBDY-YLBID2,
YDLNAM LIKE YTLBCJ-YLBNAME,
*&-END ADD
TIMMM() TYPE C,
FLAG() TYPE C, END OF GT_ITAB. DATA: BEGIN OF GT_DATA OCCURS ,
VBELN LIKE LIKP-VBELN,
LFART LIKE LIKP-LFART,
VTEXT TYPE TVLKT-VTEXT,
WERKS LIKE LIPS-WERKS,
NAME1 LIKE T001W-NAME1,
KUNNR LIKE LIKP-KUNNR,
NAME2 LIKE KNA1-NAME1,
RESLO LIKE EKPO-RESLO, "移出
LGOBE1 LIKE T001L-LGOBE,
LGORT LIKE EKPO-LGORT, "移入
LGOBE2 LIKE T001L-LGOBE,
YYCARNO LIKE LIKP-YYCARNO,
TDDAT LIKE LIKP-TDDAT,
BLDAT LIKE LIKP-BLDAT,
WADAT_IST LIKE LIKP-WADAT_IST,
MENGE TYPE EKPO-MENGE, "订货数量
LFIMG TYPE LIPS-LFIMG, "实发数量
JINZH TYPE LIPS-NTGEW, "皮重
ERNAM LIKE LIKP-ERNAM,
NAME_TEXT LIKE ADRP-NAME_FIRST,
KOSTK TYPE VBUK-KOSTK, "交货状态
WBSTK TYPE VBUK-WBSTK, "状态
LIFEX TYPE LIKP-LIFEX,
*&START CHANGED BY AD_CAIXIANG ON 20121210 ECDK906622
* LIFNR TYPE EORD-LIFNR,
* NAME3 TYPE LFA1-NAME1,
*&END CHANGED BY AD_CAIXIANG ON 20121210.
ERZET TYPE LIPS-ERZET,
JINE TYPE EKPO-KZWI5,
* LNN TYPE SY-TABIX, END OF GT_DATA.
*----------------------------------------------------------------------
* Variants
*----------------------------------------------------------------------
DATA: G_LEN TYPE I.
DATA: WA LIKE GT_ITAB.
DATA: G_LIN TYPE I.
DATA: G_TABIX LIKE SY-TABIX.
RANGES:R_LFART FOR LIKP-LFART. *---------------------------------------------------------------------*
* Data parameters for alv report use
*---------------------------------------------------------------------*
DATA: G_PROGRAM TYPE SY-REPID,
GS_LAYOUT TYPE SLIS_LAYOUT_ALV,
GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
GS_FIELDCAT LIKE LINE OF GT_FIELDCAT,
GT_FIELDCAT2 TYPE SLIS_T_FIELDCAT_ALV,
GS_FIELDCAT2 LIKE LINE OF GT_FIELDCAT,
WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
IT_EVENTS TYPE SLIS_T_EVENT WITH HEADER LINE,
GT_EVENT TYPE SLIS_T_EVENT,
WA_EVENT TYPE SLIS_ALV_EVENT.
DATA: GT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.
DATA: GC_FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME
VALUE 'ALV_TOP_OF_PAGE'.
DATA: G_GRID TYPE REF TO CL_GUI_ALV_GRID. *--------------------------------------------------------------------*
* D宏的定义
*--------------------------------------------------------------------*
DEFINE MAR_ADD_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = &.
WA_FIELDCAT-SELTEXT_L = &.
WA_FIELDCAT-COL_POS = &.
WA_FIELDCAT-JUST = &.
WA_FIELDCAT-OUTPUTLEN = &.
WA_FIELDCAT-FIX_COLUMN = &.
WA_FIELDCAT-EDIT = &.
WA_FIELDCAT-NO_ZERO = &.
APPEND WA_FIELDCAT TO GT_FIELDCAT.
END-OF-DEFINITION. *--------------------------------------------------------------------*
* D宏的定义2
*--------------------------------------------------------------------*
DEFINE MAR_ADD_FIELDCAT2.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = &.
WA_FIELDCAT-SELTEXT_L = &.
WA_FIELDCAT-COL_POS = &.
WA_FIELDCAT-JUST = &.
WA_FIELDCAT-OUTPUTLEN = &.
WA_FIELDCAT-FIX_COLUMN = &.
WA_FIELDCAT-EDIT = &.
WA_FIELDCAT-NO_ZERO = &.
APPEND WA_FIELDCAT TO GT_FIELDCAT2.
END-OF-DEFINITION. *======================================================================
* SELECTION-SCREEN
*======================================================================
SELECTION-SCREEN BEGIN OF BLOCK BLK1 WITH FRAME TITLE TEXT-. PARAMETERS: P_WERKS LIKE MARC-WERKS MEMORY ID WRK OBLIGATORY.
SELECT-OPTIONS: S_VBELN FOR LIKP-VBELN,
S_LFART FOR LIKP-LFART. "交货类型 "S_TDDAT FOR LIKP-TDDAT OBLIGATORY, "运输计划日期
"s_ERZET FOR LIKP-ERZET default '000000' to sy-uzeit no-extension OBLIGATORY, PARAMETERS: P_BLDATL LIKE LIKP-BLDAT DEFAULT SY-DATUM OBLIGATORY,
P_ERZETL LIKE LIKP-ERZET DEFAULT '',
P_BLDATH LIKE LIKP-BLDAT DEFAULT SY-DATUM OBLIGATORY,
P_ERZETH LIKE LIKP-ERZET DEFAULT SY-UZEIT. SELECT-OPTIONS: "S_BLDAT FOR LIKP-BLDAT OBLIGATORY,"凭证日期
S_WADAT FOR LIKP-WADAT_IST, "实际发货日期
S_WBSTK FOR VBUK-WBSTK,
S_KUNNR FOR LIKP-KUNNR,
S_MATNR FOR LIPS-MATNR ,
S_VGBEL FOR LIPS-VGBEL,
S_YYCAR FOR LIKP-YYCARNO MATCHCODE OBJECT YH_YTCARNUM,
S_RESLO FOR EKPO-RESLO, "移出库位
S_LGORT FOR EKPO-LGORT, "移入库位
S_ERNAM FOR LIKP-ERNAM MATCHCODE OBJECT USER_COMP. SELECTION-SCREEN SKIP. PARAMETERS: P_DETAIL TYPE C AS CHECKBOX DEFAULT ''. 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. *&S1: 取得数据:
PERFORM FRM_GET_DATA. *BREAK AD_CAIXIANG.
*&--->START ADD BY AD_CAIXIANG ON 20130111 ECDK907564.
IF P_DETAIL IS NOT INITIAL. PERFORM FRM_DETAIL_DISP . ELSE.
*----------------------------------------------------------------------
* END-OF-SELECTION
*----------------------------------------------------------------------
*&S3: 输出数据:
PERFORM FRM_ALV_OUTPUT. ENDIF. *&---<END ADD BY AD_CAIXIANG ON 20130111. *&---------------------------------------------------------------------*
*& Form FRM_INITIAL
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM FRM_INITIAL. *&设定日期默认:
* IF S_TDDAT[] IS INITIAL.
* S_TDDAT-LOW = SY-DATUM.
* S_TDDAT-HIGH = SY-DATUM + 5.
* APPEND S_TDDAT.
* ENDIF.
* IF S_BLDAT[] IS INITIAL.
* S_BLDAT-LOW = SY-DATUM - 5.
* S_BLDAT-HIGH = SY-DATUM.
* APPEND S_BLDAT.
* ENDIF. ENDFORM. " FRM_INITIAL *&---------------------------------------------------------------------*
*& Form FRM_CHECK_AUTHOR
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM FRM_CHECK_AUTHOR. * IF S_BLDAT-LOW IS INITIAL OR S_BLDAT-HIGH IS INITIAL.
* MESSAGE I011 WITH '凭证日期应上限都输入!'.
* STOP.
* ENDIF.
* IF s_ERZET-LOW IS NOT INITIAL AND S_ERZET-HIGH IS INITIAL.
* MESSAGE I011 WITH '时间应上下限都输入!'.
* STOP.
* ELSE.
* IF s_ERZET-LOW IS INITIAL AND s_ERZET-HIGH IS NOT INITIAL.
* MESSAGE I011 WITH '时间应上下限都输入!'.
* STOP.
* endif.
* ENDIF.
* IF s_ERZET-LOW IS INITIAL OR S_ERZET-HIGH IS INITIAL.
* MESSAGE I011 WITH '时间应上下限都输入!'.
* STOP.
* ENDIF. *&权限检查:
AUTHORITY-CHECK OBJECT 'V_LIKP_VST'
ID 'VSTEL' FIELD P_WERKS
ID 'ACTVT' FIELD ''.
IF SY-SUBRC NE .
MESSAGE I002 WITH P_WERKS .
STOP.
ENDIF. ENDFORM. " FRM_CHECK_AUTHOR *&---------------------------------------------------------------------*
*& Form frm_get_data
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM FRM_GET_DATA .
DATA: L_BZIRK LIKE T001W-BZIRK,
L_NAME_FIRST LIKE ADRP-NAME_FIRST,
L_WERKS LIKE T001W-WERKS,
L_NAME_LAST LIKE ADRP-NAME_LAST,
L_NAME_TEXT LIKE ADRP-NAME_FIRST.
DATA: LT_ITAB LIKE GT_ITAB OCCURS WITH HEADER LINE,
LT_WTAB LIKE GT_ITAB OCCURS WITH HEADER LINE. DATA: BEGIN OF LT_MADQ OCCURS ,
MATNR LIKE MARA-MATNR,
WERKS LIKE MARC-WERKS,
YUMREZ1 LIKE YTMADQ-YUMREZ1,
END OF LT_MADQ.
DATA: BEGIN OF LT_MEAN OCCURS ,
MATNR LIKE MARA-MATNR,
EAN11 LIKE MEAN-EAN11,
END OF LT_MEAN.
* DATA: BEGIN OF LT_MARA OCCURS 0,
* MATNR LIKE MARA-MATNR,
* GROES LIKE MARA-GROES,
* MATKL LIKE MARA-MATKL,
* END OF LT_MARA.
DATA: BEGIN OF LT_T001W OCCURS ,
WERKS LIKE T001W-WERKS,
NAME1 LIKE T001W-NAME1,
KUNNR LIKE T001W-KUNNR,
END OF LT_T001W. DATA: BEGIN OF LT_T001L OCCURS ,
WERKS LIKE MARD-WERKS,
LGORT LIKE MARD-LGORT,
LGOBE LIKE T001L-LGOBE,
END OF LT_T001L.
DATA: BEGIN OF LT_TVLKT OCCURS ,
LFART LIKE TVLKT-LFART,
VTEXT LIKE TVLKT-VTEXT,
END OF LT_TVLKT . DATA: BEGIN OF LT_TAB OCCURS ,
VBELN LIKE LIKP-VBELN,
LFART LIKE LIKP-LFART,
VTEXT TYPE TVLKT-VTEXT,
WERKS LIKE LIPS-WERKS,
JINE TYPE EKPO-KZWI5,
END OF LT_TAB. DATA: G_TEXT TYPE KBETR,
C_TEXT() TYPE N.
DATA: G_MWSKZ LIKE EKPO-MWSKZ,
G_KZWI5 LIKE EKPO-KZWI5,
G_KZWI1 LIKE VBRP-KZWI1,
G_MENGE LIKE EKPO-MENGE,
G_DMBTR LIKE MSEG-DMBTR,
G_FKIMG LIKE VBRP-FKIMG.
DATA: L_MENGE TYPE EKPO-MENGE, "订货数量
L_LFIMG TYPE LIPS-LFIMG, "实发数量
L_JINZH TYPE LIPS-NTGEW. "皮重
DATA: L_TIMEL() TYPE C,
L_TIMEH() TYPE C. DATA:BEGIN OF LT_EORD OCCURS ,
WERKS LIKE EORD-WERKS,
MATNR LIKE EORD-MATNR,
LIFNR LIKE EORD-LIFNR,
END OF LT_EORD. * DATA: BEGIN OF LT_MARA2 OCCURS 0,
* MATNR LIKE MARA-MATNR,
* SATNR LIKE MARA-MATNR,
* END OF LT_MARA2.
DATA:BEGIN OF LT_LFA1 OCCURS ,
LIFNR LIKE LFA1-LIFNR,
NAME1 LIKE LFA1-NAME1,
END OF LT_LFA1.
DATA: BEGIN OF LT_KNA1 OCCURS ,
KUNNR LIKE KNA1-KUNNR,
NAME1 LIKE KNA1-NAME1,
END OF LT_KNA1.
DATA: BEGIN OF LT_NAME OCCURS ,
BNAME LIKE V_USR_NAME-BNAME,
NAME_TEXT LIKE V_USR_NAME-NAME_TEXT,
END OF LT_NAME . DATA:BEGIN OF LT_EKPO OCCURS ,
EBELN LIKE EKPO-EBELN,
EBELP LIKE EKPO-EBELP,
TXZ01 LIKE EKPO-TXZ01,
LGORT LIKE EKPO-LGORT,
RESLO LIKE EKPO-RESLO,
MWSKZ LIKE EKPO-MWSKZ,
MENGE LIKE EKPO-MENGE,
KZWI1 LIKE EKPO-KZWI1,
KZWI5 LIKE EKPO-KZWI5,
END OF LT_EKPO.
DATA:BEGIN OF LT_EKKO OCCURS ,
EBELN LIKE EKPO-EBELN,
EBELP LIKE EKPO-EBELP,
VBELN LIKE LIPS-VBELN,
END OF LT_EKKO.
DATA: LT_WEKO LIKE TABLE OF LT_EKKO WITH HEADER LINE. DATA:BEGIN OF LT_EKBE OCCURS ,
EBELN LIKE EKBE-EBELN,
EBELP LIKE EKBE-EBELP,
VBELN LIKE LIKP-VBELN,
DMBTR LIKE EKBE-DMBTR,
END OF LT_EKBE.
DATA: BEGIN OF LT_VBFA OCCURS ,
VBELV LIKE VBFA-VBELV,
POSNV LIKE VBFA-POSNV,
VBELN LIKE VBFA-VBELN,
POSNN LIKE VBFA-POSNN,
END OF LT_VBFA.
DATA: LT_TAB1 LIKE TABLE OF LT_VBFA WITH HEADER LINE. DATA: BEGIN OF LT_VBRP OCCURS ,
VBELN LIKE VBRP-VBELN,
POSNR LIKE VBRP-POSNR,
KZWI1 LIKE VBRP-KZWI1,
FKIMG LIKE VBRP-FKIMG,
END OF LT_VBRP.
DATA: BEGIN OF LT_VBAP OCCURS ,
VBELN LIKE VBAP-VBELN,
POSNR LIKE VBAP-POSNR,
KWMENG LIKE VBAP-KWMENG,
ARKTX LIKE VBAP-ARKTX,
END OF LT_VBAP.
DATA: LT_WVBAP LIKE TABLE OF LT_VBAP WITH HEADER LINE. DATA: BEGIN OF LT_VBUK OCCURS ,
VBELN LIKE VBUK-VBELN,
KOSTK LIKE VBUK-KOSTK,
WBSTK LIKE VBUK-WBSTK,
END OF LT_VBUK.
DATA: BEGIN OF LT_YTLBCJ OCCURS ,
YLBID LIKE YTLBCJ-YLBID,
YLBNAME LIKE YTLBCJ-YLBNAME,
END OF LT_YTLBCJ.
DATA: BEGIN OF LT_MARA3 OCCURS ,
MATNR LIKE MARA-MATNR,
ATTYP LIKE MARA-ATTYP,
SATNR LIKE MARA-SATNR,
GROES LIKE MARA-GROES,
MATKL LIKE MARA-MATKL,
LVORM LIKE MARA-LVORM,
END OF LT_MARA3.
DATA: BEGIN OF LT_A003 OCCURS ,
MWSKZ LIKE A003-MWSKZ,
KBETR LIKE KONP-KBETR,
END OF LT_A003.
DATA: LT_MARA LIKE TABLE OF LT_MARA3 WITH HEADER LINE,
LT_MARA2 LIKE TABLE OF LT_MARA3 WITH HEADER LINE.
RANGES:R_LFARTN FOR LIKP-LFART.
DATA: L_TIAN() TYPE N.
DATA: L_COUNT TYPE I.
DATA: L_LAST TYPE C.
DATA: L_NMAX TYPE I. SELECT SINGLE TBMAXSEL INTO L_NMAX FROM YTMMREPNUM
WHERE PROGNAME = SY-REPID AND ACTIVE = 'X'.
IF SY-SUBRC NE .
L_NMAX = .
ENDIF. *&->START CHANGE BY AD_CX ON 20130708 ECDK912680
L_TIAN = P_BLDATH - P_BLDATL.
IF L_TIAN GT .
MESSAGE S011 WITH '时间范围查询条件输入过大!请将时间段分开查询,谢谢!' DISPLAY LIKE 'E'.
STOP.
ENDIF.
*&->END CHANGE. *&S1.默认交货单移动类型:
PERFORM FRM_LFART. *&->START CHANGE BY AD_CX ON 20130725 ECDK913587.
*&S1.1先取出单据类型:
SELECT LFART VTEXT
INTO TABLE LT_TVLKT
FROM TVLKT
WHERE SPRAS EQ SY-LANGU
AND LFART IN S_LFART
AND LFART IN R_LFART.
SORT LT_TVLKT BY LFART. *&S1.2形成单据最终RANGE.
LOOP AT LT_TVLKT.
R_LFARTN() = 'IEQ'.
R_LFARTN-LOW = LT_TVLKT-LFART.
APPEND R_LFARTN.
ENDLOOP. IF S_WBSTK[] IS NOT INITIAL . *&S2.1:数据表LIPS LIKP VBUK关联取数
SELECT A~VBELN
A~ANZPK
A~ERNAM "创建对象人员的名称
A~KUNNR "配入机构
A~LFART "交货单类型(加描述)
A~TDDAT "计划发货日期
A~BLDAT "凭证日期
A~WADAT_IST"实际发货日期
A~YYCARNO
A~LIFEX "融通单号
A~ERZET B~BWART
B~POSNR "序号
B~WERKS "配出机构
B~VGBEL "参考凭证号
B~VGPOS "参考凭证项目
B~VGTYP
B~MATNR "商品编码
B~MEINS "单位
B~VRKME
B~LFIMG "实发数量
B~BRGEW "毛重
B~NTGEW "净重
B~LGORT C~KOSTK
C~WBSTK
INTO CORRESPONDING FIELDS OF TABLE GT_ITAB
FROM LIKP AS A
JOIN VBUK AS C
ON ( A~VBELN EQ C~VBELN )
JOIN LIPS AS B
ON ( A~VBELN EQ B~VBELN )
UP TO L_NMAX ROWS
*&start changed by robin 20130514 ECDK910228
*&性能优化:
WHERE A~BLDAT >= P_BLDATL
AND A~BLDAT <= P_BLDATH
AND A~LFART IN R_LFARTN
AND B~WERKS EQ P_WERKS
AND C~WBSTK IN S_WBSTK
AND A~VBELN IN S_VBELN
AND A~KUNNR IN S_KUNNR
AND A~YYCARNO IN S_YYCAR
AND A~WADAT_IST IN S_WADAT
AND A~ERNAM IN S_ERNAM
"AND B~WERKS EQ P_WERKS
AND B~MATNR IN S_MATNR
AND B~VGBEL IN S_VGBEL
*&->START ADD
AND B~LGORT IN S_LGORT.
*&->END ADD. **&end changed by robin 20130514. ELSE. *&S2.2:数据表LIPS LIKP 关联取数,将VBUK取数移出
*&->START CHANGE BY AD_CX ON 20130725 ECDK913587.
SELECT A~VBELN
A~ANZPK
A~ERNAM "创建对象人员的名称
A~KUNNR "配入机构
A~LFART "交货单类型(加描述)
A~TDDAT "计划发货日期
A~BLDAT "凭证日期
A~WADAT_IST"实际发货日期
A~YYCARNO
A~LIFEX "融通单号
A~ERZET B~BWART
B~POSNR "序号
B~WERKS "配出机构
B~VGBEL "参考凭证号
B~VGPOS "参考凭证项目
B~VGTYP
B~MATNR "商品编码
B~MEINS "单位
B~VRKME
B~LFIMG "实发数量
B~BRGEW "毛重
B~NTGEW "净重
B~LGORT
* C~KOSTK
* C~WBSTK
INTO CORRESPONDING FIELDS OF TABLE GT_ITAB
FROM LIKP AS A
* JOIN VBUK AS C
* ON ( A~VBELN EQ C~VBELN )
JOIN LIPS AS B
ON ( A~VBELN EQ B~VBELN )
UP TO L_NMAX ROWS
*&start changed by robin 20130514 ECDK910228
*&性能优化:
WHERE A~BLDAT >= P_BLDATL
AND A~BLDAT <= P_BLDATH
AND A~LFART IN R_LFARTN
AND B~WERKS EQ P_WERKS
AND A~VBELN IN S_VBELN
AND A~KUNNR IN S_KUNNR
AND A~YYCARNO IN S_YYCAR
AND A~WADAT_IST IN S_WADAT
AND A~ERNAM IN S_ERNAM
AND B~MATNR IN S_MATNR
AND B~VGBEL IN S_VGBEL
*&->START ADD
AND B~LGORT IN S_LGORT.
*&->END ADD. * AND C~WBSTK IN S_WBSTK.
*&->END CHANGE BY AD_CX. ENDIF. *&S2.3.内表排序
SORT GT_ITAB BY VBELN POSNR. *&S4.1当数量极大时提示:
* IF G_LEN GT 80000.
* MESSAGE E011 WITH '你查询的数据太多,请重新选择条件!'.
* STOP.
* ENDIF. *&S3.日期加时间点作为时间段查询数据
*&->START ADD BY AD_CAIXIANG ON 20121128. 增加按详细时间筛选数据逻辑:
*&判断时间范围内的数据
LOOP AT GT_ITAB .
CONCATENATE GT_ITAB-BLDAT GT_ITAB-ERZET INTO GT_ITAB-TIMMM. CONCATENATE P_BLDATL P_ERZETL INTO L_TIMEL.
CONCATENATE P_BLDATH P_ERZETH INTO L_TIMEH. IF GT_ITAB-TIMMM > L_TIMEH OR GT_ITAB-TIMMM < L_TIMEL.
GT_ITAB-FLAG = 'X'.
DELETE GT_ITAB.
CONTINUE.
ENDIF. CHECK GT_ITAB-VGBEL IS NOT INITIAL.
IF GT_ITAB-VGTYP = 'V'.
*&S3.1 形成采购订单数据中间表
LT_EKKO-EBELN = GT_ITAB-VGBEL.
LT_EKKO-EBELP = GT_ITAB-VGPOS.
LT_EKKO-VBELN = GT_ITAB-VBELN.
COLLECT LT_EKKO.
CLEAR LT_EKKO.
ELSE."销售凭证
LT_WVBAP-VBELN = GT_ITAB-VGBEL.
LT_WVBAP-POSNR = GT_ITAB-VGPOS.
COLLECT LT_WVBAP.
ENDIF. * MODIFY GT_ITAB TRANSPORTING FLAG.
ENDLOOP. *&S3.2 删除不满足条件的数据
DELETE GT_ITAB WHERE FLAG EQ 'X'.
*& END ADD BY AD_CAIXIANG ON 20121128. *&->START ADD BY AD_CX ON 20130727.
IF LINES( GT_ITAB ) = L_NMAX.
MESSAGE I014(YH_FI1) WITH '条目的最大数值限制为' L_NMAX ',' '请分批查询!'.
STOP.
ENDIF.
*&->END ADD. *&S4.检查是否取到数据:
DESCRIBE TABLE GT_ITAB LINES G_LEN.
IF G_LEN EQ .
MESSAGE I011 WITH '没有查询到符合条件的数据!'.
STOP.
ENDIF. *&S5.VBUK表取数:
*& 考虑用中间表:
LT_WTAB[] = GT_ITAB[].
* SORT LT_WTAB BY VBELN.
DELETE ADJACENT DUPLICATES FROM LT_WTAB COMPARING VBELN. IF S_WBSTK[] IS INITIAL .
LOOP AT LT_WTAB.
CLEAR L_LAST.
AT LAST.
L_LAST = 'X'.
ENDAT. APPEND LT_WTAB TO LT_ITAB.
ADD TO L_COUNT. IF L_COUNT = OR L_LAST = 'X'.
SELECT VBELN KOSTK WBSTK
APPENDING TABLE LT_VBUK
FROM VBUK
FOR ALL ENTRIES IN LT_ITAB
WHERE VBELN EQ LT_ITAB-VBELN. REFRESH LT_ITAB.
CLEAR L_COUNT.
ENDIF.
ENDLOOP.
SORT LT_VBUK BY VBELN.
ENDIF.
FREE LT_WTAB. *&S6.EKPO取数:
IF LT_EKKO[] IS NOT INITIAL.
LOOP AT LT_EKKO.
CLEAR L_LAST.
AT LAST.
L_LAST = 'X'.
ENDAT. APPEND LT_EKKO TO LT_WEKO. ADD TO L_COUNT.
IF L_COUNT = OR L_LAST = 'X'.
*&S6.1.通过凭证号关联到EKPO取数
SELECT EBELN EBELP
TXZ01 LGORT
RESLO MWSKZ
MENGE KZWI1
KZWI5
APPENDING TABLE LT_EKPO
FROM EKPO
FOR ALL ENTRIES IN LT_WEKO
WHERE EBELN = LT_WEKO-EBELN
AND EBELP = LT_WEKO-EBELP
AND LOEKZ EQ SPACE. *&S7.采购凭证历史表取数:
SELECT EBELN EBELP
VBELN_ST AS VBELN
DMBTR
APPENDING TABLE LT_EKBE
FROM EKBE
FOR ALL ENTRIES IN LT_WEKO
WHERE EBELN EQ LT_WEKO-EBELN
AND EBELP EQ LT_WEKO-EBELP
AND VGABE EQ ''
AND VBELN_ST EQ LT_WEKO-VBELN. REFRESH LT_WEKO.
CLEAR L_COUNT.
ENDIF.
ENDLOOP.
SORT LT_EKPO BY EBELN EBELP.
SORT LT_EKBE BY EBELN EBELP VBELN.
ENDIF.
FREE: LT_WEKO,LT_EKKO. *&—>START 以下备注:
**&S6.1.通过凭证号关联到EKPO取数
* SELECT EBELN EBELP
* TXZ01 LGORT
* RESLO MWSKZ
* MENGE KZWI1
* KZWI5
*
* INTO TABLE LT_EKPO
* FROM EKPO
* FOR ALL ENTRIES IN LT_EKKO
* WHERE EBELN = LT_EKKO-EBELN
* AND EBELP = LT_EKKO-EBELP
* AND LOEKZ EQ SPACE.
**&->START ADD BY AD_CAIXIANG ON 20130516 ECDK911439
** AND RESLO IN S_RESLO
** AND LGORT IN S_LGORT.
**&->EDN ADD 20130516.
* SORT LT_EKPO BY EBELN EBELP. *&S6.2.关联到EKBE取数
* * BREAK AD_CAIXIANG.
* SELECT SINGLE DMBTR
* FROM EKBE
* INTO G_DMBTR
* WHERE EBELN EQ WA-VGBEL
* AND EBELP EQ WA-VGPOS+1(5)
* AND BWART EQ WA-BWART.
* SELECT EBELN EBELP
* DMBTR
* INTO TABLE LT_EKBE
* FROM EKBE
* FOR ALL ENTRIES IN LT_EKKO
* WHERE EBELN = LT_EKKO-EBELN
* AND EBELP = LT_EKKO-EBELP
* AND VGABE = '6'.
*&->START CHANGE BY AD_CAIXIANG ON 20130603
* LT_ITAB[] = GT_ITAB[].
* SORT LT_ITAB BY VGBEL VGPOS VBELN.
* DELETE ADJACENT DUPLICATES FROM LT_ITAB COMPARING VGBEL VGPOS VBELN.
*&->END 备注 * IF LT_EKKO[] IS NOT INITIAL.
**&S7.采购凭证历史表取数:
* SELECT EBELN EBELP
* VBELN_ST AS VBELN
* DMBTR
* INTO TABLE LT_EKBE
* FROM EKBE
* FOR ALL ENTRIES IN LT_EKKO
* WHERE EBELN EQ LT_EKKO-EBELN
* AND EBELP EQ LT_EKKO-EBELP
* AND VGABE EQ '6'
* AND VBELN_ST EQ LT_EKKO-VBELN.
* SORT LT_EKBE BY EBELN EBELP VBELN.
** REFRESH LT_ITAB.
**&->END CHANGE .
* ENDIF. *&S8通过地点商品编码找对应大区件装数:
LT_ITAB[] = GT_ITAB[].
SORT LT_ITAB BY MATNR WERKS.
DELETE ADJACENT DUPLICATES FROM LT_ITAB COMPARING MATNR WERKS. SELECT A~MATNR B~WERKS A~YUMREZ1
INTO TABLE LT_MADQ
FROM YTMADQ AS A
JOIN T001W AS B
ON ( A~BZIRK EQ B~BZIRK )
FOR ALL ENTRIES IN LT_ITAB
WHERE A~MATNR EQ LT_ITAB-MATNR
AND B~WERKS EQ LT_ITAB-WERKS.
SORT LT_MADQ BY MATNR WERKS. *&S9通过货源找供应商:
SELECT WERKS MATNR LIFNR
INTO TABLE LT_EORD
FROM YTMEORD
FOR ALL ENTRIES IN LT_ITAB
WHERE MATNR EQ LT_ITAB-MATNR
AND WERKS EQ LT_ITAB-WERKS .
SORT LT_EORD BY MATNR WERKS.
* REFRESH LT_ITAB. *&S10:商品编码找条码:
* LT_ITAB[] = GT_ITAB[].
* SORT LT_ITAB BY MATNR. DELETE ADJACENT DUPLICATES FROM LT_ITAB COMPARING MATNR.
SELECT MATNR EAN11
INTO TABLE LT_MEAN
FROM MEAN
FOR ALL ENTRIES IN LT_ITAB
WHERE MATNR EQ LT_ITAB-MATNR
AND HPEAN EQ 'X'.
SORT LT_MEAN BY MATNR. *S6.6:商品编码取规格:
* SORT LT_ITAB BY MATNR.
* DELETE ADJACENT DUPLICATES FROM LT_ITAB COMPARING MATNR.
* SELECT MATNR GROES
**&->START ADD BY AD_CAIXIANG ON 20130514 ECDK911331
* MATKL
**&->END ADD BY AD_CAIXIANG.
* INTO TABLE LT_MARA
* FROM MARA
* FOR ALL ENTRIES IN LT_ITAB
* WHERE MATNR EQ LT_ITAB-MATNR
* AND LVORM EQ SPACE.
**&6.7分子母码找对应的商品编码:
* SELECT MATNR SATNR
* INTO TABLE LT_MARA2
* FROM MARA
* FOR ALL ENTRIES IN LT_ITAB
* WHERE MATNR EQ LT_ITAB-MATNR
* AND ATTYP EQ '02'
* AND SATNR NE ''. *&S11.MARA表取数
SELECT MATNR ATTYP SATNR GROES MATKL LVORM
INTO TABLE LT_MARA3
FROM MARA
FOR ALL ENTRIES IN LT_ITAB
WHERE MATNR EQ LT_ITAB-MATNR. LT_MARA[] = LT_MARA3[].
DELETE LT_MARA WHERE LVORM NE SPACE.
LT_MARA2[] = LT_MARA3[].
DELETE LT_MARA2 WHERE ATTYP NE '' OR SATNR EQ ''. SORT LT_MARA BY MATNR.
SORT LT_MARA2 BY MATNR. FREE LT_MARA3.
*&->START ADD BY AD_CAIXIANG ON 20130514 ECDK911331
*&S12.取大类名称
SELECT YLBID YLBNAME
INTO TABLE LT_YTLBCJ
FROM YTLBCJ.
* FOR ALL ENTRIES IN LT_MARA
* WHERE YLBID EQ LT_MARA-MATKL+0(2).
SORT LT_YTLBCJ BY YLBID. *&->END ADD BY AD_CAIXIANG. *&---? REFRESH LT_ITAB. *&S13:取机构名称:
* LT_ITAB[] = GT_ITAB[].
* SORT LT_ITAB BY WERKS.
* DELETE ADJACENT DUPLICATES FROM LT_ITAB COMPARING WERKS.
SELECT WERKS NAME1 KUNNR
INTO TABLE LT_T001W
FROM T001W.
* FOR ALL ENTRIES IN LT_ITAB
* WHERE WERKS EQ LT_ITAB-WERKS.
SORT LT_T001W BY WERKS. *&S14.找出库位描述:
SELECT WERKS LGORT LGOBE
INTO TABLE LT_T001L
FROM T001L.
* FOR ALL ENTRIES IN LT_ITAB
* WHERE WERKS EQ LT_ITAB-WERKS.
SORT LT_T001L BY WERKS LGORT.
REFRESH LT_ITAB. *&->START CHANGE BY AD_CX ON 20130725 ECDK913587.
*&S6.10取凭证类型描述:
* SELECT LFART VTEXT
* INTO TABLE LT_TVLKT
* FROM TVLKT
* WHERE SPRAS EQ SY-LANGU
* AND LFART IN S_LFART
* AND LFART IN R_LFART.
* SORT LT_TVLKT BY LFART.
*&->END CHANGE. *&S15.取供应商名称
* LT_ITAB[] = GT_ITAB[].
* SORT LT_ITAB BY LIFNR.
* DELETE ADJACENT DUPLICATES FROM LT_LFA1 COMPARING LIFNR. SELECT LIFNR NAME1
INTO TABLE LT_LFA1
FROM LFA1
FOR ALL ENTRIES IN LT_EORD
WHERE LIFNR EQ LT_EORD-LIFNR.
SORT LT_LFA1 BY LIFNR.
REFRESH LT_ITAB. *&S16.取客户名称:
LT_ITAB[] = GT_ITAB[].
SORT LT_ITAB BY KUNNR.
DELETE ADJACENT DUPLICATES FROM LT_ITAB COMPARING KUNNR.
SELECT KUNNR NAME1
INTO TABLE LT_KNA1
FROM KNA1
FOR ALL ENTRIES IN LT_ITAB
WHERE KUNNR EQ LT_ITAB-KUNNR.
SORT LT_KNA1 BY KUNNR.
REFRESH LT_ITAB. *&S17.取制单人名称
LT_ITAB[] = GT_ITAB[].
SORT LT_ITAB BY ERNAM.
DELETE ADJACENT DUPLICATES FROM LT_ITAB COMPARING ERNAM.
SELECT BNAME NAME_TEXT
INTO TABLE LT_NAME
FROM V_USR_NAME
FOR ALL ENTRIES IN LT_ITAB
WHERE BNAME EQ LT_ITAB-ERNAM.
SORT LT_NAME BY BNAME.
REFRESH LT_ITAB. *& 销售凭证
IF LT_WVBAP[] IS NOT INITIAL.
LOOP AT LT_WVBAP.
CLEAR L_LAST.
AT LAST.
L_LAST = 'X'.
ENDAT. LT_TAB1-VBELV = LT_WVBAP-VBELN.
LT_TAB1-POSNV = LT_WVBAP-POSNR.
APPEND LT_TAB1. ADD TO L_COUNT.
IF L_COUNT = OR L_LAST = 'X'. *&S19.取销售凭证对应数量
SELECT VBELN POSNR
KWMENG ARKTX
APPENDING TABLE LT_VBAP
FROM VBAP
FOR ALL ENTRIES IN LT_TAB1
WHERE VBELN EQ LT_TAB1-VBELV
AND POSNR EQ LT_TAB1-POSNV. *&S18.取销售凭证发票
SELECT VBELV POSNV
VBELN POSNN
APPENDING TABLE LT_VBFA
FROM VBFA
FOR ALL ENTRIES IN LT_TAB1
WHERE VBELV EQ LT_TAB1-VBELV
AND POSNV EQ LT_TAB1-POSNV
AND VBTYP_N EQ 'M'.
IF SY-SUBRC = .
SELECT VBELN POSNR
KZWI1 FKIMG
APPENDING TABLE LT_VBRP
FROM VBRP
FOR ALL ENTRIES IN LT_VBFA
WHERE VBELN = LT_VBFA-VBELN
AND POSNR = LT_VBFA-POSNN.
ENDIF. REFRESH LT_TAB1.
CLEAR L_COUNT.
ENDIF. ENDLOOP. SORT LT_VBFA BY VBELV POSNV.
SORT LT_VBAP BY VBELN POSNR.
SORT LT_VBRP BY VBELN POSNR.
ENDIF.
FREE: LT_TAB1,LT_WVBAP. * LT_ITAB[] = GT_ITAB[].
* SORT LT_ITAB BY VGBEL VGPOS.
* DELETE ADJACENT DUPLICATES FROM LT_ITAB COMPARING VGBEL VGPOS.
* SELECT VBELV POSNV
* VBELN POSNN
* INTO TABLE LT_VBFA
* FROM VBFA
* FOR ALL ENTRIES IN LT_ITAB
* WHERE VBELV EQ LT_ITAB-VGBEL
* AND POSNV EQ LT_ITAB-VGPOS
* AND VBTYP_N EQ 'M'.
* SORT LT_VBFA BY VBELV POSNV.
*
*
*
**&S19.取销售凭证对应数量
* SELECT VBELN POSNR
* KWMENG ARKTX
* INTO TABLE LT_VBAP
* FROM VBAP
* FOR ALL ENTRIES IN LT_ITAB
* WHERE VBELN EQ LT_ITAB-VGBEL
* AND POSNR EQ LT_ITAB-VGPOS.
* SORT LT_VBAP BY VBELN POSNR.
*
* REFRESH LT_ITAB.
*
**&S20.取发票数量与金额
* LT_TAB1[] = LT_VBFA[].
* SORT LT_TAB1 BY VBELN POSNN.
* DELETE ADJACENT DUPLICATES FROM LT_TAB1 COMPARING VBELN POSNN.
* IF LT_TAB1[] IS NOT INITIAL.
* SELECT VBELN POSNR
* KZWI1 FKIMG
* INTO TABLE LT_VBRP
* FROM VBRP
* FOR ALL ENTRIES IN LT_TAB1
* WHERE VBELN = LT_TAB1-VBELN
* AND POSNR = LT_TAB1-POSNN.
* SORT LT_VBRP BY VBELN POSNR.
* ENDIF. *&S21获取税率
SELECT A~MWSKZ
B~KBETR
INTO TABLE LT_A003
FROM A003 AS A
JOIN KONP AS B
ON A~KNUMH = B~KNUMH AND B~KOPOS = ''
WHERE A~KAPPL = 'TX'
AND A~KSCHL = 'MWVS'
AND A~ALAND = 'CN'
AND B~LOEVM_KO = SPACE.
SORT LT_A003 BY MWSKZ. *&S22,环取得其他表中取其它值
LOOP AT GT_ITAB. " INTO WA.
G_TABIX = SY-TABIX. MOVE GT_ITAB TO WA. *&S检查ekpo中的库位:
*&读取EKPO中金额,税码等数据
IF WA-VGBEL NE SPACE AND WA-VGTYP = 'V'.
READ TABLE LT_EKPO WITH KEY EBELN = WA-VGBEL
EBELP = WA-VGPOS+() BINARY SEARCH.
IF SY-SUBRC EQ .
*& 取小计金额 和 数量
G_MWSKZ = LT_EKPO-MWSKZ.
G_KZWI5 = LT_EKPO-KZWI5.
G_KZWI1 = LT_EKPO-KZWI1.
G_MENGE = LT_EKPO-MENGE.
*&->ADD BY AD_CAIXIANG.
WA-MENGE = LT_EKPO-MENGE.
*&->END ADD.
" WA-LGORT = LT_EKPO-LGORT.
* WA-RESLO = LT_EKPO-RESLO.
WA-RESLO = LT_EKPO-LGORT.
*&->START CHANGE BY AD_CAIXIANG ON 20130516.
WA-MAKTX = LT_EKPO-TXZ01.
*&->END CHANGE BY AD_CAIXIANG.
*&判断库位:
*&IF WA-LGORT IN S_LGORT AND
IF WA-RESLO IN S_RESLO.
* WA-MAKTX = LT_EKPO-TXZ01.
* WA-LGORT = LT_EKPO-LGORT.
* WA-RESLO = LT_EKPO-RESLO.
ELSE.
CLEAR WA.
DELETE GT_ITAB INDEX G_TABIX.
CONTINUE.
ENDIF. * ENDIF.
**&->START CHANGE BY AD_CAIXIANG ON 20130513 ECDK911294.
* ELSE.
* CLEAR WA.
* DELETE GT_ITAB INDEX G_TABIX.
* CONTINUE. ENDIF.
*&->END CHANGE BY AD_CAIXIANG ON 20130513. ENDIF. *&--->START CHANGE BY AD_CAIXIANG ON 20130406 ECDK910228 IF S_WBSTK[] IS INITIAL .
READ TABLE LT_VBUK WITH KEY VBELN = GT_ITAB-VBELN BINARY SEARCH.
IF SY-SUBRC = .
GT_ITAB-KOSTK = LT_VBUK-KOSTK.
GT_ITAB-WBSTK = LT_VBUK-WBSTK.
WA-KOSTK = LT_VBUK-KOSTK.
WA-WBSTK = LT_VBUK-WBSTK.
ENDIF.
ENDIF. *& 分子母码找对应的商品编码:
* SELECT SINGLE SATNR
* INTO WA-MATNR
* FROM MARA
* WHERE ATTYP = '02'
* AND SATNR <> ''
* AND MATNR = WA-MATNR.
READ TABLE LT_MARA2 WITH KEY MATNR = WA-MATNR BINARY SEARCH.
IF SY-SUBRC EQ .
WA-MATNR = LT_MARA2-SATNR.
ENDIF. *&读取供应商
READ TABLE LT_EORD WITH KEY MATNR = WA-MATNR
WERKS = WA-WERKS BINARY SEARCH.
IF SY-SUBRC EQ .
WA-LIFNR = LT_EORD-LIFNR.
ENDIF. *& 取供应商名称:
READ TABLE LT_LFA1 WITH KEY LIFNR = WA-LIFNR BINARY SEARCH.
IF SY-SUBRC = .
WA-NAME3 = LT_LFA1-NAME1.
ENDIF. AT NEW VBELN .
CLEAR:L_NAME_TEXT.
*&S1.5.1:获取制单人信息:
READ TABLE LT_NAME WITH KEY BNAME = WA-ERNAM BINARY SEARCH.
IF SY-SUBRC EQ .
L_NAME_TEXT = LT_NAME-NAME_TEXT.
ENDIF. *&S1.5.2:取客户描述:
CLEAR KNA1-NAME1.
READ TABLE LT_KNA1 WITH KEY KUNNR = WA-KUNNR BINARY SEARCH.
IF SY-SUBRC = .
KNA1-NAME1 = LT_KNA1-NAME1.
ENDIF. *&S1.5.3:取出客户对应的工厂:
CLEAR L_WERKS.
READ TABLE LT_T001W WITH KEY KUNNR = WA-KUNNR. " BINARY SEARCH.
IF SY-SUBRC = .
L_WERKS = LT_T001W-WERKS.
ENDIF. ENDAT. *&--->END CHANGE BY AD_CAIXIANG ON 20130406. *& 金额:
WA-JINE = WA-JIAGE * GT_ITAB-LFIMG. *&---> START CHANGE BY AD_CAIXIANG ON 20130222 ECDK908753
IF WA-BWART EQ '' OR WA-BWART EQ ''.
*&当交货单的凭证类型为‘641’ ‘643’时,取交货单凭证里的KZWI5
*& 当小计5不为0:价格= 小计5/数量
*& 当小计5为0: 通过交货单凭证中的税码EKPO-MWSKZ,计算税率,然后通
*& ( DMBTR * ( 1 + 税率 / 100 ) ) / 数量.计算价格。
*&---> END CHANGE BY AD_CAIXIANG.
READ TABLE LT_EKBE WITH KEY EBELN = WA-VGBEL
EBELP = WA-VGPOS+()
VBELN = WA-VBELN BINARY SEARCH.
IF SY-SUBRC = .
G_DMBTR = LT_EKBE-DMBTR. *& 当KZWI5不为0:
IF G_KZWI5 NE .
IF G_MENGE NE .
WA-JIAGE = G_KZWI5 / G_MENGE.
ELSE.
WA-JIAGE = .
ENDIF.
*& 金额:
WA-JINE = WA-JIAGE * GT_ITAB-LFIMG.
ELSE. *&获取税率
*&->START CHANGE BY AD_CX ON 20130703 ECDK912680 READ TABLE LT_A003 WITH KEY MWSKZ = G_MWSKZ BINARY SEARCH.
IF SY-SUBRC = .
G_TEXT = LT_A003-KBETR / .
*&剔除税率小数点后的零
C_TEXT = TRUNC( G_TEXT ).
CONCATENATE C_TEXT '%' INTO C_TEXT.
ENDIF.
*&->START CHANGE BY AD_CAIXIANG ON 20130603 ECDK912048.
WA-JINE = ( G_DMBTR * ( + C_TEXT / ) ) .
IF G_MENGE NE .
*&->START CHANGE BY AD_CAIXIANG ON 20130604.
WA-JIAGE = WA-JINE / GT_ITAB-LFIMG.
ELSE.
WA-JIAGE = .
ENDIF. *&函数注释
* CALL FUNCTION 'YH_PUB_TAX_VALUE_GET'
* EXPORTING
* I_KSCHL = 'MWVS'
* I_MWSKZ = G_MWSKZ
* IMPORTING
* O_KBETR = G_TEXT.
**&->START CHANGE BY AD_CAIXIANG ON 20130603 ECDK912048.
* WA-JINE = ( G_DMBTR * ( 1 + G_TEXT / 100 ) ) .
* IF G_MENGE NE 0.
**&->START CHANGE BY AD_CAIXIANG ON 20130604.
* WA-JIAGE = WA-JINE / GT_ITAB-LFIMG.
** WA-JIAGE = WA-JINE / G_MENGE.
*&->END CHANGE BY AD_CX. **&->END CHANGE.
* ELSE.
* WA-JIAGE = 0.
* ENDIF.
* IF G_MENGE NE 0.
* WA-JIAGE = ( G_DMBTR * ( 1 + G_TEXT / 100 ) ) / G_MENGE.
* ELSE.
* WA-JIAGE = 0.
* ENDIF.
*&->END CHANGE . ENDIF. ENDIF. ENDIF. *&---> START ADD BY AD_CAIXIANG ON 20130222 ECDK908753.
*&当交货单移动类型为 ‘671’ ‘673’时, 小计1/数量 计算价格,
IF WA-BWART EQ '' OR WA-BWART EQ ''.
WA-JIAGE = G_KZWI1 / G_MENGE.
*& 金额:
WA-JINE = WA-JIAGE * GT_ITAB-LFIMG.
ENDIF.
*&---> END ADD BY AD_CAIXIANG ON 20130222. *&当移动类型为‘653’ ‘601’,通过交货凭证找到对应的开票凭证数据计算价格
IF WA-BWART EQ '' OR WA-BWART EQ '' . *&读取开票凭证
READ TABLE LT_VBFA WITH KEY VBELV = WA-VGBEL
POSNV = WA-VGPOS
BINARY SEARCH.
IF SY-SUBRC EQ .
VBFA-VBELN = LT_VBFA-VBELN.
VBFA-POSNN = LT_VBFA-POSNN.
ENDIF. READ TABLE LT_VBRP WITH KEY VBELN = VBFA-VBELN
POSNR = VBFA-POSNN
BINARY SEARCH.
IF SY-SUBRC EQ .
G_KZWI1 = LT_VBRP-KZWI1.
G_FKIMG = LT_VBRP-FKIMG.
ENDIF.
*&计算价格
IF G_FKIMG NE SPACE.
WA-JIAGE = G_KZWI1 / G_FKIMG. ELSE.
WA-JIAGE = .
ENDIF.
*& 金额:
WA-JINE = WA-JIAGE * GT_ITAB-LFIMG. ENDIF. **& 金额:
* WA-JINE = WA-JIAGE * GT_ITAB-LFIMG.
*& END ADD ON 20121128 *&S1.6.1: 读取条码:
READ TABLE LT_MEAN WITH KEY MATNR = WA-MATNR
* MEINH = WA-MEINS
BINARY SEARCH.
IF SY-SUBRC EQ .
WA-EAN11 = LT_MEAN-EAN11.
ENDIF. *S1.6.2:取规格:
READ TABLE LT_MARA WITH KEY MATNR = WA-MATNR
BINARY SEARCH.
IF SY-SUBRC EQ .
WA-GROES = LT_MARA-GROES.
*&->ADD BY AD_CAIXIANG
WA-YLBID1 = LT_MARA-MATKL+().
*&->END ADD.
ENDIF. *&->ADD BY AD_CAIXIANG
*&S1.6.2.1读取大类名称
READ TABLE LT_YTLBCJ WITH KEY YLBID = WA-YLBID1 BINARY SEARCH.
IF SY-SUBRC EQ .
WA-YDLNAM = LT_YTLBCJ-YLBNAME.
ENDIF.
*&->END ADD. *S1.6.3:取工厂描述:
READ TABLE LT_T001W WITH KEY WERKS = WA-WERKS BINARY SEARCH.
IF SY-SUBRC EQ .
WA-NAME1 = LT_T001W-NAME1.
ENDIF. *S1.6.5: 取件数:
READ TABLE LT_MADQ WITH KEY MATNR = WA-MATNR
WERKS = WA-WERKS
BINARY SEARCH.
IF SY-SUBRC EQ .
WA-YUMREZ1 = LT_MADQ-YUMREZ1.
ENDIF. *&S1.6.6:取数量:
IF WA-LFART = 'ZLF' OR WA-LFART = 'ZLR' OR WA-LFART = 'ZLF2' OR WA-LFART = 'ZLR2'. READ TABLE LT_VBAP WITH KEY VBELN = WA-VGBEL
POSNR = WA-VGPOS
BINARY SEARCH.
IF SY-SUBRC EQ .
WA-MENGE = LT_VBAP-KWMENG.
WA-MAKTX = LT_VBAP-ARKTX.
ENDIF.
* ELSE.
** WA-MENGE = EKPO-MENGE.
ENDIF. *&皮重:
WA-JINZH = WA-BRGEW - WA-NTGEW. *&订货件数
IF WA-YUMREZ1 NE .
WA-DINH = WA-MENGE / WA-YUMREZ1.
ENDIF. *&实发件数
IF WA-YUMREZ1 NE .
WA-SHFA = WA-LFIMG / WA-YUMREZ1.
ENDIF. *&找移入库位描述:
IF WA-RESLO NE SPACE.
READ TABLE LT_T001L WITH KEY WERKS = L_WERKS
LGORT = WA-RESLO
BINARY SEARCH.
IF SY-SUBRC EQ .
WA-LGOBE1 = LT_T001L-LGOBE.
ENDIF.
ENDIF. **S1.5.12:找移出库位描述:
IF WA-LGORT NE SPACE.
READ TABLE LT_T001L WITH KEY WERKS = WA-WERKS
LGORT = WA-LGORT
BINARY SEARCH.
IF SY-SUBRC EQ .
WA-LGOBE2 = LT_T001L-LGOBE.
ENDIF. ENDIF. *& 找类型描述:
READ TABLE LT_TVLKT WITH KEY LFART = WA-LFART BINARY SEARCH.
IF SY-SUBRC EQ .
WA-VTEXT = LT_TVLKT-VTEXT.
ENDIF. *&S1.5.11:汇总数量:
L_MENGE = L_MENGE + WA-MENGE.
L_LFIMG = L_LFIMG + WA-LFIMG.
L_JINZH = L_JINZH + WA-JINZH.
WA-NAME2 = KNA1-NAME1.
WA-NAME_TEXT = L_NAME_TEXT. *& 单位转换:
CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT'
EXPORTING
INPUT = WA-MEINS
LANGUAGE = SY-LANGU
IMPORTING
OUTPUT = WA-MEINS
EXCEPTIONS
UNIT_NOT_FOUND =
OTHERS = . *&START ADD BY AD_CAIXIANG ON 201211206
MOVE-CORRESPONDING WA TO GT_DATA.
GT_DATA-MENGE = L_MENGE.
GT_DATA-LFIMG = L_LFIMG.
GT_DATA-JINZH = L_JINZH. COLLECT GT_DATA.
CLEAR GT_DATA. MODIFY GT_ITAB FROM WA.
CLEAR: WA.
CLEAR : L_MENGE, L_LFIMG, L_JINZH. ENDLOOP.
*&END ADD BY AD_CAIXIANG ON ... *&筛选条件]
*&->START ADD BY AD_CAIXIANG ON 20130513 ECDK911373
IF S_RESLO[] IS NOT INITIAL.
DELETE GT_ITAB WHERE RESLO NOT IN S_RESLO.
DELETE GT_DATA WHERE RESLO NOT IN S_RESLO.
ENDIF.
*&->EDN ADD BY AD_CX. *&S1.7: 检查是否取到数据:
DESCRIBE TABLE GT_DATA LINES G_LEN.
IF G_LEN EQ .
MESSAGE I011 WITH '没有查询到符合条件的数据!'.
STOP.
ENDIF. ENDFORM. " frm_get_data *&---------------------------------------------------------------------*
*& Form FRM_LFART
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM FRM_LFART . CLEAR:R_LFART[],R_LFART.
R_LFART-SIGN = 'I'. R_LFART-OPTION = 'EQ'.
R_LFART-LOW = 'NLR'. APPEND R_LFART.
R_LFART-LOW = 'NL'. APPEND R_LFART.
R_LFART-LOW = 'NLCC'. APPEND R_LFART.
R_LFART-LOW = 'NCR'. APPEND R_LFART.
R_LFART-LOW = 'ZLF'. APPEND R_LFART.
R_LFART-LOW = 'ZLR'. APPEND R_LFART.
*&->START ADD BY AD_CAIXIANG ON 20120126 ECDK907564
R_LFART-LOW = 'ZLF2'. APPEND R_LFART.
R_LFART-LOW = 'ZLR2'. APPEND R_LFART.
*&->END ADD BY AD_CAIXIANG ENDFORM. " FRM_LFART *&---------------------------------------------------------------------*
*& Form frm_output_data
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM FRM_ALV_OUTPUT. CHECK G_LEN NE . *&S4.1: 设定输出字段:
PERFORM FRM_FIELDCAT_GET.
PERFORM FRM_EVENTS_SET. *&S4.2:设定输出格式:
PERFORM FRM_LAYOUT_SET. G_LEN = LINES( GT_DATA[] ).
MESSAGE S013 WITH '找到数据:' G_LEN '条'. *&调用ALV函数输出:
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
* I_CALLBACK_PF_STATUS_SET = 'SET_PF_STATUS'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
IS_LAYOUT = GS_LAYOUT
IT_FIELDCAT = GT_FIELDCAT
I_SAVE = 'A'
* it_events = gt_event
TABLES
T_OUTTAB = GT_DATA
EXCEPTIONS
PROGRAM_ERROR =
OTHERS = . ENDFORM. " FRM_ALV_OUTPUT. *&---------------------------------------------------------------------*
*& Form USER_COMMAND
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
DATA: LR_GRID TYPE REF TO CL_GUI_ALV_GRID. *&将变更的数据刷新
CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
IMPORTING
E_GRID = LR_GRID.
CALL METHOD LR_GRID->CHECK_CHANGED_DATA.
RS_SELFIELD-REFRESH = 'X'. * break ad_taoxb. CLEAR WA.
CASE R_UCOMM.
WHEN '&IC1'.
*&Double deal with:
CLEAR GT_DATA.
READ TABLE GT_DATA INDEX RS_SELFIELD-TABINDEX.
IF SY-SUBRC EQ .
PERFORM FRM_DETAIL_DISP.
ENDIF.
* CALL METHOD lr_grid->refresh_table_display.
WHEN OTHERS.
ENDCASE.
ENDFORM. "USER_COMMAND *&---------------------------------------------------------------------*
*& ALV EVENT Form f_pf_status_set
*&---------------------------------------------------------------------*
FORM F_PF_STATUS_SET USING EXTAB TYPE SLIS_T_EXTAB. SET PF-STATUS 'STANDARD' EXCLUDING EXTAB. ENDFORM. " f_pf_status_set
*&---------------------------------------------------------------------*
*& Form FRM_FIELDCAT_GET
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM FRM_FIELDCAT_GET . CLEAR GT_FIELDCAT.
REFRESH GT_FIELDCAT.
*&设定输出的相关字段结构:
MAR_ADD_FIELDCAT 'VBELN' '交货单' '' '' '' 'X' '' ''.
MAR_ADD_FIELDCAT 'WERKS' '配出机构' '' '' '' ' ' '' ''.
MAR_ADD_FIELDCAT 'NAME1' '配出机构名称' '' '' '' ' ' '' ''.
MAR_ADD_FIELDCAT 'KUNNR' '配入机构' '' '' '' ' ' '' 'X'.
MAR_ADD_FIELDCAT 'NAME2' '配入机构名称' '' '' '' ' ' '' ''. MAR_ADD_FIELDCAT 'LGORT' '移出库位' '' '' '' ' ' '' ''.
MAR_ADD_FIELDCAT 'LGOBE2' '移出库位描述' '' '' '' ' ' '' ''.
MAR_ADD_FIELDCAT 'RESLO' '移入库位' '' '' '' ' ' '' ''.
MAR_ADD_FIELDCAT 'LGOBE1' '移入库位描述' '' '' '' ' ' '' ''.
MAR_ADD_FIELDCAT 'LIFEX' '融通单号' '' '' '' ' ' '' ''.
MAR_ADD_FIELDCAT 'LFART' '类型' '' '' '' ' ' '' ''.
MAR_ADD_FIELDCAT 'VTEXT' '交货类型描述' '' '' '' ' ' '' ''.
MAR_ADD_FIELDCAT 'YYCARNO' '车辆号' '' '' '' ' ' '' ''.
MAR_ADD_FIELDCAT 'BLDAT' '凭证日期' '' '' '' ' ' '' ''.
MAR_ADD_FIELDCAT 'ERZET' '时间' '' '' '' ' ' '' ''.
MAR_ADD_FIELDCAT 'WADAT_IST' '实际发货日期' '' '' '' ' ' '' ''.
MAR_ADD_FIELDCAT 'MENGE' '订货数量' '' '' '' ' ' '' ''.
MAR_ADD_FIELDCAT 'LFIMG' '实发数量' '' '' '' ' ' '' ''.
MAR_ADD_FIELDCAT 'JINZH' '皮重' '' '' '' ' ' '' ''.
MAR_ADD_FIELDCAT 'JINE' '金额' '' '' '' ' ' '' ''.
MAR_ADD_FIELDCAT 'KOSTK' '总拣配状态' '' '' '' ' ' '' ''.
MAR_ADD_FIELDCAT 'WBSTK' '移动总状态' '' '' '' ' ' '' ''.
MAR_ADD_FIELDCAT 'NAME_TEXT' '制单人' '' '' '' ' ' '' ''.
"MAR_ADD_FIELDCAT 'TDDAT' '计划日期' '16' '' '10' ' ' ' '. ENDFORM. " FRM_FIELDCAT_GET
*&---------------------------------------------------------------------*
*& Form FRM_EVENTS_SET
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM FRM_EVENTS_SET . ENDFORM. " FRM_EVENTS_SET
*&---------------------------------------------------------------------*
*& Form FRM_LAYOUT_SET
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM FRM_LAYOUT_SET . CLEAR GS_LAYOUT.
MOVE: 'X' TO GS_LAYOUT-ZEBRA,
'X' TO GS_LAYOUT-COLWIDTH_OPTIMIZE,
'X' TO GS_LAYOUT-DETAIL_POPUP. ENDFORM. " FRM_LAYOUT_SET
*&---------------------------------------------------------------------*
*& Form FRM_DETAIL_DISP
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM FRM_DETAIL_DISP .
DATA: LT_ITAB LIKE GT_ITAB OCCURS WITH HEADER LINE.
DATA: G_LEN2 TYPE SY-TABIX. *&T1.找到需显示的数据:
LT_ITAB[] = GT_ITAB[].
IF P_DETAIL IS INITIAL.
DELETE LT_ITAB WHERE VBELN NE GT_DATA-VBELN.
SORT LT_ITAB BY MATNR.
ENDIF. *&T2:获取结构:
PERFORM FRM_FIELDCAT_GET2. G_LEN2 = LINES( LT_ITAB[] ).
MESSAGE S013 WITH '找到数据:' G_LEN2 '条'. *&T3: 显示:
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-CPROG
* I_CALLBACK_PF_STATUS_SET = 'SET_PF_STATUS'
* I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
IS_LAYOUT = GS_LAYOUT
IT_FIELDCAT = GT_FIELDCAT2
I_SAVE = 'A'
* it_events = gt_event
TABLES
T_OUTTAB = LT_ITAB
EXCEPTIONS
PROGRAM_ERROR =
OTHERS = . ENDFORM. " FRM_DETAIL_DISP
*&---------------------------------------------------------------------*
*& Form FRM_FIELDCAT_GET2
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM FRM_FIELDCAT_GET2 . CLEAR GT_FIELDCAT2.
REFRESH GT_FIELDCAT2.
*&设定输出的相关字段结构:
MAR_ADD_FIELDCAT2 'VBELN' '交货单' '' '' '' 'X' '' ''.
MAR_ADD_FIELDCAT2 'POSNR' '项次' '' '' '' 'X' ' ' ''.
MAR_ADD_FIELDCAT2 'WERKS' '配出机构' '' '' '' ' ' ' ' ''.
MAR_ADD_FIELDCAT2 'NAME1' '配出机构名称' '' '' '' ' ' ' ' ''.
MAR_ADD_FIELDCAT2 'KUNNR' '配入机构' '' '' '' ' ' ' ' ''.
MAR_ADD_FIELDCAT2 'NAME2' '配入机构名称' '' '' '' ' ' ' ' ''. MAR_ADD_FIELDCAT2 'LGORT' '移出库位' '' '' '' ' ' '' ''.
MAR_ADD_FIELDCAT2 'LGOBE2' '移出库位描述' '' '' '' ' ' '' ''.
MAR_ADD_FIELDCAT2 'RESLO' '移入库位' '' '' '' ' ' '' ''.
MAR_ADD_FIELDCAT2 'LGOBE1' '移入库位描述' '' '' '' ' ' '' ''. * MAR_ADD_FIELDCAT2 'RESLO' '移出库位' '8' '' '6' ' ' ' ' ''.
* MAR_ADD_FIELDCAT2 'LGOBE1' '移出库位描述' '9' '' '15' ' ' ' ' ''.
* MAR_ADD_FIELDCAT2 'LGORT' '移入库位' '10' '' '6' ' ' ' ' ''.
* MAR_ADD_FIELDCAT2 'LGOBE2' '移入库位描述' '11' '' '15' ' ' ' ' ''.
MAR_ADD_FIELDCAT2 'LFART' '类型' '' '' '' ' ' ' ' ''.
MAR_ADD_FIELDCAT2 'VTEXT' '交货类型描述' '' '' '' ' ' ' ' ''.
MAR_ADD_FIELDCAT2 'VGBEL' '参考凭证' '' '' '' ' ' ' ' ''.
MAR_ADD_FIELDCAT2 'VGPOS' '参考项次' '' '' '' ' ' ' ' ''.
MAR_ADD_FIELDCAT2 'MATNR' '商品编码' '' '' '' ' ' ' ' 'X'.
MAR_ADD_FIELDCAT2 'EAN11' '条码' '' '' '' ' ' ' ' ''.
MAR_ADD_FIELDCAT2 'MAKTX' '商品名称' '' '' '' ' ' ' ' ''.
*&->START ADD BY AD_CAIXIANG ON 20130514 ECDK911331
MAR_ADD_FIELDCAT2 'YLBID1' '大类编码' '' '' '' ' ' ' ' ''.
MAR_ADD_FIELDCAT2 'YDLNAM' '大类名称' '' '' '' ' ' ' ' ''.
*&->END ADD. MAR_ADD_FIELDCAT2 'MEINS' '单位' '' '' '' ' ' ' ' ''.
MAR_ADD_FIELDCAT2 'YYCARNO' '车辆号' '' '' '' ' ' ' ' ''.
MAR_ADD_FIELDCAT2 'BLDAT' '凭证日期' '' '' '' ' ' ' ' ''.
MAR_ADD_FIELDCAT2 'ERZET' '时间' '' '' '' ' ' ' ' ''.
MAR_ADD_FIELDCAT2 'WADAT_IST' '实际发货日期' '' '' '' ' ' ' ' ''.
MAR_ADD_FIELDCAT2 'ANZPK' '包数' '' '' '' ' ' ' ' ''.
MAR_ADD_FIELDCAT2 'GROES' '规格' '' '' '' ' ' ' ' ''.
MAR_ADD_FIELDCAT2 'YUMREZ1' '件装数' '' '' '' ' ' ' ' ''.
MAR_ADD_FIELDCAT2 'DINH' '订货件数' '' '' '' ' ' ' ' ''.
MAR_ADD_FIELDCAT2 'MENGE' '订货数量' '' '' '' ' ' ' ' ''.
MAR_ADD_FIELDCAT2 'SHFA' '实发件数' '' '' '' ' ' ' ' ''.
MAR_ADD_FIELDCAT2 'LFIMG' '实发数量' '' '' '' ' ' ' ' ''.
MAR_ADD_FIELDCAT2 'JINZH' '皮重' '' '' '' ' ' ' ' ''.
MAR_ADD_FIELDCAT2 'NAME_TEXT' '制单人' '' '' '' ' ' ' ' ''.
MAR_ADD_FIELDCAT2 'LIFNR' '供应商编码' '' '' '' ' ' ' ' 'X'.
MAR_ADD_FIELDCAT2 'NAME3' '供应商名称' '' '' '' ' ' ' ' ''.
MAR_ADD_FIELDCAT2 'JIAGE' '价格' '' '' '' ' ' ' ' ''.
MAR_ADD_FIELDCAT2 'JINE' '金额' '' '' '' ' ' ' ' ''.
"MAR_ADD_FIELDCAT2 'TDDAT' '计划日期' '21' '' '10' ' ' ' ' ''. ENDFORM. " FRM_FIELDCAT_GET2
YHLMR009 交货单查询的更多相关文章
- ABAP 订单-交货单-发货过账自动完成 案例
*&---------------------------------------------------------------------* *& Report ZSDR006 ...
- 查询删除的SAP凭证
标准报表查询:RSSCD100 函数模块:CHANGEDOCUMENT_DISPLAY, Display Change Documents 数据表查询:CDHDR, Change document h ...
- 使用TSQL查询和更新 JSON 数据
JSON是一个非常流行的,用于数据交换的文本数据(textual data)格式,主要用于Web和移动应用程序中.JSON 使用“键/值对”(Key:Value pair)存储数据,能够表示嵌套键值对 ...
- UWP 律师查询 MVVM
APP简介 律师查询是基于聚合数据的律师查询接口做的,这个接口目前处于停用状态,但是,由于我是之前申请的,所以,还可以用,应该是无法再申请了. 效果图 开发 一.HttpHelper 既然是请求接口的 ...
- Elasticsearch 5.0 中term 查询和match 查询的认识
Elasticsearch 5.0 关于term query和match query的认识 一.基本情况 前言:term query和match query牵扯的东西比较多,例如分词器.mapping ...
- ASP.NET Aries 入门开发教程4:查询区的下拉配置
背景: 今天去深圳溜达了一天,刚回来,看到首页都是微软大法好,看来离.NET的春天就差3个月了~~ 回到正题,这篇的教程讲解下拉配置. 查询区的下拉配置: 1:查询框怎么配置成下拉? 在配置表头:格式 ...
- ASP.NET Aries 入门开发教程3:开发一个列表页面及操控查询区
前言: Aries框架毕竟是开发框架,所以重点还是要写代码的,这样开发人员才不会失业,哈. 步骤1:新建html 建一个Html,主要有三步: 1:引入Aries.Loader.js 2:弄一个tab ...
- ExtJS 4.2 业务开发(二)数据展示和查询
本篇开始模拟一个船舶管理系统,提供查询.添加.修改船舶的功能,这里介绍其中的数据展示和查询功能. 目录 1. 数据展示 2. 数据查询 3. 在线演示 1. 数据展示 在这里我们将模拟一个船舶管理系统 ...
- 深入理解MySql子查询IN的执行和优化
IN为什么慢? 在应用程序中使用子查询后,SQL语句的查询性能变得非常糟糕.例如: SELECT driver_id FROM driver where driver_id in (SELECT dr ...
随机推荐
- Linux基本操作1 - 设备操作
Linux开发的过程中,肯定会使用到很多设备,所以对设备的挂载卸载是一个很基本的操作. Linux对设备的默认定义如下: 一.Linux中的硬件设备号 设 备 设 备 号 ...
- C++中虚析构函数的作用
我们知道,用C++开发的时候,用来做基类的类的析构函数一般都是虚函数.可是,为什么要这样做呢?下面用一个小例子来说明: 有下面的两个类: class ClxBase { public: ...
- Android 签名工具 shell脚本
signApk.sh #!/bin/bash #$1 signed and unaligned apk #$2 unsigned apk #$3 aligned apk #./signApk.sh t ...
- Appium自动化测试1 - 安装部署
主要参考文章“虫师”自动化部署教程,不过结合自己的一些情况记录此博客~ 1.准备安装包 1)jdk; 下载及安装过程省略,我下载的是jdk1.7版本. 2) adt&SDK; SDK下载的是e ...
- java高薪之路__005_IO流
参考地址: 1. http://blog.csdn.net/yczz/article/details/38761237 File类 ObjectInputStream && Objec ...
- Mysql 中有关日期的函数(sql)
DAYOFWEEK(date)返回日期date的星期索引(1=星期天,2=星期一, ……7=星期六).这些索引值对应于ODBC标准.mysql> select DAYOFWEEK('1998-0 ...
- telnet: connect to address xxxxxxx: No route to host
在要连接的服务上执行iptables -F
- html5常见问题
H5项目常见问题汇总及解决方案 2016-12-21 FrontEndZQ JavaScript 转自 https://github.com/FrontEndZQ/HTML5-FAQ H5项目常见问题 ...
- HashSet其实就那么一回事儿之源码浅析
上篇文章<HashMap其实就那么一回事儿之源码浅析>介绍了hashMap, 本次将带大家看看HashSet, HashSet其实就是基于HashMap实现, 因此,熟悉了HashMap ...
- State(状态)
props和state.props是在父组件中指定,而且一经指定,在被指定的组件的生命周期中则不再改变. 对于需要改变的数据,我们需要使用state.般来说,你需要在constructor中初始化st ...