如何从程式中传入内表中的数据到maintain view, 以便数据显示时按照某两个栏位排序

来源:互联网 发布:复制淘宝口令怎么使用 编辑:程序博客网 时间:2024/06/05 06:24

 

*&---------------------------------------------------------------------*
*& Report  ZMMBD00005_V
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  ZMMBD00005_V.
INCLUDE: ZSD_AUTHORIT.
TABLES:ZMMBD00005.
DATA: IT_SELLIST LIKE VIMSELLIST OCCURS 0 WITH HEADER LINE.
DATA: IT_VIMSELLIST LIKE VIMSELLIST OCCURS 1 WITH HEADER LINE.
DATA: IT_VIMDESC    LIKE VIMDESC    OCCURS 1 WITH HEADER LINE.
DATA: IT_VIMNAMTAB  LIKE VIMNAMTAB  OCCURS 1 WITH HEADER LINE.
DATA: IT_VIMEXCLFUN LIKE VIMEXCLFUN OCCURS 1 WITH HEADER LINE.
DATA: G_TABLE LIKE DD02V-TABNAME VALUE 'ZMMBD00005'.
DATA: G_ACTION(1).
DATA: L_ZMMBD00005 LIKE ZMMBD00005 OCCURS 0 WITH HEADER LINE.
RANGES: R_CUSPF FOR ZMMBD00005-CUSPF,
        R_FG_STY 
FOR ZMMBD00005-FG_STYLE,
        R_MVGR1 
FOR ZMMBD00005-MVGR1.
SELECTION-SCREEN : BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETERS: P_CUSPF  LIKE ZMMBD00005-CUSPF OBLIGATORY MEMORY ID CUSPF,
            P_FG_STY 
LIKE ZMMBD00005-FG_STYLE,
            P_MVGR1  
LIKE ZMMBD00005-MVGR1.
SELECTION-SCREEN:END OF BLOCK B1.

AT SELECTION-SCREEN.
  
PERFORM CHECK_AUTH.

START-OF-SELECTION.
  G_ACTION 
= 'U'.
  
CALL FUNCTION 'ENQUEUE_EZPACK'
    
EXPORTING
      MODE_ZMMBD00005 
= 'E'
      MANDT           
SY-MANDT
      CUSPF           
P_CUSPF
    
EXCEPTIONS
      FOREIGN_LOCK    
= 1
      SYSTEM_FAILURE  
= 2
      
OTHERS          = 3.
  
IF SY-SUBRC <> 0.
    
MESSAGE ID SY-MSGID TYPE 'I' NUMBER SY-MSGNO
       
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    G_ACTION 
= 'S'.
  
ENDIF.

  
CALL FUNCTION 'VIEW_GET_DDIC_INFO'
    
EXPORTING
      VIEWNAME        
G_TABLE
    
TABLES
      SELLIST         
IT_VIMSELLIST
      X_HEADER        
IT_VIMDESC
      X_NAMTAB        
IT_VIMNAMTAB
    
EXCEPTIONS
      NO_TVDIR_ENTRY  
= 1
      TABLE_NOT_FOUND 
= 2
      
OTHERS          = 3.
  
IF SY-SUBRC <> 0.
  
ENDIF.

  REFRESH: R_CUSPF, R_FG_STY, R_MVGR1.
  IF P_CUSPF IS NOT INITIAL.

    R_CUSPF-SIGN = 'I'. R_CUSPF-OPTION = 'EQ'. 

R_CUSPF-LOW = P_CUSPF. APPEND R_CUSPF.
  ENDIF.

  IF P_FG_STY IS NOT INITIAL.
    R_FG_STY-SIGN = 'I'.  

R_FG_STY-OPTION = 'EQ'.  

R_FG_STY-LOW = R_FG_STY.  

APPEND R_FG_STY.
  ENDIF.

  IF P_MVGR1 IS NOT INITIAL.

    R_MVGR1-SIGN = 'I'.   R_MVGR1-OPTION = 'EQ'.

 R_MVGR1-LOW = P_CUSPF.  APPEND R_MVGR1.
  ENDIF.

  SELECT * INTO TABLE L_ZMMBD00005
    FROM ZMMBD00005
    WHERE CUSPF     IN R_CUSPF
      AND FG_STYLE  IN R_FG_STY
      AND MVGR1     IN R_MVGR1.

 SORT L_ZMMBD00005.
  EXPORT L_ZMMBD00005 TO MEMORY ID 'M1' .


  
