Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

BDC PROGRAM FOR F-02 ERROR

Former Member
0 Likes
1,695

Hi ,

i have written a bdc program for f-02 .here we have 2 posting keys 31 and 40 .when i recored in shdb i can see when i use 31 posting key then i get 302 screen and when i use 40 posting key then i get 300 screen.But the problem is in 302 screen we have new posting keys and new account numbers .how to update these . here is my code . my file is not getting updated when i get screen 302 .Any advice?

REPORT zfip0009 NO STANDARD PAGE HEADING.

TABLES ska1.

DATA: BEGIN OF bdcdata OCCURS 0.

INCLUDE STRUCTURE bdcdata.

DATA: END OF bdcdata.

DATA w_date(10) TYPE c.

DATA w_first TYPE c.

DATA w_second TYPE c.

  • data from flat file

DATA: BEGIN OF t_data OCCURS 0,

bukrs LIKE bkpf-bukrs, "company code

newbs LIKE rf05a-newbs, "Posting Key

newko LIKE rf05a-newko, "New account number(SAP)

wrbtr(13) TYPE c, "amount

dmbtr(13) TYPE c, "sterling local amount "+MW1

mwskz LIKE bseg-mwskz, "Tax code

sgtxt LIKE bseg-sgtxt, "item description

kostl LIKE cobl-kostl, "Cost centre

ps_posid LIKE cobl-ps_posid, "WBS number

aufnr LIKE cobl-aufnr, "Internal order

END OF t_data.

*************************************************

  • SELECTION SCREEN

*************************************************

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.

PARAMETERS: p_file LIKE rlgrap-filename

DEFAULT 'C:\temp\XSL.txt'.

SELECTION-SCREEN SKIP.

PARAMETERS: p_sess(12) DEFAULT 'GLPOSTING'.

SELECTION-SCREEN END OF BLOCK b1.

SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.

PARAMETERS: p_bldat LIKE bkpf-bldat,

p_budat LIKE bkpf-budat,

p_blart LIKE bkpf-blart,

p_monat LIKE bkpf-monat,

  • p_bukrs LIKE bkpf-bukrs,

p_bktxt LIKE bkpf-bktxt,

p_xblnr LIKE bkpf-xblnr,

p_waers LIKE bkpf-waers.

SELECTION-SCREEN END OF BLOCK b2.

*SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-003.

*

*PARAMETERS p_ktopl LIKE ska1-ktopl.

*

*SELECTION-SCREEN END OF BLOCK b3.

*

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.

CALL FUNCTION 'WS_FILENAME_GET'

EXPORTING

def_filename = p_file

  • DEF_PATH = ' '

mask = ',.,..'

  • MODE = ' '

  • TITLE = ' '

IMPORTING

filename = p_file

  • RC =

EXCEPTIONS

inv_winsys = 1

no_batch = 2

selection_cancel = 3

selection_error = 4

OTHERS = 5.

*************************************************

  • START OF SELECTION

*************************************************

START-OF-SELECTION.

  • Get all of the information held on the spreadsheets.

CALL FUNCTION 'WS_UPLOAD'

EXPORTING

filename = p_file

filetype = 'DAT'

TABLES

data_tab = t_data

EXCEPTIONS

OTHERS = 1.

IF sy-subrc <> 0.

WRITE 😕 'Failed to Open Input file', p_file.

EXIT.

ENDIF.

REFRESH bdcdata.

CALL FUNCTION 'BDC_OPEN_GROUP'

EXPORTING

client = sy-mandt

group = p_sess

user = sy-uname

keep = 'X'.

PERFORM load_bdcdata.

CALL FUNCTION 'BDC_CLOSE_GROUP'.

WRITE: /

'Batch input session', p_sess, 'created: process session via SM35'.

END-OF-SELECTION.

&----


*& Form LOAD_BDCDATA

*&----


  • Load the BDCDATA fields depending

----


FORM load_bdcdata.

CLEAR: w_first, w_second.

CLEAR bdcdata.

LOOP AT t_data.

IF sy-tabix = 1.

PERFORM bdc_dynpro USING 'SAPMF05A' '0100'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/00'.

PERFORM bdc_field USING 'BDC_CURSOR'

'RF05A-NEWKO'.

PERFORM format_date USING p_bldat.

