Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 12

*&---------------------------------------------------------------------*

*& Report ZFIRE017


*
*&
*
*&---------------------------------------------------------------------*
* P R O G R A M
H I S T O R Y
*
* (Most recent on top)
*
*----------------------------------------------------------------------*
* 14-Nov-2012 ECDK940193 Leo Macam
MOD01 *
*
Add personnel no for upload
*
*----------------------------------------------------------------------*
*& Yiming 25-June-2008 - Include Assignment and Value Date
*
*&
for uploading
*
*&
*
*&---------------------------------------------------------------------*
REPORT zfire017 LINE-SIZE 120 LINE-COUNT 60.
TABLES: t100, tka02, csks, skb1, zffstag.
CONSTANTS: c_credit VALUE 'C',
c_debit VALUE 'D'.
DATA: BEGIN OF itab OCCURS 0,
bldat(8) TYPE c,
budat(8) TYPE c,
blart(8) TYPE c,
xblnr LIKE bkpf-xblnr,
bktxt LIKE bkpf-bktxt,
sgtxt LIKE bseg-sgtxt,
hkont LIKE bseg-hkont,
waers LIKE bkpf-waers,
debit(15) TYPE c,
credt(15) TYPE c,
*

"
"
"
"
"
"
"
"
"
"

Document Date
Posting Date
Document Type
Reference Document
Header Text
Item Text
G/L Account
Currency
Debit Amount
Credit Amount

GSBER LIKE COBL-GSBER,


" Business Area
kostl LIKE cobl-kostl,
" Cost Center
*
PRCTR LIKE COBL-PRCTR,
" Profit Center
zuonr LIKE bseg-zuonr,
" Assignment
valut(8),
" Value Date
*
MATNR LIKE COBL-MATNR,
" Material
mwskz TYPE mwskz,
" Tax Code
pernr TYPE persno,
" Personnel No MOD01 - added
txjcd TYPE txjcd,
" Tax Jurisdiction
*& -- Start of insert Kiran 09/10/2013 CR107615
prctr LIKE cobl-prctr,
" Profit Center
paph1 TYPE zfi_items-paph1,
"Prod.hierarchy01-1
paph2 TYPE zfi_items-paph2,
"Prod.hierarchy01-1
*& -- end of insert Kiran 09/10/2013 CR107615
END OF itab.
DATA: BEGIN OF bdc_table OCCURS 5.
INCLUDE STRUCTURE bdcdata.
DATA: END OF bdc_table.
DATA: BEGIN OF messtab OCCURS 5.
INCLUDE STRUCTURE bdcmsgcoll.
DATA: END OF messtab.
DATA: posted_doc(10) TYPE c.

DATA: new_entry_shkzg,
follow_entry_shkzg,
new_item_post.
DATA: tp_xblnr LIKE bkpf-xblnr,
tp_bktxt LIKE bkpf-bktxt,
count TYPE i,
m_message(20) TYPE c.
PARAMETERS: p_upmode(1) TYPE c DEFAULT 'N'.
SELECTION-SCREEN BEGIN OF BLOCK 01 WITH FRAME.
PARAMETERS: p_bukrs LIKE bseg-bukrs OBLIGATORY DEFAULT '8000'.
PARAMETERS: p_file LIKE rlgrap-filename DEFAULT 'C:\' OBLIGATORY.
SELECTION-SCREEN
SELECTION-SCREEN
SELECTION-SCREEN
SELECTION-SCREEN

COMMENT /1(79) text-c01.


COMMENT /1(79) text-c02.
COMMENT /1(79) text-c03.
END OF BLOCK 01.

DATA: file_path TYPE string.


*&----------------------------------------------------------------------*
*& At Selection Screen - Parameter Verification - Added by ZDJUGO FEB 02 '09
*&
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
PERFORM select_file CHANGING p_file.
*&----------------------------------------------------------------------*
*&
Form select_file
*&----------------------------------------------------------------------*
*&
displays popup to select file to be uploaded
*&----------------------------------------------------------------------*
*&
<--f_file path\filename to be returned
*&----------------------------------------------------------------------*
FORM select_file CHANGING f_file.
DATA: ls_file TYPE LINE OF filetable,
lt_file TYPE filetable,
li_subrc TYPE i.
CALL METHOD cl_gui_frontend_services=>file_open_dialog
EXPORTING
window_title
= 'Select Text or Excel File'
*
default_extension
= '.txt'
default_filename
= '*.*'
*
file_filter
= cl_gui_frontend_services=>filetype_text
CHANGING
file_table
= lt_file
rc
= li_subrc
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.


