2007 Apr 12 8:03 AM
Hi ,
In script forms my problem is like this, when iam printing page with 2 line items(line items are in main window) ,
the totals and subtotals at the bottom are displaying perfectly( sub totals are given in footer window).
If line items are increased more , than the subtotals part is printing in second page.
In form here for first line item they are printing some (16,4,2,1'%') calculations in 4 sub lines,
For remaining line items there is no calculations(i.e., the loop is entering for calculations but as per one condition
in print program that calculations are becoming blank , on this reason the space is coming for remaining line items which is not required ).
********************
Now my requirement is i have to reduce the space between 2nd and 3rd line item. Please help me in this
********************
Print program
***********************
----
TABLE DECLARATION *
----
TABLES: /ivl/zmb_bealo, "Bill of Entry Item allocation
/ivl/zmb_becdat, "Bill of Entry Company Level Data
/ivl/zmb_behdr, "Bill of entry Header
/ivl/zmb_beitm, "Bill of Entry item
/ivl/zmb_beref, "Reference for Bill of Entry
/ivl/zcm_codmas, "Code Master Table
/ivl/zmb_bndmas,
/ivl/zmb_tarnt,
zvincust,
dd07l, "R/3 DD: values for the domains
dd07t, "DD: Texts for Domain Fixed
dd07v, "View on fixed values and domain texts
t005t, "Country Names
kna1, "Customer Master
t001, "Company Codes
LTAK,
LTAP, "Transfer order item "$05
VBPA. "Sales Document Partner "$05
----
SELECTION-SCREEN *
----
PARAMETERS: tonumber LIKE /ivl/zmb_behdr-zztono OBLIGATORY,
p_lgnum type lgnum obligatory.
select-options: s_lgnum for LTAK-lgnum no-display.
----
End Of Selection *
----
DATA wrk_bukrs LIKE /ivl/zmb_behdr-bukrs .
DATA wrk_mode(8).
DATA sum_totdty1(75).
DATA sum_totdty2(75).
Modification - Changed data type of variable from CHAR to INT
*ATA count(2) VALUE 0 .
DATA : count TYPE i.
----
Internal table declaration *
----
DATA: BEGIN OF it_behdr OCCURS 0 ,
docno LIKE /ivl/zmb_behdr-docno,
bondno LIKE /ivl/zmb_behdr-bondno,
bonddat LIKE /ivl/zmb_behdr-bonddat,
docyear LIKE /ivl/zmb_behdr-docyear,
zzchanumber LIKE /ivl/zmb_behdr-zzchanumber,
doctype LIKE /ivl/zmb_behdr-doctype,
vessname LIKE /ivl/zmb_behdr-vessname,
rotno LIKE /ivl/zmb_behdr-rotno,
rotdt LIKE /ivl/zmb_behdr-rotdt,
portship LIKE /ivl/zmb_behdr-portship,
orgcntry LIKE /ivl/zmb_behdr-orgcntry,
modtran LIKE /ivl/zmb_behdr-modtran,
concntry LIKE /ivl/zmb_behdr-concntry,
impdpsno LIKE /ivl/zmb_behdr-impdpsno,
impdpdat LIKE /ivl/zmb_behdr-impdpdat,
zzkunnr LIKE /ivl/zmb_behdr-zzkunnr,
pdocno LIKE /ivl/zmb_behdr-pdocno,
pdocyear LIKE /ivl/zmb_behdr-pdocyear,
arivport LIKE /ivl/zmb_behdr-arivport,
zztono LIKE /ivl/zmb_behdr-zztono,
bukrs LIKE /ivl/zmb_behdr-bukrs,
linno LIKE /ivl/zmb_beref-linno,
ablno LIKE /ivl/zmb_beref-ablno,
abldat LIKE /ivl/zmb_beref-abldat,
loadport LIKE /ivl/zmb_behdr-loadport,
orgicnty(15),
conscnty(15),
portdesc(15),
portcode LIKE /ivl/zcm_codmas-coddesc,
coddesc LIKE /ivl/zcm_codmas-coddesc,
notinum1 LIKE zvincust-notinum1,
*Begin of modification for change $01
descs1 like /ivl/zmb_tarnt,
descs1 LIKE /ivl/zmb_tarnt-descs,
*End of modification for change $01
dsirregno LIKE zvincust-dsirregno,
iecode1 LIKE zvincust-iecode,
iecode LIKE zvincust-iecode,
iecdesc(15),
zzintrst LIKE /ivl/zmb_behdr-zzintrst,
bondregnno LIKE /ivl/zmb_bndmas-bondregnno,
bondstadat LIKE /ivl/zmb_bndmas-bondstadat,
bondenddat LIKE /ivl/zmb_bndmas-bondenddat,
expdt1 LIKE /ivl/zmb_bndmas-expdt1,
expdt2 LIKE /ivl/zmb_bndmas-expdt2 ,
name1 LIKE kna1-name1,
name2 LIKE kna1-name2,
ort01 LIKE kna1-ort01,
pstl2 LIKE kna1-pstl2,
telfx LIKE kna1-telfx,
coname LIKE t005t-landx,
count(3) TYPE n VALUE 0,
kunnr LIKE VBPA-kunnr,
END OF it_behdr.
DATA : it_behdr1 LIKE it_behdr OCCURS 0 WITH HEADER LINE.
DATA : zdocno LIKE it_behdr-docno.
DATA : BEGIN OF it_bndmas OCCURS 0,
bondregnno LIKE /ivl/zmb_bndmas-bondregnno,
bondstadat LIKE /ivl/zmb_bndmas-bondstadat,
bondenddat LIKE /ivl/zmb_bndmas-bondenddat,
expdt1 LIKE /ivl/zmb_bndmas-expdt1,
expdt2 LIKE /ivl/zmb_bndmas-expdt2 ,
END OF it_bndmas.
DATA spellamt LIKE spell.
DATA: BEGIN OF it_beitm OCCURS 0 ,
cthno LIKE /ivl/zmb_beitm-cthno,
matnr LIKE /ivl/zmb_beitm-matnr,
matldes LIKE /ivl/zmb_beitm-matldes,
waers1 LIKE /ivl/zmb_beitm-waers1,
netpr LIKE /ivl/zmb_beitm-netpr,
wkurs1 LIKE /ivl/zmb_beitm-wkurs1,
wkurs2 LIKE /ivl/zmb_beitm-wkurs2,
wkurs3 LIKE /ivl/zmb_beitm-wkurs3,
frgtamt LIKE /ivl/zmb_beitm-frgtamt,
insuamt LIKE /ivl/zmb_beitm-insuamt,
agcomm LIKE /ivl/zmb_beitm-agcomm,
misschat LIKE /ivl/zmb_beitm-misschar,
landchar LIKE /ivl/zmb_beitm-landchar,
totval LIKE /ivl/zmb_beitm-totval,
assval LIKE /ivl/zmb_beitm-assval,
sysassval LIKE /ivl/zmb_beitm-sysassval,
menge LIKE /ivl/zmb_beitm-menge,
meins LIKE /ivl/zmb_beitm-meins,
zzcetno LIKE /ivl/zmb_beitm-zzcetno,
docno LIKE /ivl/zmb_beitm-docno,
doctype LIKE /ivl/zmb_beitm-doctype,
docyear LIKE /ivl/zmb_beitm-docyear,
boeitno LIKE /ivl/zmb_beitm-boeitno,
bcdrt LIKE /ivl/zmb_bealo-bcdrate,
bcdamt LIKE /ivl/zmb_bealo-bcdvalu,
acdrt LIKE /ivl/zmb_bealo-acdrate,
acdamt LIKE /ivl/zmb_bealo-acdvalu,
sum911 LIKE /ivl/zmb_bealo-acdvalu,
dutyrat LIKE /ivl/zmb_bedut-dutyrat,
dutcode LIKE /ivl/zmb_bedut-dutcode,
dutcodebcd LIKE /ivl/zmb_bedut-dutcode,
dutcodecvd LIKE /ivl/zmb_bedut-dutcode,
dutcodesad LIKE /ivl/zmb_bedut-dutcode,
dutyratbcd LIKE /ivl/zmb_bedut-dutyrat,
dutyratcvd LIKE /ivl/zmb_bedut-dutyrat,
dutyratsad LIKE /ivl/zmb_bedut-dutyrat,
sysvalubcd LIKE /ivl/zmb_bedut-sysvalu,
sysvalucvd LIKE /ivl/zmb_bedut-sysvalu,
sysvalusad LIKE /ivl/zmb_bedut-sysvalu,
cetno LIKE /ivl/zmb_tarnt-cetno,
descs LIKE /ivl/zmb_tarnt-descs,
totassval LIKE /ivl/zmb_beitm-assval,
sad LIKE /ivl/zmb_bedut-dutcode VALUE 'SAD',
totsysvalubcd LIKE /ivl/zmb_bedut-sysvalu,
actvalu LIKE /ivl/zmb_bedut-actvalu,
zbcdasstot LIKE /ivl/zmb_bedut-sysvalu,
zdutyratcvd LIKE /ivl/zmb_bedut-sysvalu,
zpcvdtot LIKE /ivl/zmb_bedut-sysvalu,
ztotduty LIKE /ivl/zmb_bedut-sysvalu,
zbatcvdtot LIKE /ivl/zmb_bedut-sysvalu,
zdutyratsad LIKE /ivl/zmb_bedut-dutyrat,
zsad LIKE /ivl/zmb_bedut-sysvalu,
zpsadtot LIKE /ivl/zmb_bedut-sysvalu,
dutyratcess LIKE /ivl/zmb_bedut-dutyrat, " for cess value $03
sysvalucess LIKE /ivl/zmb_bedut-sysvalu, " for cess value $03
dutyratedc LIKE /ivl/zmb_bedut-dutyrat, " for cess value $03
sysvaluedc LIKE /ivl/zmb_bedut-sysvalu, " for cess value $03
zpcesstot LIKE /ivl/zmb_bedut-sysvalu,
zpedctot LIKE /ivl/zmb_bedut-sysvalu,
zpsadtot LIKE /ivl/zmb_bedut-sysvalu,
dutyrathcs LIKE /ivl/zmb_bedut-dutyrat, " for Higher Ed Cess $04
sysvaluhcs LIKE /ivl/zmb_bedut-sysvalu, " for Higher Ed Cess $04
zphcstot LIKE /ivl/zmb_bedut-dutyrat, " for Higher Ed Cess $04
dutyrathdc LIKE /ivl/zmb_bedut-dutyrat, " for Higher Ed Cess $04
sysvaluhdc LIKE /ivl/zmb_bedut-sysvalu, " for Higher Ed Cess $04
zphdctot LIKE /ivl/zmb_bedut-dutyrat, " for Higher Ed Cess $04
END OF it_beitm.
DATA : BEGIN OF it_zbeitm OCCURS 0,
cthno LIKE /ivl/zmb_beitm-cthno,
zbcdasstot LIKE /ivl/zmb_bedut-sysvalu,
zdutyratcvd LIKE /ivl/zmb_bedut-sysvalu,
zpcvdtot LIKE /ivl/zmb_bedut-sysvalu,
ztotduty LIKE /ivl/zmb_bedut-sysvalu,
zbatcvdtot LIKE /ivl/zmb_bedut-sysvalu,
zdutyratsad LIKE /ivl/zmb_bedut-dutyrat,
zpcesstot LIKE /ivl/zmb_bedut-sysvalu,
zpedctot LIKE /ivl/zmb_bedut-sysvalu,
zphcstot LIKE /ivl/zmb_bedut-sysvalu, "$04
zphdctot LIKE /ivl/zmb_bedut-sysvalu, "$04
zsad LIKE /ivl/zmb_bedut-sysvalu,
zpsadtot LIKE /ivl/zmb_bedut-sysvalu,
dutyratcess LIKE /ivl/zmb_bedut-dutyrat, " for cess value $03
sysvalucess LIKE /ivl/zmb_bedut-sysvalu, " for cess value $03
dutyratedc LIKE /ivl/zmb_bedut-dutyrat, " for cess value $03
sysvaluedc LIKE /ivl/zmb_bedut-sysvalu, " for cess value $03
dutyrathcs LIKE /ivl/zmb_bedut-dutyrat, " Higher Ed Cess $04
sysvaluhcs LIKE /ivl/zmb_bedut-sysvalu, " Higher Ed Cess $04
dutyrathdc LIKE /ivl/zmb_bedut-dutyrat, " Higher Ed Cess $04
sysvaluhdc LIKE /ivl/zmb_bedut-sysvalu, " Higher Ed Cess $04
END OF it_zbeitm.
DATA: BEGIN OF it_vbeln occurs 0, "$05
wdno like ltap-vbeln,
END OF it_vbeln. "$05
DATA : beitm LIKE it_beitm OCCURS 0 WITH HEADER LINE.
DATA beitm1 LIKE it_beitm .
DATA tot_duty LIKE /ivl/zmb_beitm-actdtypyd.
DATA tot_duty1 LIKE /ivl/zmb_beitm-actdtypyd.
DATA ind_tot LIKE /ivl/zmb_beitm-actdtypyd.
DATA inv_tot LIKE /ivl/zmb_beitm-actdtypyd.
DATA totalbcd LIKE /ivl/zmb_bedut-sysvalu.
DATA totalbcd1 LIKE /ivl/zmb_bedut-sysvalu.
DATA item_duty LIKE /ivl/zmb_beitm-actdtypyd.
DATA dutyratcvd LIKE /ivl/zmb_bedut-dutyrat.
DATA tot_dutysad LIKE /ivl/zmb_beitm-actdtypyd.
DATA setamt LIKE /ivl/zmb_beitm-actdtypyd.
DATA setamt1 LIKE /ivl/zmb_beitm-actdtypyd.
DATA totassval1 LIKE /ivl/zmb_beitm-assval.
DATA pagetotal LIKE /ivl/zmb_beitm-assval.
DATA pagetotal1 LIKE /ivl/zmb_beitm-assval.
DATA pagetotal2 LIKE /ivl/zmb_beitm-assval.
DATA it_bedut LIKE /ivl/zmb_bedut OCCURS 0 WITH HEADER LINE.
DATA dutyratcvd1 LIKE /ivl/zmb_bedut-dutyrat.
DATA pagetotal11 LIKE /ivl/zmb_beitm-assval.
DATA setamt11 LIKE /ivl/zmb_beitm-actdtypyd.
DATA totalbcd11 LIKE /ivl/zmb_bedut-sysvalu.
DATA item_duty1 LIKE /ivl/zmb_beitm-actdtypyd.
DATA cvdtotal LIKE /ivl/zmb_bedut-sysvalu.
DATA cvdtotal1 LIKE /ivl/zmb_bedut-sysvalu.
DATA sadtotal LIKE /ivl/zmb_bedut-sysvalu.
DATA sadtotal1 LIKE /ivl/zmb_bedut-sysvalu.
DATA netpr1 LIKE /ivl/zmb_beitm-netpr.
DATA netpr3 LIKE /ivl/zmb_beitm-netpr.
DATA insuamt1 LIKE /ivl/zmb_beitm-insuamt.
DATA insuamt3 LIKE /ivl/zmb_beitm-insuamt.
DATA frgtamt2 LIKE /ivl/zmb_beitm-frgtamt.
DATA frgtamt1 LIKE /ivl/zmb_beitm-frgtamt.
DATA frgtamt3 LIKE /ivl/zmb_beitm-frgtamt.
DATA misschar1 LIKE /ivl/zmb_beitm-misschar.
DATA landchar1 LIKE /ivl/zmb_beitm-landchar.
DATA missland LIKE /ivl/zmb_beitm-landchar.
DATA totvalin1 LIKE /ivl/zmb_beitm-totval.
DATA imptot LIKE /ivl/zmb_beitm-sysassval.
DATA saltot LIKE /ivl/zmb_beitm-assval.
DATA subtotduty LIKE /ivl/zmb_beitm-sysassval.
DATA subamtbas LIKE /ivl/zmb_beitm-sysassval.
DATA imptot1 LIKE /ivl/zmb_beitm-sysassval.
DATA saltot1 LIKE /ivl/zmb_beitm-assval.
DATA misccharge LIKE /ivl/zmb_beitm-misschar.
DATA netpr2 LIKE /ivl/zmb_beitm-netpr.
DATA netpr4 LIKE /ivl/zmb_beitm-netpr.
DATA insuamt2 LIKE /ivl/zmb_beitm-insuamt.
DATA misschar2 LIKE /ivl/zmb_beitm-misschar.
DATA landchar2 LIKE /ivl/zmb_beitm-landchar.
DATA totvalin2 LIKE /ivl/zmb_beitm-totval.
DATA sysvalin2 LIKE /ivl/zmb_beitm-sysassval.
DATA assvalin2 LIKE /ivl/zmb_beitm-sysassval.
DATA pbcdtot LIKE /ivl/zmb_beitm-sysassval.
DATA passvaltot LIKE /ivl/zmb_beitm-sysassval.
DATA bcdasstot LIKE /ivl/zmb_beitm-sysassval.
DATA pcvdtot LIKE /ivl/zmb_beitm-sysassval.
DATA totduty LIKE /ivl/zmb_beitm-sysassval.
DATA totduty1 LIKE /ivl/zmb_beitm-sysassval.
DATA psadtot LIKE /ivl/zmb_beitm-sysassval.
DATA psadtot1 LIKE /ivl/zmb_beitm-sysassval.
DATA batcvdtot LIKE /ivl/zmb_beitm-sysassval.
DATA dutypaid1 LIKE /ivl/zmb_beitm-sysassval.
DATA dutypaid LIKE /ivl/zmb_beitm-sysassval.
DATA intrs LIKE /ivl/zmb_beitm-sysassval.
DATA var1 LIKE /ivl/zmb_beitm-sysassval.
DATA var2 LIKE /ivl/zmb_beitm-sysassval.
DATA var3 LIKE /ivl/zmb_beitm-sysassval.
DATA var4 LIKE /ivl/zmb_beitm-sysassval.
DATA var5 LIKE /ivl/zmb_beitm-sysassval.
DATA var6 LIKE /ivl/zmb_bedut-dutyrat.
DATA var7 LIKE /ivl/zmb_bedut-sysvalu.
DATA var8 LIKE /ivl/zmb_beitm-sysassval.
insert on 120704 for education cess $03
DATA var9 LIKE /ivl/zmb_beitm-sysassval. "/ivl/zmb_bedut-dutyrat.
DATA var10 TYPE p DECIMALS 2. "ike /ivl/zmb_beitm-sysassval.
DATA var11 LIKE /ivl/zmb_beitm-sysassval. "/ivl/zmb_bedut-dutyrat.
DATA var12 LIKE /ivl/zmb_beitm-sysassval.
DATA var13 TYPE p DECIMALS 2. "like /ivl/zmb_beitm-sysassval.
DATA var14 LIKE /ivl/zmb_beitm-sysassval.
DATA pcestot LIKE /ivl/zmb_beitm-sysassval.
DATA pcestot1 LIKE /ivl/zmb_beitm-sysassval.
DATA pedctot LIKE /ivl/zmb_beitm-sysassval.
DATA pedctot1 LIKE /ivl/zmb_beitm-sysassval.
end of insert on 120704 for education cess $03
DATA dutyratsad LIKE /ivl/zmb_bedut-dutyrat.
DATA sysvalusad LIKE /ivl/zmb_bedut-sysvalu.
DATA sad(4) TYPE c VALUE 'SAD'.
DATA pgtotal LIKE t001r_bf-amount.
DATA : var15 like /ivl/zmb_beitm-sysassval, "$04
var16 TYPE p DECIMALS 2, "$04
var17 LIKE /ivl/zmb_beitm-sysassval, "$04
var18 LIKE /ivl/zmb_beitm-sysassval, "$04
var19 TYPE p DECIMALS 2, "$04
var20 LIKE /ivl/zmb_beitm-sysassval, "$04
var21 TYPE p DECIMALS 2, "$04
var22 TYPE p DECIMALS 2, "$04
phcstot LIKE /ivl/zmb_beitm-sysassval, "$04
phcstot1 LIKE /ivl/zmb_beitm-sysassval, "$04
phdctot LIKE /ivl/zmb_beitm-sysassval, "$04
phdctot1 LIKE /ivl/zmb_beitm-sysassval. "$04
DATA : w_cname1 LIKE adrc-name1,
w_cname2 LIKE adrc-name2,
w_cname3 LIKE adrc-name3,
w_cstreet LIKE adrc-street,
w_chouse_num1 LIKE adrc-house_num1,
w_cstr_suppl1 LIKE adrc-str_suppl1,
w_cstr_suppl2 LIKE adrc-str_suppl1,
w_ccity1 LIKE adrc-city1,
w_cregion LIKE adrc-region,
w_ccountry LIKE adrc-country,
w_cpost_code1 LIKE adrc-post_code1,
w_cpo_box LIKE adrc-po_box,
w_ctel_number LIKE adrc-tel_number,
w_cfax_number LIKE adrc-fax_number,
w_cname4 LIKE adrc-name1, "$05
w_cname5 LIKE adrc-name2, "$05
w_cname6 LIKE adrc-name3, "$05
w_cstreet1 LIKE adrc-street, "$05
w_chouse_num2 LIKE adrc-house_num1, "$05
w_cstr_suppl3 LIKE adrc-str_suppl1, "$05
w_cstr_suppl4 LIKE adrc-str_suppl1, "$05
w_ccity2 LIKE adrc-city1, "$05
w_cregion1 LIKE adrc-region, "$05
w_ccountry1 LIKE adrc-country, "$05
w_cpost_code2 LIKE adrc-post_code1, "$05
w_cpo_box1 LIKE adrc-po_box, "$05
w_ctel_number1 LIKE adrc-tel_number, "$05
w_cfax_number1 LIKE adrc-fax_number. "$05
DATA : addr LIKE lfa1-adrnr,
w_ccountry_text LIKE t005t-landx.
DATA : cthno1 LIKE it_beitm-cthno,
cthno2 LIKE it_beitm-cthno,
bonddat1 LIKE sy-datum.
data: W_PLADDR TYPE WISO_PLADDR.
DATA: w_lgnum type lgnum.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR tonumber.
AT SELECTION-SCREEN.
clear w_lgnum.
SELECT single lgnum
into w_lgnum
FROM ltak
WHERE lgnum = p_lgnum
AND tanum = tonumber.
IF SY-SUBRC <> 0.
MESSAGE E000 WITH 'Invalid TO number '
tonumber
' in warehouse '
p_lgnum.
ENDIF.
----
Start of Selection *
----
START-OF-SELECTION .
perform f_read_address using tonumber.
PERFORM write_header1.
PERFORM item_print.
END-OF-SELECTION.
----
Form WRITE_HEADER1
----
FORM write_header1.
CLEAR it_behdr.
REFRESH it_behdr.
SELECT a~bondno a~bonddat a~docno a~docyear a~zzchanumber a~doctype
a~vessname a~rotno a~rotdt a~portship a~orgcntry a~modtran
a~rotno a~rotdt a~concntry a~impdpsno a~impdpdat
a~concntry a~zzkunnr a~pdocno a~pdocyear a~arivport
a~zztono b~bondregnno b~bondstadat b~bondenddat
b~expdt1 b~expdt2 a~loadport a~zzintrst
INTO CORRESPONDING FIELDS OF TABLE it_behdr
FROM /ivl/zmb_behdr AS a INNER JOIN /ivl/zmb_bndmas AS b
ON a~bondno = b~bondno
WHERE zztono = tonumber
AND a~bonddat = b~bonddate.
SORT it_behdr.
LOOP AT it_behdr.
SELECT SINGLE adrnr
INTO addr FROM lfa1
WHERE sortl = it_behdr-zzchanumber.
SELECT SINGLE name1 name2 name3 street house_num1 str_suppl1
str_suppl2 city1 post_code1
INTO (w_cname1, w_cname2, w_cname3, w_cstreet,w_chouse_num1,
w_cstr_suppl1, w_cstr_suppl2, w_ccity1, w_cpost_code1)
FROM adrc
WHERE addrnumber = addr.
SELECT SINGLE *
FROM /ivl/zmb_beref
*Begin of modification for change $02
WHERE refdocno = it_behdr-bondno.
WHERE boerefno = it_behdr-pdocno AND
boeyr = it_behdr-pdocyear.
*End of modification for change $02
IF sy-subrc = 0.
it_behdr-linno = /ivl/zmb_beref-linno.
it_behdr-ablno = /ivl/zmb_beref-ablno.
it_behdr-abldat = /ivl/zmb_beref-abldat.
ENDIF.
SELECT SINGLE *
FROM t005t
WHERE land1 = /ivl/zmb_behdr-orgcntry
AND spras = 'E'.
IF sy-subrc = 0.
it_behdr-orgicnty = t005t-landx.
ENDIF.
SELECT SINGLE *
FROM /ivl/zcm_codmas
WHERE codtyp = 'PCOD'
AND code = it_behdr-arivport.
IF sy-subrc = 0.
it_behdr-portcode = /ivl/zcm_codmas-coddesc.
ENDIF.
SELECT SINGLE *
FROM /ivl/zcm_codmas
WHERE code = it_behdr-concntry.
IF sy-subrc = 0.
it_behdr-coddesc = /ivl/zcm_codmas-coddesc.
ENDIF.
SELECT SINGLE *
FROM /ivl/zcm_codmas
WHERE codtyp = 'PORT'
AND code = it_behdr-loadport.
IF sy-subrc = 0.
it_behdr-portdesc = /ivl/zcm_codmas-coddesc.
ENDIF.
SELECT SINGLE *
FROM t005t
WHERE land1 = it_behdr-concntry.
IF sy-subrc = 0.
it_behdr-coname = t005t-landx.
ENDIF.
SELECT *
FROM kna1
WHERE kunnr = it_behdr-zzkunnr.
IF sy-subrc = 0.
it_behdr-name1 = kna1-name1.
it_behdr-name2 = kna1-name2.
it_behdr-ort01 = kna1-ort01.
it_behdr-pstl2 = kna1-pstl2.
it_behdr-telfx = kna1-telfx.
ENDIF.
ENDSELECT.
SELECT *
FROM zvincust
WHERE kunnr = it_behdr-zzkunnr.
IF sy-subrc = 0.
it_behdr-notinum1 = zvincust-notinum1.
it_behdr-dsirregno = zvincust-dsirregno.
it_behdr-iecode1 = zvincust-iecode.
ENDIF.
ENDSELECT.
SELECT SINGLE *
FROM /ivl/zmb_tarnt
WHERE tarntno = it_behdr-notinum1.
IF sy-subrc = 0.
it_behdr-notinum1 = /ivl/zmb_tarnt-tarntno.
it_behdr-descs1 = /ivl/zmb_tarnt-descs.
ENDIF.
SELECT iecode
INTO it_behdr-iecode
FROM zvincust
WHERE kunnr = 'IN02'.
ENDSELECT.
MODIFY it_behdr TRANSPORTING name1 name2 ort01 pstl2 telfx
linno ablno abldat coname portdesc portcode
coddesc notinum1 dsirregno iecode1 conscnty iecode descs1.
SELECT SINGLE kunnr "$05
INTO it_behdr-kunnr
FROM VBPA
WHERE vbeln = it_vbeln-wdno
AND PARVW = 'AG'. "$05
SELECT SINGLE adrnr "$05
INTO addr FROM Kna1
WHERE kunnr = it_behdr-kunnr. "$05
SELECT SINGLE name1 name2 name3 street house_num1 str_suppl1 "$05
str_suppl2 city1 post_code1
INTO (w_cname4, w_cname5, w_cname6, w_cstreet1,w_chouse_num2,
w_cstr_suppl3, w_cstr_suppl4, w_ccity2, w_cpost_code2)
FROM adrc
WHERE addrnumber = addr. "$05
ENDLOOP.
SELECT SINGLE vbeln INTO it_vbeln "$05
FROM LTAP
WHERE tanum = tonumber
AND lgnum = w_lgnum. "$05
ENDFORM. " WRITE_HEADER1
----
Form ITEM_DETAILS
----
FORM item_details.
SELECT *
FROM /ivl/zmb_bedut
INTO TABLE it_bedut
WHERE doctype = it_behdr-doctype
AND docno = it_behdr-docno
AND docyear = it_behdr-docyear.
SELECT *
FROM /ivl/zmb_beitm
INTO CORRESPONDING FIELDS OF it_beitm
WHERE doctype = it_behdr-doctype
AND docno = it_behdr-docno
AND docyear = it_behdr-docyear.
LOOP AT it_bedut WHERE doctype = it_beitm-doctype
AND docno = it_beitm-docno
AND docyear = it_beitm-docyear
AND boeitno = it_beitm-boeitno.
CASE it_bedut-dutcode.
WHEN 'BCD'.
MOVE it_bedut-dutyrat TO it_beitm-dutyratbcd.
MOVE it_bedut-sysvalu TO it_beitm-sysvalubcd.
WHEN 'CVD'.
MOVE it_bedut-dutyrat TO it_beitm-dutyratcvd.
MOVE it_bedut-sysvalu TO it_beitm-sysvalucvd.
WHEN 'SAD'.
MOVE it_bedut-dutyrat TO it_beitm-dutyratsad.
MOVE it_bedut-sysvalu TO it_beitm-sysvalusad.
insert on 120704 for education cess $03
WHEN 'ZCES'. "zces
MOVE it_bedut-dutyrat TO it_beitm-dutyratcess.
MOVE it_bedut-sysvalu TO it_beitm-sysvalucess.
WHEN 'ZEDC'. "zedc
MOVE it_bedut-dutyrat TO it_beitm-dutyratedc.
MOVE it_bedut-sysvalu TO it_beitm-sysvaluedc.
end of insert on 120704 for education cess $03
WHEN 'ZHCS'.
MOVE it_bedut-dutyrat TO it_beitm-dutyrathcs. "$04
MOVE it_bedut-sysvalu TO it_beitm-sysvaluhcs. "$04
WHEN 'ZHDC'. "$04
MOVE it_bedut-dutyrat TO it_beitm-dutyrathdc. "$04
MOVE it_bedut-sysvalu TO it_beitm-sysvaluhdc. "$04
it_beitm-totassval = it_beitm-totassval + it_beitm-sysvalubcd +
it_beitm-assval.
it_beitm-totsysvalubcd = it_beitm-totsysvalubcd + it_beitm-sysvalubcd.
ENDCASE.
ENDLOOP.
APPEND it_beitm.
CLEAR it_beitm.
ENDSELECT.
SORT it_beitm BY cthno.
MOVE it_beitm TO beitm.
MOVE it_beitm TO it_zbeitm.
APPEND it_zbeitm.
CLEAR it_zbeitm.
ENDFORM. " ITEM_DETAILS
----
Form BONDNUMBER
----
FORM bondnumber.
READ TABLE it_behdr WITH KEY
zztono = tonumber
docno = zdocno.
IF sy-subrc = 0.
MOVE it_behdr TO it_behdr1.
APPEND it_behdr1.
ENDIF.
CLEAR zdocno.
ENDFORM. " BONDNUMBER
----
Form ITEM_PRINT
----
FORM item_print.
TABLES : itcpo.
TABLES : itcpp.
DATA: params LIKE pri_params,
arparams LIKE arc_params,
days(1) TYPE n VALUE 2,
valid TYPE c.
itcpo-tdpreview = 'X'.
itcpo-tdnewid = 'X'.
itcpo-tdimmed = 'X'.
itcpo-tddelete = 'X'.
CALL FUNCTION 'OPEN_FORM'
EXPORTING
application = 'TX'
archive_index = ' '
archive_params = '1'
device = 'PRINTER'
dialog = 'X'
form = ' '
language = sy-langu
options = itcpo
IMPORTING
RESULT = itcpp
EXCEPTIONS
OTHERS = 7.
----
Header IT-table loop--start *
----
LOOP AT it_behdr.
zdocno = it_behdr-docno.
CLEAR it_beitm.
CLEAR it_zbeitm.
REFRESH it_beitm.
REFRESH it_zbeitm.
PERFORM temp_code.
CLEAR imptot.
CLEAR subamtbas.
CLEAR saltot.
CLEAR subtotduty.
CALL FUNCTION 'START_FORM'
EXPORTING
form = 'ZSV_GBOE'
language = sy-langu.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'HEAD'
function = 'SET'
type = 'BODY'
window = 'HEADER'.
CLEAR count.
----
Line item loop --start *
----
LOOP AT it_beitm.
----
*The 8 variables r used for the total to be printed *
*at the first line of the tariff number *
----
READ TABLE it_zbeitm WITH KEY
cthno = it_beitm-cthno.
IF sy-subrc = 0.
var1 = it_zbeitm-zbcdasstot.
var2 = it_zbeitm-zdutyratcvd .
var3 = it_zbeitm-zpcvdtot.
var4 = it_zbeitm-ztotduty.
var5 = it_zbeitm-zbatcvdtot.
var6 = it_zbeitm-zdutyratsad.
var7 = it_zbeitm-zsad.
var8 = it_zbeitm-zpsadtot.
sad = 'SAD'.
insert on 120704 for education cess $03
var9 = it_beitm-dutyratcess.
var10 = it_zbeitm-zpcesstot. "sysvalucess.
var11 = it_beitm-dutyratedc.
var12 = it_zbeitm-zpedctot. "sysvaluedc.
var13 = it_beitm-sysvalubcd + var3 + var10. $04
var14 = var4 + var13 + var12. $04
end of insert on 120704 for education cess
var15 = it_beitm-dutyrathcs. "$04
var16 = it_zbeitm-zphcstot. "$04
var17 = it_beitm-dutyrathdc. "$04
var18 = it_zbeitm-zphdctot. "$04
var13 = it_beitm-sysvalubcd + var3 + var10 + var16. "$04
var14 = var4 + var13 + var12 + var18. "$04
var20 = var10 + var16. "$04
var21 = var12 + var18. "$04
ENDIF.
count = count + 1.
MOVE it_beitm TO beitm.
beitm-sad = 'SAD'.
----
FOOTER TOTAL. *
----
intrs = intrs + ( it_beitm-netpr * it_beitm-wkurs1 ).
netpr1 = netpr1 + it_beitm-netpr.
frgtamt1 = frgtamt1 + ( it_beitm-frgtamt * it_beitm-wkurs2 ).
frgtamt3 = frgtamt3 + it_beitm-frgtamt.
insuamt3 = insuamt3 + it_beitm-insuamt.
insuamt1 = insuamt1 + ( it_beitm-insuamt * it_beitm-wkurs3 ).
misschar1 = misschar1 + it_beitm-misschat.
landchar1 = landchar1 + it_beitm-landchar.
misccharge = ( frgtamt1 + intrs + insuamt1 ) / 100.
missland = ( missland + misschar1 + landchar1 ) - totvalin1.
----
Sub Total Cal at end of each Tariff No. *
----
imptot = imptot + it_beitm-sysassval.
saltot = saltot + it_beitm-assval.
subamtbas = subamtbas + it_beitm-sysvalubcd.
----
To Print the total at every first line of the tariff number(cthno) *
----
cthno2 = it_beitm-cthno.
IF cthno1 = cthno2.
CLEAR var1.
CLEAR var2.
CLEAR var3.
CLEAR var4.
CLEAR var5.
CLEAR beitm-dutyratsad.
CLEAR var7.
CLEAR var8.
CLEAR sad.
Insert for Education cess
CLEAR : var9, var10, var11, var12.
End of insert
CLEAR : var15, var16, var17, var18, var20, var21. "$04
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'BOE_DETAILS'
function = 'APPEND'
type = 'BODY'
window
='MAIN'
EXCEPTIONS
OTHERS = 8.
ELSE.
subtotduty = subtotduty + it_zbeitm-ztotduty + it_zbeitm-zpsadtot
subtotduty = subtotduty + it_zbeitm-ztotduty + it_zbeitm-zpsadtot
+ it_zbeitm-zpedctot. "$04
+ it_zbeitm-zpedctot + it_zbeitm-zphdctot. "$04
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'BOE_DETAILS'
function = 'APPEND'
type = 'BODY'
window = 'MAIN'
EXCEPTIONS
OTHERS = 8.
ENDIF.
AT END OF cthno.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'TOTAL'
function = 'APPEND'
type = 'BODY'
window = 'MAIN'
EXCEPTIONS
OTHERS = 8.
ENDAT.
----
FOR INTEREST *
----
AT LAST.
bonddat1 = sy-datum.
it_behdr-bonddat = it_behdr-bonddat + 90.
bonddat1 = bonddat1 + 6. "$04
IF it_behdr-zzintrst <> 0.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'INTEREST'
function = 'APPEND'
type = 'BODY'
window = 'MAIN'
EXCEPTIONS
OTHERS = 8.
subtotduty = subtotduty + it_behdr-zzintrst.
ENDIF.
ENDAT.
----
CLEAR pbcdtot.
CLEAR passvaltot.
CLEAR bcdasstot.
CLEAR pcvdtot.
CLEAR totduty.
CLEAR dutypaid.
CLEAR batcvdtot.
CLEAR psadtot.
dutyratcvd = it_beitm-dutyratcvd.
pgtotal = subtotduty.
CALL FUNCTION 'FI_ROUND_AMOUNT'
EXPORTING
amount_in = pgtotal
company = '1970'
currency = 'INR'
IMPORTING
amount_out = pgtotal.
CALL FUNCTION 'SPELL_AMOUNT'
EXPORTING
amount = pgtotal
currency = 'INR'
filler = ' '
language = sy-langu
IMPORTING
in_words = spellamt
EXCEPTIONS
not_found = 1
too_large = 2
OTHERS = 3.
IF sy-subrc = 0.
sum_totdty1 = spellamt-word.
sum_totdty2 = spellamt-DECword.
ENDIF.
----
To Print only 5 items per page *
----
IF count >= 5.
netpr3 = netpr1.
intrs = intrs.
frgtamt2 = frgtamt1.
insuamt2 = insuamt1.
misschar2 = missland.
totvalin2 = totvalin1.
imptot1 = imptot.
saltot1 = saltot.
frgtamt3 = frgtamt3.
insuamt3 = insuamt3.
imptot = imptot .
saltot = saltot .
dutyratcvd = it_beitm-dutyratcvd.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'FOOTER'
window
='FOOTER'
EXCEPTIONS
OTHERS = 8.
CALL FUNCTION 'CONTROL_FORM'
EXPORTING
command = 'NEW-PAGE'
EXCEPTIONS
OTHERS = 3.
CLEAR pagetotal1.
CLEAR totalbcd1.
CLEAR item_duty.
CLEAR dutyratcvd.
CLEAR setamt1.
CLEAR cvdtotal1.
CLEAR pagetotal2.
CLEAR sadtotal1.
CLEAR count.
CLEAR totvalin2.
CLEAR sysvalin2.
CLEAR assvalin2.
CLEAR dutypaid.
CLEAR cthno2.
ENDIF.
CLEAR cthno2.
cthno1 = it_beitm-cthno.
ENDLOOP.
----
End of the it_beitm *
----
netpr3 = netpr1.
intrs = intrs.
frgtamt2 = frgtamt1.
insuamt2 = insuamt1.
frgtamt3 = frgtamt3.
insuamt3 = insuamt3.
misschar2 = missland.
totvalin2 = totvalin1.
imptot1 = imptot.
saltot1 = saltot.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'FOOTER'
window
='FOOTER'
EXCEPTIONS
OTHERS = 8.
----
End of sub-total *
----
CALL FUNCTION 'END_FORM'.
----
CLEAR imptot.
CLEAR subamtbas.
CLEAR saltot.
CLEAR cthno1.
CLEAR cthno2.
CLEAR var1.
CLEAR var2.
CLEAR var3.
CLEAR var4.
CLEAR var5.
CLEAR beitm-dutyratsad.
CLEAR var7.
CLEAR var8.
CLEAR sad.
CLEAR dutypaid1.
*Begin of modification for change $02
CLEAR: intrs,
netpr1,
frgtamt1,
frgtamt3,
insuamt3,
insuamt1,
misschar1,
landchar1,
misccharge,
missland .
*End of modification for change $02
*
----
Loop ends for the Header table *
----
ENDLOOP.
CALL FUNCTION 'CLOSE_FORM'
EXCEPTIONS
unopened = 1
bad_pageformat_for_print = 2
OTHERS = 3.
CLEAR wrk_mode.
CLEAR /ivl/zcm_codmas.
CLEAR t001.
GET PARAMETER ID 'BUK' FIELD wrk_bukrs.
it_behdr-bukrs = wrk_bukrs.
SELECT SINGLE *
FROM t001
WHERE bukrs = wrk_bukrs.
ENDFORM. " PRINT_BILLOFENTRY
----
Form temp_code
----
FORM temp_code.
CLEAR it_behdr1.
REFRESH it_behdr1.
PERFORM bondnumber.
PERFORM item_details.
LOOP AT it_beitm.
SELECT SINGLE *
FROM /ivl/zmb_tarnt
WHERE tarntno = it_beitm-cthno.
IF sy-subrc = 0.
it_beitm-cetno = /ivl/zmb_tarnt-cetno.
it_beitm-descs = /ivl/zmb_tarnt-descs.
MODIFY it_beitm TRANSPORTING cetno descs docno doctype.
ENDIF.
count = count + 1.
MOVE it_beitm TO beitm.
MOVE it_beitm TO it_zbeitm.
beitm-sad = 'SAD'.
pbcdtot = it_beitm-sysvalubcd + pbcdtot.
passvaltot = it_beitm-assval + passvaltot.
psadtot = it_beitm-sysvalusad + psadtot.
psadtot1 = psadtot1 + psadtot.
bcdasstot = pbcdtot + passvaltot.
pcvdtot = it_beitm-sysvalucvd + pcvdtot.
insert on 150704
pcestot = it_beitm-sysvalucess + pcestot.
pcestot1 = pcestot1 + pcestot.
pedctot = pedctot + it_beitm-sysvaluedc.
pedctot1 = pedctot1 + pedctot.
end of insert on 150704
phcstot = it_beitm-sysvaluhcs + phcstot. "$04
phcstot1 = phcstot1 + phcstot. "$04
phdctot = phdctot + it_beitm-sysvaluhdc. "$04
phdctot1 = phdctot1 + phdctot. "$04
totduty = pbcdtot + pcvdtot + pcestot + phcstot. "$04
totduty1 = totduty1 + totduty.
batcvdtot = bcdasstot + pcvdtot.
totalbcd = totalbcd + it_beitm-sysvalubcd.
totassval1 = totassval1 + it_beitm-assval.
dutypaid = totduty + psadtot.
dutyratcvd = it_beitm-dutyratcvd.
dutyratsad = it_beitm-dutyratsad. "$04
sysvalusad = it_beitm-zsad.
AT END OF cthno.
cvdtotal1 = cvdtotal.
sadtotal1 = sadtotal.
pagetotal1 = pagetotal.
setamt1 = pagetotal1 + cvdtotal1.
totalbcd1 = totalbcd.
item_duty = totalbcd1 + setamt1.
pagetotal2 = pagetotal1 + cvdtotal1.
dutypaid1 = dutypaid1 + dutypaid.
it_beitm-zbcdasstot = bcdasstot.
it_beitm-zdutyratcvd = dutyratcvd.
it_beitm-zpcvdtot = pcvdtot.
it_beitm-ztotduty = totduty.
it_beitm-zbatcvdtot = batcvdtot.
it_beitm-zpsadtot = psadtot.
it_beitm-zdutyratsad = dutyratsad.
it_beitm-zsad = sysvalusad.
it_beitm-zpsadtot = psadtot.
it_beitm-zpcesstot = pcestot.
it_beitm-zpedctot = pedctot.
it_beitm-zphcstot = phcstot. "$04
it_beitm-zphdctot = phdctot. "$04
MOVE-CORRESPONDING it_beitm TO it_zbeitm.
APPEND it_zbeitm.
CLEAR it_zbeitm.
CLEAR pbcdtot.
CLEAR passvaltot.
CLEAR bcdasstot.
CLEAR pcvdtot.
CLEAR totduty.
CLEAR dutypaid.
CLEAR batcvdtot.
CLEAR psadtot.
CLEAR: pcestot, pedctot.
CLEAR: phcstot, phdctot. "$04
ENDAT.
CLEAR pagetotal1.
CLEAR totalbcd1.
CLEAR item_duty.
CLEAR dutyratcvd.
CLEAR setamt1.
CLEAR cvdtotal1.
CLEAR pagetotal2.
CLEAR sadtotal1.
CLEAR totvalin2.
CLEAR sysvalin2.
CLEAR assvalin2.
CLEAR dutypaid.
ENDLOOP.
ENDFORM. " temp_code
&----
*& Form f_read_address
&----
text
----
-->P_TONUMBER text
----
form f_read_address using p_tonumber.
data: w_zliteral type zliteral,
w_lgnum_all type lgnum,
w_werks type werks_d,
w_RETURN1 type BAPIRETURN1.
clear: w_zliteral, w_lgnum_all.
SELECT single * FROM zliteral
into w_zliteral
WHERE zkey1 = 'PP-PI INDIA'
AND zkey2 = 'LGNUM ALL'
AND zkey3 = 0001.
*
move w_zliteral-ZVALUE3+0(3) to w_lgnum_all.
*
refresh s_lgnum. clear s_lgnum.
select lgnum into w_lgnum from t300.
if w_lgnum0(2) eq w_lgnum_all0(2).
s_lgnum-SIGN = 'I'.
s_lgnum-OPTION = 'EQ'.
s_lgnum-LOW = w_lgnum.
clear s_lgnum-HIGH.
append s_lgnum.
endif.
endselect.
clear w_lgnum.
SELECT single lgnum
into w_lgnum
FROM ltak
WHERE lgnum = p_lgnum
AND tanum = p_tonumber.
if sy-subrc = 0.
SELECT single werks
into w_werks
FROM t320
WHERE lgnum = w_lgnum.
CALL FUNCTION 'PIA_CSO_PLANT_ADDRESS_READ'
EXPORTING
pi_plant = w_werks
IMPORTING
PE_PLADDR = W_PLADDR
PE_RETURN1 = W_RETURN1
.
endif.
endform. " f_read_address
*********************************************
Thanks
2007 Apr 12 8:07 AM
Hi Ali,
Write IF condition in the script in the correspodant window. Or for that perticular paragram select the check box <b>'No blank lines</b>' in the paragraph format.
Hope this helps you, reply for queries, Shall post you the updates.
Regards.
Kumar. .
Hi Ali,
Write IF condition in the script in the correspodant window. Or for that perticular paragram select the check box <b>'No blank lines</b>' in the paragraph format.
Hope this helps you, reply for queries, Shall post you the updates.
Regards.
Kumar. .
2007 Apr 12 8:07 AM
Hi Ali,
Write IF condition in the script in the correspodant window. Or for that perticular paragram select the check box <b>'No blank lines</b>' in the paragraph format.
Hope this helps you, reply for queries, Shall post you the updates.
Regards.
Kumar. .
2007 Apr 12 8:42 AM
2007 Apr 12 8:44 AM
put ur subtotal inbetween PROTECT. ..........ENDPROTECT....
and use if not initial condition....for not printing blank values.....in script code.
| User | Count |
|---|---|
| 3 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |