无法通过BDC从Excel导入数据

2020-09-04 14:22发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中) 内部表: IT_FINA...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


内部表: IT_FINAL

工作区: WA_FINAL

下面的Excel文件

下面的自定义表格

BDC录制过程:SE11--显示表---创建条目---保存。

报告YBDC_PROJECT。
 *包含Z声明。
 *包括YBDC。
 *包括YBUILD_ALV。
 类型:Itab的Begin,
  EMP_CODE类型PERSNO,
  EMP_NAME键入PAD_CNAME,
  EMP_JOIN_DATE类型BEGDA,
  EMP_DEPT类型Y_DEPT,
  EMP_DESIGNATION类型Y_DESIG,
  SAL_HRA Type P长度10,
  SAL_BASIC Type P长度10,
  SAL_CNV Type P长度10,
  总计P型长度15
 Itab的结尾。
 数据:itab的IT_FINAL类型标准表,
  WA_FINAL就像IT_FINAL行一样,
  RAWSTRUCT类型TRUXS_T_TEXT_DATA,
  IT_FCAT类型SLIS_T_FIELDCAT_ALV,
  WA_FCAT类似于IT_FCAT行。
 SELECTION屏幕-带帧的B1块的开始。
  参数:Loc_file类型rlgrap文件名。
 选择-屏幕结束B1。
 在SELECTION屏幕上loc_file的Value-REQUEST上。
 执行上载。
 执行转换。
 执行创建。
 执行ALV。
 *&------------------------------------------------  --------------------- *
 *&表格上传
 *&------------------------------------------------  --------------------- *
 *文字
 * -------------------------------------------------  --------------------- *
 *-> p1文字
 * <-p2文字
 * -------------------------------------------------  --------------------- *
 表格UPLOAD。
  调用函数" F4_FILENAME"
  出口
  PROGRAM_NAME = SYST-CPROG
  DYNPRO_NUMBER = SYST-DYNNR
  FIELD_NAME =''
  输入
  FILE_NAME = loc_file
  。
 最终形式。 上载
 *&------------------------------------------------  --------------------- *
 *&表格创建
 *&------------------------------------------------  --------------------- *
 *文字
 * -------------------------------------------------  --------------------- *
 *-> p1文字
 * <-p2文字
 * -------------------------------------------------  --------------------- *
 表单创建。
 断点。
  在IT_FINAL处循环进入WA_FINAL。
  调用函数'YBDC_PROJECT2'
  出口
  CTU ='X'
  模式='N'
  更新='L'
 *组=
 *用户=
 *保持=
 * HOLDDATE =
  NODATA ='/'
  TBMA_001 ='X'
  TBMA_VAL_002 ='YIT_EMP_MASTER'
  VIMA_VAL_003 ='YIT_EMP_MASTER'
  EMP_CODE_004 = WA_FINAL-EMP_CODE" 9"
  EMP_NAME_005 = WA_FINAL-EMP_NAME"'USER TEST 9'
  EMP_JOIN_DATE_006 = WA_FINAL-EMP_JOIN_DATE" '03 .08.2010'
  EMP_DEPT_007 = WA_FINAL-EMP_DEPT"'IT DEPARTMENT'
  EMP_DESIGNATION_008 = WA_FINAL-EMP_DESIGNATION"'TRAINEE'
 *重要
 * SUBRC =
 *桌子
 * MESSTAB =
  。
  结局。
 ENDFORM。  " 创造
 *&------------------------------------------------  --------------------- *
 *&表格转换
 *&------------------------------------------------  --------------------- *
 *文字
 * -------------------------------------------------  --------------------- *
 *-> p1文字
 * <-p2文字
 * -------------------------------------------------  --------------------- *
 表单转换。
  调用函数" TEXT_CONVERT_XLS_TO_SAP"
  出口
 * I_FIELD_SEPERATOR =
 * I_LINE_HEADER =
  I_TAB_RAW_DATA = RAWSTRUCT
  I_FILENAME = LOC_FILE
  桌子
  I_TAB_CONVERTED_DATA = IT_FINAL
  例外情况
  CONVERSION_FAILED = 1
  其他= 2
  。
  删除IT_FINAL索引1。
 最终形式。  " 兑换
 表格ALV。
 使用'X''EMP_CODE''雇员代码''1''IT_FINAL''20'''执行BUILD_FCAT。
 使用'X''EMP_NAME''雇员名称''2''IT_FINAL''20'''执行BUILD_FCAT。
 使用'X''EMP_JOIN_DATE''加入日期''3''IT_FINAL''15'''执行BUILD_FCAT。
 使用'X''EMP_DEPT''部门''4''IT_FINAL''15'''执行BUILD_FCAT。
 使用'X''EMP_DESIGNATION''名称''5''IT_FINAL''15'''执行BUILD_FCAT。
 使用'X''SAL_HRA''房屋租金津贴''6''IT_FINAL''25''X'执行BUILD_FCAT。
 使用'X''SAL_BASIC''Basic Salary''7''IT_FINAL''10''X'执行BUILD_FCAT。
 使用" X"," SAL_CNV","运输津贴"," 8"," IT_FINAL"," 25"," X"执行BUILD_FCAT。
 使用'''TOTAL''Total''9''IT_FINAL''15'''执行BUILD_FCAT。
  调用函数" REUSE_ALV_GRID_DISPLAY"
  出口
  IT_FIELDCAT = IT_FCAT
  桌子
  T_OUTTAB = IT_FINAL
  。
 ENDFORM。
 使用CHECKBOX的BUILD_FCAT表格
  FIELDNAME
  SELTEXT_M
  COL_POS
  标签名称
  输出镜头
  编辑。
  WA_FCAT-CHECKBOX =复选框。
  WA_FCAT-FIELDNAME = FIELDNAME。
  WA_FCAT-SELTEXT_M = SELTEXT_M。
  WA_FCAT-COL_POS = COL_POS。
  WA_FCAT-TABNAME = TABNAME。
  WA_FCAT-outputlen = outputlen。
  WA_FCAT-edit =编辑。
  将WA_FCAT追加到IT_FCAT。
  清除WA_FCAT。
 最终形式。  " BUILD_FCAT 

(6.0 kB)