ENDIF.
READ TABLE lt_file INTO ls_file INDEX 1.
p_file = ls_file.
ENDFORM.

" select_file

START-OF-SELECTION.
* AUTHORITY-CHECK OBJECT 'Z_RPTBUKRS' ID 'BUKRS' FIELD P_BUKRS.
* IF SY-SUBRC NE 0.
*
CONCATENATE 'for company' P_BUKRS INTO M_MESSAGE SEPARATED BY SPACE.
*
CALL FUNCTION 'POPUP_TO_DISPLAY_TEXT'
*
EXPORTING
*
TITEL
= 'Message'
*
TEXTLINE1
= 'You do not have authorization'
*
TEXTLINE2
= M_MESSAGE
*
START_COLUMN = 25
*
START_ROW
= 6
*
EXCEPTIONS
*
OTHERS
= 1.
*
EXIT.
* ENDIF.

*
*
*
*
*
*
*
*
*
*

REFRESH: itab.
MOVE p_file TO file_path.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename
filetype
has_field_separator
HEADER_LENGTH
READ_BY_LINE
DAT_MODE
CODEPAGE
IGNORE_CERR
REPLACEMENT
CHECK_BOM
IMPORTING
FILELENGTH
HEADER
TABLES
data_tab
EXCEPTIONS
file_open_error
file_read_error
no_batch
gui_refuse_filetransfer
invalid_type
no_authority
unknown_error
bad_data_format
header_not_allowed
separator_not_allowed
header_too_long
unknown_dp_error
access_denied
dp_out_of_memory
disk_full
dp_timeout

=
=
=
=
=
=
=
=
=
=

file_path
'ASC'
'X'
0
'X'
' '
ABAP_TRUE
'#'
' '

=
=
= itab
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

OTHERS

= 17.

CHECK sy-subrc EQ 0.
CLEAR itab.
DELETE itab WHERE debit = ' ' AND credt = ' '.
DESCRIBE TABLE itab LINES count.
IF count = 0.
CALL FUNCTION 'POPUP_TO_DISPLAY_TEXT'
EXPORTING
titel
= 'Message'
textline1
= 'No valid line for posting'
textline2
= 'Check your entries in upload file'
start_column = 25
start_row
= 6
EXCEPTIONS
OTHERS
= 1.
EXIT.
ENDIF.
* SORT ITAB BY XBLNR BKTXT HKONT.
PERFORM post_doc TABLES itab.
END-OF-SELECTION.
*&---------------------------------------------------------------------*
*&
Form POST_DOC
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
*
-->ITAB
text
*----------------------------------------------------------------------*
FORM post_doc TABLES itab STRUCTURE itab.
DATA: p_prctr LIKE cobl-prctr,
tp_text LIKE t100-text,
len TYPE i.
FIELD-SYMBOLS <tp_msgv>.
DATA: lv_n TYPE i.
DATA: lv_n1 TYPE i.
DESCRIBE TABLE itab LINES lv_n.
LOOP AT itab.
lv_n1 = lv_n1 + 1.
* remove special characters in the item text
*
PERFORM f_rem_spec_char CHANGING itab-sgtxt.
CLEAR: p_prctr.
IF sy-tabix = 1.
MOVE: itab-xblnr TO tp_xblnr,
itab-bktxt TO tp_bktxt.
REFRESH bdc_table.
PERFORM bdc_construct USING:

'SAPMF05A'
' '
' '
' '
' '
' '
' '
' '
' '
ENDIF.

'0100'
' '
' '
' '
' '
' '
' '
' '
' '

'X'
' '
' '
' '
' '
' '
' '
' '
' '

' '
'BKPF-BLDAT'
'BKPF-BUDAT'
'BKPF-BLART'
'BKPF-BUKRS'
'BKPF-WAERS'
'BKPF-XBLNR'
'BKPF-BKTXT'
'FS006-DOCID'

' ',
itab-bldat,
itab-budat,
itab-blart,
p_bukrs,
itab-waers,
itab-xblnr,
itab-bktxt,
' '.

IF itab-debit <> ' '.


