首页 > 其他分享 >通知单的长文本和合作伙伴功能获得

通知单的长文本和合作伙伴功能获得

时间:2023-09-18 11:31:46浏览次数:45  
标签:gs wa text 合作伙伴 qmnum parter 通知单 文本 TYPE


通知单的透明表:


VIQMEL  视图,通知单的主要属性

Qmsm  任务表

Qmur  主题

Qmih  故障表

Qmel 主表

Qmfe 项目 (长文本  缺陷定位 等)

T356_t  优先级

Qpgt 代码组文本     qpct  代码文本

  目录的定义(KATALOGART):


一,长文本

长文本的存储位置:  抬头:STXH    行项目:STXL

关键字:TDNAME,TDOBJECT,  TDID ,TDSPRAS

  TDNAME   : 号码

  TDOBJECT :  (同一类对象的 tdobject 都相同)

  TDID       :   ?

TDSPRAS   :语言

 由于长文本数据保存在 STXL 不能正常读取,所有应该利用一个函数 :

 READ_TEXT

 我们调用它,并且提供上述的几个参数即刻读取到指定的长文本。由于长文本很长,所以我们读取出来的数据可能是很多条数据。所以我们需要遍历读取到的数据,然后进行拼接。

  保存用另一个函数 save_text ,只是用这个函数保存至今还没有保存成功。

例子: 通知单的长文本分为五类:抬头,原因,工序,结果,评估

类别

Tdname

Tdobject

Tdid

tdspras

备注

抬头

通知单号

QMEL

LTXT

 

 

原因

通知单号+qmfe-fenum

QMFE

LTXT

 

Qmfe-fecod = 0010

工序

通知单号+qmfe-fenum

QMFE

LTXT

 

Qmfe-fecod = 0020

结果

通知单号+qmfe-fenum

QMFE

LTXT

 

Qmfe-fecod = 0030

评估

通知单号+qmfe-fenum

QMFE

LTXT

 

Qmfe-fecod = 0040

 

 

代码实例:

TYPES: BEGIN OF ty_text,
       qmnum LIKE qmel-qmnum,     "通知单号
      fenum LIKE qmfe-fenum,
      fecod LIKE qmfe-fecod,
      kurztext(20) TYPE c,
      text(1000) TYPE c,         "
   END OF 
DATA: gt_text TYPE TABLE OF ty_text,
      gs_text TYPE 
FORM get_text2  USING   v_qmnum.
  DATA:  td_name   LIKE stxh-tdname,
         fenum LIKE qmfe-fenum,
         l_qmnum(12) TYPE c,
         c_fenum(4) TYPE c
         .
  DATA itab_line LIKE tline OCCURS 0 WITH HEADER LINE.

  CLEAR: gt_text,gs_text.

  SELECT a~qmnum  a~fenum a~fecod b~kurztext
       INTO CORRESPONDING FIELDS OF TABLE  gt_text
         FROM qmfe AS a
           INNER JOIN qpct AS b
          ON a~fekat = b~katalogart
         AND a~fegrp = b~codegruppe
         AND a~fever = b~version
         AND a~fecod = b~code
        WHERE  a~qmnum = v_qmnum
          AND  a~indtx = 'X'
          AND  b~sprache = 1
          AND  b~katalogart = 'C'
          AND  b~codegruppe = 'CLM-01'
          AND  b~version = '000001'
       .

  CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
    EXPORTING
      input  = v_qmnum
    IMPORTING
      output = l_qmnum.

  IF sy-subrc = 0.

    LOOP AT gt_text INTO gs_text.
      c_fenum = gs_text-fenum.
      PERFORM zero_do USING c_fenum 4.
      CONCATENATE l_qmnum c_fenum INTO td_name.


      CLEAR itab_line. REFRESH itab_line.

      CALL FUNCTION 'READ_TEXT'                                               " 读取通知内容长文本
            EXPORTING
                   client                       = sy-mandt
                   id                           = 'LTXT'
                   language                     = sy-langu
                   name                         = td_name
                   object                       = 'QMFE'
                 TABLES
                   lines                         = itab_line
                EXCEPTIONS
                 not_found                     = 4.

      IF sy-subrc = 0.
        LOOP AT itab_line.
          CONCATENATE gs_text-text itab_line-tdline INTO gs_text-text.    "把多行长文本加在一起
        ENDLOOP.
        MODIFY gt_text FROM gs_text.
      ENDIF.
    ENDLOOP.

  ENDIF.
  td_name = l_qmnum.
  CLEAR itab_line. REFRESH itab_line.

  CALL FUNCTION 'READ_TEXT'                                               " 读取通知内容长文本
           EXPORTING
                  client                       = sy-mandt
                  id                           = 'LTXT'
                  language                     = sy-langu
                  name                         = td_name
                  object                       = 'QMEL'
                TABLES
                  lines                         = itab_line
               EXCEPTIONS
                not_found                     = 4.

  IF sy-subrc = 0.
    CLEAR gs_text.
    LOOP AT itab_line.
      CONCATENATE gs_text-text itab_line-tdline INTO gs_text-text.    "把多行长文本加在一起
    ENDLOOP.
    gs_text-qmnum = v_qmnum.
    gs_text-fecod = '0000'.
    gs_text-kurztext = '抬头长文本'.
    APPEND gs_text TO gt_text.
  ENDIF.
