*&--------------------------------------------------------------------* *& Form PROCESS_ENTRY_RESET * *&--------------------------------------------------------------------* * refresh entry from database * *---------------------------------------------------------------------* * --> PER_INDEX current index for modifying EXTRACT * *---------------------------------------------------------------------* FORM PROCESS_ENTRY_RESET USING VALUE(PER_INDEX) TYPE I. DATA: PRT_FRKY_SAFE(255) TYPE C, PER_HF TYPE I, REFCNT_SAFE TYPE I. REFCNT_SAFE = REFCNT. PERFORM MOVE_EXTRACT_TO_VIEW_WA. IF NE ORIGINAL OR "SW Texttransl ( X_HEADER-BASTAB NE SPACE AND X_HEADER-TEXTTBEXST NE SPACE AND NE ORIGINAL ). * check if the is assigned. If the field belong * EZN & KEY, the field will be assinged. IF vim_prtfky_assigned NE ' '. "XB 07.2002 Y6BK009849 IF X_HEADER-PTFRKYEXST NE SPACE. MOVE TO PRT_FRKY_SAFE. ENDIF. ENDIF. IF X_HEADER-FRM_RP_ORG NE SPACE. PERFORM (X_HEADER-FRM_RP_ORG) IN PROGRAM (SY-REPID). ELSE. IF X_HEADER-BASTAB NE SPACE. PERFORM (VIM_TB_READ_SINGLE_FORM) IN PROGRAM (SY-REPID). ELSE. PER_HF = STRLEN( X_HEADER-MAINTVIEW ). IF PER_HF LE 10. MOVE X_HEADER-MAINTVIEW TO VIM_READ_SINGLE_FORM-VIEWNAME. PERFORM (VIM_READ_SINGLE_FORM) IN PROGRAM. ELSE. MOVE X_HEADER-MAINTVIEW TO VIM_READ_SINGLE_FORM_40-VIEWNAME. PERFORM (VIM_READ_SINGLE_FORM_40) IN PROGRAM. ENDIF. ENDIF. ENDIF. IF SY-SUBRC NE 0. IF X_HEADER-FRM_RP_ORG EQ SPACE. RAISE IMPOSSIBLE_ERROR. "entry not found ENDIF. ELSE. * check if the is assigned. If the field belong * EZN & KEY, the field will be assinged. IF vim_prtfky_assigned NE ' '. "XB 07.2002 Y6BK009849 IF X_HEADER-PTFRKYEXST NE SPACE AND "SW NE PRT_FRKY_SAFE. PERFORM CONSISTENCY_PRT_FRKY_FIELDS USING 'X'. ENDIF. ENDIF. IF X_HEADER-DELMDTFLAG NE SPACE. PERFORM TEMPORAL_DELIMITATION. ENDIF. PERFORM MODIFY_TABLES USING PER_INDEX. IF PER_INDEX NE 0. ADD 1 TO REFCNT. ENDIF. ENDIF. ENDIF. "SW Texttransl .. IF X_HEADER-TEXTTBEXST <> SPACE. "SW Texttransl .. IF X_HEADER-FRM_TL_ORG NE SPACE. PERFORM (X_HEADER-FRM_TL_ORG) IN PROGRAM (SY-REPID). ELSE. PERFORM VIM_READ_TEXTTAB_ENTRY. ENDIF. IF REFCNT_SAFE = REFCNT AND SY-SUBRC = 0. ADD 1 TO REFCNT. CLEAR -UPD_FLAG. IF EQ MARKIERT. SUBTRACT: 1 FROM -MK_XT, 1 FROM -MK_TO. = NICHT_MARKIERT. IF PER_INDEX <> 0. MODIFY EXTRACT INDEX PER_INDEX. ENDIF. READ TABLE TOTAL WITH KEY BINARY SEARCH. = NICHT_MARKIERT. MODIFY TOTAL INDEX SY-TABIX. ENDIF. ENDIF. ENDIF. ".. Texttransl ENDFORM. "process_entry_reset