12
返回列表 发新帖
楼主: sbrui

CONCATENATE连接字符串问题。

[复制链接]
论坛徽章:
121
紫蛋头
日期:2013-07-02 19:27:392014年新春福章
日期:2014-02-18 16:41:11马上有车
日期:2014-02-18 16:41:112014年世界杯参赛球队: 波黑
日期:2014-06-07 00:05:53喜羊羊
日期:2015-03-04 14:49:392015年新春福章
日期:2015-03-06 11:57:31
11#
发表于 2007-12-3 11:10 | 只看该作者
你或许把Internal Table与Work Area搞混了.仔细检查一下你的代码,对照一下#9的修改.
如果还不行,把按#9方法改的代码完整的贴出来.

使用道具 举报

回复
论坛徽章:
7
2011新春纪念徽章
日期:2011-02-18 11:43:33ITPUB 11周年纪念徽章
日期:2012-10-09 18:08:152014年新春福章
日期:2014-02-18 16:42:02马上有房
日期:2014-02-18 16:42:02马上有对象
日期:2015-02-04 17:20:25沸羊羊
日期:2015-03-04 14:51:522015年新春福章
日期:2015-03-06 11:58:18
12#
 楼主| 发表于 2007-12-3 13:19 | 只看该作者

回复 #1 rosefish 的帖子

修改后的代码:
data: it_header type standard table of zso_header_row initial size 0 with header line,
      it_detail type standard table of ZSO_DETAIL_ROW initial size 0 with header line,
      it_text type standard table of tline initial size 0 with header line,
      wa_header type zso_header_row,
      wa_detail type ZSO_DETAIL_ROW,
      wa_text type tline,
      text_name like thead-tdname .

select *
       into corresponding fields of wa_detail
          from vbak                                "业务数据表
          inner join vbap on                       "项目数据表
               vbak~vbeln = vbap~vbeln

       where vbak~vbeln = p_vbeln.
    append wa_detail to it_detail.
  endselect.

loop at it_detail into wa_detail.
  concatenate it_detail-vbeln it_detail-posnr into text_name.
  write: /  it_detail-vbeln, it_detail-posnr, text_name.
endloop.

CALL FUNCTION 'READ_TEXT'
  EXPORTING
    CLIENT                        = '600'
    ID                            = '0001'
    LANGUAGE                      = '1'
    NAME                          = text_name
    OBJECT                        = 'VBBP'
*   ARCHIVE_HANDLE                = 0
*   LOCAL_CAT                     = ' '
* IMPORTING
*   HEADER                        =
  TABLES
    LINES                         = it_text
* EXCEPTIONS
*   ID                            = 1
*   LANGUAGE                      = 2
*   NAME                          = 3
*   NOT_FOUND                     = 4
*   OBJECT                        = 5
*   REFERENCE_CHECK               = 6
*   WRONG_ACCESS_TO_ARCHIVE       = 7
*   OTHERS                        = 8
          .
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

使用道具 举报

回复
论坛徽章:
121
紫蛋头
日期:2013-07-02 19:27:392014年新春福章
日期:2014-02-18 16:41:11马上有车
日期:2014-02-18 16:41:112014年世界杯参赛球队: 波黑
日期:2014-06-07 00:05:53喜羊羊
日期:2015-03-04 14:49:392015年新春福章
日期:2015-03-06 11:57:31
13#
发表于 2007-12-3 13:42 | 只看该作者

回复 #2 sbrui 的帖子

第1页#5那段代码照抄就可用
#9两种修改方法用任一种都可以,却同时用了两种

真是不好意思,可能是我说得不够清楚.为了避免再错,我把修改后的代码全部贴出来吧

data: it_header type standard table of zso_header_row initial size 0 with header line,
      it_detail type standard table of ZSO_DETAIL_ROW initial size 0 with header line,
      it_text type standard table of tline initial size 0 with header line,
      wa_header type zso_header_row,
      wa_detail type ZSO_DETAIL_ROW,
      wa_text type tline,
      text_name like thead-tdname .

