服务器文件管理程序

此程序用于管理服务器上的文件,程序中定义了一些okcode命令,可以通过新增GUI状态来调用,也可以直接在TCODE命令框里输入命令直接调用。

清单如下:

CREA       UTDL       COPY       UTUL       RENA       DELE       STRT     EXT

    创建       下载       复制          上传            重命名     删除          执行命    退出

 


 

DATA: curr_dir(60) VALUE '/usr/sap/<SID>',
      user_root(60) VALUE '/',
      path(128),
      pathwr(128),
      t_sec(5) TYPE p,
      flen TYPE p,
      com(160),
      file_name(100),
      len TYPE i,
      line_pick,
      disp,
      msg(80),
      pos TYPE i,
      sys_auth,
      answer,
*      edit,
      txt(1024) OCCURS 100 WITH HEADER LINE.
DATA: BEGIN OF file,
        dir(100),
        name(100),
        typ(10),
        owner(8),
        mode(3),
        len(6) TYPE p,
        mod_date TYPE d,
        mod_time(8),
        mtime(6) TYPE p,
      END OF file.
DATA: file_list LIKE file OCCURS 10 WITH HEADER LINE.
*
START-OF-SELECTION.
*  PERFORM set_status USING 'LIST'.  "Del by btz 20050525 去掉 Application Toolbar
*  PERFORM authority_check.
  PERFORM timesone.
  REPLACE '<SID>' WITH sy-sysid INTO curr_dir.
  PERFORM show_directory USING curr_dir.
*
AT LINE-SELECTION.
  sy-lsind =  1.
  CONCATENATE curr_dir file_name INTO path SEPARATED BY '/'.
  IF line_pick = 'D'.
    PERFORM show_directory USING path.
*  ELSEIF line_pick = 'F'.
*    PERFORM show_file USING path.
  ENDIF.
*
AT USER-COMMAND.
  CONCATENATE curr_dir file_name INTO path SEPARATED BY '/'.
  CASE sy-ucomm.
    WHEN 'COPY' OR 'UTDL' OR 'RENA' OR 'DELE'.
      IF line_pick IS INITIAL.
        MESSAGE e333 WITH '大哥,选择一个行先~'.
      ENDIF.
  ENDCASE.
  CASE sy-ucomm.
    WHEN 'CREA'. PERFORM create_file USING curr_dir.
    WHEN 'COPY'. PERFORM copy_file USING path curr_dir.
    WHEN 'RENA'. PERFORM rename_file USING path curr_dir.
    WHEN 'DELE'. PERFORM delete_file USING path.
    WHEN 'UTDL'. PERFORM down_file USING path file_name .
    WHEN 'UTUL'. PERFORM uppl_file USING curr_dir .
    WHEN 'STRT'. PERFORM start_file USING path. EXIT.
    WHEN 'EXT' .LEAVE PROGRAM .
  ENDCASE.
  PERFORM show_directory USING curr_dir. REFRESH txt.

*        FORM show_directory
FORM show_directory USING dirname.
  PERFORM check_punkt CHANGING dirname.
  REPLACE '//' WITH '/' INTO dirname. curr_dir = dirname.
  PERFORM page_header.
  PERFORM fill_file_list USING dirname.
  DELETE file_list WHERE name = space.  CLEAR len.
  LOOP AT file_list.
    file_name = file_list-name.
    IF dirname = user_root.
      CHECK file_name(3) <> '.  '.
    ENDIF.
    CHECK file_name(3) <> '.. '.
    IF file_list-typ(1) = 'd' OR file_list-typ(1) = 'D'.
      line_pick = 'D'.
      FORMAT COLOR COL_KEY.
      FORMAT HOTSPOT ON.
    ELSE.
      line_pick = 'F'.
      flen = file_list-len.
      FORMAT COLOR COL_NORMAL.
      FORMAT HOTSPOT OFF.
    ENDIF.
    WRITE: / file_list-typ(1),
             file_list-mode,
             file_list-owner,
             file_list-len NO-SIGN,
             file_list-mod_date DD/MM/YY,
             file_list-mod_time,  ' ',
             file_name.
    HIDE:  curr_dir, file_name, line_pick, flen.
    ADD 1 TO len.
  ENDLOOP.
  CLEAR line_pick. SKIP 1.
  FORMAT COLOR COL_BACKGROUND.
  ULINE. WRITE: /(5) len NO-SIGN, 'lines'. ULINE.
  FORMAT COLOR OFF.