PERFORM bdc_construct USING:
' '
' '
' ' 'RF05A-NEWBS' '40'.
ELSEIF itab-credt <> ' '.
PERFORM bdc_construct USING:
' '
' '
' ' 'RF05A-NEWBS' '50'.
ENDIF.
*Yiming 250608 - Include Assignment********************
PERFORM bdc_construct USING:
' '
' '
' ' 'RF05A-NEWKO' itab-hkont,
' '
' '
' ' 'BDC_OKCODE' '/0'.
*
IF
itab-hkont(1) = '7'.
*
PERFORM bdc_construct USING:
* ' ' ' ' ' ' 'BDC_OKCODE' '=ENTE',
* ' ' ' ' ' ' 'BDC_OKCODE' '=ENTE'.
** ' ' ' ' ' ' 'BDC_OKCODE' '=ENTE'.
*
ENDIF.
PERFORM bdc_construct USING:
'SAPMF05A' '0300' 'X' ' '
' ',
' '
' '
' ' 'BSEG-ZUONR' itab-zuonr,
' '
' '
' ' 'BSEG-SGTXT' itab-sgtxt.
*********************************************************
*start of insert Kiran
IF p_bukrs = '1000'.
PERFORM bdc_construct USING:
' '
' '
' ' 'BSEG-TXJCD' itab-txjcd.
ENDIF.
*end of insert kiran
IF itab-debit <> ' '.
PERFORM bdc_construct USING:
' '
' '
' ' 'BSEG-WRBTR' itab-debit.
ELSEIF itab-credt <> ' '.
PERFORM bdc_construct USING:
' '
' '
' ' 'BSEG-WRBTR' itab-credt.
ENDIF.
*Yiming 250608 - Include Value Date**********************
IF itab-valut <> ' '.
PERFORM bdc_construct USING:
' '
' '
' ' 'BSEG-VALUT' itab-valut.
ENDIF.
IF itab-mwskz <> ' '.
PERFORM bdc_construct USING:
' '
' '
' ' 'BSEG-MWSKZ' itab-mwskz.
ENDIF.

*********************************************************
IF itab-kostl <> ' '.
*Yiming 260608 - Auto Extract BA*************************
SELECT SINGLE * FROM csks WHERE kokrs = tka02-kokrs
AND kostl = itab-kostl.
IF sy-subrc = 0.
*
p_gsber = csks-gsber.
p_prctr = csks-prctr.
ENDIF.
*********************************************************
*
IF ITAB-GSBER IS INITIAL.
*
P_GSBER = ITAB-KOSTL+4(2).
*
ELSE.
*
P_GSBER = ITAB-GSBER.
*
ENDIF.
PERFORM bdc_construct USING:
' '
' '
' ' 'BDC_OKCODE' '/0',
'SAPLKACB' '0002' 'X' ' '
' '.
*
' '
' '
' ' 'COBL-PRCTR' P_PRCTR,
*
' '
' '
' ' 'COBL-GSBER' P_GSBER,
*
' '
' '
' ' 'COBL-KOSTL' ITAB-KOSTL.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = itab-hkont
IMPORTING
output = itab-hkont.
SELECT SINGLE fstag FROM skb1 INTO skb1-fstag
WHERE bukrs EQ p_bukrs
AND saknr EQ itab-hkont.
*Cost Center
SELECT SINGLE * FROM zffstag WHERE fstag EQ skb1-fstag
AND NOT kostl EQ 'X'.
IF sy-subrc IS INITIAL.
PERFORM bdc_construct USING:
' '
' '
' ' 'COBL-KOSTL' itab-kostl.
"Cost Center
ENDIF.
*Profit Center
SELECT SINGLE * FROM zffstag WHERE fstag EQ skb1-fstag
AND NOT prctr EQ 'X'.
IF sy-subrc IS INITIAL.
PERFORM bdc_construct USING:
' '
' '
' ' 'COBL-PRCTR' p_prctr.
"Profit Center
ENDIF.
*Bussines Area
SELECT SINGLE * FROM zffstag WHERE fstag EQ skb1-fstag
AND NOT gsber EQ 'X'.
IF sy-subrc IS INITIAL.
PERFORM bdc_construct USING:
' '
' '
' ' 'COBL-GSBER' ''.
ENDIF.
*

Start of modification MOD01 - added


IF itab-pernr IS NOT INITIAL.
PERFORM bdc_construct USING:

' ' 'COBL-PERNR' itab-pernr.

PERFORM bdc_construct
' '
' '
' '
'SAPMF05A' '0300' 'X'
' '
' '
' '

USING:
'BDC_OKCODE' '/8',
' '
' ',
'DKACB-FMORE' ' '.

' '
' '
ENDIF.
End of modification

MOD01 - added

