采购信息记录批导完美版

*&---------------------------------------------------------------------*
*& Report ZMMR036
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ZMMR036B.


INCLUDE ZMMR036B_TOP.
*INCLUDE ZMMR036_top.

INCLUDE ZMMR036B_SCR.
*INCLUDE ZMMR036_scr.

INCLUDE ZMMR036B_FRM.
*INCLUDE ZMMR036_frm.




INITIALIZATION.
  "下载模板按钮
* 工具栏添加下载模板按钮
  CLEAR g_function_key.
  g_function_key-icon_id   = icon_read_file.
  g_function_key-icon_text = '供应商导入模版下载'.
  g_function_key-quickinfo = '供应商导入模版下载'.
  sscrfields-functxt_01 = g_function_key.

*----------------------------------------------------------------------*
*           AT SELECTION-SCREEN OUTPUT                                 *
*----------------------------------------------------------------------*
*显示注释
AT SELECTION-SCREEN OUTPUT.
*  MOVE '1、请选择正确的模板填写数据'  TO T1.
*  MOVE '1、请严格按照模板要求填写数据'  TO t2.

*----------------------------------------------------------------------*
*           AT SELECTION-SCREEN                                        *
*----------------------------------------------------------------------*
AT SELECTION-SCREEN.
* 下载数据导入模板
  IF sscrfields-ucomm = 'FC01'.
    PERFORM frm_excel_down.
    sscrfields-ucomm = ''.
  ENDIF.
*----------------------------------------------------------------------*
*           AT SELECTION-SCREEN  ON VALUE-REQUEST                      *
*----------------------------------------------------------------------*
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
* 选择文件搜索帮助
  PERFORM frm_set_file_f4 USING p_file.




START-OF-SELECTION.
* 文件必输校验
  PERFORM frm_file_obligatory.
* 批量导入数据
  if r_1 eq 'X' .
  PERFORM frm_upload_data.    "模版阶梯纵向
  ENDIF .
  IF R_2 EQ 'X' .
  PERFORM frm_upload_data2.  "模版阶梯横向
  ENDIF .
END-OF-SELECTION.
* alv显示
* PERFORM frm_display_data.
  perform  frm_display_alv2 .
 

*&---------------------------------------------------------------------*
*& 包含               ZMMR036_TOP
*&---------------------------------------------------------------------*

TABLES sscrfields.
INCLUDE <list>.
INCLUDE <icon>.

DATA:   g_function_key TYPE smp_dyntxt .         "功能按钮
DATA: lv_msg TYPE string.


DATA: gs_bdcdata LIKE bdcdata,
      gs_messtab LIKE bdcmsgcoll.
DATA: gt_bdcdata LIKE TABLE OF bdcdata.   "OCCURS 0 WITH HEADER LINE.
DATA:  gwa_messtab LIKE bdcmsgcoll.
DATA: gt_messtab LIKE TABLE OF bdcmsgcoll." O
DATA: l_option TYPE ctu_params.

DATA: wa_eina     TYPE eina,
      wa_eine     TYPE eine,
      wa_eina_new TYPE eina,
      wa_eine_new TYPE eine.


DATA: it_head TYPE STANDARD TABLE OF mestxh,
      it_line TYPE STANDARD TABLE OF mestxl.


DATA: it_eina TYPE STANDARD TABLE OF eina WITH HEADER LINE,
      it_eine TYPE STANDARD TABLE OF eine.


DATA: return TYPE STANDARD TABLE OF bapireturn WITH HEADER LINE.
DATA: l_netpr LIKE ekpo-netpr.
DATA: l_komv TYPE komv,
      l_ekpo TYPE ekpo.

DATA: BEGIN OF gs_alv ,
        matnr    LIKE eina-matnr, "物料
        lifnr    LIKE eina-lifnr, " 供应商编号
        vkorg    LIKE eine-ekorg, "采购组织
        werks    LIKE eine-werks, " 工厂
