menny 发表于 2015-9-18 11:25:02

SAP READ_TEXT函数的用法

  *訂單表頭內文(JOHNSON)
    VBELNTEXT = INTAB-VBELN .
    CALL FUNCTION 'READ_TEXT'
EXPORTING
*         CLIENT                  = SY-MANDT
   ID                      = '0001'
   LANGUAGE                = 'E'
   NAME                  =VBELNTEXT
   OBJECT                  = 'VBBK'
*         ARCHIVE_HANDLE          = 0
IMPORTING
   HEADER                  = HTEXT
TABLES
   LINES                   = LTEXT
EXCEPTIONS
   ID                      = 1
   LANGUAGE                = 2
   NAME                  = 3
   NOT_FOUND               = 4
   OBJECT                  = 5
   REFERENCE_CHECK         = 6
   WRONG_ACCESS_TO_ARCHIVE = 7
   OTHERS                  = 8.
    LOOP AT LTEXT.
      IF LTEXT-TDLINE NE ''.
      CONDENSE LTEXT-TDLINE.
      CONCATENATE INTAB-VBELNTEXT LTEXT-TDLINE   INTO INTAB-VBELNTEXT SEPARATED BY ' ' .
      ENDIF.
    ENDLOOP.
    CLEAR HTEXT .
    CLEAR DTEXT .
    CLEAR LTEXT .
  REFRESH DTEXT .
    REFRESH LTEXT .
  *訂單表頭內文
    VBELNTEXT = INTAB-VBELN .
    CALL FUNCTION 'READ_TEXT'
EXPORTING
*         CLIENT                  = SY-MANDT
   ID                      = 'Z008'
   LANGUAGE                = 'E'
   NAME                  =VBELNTEXT
   OBJECT                  = 'VBBK'
*         ARCHIVE_HANDLE          = 0
IMPORTING
   HEADER                  = HTEXT
TABLES
   LINES                   = LTEXT
EXCEPTIONS
   ID                      = 1
   LANGUAGE                = 2
   NAME                  = 3
   NOT_FOUND               = 4
   OBJECT                  = 5
   REFERENCE_CHECK         = 6
   WRONG_ACCESS_TO_ARCHIVE = 7
   OTHERS                  = 8.
    LOOP AT LTEXT.
      IF LTEXT-TDLINE NE ''.
      CONDENSE LTEXT-TDLINE.
      CONCATENATE INTAB-VBELNTEXT2 LTEXT-TDLINEINTO INTAB-VBELNTEXT2 SEPARATED BY ' ' .
      ENDIF.
    ENDLOOP.
    CLEAR HTEXT .
    CLEAR DTEXT .
    CLEAR LTEXT .
  REFRESH DTEXT .
    REFRESH LTEXT .
  
*厰務備註
    VBELNTEXT = INTAB-VBELN .
    CALL FUNCTION 'READ_TEXT'
EXPORTING
*         CLIENT                  = SY-MANDT
   ID                      = '0003'
   LANGUAGE                = 'E'
   NAME                  =VBELNTEXT
   OBJECT                  = 'VBBK'
*         ARCHIVE_HANDLE          = 0
IMPORTING
   HEADER                  = HTEXT
TABLES
   LINES                   = LTEXT
EXCEPTIONS
   ID                      = 1
   LANGUAGE                = 2
   NAME                  = 3
   NOT_FOUND               = 4
   OBJECT                  = 5
   REFERENCE_CHECK         = 6
   WRONG_ACCESS_TO_ARCHIVE = 7
   OTHERS                  = 8.
    LOOP AT LTEXT.
      IF LTEXT-TDLINE NE ''.
      CONDENSE LTEXT-TDLINE.
      CONCATENATE INTAB-VBELNTEXT5 LTEXT-TDLINEINTO INTAB-VBELNTEXT5 SEPARATED BY ' ' .
      ENDIF.
    ENDLOOP.
    CLEAR HTEXT .
    CLEAR DTEXT .
    CLEAR LTEXT .
  REFRESH DTEXT .
    REFRESH LTEXT .
  
*訂單ITEM內文
    CONCATENATE INTAB-VBELN INTAB-POSNR INTO VBELNTEXT .
    CALL FUNCTION 'READ_TEXT'
EXPORTING
*         CLIENT                  = SY-MANDT
   ID                      = '0001'
   LANGUAGE                = 'E'
   NAME                  =VBELNTEXT
   OBJECT                  = 'VBBP'
*         ARCHIVE_HANDLE          = 0
IMPORTING
   HEADER                  = HTEXT
TABLES
   LINES                   = LTEXT
