首页 > 其他分享 >批量修改CS02 BOM状态

批量修改CS02 BOM状态

时间:2024-07-17 15:29:12浏览次数:4  
标签:sy gs 批量 CS02 ls stko lv BOM out

  DATA:lt_bom TYPE TABLE OF typ_out.

  DATA: lv_datum   TYPE sy-datum,
        lv_message TYPE char128,
        lv_date    TYPE csap_mbom-datuv.


  DATA: ls_stko    TYPE stko_api01,
        ls_warning TYPE capiflag-flwarning,
        ls_stko2   TYPE stko_api02.


  lv_datum  = sy-datum .

  IF sy-batch IS NOT INITIAL.
    LOOP AT gt_out INTO gs_out.
      IF gs_out-stktx < lv_datum  AND gs_out-stktx IS NOT INITIAL.
        APPEND gs_out TO lt_bom.
        CLEAR gs_out.
      ENDIF.
    ENDLOOP.

  ELSE.
    LOOP AT gt_out INTO gs_out WHERE cbox = 'X'.
      IF gs_out-stktx < lv_datum  AND gs_out-stktx IS NOT INITIAL.
        APPEND gs_out TO lt_bom.
        CLEAR gs_out.
      ENDIF.
    ENDLOOP.
  ENDIF.



  LOOP AT lt_bom ASSIGNING FIELD-SYMBOL(<fs_bom>).

    CLEAR: ls_stko,lv_date,lv_message.

    ls_stko-base_quan = <fs_bom>-bmeng.
    ls_stko-alt_text  = <fs_bom>-stktx.
    ls_stko-bom_status = '02'.
*    lv_date = <fs_bom>-datuv.
*    lv_date = sy-datum.
   WRITE SY-DATUM TO lv_date.
    CALL FUNCTION 'CSAP_MAT_BOM_MAINTAIN'
      EXPORTING
        material           = <fs_bom>-matnr
        plant              = <fs_bom>-werks
        bom_usage          = <fs_bom>-stlan
        alternative        = <fs_bom>-stlal
        valid_from         = lv_date
        i_stko             = ls_stko
        fl_commit_and_wait = 'X'
        fl_default_values  = 'X'
      IMPORTING
       fl_warning         = ls_warning
       o_stko             = ls_stko2
      EXCEPTIONS
        error              = 1
        OTHERS             = 2.


    CALL FUNCTION 'MESSAGE_TEXT_BUILD'
      EXPORTING
        msgid               = sy-msgid
        msgnr               = sy-msgno
        msgv1               = sy-msgv1
        msgv2               = sy-msgv2
        msgv3               = sy-msgv3
        msgv4               = sy-msgv4
      IMPORTING
        message_text_output = lv_message.
    IF sy-subrc <> 0.

      gs_out-type  = 'E'.
      gs_out-msg   = '更新失败:' && lv_message.
      MODIFY gt_out FROM gs_out TRANSPORTING  type msg WHERE matnr = <fs_bom>-matnr AND werks = <fs_bom>-werks.

    ELSE.

      SEARCH lv_message FOR 'changed'.
      IF sy-subrc = 0.
        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
          EXPORTING
            wait = 'X'.
        gs_out-type  = 'S'.
        gs_out-stlst  = '02'.
        gs_out-msg   = '更新成功:'&& lv_message .
        MODIFY gt_out FROM gs_out TRANSPORTING  type  stlst  msg WHERE matnr = <fs_bom>-matnr AND werks = <fs_bom>-werks.
      ELSE.
        gs_out-type  = 'E'.
        gs_out-msg   = '更新失败:' && lv_message.
        MODIFY gt_out FROM gs_out TRANSPORTING  type msg WHERE matnr = <fs_bom>-matnr AND werks = <fs_bom>-werks.
      ENDIF.
    ENDIF.




  ENDLOOP.

 

