FB01 Batch Input withholding tax
Hi Everyboy
Does anybody can post an example of a batch-input of FB01, including the withholding tax window? I am making one, but it is not possible to put the data in withholding tax window and I really dont know why. Any idea?
Thanks in advande for your help.
Best regards.
Dear Mario,
First of all are you able to put the data when you are posting normally (without recording). If yes, you should be able to put the data in withholding tax window in recording as well.
Let me know with more details such as:
1. Are you not able to see the window while recording.
2. Is the window not input enabled while recording.
Regards,
Naveen.
Similar Messages
-
RFBIBL00 for FB01 - BATCH INPUT ERROR
Hi,
When am trying to post from foreground i found an error
"Field DKACB-XERGO. does not exist in the screen SAPLKACB-0002"
such errors come for only certain GL account, could you provide me a solution?Hi Dear,
Call Rfbibl00 in you program and submit your structure to rfbibl00. Here is the sample code....c how i have submitted in back ground i have given commenting in code it will b easier for you.
Still issues feel free to ask.
Reward for program
DATA :w_t001 LIKE t001,
w_gjahr LIKE bkpf-gjahr,
w_poper LIKE t009b-poper,
BEGIN OF it_input1 OCCURS 0,
data(10000),
END OF it_input1,
separator(1) TYPE c VALUE ';',
input_line(10000),
count TYPE i,
i_lines TYPE i,
BEGIN OF it_input OCCURS 0,
ind(1), " indicator for feild
bldat(8), " DOC DATE
blart(2), " DOC TYPE
bukrs(4), " COMPANY CODE
budat(8), " POSTING DATE
waers(5), " CURRENCY
xblnr(16), " HEADER REF
bktxt(25), " HEADER TXT
newbs(2), " POSTING KEY
newko(17), " ACCOUNT
newum(1), " SPL GL INDICATOR
wrbtr(13), " AMOUNT IN FOR CURRENCY
dmbtr(13), " AMOUNT IN LOCAL CURRENCY
zterm(4), " PAYAMENT TERMS
zfbdt(10), " BASE LINE DATE
wt_wit(2), " WITH TAXCODE
wt_qs(15), " WITH TAXCODE
wt_qb(15), " WITH TAXAMOUNT
mwskz(2), " TAXCODE
bupla(4), " BUSINESS PLACE
newbk(4), " LINE ITEM COMAPNY CODE
kostl(10), " COSTCENTER
aufnr(12), " INTERNAL ORDER
prctr(10), " PROFIT CENTER
pernr(8), " PERSONAL NUMBER
zuonr(18), " ASSIGNMENT
xref1(12), " REF1
xref2(12), " REF2
xref3(20), " REF3
sgtxt(50), " LINE TEXT
END OF it_input,
it_tmp_input LIKE it_input OCCURS 0 WITH HEADER LINE.
DATA : file TYPE string,
file1 TYPE string.
path on which error and complete directories are placed
DATA : w_path_err(100) TYPE c VALUE '\usr\sap\DEV\interfaces\ERROR\',
w_path_comp(100) TYPE c VALUE '\usr\sap\DEV\interfaces\COMPLETE\',
w_path_capinv(200) TYPE c VALUE '\usr\sap\DEV\interfaces\IN\SETDDN\',
w_path_capinv1(200) TYPE c, "contains the path of the file in the its original directory eg SETDDN
w_path_capinv2(200) TYPE c, "contains the path of the error file in the error directory eg ERROR
w_path_capinv3(200) TYPE c. "contains the path of the file in the complete directory eg COMPLETE
type declaration for headerref
TYPES : BEGIN OF ty_input_err,
xblnr(16), " HEADER REF
item_no(4),
err_text(500),
END OF ty_input_err.
DATA : it_input_err TYPE STANDARD TABLE OF ty_input_err,
wa_input_err LIKE LINE OF it_input_err.
variables for validations
DATA : w_post TYPE c,
w_xblnr TYPE bkpf-xblnr,
w_wrbtr TYPE i,
w_wrbtr1 TYPE i,
w_wrbtr2 TYPE i,
w_newko(10) TYPE c,
w_count1 TYPE n.
DATA :
w_path LIKE rlgrap-filename,
w_file LIKE rlgrap-filename,
w_dir LIKE rlgrap-filename,
w_dir1 LIKE epsf-epsdirnam,
w_file1 LIKE epsf-epsfilnam,
w_flag TYPE i,
w_budat TYPE budat,
w_flag_s TYPE c,
w_file_comp LIKE rlgrap-filename.
DATA : BEGIN OF it_file OCCURS 0.
INCLUDE STRUCTURE epsfili.
DATA: END OF it_file.
FIELD-SYMBOLS: <fs>.
DATA: BEGIN OF bdcdata OCCURS 100.
INCLUDE STRUCTURE bdcdata.
DATA: END OF bdcdata.
DATA : BEGIN OF it_data OCCURS 0,
f1(10000),
END OF it_data.
DATA : wa_bgr00 LIKE bgr00,
wa_bbkpf LIKE bbkpf,
wa_bbkpf1 LIKE bbkpf,
wa_bbseg LIKE bbseg,
w_param_1 LIKE filename-fileintern,
x_file(500),
w_move_file LIKE epsf-epsfilnam,
w_from_dir LIKE epsf-epsdirnam.
type declaration for validations
TYPES : BEGIN OF ty_blart,
blart TYPE t003-blart,
END OF ty_blart.
TYPES : BEGIN OF ty_xblnr,
xblnr TYPE bkpf-xblnr,
END OF ty_xblnr.
TYPES : BEGIN OF ty_mwskz,
mwskz TYPE t007a-mwskz,
END OF ty_mwskz.
TYPES : BEGIN OF ty_qsskz,
qsskz TYPE t059q-qsskz,
END OF ty_qsskz.
TYPES : BEGIN OF ty_zterm,
zterm TYPE t052-zterm,
END OF ty_zterm.
TYPES : BEGIN OF ty_bschl,
bschl TYPE tbsl-bschl,
END OF ty_bschl.
TYPES : BEGIN OF ty_umskz,
umskz TYPE t074u-umskz,
END OF ty_umskz.
TYPES : BEGIN OF ty_prctr,
prctr TYPE cepc-prctr,
END OF ty_prctr.
TYPES : BEGIN OF ty_kostl,
kostl TYPE csks-kostl,
END OF ty_kostl.
TYPES : BEGIN OF ty_branch,
branch TYPE j_1bbranch-branch,
END OF ty_branch.
TYPES : BEGIN OF ty_seccode,
seccode TYPE seccode-seccode,
END OF ty_seccode.
TYPES : BEGIN OF ty_tbsl,
bschl TYPE tbsl-bschl,
shkzg TYPE tbsl-shkzg,
END OF ty_tbsl.
TYPES : BEGIN OF ty_aufnr,
aufnr TYPE aufk-aufnr,
END OF ty_aufnr.
TYPES : BEGIN OF ty_pernr,
pernr TYPE pa0001-pernr,
END OF ty_pernr.
TYPES : BEGIN OF ty_ska1,
saknr TYPE ska1-saknr,
END OF ty_ska1.
TYPES : BEGIN OF ty_lfa1,
lifnr TYPE lfb1-lifnr,
bukrs TYPE lfb1-bukrs,
END OF ty_lfa1.
internal table declaration for validation
DATA : it_blart TYPE STANDARD TABLE OF ty_blart,
it_mwskz TYPE STANDARD TABLE OF ty_mwskz,
it_umskz TYPE STANDARD TABLE OF ty_umskz,
it_xblnr TYPE STANDARD TABLE OF ty_xblnr,
it_qsskz TYPE STANDARD TABLE OF ty_qsskz,
it_zterm TYPE STANDARD TABLE OF ty_zterm,
it_bschl TYPE STANDARD TABLE OF ty_bschl,
it_prctr TYPE STANDARD TABLE OF ty_prctr,
it_kostl TYPE STANDARD TABLE OF ty_kostl,
it_branch TYPE STANDARD TABLE OF ty_branch,
it_seccode TYPE STANDARD TABLE OF ty_seccode,
it_tbsl TYPE STANDARD TABLE OF ty_tbsl,
it_aufnr TYPE STANDARD TABLE OF ty_aufnr,
it_pernr TYPE STANDARD TABLE OF ty_pernr,
it_ska1 TYPE STANDARD TABLE OF ty_ska1,
it_lifnr TYPE STANDARD TABLE OF ty_lfa1.
DATA : wa_it_tbsl LIKE LINE OF it_tbsl.
DATA : w_date TYPE sy-datum,
w_check TYPE c ,
w_item_no TYPE i.
CONSTANTS : c_under TYPE c VALUE '_',
c_ext(4) TYPE c VALUE '.txt'.
Input file
SELECTION-SCREEN BEGIN OF BLOCK inp WITH FRAME TITLE text-001.
PARAMETERS :
pr_serv RADIOBUTTON GROUP abc DEFAULT 'X',
pr_sfile TYPE filename-fileintern,
pr_lok RADIOBUTTON GROUP abc,
pr_lfile TYPE filename-fileextern.
SELECTION-SCREEN END OF BLOCK inp.
--- output
SELECTION-SCREEN BEGIN OF BLOCK out WITH FRAME TITLE text-002.
PARAMETERS : pr_group LIKE bgr00-group OBLIGATORY DEFAULT '1000EXPENSE', " batch input structure for sessiondata
pr_xkeep LIKE bgr00-xkeep DEFAULT 'X' NO-DISPLAY,
pr_max(4) TYPE n DEFAULT '8000',
callmode LIKE rfpdo-rfbifunct , " Function for Generating Posting
pr_nodta LIKE bgr00-nodata DEFAULT '/' NO-DISPLAY,
pr_out LIKE rlgrap-filename,
pr_err LIKE rlgrap-filename.
SELECTION-SCREEN END OF BLOCK out.
Company code and currency
SELECTION-SCREEN BEGIN OF BLOCK def WITH FRAME TITLE text-003.
PARAMETERS : pr_bukrs LIKE t001-bukrs,
pr_waers LIKE bkpf-waers.
SELECTION-SCREEN END OF BLOCK def.
Read file from server
PERFORM f001_upload_file.
*& Form create_doc
text
--> p1 text
<-- p2 text
FORM f003_create_doc.
DATA : l_count TYPE i.
DATA : w_session TYPE i.
CLEAR w_flag_s.
CLEAR l_count.
LOOP AT it_input.
IF l_count = 0 AND w_flag_s NE 'X'.
REFRESH it_data.
ENDIF.
*Commented code for background processing
IF it_data[] IS INITIAL.
PERFORM bdc_bgr00.
IF NOT w_session IS INITIAL.
APPEND wa_bbkpf1 TO it_data.
APPEND it_data.
MOVE 'X' TO w_flag_s.
ENDIF.
ENDIF.
IF NOT it_input-ind IS INITIAL.
ADD 1 TO l_count.
PERFORM header_record.
PERFORM item_record.
CLEAR w_flag_s.
ELSE.
PERFORM item_record.
ENDIF.
IF l_count > 18 .
PERFORM save_on_server.
PERFORM post_document.
ADD 1 TO w_session.
l_count = 0.
REFRESH it_data.
ENDIF.
ENDLOOP.
IF NOT it_data[] IS INITIAL.
PERFORM save_on_server.
PERFORM post_document.
ENDIF.
*moving the file name to temporary variable.
CONCATENATE w_path_comp it_file-name INTO w_path_capinv3.
OPEN DATASET w_path_capinv3 FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
*w_path_capinv2 contains the path of the error file.
*so all of the content of it_input is tranfered to file which is stored in the error.
LOOP AT it_input.
TRANSFER it_input TO w_path_capinv3 .
IF sy-subrc NE 0.
MESSAGE i001(mg) WITH w_path_capinv3 . " error writing to sequential file
MESSAGE a099(mg). " processing terminated
ENDIF.
ENDLOOP.
CLOSE DATASET w_path_capinv3.
CLEAR w_path_capinv3.
*After successful posting of the file that file is deleted form its original directory.
CONCATENATE w_path_capinv it_file-name INTO w_path_capinv1.
DELETE DATASET w_path_capinv1.
CLEAR w_path_capinv1.
-------------- save file on appl. server -----------------
perform save_on_server.
-------------- call RFBIBL00 -----------------------------
perform call_rfbibl00.
ENDFORM. " create_doc
*& Form header_record
text
--> p1 text
<-- p2 text
FORM header_record.
PERFORM fill_in_nodata_character CHANGING wa_bbkpf.
wa_bbkpf-stype = '1'.
wa_bbkpf-tcode = 'FB01'.
Check the file is for the valid company code.
SELECT SINGLE * INTO w_t001 FROM t001
WHERE bukrs EQ pr_bukrs.
IF sy-subrc NE 0.
MESSAGE a899 WITH text-021 pr_bukrs.
ENDIF.
Determine period
CALL FUNCTION 'FI_PERIOD_DETERMINE'
EXPORTING
i_budat = sy-datum
i_bukrs = pr_bukrs
IMPORTING
e_gjahr = w_gjahr
e_poper = w_poper
EXCEPTIONS
fiscal_year = 1
period = 2
period_version = 3
posting_period = 4
special_period = 5
version = 6
posting_date = 7
OTHERS = 8.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
wa_bbkpf-bukrs = pr_bukrs.
Document type
IF NOT it_input-blart IS INITIAL.
wa_bbkpf-blart = it_input-blart.
ENDIF.
Document date and Posting date.
IF NOT it_input-budat IS INITIAL.
wa_bbkpf-budat = it_input-budat.
ENDIF.
*new changes for background.
MOVE it_input-budat TO w_budat.
*end change.
IF NOT it_input-bldat IS INITIAL.
wa_bbkpf-bldat = it_input-bldat.
ENDIF.
Reference document number
IF NOT it_input-xblnr IS INITIAL.
wa_bbkpf-xblnr = it_input-xblnr.
ENDIF.
Currency
wa_bbkpf-waers = pr_waers.
wa_bbkpf-kursf = it_input-kursf.
IF NOT it_input-bktxt IS INITIAL.
wa_bbkpf-bktxt = it_input-bktxt.
ENDIF.
APPEND wa_bbkpf TO it_data.
MOVE wa_bbkpf TO wa_bbkpf1.
ENDFORM. " header_record
*& Form item_record
text
--> p1 text
<-- p2 text
FORM item_record.
Fill BBSEG with no data character .
PERFORM fill_in_nodata_character CHANGING wa_bbseg.
wa_bbseg-stype = '2'.
wa_bbseg-tbnam = 'BBSEG'.
IF NOT it_input-newbs IS INITIAL.
wa_bbseg-newbs = it_input-newbs.
ENDIF.
IF NOT it_input-newko IS INITIAL.
wa_bbseg-newko = it_input-newko.
ENDIF.
IF NOT it_input-newum IS INITIAL.
wa_bbseg-newum = it_input-newum.
ENDIF.
IF NOT it_input-wrbtr IS INITIAL.
wa_bbseg-wrbtr = it_input-wrbtr.
ENDIF.
IF NOT it_input-dmbtr IS INITIAL.
wa_bbseg-dmbtr = it_input-dmbtr.
ENDIF.
IF NOT it_input-zterm IS INITIAL.
wa_bbseg-zterm = it_input-zterm.
ENDIF.
IF NOT it_input-zfbdt IS INITIAL.
wa_bbseg-zfbdt = it_input-zfbdt.
ENDIF.
wa_bbseg-zfbdt = w_budat.
IF NOT it_input-wt_wit IS INITIAL.
wa_bbseg-qsskz = it_input-wt_wit.
ENDIF.
IF NOT it_input-wt_qs IS INITIAL.
wa_bbseg-qsshb = it_input-wt_qs.
ENDIF.
IF NOT it_input-wt_qb IS INITIAL.
wa_bbseg-qsfbt = it_input-wt_qb.
ENDIF.
IF NOT it_input-mwskz IS INITIAL.
wa_bbseg-mwskz = it_input-mwskz.
ENDIF.
IF NOT it_input-bupla IS INITIAL.
wa_bbseg-bupla = it_input-bupla.
ENDIF.
IF it_input-ind IS INITIAL AND NOT it_input-newbk IS INITIAL.
wa_bbseg-newbk = it_input-newbk.
ENDIF.
IF NOT it_input-kostl IS INITIAL.
wa_bbseg-kostl = it_input-kostl.
ENDIF.
IF NOT it_input-aufnr IS INITIAL.
wa_bbseg-aufnr = it_input-aufnr.
ENDIF.
Changes for background processing
IF it_input-newbs NE '34' AND it_input-newbs NE '24'.
IF NOT it_input-prctr IS INITIAL.
wa_bbseg-prctr = it_input-prctr.
ENDIF.
ENDIF.
end of changes.
IF NOT it_input-pernr IS INITIAL.
wa_bbseg-pernr = it_input-pernr.
ENDIF.
IF NOT it_input-zuonr IS INITIAL.
wa_bbseg-zuonr = it_input-zuonr.
ENDIF.
IF NOT it_input-xref1 IS INITIAL.
wa_bbseg-xref1 = it_input-xref1.
ENDIF.
IF NOT it_input-xref2 IS INITIAL.
wa_bbseg-xref2 = it_input-xref2.
ENDIF.
IF NOT it_input-xref3 IS INITIAL.
wa_bbseg-xref3 = it_input-xref3.
ENDIF.
IF NOT it_input-wrbtr IS INITIAL.
wa_bbseg-sgtxt = it_input-sgtxt.
ENDIF.
APPEND wa_bbseg TO it_data.
ENDFORM. " item_record
*& Form post_document
text
--> p1 text
<-- p2 text
FORM post_document.
PERFORM call_rfbibl00.
ENDFORM. " post_document
*& Form upload_file
text
--> p1 text
<-- p2 text
FORM f001_upload_file.
IF pr_serv = 'X'.
MOVE '*' TO w_param_1.
CONCATENATE sy-datum '_' '*' INTO w_param_1.
PERFORM get_file_name USING pr_sfile w_param_1.
CHANGING x_file.
LOOP AT it_file WHERE name CP w_file1.
CLEAR : x_file, w_path,
w_move_file, w_from_dir.
REFRESH : it_input,
it_input_err.
IF w_flag IS INITIAL.
CONCATENATE w_dir it_file-name INTO x_file.
CONDENSE x_file.
TO Move file from sever for backup storing the file name and path
w_path = x_file.
CALL FUNCTION 'TRINT_SPLIT_FILE_AND_PATH'
EXPORTING
full_name = x_file
IMPORTING
stripped_name = w_move_file
file_path = w_from_dir
EXCEPTIONS
x_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
PERFORM read_file TABLES it_input
USING x_file.
PERFORM next_steps.
CLEAR it_input_err.
REFRESH it_input.
ENDLOOP.
ELSE.
DATA : w_string TYPE string.
w_string = pr_lfile.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = w_string
filetype = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
TABLES
data_tab = it_input1
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
OTHERS = 17
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
LOOP AT it_input1 INTO input_line.
CLEAR: it_input, count.
DO.
ADD 1 TO count.
ASSIGN COMPONENT count OF STRUCTURE it_input TO <fs>.
IF sy-subrc = 0.
SPLIT input_line AT separator INTO <fs> input_line.
ELSE.
EXIT.
ENDIF.
ENDDO.
APPEND it_input.
ENDLOOP.
PERFORM next_steps.
CLEAR it_input_err.
REFRESH it_input.
ENDIF.
ENDFORM. " upload_file
*& Form bdc_header
text
*& Form bdc_dynpro
text
-->P_0956 text
-->P_0957 text
FORM bdc_dynpro USING program dynpro.
CLEAR bdcdata.
bdcdata-program = program.
bdcdata-dynpro = dynpro.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.
ENDFORM. " bdc_dynpro
*& Form bdc_field
text
-->P_0961 text
-->P_0962 text
FORM bdc_field USING fnam fval.
CLEAR bdcdata.
bdcdata-fnam = fnam.
bdcdata-fval = fval.
IF bdcdata-fval NE space.
APPEND bdcdata.
ENDIF.
ENDFORM. " bdc_field
*& Form bdc_items
text
*& Form fill_in_nodata_character
text
<--P_WA_BBKPF text
FORM fill_in_nodata_character CHANGING p_struc.
FIELD-SYMBOLS: <nodata_field>.
DATA: num TYPE i.
DO.
ADD 1 TO num.
ASSIGN COMPONENT num OF STRUCTURE p_struc TO <nodata_field>.
IF sy-subrc = 0.
<nodata_field> = pr_nodta.
ELSE.
EXIT.
ENDIF.
ENDDO.
ENDFORM. " fill_in_nodata_character
*& Form bdc_bgr00
text
--> p1 text
<-- p2 text
FORM bdc_bgr00.
PERFORM fill_in_nodata_character CHANGING wa_bgr00.
wa_bgr00-stype = '0'.
wa_bgr00-group = pr_group.
wa_bgr00-mandt = sy-mandt.
wa_bgr00-usnam = sy-uname.
wa_bgr00-start = sy-datum.
wa_bgr00-xkeep = pr_xkeep.
APPEND wa_bgr00 TO it_data.
ENDFORM. " bdc_bgr00
*& Form save_on_server
text
--> p1 text
<-- p2 text
FORM save_on_server.
MOVE sy-datum TO w_date.
CLEAR w_file_comp.
w_file_comp = pr_out.
CONCATENATE w_path_comp pr_out c_under w_date c_ext INTO pr_out.
OPEN DATASET pr_out FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
LOOP AT it_data.
TRANSFER it_data TO pr_out.
IF sy-subrc NE 0.
MESSAGE i001(mg) WITH pr_out. " error writing to sequential file
MESSAGE a099(mg). " processing terminated
ENDIF.
ENDLOOP.
CLOSE DATASET pr_out.
FREE it_data.
ENDFORM. " save_on_server
*& Form call_rfbibl00
text
--> p1 text
<-- p2 text
FORM call_rfbibl00.
Submit file after mapping the data to RFBIBL00
SUBMIT rfbibl00 WITH ds_name = pr_out
WITH callmode = callmode
WITH xlog = 'X'
WITH max_comm = pr_max
WITH pa_xprot = 'X'
AND RETURN.
pr_out = w_file_comp.
ENDFORM. " call_rfbibl00
*& Form get_file_name
text
-->P_P_SFILE text
-->P_W_PARAM_1 text
FORM get_file_name USING p_sfile
w_param_1.
CHANGING x_file.
CALL FUNCTION 'FILE_GET_NAME'
EXPORTING
client = sy-mandt
logical_filename = p_sfile
parameter_1 = w_param_1
IMPORTING
file_name = x_file
EXCEPTIONS
file_not_found = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
w_path = x_file.
CALL FUNCTION 'TRINT_SPLIT_FILE_AND_PATH'
EXPORTING
full_name = w_path
IMPORTING
stripped_name = w_file
file_path = w_dir
EXCEPTIONS
x_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
w_dir1 = w_dir.
w_file1 = w_file.
CALL FUNCTION 'EPS_GET_DIRECTORY_LISTING'
EXPORTING
dir_name = w_dir1
file_mask = w_file1
TABLES
dir_list = it_file
EXCEPTIONS
invalid_eps_subdir = 1
sapgparam_failed = 2
build_directory_failed = 3
no_authorization = 4
read_directory_failed = 5
too_many_read_errors = 6
empty_directory_list = 7
OTHERS = 8.
IF sy-subrc <> 0.
WRITE : / text-022.
ENDIF.
LOOP AT it_file WHERE name CP w_file1.
IF w_flag IS INITIAL.
CONCATENATE w_dir it_file-name INTO x_file.
CONDENSE x_file.
w_flag = 1.
ELSE.
EXIT.
ENDIF.
ENDLOOP.
ENDFORM. " get_file_name
*& Form read_file
text
-->P_X_FILE text
FORM read_file TABLES it_tab
USING x_file.
OPEN DATASET x_file FOR INPUT IN TEXT MODE ENCODING DEFAULT.
IF sy-subrc NE 0.
WRITE : / text-023.
ELSE.
DO.
READ DATASET x_file INTO input_line.
IF sy-subrc = 0.
CLEAR: it_input, count.
DO.
ADD 1 TO count.
ASSIGN COMPONENT count OF STRUCTURE it_tab TO <fs>.
IF sy-subrc = 0.
SPLIT input_line AT separator INTO <fs> input_line.
ELSE.
EXIT.
ENDIF.
ENDDO.
APPEND it_tab.
ELSE.
EXIT.
ENDIF.
ENDDO.
ENDIF.
CLOSE DATASET x_file.
ENDFORM. " read_file
*& Form validate
text
--> p1 text
<-- p2 text
FORM f002_validate .
SELECT blart
FROM t003
INTO TABLE it_blart.
IF sy-subrc NE 0.
CLEAR it_blart.
ENDIF.
SELECT saknr
FROM ska1
INTO TABLE it_ska1.
IF sy-subrc NE 0.
CLEAR it_ska1.
ENDIF.
SELECT lifnr
FROM lfa1
INTO TABLE it_lifnr.
IF sy-subrc NE 0.
CLEAR it_lifnr.
ENDIF.
SELECT mwskz
FROM t007a
INTO TABLE it_mwskz.
IF sy-subrc NE 0.
CLEAR it_mwskz.
ENDIF.
SELECT qsskz
FROM t059q
INTO TABLE it_qsskz.
IF sy-subrc NE 0.
CLEAR it_qsskz.
ENDIF.
SELECT zterm
FROM t052
INTO TABLE it_zterm.
IF sy-subrc NE 0.
CLEAR it_zterm.
ENDIF.
SELECT bschl
FROM tbsl
INTO TABLE it_bschl.
IF sy-subrc NE 0.
CLEAR it_bschl.
ENDIF.
SELECT umskz
FROM t074u
INTO TABLE it_umskz.
IF sy-subrc NE 0.
CLEAR it_umskz.
ENDIF.
SELECT DISTINCT xblnr
FROM bkpf
INTO TABLE it_xblnr.
IF sy-subrc NE 0.
CLEAR it_xblnr.
ENDIF.
SELECT prctr
FROM cepc
INTO TABLE it_prctr.
IF sy-subrc NE 0.
CLEAR it_prctr.
ENDIF.
SELECT kostl
FROM csks
INTO TABLE it_kostl.
IF sy-subrc NE 0.
CLEAR it_kostl.
ENDIF.
SELECT branch
FROM j_1bbranch
INTO TABLE it_branch.
IF sy-subrc NE 0.
CLEAR it_branch.
ENDIF.
SELECT seccode
FROM seccode
INTO TABLE it_seccode.
IF sy-subrc NE 0.
CLEAR it_seccode.
ENDIF.
SELECT bschl shkzg
FROM tbsl
INTO TABLE it_tbsl.
IF sy-subrc NE 0.
CLEAR it_tbsl.
ENDIF.
SELECT aufnr
FROM aufk
INTO TABLE it_aufnr.
IF sy-subrc NE 0.
CLEAR it_aufnr.
ENDIF.
SELECT pernr
FROM pa0001
INTO TABLE it_pernr.
IF sy-subrc NE 0.
CLEAR it_pernr.
ENDIF.
LOOP AT it_input.
CLEAR : wa_input_err,w_check.
AT NEW xblnr.
CLEAR w_item_no.
ENDAT.
AT NEW xblnr.
CLEAR w_wrbtr.
ENDAT.
w_wrbtr = w_wrbtr + it_input-wrbtr.
*checking the whether record is a header record or not.
IF NOT it_input-ind IS INITIAL.
CLEAR w_item_no.
*keeping the track of item number for error record.
w_item_no = w_item_no + 1.
*Checking the total amount in line item eq 0 or not.
IF w_wrbtr NE 0.
MOVE w_xblnr TO wa_input_err-xblnr.
CONCATENATE wa_input_err-err_text text-019 INTO wa_input_err-err_text SEPARATED BY space.
APPEND wa_input_err TO it_input_err.
ENDIF.
CLEAR : w_xblnr,w_wrbtr.
*Checking whether the record already posted or not.
READ TABLE it_xblnr
WITH KEY xblnr = it_input-xblnr
TRANSPORTING NO FIELDS.
*If record is already posted then al the line items related to that header are moved to
*the error directory saying that record already posted.
IF sy-subrc EQ 0.
MOVE it_input-xblnr TO wa_input_err-xblnr.
MOVE it_input-xblnr TO w_xblnr.
MOVE text-024 TO wa_input_err-err_text.
APPEND wa_input_err TO it_input_err.
*Setting the flag for keeping the track of the posted items.
MOVE 'X' TO w_post.
*Skipping the current record as it is already posted so no validation is done for that record.
CONTINUE.
*If the record is not posted then all the vaidation will be done and depending existanse in check table
*corresponding enrty is moved to the error table.
ELSE.
CLEAR w_post.
MOVE it_input-xblnr TO w_xblnr.
validations for document type
IF NOT it_input-blart IS INITIAL.
READ TABLE it_blart
WITH KEY blart = it_input-blart
TRANSPORTING NO FIELDS.
IF sy-subrc NE 0.
MOVE w_xblnr TO wa_input_err-xblnr.
MOVE w_item_no TO wa_input_err-item_no.
MOVE text-018 TO wa_input_err-err_text.
ENDIF.
ENDIF.
*validation for company code
IF pr_bukrs NE it_input-bukrs.
MOVE w_xblnr TO wa_input_err-xblnr.
MOVE w_item_no TO wa_input_err-item_no.
CONCATENATE wa_input_err-err_text text-005 INTO wa_input_err-err_text SEPARATED BY space.
ENDIF.
*validation for currency
IF pr_waers NE it_input-waers.
MOVE w_xblnr TO wa_input_err-xblnr.
MOVE w_item_no TO wa_input_err-item_no.
CONCATENATE wa_input_err-err_text text-006 INTO wa_input_err-err_text SEPARATED BY space.
ENDIF.
*validation for GL account number
IF NOT it_input-newko IS INITIAL.
MOVE it_input-newko TO w_newko.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = w_newko
IMPORTING
output = w_newko.
READ TABLE it_ska1
WITH KEY saknr = w_newko
TRANSPORTING NO FIELDS.
IF sy-subrc NE 0.
READ TABLE it_lifnr
WITH KEY lifnr = w_newko
bukrs = it_input-newbk
TRANSPORTING NO FIELDS.
IF sy-subrc NE 0.
MOVE w_xblnr TO wa_input_err-xblnr.
MOVE w_item_no TO wa_input_err-item_no.
CONCATENATE wa_input_err-err_text text-029 INTO wa_input_err-err_text.
ENDIF.
ENDIF.
ENDIF.
**validation for vendor account number
IF NOT it_input-newko IS INITIAL.
MOVE it_input-newko TO w_newko.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = w_newko
IMPORTING
output = w_newko.
READ TABLE it_lifnr
WITH KEY lifnr = w_newko
TRANSPORTING NO FIELDS.
IF sy-subrc NE 0.
MOVE w_xblnr TO wa_input_err-xblnr.
MOVE w_item_no TO wa_input_err-item_no.
CONCATENATE wa_input_err-err_text text-029 INTO wa_input_err-err_text SEPARATED BY space.
ENDIF.
ENDIF.
*validation for taxcode
IF NOT it_input-mwskz IS INITIAL.
READ TABLE it_mwskz
WITH KEY mwskz = it_input-mwskz
TRANSPORTING NO FIELDS.
IF sy-subrc NE 0.
MOVE w_xblnr TO wa_input_err-xblnr.
MOVE w_item_no TO wa_input_err-item_no.
-
Hello Friends,
With respect to withholding tax Iu2019m facing difficulty to map the below user requirement.
User want to incorporate the withholding tax (WHT) information at purchase order level, but in the purchase order we can't find any such provision to input withholding tax information.
Standard system behavior is that if vendor is subject to WHT, WHT can be calculated at invoice verification level.
We have to cater the below 2 scenarios, guys please provide your expert advice on this:
1. WHT information is to be maintained at PO so that the person making VIV will not commit any error in selecting the tax code or will not make the invoice without inputting the relevant WHT information to avoid invoice being created without WHT on invoices subject to WHT.
2. In a purchase order there are more then one line items some are subject to WHT and some are not, we want to capture the WHT on the items liable for WHT.
We know that WHT is not calculated on item level it is calculated at header level on vendor.
ThanksHi Sapref,
1. WHT information is to be maintained at PO so that the person making VIV will not commit any error in selecting the tax code or will not make the invoice without inputting the relevant WHT information to avoid invoice being created without WHT on invoices subject to WHT.
Ans : What you want to ensure at the P.O. level is actually controlled at the Vendor master level and whichever P.O. you use.. if it is maintained in the vendor master, it will deduct TDS at the time of Invoice.. so there is no chance of committing any mistake.. if it is once maintained in vendor master data. Further there is no provision in SAP to maintain TDS Tax codes at the P.O. level
2. In a purchase order there are more then one line items some are subject to WHT and some are not, we want to capture the WHT on the items liable for WHT.
Ans : You are correct, that TDS is at the vendor level and not at the line item level. But Suppose you have an Invoice, which contains two line items, one on which TDS is to be calculated and the other on which TDS is not to be calculated, then at the header level in MIRO, you can enter the Witholding Tax Base amount and the TDS amount manually, and it will get calculated accurately.
Regards,
SAPFICO -
Hello everyone,
I am not able to reproduce something so I thought I would ask here.
In FB01, you can have many things that gives you a mistake if the input is wrong. Though, if you run the transaction FB01 in a batch input, how many mistakes per transaction done will be in the log?
If, for example, there are 3 differents mistakes preventing the post document to be created, will the log at the end will give you 1 error message or 3 errors messages for this post document? In fact, I'm trying to know if it stops as soon as it finds one mistake or if it continues and gathers all the mistakes possible. I have to recuperate this log (I know how, no worries) but I would like to know if it is possible for one post douments to have a log with more than one error message for the inputs I have in the BTCI
Thank youHello Vishnu.
Thank you for taking time to answer.
I understand what you are telling me and I'm not pushing it aside but the need right now is to know if the batch input log can give you more than one error per post document or not. If, for example, there are three mistakes, will I see all of them or only one of them... and if rerun, I will see the next one.
The program I'm working on is already built to work with FB01 but I need to get the log with the messages in it and to treat it differently inside a program but I kinda need to know if it would give me more than one mistake per Post doument or always one only.
Thank you
Edited by: SBenoit on Nov 25, 2011 7:25 PM -
Batch input session to FB01 using standard program RFBIBL00
Hi all,
I am creating a batch input session using the standard program RFBIBL00 to simulate transaction FB01.
My problem is when I process the "batch input session" (using transaction SM35), this finish ok, but in the log I am retrieving the following message:
"Field BSEG-DMBTR. does not exist in the screen SAPMF05A 0300"
This is a success message and the document is created ok,and the field DMBTR is informed ok.
Has somebody some idea?.
Thanks so much in advance for any answer.Hi gundam,
1. Or is there any method to wait here until the process is completed before further processing?
There is no such direct method to wait.
2. Immediately after submitting in background,
we cannot wait
neither can we LOOP and go on detecting
whether the b/g process has completed or not !
3. To over come such problems,
we have to use another technique.
4. we have to submit another
job which will get triggered
on event SAP_END_OF_JOB
ie. when the original job will finish,
our new job will AUTOMATICALLY get triggered,
5. This new job / program
will do the FURTHER actions !
regards,
amit m. -
BAPI or Batch Input Program for FB01
Hi all!
I am trying to post invoice through transaction code FB01, i need a standard BAPI program or Batch Input Program for FB01 (except recording).
thanks.Hello,
In the 'Specify Files' step,
1. give some short file name (about 20 Characters )
2. In the File option for 'Converted Data' option check the Logical path / logical file entries. Normally it is LSMW ( Logical Path ) and the same File name for logical file. If you do not have a Logical path 'LSMW' create one in Tx. FILE'.
3. Please note that you need authority to save the file on application server ( You can see the files on Appl. Server in Tx. AL11 ).
Let me know how it goes on!
Regds, Murugesh AS
Message was edited by: Murugesh Arcot
Message was edited by: Murugesh Arcot -
Calculate withholding tax when have input or output tax
Dear Forum,
I understand that when the entry has input or output tax, in order to deduct withholding tax, I can deduct from vendor or customer account.
Say if there is input tax, then I cannot deduct from vendor if at the point of vendor or bank if at the point of payment.
Say if there is output tax, then cannot deduct from customer.
Can advise the reason?
ThanksDear,
I will answer You with a practical example:
001 31 0000100214 Test VENDOR 811,30-
002 40 0000444444 Consumptn, raw mat. 943,39
003 40 0000154000 Input tax 56,61
004 50 0000177000 Withholding tax 188,70-
taxes
Amount Tx D/C Tax base amount G/L Tax rate
56,61 A9 943,39 154000 6,000
wt pop up
test invoice time 01(CODE) 943,39 188,70 ZZ (TYPE)
where:
zz wt type is defined as Net amount
a1 wt code 20%
The System will do the following calculation:
Base for Calculation (Gross Amount) in Document Currency 1000.00 EUR
- Tax on Sales/Purchases Amount 56.61 EUR
Base amount = net amount 943.39 EUR
Portion Subject to Tax 100.00 %
Base Amount Minus Exempt Amt 943.39 EUR
Withholding Tax Rate 20.00 %
Final Withholding Tax Amount 188.70 EUR after rounding
I hope this can help You in understanding the System behaviour.
Please remember to use RFWT1000 by se38 if You need to trace the WT calculation during the simulation.
Mauri
Edited by: MAURIZIO BIANCOTTI on Oct 14, 2010 10:43 AM -
Problem with MRM_INVOICE_CREATE,Debit Notes and Withholding Tax Information
Hi!
I have a problem with MF MRM_INVOICE_CREATE.
We use this MF to create a Debit Note. The problem is that the Debit Note is created without the withholding tax information.
I send the info in this parameter: i_rbkpv-h_rbws.
Do you have any idea? I couldn't find any information about this. I tried an alternative solution using a batch-input but we had some problems with user permitions (this MF is called from a Z RFC that is called from an ASP application).
Thanks in advance!
BettinaHey, thanks.
I send your solution to the person who was trying to solve this problem.
For sure will solve the problem because, in a previous version, we were using the bapi you told me. For some unknown reason, they changed for the MRM_INVOICE_CREATE.
Thanks a lot! -
LSMW RFBIBL00 withholding tax base amount in local currency cannot be updated by manual
Hi SAP Guru,
When I try to upload FI docs by program RFBIBL00 in LSMW, the field BWITH-WT_QSSHH(withholding tax base amount in local currency) cannot be updated.
(1) The LSMW structure is defined as bellow:
BGR00<--------DOC_HEAD
BBKPF<--------DOC_HEAD
BBSEG<--------DOC_ITEM
BWITH <--------DOC_WHTX
And fields in structure BWITH are defined as bellow:
Field Name
Type
Length
Field Description
STYPE
C
1
Batch Input Interface Record Type
WITHT
C
2
Withholding tax type
WT_WITHCD
C
2
Withholding tax type
WT_QSSHB
C
21
W/tax base amount in document currency (batch input
field)
WT_QSSHH
C
21
W/tax base amount in Local currency (batch input
field)
(2) When I run LSMW, the doc can be posted successfully. All the information can be updated as the data I upload. Only the field WT_QSSHH is calculated by system automatically according to the current foreign exchange rate.
(3) When I try to post this doc by manual(F-02), the field WT_QSSHH is not editable.
How can I change the field WT_QSSHH into editable and update this field in LSMW RFBIBL00.
Thank you very much!
EricHi Nikitha,
I tried posting an invoice in currency other then co. code currency, but the WT amount is getting calculated perfectly.
also checked vendor with foreign curr recon account. the WT is working for that also
Can you please share the screen shot of the transaction where after changing currency you are not getting the values picked up for WT
May be i have not understood your questions
Regards
Pragya -
Posting key 31 is ignored when processing Batch Input Map
Hi,
I have a problem when uploading an ascii file via RFBIBL00 to generate a batch input map. The map holds vendor and account bookings. The file looks like this:
0MapName 001sap_user X/
1FB01 12062007YR0001120620076 EUR ...
2BBSEG 31/ // 3381,00/...
2BBSEG 40/ // 1111,00/...
The file uploads fine, the batch input map is created. Then I start to process the map. Transaction FB01 is filled with the necessary information. But instead of the starting with posting key 31 it starts with key 40. Field lengst, size of the 31 line is identical to the line with posting key 40 and 50 (expect for some fields like cost center, tax code,... which are not filled in the 31 line). For me it looks like that the line with the posting key 31 is totally ignored. oO
What could be the problem? Where to check?
Thank you for your help.
best regards
Hasanproblem solved,
thank you anyway -
How to fill the KNBW Customer master record (withholding tax types) in IDOC
Hi experts,
The creation of a new customer (intern) with idoc has status 51 with error : No batch input data for screen SAPMF02D 0610. When à use the WE19 transaction, in background step by step, the batch-input stops in withholding tax types. But those informations aren't compulsory and not filled!
1 - Why did the idoc stops in this step of the batch?
2 - If i had to fill those informations, i don't find a segment in the DEBMAS01 or DEBMAS05 to fill the informations. Should i create an new segment?
Thanks à lot for you responses.
WailHi
Step 1: Take help of a FI guy and:
The fields can be suppressed by configuring through Financial accounting > Business Partners > Customers > Account groups.
Step2 : The challenge inyou project is to have a single tab with the allowed fields
A technical guy can only help you out on this . Again This would be a huge effort since first you need to change the code for customer master. As customer master is a source of data for various documents in SD , at each place you will have to do changes in th code...I don't think it is feasible.
Instead of doing this , create an external interface for transferring the value to SAP through BAPI. this would involve integration and may be as per defined SAP standards you can use CSV files or XML files for the integration process.
This would be a better option than fiddling with SAP system
Regards
Nikhil -
Map vertical scrollbar - FV60 - Withholding tax
I have a problem in transaction FV60 (Park Vendor Invoice), I am doing batch input.
Via withholding tax I can't map okcode vertical Scrollbar. Buttons Next page, Previous page, First Page and Last Page aren't configureted for this table control - screen 0120 in program SAPLFWTD.
The values in this table control are fill automaticaly, than my unique possibilit is the map vertical scrollbar.
I tried to use the BAPI's BAPI_ACC_DOCUMENT_POST and BAPI_ACC_GL_POSTING_POST but i can't created park document.
I need to use the transaction FV60 because I need simulation tax before post document.
Thanks in advanced,Please use Transaction FBV1 for Batchinput technologie, because FV60 is a Enjoy-Transaction, which is not supported for Batchinput technology.
Joachim -
Calculate Withholding taxes for VEndor Invoices using ABAP program.
Hi All,
I have to upload Vendor Invoices using FB60/Fb01 tcodes. I am able to post the Invoices using FB01/Fb60
but I have to calculate extended withholding taxes also using this program for the Invoices.
Is it possible to upload vendor Invoices and calculate withholding taxes using Program?
If yes,
Does anyone has any idea how do you calculate extended withholding taxes using any BAPI's?
I have used these two BAPI's
BAPI_ACC_DOCUMENT_POST
BAPI_acc_invoice_receipt_post
they are working fine but without withholding tax.
This is a requirement for country India.
Regards,
SushilHi,
Imho, you need to get (meaning, extract into separate fields) the different supplier types from Table1 first. Your key for Table1 is the vendor no, which is also the key in Table2 (or the key for Table2 is Vendor no & Type).
For better performance, better select multiple/all required entries from Table1 instead of doing a select endselect.
Depending on the format of the vendortypes in Table1, put them in a new itab (for our purpose named Table1New where vendor no & type are the only 2 fields. For example, if the type length is fixed to 2 chars, or divided by space,... use your coding accordingly.
Next step is to select all vendor no's in Table2 which you have selected in Table1. If in Table2, the vendor no is the only key (and the all vendor types are filled in a single record), then loop check the vendor types from Table1New against the types in Table2.
If the key of Table2 is vendor no & vendor type, then do a read table for the key.
The logic in pseudo-code:
Select from Table1 into table. If you'd like to limit the selection size, add package size statement.
extract the vendor types in to itab Table1New.
Select the vendor & types from Table2 by using the for all entries option (better performance).
loop at Table1New
check in Table2:
if the unique key is vendor no: check all fields for the vendor type from Table1New
if the unique key combo is vendor no & type: check by using a read table.
If not found => add entry to Table2
endloop.
endselect Table1 (when using package size)
I guess the most difficult step is to extract the types from Table1 into separate fields, all the rest seems straight forward. Please keep in mind the itab type definitions for a better performance.
Good luck!
Best regards,
Zhou -
Withholding taxes not updated when program run in background
Hi,
in a z1 report i do:
SUBMIT z2
VIA JOB lc_jobname
NUMBER v_jobcount
WITH p_fecha = p_fecha
WITH p_file = v_file_in
WITH p_e_file = p_efile
WITH p_client = p_client
WITH p_test = p_test
AND RETURN.
within this z2 report i do:
PERFORM mrm_invoice_create_call(saplmrm_bapi) USING s_rbkpv
tab_frseg[]
tab_co[]
tab_ma[]
c_rbstat_posted
space
CHANGING invoicedocnumber
fiscalyear
return[]
f_subrc.
IF test IS INITIAL.
COMMIT WORK AND WAIT.
ELSE.
ROLLBACK WORK.
ENDIF.
the question is that if i run z1 report online there is no problem but if
i run z1 report in background, withholding taxes are not calculated.
After debugging this is what i´ve found out:
1.- in PERFORM mrm_invoice_create_call(saplmrm_bapi) there is a call to fm FI_WT_POST IN UPDATE TASK
2.- in FI_WT_POST table WITH_ITEM is updated
i guess this could be due to a delay in updating the table so i´m considering doing a WAIT UP TO X SECONDS.
why is it working in online mode but not in background mode?
any idea?
Best regards.Hi,
in case someone is interested this is how i solved the question:
i had badi MRM_WT_SPLIT_UPDAT implemented.
in this badi implementation i had this code (among other checks too):
CHECK sy-tcode = 'MIR4' OR sy-tcode = 'MIR7'.
this code avoided the background job case.
It seems that In a background job sy-tcode is empty.
so i just needed to add this:
CHECK sy-tcode = 'MIR4' OR sy-tcode = 'MIR7' OR sy-batch = 'X'.
and then withholding taxes reappeared again.
(so sad, so true... one day of debugging, sigh)
Best regards.
Edited by: Pablo Casamayor on Feb 2, 2012 4:53 PM -
Brazil - Withholding tax in A/R credit memos / notes
Hi all,
We have implemented a proto-type of SAP ERP in Brazil to check out the taxes and in particularly the withholding taxes (WHT). We now have a test customer and test vendor for which withholding taxes have been activated and as a result, a withholding tax windows pops up while making a manual entry in FB01. The result of 4 test cases is as follows:
1) Manual entry A/P invoice => WHT data can be entered in pop-up window => OK
2) Manual entry A/P credit note => WHT data can be entered in pop-up window => OK
3) Manual entry A/R invoice => WHT data can be entered in pop-up window => OK
4) Manual entry A/R credit note => Pop-up window does not appear so WHT data can NOT be entered => not OK
I am puzzled why the WHT pop-up window does not show for case 4. I must be able to post a credit memo in case an incorrect outgoing invoice was originally posted in the external system according to the following workflow:
1) Outgoing A/R invoice is issued including WHT with doc.number 123456
2) More invoices to other customers are issued with doc. numbers 123457 and 123458
3) We now find that the invoice 1) was incorrect so want to issue a credit note with the orignal (WHT) values whereby the credit note receives doc.number 123459
4) Now we re-issue the corrected invoice including WHT with doc.number 123460
Within SAP, I could use FB08 of course for the reversal, but this won't work in the situation above where my document number is provided by the external system.
Does anyone have experiences with WHT in Brazil and is our customising incorrect or is anyone aware of a common business practise why the WHT pop-up window does not appear for the outgoing A/R credit note.
Thanks a lot in advance.
RenéHi Rene,
I'm facing the same problem with the Withholding Tax in Mexico regarding A/R Credti Memos not being able to be posted. You mentioned that a posting key was the solution, could you please explain to me in more detail how does this posting key solution works?
I have reviewed all of the configuration and nothing seems to work.
Thanks a lot in advance!
Nataly Hernández
Maybe you are looking for
-
Do I need to upgrade to OS 10.4.10 ?
From my software updates, I think I need to upgrade to 10.4.10. It says I can if I have a Power PC Mac, or Intel-based Mac. I THINK I have a Power PC Mac. Is this going to cost me more money to upgrade or just time.... (I don't have fast internet ) W
-
Error on smb2 after updating to mavericks
I updated an OS X 10.8 Server to Mavericks Server and I had some problems with Password Server that I Fixed ... but still 10.9 clients can't access to the shared folders using the Finder's side bar access while 10.8 clients can. As you'll probably kn
-
HT2500 Mail Sender Thumbnail Pic.
Why do I only get some thumbnail pictures of senders of mail in my boxes when others [who are also in my contact book with a picture] don't show and how do I fix it so all show please ?
-
Question about distribution of binary packages..
Hi!! When I have built a package with makepkg, is that all that is needed to later share that pkg-file for the public? (i have no specifik optimizations)
-
BEx - Query Analiser - 500 Internal Error
Hi ALL, When I execute Query in BEx, the PORTAL logon is displayed and after input the user and pass shows the 500 Internal Error. Caused by: com.sap.mw.jco.JCO$Exception: (102) RFC_ERROR_COMMUNICATION: Connect to message server host failed Connect_P