ELSE.
Start of modification MOD01 - added
IF itab-pernr IS NOT INITIAL.
PERFORM bdc_construct USING:
' '
' '
' ' 'BDC_OKCODE'
'SAPLKACB' '0002' 'X' ' '
' '
' '
' ' 'COBL-PERNR'
'SAPMF05A' '0300' 'X' ' '
' '
' '
' ' 'DKACB-FMORE'
ELSE.
End of modification MOD01 - added
PERFORM bdc_construct USING:
' '
' '
' ' 'DKACB-FMORE'
ENDIF. " MOD01 - added
ENDIF.

"Personnel no

'/0',
' ',
itab-pernr,
' ',
' '.

"Personnel no

' '.

**& -- Start of insert Kiran 09/10/2013 CR107615


break kponugoti.
*
IF
itab-hkont(1) = '7'
AND NOT itab-prctr
IS INITIAL
AND NOT itab-paph1
IS INITIAL
AND NOT itab-paph2
IS INITIAL.
PERFORM bdc_construct

USING : "'SAPMF05A' '0300' 'X' ' '

'

',
' '

' '

' ' 'RF05A-NEWBS' '5

' '

' '

' ' 'RF05A-NEWKO' it

' '

' ' 'DKACB-FMORE' 'X

0',
ab-hkont,
**
' '

' '

' ' 'BDC_OKCODE' '/0',


' '

',
' ' ' ' ' ' 'BDC_OKCODE' '=ENTE',
'SAPLKACB' '0002' 'X' ' '
'
',
' ' ' ' ' ' 'BDC_CURSOR' 'COBL-ANLN1'
,
' ' ' ' ' ' 'BDC_OKCODE' '=COBL_XERGO
',
*
*
O',

' ' ' ' ' ' 'BDC_OKCODE' '=ENTE',


' ' ' ' ' ' 'BDC_OKCODE' '=COBL_XERG
'SAPLKEAK' '0300' 'X' ' '

'

',
' ' ' ' ' ' 'BDC_CURSOR' 'RKEAK-FIELD
(13)',
' ' ' ' ' ' 'BDC_OKCODE' 'P+',
' ' ' ' ' ' 'RKEAK-FIELD(13)' itab-pr
ctr,

'SAPLKEAK' '0300' 'X' ' '

'

',
' ' ' ' ' ' 'BDC_CURSOR' 'RKEAK-FIELD
(14)',
' ' ' ' ' ' 'BDC_OKCODE' '=WEIT',
' ' ' ' ' ' 'RKEAK-FIELD(13)' itab-pa
ph1,
' ' ' ' ' ' 'RKEAK-FIELD(14)' itab-pa
ph2,
'SAPLKACB' '0002' 'X' ' '

'

',
' ' ' ' ' ' 'BDC_CURSOR' 'COBL-ANLN1'
,
' ' ' ' ' ' 'BDC_OKCODE' '=ENTE'.
IF NOT lv_n = lv_n1.
PERFORM bdc_construct
' ',

USING :

'SAPMF05A' '0300' 'X' ' '


' ' ' ' ' ' 'BDC_CURSOR' 'BSEG-

WRBTR',
' ' ' ' ' ' 'BDC_OKCODE' '=RW',
' ' ' ' ' ' 'DKACB-FMORE' 'X'.
ENDIF.
*
' ' ' ' ' ' 'BDC_CURSOR' '/0'.
*
*
********************************************************************************
*********
**
'SAPMF05A' '0300' 'X' ' '
' ',
**
' ' ' ' ' ' 'BDC_CURSOR' 'BSEG-WRBT
R',
**
' ' ' ' ' ' 'BDC_OKCODE' '=RW',
**
' ' ' ' ' ' 'DKACB-FMORE' 'X',
**
'SAPLKACB' '0002' 'X' ' '
' ',
**
' ' ' ' ' ' 'BDC_CURSOR' 'COBL-ANLN
1',
**
' ' ' ' ' ' 'BDC_OKCODE' '=ENTE',
**
'SAPMF05A' '0700' 'X' ' '
' ',
**
' ' ' ' ' ' 'BDC_CURSOR' 'RF05A-NEW
BS',
**
' ' ' ' ' ' 'BDC_OKCODE' '=BU',
*
*
*
**
'SAPMF05A' '0330' 'X' ' '
' ',
**
' ' ' ' ' ' 'BDC_CURSOR' 'BSEG-ABPE
R',
**
' ' ' ' ' ' 'BDC_OKCODE' '=RW',
**
'SAPMF05A' '0700' 'X' ' '
' ',
**
' ' ' ' ' ' 'BDC_CURSOR' 'RF05A-NEW
BS',
**
' ' ' ' ' ' 'BDC_OKCODE' '=BU',
**
'SAPLSPO1' '0200' 'X' ' '
' ',
**
' ' ' ' ' ' 'BDC_OKCODE' '=YES'.
*

