Documente Academic
Documente Profesional
Documente Cultură
TYPE
TYPE
TYPE
TYPE
N LENGTH 2,
N LENGTH 2,
BDCDATA-FNAM,
BDCDATA-FVAL.
start-of-selection.
perform gui_upload.
perform getdata.
perform bdc.
end-of-selection.
*&---------------------------------------------------------------------*
*&
Form GUI_UPLOAD
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
FORM GUI_UPLOAD.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
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_UPLOAD.
* 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.
ENDFORM.
"GUI_UPLOAD
*&---------------------------------------------------------------------*
*&
Form getdata
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
form getdata.
it_header[] = it_upload[].
DELETE ADJACENT DUPLICATES FROM it_header COMPARING MATNR.
delete it_header where menge = '0'.
if it_header[] is not initial.
endif.
endform.
"getdata
form bdc.
perform open_group.
loop at it_header into wa_header.
CLEAR W_BDCDATA.
REFRESH T_BDCDATA.
COUNTER1 = WA_HEADER-LINE_NO1.
perform bdc_dynpro
perform bdc_field
perform bdc_field
perform bdc_field
*
perform bdc_dynpro
*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
CONCATENATE 'RM06E-EVRTP(' COUNTER1 ')' INTO TEMP2.
perform bdc_field
using 'BDC_CURSOR'
TEMP2.
* &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
**
'RM06E-EVRTP(01)'.
*
'RM06E-EVRTP(' COUNTER1 ')'.
perform bdc_field
perform bdc_field
perform bdc_field
using 'BDC_CURSOR'
TEMP1.
using 'BDC_OKCODE'
'=ET'.
using 'RM06E-EBELP'
'10'.
*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
CONCATENATE 'RM06E-TCSELFLAG(' COUNTER1 ')' INTO TEMP1.
perform bdc_field
USING TEMP1
'X'.
clear temp1.
*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
** perform bdc_field
using 'RM06E-TCSELFLAG(01)'
* perform bdc_field
using 'RM06E-TCSELFLAG('COUNTER2')'
*
'X'.
using 'BDC_OKCODE'
'=BU'.
CLEAR WA_HEADER.
ENDLOOP.
perform close_group.
endform.