ITPub博客

首页 > Linux操作系统 > Linux操作系统 > IF用法的问题

IF用法的问题

原创 Linux操作系统 作者:天山雪石 时间:2010-04-14 18:02:24 0 删除 编辑

IF用法的问题:
  *   LOOP AT g_t_result.
*     IF g_t_result-ktgrm ne '01' and g_t_result-ktgrm ne '10' and g_t_result-ktgrm ne '08'
*        and g_t_result-ktgrm ne '16' and g_t_result-ktgrm ne '17' and g_t_result-ktgrm ne '18'.
*       delete g_t_result.
*       clear g_t_result-ktgrm.
*     ENDIF.
**     IF g_t_result-wbstk ne 'C'.
**     delete g_t_result.
**       clear g_t_result-wbstk.
**     ENDIF.
*   ENDLOOP.
当一条数据同时满足不是01,10,08,16,17,18,C时,会出现问题,会删除内表g_t_result中上一条满足条件的数据,具体什么原因本人还是不太懂,

修改后的用法:
     LOOP AT g_t_result.
     IF g_t_result-ktgrm ne '01' and g_t_result-ktgrm ne '10' and g_t_result-ktgrm ne '08'
        and g_t_result-ktgrm ne '16' and g_t_result-ktgrm ne '17' and g_t_result-ktgrm ne '18'.
       delete g_t_result.
     elseif g_t_result-wbstk ne 'C'.
     delete g_t_result.
     ENDIF.
   ENDLOOP.

或者对判断分开,做两次LOOP:
   *   LOOP AT g_t_result.
*     IF g_t_result-ktgrm ne '01' and g_t_result-ktgrm ne '10' and g_t_result-ktgrm ne '08'
*        and g_t_result-ktgrm ne '16' and g_t_result-ktgrm ne '17' and g_t_result-ktgrm ne '18'.
*       delete g_t_result.
*       clear g_t_result-ktgrm.
*     ENDIF.
*   ENDLOOP.
*
*   LOOP AT g_t_result.
*     IF g_t_result-wbstk ne 'C'.
*     delete g_t_result.
*       clear g_t_result-wbstk.
*     ENDIF.
*   ENDLOOP.

本人不知道这里IF的用法,小菜鸟一个!

 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23537555/viewspace-659747/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-03-17

  • 博文量
    15
  • 访问量
    15665