赛跑网

 找回密码
 注册

QQ登录

只需一步,快速开始

快捷登录

查看: 2541|回复: 5

[ABAP问题] 作业debug - 关于 AT NEW

[复制链接]
发表于 2011-5-31 23:33:32 | 显示全部楼层 |阅读模式
1赛跑币
第二次作业中,我根据KUNRG和MATKL一组数据的改变,打印表头部分。结果如下列程序运行结果,即使KUNRG不变,MATKL也不变,write部分也重复打印了。可以帮忙debug或者解答么?谢谢
--------------------------我是头疼的分割线--------------------------------------------------
LOOP AT IT_VBRK INTO WA_VBRK.
  AT NEW KUNRG.
    READ TABLE IT_VBRP WITH KEY VBELN = WA_VBRK-VBELN INTO WA_VBRP.
    READ TABLE IT_MAKT WITH KEY MATNR = WA_VBRP-MATNR INTO WA_MAKT.
    READ TABLE IT_KNA1 WITH KEY KUNNR = WA_VBRK-KUNRG INTO WA_KNA1.
    READ TABLE IT_T023T WITH KEY MATKL = WA_VBRP-MATKL INTO WA_T023T.
IF CMATKL <> WA_VBRP-MATKL.
     NEW-PAGE.
ENDIF.
    CMATKL = WA_VBRP-MATKL.
    WRITE: TEXT-002, 30 WA_VBRK-KUNRG, 50 WA_KNA1-NAME1.
    WRITE:/ TEXT-003,30 WA_VBRP-MATKL, 50 WA_T023T-WGBEZ.
    ULINE.
    WRITE: TEXT-004,20 TEXT-005, 40 TEXT-006, 50 TEXT-007, 70 TEXT-008, 130 TEXT-009, 140 TEXT-010, 150 TEXT-011.
    ULINE.
    WRITE: WA_VBRK-FKDAT, 20 WA_VBRK-VBELN, 40 WA_VBRP-POSNR, 50 WA_VBRP-MATNR, 70 WA_MAKT-MAKTX, 130 WA_VBRP-FKIMG, 140 WA_VBRP-VRKME, 150 WA_VBRP-NETWR.
  ENDAT.
ENDLOOP.

最佳答案

查看完整内容

HEAD部分应该写在AT NEW里面,而发票号应该写在AT NEW后面

最近访客

  • wx_65155
    2022-10-24




上一篇:帮别人代问问题 关于like
下一篇:建带有CURR Element的Structure
本楼点评(0) 收起
发表于 2011-5-31 23:33:33 | 显示全部楼层
HEAD部分应该写在AT NEW里面,而发票号应该写在AT NEW后面
本楼点评(0) 收起
回复

使用道具 举报

 楼主| 发表于 2011-6-1 00:17:28 | 显示全部楼层
找到原因了。
VBELN在内部表中排在了KUNRG之前了。结果凭证号不同,支付人相同,在用NEW KUNRG时候,就造成这样问题。
解决办法,或者将NEW KUNRG写成IF形式,或者更改下两列的顺序。
我更改了两列顺序,这个问题得到初步解决
本楼点评(0) 收起
回复

使用道具 举报

 楼主| 发表于 2011-6-1 00:18:02 | 显示全部楼层
给自己加分可以?
本楼点评(0) 收起
回复

使用道具 举报

发表于 2011-6-1 23:23:30 | 显示全部楼层
看来还是要多DEBUG,这样才能发现问题
本楼点评(0) 收起
回复

使用道具 举报

发表于 2013-6-24 22:55:28 | 显示全部楼层
学习
本楼点评(0) 收起
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-18 06:12 , Processed in 0.211680 second(s), 47 queries .

Powered by 91SAP X3.4

© 2001-2023 91sap Team.

快速回复 返回顶部 返回列表