cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

session method

Former Member
0 Likes
463

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.

Accepted Solutions (1)

Accepted Solutions (1)

andreas_mann3
Active Contributor
0 Likes

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.

Former Member
0 Likes

hi,

i want in sm35 logfile it must show like this.

if 4 records in flat file,

if 2 records found in database and 2 records does not found in bkpf.

the seeion must read 4 records,logfile must show

4 records read

2 records processed

2 records with errors

Answers (0)