PERFORM bdc_field USING 'BKPF-BLDAT'

w_date.

PERFORM bdc_field USING 'BKPF-BLART'

p_blart.

PERFORM bdc_field USING 'BKPF-BUKRS'

t_data-bukrs.

PERFORM format_date USING p_budat.

PERFORM bdc_field USING 'BKPF-BUDAT'

w_date.

PERFORM bdc_field USING 'BKPF-WAERS'

p_waers.

PERFORM bdc_field USING 'BKPF-MONAT'

' '.

PERFORM bdc_field USING 'BKPF-BKTXT'

p_bktxt.

PERFORM bdc_field USING 'BKPF-XBLNR'

p_xblnr.

PERFORM bdc_field USING 'RF05A-NEWBS'

t_data-newbs.

PERFORM bdc_field USING 'RF05A-NEWKO'

t_data-newko.

ELSE.

PERFORM bdc_dynpro USING 'SAPMF05A' '0300'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/00'.

PERFORM bdc_field USING 'BDC_CURSOR'

'RF05A-NEWKO'.

PERFORM bdc_field USING 'RF05A-NEWBS'

t_data-newbs.

PERFORM bdc_field USING 'RF05A-NEWKO'

t_data-newko.

PERFORM bdc_field USING 'RF05A-NEWBK'

t_data-bukrs.

PERFORM bdc_dynpro USING 'SAPLKACB' '0002'.

PERFORM bdc_field USING 'BDC_OKCODE' 'ENTE'.

ENDIF.

IF t_data-newbs = '31' .

w_second = '1'.

PERFORM bdc_dynpro USING 'SAPMF05A' '0302'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/00'.

PERFORM bdc_field USING 'BDC_CURSOR'

'BSEG-SGTXT'.

PERFORM bdc_field USING 'BSEG-WRBTR'

t_data-wrbtr.

PERFORM bdc_field USING 'BSEG-SGTXT'

t_data-sgtxt.

  • PERFORM bdc_field USING 'RF05A-NEWBS'

  • t_data-newbs.

  • PERFORM bdc_field USING 'RF05A-NEWKO'

  • t_data-newko.

IF NOT t_data-kostl IS INITIAL.

PERFORM bdc_field USING 'COBL-KOSTL'

t_data-kostl.

ELSEIF NOT t_data-ps_posid IS INITIAL.

PERFORM bdc_field USING 'COBL-PS_POSID'

t_data-ps_posid.

ELSEIF NOT t_data-aufnr IS INITIAL.

PERFORM bdc_field USING 'COBL-AUFNR'

t_data-aufnr.

ENDIF.

*

*...start of Amendment MW1

IF p_waers ne 'GBP'.

PERFORM bdc_field USING 'BSEG-DMBTR'

t_data-dmbtr.

ENDIF.

ENDIF.

*...end of Amendment MW1 ENDIF.

IF t_data-newbs = '40' .

PERFORM bdc_dynpro USING 'SAPMF05A' '0300'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/00'.

PERFORM bdc_field USING 'BDC_CURSOR'

'BSEG-SGTXT'.

PERFORM bdc_field USING 'BSEG-WRBTR'

t_data-wrbtr.

PERFORM bdc_field USING 'BSEG-SGTXT'

t_data-sgtxt.

PERFORM bdc_dynpro USING 'SAPLKACB' '0002'.

PERFORM bdc_field USING 'BDC_OKCODE' 'ENTE'.

IF NOT t_data-kostl IS INITIAL.

PERFORM bdc_field USING 'COBL-KOSTL'

t_data-kostl.

ELSEIF NOT t_data-ps_posid IS INITIAL.

PERFORM bdc_field USING 'COBL-PS_POSID'

t_data-ps_posid.

ELSEIF NOT t_data-aufnr IS INITIAL.

PERFORM bdc_field USING 'COBL-AUFNR'

t_data-aufnr.

ENDIF.

  • PERFORM bdc_field USING 'BSEG-MWSKZ'

  • t_data-mwskz.

*...start of Amendment MW1

IF p_waers ne 'GBP'.

PERFORM bdc_field USING 'BSEG-DMBTR'

t_data-dmbtr.

ENDIF.

*...end of Amendment MW1

ENDIF.

AT FIRST.

  • calculate the tax

