FORM. write_data.
DATA : lv_mod TYPE i,
lv_cnt TYPE i .
sy-lsind = sy-lsind - 1.
WRITE : AT /(l) sy-uline.
FORMAT COLOR COL_HEADING.
WRITE : / '|' NO-GAP, AT (3) 'Sel' NO-GAP,
'|' NO-GAP, AT (7) 'Status' NO-GAP,
'|' NO-GAP, AT (15) 'Repair.Order' NO-GAP,
'|' NO-GAP, AT (12) 'WorkShop' NO-GAP,
'|' NO-GAP, AT (18) 'Create Man ' NO-GAP,
'|' NO-GAP, AT (12) 'Create Date' NO-GAP,
'|' NO-GAP, AT (13) '' NO-GAP,
'|' NO-GAP, AT (13) '' NO-GAP,
'|' NO-GAP, AT (13) '' NO-GAP,
'|' NO-GAP, AT (8) '' NO-GAP,
'|' NO-GAP.
WRITE: / '|' NO-GAP, AT (3) ' ' NO-GAP,
'|' NO-GAP, AT (7) '' NO-GAP,
'|' NO-GAP, AT (15) '' NO-GAP,
'|' NO-GAP, AT (12) 'Item NO' NO-GAP,
'|' NO-GAP, AT (18) 'Material' NO-GAP,
'|' NO-GAP, AT (12) 'Model' NO-GAP,
'|' NO-GAP, AT (13) 'Item Qty' NO-GAP,
'|' NO-GAP, AT (13) 'Issue Qty' NO-GAP,
'|' NO-GAP, AT (13) 'GR Qty' NO-GAP,
'|' NO-GAP, AT (8) 'Unit' NO-GAP,
'|' NO-GAP.
FORMAT RESET.
WRITE : AT /(l) sy-uline.
CLEAR itab_h .
LOOP AT itab_h .
itab_h-index = sy-tabix.
MODIFY itab_h.
CLEAR itab_h .
ENDLOOP .
CLEAR itab_i .
LOOP AT itab_i .
itab_i-index = sy-tabix.
MODIFY itab_i.
CLEAR itab_i .
ENDLOOP .
LOOP AT itab_h .
ADD 1 TO lv_cnt.
lv_mod = lv_cnt MOD 2.
IF lv_mod = 0.
FORMAT COLOR COL_NORMAL INTENSIFIED ON.
ELSE.
FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
ENDIF.
IF itab_h-status = 'A0' .
itab_h-icon = icon_create .
ELSEIF itab_h-status = 'B0'.
itab_h-icon = icon_release .
ENDIF .
WRITE:/ '|' , itab_h-checkbox AS CHECKBOX INPUT ON,
'|' NO-GAP, AT (7) itab_h-icon NO-GAP,
'|' NO-GAP, AT (15) itab_h-repair_no NO-GAP,
'|' NO-GAP, AT (12) itab_h-workshop NO-GAP,
'|' NO-GAP, AT (18) itab_h-new_man NO-GAP,
'|' NO-GAP, AT (12) itab_h-new_date NO-GAP,
'|' NO-GAP, AT (13) '' NO-GAP,
'|' NO-GAP, AT (13) '' NO-GAP,
'|' NO-GAP, AT (13) '' NO-GAP,
'|' NO-GAP, AT (8) '' NO-GAP,
'|' NO-GAP.
* WRITE : AT /(l) sy-uline.
HIDE: itab_h-index, itab_h-checkbox , itab_h-repair_no .
CLEAR itab_i .
LOOP AT itab_i WHERE repair_no = itab_h-repair_no .
WRITE: / '|' NO-GAP, AT (3) ' ' NO-GAP,
'|' NO-GAP, AT (7) '' NO-GAP,
'|' NO-GAP, AT (15) '' NO-GAP,
'|' NO-GAP, AT (12) itab_i-item_no NO-GAP,
'|' NO-GAP, AT (18) itab_i-matnr NO-GAP,
'|' NO-GAP, AT (12) itab_i-model NO-GAP,
'|' NO-GAP, AT (13) itab_i-gamng NO-GAP,
'|' NO-GAP, AT (13) itab_i-issue_qty NO-GAP,
'|' NO-GAP, AT (13) itab_i-wemng NO-GAP,
'|' NO-GAP, AT (8) itab_i-meins NO-GAP,
'|' NO-GAP.
HIDE: itab_i-index, itab_i-checkbox .
ENDLOOP .
WRITE : AT /(l) sy-uline.
CLEAR itab_h .
ENDLOOP .
ENDFORM. " WRITE_DATA
-------------------------------------------------------------------------------------------------------------------------------
FORM. modify_screen.
DATA :
lv_zcheck,
lv_index LIKE sy-tabix,
lv_repair LIKE zkrfc_i-repair_no.
CLEAR itab_h.
DO.
CLEAR : lv_zcheck, lv_index, lv_repair, itab_h.
READ LINE sy-index FIELD VALUE : itab_h-index itab_h-checkbox
itab_h-repair_no.
lv_index = itab_h-index.
lv_zcheck = itab_h-checkbox.
lv_repair = itab_h-repair_no.
CONDENSE lv_repair NO-GAPS.
IF sy-subrc NE 0.
EXIT.
ENDIF.
READ TABLE itab_h INDEX lv_index .
IF sy-subrc EQ 0.
IF lv_repair NE ''.
itab_h-checkbox = lv_zcheck.
itab_h-repair_no = lv_repair.
MODIFY itab_h INDEX lv_index .
ENDIF .
ENDIF.
ENDDO.
ENDFORM. " MODIFY_SCREEN
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/80479/viewspace-269160/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/80479/viewspace-269160/