11-01-2007 6:03 AM
I am writing data from internal table to application server using datasets.
I want that the text file which gets created at server should have seperator as semicolon.How do i do it?How do i ensure that when i use transfer statement the fields are seperated by semicolon.
Following code i hv written...
SELECT * FROM t777a INTO TABLE gt_itab1.
OPEN DATASET dataset_one FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
IF sy-subrc EQ 0.
LOOP AT gt_itab1 INTO gwa_itab1.
TRANSFER gwa_itab1 TO dataset_one.
ENDLOOP.
ENDIF.
how do i ensure that .txt file contains semicolon seperated values?
11-01-2007 6:07 AM
Hi Mohit,
You need to handle it in your code
data l_string type string.
LOOP AT gt_itab1 INTO gwa_itab1.
CONCATENATE field1 ',' field2 ',' ...INTO l_string.
TRANSFER l_stringTO dataset_one.
ENDLOOP.
ENDIF
regards,
Atish
11-01-2007 6:07 AM
Hi,
Pass the internal table to the function module SAP_CONVERT_TO_TEX_FORMAT and pass semi colon in the parameter i_field_seperator
Thanks
naren
11-01-2007 6:07 AM
Hi Mohit,
You need to handle it in your code
data l_string type string.
LOOP AT gt_itab1 INTO gwa_itab1.
CONCATENATE field1 ',' field2 ',' ...INTO l_string.
TRANSFER l_stringTO dataset_one.
ENDLOOP.
ENDIF
regards,
Atish
11-01-2007 6:21 AM
Thx atish,that is fine but the prob wid this is if there are many fields ,suppose 30 then i will have to concatenate all the fields explicitly...it must be done dynamically wihout knowing how many fields are there...
Message was edited by:
mohit chopra
11-01-2007 6:30 AM
Hi Mohit..
If u want to Concatenate the components Dynamically use the Field symbols concept.
Eg:
field-symbols: <fcomp> type any.
DATA : V_sTR TYPE STRING.
Loop at Itab INTO WA..
Do .
ASSIGN-COMPONENT SY-INDEX OF STRUCTURE WA TO <FCOMP>
CASTING TYPE C.
IF SY-SUBRC NE 0.
EXIT.
ELSE.
CONCATENATE V_STR <FCOMP> TO V_STR
SEPARATED BY CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB.
ENDIF.
Enddo.
TRANSFER V_STR TO P_FILE.
ENDLOOP.
REWARD IF HELPFUL.
11-01-2007 7:10 AM
11-01-2007 6:10 AM
Hi,
You have to handle it in your code, add one field int your internal table type character and length 1 and pass semi colon to that field.
Regards,
Prashant
11-01-2007 6:25 AM
thx prashant..how will adding a field of type char(1) having semicolon as value help?
11-01-2007 6:30 AM
Hi,
Refer This code.
report zzfi_down_egate no standard page heading line-size 200.
.
----
Program : ZZFI_DOWN_EGATE *
Title : Download from e-agate SAP system *
Created By : *
Function Spec.: Billy *
Date : 29.Mar.2007 *
----
Description : The requirement is to export data file in specific *
format from e-gate SAP system for data migration to *
GG SAP system. *
----
Modifications : Anupam Chakrabarti-CSSL,05-Apr-2007------------------*
----
Reference | Description *
| *
| *
| *
----
----
Tables *
----
tables : glt0, "G/L account master record transaction figures
bsis,
skb1,
t001,
bsik, "Accounting: Secondary Index for Vendors
bsid. "Accounting: Secondary Index for Customers
----
Data *
----
*--Variables
data : i_index type sy-tabix, "Index
i_file(100) type c.
data : i_faedt like rfpos-faedt.
----
Type *
----
*--Structure for BSID
types : begin of ty_bsid,
recty(1) type c,
bschl type bschl,
bukrs type bukrs,
kunnr type kunnr,
wrbtr type wrbtr,
wmwst type wmwst,
prctr type prctr,
zfbdt type dzfbdt,
charg type charg_d,
belnr type belnr_d,
copa_comp(1) type c,
copa_cus(1) type c,
copa_prc(1) type c,
copa_sc(1) type c,
copa_fn(1) type c,
dmbtr type dmbtr,
shkzg type shkzg,
sgtxt type sgtxt,
zuonr type dzuonr,
end of ty_bsid,
*--Structure for BSIK
begin of ty_bsik,
recty(1) type c,
bschl type bschl,
bukrs type bukrs,
lifnr type lifnr,
wrbtr type wrbtr,
wmwst type wmwst,
mwskz type mwskz,
kostl type kostl,
prctr type prctr,
zlspr type dzlspr,
hbkid type hbkid,
zterm type dzterm,
cdate type dzfbdt,
charg type charg,
belnr type belnr_d,
zlsch type dzlsch,
dmbtr type dmbtr,
zfbdt type dzfbdt,
zbd1t type dzbd1t,
zbd2t type dzbd2t,
zbd3t type dzbd3t,
rebzg type rebzg,
shkzg type shkzg,
sgtxt type sgtxt,
zuonr type dzuonr,
end of ty_bsik,
*--Structure for BKPF
begin of ty_bkpf,
recty(1) type c,
bukrs type bukrs,
belnr type belnr_d,
bldat type bldat,
budat type budat,
monat type monat,
gjahr type gjahr,
blart type blart,
waers type waers,
kursf type kursf,
xblnr type xblnr,
bktxt type bktxt,
end of ty_bkpf,
*--Structure for GLT0
begin of ty_glt0,
recty(1) type c,
newbs type bschl,
bukrs type bukrs,
drcrk type shkzg,
racct type racct,
ryear type gjahr,
wrbtr type wrbtr,
dmbtr type dmbtr,
mwskz type mwskz,
prctr type prctr,
kostl type kostl,
zuonr(18) type c,
sgtxt(50) type c,
zlsch type dzlsch,
zterm type dzterm,
end of ty_glt0.
data: begin of it_bsid_s occurs 0.
include structure bsid.
data end of it_bsid_s.
data: begin of it_bsik_s occurs 0.
include structure bsik.
data end of it_bsik_s.
data: begin of it_balance occurs 0.
include structure bapi1028_4.
data end of it_balance.
data: begin of it_glhdr occurs 0.
include structure skb1.
data end of it_glhdr.
----
Work Area *
----
data : wa_bsid type ty_bsid,
wa_bsik type ty_bsik,
wa_hdid type ty_bsid,
wa_hdik type ty_bsik,
wa_hdgl type ty_glt0,
wa_bkid type ty_bkpf,
wa_bkik type ty_bkpf,
wa_bkgl type ty_bkpf,
wa_glt0 type ty_glt0.
data: begin of wa_bkpf,
rec_type(1),
com1,
xblnr(15),
com2,
bukrs like bkpf-bukrs,
com3,
blart like bkpf-blart,
com4,
bldat like bkpf-bldat,
com5,
budat like bkpf-budat,
com6,
monat like bkpf-monat,
com7,
bktxt like bkpf-bktxt,
com8,
waers like bkpf-waers,
end of wa_bkpf.
data: begin of wa_bsid_s,
rec_type(1),
com1,
bschl like bsid-bschl,
com2,
kunnr like bsid-kunnr,
com3,
wrbtr like bsid-wrbtr,
com4,
wmwst like bsid-wmwst,
com5,
prctr like bsid-prctr,
com6,
zfbdt like bsid-zfbdt,
com7,
batch,
com8,
belnr(15),
com9,
copa_comp,
com10,
copa_cus,
com11,
copa_prc,
com12,
copa_sc,
com13,
copa_fn,
com14,
dmbtr like bsid-dmbtr,
sgtxt like bsid-sgtxt,
com15,
zuonr like bsid-zuonr, "By Kavita
end of wa_bsid_s.
data: begin of wa_bsik_s,
rec_type(1),
com1,
bschl like bsik-bschl,
com2,
lifnr like bsik-lifnr,
com3,
wrbtr like bsik-wrbtr,
com4,
wmwst like bsik-wmwst,
com5,
mwskz like bsik-mwskz,
com6,
kostl like bsik-kostl,
com7,
prctr like bsik-prctr,
com8,
zlspr like bsik-zlspr,
com9,
hbkid like bsik-hbkid,
com10,
zterm like bsik-zterm,
com11,
calc_date like sy-datum,
com12,
batch,
com13,
tran_no(15),
com14,
zlsch like bsik-zlsch,
com15,
dmbtr like bsik-dmbtr,
sgtxt like bsik-sgtxt,
com16,
zuonr like bsik-zuonr, "By Kavita
end of wa_bsik_s.
data: begin of wa_glhdr,
rec_type(1),
com1,
bukrs like bkpf-bukrs,
com2,
bldat like bkpf-bldat,
com3,
budat like bkpf-budat,
com4,
monat like bkpf-monat,
com5,
blart like bkpf-blart,
com6,
waers like bkpf-waers,
com7,
kursf,
com8,
xblnr like bkpf-xblnr,
com9,
bktxt like bkpf-bktxt,
end of wa_glhdr.
data: begin of wa_glt0_s,
rec_type(1),
com1,
bschl like bsik-bschl,
com2,
hkont like glt0-racct,
com3,
wrbtr(16),
com4,
dmbtr,
com5,
mwskz(2),
com6,
prctr(10),
com7,
kostl(10),
com8,
zuonr(18),
com9,
sgtxt(50),
com10,
zlsch,
com11,
zterm(4),
end of wa_glt0_s.
----
Internal Table *
----
data: begin of it_output occurs 0,
***wa_bkpf fields
rec_type(1),
com1,
xblnr(15),
com2,
bukrs like bkpf-bukrs,
com3,
blart like bkpf-blart,
com4,
bldat like bkpf-bldat,
com5,
budat like bkpf-budat,
com6,
monat like bkpf-monat,
com7,
bktxt like bkpf-bktxt,
com8,
waers like bkpf-waers,
***wa_bsid_s fields
bschl like bsid-bschl,
kunnr like bsid-kunnr,
wrbtr like bsid-wrbtr,
wmwst like bsid-wmwst,
prctr like bsid-prctr,
zfbdt like bsid-zfbdt,
batch,
belnr(15),
copa_comp,
copa_cus,
copa_prc,
copa_sc,
copa_fn,
dmbtr like bsid-dmbtr,
***wa_bsik_s fields
lifnr like bsik-lifnr,
mwskz like bsik-mwskz,
kostl like bsik-kostl,
zlspr like bsik-zlspr,
hbkid like bsik-hbkid,
zterm like bsik-zterm,
calc_date like sy-datum,
tran_no(15),
zlsch like bsik-zlsch,
***wa_glhdr fields
kursf,
***wa_glt0_s fields
hkont like glt0-racct,
zuonr(18),
sgtxt(50),
end of it_output.
data : it_bsid type standard table of ty_bsid with header line,
it_bkid type standard table of ty_bkpf with header line,
it_bkik type standard table of ty_bkpf initial size 0,
it_bsik type standard table of ty_bsik initial size 0,
it_bkgl type standard table of ty_bkpf initial size 0,
it_bkpf type standard table of ty_bkpf initial size 0,
it_glt0 type standard table of ty_glt0 with header line.
data: l_var1(16), l_var11(19), l_var2(16), l_var22(20), l_var3(16),
l_var33(20), l_var4(16), l_val11(13).
data: l_D1(8).
data: l_D2(10).
data: l_YR(4), l_MO(2), l_DAY(2).
data: l_curr like bsid-waers, bukrs(7).
----
Selection Screen Block Selection *
----
selection-screen begin of block blk1 with frame title text-001.
select-options : s_bukrs for bsik-bukrs obligatory. "Company Code
parameters : p_arbut radiobutton group grp default 'X',
p_apbut radiobutton group grp ,
p_glbut radiobutton group grp.
selection-screen end of block blk1.
selection-screen begin of block blk3 with frame title text-003.
select-options : s_kunnr for bsid-kunnr modif id md1, "Customer Number
s_lifnr for bsik-lifnr modif id md2 , "Vendor Account
s_hkont for bsis-hkont modif id md3. "GL Acount Code
selection-screen skip 1.
parameters : p_month like bkpf-monat modif id md4 , "Month
p_ryear like bsis-gjahr modif id md5. "Fiscal Year
parameters : p_date like bkpf-budat modif id md6. "Open Key Date
selection-screen end of block blk3.
selection-screen begin of block blk2 with frame title text-002.
*parameters : p_aserv as checkbox , "Application server
parameters : p_aserv radiobutton group grp1, "Application server
p_path(60) modif id md7. "File Path
parameters: p_aserv1 radiobutton group grp1 default 'X'.
l_path like rlgrap-filename modif id md8
default 'C:\GG.txt'. "Presentation
"server
parameters: p_aserv2 radiobutton group grp1.
data: begin of i_out occurs 0,
data(1000),
end of i_out.
selection-screen end of block blk2.
bukrs = s_bukrs.
----
At Selection Screen on Output *
----
at selection-screen output.
loop at screen.
*--Check if AR open items radio button is checked or not
if p_arbut eq 'X'.
perform check_customer.
*--Check if AP open items radio button is checked or not
elseif p_apbut eq 'X'.
perform check_vendor.
*--Check if GL Balance radio button is checked or not
elseif p_glbut eq 'X'.
perform check_gl_account.
endif.
*--Check if checkbox for application server is checked or not
if p_aserv eq 'X'.
perform check_path.
endif.
modify screen.
endloop.
&----
*& Form check_customer
&----
form check_customer .
if screen-group1 = 'md1'.
screen-active = 1.
screen-input = 1.
elseif screen-group1 = 'MD2'.
screen-active = 1.
screen-input = 0.
elseif screen-group1 = 'MD3'.
screen-active = 1.
screen-input = 0.
elseif screen-group1 = 'MD4'.
screen-active = 1.
screen-input = 0.
elseif screen-group1 = 'MD5'.
screen-active = 1.
screen-input = 0.
elseif screen-group1 = 'MD6'.
screen-active = 1.
screen-input = 1.
elseif screen-group1 = 'MD7'.
screen-active = 1.
screen-input = 0.
elseif screen-group1 = 'md8'.
screen-active = 1.
screen-input = 1.
endif.
endform. " check_customer
&----
*& Form check_vendor
&----
form check_vendor .
if screen-group1 = 'MD1'.
screen-active = 1.
screen-input = 0.
elseif screen-group1 = 'md2'.
screen-active = 1.
screen-input = 1.
elseif screen-group1 = 'MD3'.
screen-active = 1.
screen-input = 0.
elseif screen-group1 = 'MD4'.
screen-active = 1.
screen-input = 0.
elseif screen-group1 = 'MD5'.
screen-active = 1.
screen-input = 0.
elseif screen-group1 = 'MD6'.
screen-active = 1.
screen-input = 1.
elseif screen-group1 = 'MD7'.
screen-active = 1.
screen-input = 0.
elseif screen-group1 = 'md8'.
screen-active = 1.
screen-input = 1.
endif.
endform. " check_vendor
&----
*& Form check_gl_account
&----
form check_gl_account .
if screen-group1 = 'MD1'.
screen-active = 1.
screen-input = 0.
elseif screen-group1 = 'MD2'.
screen-active = 1.
screen-input = 0.
elseif screen-group1 = 'md3'.
screen-active = 1.
screen-input = 1.
elseif screen-group1 = 'MD6'.
screen-active = 1.
screen-input = 0.
elseif screen-group1 = 'MD7'.
screen-active = 1.
screen-input = 0.
elseif screen-group1 = 'md8'.
screen-active = 1.
screen-input = 1.
endif.
endform. " check_gl_account
&----
*& Form check_path
&----
form check_path .
if screen-group1 = 'MD7'.
screen-active = 1.
screen-input = 1.
elseif screen-group1 = 'MD8'.
screen-active = 1.
screen-input = 0.
endif.
endform. " check_path
----
Start Of Selection *
----
start-of-selection.
*--Check for selection screen values.
perform check_selection. " Commented as per Billy's mail
*--Check Program is active or not
PERFORM check_program.
*--Start program
if p_arbut eq 'X'.
perform read_bsid.
perform read_bkpf_bsid.
if p_aserv eq 'X' or p_aserv1 eq 'X'.
perform download_data_bsid.
if p_aserv1 eq 'X'.
perform download.
endif.
else.
perform output_data_bsid.
endif.
elseif p_apbut eq 'X'.
perform read_bsik.
perform read_bkpf_bsik.
if p_aserv eq 'X' or p_aserv1 eq 'X'.
perform download_data_bsik.
if p_aserv1 eq 'X'.
perform download.
endif.
else.
perform output_data_bsik.
endif.
elseif p_glbut eq 'X'.
perform read_glt0.
if p_aserv eq 'X' or p_aserv1 eq 'X'.
perform download_data_glt0.
if p_aserv1 eq 'X'.
perform download.
endif.
else.
perform output_data_glt0.
endif.
endif.
************************************************************************
************************************************************************
************************************************************************
P E R F O R M S - R O U T I N E S ***********************
************************************************************************
************************************************************************
************************************************************************
----
Check Selection Screen Values
*
----
form check_selection.
if p_arbut eq 'X'.
if s_kunnr is initial or
p_date is initial.
message e000(8i) with 'Please enter Customer number'
' and Open Key Date'.
endif.
elseif p_apbut eq 'X'.
if s_lifnr is initial or
p_date is initial.
message e000(8i) with 'Please enter Vendor number'
' and Open Key Date'.
endif.
elseif p_glbut eq 'X'.
if s_hkont is initial or
p_month is initial or
p_ryear is initial.
message e000(8i) with 'Please enter GL Account'
' and Month and Year'.
endif.
endif.
if p_aserv eq 'X' and
p_path is initial.
message e000(8i) with 'Please enter File Path'.
endif.
endform. "Check_Selection
&----
*& Form check_program
&----
text
----
form check_program .
*--Data for program and coding check
DATA : i_activ(1),
c_exit_activ TYPE REF TO z_check_coding_is_activ.
*--Create class
CREATE OBJECT c_exit_activ.
*--Call method to check if program is activ
CALL METHOD c_exit_activ->check_program_is_activ
EXPORTING
repid = sy-repid
ftype =
value =
IMPORTING
activ = i_activ
EXCEPTIONS
not_found = 1
OTHERS = 2
*
if sy-subrc <> 0 or i_activ is initial.
MESSAGE a000(zbc).
*ENDIF.
endform. "check_program
&----
*& Form read_bsid
&----
form read_bsid .
if p_date is initial and s_kunnr is not initial.
select * from bsid
into corresponding fields of table it_bsid_s
where bukrs in s_bukrs
and kunnr in s_kunnr.
elseif s_kunnr is initial and p_date is not initial.
select * from bsid
into corresponding fields of table it_bsid_s
where bukrs in s_bukrs
and budat <= p_date.
elseif p_date is not initial and s_kunnr is not initial.
select * from bsid
into corresponding fields of table it_bsid_s
where bukrs in s_bukrs
and kunnr in s_kunnr
and budat <= p_date.
elseif p_date is initial and s_kunnr is initial.
select * from bsid
into corresponding fields of table it_bsid_s
where bukrs in s_bukrs.
endif.
if sy-subrc ne 0.
message e000(8i) with 'No records for Selection'.
endif.
endform. " read_bsid
&----
*& Form read_bkpf_bsid
&----
form read_bkpf_bsid .
if not it_bsid_s[] is initial.
select bukrs
belnr
bldat
budat
monat
gjahr
blart
waers
kursf
xblnr
bktxt
from bkpf
into corresponding fields of table it_bkid
for all entries in it_bsid_s
where bukrs = it_bsid_s-bukrs
and belnr = it_bsid_s-belnr
and budat <= p_date.
and budat = it_bsid_s-budat
and gjahr = it_bsid_s-gjahr.
if sy-subrc eq 0.
sort it_bkid by bukrs belnr.
endif.
endif.
endform. " read_bkpf_bsid
&----
*& Form download_data_bsid
&----
form download_data_bsid.
if p_aserv eq 'X'.
perform open_file.
endif.
loop at it_bkid .
clear wa_bkpf.
wa_bkpf-rec_type = 'H'.
wa_bkpf-com1 = ','.
wa_bkpf-xblnr = it_bkid-xblnr.
wa_bkpf-com2 = ','.
wa_bkpf-bukrs = it_bkid-bukrs.
wa_bkpf-com3 = ','.
wa_bkpf-blart = it_bkid-blart.
wa_bkpf-com4 = ','.
wa_bkpf-bldat = it_bkid-bldat.
l_D2 = wa_bkpf-bldat.
perform get_dat using l_D2 changing wa_bkpf-bldat.
wa_bkpf-bldat = l_D2.
wa_bkpf-com5 = ','.
wa_bkpf-budat = it_bkid-budat.
l_D2 = wa_bkpf-budat.
perform get_dat using l_D2 changing wa_bkpf-budat.
wa_bkpf-budat = l_D2.
wa_bkpf-com6 = ','.
wa_bkpf-monat = it_bkid-monat.
wa_bkpf-com7 = ','.
wa_bkpf-bktxt = it_bkid-bktxt.
wa_bkpf-com8 = ','.
wa_bkpf-waers = it_bkid-waers.
if p_aserv eq 'X'.
transfer wa_bkpf to p_path.
elseif p_aserv1 eq 'X'.
MOVE wa_bkpf to i_out.
concatenate
wa_bkpf-rec_type
wa_bkpf-com1
wa_bkpf-xblnr
wa_bkpf-com2
wa_bkpf-bukrs
wa_bkpf-com3
wa_bkpf-blart
wa_bkpf-com4
wa_bkpf-bldat
wa_bkpf-com5
wa_bkpf-budat
wa_bkpf-com6
wa_bkpf-monat
wa_bkpf-com7
wa_bkpf-bktxt
wa_bkpf-com8
wa_bkpf-waers into i_out-data.
append i_out.
endif.
read table it_bsid_s with key bukrs = it_bkid-bukrs
belnr = it_bkid-belnr
monat = it_bkid-monat
gjahr = it_bkid-gjahr.
if sy-subrc = 0.
clear wa_bsid_s.
wa_bsid_s-rec_type = 'D'.
wa_bsid_s-com1 = ','.
wa_bsid_s-bschl = it_bsid_s-bschl.
wa_bsid_s-com2 = ','.
wa_bsid_s-kunnr = it_bsid_s-kunnr.
shift wa_bsid_s-kunnr left deleting leading '0'.
wa_bsid_s-com3 = ','.
wa_bsid_s-wrbtr = it_bsid_s-wrbtr.
l_var1 = wa_bsid_s-wrbtr.
if wa_bkpf-waers = 'JPY'.
if l_var1 ca '123456789'.
if wa_bkpf-waers = 'JPY'.
replace '.' in l_var1 with ''.
l_var1 = l_var1 * 100.
concatenate l_var1 wa_bkpf-waers into l_var11 separated by
space.
l_var11 = l_var1.
else.
l_var11 = wa_bsid_s-wrbtr.
endif.
elseif l_var1 co '0.00'.
replace '.' in l_var2 with ''.
clear l_var1.
l_var1 = ''.
l_var11 = l_var1.
endif.
endif.
wa_bsid_s-com4 = ','.
wa_bsid_s-wmwst = it_bsid_s-wmwst.
l_var2 = wa_bsid_s-wmwst.
if wa_bkpf-waers = 'JPY'.
if l_var2 ca '123456789'.
if wa_bkpf-waers = 'JPY'.
l_var2 = l_var2 * 100.
replace '.' in l_var2 with ''.
concatenate l_var2 wa_bkpf-waers into l_var22
separated by space.
l_var22 = l_var2.
else.
l_var22 = wa_bsid_s-wmwst.
endif.
elseif l_var2 co '0.00'.
replace '.' in l_var2 with ''.
clear l_var2.
l_var2 = ''.
l_var22 = l_var2.
endif.
endif.
wa_bsid_s-com5 = ','.
wa_bsid_s-prctr = it_bsid_s-prctr.
wa_bsid_s-com6 = ','.
wa_bsid_s-zfbdt = it_bsid_s-zfbdt.
l_D2 = wa_bsid_s-zfbdt.
perform get_dat using l_D2 changing wa_bsid_s-zfbdt.
wa_bsid_s-zfbdt = l_D2.
wa_bsid_s-com7 = ','.
wa_bsid_s-batch = ' '.
wa_bsid_s-com8 = ','.
concatenate it_bsid_s-gjahr '/'
it_bsid_s-belnr into wa_bsid_s-belnr.
wa_bsid_s-com9 = ','.
wa_bsid_s-copa_comp = ' '.
wa_bsid_s-com10 = ','.
wa_bsid_s-copa_cus = ' '.
wa_bsid_s-com11 = ','.
wa_bsid_s-copa_prc = ' '.
wa_bsid_s-com12 = ','.
wa_bsid_s-copa_sc = ' '.
wa_bsid_s-com13 = ','.
wa_bsid_s-copa_fn = ' '.
wa_bsid_s-com14 = ','.
wa_bsid_s-dmbtr = it_bsid_s-dmbtr.
l_var3 = wa_bsid_s-dmbtr.
if wa_bkpf-waers = 'JPY'.
shift bukrs left by 3 places.
Select single waers from t001 into l_curr where bukrs = bukrs.
if l_var3 ca '123456789'.
if l_curr = 'JPY'.
replace '.' in l_var3 with ''.
l_var3 = l_var3 * 100.
concatenate l_var3 wa_bkpf-waers into l_var33 separated by
space.
l_var33 = l_var3.
else.
l_var33 = wa_bsid_s-dmbtr.
endif.
elseif l_var3 co '0.00'.
replace '.' in l_var2 with ''.
clear l_var3.
l_var3 = ''.
l_var33 = l_var3.
endif.
wa_bsid_s-com14 = ','.
wa_bsid_s-sgtxt = it_bsid_s-sgtxt.
wa_bsid_s-com15 = ','.
wa_bsid_s-zuonr = it_bsid_s-zuonr.
endif.
if p_aserv eq 'X'.
transfer wa_bsid_s to p_path.
elseif p_aserv1 eq 'X'.
MOVE wa_bsid_s TO i_out.
append i_out.
concatenate
wa_bsid_s-rec_type
wa_bsid_s-com1
wa_bsid_s-bschl
wa_bsid_s-com2
wa_bsid_s-kunnr
wa_bsid_s-com3
l_var11
wa_bsid_s-com4
l_var22
wa_bsid_s-com5
wa_bsid_s-prctr
wa_bsid_s-com6
wa_bsid_s-zfbdt
wa_bsid_s-com7
wa_bsid_s-batch
wa_bsid_s-com8
wa_bsid_s-belnr
wa_bsid_s-com9
wa_bsid_s-copa_comp
wa_bsid_s-com10
wa_bsid_s-copa_cus
wa_bsid_s-com11
wa_bsid_s-copa_prc
wa_bsid_s-com12
wa_bsid_s-copa_sc
wa_bsid_s-com13
wa_bsid_s-copa_fn
wa_bsid_s-com14
l_var33
wa_bsid_s-com14
wa_bsid_s-sgtxt
wa_bsid_s-com15
wa_bsid_s-zuonr into i_out-data.
append i_out.
clear: l_var1, l_var2, l_var3, l_var4, l_var11, l_var22, l_var33.
endif.
clear wa_bsid_s.
if it_bsid_s-shkzg = 'H'.
wa_bsid_s-bschl = '40'. " '50'.
elseif it_bsid_s-shkzg = 'S'.
wa_bsid_s-bschl = '50'. " '40'.
endif.
wa_bsid_s-rec_type = 'D'.
wa_bsid_s-com1 = ','.
wa_bsid_s-com2 = ','.
wa_bsid_s-kunnr = '899998'.
shift wa_bsid_s-kunnr left deleting leading '0'.
wa_bsid_s-com3 = ','.
wa_bsid_s-wrbtr = it_bsid_s-wrbtr.
l_var1 = wa_bsid_s-wrbtr.
if wa_bkpf-waers = 'JPY'.
if l_var1 ca '123456789'.
if wa_bkpf-waers = 'JPY'.
replace '.' in l_var1 with ''.
l_var1 = l_var1 * 100.
concatenate l_var1 wa_bkpf-waers into l_var11 separated by
space.
l_var11 = l_var1.
else.
l_var11 = wa_bsid_s-wrbtr.
endif.
elseif l_var1 co '0.00'.
replace '.' in l_var2 with ''.
clear l_var1.
l_var1 = ''.
l_var11 = l_var1.
endif.
endif.
wa_bsid_s-com4 = ','.
wa_bsid_s-wmwst = it_bsid_s-wmwst.
l_var2 = wa_bsid_s-wmwst.
if wa_bkpf-waers = 'JPY'.
if l_var2 ca '123456789'.
if wa_bkpf-waers = 'JPY'.
replace '.' in l_var2 with ''.
l_var2 = l_var2 * 100.
concatenate l_var2 wa_bkpf-waers into l_var22 separated by
space.
l_var22 = l_var2.
else.
l_var22 = wa_bsid_s-wmwst.
endif.
elseif l_var2 co '0.00'.
replace '.' in l_var2 with ''.
clear l_var2.
l_var2 = ''.
l_var22 = l_var2.
endif.
endif.
wa_bsid_s-com5 = ','.
wa_bsid_s-prctr = it_bsid_s-prctr.
wa_bsid_s-com6 = ','.
wa_bsid_s-zfbdt = it_bsid_s-zfbdt.
l_D2 = wa_bsid_s-zfbdt.
perform get_dat using l_D2 changing wa_bsid_s-zfbdt.
wa_bsid_s-zfbdt = l_D2.
wa_bsid_s-com7 = ','.
wa_bsid_s-batch = ' '.
wa_bsid_s-com8 = ','.
concatenate it_bsid_s-gjahr '/'
it_bsid_s-belnr into wa_bsid_s-belnr.
wa_bsid_s-com9 = ','.
wa_bsid_s-copa_comp = ' '.
wa_bsid_s-com10 = ','.
wa_bsid_s-copa_cus = ' '.
wa_bsid_s-com11 = ','.
wa_bsid_s-copa_prc = ' '.
wa_bsid_s-com12 = ','.
wa_bsid_s-copa_sc = ' '.
wa_bsid_s-com13 = ','.
wa_bsid_s-copa_fn = ' '.
wa_bsid_s-com14 = ','.
wa_bsid_s-dmbtr = it_bsid_s-dmbtr.
l_var3 = wa_bsid_s-dmbtr.
if wa_bkpf-waers = 'JPY'.
shift bukrs left by 3 places.
Select single waers from t001 into l_curr where bukrs = bukrs.
if l_var3 ca '123456789'.
if l_curr = 'JPY'.
replace '.' in l_var3 with ''.
l_var3 = l_var3 * 100.
concatenate l_var3 wa_bkpf-waers into l_var33 separated by
space.
l_var33 = l_var3.
else.
l_var33 = wa_bsid_s-dmbtr.
endif.
elseif l_var3 co '0.00'.
replace '.' in l_var2 with ''.
clear l_var3.
l_var3 = ''.
l_var33 = l_var3.
endif.
wa_bsid_s-com14 = ','.
wa_bsid_s-sgtxt = it_bsid_s-sgtxt.
wa_bsid_s-com15 = ','.
wa_bsid_s-zuonr = it_bsid_s-zuonr.
endif.
if p_aserv eq 'X'.
transfer wa_bsid_s to p_path.
elseif p_aserv1 eq 'X'.
move wa_bsid_s to i_out.
concatenate
wa_bsid_s-rec_type
wa_bsid_s-com1
wa_bsid_s-bschl
wa_bsid_s-bschl
wa_bsid_s-rec_type
wa_bsid_s-com1
wa_bsid_s-com2
wa_bsid_s-kunnr
wa_bsid_s-com3
l_var11
wa_bsid_s-com4
l_var22
wa_bsid_s-com5
wa_bsid_s-prctr
wa_bsid_s-com6
wa_bsid_s-zfbdt
wa_bsid_s-com7
wa_bsid_s-batch
wa_bsid_s-com8
wa_bsid_s-belnr
wa_bsid_s-com9
wa_bsid_s-copa_comp
wa_bsid_s-com10
wa_bsid_s-copa_cus
wa_bsid_s-com11
wa_bsid_s-copa_prc
wa_bsid_s-com12
wa_bsid_s-copa_sc
wa_bsid_s-com13
wa_bsid_s-copa_fn
wa_bsid_s-com14
l_var33
wa_bsid_s-com14
wa_bsid_s-sgtxt
wa_bsid_s-com15
wa_bsid_s-zuonr into i_out-data.
append i_out.
clear: l_var1, l_var2, l_var3, l_var4, l_var11, l_var22, l_var33.
endif.
endif.
endloop.
if p_aserv eq 'X'.
close dataset p_path.
message i000(8i) with 'Customer Open Items downloaded successfully'.
elseif p_aserv1 eq 'X'.
call function 'DOWNLOAD'
exporting
FILENAME = ' '
filetype = 'ASC'
tables
data_tab = i_out
EXCEPTIONS
INVALID_FILESIZE = 1
INVALID_TABLE_WIDTH = 2
INVALID_TYPE = 3
NO_BATCH = 4
UNKNOWN_ERROR = 5
GUI_REFUSE_FILETRANSFER = 6
OTHERS = 7
.
if sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
message i000(8i) with 'Customer Open Items downloaded successfully'.
endif.
endform. " download_data_bsid
&----
*& Form open_file
&----
form open_file.
if p_aserv eq 'X'.
open dataset p_path for output in text mode encoding default.
if sy-subrc ne 0.
WRITE 😕 'Download Failed'.
message e000(8i) with 'Error in File opening for download'.
endif.
endif.
endform. " open_file
&----
*& Form read_bsik
&----
form read_bsik .
if p_date is initial.
select * from bsik
into corresponding fields of table it_bsik_s
where bukrs in s_bukrs
and lifnr in s_lifnr.
elseif s_lifnr is initial.
select * from bsik
into corresponding fields of table it_bsik_s
where bukrs in s_bukrs
and budat <= p_date.
elseif p_date is not initial and s_lifnr is not initial..
select * from bsik
into corresponding fields of table it_bsik_s
where bukrs in s_bukrs
and lifnr in s_lifnr
and budat <= p_date.
elseif p_date is initial and s_kunnr is initial.
select * from bsik
into corresponding fields of table it_bsik_s
where bukrs in s_bukrs.
endif.
if sy-subrc ne 0.
message e000(8i) with 'No records for Selection'.
endif.
endform. " read_bsik
&----
*& Form read_bkpf_bsik
&----
form read_bkpf_bsik .
clear it_bkid.
refresh it_bkid.
if not it_bsik_s[] is initial.
select bukrs
belnr
bldat
budat
monat
gjahr
blart
waers
kursf
xblnr
bktxt
from bkpf
into corresponding fields of table it_bkid
for all entries in it_bsik_s
where bukrs = it_bsik_s-bukrs
and belnr = it_bsik_s-belnr
and budat <= p_date.
and budat = it_bsik_s-budat
and gjahr = it_bsik_s-gjahr.
if sy-subrc eq 0.
sort it_bkid by bukrs belnr.
endif.
endif.
endform. " read_bkpf_bsik
&----
*& Form download_data_bsik
&----
form download_data_bsik.
if p_aserv eq 'X'.
perform open_file.
endif.
loop at it_bkid .
clear wa_bkpf.
wa_bkpf-rec_type = 'H'.
wa_bkpf-com1 = ','.
wa_bkpf-xblnr = it_bkid-xblnr.
wa_bkpf-com2 = ','.
wa_bkpf-bukrs = it_bkid-bukrs.
wa_bkpf-com3 = ','.
wa_bkpf-blart = it_bkid-blart.
wa_bkpf-com4 = ','.
wa_bkpf-bldat = it_bkid-bldat.
l_D2 = wa_bkpf-bldat.
perform get_dat using l_D2 changing wa_bkpf-bldat.
wa_bkpf-bldat = l_D2.
wa_bkpf-com5 = ','.
wa_bkpf-budat = it_bkid-budat.
l_D2 = wa_bkpf-budat.
perform get_dat using l_D2 changing wa_bkpf-budat.
wa_bkpf-budat = l_D2.
wa_bkpf-com6 = ','.
wa_bkpf-monat = it_bkid-monat.
wa_bkpf-com7 = ','.
wa_bkpf-bktxt = it_bkid-bktxt.
wa_bkpf-com8 = ','.
wa_bkpf-waers = it_bkid-waers.
if p_aserv eq 'X'.
transfer wa_bkpf to p_path.
elseif p_aserv1 eq 'X'.
move wa_bkpf to i_out.
concatenate
wa_bkpf-rec_type
wa_bkpf-com1
wa_bkpf-xblnr
wa_bkpf-com2
wa_bkpf-bukrs
wa_bkpf-com3
wa_bkpf-blart
wa_bkpf-com4
wa_bkpf-bldat
wa_bkpf-com5
wa_bkpf-budat
wa_bkpf-com6
wa_bkpf-monat
wa_bkpf-com7
wa_bkpf-bktxt
wa_bkpf-com8
wa_bkpf-waers into i_out-data.
append i_out.
endif.
read table it_bsik_s with key bukrs = it_bkid-bukrs
belnr = it_bkid-belnr
monat = it_bkid-monat
gjahr = it_bkid-gjahr.
if sy-subrc = 0.
clear wa_bsik_s.
wa_bsik_s-rec_type = 'D'.
wa_bsik_s-com1 = ','.
wa_bsik_s-bschl = it_bsik_s-bschl.
wa_bsik_s-com2 = ','.
wa_bsik_s-lifnr = it_bsik_s-lifnr.
shift wa_bsik_s-lifnr left deleting leading '0'.
wa_bsik_s-com3 = ','.
wa_bsik_s-wrbtr = it_bsik_s-wrbtr.
**************
l_var1 = wa_bsik_s-wrbtr.
if l_var1 ca '123456789'.
if wa_bkpf-waers = 'JPY'.
replace '.' in l_var1 with ''.
l_var1 = l_var1 * 100.
concatenate l_var1 wa_bkpf-waers into l_var11 separated by
space.
l_var11 = l_var1.
else.
l_var11 = wa_bsik_s-wrbtr.
endif.
elseif l_var1 co '0.00'.
replace '.' in l_var1 with ''.
clear l_var1.
l_var1 = ''.
l_var11 = l_var1.
endif.
endif.
**************
wa_bsik_s-com4 = ','.
wa_bsik_s-wmwst = it_bsik_s-wmwst.
l_var2 = wa_bsik_s-wmwst.
if wa_bkpf-waers = 'JPY'.
if l_var2 ca '123456789'.
if wa_bkpf-waers = 'JPY'.
replace '.' in l_var2 with ''.
l_var2 = l_var2 * 100.
concatenate l_var2 wa_bkpf-waers into l_var22 separated by
space.
l_var22 = l_var2.
else.
l_var22 = wa_bsik_s-wmwst.
endif.
elseif l_var2 co '0.00'.
replace '.' in l_var2 with ''.
clear l_var2.
l_var2 = ''.
l_var22 = l_var2.
endif.
endif.
wa_bsik_s-com5 = ','.
wa_bsik_s-mwskz = it_bsik_s-mwskz.
wa_bsik_s-com6 = ','.
wa_bsik_s-kostl = it_bsik_s-kostl.
wa_bsik_s-com7 = ','.
wa_bsik_s-prctr = it_bsik_s-prctr.
wa_bsik_s-com8 = ','.
wa_bsik_s-zlspr = it_bsik_s-zlspr.
wa_bsik_s-com9 = ','.
wa_bsik_s-hbkid = it_bsik_s-hbkid.
wa_bsik_s-com10 = ','.
wa_bsik_s-zterm = it_bsik_s-zterm.
wa_bsik_s-com11 = ','.
perform get_date.
wa_bsik_s-calc_date = i_faedt.
l_D2 = wa_bsik_s-calc_date.
perform get_dat using l_D2 changing wa_bsik_s-calc_date.
wa_bsik_s-calc_date = l_D2.
wa_bsik_s-com12 = ','.
wa_bsik_s-batch = ' '.
wa_bsik_s-com13 = ','.
concatenate it_bsik_s-gjahr '/'
it_bsik_s-belnr into wa_bsik_s-tran_no.
wa_bsik_s-com14 = ','.
wa_bsik_s-zlsch = it_bsik_s-zlsch.
wa_bsik_s-com15 = ','.
wa_bsik_s-dmbtr = it_bsik_s-dmbtr.
**************
l_var3 = wa_bsik_s-dmbtr.
if wa_bkpf-waers = 'JPY'.
shift bukrs left by 3 places.
Select single waers from t001 into l_curr where bukrs = bukrs.
if l_var3 ca '123456789'.
if l_curr = 'JPY'.
replace '.' in l_var3 with ''.
l_var3 = l_var3 * 100.
concatenate l_var3 wa_bkpf-waers into l_var33 separated by
space.
l_var33 = l_var3.
else.
l_var33 = wa_bsik_s-dmbtr.
endif.
elseif l_var3 co '0.00'.
replace '.' in l_var3 with ''.
clear l_var3.
l_var3 = ''.
l_var33 = l_var3.
endif.
wa_bsik_s-sgtxt = it_bsik_s-sgtxt.
wa_bsik_s-zuonr = it_bsik_s-zuonr. "By Kavita
endif.
**************
if p_aserv eq 'X'.
transfer wa_bsik_s to p_path.
elseif p_aserv1 eq 'X'.
move wa_bsik_s to i_out.
concatenate
wa_bsik_s-rec_type
wa_bsik_s-com1
wa_bsik_s-bschl
wa_bsik_s-com2
wa_bsik_s-lifnr
wa_bsik_s-com3
l_var11
wa_bsik_s-com4
l_var22
wa_bsik_s-com5
wa_bsik_s-mwskz
wa_bsik_s-com6
wa_bsik_s-kostl
wa_bsik_s-com7
wa_bsik_s-prctr
wa_bsik_s-com8
wa_bsik_s-zlspr
wa_bsik_s-com9
wa_bsik_s-hbkid
wa_bsik_s-com10
wa_bsik_s-zterm
wa_bsik_s-com11
wa_bsik_s-calc_date
wa_bsik_s-com12
wa_bsik_s-batch
wa_bsik_s-com13
wa_bsik_s-tran_no
wa_bsik_s-com14
wa_bsik_s-zlsch
wa_bsik_s-com15
l_var33
wa_bsik_s-com15
wa_bsik_s-sgtxt
wa_bsik_s-com15
wa_bsik_s-zuonr into i_out-data. "By Kavita
append i_out.
clear: l_var1, l_var2, l_var3, l_var4, l_var11, l_var22, l_var33.
endif.
clear wa_bsik_s.
if it_bsik_s-shkzg = 'H'.
wa_bsik_s-bschl = '40'. " '50'.
elseif it_bsik_s-shkzg = 'S'.
wa_bsik_s-bschl = '50'. " '40'.
endif.
wa_bsik_s-rec_type = 'D'.
wa_bsik_s-com1 = ','.
wa_bsik_s-com2 = ','.
wa_bsik_s-lifnr = '899997'.
shift wa_bsik_s-lifnr left deleting leading '0'.
wa_bsik_s-com3 = ','.
wa_bsik_s-wrbtr = it_bsik_s-wrbtr.
l_var1 = wa_bsik_s-wrbtr.
**************
if wa_bkpf-waers = 'JPY'.
if l_var1 ca '123456789'.
if wa_bkpf-waers = 'JPY'.
replace '.' in l_var1 with ''.
l_var1 = l_var1 * 100.
concatenate l_var1 wa_bkpf-waers into l_var11 separated by
space.
l_var11 = l_var1.
else.
l_var11 = wa_bsik_s-wrbtr.
endif.
elseif l_var1 co '0.00'.
replace '.' in l_var2 with ''.
clear l_var1.
l_var1 = ''.
l_var11 = l_var1.
endif.
endif.
**************
wa_bsik_s-com4 = ','.
wa_bsik_s-wmwst = it_bsik_s-wmwst.
l_var2 = wa_bsik_s-wmwst.
**************
if wa_bkpf-waers = 'JPY'.
if l_var2 ca '123456789'.
if wa_bkpf-waers = 'JPY'.
replace '.' in l_var2 with ''.
l_var2 = l_var2 * 100.
concatenate l_var2 wa_bkpf-waers into l_var22 separated by
space.
l_var22 = l_var2.
else.
l_var22 = wa_bsik_s-wmwst.
endif.
elseif l_var2 co '0.00'.
replace '.' in l_var2 with ''.
clear l_var2.
l_var2 = ''.
l_var22 = l_var2.
endif.
endif.
**************
wa_bsik_s-com5 = ','.
wa_bsik_s-mwskz = it_bsik_s-mwskz.
wa_bsik_s-com6 = ','.
wa_bsik_s-kostl = it_bsik_s-kostl.
wa_bsik_s-com7 = ','.
wa_bsik_s-prctr = it_bsik_s-prctr.
wa_bsik_s-com8 = ','.
wa_bsik_s-zlspr = it_bsik_s-zlspr.
wa_bsik_s-com9 = ','.
wa_bsik_s-hbkid = it_bsik_s-hbkid.
wa_bsik_s-com10 = ','.
wa_bsik_s-zterm = it_bsik_s-zterm.
wa_bsik_s-com11 = ','.
wa_bsik_s-calc_date = i_faedt.
l_D2 = wa_bsik_s-calc_date.
perform get_dat using l_D2 changing wa_bsik_s-calc_date.
wa_bsik_s-calc_date = l_D2.
wa_bsik_s-com12 = ','.
wa_bsik_s-batch = ' '.
wa_bsik_s-com13 = ','.
concatenate it_bsik_s-gjahr '/'
it_bsik_s-belnr into wa_bsik_s-tran_no.
wa_bsik_s-com14 = ','.
wa_bsik_s-zlsch = it_bsik_s-zlsch.
wa_bsik_s-com15 = ','.
wa_bsik_s-dmbtr = it_bsik_s-dmbtr.
l_var3 = wa_bsik_s-dmbtr.
**************
if wa_bkpf-waers = 'JPY'.
shift bukrs left by 3 places.
Select single waers from t001 into l_curr where bukrs = bukrs.
if l_var3 ca '123456789'.
if l_curr = 'JPY'.
replace '.' in l_var3 with ''.
l_var3 = l_var3 * 100.
concatenate l_var3 wa_bkpf-waers into l_var33 separated by
space.
l_var33 = l_var3.
else.
l_var33 = wa_bsik_s-dmbtr.
endif.
elseif l_var3 co '0.00'.
replace '.' in l_var3 with ''.
clear l_var3.
l_var3 = ''.
l_var33 = l_var3.
endif.
wa_bsik_s-sgtxt = it_bsik_s-sgtxt.
wa_bsik_s-zuonr = it_bsik_s-zuonr. "By Kavita
endif.
**************
if p_aserv eq 'X'.
transfer wa_bsik_s to p_path.
elseif p_aserv1 eq 'X'.
move wa_bsik_s to i_out.
concatenate
wa_bsik_s-rec_type
wa_bsik_s-com1
wa_bsik_s-bschl
wa_bsik_s-com2
wa_bsik_s-lifnr
wa_bsik_s-com3
l_var11
wa_bsik_s-com4
l_var22
wa_bsik_s-com5
wa_bsik_s-mwskz
wa_bsik_s-com6
wa_bsik_s-kostl
wa_bsik_s-com7
wa_bsik_s-prctr
wa_bsik_s-com8
wa_bsik_s-zlspr
wa_bsik_s-com9
wa_bsik_s-hbkid
wa_bsik_s-com10
wa_bsik_s-zterm
wa_bsik_s-com11
wa_bsik_s-calc_date
wa_bsik_s-com12
wa_bsik_s-batch
wa_bsik_s-com13
wa_bsik_s-tran_no
wa_bsik_s-com14
wa_bsik_s-zlsch
wa_bsik_s-com15
l_var33
wa_bsik_s-com15
wa_bsik_s-sgtxt
wa_bsik_s-com15
wa_bsik_s-zuonr into i_out-data. "By Kavita
append i_out.
clear: l_var1, l_var2, l_var3, l_var4, l_var11, l_var22, l_var33.
endif.
endif.
endloop.
if p_aserv eq 'X'.
close dataset p_path.
message i000(8i) with 'Vendor Open Items downloaded successfully'.
elseif p_aserv1 eq 'X'.
call function 'DOWNLOAD'
exporting
FILENAME = ' '
filetype = 'ASC'
tables
data_tab = i_out
EXCEPTIONS
INVALID_FILESIZE = 1
INVALID_TABLE_WIDTH = 2
INVALID_TYPE = 3
NO_BATCH = 4
UNKNOWN_ERROR = 5
GUI_REFUSE_FILETRANSFER = 6
OTHERS = 7
.
if sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
message i000(8i) with 'Vendor Open Items downloaded successfully'.
endif.
endform. " download_data_bsid
&----
*& Form get_date
&----
form get_date.
clear i_faedt.
call function 'NET_DUE_DATE_GET'
exporting
i_zfbdt = it_bsik_s-zfbdt
i_zbd1t = it_bsik_s-zbd1t
i_zbd2t = it_bsik_s-zbd2t
i_zbd3t = it_bsik_s-zbd3t
i_shkzg = it_bsik_s-shkzg
i_rebzg = it_bsik_s-rebzg
i_koart = 'K'
importing
e_faedt = i_faedt.
endform. " get_date
&----
*& Form read_glt0
&----
form read_glt0.
select * from skb1
into corresponding fields of table it_glhdr
where bukrs in s_bukrs
and saknr in s_hkont.
if sy-subrc ne 0.
message e000(8i) with 'No records for Selection'.
endif.
if not it_glhdr[] is initial.
select bukrs
drcrk
racct
ryear
from glt0
into corresponding fields of table it_glt0
where bukrs in s_bukrs
and ryear = p_ryear
and racct in s_hkont.
if sy-subrc eq 0.
sort it_glt0 by bukrs racct.
endif.
endif.
endform. " read_glt0
&----
*& Form download_data_glt0
&----
form download_data_glt0.
if p_aserv eq 'X'.
perform open_file.
endif.
loop at it_glhdr.
select single * from t001 where bukrs = it_glhdr-bukrs.
clear wa_glhdr.
wa_glhdr-rec_type = 'H'.
wa_glhdr-com1 = ','.
wa_glhdr-bukrs = it_glhdr-bukrs.
wa_glhdr-com2 = ','.
wa_glhdr-bldat = '30042007'.
wa_glhdr-com3 = ','.
wa_glhdr-budat = '30042007'.
wa_glhdr-com4 = ','.
wa_glhdr-monat = p_month.
wa_glhdr-com5 = ','.
wa_glhdr-blart = 'IB'.
wa_glhdr-com6 = ','.
wa_glhdr-waers = t001-waers.
wa_glhdr-com7 = ','.
wa_glhdr-kursf = ' '.
wa_glhdr-com8 = ','.
wa_glhdr-xblnr = it_glhdr-saknr.
wa_glhdr-com9 = ','.
wa_glhdr-bktxt = ' '.
if p_aserv eq 'X'.
transfer wa_glhdr to p_path.
elseif p_aserv1 eq 'X'.
move wa_glhdr to i_out.
append i_out.
endif.
read table it_glt0 with key bukrs = it_glhdr-bukrs
ryear = p_ryear
racct = it_glhdr-saknr.
if sy-subrc = 0.
if p_aserv eq 'X'.
transfer wa_glhdr to p_path.
elseif p_aserv1 eq 'X'.
move wa_glhdr to i_out.
append i_out.
endif.
endif.
if sy-subrc = 0.
wa_glt0_s-rec_type = 'D'.
wa_glt0_s-com1 = ','.
if it_glt0-drcrk = 'H'.
wa_glt0_s-bschl = '50'. " '40'.
elseif it_glt0-drcrk = 'S'.
wa_glt0_s-bschl = '40'. " '50'.
endif.
wa_glt0_s-com2 = ','.
wa_glt0_s-hkont = it_glt0-racct.
shift wa_glt0_s-hkont left deleting leading '0'.
wa_glt0_s-com3 = ','.
perform get_value.
wa_glt0_s-com4 = ','.
wa_glt0_s-dmbtr = ' '.
l_var1 = wa_glt0_s-dmbtr.
replace '.' in l_var1 with ''.
if l_var1 is not initial.
concatenate l_var1 wa_bkpf-waers into l_var11 separated by
space.
endif.
wa_glt0_s-com5 = ','.
wa_glt0_s-mwskz = ' '.
wa_glt0_s-com6 = ','.
wa_glt0_s-prctr = ' '.
wa_glt0_s-com7 = ','.
wa_glt0_s-kostl = ' '.
wa_glt0_s-com8 = ','.
wa_glt0_s-zuonr = ' '.
wa_glt0_s-com9 = ','.
wa_glt0_s-sgtxt = ' '.
wa_glt0_s-com10 = ','.
wa_glt0_s-zlsch = ' '.
wa_glt0_s-com11 = ','.
wa_glt0_s-zterm = ' '.
if p_aserv eq 'X'.
transfer wa_glt0_s to p_path.
elseif p_aserv1 eq 'X'.
move wa_glt0_s to i_out.
append i_out.
Start addition by Kavita
concatenate
wa_glt0_s-rec_type
wa_glt0_s-com1
wa_glt0_s-bschl
wa_glt0_s-com2
wa_glt0_s-hkont
wa_glt0_s-com3
l_var33
wa_glt0_s-com4
wa_glt0_s-dmbtr
wa_glt0_s-com5
wa_glt0_s-mwskz
wa_glt0_s-com6
wa_glt0_s-prctr
wa_glt0_s-com7
wa_glt0_s-kostl
wa_glt0_s-com8
wa_glt0_s-zuonr
wa_glt0_s-com9
wa_glt0_s-sgtxt
wa_glt0_s-com10
wa_glt0_s-zlsch
wa_glt0_s-com11
wa_glt0_s-zterm into i_out-data.
append i_out.
End addition by Kavita
endif.
clear wa_glt0_s.
wa_glt0_s-rec_type = 'D'.
wa_glt0_s-com1 = ','.
if it_glt0-drcrk = 'H'.
wa_glt0_s-bschl = '40'. " '50'.
elseif it_glt0-drcrk = 'S'.
wa_glt0_s-bschl = '50'. " '40'.
endif.
wa_glt0_s-com2 = ','.
wa_glt0_s-hkont = '899999'.
shift wa_glt0_s-hkont left deleting leading '0'.
wa_glt0_s-com3 = ','.
perform get_value.
wa_glt0_s-com4 = ','.
wa_glt0_s-dmbtr = ' '.
wa_glt0_s-com5 = ','.
wa_glt0_s-mwskz = ' '.
wa_glt0_s-com6 = ','.
wa_glt0_s-prctr = ' '.
wa_glt0_s-com7 = ','.
wa_glt0_s-kostl = ' '.
wa_glt0_s-com8 = ','.
wa_glt0_s-zuonr = ' '.
wa_glt0_s-com9 = ','.
wa_glt0_s-sgtxt = ' '.
wa_glt0_s-com10 = ','.
wa_glt0_s-zlsch = ' '.
wa_glt0_s-com11 = ','.
wa_glt0_s-zterm = ' '.
if p_aserv eq 'X'.
transfer wa_glt0_s to p_path.
elseif p_aserv1 eq 'X'.
move wa_glt0_s to i_out.
append i_out.
*Start addition by Kavita
concatenate
wa_glt0_s-rec_type
wa_glt0_s-com1
wa_glt0_s-bschl
wa_glt0_s-com2
wa_glt0_s-hkont
wa_glt0_s-com3
l_var33
wa_glt0_s-com4
wa_glt0_s-dmbtr
wa_glt0_s-com5
wa_glt0_s-mwskz
wa_glt0_s-com6
wa_glt0_s-prctr
wa_glt0_s-com7
wa_glt0_s-kostl
wa_glt0_s-com8
wa_glt0_s-zuonr
wa_glt0_s-com9
wa_glt0_s-sgtxt
wa_glt0_s-com10
wa_glt0_s-zlsch
wa_glt0_s-com11
wa_glt0_s-zterm into i_out-data.
End addition by Kavita
append i_out.
endif.
endif.
endloop.
if p_aserv eq 'X'.
close dataset p_path.
message i000(8i) with 'GL Balance Items downloaded successfully'.
elseif p_aserv1 eq 'X'.
call function 'DOWNLOAD'
exporting
FILENAME = ' '
filetype = 'ASC'
tables
data_tab = i_out
EXCEPTIONS
INVALID_FILESIZE = 1
INVALID_TABLE_WIDTH = 2
INVALID_TYPE = 3
NO_BATCH = 4
UNKNOWN_ERROR = 5
GUI_REFUSE_FILETRANSFER = 6
OTHERS = 7
.
if sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
perform download.
message i000(8i) with 'GL Balance Items downloaded successfully'.
endif.
endform. " download_data_glt0
&----
*& Form get_value
&----
form get_value.
clear it_balance.
refresh it_balance.
clear: l_var3, l_var33.
call function 'BAPI_GL_GETGLACCPERIODBALANCES'
exporting
companycode = it_glt0-bukrs
glacct = it_glt0-racct
fiscalyear = p_ryear
currencytype = '10'
tables
account_balances = it_balance.
read table it_balance with key comp_code = it_glt0-bukrs
gl_account = it_glt0-racct
fisc_year = p_ryear
fis_period = p_month.
if sy-subrc = 0.
wa_glt0_s-wrbtr = it_balance-balance.
l_val11 = wa_glt0_s-wrbtr.
l_val11 = wa_glt0_s-wrbtr.
Start addition by Kavita to remove decimals
l_var3 = l_val11. " wa_glt0_s-wrbtr.
if l_var3 ca '123456789'.
if t001-waers = 'JPY'.
l_var3 = l_var3 * 100.
l_var33 = l_var3.
else.
l_var33 = l_var3. " wa_glt0_s-wrbtr.
endif.
elseif l_var3 co '0.00'.
clear l_var3.
l_var3 = ''.
l_var33 = l_var3.
endif.
clear wa_glt0_s-wrbtr.
wa_glt0_s-wrbtr = l_var3. "l_val11.
*end addition by Kavita
endif.
endform. " get_value
&----
*& Form output_data_bsid
&----
form output_data_bsid.
loop at it_bkid .
write: /2 'H',
4 it_bkid-xblnr,
20 it_bkid-bukrs,
25 it_bkid-blart,
28 it_bkid-bldat,
38 it_bkid-budat,
48 it_bkid-monat,
51 it_bkid-bktxt,
77 it_bkid-waers.
read table it_bsid_s with key bukrs = it_bkid-bukrs
belnr = it_bkid-belnr
monat = it_bkid-monat
gjahr = it_bkid-gjahr.
if sy-subrc = 0.
concatenate it_bsid_s-gjahr '/'
it_bsid_s-belnr into wa_bsid_s-belnr.
write: /2 'D',
4 it_bsid_s-bschl,
7 it_bsid_s-kunnr,
16 it_bsid_s-wrbtr,
32 it_bsid_s-wmwst,
48 it_bsid_s-prctr,
60 it_bsid_s-zfbdt,
70 ' ',
72 wa_bsid_s-belnr,
87 ' ',
89 ' ',
90 ' ',
92 ' ',
94 ' ',
96 it_bsid_s-dmbtr.
if it_bsid_s-shkzg = 'H'.
wa_bsid_s-bschl = '40'.
elseif it_bsid_s-shkzg = 'S'.
wa_bsid_s-bschl = '50'.
endif.
write: /2 'D',
4 wa_bsid_s-bschl,
7 '899998',
16 it_bsid_s-wrbtr,
32 it_bsid_s-wmwst,
48 it_bsid_s-prctr,
60 it_bsid_s-zfbdt,
70 ' ',
72 wa_bsid_s-belnr,
87 ' ',
89 ' ',
90 ' ',
92 ' ',
94 ' ',
96 it_bsid_s-dmbtr,
120 it_bsid_s-zuonr.
endif.
skip 1.
endloop.
endform. " output_data_bsid
&----
*& Form output_data_bsik
&----
form output_data_bsik.
loop at it_bkid .
write: /2 'H',
4 it_bkid-xblnr,
20 it_bkid-bukrs,
25 it_bkid-blart,
28 it_bkid-bldat,
38 it_bkid-budat,
48 it_bkid-monat,
51 it_bkid-bktxt,
77 it_bkid-waers.
read table it_bsik_s with key bukrs = it_bkid-bukrs
belnr = it_bkid-belnr
monat = it_bkid-monat
gjahr = it_bkid-gjahr.
if sy-subrc = 0.
clear wa_bsik_s.
perform get_date.
concatenate it_bsik_s-gjahr '/'
it_bsik_s-belnr into wa_bsik_s-tran_no.
write: /2 'D',
4 it_bsik_s-bschl,
7 it_bsik_s-lifnr,
16 it_bsik_s-wrbtr,
32 it_bsik_s-wmwst,
48 it_bsik_s-mwskz,
60 it_bsik_s-kostl,
70 it_bsik_s-prctr,
80 it_bsik_s-zlspr,
82 it_bsik_s-hbkid,
88 it_bsik_s-zterm,
93 i_faedt,
103 ' ',
105 wa_bsik_s-tran_no,
120 it_bsik_s-zlsch,
122 it_bsik_s-dmbtr.
if it_bsik_s-shkzg = 'H'.
wa_bsik_s-bschl = '40'.
elseif it_bsik_s-shkzg = 'S'.
wa_bsik_s-bschl = '50'.
endif.
write: /2 'D',
4 wa_bsik_s-bschl,
7 '899997',
16 it_bsik_s-wrbtr,
32 it_bsik_s-wmwst,
48 it_bsik_s-mwskz,
60 it_bsik_s-kostl,
70 it_bsik_s-prctr,
80 it_bsik_s-zlspr,
82 it_bsik_s-hbkid,
88 it_bsik_s-zterm,
93 i_faedt,
103 ' ',
105 wa_bsik_s-tran_no,
120 it_bsik_s-zlsch,
122 it_bsik_s-dmbtr.
endif.
skip 1.
endloop.
endform. " output_data_bsik
&----
*& Form output_data_glt0
&----
form output_data_glt0.
loop at it_glhdr.
select single * from t001 where bukrs = it_glhdr-bukrs.
clear wa_glhdr.
write: /2 'H',
4 it_glhdr-bukrs,
8 '30042007',
18 '30042007',
29 p_month,
32 'IB',
35 t001-waers,
41 ' ',
43 it_glhdr-saknr,
60 ' '.
read table it_glt0 with key bukrs = it_glhdr-bukrs
ryear = p_ryear
racct = it_glhdr-saknr.
if sy-subrc = 0.
perform get_value.
if it_glt0-drcrk = 'H'.
wa_glt0_s-bschl = '40'.
elseif it_glt0-drcrk = 'S'.
wa_glt0_s-bschl = '50'.
endif.
write: /2 'D',
4 wa_glt0_s-bschl,
7 it_glt0-racct,
25 wa_glt0_s-wrbtr.
if it_glt0-drcrk = 'H'.
wa_glt0_s-bschl = '50'.
elseif it_glt0-drcrk = 'S'.
wa_glt0_s-bschl = '40'.
endif.
write: /2 'D',
4 wa_glt0_s-bschl,
7 '899999',
25 wa_glt0_s-wrbtr.
endif.
skip 1.
endloop.
endform. " output_data_glt0
----
Top of Page *
----
top-of-page.
Color Scheme
FORMAT COLOR COL_HEADING .
format intensified off .
write: /80 'OPEN ITEMS List Report- ' color 6,
130 sy-cprog color 5,
150 'Date: ' color 6,
158 sy-datum color 5.
write: /10 'Company code: ' color 6,
40 s_bukrs-low color 5,
150 'Time: ' color 6,
158 sy-uzeit color 5.
write: /150 'User: ' color 6,
158 sy-uname color 5.
if p_arbut = 'X'.
write: /80 'CUSTOMER ITEMS' color 6.
elseif p_apbut = 'X'.
write: /80 'VENDOR ITEMS' color 6.
elseif p_glbut = 'X'.
write: /80 'GL BALANCE ITEMS' color 6.
endif.
format color col_heading .
uline.
skip .
&----
*& Form download
&----
text
----
--> p1 text
<-- p2 text
----
form download .
call function 'DOWNLOAD'
exporting
FILENAME = 'C:\kavita_madam.txt'
filetype = 'ASC'
tables
data_tab = i_out
EXCEPTIONS
INVALID_FILESIZE = 1
INVALID_TABLE_WIDTH = 2
INVALID_TYPE = 3
NO_BATCH = 4
UNKNOWN_ERROR = 5
GUI_REFUSE_FILETRANSFER = 6
OTHERS = 7
.
if sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
endform. " download
&----
*& Form get_dat
&----
text
----
-->P_D2 text
----
form get_dat using p_d2 changing l_d1.
******************DATE CONVERSION TO MM/DD/YYYY**************
CLEAR: l_D1, l_D2, l_YR, l_MO, l_DAY.
l_D1 = p_d2.
l_YR = l_D1(4).
SHIFT l_D1 LEFT BY 4 PLACES.
l_MO = l_D1(2).
SHIFT l_D1 LEFT BY 2 PLACES.
l_DAY = l_D1(2).
CONCATENATE l_DAY l_MO l_YR INTO l_D2.
****************************************************************
endform. " get_dat
Regards,
Prashant