***********************************************************************
* 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 交货单查询的更多相关文章

  1. ABAP 订单-交货单-发货过账自动完成 案例

    *&---------------------------------------------------------------------* *& Report  ZSDR006 ...

  2. 查询删除的SAP凭证

    标准报表查询:RSSCD100 函数模块:CHANGEDOCUMENT_DISPLAY, Display Change Documents 数据表查询:CDHDR, Change document h ...

  3. 使用TSQL查询和更新 JSON 数据

    JSON是一个非常流行的,用于数据交换的文本数据(textual data)格式,主要用于Web和移动应用程序中.JSON 使用“键/值对”(Key:Value pair)存储数据,能够表示嵌套键值对 ...

  4. UWP 律师查询 MVVM

    APP简介 律师查询是基于聚合数据的律师查询接口做的,这个接口目前处于停用状态,但是,由于我是之前申请的,所以,还可以用,应该是无法再申请了. 效果图 开发 一.HttpHelper 既然是请求接口的 ...

  5. Elasticsearch 5.0 中term 查询和match 查询的认识

    Elasticsearch 5.0 关于term query和match query的认识 一.基本情况 前言:term query和match query牵扯的东西比较多,例如分词器.mapping ...

  6. ASP.NET Aries 入门开发教程4:查询区的下拉配置

    背景: 今天去深圳溜达了一天,刚回来,看到首页都是微软大法好,看来离.NET的春天就差3个月了~~ 回到正题,这篇的教程讲解下拉配置. 查询区的下拉配置: 1:查询框怎么配置成下拉? 在配置表头:格式 ...

  7. ASP.NET Aries 入门开发教程3:开发一个列表页面及操控查询区

    前言: Aries框架毕竟是开发框架,所以重点还是要写代码的,这样开发人员才不会失业,哈. 步骤1:新建html 建一个Html,主要有三步: 1:引入Aries.Loader.js 2:弄一个tab ...

  8. ExtJS 4.2 业务开发(二)数据展示和查询

    本篇开始模拟一个船舶管理系统,提供查询.添加.修改船舶的功能,这里介绍其中的数据展示和查询功能. 目录 1. 数据展示 2. 数据查询 3. 在线演示 1. 数据展示 在这里我们将模拟一个船舶管理系统 ...

  9. 深入理解MySql子查询IN的执行和优化

    IN为什么慢? 在应用程序中使用子查询后,SQL语句的查询性能变得非常糟糕.例如: SELECT driver_id FROM driver where driver_id in (SELECT dr ...

随机推荐

  1. iOS 键盘类型定制归纳

    一.键盘风格 支持8种风格键盘. typedef enum { UIKeyboardTypeDefault, // 默认键盘:支持所有字符 UIKeyboardTypeASCIICapable, // ...

  2. sqlite创建表

    create table bike (id ) primary key, password ));

  3. Number To Indian Rupee Words in Oracle Forms / Reports

    Convert numbers to Indian Rupees format in Oracle Forms / Reports.Create the below mention function ...

  4. XML与JSON的转换

    -(void)test {          //XML文本范例     NSString *testXMLString = @"Cake0.55RegularChocolateBluebe ...

  5. html5 drag and drop

    注:链接.图片默认是draggable的. mousemove在整个拖放的过程中不会被触发. dragStart设置: e.dataTransfer.effectAllowed = "mov ...

  6. indexOf属性不支持

    //此方法是数组的indexof属性不支持特此增加此段代码 if (!Array.prototype.indexOf) { Array.prototype.indexOf = function(elt ...

  7. HQL基础Query简单查询结果for输出和Iterator输出

    HQL第一次课: hibernate Query Language:hibernate 查询语言 语法: query: String hql="from dept"; Query ...

  8. iOS - iOS 适配

    前言 什么是适配: 适应.兼容各种不同的情况. iOS 开发中,适配的常见种类: 1)系统适配, 针对不同版本的操作系统进行适配. 2)屏幕适配,针对不同大小的屏幕尺寸进行适配. iPhone 的尺寸 ...

  9. 16 SQL Tuning Overview

    16.1 Introduction to SQL Tuning Identifying high load or top SQL statements that are responsible for ...

  10. Oracle的控制文件

    一.控制文件 oracle的控制文件是极其重要的文件,它是一个较小的二进制文件. 记录了当前数据库的结构信息,同时也包含数据文件及日志文件的信息以及相关的状态,归档信息等等  在参数文件中描述其位置, ...