当前位置: 首页 > news >正文

SAP SD交货单执行跟踪报表分享

一、报表逻辑

二、报表界面

三、报表代码

*&---------------------------------------------------------------------*
*& 程序名: ZRPSD_0002
*& 创建者(公司)/日期:*
*& 程序描述:
*&
*&---------------------------------------------------------------------*
*& 版本/修改者(公司)/日期//修改描述
*&
*&---------------------------------------------------------------------*
REPORT zrpsd_0002 MESSAGE-ID 00.

INCLUDE zrpsd_0002_top."变量定义

INCLUDE zrpsd_0002_f01."核心业务代码

INCLUDE zrpsd_0002_f02."响应事件的代码

INCLUDE zrpsd_0002_c01."Class Definition

INCLUDE zrpsd_0002_s01."ALV显示与控制

INCLUDE lzfgsd0001f11.

INITIALIZATION.

  PERFORM frm_set_init_val.

START-OF-SELECTION.

  PERFORM frm_check_authorization.

  PERFORM frm_get_data.

  PERFORM frm_get_rate .

  PERFORM frm_process_data.

  PERFORM frm_show_alv USING gt_data.

*&---------------------------------------------------------------------*
*& 包含               ZRPSD_0002_TOP
*&---------------------------------------------------------------------*
TABLES:likp,lips,vbak.

* Switch for list display yes / no
DATA:gv_list_display TYPE sap_bool.
* Reference for container control
DATA:gr_cont TYPE REF TO cl_gui_custom_container.
* Reference for ALV instance
DATA:gr_alv TYPE REF TO cl_salv_table.
* Reference for error situations
DATA:gr_error TYPE REF TO cx_salv_error.

*DATA:gt_data TYPE TABLE OF zvsdrpsd0002info.
TYPES :BEGIN OF gs_data.
         INCLUDE STRUCTURE zvsdrpsd0002info.
TYPES:
         zabc              TYPE zde_zabc,
         zcpb              TYPE zde_zcpb,

         zpp               TYPE ztmm_mara-zpp,
         zmk               TYPE ztmm_mara-zmk,
         zjd               TYPE ztmm_mara-zjd,
         zsmzz             TYPE ztmm_mara-zsmzz,
         zzzd              TYPE ztmm_mara-zzzd,

         zbzll             TYPE ztmm_mara-zbzll, "标准良率
         zbyzd1            TYPE ztmm_mara-zbyzd1, "备用字段1
         zbyzd2            TYPE ztmm_mara-zbyzd2, "备用字段2
         zbyzd3            TYPE ztmm_mara-zbyzd3, "备用字段3
         zxh(10),"  组合   TYPE ZTMM_MARA-ZABC,
         bu_sort1          TYPE bu_sort1,
         zprice_iv         TYPE zde_price_iv,
         zcurrency_account TYPE waers.
TYPES END OF gs_data.
DATA gt_data TYPE TABLE OF gs_data.

*----------->>ADDED BY HELQ 30.06.2023 14:36:45
DATA:BEGIN OF gs_0042,
       ebeln TYPE ztmm0042-ebeln,
       bstnk TYPE ztmm0042-bstnk,
     END OF gs_0042,
     gt_0042 LIKE TABLE OF gs_0042.
*END OF THIS SECTION BY HELQ 30.06.2023 14:36:45-----------<<

DATA:gt_price_in  TYPE TABLE OF zssd_price_query_in WITH HEADER LINE,
     gt_price_out TYPE TABLE OF zssd_price_query_out WITH HEADER LINE.

DATA:r_vkorg TYPE RANGE OF likp-vkorg.
DATA gh_check(1).
DATA:BEGIN OF gs_rate,
       waerk       TYPE likp-waerk,
       exch_rate   TYPE bapi1093_0-exch_rate,
       from_factor TYPE bapi1093_0-from_factor,
       to_factor   TYPE bapi1093_0-to_factor,
     END OF gs_rate,
     gt_rate LIKE TABLE OF gs_rate.

SELECTION-SCREEN BEGIN OF BLOCK b_01 WITH FRAME TITLE TEXT-001.
  SELECT-OPTIONS:
    s_lfart FOR likp-lfart,
    s_vbeln FOR likp-vbeln,
    s_vgbel FOR lips-vgbel,
    s_kunag FOR likp-kunag,
    s_kunnr FOR likp-kunnr,
    s_vkorg FOR likp-vkorg OBLIGATORY,
    s_werks FOR lips-werks,
    s_matnr FOR lips-matnr,
    s_cmgst FOR likp-cmgst,
    s_FKSTK FOR likp-FKSTK,
    s_FKIVK FOR likp-FKIVK,
    s_wadat FOR likp-wadat,
    s_wadata FOR likp-wadat_ist,
    s_erdat FOR likp-erdat,
    s_ernam FOR likp-ernam.
SELECTION-SCREEN END OF BLOCK b_01.

SELECTION-SCREEN BEGIN OF BLOCK b_03 WITH FRAME TITLE TEXT-003.
  PARAMETERS:p_nshipp RADIOBUTTON GROUP g1 USER-COMMAND uc MODIF ID mi1,
             p_shipp  RADIOBUTTON GROUP g1 MODIF ID mi1,
             p_all    RADIOBUTTON GROUP g1 MODIF ID mi1 DEFAULT 'X'.
SELECTION-SCREEN END OF BLOCK b_03.

SELECTION-SCREEN BEGIN OF BLOCK b_02 WITH FRAME TITLE TEXT-002.
  PARAMETERS:p_layout TYPE slis_vari.
SELECTION-SCREEN END OF BLOCK b_02.