ENDFORM.

 

二,合作伙伴

  

Ihpa 合作伙伴 (QM+通知单号 关联 通知单) 

Tpar  合伙人 角色定义(合作伙伴功能及描述,合作伙伴编号类型)

TVPA  合作伙伴编号类型表  (合作伙伴编号类型及描述,对应的数据表格)

tpart 合作伙伴功能定义文本

Objnr = QM+通知单号 objty = QMC

合作伙伴定义如下(PARVW):

读取方法:

首先通过 PM_Partner_get 获得合作伙伴列表

参数:Objnr = QM+qmel-qmnum(12位)

返回:IHPA_TAB (合作伙伴列表)

然后调用 PM_Partner_read 获得  diadrc_wa

参数:parvw = ihpa_tab-pa

      Parnr = ihpa_itab-parnr

Objnr = ihpa_itab-objnr

1.             合作伙伴功能

1.       名称

1.       Table

1.       Field1

1.       Field2

1.       备注

1.       AB

2.       负责部门

3.        

2.       HRP1000

2.       Objid

2.       Stext

2.        

1.       VW

4.       负责人

5.        

3.        

3.        

3.        

3.        

1.       AU

6.       创始人

4.        

4.        

4.        

4.        

1.       HR

7.       制造厂商

5.       LFA1

5.       Lifnr

5.       Name1

5.        

1.       AG

8.       售达方

6.       KNA1

6.       Kunnr

6.       Name1

6.       界面中显示SP

1.       VU

9.       负责的用户

7.        

7.        

7.        

7.        

1.       LF

10.   供应商

8.       LFA1

8.       Lifnr

8.       Name1

8.       界面中显示VN

1.       KU

11.   协调者

9.        

9.        

9.        

9.        

1.       CP

12.   联系人

10.    

10.    

10.    

10.    

2.        

13.    

11.    

11.    

11.    

11.    

 

代码实例:

*合作伙伴
TYPES: BEGIN OF  ty_parter,
          vtext TYPE tpart-vtext,      " 功能
          parnr TYPE ihpa-parnr,       "(合作伙伴)
          name1 TYPE diadrcpd-name1,   " 名称
          addr(200)  TYPE c,           " 地址

          city1 TYPE diadrcpd-city1 ,   "城市
          tel_number TYPE diadrcpd-tel_number ,  "电话号码
          fax_number TYPE diadrcpd-fax_number ,  "传真
          sort1 TYPE diadrcpd-sort1,  "排序
       END OF 
DATA: gt_parter TYPE TABLE OF ty_parter,
      gs_parter TYPE ty_parter. 
FORM get_parter  USING    v_qmnum.
  DATA: it_part_h TYPE TABLE OF ihpavb WITH HEADER LINE.
  DATA: wa_d LIKE diadr.
  DATA: v_text TYPE tpart-vtext.
  DATA l_objnr TYPE onr00-objnr.
  DATA l_qmnum(12) TYPE c.
  DATA tabix TYPE sy-tabix.
  CLEAR: it_part_h,wa_d,gt_parter,gs_parter.

  CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
    EXPORTING
      input  = v_qmnum
    IMPORTING
      output = l_qmnum.

  CONCATENATE 'QM' l_qmnum INTO l_objnr.
  READ TABLE gt_main INTO gs_main WITH KEY qmnum = v_qmnum.
  tabix = sy-tabix.
*  读取合作伙伴列表
  CALL FUNCTION 'PM_PARTNER_GET'
    EXPORTING
      objnr    = l_objnr
    TABLES
      ihpa_tab = it_part_h.
  IF sy-subrc = 0.
    LOOP AT it_part_h.
