Beruflich Dokumente
Kultur Dokumente
*$*$**********************************************************************
REPORT ZHR_PY0007.
INCLUDE ZHR_PY0007_TOP.
INCLUDE ZHR_PY0007_F00.
INCLUDE ZHR_PY0007_F01.
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
DATA:
END OF GTI_DATA.
*$*$----------------------------------------------------------------------*
*$*$----------------------------------------------------------------------*
*$*$----------------------------------------------------------------------*
*$*$----------------------------------------------------------------------*
CONSTANTS:
gc_object type balobj_d value 'ZHR',
*$*$---------------------------------------------------------------------*
*$*$---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*$*$----------------------------------------------------------------------*
*$*$ AT SELECTION-SCREEN ON *
*$*$----------------------------------------------------------------------*
EXPORTING
default_extension = '*.TXT'
file_filter = '(*.TXT)|*.TXT'
CHANGING
file_table = GTI_ENTRADA
rc = v_rc
EXCEPTIONS
file_open_dialog_failed = 1
cntl_error = 2
error_no_gui = 3
OTHERS = 4.
IF sy-subrc EQ 0.
IF sy-subrc EQ 0.
p_rut1 = wa_entrada-filename.
ENDIF.
ENDIF.
*$*$----------------------------------------------------------------------*
*$*$ START-OF-SELECTION *
*$*$----------------------------------------------------------------------*
START-OF-SELECTION.
PERFORM ABRIR_ARCHIVO.
PERFORM LOG_CREATE.
PERFORM CARGA_MASIVA.
PERFORM LOG_DISPLAY.
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM ABRIR_ARCHIVO .
TYPE-POOLS TRUXS.
V_FILENAME = P_RUT1.
EXPORTING
FILENAME = V_FILENAME
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
TABLES
DATA_TAB = GTI_DATA
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_READ_ERROR = 2
NO_BATCH = 3
GUI_REFUSE_FILETRANSFER = 4
INVALID_TYPE = 5
NO_AUTHORITY = 6
UNKNOWN_ERROR = 7
BAD_DATA_FORMAT = 8
HEADER_NOT_ALLOWED = 9
SEPARATOR_NOT_ALLOWED = 10
HEADER_TOO_LONG = 11
UNKNOWN_DP_ERROR = 12
ACCESS_DENIED = 13
DP_OUT_OF_MEMORY = 14
DISK_FULL = 15
DP_TIMEOUT = 16
OTHERS = 17.
IF SY-SUBRC <> 0.
EXIT.
ENDIF.
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM CARGA_MASIVA .
LOOP AT GTI_DATA.
GTI_DATA-FEC_FIN_CONT
GTI_DATA-POSICION
changing l_posi.
if l_posi eq 'X'.
PERFORM LOG_SAVE.
continue.
endif.
V_IMPORTE1 = GTI_DATA-SUEL_BAS.
* V_IMPORTE2 = GTI_DATA-ASIG_FAMI.
V_IMPORTE3 = GTI_DATA-MOVILIDAD.
IF GTI_DATA-SEXO EQ 'M'.
ELSE.
PERFORM BDC_FIELD USING 'Q0002-GESC2' 'X'.
ENDIF.
* EN EL CAMPO P0007-SCHKZ.
GTI_DATA-CTA_INTER IS INITIAL.
ELSE.
ENDIF.
IF GTI_DATA-TIP_CONT NE '01'.
ENDIF.
V_MODE = 'A'.
* IF V_REG EQ 0. "E-@01
IF SY-SUBRC NE 0. "I-@01
* BEGIN I-@01.
REFRESH BDCDATA.
REFRESH MESSTAB.
* END I-@01.
ELSE.
* V_MODE = 'E'.
LOOP AT MESSTAB.
MESSTAB-MSGTYP = 'E'.
ENDIF.
ENDLOOP.
ENDIF.
IF P_LOG2 EQ 'X'.
PERFORM LOG_SAVE.
V_FLAG = 'X'.
ENDLOOP.
ELSE.
LOOP AT MESSTAB.
PERFORM LOG_SAVE.
V_FLAG = 'X'.
ENDLOOP.
ENDIF.
* REFRESH BDCDATA. "E-@01
ENDLOOP.
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
CLEAR BDCDATA.
BDCDATA-PROGRAM = PROGRAM.
BDCDATA-DYNPRO = DYNPRO.
BDCDATA-DYNBEGIN = 'X'.
APPEND BDCDATA.
ENDFORM. "BDC_DYNPRO
*----------------------------------------------------------------------*
* Insert field *
*----------------------------------------------------------------------*
CLEAR BDCDATA.
BDCDATA-FNAM = FNAM.
BDCDATA-FVAL = FVAL.
APPEND BDCDATA.
ENDFORM. "BDC_FIELD
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM LOG_CREATE .
G_LOG_HANDLE_TAB.
T_LOG_WA-OBJECT = GC_OBJECT.
T_LOG_WA-SUBOBJECT = GC_SUBOBJECT.
T_LOG_WA-ALDATE = SY-DATUM.
T_LOG_WA-ALTIME = SY-UZEIT.
T_LOG_WA-ALUSER = SY-UNAME.
T_LOG_WA-ALTCODE = SY-TCODE.
T_LOG_WA-ALPROG = SY-REPID.
T_LOG_WA-ALMODE = 'D'.
T_LOG_WA-ALCHDATE = SY-DATUM.
T_LOG_WA-ALCHTIME = SY-UZEIT.
T_LOG_WA-ALCHUSER = SY-UNAME.
EXPORTING
I_S_LOG = T_LOG_WA
IMPORTING
E_LOG_HANDLE = G_LOG_HANDLE
EXCEPTIONS
LOG_HEADER_INCONSISTENT = 1
OTHERS = 2.
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
EXPORTING
I_LOG_HANDLE = P_LOG_HANDLE
EXCEPTIONS
LOG_NOT_FOUND = 1
OTHERS = 2.
EXIT.
ENDIF.
REFRESH P_LOG_HANDLE_TAB.
ENDFORM. "LOG_REFRESH
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_MESSTAB[] text
*----------------------------------------------------------------------*
L_MSG_WA-MSGTY = MESSTAB-MSGTYP.
L_MSG_WA-MSGID = MESSTAB-MSGID.
L_MSG_WA-MSGNO = MESSTAB-MSGNR.
L_MSG_WA-MSGV1 = MESSTAB-MSGV1.
L_MSG_WA-MSGV2 = MESSTAB-MSGV2.
EXPORTING
I_LOG_HANDLE = G_LOG_HANDLE
I_S_MSG = L_MSG_WA
EXCEPTIONS
LOG_NOT_FOUND = 1
MSG_INCONSISTENT = 2
LOG_IS_FULL = 3
OTHERS = 4.
ENDIF.
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM LOG_SAVE .
EXPORTING
I_CLIENT = SY-MANDT
I_IN_UPDATE_TASK = SPACE
I_SAVE_ALL = SPACE
I_T_LOG_HANDLE = G_LOG_HANDLE_TAB
IMPORTING
E_NEW_LOGNUMBERS = L_BAL_T_LGNM
EXCEPTIONS
LOG_NOT_FOUND = 1
SAVE_NOT_ALLOWED = 2
NUMBERING_ERROR = 3.
ENDIF.
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM LOG_DISPLAY .
* EXPORTING
* I_S_DISPLAY_PROFILE =
* I_T_LOG_HANDLE =
* I_T_MSG_HANDLE =
* I_S_LOG_FILTER =
* I_S_MSG_FILTER =
* I_T_LOG_CONTEXT_FILTER =
* I_T_MSG_CONTEXT_FILTER =
* I_AMODAL =
* IMPORTING
* E_S_EXIT_COMMAND =
EXCEPTIONS
PROFILE_INCONSISTENT = 1
INTERNAL_ERROR = 2
NO_DATA_AVAILABLE = 3
NO_AUTHORITY = 4
OTHERS = 5.
ENDIF.
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_MESSTAB[] text
*----------------------------------------------------------------------*
EXPORTING
I_LOG_HANDLE = G_LOG_HANDLE
I_TEXT = L_MSG
EXCEPTIONS
LOG_NOT_FOUND = 1
MSG_INCONSISTENT = 2
LOG_IS_FULL = 3
OTHERS = 4.
IF SY-SUBRC <> 0.
ENDIF.
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
P_POSICION
P_NUM_PERS.
* BEGIN I-@01
IF P_LOG2 EQ 'X'.
PERFORM LOG_SAVE.
ENDLOOP.
ELSE.
LOOP AT MESSTAB.
PERFORM LOG_SAVE.
ENDLOOP.
ENDIF.
* END I-@01
REFRESH BDCDATA.
REFRESH MESSTAB.
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_V_FEC_ING1 text
* -->P_V_COD_EMP text
*----------------------------------------------------------------------*
V_COD_EMP.
* BEGIN I-@01
IF P_LOG2 EQ 'X'.
PERFORM LOG_SAVE.
ENDLOOP.
ELSE.
LOOP AT MESSTAB.
PERFORM LOG_SAVE.
ENDLOOP.
ENDIF.
* END I-@01
REFRESH BDCDATA.
REFRESH MESSTAB.
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_FEC_ING text
* -->P_FEC_FIN_CONT text
* -->P_POSICION text
* <--P_POSI text
*----------------------------------------------------------------------*
p_fec_fin
p_posicion
changing p_posi.
END OF Y_RES.
SELECT SOBID BEGDA ENDDA FROM HRP1001 INTO TABLE T_RES WHERE
OTYPE EQ 'S'
IF SY-SUBRC EQ 0.
ENDIF.
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_COD text
* -->P_POSI text
*----------------------------------------------------------------------*
EXPORTING
I_LOG_HANDLE = G_LOG_HANDLE
I_TEXT = L_MSG
EXCEPTIONS
LOG_NOT_FOUND = 1
MSG_INCONSISTENT = 2
LOG_IS_FULL = 3
OTHERS = 4.
IF SY-SUBRC <> 0.
ENDIF.