ENDFORM.                    "show_directory

*        Form  COPY_FILE
FORM copy_file USING file_path dr.
  IF sys_auth NE space. MESSAGE e333 WITH '访问被拒绝!'. ENDIF.
  PERFORM get_name USING 'File Copy' 'new name:' dr CHANGING pathwr.
  CHECK pathwr NE space.
  CONCATENATE 'cp' file_path pathwr INTO com SEPARATED BY space.
  PERFORM call_system.
ENDFORM.                               " COPY_FILE
*        FORM CREATE_FILE
FORM create_file USING dr.
  IF sys_auth NE space. MESSAGE e333 WITH '访问被拒绝'. ENDIF.
  PERFORM get_name USING 'File Create' 'new name:' dr CHANGING pathwr.
  CHECK pathwr NE space.
  CONCATENATE 'touch' pathwr INTO com SEPARATED BY space.
  PERFORM call_system.
ENDFORM.                    "create_file
*       Form  RENAME_FILE
FORM rename_file USING file_path dr.
  IF sys_auth NE space. MESSAGE e333 WITH '访问被拒绝'. ENDIF.
  PERFORM get_name USING 'File Rename' 'new name:' dr CHANGING pathwr.
  CHECK pathwr NE space.
  CONCATENATE 'mv' file_path  pathwr  INTO com SEPARATED BY space.
  PERFORM call_system.
ENDFORM.                               " RENAME_FILE
*        FORM DELETE_FILE
FORM delete_file USING path.
  PERFORM file_check USING path.
  CONCATENATE '删除' file_name '?' INTO msg SEPARATED BY space.
  PERFORM confirm USING '删除服务器文件' msg '确定要删除?' 'N' .
  CHECK answer = 'Y' OR answer = 'J'.
  DELETE DATASET path.
  IF sy-subrc NE 0. MESSAGE e333 WITH ' 删除时发生错误' path. ENDIF.
ENDFORM.                    "DELETE_FILE
*        FORM FILL_FILE_LIST
FORM fill_file_list USING a_dir.
  CLEAR file_list. REFRESH file_list. CLEAR len.
  CALL 'C_DIR_READ_FINISH'.            " just to be sure
  CALL 'C_DIR_READ_START'
    ID 'DIR'  FIELD a_dir
    ID 'FILE' FIELD '*'.
  IF sy-subrc NE 0.
    MESSAGE s333 WITH '读取错误' a_dir.
  ENDIF.
  DO.
    CLEAR file.
    CALL 'C_DIR_READ_NEXT'
      ID 'TYPE' FIELD file-typ
      ID 'NAME' FIELD file-name
      ID 'LEN' FIELD file-len
      ID 'OWNER' FIELD file-owner
      ID 'MTIME' FIELD file-mtime
      ID 'MODE'   FIELD file-mode.
    CASE sy-subrc.
      WHEN 0.
      WHEN 1.
        EXIT.
      WHEN OTHERS.                     " SY-SUBRC >= 2
        ADD 1 TO len.
        IF len > 10. EXIT. ENDIF.
    ENDCASE.
    CHECK file-typ(1) CO 'fFdD'.
    PERFORM p6_to_date_time USING file-mtime
                  t_sec file-mod_time file-mod_date.
    MOVE-CORRESPONDING file TO file_list.
    file_list-dir = a_dir.
    APPEND file_list.
  ENDDO.
  SORT file_list BY typ name ASCENDING.
ENDFORM.                    "FILL_FILE_LIST
*        FORM PAGE_HEADER
FORM page_header.
  CHECK disp = space.
  ULINE.
  WRITE: / '当前目录:', (70) curr_dir. ULINE.
  WRITE:/'T','Mod',7 'Owner',22 'Size',29 'Date',38 'Time',49 'FileName'.
  ULINE.
ENDFORM.                    "PAGE_HEADER
*        Form  DOWN_FILE
FORM down_file USING    p_path file_name .
  DATA: path LIKE rcgfiletr-ftappl .
  DATA: localfile LIKE rcgfiletr-ftfront.

  path = p_path .
  localfile = file_name .

  CALL FUNCTION 'WS_FILENAME_GET'
   EXPORTING
     def_filename           = localfile
     def_path               = 'C:/'
*        MASK                   = ' '
     mode                   = 'S'
     title                  = '要保存的文件名'
      IMPORTING
        filename               = localfile