*
ENDIF.
***&-- End of insert Kiran 09/10/2013 CR107615
ENDLOOP.
*
PERFORM bdc_construct USING:
' ' ' ' ' ' 'BDC_OKCODE' '=ENTE',
' '
' '
' ' 'BDC_OKCODE' '/11'.
IF
itab-hkont(1) = '7'.
PERFORM bdc_construct USING:
' ' ' ' ' ' 'BDC_OKCODE' '=ENTE',
' ' ' ' ' ' 'BDC_OKCODE' '=ENTE',
' ' ' ' ' ' 'BDC_OKCODE' '=ENTE',
'SAPMF05A' '0300' 'X' ' '
' ',
' ' ' ' ' ' 'BDC_CURSOR' 'BSEG-WRBT
R',
' ' ' ' ' ' 'BDC_OKCODE' '=RW',
' ' ' ' ' ' 'DKACB-FMORE' 'X',
'SAPLKACB' '0002' 'X' ' '
' ',
' ' ' ' ' ' 'BDC_CURSOR' 'COBL-ANLN
1',
' ' ' ' ' ' 'BDC_OKCODE' '=ENTE',
'SAPLKACB' '0002' 'X' ' '
' ',
' ' ' ' ' ' 'BDC_CURSOR' 'COBL-ANLN1'
,
' ' ' ' ' ' 'BDC_OKCODE' '=ENTE',
'SAPLKACB' '0002' 'X' ' '
'
',
' ' ' ' ' ' 'BDC_CURSOR' 'COBL-ANLN1'
,
' ' ' ' ' ' 'BDC_OKCODE' '=ENTE',
'SAPMF05A' '0700' 'X' ' '
' ',
*
' ' ' ' ' ' 'BDC_CURSOR' 'RF05A-NE
WBS',
' '
' '
' ' 'BDC_OKCODE' '
/11'.
*
' ' ' ' ' ' 'BDC_OKCODE' '=BU',
*
' ' ' ' ' ' 'BDC_OKCODE' '=YES'.
*
'SAPLSPO1' '0200' 'X' ' '
' ',
*
' ' ' ' ' ' 'BDC_OKCODE' '=YES'.
ENDIF.
* PERFORM bdc_construct USING:
*
' '
' '
' ' 'BDC_OKCODE' '/11'.
REFRESH messtab.
CALL TRANSACTION 'F-02' USING bdc_table MODE p_upmode
UPDATE 'S'
MESSAGES INTO messtab.
WRITE: / tp_xblnr, 20 tp_bktxt.
IF sy-subrc NE 0.
WRITE: 50 'Error in Posting document:'.
LOOP AT messtab WHERE msgtyp = 'E' OR msgtyp = 'A'
OR msgtyp = 'S'.
SELECT SINGLE * FROM t100 WHERE sprsl = sy-langu
AND arbgb = messtab-msgid

AND msgnr = messtab-msgnr.


