取图档对应的下挂有的附件类型及名称

需要指定图档类型,图档号,部分,版本

    DATABEGIN OF it_files OCCURS 0,
             filetype(
3),
             filename(
255),
          
END   OF it_files,
         l_dokar 
LIKE draw-dokar,
         l_doknr  
LIKE draw-doknr,
         l_doktl  
LIKE draw-doktl,
         l_dokvr  
LIKE draw-dokvr,
         return_message 
TYPE bapiret2.
    l_dokar = 
'DOC'.
    l_doknr = 
'JX04-00244'.
    l_doktl = 
'000'.
    l_dokvr = 
'01'.
    
PERFORM get_file_name TABLES it_files
                           
USING l_dokar
                                 l_doknr
                                 l_doktl
                                 l_dokvr
                           
CHANGING return_message.
*&---------------------------------------------------------------------*
*&      Form  GET_FILE_NAME
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_DOCUMENTFILES  text
*      -->P_DOCUMENTTYPE  text
*      -->P_DOCUMENTNUMBER  text
*      -->P_DOCUMENTPART  text
*      -->P_DOCUMENTVERSION  text
*      <--P_RETURN  text
*----------------------------------------------------------------------*
    
FORM get_file_name  TABLES   it_documentfiles STRUCTURE it_files
                        
USING    p_documenttype
                                 p_documentnumber
                                 p_documentpart
                                 p_documentversion
                        
CHANGING p_return.
      
DATA:temp_documentfiles LIKE TABLE OF bapi_doc_files2 WITH HEADER LINE,
           
BEGIN OF temp_filename OCCURS 0,
             docfile(
255),
           
END   OF temp_filename,
           l_lines_counts 
TYPE i.
*& 读取凭证对应的所有附件名及类型
      
REFRESH:temp_documentfiles.
 

CALL FUNCTION 'BAPI_DOCUMENT_GETDETAIL2'
        
EXPORTING
          documenttype       = p_documenttype
          documentnumber     = p_documentnumber
          documentpart       = p_documentpart
          documentversion    = p_documentversion
          getactivefiles     = 
'X'
          getdocdescriptions = 
'X'
          getdocfiles        = 
'X'
        
IMPORTING
          
return             = p_return
        
TABLES
          documentfiles      = temp_documentfiles.

      
LOOP AT temp_documentfiles.
        
REFRESH:temp_filename.
        
SPLIT temp_documentfiles-docfile AT '/' INTO TABLE temp_filename.
        
IF NOT temp_filename[] IS INITIAL.
          
CLEAR:l_lines_counts.
          l_lines_counts = 
LINES( temp_filename ).
          
READ TABLE temp_filename INDEX l_lines_counts.
          
IF sy-subrc = 0.
            
CLEAR:it_documentfiles.
*&文件名
            it_documentfiles-filename = temp_filename-docfile.
*& 文件类型
            it_documentfiles-filetype = temp_documentfiles-wsapplication.
            
APPEND it_documentfiles.
          
ENDIF.
        
ENDIF.
      
ENDLOOP.


    
ENDFORM.                    " GET_FILE_NAME



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值