注册 登录
赛跑网 返回首页

wyzlt216123的个人空间 https://www.91sap.com/?1173 [收藏] [复制] [分享] [RSS]

日志

两个FUNCTION MODULE

热度 1已有 686 次阅读2011-7-24 17:14 |个人分类:ABAP FUNCTION|

   
   1> MESSAGE_TEXT_BUILD   这个函数是用来拼接消息的,就是用来将消息转化成文本,可以直接输出!我们在调用其他一些函数的时候经常看到这样一段代码:
   IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.
一条消息是由消息id、消息类型和消息号决定的。上面是用手工的方法输出一个消息。如果不想使用这种方法,我们就可以调用函数MESSAGE_TEXT_BUILD,将要输出的消息转化成可以直接输出的文本。在调用函数的时候,同样也要指定消息id、消息类型和消息号。调用函数的样式如下:    
CALL FUNCTION 'MESSAGE_TEXT_BUILD'
      EXPORTING
        msgid               = wa_bdcmsg-msgid
        msgnr               = wa_bdcmsg-msgnr
        msgv1               = wa_bdcmsg-msgv1
        msgv2               = wa_bdcmsg-msgv2
        msgv3               = wa_bdcmsg-msgv3
        msgv4               = wa_bdcmsg-msgv4
      IMPORTING
        message_text_output = g_message.
这样我们得到的g_message,就包含了消息id 消息类型等各种信息,并且可以直接输出!
    2> REUSE_ALV_FIELDCATALOG_MERGE 这个函数用于ALV输出报表的时候,要填充内部表fieldcat,这个函数需要我们在se11里面建立一个结构,这个结构要与要输出数据的内部表结构一致!
   CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
   EXPORTING
     i_program_name               =sy-repid
     i_structure_name             = 'ZS029_LITAOREPORT3_ALV'
    CHANGING
      ct_fieldcat                  = it_field
   EXCEPTIONS
     inconsistent_interface       = 1
     program_error                = 2
     OTHERS                       = 3
            .
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
这样就可以填充内部表it_field了

发表评论 评论 (7 个评论)

回复 admin 2011-7-24 17:25
FUNCTION就是平时不断的积累起来了,最好在自己电脑上用一个EXCEL表,管理起来,以后要用的时候,查一下就可以了,省了好多麻烦
回复 admin 2011-7-24 17:33
李涛,八月份,如果让你在网上讲课的话,你敢尝试吗?
回复 wyzlt216123 2011-7-24 23:40
admin: FUNCTION就是平时不断的积累起来了,最好在自己电脑上用一个EXCEL表,管理起来,以后要用的时候,查一下就可以了,省了好多麻烦
好的,先一个个总结出来!
回复 wyzlt216123 2011-7-24 23:47
admin: 李涛,八月份,如果让你在网上讲课的话,你敢尝试吗?
彭老师,ABAP基础我想尝试一下!我最近几天总结下,写一个类似讲义的东西,然后每一次课要讲的东西整理出文字,你看看可以不可以?过了你这关,我再讲!不能砸了赛跑网的牌子!
回复 admin 2011-7-25 13:07
好的啊,希望能借助赛跑网这个平台,把李涛的名气顶上去,有了名气后,找你的人就会多了,就像我现在一样,来找我的好,到处都是。
回复 wyzlt216123 2011-7-25 17:07
admin: 好的啊,希望能借助赛跑网这个平台,把李涛的名气顶上去,有了名气后,找你的人就会多了,就像我现在一样,来找我的好,到处都是。
同时也希望能给赛跑网多做点贡献!
回复 admin 2011-7-25 20:43
好的啊

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

小黑屋|联系我们|赛跑网 ( QQ:108519493QQfsq

GMT+8, 2024-5-18 23:15 , Processed in 0.169739 second(s), 20 queries .

Powered by 91SAP X3.4

© 2001-2023 91sap Team.

返回顶部