EXCEPTIONS
   ID                      = 1
   LANGUAGE                = 2
   NAME                  = 3
   NOT_FOUND               = 4
   OBJECT                  = 5
   REFERENCE_CHECK         = 6
   WRONG_ACCESS_TO_ARCHIVE = 7
   OTHERS                  = 8.
    LOOP AT LTEXT.
      IF LTEXT-TDLINE NE ''.
      CONDENSE LTEXT-TDLINE.
      CONCATENATE INTAB-VBELNTEXT1 LTEXT-TDLINEINTO INTAB-VBELNTEXT1 SEPARATED BY ' ' .
      ENDIF.
    ENDLOOP.
    CLEAR HTEXT .
    CLEAR DTEXT .
    CLEAR LTEXT .
  REFRESH DTEXT .
    REFRESH LTEXT .
  *採購單内文
    CONCATENATE INTAB-VBELN INTAB-POSNR INTO VBELNTEXT .
    CALL FUNCTION 'READ_TEXT'
EXPORTING
*         CLIENT                  = SY-MANDT
   ID                      = '0005'
   LANGUAGE                = 'E'
   NAME                  =VBELNTEXT
   OBJECT                  = 'VBBP'
*         ARCHIVE_HANDLE          = 0
IMPORTING
   HEADER                  = HTEXT
TABLES
   LINES                   = LTEXT
EXCEPTIONS
   ID                      = 1
   LANGUAGE                = 2
   NAME                  = 3
   NOT_FOUND               = 4
   OBJECT                  = 5
   REFERENCE_CHECK         = 6
   WRONG_ACCESS_TO_ARCHIVE = 7
   OTHERS                  = 8.
    LOOP AT LTEXT.
      IF LTEXT-TDLINE NE ''.
      CONDENSE LTEXT-TDLINE.
      CONCATENATE INTAB-VBELNTEXT3 LTEXT-TDLINEINTO INTAB-VBELNTEXT3 SEPARATED BY ' ' .
      ENDIF.
    ENDLOOP.
    CLEAR HTEXT .
    CLEAR DTEXT .
    CLEAR LTEXT .
  REFRESH DTEXT .
    REFRESH LTEXT .
  *客戶原始交期
    CONCATENATE INTAB-VBELN INTAB-POSNR INTO VBELNTEXT .
    CALL FUNCTION 'READ_TEXT'
EXPORTING
*         CLIENT                  = SY-MANDT
   ID                      = 'Z019'
   LANGUAGE                = 'E'
   NAME                  =VBELNTEXT
   OBJECT                  = 'VBBP'
*         ARCHIVE_HANDLE          = 0
IMPORTING
   HEADER                  = HTEXT
TABLES
   LINES                   = LTEXT
EXCEPTIONS
   ID                      = 1
   LANGUAGE                = 2
   NAME                  = 3
   NOT_FOUND               = 4
   OBJECT                  = 5
   REFERENCE_CHECK         = 6
   WRONG_ACCESS_TO_ARCHIVE = 7
   OTHERS                  = 8.
    LOOP AT LTEXT.
      IF LTEXT-TDLINE NE ''.
  CONDENSE LTEXT-TDLINE.
      CONCATENATE INTAB-VBELNTEXT7 LTEXT-TDLINEINTO INTAB-VBELNTEXT7 SEPARATED BY ' ' .
      ENDIF.
    ENDLOOP.
  CONDENSEINTAB-VBELNTEXT7 .
    IF INTAB-VBELNTEXT7 NE '' .
      IF STRLEN( INTAB-VBELNTEXT7 ) EQ 8.
      CONCATENATEINTAB-VBELNTEXT7+0(4)INTAB-VBELNTEXT7+4(2)INTAB-VBELNTEXT7+6(2) INTO   INTAB-VBELNTEXT7SEPARATED BY'/'.
      ELSE.
      INTAB-VBELNTEXT7= '不符合日期格式YYYYMMDD'.
      ENDIF .
      MOVE 'Y' TOINTAB-WITHRDAT .
    ENDIF .
    CLEAR HTEXT .
    CLEAR DTEXT .
    CLEAR LTEXT .
  REFRESH DTEXT .
    REFRESH LTEXT .
  IF INTAB-VBELNTEXT7 = '' .
      MOVE INTAB-VBELN TO VBELNTEXT .
      CALL FUNCTION 'READ_TEXT'
    EXPORTING
*         CLIENT                  = SY-MANDT
       ID                      = 'Z036'
       LANGUAGE                = 'E'
       NAME                  =VBELNTEXT
       OBJECT                  = 'VBBK'
*         ARCHIVE_HANDLE          = 0
IMPORTING
       HEADER                  = HTEXT
TABLES
       LINES                   = LTEXT