PERFORM bdc_field USING 'BKPF-XMWST' 'X'.

ENDAT.

  • IF t_data-newbs = '40' .

*

  • PERFORM bdc_field USING 'DKACB-FMORE'

  • 'X'.

  • PERFORM bdc_dynpro USING 'SAPLKACB' '0002'.

*

  • PERFORM bdc_field USING 'BDC_OKCODE'

  • 'ENTE'.

*

  • IF NOT t_data-kostl IS INITIAL.

  • PERFORM bdc_field USING 'COBL-KOSTL'

  • t_data-kostl.

  • ELSEIF NOT t_data-ps_posid IS INITIAL.

  • PERFORM bdc_field USING 'COBL-PS_POSID'

  • t_data-ps_posid.

  • ELSEIF NOT t_data-aufnr IS INITIAL.

  • PERFORM bdc_field USING 'COBL-AUFNR'

  • t_data-aufnr.

  • ENDIF.

*

  • ENDIF.

ENDLOOP.

IF w_second = '1'.

PERFORM bdc_dynpro USING 'SAPMF05A' '0302'.

ELSE.

PERFORM bdc_dynpro USING 'SAPMF05A' '0300'.

ENDIF.

PERFORM bdc_field USING 'BDC_OKCODE'

'BU'.

PERFORM bdc_field USING 'BDC_CURSOR'

'BSEG-WRBTR'.

PERFORM bdc_dynpro USING 'SAPLKACB' '0002'.

PERFORM bdc_field USING 'BDC_OKCODE'

'ENTE'.

CALL FUNCTION 'BDC_INSERT'

EXPORTING

tcode = 'F-02'

TABLES

dynprotab = bdcdata.

REFRESH bdcdata.

CLEAR bdcdata.

ENDFORM. " LOAD_BDCDATA

*----


  • Start of screen

*----


FORM bdc_dynpro USING program dynpro.

CLEAR bdcdata.

bdcdata-program = program.

bdcdata-dynpro = dynpro.

bdcdata-dynbegin = 'X'.

APPEND bdcdata.

ENDFORM. "BDC_DYNPRO

*----


  • insert field

*----


FORM bdc_field USING fnam fval.

CLEAR bdcdata.

bdcdata-fnam = fnam.

bdcdata-fval = fval.

APPEND bdcdata.

ENDFORM. "BDC_FIELD

&----


*& Form format_date

&----


  • text

----


FORM format_date USING p_date.

CLEAR w_date.

w_date(2) = p_date+6(2).

w_date+2(1) = '.'.

w_date3(2) = p_date4(2).

w_date+5(1) = '.'.

w_date+6(4) = p_date(4).

ENDFORM. " format_date

9 REPLIES 9
Read only

Former Member
0 Likes
1,205

If you are not familiar with batch input or FI transactions, I would suggest that you use standard SAP program RFBIBL00 to handle this rather than trying to write your own program.

Rob

Read only

0 Likes
1,205

Hi Rob,

I followed your suggestion and i am getting the following messages

FB018 File C:\temp\GL posintgs.txt is being checked

FB002 File C:\temp\GL posintgs.txt could not be opened

FB013 ....Editing was terminated

could you explain me in brief ?

Read only

0 Likes
1,205

Well, the file has to be on the AP server, not the presentation server. You can upload it from the presentation server in a program using GUI_UPLOAD and then write it to the AP server using OPEN DATASET and TRANSFER.

Rob

Read only

Former Member
0 Likes
1,205

Based on functional configuration different screens will appear for different GL accounts. It is always suggested to use BAPI or IDOC techinic to post this data using LSMW.

BAPI --- BAPI_ACC_DOCUMENT_POST

IDOC -- ACC_DOCUMENT01

ACC_DOCUMENT02

ACC_DOCUMENT03

Read only

Former Member
0 Likes
1,205

Hi,

create the file format from the internal table common.

Just debug the bdc code and see the flow of data.Then create the session and run in foreground and check what modification required.

REPORT ZGTEMP_OPEN_ITEM1

NO STANDARD PAGE HEADING LINE-SIZE 255.

INCLUDE bdcrecx1.

DATA: BEGIN OF it_header, " Header Data structure

bldat(10) TYPE c,

budat(10) TYPE c,

blart(2) TYPE c,