*        RC                     =
   EXCEPTIONS
     inv_winsys             = 1
     no_batch               = 2
     selection_cancel       = 3
     selection_error        = 4
     OTHERS                 = 5
            .
  IF sy-subrc <> 0.
    EXIT .
  ENDIF.

  PERFORM confirm USING '选择模式' '输出文件格式' '使用二进制模式么? 选择“否”使用文本模式。' 'Y' .
  IF answer = 'J' OR answer = 'Y' .
    CALL FUNCTION 'C13Z_FILE_DOWNLOAD_BINARY'
      EXPORTING
        i_file_front_end    = localfile
        i_file_appl         = path
        i_file_overwrite    = 'X'
      EXCEPTIONS
        fe_file_open_error  = 1
        fe_file_exists      = 2
        fe_file_write_error = 3
        ap_no_authority     = 4
        ap_file_open_error  = 5
        ap_file_empty       = 6
        OTHERS              = 7.
    IF sy-subrc <> 0.
      IF sy-msgty = '' .
        sy-msgty = 'E' .
      ENDIF .
      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
  ELSE .
    CALL FUNCTION 'C13Z_FILE_DOWNLOAD_ASCII'
      EXPORTING
        i_file_front_end    = localfile
        i_file_appl         = path
        i_file_overwrite    = 'X'
      EXCEPTIONS
        fe_file_open_error  = 1
        fe_file_exists      = 2
        fe_file_write_error = 3
        ap_no_authority     = 4
        ap_file_open_error  = 5
        ap_file_empty       = 6
        OTHERS              = 7.
    IF sy-subrc <> 0.
      IF sy-msgty = '' .
        sy-msgty = 'E' .
      ENDIF .
      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
  ENDIF.
ENDFORM.                               " DOWN_FILE

*        Form  UPPL_FILE
FORM uppl_file USING dr.

  DATA :  q_extension LIKE dbmsgora-filename ,
          q_name      LIKE dbmsgora-filename ,
          q_filename  LIKE dbmsgora-filename ,
          q_fwithext  LIKE dbmsgora-filename .
  DATA :  c_file_front_end LIKE rcgfiletr-ftfront,
          c_i_file_appl LIKE rcgfiletr-ftappl .
  DATA :  ans  TYPE c .

  CALL FUNCTION 'WS_FILENAME_GET'
    EXPORTING
      mode             = 'O'
      title            = '选择要上船的文件'
    IMPORTING
      filename         = file_name
    EXCEPTIONS
      inv_winsys       = 1
      no_batch         = 2
      selection_cancel = 3
      selection_error  = 4
      OTHERS           = 5.
  IF sy-subrc <> 0 .
    EXIT .
  ENDIF .

  q_filename = file_name .

  CALL FUNCTION 'Z_MYSPLITFILENAME'
    EXPORTING
      long_filename = q_filename
    IMPORTING
      filename      = q_name
      extension     = q_extension
      fullfilename  = q_fwithext.

  c_file_front_end = file_name .
  c_i_file_appl = q_fwithext .

* open the file on the application server for reading to check if the
* file exists on the application server
  CONCATENATE dr '/' c_i_file_appl INTO c_i_file_appl .
  OPEN DATASET c_i_file_appl FOR INPUT IN BINARY MODE.
  IF sy-subrc <> 8.
    CALL FUNCTION 'POPUP_TO_CONFIRM'
      EXPORTING
        titlebar      = '文件已经存在'
        text_question = '文件已经存在,覆盖么?'
      IMPORTING
        answer        = ans.                                "1、 2、 A

    IF ans <> '1'  .
      CLOSE DATASET c_i_file_appl.
      EXIT .
    ENDIF .
  ENDIF.
  CLOSE DATASET c_i_file_appl.

  CALL FUNCTION 'C13Z_FILE_UPLOAD_BINARY'
    EXPORTING
      i_file_front_end   = c_file_front_end
      i_file_appl        = c_i_file_appl
      i_file_overwrite   = 'X'
    EXCEPTIONS
      fe_file_not_exists = 1
      fe_file_read_error = 2
      ap_no_authority    = 3
      ap_file_open_error = 4
      ap_file_exists     = 5
      OTHERS             = 6.
  IF sy-subrc <> 0.
    CASE sy-subrc  .
      WHEN 1 .
        MESSAGE '本地文件不存在!' TYPE 'I' .
      WHEN 2 .
        MESSAGE '读取本地文件出错!' TYPE 'I' .
      WHEN 3 .
        MESSAGE '服务器权限错误!' TYPE 'I' .
      WHEN 4 .
        MESSAGE '服务器文件打开错误!' TYPE 'I' .
      WHEN 5 .
        MESSAGE '服务器文件已经存在!' TYPE 'I' .
      WHEN 6 .
        MESSAGE '其他错误!' TYPE 'I' .
    ENDCASE .
  ELSE .
    MESSAGE 'SUCCESS!' TYPE 'I' .
  ENDIF.

