Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

invoice printing for vat

p291102
Active Contributor
0 Likes
1,045

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 ,,,,,,,,&ltax1(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

4 REPLIES 4
Read only

Former Member
0 Likes
757

so what is your question?

and your code not at all in a state to read or understand.

regards

shiba dutta

Read only

p291102
Active Contributor
0 Likes
757

Hi SHIBA DUTTA,

Thank u for your helpful answer.

Regards,

Star Shankar

Read only

p291102
Active Contributor
0 Likes
757

Hi Shiba,

I will explain clear to you man.

Thanks,

Star Shankar

Read only

Former Member
0 Likes
757

HELLO STAR SHANKAR SIR,

Oh gr8. first time seeing this type of question.....

u r really...................

with regards

Suvetha

Gayathri