ABAP-销售订单批导
************************************************************************
* FUNCTIION ID  : ZSDR_005
* DESCRIPTION   : 销售订单批量创建和修改
* AUTHOR        : BAIXIAOYU
* CREATE DATE   : 2018.06.23
* RELEASE FOR   : SAP S4
* 事务代码   : ZSD005
* ---------------------------------------------------------------------*
* VERSION CONTROL                                                      *
* DATE        AUTHOR     TRANSPORT        DESCRIPTION                  *
* ---------------------------------------------------------------------*
* 2018.06.23  BAIXIAOYU                   Initial Version
* 2018.12.21  lipeng                      version v3
************************************************************************
REPORT ZSDR_005 MESSAGE-ID ZSD00.
*--------------------------------------------------------------------*
*INCLUDING
*--------------------------------------------------------------------*
INCLUDE ZSDR_005_T01.
INCLUDE ZSDR_005_F01.
*--------------------------------------------------------------------*
*AT SELECTION SCREEN OUTPUT
*--------------------------------------------------------------------*
AT SELECTION-SCREEN OUTPUT.
AT SELECTION-SCREEN.
  PERFORM Frm_DOWNXLS.
*IF PA_AUART IS INITIAL OR PA_VKORG IS INITIAL OR PA_WJM IS INITIAL  .
*MESSAGE '请输入凭证类型、销售组织和模板等项目!' TYPE 'E'.
*endif.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR PA_WJM. "弹出选择文件对话框
  PERFORM GET_FILENAME.
*--------------------------------------------------------------------*
*START OF SELECTION
*--------------------------------------------------------------------*
START-OF-SELECTION.
*程序控制输入必输项
IF PA_AUART IS INITIAL OR PA_VKORG IS INITIAL OR PA_WJM IS INITIAL  .
  MESSAGE '请输入凭证类型、销售组织和模板等项目!' TYPE 'S'.
else.
*IF PA_AUART IS INITIAL OR PA_VKORG IS INITIAL or PA_WJM IS INITIAL  .
*  MESSAGE '请输入凭证类型、销售组织和模板等项目!' TYPE 'E'.
*ELSE.
* 按钮判断
  IF RB_01 = 'X'.
"Edit 2018.12.20 by li 调整上传再检查权限
*检查订单类型和模板是否一致
*    PERFORM UPLOAD_CHECK.
*add 2018.12.21 by li 根据订单类型选择上传数据
    IF PA_AUART = 'ZSOR' or
       PA_AUART = 'ZSZJ' or
       PA_AUART = 'ZSTJ' or
       PA_AUART = 'ZSFW' OR
       PA_AUART = 'ZM08'.
* 上传数据表一
    PERFORM DATA_UPLOAD_C.
    ELSEIF PA_AUART = 'ZCR' OR PA_AUART = 'ZDR'.
    PERFORM DATA_UPLOAD_CS.
    ENDIF.
** 上传数据表一
*    PERFORM DATA_UPLOAD_C.
* 权限检查
    PERFORM FRM_CHECK_AUTH_C.
** 上传数据表一
*    PERFORM DATA_UPLOAD_C.
* 调bapi创建,根据不同订单类型选择Bapi
     PERFORM DATA_CREATE.
* 进行结果展示
    PERFORM RESULT_DISPLAY.
  ELSEIF RB_02 = 'X'.
* 上传数据表二
    PERFORM DATA_UPLOAD_M.
* 权限检查
    PERFORM FRM_CHECK_AUTH_U.
** 上传数据表二
*    PERFORM DATA_UPLOAD_M.
* 调bapi修改
    PERFORM DATA_MODIFY.
* 进行结果展示
    PERFORM RESULT_DISPLAY.
  ENDIF.
ENDIF.
*  ENDIF.
INCLUDE ZSDR_005_T01.
*&---------------------------------------------------------------------*
*& 包含               ZQMR_006_T01
*&---------------------------------------------------------------------*
tables: SSCRFIELDS, VBAPVB, VBAK, KNA1, VBPA, VBKD, KOMV.
*--------------------------------------------------------------------*
*ALV
*--------------------------------------------------------------------*
type-pools: SLIS,ICON,OLE2.
*销售订单创建
types: begin of TY_CREATE,
         ZDDXH      type NUMC5,                   "订单序号
