BDC Process
BDC Process
BDC Process
PERFORM upload.
START-OF-SELECTION.
DATA: i_recordback
wa_backrec
wa_recordback
l_index
TYPE
TYPE
TYPE
TYPE
PERFORM open_group.
" BREAK NHBABAP.
i_recordback[] = record[].
REFRESH record.
CLEAR record.
LOOP AT i_recordback INTO wa_recordback.
l_index = sy-tabix.
AT FIRST.
READ TABLE i_recordback INTO wa_backrec INDEX 1.
IF sy-subrc EQ 0.
MOVE wa_backrec TO record.
APPEND record.
CONTINUE.
ENDIF.
ENDAT.
READ TABLE i_recordback INTO wa_backrec INDEX sy-tabix.
IF sy-subrc EQ 0.
AT LAST.
READ TABLE i_recordback INTO wa_backrec INDEX sy-tabix.
IF sy-subrc EQ 0.
MOVE wa_backrec TO record.
APPEND record.
ENDIF.
wa_backrec-bldat = sy-datum.
*
CONCATENATE WA_BACKREC-BLDAT+6(2) '.' WA_BACKREC-BLDAT+4(2) '.' WA_BACK
REC-BLDAT+0(4) INTO LV_BLDAT .
ENDAT.
IF NOT wa_backrec-bldat IS INITIAL.
READ TABLE record INDEX 1.
wa_record = record.
LOOP AT record.
last_record = record.
*
wa_record = record.
AT FIRST.
PERFORM bdc_dynpro
USING 'SAPMF05A' '0100'.
PERFORM bdc_field
USING 'BDC_CURSOR'
'BKPF-WAERS'.
PERFORM bdc_field
USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field
USING 'BKPF-BLDAT'
wa_record-bldat.
lv_bldat = wa_record-bldat.
PERFORM bdc_field
USING 'BKPF-BLART'
wa_record-blart.
PERFORM bdc_field
USING 'BKPF-BUKRS'
wa_record-bukrs.
PERFORM bdc_field
USING 'BKPF-WAERS'
wa_record-waers.
USING 'BKPF-XBLNR'
wa_record-xblnr.
USING 'RF05A-NEWBS'
wa_record-newbs.
USING 'RF05A-NEWKO'
wa_record-newko.
USING 'RF05A-NEWUM'
wa_record-newum.
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
CONTINUE.
ENDAT.
*
perform update_posting_para.
IF wa_record-newbs = '29'.
*
*
*
*
PERFORM bdc_dynpro
USING 'SAPMF05A' '0303'.
PERFORM BDC_FIELD
USING 'BDC_CURSOR'
'RF05V-NEWKO'.
PERFORM bdc_field
USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field
USING 'BSEG-WRBTR'
wa_record-wrbtr.
PERFORM BDC_FIELD
USING 'BSEG-SECCO'
WA_RECORD-SECCO.
PERFORM bdc_field
USING 'BSEG-GSBER'
wa_record-gsber.
PERFORM bdc_field
USING 'BSEG-ZFBDT'
wa_record-zfbdt.
PERFORM bdc_field
USING 'BSEG-ZUONR'
wa_record-zuonr.
PERFORM bdc_field
USING 'BSEG-SGTXT'
wa_record-sgtxt.
* Begin of code change, BY - 'Narendra Patel', TR - DS1K929791 Date-#18.12.201
4 16:59:19# Requested By - Meenakshi Narag
*
To Add Referance key field
PERFORM more_data USING wa_record.
*
End of code change, BY - 'Narendra Patel', TR - DS1K929791 Date
-#18.12.2014 16:59:41#
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
USING 'RF05A-NEWBS'
record-newbs.
USING 'RF05A-NEWKO'
record-newko.
USING 'RF05A-NEWUM'
record-newum.
ELSE.
PERFORM posting_y.
ENDIF.
ENDIF.
*** for pskty = '21' ...
IF wa_record-newbs = '21'.
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'
wa_record-wrbtr.
PERFORM bdc_field
USING 'BSEG-SECCO'
wa_record-secco.
PERFORM bdc_field
USING 'BSEG-GSBER'
wa_record-gsber.
PERFORM bdc_field
USING 'BSEG-ZFBDT'
wa_record-zfbdt.
PERFORM bdc_field
USING 'BSEG-ZUONR'
wa_record-zuonr.
PERFORM bdc_field
USING 'BSEG-SGTXT'
wa_record-sgtxt.
PERFORM bdc_field
USING 'RF05A-NEWBS'
record-newbs.
PERFORM bdc_field
USING 'RF05A-NEWKO'
record-newko.
PERFORM bdc_field
USING 'RF05A-NEWUM'
record-newum.
ENDIF.
*
IF record-newbs EQ '25'.
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'
wa_record-wrbtr. "'1000'.
PERFORM bdc_field
USING 'BSEG-GSBER'
wa_record-gsber. "'1000'.
PERFORM bdc_field
USING 'BSEG-ZFBDT'
lv_bldat . "WA_RECORD-BLDAT. "'11.11
.2013'.
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
*
*
*
*
*
PERFORM bdc_dynpro
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
USING 'BSEG-SGTXT'
wa_record-sgtxt.
USING 'RF05A-NEWBS'
record-newbs. "'50'.
USING 'RF05A-NEWKO'
record-newko.
USING 'SAPMF05A' '0302'.
USING 'BDC_CURSOR'
'BSEG-GSBER'.
USING 'BDC_OKCODE'
'/00'.
USING 'BSEG-WRBTR'
wa_record-wrbtr. "'1000'.
USING 'BSEG-GSBER'
wa_record-gsber. "'1000'.
USING 'BSEG-ZFBDT'
lv_bldat. "WA_RECORD-BLDAT . "'11.11
.2013'.
IF wa_record-zuonr IS NOT INITIAL.
PERFORM bdc_field
USING 'BSEG-ZUONR'
wa_record-zuonr.
" 11.11
.2014
ENDIF.
*
ELSEif record-newbs EQ '50'.
*
*
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'
*
wa_record-wrbtr. "'1000'.
*
PERFORM bdc_field
USING 'BSEG-GSBER'
*
wa_record-gsber. "'1000'.
*
PERFORM bdc_field
USING 'BSEG-ZFBDT'
*
lv_bldat . " WA_RECORD-BLDAT. "'
11.11.2013'.
*
PERFORM bdc_field
USING 'RF05A-NEWBS'
*
record-newbs. "'50'.
*
PERFORM bdc_field
USING 'RF05A-NEWKO'
*
record-newko. "'152020'.
*
**
PERFORM bdc_dynpro
USING 'SAPMF05A' '0300'.
**
PERFORM bdc_field
USING 'BDC_CURSOR'
**
**
PERFORM bdc_field
**
**
PERFORM bdc_field
**
**
PERFORM bdc_field
**
ORD-BLDAT. "'11.11.2013'.
**
PERFORM bdc_field
**
*
*
PERFORM bdc_dynpro
*
PERFORM bdc_field
*
*
PERFORM bdc_field
*
*
PERFORM bdc_field
*
*
*
*
*
*
***
***
***
***
***
*
*
'BSEG-BUPLA'.
USING 'BDC_OKCODE'
'=BS'.
USING 'BSEG-WRBTR'
'*'. " WA_RECORD-WRBTR'. "'1000'.
USING 'BSEG-VALUT'
lv_bldat . "'11.11.2013'. "WA_REC
USING 'DKACB-FMORE'
'X'.
USING 'SAPLKACB' '0002'.
USING 'BDC_CURSOR'
'COBL-GSBER'.
USING 'BDC_OKCODE'
'=ENTE'.
USING 'COBL-GSBER'
wa_record-gsber. "'1000'.
PERFORM bdc_dynpro
PERFORM bdc_field
PERFORM bdc_field
PERFORM BDC_FIELD
PERFORM BDC_FIELD
ENDIF.
ENDIF.
ENDIF.
------------>>>>>>>>> code ended by Nishant
IF wa_record-newbs = '35'.
lv_newbs = wa_record-newbs.
*
IF record-newbs EQ '25'.
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'
wa_record-wrbtr. "'1000'.
PERFORM bdc_field
USING 'BSEG-GSBER'
wa_record-gsber. "'1000'.
PERFORM bdc_field
USING 'BSEG-ZFBDT'
lv_bldat . "WA_RECORD-BLDAT. "'11.11
.2013'.
PERFORM bdc_field
USING 'BSEG-SGTXT'
wa_record-sgtxt.
USING 'RF05A-NEWBS'
record-newbs. "'50'.
PERFORM bdc_field
USING 'RF05A-NEWKO'
record-newko.
PERFORM bdc_field
USING 'BSEG-WRBTR'
wa_record-wrbtr. "'1000'.
PERFORM bdc_field
USING 'BSEG-GSBER'
wa_record-gsber. "'1000'.
IF wa_record-zuonr IS NOT INITIAL.
PERFORM bdc_field
USING 'BSEG-ZUONR'
wa_record-zuonr.
" 11.11.2014
ENDIF.
PERFORM bdc_field
USING 'BSEG-ZFBDT'
lv_bldat. "WA_RECORD-BLDAT . "'11.11
PERFORM bdc_field
.2013'.
*
* Begin of code change, BY - 'Narendra Patel', TR - DS1K929791 Date-#2
2.01.2015 12:30:19# Requested By - Meenakshi Narang
*
To Manp Referance Field 1
PERFORM more_data
USING wa_record.
*
End of code change, BY - 'Narendra Patel', TR - DS1K929791 Date-#2
2.01.2015 #
ENDIF.
* End of code change, BY - 'Narendra Patel', TR - DS1K929404 Date-#05.11.2014 12
:01:52#
*** for pskty = '04' ...
IF wa_record-newbs = '04'.
PERFORM bdc_dynpro
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
ENDIF.
*** for pskty = '31' ...
IF wa_record-newbs = '31'.
PERFORM bdc_dynpro
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
'RF05A-NEWKO'.
USING 'BDC_OKCODE'
'/00'.
USING 'BSEG-WRBTR'
wa_record-wrbtr.
USING 'BSEG-SECCO'
wa_record-secco.
USING 'BSEG-GSBER'
wa_record-gsber.
USING 'BSEG-ZFBDT'
wa_record-zfbdt.
USING 'BSEG-ZUONR'
wa_record-zuonr.
USING 'BSEG-SGTXT'
wa_record-sgtxt.
USING 'RF05A-NEWBS'
record-newbs.
USING 'RF05A-NEWKO'
record-newko.
USING 'RF05A-NEWUM'
record-newum.
ENDIF.
*** for pskty = '40' ...
IF wa_record-newbs = '40'.
PERFORM bdc_dynpro
USING 'SAPMF05A' '0300'.
PERFORM bdc_field
USING 'BDC_CURSOR'
'RF05A-NEWKO'.
PERFORM bdc_field
USING 'BSEG-WRBTR'
wa_record-wrbtr.
*
PERFORM bdc_field
USING 'RF05A-NEWBS'
*
wa_record-newbs.
*
PERFORM bdc_field
USING 'RF05A-NEWKO'
*
wa_record-newko.
"145820'.
*
PERFORM bdc_field
USING 'DKACB-FMORE'
*
'X'.
PERFORM bdc_field
USING 'BSEG-ZUONR'
wa_record-zuonr.
PERFORM bdc_field
USING 'BSEG-SGTXT'
wa_record-sgtxt.
PERFORM bdc_field
USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field
USING 'RF05A-NEWBS'
record-newbs.
PERFORM bdc_field
USING 'RF05A-NEWKO'
record-newko.
PERFORM bdc_field
USING 'RF05A-NEWUM'
record-newum.
PERFORM bdc_dynpro
PERFORM bdc_field
ENDIF.
IF wa_record-matnr IS NOT INITIAL.
PERFORM bdc_field
USING 'COBL-MATNR'
wa_record-matnr.
added by t.v.l.narayana on 15.10.2008
ENDIF.
IF wa_record-xref1 IS NOT INITIAL.
PERFORM more_data USING wa_record.
ENDIF.
" Added by Narendra
ENDIF.
*** for pskty = '50' ...
IF wa_record-newbs = '50'.
PERFORM bdc_dynpro
USING 'SAPMF05A' '0300'.
PERFORM bdc_field
USING 'BSEG-WRBTR'
wa_record-wrbtr.
*
PERFORM bdc_field
USING 'RF05A-NEWBS'
*
record-newbs.
*
PERFORM bdc_field
USING 'RF05A-NEWKO'
*
record-newko.
PERFORM bdc_field
USING 'BSEG-ZUONR'
wa_record-zuonr.
PERFORM bdc_field
USING 'BSEG-SGTXT'
wa_record-sgtxt.
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_dynpro
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
USING 'RF05A-NEWBS'
record-newbs.
USING 'RF05A-NEWKO'
record-newko.
USING 'RF05A-NEWUM'
record-newum.
USING 'SAPLKACB' '0002'.
USING 'BDC_CURSOR'
'COBL-GSBER'.
USING 'BDC_OKCODE'
'=ENTE'.
USING 'COBL-GSBER'
wa_record-gsber.
USING 'COBL-KOSTL'
wa_record-kostl.
ENDIF.
IF wa_record-matnr IS NOT INITIAL.
PERFORM bdc_field
USING 'COBL-MATNR'
wa_record-matnr.
"added by t.v.l.narayana on 15.10.2008
ENDIF.
IF wa_record-xref1 IS NOT INITIAL.
PERFORM more_data USING wa_record.
ENDIF.
ENDIF.
*** for pskty = '01' ...
IF wa_record-newbs = '01'.
PERFORM bdc_dynpro
USING 'SAPMF05A' '0301'.
"
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
USING 'BDC_CURSOR'
'RF05A-NEWKO'.
USING 'BDC_OKCODE'
'/00'.
USING 'BSEG-WRBTR'
wa_record-wrbtr.
USING 'BSEG-SECCO'
wa_record-secco.
USING 'BSEG-GSBER'
wa_record-gsber.
USING 'BSEG-ZFBDT'
wa_record-zfbdt.
USING 'BSEG-ZUONR'
wa_record-zuonr.
USING 'BSEG-SGTXT'
wa_record-sgtxt.
USING 'RF05A-NEWBS'
record-newbs.
USING 'RF05A-NEWKO'
record-newko.
USING 'RF05A-NEWUM'
record-newum.
ENDIF.
*** for pskty = '11' ...
IF wa_record-newbs = '11'.
PERFORM bdc_dynpro
USING 'SAPMF05A' '0301'.
PERFORM bdc_field
USING 'BDC_CURSOR'
'BSEG-SGTXT'.
PERFORM bdc_field
USING 'BDC_OKCODE'
'=BU'.
PERFORM bdc_field
USING 'BSEG-WRBTR'
wa_record-wrbtr.
PERFORM bdc_field
USING 'BSEG-SECCO'
wa_record-secco.
PERFORM bdc_field
USING 'BSEG-GSBER'
wa_record-gsber.
PERFORM bdc_field
USING 'BSEG-ZFBDT'
wa_record-zfbdt.
PERFORM bdc_field
USING 'BSEG-ZUONR'
wa_record-zuonr.
PERFORM bdc_field
USING 'BSEG-SGTXT'
wa_record-sgtxt.
PERFORM bdc_field
USING 'RF05A-NEWBS'
record-newbs.
PERFORM bdc_field
USING 'RF05A-NEWKO'
record-newko.
PERFORM bdc_field
USING 'RF05A-NEWUM'
record-newum.
ENDIF.
IF wa_record-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'
wa_record-wrbtr.
PERFORM bdc_field
USING 'BSEG-SECCO'
wa_record-secco.
USING 'BSEG-GSBER'
wa_record-gsber.
PERFORM bdc_field
*
*
*
*
*
*
*
*
*
ENDIF.
CLEAR kna1.
CLEAR kunnr.
PERFORM bdc_dynpro
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
wa_record-secco.
USING 'BSEG-GSBER'
wa_record-gsber.
USING 'BSEG-ZUONR'
wa_record-zuonr.
USING 'RF05A-NEWBS'
record-newbs.
USING 'RF05A-NEWKO'
record-newko.
USING 'RF05A-NEWUM'
record-newum.
ENDIF.
wa_record = record.
AT LAST.
PERFORM update_posting_para.
IF NOT session IS INITIAL.
PERFORM bdc_transaction USING 'F-02'.
ELSE.
PERFORM call_transaction USING 'F-02'.
ENDIF.
REFRESH: bdcdata,
record.
CLEAR: wa_record.
MOVE wa_recordback TO record.
APPEND record.
ENDAT.
*
last_record = record.
ENDLOOP.
ELSE.
MOVE wa_recordback TO record.
APPEND record.
ENDIF.
ENDIF.
ENDLOOP.
PERFORM close_group.
IF NOT i_output IS INITIAL.
LOOP AT i_output INTO wa_data.
WRITE: / wa_data.
ENDLOOP.
ENDIF.
*&---------------------------------------------------------------------*
*&
Form upload
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM upload .
CALL FUNCTION 'UPLOAD'
EXPORTING
* CODEPAGE
= ' '
filename
= 'C:\f02_gen.TXT'
filetype
= 'DAT'
* ITEM
= ' '
* FILEMASK_MASK
= ' '
* FILEMASK_TEXT
= ' '
* FILETYPE_NO_CHANGE
= ' '
* FILEMASK_ALL
= ' '
* FILETYPE_NO_SHOW
= ' '
* LINE_EXIT
= ' '
* USER_FORM
= ' '
* USER_PROG
= ' '
* SILENT
= 'S'
* IMPORTING
* FILESIZE
=
* CANCEL
=
* ACT_FILENAME
=
* ACT_FILETYPE
=
TABLES
data_tab
= record
EXCEPTIONS
conversion_error
= 1
invalid_table_width
= 2
invalid_type
= 3
no_batch
= 4
unknown_error
= 5
gui_refuse_filetransfer
= 6
OTHERS
= 7
.
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.
" upload
*&---------------------------------------------------------------------*
*&
Form update_posting_para
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM update_posting_para .
*
last_record = wa_record.
IF wa_record-newbs = '29'.
*** for pskty = '29' ...
PERFORM bdc_dynpro
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
last_record-sgtxt.
PERFORM bdc_dynpro
PERFORM bdc_field
PERFORM bdc_field
IF wa_record-newbs = '39'.
PERFORM bdc_dynpro
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_dynpro
PERFORM bdc_field
PERFORM bdc_field
ENDIF.
*** for pskty = '21' ...
IF wa_record-newbs EQ '25'.
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'
last_record-wrbtr. "'1000'.
PERFORM bdc_field
USING 'BSEG-GSBER'
last_record-gsber. "'1000'.
PERFORM bdc_field
USING 'BSEG-ZFBDT'
lv_bldat .
PERFORM bdc_field
USING 'BSEG-ZUONR'
wa_record-zuonr.
PERFORM bdc_dynpro
USING 'SAPMF05A' '0302'.
PERFORM bdc_field
USING 'BDC_CURSOR'
'BSEG-GSBER'.
USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field
USING 'BSEG-WRBTR'
last_record-wrbtr. "'1000'.
PERFORM bdc_field
USING 'BSEG-GSBER'
last_record-gsber. "'1000'.
PERFORM bdc_field
USING 'BSEG-ZFBDT'
lv_bldat. "WA_RECORD-BLDAT . "'11.11.2013'.
PERFORM more_data USING wa_record.
PERFORM bdc_dynpro
USING 'SAPMF05A' '0302'.
PERFORM bdc_field
USING 'BDC_CURSOR'
'BSEG-SGTXT'.
PERFORM bdc_field
USING 'BSEG-SGTXT'
last_record-sgtxt.
PERFORM bdc_field
USING 'BDC_OKCODE'
'=BU'.
PERFORM bdc_dynpro
USING 'SAPMF05A' '0700'.
PERFORM bdc_field
USING 'BDC_CURSOR'
'RF05A-NEWBS'.
PERFORM bdc_field
USING 'BDC_OKCODE'
'=BU'.
ENDIF.
PERFORM bdc_field
IF wa_record-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'
last_record-wrbtr. "'1000'.
PERFORM bdc_field
USING 'BSEG-GSBER'
last_record-gsber. "'1000'.
PERFORM bdc_field
USING 'BSEG-ZFBDT'
lv_bldat .
PERFORM bdc_field
USING 'BSEG-ZUONR'
wa_record-zuonr.
PERFORM bdc_dynpro
USING 'SAPMF05A' '0302'.
PERFORM bdc_field
USING 'BDC_CURSOR'
'BSEG-GSBER'.
PERFORM bdc_field
USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field
USING 'BSEG-WRBTR'
last_record-wrbtr. "'1000'.
PERFORM bdc_field
USING 'BSEG-GSBER'
last_record-gsber. "'1000'.
PERFORM bdc_field
USING 'BSEG-ZFBDT'
lv_bldat. "WA_RECORD-BLDAT . "'11.11.2013'.
PERFORM more_data USING wa_record.
PERFORM bdc_dynpro
USING 'SAPMF05A' '0302'.
PERFORM bdc_field
USING 'BDC_CURSOR'
'BSEG-SGTXT'.
PERFORM bdc_field
USING 'BSEG-SGTXT'
last_record-sgtxt.
PERFORM bdc_field
USING 'BDC_OKCODE'
'=BU'.
PERFORM bdc_dynpro
USING 'SAPMF05A' '0700'.
PERFORM bdc_field
USING 'BDC_CURSOR'
'RF05A-NEWBS'.
PERFORM bdc_field
USING 'BDC_OKCODE'
'=BU'.
ENDIF.
IF wa_record-newbs = '21'.
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'
last_record-wrbtr.
PERFORM bdc_field
USING 'BSEG-SECCO'
last_record-secco.
PERFORM bdc_field
USING 'BSEG-GSBER'
last_record-gsber.
PERFORM bdc_field
USING 'BSEG-ZFBDT'
last_record-zfbdt.
PERFORM bdc_field
USING 'BSEG-ZUONR'
wa_record-zuonr.
PERFORM bdc_field
USING 'BSEG-SGTXT'
last_record-sgtxt.
PERFORM bdc_dynpro
USING 'SAPMF05A' '0302'.
PERFORM bdc_field
USING 'BDC_CURSOR'
'BSEG-SGTXT'.
PERFORM bdc_field
USING 'BDC_OKCODE'
'=BU'.
ENDIF.
*** for pskty = '31' ...
IF wa_record-newbs = '31'.
PERFORM bdc_dynpro
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_dynpro
PERFORM bdc_field
PERFORM bdc_field
ENDIF.
"145820'.
USING 'BDC_OKCODE'
'=BU'.
ENDIF.
*** for pskty = '50' ...
IF wa_record-newbs = '50' .
PERFORM bdc_dynpro
PERFORM bdc_field
PERFORM bdc_field
"adde
PERFORM bdc_field
wa_record-zuonr.
USING 'BSEG-SGTXT'
last_record-sgtxt.
PERFORM bdc_dynpro
PERFORM bdc_field
"a
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_dynpro
PERFORM bdc_field
PERFORM bdc_field
'BSEG-SGTXT'.
USING 'BDC_OKCODE'
'=BU'.
USING 'BSEG-WRBTR'
last_record-wrbtr.
USING 'BSEG-SECCO'
last_record-secco.
USING 'BSEG-GSBER'
last_record-gsber.
USING 'BSEG-ZFBDT'
last_record-zfbdt.
USING 'BSEG-ZUONR'
wa_record-zuonr.
USING 'BSEG-SGTXT'
last_record-sgtxt.
USING 'SAPMF05A' '0301'.
USING 'BDC_CURSOR'
'BSEG-SGTXT'.
USING 'BDC_OKCODE'
'=BU'.
ENDIF.
*
*
*
*
*
*
*
*
IF wa_record-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'
wa_record-wrbtr.
PERFORM bdc_field
USING 'BSEG-SECCO'
wa_record-secco.
PERFORM bdc_field
USING 'BSEG-GSBER'
wa_record-gsber.
PERFORM BDC_FIELD
USING 'BSEG-ZFBDT'
WA_RECORD-ZFBDT.
PERFORM bdc_field
USING 'BSEG-ZUONR'
wa_record-zuonr.
PERFORM bdc_field
USING 'BSEG-SGTXT'
wa_record-sgtxt.
PERFORM BDC_FIELD
USING 'RF05A-NEWBS'
WA_RECORD-NEWBS.
PERFORM BDC_FIELD
USING 'RF05A-NEWKO'
WA_RECORD-NEWKO.
PERFORM BDC_FIELD
USING 'RF05A-NEWUM'
WA_RECORD-NEWUM.
PERFORM bdc_dynpro
PERFORM bdc_field
PERFORM bdc_field
ENDIF.
ENDFORM.
"UPDATE_POSTING_PARA
*&---------------------------------------------------------------------*
*&
Form posting_y
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
FORM posting_y.
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'
wa_record-wrbtr.
*
PERFORM BDC_FIELD
USING 'BSEG-SECCO'
*
WA_RECORD-SECCO.
PERFORM bdc_field
USING 'BSEG-GSBER'
wa_record-gsber.
PERFORM bdc_field
USING 'BSEG-ZFBDT'
wa_record-zfbdt.
PERFORM bdc_field
USING 'BSEG-ZUONR'
wa_record-zuonr.
PERFORM bdc_field
USING 'BSEG-SGTXT'
wa_record-sgtxt.
PERFORM bdc_field
USING 'RF05A-NEWBS'
record-newbs.
PERFORM bdc_field
USING 'RF05A-NEWKO'
record-newko.
PERFORM bdc_field
USING 'RF05A-NEWUM'
record-newum.
*
*
ENDFORM.
"posting_y
**
:
**
:
**
:
** Development Class
: ZDEV
** Author
: Mandeep Singh
** Location
: National Housing Bank
** Requirement Reference :
*
*************************************************************************
** CHANGE HISTORY
*
** Date
Author
Description
*************************************************************************
**
TABLES
*
*************************************************************************
*
*
*************************************************************************
**
SELECTION SCREEN
*
*************************************************************************
**SELECTION-SCREEN BEGIN OF BLOCK sc1 WITH FRAME TITLE text-001.
**PARAMETERS :
pa_month LIKE t549m-pcmth OBLIGATORY,
**
pa_year(4) OBLIGATORY.
**SELECTION-SCREEN END OF BLOCK sc1.
*
*************************************************************************
**
Internal table
*
*************************************************************************
*DATA: BEGIN OF RECORD OCCURS 0,
*
BLDAT(010), "Document Date in Document
*
BLART(002), "Document type
*
BUKRS(004), "Company Code
*
WAERS(005), "Currency Key
*
XBLNR(016), "Reference Document Number
*
NEWBS(002), "Posting Key
*
NEWKO(015), "Account Number for the Account To Be Posted
*
NEWUM(001), "Special G/L Indicator for the Next Line Item
*
WRBTR(016), "Amount in document currency
*
GSBER(004), "Business Area
*
ZFBDT(010), "Baseline date for due date calculation
*
KOSTL(010), "Cost Center
*
ZUONR(018), "Assignment number
*
SGTXT(050), "Item Text
*
SECCO(004), "Bussiness Place
*
MATNR(018), "Material number
"added by t.v.l.narayana
on 15.10.2008
*
END OF RECORD.
*DATA : WA_RECORD LIKE RECORD,
*
LAST_RECORD LIKE RECORD.
*************************************************************************
**
Variables
*
*************************************************************************
*
*************************************************************************
**
I N I T I A L I Z A T I O N
*
** Intialization of program
*
*************************************************************************
*
*************************************************************************
**
A T S E L E C T I O N S C R E E N
*
** Validation on selection screen, if any
*
*************************************************************************
*
*************************************************************************
**AT SELECTION-SCREEN.
*
*************************************************************************
*
*
*************************************************************************
**
S T A R T
O F
S E L E C T I O N
*
** Actual Program execution starts here
*
*************************************************************************
*START-OF-SELECTION.
*
* PERFORM UPLOAD.
*
*START-OF-SELECTION.
*
* PERFORM OPEN_GROUP.
* BREAK NHBABAP.
* READ TABLE RECORD INDEX 1.
* WA_RECORD = RECORD.
*
* LOOP AT RECORD.
*
LAST_RECORD = RECORD.
**
wa_record = record.
*
AT FIRST.
*
PERFORM BDC_DYNPRO
USING 'SAPMF05A' '0100'.
*
PERFORM BDC_FIELD
USING 'BDC_CURSOR'
*
'BKPF-WAERS'.
*
PERFORM BDC_FIELD
USING 'BDC_OKCODE'
*
'/00'.
*
PERFORM BDC_FIELD
USING 'BKPF-BLDAT'
*
WA_RECORD-BLDAT.
*
PERFORM BDC_FIELD
USING 'BKPF-BLART'
*
WA_RECORD-BLART.
*
PERFORM BDC_FIELD
USING 'BKPF-BUKRS'
*
WA_RECORD-BUKRS.
*
PERFORM BDC_FIELD
USING 'BKPF-WAERS'
*
WA_RECORD-WAERS.
*
PERFORM BDC_FIELD
USING 'BKPF-XBLNR'
*
WA_RECORD-XBLNR.
*
PERFORM BDC_FIELD
USING 'RF05A-NEWBS'
*
WA_RECORD-NEWBS.
*
PERFORM BDC_FIELD
USING 'RF05A-NEWKO'
*
WA_RECORD-NEWKO.
*
PERFORM BDC_FIELD
USING 'RF05A-NEWUM'
*
WA_RECORD-NEWUM.
*
CONTINUE.
*
ENDAT.
*
** perform update_posting_para.
*
*
IF WA_RECORD-NEWBS = '29'.
*
**** for pskty = '29' ...
*
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'
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
****
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
****
*
*
*
*
*
*
*
*
*
*
*
WA_RECORD-WRBTR.
USING 'BSEG-SECCO'
WA_RECORD-SECCO.
USING 'BSEG-GSBER'
WA_RECORD-GSBER.
USING 'BSEG-ZFBDT'
WA_RECORD-ZFBDT.
USING 'BSEG-ZUONR'
WA_RECORD-ZUONR.
USING 'BSEG-SGTXT'
WA_RECORD-SGTXT.
USING 'RF05A-NEWBS'
RECORD-NEWBS.
USING 'RF05A-NEWKO'
RECORD-NEWKO.
USING 'RF05A-NEWUM'
RECORD-NEWUM.
PERFORM BDC_FIELD
PERFORM BDC_FIELD
PERFORM BDC_FIELD
PERFORM BDC_FIELD
PERFORM BDC_FIELD
PERFORM BDC_FIELD
PERFORM BDC_FIELD
PERFORM BDC_FIELD
for pskty = '39' ...
ENDIF.
IF WA_RECORD-NEWBS = '39'.
PERFORM BDC_DYNPRO
PERFORM BDC_FIELD
PERFORM BDC_FIELD
PERFORM BDC_FIELD
PERFORM BDC_FIELD
PERFORM BDC_FIELD
PERFORM BDC_FIELD
PERFORM BDC_FIELD
PERFORM BDC_FIELD
PERFORM BDC_FIELD
PERFORM BDC_FIELD
PERFORM BDC_FIELD
ENDIF.
for pskty = '21' ...
IF WA_RECORD-NEWBS = '21'.
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'
WA_RECORD-WRBTR.
PERFORM BDC_FIELD
USING 'BSEG-SECCO'
WA_RECORD-SECCO.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
****
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
****
*
*
*
*
*
*
*
*
**
**
**
**
**
PERFORM BDC_FIELD
PERFORM BDC_FIELD
USING 'BSEG-GSBER'
WA_RECORD-GSBER.
USING 'BSEG-ZFBDT'
WA_RECORD-ZFBDT.
USING 'BSEG-ZUONR'
WA_RECORD-ZUONR.
USING 'BSEG-SGTXT'
WA_RECORD-SGTXT.
USING 'RF05A-NEWBS'
RECORD-NEWBS.
USING 'RF05A-NEWKO'
RECORD-NEWKO.
USING 'RF05A-NEWUM'
RECORD-NEWUM.
PERFORM BDC_FIELD
PERFORM BDC_FIELD
PERFORM BDC_FIELD
PERFORM BDC_FIELD
PERFORM BDC_FIELD
ENDIF.
for pskty = '31' ...
IF WA_RECORD-NEWBS = '31'.
PERFORM BDC_DYNPRO
PERFORM BDC_FIELD
PERFORM BDC_FIELD
PERFORM BDC_FIELD
PERFORM BDC_FIELD
PERFORM BDC_FIELD
PERFORM BDC_FIELD
PERFORM BDC_FIELD
PERFORM BDC_FIELD
PERFORM BDC_FIELD
PERFORM BDC_FIELD
PERFORM BDC_FIELD
ENDIF.
for pskty = '40' ...
IF WA_RECORD-NEWBS = '40'.
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'
WA_RECORD-WRBTR.
PERFORM bdc_field
USING 'RF05A-NEWBS'
wa_record-newbs.
PERFORM bdc_field
USING 'RF05A-NEWKO'
wa_record-newko.
PERFORM bdc_field
USING 'DKACB-FMORE'
"145820'.
**
'X'.
*
PERFORM BDC_FIELD
USING 'BSEG-ZUONR'
*
WA_RECORD-ZUONR.
*
PERFORM BDC_FIELD
USING 'BSEG-SGTXT'
*
WA_RECORD-SGTXT.
*
*
PERFORM BDC_FIELD
USING 'RF05A-NEWBS'
*
RECORD-NEWBS.
*
PERFORM BDC_FIELD
USING 'RF05A-NEWKO'
*
RECORD-NEWKO.
*
PERFORM BDC_FIELD
USING 'RF05A-NEWUM'
*
RECORD-NEWUM.
*
*
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'
*
WA_RECORD-GSBER.
*
PERFORM BDC_FIELD
USING 'COBL-KOSTL'
*
WA_RECORD-KOSTL.
*
PERFORM BDC_FIELD
USING 'COBL-MATNR'
*
WA_RECORD-MATNR.
y t.v.l.narayana on 15.10.2008
*
ENDIF.
*
**** for pskty = '50' ...
*
IF WA_RECORD-NEWBS = '50'.
*
PERFORM BDC_DYNPRO
USING 'SAPMF05A' '0300'.
*
PERFORM BDC_FIELD
USING 'BSEG-WRBTR'
*
WA_RECORD-WRBTR.
**
PERFORM bdc_field
USING 'RF05A-NEWBS'
**
record-newbs.
**
PERFORM bdc_field
USING 'RF05A-NEWKO'
**
record-newko.
*
PERFORM BDC_FIELD
USING 'BSEG-ZUONR'
*
WA_RECORD-ZUONR.
*
PERFORM BDC_FIELD
USING 'BSEG-SGTXT'
*
WA_RECORD-SGTXT.
*
*
PERFORM BDC_FIELD
USING 'RF05A-NEWBS'
*
RECORD-NEWBS.
*
PERFORM BDC_FIELD
USING 'RF05A-NEWKO'
*
RECORD-NEWKO.
*
PERFORM BDC_FIELD
USING 'RF05A-NEWUM'
*
RECORD-NEWUM.
*
*
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'
*
WA_RECORD-GSBER.
*
PERFORM BDC_FIELD
USING 'COBL-KOSTL'
*
WA_RECORD-KOSTL.
*
PERFORM BDC_FIELD
USING 'COBL-MATNR'
*
WA_RECORD-MATNR.
d by t.v.l.narayana on 15.10.2008
"added b
"adde
*
*
****
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
****
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
ENDIF.
for pskty = '01' ...
IF WA_RECORD-NEWBS = '01'.
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'
WA_RECORD-WRBTR.
PERFORM BDC_FIELD
USING 'BSEG-SECCO'
WA_RECORD-SECCO.
PERFORM BDC_FIELD
USING 'BSEG-GSBER'
WA_RECORD-GSBER.
PERFORM BDC_FIELD
USING 'BSEG-ZFBDT'
WA_RECORD-ZFBDT.
PERFORM BDC_FIELD
USING 'BSEG-ZUONR'
WA_RECORD-ZUONR.
PERFORM BDC_FIELD
USING 'BSEG-SGTXT'
WA_RECORD-SGTXT.
PERFORM BDC_FIELD
USING 'RF05A-NEWBS'
RECORD-NEWBS.
PERFORM BDC_FIELD
USING 'RF05A-NEWKO'
RECORD-NEWKO.
PERFORM BDC_FIELD
USING 'RF05A-NEWUM'
RECORD-NEWUM.
ENDIF.
for pskty = '11' ...
IF WA_RECORD-NEWBS = '11'.
PERFORM BDC_DYNPRO
USING 'SAPMF05A' '0301'.
PERFORM BDC_FIELD
USING 'BDC_CURSOR'
'BSEG-SGTXT'.
PERFORM BDC_FIELD
USING 'BDC_OKCODE'
'=BU'.
PERFORM BDC_FIELD
USING 'BSEG-WRBTR'
WA_RECORD-WRBTR.
PERFORM BDC_FIELD
USING 'BSEG-SECCO'
WA_RECORD-SECCO.
PERFORM BDC_FIELD
USING 'BSEG-GSBER'
WA_RECORD-GSBER.
PERFORM BDC_FIELD
USING 'BSEG-ZFBDT'
WA_RECORD-ZFBDT.
PERFORM BDC_FIELD
USING 'BSEG-ZUONR'
WA_RECORD-ZUONR.
PERFORM BDC_FIELD
USING 'BSEG-SGTXT'
WA_RECORD-SGTXT.
PERFORM BDC_FIELD
USING 'RF05A-NEWBS'
RECORD-NEWBS.
PERFORM BDC_FIELD
USING 'RF05A-NEWKO'
RECORD-NEWKO.
PERFORM BDC_FIELD
USING 'RF05A-NEWUM'
RECORD-NEWUM.
ENDIF.
IF WA_RECORD-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'
*
WA_RECORD-WRBTR.
*
PERFORM BDC_FIELD
USING 'BSEG-SECCO'
*
WA_RECORD-SECCO.
*
PERFORM BDC_FIELD
USING 'BSEG-GSBER'
*
WA_RECORD-GSBER.
**
IF WA_RECORD-ZFBDT = ' '.
**
PERFORM BDC_FIELD
USING 'BSEG-ZFBDT'
**
WA_RECORD-ZFBDT.
**
PERFORM BDC_FIELD
USING 'BSEG-ZFBDT'
**
WA_RECORD-BLDAT.
**
ELSE.
**
PERFORM BDC_FIELD
USING 'BSEG-ZFBDT'
**
WA_RECORD-ZFBDT.
**
ENDIF.
*
PERFORM BDC_FIELD
USING 'BSEG-ZUONR'
*
WA_RECORD-ZUONR.
*
PERFORM BDC_FIELD
USING 'BSEG-SGTXT'
*
WA_RECORD-SGTXT.
*
PERFORM BDC_FIELD
USING 'RF05A-NEWBS'
*
RECORD-NEWBS.
*
PERFORM BDC_FIELD
USING 'RF05A-NEWKO'
*
RECORD-NEWKO.
*
PERFORM BDC_FIELD
USING 'RF05A-NEWUM'
*
RECORD-NEWUM.
*
ENDIF.
*
*
WA_RECORD = RECORD.
*
AT LAST.
*
PERFORM UPDATE_POSTING_PARA.
*
PERFORM BDC_TRANSACTION USING 'F-02'.
*
ENDAT.
**
last_record = record.
* ENDLOOP.
*
* PERFORM CLOSE_GROUP.
**&---------------------------------------------------------------------*
**&
Form upload
**&---------------------------------------------------------------------*
**
text
**----------------------------------------------------------------------*
** --> p1
text
** <-- p2
text
**----------------------------------------------------------------------*
*FORM UPLOAD .
* CALL FUNCTION 'UPLOAD'
* EXPORTING
** CODEPAGE
= ' '
*
FILENAME
= 'C:\f02_gen.TXT'
*
FILETYPE
= 'DAT'
** ITEM
= ' '
** FILEMASK_MASK
= ' '
** FILEMASK_TEXT
= ' '
** FILETYPE_NO_CHANGE
= ' '
** FILEMASK_ALL
= ' '
** FILETYPE_NO_SHOW
= ' '
** LINE_EXIT
= ' '
** USER_FORM
= ' '
** USER_PROG
= ' '
** SILENT
= 'S'
** IMPORTING
** FILESIZE
=
** CANCEL
=
** ACT_FILENAME
=
** ACT_FILETYPE
=
*
TABLES
*
DATA_TAB
= RECORD
* EXCEPTIONS
*
CONVERSION_ERROR
= 1
*
INVALID_TABLE_WIDTH
= 2
*
INVALID_TYPE
= 3
*
NO_BATCH
= 4
*
UNKNOWN_ERROR
= 5
*
GUI_REFUSE_FILETRANSFER
= 6
*
OTHERS
= 7
*
.
* 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.
" upload
**&---------------------------------------------------------------------*
**&
Form update_posting_para
**&---------------------------------------------------------------------*
**
text
**----------------------------------------------------------------------*
** --> p1
text
** <-- p2
text
**----------------------------------------------------------------------*
*FORM UPDATE_POSTING_PARA .
**
last_record = wa_record.
* IF WA_RECORD-NEWBS = '29'.
*
**** for pskty = '29' ...
*
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'
*
LAST_RECORD-WRBTR.
*
PERFORM BDC_FIELD
USING 'BSEG-GSBER'
*
LAST_RECORD-GSBER.
*
PERFORM BDC_FIELD
USING 'BSEG-ZFBDT'
*
LAST_RECORD-ZFBDT.
*
PERFORM BDC_FIELD
USING 'BSEG-ZUONR'
*
WA_RECORD-ZUONR.
*
PERFORM BDC_FIELD
USING 'BSEG-SGTXT'
*
LAST_RECORD-SGTXT.
*
*
PERFORM BDC_DYNPRO
USING 'SAPMF05A' '0304'.
*
PERFORM BDC_FIELD
USING 'BDC_CURSOR'
*
'BSEG-SGTXT'.
*
PERFORM BDC_FIELD
USING 'BDC_OKCODE'
*
'=BU'.
*
*
**** for pskty = '39' ...
* ENDIF.
*
* IF WA_RECORD-NEWBS = '39'.
*
*
PERFORM BDC_DYNPRO
USING 'SAPMF05A' '0304'.
*
PERFORM BDC_FIELD
USING 'BDC_CURSOR'
*
'RF05A-NEWKO'.
*
PERFORM BDC_FIELD
USING 'BDC_OKCODE'
*
'/00'.
*
PERFORM BDC_FIELD
USING 'BSEG-WRBTR'
*
LAST_RECORD-WRBTR.
*
PERFORM BDC_FIELD
USING 'BSEG-SECCO'
*
LAST_RECORD-SECCO.
*
PERFORM BDC_FIELD
USING 'BSEG-GSBER'
*
LAST_RECORD-GSBER.
*
PERFORM BDC_FIELD
USING 'BSEG-ZFBDT'
*
LAST_RECORD-ZFBDT.
*
PERFORM BDC_FIELD
USING 'BSEG-ZUONR'
*
WA_RECORD-ZUONR.
*
PERFORM BDC_FIELD
USING 'BSEG-SGTXT'
*
LAST_RECORD-SGTXT.
*
*
PERFORM BDC_DYNPRO
USING 'SAPMF05A' '0304'.
*
PERFORM BDC_FIELD
USING 'BDC_CURSOR'
*
'BSEG-SGTXT'.
*
PERFORM BDC_FIELD
USING 'BDC_OKCODE'
*
'=BU'.
*
*
* ENDIF.
*
**** for pskty = '21' ...
*
* IF WA_RECORD-NEWBS = '21'.
*
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'
*
LAST_RECORD-WRBTR.
*
PERFORM BDC_FIELD
USING 'BSEG-SECCO'
*
LAST_RECORD-SECCO.
*
PERFORM BDC_FIELD
USING 'BSEG-GSBER'
*
LAST_RECORD-GSBER.
*
PERFORM BDC_FIELD
USING 'BSEG-ZFBDT'
*
LAST_RECORD-ZFBDT.
*
PERFORM BDC_FIELD
USING 'BSEG-ZUONR'
*
WA_RECORD-ZUONR.
*
PERFORM BDC_FIELD
USING 'BSEG-SGTXT'
*
LAST_RECORD-SGTXT.
*
PERFORM BDC_DYNPRO
USING 'SAPMF05A' '0302'.
*
PERFORM BDC_FIELD
USING 'BDC_CURSOR'
*
'BSEG-SGTXT'.
*
PERFORM BDC_FIELD
USING 'BDC_OKCODE'
*
'=BU'.
* ENDIF.
*
"145820'.
"added
by t.v.l.narayana on 15.10.2008
*
*
PERFORM BDC_DYNPRO
USING 'SAPMF05A' '0300'.
*
PERFORM BDC_FIELD
USING 'BDC_CURSOR'
*
'BSEG-SGTXT'.
*
PERFORM BDC_FIELD
USING 'BDC_OKCODE'
*
'=BU'.
*
* ENDIF.
*
**** for pskty = '50' ...
* IF WA_RECORD-NEWBS = '50'.
*
PERFORM BDC_DYNPRO
USING 'SAPMF05A' '0300'.
*
PERFORM BDC_FIELD
USING 'BSEG-WRBTR'
*
LAST_RECORD-WRBTR.
*
PERFORM BDC_FIELD
USING 'BSEG-ZUONR'
*
WA_RECORD-ZUONR.
*
PERFORM BDC_FIELD
USING 'BSEG-SGTXT'
*
LAST_RECORD-SGTXT.
*
*
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'
*
LAST_RECORD-GSBER.
*
PERFORM BDC_FIELD
USING 'COBL-KOSTL'
*
LAST_RECORD-KOSTL.
*
PERFORM BDC_FIELD
USING 'COBL-MATNR'
ded by t.v.l.narayana on 15.10.2008
*
WA_RECORD-MATNR.
*
*
PERFORM BDC_DYNPRO
USING 'SAPMF05A' '0300'.
*
PERFORM BDC_FIELD
USING 'BDC_CURSOR'
*
'BSEG-SGTXT'.
*
PERFORM BDC_FIELD
USING 'BDC_OKCODE'
*
'=BU'.
*
* ENDIF.
*
**** for pskty = '01' ...
*
* IF WA_RECORD-NEWBS = '01'.
*
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'
*
LAST_RECORD-WRBTR.
*
PERFORM BDC_FIELD
USING 'BSEG-SECCO'
*
LAST_RECORD-SECCO.
*
PERFORM BDC_FIELD
USING 'BSEG-GSBER'
*
LAST_RECORD-GSBER.
*
PERFORM BDC_FIELD
USING 'BSEG-ZFBDT'
*
LAST_RECORD-ZFBDT.
*
PERFORM BDC_FIELD
USING 'BSEG-ZUONR'
*
WA_RECORD-ZUONR.
*
PERFORM BDC_FIELD
USING 'BSEG-SGTXT'
"ad
*
LAST_RECORD-SGTXT.
*
PERFORM BDC_DYNPRO
USING 'SAPMF05A' '0301'.
*
PERFORM BDC_FIELD
USING 'BDC_CURSOR'
*
'BSEG-SGTXT'.
*
PERFORM BDC_FIELD
USING 'BDC_OKCODE'
*
'=BU'.
*
* ENDIF.
*
**** for pskty = '11' ...
* IF WA_RECORD-NEWBS = '11'.
*
PERFORM BDC_DYNPRO
USING 'SAPMF05A' '0301'.
*
PERFORM BDC_FIELD
USING 'BDC_CURSOR'
*
'BSEG-SGTXT'.
*
PERFORM BDC_FIELD
USING 'BDC_OKCODE'
*
'=BU'.
*
PERFORM BDC_FIELD
USING 'BSEG-WRBTR'
*
LAST_RECORD-WRBTR.
*
PERFORM BDC_FIELD
USING 'BSEG-SECCO'
*
LAST_RECORD-SECCO.
*
PERFORM BDC_FIELD
USING 'BSEG-GSBER'
*
LAST_RECORD-GSBER.
*
PERFORM BDC_FIELD
USING 'BSEG-ZFBDT'
*
LAST_RECORD-ZFBDT.
*
PERFORM BDC_FIELD
USING 'BSEG-ZUONR'
*
WA_RECORD-ZUONR.
*
PERFORM BDC_FIELD
USING 'BSEG-SGTXT'
*
LAST_RECORD-SGTXT.
*
PERFORM BDC_DYNPRO
USING 'SAPMF05A' '0301'.
*
PERFORM BDC_FIELD
USING 'BDC_CURSOR'
*
'BSEG-SGTXT'.
*
PERFORM BDC_FIELD
USING 'BDC_OKCODE'
*
'=BU'.
*
* ENDIF.
*
*
* IF WA_RECORD-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'
*
WA_RECORD-WRBTR.
*
PERFORM BDC_FIELD
USING 'BSEG-SECCO'
*
WA_RECORD-SECCO.
*
PERFORM BDC_FIELD
USING 'BSEG-GSBER'
*
WA_RECORD-GSBER.
**
PERFORM BDC_FIELD
USING 'BSEG-ZFBDT'
**
WA_RECORD-ZFBDT.
*
PERFORM BDC_FIELD
USING 'BSEG-ZUONR'
*
WA_RECORD-ZUONR.
*
PERFORM BDC_FIELD
USING 'BSEG-SGTXT'
*
WA_RECORD-SGTXT.
**
PERFORM BDC_FIELD
USING 'RF05A-NEWBS'
**
WA_RECORD-NEWBS.
**
PERFORM BDC_FIELD
USING 'RF05A-NEWKO'
**
WA_RECORD-NEWKO.
**
PERFORM BDC_FIELD
USING 'RF05A-NEWUM'
**
WA_RECORD-NEWUM.
*
*
PERFORM BDC_DYNPRO
USING 'SAPMF05A' '0301'.
*
PERFORM BDC_FIELD
USING 'BDC_CURSOR'
*
'BSEG-SGTXT'.
*
PERFORM BDC_FIELD
USING 'BDC_OKCODE'
*
'=BU'.
* ENDIF.
*
*ENDFORM.
" update_posting_para
*&---------------------------------------------------------------------*
*&
Form CALL_TRANSACTION
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
*
-->P_1065 text
*----------------------------------------------------------------------*
FORM call_transaction USING tcode.
REFRESH messtab.
CALL TRANSACTION tcode USING bdcdata
MODE ctumode
UPDATE cupdate
MESSAGES INTO messtab.
READ TABLE messtab WITH KEY msgtyp
msgid
msgnr
IF sy-subrc EQ 0.
CONCATENATE 'Document Number : '
ARATED BY space.
APPEND wa_data
TO i_output.
CLEAR wa_data.
ENDIF.
= 'S'
= 'F5'
= '312'.
messtab-msgv1 'generated.' INTO wa_data SEP
ENDFORM.
" CALL_TRANSACTION
*&---------------------------------------------------------------------*
*&
Form MORE_DATA
*&---------------------------------------------------------------------*
*
This subroutine performs mapping for Business Referance Key
*----------------------------------------------------------------------*
*
-->P_WA_RECORD_NEWBS
*----------------------------------------------------------------------*
FORM more_data USING
value(pv_wa_record) LIKE wa_record.
IF pv_wa_record-newbs = '35' OR pv_wa_record-newbs = '25' .
PERFORM bdc_dynpro
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
"
PERFORM bdc_field
*
PERFORM bdc_field
ENDIF.
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_dynpro
PERFORM bdc_field
PERFORM bdc_field
PERFORM bdc_dynpro
PERFORM bdc_field
PERFORM bdc_field
"
PERFORM bdc_field
*
PERFORM bdc_dynpro
PERFORM bdc_field
ENDIF.
CLEAR pv_wa_record.
ENDFORM.