on ‎2006 Aug 25 1:15 PM
hi all,
i wrote the session method for f-02 transaction,
if voucher number(bkpf-xblnr) found in bkpf i need to skip that voucher number.i need to display error report like (xblnr belnr bldat). and any errors experienced during batch input creation like format errors etc.these errors also i need to disply in error report.
if voucher number(bkpf-xblnr) not found in bkpf i need to insert that voucher number.
if in the flat file 2 records found in bkpf and 2 records not found in bkpf. in sm35 log file it must show 2 records processed and
2 reocrds with errors.
&----
*& Report ZFGLDIOO20 *
*& *
&----
*
----
*
PROGRAM NAME : ZFGLDI0020
REQUEST NO : CD1K900572
APLICATION AREA: FI
AUTHOR : SRINIVAS M
DATE : 13-07-2006
DESCRIPTION :This interface will Developement of a Program to read
and Upload the electronic file containig billing refunds information.
*This upload file will generate transactions in the Accounts payble module.
*After the payments have been done an out put file is created containing the cheque
*information to be uploaded on the revenue billing databases.
*
----
----
REPORT HEADER *
----
REPORT zfgldi0020 NO STANDARD PAGE HEADING
LINE-SIZE 255
LINE-COUNT 65.
====[TABLES]======================================================
TABLES: bkpf, "Accounting Document Header"
bseg, "Accounting Document Segment"
bsec. "One-Time Account Data Document Segment"
====[TYPE-POOLS]======================================================
TYPE-POOLS: slis.
===[INTERNAL TABLES]==================================================
DATA : BEGIN OF it_file_up OCCURS 0,
sgtxt(11),
ls_c2(5),
zuonr(21),
name1(51),
ls_c5(7),
ls_c6(2),
ls_c7(5),
ls_c8(4),
bldat(9),
ls_c10(9),
ls_c11(21),
ls_c12(2),
ls_c13(31),
ls_c14(31),
ls_c15(31),
ls_c16(31),
ls_c17(31),
ls_c18(5),
wrbtr(16),
ls_c20(51),
ls_c21(51),
ls_c22(51),
ls_c23(51),
ls_c24(51),
ls_c25(7),
ls_c26(21),
ls_c27(3),
ls_c28(21),
ls_c29(9),
ls_c30(21),
ls_c31(16),
END OF it_file_up.
DATA : BEGIN OF it_file OCCURS 0,
bldat(10), "Document Date"
blart(2) TYPE c VALUE 'ZD', "Document Type"
bukrs(4) TYPE n VALUE '0100', "Company Code"
budat(10), "Posting Date"
monat(2) TYPE n VALUE '1', " Period"
waers(3) TYPE c VALUE 'ZAR', "Currency"
xblnr(16) TYPE c, " VALUE 'VOUCHER NUMBER', " Reference"
bktxt(25) TYPE c VALUE 'BILLING REFUNDS', "Doc headertext"
bschl(2) TYPE c VALUE '31', "Posting Key"
hkont(7) TYPE n VALUE '490905', "Account"
name1(35) TYPE c, "Name"
stras(35) TYPE c VALUE '66 Jorissen street', "Street"
ort01(35) TYPE c VALUE 'JOHANNESBERG', "City"
pstlz(4) TYPE n VALUE '2001', "Postal Code"
wrbtr(16) , "Amount"
mwskz(2) TYPE c VALUE 'V0', "Tax Code"
zuonr(18) TYPE c, "Assignment"
sgtxt(50) TYPE c, "Text"
bschl1(2) TYPE c VALUE '40', "Posting Key"
hkont1(7) TYPE n VALUE '8701120', "Account"
wrbtr1(16), "Amount"
zuonr1(18) TYPE c, "Assignment"
sgtxt1(50) TYPE c, "Text"
END OF it_file.
DATA : BEGIN OF it_process OCCURS 0,
bldat(10), "Document Date"
blart(2) TYPE c VALUE 'ZD', "Document Type"
bukrs(4) TYPE n VALUE '0100', "Company Code"
budat(10), "Posting Date"
monat(2) TYPE n VALUE '1', " Period"
waers(3) TYPE c VALUE 'ZAR', "Currency"
xblnr(16) TYPE c, " VALUE 'VOUCHER NUMBER', " Reference"
bktxt(25) TYPE c VALUE 'BILLING REFUNDS', "Doc headertext"
bschl(2) TYPE c VALUE '31', "Posting Key"
hkont(7) TYPE n VALUE '490905', "Account"
name1(35) TYPE c, "Name"
stras(35) TYPE c VALUE '66 Jorissen street', "Street"
ort01(35) TYPE c VALUE 'JOHANNESBERG', "City"
pstlz(4) TYPE n VALUE '2001', "Postal Code"
wrbtr(16) , "Amount"
mwskz(2) TYPE c VALUE 'V0', "Tax Code"
zuonr(18) TYPE c, "Assignment"
sgtxt(50) TYPE c, "Text"
bschl1(2) TYPE c VALUE '40', "Posting Key"
hkont1(7) TYPE n VALUE '8701120', "Account"
wrbtr1(16), "Amount"
zuonr1(18) TYPE c, "Assignment"
sgtxt1(50) TYPE c, "Text"
END OF it_process.
*& BDC/Call transaction data.
DATA: BEGIN OF bdcdata OCCURS 0.
INCLUDE STRUCTURE bdcdata.
DATA: END OF bdcdata.
DATA: BEGIN OF it_error OCCURS 0,
xblnr LIKE bkpf-xblnr,
belnr LIKE bkpf-belnr,
bldat LIKE bkpf-bldat,
END OF it_error.
*DATA: it_check LIKE bkpf OCCURS 0 WITH HEADER LINE.
DATA: messtab LIKE bdcmsgcoll OCCURS 100 WITH HEADER LINE.
DATA: lt_fldcat TYPE slis_t_fieldcat_alv,
lt_errorcat TYPE slis_t_fieldcat_alv.
DATA: BEGIN OF err_fld OCCURS 0,
icon(8),
rec_no(6) TYPE n,
messg(100),
END OF err_fld.
===[DATA]=============================================================
DATA: lv_subrc LIKE sy-subrc,
f_session,
f_session_created,
lv_xblnr LIKE bkpf-xblnr,
lv_doc LIKE bkpf-belnr,
lt_files TYPE filetable,
ls_files TYPE file_table,
lv_return TYPE i,
lv_filen TYPE string,
lv_error,
lv_repid LIKE sy-repid.
DATA: lv_bldat(10),
lv_budat(10).
===[STRUCTURES]=======================================================
DATA: ls_fldcat TYPE slis_fieldcat_alv.
*DATA: ls_fldcat1 TYPE slis_t_fieldcat_alv.
DATA: ls_errorcat TYPE slis_fieldcat_alv.
===[SELECTION SCREEN]=================================================
PARAMETERS:
p_file LIKE rlgrap-filename LOWER CASE OBLIGATORY.
SELECTION-SCREEN SKIP.
PARAMETERS:
p_sess LIKE d0100-mapn DEFAULT 'BILLING' OBLIGATORY.
===[AT SELECTION-SCREEN]==============================================
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
PERFORM get_file_name.
===[START-OF-SELECTION]===============================================
START-OF-SELECTION.
*& Upload file into internal table
PERFORM fm_upload_file.
*& Process file
PERFORM fm_process_file.
===[END-OF-SELECTION]=================================================
END-OF-SELECTION.
IF lv_error <> space.
PERFORM output_error_tab.
ENDIF.
SKIP.
*& No data in file
IF it_file_up[] IS INITIAL.
MESSAGE s016(rp) WITH 'No data found in file'.
ENDIF.
*& Build catalog for column headings
PERFORM fm_build_catalog.
*& Displaying output in alv grid
PERFORM fm_alv_grid_display.
*& Build catalog for column headings
PERFORM fm_error_catalog.
*& Displaying output in alv grid
PERFORM fm_error_grid_display.
===[FORMS]============================================================
&----
*& Form fm_process_file
&----
text
----
FORM fm_process_file.
PERFORM bdc_open_group.
LOOP AT it_process.
SELECT SINGLE * FROM bkpf
WHERE bukrs = '0100'
AND blart = 'ZD'
AND xblnr = it_process-xblnr.
IF sy-subrc = 0.
it_error-xblnr = bkpf-xblnr.
it_error-belnr = bkpf-belnr.
it_error-bldat = bkpf-bldat.
APPEND it_error.
CONTINUE.
ENDIF.
REFRESH bdcdata.
CLEAR bdcdata.
CONCATENATE : it_process-bldat6(2) '.' it_process-bldat4(2) '.'
it_process-bldat+0(4) INTO lv_bldat.
CONCATENATE : it_process-budat6(2) '.' it_process-budat4(2) '.'
it_process-budat+0(4) INTO lv_budat.
PERFORM bdc_dynpro USING 'SAPMF05A' '0100'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RF05A-NEWKO'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BKPF-BLDAT'
lv_bldat.
PERFORM bdc_field USING 'BKPF-BLART'
'ZD'.
PERFORM bdc_field USING 'BKPF-BUKRS'
'0100'.
PERFORM bdc_field USING 'BKPF-BUDAT'
lv_budat.
PERFORM bdc_field USING 'BKPF-MONAT'
'1'.
PERFORM bdc_field USING 'BKPF-WAERS'
'ZAR'.
PERFORM bdc_field USING 'BKPF-XBLNR'
it_process-xblnr.
PERFORM bdc_field USING 'BKPF-BKTXT'
'BILLING REFUNDS'.
PERFORM bdc_field USING 'RF05A-NEWBS'
'31'.
PERFORM bdc_field USING 'RF05A-NEWKO'
'490900'.
PERFORM bdc_dynpro USING 'SAPLFCPD' '0100'.
PERFORM bdc_field USING 'BDC_CURSOR'
'BSEC-PSTLZ'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BSEC-NAME1'
it_process-name1.
PERFORM bdc_field USING 'BSEC-STRAS'
'66 JORISSEN STREET'.
PERFORM bdc_field USING 'BSEC-ORT01'
'JOHANNESBURG'.
PERFORM bdc_field USING 'BSEC-PSTLZ'
'2001'.
PERFORM bdc_field USING 'BSEC-LAND1'
'ZA'.
PERFORM bdc_dynpro USING 'SAPMF05A' '0302'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RF05A-NEWKO'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BSEG-WRBTR'
it_process-wrbtr.
PERFORM bdc_field USING 'BSEG-MWSKZ'
'V0'.
PERFORM bdc_field USING 'BSEG-ZUONR'
it_process-zuonr.
PERFORM bdc_field USING 'BSEG-SGTXT'
it_process-sgtxt.
PERFORM bdc_field USING 'RF05A-NEWBS'
'40'.
PERFORM bdc_field USING 'RF05A-NEWKO'
'8701120'.
PERFORM bdc_dynpro USING 'SAPMF05A' '0300'.
PERFORM bdc_field USING 'BDC_CURSOR'
'BSEG-SGTXT'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BSEG-WRBTR'
it_process-wrbtr.
PERFORM bdc_field USING 'BSEG-ZUONR'
it_process-zuonr.
PERFORM bdc_field USING 'BSEG-SGTXT'
it_process-sgtxt.
PERFORM bdc_field USING 'DKACB-FMORE'
'X'.
PERFORM bdc_dynpro USING 'SAPLKACB' '0002'.
PERFORM bdc_field USING 'BDC_CURSOR'
'COBL-KOSTL'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTE'.
PERFORM bdc_field USING 'COBL-KOSTL'
'444615'.
PERFORM bdc_dynpro USING 'SAPMF05A' '0300'.
PERFORM bdc_field USING 'BDC_CURSOR'
'BSEG-WRBTR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=BU'.
PERFORM bdc_field USING 'BSEG-WRBTR'
it_process-wrbtr.
PERFORM bdc_field USING 'BSEG-ZUONR'
it_process-zuonr.
PERFORM bdc_field USING 'BSEG-SGTXT'
it_process-sgtxt.
PERFORM bdc_field USING 'DKACB-FMORE'
'X'.
PERFORM bdc_dynpro USING 'SAPLKACB' '0002'.
PERFORM bdc_field USING 'BDC_CURSOR'
'COBL-KOSTL'.
PERFORM bdc_field USING 'BDC_OKCODE'
'ENTE'.
PERFORM bdc_field USING 'COBL-KOSTL'
'21815'.
PERFORM bdc_dynpro USING 'SAPLKACB' '0002'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/EESC'.
PERFORM bdc_field USING 'BDC_CURSOR'
'COBL-KOSTL'.
PERFORM bdc_dynpro USING 'SAPMF05A' '0700'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RF05A-NEWBS'.
PERFORM bdc_field USING 'BDC_OKCODE'
'RW'.
PERFORM bdc_field USING 'BKPF-XBLNR'
it_process-xblnr.
PERFORM bdc_field USING 'BKPF-BKTXT'
'BILLING REFUNDS'.
PERFORM bdc_dynpro USING 'SAPLSPO1' '0200'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=NO'.
PERFORM bdc_dynpro USING 'SAPMF05A' '0700'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RF05A-NEWBS'.
PERFORM bdc_field USING 'BDC_OKCODE'
'RW'.
PERFORM bdc_field USING 'BKPF-XBLNR'
it_process-xblnr.
PERFORM bdc_field USING 'BKPF-BKTXT'
'BILLING REFUNDS'.
PERFORM bdc_dynpro USING 'SAPLSPO1' '0200'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=YES'.
PERFORM bdc_create_session.
ENDLOOP.
PERFORM bdc_close_session.
ENDFORM. "fm_process_file
&----
*& Form bdc_dynpro
&----
Start new screen *
----
-->PROGRAM text
-->DYNPRO text
----
FORM bdc_dynpro USING program dynpro.
CLEAR bdcdata.
bdcdata-program = program.
bdcdata-dynpro = dynpro.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.
CLEAR bdcdata.
ENDFORM. "bdc_dynpro
&----
*& Form bdc_field
&----
Insert field *
----
-->FNAM text
-->FVAL text
----
FORM bdc_field USING fnam fval.
CLEAR bdcdata.
bdcdata-fnam = fnam.
bdcdata-fval = fval.
APPEND bdcdata.
CLEAR bdcdata.
ENDFORM. "bdc_field
&----
*& Form bdc_create_session
&----
Create session
----
FORM bdc_create_session.
CALL FUNCTION 'BDC_INSERT'
EXPORTING
tcode = 'F-02'
TABLES
dynprotab = bdcdata
EXCEPTIONS
internal_error = 1
not_open = 2
queue_error = 3
tcode_invalid = 4
printing_invalid = 5
posting_invalid = 6
OTHERS = 7.
IF sy-subrc <> 0.
lv_subrc = sy-subrc.
MESSAGE i398(00) WITH 'Cannot insert BDC into session' p_sess
'Return code=' lv_subrc.
ENDIF.
ENDFORM. " bdc_create_session
&----
*& Form bdc_close_session
&----
Close session
----
FORM bdc_close_session.
CALL FUNCTION 'BDC_CLOSE_GROUP'
EXCEPTIONS
not_open = 1
queue_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
lv_subrc = sy-subrc.
MESSAGE i398(00) WITH 'Cannot close session' p_sess
'Return code=' lv_subrc.
ENDIF.
ENDFORM. " bdc_close_session
&----
*& Form fm_build_catalog
&----
text
----
FORM fm_build_catalog.
ls_fldcat-fieldname = 'BLDAT'.
ls_fldcat-ref_tabname = 'BKPF'.
ls_fldcat-ref_fieldname = 'BLDAT'.
APPEND ls_fldcat TO lt_fldcat.
ls_fldcat-fieldname = 'BLART'.
ls_fldcat-ref_tabname = 'BKPF'.
ls_fldcat-ref_fieldname = 'BLART'.
APPEND ls_fldcat TO lt_fldcat.
ls_fldcat-fieldname = 'BUKRS'.
ls_fldcat-ref_tabname = 'BKPF'.
ls_fldcat-ref_fieldname = 'BUKRS'.
APPEND ls_fldcat TO lt_fldcat.
ls_fldcat-fieldname = 'BUDAT'.
ls_fldcat-ref_tabname = 'BKPF'.
ls_fldcat-ref_fieldname = 'BUDAT'.
APPEND ls_fldcat TO lt_fldcat.
ls_fldcat-fieldname = 'MONAT'.
ls_fldcat-ref_tabname = 'BKPF'.
ls_fldcat-ref_fieldname = 'MONAT'.
APPEND ls_fldcat TO lt_fldcat.
ls_fldcat-fieldname = 'WAERS'.
ls_fldcat-ref_tabname = 'BKPF'.
ls_fldcat-ref_fieldname = 'WAERS'.
APPEND ls_fldcat TO lt_fldcat.
ls_fldcat-fieldname = 'XBLNR'.
ls_fldcat-ref_tabname = 'BKPF'.
ls_fldcat-ref_fieldname = 'XBLNR'.
APPEND ls_fldcat TO lt_fldcat.
ls_fldcat-fieldname = 'BKTXT'.
ls_fldcat-ref_tabname = 'BKPF'.
ls_fldcat-ref_fieldname = 'BKTXT'.
APPEND ls_fldcat TO lt_fldcat.
ls_fldcat-fieldname = 'BSCHL'.
ls_fldcat-ref_tabname = 'BSEG'.
ls_fldcat-ref_fieldname = 'BSCHL'.
APPEND ls_fldcat TO lt_fldcat.
ls_fldcat-fieldname = 'HKONT'.
ls_fldcat-ref_tabname = 'BSEG'.
ls_fldcat-ref_fieldname = 'HKONT'.
APPEND ls_fldcat TO lt_fldcat.
ls_fldcat-fieldname = 'NAME1'.
ls_fldcat-ref_tabname = 'BSEC'.
ls_fldcat-ref_fieldname = 'NAME1'.
APPEND ls_fldcat TO lt_fldcat.
ls_fldcat-fieldname = 'STRAS'.
ls_fldcat-ref_tabname = 'BSEC'.
ls_fldcat-ref_fieldname = 'STRAS'.
APPEND ls_fldcat TO lt_fldcat.
ls_fldcat-fieldname = 'ORT01'.
ls_fldcat-ref_tabname = 'BSEC'.
ls_fldcat-ref_fieldname = 'ORT01'.
APPEND ls_fldcat TO lt_fldcat.
ls_fldcat-fieldname = 'PSTLZ'.
ls_fldcat-ref_tabname = 'BSEC'.
ls_fldcat-ref_fieldname = 'PSTLZ'.
APPEND ls_fldcat TO lt_fldcat.
ls_fldcat-fieldname = 'WRBTR'.
ls_fldcat-ref_tabname = 'BSEG'.
ls_fldcat-ref_fieldname = 'WRBTR'.
APPEND ls_fldcat TO lt_fldcat.
ls_fldcat-fieldname = 'MWSKZ'.
ls_fldcat-ref_tabname = 'BSEG'.
ls_fldcat-ref_fieldname = 'MWSKZ'.
APPEND ls_fldcat TO lt_fldcat.
ls_fldcat-fieldname = 'ZUONR'.
ls_fldcat-ref_tabname = 'BSEG'.
ls_fldcat-ref_fieldname = 'ZUONR'.
APPEND ls_fldcat TO lt_fldcat.
ls_fldcat-fieldname = 'SGTXT'.
ls_fldcat-ref_tabname = 'BSEG'.
ls_fldcat-ref_fieldname = 'SGTXT'.
APPEND ls_fldcat TO lt_fldcat.
ls_fldcat-fieldname = 'BSCHL1'.
ls_fldcat-ref_tabname = 'ZBSEG'.
ls_fldcat-ref_fieldname = 'BSCHL1'.
APPEND ls_fldcat TO lt_fldcat.
ls_fldcat-fieldname = 'HKONT1'.
ls_fldcat-ref_tabname = 'ZBSEG'.
ls_fldcat-ref_fieldname = 'HKONT1'.
APPEND ls_fldcat TO lt_fldcat.
ls_fldcat-fieldname = 'WRBTR'.
ls_fldcat-ref_tabname = 'BSEG'.
ls_fldcat-ref_fieldname = 'WRBTR'.
APPEND ls_fldcat TO lt_fldcat.
ls_fldcat-fieldname = 'ZUONR'.
ls_fldcat-ref_tabname = 'BSEG'.
ls_fldcat-ref_fieldname = 'ZUONR'.
APPEND ls_fldcat TO lt_fldcat.
ls_fldcat-fieldname = 'SGTXT'.
ls_fldcat-ref_tabname = 'BSEG'.
ls_fldcat-ref_fieldname = 'SGTXT'.
APPEND ls_fldcat TO lt_fldcat.
ENDFORM. "fm_build_catalog
&----
*& Form fm_error_catalog
&----
text
----
FORM fm_error_catalog.
ls_errorcat-fieldname = 'XBLNR'.
ls_errorcat-ref_tabname = 'BKPF'.
ls_errorcat-ref_fieldname = 'XBLNR'.
APPEND ls_errorcat TO lt_errorcat.
ls_errorcat-fieldname = 'BELNR'.
ls_errorcat-ref_tabname = 'BKPF'.
ls_errorcat-ref_fieldname = 'BELNR'.
APPEND ls_errorcat TO lt_errorcat.
ls_errorcat-fieldname = 'BLDAT'.
ls_errorcat-ref_tabname = 'BKPF'.
ls_errorcat-ref_fieldname = 'BLDAT'.
APPEND ls_errorcat TO lt_errorcat.
ENDFORM. "fm_error_catalog
&----
*& Form fm_alv_grid_display
&----
text
----
FORM fm_alv_grid_display.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = lv_repid
it_fieldcat = lt_fldcat
TABLES
t_outtab = it_process.
ENDFORM. "fm_alv_grid_display
&----
*& Form fm_error_grid_display.
&----
text
----
FORM fm_error_grid_display.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = lv_repid
it_fieldcat = lt_errorcat
TABLES
t_outtab = it_error.
ENDFORM. "fm_error_grid_display
&----
*& Form get_file_name
&----
Get file name
----
FORM get_file_name.
Select file
CALL METHOD cl_gui_frontend_services=>file_open_dialog
EXPORTING
window_title = 'Select File'
default_extension = 'Text Files (*.TXT)'
file_filter = cl_gui_frontend_services=>filetype_text
initial_directory = 'C:\'
CHANGING
file_table = lt_files
rc = lv_return
EXCEPTIONS
file_open_dialog_failed = 1
cntl_error = 2
error_no_gui = 3
not_supported_by_gui = 4
OTHERS = 5.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
READ TABLE lt_files INTO ls_files INDEX 1.
p_file = ls_files-filename.
CLEAR lt_files[].
ENDIF.
ENDFORM. " get_file_name
&----
*& Form fm_upload_file
&----
text
----
FORM fm_upload_file.
lv_filen = p_file.
Upload file
CALL METHOD cl_gui_frontend_services=>gui_upload
EXPORTING
filename = lv_filen
has_field_separator = 'X'
CHANGING
data_tab = it_file_up[]
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
not_supported_by_gui = 17
error_no_gui = 18
OTHERS = 19.
IF sy-subrc <> 0.
lv_subrc = sy-subrc.
MESSAGE e398(00) WITH 'Cannot upload file:' p_file
'Return code=' lv_subrc.
ENDIF.
File did not upload or no data in file
IF it_file_up[] IS INITIAL.
STOP.
ENDIF.
LOOP AT it_file_up.
CHECK it_file_up-ls_c2(4) = '9999'.
it_file-bldat = it_file_up-bldat+0(8). "Document Date"
it_file-budat = it_file-bldat. "Posting Date"
it_file-xblnr = it_file_up-sgtxt+0(10).
it_file-name1 = it_file_up-name1+0(35). "Name"
it_file-wrbtr = it_file_up-wrbtr+0(15). "Amount"
it_file-zuonr = it_file_up-zuonr+0(18). "Assignment"
it_file-sgtxt = it_file_up-sgtxt+0(10). "Text"
it_file-xblnr = it_file-xblnr.
it_file-wrbtr1 = it_file-wrbtr.
it_file-zuonr1 = it_file-zuonr.
it_file-sgtxt1 = it_file-sgtxt.
APPEND it_file.
ENDLOOP.
LOOP AT it_file.
CHECK NOT it_file-bldat IS INITIAL.
MOVE-CORRESPONDING it_file TO it_process.
APPEND it_process.
ENDLOOP.
ENDFORM. " fm_upload_file
&----
*& Form bdc_open_group
&----
text
----
--> p1 text
<-- p2 text
----
FORM bdc_open_group .
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
group = p_sess
keep = 'X'
user = sy-uname
EXCEPTIONS
client_invalid = 1
destination_invalid = 2
group_invalid = 3
group_is_locked = 4
holddate_invalid = 5
internal_error = 6
queue_error = 7
running = 8
system_lock_error = 9
user_invalid = 10
OTHERS = 11.
IF sy-subrc <> 0.
lv_subrc = sy-subrc.
MESSAGE i398(00) WITH 'Cannot open session' p_sess
'Return code=' lv_subrc.
STOP.
ENDIF.
ENDFORM. " bdc_open_group
anybody suggest me any other way to display error report.
and sm35 logfile logic.
Request clarification before answering.
Hi,
1) if you want to create documents pls use abap rfbibl00 (here's a documentation) or fm BAPI_ACC_DOCUMENT_POST
2) if you want to change header , use bdc to FB02;
to item use FB09
A.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
| User | Count |
|---|---|
| 45 | |
| 30 | |
| 17 | |
| 10 | |
| 4 | |
| 3 | |
| 2 | |
| 1 | |
| 1 | |
| 1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.