Production issue -- FI Doc Exceed 999 lines
Hi Experts..
we are facing one problem when we are doing GR, the FI documents if more than 999 line items it is not going to generate any FI documents... we have 1000's of line items in the same GR....
NOTE: in Development it is generating new documnet for the above 999 lines.... in production it is not genarating any document if exceeds 999 lines.. system trowing an error " maximum number of items in FI reached"
Kindly help me in resolving this issue... very critical for us
Thanks in advance
Alex
Hi There,
WIth the answers above, I still wonder why could your DEV system could post more than 999 line items.
Cause and prerequisites
In FI the posting line has a three-digit line item number (BSEG-BUZEI).
For note 117708, or the exit, they are trying to avoid posting more than 999 lines only.
Similar Messages
-
Hi all,
I have a production issue and my report takes around 4 to 5 hours for its execution and i've finded out that the 2nd from first query has a corresponding tale with it and when i modified it to below one its displaying the output and when i check it in ST05 i have no i_bsad and i_bsid table query times mentioned in it.Where in when i have the corresponding tale included i get the above both queries time interval and this table works fine.(i have to have this select statements included for my business scenario logic).But because of the inclusion of this this both table are eating lot of time.Need to include them and reduce the time comsumption of the both the tables.
SELECT vbeln fkart vbtyp knumv fkdat gjahr kdgrp rfbsk zterm bukrs
netwr kunrg kunag
bstnk_vf xblnr mwsbk rfbsk
INTO TABLE i_vbrk
FROM vbrk WHERE
vbeln IN zvbeln AND
vbtyp IN zvbtyp AND
fkdat IN zfkdat AND
bukrs IN zbukrs AND
kunag IN zkunag AND
bstnk_vf IN zbstnkvf AND
xblnr IN zxblnr AND
fksto NE 'X' .
SELECT vbeln fkart vbtyp knumv fkdat bukrs gjahr kdgrp zterm netwr
kunrg kunag
bstnk_vf xblnr mwsbk rfbsk
INTO CORRESPONDING FIELDS OF TABLE i_vbrk
FROM vbrk WHERE
vbeln IN zvbeln AND
kunag IN zkunag AND
fkdat IN zfkdat AND
xblnr IN zxblnr AND
bstnk_vf IN zbstnkvf AND
vbtyp IN zvbtyp AND
fksto NE 'X' AND
bukrs IN zbukrs .
This are the both table which has to be included ,
SELECT belnr buzei dmbtr shkzg APPENDING TABLE i_bsad
FROM bsad
FOR ALL ENTRIES IN l_tab_temp
WHERE
bukrs EQ l_tab_temp-bukrs AND
gjahr EQ l_tab_temp-gjahr AND
belnr EQ l_tab_temp-vbeln.
SELECT belnr buzei shkzg dmbtr rebzg FROM bsid APPENDING CORRESPONDING FIELDS OF TABLE i_bsid
FOR ALL ENTRIES IN l_tab_temp
WHERE bukrs EQ l_tab_temp-bukrs
"PRA927038 "PRA927150 vbeln pick
AND NOT AUGBL = SPACE
*AND BELNR = L_TAB_TEMP-VBELN
AND gjahr = l_tab_temp-gjahr
AND gjahr IN zgjahr.
AND vbeln = l_tab_temp-vbeln .
AND rebzg = l_tab_temp-vbeln
AND rebzj = l_tab_temp-gjahr.
Can any one help me in tuning this if u guys still have questions please ask me.And for your understanding this my coding please go through it
*& Report ZAR_REC001 *
REPORT zar_rec001 NO STANDARD PAGE HEADING
LINE-SIZE 355
LINE-COUNT 60
MESSAGE-ID zuserm.
TYPE-POOLS : slis.
TABLES : vbrk,
vbrp,
bsid,
bsad,
kna1,
lfa1,
knvv,
zar1_detail,
zar1_struc1,
vbak,
vbap,
zcustomfields,
konv,
zvlxxsr,
mara,
t023t,
sscrfields,
konp,
tvarv,
tvkgr,
tvgrt. "IMR928046
TYPES : BEGIN OF t_tvkgr,
vkgrp TYPE vbrp-vkgrp,
END OF t_tvkgr.
TYPES : BEGIN OF ty_vbrp, "IMR928046
vkgrp TYPE vkgrp,
END OF ty_vbrp.
DATA : BEGIN OF i_zgjahr OCCURS 0,
zgjahr LIKE bsid-gjahr,
END OF i_zgjahr.
DATA : BEGIN OF i_vbrk OCCURS 0,
vbeln LIKE vbrk-vbeln,
fkart LIKE vbrk-fkart,
vbtyp LIKE vbrk-vbtyp,
knumv LIKE vbrk-knumv,
fkdat LIKE vbrk-fkdat,
gjahr LIKE vbrk-gjahr, "KRISHNA
kdgrp LIKE vbrk-kdgrp,
zterm LIKE vbrk-zterm,
bukrs LIKE vbrk-bukrs, "krishna
rfbsk LIKE vbrk-rfbsk, " KYH25882
netwr LIKE vbrk-netwr,
kunrg LIKE vbrk-kunrg,
kunag LIKE vbrk-kunag,
bstnk_vf LIKE vbrk-bstnk_vf,
xblnr LIKE vbrk-xblnr,
mwsbk LIKE vbrk-mwsbk,
name1 LIKE kna1-name1,
vkgrp LIKE knvv-vkgrp,
bezei LIKE tvgrt-bezei, "IMR928046
partialpmt LIKE vbrk-netwr,
opendmbtr LIKE vbrk-netwr,
gmdpercent LIKE vbrp-netwr,
gmdnetwr LIKE vbrp-netwr,
aubel LIKE vbrp-aubel,
aupos LIKE vbrp-aupos,
ihrez LIKE vbak-ihrez,
kdmat LIKE vbap-kdmat,
mwsbp LIKE vbrp-mwsbp,
kzwi5 LIKE vbrp-kzwi5,
due1 LIKE vbrp-netwr,
due2 LIKE vbrp-netwr,
due3 LIKE vbrp-netwr,
due4 LIKE vbrp-netwr,
due5 LIKE vbrp-netwr,
due6 LIKE vbrp-netwr.
DATA: END OF i_vbrk.
DATA : BEGIN OF i_vbrp OCCURS 0.
INCLUDE STRUCTURE zar1_struc1.
DATA: zzp_mfrnr LIKE vbrp-zzp_mfrnr,
vgbel LIKE vbrp-vgbel,
vgpos LIKE vbrp-vgpos.
DATA : END OF i_vbrp.
DATA : d_vbrp LIKE i_vbrp OCCURS 0 WITH HEADER LINE.
DATA : BEGIN OF d1_vbrp OCCURS 0.
INCLUDE STRUCTURE zar1_detail.
DATA : END OF d1_vbrp.
DATA : BEGIN OF i_bsad OCCURS 0,
belnr LIKE bsad-belnr, "krishna
buzei LIKE bsad-buzei, "Vijay
dmbtr LIKE bsad-dmbtr, "krishna
shkzg. "ppo924471
DATA : END OF i_bsad.
*--- begin of ppo924396
DATA : BEGIN OF i_bsid OCCURS 0,
augbl like bsad-augbl, "PRA927038
vbeln LIKE bsid-vbeln, "vma928512
rebzg LIKE bsid-rebzg, "vma928512
belnr LIKE bsid-belnr,
buzei LIKE bsid-buzei,
shkzg LIKE bsad-shkzg, "ppo924471
dmbtr LIKE bsad-dmbtr.
DATA : END OF i_bsid.
DATA : l_partialpmt LIKE bsad-dmbtr.
*--- end of ppo924396
DATA : BEGIN OF i_kunag OCCURS 0,
kunag LIKE vbrk-kunag.
DATA : END OF i_kunag.
DATA : BEGIN OF i_knumv OCCURS 0,
knumv LIKE vbrk-knumv.
DATA : END OF i_knumv.
DATA: BEGIN OF i_konv OCCURS 0,
knumv LIKE konv-knumv,
kposn LIKE konv-kposn,
kschl LIKE konv-kschl,
knumh LIKE konv-knumh,
kbetr LIKE konv-kbetr,
kwert LIKE konv-kwert,
kopos LIKE konv-kopos,
END OF i_konv.
DATA : BEGIN OF i_kna1 OCCURS 0,
kunnr LIKE kna1-kunnr,
name1 LIKE kna1-name1,
name2 LIKE kna1-name2,
name3 LIKE kna1-name3,
stras LIKE kna1-stras,
ort01 LIKE kna1-ort01,
regio LIKE kna1-regio,
pstlz LIKE kna1-pstlz,
adrnr LIKE kna1-adrnr.
DATA : END OF i_kna1.
*DATA : I_KNA1 TYPE HASHED TABLE OF T_KNA1 WITH UNIQUE KEY KUNNR.
*DATA : L_WA_KNA1 TYPE T_KNA1.
TYPES : BEGIN OF t_t023t,
matkl LIKE t023t-matkl,
wgbez LIKE t023t-wgbez.
TYPES : END OF t_t023t.
DATA : i_t023t TYPE HASHED TABLE OF t_t023t WITH UNIQUE KEY matkl.
DATA : l_wa_t023t TYPE t_t023t.
DATA : BEGIN OF i_t179t OCCURS 0,
prodh LIKE t179t-prodh,
vtext LIKE t179t-vtext.
DATA : END OF i_t179t.
TYPES : BEGIN OF t_mara,
matnr LIKE mara-matnr,
mfrpn LIKE mara-mfrpn.
TYPES : END OF t_mara.
DATA : i_mara TYPE HASHED TABLE OF t_mara WITH UNIQUE KEY matnr.
DATA : l_wa_mara TYPE t_mara.
DATA : BEGIN OF i_vbak OCCURS 0,
vbeln LIKE vbak-vbeln,
bname LIKE vbak-bname,
zz_ccenter LIKE vbak-zz_ccenter,
zz_dept LIKE vbak-zz_dept,
ihrez LIKE vbak-ihrez.
DATA : END OF i_vbak.
DATA: BEGIN OF i_vbap OCCURS 0,
vbeln LIKE vbap-vbeln,
posnr LIKE vbap-posnr,
erdat LIKE vbap-erdat,
prodh LIKE vbap-prodh,
ihrez LIKE vbak-ihrez,
kdmat LIKE vbap-kdmat,
posex LIKE vbap-posex,
END OF i_vbap.
DATA : BEGIN OF i_zcustomfields OCCURS 0,
vbeln LIKE zcustomfields-vbeln,
posnr LIKE zcustomfields-posnr,
valueid LIKE zcustomfields-valueid,
value LIKE zcustomfields-value.
DATA : END OF i_zcustomfields.
DATA : BEGIN OF i_vbpa OCCURS 0,
vbeln LIKE vbpa-vbeln,
kunnr LIKE vbpa-kunnr,
adrnr LIKE vbpa-adrnr.
DATA : END OF i_vbpa.
DATA d_vbpa LIKE i_vbpa OCCURS 0 WITH HEADER LINE.
DATA : BEGIN OF i_zvlxxsr OCCURS 0.
INCLUDE STRUCTURE zvlxxsr.
DATA : END OF i_zvlxxsr.
TYPES: BEGIN OF t_lfa1,
lifnr LIKE lfa1-lifnr,
name1 LIKE lfa1-name1.
TYPES: END OF t_lfa1.
DATA : i_lfa1 TYPE HASHED TABLE OF t_lfa1 WITH UNIQUE KEY lifnr.
DATA : l_wa_lfa1 TYPE t_lfa1.
DATA : i_tvkgr TYPE STANDARD TABLE OF t_tvkgr.
DATA : l_tvkgr TYPE t_tvkgr.
DATA : g_date_diff TYPE p.
DATA: fieldcat_sno TYPE slis_t_fieldcat_alv,
g_append_d_vbrp,
tcode LIKE sy-tcode,
fkimg_tot LIKE vbrp-fkimg,
Begin DEVK926013 KYH26013
NETPR_TOT LIKE I_VBRP-NETPR,
NETWR_TOT LIKE I_VBRP-NETPR,
KBETR_TOT LIKE I_VBRP-NETPR,
KBETRQTY_TOT LIKE I_VBRP-NETPR,
GMDPERCENT_TOT LIKE I_VBRP-NETPR,
GMDNETWR_TOT LIKE I_VBRP-NETPR,
netpr_tot LIKE vbrp-netwr,
netwr_tot LIKE vbrp-netwr,
kbetr_tot LIKE vbrp-netwr,
kbetrqty_tot LIKE vbrp-netwr,
gmdpercent_tot LIKE vbrp-netwr,
gmdnetwr_tot LIKE vbrp-netwr,
End DEVK926013 KYH26013
auth_failure.
DATA: objnum LIKE vbrk-knumv.
DATA: auth(3) TYPE c.
DATA: authcnt TYPE i VALUE 0.
DATA: cntserno TYPE i.
DATA: l_from TYPE i,
l_to TYPE i,
l_lines TYPE i,
l_rows(9) TYPE p DECIMALS 5,
l_loop TYPE i.
*--- begin of ppo924234
DATA: BEGIN OF down_sum OCCURS 0,
vbeln LIKE vbrk-vbeln,
fkart LIKE vbrk-fkart,
fkdat(8),
kunrg LIKE vbrk-kunrg,
kunag LIKE vbrk-kunag,
name1 LIKE kna1-name1,
vkgrp LIKE knvv-vkgrp,
bezei LIKE tvgrt-bezei, "IMR928046
zterm LIKE vbrk-zterm,
bstnk_vf LIKE vbrk-bstnk_vf,
xblnr LIKE vbrk-xblnr,
netwr(15),
partialpmt(15),
due1(15),
due2(15),
due3(15),
due4(15),
due5(15),
due6(15),
kdgrp LIKE vbrk-kdgrp,
END OF down_sum.
DATA: BEGIN OF down_sum_get OCCURS 0,
line(255),
END OF down_sum_get.
DATA: BEGIN OF down_det OCCURS 0,
zzid TYPE zchar8,
zcount(10),
vbeln TYPE zvbeln,
posnr(6),
fkdat(8),
bstnk_vf TYPE bstnk,
fkimg(13),
name1_mfg TYPE zmfg_zar1,
matnr TYPE matnr,
arktx TYPE arktx,
netpr(11),
kzwi5(13),
netwr(15),
kbetr(11),
kbetrqty(11),
mwsbp(13),
gmdpercent(15),
gmdnetwr(15),
name1 TYPE zsold_zar1,
name1_sh TYPE zship_zar1,
name2_sh TYPE zship2_zar1,
name3_sh TYPE zship3_zar1,
stras_sh TYPE stras,
ort01_sh TYPE ort01,
regio_sh TYPE regio,
pstlz_sh TYPE pstlz,
bname TYPE zbname_zar1,
vkgrp TYPE vkgrp,
aubel TYPE vbeln_va ,
aupos(6),
audat(8),
sernr TYPE gernr,
prodh TYPE prodh_d,
wgbez TYPE wgbez,
vtext TYPE bezei20,
asstg TYPE zasstg,
matkl TYPE matkl,
fkart TYPE fkart,
kunag TYPE kunag,
vbtyp TYPE vbtyp,
ihrez TYPE ihrez,
kdmat TYPE matnr_ku,
posex TYPE posex,
zz_ccenter TYPE zv_ccenter,
zz_dept TYPE zv_dept,
zz_cap_exp_code TYPE zv_cap_exp_code,
zz_cap_exp_id TYPE zv_cap_exp_id,
zz_project TYPE zv_project,
zz_aprvd_by TYPE zv_aprvd_by,
kdgrp_auft TYPE kdgrp_auft,
END OF down_det.
*--- end of ppo924234
*--- begin of ppo924471
DATA: BEGIN OF i_tvfk OCCURS 0,
fkart TYPE fkart,
END OF i_tvfk.
*--- end of ppo924471
begin of KYH
DATA: fiscal_yr_begn(8) TYPE c,
fiscal_yr_end(8) TYPE c,
fiscal_yr LIKE bsid-gjahr,
fnyear(4) TYPE c,
fnyear_pre(4) TYPE c.
END of KYH
DATA : v_gjahr LIKE bsid-gjahr. " KYH25882
TYPES : BEGIN OF t_konp,
knumh LIKE konp-knumh,
kopos LIKE konp-kopos,
KBETR LIKE KONP-KBETR. " KYH26013
kbetr LIKE vbrk-netwr. " KYH26013
TYPES : END OF t_konp.
DATA :i_konp TYPE HASHED TABLE OF t_konp WITH UNIQUE KEY knumh kopos.
DATA : l_wa_konp TYPE t_konp.
DATA : l_e_fyv TYPE periv VALUE 10,
l_i_fyear LIKE t009b-bdatj,
l_bsid_index TYPE sy-tabix VALUE 1,
l_bsad_index TYPE sy-tabix VALUE 1.
CLASS cl_abap_char_utilities DEFINITION LOAD. "IMR928770
CONSTANTS:
c_tab TYPE c VALUE cl_abap_char_utilities=>horizontal_tab,
c_cret TYPE c VALUE cl_abap_char_utilities=>cr_lf.
CONSTANTS c_index TYPE i VALUE 2000. "KYH25969
SELECTION-SCREEN : BEGIN OF BLOCK blk1 WITH FRAME.
SELECT-OPTIONS : zkunag FOR vbrk-kunag MATCHCODE OBJECT debi,
zvbeln FOR vbrk-vbeln MATCHCODE OBJECT vmcf,
zfkdat FOR vbrk-fkdat OBLIGATORY,
zvkbur FOR knvv-vkbur,
zvkgrp FOR knvv-vkgrp OBLIGATORY,
zbukrs FOR bsid-bukrs OBLIGATORY,
zgjahr FOR bsid-gjahr OBLIGATORY,
zvbtyp FOR vbrk-vbtyp NO-DISPLAY,
zbstnkvf FOR vbrk-bstnk_vf,
zxblnr FOR vbrk-xblnr.
SELECTION-SCREEN : END OF BLOCK blk1.
SELECTION-SCREEN : BEGIN OF BLOCK blk2 WITH FRAME.
PARAMETER : zopeninv RADIOBUTTON GROUP inv,
zallinv RADIOBUTTON GROUP inv DEFAULT 'X'.
SELECTION-SCREEN : END OF BLOCK blk2.
SELECTION-SCREEN : BEGIN OF BLOCK blk3 WITH FRAME.
PARAMETER : zinvoice AS CHECKBOX,
zdebit AS CHECKBOX,
zcredit AS CHECKBOX.
SELECTION-SCREEN : END OF BLOCK blk3.
SELECTION-SCREEN : BEGIN OF BLOCK blk4 WITH FRAME.
PARAMETER : zsumrep RADIOBUTTON GROUP rep DEFAULT 'X',
zdetrep RADIOBUTTON GROUP rep.
SELECT-OPTIONS : zmfrnr FOR vbrp-zzp_mfrnr MATCHCODE OBJECT kred.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN PUSHBUTTON /1(42) prun_det USER-COMMAND prun.
PARAMETERS: zid LIKE zar1_detail-zzid.
SELECTION-SCREEN : END OF BLOCK blk4.
*--- begin of ppo924234
SELECTION-SCREEN BEGIN OF BLOCK blk5 WITH FRAME TITLE text-001.
PARAMETERS: p_appfil RADIOBUTTON GROUP file DEFAULT 'X',
p_prsfil RADIOBUTTON GROUP file.
PARAMETERS: filepath LIKE rlgrap-filename.
SELECTION-SCREEN END OF BLOCK blk5.
*--- end of ppo924234
INITIALIZATION.
MOVE : 'Detail Report results of the previous run' TO prun_det.
zid = sy-uname(8).
tcode = sy-tcode.
IF NOT tcode IS INITIAL.
tvarv-name = 'ZTCODE_ZAR_INVOICE'.
tvarv-type = 'P'.
tvarv-low = tcode.
MODIFY tvarv.
ENDIF.
IF tcode NE 'ZAR2'.
NEW-PAGE LINE-SIZE 255.
ELSE.
NEW-PAGE LINE-SIZE 170.
ENDIF.
AT SELECTION-SCREEN.
IF sscrfields-ucomm = 'PRUN'.
PERFORM call_ze16.
EXIT.
ENDIF.
*--- begin of ppo924234
AT SELECTION-SCREEN ON BLOCK blk5.
IF p_prsfil = 'X' AND filepath IS INITIAL.
MESSAGE e001(00) WITH 'Enter the File Name'.
ENDIF.
*--- end of ppo924234
START-OF-SELECTION.
PERFORM check_tcode.
PERFORM check_authorization.
IF auth_failure = 'X'.
EXIT.
ENDIF.
PERFORM get_sd_doc_category.
PERFORM get_invoice_data.
IF NOT i_vbrk[] IS INITIAL. "KYH25969
PERFORM get_accounting_data.
PERFORM get_other_data.
ENDIF. "KYH25969
END-OF-SELECTION.
IF NOT i_vbrk[] IS INITIAL. " KYH25969
PERFORM process_data.
IF NOT zsumrep IS INITIAL.
*--- begin of ppo924234
IF NOT filepath IS INITIAL.
CLEAR down_sum.
REFRESH down_sum.
MOVE: 'Invoice No' TO down_sum-vbeln,
'ITyp' TO down_sum-fkart,
'Bill Dt' TO down_sum-fkdat,
'Bill-to#' TO down_sum-kunrg,
'Customer#' TO down_sum-kunag,
'Name' TO down_sum-name1,
'SPN' TO down_sum-vkgrp,
'Spn Name' TO down_sum-bezei, "IMR928046
'PayT' TO down_sum-zterm,
'PO No' TO down_sum-bstnk_vf,
'Ref Doc' TO down_sum-xblnr,
'Invoice Total' TO down_sum-netwr,
'Payments' TO down_sum-partialpmt,
'Due(00-29 Days)' TO down_sum-due1,
'Due(30-44 Days)' TO down_sum-due2,
'Due(45-59 Days)' TO down_sum-due3,
'Due(60-74 Days)' TO down_sum-due4,
'Due(75-89 Days)' TO down_sum-due5,
'Due(Ovr 90Days)' TO down_sum-due6,
'CGrp' TO down_sum-kdgrp.
APPEND down_sum.
LOOP AT i_vbrk.
MOVE-CORRESPONDING i_vbrk TO down_sum.
APPEND down_sum.
CLEAR down_sum.
ENDLOOP.
PERFORM download_file TABLES down_sum USING down_sum.
ENDIF.
*--- end of ppo924234
PERFORM display_summary_output.
ELSE.
for Detail report
IF NOT i_vbrk[] IS INITIAL. " KYH26282
PERFORM get_data_for_detail_report.
PERFORM process_data_for_detail_report.
PERFORM display_detail_report.
ELSE.
MESSAGE i001(00) WITH 'No data exists for the given selection'.
" KYH26282
ENDIF. "KYH26282
ENDIF.
ELSE.
MESSAGE i001(00) WITH 'No data exists for the given selection'.
"KYH25969
ENDIF. " KYH25969
*& Form GET_INVOICE_DATA
text
--> p1 text
<-- p2 text
FORM get_invoice_data .
TYPES : BEGIN OF t1_vbrp,
vbeln TYPE vbeln,
gmdnetwr LIKE zar1_struc1-gmdnetwr,
gmdpercent LIKE zar1_struc1-gmdpercent,
vkgrp TYPE vkgrp.
TYPES END OF t1_vbrp.
DATA : v_end_flag(1) TYPE c.
DATA : l_tab_vbrp TYPE STANDARD TABLE OF t1_vbrp. "KYH
DATA: l_wa_vbrp LIKE LINE OF i_vbrp.
DATA : l1_vbrp TYPE t1_vbrp.
DATA : l_tab_temp LIKE STANDARD TABLE OF i_vbrk.
DATA : l_sy_tabix LIKE sy-tabix,
gmdnetwr LIKE i_vbrp-gmdnetwr,
gmdpercent LIKE i_vbrp-gmdpercent,
l_count LIKE sy-tabix,
l_tabix TYPE sy-tabix.
CLEAR: l_sy_tabix, l_tabix.
SELECT vbeln fkart vbtyp knumv fkdat gjahr kdgrp rfbsk zterm bukrs
netwr kunrg kunag "IMR928882
bstnk_vf xblnr mwsbk rfbsk
INTO TABLE i_vbrk
FROM vbrk WHERE
vbeln IN zvbeln AND
vbtyp IN zvbtyp AND
fkdat IN zfkdat AND
bukrs IN zbukrs AND
kunag IN zkunag AND
bstnk_vf IN zbstnkvf AND
xblnr IN zxblnr AND
fksto NE 'X' .
IF sy-dbcnt NE 0.
IF NOT zsumrep IS INITIAL.
IF NOT i_vbrk[] IS INITIAL.
PERFORM fiscal_year_check. " KYH25882
IF NOT i_vbrk[] IS INITIAL. " KYH25882
REFRESH: l_tab_temp.
CLEAR: l_from,
l_to,
l_lines,
l_rows,
l_loop.
DESCRIBE TABLE i_vbrk LINES l_lines.
l_from = 1.
l_to = c_index.
l_rows = l_lines / c_index.
l_loop = CEIL( l_rows ).
IF l_loop = 0.
l_loop = 1.
ENDIF.
DO l_loop TIMES.
APPEND LINES OF i_vbrk FROM l_from TO l_to TO l_tab_temp.
SELECT vbeln posnr vkgrp mwsbp kzwi5 aubel aupos
kdgrp_auft
APPENDING CORRESPONDING FIELDS OF TABLE i_vbrp
FROM vbrp FOR ALL ENTRIES IN l_tab_temp
WHERE
vbeln = l_tab_temp-vbeln
AND
vkbur IN zvkbur AND
vkgrp IN zvkgrp.
REFRESH l_tab_temp.
l_from = l_to + 1.
l_to = l_to + c_index.
ENDDO.
ENDIF.
*Remove entries from VBRK checkinf for SPN on selection screen
PERFORM check_spn. " KRI926835
ENDIF.
ELSE.
IF NOT i_vbrk[] IS INITIAL.
PERFORM fiscal_year_check. " KYH25882
IF NOT i_vbrk[] IS INITIAL. " KYH25882
REFRESH: l_tab_temp.
CLEAR: l_from,
l_to,
l_lines,
l_rows,
l_loop.
DESCRIBE TABLE i_vbrk LINES l_lines.
l_from = 1.
l_to = c_index.
l_rows = l_lines / c_index.
l_loop = CEIL( l_rows ).
IF l_loop = 0.
l_loop = 1.
ENDIF.
DO l_loop TIMES.
APPEND LINES OF i_vbrk FROM l_from TO l_to TO l_tab_temp.
SELECT vbeln posnr fkimg matnr arktx netwr vkgrp aubel aupos
sernr
zzp_mfrnr vgbel vgpos aupos matkl mwsbp kzwi5 kdgrp_auft
APPENDING CORRESPONDING FIELDS OF TABLE i_vbrp
FROM vbrp FOR ALL ENTRIES IN l_tab_temp WHERE
vbeln = l_tab_temp-vbeln AND
vkbur IN zvkbur AND
vkgrp IN zvkgrp AND
zzp_mfrnr IN zmfrnr.
REFRESH l_tab_temp.
l_from = l_to + 1.
l_to = l_to + c_index.
ENDDO.
ENDIF. " KYH25882
ENDIF.
ENDIF.
IF NOT i_vbrk[] IS INITIAL. "KYH25882
SORT i_vbrk BY vbeln. "KYH25882
SORT i_vbrp BY vbeln posnr. "KYH25882
LOOP AT i_vbrk.
MOVE i_vbrk-kunag TO i_kunag-kunag.
APPEND i_kunag.
MOVE i_vbrk-knumv TO i_knumv-knumv.
APPEND i_knumv.
ENDLOOP.
ENDIF. " KYH25882
ENDFORM. " GET_INVOICE_DATA
*& Form GET_ACCOUNTING_DATA
text
--> p1 text
<-- p2 text
FORM get_accounting_data .
DATA : l_tab_vbrp LIKE STANDARD TABLE OF i_vbrp. "KYH
DATA: l_tab_temp LIKE STANDARD TABLE OF i_vbrk.
CONSTANTS c_index TYPE i VALUE 4000.
IF NOT i_vbrk[] IS INITIAL.
REFRESH: l_tab_temp.
CLEAR: l_from,
l_to,
l_lines,
l_rows,
l_loop.
DESCRIBE TABLE i_vbrk LINES l_lines.
l_from = 1.
l_to = c_index.
l_rows = l_lines / c_index.
l_loop = CEIL( l_rows ).
IF l_loop = 0.
l_loop = 1.
ENDIF.
DO l_loop TIMES.
APPEND LINES OF i_vbrk FROM l_from TO l_to TO l_tab_temp.
DELETE l_tab_temp WHERE rfbsk <> 'C'. " KYH25882
IF NOT l_tab_temp[] IS INITIAL . " KYH25882
SELECT belnr buzei dmbtr shkzg APPENDING TABLE i_bsad
FROM bsad
FOR ALL ENTRIES IN l_tab_temp
WHERE
bukrs EQ l_tab_temp-bukrs AND
gjahr EQ l_tab_temp-gjahr AND
belnr EQ l_tab_temp-vbeln.
ENDIF. " KYH25882
REFRESH l_tab_temp.
l_from = l_to + 1.
l_to = l_to + c_index.
ENDDO.
*--- begin of ppo924396
REFRESH: l_tab_temp.
CLEAR: l_from,
l_to,
l_lines,
l_rows,
l_loop.
DESCRIBE TABLE i_vbrk LINES l_lines.
l_from = 1.
l_to = c_index.
l_rows = l_lines / c_index.
l_loop = CEIL( l_rows ).
IF l_loop = 0.
l_loop = 1.
ENDIF.
DO l_loop TIMES.
APPEND LINES OF i_vbrk FROM l_from TO l_to TO l_tab_temp.
DELETE l_tab_temp WHERE rfbsk <> 'C'. " KYH25882
IF NOT l_tab_temp[] IS INITIAL . " KYH25882
SELECT belnr buzei shkzg dmbtr rebzg FROM bsid "vma928512
APPENDING CORRESPONDING FIELDS OF TABLE i_bsid
FOR ALL ENTRIES IN l_tab_temp
WHERE bukrs EQ l_tab_temp-bukrs
"PRA927038 "PRA927150 vbeln pick
ENDIF. " KYH25882
REFRESH l_tab_temp.
l_from = l_to + 1.
l_to = l_to + c_index.
ENDDO.
SELECT fkart FROM tvfk INTO TABLE i_tvfk WHERE vbtyp = 'O'.
"ppo924471
delete i_bsid where augbl = space. " PRA927093
ENDIF. " KYH25882
ENDFORM. " GET_ACCOUNTING_DATA
*& Form GET_SD_DOC_CATEGORY
text
--> p1 text
<-- p2 text
FORM get_sd_doc_category .
Exclude SD Doc Category N and S
zvbtyp-sign = 'E'.
zvbtyp-option = 'EQ'.
zvbtyp-low = 'N'.
APPEND zvbtyp.
zvbtyp-sign = 'E'.
zvbtyp-option = 'EQ'.
zvbtyp-low = 'S'.
APPEND zvbtyp.
Get only Invoices
IF NOT zinvoice IS INITIAL.
zvbtyp-sign = 'I'.
zvbtyp-option = 'EQ'.
zvbtyp-low = 'M'.
APPEND zvbtyp.
ENDIF.
Get only Credit Memos
IF NOT zcredit IS INITIAL.
zvbtyp-sign = 'I'.
zvbtyp-option = 'EQ'.
zvbtyp-low = 'O'.
APPEND zvbtyp.
ENDIF.
Get only Debit Memos
IF NOT zdebit IS INITIAL.
zvbtyp-sign = 'I'.
zvbtyp-option = 'EQ'.
zvbtyp-low = 'P'.
APPEND zvbtyp.
ENDIF.
GET Fiscal year.
IF NOT zgjahr IS INITIAL.
zgjahr-sign = 'I'.
zgjahr-option = 'EQ'.
APPEND i_zgjahr.
APPEND zgjahr. "IMR928882
ENDIF.
ENDFORM. " GET_SD_DOC_CATEGORY
*& Form GET_OTHER_DATA
text
--> p1 text
<-- p2 text
FORM get_other_data .
IF NOT i_kunag[] IS INITIAL. " KYH25882
SORT i_kunag BY kunag.
DELETE ADJACENT DUPLICATES FROM i_kunag COMPARING kunag.
SELECT kunnr name1 name2 name3 stras ort01 regio pstlz adrnr FROM
kna1 INTO CORRESPONDING FIELDS OF TABLE i_kna1 FOR ALL ENTRIES
IN i_kunag WHERE kunnr = i_kunag-kunag.
SELECT kunnr name1 name2 name3 stras ort01 regio pstlz adrnr FROM
kna1 INTO TABLE i_kna1 FOR ALL ENTRIES "IMR928882
IN i_kunag WHERE kunnr = i_kunag-kunag.
IF NOT I_KNUMV[] IS INITIAL. " KYH25882
SORT I_KNUMV BY KNUMV.
DELETE ADJACENT DUPLICATES FROM I_KNUMV COMPARING KNUMV.
ENDIF. " KYH25882
ENDIF. " KYH25882
ENDFORM. " GET_OTHER_DATA
*& Form PROCESS_DATA
text
--> p1 text
<-- p2 text
FORM process_data .
IF NOT i_vbrk[] IS INITIAL. " KYH25882
DATA: l_sy_tabix LIKE sy-tabix.
CLEAR l_sy_tabix.
SORT i_kna1 BY kunnr.
SORT i_bsad BY belnr.
SORT i_bsid BY belnr.
LOOP AT i_vbrk.
l_sy_tabix = sy-tabix.
PERFORM invoice_total_get. "ppo924692
PERFORM payments_get.
IF NOT zopeninv IS INITIAL AND i_vbrk-opendmbtr = 0.
IF NOT zopeninv IS INITIAL.
start pradeep
perform openinvoices.
DELETE i_vbrk.
CONTINUE.
ENDIF.
PERFORM customer_name_get. "krishna
PERFORM return_cal_sum. "ppo925435
PERFORM dues_data_get. "ppo925435
PERFORM spn_get. "IMR928046
MODIFY i_vbrk INDEX l_sy_tabix.
CLEAR i_vbrk.
ENDLOOP.
ENDIF. " KYH25882
ENDFORM. " PROCESS_DATA
*& Form DISPLAY_SUMMARY_OUTPUT
text
--> p1 text
<-- p2 text
FORM display_summary_output .
IF i_vbrk[] IS INITIAL.
MESSAGE i001(00) WITH 'No data exists for the given selection'.
EXIT.
ENDIF.
PERFORM build_field_cat.
PERFORM call_alv.
ENDFORM. " DISPLAY_SUMMARY_OUTPUT
*& Form BUILD_FIELD_CAT
text
--> p1 text
<-- p2 text
FORM build_field_cat .
DATA: ls_fieldcat TYPE slis_fieldcat_alv.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'VBELN'.
ls_fieldcat-ref_tabname = 'VBRK'.
ls_fieldcat-ref_tabname = 'I_VBRK'.
ls_fieldcat-reptext_ddic = 'Invoice No'.
ls_fieldcat-key = 'X'.
APPEND ls_fieldcat TO fieldcat_sno.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'FKART'.
ls_fieldcat-ref_tabname = 'VBRK'.
ls_fieldcat-ref_tabname = 'I_VBRK'. "IMR928770
ls_fieldcat-reptext_ddic = 'ITyp'.
ls_fieldcat-key = ' '.
APPEND ls_fieldcat TO fieldcat_sno.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'FKDAT'.
ls_fieldcat-ref_tabname = 'VBRK'.
ls_fieldcat-ref_tabname = 'I_VBRK'.
ls_fieldcat-reptext_ddic = 'Bill Dt'. "IMR928770
ls_fieldcat-key = ' '.
APPEND ls_fieldcat TO fieldcat_sno.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'KUNRG'.
ls_fieldcat-ref_tabname = 'VBRK'.
ls_fieldcat-ref_tabname = 'I_VBRK'. "IMR928770
ls_fieldcat-reptext_ddic = 'Bill To #'.
ls_fieldcat-key = ' '.
APPEND ls_fieldcat TO fieldcat_sno.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'KUNAG'.
ls_fieldcat-ref_tabname = 'I_VBRK'.
ls_fieldcat-reptext_ddic = 'Customer #'.
ls_fieldcat-key = ' '.
APPEND ls_fieldcat TO fieldcat_sno.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'NAME1'.
ls_fieldcat-ref_tabname = 'KNA1'. "IMR928770
ls_fieldcat-ref_tabname = 'I_VBRK'.
ls_fieldcat-reptext_ddic = 'Name'.
ls_fieldcat-key = ' '.
APPEND ls_fieldcat TO fieldcat_sno.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'VKGRP'.
ls_fieldcat-ref_tabname = 'VBRP'. "IMR928770
ls_fieldcat-ref_tabname = 'I_VBRK'.
ls_fieldcat-reptext_ddic = 'Spn'.
ls_fieldcat-key = ' '.
APPEND ls_fieldcat TO fieldcat_sno.
CLEAR ls_fieldcat. "IMR928046
ls_fieldcat-fieldname = 'BEZEI'.
ls_fieldcat-ref_tabname = 'TVGRT'.
ls_fieldcat-ref_tabname = 'I_VBRK'.
ls_fieldcat-reptext_ddic = 'Spn Name'.
ls_fieldcat-key = ' '.
APPEND ls_fieldcat TO fieldcat_sno.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'ZTERM'.
ls_fieldcat-ref_tabname = 'VBRK'. "IMR928770
ls_fieldcat-ref_tabname = 'I_VBRK'.
ls_fieldcat-reptext_ddic = 'PayT'. "IMR928770
ls_fieldcat-key = ' '.
APPEND ls_fieldcat TO fieldcat_sno.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'BSTNK_VF'.
ls_fieldcat-ref_tabname = 'VBRK'. "IMR928770
ls_fieldcat-reptext_ddic = 'I_VBRK'.
ls_fieldcat-reptext_ddic = 'Client PO'.
ls_fieldcat-key = ' '.
APPEND ls_fieldcat TO fieldcat_sno.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'XBLNR'.
ls_fieldcat-ref_tabname = 'VBRK'. "IMR928770
ls_fieldcat-reptext_ddic = 'I_VBRK'.
ls_fieldcat-reptext_ddic = 'Ref Doc'.
ls_fieldcat-key = ' '.
APPEND ls_fieldcat TO fieldcat_sno.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'NETWR'.
ls_fieldcat-ref_tabname = 'VBRP'. "IMR928770
ls_fieldcat-reptext_ddic = 'I_VBRK'.
ls_fieldcat-reptext_ddic = 'Invoice Total'.
ls_fieldcat-key = ' '.
APPEND ls_fieldcat TO fieldcat_sno.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'PARTIALPMT'.
ls_fieldcat-ref_tabname = 'I_VBRK'.
ls_fieldcat-reptext_ddic = 'Payment'.
ls_fieldcat-key = ' '.
APPEND ls_fieldcat TO fieldcat_sno.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'DUE1'.
ls_fieldcat-ref_tabname = 'I_VBRK'.
ls_fieldcat-reptext_ddic = 'Due ( 0 - 29)'.
ls_fieldcat-key = ' '.
APPEND ls_fieldcat TO fieldcat_sno.Hi
1. Avoid NE in the select(below)
SELECT vbeln fkart vbtyp knumv fkdat bukrs gjahr kdgrp zterm netwr
kunrg kunag
bstnk_vf xblnr mwsbk rfbsk
INTO CORRESPONDING FIELDS OF TABLE i_vbrk
FROM vbrk WHERE
vbeln IN zvbeln AND
kunag IN zkunag AND
fkdat IN zfkdat AND
xblnr IN zxblnr AND
bstnk_vf IN zbstnkvf AND
vbtyp IN zvbtyp AND
<b>fksto NE 'X'</b> AND
bukrs IN zbukrs .
Instead delete the entries from the table after u fetch the data into i_vbrk.
2. Avoid using INTO CORRESPONDING FIELDS.
3. before using FOR ALL ENTRIES IN l_tab_temp
sort the internal table withrequired keys.
delete the duplicate entries with those fields.
4. this select APPENDING CORRESPONDING FIELDS OF TABLE i_vbrp
is in the DO-ENDDO. if possible move it out of the loop.
use WHILE-ENDWHILE instead of DO-ENDDO.
5. APPENDING CORRESPONDING FIELDS OF TABLE i_vbrp
avoid APPENDING clause. u can create temporary internal table and append the entries accordingly.
6. Avoid Move-corresponding.
7. you have used DELETE statement in Loops. try to avoid that.
hope this helps.
**reward if helpful
regards,
madhu -
More than 999 line items in Invoice
Hi All,
We are having a scenario where more than 999 line items needs to be invoiced in a single billing document. If more than 999 line items are invocied in a single billing document, system can not post the acct document. Our requirement is to create single billing doc for more than 999 and post acct document also successfully.
Please advise if any one has worked on the simillar issue.
Thanks,
RaviHi,
You can not do that with 999 line items in one billing document, the reason is the line items limit in the accounting document, because one line item of billing document must generate two line items (D&C) in the accounting document, although you can maintain the max 999 line items in billing document, but actually the max line items of billing document is 499.
So the other line items more 499 must be generate in a new billing document! Hope can help you understand the scenario.
Regards
Tao -
Need some help on workaround for more than 999 line items in a FI document
Hi all,
user would like to know if there is any way to increase the maximum # of lines for an FI document. Currently, as SAP only allows 999 lines per FI document. The user is encountering an issue when a taxable invoice is uploaded because SAP creates additonal lines for the taxes thereby increasing the line item count beyond the 999 limit. This causes the user to separate out the upload files into several different files which is very time consuming. i have read some replies from previous questions posted on this but none were clear enough on how to actually split the lines and what will happen after the split to the rest of the line items how is the continuation with the first document. can some one give me the explanation or steps on how we can do the split on this document please. we are on 4.6c version. if we have to write some code, what should i explain to the abaper? any kind of inputs would be greatly appreciable.
Thanks in Advance
JayHi,
From your comments, I understand that you are uploading the journals. The steps to handle 999 line items limitation is through functional and technical help.
1. create a dummy GL account
2. In the code, ask the abaper to have a logic such that if more than 900 lineitems (dont check for 999, as some auto postings will be done), then the balance should be loaded to the dummy GL account created and a document should be posted
3. Start reading the remaining docs and follow the same logic as in 2 and ensure that the posting happened in step 2 against dummy GL account should have reversal posting. That is, if step 2 dummy GL account has a credit balance then in step 3 against the same amount a debit entry for the GL account should be posted.
This will ensure that once all the line items are posted, the balance in dummy GL is Zero.
Regards,
Sridevi -
F-44 - Clearing of more than 999 line items
Hi,
I am using transaction code F-44 for clearing vendor line items but vendor line items are more than 999 (In fact they are well above 65000) SAP does not allow postings in a single doc of more than 999 line items.
can someone suggest methe procedure of doing this in a batch?? If so, please specify the procedure and transaction code.
Thanks in advanceHi rajesh,
There is an SAP Notes on this issue <b>117708</b>
Please Read the link below:
Posting document with more than 999 items
Also:
Table inserting 999 recorgs
Hope this helps.
Please assign points as way to say thanks. -
Incoming Payment - Posting more than 999 line items through EDI
Hi guys,
I having following issues.
1. incoming 820 is not posting into customer a/c even I configured processing - REMC but creating payment advice
2. once i tried to process payment advice by using f-28 it is posting in to custmer a/c without payment advice ref. also the payment advice still exist in the system.
3. trying to post payment advice having more than 999 items by using f-28 system shows error after 999 items.
4. I tried to process payment advice executing through RFAVIS40 error displays "Payment advice note in Customizing not defined for posting"
I appreciate if some one guide me to solve above.
Thanks,
RK
Message was edited by: RK TalabathulaHi RK,
Pt 3: There is an SAP Notes on this issue 117708 ,
also refer Re: F-44 - Clearing of more than 999 line items
Pt 4: Check OSS note 17449 see for "Payment
advice upon form overflow"
hope this helps.
Please assign points as way to say thanks
Ravi Rana -
Plz help production issue(smartform)
hi experts plz help its a production issue
i have a box in my smartform in which in one line i can only show 50 characters .and i have a text of 70 characters but i only have to show 50 characters from 70 characters .
now wat i did i stored 70 characters variable into 50 char variable abd displaying it .
but the issue is
if i want to print .
hi this is sdn and here u can get all the information about sap .
now lets say
i of information is the 46th character of my line
now what is happening it is coming like
hi this is sdn and here u can get all the
infor
its showing 50 character only but if word is not completed it is printing it in next line.
it should print like
hi this is sdn and here u can get all the infor
plz help how to do it
thanx in advance .code i am using is ::::::::::::::::::::::::::::::::::::::::::::::::
data : TEXT_3I56(50) type c .
move is_bil_invoice-hd_gen-bil_number TO textname.
CALL FUNCTION 'READ_TEXT'
EXPORTING
CLIENT = SY-MANDT
id = '0002'
language = is_nast-spras
name = textname
object = 'VBBK'
ARCHIVE_HANDLE = 0
LOCAL_CAT = ' '
IMPORTING
HEADER =
tables
lines = t_lines_3156
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 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.
*describe table t_lines lines n.
*if not n is initial.
*bank_note = 'X'.
*endif.
READ TABLE T_LINES_3156 INDEX 1 .
IF SY-SUBRC = 0 .
TEXT_3I56 = T_LINES_3156-TDLINE .
ENDIF. -
While clearing document has more than 999 line items system not allowing
Hi,
We have an issue with FI-Customer Clearing. While clearing the error is appearing as document has more than 999 line items. after the detailed checking we found that there are lots of line items posted to Real Exchange Rate diff that to COPA.
To reduce the maximum line items SAP is suggesting to deactivate the Real exchange rate diff.postings to COPA.
Regards,
R.Kumar.Hi,
Please check SAP Note 1353125
Thanks -
Morethan 999 line items for vendor invoices
Hi All,
we had issue for an Invoice upload.
we are uploading the Invoice contains morethan 999 line items. but we are facing error for morethn 999 line items can't post when uploading thorugh ZFB60 transaction.
please advise if any SAP notes are exist or any idea.
Thanks and regards
Prathap
< Please search. >Hi,
What error you are getting? Can you tell me clearly....
Regards,
Mohan. -
More than 999 line items for an FI Document
Hello All,
Per SAP standard, an accounting document can only contain up to 999 line items. However, we have Logistics posting (Backflush) that would yield more than 999 line items in FI. We can't opt for setting summarization in transaction OBCY (FI Summarization based on Object Type) since this would affect GR/IR clearing. We can select reference transaction key MKPF (Material Doc Table) and table BSEG (Field MENGE <Qty>) but GR/IR clearing would be affected since definition of clearing is at Purchasing Doc (EBELN) and Item (EBELP).
Do you have other recommendations?
Thanks.Dear scorpio0485,
Yes ! I have already done posting for morethan 999 line items. but in the standard program we cant do it. We need to go for Z process.
In Zprocess we need to put one cut off line item for ex : 900 or 950. After that hardcode one GL code(clearing GL Code) in program to split the line items. Means the system generates 2 documents.
Please give the following Code to ABAPer
AT END OF xblnr.
mtab[] = ttab[].
CLEAR v_count1.
DESCRIBE TABLE ttab LINES v_lines.
LOOP AT ttab INTO wa_ttab.
v_tabix = sy-tabix.
v_count = v_count + 1.
IF v_count EQ 900.
count = count + 1.
v_count1 = v_count + v_count1.
MOVE-CORRESPONDING wa_ttab TO wa_xtab.
IF v_wtotal < 0.
wa_xtab-newbs = '40'.
wa_xtab-newko = '00003100001'.
ELSE.
wa_xtab-newbs = '50'.
wa_xtab-newko = '00003100001'.
ENDIF.
IF v_dtotal < 0.
wa_xtab-newbs = '40'.
wa_xtab-newko = '0003100001'.
ELSE.
wa_xtab-newbs = '50'.
wa_xtab-newko = '0003100001'.
ENDIF.
IF v_dtotal LE 0.
v_dtotal = v_dtotal * -1.
ENDIF.
IF v_wtotal LE 0.
v_wtotal = v_wtotal * -1.
ENDIF.
wa_xtab-prctr = '0000900008'.
wa_xtab-dmbtr = v_dtotal .
wa_xtab-wrbtr = v_wtotal .
If you need anymore,please let us know -
Hi all,
In the SD, for One Post Goods Issue Material document and FI document generated.
Accounting document contains two line items.
If the Post Goods Issue contains More than 500items then in FI document generates with more than 1000 line items.
But as per std SAP, Per document 999 line items only.
Client wants to post at a time more than 500 items (DN) Post Goods Issue then more than 1000 line items generated.
How to post morethan 500 items in DN.
Thanks
venuHi
OSS Note 36353:
Summary
Symptom
When you post documents using the AC interface (from SD, MM or other applications), items appear in the FI document which are identical in all or in almost all fields.
This can also cause error message F5 727 ("Maximum number of items in FI reached"). The system issues this error if more than 999 items occur in an FI document.
Other terms
SAPLFACI, VF01, VF02, VF04, MB01, MB11, MR1M, CO15, BSEG, totaling,
document summarization, CKMI_RUN, F5 272, F1 807
Reason and Prerequisites
The system will only total items in the FI document if you made the proper settings for this action in Customizing (= sending application, for example: VBRK for SD, MKPF for MM Position Management, RMRP for MM Logistics Invoice Verification).
There is no summarization, for documents which are entered in FI (object type BKPF) application (for example EDI invoice receipt, FB01, MR0) or in invoice verification (MR01) (with object type BKPF).
The system can only total items in the FI document if they have the same account assignments and only differ in the value fields.
It is therefore not possible to carry out the totaling across different G/L accounts.
The summarization can be achieved by deleting certain fields in all items (can be configured in Customizing).
As a consequence, these fields will not contain data in the FI document. They are therefore no longer available for selection, clearing or reconciliation with other applications.
This field deletion only affects the FI document, not documents from other AC applications.
The field contents deleted in the FI document are still available for the other AC applications and can be updated there. The AC applications are not updated on the basis of the FI document. In addition, there are other summarization procedures in other applications, for example in CO (Note 147766).
Solution
Procedure for configuring summarization:
Carry out the following actions for each object type (sending application, AWTYP field), for which you want to summarize FI documents.
You can find the AWTYP object type on the detail screen 'Document header' under the 'Name' field when you display the document using transaction FB03.
1. If you think an FI document has too many items, find out in which fields the items differentiate.
To do so, display the FI document (FB03) or table BSEG and ONE FI document (SE16).
2. If there are items which are the same in all same account assignments:
Make the following entry in the TTYPV table (transaction OBCY):
Table Field name
As a consequence, items which are the same in all fields except value fields are totaled, that is, they are combined into a single item.
(The '* ' entry can only be made in Release 3.0D or higher.) If you use a release lower than 3.0D, enter any field which, when deleted, will not disrupt transactions from the affected application. As of Release 4.0, the ' ' entry can no longer use transaction SM31 (view maintenance) to make the entry in the TTYPV table. Check whether you can replace the entry ' ' with a field name. The corrections from this note enable you to use the report ZTTYPV to enter ' *' for the relevant object type.)
3. If there are ITEMS which differ in specific fields:
Enter the fields in the TTYPV table.
The contents of the fields entered in the TTYPV table are deleted.
This has a higher summarization effect than entry '* *'!
Typical fields for each application are:
Application AWTYP Table Field name
SD VBRK BSEG MATNR
Billing MEINS
MENGE
PAOBJNR
POSN2
VBEL2
WERKS
MM MKPF BSEG BPMNG
Position Management BPRME
ERFME
ERFMG
MATNR
MEINS
MENGE
PAOBJNR
POSN2
WERKS
BWTAR
MM RMRP BSEG BPMNG
Logistics BPRME
Invoice Verification ERFME
ERFMG
MATNR
MEINS
MENGE
PAOBJNR
WERKS
As of 4.0A
HR HRPAY see Note 116523
Payroll accounting
The list of the allowed fields in Release 3.1I includes the following entries in the TTYPS table:
BSEG BPMNG
BSEG BPRME
BSEG BWTAR
BSEG ERFME
BSEG ERFMG
BSEG MATNR
BSEG MEINS
BSEG MENGE
BSEG PAOBJNR
BSEG POSN2
BSEG PPRCT
BSEG VBEL2
BSEG WERKS
BSEG PRCTR (for restrictions see below)
BSEG FKBER (Note 413418)
General remarks:
Items with identical account assignments but different debit/credit codes (BSEG-SHKZG) will NOT be put together as a single item (for example, revenues and sales deductions in billing documents).
In releases lower than 3.0F, the system did not allow all of these fields as entries for the TTYPV table. To expand the number of fields allowed for the TTYPV table, enter the fields in the TTYPS table. (Call transaction SM31 (view maintenance) to add an entry to the V_TTYPS view.) (You can only add the BSEG BWTAR field using transaction SE16 (table maintenance) for the TTYPS table). The standard system only contains the BSEG-PRCTR field is only contained in the TTYPS table as of Release 4.6B.
This is an SAP table modification. Only enter the fields listed above. Do not enter any other fields without first contacting SAP, since these fields will then be deleted in every FI document from the application in question.
Notes:
When you carry out summarization using the material number (MATNR) during position management or invoice verification transactions, the 'material number' information is lost in the BSEG document table of Financial Accounting. Therefore no entries are written to the BSIM table. This can have the following consequences:
Transactions such as MR51 (accounting documents for material) or MB5B (balance at posting date) produce incorrect results.
The evaluation of balances at material number level (characteristic 0MATERIAL) in the SAP Business Information Warehouse displays faulty or incomplete results.
You can no longer use the Value Flow Monitor (transaction CKMVFM) to compare differences at material level between price difference accounts and the relevant FI postings.
If you delete the material number (MATNR), the amount (MENGE), the unit of measure (MEINS) or the plant (WERKS) in position management, this information is no longer available in financial accounting. The RMVKON00 report (transactions MRKO and MRPI) however, which indicates and settles the consignation stock, is based on the documents of financial accounting. This has two consequences:
If the FI documents are not summarized, each individual withdrawal is indicated in the report and can also be individually settled. If the FI documents are summarized, several withdrawals can be displayed in one single report line and can no longer be separately settled. Furthermore, certain data, such as material number, amount and unit of measure, may no longer be displayed.
If in the FI documents the material number or the plant is deleted and you settle the withdrawal, the tax codes that you defined using the tax indicator (in the material master) or in a purchasing info record can no longer be found. Instead, only the tax code that you defined as default value in the Customizing settings for the invoice verification (transaction OMR2) is determined. If no valid tax code has been defined there, the settlement terminates with message FF 704.
Read Note 38982 to learn how to determine the tax code.
In Release 4. 0A, these restrictions no longer apply to the RMVKON00 report.
Clearing of the GR/IR clearing account for each purchase order item: The account assignments to the purchase order (EBELN) and to the purchase order item (EBELP) are NOT deleted by default. In both the goods receipt with reference to the purchase order (MB01) and the invoice verification, they are assigned to an account in the FI document and thus PREVENT the summarization of the FI document.
This makes it possible to clear the GR/IR clearing account at purchase order item level.
Using Profit center for summarization
If you summarize using the Profit center field in FI, only FI and PCA balances can be reconciled at account level.
A summarization using the Profit center field is only worthwhile if other CO account assignments are also summarized. These account assignments are therefore also not available for a derivation of the Profit center field when the FI document are subsequently posted to Profit Center Accounting using transaction 1KE8. Since summarized documents are always postings the original of which is not posted in FI, you should subsequently post such documents from the sending application component anyway. However, you can directly transfer unoriginal FI documents using Note 102634 or, as of Release 4.5B, using the standard system. In this case, you must make sure that this function is not used for the summarized documents.
For the reason stated above, a summarization using the Profit center field is only worthwhile for transaction HRPAY. Note that HR only supports a subsequent posting from the sending application component as of Release 4.5A. In the releases 4.0A up to and including 4.0B, no programs are available in the standard system to generate subsequently the profit center document. You should implement Note 118533 in these releases beforehand to make sure that the online document flow from HR to PCA works.
A summarization using the Profit center field should definitely not be carried out in Releases 4.0A and 4.0B if the online update to Profit Center Accounting has not been activated in the fiscal year or if it should be activated subsequently (mid-year).
Header Data
Release Status: Released for Customer
Released on: 11.10.2007 08:21:39
Priority: Correction with medium priority
Category: Customizing
Primary Component: FI Financial Accounting
Releases
Software
Component Release From
Release To
Release And
subsequent
SAP_APPL 30 300 31H
SAP_APPL 40 40A 40A
SAP_APPL 45 45A 45A
SAP_APPL 46 46A 46A
SAP_APPL 470 470 470
SAP_APPL 500 500 500
SAP_APPL 600 600 600
Highest Implemented Support Package
Support
Packages Release Package
Name
SAP_APPL 40B SAPKH40B28
SAP_APPL 45B SAPKH45B09
SAP_APPL 46B SAPKH46B01
SAP_HR 40B SAPKE40B28
Related Notes -
Errors occured during extraction - Production issue
Hi Friends,
I have a production issue occured last night and I was hoping, I would get some help around this issue...
Two extractor loads failed last night with short dumps..I see Total column in RSA7 has numbers in it.But when I display the record, it is leading to a short dump.Both extractors are standard extractors.
2LIS_02_SGR and 2LIS_03_UM.I tried with RSA3, it also failed.
MESSAGE_TYPE_X and code SY 097
This is message in the short dump
Module LRSC2U01
Select TID block from STATE table
SELECT * INTO TABLE L_T_STATE
FROM ARFCSSTATE FOR ALL ENTRIES IN L_TH_TID_IDX
WHERE ARFCIPID EQ L_TH_TID_IDX-TID-ARFCIPID
AND ARFCPID EQ L_TH_TID_IDX-TID-ARFCPID
AND ARFCTIME EQ L_TH_TID_IDX-TID-ARFCTIME
AND ARFCTIDCNT EQ L_TH_TID_IDX-TID-ARFCTIDCNT
ORDER BY PRIMARY KEY.
Consistence check
DESCRIBE TABLE L_T_STATE LINES L_LINES.
IF L_LINES NE L_BLOCK_SIZE OR
L_LINES EQ 0.
MESSAGE X097(SY). <=== Error Here
ENDIF.
Thanks
PriyaAfter debugging the standard extractor's source code, found out that In the internal table of 2LIS_03_UM, an entry was made from 2LIS_02_SGR Extractor and Internal Table for 2LIS_02_SGR extractor, an entry was made from 2LIS_03_UM .
The issue occurred last night because both Transactions were made at the same time and all other primary key fields has same entries and these are the fields the code is executing on.
Basically ARFCSSTATE has duplicate entries on First 4 fields of the table, where as the actual data is only for one record and there is a mismatch while reading internal table which is leading to the short dumps
Ex: In RSA7 has 20 entries and ARFCSSTATE has 21 records( One entry is a duplicate record from the other extractor)
Does anyone encountered this kind of problem before?
Thanks
Priya -
PRODUCTION ISSUE - Receivemail java procedure
Hi guys
I have this java program below, this program receives mail from a user general mailbox and displays it as in a Java Front End System as a request. Users are able to attach any type of attachments and even embedded emails.
My java program works for all attachments types except if the attachment is an email, it does not move it over or even recognize it. I thought it was because I was checking for attachments only for multipart emails but I tried checking for attachment for singlepart emails but I didn't get any desired results. Please help me guys as this is a production issue and I am on the line.
Here is the code:
DROP JAVA SOURCE CQ.RECEIVEMAIL;
CREATE OR REPLACE AND RESOLVE JAVA SOURCE NAMED CQ.RECEIVEMAIL as import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;
import java.io.*;
import java.sql.*;
import sqlj.runtime.*;
import oracle.sql.BLOB;
public class ReceiveMail
static void getAttachments(Message message, int incidentNo)
throws MessagingException, IOException, SQLException {
//String attachments = "";
Object content = message.getContent();
if (content instanceof Multipart)
// -- Multi part message which may contain attachment
Multipart multipart = (Multipart)message.getContent();
// -- Loop through all parts of the message
for (int i=0, n=multipart.getCount(); i<n; i++) {
Part part = multipart.getBodyPart(i);
String disposition = part.getDisposition();
//--if (Part.ATTACHMENT.equals(disposition)) {
if ((disposition != null) && (disposition.equals(Part.ATTACHMENT) || disposition.equals(Part.INLINE))) {
//-- This part is a file attachment
// --String fileName = incidentNo+"_"+part.getFileName().replace(' ','_');
String fileName = part.getFileName().replaceAll(" ","");
System.out.println("FILE: " + fileName);
String contentType = part.getContentType();
String mimeType = contentType.substring(0,contentType.indexOf(";"));
System.out.println("FILETYPE: " + mimeType);
InputStream is = part.getInputStream();
// -- To work with a BLOB column you have to insert a record
// -- with an emptly BLOB first.
#sql { insert into cq_incoming_attachments(att_seq, att_in_seq, att_file, att_attachment)
values (:incidentNo, :incidentNo||'_'||:i, :fileName, empty_blob()) };
// -- Retrieve the BLOB
BLOB attachment = null;
#sql { select att_attachment
into :attachment
from cq_incoming_attachments
where att_file = :fileName
and att_seq = :incidentNo
and att_in_seq = :incidentNo||'_'||:i };
// -- Fill the BLOB
OutputStream os = attachment.getBinaryOutputStream();
int j;
while ((j = is.read()) != -1) {
os.write(j);
is.close();
os.close();
// -- Set the BLOB by updating the record
#sql { update cq_incoming_attachments
set att_attachment = :attachment
where att_file = :fileName
and att_seq = :incidentNo };
#sql { update mail_inbox set attachment = 'Y', att_name = trim(att_name||' '||:fileName)
where att_seq = :incidentNo };
static String getPlainTextBody(Message message)
throws MessagingException, IOException
Object content = message.getContent();
//--if (message.isMimeType("text/plain")) {
if (message.isMimeType("text/plain")) {
// -- Message has plain text body only
System.out.println("SIMPLE TEXT");
return (String) content;
} else if (message.isMimeType("multipart/*")) {
// -- Message is multipart. Loop through the message parts to retrieve
// -- the body.
Multipart mp = (Multipart) message.getContent();
int numParts = mp.getCount();
System.out.println("MULTIPART: "+numParts);
for (int i = 0; i < numParts; ++i) {
System.out.println("PART: "+mp.getBodyPart(i).getContentType());
if (mp.getBodyPart(i).isMimeType("text/plain")) {
// -- Return the plain text body
return (String) mp.getBodyPart(i).getContent();
} else if (mp.getBodyPart(i).isMimeType("multipart/*")) {
// -- Body is also multipart (both plain text and html).
// -- Loop through the body parts to retrieve plain text part.
MimeMultipart mmp = (MimeMultipart) mp.getBodyPart(i).getContent();
int numBodyParts = mmp.getCount();
System.out.println("MULTIBODYPART: "+numBodyParts);
for (int j = 0; j < numBodyParts; ++j) {
System.out.println("BODYPART: "+mmp.getBodyPart(j).getContentType());
if (mmp.getBodyPart(j).isMimeType("text/plain")) {
// -- Return the plain text body
//--return (String) mmp.getBodyPart(j).getContent();
return (String) mmp.getBodyPart(j).getContent();
return "";
} else {
System.out.println("UNKNOWN: "+message.getContentType());
return "";
static void saveMessage(Message message, String insystem)
throws MessagingException, IOException, SQLException
//String body = "";
int incidentNo;
// -- Get a new incident number
#sql { select seq_incident.nextval into :incidentNo from dual };
// -- Get the from address information
String from;
if(message.getFrom() != null){
from = ((InternetAddress)message.getFrom()[0]).getAddress();
}else{
from = " ";
// -- Get the reply address information
String reply;
if(message.getReplyTo() != null){
reply = ((InternetAddress)message.getReplyTo()[0]).getAddress();
}else{
reply = " ";
// --String reply = ((InternetAddress)message.getReplyTo()[0]).getAddress();
// -- Get the to address information
String to = InternetAddress.toString(message.getRecipients(Message.RecipientType.TO));
// -- Get the cc address information
String cc = InternetAddress.toString(message.getRecipients(Message.RecipientType.CC));
// -- Get the bcc address information
String bcc = InternetAddress.toString(message.getRecipients(Message.RecipientType.BCC));
// -- Get the sent and receive date
java.util.Date receive = message.getSentDate();
java.sql.Date sent = new java.sql.Date(receive.getTime());
// -- Get the message subject information
String subject = message.getSubject();
// -- Retrieve the plain text body
String body = getPlainTextBody(message);
// --Check string lengths before insert into mail_inbox
if (body.length() > 3999) {
body = body.substring(0,3999);
// -- Store the message in the email table
#sql { insert into mail_inbox (from_address, reply_address, to_address, cc_address, bcc_address, sent_time, received_time, subject,
mail_body,in_system, proc_ind, attachment, att_name, att_seq)
values (substr(:from,1,200),
substr(:reply,1,200),
nvl(substr(:to,1,200),' '),
substr(:cc,1,500),
substr(:bcc,1,500),
:sent,
:sent,
substr(nvl(:subject,'NO SUBJECT'),1,200),
substr(nvl(:body,'NO MAIL BODY'),1,4000),
substr(:insystem,1,100), 'N', 'N', null,
:incidentNo) };
// --mail_body,
// --nvl(substr(:body,1,4000),'null'),
// -- Retrieve the attachments
getAttachments(message, incidentNo);
#sql { commit };
public static String Receive(String POP3Server, String usr, String pwd, String insystem)
Store store = null;
Folder folder = null;
Folder dfolder = null;
try
// -- Get hold of the default session --
Properties props = System.getProperties();
props.put("mail.pop3.connectiontimeout", "60000");
Session session = Session.getDefaultInstance(props, null);
// -- Get hold of a POP3 message store, and connect to it --
// --store = session.getStore("pop3");
store = session.getStore("imap");
store.connect(POP3Server, usr, pwd);
System.out.println("Connected");
// -- Try to get hold of the default folder --
folder = store.getDefaultFolder();
if (folder == null) throw new Exception("No default folder");
// -- ...and its INBOX --
folder = folder.getFolder("INBOX");
if (folder == null) throw new Exception("No IMAP INBOX");
// -- Open the folder for read_write (to be able to delete message) --
folder.open(Folder.READ_WRITE);
dfolder = folder.getFolder("READ_ITEMS");
// -- Get the message wrappers and process them --
Message[] msgs = folder.getMessages();
for (int msgNum = 0; msgNum < msgs.length; msgNum++){
try
saveMessage(msgs[msgNum], insystem);
catch (Exception ex){
msgs[msgNum].setFlag(Flags.Flag.DELETED, true);
// -- Copy message from INBOX to READ_ITEMS
// --folder.copyMessages(msgs, dfolder);
// -- Delete message in inbox
// --msgs[msgNum].setFlag(Flags.Flag.DELETED, true);
folder.copyMessages(msgs, dfolder);
Message[] msgs1 = folder.getMessages();
for (int msgNum1 = 0; msgNum1 < msgs1.length; msgNum1++){
// -- Delete message in inbox
msgs1[msgNum1].setFlag(Flags.Flag.DELETED, true);
System.out.println("No more messages");
return ("SUCCESS");
catch (Exception ex){
ex.printStackTrace();
return ex.toString();
finally{
// -- Close down nicely --
try{
// close(true), to expunge deleted messages
if (folder!=null) folder.close(true);
if (store!=null) store.close();
catch (Exception ex){
//ex.printStackTrace();
return ex.toString();
Edited by: Gizo on 2010/06/10 12:53 AMIf your application use a lot of native code in same
process with jvm, errors in native part can easily
cause jvm fatal crashes. Some of such errors
reproduced only in stress condition (e.g. on
production server). -Xcheck:jni can help you in most
basic cases.
You can also try running some bounds checkers to
dinamicly verify you native code for pointer safety.Thanks for the quick response, zhmur.
Do you have any pointers to documentation regarding "-Xcheck:jni"? I searched this site and nothing was returned.
Also, is there a way to initiate a thread dump when the process terminates? This would at least identify patterns when the process terminates. -
Pleassss i want to know bi 7 supporting project point or production issue
Hi expert,
i am pradeep .a job seeker could pleassss help me. i want to know bi 7 supporting project point or production issue and in bi 7 what are role in production project .shore to assign point my id is [email protected]
thanks®ards
pradeep.kHi,
It may vary in different projects.
I can just give you a couple of general roles in Support project
Data Load Monitoring:
1.Carried out data load on a daily, weekly and monthly basis using Process chains from both SAP Source systems as well as Non-SAP Source systems such as Informatica.
2.Resolving Data load error such as Invalid characters, Time period conversion, Currency conversion, Duplicate records, etc
3.Ensuring the availability of the updated data in the datatarget on time.
4.Spooling out data through Infospoke from SAP BW to systems like Trillium, Ariba (Reporting Tool)
Ticket Resolution:
1.Process chain modification: Working on Optimizing Process chain by creating new process chain considering the load dependencies.
2.Reloading of R/3 data from different clusters Reconciliation issues
3.Enhancements as per Business requirement.
Additional responsibilities:
Preparing design documents from the Business Requirement docs and identified the relevant data targets for satisfying the customer requirements.
Creation of Operational manual: BW Run & Maintain Support.
Process Chain Detail Documentation (Sequencing & Dependency within Local Chains).
Monitoring checklist Document (From Process Chain Perspective)
BW Doc checklist preparation
Table space activity with basis team.
Data load analysis taking into account the CPU utilization.
Applying Support packs and performing ORT.
Refer
Roles & Responsibilities for Junior & Senior consultants(Technical)
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/08f1b622-0c01-0010-618c-cb41e12c72be
Production and Implementation
/message/4755150#4755150 [original link is broken]?
hope this helps,
Thanks, -
How to upload a file which has more than 999 line item through BDC ?
Hello Techards
Hi to all
Can any body tell me how to upload a file which has more than 999 line item through BDC for traction F-02 ?
Thanks in advance.
ShovanHello Shovan,
You split it up to post two accounting documents with the help of a "suspense" a/c.
Say, you have to post the following line items below:
line 1 - dr. - GL a/c X - $1000
line 2 - cr. - GL a/c Y - $1
line 3 - cr. - GL a/c Y - $1
line 1001 - cr. - GL a/c Y - $1
You cannot post the above as a single doc in SAP (because of technical reasons), so you need to break it up into 2 documents as below:
Doc1
line 1 - dr - GL a/c X - $1000
line 2 - cr - GL a/c Y - $1
line 3 - cr - GL a/c Y - $1
line 998 - cr - GL a/c Y - $1
line 999 - cr - SUSPENSE a/c - $3
Doc2
line 1 - dr - SUSPENSE a/c - $3
line 2 - cr - GL a/c Y - $3
Note that there is no incorrect impact on accounting as first we credit suspense a/c by $3 and next we debit the same suspense a/c by $3 as a result the effect is nil. Similarly, we credit $997 to GL a/c Y (which is less by $3) in the first doc which is compensated by the second doc by crediting the shortfall of $3.
Hope this helps,
Cheers,
Sougata.
Maybe you are looking for
-
I can buy galaxy s III for $52 less from Walmart, Las Vegas with my upgrade. Verizon tells me that is 3rd party purchase and that is risky. would you buy from 3rd party? it is $199 versus $148
-
How can i install software 5.1.1 on my 3g ipod touch?
Dear all, When i search for a new update on itunes it says i already have the newest update. But that is not true because my ipod has ios 4.2.1. Can somebody help me with this problem? because i need ios 5.1.1 to install apps from the appstore. I rea
-
Cannot install Reader in Windows 7
I have a Windows 7 ultimate OS. I cannot install Reader on it. I have Flash player on it. but some how the reader isn't getting installed. When i run the setup file of Reader, it starts its processing phase, as it should. But after the completion of
-
Images not loading up in dreamweaver
Hi, I am trying to make a website, and i have a background image displayed within a page, i have inserted it into a table, though for some reason, the image will not display, instead a grey image with an large x extends to all corners/lines appears.
-
Can i use my mac licence for windows
I have a cs5.5 licence for my Mac but I have a windows laptop and would like to know if I download Cs5.5 from the Adobe website am I able to use the serial number for my license to work?