ENDFORM.                               " UPPL_FILE

*        Form  CHECK_PUNKT
FORM check_punkt CHANGING rdir.
  DATA: bc(2), hp(128).
  CONDENSE rdir NO-GAPS.
  hp = rdir.
  len = STRLEN( hp ).
  CHECK len > 2.
  len = len - 2.
  bc = hp+len(2).
  IF bc  = '/.'.
    hp = hp(len).
    DO.
      len = STRLEN( hp ).
      len = len - 1.
      bc(1) = hp+len(1).
      IF len > 1.
        hp = hp(len).
      ELSE.
        rdir = '/'.
        EXIT.
      ENDIF.
      IF bc(1) = '/'.
        rdir = hp.
        EXIT.
      ENDIF.
    ENDDO.
  ENDIF.
ENDFORM.                               " CHECK_PUNKT

*        Form  TIMESONE
FORM timesone.
  CALL 'C_GET_TIMEZONE'
    ID 'SEC'  FIELD t_sec.
  t_sec  = 0 - sy-tzone.
  IF sy-dayst = 'X'.
    SUBTRACT 3600 FROM t_sec.
  ENDIF.
ENDFORM.                               " TIMESONE

*        Form  AUTHORITY_CHECK
FORM authority_check.
  AUTHORITY-CHECK OBJECT 'S_C_FUNCT'
    ID 'PROGRAM'   FIELD sy-repid
    ID 'ACTVT'     FIELD '16'
    ID 'CFUNCNAME' FIELD 'C_DIR_READ_START'.

  IF sy-subrc NE 0.
    MESSAGE a333 WITH '抱歉,你没有运行这个程序的权限!'.
  ENDIF.
  AUTHORITY-CHECK OBJECT 'S_C_FUNCT'
    ID 'PROGRAM'   FIELD sy-repid
    ID 'ACTVT'     FIELD '16'
    ID 'CFUNCNAME' FIELD 'SYSTEM'.
  IF sy-subrc NE 0.
    sys_auth = 'X'.
  ENDIF.
ENDFORM.                               " AUTHORITY_CHECK

*        Form  SET_STATUS
FORM set_status USING status.
  DATA: prog LIKE sy-repid.
  prog = sy-repid.
  sy-lsind = 1.
  CALL FUNCTION 'RS_CUA_INTERNAL_STATUS_CHECK'
    EXPORTING
      program       = prog
      status        = status
    IMPORTING
      status_exists = answer.
  IF answer = 'X'. SET PF-STATUS status IMMEDIATELY . ENDIF.
ENDFORM.                               " SET_STATUS

*        Form  START_FILE
FORM start_file USING fcom.
  DATA: par(30),
        tab(255) OCCURS 10 WITH HEADER LINE.
  IF line_pick = 'F'.
    PERFORM get_name USING 'Execute' 'with parameters:' ' ' CHANGING par.
  ELSE.
    PERFORM get_name USING 'Execute' 'command:' ' ' CHANGING par.
  ENDIF.
  com = par.
  IF line_pick = 'F'.
    CONCATENATE fcom par INTO com SEPARATED BY space.
  ENDIF.
  CALL 'SYSTEM'
    ID 'COMMAND' FIELD com
    ID 'TAB' FIELD tab-*sys*.
  SET BLANK LINES ON.
  FORMAT COLOR COL_TOTAL INTENSIFIED OFF.
  disp = 'X'.
  LOOP AT tab.
    WRITE:/ tab.
  ENDLOOP.
  FORMAT COLOR COL_NORMAL.
  CLEAR disp.
ENDFORM.                               " START_FILE

*        Form  GET_NAME
FORM get_name USING popup text1 dir CHANGING tdir.
  DATA: new(30).
*  IF sy-saprl(1) = '4'.
*    SET PF-STATUS 'PT' OF PROGRAM 'SAPLSTXX' IMMEDIATELY.
*  ENDIF.
  CALL FUNCTION 'POPUP_TO_FILL_COMMAND_LINE'
    EXPORTING
      popuptitle   = popup
      text1        = text1
    IMPORTING
      command_line = new.
