Job Rules Upload

TABLES: AGR_1251,AGR_1252.
DATA:FILESIZE  TYPE I,
     TRECCT    TYPE I,
     TAGRNAME  LIKE AGR_1251-AGR_NAME,
     TFIELD    LIKE AGR_1251-FIELD,
     TVARBL    LIKE AGR_1252-VARBL.
DATA: BEGIN OF ITAB OCCURS 0,
     AGR_NAME(40) TYPE C,
     COUNTER(40)  TYPE C,
     FIELD(40)    TYPE C,
     LOW(40)      TYPE C,
     HIGH(40)     TYPE C,
   END OF ITAB.
DATA: WAGR_1252 LIKE AGR_1252.

*TOP-OF-PAGE.
ULINE.
WRITE:/'|',  2(20) '      Rolename      ', 22 '|',
       23(9) ' Counter ', 32 '|',
       33(10) '  Field   ' , 43 '|',
       44(40) 'ValueFrom                               ', 84 '|',
       85(40) 'ValueTo                                 ', 125 '|'.
ULINE.

CALL FUNCTION 'UPLOAD'
  EXPORTING
*    CODEPAGE = 'IBM'
*    FILENAME = P_FILENAME
    FILETYPE = 'DAT'
  IMPORTING
    FILESIZE = FILESIZE
  TABLES
    DATA_TAB = ITAB
  EXCEPTIONS
    CONVERSION_ERROR        = 1
    INVALID_TABLE_WIDTH     = 2
    INVALID_TYPE            = 3
    NO_BATCH                = 4
    UNKNOWN_ERROR           = 5
    GUI_REFUSE_FILETRANSFER = 6.
CLEAR TRECCT.
DESCRIBE TABLE ITAB LINES TRECCT.
IF TRECCT > 0.
  IF NOT ITAB IS INITIAL.
    CLEAR ITAB.
  ENDIF.
  SORT ITAB BY AGR_NAME FIELD ASCENDING.
  LOOP AT ITAB.
    SHIFT ITAB-AGR_NAME LEFT DELETING LEADING SPACE.
    SHIFT ITAB-COUNTER  LEFT DELETING LEADING SPACE.
    SHIFT ITAB-FIELD    LEFT DELETING LEADING SPACE.
    SHIFT ITAB-LOW      LEFT DELETING LEADING SPACE.
    SHIFT ITAB-HIGH     LEFT DELETING LEADING SPACE.
    CONCATENATE '$' ITAB-FIELD INTO TVARBL.
    IF ITAB-AGR_NAME <> TAGRNAME OR ITAB-FIELD <> TFIELD.
      TAGRNAME = ITAB-AGR_NAME.
      TFIELD   = ITAB-FIELD.
      DELETE FROM AGR_1252
        WHERE AGR_NAME = ITAB-AGR_NAME AND VARBL = TVARBL.
    ENDIF.

    CLEAR WAGR_1252.
    WAGR_1252-AGR_NAME = ITAB-AGR_NAME.
    WAGR_1252-COUNTER  = ITAB-COUNTER.
    WAGR_1252-VARBL    = TVARBL.
    WAGR_1252-LOW      = ITAB-LOW.
    WAGR_1252-HIGH     = ITAB-HIGH.

    INSERT INTO AGR_1252 VALUES WAGR_1252.

    WRITE: /2(20) WAGR_1252-AGR_NAME,
       23(9)  WAGR_1252-COUNTER,
       33(10) WAGR_1252-VARBL,
       44(40) WAGR_1252-LOW,
       85(40) WAGR_1252-HIGH.

    UPDATE AGR_1251 SET LOW = TVARBL
                        MODIFIED = 'S'
      WHERE AGR_NAME = ITAB-AGR_NAME AND FIELD = ITAB-FIELD.

  ENDLOOP.
ENDIF.
CLEAR:FILESIZE,TRECCT,TAGRNAME,TFIELD,TVARBL.
REFRESH: ITAB.

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

转载于:http://blog.itpub.net/455606/viewspace-594546/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值