**<<<Add 2018.12.12 by li start
         VTWEG      type VBAK-VTWEG, "渠道
         SPART      type VBAK-SPART, "产品组
**>>>Add 2018.12.12 by li end
         ZDDHH      type NUMC3,                   "订单行号
         UPDKZ_KALK type VBAPVB-UPDKZ_KALK,       "更新标志
         KUNNR1     type VBAK-KUNNR,              "客户
         NAME1      type KNA1-NAME1,              "客户名称
         KUNNR2     type VBPA-KUNNR,              "送达方
         NAME2      type KNA1-NAME1,              "送达方名称
         BSTKD      type VBKD-BSTKD,              "项目名称
         AUDAT      type VBAK-AUDAT,              "凭证日期
         VDATU      type VBAK-VDATU,              "计划交货日期
         ZTERM      type VBKD-ZTERM,              "收款条件
         AUGRU      type VBAK-AUGRU,              "订货原因 "Add2018.12.21 by li
         PRSDT      type VBKD-PRSDT,              "定价日期
         PLTYP      type VBKD-PLTYP,              "价格清单
         ZZCARNU    type VBAK-ZZCARNU,            "车号
         ZZPCJHD    type VBAK-ZZPCJHD,            "派车单号
         TEXT1      type CHAR255,
         WAERK      type VBAK-WAERK,              "货币单位
         MATNR      type VBAP-MATNR,              "物料编号
         ARKTX      type VBAP-ARKTX,              "物料描述
         KWMENG     type VBAP-KWMENG,             "订单数量
         VRKME      type VBAP-VRKME,              "销售计量单位
         KSCHL      type KOMV-KSCHL,              "定价条件
         KBETR      type KOMV-KBETR,              "单价(含税)
*<<<Add 2018.12.28 by li start 增加折扣
         MVGR2      type VBAP-MVGR2,              "附加数据 折扣
*>>>Add 2018.12.28 by li end
         KMEIN      type KOMV-KMEIN,              "定价单位
         ZZWIDTH    type VBAP-ZZWIDTH,            "宽(mm)
         ZZHEIGHT   type VBAP-ZZHEIGHT,           "高(mm)
         ZZAREA     type VBAP-ZZAREA,             "面积(m2)
         ZZNOP      type VBAP-ZZNOP,              "片数
         ZZWINNU    type VBAP-ZZWINNU,            "窗型编号
         ZZWINPL    type VBAP-ZZWINPL,            "窗型位置
         ZZYXX      type VBAP-ZZYX,               "异性(x)
         ZZYPX      type VBAP-ZZYP,               "异片(x)
         ZZDKQ      type VBAP-ZZDKQ,              "打孔数量
         ZZKJQ      type VBAP-ZZKJQ,              "开角数量
         ZZBQ       type VBAP-ZZBQ,               "标签
         ZZYX       type VBAP-ZZYX,               "异性  "不导入
         ZZYP       type VBAP-ZZYP,               "异片  "不导入
         ZZVBELN_U8 type VBAP-ZZVBELN_U8,         "u8销售订单
         ZZPOSNR_U8 type VBAP-ZZPOSNR_U8,         "u8销售行项目
         TEXT2      type CHAR255,
         VSTEL      type VBAP-VSTEL,
         ZCH        TYPE ZZCH,
       end of TY_CREATE,
*销售订单修改
       begin of TY_UPDATE,
         VBELN      type VBAP-VBELN,              "销售订单
         POSNR      type VBAP-POSNR,              "销售订单行号
**<<<Add 2018.12.20 by li start
         VTWEG      type VBAK-VTWEG, "渠道
         SPART      type VBAK-SPART, "产品组
**>>>Add 2018.12.20 by li end
         UPDKZ_KALK type VBAPVB-UPDKZ_KALK,       "更新标志
         MATNR      type VBAP-MATNR,              "物料编号
         ARKTX      type VBAP-ARKTX,              
 
                    
                     
                    
                 
                    
                