*  PERFORM set_status USING 'LIST'.
  IF new = space. CLEAR pathwr. EXIT. ENDIF.
  IF dir = space. tdir = new. EXIT. ENDIF.
  CONCATENATE dir new INTO tdir SEPARATED BY '/'.
  OPEN DATASET tdir FOR INPUT IN TEXT MODE ENCODING DEFAULT .
  IF sy-subrc = 0.
    MESSAGE e333 WITH new 'already exists'.
    CLOSE DATASET tdir.
  ENDIF.
ENDFORM.                               " GET_NAME

*        Form  CONFIRM
FORM confirm USING titel textline1 textline2 defoption .
  CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'
    EXPORTING
      defaultoption  = defoption
      textline1      = textline1
      textline2      = textline2
      titel          = titel
      cancel_display = ' '
    IMPORTING
      answer         = answer.
ENDFORM.                               " CONFIRM

*        Form  FILE_CHECK
FORM file_check USING path.
  DATA: tmp_path(60), progname LIKE sy-repid.
  tmp_path = path. progname = sy-repid.
  AUTHORITY-CHECK OBJECT 'S_DATASET' ID 'PROGRAM'  FIELD progname
    ID 'ACTVT'    FIELD '06' ID 'FILENAME' FIELD tmp_path.
  IF sy-subrc NE 0. MESSAGE e333 WITH 'Permission denied'. ENDIF.
ENDFORM.                               " FILE_CHECK

*        Form  CALL_SYSTEM
FORM call_system.
  DATA: tab(100) OCCURS 1 WITH HEADER LINE.
  CALL 'SYSTEM'
    ID 'COMMAND' FIELD com
    ID 'TAB'     FIELD tab-*sys*.
  READ TABLE tab INDEX 1.
  IF tab NE space. MESSAGE s333 WITH tab. ENDIF.
ENDFORM.                               " CALL_SYSTEM

*        Form  p6_to_date_time
FORM p6_to_date_time USING a13_sec_p6 a13_timezone_sec
                          a13_time a13_date.
*    P6_TO_DATE_TIME - Convert a time stamp.
*
  DATA: opcode TYPE x,
        timestamp TYPE i,
        timezone TYPE i,
        tz LIKE sy-zonlo,
        date TYPE d,
        time TYPE t,
        timestring(10),
        abapstamp(14),
        abaptstamp TYPE timestamp.

  timestamp =  a13_sec_p6.
  opcode = 3.
  CALL 'RstrDateConv'
    ID 'OPCODE' FIELD opcode
    ID 'TIMESTAMP' FIELD timestamp
    ID 'ABAPSTAMP' FIELD abapstamp.
  abaptstamp = abapstamp.
  timezone = a13_timezone_sec / 3600.
  IF timezone > 0.
    WRITE timezone TO tz LEFT-JUSTIFIED.
    CONCATENATE 'UTC-' tz INTO tz.
  ELSEIF timezone < 0.
    timezone = timezone * -1.
    WRITE timezone TO tz LEFT-JUSTIFIED.
    CONCATENATE 'UTC+' tz INTO tz.
  ELSE.
    tz = 'UTC'.
  ENDIF.
  CONVERT TIME STAMP abaptstamp TIME ZONE tz INTO DATE date
    TIME time.
  IF sy-subrc <> 0.
    date = abapstamp(8).
    time = abapstamp+8.
  ENDIF.

  WRITE: time(2) TO timestring(2),
         ':' TO timestring+2(1),
         time+2(2) TO timestring+3(2),
         ':' TO timestring+5(1),
         time+4(2) TO timestring+6(2).
  MOVE timestring TO a13_time.
  MOVE date TO a13_date.