select *
       into corresponding fields of wa_detail
          from vbak                                "业务数据表
          inner join vbap on                       "项目数据表
               vbak~vbeln = vbap~vbeln

       where vbak~vbeln = p_vbeln.
    append wa_detail to it_detail.
  endselect.

loop at it_detail into wa_detail.
  concatenate wa_detail-vbeln wa_detail-posnr into text_name.
  write: /  wa_detail-vbeln, wa_detail-posnr, text_name.

CALL FUNCTION 'READ_TEXT'
  EXPORTING
    CLIENT                        = '600'
    ID                            = '0001'
    LANGUAGE                      = '1'
    NAME                          = text_name
    OBJECT                        = 'VBBP'
*   ARCHIVE_HANDLE                = 0
*   LOCAL_CAT                     = ' '
* IMPORTING
*   HEADER                        =
  TABLES
    LINES                         = it_text
* EXCEPTIONS
*   ID                            = 1
*   LANGUAGE                      = 2
*   NAME                          = 3
*   NOT_FOUND                     = 4
*   OBJECT                        = 5
*   REFERENCE_CHECK               = 6
*   WRONG_ACCESS_TO_ARCHIVE       = 7
*   OTHERS                        = 8
          .
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

endloop.

使用道具 举报

回复
论坛徽章:
7
2011新春纪念徽章
日期:2011-02-18 11:43:33ITPUB 11周年纪念徽章
日期:2012-10-09 18:08:152014年新春福章
日期:2014-02-18 16:42:02马上有房
日期:2014-02-18 16:42:02马上有对象
日期:2015-02-04 17:20:25沸羊羊
日期:2015-03-04 14:51:522015年新春福章
日期:2015-03-06 11:58:18
14#
 楼主| 发表于 2007-12-3 17:03 | 只看该作者

回复 #3 rosefish 的帖子

thanks

使用道具 举报

回复
论坛徽章:
13
授权会员
日期:2007-10-16 14:36:31ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44生肖徽章2007版:鸡
日期:2008-01-02 17:35:53生肖徽章2007版:兔
日期:2008-04-07 19:49:482009新春纪念徽章
日期:2009-01-04 14:52:28参与WIN7挑战赛纪念
日期:2009-11-10 14:24:11白羊座
日期:2015-12-07 10:10:41
15#
发表于 2007-12-5 15:30 | 只看该作者
看来LZ的问题是内表和工作区分不清~

使用道具 举报

回复
论坛徽章:
11
生肖徽章:猴
日期:2007-09-26 17:11:122008新春纪念徽章
日期:2008-02-13 12:43:03
16#
发表于 2007-12-6 21:08 | 只看该作者
loop at it_detail.
  concatenate wa_detail-vbeln wa_detail-posnr into text_name.
write: /  it_detail-vbeln, it_detail-posnr, text_name.
endloop.



应该改成 loop at it_detail into wa_detail,其他不变,
或者
loop at it_detail.
concatenate it_detail-vbeln it_detail-posnr into text_name.
其他不变,楼主怎么连工作区和表都分不清楚?

  select *
       into corresponding fields of wa_detail
          from vbak                                "业务数据表
          inner join vbap on                       "项目数据表
               vbak~vbeln = vbap~vbeln

       where vbak~vbeln = p_vbeln.
    append wa_detail to it_detail.
  endselect.
可以直接写成 select * into correspongding fields of table it_detail

[ 本帖最后由 no17_agl 于 2007-12-6 21:10 编辑 ]

使用道具 举报

回复
论坛徽章:
121
紫蛋头
日期:2013-07-02 19:27:392014年新春福章
日期:2014-02-18 16:41:11马上有车
日期:2014-02-18 16:41:112014年世界杯参赛球队: 波黑
日期:2014-06-07 00:05:53喜羊羊
日期:2015-03-04 14:49:392015年新春福章
日期:2015-03-06 11:57:31
17#
发表于 2007-12-6 22:32 | 只看该作者
原帖由 no17_agl 于 2007-12-6 21:08 发表
可以直接写成 select * into correspongding fields of table it_detail

注意拼写

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表