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,