Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
START-OF-SELECTION.
PERFORM UPLOAD_FILE.
* PERFORM OPEN_GROUP.
LOOP AT IT_DATA INTO WA_DATA.
*********SCREEN 1
PERFORM BDC_DYNPRO
PERFORM BDC_FIELD
PERFORM BDC_FIELD
PERFORM BDC_FIELD
PERFORM BDC_FIELD
PERFORM BDC_FIELD
USING 'RMMG1-MTART'
WA_DATA-MTART.
*********SCREEN 2
PERFORM BDC_DYNPRO
USING 'SAPLMGMM' '0070'.
PERFORM BDC_FIELD
USING 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(01)'.
PERFORM BDC_FIELD
USING 'BDC_OKCODE'
'=ENTR'.
PERFORM BDC_FIELD
USING 'MSICHTAUSW-KZSEL(01)'
'X'.
*********SCREEN 3
PERFORM BDC_DYNPRO
PERFORM BDC_FIELD
PERFORM BDC_FIELD
PERFORM BDC_FIELD
PERFORM BDC_FIELD
'=BU'.
WA_DATA-MAKTX.
'MARA-MEINS'.
WA_DATA-MEINS.
FILENAME
= LV_FILENAME
* FILETYPE
= 'ASC'
HAS_FIELD_SEPARATOR
= 'X'
* HEADER_LENGTH
=0
* READ_BY_LINE
= 'X'
* DAT_MODE
=''
* CODEPAGE
=''
* IGNORE_CERR
= ABAP_TRUE
* REPLACEMENT
= '#'
* CHECK_BOM
=''
* VIRUS_SCAN_PROFILE
=
* NO_AUTH_CHECK
=''
* IMPORTING
* FILELENGTH
=
* HEADER
=
TABLES
DATA_TAB
= IT_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.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
DELETE IT_DATA INDEX 1.
ENDFORM.
" UPLOAD_FILE
*----------------------------------------------------------------------*
*
Start new screen
*
*----------------------------------------------------------------------*
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
CLEAR IT_BDCDATA.
IT_BDCDATA-PROGRAM = PROGRAM.
IT_BDCDATA-DYNPRO = DYNPRO.
IT_BDCDATA-DYNBEGIN = 'X'.
APPEND IT_BDCDATA.
ENDFORM.
"BDC_DYNPRO
*----------------------------------------------------------------------*
*
Insert field
*
*----------------------------------------------------------------------*
FORM BDC_FIELD USING FNAM FVAL.
* IF FVAL <> NODATA.
CLEAR IT_BDCDATA.
IT_BDCDATA-FNAM = FNAM.
IT_BDCDATA-FVAL = FVAL.
APPEND IT_BDCDATA.
* ENDIF.
ENDFORM.
"BDC_FIELD
*----------------------------------------------------------------------*
*
Start new transaction according to parameters
*----------------------------------------------------------------------*
FORM BDC_TRANSACTION USING TCODE.
REFRESH IT_MESSTAB.
CALL TRANSACTION TCODE USING IT_BDCDATA[]
MODE 'N'
UPDATE 'A'
MESSAGES INTO IT_MESSTAB[].
if sy-subrc = 0.
APPEND wa_data to it_succ.
else.
APPEND wa_data to it_error.
endif.
* IF SY-SUBRC <> 0.
*
read TABLE it_messtab INDEX 1 ." with key MSGTYP = 'E'.
*
CALL FUNCTION 'FORMAT_MESSAGE'
*
EXPORTING
*
ID
= it_messtab-MSGID
*
LANG
= it_messtab-MSGSPRA
*
NO
= it_messtab-MSGNR
*
V1
= it_messtab-MSGV1
*
V2
= it_messtab-MSGV2
*
V3
= it_messtab-MSGV3
*
V4
= it_messtab-MSGV4
*
IMPORTING
*
MSG
= WA_ERROR-REASON
*
EXCEPTIONS
*
NOT_FOUND
=1
*
OTHERS
=2
*
.
*
IF SY-SUBRC <> 0.
** MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
**
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
*
ENDIF.
*
*
MOVE-CORRESPONDING wa_data to wa_error.
*
APPEND WA_error TO IT_ERROR.
* ENDIF.
REFRESH IT_BDCDATA.
ENDFORM.
"BDC_TRANSACTION
*&---------------------------------------------------------------------*
*&
Form DOWNLOAD_LOG
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
*
-->P_IT_DATA text
*----------------------------------------------------------------------*
FORM DOWNLOAD_LOG USING P_STATUS P_IT_DATA LIKE IT_error.
DATA: LV_FILENAME TYPE STRING.
ENDFORM.
" DOWNLOAD_LOG