bukrs(4) TYPE c,

waers(3) TYPE c,

kursf(11) TYPE c,

xblnr(17) TYPE c,

bktxt(25) TYPE c.

DATA: END OF it_header.

DATA: BEGIN OF it_item, "Line item data structure

newbs(2) TYPE c,

newko(17) TYPE c,

newum(1) TYPE c,

newbw(3) TYPE c,

wrbtr(16) TYPE c,

kostl(10) TYPE c,

prctr(10) TYPE c,

gsber(4) TYPE c,

ttype(3) TYPE c,

zterm(4) TYPE c,

zfbdt(10) TYPE c,

zfbdt1(10) TYPE c,

zuonr(10) TYPE c,

sgtxt(35) TYPE c .

DATA: END OF it_item.

DATA: BEGIN OF it_common, " Header Data structure

bldat(10) TYPE c,

budat(10) TYPE c,

blart(2) TYPE c,

bukrs(4) TYPE c,

waers(3) TYPE c,

kursf(11) TYPE c,

xblnr(17) TYPE c,

bktxt(25) TYPE c,

newbs(2) TYPE c,

newko(17) TYPE c,

newum(1) TYPE c,

newbw(3) TYPE c,

wrbtr(16) TYPE c,

kostl(10) TYPE c,

prctr(10) TYPE c,

gsber(4) TYPE c,

ttype(3) TYPE c,

zterm(4) TYPE c,

zfbdt(10) TYPE c,

zfbdt1(10) TYPE c,

zuonr(10) TYPE c,

sgtxt(35) TYPE c .

DATA: END OF it_common.

DATA: filename LIKE ibipparms-path,

path TYPE string,

user_action TYPE i.

DATA header LIKE STANDARD TABLE OF it_header WITH HEADER LINE.

" Header internal table.

DATA item LIKE STANDARD TABLE OF it_item WITH HEADER LINE.

" Item internal table.

DATA common LIKE STANDARD TABLE OF it_common WITH HEADER LINE.

" Common internal table.

DATA idx LIKE sy-tabix.

DATA line(3) TYPE n.

START-OF-SELECTION.

CALL FUNCTION 'F4_FILENAME' "Prompts for filepath

EXPORTING

program_name = syst-cprog

dynpro_number = syst-dynnr

IMPORTING

file_name = filename.

path = filename .

CALL FUNCTION 'GUI_UPLOAD' "Uploads Data into internal table common

EXPORTING

filename = path

filetype = 'ASC'

has_field_separator = 'X'

TABLES

data_tab = common.

LOOP AT common.

header-bldat = common-bldat.

header-budat = common-budat.

header-blart = common-blart.

header-bukrs = common-bukrs.

header-waers = common-waers.

header-kursf = common-kursf.

header-xblnr = common-xblnr.

header-bktxt = common-bktxt.

item-newbs = common-newbs.

item-newko = common-newko.

item-newum = common-newum.

item-newbw = common-newbw.

item-wrbtr = common-wrbtr.

item-kostl = common-kostl.

item-prctr = common-prctr.

item-gsber = common-gsber.

item-ttype = common-ttype.

item-zterm = common-zterm.

item-zfbdt = common-zfbdt.

item-zfbdt1 = common-zfbdt1.

item-zuonr = common-zuonr.

item-sgtxt = common-sgtxt.

APPEND header.

APPEND item.

ENDLOOP.

DATA p(3) TYPE n.

p = 2 .

DESCRIBE TABLE header LINES line.

line = line / 2.

DATA line1(3) TYPE n .

DATA ix(3) TYPE n .

DATA idx1(3) TYPE n .

ix = 1.

DESCRIBE TABLE item LINES line1 .

Read only

Former Member
0 Likes
1,205

PERFORM open_group.

DO line TIMES .

READ TABLE header INDEX ix .

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'

header-bldat.

PERFORM bdc_field USING 'BKPF-BLART'

header-blart.

PERFORM bdc_field USING 'BKPF-BUKRS'

header-bukrs.

PERFORM bdc_field USING 'BKPF-BUDAT'

header-budat.

PERFORM bdc_field USING 'BKPF-MONAT'

'12'.

PERFORM bdc_field USING 'BKPF-WAERS'

header-waers.

PERFORM bdc_field USING 'BKPF-KURSF'