CALL FUNCTION 'VIEW_MAINTENANCE'
    
EXPORTING
      VIEW_ACTION    
G_ACTION
      VIEW_NAME      
G_TABLE
    
TABLES
      X_HEADER       
IT_VIMDESC
      X_NAMTAB       
IT_VIMNAMTAB
      DBA_SELLIST    
IT_VIMSELLIST
      EXCL_CUA_FUNCT 
IT_VIMEXCLFUN
    
EXCEPTIONS
      FOREIGN_LOCK   
= 2
      SYSTEM_FAILURE 
= 11
      
OTHERS         = 15.
  
IF SY-SUBRC <> 0.
  
ENDIF.


*&---------------------------------------------------------------------*
*&      Form  CHECK_AUTH
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM CHECK_AUTH .
  
DATA:  L_VKGRP LIKE ZSDBD00001-VKGRP,
         L_ERROR
(1),
         L_ACTVT 
TYPE LINE VALUE '03'.
  
CLEAR: L_VKGRPL_ERROR .

  
SELECT SINGLE VKGRP INTO L_VKGRP
    
FROM ZSDBD00001
    
WHERE CUSPF P_CUSPF.
  
IF SY-SUBRC = 0.
    
PERFORM F_SD_CHECK_SALES_GROUP_VSN2
         
USING     ''      L_VKGRP  L_ACTVT
         
CHANGING  L_ERROR.
    
IF L_ERROR = 'Y'.
      
MESSAGE ID 'ZSD' TYPE 'E' NUMBER '004' WITH '' L_VKGRP .
    
ENDIF.
  
ENDIF.

ENDFORM.                    " CHECK_AUTH

 

 

 

对应maintain vieweventAA对应FORM代码

FORM INITIAL_DATA.
  DATA: L_ZMMBD00005 LIKE ZMMBD00005 OCCURS 0 WITH HEADER LINE.
  IMPORT L_ZMMBD00005 FROM MEMORY ID 'M1'.

  total[] =  L_ZMMBD00005[].
  extract[] =  L_ZMMBD00005[].

ENDFORM.                    "INITIAL_DATA

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 白色衣服用84泡后变黄怎么办 用祛斑霜脱皮了怎么办 用祛斑霜脸一直蜕皮怎么办 吃热的就流鼻涕怎么办 键盘qaz失灵其他都没事怎么办 时时彩代理抓了怎么办 6p升级ios11卡顿怎么办 微信弄没了又换号了怎么办 快手账号异常请去激活怎么办 九游账号被转移怎么办 绝地求生刺激战场闪退怎么办 qq回执编号忘了怎么办 电脑开机要用户名和密码怎么办 电脑忘记用户名和密码怎么办 微信账号密码忘了怎么办 开发者账号密保忘记怎么办 华为账号忘记密保问题怎么办 fiyme账号忘记密保怎么办 id忘了密保问题怎么办 vivo账号密码忘记了怎么办 步步高账号密码忘了怎么办 步步高手机账号密码忘了怎么办 康佳电视通行证忘了怎么办 尚游通行证忘了怎么办 深圳免限行通行证忘了截图怎么办 电脑把管理员账号删除了怎么办 uc新浪加载失败怎么办红包还 微信忘记账号和密码怎么办 苹果手机忘记id密码怎么办 购买游戏账号被找回怎么办 交易猫账号忘了怎么办 爱奇艺账号怎么修改不了密码怎么办 论文目录显示错误未定义书签怎么办 银行账号被冻结了怎么办 哈罗单车账号被冻结怎么办 麻袋赚赚账号被冻结怎么办 网赌账号被冻结怎么办 梦想城镇账号被冻结怎么办 钱被银行冻结了怎么办 百度云账号密码忘了怎么办 微信钱包忘记密码了怎么办