‎2007 Jan 03 7:55 AM
report coding
************************************************************************
TITLE : ZSRDIN - DOMESTIC INVOICE
AUTHOR : Srinivas. G, OAK BROOK TECHNOLOGIES
DATE : 29 March 2003
TYPE : ON-LINE
VERSION : 1.0
FREQUENCY : As and when required
Running Time : Short
Spec :
Copied From : N/A
Called From : N/A
Transaction : N/A
Function Keys : N/A
Logical DB : N/A
Special Processing : N/A
PURPOSE : PROGRAM TO DOMESTIC INVOICE
History : : Initial Development for Spec
************************************************************************
Correction in ZINVPRNT screen - SEDK903997
REPORT ZSlDIN message-id z115.
tables : VBCO3,
VBDKR,
VBDPR,
VBRK,
VBRP,
VBAK,
VBPA,
VBKD,
VBFA,
ADRC,
zinv,
ZINV2,
KNA1,
KONV,
VTTP,
VTTK,
LIKP,
t005t,
t005u,
T685T,
J_1IMOCUST,
J_1ICHIDTX,
J_1IEXCDTL,
J_1IEXCHDR,
j_1IMTCHID.
DATA:lstsur TYPE P DECIMALS 2.
DATA:tlstsur TYPE P DECIMALS 2.
DATA: VAT TYPE P DECIMALS 2.
DATA:ppcost TYPE P DECIMALS 2.
*{ INSERT SEWK900014 2
data:ppcost_txt(30) type c.
data:ppcost_mv(10) type c.
*} INSERT
DATA:tppcost TYPE P DECIMALS 2.
DATA:eppcost TYPE P DECIMALS 2.
DATA:teppcost TYPE P DECIMALS 2.
DATA:stax TYPE P DECIMALS 2.
DATA:tstax TYPE P DECIMALS 2.
*{ INSERT SEWK900053 4
data:tsctax type p decimals 2.
data:ctax type p decimals 2.
*} INSERT
data: w_word(150).
data: w_word1(50).
data: w_word2(50).
data: w_word3(50).
data: pprate type p decimals 2.
*data: w_cstrate type I.
*data: w_lstrate type I.
*data: w_lstsur type I.
data: w_cr type I.
data: w_lr type I.
data: w_ls type I.
DATA: BEGIN OF I_ITAB2 OCCURS 0,
W_TEXT(132),
END OF I_ITAB2.
DATA : BEGIN OF ITAB3 OCCURS 0,
WTEXT(255),
END OF ITAB3.
DATA: W_CNT2 TYPE I.
DATA: W_OFFTEXT2 LIKE TLINE OCCURS 0 WITH HEADER LINE.
DATA: WTOPTEXT LIKE TLINE OCCURS 0 WITH HEADER LINE.
DATA : CTOPTEXT(330).
DATA: W_TDNAME2 LIKE STXL-TDNAME.
DATA: W_T1 TYPE P DECIMALS 2.
DATA: W_T2 TYPE P DECIMALS 2.
DATA: W_T3 TYPE P DECIMALS 2.
DATA: W_T4 TYPE P DECIMALS 2.
DATA: W_T5 TYPE P DECIMALS 2.
DATA: W_T6 TYPE P DECIMALS 2.
DATA: W_T7 TYPE P DECIMALS 2.
DATA: W_T8 TYPE P DECIMALS 2.
DATA: W_RS(255).
DATA: W_PS(255).
DATA: EXPORT.
DATA: TBPRICE TYPE P DECIMALS 2.
DATA:ltax1 TYPE P DECIMALS 2.
DATA:ltax2 TYPE P DECIMALS 2.
*{ INSERT SEWK900053 1
data:mytedcess type p decimals 2.
*} INSERT
DATA:myted TYPE P DECIMALS 2.
data:tduty type p decimals 2.
data:pf type p decimals 2.
data:tpf type p decimals 2.
data:tltax1 type p decimals 2.
data:tltax2 type p decimals 2.
data:bexcise type p decimals 2.
DATA:tbexcise TYPE P DECIMALS 2.
data:adv type p decimals 2.
data:CTYPE(10).
data:rate type p decimals 2.
data:qty type p decimals 0.
data:ed type p decimals 2.
*{ INSERT SEWK900038 1
data: mycess like konv-kwert.
data:cess like konv-kwert.
data: cesrt like konv-kbetr.
*{ INSERT SEWK900053 3
data: w_10 type p decimals 2.
*} INSERT
data: w_t9 type p decimals 2.
DATA : W_T10 TYPE P DECIMALS 2,
W_T11 TYPE P DECIMALS 2,
W_T12 TYPE P DECIMALS 2,
W_T13 TYPE P DECIMALS 2,
W_T14 TYPE P DECIMALS 2,
SALESDOCUMENT LIKE VBFA-VBELV,
ORDERTYPE LIKE VBAK-AUART,
DISTRIBUTION LIKE VBAK-VTWEG,
ITEM LIKE VBFA-POSNN.
*} INSERT
data:edtot type p decimals 2.
data:MYed type p decimals 2.
data:MYbe type p decimals 2.
data:MYadv type p decimals 2.
data:MYbp type p decimals 2.
data:edbp type p decimals 2.
data:MYtot type p decimals 2.
data:MYtot2 type p decimals 2.
data:erate type p decimals 0.
data:lrate type p decimals 2.
data:crate type p decimals 2.
data:trate type p decimals 2.
*data:bprice type p decimals 2.
DATA : BPRICE LIKE KONV-KWERT.
data:tprice type p decimals 2.
data:total type p decimals 0.
data:total2 type p decimals 2.
*{ INSERT SEWK900014 1
data: wa_stax type p decimals 0.
*{ INSERT SEWK900053 5
data: wa_sctax type p decimals 0.
*} INSERT
data: per(1) type c value '%'.
*} INSERT
DATA : SALESTAX TYPE P DECIMALS 2.
DATA: MATTEXT1 LIKE TLINE OCCURS 0 WITH HEADER LINE.
data: iwt LIKE TLINE OCCURS 0 WITH HEADER LINE.
DATA LTEXT1(300) TYPE C.
DATA: TNAME1 LIKE THEAD-TDNAME.
DATA: BEGIN OF I_ITAB OCCURS 0,
W_TEXT(132),
END OF I_ITAB.
DATA: W_CNT TYPE I.
data: del_no(70) type c,
wa_ntwt like vbdpr-NTGEW.
DATA : ZIN1 TYPE P DECIMALS 2,
ZIN2 TYPE P DECIMALS 2,
ZIN4 TYPE P DECIMALS 2,
ZIN5 TYPE P DECIMALS 2.
data: W_INWORDS2(255). " RUPEES in words
data: W_INWORT2(255). " PAISA in words
data: W_INWORDS(255). " RUPEES in words
data: W_INWORT(255). " PAISA in words
data: W_TOT type p decimals 2. " TOTAL of all line items
data: W_SL type i. " Serial No.
data: W_SL1 type i. " Serial No.
data: W_RATE TYPE P DECIMALS 2. " Rate of Duty
data: W_PRICE TYPE P DECIMALS 2. " Price per Unit
DATA: W_BED TYPE P DECIMALS 2. " BED
DATA: W_AED TYPE P DECIMALS 2. " AED
DATA: W_AEDT TYPE P DECIMALS 2. " AED (T)
data: W_TRATE TYPE P DECIMALS 2. " Sum of Rate of Duty
DATA: W_TBED TYPE P DECIMALS 2. " Sum of BED
DATA: W_TAED TYPE P DECIMALS 2. " Sum of AED
DATA: W_TAEDT TYPE P DECIMALS 2. " Sum of AED (T)
DATA: W_BPRICE TYPE P DECIMALS 2. " Net Price of Goods
DATA: W_BEDRATE TYPE I. " Rate in %
DATA: W_VAR1(15). " Original/Duplicate/Triplicate
DATA: I_VBDPR LIKE VBDPR OCCURS 0 WITH HEADER LINE.
*{ INSERT SEWK900053 2
data: wa_exnum like j_1iexchdr-exnum.
*} INSERT
DATA: begin of i_konv occurs 0,
knumv like konv-knumv,
kposn like konv-kposn,
kschl like konv-kschl,
kwert like konv-kwert.
DATA: end of i_konv.
DATA : LINES LIKE TLINE OCCURS 0 WITH HEADER LINE,
TEXT_OUTPUT LIKE TLINE-TDLINE,
EN LIKE THEAD-TDSPRAS,
NAME(70) TYPE C," LIKE THEAD-TDNAME,
OBJECT LIKE THEAD-TDOBJECT,
ID LIKE THEAD-TDID.
DATA : WORKORD LIKE TLINE-TDLINE.
DATA : ACCTOFF LIKE TLINE-TDLINE.
DATA: BEGIN OF ITAB6 OCCURS 0,
VBELN LIKE VBRP-VBELN,
KURRF LIKE VBRK-KURRF,
END OF ITAB6.
*********************************
DATA : BEGIN OF ITAB OCCURS 0,
KALKS LIKE KNVV-KALKS, "PRICING PROCEDURE ASSIGNED TO CUSTOMER
KALVG LIKE TVAK-KALVG, "DOCUMENT PROCEDURE 4 DETER PRIC.PROC.
END OF ITAB.
***************************************
selection-screen begin of block blk1 with frame title tit.
parameters: P_DOCNO like vbrk-vbeln.
selection-screen end of block blk1.
SELECT SINGLE VBELN FROM VBRP INTO VBRP-VBELN WHERE VBELN EQ P_DOCNO.
*"EQVBELN.
ITAB6-VBELN = VBRP-VBELN.
APPEND ITAB6.
LOOP AT ITAB6.
EN = 'EN'.
NAME = ITAB6-VBELN.
OBJECT = 'VBBK'.
****> work order
ID = 'CO01'.
PERFORM READTEXT USING EN NAME OBJECT ID TEXT_OUTPUT.
WORKORD = TEXT_OUTPUT.
CLEAR TEXT_OUTPUT.
****>ACCOUNT OFF
ID = 'ACCT'.
PERFORM READTEXT USING EN NAME OBJECT ID TEXT_OUTPUT.
ACCTOFF = TEXT_OUTPUT.
CLEAR TEXT_OUTPUT.
ENDLOOP.
*selection-screen begin of block blk2 with frame title tit2.
*parameters: P_R1 radiobutton group rad1 no-display default 'X' ,
* P_R2 radiobutton group rad1,
* P_R3 radiobutton group rad1.
*selection-screen end of block blk2.
at selection-screen.
select single * from vbrk where vbeln eq p_docno.
if sy-subrc ne 0.
message E000 with P_DOCNO.
elseif sy-subrc = 0.
if vbrk-fkart eq 'ZF10' OR VBRK-FKART EQ 'F2' OR
VBRK-FKART EQ 'ZP10' OR VBRK-FKART EQ 'ZP20' OR
vbrk-fkart eq 'ZF12' OR VBRK-FKART EQ 'ZF16' OR
vbrk-fkart eq 'ZF18' OR VBRK-FKART EQ 'ZF19' OR
vbrk-fkart eq 'ZF20' OR
*{ REPLACE SEWK900014 1
*\ VBRK-FKART EQ 'ZF21'.
high-sea ales and labour chr. inv type added on 26.03.2004
modified by Murugesh.B(Pricol).
VBRK-FKART EQ 'ZF21' or vbrk-fkart eq 'ZBHS' or
vbrk-fkart eq 'ZP19'.
*} REPLACE
else.
message E001 with p_docno.
endif.
endif.
initialization.
tit = 'Selection Block'.
tit2 = 'Option Block'.
start-of-selection.
PERFORM GETDATA.
PERFORM OPENFORM.
PERFORM WRITEFORM.
PERFORM CLOSEFORM.
----
FORM GETDATA *
----
........ *
----
FORM GETDATA.
if P_R1 = 'X'.
W_VAR1 = 'ORIGINAL'.
ELSEIF P_R2 = 'X'.
W_VAR1 = 'DUPLICATE'.
ELSEIF P_R3 = 'X'.
W_VAR1 = 'TRIPLICATE'.
ENDIF.
VBCO3-VBELN = P_DOCNO.
VBCO3-SPRAS = 'E'.
VBCO3-MANDT = SY-MANDT.
CALL FUNCTION 'RV_BILLING_PRINT_VIEW' "To get Cust. OrderNo & Date.
EXPORTING
COMWA = VBCO3
IMPORTING
KOPF = VBDKR
TABLES
POS = I_VBDPR
EXCEPTIONS
TERMS_OF_PAYMENT_NOT_IN_T052 = 1
OTHERS = 2 .
IF SY-SUBRC <> 0.
ENDIF.
select single * from zinv where vbeln = p_docno.
select single * from ZINV2 where vbeln = p_docno.
select single * from vbrp where vbeln = p_docno.
select single * from vbkd where vbeln = vbrp-aubel.
concatenate vbrp-vgbel vbrp-posnr into tname1.
move p_docno to tname1.
*******************Code To Pick Customer Order Date ****************
select single * from zinv into zinv where vbeln = vbrk-vbeln.
IF ZINV-ZVBELN NE 0.
VBAK-VBELN = ZINV-ZVBELN.
else.
MESSAGE i012(Z115).
ENDIF.
select single * from vbak into corresponding fields of vbak
where vbeln = vbak-vbeln.
if sy-subrc eq 0.
ORDERTYPE = VBAK-AUART.
DISTRIBUTION = VBAK-VTWEG.
select single * from vbkd into corresponding fields of vbkd
where vbeln = vbak-vbeln.
endif.
********************************************************************
perform mytext.
MOVE P_DOCNO TO W_TDNAME2.
PERFORM MAIN_DATA.
select single * from likp where vbeln = vbdkr-VBELN_VL.
select single * from J_1IEXCHDR where rdoc = p_docno.
select single * from J_1IEXCDTL where rdoc2 = p_docno
and rind2 = 'N'.
SELECT SINGLE * FROM VBRK WHERE VBELN EQ VBDKR-VBELN
AND VKORG EQ VBDKR-VKORG.
select single * from J_1IMOCUST where KUNNR = VBDKR-KUNWE.
*{ REPLACE SEWK900053 3
*\ select single * from J_1IMOCUST where KUNNR = LIKP-KUNNR.
select single * from J_1IMOCUST where KUNNR = LIKP-KUNNR.
*} REPLACE
*{ INSERT SEWK900053 2
select single * from j_1imocust where kunnr = vbrk-kunag.
*} INSERT
select single * from vbpa where parvw = 'AG'
and vbeln = vbrk-vbeln.
select single * from adrc where addrnumber = vbpa-adrnr.
SELECT SINGLE * FROM KNA1 WHERE KUNNR = LIKP-KUNNR.
*{ INSERT SEWK900053 1
if sy-subrc ne 0.
select single * from kna1 where kunnr = vbrk-kunag.
endif.
*} INSERT
select single * from t005u where spras eq 'E'
and land1 eq kna1-land1
and bland eq kna1-regio.
select single * from t005t where land1 = kna1-land1
and spras = 'E'.
select single * from j_1imtchid where matnr = i_vbdpr-matnr
and werks = i_vbdpr-werks.
select single * from J_1ICHIDTX where J_1ICHID = J_1IMTCHID-J_1ICHID.
select single * from likp where vbeln = vbdkr-VBELN_VL.
select single * from vttp where vbeln eq vbdkr-vbeln.
select single * from vttk where tknum eq vttp-tknum.
select knumv kposn kschl kwert from konv
into corresponding fields of table i_konv
where knumv = vbrk-knumv
and kposn = i_vbdpr-posnr
and kschl in ('ZP01', 'JMOD' ).
and kschl in ('ZP01', 'JEX2', 'ZP02', 'ZP03', 'ZIN1',
'ZIN2', 'ZIN4', 'ZIN5', 'ZTAX' ).
loop at i_konv.
if i_konv-kschl = 'ZP01' OR i_konv-kschl = 'ZP02' OR
i_konv-kschl = 'ZP03' .
w_bprice = W_BPRICE + I_konv-kwert.
elseif i_konv-kschl = 'JEX2'.
w_BED = I_KONV-KWERT.
endif.
endloop.
if w_bprice ne 0.
W_BEDRATE = W_BED * 100 / W_BPRICE . " Getting BED %
endif.
*{ INSERT SEWK900014 1
perform dut_chk.
CLEAR : ORDERTYPE,DISTRIBUTION,SALESDOCUMENT.
SELECT SINGLE * FROM VBFA WHERE VBELN = P_DOCNO.
IF SY-SUBRC EQ 0.
SALESDOCUMENT = VBFA-VBELV.
ENDIF.
IF NOT SALESDOCUMENT IS INITIAL.
SELECT SINGLE * FROM VBAK WHERE VBELN = SALESDOCUMENT.
IF SY-SUBRC = 0.
ORDERTYPE = VBAK-AUART.
DISTRIBUTION = VBAK-VTWEG.
ENDIF.
ENDIF.
CLEAR SY-SUBRC.
perform ex_chk.
perform dut_chk.
*} INSERT
ENDFORM. " GETDATA
----
FORM OPENFORM *
----
........ *
----
FORM OPENFORM.
CALL FUNCTION 'OPEN_FORM'
EXPORTING
FORM = 'YMS_INVPRNTN'
LANGUAGE = SY-LANGU
EXCEPTIONS
CANCELED = 1
DEVICE = 2
FORM = 3
OPTIONS = 4
UNCLOSED = 5
MAIL_OPTIONS = 6
ARCHIVE_ERROR = 7
INVALID_FAX_NUMBER = 8
MORE_PARAMS_NEEDED_IN_BATCH = 9
SPOOL_ERROR = 10
OTHERS = 11.
IF SY-SUBRC <> 0.
ENDIF.
ENDFORM. " OPENFORM
----
FORM WRITEFORM *
----
........ *
----
FORM WRITEFORM.
*{ INSERT SEWK900053 1
if vbrk-fkart = 'ZBHS'.
wa_exnum = vbrk-vbeln.
else.
wa_exnum = j_1iexchdr-exnum.
endif.
*} INSERT
perform invdet.
perform tax.
perform certifie.
perform address.
perform despatch.
perform consigne.
perform dutypay.
perform header.
perform lrno.
perform product.
perform custdet.
perform transpor.
perform main.
ENDFORM. " WRITEFORM
----
FORM CLOSEFORM *
----
........ *
----
FORM CLOSEFORM.
CALL FUNCTION 'CLOSE_FORM'
EXCEPTIONS
UNOPENED = 1
BAD_PAGEFORMAT_FOR_PRINT = 2
SEND_ERROR = 3
SPOOL_ERROR = 4
OTHERS = 5 .
IF SY-SUBRC <> 0.
ENDIF.
ENDFORM. " CLOSEFORM
----
FORM CEREGN *
----
........ *
----
FORM invdet.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
WINDOW = 'INVDET'
EXCEPTIONS
ELEMENT = 1
FUNCTION = 2
TYPE = 3
UNOPENED = 4
UNSTARTED = 5
WINDOW = 6
BAD_PAGEFORMAT_FOR_PRINT = 7
SPOOL_ERROR = 8
OTHERS = 9 .
IF SY-SUBRC <> 0.
ENDIF.
ENDFORM. " CEREGN
FORM tax.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
WINDOW = 'TAX'
EXCEPTIONS
ELEMENT = 1
FUNCTION = 2
TYPE = 3
UNOPENED = 4
UNSTARTED = 5
WINDOW = 6
BAD_PAGEFORMAT_FOR_PRINT = 7
SPOOL_ERROR = 8
OTHERS = 9.
.
IF SY-SUBRC <> 0.
ENDIF.
ENDFORM. " tax
----
FORM CERTIFIE *
----
........ *
----
FORM CERTIFIE.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
WINDOW = 'CERTIFIE'
EXCEPTIONS
ELEMENT = 1
FUNCTION = 2
TYPE = 3
UNOPENED = 4
UNSTARTED = 5
WINDOW = 6
BAD_PAGEFORMAT_FOR_PRINT = 7
SPOOL_ERROR = 8
OTHERS = 9 .
IF SY-SUBRC <> 0.
ENDIF.
ENDFORM. " Certified
----
FORM CONSIGNE *
----
........ *
----
FORM ADDRESS.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
WINDOW = 'ADDRESS'
EXCEPTIONS
ELEMENT = 1
FUNCTION = 2
TYPE = 3
UNOPENED = 4
UNSTARTED = 5
WINDOW = 6
BAD_PAGEFORMAT_FOR_PRINT = 7
SPOOL_ERROR = 8
OTHERS = 9 .
IF SY-SUBRC <> 0.
ENDIF.
ENDFORM. " Consignee
----
FORM DESPATCH *
----
........ *
----
FORM DESPATCH.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
WINDOW = 'DESPATCH'
EXCEPTIONS
ELEMENT = 1
FUNCTION = 2
TYPE = 3
UNOPENED = 4
UNSTARTED = 5
WINDOW = 6
BAD_PAGEFORMAT_FOR_PRINT = 7
SPOOL_ERROR = 8
OTHERS = 9 .
IF SY-SUBRC <> 0.
ENDIF.
ENDFORM. " Despatch
----
FORM DETAILS *
----
........ *
----
FORM CONSIGNE.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
WINDOW = 'CONSIGNE'
EXCEPTIONS
ELEMENT = 1
FUNCTION = 2
TYPE = 3
UNOPENED = 4
UNSTARTED = 5
WINDOW = 6
BAD_PAGEFORMAT_FOR_PRINT = 7
SPOOL_ERROR = 8
OTHERS = 9 .
IF SY-SUBRC <> 0.
ENDIF.
ENDFORM. " Details
----
FORM DUTYPAY *
----
........ *
----
FORM DUTYPAY.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
WINDOW = 'DUTYPAY'
EXCEPTIONS
ELEMENT = 1
FUNCTION = 2
TYPE = 3
UNOPENED = 4
UNSTARTED = 5
WINDOW = 6
BAD_PAGEFORMAT_FOR_PRINT = 7
SPOOL_ERROR = 8
OTHERS = 9 .
IF SY-SUBRC <> 0.
ENDIF.
ENDFORM. " Dutypay
----
FORM HEADER *
----
........ *
----
FORM HEADER.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
WINDOW = 'HEADER'
EXCEPTIONS
ELEMENT = 1
FUNCTION = 2
TYPE = 3
UNOPENED = 4
UNSTARTED = 5
WINDOW = 6
BAD_PAGEFORMAT_FOR_PRINT = 7
SPOOL_ERROR = 8
OTHERS = 9 .
IF SY-SUBRC <> 0.
ENDIF.
ENDFORM. " Header
----
FORM LRNO *
----
........ *
----
FORM LRNO.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
WINDOW = 'LRNO'
EXCEPTIONS
ELEMENT = 1
FUNCTION = 2
TYPE = 3
UNOPENED = 4
UNSTARTED = 5
WINDOW = 6
BAD_PAGEFORMAT_FOR_PRINT = 7
SPOOL_ERROR = 8
OTHERS = 9 .
IF SY-SUBRC <> 0.
ENDIF.
ENDFORM. " LRNO
----
FORM PRODUCT *
----
........ *
----
FORM PRODUCT.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
WINDOW = 'PRODUCT'
EXCEPTIONS
ELEMENT = 1
FUNCTION = 2
TYPE = 3
UNOPENED = 4
UNSTARTED = 5
WINDOW = 6
BAD_PAGEFORMAT_FOR_PRINT = 7
SPOOL_ERROR = 8
OTHERS = 9 .
IF SY-SUBRC <> 0.
ENDIF.
ENDFORM. " Product
----
FORM RANGE *
----
........ *
----
FORM CUSTDET.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
WINDOW = 'CUSTDET'
EXCEPTIONS
ELEMENT = 1
FUNCTION = 2
TYPE = 3
UNOPENED = 4
UNSTARTED = 5
WINDOW = 6
BAD_PAGEFORMAT_FOR_PRINT = 7
SPOOL_ERROR = 8
OTHERS = 9 .
IF SY-SUBRC <> 0.
ENDIF.
ENDFORM. " Range
----
FORM TRANSPOR *
----
........ *
----
FORM TRANSPOR.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
WINDOW = 'TRANSPOR'
EXCEPTIONS
ELEMENT = 1
FUNCTION = 2
TYPE = 3
UNOPENED = 4
UNSTARTED = 5
WINDOW = 6
BAD_PAGEFORMAT_FOR_PRINT = 7
SPOOL_ERROR = 8
OTHERS = 9 .
IF SY-SUBRC <> 0.
ENDIF.
ENDFORM. " Transport
----
FORM main *
----
........ *
----
FORM MAIN.
CALL FUNCTION 'READ_TEXT'
EXPORTING
CLIENT = SY-MANDT
ID = 'ASST'
LANGUAGE = 'E'
NAME = W_TDNAME2
OBJECT = 'VBBK'
ARCHIVE_HANDLE = 0
LOCAL_CAT = ' '
IMPORTING
HEADER =
TABLES
LINES = WTOPTEXT
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.
*
*EXIT.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
*ENDIF.
LOOP AT WTOPTEXT.
ITAB3-WTEXT = WTOPTEXT-TDLINE.
APPEND ITAB3.
CLEAR ITAB3.
ENDLOOP.
perform header_TOP.
perform header_data.
*{ INSERT SEWK900014 1
if vbrk-fkart = 'ZF20'.
write: 'Test'.
endif.
*
*} INSERT
W_SL = 0.
w_sl1 = 0.
loop at i_vbdpr where fkimg ne 0.
clear: tduty,total,bexcise,bprice,rate,ed,
ltax1,ltax2,adv,eppcost,ppcost,lstsur,stax.
W_SL = W_SL + 1.
w_sl1 = w_sl1 + 1.
select SINGLE * from konv where knumv = vbrk-knumv
and kposn = i_vbdpr-posnr and kschl = 'ZP01'.
and kposn = i_vbdpr-posnr.
W_PRICE = KONV-KWERT / I_VBDPR-FKIMG .
W_TOT = W_TOT + i_vbdpr-netwr + i_vbdpr-mwsbp.
select * from konv where knumv = vbrk-knumv and kposn =
i_vbdpr-posnr and kschl IN
('PR00', 'ZP01', 'ZP02', 'ZP03').
*if sy-subrc = 0.
bprice = bprice + konv-kwert.
*endif.
ENDSELECT.
rate = bprice / i_vbdpr-fkimg.
*****************************************
IF KNA1-LAND1 NE 'IN'.
RATE = RATE * '0.1' .
bprice = bprice * VBRK-KURRF * '0.1'.
*BPRICE = ITAB6-KURRF * BPRICE.
*CLEAR EXPORT.
ENDIF.
*********************************************
qty = qty + i_vbdpr-fkimg.
mybp = mybp + bprice .
select single * from konv where knumv = vbrk-knumv and kposn =
i_vbdpr-posnr and kschl = 'ZP23'.
if sy-subrc = 0.
pf = konv-kwert.
endif.
tpf = tpf + pf.
***********New Condifition Types from here *********
select single * from konv where knumv = vbrk-knumv and
kposn = i_vbdpr-posnr and kschl = 'JIN5'
***SANKAR************
OR KSCHL = 'JIN7'."LST Surcharge
*IF KONV-KSCHL = 'JIN7'.
VAT = 'X'.
*ENDIF.
********SANKAR**************
if sy-subrc = 0.
w_ls = konv-kbetr / 10.
lstsur = konv-kwert.
endif.
tlstsur = tlstsur + lstsur.
select single * from konv where knumv = vbrk-knumv and
kposn = i_vbdpr-posnr and kschl = 'ZP10'. "Proportionate Pattern Cost
if sy-subrc = 0.
if pprate EQ 0.
pprate = konv-kbetr / 10.
endif.
ppcost = konv-kwert.
*{ INSERT SEWK900014 3
*ppcost_mv = ppcost.
*concatenate '(' ppcost_mv ')' into ppcost_txt separated by space.
*} INSERT
endif.
tppcost = tppcost + ppcost.
*{ INSERT SEWK900014 4
ppcost_mv = tppcost.
concatenate '(' ppcost_mv ')' into ppcost_txt separated by space.
*} INSERT
select single * from konv where knumv = vbrk-knumv and
kposn = i_vbdpr-posnr and kschl = 'ZP11'. " Excise on Prop. Pattn. Cost
if sy-subrc = 0.
eppcost = konv-kwert.
endif.
teppcost = teppcost + eppcost.
select single * from konv where knumv = vbrk-knumv and
kposn = i_vbdpr-posnr and kschl = 'ZP22'. "Service Tax Errc & Comm.
if sy-subrc = 0.
stax = konv-kwert.
*{ INSERT SEWK900014 2
added for service tax percentage.
wa_stax = konv-kbetr / 10.
*} INSERT
endif.
tstax = tstax + stax.
*{ INSERT SEWK900053 3
select single * from konv where knumv = vbrk-knumv and
kposn = i_vbdpr-posnr and kschl = 'ZPCE'. "Service Tax Errc & Comm.
if sy-subrc = 0.
ctax = konv-kwert.
*{ INSERT SEWK900014 2
added for service tax percentage.
wa_sctax = konv-kbetr / 10.
*} INSERT
endif.
*{ REPLACE SEWK900053 4
*\tstax = tstax + stax.
tsctax = tsctax + ctax.
*} REPLACE
*} INSERT
***********End of New Conditions *********
select single * from konv where knumv = vbrk-knumv and kposn =
i_vbdpr-posnr and kschl = 'JMOD'.
if sy-subrc = 0.
ed = konv-kwert.
erate = konv-kbetr / 10 .
endif.
*{ INSERT SEWK900038 1
select single * from konv where knumv = vbrk-knumv and kposn =
i_vbdpr-posnr and kschl = 'JSED'.
if sy-subrc = 0.
cess = konv-kwert.
cesrt = konv-kbetr / 10 .
endif.
mycess = mycess + cess.
*} INSERT
*if ed ne 0.
*erate = ed * 100 / bprice .
*endif.
edtot = ed + bprice .
myed = myed + ed.
edbp = myed + mybp .
select single * from konv where knumv = vbrk-knumv and kposn =
i_vbdpr-posnr and kschl = 'JEX2'.
if sy-subrc = 0.
bexcise = konv-kwert.
endif.
tbexcise = tbexcise + bexcise.
mybe = mybe + bexcise.
select single * from konv where knumv = vbrk-knumv and kposn =
i_vbdpr-posnr and kschl = 'JIN1'. "CST
if sy-subrc = 0.
w_cr = konv-kbetr / 10.
ltax1 = konv-kwert.
CTYPE = KONV-KSCHL.
endif.
tltax1 = tltax1 + ltax1.
if bprice ne 0 or ed ne 0.
crate = ( ltax1 * 100 ) / ( bprice + ed ).
endif.
*MYTOT = EDTOT + LTAX1.
select single * from konv where knumv = vbrk-knumv and kposn =
i_vbdpr-posnr and kschl in ('JIN2', 'JIN6','JIN7'). "LST
if sy-subrc = 0.
w_lr = konv-kbetr / 10.
ltax2 = konv-kwert.
CTYPE = KONV-KSCHL.
endif.
tltax2 = tltax2 + ltax2.
if bprice ne 0 or ed ne 0.
trate = ( ltax2 * 100 ) / ( bprice + ed ).
endif.
*********SANKAR**********
IF KONV-KSCHL = 'JIN7'.
VAT = 'X'.
ENDIF.
********SANKAR*******************
CLEAR : SALESTAX, ZIN1, ZIN2, ZIN4, ZIN5.
SELECT SINGLE * FROM KONV WHERE KNUMV = VBRK-KNUMV AND
KPOSN = I_VBDPR-POSNR AND KSCHL = 'ZTAX'.
IF SY-SUBRC EQ 0.
SALESTAX = KONV-KWERT.
ENDIF.
SELECT SINGLE * FROM KONV WHERE KNUMV = VBRK-KNUMV AND
KPOSN = I_VBDPR-POSNR AND KSCHL = 'ZIN1'.
IF SY-SUBRC EQ 0.
ZIN1 = KONV-KWERT.
ENDIF.
SELECT SINGLE * FROM KONV WHERE KNUMV = VBRK-KNUMV AND
KPOSN = I_VBDPR-POSNR AND KSCHL = 'ZIN2'.
IF SY-SUBRC EQ 0.
ZIN2 = KONV-KWERT.
ENDIF.
SELECT SINGLE * FROM KONV WHERE KNUMV = VBRK-KNUMV AND
KPOSN = I_VBDPR-POSNR AND KSCHL = 'ZIN4'.
IF SY-SUBRC EQ 0.
ZIN4 = KONV-KWERT.
ENDIF.
SELECT SINGLE * FROM KONV WHERE KNUMV = VBRK-KNUMV AND
KPOSN = I_VBDPR-POSNR AND KSCHL = 'ZIN5'.
IF SY-SUBRC EQ 0.
ZIN5 = KONV-KWERT.
ENDIF.
*mytot = edtot + ltax1 + ltax2.
mytot = mybp + myed + tltax1 + tltax2 + tpf +
*{ REPLACE SEWK900038 5
*\ tlstsur + teppcost + tstax .
*{ INSERT SEWK900053 6
tsctax +
*} INSERT
tlstsur + teppcost + tstax + mycess + SALESTAX + ZIN1 + ZIN2 +
ZIN4 + ZIN5.
*} REPLACE
myted = myed + teppcost.
*{ INSERT SEWK900038 4
*{ REPLACE SEWK900053 2
\myted = myted + mycess.
mytedcess = myed + mycess + teppcost.
*} REPLACE
*} INSERT
MYTOT2 = BPRICE + MYTED. .
select single * from konv where knumv = vbrk-knumv and
kposn = i_vbdpr-posnr and
kschl in ('JIN1', 'JIN2').
*CTYPE = KONV-KSCHL.
select single * from konv where knumv = vbrk-knumv and kposn =
i_vbdpr-posnr and kschl = 'ZD08'.
if sy-subrc = 0.
adv = konv-kwert.
endif.
myadv = myadv - adv.
*myadv = myadv * -1 .
tduty = tbexcise + tltax1 + tltax2.
tprice = tprice + bprice + bexcise + ltax1 + ltax2 + pf.
*total = tprice - adv.
total = mytot - myadv.
*
*TOTAL = TOTAL + SALESTAX.
total2 = total.
TBPRICE = TBPRICE + BPRICE.
W_T1 = TBPRICE + TPF.
W_T2 = W_T1 + MYED.
*{ INSERT SEWK900038 2
w_t9 = w_t2 + mycess.
W_T10 = W_T9 + ZIN1 + ZIN4.
W_T11 = W_T10 + ZIN2 + ZIN5.
W_T12 = W_T11 + SALESTAX.
*} INSERT
*{ REPLACE SEWK900038 3
*\W_T3 = W_T1 + MYTED.
*\W_T4 = W_T3 + TLTAX1.
*\W_T5 = W_T4 + TLTAX2.
*\W_T6 = W_T5 + tlstsur.
*\W_T7 = W_T6 + tstax.
*\W_T8 = W_T7 - myadv.
*\
W_T3 = W_T1 + MYTED.
w_t3 = w_t3 + mycess.
W_T4 = W_T3 + TLTAX1.
W_T5 = W_T4 + TLTAX2.
W_T6 = W_T5 + tlstsur.
W_T7 = W_T6 + tstax.
*{ INSERT SEWK900053 5
w_10 = w_t7 + tsctax.
*} INSERT
W_T8 = W_10 - myadv.
*} REPLACE
perform get_nt_wt.
perform NET.
perform ITEMS.
*{ REPLACE SEWK900053 7
*\ if w_sl1 ge 7.
if w_sl1 ge 6.
*} REPLACE
perform next_page.
perform header_TOP.
perform header_data.
endif.
endloop.
perform net_ot.
perform others.
perform TOTALS.
*{ REPLACE SEWK900053 1
*\ perform WORDS.
perform WORDS.
*} REPLACE
ENDFORM. " Elements
FORM MAIN_DATA.
CALL FUNCTION 'READ_TEXT'
EXPORTING
ID = '0002'
LANGUAGE = 'E'
NAME = W_TDNAME2
OBJECT = 'VBBK'
TABLES
LINES = W_OFFTEXT2
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS = 8 .
LOOP AT W_OFFTEXT2.
W_CNT2 = W_CNT2 + 1.
READ TABLE W_OFFTEXT2 INDEX W_CNT2.
I_ITAB2-W_TEXT = W_OFFTEXT2-TDLINE.
APPEND I_ITAB2.
CLEAR I_ITAB2.
ENDLOOP.
*{ INSERT SEWK900014 1
if vbrk-fkart = 'ZF20'.
clear i_itab2.
refresh i_itab2.
i_itab2-w_text = 'Labour Charges Only'.
append i_itab2.
endif.
*} INSERT
ENDFORM.
FORM HEADER_DATA.
LOOP AT
I_ITAB2.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'DATA'
FUNCTION = 'SET'
TYPE = 'BODY'
WINDOW = 'MAIN'
IMPORTING
PENDING_LINES =
EXCEPTIONS
ELEMENT = 1
FUNCTION = 2
TYPE = 3
UNOPENED = 4
UNSTARTED = 5
WINDOW = 6
BAD_PAGEFORMAT_FOR_PRINT = 7
SPOOL_ERROR = 8
OTHERS = 9
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDLOOP.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'LINE1'
WINDOW = 'MAIN'.
IF SY-SUBRC <> 0.
ENDIF.
LOOP AT ITAB3.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'LINE2'
WINDOW = 'MAIN'.
IF SY-SUBRC <> 0.
ENDIF.
ENDLOOP.
*CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'LINE3'
WINDOW = 'MAIN'.
*IF SY-SUBRC <> 0.
*ENDIF.
ENDFORM.
FORM HEADER_top.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'TOP'
FUNCTION = 'SET'
TYPE = 'BODY'
WINDOW = 'MAIN'
IMPORTING
PENDING_LINES =
EXCEPTIONS
ELEMENT = 1
FUNCTION = 2
TYPE = 3
UNOPENED = 4
UNSTARTED = 5
WINDOW = 6
BAD_PAGEFORMAT_FOR_PRINT = 7
SPOOL_ERROR = 8
OTHERS = 9
.
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.
FORM OTHERS.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'TAXES'
WINDOW = 'MAIN'
EXCEPTIONS
ELEMENT = 1
FUNCTION = 2
TYPE = 3
UNOPENED = 4
UNSTARTED = 5
WINDOW = 6
BAD_PAGEFORMAT_FOR_PRINT = 7
SPOOL_ERROR = 8
OTHERS = 9 .
IF SY-SUBRC <> 0.
ENDIF.
ENDFORM. " total
----
FORM TOTAL *
----
........ *
----
FORM TOTALS.
IF ( ORDERTYPE NE 'ZSHS' OR ORDERTYPE NE 'ZSHS' ) AND
DISTRIBUTION NE 55.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'TOTAL'
WINDOW = 'TOTAL'
EXCEPTIONS
ELEMENT = 1
FUNCTION = 2
TYPE = 3
UNOPENED = 4
UNSTARTED = 5
WINDOW = 6
BAD_PAGEFORMAT_FOR_PRINT = 7
SPOOL_ERROR = 8
OTHERS = 9 .
IF SY-SUBRC <> 0.
ENDIF.
ENDIF.
ENDFORM. " total
----
FORM ITEMS *
----
........ *
----
FORM ITEMS.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'MAIN'
WINDOW = 'MAIN'
EXCEPTIONS
ELEMENT = 1
FUNCTION = 2
TYPE = 3
UNOPENED = 4
UNSTARTED = 5
WINDOW = 6
BAD_PAGEFORMAT_FOR_PRINT = 7
SPOOL_ERROR = 8
OTHERS = 9 .
IF SY-SUBRC <> 0.
ENDIF.
Added on 10.02.03
*LOOP AT I_ITAB.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'DESC'
WINDOW = 'MAIN'
EXCEPTIONS
ELEMENT = 1
FUNCTION = 2
TYPE = 3
UNOPENED = 4
UNSTARTED = 5
WINDOW = 6
BAD_PAGEFORMAT_FOR_PRINT = 7
SPOOL_ERROR = 8
OTHERS = 9 .
IF SY-SUBRC <> 0.
ENDIF.
*endloop.
end on 10.02.03
ENDFORM. " total
form mytext.
CALL FUNCTION 'READ_TEXT'
EXPORTING
CLIENT = SY-MANDT
ID = '0002'
LANGUAGE = 'E'
NAME = TNAME1
OBJECT = 'VBBK'
ARCHIVE_HANDLE = 0
IMPORTING
HEADER =
TABLES
LINES = MATTEXT1
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS = 8.
*LOOP AT MATTEXT1.
CONCATENATE LTEXT1 MATTEXT1-TDLINE INTO LTEXT1 SEPARATED BY SPACE.
CONDENSE LTEXT1.
*ENDLOOP.
LOOP AT MATTEXT1.
W_CNT = W_CNT + 1.
READ TABLE MATTEXT1 INDEX W_CNT.
I_ITAB-W_TEXT = MATTEXT1-TDLINE.
APPEND I_ITAB.
CLEAR I_ITAB.
ENDLOOP.
endform.
----
FORM words *
----
........ *
----
FORM WORDS.
CALL FUNCTION 'ZSPELLAMOUNT'
EXPORTING
*{ REPLACE SEWK900053 1
*\ AMOUNT = MYTED
AMOUNT = MYTEDcess
*} REPLACE
IMPORTING
WORDS = W_INWORDS
WORT = W_INWORT
EXCEPTIONS
EXCEED = 1
OTHERS = 2.
concatenate w_inwords 'and Paisa' w_inwort
into w_word separated by space.
w_word1 = w_word+30(50).
split w_word1 at ' ' into w_word2 w_word3.
w_word1 = w_word+0(30).
*W_RS = W_INWORDS+37(20).
ENDFORM.
FORM NET.
CALL FUNCTION 'ZSPELLAMOUNT'
EXPORTING
AMOUNT = TOTAL
IMPORTING
WORDS = W_INWORDS2
WORT = W_INWORT2
EXCEPTIONS
EXCEED = 1
OTHERS = 2.
ENDFORM.
*{ INSERT SEWK900014 1
&----
*& Form dut_chk
&----
text
----
--> p1 text
<-- p2 text
----
FORM dut_chk.
data msg_txt(30) type c.
select single * from vbrk where vbeln = p_docno.
if sy-subrc = 0.
select single * from j_1iexchdr where rdoc = p_docno.
if sy-subrc = 0.
if vbrk-fkart = 'ZP12' or vbrk-fkart = 'ZP16' or
vbrk-fkart = 'ZPE1' or vbrk-fkart = 'ZP51' or
vbrk-fkart = 'ZF10' or vbrk-fkart = 'ZF12' or
vbrk-fkart = 'ZF16' or vbrk-fkart = 'ZF18' or
vbrk-fkart = 'ZF19' or vbrk-fkart = 'ZF20' or
vbrk-fkart = 'ZF21' or vbrk-fkart = 'ZP10'.
if j_1iexchdr-srgrp = '11' or j_1iexchdr-srgrp = '12' or
j_1iexchdr-srgrp = '20' or j_1iexchdr-srgrp = '15' or
j_1iexchdr-srgrp = '16'.
***************************************************
if j_1iexchdr-srgrp EQ '15'. "for export invoice pricing comb. 4 & 3
EXPORT = 'X'.
endif.
***************************************************
select single * from konv where knumv = vbrk-knumv and
kschl = 'JMOD'.
if sy-subrc = 0.
if konv-kwert = 0.
*******************SPD 28.10.2006*********************
select single * from konv where knumv = vbrk-knumv and
kschl = 'JMOD' AND KWERT GT 0.
IF SY-SUBRC NE 0.
*****************END**************************************
concatenate 'Duty missing for Inv' p_docno into msg_txt
separated by space.
delete I_VBDPR index 1.
clear i_vbdpr.
message e000(8i) with msg_txt.
ENDIF.
endif.
endif.
endif.
endif.
endif.
endif.
ENDFORM. " dut_chk
*} INSERT
*{ INSERT SEWK900014 2
&----
*& Form ex_chk
&----
text
----
--> p1 text
<-- p2 text
----
FORM ex_chk.
select single * from j_1iexchdr where rdoc = p_docno.
if sy-subrc ne 0.
message I000(8i) with 'Excise invoice not created Pl check'.
endif.
ENDFORM. " ex_chk
*} INSERT
&----
*& Form net_ot
&----
text
----
--> p1 text
<-- p2 text
----
FORM net_ot.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'DESC'
WINDOW = 'MAIN'
EXCEPTIONS
ELEMENT = 1
FUNCTION = 2
TYPE = 3
UNOPENED = 4
UNSTARTED = 5
WINDOW = 6
BAD_PAGEFORMAT_FOR_PRINT = 7
SPOOL_ERROR = 8
OTHERS = 9 .
IF SY-SUBRC <> 0.
ENDIF.
ENDFORM. " net_ot
&----
*& Form next_page
&----
text
----
--> p1 text
<-- p2 text
----
FORM next_page.
w_sl1 = 0.
perform cls_frm.
perform opn_frm.
perform invdet.
perform tax.
perform certifie.
perform address.
perform despatch.
perform consigne.
perform dutypay.
perform header.
perform lrno.
perform product.
perform custdet.
perform transpor.
ENDFORM. " next_page
&----
*& Form cls_frm
&----
text
----
--> p1 text
<-- p2 text
----
FORM cls_frm.
CALL FUNCTION 'END_FORM'
EXCEPTIONS
UNOPENED = 1
BAD_PAGEFORMAT_FOR_PRINT = 2
SPOOL_ERROR = 3
OTHERS = 4
.
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. " cls_frm
&----
*& Form opn_frm
&----
text
----
--> p1 text
<-- p2 text
----
FORM opn_frm.
CALL FUNCTION 'START_FORM'
EXPORTING
ARCHIVE_INDEX =
*{ REPLACE SEWK900038 1
*\ FORM = 'ZSLDIN'
FORM = 'YMS_INVPRNTN'
*} REPLACE
LANGUAGE = SY-LANGU
.
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. " opn_frm
&----
*& Form get_nt_wt
&----
text
----
--> p1 text
<-- p2 text
----
FORM get_nt_wt.
concatenate i_vbdpr-vgbel i_vbdpr-vgpos into del_no.
clear wa_ntwt.
CALL FUNCTION 'READ_TEXT'
EXPORTING
CLIENT = SY-MANDT
ID = '0001'
LANGUAGE = 'E'
NAME = del_no
OBJECT = 'VBBP'
ARCHIVE_HANDLE = 0
IMPORTING
HEADER =
TABLES
LINES = iwt
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS = 8.
loop at iwt.
if not iwt-tdline is initial.
wa_ntwt = iwt-tdline.
endif.
clear iwt.
refresh iwt.
endloop.
ENDFORM. " get_nt_wt
FORM READTEXT USING P_EN
P_NAME
P_OBJECT
P_ID
P_TEXT_OUTPUT.
CALL FUNCTION 'READ_TEXT'
EXPORTING
CLIENT = SY-MANDT
ID = P_ID
LANGUAGE = P_EN
NAME = P_NAME
OBJECT = P_OBJECT
TABLES
LINES = LINES
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS = 8.
LOOP AT LINES.
MOVE LINES-TDLINE P_TEXT_OUTPUT TO P_TEXT_OUTPUT.
P_TEXT_OUTPUT = LINES-TDLINE.
EXIT.
MOVE LINES-TDLINE TO P_TEXT_OUTPUT.
ENDLOOP.
ENDFORM. " READTEXT
-
FORM CODING
SFORMYMS_INVPRNTN
HFORMYMS_INVPRNTN
OLANE
HEADFORM YMS_INVPRNTN SAP DEF EDomestic Invoice script REPORT YMS_INVPRNTN 00031OBTDEV3 46C 20021018163257CONS1 46C 2007010312571813200045 E0 210
LINE/:FORM CPI 10; LPI 6; TAB-STOP 1 MM; FONT HELVE; FONT-SIZE 8;
LINE/:FORM START-PAGE FIRST; FORMAT Z235X303 PORTRAIT; PARAGRAPH PP; RDI; RDIDEV;
LINE/:PARAGRAPH A1 NOBLANKS ON; LINE-SPACE 1 LN; FONT HELVE; FONT-SIZE 8;
LINE/:PARAGRAPH C1 LINE-SPACE 1 LN; FONT HELVE; FONT-SIZE 8;
LINE/:PARAGRAPH C2 LINE-SPACE 1 LN; FONT HELVE; FONT-SIZE 8;
LINE/:PARAGRAPH D1 LINE-SPACE 1 LN; FONT HELVE; FONT-SIZE 8;
LINE/:PARAGRAPH I1 LINE-SPACE 1 LN; FONT HELVE; FONT-SIZE 8;
LINE/:PARAGRAPH M1 LINE-SPACE 1 LN; FONT HELVE; FONT-SIZE 8;
LINE/:PARAGRAPH P1 LINE-SPACE 1 LN; FONT HELVE; FONT-SIZE 8;
LINE/:PARAGRAPH PP LINE-SPACE 1 LN; FONT HELVE; FONT-SIZE 8;
LINE/:PARAGRAPH T1 LINE-SPACE 1 LN; FONT HELVE; FONT-SIZE 8;
LINE/:PARAGRAPH T2 LINE-SPACE 1 LN; FONT HELVE; FONT-SIZE 8;
LINE/:PARAGRAPH C2 TAB 1 19 MM LEFT;
LINE/:PARAGRAPH D1 TAB 1 98 MM LEFT;
LINE/:PARAGRAPH I1 TAB 1 16 MM LEFT; TAB 2 24.50 MM LEFT;
LINE/:PARAGRAPH M1 TAB 1 12 MM LEFT; TAB 2 113 MM RIGHT; TAB 3 130 MM RIGHT;
LINE/:PARAGRAPH M1 TAB 4 160 MM RIGHT; TAB 5 194 MM RIGHT; TAB 6 199 MM RIGHT;
LINE/:PARAGRAPH P1 TAB 1 30.50 MM CENTER; TAB 2 85.50 MM CENTER;
LINE/:PARAGRAPH P1 TAB 3 140.50 MM CENTER; TAB 4 180 MM LEFT;
LINE/:PARAGRAPH T1 TAB 1 105 MM LEFT;
LINE/:PARAGRAPH T2 TAB 1 103 MM LEFT;
LINE/:STRING C FONT HELVE; FONT-SIZE 8; BOLD ON; ULINE ON; SUPERSCRIPT ON;
LINE/:STRING C MARK OFF;
LINE/:STRING I FONT HELVE; FONT-SIZE 12; BOLD ON; MARK OFF;
LINE/:WINDOW ADDRESS TYPE VAR;
LINE/:WINDOW CONSIGNE TYPE VAR;
LINE/:WINDOW CUSTDET TYPE VAR;
LINE/:WINDOW DESPATCH TYPE VAR;
LINE/:WINDOW INVDET TYPE VAR;
LINE/:WINDOW MAIN
LINE/:WINDOW PRODUCT TYPE VAR;
LINE/:WINDOW TAX TYPE VAR;
LINE/:WINDOW TOTAL TYPE VAR;
LINE/:WINDOW TRANSPOR TYPE VAR;
LINE/:PAGE FIRST
LINE/:PAGE FIRST MAIN 0 20 MM 138 MM 198 MM 98 MM;
LINE/:PAGE FIRST WINDOW ADDRESS 21 MM 54 MM 117 MM 50 MM;
LINE/:PAGE FIRST WINDOW CONSIGNE 150 MM 85 MM 70 MM 15 MM;
LINE/:PAGE FIRST WINDOW CUSTDET 139 MM 68 MM 82 MM 11 MM;
LINE/:PAGE FIRST WINDOW DESPATCH 50 MM 118.50 MM 167 MM 6.50 MM;
LINE/:PAGE FIRST WINDOW INVDET 35 MM 35 MM 60 MM 20 MM;
LINE/:PAGE FIRST WINDOW PRODUCT 20 MM 106 MM 195 MM 10 MM;
LINE/:PAGE FIRST WINDOW TAX 100 MM 35 MM 55 MM 25 MM;
LINE/:PAGE FIRST WINDOW TOTAL 51 MM 237.50 MM 168 MM 10 MM;
LINE/:PAGE FIRST WINDOW TRANSPOR 81.50 MM 250 MM 138 MM 18.50 MM;
END
HEADFORM YMS_INVPRNTN SAP TXT EDomestic Invoice script REPORT YMS_INVPRNTN 00031OBTDEV3 46C 20021018163257CONS1 46C 2007010312571813200242 E0 210
LINE/:FORM TEXT 'Domestic Invoice script REPORT';
LINE/:PARAGRAPH A1 TEXT 'for Address Window';
LINE/:PARAGRAPH C1 TEXT 'for Customer Order No. and Dat';
LINE/:PARAGRAPH C2 TEXT 'for Consignee Registration No';
LINE/:PARAGRAPH D1 TEXT 'for Despatch Window';
LINE/:PARAGRAPH I1 TEXT 'for Invoice Details Window';
LINE/:PARAGRAPH M1 TEXT 'for Main Window';
LINE/:PARAGRAPH P1 TEXT 'for Product Details window';
LINE/:PARAGRAPH PP TEXT 'Default Paragraph Format';
LINE/:PARAGRAPH T1 TEXT 'for Total Amount in Words';
LINE/:PARAGRAPH T2 TEXT 'for Transport Details Window';
LINE/:STRING C TEXT 'For Under Line';
LINE/:STRING I TEXT 'FOR INVOICE NUMBER';
LINE/:WINDOW ADDRESS TEXT 'Name & Address of Consignee';
LINE/:WINDOW CONSIGNE TEXT 'Consignee Registration No etc.';
LINE/:WINDOW CUSTDET TEXT 'Customer Order Details';
LINE/:WINDOW DESPATCH TEXT 'Despatched to and Through';
LINE/:WINDOW INVDET TEXT 'For Invoice No and Others';
LINE/:WINDOW MAIN TEXT 'Main window';
LINE/:WINDOW PRODUCT TEXT 'Product Details and Others';
LINE/:WINDOW TAX TEXT 'TAX PURPOSE';
LINE/:WINDOW TOTAL TEXT 'TOTAL in Words';
LINE/:WINDOW TRANSPOR TEXT 'Transport Details';
LINE/:PAGE FIRST TEXT 'First Page';
LINE/WTRANSPOR
LINET2&zinv-TRNSMODE&
LINET2&zinv-lryno&
LINET2&zinv-destn&
LINE/WDESPATCH
LINE/*&ZINV-DESTN&,,&ZINV-RDTRNS&
LINED1&ZINV-DESTN&,,&ZINV-thru(40)&
LINE/*,,&ZINV-thru+35(5)&
LINE/WTOTAL
LINE/ETOTAL
LINE/:IF &PAGE(C)& EQ &SAPSCRIPT-FORMPAGES(C)&
LINE/:IF &ERATE(C)& NE '0'
LINET1Rupees &W_WORD1&&w_word2&,,&zinv-docthru(40)&
LINET1&w_word3& only ,,
LINE/:ELSE
LINET1-,,&zinv-docthru(40)&
LINET1,,
LINE/:ENDIF
LINE/*&zinv-docthru+35(5)&
LINE/:ENDIF
LINE/WCUSTDET
LINEC1,,,,,,,,,,,,,,,,,,,,,,,,,,,,&zinv-WORKORDERNO(25)&
LINEC1,,,,&WORKORD&
LINE/*&ZINV-WORKORDERNO+20(20)&
LINE/*&zinv-WORKORDERDT&
LINEC1&vbkd-bstdk&
LINE/WADDRESS
LINEA1Sold To :
LINE/*IF &LIKP-KUNNR(C)& EQ &LIKP-KUNAG(C)&
LINEA1&kna1-anred&&adrc-name1&
LINE/*ELSE
LINE/*&kna1-anred&&adrc-name1&
LINE/*&adrc-street(15)& &adrc-city1(15)&- &adrc-post_code1&
LINE/*&t005t-landx&
LINE/*ENDIF
LINEA1----
LINEA1Ship To:
LINEA1&kna1-anred&&kna1-name1&
LINEA1&kna1-name2&
LINEA1&KNA1-STRAS&
LINEA1&kna1-ort01&-&kna1-PSTLZ&
LINEA1&t005u-bezei&
LINEA1&t005t-landx&
LINE/WPRODUCT
LINEP1,,&J_1ICHIDTX-J_1ICHT1(27)&,,&J_1IMTCHID-J_1ICHID&,,&zinv-exemnot1&
LINE/*,,&W_BEDRATE(C)&%
LINE/:IF &ERATE(C)& NE '0'
LINE/:IF &ORDERTYPE(C)& NE 'ZSH1' OR &ORDERTYPE(C)& NE 'ZSHS'
LINE= ,,&erate(C)&%
LINE/:ENDIF
LINE/:ELSE
LINE= ,,-
LINE/:ENDIF
LINEP1,,&J_1ICHIDTX-J_1ICHT1+27(27)&,,,,&zinv-exemnot2&
LINE/WINVDET
LINE/*&J_1IEXCDTL-EXNUM(Z)&
LINEI1,, &space(8)& <I>&wa_exnum(Z)&/&p_docno&</>
LINEI1,, &space(10)& &vbrk-FKDAT&
LINEI1,, &space(10)& &vbrk-FKDAT& ,,&SPACE(2)&
LINE/WTAX
LINE/:IF VBAK-SPART NE 18 AND 19 AND 20.
LINEI1<I>TAX INVOICE
LINE/:ENDIF.
LINEI1TIN:33542023748
LINEI1(ASST CIRLCE: THUDIYALUR)
LINE/WMAIN
LINE/ETOP
LINEM1,,<C>&J_1ICHIDTX-J_1ICHT1&</>
LINE/EDATA
LINEM1,,&I_ITAB2-W_TEXT&
LINE/ELINE1
LINE/
LINE/ELINE2
LINEM1,,&ITAB3-WTEXT&
LINE/ELINE3
LINE/
LINE/EMAIN
LINE/:IF &VBRK-FKART& NE 'ZF16'
LINEM1&SPACE(3)& &W_SL(C)&,,&i_vbdpr-ARKTX(38)&,,
LINE= &space(5)&&i_vbdpr-fkimg(C.0)&&i_vbdpr-VRKME(C)&
LINE= ,,&i_vbdpr-fkimg(C.0)&&i_vbdpr-VRKME(C)&,,&rate(C)&
LINE= ,,&bprice(C)&
LINE/:ELSE
LINEM1&SPACE(3)& &W_SL(C)&,,&i_vbdpr-ARKTX(38)&,,
LINE= &space(5)&&i_vbdpr-fkimg(C.0)&&i_vbdpr-VRKME(C)&
LINE= ,,&WA_NTWT(C.0)&&i_vbdpr-GEWEI(C)&,,&rate(C)&,,
LINE= &bprice(C)&
LINE/:ENDIF
LINE/*,,----
LINE/EDESC
LINE/*,,&I_ITAB-W_TEXT&
LINEM1,,,,,,,,,,----
LINEM1&space(2)&,,,,,,,,,,&tbprice&
LINE/ETAXES
LINE/:IF &PF(C.2)& NE '0.00' AND &PF(C.2)& NE '0,00'
LINE/*,,Add : P & F ,,,,,,&tpf&,,&W_T1&
LINEM1&space(2)&,,Add : P & F ,,,,,,,,&tpf&
LINEM1,,,,,,,,,,----
LINEM1&space(2)&,,,,,,,,,,&w_t1&
LINE/:ENDIF
LINE/:IF &ERATE(C.2)& NE '0.00' AND &ERATE(C.2)& NE '0,00'
LINEM1&SPACE(2)&,,Add : E.D. @ &erate(C)&%,,,,,,,,&myed(C)&
LINE/:ENDIF
LINE/*IF &MYCESS(C.2)& EQ '0.00'
LINE/*,,,,,,,,,,----
LINE/*&SPACE(2)&,,,,,,,,,,&w_t2&
LINE/*ENDIF
LINE/*ENDIF
LINE/:IF &TPPCOST(C.2)& NE '0.00' AND &TPPCOST(C.2)& NE '0,00'
LINEM1,,Proportionate Pattern Cost :&PPRATE(C)&% &ppcost_txt&
LINE/:ENDIF
LINE/:IF &TEPPCOST(C.2)& NE '0.00' AND &TEPPCOST(C.2)& NE '0,00'
LINEM1,,Add : E.D. 16% On Propotionate Pattern Cost (Rs &TPPCOST(C)&),,,,,,
LINE/:&TEPPCOST&,,&W_T3&
LINE/:ENDIF
LINE/:IF &CESRT(C.2)& NE '0.00' AND &CESRT(C.2)& NE '0,00'
LINEM1&SPACE(2)&,,Add : Education Cess @ 2% on ED ,,,,,,,,&mycess(C)&
LINEM1,,,,,,,,,,----
LINEM1&SPACE(2)&,,,,,,,,,,&w_t9&
LINE/:ENDIF
LINE/:IF &ZIN1(C.2)& NE '0.00'
LINEM1&SPACE(2)&,,Add : CST Asset,,,,,,,,&ZIN1(C)&
LINEM1&SPACE(2)&,,Add : CST Surcharge,,,,,,,,&ZIN4(C)&
LINEM1,,,,,,,,,,----
LINEM1&SPACE(2)&,,,,,,,,,,&W_T10&
LINE/:ENDIF
LINE/:IF &ZIN2(C.2)& NE '0.00'
LINEM1&SPACE(2)&,,Add : LST(TNGST) Asset,,,,,,,,&ZIN2(C)&
LINEM1&SPACE(2)&,,Add : LST Surcharge,,,,,,,,&ZIN5(C)&
LINEM1,,,,,,,,,,----
LINEM1&SPACE(2)&,,,,,,,,,,&W_T11&
LINE/:ENDIF
LINE/:IF &SALESTAX(C.2)& NE '0.00'.
LINEM1&SPACE(2)&,,Add : Sales Tax,,,,,,,,&SALESTAX(C)&
LINEM1,,,,,,,,,,----
LINEM1&SPACE(2)&,,,,,,,,,,&W_T12&
LINE/:ENDIF
LINE/*IF &TPPCOST(C.2)& NE '0.00' AND &TPPCOST(C.2)& NE '0,00'
LINE/*,,Proportionate Pattern Cost :&PPRATE(C)& &ppcost_txt&
LINE/*ENDIF
LINE/*IF &TEPPCOST(C.2)& NE '0.00' AND &TEPPCOST(C.2)& NE '0,00'
LINE/*,,Add : E.D. 16% On Propotionate Pattern Cost (Rs &TPPCOST(C)&),,,,,,
LINE/*&teppcost&,,&W_T3&
LINE/*,,,,,,,,,,----
LINE/*,,,,,,,,&MYTOT2&
LINE/*ENDIF
LINE/:IF &CTYPE& EQ 'JIN1'
LINE/*,,Add : CST &ZINV-AGNFRMC& ,,,,,,&tltax1(C)&,,&MYTOT(C)&
LINE/:IF &TLTAX1(C.2)& NE '0.00' AND &TLTAX1(C.2)& NE '0,00'
LINE/*,,Add : CST &ZINV-AGNFRMC& - &w_cr(C)&%,,,,,,&tltax1(C)&,,&W_T4&
LINEM1&space(2)&,,Add : CST &ZINV-AGNFRMC& &w_cr(C)&% ,,,,,,,,&tltax1(C)&
LINEM1,,,,,,,,,,----
LINEM1&SPACE(2)&,,,,,,,,,,&w_t4&
LINE/:ENDIF
LINE/:ENDIF.
LINE/:IF &CTYPE& EQ 'JIN2' OR &CTYPE& EQ 'JIN6' OR &CTYPE& EQ 'JIN7'
LINE/*,,Add : TNGST &ZINV-AGNFRM17& ,,,,,,,,&tltax2(C)&,,&MYTOT(C)&
LINE/:IF &TLTAX2(C.2)& NE '0.00' AND &TLTAX2(C.2)& NE '0,00'
LINE/*,,Add : TNGST &ZINV-AGNFRM17& : &w_lr(C)&% ,,,,,,&tltax2(C)&
LINE/*&W_T5& ,,Add : TNGST &ZINV-AGNFRM17& : &w_lstrate(C)&% ,,,,,,
LINEM1&space(2)&,,Add : TNGST &ZINV-AGNFRM17& : &w_lr(C)&% ,,,,,,,,
LINE= &tltax2(C)&
LINE/*,,,,,,,,,,----
LINE/*&space(2)&,,,,,,,,,,&w_t5&
LINE/:ENDIF
LINE/:ENDIF
LINE/:ENDIF
LINE/:IF &TLSTSUR(C.2)& NE '0.00' AND &TLSTSUR(C.2)& NE '0,00'
LINEM1&space(2)&,,Add : TNGST &w_ls(C)&%,,,,,,,,&tlstsur&
LINE/:ENDIF
LINE/:IF &CTYPE& EQ 'JIN2' OR &CTYPE& EQ 'JIN6' OR &CTYPE& EQ 'JIN7'
LINE/:IF &W_T6(C.2)& NE '0.00' AND &CTYPE& NE 'JIN1'
LINEM1,,,,,,,,,,----
LINEM1&space(2)&,,,,,,,,,,&w_t6&
LINE/:ENDIF
LINE/:ENDIF
LINE/*,,Add : TNGST &w_lstsur(C)&%,,,,,,&tlstsur&,,&W_T6&
LINE/*ENDIF
LINE/*ENDIF
LINE/*IF &TPPCOST(C.2)& NE '0.00' AND &TPPCOST(C.2)& NE '0,00'
LINE/*,,Add : Proportionate Pattern Cost,,,,,,&tppcost&
LINE/*ENDIF
LINE/*IF &TEPPCOST(C.2)& NE '0.00' AND &TEPPCOST(C.2)& NE '0,00'
LINE/*,,Add : Excise On Propotionate Pattern Cost,,,,,,&teppcost&
LINE/*ENDIF
LINE/:IF &TSTAX(C.2)& NE '0.00' AND &TSTAX(C.2)& NE '0,00'
LINE/*,,Add : Service Tax ,,,,,,&tstax&,,&W_T7&
LINEM1&space(2)&,,Add : Service Tax @ &wa_stax(C)&%,,,,,,,,&tstax&
LINEM1,,,,,,,,,,----
LINEM1&space(2)&,,,,,,,,,,&w_t7&
LINE/:ENDIF
LINE/:IF &TSCTAX(C.2)& NE '0.00' AND &TSCTAX(C.2)& NE '0,00'
LINEM1&space(2)&,,Add : Cess @ &wa_sctax(C)&% on S.T. ,,,,,,,,&tsctax&
LINEM1,,,,,,,,,,----
LINEM1&space(2)&,,,,,,,,,,&w_10&
LINE/:ENDIF
LINE/*,,,,Add : TNGST ,,,,,,,,<ax1(C)&
LINE/*,,,,,,,,,,,,----
LINE/*,,,,,,,,,,,,&MYTOT(C)&
LINE/:IF &MYADV(C.2)& NE '0.00' AND &MYADV(C.2)& NE '0,00'
LINE/*,,Less Advance : &zinv2-adv(C)&% ,,,,,,&myadv&,,&W_T8&
LINEM1&space(2)&,,Less Advance : &zinv2-adv(C)&% ,,,,,,,,&myadv&
LINEM1,,,,,,,,,,----
LINEM1&space(2)&,,,,,,,,,,&w_t8&
LINE/:ENDIF
LINE/*,,,,,,,,,,,,----
LINEM1&SPACE(2)&,,,,,,,,,,----
LINEM1,,Amount to be Paid : &total2&
LINE/
LINEM1,,&SPACE(20)& (Rupees &W_INWORDS2& &'and Paisa 'W_INWORT2& only)
LINEM1&SPACE(2)&,,Ref: Commercial Doc No: &p_docno&
LINE/:IF &ZINV2-NOTE1& NE ' '
LINEM1,,Note : &zinv2-note1&
LINE/:ENDIF
LINE/WCONSIGNE
LINEC2,,,,&J_1IMOCUST-J_1IEXCD&
LINEC2TIN :,,&KNA1-STCEG&
LINEC2,,,,&J_1IMOCUST-J_1ICSTNO&
END
ACTVSAP
E
‎2007 Jan 03 8:09 AM
so what is your question?
and your code not at all in a state to read or understand.
regards
shiba dutta
‎2007 Jan 03 9:18 AM
Hi SHIBA DUTTA,
Thank u for your helpful answer.
Regards,
Star Shankar
‎2007 Jan 03 11:09 AM
‎2007 Jan 03 11:28 AM
HELLO STAR SHANKAR SIR,
Oh gr8. first time seeing this type of question.....
u r really...................
with regards
Suvetha
Gayathri