header-kursf.

PERFORM bdc_field USING 'BKPF-XBLNR'

header-xblnr.

PERFORM bdc_field USING 'BKPF-BKTXT'

header-bktxt.

PERFORM bdc_field USING 'FS006-DOCID'

'*'.

READ TABLE item INDEX 1.

PERFORM bdc_field USING 'RF05A-NEWBS'

item-newbs.

PERFORM bdc_field USING 'RF05A-NEWKO'

item-newko.

PERFORM bdc_field USING 'RF05A-NEWUM'

item-newum.

PERFORM bdc_field USING 'RF05A-NEWBW'

item-newbw.

LOOP AT item .

idx = sy-tabix .

idx1 = sy-tabix.

IF item-newbs = '40' OR item-newbs = '50'.

PERFORM bdc_dynpro USING 'SAPMF05A' '0300'.

PERFORM bdc_field USING 'BDC_CURSOR'

'BSEG-WRBTR'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/00'.

PERFORM bdc_field USING 'BSEG-WRBTR'

item-wrbtr.

PERFORM bdc_field USING 'BDC_SUBSCR'

'0001BLOCK'.

PERFORM bdc_field USING 'DKACB-FMORE'

'X'.

PERFORM bdc_dynpro USING 'SAPLKACB' '0002'.

PERFORM bdc_field USING 'BDC_CURSOR'

'COBL-PRCTR'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=ENTE'.

PERFORM bdc_field USING 'COBL-GSBER'

item-gsber.

PERFORM bdc_field USING 'COBL-KOSTL'

item-kostl.

PERFORM bdc_field USING 'COBL-PRCTR'

item-prctr.

  • PERFORM bdc_field USING 'COBL-RMVCT'" G S Mohanty

  • item-ttype.

PERFORM bdc_dynpro USING 'SAPMF05A' '0300'.

PERFORM bdc_field USING 'BDC_CURSOR'

'RF05A-NEWKO'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/00'.

PERFORM bdc_field USING 'BSEG-WRBTR'

item-wrbtr.

PERFORM bdc_field USING 'BSEG-ZUONR'

item-zuonr.

PERFORM bdc_field USING 'BSEG-SGTXT'

item-sgtxt.

IF idx1 = '002' .

EXIT.

ENDIF.

idx = idx + 1 .

READ TABLE item INDEX idx.

PERFORM bdc_field USING 'RF05A-NEWBS'

item-newbs.

PERFORM bdc_field USING 'RF05A-NEWKO'

item-newko.

PERFORM bdc_field USING 'RF05A-NEWUM'

item-newum.

PERFORM bdc_field USING 'RF05A-NEWBW'

item-newbw.

PERFORM bdc_field USING 'DKACB-FMORE'

'X'.

PERFORM bdc_dynpro USING 'SAPLKACB' '0002'.

PERFORM bdc_field USING 'BDC_CURSOR'

'COBL-GSBER'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=ENTE'.

PERFORM bdc_field USING 'COBL-GSBER'

item-gsber.

PERFORM bdc_field USING 'COBL-KOSTL'

item-kostl.

PERFORM bdc_field USING 'COBL-PRCTR'

item-prctr.

CONTINUE.

ENDIF.

Read only

Former Member
0 Likes
1,205

IF item-newbs = '09'

OR item-newbs = '19'

OR item-newbs = '29'

OR item-newbs = '39'.

IF item-newum = 'A' OR

item-newum = 'V' OR

item-newum = '1' OR

item-newum = '2' OR

item-newum = '3' OR

item-newum = '5' OR

item-newum = '6' OR

item-newum = 'B' .

PERFORM bdc_dynpro USING 'SAPMF05A' '0304'.

PERFORM bdc_field USING 'BDC_CURSOR'

'RF05A-NEWUM'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/00'.

PERFORM bdc_field USING 'BSEG-WRBTR'

item-wrbtr.

PERFORM bdc_field USING 'BSEG-gsber'

item-gsber.

PERFORM bdc_field USING 'BSEG-PRCTR'

item-prctr.

PERFORM bdc_field USING 'BSEG-ZFBDT'

item-zfbdt1.

PERFORM bdc_field USING 'BSEG-ZUONR'

item-zuonr.

PERFORM bdc_field USING 'BSEG-SGTXT'

