信息类型1002职位描述上载。

2020-08-25 02:42发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我需要维护Infotype 10...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我需要维护Infotype 1002中的职位描述。我已经成功上传了职位描述,但是它的对齐方式对我来说是个问题,因为它打破了单词的含义并转到下一行。 我的要求是,上传长文本时,所有单词都不会断。我已将Excel文件读入内部表。 然后我使用了RSDG_WORD_WRAP/IQAPI_WORD_WRAP/RKD_WORD_WRAP。 所有这些功能模块都不起作用。 我不想使用分隔符,只需要在行大小上完成即可。 之后,我使用FM RH_OBJECT_DESCRIPTION_WRITE并将数据从excel上传到IT1002。
数据:
   带有标题行的" zpt1002的类型标准表","表参数"
   wa_ptxt1002喜欢it_ptxt1002。
 数据:
   ld_plvar TYPE hrp1000-plvar,
   ld_otype TYPE hrp1000-otype,
   ld_objid TYPE hrp1000-objid,
   ld_begda TYPE p1000-begda,
   ld_endda TYPE p1000-endda,
   ld_subty TYPE p1002-subty,
   ld_duty TYPE sy-input,
   ld_vtask TYPE故障-vtask。
 参数:p_infile类似于rlgrap文件名。
 包括bdcrecx1。
 数据:itab类似于zalsmex_tabline,带有标题行的OCCURS 0。
 数据:
        obj(8)类型i。
 类型:开始于t_record,
          plan_ver喜欢itab值,
          输入类似itab值的类型,
          objid像itab值,
          信息类型为itab值,
          子类型为itab-value,
          plan_status类似于itab值,
          val_begin喜欢itab值,
          val_end喜欢itab值,
          文字像itab值,
          TYPE I行,
          尺寸TYPE I,
        t_record的结尾。
 数据:t_record初始大小为0的i_tab类型标准表,
       it_lines像带有标题行的tline标准表一样,
       it_text_header类似于带标题行的thead标准表。
 数据:t_record初始大小为0的it_record TYPE标准表,
       wa_record TYPE t_record。
 数据:gd_currentrow TYPE i。
 数据:关闭TYPE i VALUE'0',
       p_error TYPE sy-lisel,
       LEN TYPE I,
       乞求TYPE dats,
       结束TYPE dats。
 在p_infile值请求的选择屏幕上。
   通话功能'F4_FILENAME'
     输入
       file_name = p_infile。
 选择开始。
   通话功能'ZALSM_EXCEL_TO_INTERNAL_TABLE'
     出口
       文件名= p_infile
       i_begin_col ='1'
       i_begin_row ='2'"需要标题
       i_end_col ='30'
       i_end_row ='50000'
     桌子
       实习生= Itab
     例外情况
       参数不一致= 1
       upload_ole = 2
       其他= 3。
   如果sy-subrc <> 0。
     带有文字001的邮件e010(zz)。  "问题上传Excel电子表格
   万一。
 *按行和列对表排序
   按行1 col1排序itab。
 *获取第一行
   读取表itab索引1。
 *将检索到的第一行设置为当前行
   gd_currentrow = itab-row1。
   在itab上。
 *重置下一行的值
     如果itab-row1 NE gd_currentrow。
       APPEND wa_record到it_record。
       清除wa_record。
       gd_currentrow = itab-row1。
     万一。
     案例itab-col1。
      当" 0001"时。
         wa_record-plan_ver = Itab值。
       当" 0002"时。
         wa_record-otype = Itab值。
       当" 0003"时。
         wa_record-objid = itab值。
       当为'0004'时。
         wa_record-infotype = Itab值。
       当'0005'。
         wa_record-subtype = Itab值。
       当" 0006"时。
         wa_record-plan_status = itab值。
       当'0007'。
         wa_record-val_begin = Itab值。
       当" 0008"时。
         wa_record-val_end = Itab值。
       当" 0009"时。
         wa_record-text = Itab值。
     结束。
     在第1行的末尾。
       wa_record-tsize = strlen(wa_record-text)。  ""使用STRLEN查找字符串长度
       wa_record-row = itab-row1。  ""将当前行号添加到内部表
       将wa_record附加到i_tab。
       清除wa_record。
     ENDAT。
   结局。
 选择开始。
   循环至i_tab INTO wa_record。
 通话功能'RSDG_WORD_WRAP'
   出口
     文字行= wa_record-text
    DELIMITER ='。
    输出= 72
 *重要
 * OUT_LINE1 =
 * OUT_LINE2 =
 * OUT_LINE3 =
  桌子
    OUT_LINES = it_ptxt1002
 *例外情况
 * OUTPUTLEN_TOO_LARGE = 1
 *其他= 2。
 如果sy-subrc <> 0。
 *在这里实施适当的错误处理
 万一。
     通话功能" CONVERT_DATE_TO_INTERNAL"
       出口
         date_external = wa_record-val_begin
 * ACCEPT_INITIAL_DATE =
       输入
         date_internal =乞求
 *例外情况
 * DATE_EXTERNAL_IS_INVALID = 1
 *其他= 2
       。
     如果sy-subrc <> 0。
 *在这里实施适当的错误处理
     万一。
     通话功能" CONVERT_DATE_TO_INTERNAL"
       出口
         date_external = wa_record-val_end
 * ACCEPT_INITIAL_DATE =
       输入
         date_internal =结束
 *例外情况
 * DATE_EXTERNAL_IS_INVALID = 1
 *其他= 2。
     如果sy-subrc <> 0。
 *在这里实施适当的错误处理
     万一。
     ld_plvar = wa_record-plan_ver。
     ld_otype = wa_record-otype。
     ld_objid = wa_record-objid。
     ld_subty = wa_record-subtype。
     通话功能'RH_OBJECT_DESCRIPTION_WRITE'
       出口
         langu = sy-langu
         plvar = ld_plvar" wa_record-plan_ver
         otype = ld_otype" wa_record-otype
         objid = ld_objid" wa_record-objid
         begda =乞求"'19000101'
         endda =结束"'99991231'
         subty = ld_subty" wa_record-subtype"'0001'
         责任=''
         vtask ='D'
       桌子
         ptxt1002 = it_ptxt1002
       例外情况
         object_not_found = 1
         description_required = 2
         no_authority = 3
         error_during_insert = 4
         invalid_date = 5
         未定义= 6
         其他= 7 ..
     清除:it_ptxt1002,beg,end,ld_plvar,ld_otype,ld_objid,ld_subty。
   结局。
 

(37.0 kB)