PFCG 复合角色创建/删除

编程入门 行业动态 更新时间:2024-10-25 09:28:08

PFCG 复合<a href=https://www.elefans.com/category/jswz/34/1771328.html style=角色创建/删除"/>

PFCG 复合角色创建/删除

目录

一、程序源代码

二、批导数据模版


一、程序源代码

*&---------------------------------------------------------------------*
*& Report  ZFIU026
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*REPORT ZFIU026.TABLES: SSCRFIELDS.
SELECTION-SCREEN FUNCTION KEY 1.TYPES: BEGIN OF TYP_UPLOAD,AGR_NAME TYPE STR_AGRS-AGR_NAME,"角色AGR_TEXT  TYPE AGR_TEXTS-TEXT,"角色描术ZSEL TYPE CHAR1,ICON TYPE ICON-NAME,ZTYPE TYPE C,ZMESSAGE TYPE CHAR255,END OF TYP_UPLOAD.DATA: WA_UPLOAD TYPE TYP_UPLOAD,IT_UPLOAD LIKE STANDARD TABLE OF WA_UPLOAD.DATA: L_AGR_NAME TYPE STR_AGRS-AGR_NAME.DATA: L_CHECK TYPE C.
DATA: G_DO TYPE C.DATA: IS_LAYOUT TYPE SLIS_LAYOUT_ALV,          "ALV输出样式IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,    "ALV输出的头项目(内表)WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV,      "ALV输出的头项目(工作区)WA_REPID LIKE SY-REPID."程序名PARAMETERS: P_FILE TYPE RLGRAP-FILENAME.PARAMETERS: R1 RADIOBUTTON GROUP G1 DEFAULT 'X',R2 RADIOBUTTON GROUP G1.INITIALIZATION.PERFORM FRM_INIT.AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.PERFORM FRM_FILE_F4.AT SELECTION-SCREEN.CASE SY-UCOMM.WHEN 'FC01'.PERFORM FRM_DOWNLOAD_TEM_XLS.ENDCASE.START-OF-SELECTION.PERFORM FRM_GET_DATA.END-OF-SELECTION.PERFORM FRM_SHOW_DATA.*&---------------------------------------------------------------------*
*&      Form  FRM_INIT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM FRM_INIT .SSCRFIELDS-FUNCTXT_01 = '下载上载模板'.
ENDFORM.                    " FRM_INIT
*&---------------------------------------------------------------------*
*&      Form  FRM_FILE_F4
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM FRM_FILE_F4 .CALL FUNCTION 'WS_FILENAME_GET'EXPORTINGMASK             = ' Excel(*.xls)|*.xls|Excel(*.xlsx)|*.xlsx|全部文件 (*.*)|*.*|'TITLE            = '选择文件'IMPORTINGFILENAME         = P_FILEEXCEPTIONSINV_WINSYS       = 1NO_BATCH         = 2SELECTION_CANCEL = 3SELECTION_ERROR  = 4OTHERS           = 5.IF SY-SUBRC <> 0 AND SY-SUBRC <> 3.MESSAGE E015(ZMM) WITH '选择文件出错!'.ENDIF.
ENDFORM.                    " FRM_FILE_F4
*&---------------------------------------------------------------------*
*&      Form  FRM_DOWNLOAD_TEM_XLS
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM FRM_DOWNLOAD_TEM_XLS .DATA: FILENAME TYPE STRING VALUE 'ZFIU026.xls',PATH TYPE STRING VALUE 'C:\',FULLPATH TYPE STRING VALUE 'C:\ZFIU026.xls'.CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOGEXPORTING
*     WINDOW_TITLE         =
*     DEFAULT_EXTENSION    =DEFAULT_FILE_NAME    = FILENAME
*     WITH_ENCODING        =FILE_FILTER          = 'Excel(*.xls)|*.xls|Excel(*.xlsx)|*.xlsx|全部文件 (*.*)|*.*|'INITIAL_DIRECTORY    = PATH
*     PROMPT_ON_OVERWRITE  = 'X'CHANGINGFILENAME             = FILENAMEPATH                 = PATHFULLPATH             = FULLPATH
*     USER_ACTION          =
*     FILE_ENCODING        =EXCEPTIONSCNTL_ERROR           = 1ERROR_NO_GUI         = 2NOT_SUPPORTED_BY_GUI = 3OTHERS               = 4.IF SY-SUBRC <> 0.MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNOWITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.ELSE.IF FULLPATH IS INITIAL.ELSE.PERFORM DOWNLOAD_EXCEL_FROMSERVER USING FULLPATH.P_FILE = FULLPATH."MESSAGE '模板导出成功' TYPE 'S'.ENDIF.ENDIF.
ENDFORM.                    " FRM_DOWNLOAD_TEM_XLS
*&---------------------------------------------------------------------*
*&      Form  DOWNLOAD_EXCEL_FROMSERVER
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_FULLPATH  text
*----------------------------------------------------------------------*
FORM DOWNLOAD_EXCEL_FROMSERVER  USING P_DEST.DATA: LO_OBJDATA LIKE WWWDATATAB,LS_DESTINATION LIKE RLGRAP-FILENAME.LS_DESTINATION = P_DEST.LO_OBJDATA-RELID = 'MI'.LO_OBJDATA-OBJID = 'ZFIU026'.CALL FUNCTION 'DOWNLOAD_WEB_OBJECT'EXPORTINGKEY               = LO_OBJDATADESTINATION       = LS_DESTINATION
*   IMPORTING
*     RC                =
*   CHANGING
*     TEMP              =.
ENDFORM.                    " DOWNLOAD_EXCEL_FROMSERVER
*&---------------------------------------------------------------------*
*&      Form  FRM_GET_DATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM FRM_GET_DATA .PERFORM FRM_UPLOAD_FILE_XLS.PERFORM FRM_CHECK_DATA.
ENDFORM.                    " FRM_GET_DATA
*&---------------------------------------------------------------------*
*&      Form  FRM_UPLOAD_FILE_XLS
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM FRM_UPLOAD_FILE_XLS .DATA: IT_RAW  TYPE TRUXS_T_TEXT_DATA.CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'EXPORTING
*     I_FIELD_SEPERATOR    =I_LINE_HEADER        = 'X'I_TAB_RAW_DATA       = IT_RAW       " WORK TABLEI_FILENAME           = P_FILETABLESI_TAB_CONVERTED_DATA = IT_UPLOAD  "ACTUAL DATAEXCEPTIONSCONVERSION_FAILED    = 1OTHERS               = 2.IF SY-SUBRC <> 0.MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNOWITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.ENDIF.IF IT_UPLOAD IS INITIAL.MESSAGE '上载文档空请检查' TYPE 'S' DISPLAY LIKE 'E'.LEAVE LIST-PROCESSING.ELSE.
*************设置标识的初始状态LOOP AT IT_UPLOAD INTO WA_UPLOAD.WA_UPLOAD-ICON = ICON_YELLOW_LIGHT.WA_UPLOAD-ZMESSAGE = ''.MODIFY IT_UPLOAD FROM WA_UPLOAD TRANSPORTING ICON ZMESSAGE.ENDLOOP.ENDIF.
ENDFORM.                    " FRM_UPLOAD_FILE_XLS
*&---------------------------------------------------------------------*
*&      Form  FRM_CHECK_DATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM FRM_CHECK_DATA .L_CHECK = 'S'.LOOP AT IT_UPLOAD INTO WA_UPLOAD.SELECT SINGLE AGR_NAMEFROM AGR_DEFINEINTO L_AGR_NAMEWHERE AGR_NAME EQ WA_UPLOAD-AGR_NAME.IF SY-SUBRC <> 0.IF R2 = 'X'.L_CHECK = 'E'.WA_UPLOAD-ICON = ICON_RED_LIGHT.WA_UPLOAD-ZTYPE = 'E'.WA_UPLOAD-ZMESSAGE = '复合角色不存在'.MODIFY IT_UPLOAD FROM WA_UPLOAD TRANSPORTING ICON ZTYPE ZMESSAGE.CONTINUE.ENDIF.ELSE.IF R1 = 'X'.L_CHECK = 'E'.WA_UPLOAD-ICON = ICON_RED_LIGHT.WA_UPLOAD-ZTYPE = 'E'.WA_UPLOAD-ZMESSAGE = '复合角色已存在'.MODIFY IT_UPLOAD FROM WA_UPLOAD TRANSPORTING ICON ZTYPE ZMESSAGE.CONTINUE.ENDIF.ENDIF.WA_UPLOAD-ICON = ICON_YELLOW_LIGHT.WA_UPLOAD-ZTYPE = 'W'.WA_UPLOAD-ZMESSAGE = '检查通过'.MODIFY IT_UPLOAD FROM WA_UPLOAD TRANSPORTING ICON ZTYPE ZMESSAGE.ENDLOOP.
ENDFORM.                    " FRM_CHECK_DATA
*&---------------------------------------------------------------------*
*&      Form  FRM_SHOW_DATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM FRM_SHOW_DATA .WA_REPID = SY-REPID.                     "得到程序名IS_LAYOUT-ZEBRA = 'X'.                   "颜色相间显示IS_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.       "优化列宽选项IS_LAYOUT-BOX_FIELDNAME = 'ZSEL'.       "优化列宽选项DATA: DE_POS TYPE I.DE_POS = DE_POS + 1.CLEAR WA_FIELDCAT.WA_FIELDCAT-COL_POS       = DE_POS.
*  WA_FIELDCAT-KEY           = 'X'.WA_FIELDCAT-FIELDNAME     = 'ICON'.WA_FIELDCAT-ICON          = 'X'.WA_FIELDCAT-SELTEXT_L     = ''.WA_FIELDCAT-SELTEXT_M     = ''.WA_FIELDCAT-SELTEXT_S     = ''.WA_FIELDCAT-DDICTXT       = 'L'.APPEND WA_FIELDCAT TO IT_FIELDCAT.DE_POS = DE_POS + 1.CLEAR WA_FIELDCAT.WA_FIELDCAT-COL_POS       = DE_POS.
*  WA_FIELDCAT-KEY           = 'X'.WA_FIELDCAT-FIELDNAME     = 'AGR_NAME'.WA_FIELDCAT-REF_TABNAME   = 'STR_AGRS'.WA_FIELDCAT-REF_FIELDNAME = 'AGR_NAME'.WA_FIELDCAT-SELTEXT_L     = '角色'.WA_FIELDCAT-SELTEXT_M     = '角色'.WA_FIELDCAT-SELTEXT_S     = '角色'.WA_FIELDCAT-DDICTXT       = 'L'.APPEND WA_FIELDCAT TO IT_FIELDCAT.DE_POS = DE_POS + 1.CLEAR WA_FIELDCAT.WA_FIELDCAT-COL_POS       = DE_POS.
*  WA_FIELDCAT-KEY           = 'X'.WA_FIELDCAT-FIELDNAME     = 'AGR_TEXT'.WA_FIELDCAT-REF_TABNAME   = 'AGR_TEXTS'.WA_FIELDCAT-REF_FIELDNAME = 'TEXT'.WA_FIELDCAT-SELTEXT_L     = '角色描术'.WA_FIELDCAT-SELTEXT_M     = '角色描术'.WA_FIELDCAT-SELTEXT_S     = '角色描术'.WA_FIELDCAT-DDICTXT       = 'L'.APPEND WA_FIELDCAT TO IT_FIELDCAT.DE_POS = DE_POS + 1.CLEAR WA_FIELDCAT.WA_FIELDCAT-COL_POS       = DE_POS.
*  WA_FIELDCAT-KEY           = 'X'.WA_FIELDCAT-FIELDNAME     = 'ZMESSAGE'.WA_FIELDCAT-SELTEXT_L     = '消息'.WA_FIELDCAT-SELTEXT_M     = '消息'.WA_FIELDCAT-SELTEXT_S     = '消息'.WA_FIELDCAT-DDICTXT       = 'L'.APPEND WA_FIELDCAT TO IT_FIELDCAT.CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'EXPORTING
*     I_INTERFACE_CHECK                 = ' '
*     I_BYPASSING_BUFFER                = ' '
*     I_BUFFER_ACTIVE                   = ' 'I_CALLBACK_PROGRAM                = WA_REPIDI_CALLBACK_PF_STATUS_SET          = 'SET_STATUS'I_CALLBACK_USER_COMMAND           = 'USER_COMMAND'
*     I_CALLBACK_TOP_OF_PAGE            = ' '
*     I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
*     I_CALLBACK_HTML_END_OF_LIST       = ' '
*     I_STRUCTURE_NAME                  =
*     I_BACKGROUND_ID                   = ' '
*     I_GRID_TITLE                      =
*     I_GRID_SETTINGS                   =IS_LAYOUT                         = IS_LAYOUTIT_FIELDCAT                       = IT_FIELDCAT
*     IT_EXCLUDING                      =
*     IT_SPECIAL_GROUPS                 =
*     IT_SORT                           =
*     IT_FILTER                         =
*     IS_SEL_HIDE                       =
*     I_DEFAULT                         = 'X'I_SAVE                            = 'A'
*     IS_VARIANT                        =
*     IT_EVENTS                         =
*     IT_EVENT_EXIT                     =
*     IS_PRINT                          =
*     IS_REPREP_ID                      =
*     I_SCREEN_START_COLUMN             = 0
*     I_SCREEN_START_LINE               = 0
*     I_SCREEN_END_COLUMN               = 0
*     I_SCREEN_END_LINE                 = 0
*     I_HTML_HEIGHT_TOP                 = 0
*     I_HTML_HEIGHT_END                 = 0
*     IT_ALV_GRAPHICS                   =
*     IT_HYPERLINK                      =
*     IT_ADD_FIELDCAT                   =
*     IT_EXCEPT_QINFO                   =
*     IR_SALV_FULLSCREEN_ADAPTER        =
*   IMPORTING
*     E_EXIT_CAUSED_BY_CALLER           =
*     ES_EXIT_CAUSED_BY_USER            =TABLEST_OUTTAB                          = IT_UPLOADEXCEPTIONSPROGRAM_ERROR                     = 1OTHERS                            = 2.IF SY-SUBRC <> 0.MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNOWITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.ENDIF.
ENDFORM.                    " FRM_SHOW_DATA*&---------------------------------------------------------------------*
*&      FORM  SET_STATUS
*&---------------------------------------------------------------------*
*       TEXT
*----------------------------------------------------------------------*
*      -->RT_EXTAB   TEXT
*----------------------------------------------------------------------*
FORM SET_STATUS USING RT_EXTAB TYPE SLIS_T_EXTAB.SET PF-STATUS 'ZFIU026' EXCLUDING RT_EXTAB.
ENDFORM.                    "SET_STATUS*&---------------------------------------------------------------------*
*&      FORM  USER_COMMAND
*&---------------------------------------------------------------------*
*       TEXT
*----------------------------------------------------------------------*
*      -->RF_UCOMM     TEXT
*      -->RS_SELFIELD  TEXT
*----------------------------------------------------------------------*
FORM USER_COMMAND USING RF_UCOMM LIKE SY-UCOMMRS_SELFIELD TYPE SLIS_SELFIELD.CASE RF_UCOMM.WHEN 'ZDO'.IF L_CHECK = 'E'.MESSAGE '上载数据有错,不能保存' TYPE 'E'.ENDIF.IF G_DO = 'X'.MESSAGE '修改操作已执行' TYPE 'E'.ENDIF.G_DO = 'X'.PERFORM FRM_GO.ENDCASE.
*如果前面把内表的数据修改了,通过这个就会自到更新数据RS_SELFIELD-REFRESH = 'X'.
ENDFORM.                    "USER_COMMAND
*&---------------------------------------------------------------------*
*&      Form  FRM_GO
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM FRM_GO .DATA: L_ZTYPE TYPE C.DATA: L_ZMESSAGE TYPE CHAR255.DATA: AGR_ROLENAME TYPE AGR_DEFINE-AGR_NAME," 创建根角色时的输入AGR_TEXT  TYPE AGR_TEXTS-TEXT."创建根角色时的输入LOOP AT IT_UPLOAD INTO WA_UPLOAD.CLEAR: L_ZTYPE,L_ZMESSAGE.AGR_ROLENAME = WA_UPLOAD-AGR_NAME.AGR_TEXT = WA_UPLOAD-AGR_TEXT.IF R1 = 'X'.CALL FUNCTION 'PRGN_RFC_CREATE_AGR_MULTIPLE'EXPORTINGACTIVITY_GROUP                = AGR_ROLENAMEACTIVITY_GROUP_TEXT           = AGR_TEXT
*         COMMENT_TEXT_LINE_1           = ' '
*         COMMENT_TEXT_LINE_2           = ' '
*         COMMENT_TEXT_LINE_3           = ' '
*         COMMENT_TEXT_LINE_4           = ' 'COLLECTIVE_AGR                = 'X'EXCEPTIONSACTIVITY_GROUP_ALREADY_EXISTS = 1ACTIVITY_GROUP_ENQUEUED       = 2NAMESPACE_PROBLEM             = 3ILLEGAL_CHARACTERS            = 4ERROR_WHEN_CREATING_ACTGROUP  = 5NOT_AUTHORIZED                = 6OTHERS                        = 7.IF SY-SUBRC <> 0.L_ZTYPE = 'E'.MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNOWITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4INTO L_ZMESSAGE.CONCATENATE '失败:'L_ZMESSAGEINTOL_ZMESSAGE.ROLLBACK WORK.ELSE.L_ZTYPE = 'S'.L_ZMESSAGE = '成功'.COMMIT WORK AND WAIT.ENDIF.ENDIF.IF R2 = 'X'.CALL FUNCTION 'PRGN_ACTIVITY_GROUP_DELETE'EXPORTINGACTIVITY_GROUP                = AGR_ROLENAME
*         ENQUEUE_AND_TRANSPORT         = 'X'SHOW_DIALOG                   = ''
*         DISTRIBUTE                    = ' 'EXCEPTIONSNOT_AUTHORIZED                = 1TRANSPORT_CHECK_PROBLEM       = 2TRANSPORT_CANCELED_OR_PROBLEM = 3ONE_OR_MORE_USERS_ENQUEUED    = 4FOREIGN_LOCK                  = 5USER_CANCELS_ACTION           = 6CHILD_AGR_EXISTS              = 7CUA_FORBIDS_DEL               = 8DELETION_IN_TARGET_CANCELLED  = 9TECH_ERROR                    = 10HR_ERROR                      = 11OTHERS                        = 12.IF SY-SUBRC <> 0.L_ZTYPE = 'E'.MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNOWITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4INTO L_ZMESSAGE.CONCATENATE '失败:'L_ZMESSAGEINTOL_ZMESSAGE.ROLLBACK WORK.ELSE.L_ZTYPE = 'S'.L_ZMESSAGE = '成功'.COMMIT WORK AND WAIT.ENDIF.ENDIF.CASE L_ZTYPE.WHEN 'S'.WA_UPLOAD-ICON = ICON_GREEN_LIGHT.WHEN 'E'.WA_UPLOAD-ICON = ICON_RED_LIGHT.ENDCASE.WA_UPLOAD-ZTYPE = L_ZTYPE.WA_UPLOAD-ZMESSAGE = L_ZMESSAGE.MODIFY IT_UPLOAD FROM WA_UPLOAD TRANSPORTING ICON ZTYPE ZMESSAGE.ENDLOOP.
ENDFORM.                    " FRM_GO

二、批导数据模版

复合角色复合角色描述
ZFH_TEST_002AAAAZTEST_001复合角色描述

更多推荐

PFCG 复合角色创建/删除

本文发布于:2024-02-12 21:01:32,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1689377.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:角色   PFCG

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!