*&---------------------------------------------------------------------*
*& 包含               ZRPSD_0002_F01
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form frm_check_authorization
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM frm_check_authorization .

  DATA:lt_values TYPE TABLE OF us335 WITH HEADER LINE .

  CALL FUNCTION 'GET_AUTH_VALUES'
    EXPORTING
      object1           = 'V_VBAK_VKO'
      user              = sy-uname
      tcode             = sy-tcode
    TABLES
      values            = lt_values
    EXCEPTIONS
      user_doesnt_exist = 1
      OTHERS            = 2.

  IF s_vkorg[] IS NOT INITIAL AND s_vkorg[ 1 ]-low NE '*'.
    SELECT * FROM tvkot INTO TABLE @DATA(lt_tvkot) WHERE vkorg IN @s_vkorg.
    LOOP AT lt_tvkot INTO DATA(lw_tvkot).
      AUTHORITY-CHECK OBJECT 'V_VBAK_VKO' ID 'VKORG' FIELD lw_tvkot-vkorg
      ID 'VTWEG' DUMMY ID 'SPART' DUMMY ID 'ACTVT' FIELD '03'.
      IF sy-subrc <> 0.
        MESSAGE e398(00) WITH '无销售组织权限:' && lw_tvkot-vkorg.
      ELSE.
        r_vkorg = VALUE #( BASE r_vkorg ( sign = 'I' option = 'EQ' low = lw_tvkot-vkorg ) ).
      ENDIF.
    ENDLOOP.
  ELSE.
    LOOP AT lt_values WHERE object = 'V_VBAK_VKO' AND field = 'VKORG' .
      IF lt_values-lowval IS NOT INITIAL AND lt_values-highval IS NOT INITIAL.
        r_vkorg = VALUE #( BASE r_vkorg ( sign = 'I' option = 'BT' low = lt_values-lowval high = lt_values-highval ) ) .
        DATA(flg_msg) = abap_on .
      ELSEIF lt_values-lowval NA '*'AND lt_values-highval IS  INITIAL."Ls_values-lowval IS NOT INITIAL AND
        r_vkorg = VALUE #( BASE r_vkorg ( sign = 'I' option = 'EQ' low = lt_values-lowval high = lt_values-highval ) ) .
      ELSEIF lt_values-lowval CA '*'.
        r_vkorg = VALUE #( BASE r_vkorg ( sign = 'I' option = 'CP' low = lt_values-lowval high = lt_values-highval ) ) .
      ENDIF.
    ENDLOOP.
  ENDIF.
  IF r_vkorg[] IS INITIAL.
    MESSAGE e398(00) WITH '无销售组织权限!' .
  ENDIF.

  IF flg_msg = abap_on .
    MESSAGE '未显示权限不足数据!' TYPE 'S'.
    flg_msg = abap_off .
  ENDIF.

*  SELECT * FROM tvkot INTO TABLE @DATA(lt_tvkot)
*    WHERE vkorg IN @s_vkorg.
*
*  LOOP AT lt_tvkot ASSIGNING FIELD-SYMBOL(<fs_tvkot>).
*    AUTHORITY-CHECK OBJECT 'V_VBAK_VKO'
*     ID 'VKORG' FIELD <fs_tvkot>-vkorg
*     ID 'VTWEG' DUMMY
*     ID 'SPART' DUMMY
*     ID 'ACTVT' FIELD '03'.
*    IF sy-subrc <> 0.
*      MESSAGE e398(00) WITH '无销售组织权限:' && <fs_tvkot>-vkorg.
*    ENDIF.
*  ENDLOOP.
*  CLEAR:lt_tvkot.
ENDFORM.
*&---------------------------------------------------------------------

http://www.dtcms.com/a/524943.html

相关文章:

  • vs code工具新手操作技巧
  • Delft3D建模、水动力模拟方法及在地表水环境影响评价中的实践技术应用
  • Python多态与继承详解
  • 详解c++中的文件流
  • 2017网站建设费用html网页设计毕业设计作品
  • 单页响应式网站模板html5电商网页制作
  • PaddleOCR-VL:紧凑型0.9B参数模型在多语言文档解析领域表现卓越
  • syssetup!Wizard函数分析之comctl32!_CreatePropertySheetPage
  • Python爬虫数据存储:MySQL实战教程
  • 网站源码免费的电影网站页面seo
  • 青岛建设工程信息网站银川360推广 网站建设
  • 阿里云国际站GPU:怎么使用Workbench工具以SSH协议登录Linux实例?
  • Linux中内核基础设置函数do_basic_setup的实现
  • 乳腺癌良性和恶性图像分类数据集
  • C++通用业务标准库中常用接口函数总结
  • 永久免费的移动建站平台网站备案没通过
  • 汕头建网站国家高新技术企业认定有什么好处
  • 【数论】欧拉定理 扩展欧拉定理
  • 正能量网站入口免费安全想学做网站从哪里入手
  • 南宁网站制作最新招聘信息wordpress文章插件
  • 基于python大数据技术的医疗数据分析与研究
  • 1.Go基础知识入门
  • Linux内核InfiniBand连接管理器(CM)深度解析:架构设计与实现原理
  • 网站网站开发者犯法吗网站负责人
  • Arbess从入门到实战(17) - 使用Arbess+GitPuk+SonarQube实现Java项目代码扫描及自动化部署
  • 开发避坑指南(65):JDK21升级遇NoSuchFieldError:Lombok兼容性修复
  • 周口住房和城乡建设网站大龄工找工作哪个网站好
  • 【DecEx-RAG】
  • 数据结构算法题:list
  • ArkTs-Android 与 ArkTS (HarmonyOS) 存储目录全面对比