item-sgtxt.

IF idx1 = '002' .

EXIT.

ENDIF.

idx = idx + 1.

READ TABLE item INDEX idx .

PERFORM bdc_field USING 'RF05A-NEWBS'

item-newbs.

PERFORM bdc_field USING 'RF05A-NEWKO'

item-newko.

PERFORM bdc_field USING 'RF05A-NEWUM'

item-newum.

PERFORM bdc_field USING 'RF05A-NEWBW'

item-newbw.

CONTINUE.

ENDIF.

ENDIF.

IF item-newbs = '09'

OR item-newbs = '19'

OR item-newbs = '29'

OR item-newbs = '39' .

IF item-newum = 'H'

OR item-newum = '4'

  • OR item-newum = '6'

  • OR item-newum = '7'

OR item-newum = '8'

OR item-newum = '9'

OR item-newum = 'C'

OR item-newum = 'D'

OR item-newum = 'E'

OR item-newum = 'I'

OR item-newum = 'K'

OR item-newum = 'L'

OR item-newum = 'M'

OR item-newum = 'O'

OR item-newum = 'Q'

OR item-newum = 'R'

OR item-newum = 'T'

OR item-newum = 'U'.

PERFORM bdc_dynpro USING 'SAPMF05A' '0303'.

PERFORM bdc_field USING 'BDC_CURSOR'

'RF05A-NEWKO'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/00'.

PERFORM bdc_field USING 'BSEG-WRBTR'

item-wrbtr.

PERFORM bdc_field USING 'BSEG-GSBER'

item-gsber.

PERFORM bdc_field USING 'BSEG-ZFBDT'

item-zfbdt1.

PERFORM bdc_field USING 'BSEG-ZUONR'

item-zuonr.

PERFORM bdc_field USING 'BSEG-SGTXT'

item-sgtxt.

IF idx1 = '002' .

EXIT.

ENDIF.

idx = idx + 1 .

READ TABLE item INDEX idx .

PERFORM bdc_field USING 'RF05A-NEWBS'

item-newbs.

PERFORM bdc_field USING 'RF05A-NEWKO'

item-newko.

PERFORM bdc_field USING 'RF05A-NEWUM'

item-newum.

PERFORM bdc_field USING 'RF05A-NEWBW'

item-newbw.

CONTINUE.

ENDIF.

ENDIF.

IF item-newbs = '29' OR item-newbs = '39'.

IF item-newum = '7'.

PERFORM bdc_dynpro USING 'SAPMF05A' '0303'.

PERFORM bdc_field USING 'BDC_CURSOR'

'BSEG-ZFBDT'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=ZK'.

PERFORM bdc_field USING 'BSEG-WRBTR'

item-wrbtr.

PERFORM bdc_field USING 'BSEG-GSBER'

item-gsber.

PERFORM bdc_field USING 'BSEG-ZFBDT'

item-zfbdt1.

PERFORM bdc_field USING 'BSEG-ZUONR'

item-zuonr.

PERFORM bdc_field USING 'BSEG-SGTXT'

item-sgtxt.

PERFORM bdc_dynpro USING 'SAPMF05A' '0332'.

PERFORM bdc_field USING 'BDC_CURSOR'

'RF05A-NEWKO'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/00'.

PERFORM bdc_field USING 'BSEG-BEWAR'

item-ttype.

IF idx1 = '002' .

EXIT.

ENDIF.

idx = idx + 1 .

READ TABLE item INDEX idx .

PERFORM bdc_field USING 'RF05A-NEWBS'

item-newbs.

PERFORM bdc_field USING 'RF05A-NEWKO'

item-newko.

PERFORM bdc_field USING 'RF05A-NEWUM'

item-newum.

PERFORM bdc_field USING 'RF05A-NEWBW'

item-newbw.

CONTINUE.

ENDIF.

ENDIF.

IF item-newbs = '01' OR item-newbs = '11'

OR item-newbs = '05' OR item-newbs = '15'.

PERFORM bdc_dynpro USING 'SAPMF05A' '0301'.

PERFORM bdc_field USING 'BDC_CURSOR'

'RF05A-NEWKO'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/00'.

PERFORM bdc_field USING 'BSEG-WRBTR'

item-wrbtr.

PERFORM bdc_field USING 'BSEG-GSBER'