ENDFORM.                    "P6_TO_DATE_TIME
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
文件服务器管理规范 第一章 总则 第一条 本文件服务器承担共享和存储服务,有严格的权限配置来保证数据安全 第二条 设立文件服务器,主要是为各部门提供一个资源共享的平台,有利于加强公司内部的交流与学习,便于主管直观地了解、检查督促每位工作人员的工作。 第三条 全体职员要树立保密意识,切实加强对文字材料的管理,坚决杜绝诸如将办公室文件贴在互联网上等泄露秘密事件的发生。一旦出现问题,视情节轻重,追究责任人的相关责任。 第二章 文档管理内容 第四条 各部门文档管理员都应及时将与业务工作有关的各类材料上存文件服务器,与工作无关的各类资料一律不得上传。   第五条 ERP管理员负责文件服务器的维护。各部门在使用文件服务器的过程中,出现问题,要及时通知ERP管理员,由ERP管理员负责解决。若因未及时通知而出现问题,责任自负。 第六条 只允许存放工作文件,严禁与工作无关文件存储在服务器上,部门文档管理员有权利协助删除不符合要求的文件文件服务器管理规范全文共6页,当前为第1页。第七条 重要文件必须存放在服务器上,本地保留副本,否则出现文件丢失或损坏由其本人负责。 文件服务器管理规范全文共6页,当前为第1页。 第八条 为减轻服务器压力,不允许在服务器上直接运行文件,需要提取文件时,应先复制到本地再运行。 第九条 上传文件前,需要先检查病毒,确保上传的文件是安全的。 第十条 部门文档管理员应按照项目名称建立总目录,每个目录下根据用途再建立子目录,各部门文档管理员可以根据自身情况设计自己的存储方式,并报备ERP管理员,尽量整理整齐并易于查找(附上如何建立各级目录的参照图)。 第十一条 目录创建和权限分配因需求变化,默认创建的目录和权限是最基本的。 第十二条 各部门分别整理自己的文档,存放到各自相应的目录,对于不同阶段的文档要有区分的存放到不同目录。 第十三条 所有电子文档,除非工作需要,原则上不允许跨部门传播,更不允许外借或者向第三方散播,如需要跨部门或向第三方传播数据,必须经主管副总批准。否则发生纠纷,则公司将追究相应的法律责任,公司保留追究相应的损失赔偿的权利。 第十四条 根目录内要建立名称为readme.txt记录文件,标注使用说明,以及变更记录方便他人查阅(参照图)。 第十五条 目录建议采用如下结构: 1 澳克机械(图示化) 1.1 公司规章制度(各部门负责维护) 文件服务器管理规范全文共6页,当前为第2页。1.1.1 行政管理制度 文件服务器管理规范全文共6页,当前为第2页。 1.1.2 信息管理制度 1.1.3 质量管理制度 …… 1.2 公司活动资料(人事负责维护) 1.3 公司信息化定制程序(ERP管理员维护) 1.4 公司常用工具(ERP管理员维护) 1.5 公司项目文档(各项目负责人维护) 1.5.1 进行项目 1.5.1.1项目1 1.5.1.1.1 项目启动阶段 1.5.1.1.2 项目规划阶段 1.5.1.1.3 项目设计阶段 1.5.1.1.4 项目实现阶段 1.5.1.1.5 项目收尾阶段 1.5.1.1.6 项目总结阶段 …… 1.5.2 已毕项目 1.5.2.1项目2 1.5.2.1.1 项目启动阶段 1.5.2.1.2 项目规划阶段 1.5.2.1.3 项目设计阶段 文件服务器管理规范全文共6页,当前为第3页。1.5.2.1.4 项目实现阶段 文件服务器管理规范全文共6页,当前为第3页。 1.5.2.1.5 项目收尾阶段 1.5.2.1.6 项目总结阶段 …… 1.6 部门工作文档(各部门负责维护) 1.6.1 部门工作制度 1.6.2 部门活动资料 1.6.3 部门项目文档 1.6.3.1 进行项目 1.6.3.1.1项目1 1.6.3.1.1.1 项目启动阶段 1.6.3.1.1.2 项目规划阶段 1.6.3.1.1.3 项目设计阶段 1.6.3.1.1.4 项目实现阶段 1.6.3.1.1.5 项目收尾阶段 1.6.3.1.1.6 项目总结阶段 …… 1.6.3.2 已毕项目 1.6.3.2.1项目2 1.6.3.2.1.1 项目启动阶段 1.6.3.2.1.2 项目规划阶段 1.6.3.2.1.3 项目设计阶段 文件服务器管理规范全文共6页,当前为第4页。1.6.3.2.1.4 项目实现阶段 文件服务器管理规范全文共6页,当前为第4页。 1.6.3.2.1.5 项目收尾阶段 1.6.3.2.1.6 项目总结阶段 …… 1.6.3 生产 1.6.3.1 切割 1.6.3.1.1 张明臣 …… 1.6.3.2 焊接 …… 2 澳冠(参照如上内容) …… 第十六条 普通文件命名规范为:用途-日期,制度性文件或需要阶段性调整的文件还需要备注版本号,命名规范为:用途-日期-版本。举例说明: 1、斗山挖斗新项目-

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值