*        netpr LIKE eine-netpr," 净价
        netpr    TYPE string,
        mwskz    LIKE eine-mwskz ,  "税率
*        peinh    LIKE eine-peinh, " 价格单位
        peinh    TYPE string,  " 价格单位
        waers    LIKE eine-waers , "币种
*        lifab LIKE wa_eina-lifab ,  "
*        lifbi LIKE wa_eina-lifbi  , "
        lifab    TYPE string ,  "
        lifbi    TYPE string  , "
        kstbm    LIKE  konm-kstbm , "等级
        kbetr    LIKE  konm-kbetr , "等级价格
        p        TYPE c,
        w        TYPE c,
        mark     TYPE c,
        light(4),
        result   TYPE c LENGTH 100,

      END OF gs_alv .
DATA : gt_alv LIKE   TABLE OF gs_alv .



DATA: gt_fieldcat TYPE TABLE OF  slis_fieldcat_alv.
DATA: gs_fieldcat TYPE slis_fieldcat_alv.
DATA: gs_layout TYPE slis_layout_alv .


DATA:  gv_c TYPE c ."有效期重叠控制


DATA: ls_alv  LIKE gs_alv .
DATA: lt_alv LIKE TABLE OF gs_alv .
DATA: ls_alv2  LIKE gs_alv .
DATA: lt_alv2 LIKE TABLE OF gs_alv .
 

 

*&---------------------------------------------------------------------*
*& 包含               ZMMR036_SCR
*&---------------------------------------------------------------------*

SELECTION-SCREEN BEGIN OF BLOCK blk02 WITH FRAME TITLE TEXT-005.
PARAMETERS p_file LIKE rlgrap-filename.
SELECTION-SCREEN END OF BLOCK blk02.

*SELECTION-SCREEN BEGIN OF BLOCK blk03 WITH FRAME TITLE TEXT-006.
PARAMETERS : r_1 RADIOBUTTON GROUP g1 .
PARAMETERS : r_2 RADIOBUTTON GROUP g1 DEFAULT 'X' .
*SELECTION-SCREEN BEGIN OF BLOCK blk03 WITH FRAME TITLE TEXT-006.

PARAMETERS : r_3 RADIOBUTTON GROUP g2 .
PARAMETERS : r_4 RADIOBUTTON GROUP g2 .


PARAMETERS : cb_1 AS CHECKBOX .
*PARAMETERS : cb_2 AS CHECKBOX .
 

*&---------------------------------------------------------------------*
*& 包含               ZMMR036_FRM
*&---------------------------------------------------------------------*

FORM frm_file_obligatory .
  IF p_file IS INITIAL.
    MESSAGE '请选择导入的文件' TYPE 'S' DISPLAY LIKE 'E'.
    LEAVE LIST-PROCESSING.
  ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form FRM_UPLOAD_DATA
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM frm_upload_data .
* 局部变量的定义
  DATA:lt_excel TYPE TABLE OF alsmex_tabline.        "参照类型有标准的调整为ZALSMEX_TABLINE_LINE。
  DATA:    ls_excel TYPE alsmex_tabline.

***  IF RB1 = 'X'.
  CLEAR gt_alv.
* 选择文件后做后续处理
  CHECK p_file IS NOT INITIAL.
* 把文件的数据变成内表
  CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
    EXPORTING
      filename                = p_file
      i_begin_col             = 1
      i_begin_row             = 2
      i_end_col               = 16
      i_end_row               = 5000
      "SHEET_NAME              = '新增修改扩展'
    TABLES
      intern                  = lt_excel
    EXCEPTIONS
      inconsistent_parameters = 1
      upload_ole              = 2
      OTHERS                  = 3.