item-gsber.

PERFORM bdc_field USING 'BSEG-ZTERM'

item-zterm.

PERFORM bdc_field USING 'BSEG-ZFBDT'

item-zfbdt.

PERFORM bdc_field USING 'BSEG-ZUONR'

item-zuonr.

PERFORM bdc_field USING 'BSEG-SGTXT'

item-sgtxt.

IF idx1 = '002' .

EXIT.

ENDIF.

idx = idx + 1 .

READ TABLE item INDEX idx .

PERFORM bdc_field USING 'RF05A-NEWBS'

item-newbs.

PERFORM bdc_field USING 'RF05A-NEWKO'

item-newko.

PERFORM bdc_field USING 'RF05A-NEWUM'

item-newum.

PERFORM bdc_field USING 'RF05A-NEWBW'

item-newbw.

CONTINUE.

ENDIF.

IF item-newbs = '21' OR item-newbs = '31'

OR item-newbs = '25' OR item-newbs = '35'.

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'

item-wrbtr.

PERFORM bdc_field USING 'BSEG-SECCO'

''. "'1000'.

PERFORM bdc_field USING 'BSEG-GSBER'

item-gsber.

PERFORM bdc_field USING 'BSEG-ZTERM'

item-zterm.

PERFORM bdc_field USING 'BSEG-ZFBDT'

item-zfbdt.

PERFORM bdc_field USING 'BSEG-ZUONR'

item-zuonr.

PERFORM bdc_field USING 'BSEG-SGTXT'

item-sgtxt.

IF idx1 = '002' .

EXIT.

ENDIF.

idx = idx + 1.

READ TABLE item INDEX idx.

PERFORM bdc_field USING 'RF05A-NEWBS'

item-newbs.

PERFORM bdc_field USING 'RF05A-NEWKO'

item-newko.

PERFORM bdc_field USING 'RF05A-NEWUM'

item-newum.

PERFORM bdc_field USING 'RF05A-NEWBW'

item-newbw.

CONTINUE.

ENDIF.

IF item-newbs = '70' OR item-newbs = '75'.

PERFORM bdc_dynpro USING 'SAPMF05A' '0305'.

PERFORM bdc_field USING 'BDC_CURSOR'

'BSEG-WRBTR'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/00'.

PERFORM bdc_field USING 'BSEG-WRBTR'

item-wrbtr.

PERFORM bdc_field USING 'DKACB-FMORE'

'X'.

PERFORM bdc_dynpro USING 'SAPLKACB' '0002'.

PERFORM bdc_field USING 'BDC_CURSOR'

'COBL-PRCTR'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=ENTE'.

PERFORM bdc_field USING 'COBL-GSBER'

item-gsber.

PERFORM bdc_field USING 'COBL-KOSTL'

item-kostl.

PERFORM bdc_field USING 'COBL-PRCTR'

item-prctr.

PERFORM bdc_dynpro USING 'SAPMF05A' '0305'.

PERFORM bdc_field USING 'BDC_CURSOR'

'RF05A-NEWBW'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/00'.

PERFORM bdc_field USING 'BSEG-WRBTR'

item-wrbtr.

  • PERFORM bdc_field USING 'BSEG-BZDAT'

  • '01.04.2005'.

IF idx1 = '002' .

EXIT.

ENDIF.

idx = idx + 1 .

READ TABLE item INDEX idx .

PERFORM bdc_field USING 'RF05A-NEWBS'

item-newbs.

PERFORM bdc_field USING 'RF05A-NEWKO'

item-newko.

PERFORM bdc_field USING 'RF05A-NEWUM'

item-newum.

PERFORM bdc_field USING 'RF05A-NEWBW'

item-newbw.

CONTINUE.

ENDIF.

ENDLOOP.

PERFORM bdc_field USING 'BDC_OKCODE'

'=BU'.

PERFORM bdc_transaction USING 'F-02'.

DELETE item INDEX 1.

DELETE item INDEX 1.

ix = ix + 2 .

ENDDO.

*

PERFORM close_group.

Read only

Former Member
0 Likes
1,205

This message was moderated.

Read only

varun_maharshi
Active Participant
0 Likes
1,205

It is not recommended to do recording for the FI invoices. You can use BAPI_ACC_GL_POSTING_POST