标签:sy,gs,批量,CS02,ls,stko,lv,BOM,out
From: https://www.cnblogs.com/Anyohh233/p/18307539

相关文章

  • 2024年最新版微信小程序批量检测封禁接口实现代码分享
    ​       ​      <?php//要检测的appid列表$appids=array('appid1','appid2','appid3');//使用实际的appid//循环调用接口检测小程序状态foreach($appidsas$appid){    $url='https://down.ychengsnsm.com/xcx/checkxcx.php?appid='......
  • Python办公自动化:效率飞跃,自动化批量汇总Excel到Word
    Python办公自动化:效率飞跃,自动化批量汇总Excel到Word原创 丹心向阳 数海丹心 2024年06月23日07:30 山东摘要:每个月底,是许多数据分析师的梦魇,尤其是当他们需要从成百上千的Excel报表中汇总数据到Word时。本文将讲述小李如何使用Python自动化技术,几秒钟完成原本需要通宵达旦......
  • WPS批量将图片嵌入单元格
    选中单张图片Ctrl+A全选右键选择图片嵌入单元格注意:它是将图片嵌入在图片左上角所在的单元格内,需要确保每个被嵌入的单元格只有一个图片的左上角在其内部,否则会出现“一个单元格内不能插入多个图片的”的报错......
  • 怎么批量删除文件名里的括号?大家都在找的7个方法在这里
    在某些情况下,如果文件名中包含括号,可能会导致在网络传输过程中出现问题,因为一些网络协议或服务可能不支持特殊字符的传输。可读性问题: 如果文件名中包含括号,可能会降低文件名的可读性,特别是对于人类用户来说。所以今天小编将通过这篇文章为大家介绍结果批量删除文件名里括号......
  • 帝国CMS网站后台对已增加的信息进行批量删除
    (一)、登录后台,单击“栏目”菜单,选择“批量删除信息”子菜单,进入批量删除信息界面: (二)、进入批量删除信息界面:选择数据表选择要删除信息的表。选择栏目选择要删除信息的栏目。按时间删除设置删除某一时间段的信息。按ID删除设置删除某一ID......
  • 帝国CMS网站对前台会员的帐号进行批量删除
    一、登录后台,单击“用户”菜单,选择“批量清理会员”子菜单,进入批量清理会员界面: 二、进入批量清理会员界面:用户名包含字符删除用户名包含此字符的会员,空为不限。邮箱地址包含字符删除邮箱地址包含此字符的会员,空为不限。用户ID介于删除用户ID......
  • Python小工具—批量移除照片背景
    先上代码。fromrembgimportremoveimportcv2importosdeflist_image_files(directory):#支持的图片文件扩展名列表image_extensions=['.jpg','.jpeg','.png','.gif','.bmp','.tiff']#存储找到的图片文件......
  • 部署PXE高效批量网络装机
    目录一、系统装机1、系统装机的方式2、系统的安装过程3、Linux安装光盘的相关文件二、PXE(PrebooteXecutionEnvironment)1、PXE概述2、运行PXE批量部署的优点3、pxe实现的硬件条件4、运行PXE的实现过程5、PXE的实现操作5.1、安装dhcp、vsftpd、tftp-server、syslin......
  • 文件批量转UTF8
    源代码:https://github.com/qianqiu10000/toUTF8.git使用QtCreator开发时经常会碰到乱码的头文件,这个小工具可以将.h/.cpp文件批量转成UTF8格式。使用时将exe文件复制到要转换的文件目录,会在该目录下生成一个UTF8文件夹,转换后的文件都在这里。上一版测试后有点问题,现在增加......
  • mybatisPlus使用sql注入器实现真正批量插入
    注入器packagecom.ruoyi.framework.interceptor;importcom.baomidou.mybatisplus.core.injector.AbstractMethod;importcom.baomidou.mybatisplus.core.injector.DefaultSqlInjector;importcom.baomidou.mybatisplus.extension.injector.methods.InsertBatchSomeColumn......