CLEAR tp_text.
MOVE t100-text TO tp_text.
IF messtab-msgv1 <> ' '.
len = STRLEN( messtab-msgv1 ).
ASSIGN messtab-msgv1+0(len) TO <tp_msgv>.
REPLACE '&' WITH <tp_msgv> INTO tp_text.
ENDIF.
IF messtab-msgv2 <> ' '.
len = STRLEN( messtab-msgv2 ).
ASSIGN messtab-msgv2+0(len) TO <tp_msgv>.
REPLACE '&' LENGTH len WITH <tp_msgv> INTO tp_text.
ENDIF.
IF messtab-msgv3 <> ' '.
len = STRLEN( messtab-msgv3 ).
ASSIGN messtab-msgv3+0(len) TO <tp_msgv>.
REPLACE '&' WITH <tp_msgv> INTO tp_text.
ENDIF.
IF messtab-msgv4 <> ' '.
len = STRLEN( messtab-msgv4 ).
ASSIGN messtab-msgv4+0(len) TO <tp_msgv>.
REPLACE '&' WITH <tp_msgv> INTO tp_text.
ENDIF.
WRITE : /50 tp_text.
ENDLOOP.
ELSEIF sy-subrc EQ 0.
READ TABLE messtab WITH KEY msgid = 'F5' msgnr = '312'.
posted_doc = messtab-msgv1+0(10).
WRITE: 50 'Document', posted_doc, ' posted successfully'.
ENDIF.
****** Post the last document
* PERFORM bdc_construct USING:
*
' '
' '
' ' 'BDC_OKCODE' '/11'.
*
* REFRESH messtab.
* CALL TRANSACTION 'F-02' USING bdc_table MODE p_upmode
*
UPDATE 'S'
*
MESSAGES INTO messtab.
*
* WRITE: / tp_xblnr, 20 tp_bktxt.
* IF sy-subrc NE 0.
*
WRITE: 50 'Error in Posting document:'.
*
LOOP AT messtab WHERE msgtyp = 'E' OR msgtyp = 'A'
*
OR msgtyp = 'S'.
*
SELECT SINGLE * FROM t100 WHERE sprsl = sy-langu
*
AND arbgb = messtab-msgid
*
AND msgnr = messtab-msgnr.
*
CLEAR tp_text.
*
MOVE t100-text TO tp_text.
*
IF messtab-msgv1 <> ' '.
*
len = STRLEN( messtab-msgv1 ).
*
ASSIGN messtab-msgv1+0(len) TO <tp_msgv>.
*
REPLACE '&' WITH <tp_msgv> INTO tp_text.
*
ENDIF.
*
IF messtab-msgv2 <> ' '.
*
len = STRLEN( messtab-msgv2 ).
*
ASSIGN messtab-msgv2+0(len) TO <tp_msgv>.
*
REPLACE '&' WITH <tp_msgv> INTO tp_text.

*
ENDIF.
*
IF messtab-msgv3 <> ' '.
*
len = STRLEN( messtab-msgv3 ).
*
ASSIGN messtab-msgv3+0(len) TO <tp_msgv>.
*
REPLACE '&' WITH <tp_msgv> INTO tp_text.
*
ENDIF.
*
IF messtab-msgv4 <> ' '.
*
len = STRLEN( messtab-msgv4 ).
*
ASSIGN messtab-msgv4+0(len) TO <tp_msgv>.
*
ENDIF.
*
WRITE : /50 tp_text.
*
ENDLOOP.
* ELSEIF sy-subrc EQ 0.
*
READ TABLE messtab WITH KEY msgid = 'F5' msgnr = '312'.
*
posted_doc = messtab-msgv1+0(10).
*
WRITE: 50 'Document', posted_doc, ' posted successfully'.
* ENDIF.
****** End posting document
ENDFORM.

"POST_DOC

*&---------------------------------------------------------------------*
*&
Form BDC_CONSTRUCT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
*
-->PROGRAM
text
*
-->DYNPRO
text
*
-->DYNBEGIN text
*
-->FNAM
text
*
-->FVAL
text
*----------------------------------------------------------------------*
FORM bdc_construct USING program dynpro dynbegin fnam fval.
CLEAR bdc_table.
bdc_table-program = program.
bdc_table-dynpro = dynpro.
bdc_table-dynbegin = dynbegin.
bdc_table-fnam
= fnam.
bdc_table-fval
= fval.
APPEND bdc_table.
ENDFORM.
" BDC_INSERT
TOP-OF-PAGE.
WRITE: / 'Reference Doc.',
20 'Header Text',
50 'Posting Result'.
ULINE.
*&---------------------------------------------------------------------*
*&
Form F_REM_SPEC_CHAR
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
*
<--P_ITAB_SGTXT text
*----------------------------------------------------------------------*
FORM f_rem_spec_char CHANGING p_sgtxt TYPE sgtxt.
* DATA lv_txt TYPE char100.
* MOVE p_sgtxt TO lv_txt.
DATA: char TYPE string.

*
*
*
*
*
*
*
*
*
*

condense lv_txt.
CALL FUNCTION 'ES_REMOVE_SPECIAL_CHARACTER'
EXPORTING
text1
= lv_txt
IMPORTING
corr_string = lv_txt.
MOVE lv_txt TO p_sgtxt.
TRANSLATE p_sgtxt USING '# '.
CONDENSE p_sgtxt.

CALL FUNCTION 'CHECK_STRING_SPEC_CHARACTERS'


EXPORTING
string
= p_sgtxt
IMPORTING
character
= char
* ERRORFLAG
=
.
ENDFORM.

" F_REM_SPEC_CHAR

You might also like