SAP 长文本的编辑

SAP 中SO,PO等都有许多的文本可以编辑,文本的内容并不是存储在VBAK,VBAP等表中,而且是在STXH,STXL两个簇表中,他们的读取和修改要使用IMPORT/EXPORT DATASET的方式,也可以使用标准的function。

首先定义文本类型( SE75 )。

    CALL FUNCTION 'READ_TEXT'
      EXPORTING
        client                  = sy-mandt
        id                      = 'H006'
        language                = sy-langu
        name                    = textname
        object                  = 'VBBK'
      TABLES
        lines                   = lt_read
      EXCEPTIONS
        id                      = 1
        language                = 2
        name                    = 3
        not_found               = 4
        object                  = 5
        reference_check         = 6
        wrong_access_to_archive = 7
        OTHERS                  = 8.


  CALL FUNCTION 'SAVE_TEXT'
    EXPORTING
      client          = sy-mandt
      header          = ls_head
      savemode_direct = 'X'
    TABLES
      lines           = lt_read
    EXCEPTIONS
      id              = 1
      language        = 2
      name            = 3
      object          = 4
      OTHERS          = 5.

另外标准的BAPI也可以支持修改长文本。

控制参数在*_text的table参数里面。

        CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
          EXPORTING
*           SALESDOCUMENTIN         = P_new
            order_header_in         = order_header_in1
          IMPORTING
            salesdocument           = salesdocument1
          TABLES
            return                  = return_so_error
            order_items_in          = order_items_in1
            order_items_inx         = order_items_in1x
            order_partners          = order_partners1
            order_schedules_in      = order_schedules_in1
*           ORDER_SCHEDULES_INX     = ORDER_SCHEDULES_IN1X
            order_conditions_in     = order_conditions_in1
            order_conditions_inx    = order_conditions_inx
            order_text              = order_text1
*           ORDER_KEYS              =
            extensionin             = order_extension1

 header的长文本

            LOOP AT it_text1.
              order_text1-text_id    = 'I001'.
              order_text1-itm_number = space.
              order_text1-langu      = sy-langu.
              order_text1-format_col = '*'.
              order_text1-text_line  = it_text1-text_line.
              APPEND order_text1.
              CLEAR order_text1.
            ENDLOOP.

item的长文本:

            LOOP AT it_text1.
              order_text1-text_id    = 'Z022'.
              order_text1-itm_number = p_posnr.
              order_text1-langu      = sy-langu.
              order_text1-format_col = '*'.
              order_text1-text_line  = it_text1-text_line.
              APPEND order_text1.
              CLEAR order_text1.
            ENDLOOP.

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值