EXCEPTIONS
       ID                      = 1
       LANGUAGE                = 2
       NAME                  = 3
       NOT_FOUND               = 4
       OBJECT                  = 5
       REFERENCE_CHECK         = 6
       WRONG_ACCESS_TO_ARCHIVE = 7
       OTHERS                  = 8.
      LOOP AT LTEXT.
      IF LTEXT-TDLINE NE ''.
          CONDENSE LTEXT-TDLINE.
          CONCATENATE INTAB-VBELNTEXT7 LTEXT-TDLINEINTO INTAB-VBELNTEXT7 SEPARATED BY ' ' .
      ENDIF.
      ENDLOOP.
      CONDENSEINTAB-VBELNTEXT7 .
      IF INTAB-VBELNTEXT7 NE '' .
      IF STRLEN( INTAB-VBELNTEXT7 ) EQ 8.
          CONCATENATEINTAB-VBELNTEXT7+0(4)INTAB-VBELNTEXT7+4(2)INTAB-VBELNTEXT7+6(2) INTO   INTAB-VBELNTEXT7SEPARATED BY'/'.
      ELSE.
          INTAB-VBELNTEXT7= '不符合日期格式YYYYMMDD'.
      ENDIF .
      MOVE 'Y' TOINTAB-WITHRDAT .
      ENDIF .
  
      CLEAR HTEXT .
      CLEAR DTEXT .
      CLEAR LTEXT .
  REFRESH DTEXT .
      REFRESH LTEXT .
  IF INTAB-VBELNTEXT7 = '' .
      CONCATENATE INTAB-EDATU+0(4) INTAB-EDATU+4(2) INTAB-EDATU+6(2) INTOINTAB-VBELNTEXT7SEPARATED BY'/'.
      MOVE 'N' TO INTAB-WITHRDAT .
      ENDIF .
    ENDIF .
  
  *業務下單給工廠日期
    CONCATENATE INTAB-VBELN INTAB-POSNR INTO VBELNTEXT .
    CALL FUNCTION 'READ_TEXT'
EXPORTING
*         CLIENT                  = SY-MANDT
   ID                      = 'Z020'
   LANGUAGE                = 'E'
   NAME                  =VBELNTEXT
   OBJECT                  = 'VBBP'
*         ARCHIVE_HANDLE          = 0
IMPORTING
   HEADER                  = HTEXT
TABLES
   LINES                   = LTEXT
EXCEPTIONS
   ID                      = 1
   LANGUAGE                = 2
   NAME                  = 3
   NOT_FOUND               = 4
   OBJECT                  = 5
   REFERENCE_CHECK         = 6
   WRONG_ACCESS_TO_ARCHIVE = 7
   OTHERS                  = 8.
    LOOP AT LTEXT.
      IF LTEXT-TDLINE NE ''.
      CONDENSE LTEXT-TDLINE.
      CONCATENATE INTAB-VBELNTEXT6 LTEXT-TDLINEINTO INTAB-VBELNTEXT6 SEPARATED BY ' ' .
      ENDIF.
    ENDLOOP.
    CLEAR HTEXT .
    CLEAR DTEXT .
    CLEAR LTEXT .
  REFRESH DTEXT .
    REFRESH LTEXT .
  IF INTAB-VBELNTEXT6 = '' .
*業務下單給工廠日期(表頭)
      VBELNTEXT= INTAB-VBELN.
      CALL FUNCTION 'READ_TEXT'
    EXPORTING
*         CLIENT                  = SY-MANDT
       ID                      = 'Z035'
       LANGUAGE                = 'E'
       NAME                  =VBELNTEXT
       OBJECT                  = 'VBBK'
*         ARCHIVE_HANDLE          = 0
IMPORTING
       HEADER                  = HTEXT
TABLES
       LINES                   = LTEXT
EXCEPTIONS
       ID                      = 1
       LANGUAGE                = 2
       NAME                  = 3
       NOT_FOUND               = 4
       OBJECT                  = 5
       REFERENCE_CHECK         = 6
       WRONG_ACCESS_TO_ARCHIVE = 7
       OTHERS                  = 8.
      LOOP AT LTEXT.
      IF LTEXT-TDLINE NE ''.
          CONDENSE LTEXT-TDLINE.
          CONCATENATE INTAB-VBELNTEXT6 LTEXT-TDLINEINTO INTAB-VBELNTEXT6 SEPARATED BY ' ' .
      ENDIF.
      ENDLOOP.
      CLEAR HTEXT .
      CLEAR DTEXT .
      CLEAR LTEXT .
  REFRESH DTEXT .
      REFRESH LTEXT .
    ENDIF .
页: [1]
查看完整版本: SAP READ_TEXT函数的用法