*      读取合作伙伴细节
      CALL FUNCTION 'PM_PARTNER_READ'
        EXPORTING
          parvw    = it_part_h-parvw
          parnr    = it_part_h-parnr
          objnr    = it_part_h-objnr
        IMPORTING
          diadr_wa = wa_d
          vtext    = v_text.
      IF sy-subrc = 0.
        gs_parter-parnr = it_part_h-parnr.
        gs_parter-name1 = wa_d-name1.
        gs_parter-city1 = wa_d-city1.
        gs_parter-tel_number = wa_d-tel_number.
        gs_parter-fax_number = wa_d-fax_number.
        gs_parter-sort1 = wa_d-sort1.
        gs_parter-vtext = v_text.
        CONCATENATE wa_d-name1 ',' wa_d-city1 ','
                    wa_d-tel_number ','
                    wa_d-fax_number ','
                    wa_d-sort1
                    INTO gs_parter-addr.
        APPEND gs_parter TO gt_parter.
*        把负责人 和 协调者 放到主表中
        IF it_part_h-parvw = 'VW' AND gs_main-fzr IS INITIAL.
          gs_main-fzr = wa_d-name1.
          MODIFY gt_main FROM gs_main INDEX tabix.
        ENDIF.
        IF it_part_h-parvw = 'KU' AND gs_main-xtz IS INITIAL.
          gs_main-xtz = wa_d-name1.
          MODIFY gt_main FROM gs_main INDEX tabix.
        ENDIF.
      ENDIF.
    ENDLOOP.
  ENDIF.

 

当让对于其它对象的长文本和合作伙伴,也可以用类似的方法读取

标签:gs,wa,text,合作伙伴,qmnum,parter,通知单,文本,TYPE
From: https://blog.51cto.com/u_8215601/7508689

相关文章

  • js中查询一段文本并选中查到的所有匹配能实现吗?
    有一个csdn网友遇到了这样的问题,想在一段文本中查询,然后选中匹配了的所有内容。但是单纯从需求来讲,我认为是无法实现的。我给出的解释是:在文本框中同时选中不连续的片断是不可能的。但是如果是非文本框中的文本,可以通过改变字体颜色和背景的方法来模拟不连续片断的同时选中效果......
  • 当页面中文本不允许选择时,使文本框中文本可以选择的js代码
    <bodyonselectstart="returnoSelect(event.srcElement);"><scriptlanguage="javascript">functionoSelect(obj){if(obj.type!='text')returnfalse;}</script><inputtype="text"name=&quo......
  • 15 列表框,文本框,文件域
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>学习单选框和多选框和按钮</title></head><body><h1>选择框和按钮</h1><formaction="表格标签.html"method......
  • 清理文本中的 图片标签乱码
    清理之前:清理之后:代码实现:<pclass="content"v-html="changeUrl(item.content)"></p>changeUrl(data){vara=data;//用正则获取img标签varb=/<img[^>]*src=['"]([^'"]+)[^>]*>/g;......
  • vue项目中的Tinymce富文本编辑器如何从word中粘贴图片上传到七牛云
    Tinymce富文本编辑器粘贴图片时需要上传到自己的空间中才能被打开。一、首先需要安装引入七牛云npminstallqiniu-jsvarqiniu=require('qiniu-js')//orimport*asqiniufrom'qiniu-js'二、同时引入客户端生成的tokenimport{qiniuTokenCreate}from"@/assets/js/qin......
  • 13 文本框和单选框
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>学习表单</title></head><body><h1>学习表单和单选框</h1><formaction="表格标签.html"method="......
  • [Linux] Linux常用文本操作命令整理
    阅读目录1.统计命令——wc2.切分命令——cut3.排序命令——sort4.去重命令——uniq5.查找命令——grep6.替换/查找/删除命令——sed7.强大的文本分析命令——awk简单的总结一下常用的一些实用的Linux文本操作命令,包括wc(统计)、cut(切分)、sort(排序)、uniq(去重......
  • TinyMCE富文本编辑器导入word文件内容,使word文件上的的图文内容能正常显示图片
    今天在使用后台管理系统录入富文本数据时,发现从微信等APP上复制过来的图文内容直接粘贴到TinyMCE富文本编辑器上时图片可以正常显示,而从word上复制过来的图文内容,粘贴时只能显示文字,图片内容不能正常显示。查找问题后发现从微信上复制过来的是Base64图片,而从word上复制过来的图片......
  • vue2 使用tinymce编辑器实现上传图片及粘贴word文本保留格式并粘贴图片自动上传
    下载对应的版本 npminstall@tinymce/[email protected]@5.8.2-S然后在node_modules中找到tinymce把整个文件复制下来粘到public中 在组件页面使用根据自己需求进行注释或添加功能<template><divclass="tinymce-editor"><Editor:......
  • Python stomp 发送消息无法显示文本
    我们向消息服务器通过stomp发送的是文本消息。当消息服务器发送成功后,消息服务器上的文本没有显示,显示的是2进制的数据。  如上图,消息没有作为文本来显示。问题和解决消息服务器是如何判断发送的小时是文本还是二进制的。根据官方的说,Stomp如设置了content-leng......