* 处理内表数据
  CLEAR ls_excel.


  LOOP AT lt_excel INTO ls_excel.




    CASE ls_excel-col.
      WHEN 1.
        gs_alv-lifnr             = ls_excel-value."供应商代码 (4)
      WHEN 3.
        gs_alv-matnr            = ls_excel-value."物料代码(4)
      WHEN 5.
        gs_alv-vkorg             = ls_excel-value."采购组织(4)
      WHEN 6.
        gs_alv-werks             = ls_excel-value."工厂 (4)
      WHEN 7.
        gs_alv-netpr             = ls_excel-value."净价 (4)
      WHEN 8.
        gs_alv-waers             = ls_excel-value."币种(4)WHEN 1.
      WHEN 9.
        gs_alv-peinh             = ls_excel-value."价格系数(4)WHEN 1.
      WHEN 10.
        gs_alv-mwskz             = ls_excel-value."税码(4)WHEN 1.
      WHEN 11.
        gs_alv-lifab             = ls_excel-value."有效开始日期 (4)WHEN 1.
      WHEN 12.
        gs_alv-lifbi             = ls_excel-value."有效结束日期 (4)WHEN 1.
      WHEN 13.
        gs_alv-p                 = ls_excel-value."采购
      WHEN 14.
        gs_alv-w                 = ls_excel-value."委外
      WHEN 15.
        gs_alv-kstbm            = ls_excel-value."阶梯数量
      WHEN 16.
        gs_alv-kbetr             = ls_excel-value."阶梯价



    ENDCASE.
    AT END OF row.
      APPEND gs_alv TO gt_alv.
      CLEAR gs_alv.
    ENDAT.

  ENDLOOP .

*  下面是供应商导入程序
*  LOOP AT lt_excel INTO ls_excel.
*    CASE ls_excel-col.
*      WHEN 1.
*        gs_alv-partner          = ls_excel-value."SAP 供应商号码 (10)
*        IF gs_alv-partner IS NOT INITIAL.
*          CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
*            EXPORTING
*              input  = gs_alv-partner
*            IMPORTING
*              output = gs_alv-partner.
*        ENDIF.
*
*
*
*      WHEN 2.
*        gs_alv-bukrs            = ls_excel-value."公司代码 (4)
*      WHEN 3.
*        gs_alv-ekorg            = ls_excel-value."采购组织代码 (4)
*      WHEN 4.
*        gs_alv-bu_group         = ls_excel-value."分组(4)
*      WHEN 5.
*        gs_alv-name_org1        = ls_excel-value."供应商名称 1 (40)
*      WHEN 6.
*        gs_alv-name_org2        = ls_excel-value."供应商名称 2(40)
*      WHEN 7.
*        gs_alv-name_org3        = ls_excel-value."供应商名称 3 (40)
*      WHEN 8.

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
ABAP采购信息记录批导完美版是一个用于管理采购信息的工具,它能够提高采购过程的效率和准确性。它通过自动化数据输入和处理,减少了人工操作的复杂性和错误的风险。 ABAP采购信息记录批导完美版具有以下特点: 1. 界面友好:它采用直观的界面设计,使操作者能够轻松地理解和使用系统。关键信息和功能按钮都能一目了然,提高了用户的操作效率。 2. 自动化导入:该系统能够自动导入采购信息,减少人工输入的时间和精力。用户只需要将采购信息以指定的格式准备好,然后系统将自动导入并进行处理。 3. 数据校验:在导入采购信息之前,系统能对数据进行校验,确保数据的完整性和准确性。如果数据不符合规定的格式或条件,系统将提醒用户进行修改。 4. 批量处理:ABAP采购信息记录批导完美版支持批量处理多个采购信息。用户只需要一次性导入多个采购信息,系统将自动逐个进行处理,大大提高了处理效率。 5. 错误提示和回滚:当系统发现错误或异常情况时,会及时向用户提供错误提示信息,帮助用户快速定位和修复问题。同时,系统还支持回滚操作,即取消已导入采购信息,确保数据的一致性和准确性。 总之,ABAP采购信息记录批导完美版是一个功能强大、操作简便的采购信息管理工具。它能够帮助企业提高采购过程的效率,减少人为错误,提升工作效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT养家和SAP养家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值