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-TDLINE  INTO 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-TDLINE  INTO 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-TDLINE  INTO 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-TDLINE  INTO 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-TDLINE  INTO INTAB-VBELNTEXT7 SEPARATED BY ' ' .
      ENDIF.
    ENDLOOP.

    CONDENSE  INTAB-VBELNTEXT7 .
    IF INTAB-VBELNTEXT7 NE '' .
      IF STRLEN( INTAB-VBELNTEXT7 ) EQ 8.
        CONCATENATE  INTAB-VBELNTEXT7+0(4)  INTAB-VBELNTEXT7+4(2)  INTAB-VBELNTEXT7+6(2) INTO   INTAB-VBELNTEXT7  SEPARATED BY  '/'.
      ELSE.
        INTAB-VBELNTEXT7  = '不符合日期格式YYYYMMDD'.
      ENDIF .
      MOVE 'Y' TO  INTAB-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-TDLINE  INTO INTAB-VBELNTEXT7 SEPARATED BY ' ' .
        ENDIF.
      ENDLOOP.
      CONDENSE  INTAB-VBELNTEXT7 .
      IF INTAB-VBELNTEXT7 NE '' .
        IF STRLEN( INTAB-VBELNTEXT7 ) EQ 8.
          CONCATENATE  INTAB-VBELNTEXT7+0(4)  INTAB-VBELNTEXT7+4(2)  INTAB-VBELNTEXT7+6(2) INTO   INTAB-VBELNTEXT7  SEPARATED BY  '/'.
        ELSE.
          INTAB-VBELNTEXT7  = '不符合日期格式YYYYMMDD'.
        ENDIF .
        MOVE 'Y' TO  INTAB-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) INTO  INTAB-VBELNTEXT7  SEPARATED 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-TDLINE  INTO 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-TDLINE  INTO INTAB-VBELNTEXT6 SEPARATED BY ' ' .
        ENDIF.
      ENDLOOP.
      CLEAR HTEXT .
      CLEAR DTEXT .
      CLEAR LTEXT .

      REFRESH DTEXT .
      REFRESH LTEXT .
    ENDIF .

转载于:https://www.cnblogs.com/aBaoRong/archive/2012/03/31/2426314.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值