SAP Script OTF data problem
hello,
Im trying to convert a script to pdf data.
In the open_form I set getotf = 'X' and in the close form , i get the OTf data.
I convert this otf to pdf data.
In the pdf output, I only have the static fields and no data.Though the number of pages generated are same in the PDF output and the script.
help me figure it out ..
Hi,
There is a very useful post to check how you have converted otf to pdf:
Emailing Sap Scripts
Cheers,
Bhanu
Similar Messages
-
How to display in sap-script the data which is input in selection screen by the user.
Hii,
I want to display the data in sap-script that has been input by the user in selection screen.
Suppose the the user has done input for posting date from 25.1.2001 to 25.1.2005,what i want is to display this date in sap script.
How can i do it.
please help asap.
Regards.Hi,
If select-option name is s_erdat.
then from value will be s_erdat-low and to value will be s_erdat-high.
Arivazhagan S -
SAP-SCRIPT - select data in the form
Hi expert,
In the existing form there's a field with user-name of document's creator.
I have to make a modify:
Put the first name and last name of document's creator instead user name.
How can I make this modify ... I have to modify the print report or I can modify only the form ?
How ?
tks a lot...
bye.First you have to check whether this data is already available in the form or not?
If available, then just modify the form and replace the user name with First & Last name.
If not available then you have to use a subroutine to get the name from username. Make the call from script and write the subroutine in the print program.
To check more about subroutine in SAPScript search forum, you will get many replies. -
Csutom SAP Script in ME23N not displaying data in Form
Hi Experts,
I have created custom driver program for PO printing using Form entry_neu, which is printing a SAP script,
but the problem is when the form is displayed, data is not populated in the form.
While debugging in driver program the data is being filled in structures but when I debugg the SAP form the structures are empty.
When I am running the same program from SE38 then it is perfectly calling the form with data.
Could some let me know the possible cause of error.
Thanks n Regards
RohitHi rohit,
Check in NACE transaction whether ur form name and print program (custom) is configured with routene ENTRY_NEU. And also cross check whether this routene entry_neu is also configured for other forms?
Because entry_neu routene is standard one , so it might be configured for other forms also.
So it is better to write ur driver program with different routene name like entry.
Form entry.
Endform.
And this routene entry need to configure in nace for ur custom program and ur form with output type.
Regards,
Vineel. -
Problem in address printing in sap script in Russian language
hi all
I am trying to get a PO output using a sap script. The problem is that the vendor address in not coming in the required Russian language. The language in PO is Russian and the logon langauge is also Russian.
The script uses ADDRESS ENDADDRESS statement to print the address in form. This statement
uses the function module ADDRESS_INTO_PRINTFORM to print the address. The address can be obtained in the required language from this function module but I want the address in Russian language uses the ADDRESS ENDADDRESS statement.
Please let me know if any body has faced this kind of problem earlier.
Thanks.Hi,
pls check that u have provided the following parameters in ADDRESS ENDADDRESS.
/:address
/:COUNTRY recipient country [language code]
/: COUNTRY_IN_REC_LANG
/: LANG_FOR_COUNTRY language key
/:endaddress
language codes can be know in table T002.
Hopes this helps!!
thanks -
Use of IF statement in SAP Scripts
Can u tell me how to use IF statement in SAP Scripts.
The problem is
if &sy-tabix& eq '1'
total
else
total1.
endif.
this sy-tabix is not workingi think sy-tabix will not work here....
do like this..
data : vtabix type i.
loop at itab.
vtabix = sy-tabix.
write_form...for the text element..
endloop.
in form layout
/: if &vtabix(c)& eq 1
/:endif
regards
shiba dutta -
How to use print control in Sap script
I would like to use print control in Sap script.Actualy my problem I have security font Troy ECF. Using this font I would like to print amount field in Check printing.
we count download this font with sap .we talked to customer care they told we should hard code in sapscript. pls can any1 help on this how to do and how to use print control for this fonts.call this funcation. crate_text.
CALL FUNCTION 'CREATE_TEXT'
EXPORTING
FID =
FLANGUAGE =
FNAME =
FOBJECT =
SAVE_DIRECT = 'X'
FFORMAT = '*'
TABLES
FLINES =
EXCEPTIONS
NO_INIT = 1
NO_SAVE = 2
OTHERS = 3
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF. -
It can not displayed sap script
i have to post invoice in vendor a/c,then run to APP successfully,then execute spool,actually hear it can displayed ABAP list file, SAP script(otf) file,and SAP script file(otf) but hear only displayed ABAP list file, SAP script(otf) file it can not displayed vendor payment advice list why. pls give me answer
Hi Shirley,
I assume the hardware is less on the target than on the source or they are different at least in terms of hardware specs
If the system is not starting, check the dev_disp.log, the stderr* files, and the dev_w0 log from the work directory to find the exact error. Does the system start if you increase or decrease this value?
Regards,
Paul -
Problem in displaying the data of columns into rows in sap script
hi,
i am working on a sap script and i have to display the dat which is displayed in column into rows but it is not displaying it properly.
eg, C
12.1
Si
5.5
it is displaying the data right now like this but i want to display the data like this:-
eg, C Si
12.1 5.5
plzzprovide me guidelines how to solve this problem.hi,
i am using this code to display the data:-
plzz provide me guidelines where i am getting wrong?
TOPparCOMPONENT DESP,,,,,, INS. LOT #, , , , , , MIC,,,,,,,,,, MIC VALUEparENDTOPparFINAL
PROTECT
IF &I_FINAL-PRUEFLOS& NE '000000000000'
&I_FINAL-MAKTX(23)&&i_final-prueflos(12Z)&
&I_FINAL-kurztext(25)&
&I_FINAL-original_input(8)&
ELSE
&I_FINAL-MAKTX(23)&
&I_FINAL-kurztext(25)&
&I_FINAL-original_input(8)&
ENDIF
ENDPROTECT
ITEMHEAD
POSITION WINDOW
SIZE WIDTH +0 . 4 CH HEIGHT +1 LN
BOX FRAME 10 TW
BOX HEIGHT '1.35' LN INTENSITY 20
IF &PAGE& = '1'
BOX XPOS '0' CH YPOS '0' CM WIDTH '0' CM HEIGHT '43' LN FRAME '10' TW
For horizontal line at top
BOX XPOS '0' CH YPOS '0' CM WIDTH '75' CH HEIGHT '0' LN FRAME '10' TW
COLUMN LINES...
END OF COLUMN LINES...
BOX XPOS '0' CH YPOS '43' LN WIDTH '75' CH HEIGHT '0' LN FRAME '10'TW
BOX XPOS '75' CH YPOS '0' LN WIDTH '0' CH HEIGHT '43' LN FRAME '10'TW
ELSE
COLUMN LINES...
END OF COLUMN LINES...
BOX XPOS '0' CH YPOS '0' CM WIDTH '0' CM HEIGHT '47' LN FRAME '10' TW
BOX XPOS '0' CH YPOS '0' CM WIDTH '75' CH HEIGHT '0' LN FRAME '10' TW
BOX XPOS '0' CH YPOS '0' CM WIDTH '45' CM HEIGHT '0' LN FRAME '10' TW
BOX XPOS '20' CH YPOS '0' CM WIDTH '0' CM HEIGHT '47' LN FRAME '10' TW
BOX XPOS '0' CH YPOS '47' LN WIDTH '75' CH HEIGHT '0' LN FRAME '10'TW
BOX XPOS '75' CH YPOS '0' LN WIDTH '0' CH HEIGHT '47' LN FRAME '10'TW
ENDIF
LINEFEED
NEWPAGE
NEW-PAGE
provide me guidelines to solve this problem.
Edited by: ricx .s on Mar 13, 2009 5:58 AM -
Problem in sap script for Item data
Hi Guys ,
Although I am working in ABAP for last 1 year but I am new to SAP script , This is first time I am doing this -
I am creating excise invoice profarma and able to print all that data except J_1IEXCDTL ( Item data ) that I have to display in loop ,
I am using
LOOP AT ITAB_J_1IEXCDTL.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'ITEM_VALUES'
WINDOW = 'MAIN'
EXCEPTIONS
ELEMENT = 1
WINDOW = 2.
ENDLOOP.
My problem is that this is working fine for 1 record but if there are more than 1 record in ITAB_J_1IEXCDTL. , it is showing only first record ,
Other thing i want to know what is connection of element between Driver program and sap script , Can we give any name to element and it doesnt make any impact on Sap script
i have done same in my program ,
Thanks in advance
Amitmy problem is solved now ,
Thanks -
Hi,
I have a situation where I have to call a standard report from my custom report which is based on some condition.
This is fine. But the standard report which I am calling is print program of an SAP Script.
So, the requirement now is that my custom report should be able to send an email of the SAP Script output. For this I need to have the OTF data of the SAP Script in my custom report.
How to get this?
Your help will be highly appreciated.
Thanks,
-SandeepHi,
Go through these links,here they mentioned how to capture OTF data into internal table
http://scn.sap.com/thread/1083143 -
Convert OTF along with Print preview in SAP Script
Hello All,
I was getting a print Preview for the sap script, now with the new requirement, I had to capture otf data too in OPEN_FORM. so I have added "TDGETOTF = X", and that gives me otf data which I am converting it to PDF. now the problem is I am not getting preview anymore. my requirement is to have both, Preview and otf data. I have tired serching in forums and also used a function module SSFCOMP_PDF_PREVIEW, but no luck. what am I missing here. Please suggest.
Thanks-
TDPAGESLCT
TDCOPIES 1
TDDEST LOCL
TDPRINTER
TDPREVIEW X
TDNOPREV
TDNOPRINT
TDNEWID X
TDDATASET SAP11
TDSUFFIX1 LOCL
TDSUFFIX2 1000
TDIMMED
TDDELETE
TDLIFETIME 7
TDSCHEDULE
TDSENDDATE 00000000
TDSENDTIME 000000
TDTELELAND
TDTELENUM
TDTITLE
TDTEST
TDPROGRAM
TDSCRNPOS 000000000000000
TDCOVER D
TDCOVTITLE
TDRECEIVER ABCDEFGH
TDDIVISION
TDAUTORITY
TDARMOD
TDIEXIT
TDGETOTF X
TDFAXUSER
TDRDIDEV
TDNOARMCH
TDFINAL
RQPOSNAME
BCS_REQST
BCS_STATUSMaybe you can call the form twice - once with tdgetotf = 'X', the second time with it blank.
-
521
- Heading for trans. w/out sp.G/L indicators (item sorting method 2)-
Transactions without special G/L indicators
522
- Heading for trans. with sp.G/L indicators (item sorting method 2)-
&T074T-LTEXT&
523
- Heading for open item list of line items -
&ULINE(71)&
<K>Invoice No,,Reference.,,Inv.Date,, Due date,,,,
Balance</>
&ULINE(71)&
PERFORM GET_DATE IN PROGRAM ZREPORT
USING &BSID-BELNR&
CHANGING &S_DATE&
ENDPERFORM.
530
- Line items Customer open items -
&BSID-BELNR&,,&RF140-BELEGNUM&,,&BSID-BLDAT&,,&S_DATE&,,
FORM get_date tables
int_cond structure itcsy
outt_cond structure itcsy.
BREAK SNAGI.
tables : bseg.
data : w_belnr type ITCSY-value.
DATA due_date TYPE rfpos-faedt.
READ TABLE OUTT_COND WITH KEY name = 'S_DATE'.
IF sy-subrc = 0.
outt_cond-value = S_itab11.
MODIFY outt_cond INDEX sy-tabix.
ENDIF.
SELECT SINGLE
shkzg zfbdt zbd1t zbd2t zbd3t rebzg
FROM bseg
INTO CORRESPONDING FIELDS OF bseg
WHERE
*bukrs = bukrs AND
belnr = int_cond-value.
*AND vbeln = belnr.
CALL FUNCTION 'NET_DUE_DATE_GET'
EXPORTING
i_zfbdt = bseg-zfbdt
i_zbd1t = bseg-zbd1t
i_zbd2t = bseg-zbd2t
i_zbd3t = bseg-zbd3t
i_shkzg = bseg-shkzg
i_rebzg = bseg-rebzg
I_KOART = 'D'
IMPORTING
e_faedt = due_date.
outt_cond-value = due_date.
MODIFY outt_cond INDEX sy-tabix.
ENDFORM.
Now the problem is that,it is int_cond-value is always picking up the first invoice number.
and the net due date is always same for all invoices..?
should I loop in the sap script or in the form..?Solved my self.
just placing the perform and endform in 530 -
Hi Experts,
I am trying to convert a script to pdf data.
In the open_form I set getotf = 'X' and in the close form , i get the OTf data.
I convert this otf to pdf data.
In the pdf output, I only have the static fields and no data.Though the number of pages generated are same in the PDF output and the script.
Please help me to figure it outtry this
Here is some sample code for achieving manual conversion to the OTF format.
In case of more than 10 pages:
- Check the spool request
- Click Edit -> OTF display -> No. of OTF pages
Convert SAP Script to text:
- Display the spool request
- Then click Goto -> List display
Automatic conversion to the OTF format:
tables: tline.
data: begin of int_tline1 occurs 100.
include structure tline.
data: end of int_tline1.
call function 'OPEN_FORM'
device = 'OTF_MEM'
after CLOSE_FORM
call function 'CONVERT_OTF_MEMORY'
exporting
format = 'ASCII'
max_linewidth = 132
tables
lines = int_tline1
exceptions
err_max_linewidth = 1
err_format = 2
err_conv_not_possible = 3
others = 4.
write the text file to spool
loop at int_tline1.
if int_tline1-tdline = space.
skip.
else.
write:/ int_tline1-tdline.
endif.
endloop.
regards,
srinivas
<b>*reward for useful answers*</b> -
Problem in Sap Script while printing
HI,
This report calling when I print billing document .this report getting data and call some sap script form but it prints 20 pages in place of only one page. Please
Guide me to finding the exact problem.the code is below..
REPORT zsd_excinv LINE-SIZE 110 LINE-COUNT 100 MESSAGE-ID vn.
TABLES: vbco3, "Keyfelder Vertriebsbeleg: Dokumentendruck
tvko, "Verkaufsorganisation
sadr, "Adressen
komk, "Communicationarea for conditions
komp, "Communicationarea for conditions
komvd, "Communicationarea for conditions
vbdkr, "Druck Rechnung: Kopfdaten
vbdpr, "Druck Rechnung: Positionsdaten
conf_out, "Configuration data
vbpla, "Druck Packliste : allgemeine Daten
vbplk, "Druck Packliste : Versandelementkopfdaten
vbplp, "Druck Packliste : Versandelementinhaltsdaten
vbpls. "Druck Packliste : Summendaten Verpackung
TABLES : j_1iexchdr, j_1iexcdtl, vbrk,eikp,j_1imocust,likp,
j_1iregset, itcpp,kna1, t001w.
*PARAMETER : p_grp LIKE j_1iexchdr-exgrp.
*SELECT-OPTIONS : so_num FOR j_1iexchdr-exnum.
*PARAMETERS : p_num LIKE j_1iexchdr-exnum.
DATA : wa_j_1iexchdr TYPE j_1iexchdr,
it_j_1iexchdr TYPE TABLE OF j_1iexchdr.
DATA : wa_j_1iexcdtl TYPE j_1iexcdtl,
it_j_1iexcdtl TYPE TABLE OF j_1iexcdtl.
DATA : wa_vbrk TYPE vbrk,
wa_vbrp TYPE vbrp,
wa_lips TYPE lips,
wa_j_1iregset TYPE j_1iregset,
wa_j_1iwrkcus TYPE j_1iwrkcus,
wa_j_cust TYPE j_1imocust,
it_vbrp TYPE TABLE OF vbrp.
DATA : BEGIN OF wa_header,
exnum TYPE j_1iexchdr-exnum ,
exdat TYPE j_1iexchdr-exdat ,
exccd TYPE j_1iregset-j_1iexccd,
excrg TYPE j_1iregset-j_1iexcrg,
excd1 TYPE j_1iregset-j_1iexcdi,
bstnk_vf TYPE vbrk-bstnk_vf,
zterm TYPE vbrk-zterm,
iever TYPE eikp-iever,
btgew TYPE likp-btgew,
chapid TYPE j_1iexcdtl-chapid,
traid TYPE likp-traid,
rdoc TYPE j_1iexchdr-rdoc,
maktx TYPE j_1iexcdtl-maktx,
meins TYPE likp-gewei,
END OF wa_header.
*DATA : BEGIN OF wa_header,
exnum TYPE j_1iexchdr-exnum ,
exdat TYPE j_1iexchdr-exdat ,
exccd TYPE j_1iregset-j_1iexccd,
excrg TYPE j_1iregset-j_1iexcrg,
excd1 TYPE j_1iregset-j_1iexcdi,
bstnk_vf TYPE vbrk-bstnk_vf,
zterm TYPE vbrk-zterm,
iever TYPE eikp-iever,
btgew TYPE likp-btgew,
ntgew TYPE likp-ntgew,
chapid TYPE j_1iexcdtl-chapid,
traid TYPE likp-traid,
rdoc TYPE j_1iexchdr-rdoc,
maktx TYPE j_1iexcdtl-maktx,
meins TYPE likp-gewei,
END OF wa_header.
*DATA : BEGIN OF wa_detail,
zeile TYPE j_1iexcdtl-zeile,
matnr TYPE j_1iexcdtl-matnr,
maktx TYPE j_1iexcdtl-maktx,
menge TYPE j_1iexcdtl-menge,
rate TYPE konv-kbetr,
amount TYPE konv-kwert,
fob TYPE konv-kwert,
meins TYPE j_1iexcdtl-meins,
*END OF wa_detail.
*DATA : BEGIN OF wa_duties,
zpr0 TYPE konv-kbetr,
jadc TYPE konv-kbetr,
st1 TYPE konv-kwert,
jexp TYPE konv-kbetr,
jecs TYPE konv-kbetr,
st2 TYPE konv-kwert,
jetc TYPE konv-kbetr,
st3 TYPE konv-kwert,
jsad TYPE konv-kbetr,
st4 TYPE konv-kwert,
st5 TYPE konv-kwert,
vat TYPE konv-kbetr,
st6 TYPE konv-kwert,
zint TYPE konv-kbetr,
jead TYPE konv-kbetr,
zect TYPE konv-kbetr,
zsad TYPE konv-kbetr,
vat_per TYPE konv-kbetr,
vat_val TYPE konv-kwert,
total TYPE konv-kwert,
remtime TYPE j_1iexchdr-remtime,
exdat TYPE j_1iexchdr-exdat,
*END OF wa_duties.
*DATA : wa_t618t TYPE t618t.
*DATA : in_words TYPE spell,
word TYPE spell-word,
decword TYPE spell-decword,
gv_plant_adrnr TYPE t001w-adrnr,
lv_iever TYPE eikp-iever,
lv_btgew TYPE likp-btgew,
lv_ntgew TYPE likp-ntgew,
lv_traid TYPE likp-traid,
lv_regid TYPE j_1iregset-j_1iregid,
gv_cust_adrnr TYPE kna1-adrnr,
gv_ecsduty TYPE konv-kbetr,
gv_tot_cen_amt TYPE konv-kwert,
gv_zterm TYPE tvzbt-vtext,
gv_tot_amt TYPE konv-kwert,
lv_ins TYPE konv-kbetr,
lv_fre TYPE konv-kbetr.
*CONSTANTS : c_ecs TYPE j_1iexcdtl-ecsrate VALUE '0.368'.
*SELECT-OPTIONS : so_num FOR j_1iexchdr-exnum.
DATA : BEGIN OF wa_detail,
zeile TYPE j_1iexcdtl-zeile,
matnr TYPE j_1iexcdtl-matnr,
maktx TYPE j_1iexcdtl-maktx,
menge TYPE j_1iexcdtl-menge,
rate TYPE konv-kbetr,
amount TYPE konv-kwert,
fob TYPE konv-kwert,
meins TYPE j_1iexcdtl-meins,
END OF wa_detail.
DATA : BEGIN OF wa_duties,
zpr0 TYPE konv-kwert,
jadc TYPE konv-kwert,
st1 TYPE konv-kwert,
jexp TYPE konv-kwert,
jecs TYPE konv-kwert,
st2 TYPE konv-kwert,
jetc TYPE konv-kwert,
st3 TYPE konv-kwert,
jsad TYPE konv-kwert,
st4 TYPE konv-kwert,
st5 TYPE konv-kwert,
vat TYPE konv-kwert,
st6 TYPE konv-kwert,
zint TYPE konv-kwert,
jead TYPE konv-kwert,
jeap TYPE konv-kwert,
jeap_per TYPE konv-kbetr,
zect TYPE konv-kwert,
zect_per TYPE konv-kbetr,
zecs TYPE konv-kwert,
zsad TYPE konv-kwert,
vat_per TYPE konv-kwert,
vat_val TYPE konv-kwert,
zlst_per TYPE konv-kwert,
zlst_val TYPE konv-kwert,
zcst_per TYPE konv-kwert,
zcst_val TYPE konv-kwert,
zeap TYPE konv-kwert,
zeap_per TYPE konv-kbetr,
total TYPE konv-kwert,
remtime TYPE j_1iexchdr-remtime,
exdat TYPE j_1iexchdr-exdat,
END OF wa_duties.
DATA : wa_t618t TYPE t618t.
DATA : temp TYPE konv-kwert VALUE 0,
cen_amt TYPE konv-kbetr VALUE 0.
DATA : in_words TYPE spell,
word TYPE spell-word,
decword TYPE spell-decword,
gv_plant_adrnr TYPE t001w-adrnr,
lv_iever TYPE eikp-iever,
lv_btgew TYPE likp-btgew,
lv_traid TYPE likp-traid,
lv_regid TYPE j_1iregset-j_1iregid,
gv_cust_adrnr TYPE kna1-adrnr,
gv_ecsduty TYPE konv-kbetr,
gv_tot_cen_amt TYPE konv-kwert,
gv_zterm TYPE tvzbt-vtext,
gv_tot_amt TYPE konv-kwert,
gv_amount TYPE konv-kwert,
lv_ins TYPE konv-kbetr,
lv_fre TYPE konv-kbetr.
CONSTANTS : c_ecs TYPE j_1iexcdtl-ecsrate VALUE '0.368',
rdocyr TYPE j_1iexchdr-docyr VALUE 2006.
DATA : wa_t685t TYPE t685t.
DATA : gv_zint TYPE t685t-vtext,
gv_vat TYPE t685t-vtext,
gv_zect TYPE t685t-vtext,
gv_jetc TYPE t685t-vtext,
gv_jeap TYPE t685t-vtext,
gv_jecs TYPE t685t-vtext,
gv_zlst TYPE t685t-vtext,
gv_zcst TYPE t685t-vtext,
gv_zeap TYPE t685t-vtext,
gv_jadc TYPE t685t-vtext.
INCLUDE rvadtabl.
DATA: BEGIN OF lvbplk OCCURS 0.
INCLUDE STRUCTURE vbplk. "Packlistenkopf
DATA: END OF lvbplk.
DATA: BEGIN OF lvbplp OCCURS 0.
INCLUDE STRUCTURE vbplp. "Packlistenposition
DATA: END OF lvbplp.
DATA: BEGIN OF lvbpls OCCURS 0.
INCLUDE STRUCTURE vbpls. "Packlistenstruktur
DATA: END OF lvbpls.
DATA: BEGIN OF tvbdpr OCCURS 0. "Rechnungspositionen
INCLUDE STRUCTURE vbdpr.
DATA: END OF tvbdpr.
DATA: BEGIN OF tvbplp OCCURS 10. "Packlistenposition
INCLUDE STRUCTURE vbplp.
DATA: END OF tvbplp.
DATA: BEGIN OF tkomv OCCURS 50.
INCLUDE STRUCTURE komv. "Kommunikation
DATA: END OF tkomv.
DATA: BEGIN OF tkomvd OCCURS 50.
INCLUDE STRUCTURE komvd. "Kommunikation
DATA: END OF tkomvd.
DATA: BEGIN OF *tkomvd OCCURS 50.
INCLUDE STRUCTURE komvd.
DATA: END OF *tkomvd.
DATA: BEGIN OF hkomvd OCCURS 50.
INCLUDE STRUCTURE komvd.
DATA: END OF hkomvd.
DATA: BEGIN OF tkomcon OCCURS 50.
INCLUDE STRUCTURE conf_out.
DATA: END OF tkomcon.
DATA: retcode LIKE sy-subrc. "Returncode
DATA: repeat(1) TYPE c.
DATA: xscreen(1) TYPE c. "Output on printer or screen
DATA: pr_kappl(01) TYPE c VALUE 'V'. "Application für Preisfindung
DATA: print_mwskz. "Mehrwertsteuer-Kz drucken
data for access to central address maintenance
INCLUDE sdzavdat.
FORM ENTRY *
Einstieg für Nachrichtensteuerung *
--> RETURN_CODE *
--> US_SCREEN *
FORM entry USING return_code us_screen.
CLEAR retcode.
xscreen = us_screen.
Formular öffnen, aufbereiten und schließen
PERFORM formular_invoice USING us_screen.
CASE retcode.
WHEN 0.
return_code = 0.
WHEN 3.
return_code = 3.
WHEN OTHERS.
return_code = 1.
ENDCASE.
ENDFORM. "ENTRY
FORM FORMULAR_INVOICE *
Formular abarbeiten *
FORM formular_invoice USING proc_screen.
Werte aufbauen
PERFORM get_data.
Beleg unvollständig
IF vbdkr-uvall NE space OR
vbdkr-uvals NE space OR
vbdkr-uvprs NE space.
IF proc_screen = space.
retcode = 3.
IF vbdkr-uvall NE space OR vbdkr-uvals NE space.
syst-msgno = '201'.
syst-msgid = 'VN'.
syst-msgty = 'I'.
PERFORM protocol_update.
ENDIF.
IF vbdkr-uvprs NE space.
syst-msgno = '200'.
syst-msgid = 'VN'.
syst-msgty = 'I'.
PERFORM protocol_update.
ENDIF.
ELSE.
IF vbdkr-uvall NE space OR vbdkr-uvals NE space.
MESSAGE i201.
ENDIF.
IF vbdkr-uvprs NE space.
MESSAGE i200.
ENDIF.
ENDIF.
ENDIF.
CHECK retcode = 0.
SAP-SCRIPT STEUERUNG festlegen
PERFORM form_open USING proc_screen vbdkr-land1.
CHECK retcode = 0.
Formular aufbereiten
PERFORM sd_invoice_suppl.
CHECK retcode = 0.
Formular schließen
PERFORM form_close.
CHECK retcode = 0.
ENDFORM. "FORMULAR_INVOICE
FORM GET_DATA *
Daten besorgen *
FORM get_data.
PERFORM vbdkr_data. "Rechnungskopf und -liste
PERFORM vbpla_data. "Packliste
ENDFORM. "GET_DATA
FORM FORM_OPEN *
Formular öffnen *
--> US_SCREEN Output on screen *
' ' = printer *
'X' = screen *
--> US_COUNTRY County for telecommunication and SET COUNTRY *
FORM form_open USING us_screen us_country.
DATA: xdevice(8) TYPE c.
SET LANGUAGE nast-spras.
CLEAR itcpo.
MOVE-CORRESPONDING nast TO itcpo.
itcpo-tdcover = nast-tdocover.
itcpo-tddest = nast-ldest.
itcpo-tddataset = nast-dsnam.
itcpo-tdsuffix1 = nast-dsuf1.
itcpo-tdsuffix2 = nast-dsuf2.
itcpo-tdimmed = nast-dimme.
itcpo-tddelete = nast-delet.
itcpo-tdcopies = nast-anzal.
itcpo-tdprogram = sy-repid.
itcpo-tdteleland = us_country.
itcpo-tdsenddate = nast-vsdat.
itcpo-tdsendtime = nast-vsura.
IF us_screen NE space.
itcpo-tdpreview = 'X'.
itcpo-tdnoprint = 'X'.
ENDIF.
IF sy-tcode EQ 'J1IP'.
itcpo-tdpreview = 'X'.
ENDIF.
CASE nast-nacha.
WHEN '1'.
xdevice = 'PRINTER'.
WHEN '2'.
xdevice = 'TELEFAX'.
itcpo-tdtelenum = nast-telfx.
IF nast-tland IS INITIAL.
itcpo-tdteleland = us_country.
ELSE.
itcpo-tdteleland = nast-tland.
ENDIF.
WHEN '3'.
xdevice = 'TELETEX'.
itcpo-tdtelenum = nast-teltx.
IF nast-tland IS INITIAL.
itcpo-tdteleland = us_country.
ELSE.
itcpo-tdteleland = nast-tland.
ENDIF.
WHEN '4'.
xdevice = 'TELEX'.
itcpo-tdtelenum = nast-telx1.
IF nast-tland IS INITIAL.
itcpo-tdteleland = us_country.
ELSE.
itcpo-tdteleland = nast-tland.
ENDIF.
WHEN OTHERS.
xdevice = 'PRINTER'.
ENDCASE.
CALL FUNCTION 'OPEN_FORM'
EXPORTING
form = tnapr-fonam
language = nast-spras
OPTIONS = itcpo
archive_index = toa_dara
archive_params = arc_params
device = xdevice
dialog = ' '
EXCEPTIONS
OTHERS = 1.
IF sy-subrc NE 0.
retcode = sy-subrc.
PERFORM protocol_update.
ENDIF.
SET COUNTRY us_country.
ENDFORM. "FORM_OPEN
FORM FORM_CLOSE *
Formular schließen *
FORM form_close.
CALL FUNCTION 'CLOSE_FORM' "...Ende Formulardruck
EXCEPTIONS OTHERS = 1.
IF sy-subrc NE 0.
retcode = 1.
PERFORM protocol_update.
ENDIF.
SET COUNTRY space.
SET LANGUAGE space.
ENDFORM. "FORM_CLOSE
FORM SD_INVOICE_SUPPL *
Rechnung aufbereiten *
FORM sd_invoice_suppl.
CLEAR : wa_j_1iexchdr, wa_j_1iexcdtl, wa_lips, wa_duties,
gv_tot_amt.
get data from excise header
SELECT * FROM j_1iexchdr INTO TABLE it_j_1iexchdr
WHERE exgrp = '31'
AND rdoc = nast-objky
AND trntyp = 'DLFC'
AND lifnr = space
AND docyr = rdocyr.
AND exdat IN so_dat.
SORT it_j_1iexchdr BY exdat exnum.
READ TABLE it_j_1iexchdr INTO wa_j_1iexchdr INDEX 1.
SELECT * FROM j_1iexcdtl INTO TABLE it_j_1iexcdtl
FOR ALL ENTRIES IN it_j_1iexchdr
WHERE exnum = it_j_1iexchdr-exnum
AND trntyp = 'DLFC'
AND docno = it_j_1iexchdr-docno.
SORT it_j_1iexcdtl BY exdat exnum.
LOOP AT it_j_1iexchdr INTO wa_j_1iexchdr.
*open form
PERFORM open_form USING 'ZSD_EXCINV' 1
'printer' 'X'.
MOVE : wa_j_1iexchdr-exnum TO wa_header-exnum,
wa_j_1iexchdr-exdat TO wa_header-exdat,
wa_j_1iexchdr-rdoc TO wa_header-rdoc.
get plant details
SELECT SINGLE * FROM j_1iwrkcus INTO wa_j_1iwrkcus
WHERE j_1iwerks = wa_j_1iexchdr-werks.
SELECT SINGLE * FROM j_1iregset INTO wa_j_1iregset
WHERE j_1iregid = wa_j_1iwrkcus-j_1iregid.
SELECT adrnr INTO gv_plant_adrnr FROM t001w
WHERE werks = wa_j_1iexchdr-werks.
ENDSELECT.
MOVE : wa_j_1iregset-j_1iexccd TO wa_header-exccd,
wa_j_1iregset-j_1iexcrg TO wa_header-excrg,
wa_j_1iregset-j_1iexcdi TO wa_header-excd1.
get order no. from vbrk
SELECT * INTO wa_vbrk FROM vbrk
WHERE vbeln = wa_j_1iexchdr-rdoc.
ENDSELECT .
MOVE : wa_vbrk-bstnk_vf TO wa_header-bstnk_vf,
wa_vbrk-zterm TO wa_header-zterm.
SELECT vtext FROM tvzbt INTO gv_zterm
WHERE zterm = wa_vbrk-zterm
AND spras = 'EN'.
ENDSELECT.
get nature of removal
SELECT iever INTO lv_iever FROM eikp
WHERE refnr = wa_vbrk-vbeln.
ENDSELECT.
SELECT SINGLE * FROM t618t INTO wa_t618t
WHERE expvz = lv_iever
AND spras = 'E'.
MOVE : lv_iever TO wa_header-iever.
*get consignment weight.
SELECT SINGLE * FROM vbrp INTO wa_vbrp
WHERE vbeln = wa_vbrk-vbeln.
READ TABLE it_j_1iexcdtl INDEX 1 INTO wa_j_1iexcdtl.
SELECT btgew traid gewei INTO (lv_btgew, lv_traid, wa_header-meins) FROM likp
WHERE vbeln = wa_j_1iexcdtl-rdoc1.
ENDSELECT.
MOVE : lv_btgew TO wa_header-btgew,
lv_traid TO wa_header-traid.
lv_weight to wa_header-meins.
*get chapter id
READ TABLE it_j_1iexcdtl INTO wa_j_1iexcdtl WITH KEY exnum = wa_j_1iexchdr-exnum .
IF sy-subrc = 0.
MOVE : wa_j_1iexcdtl-chapid TO wa_header-chapid,
wa_j_1iexcdtl-maktx TO wa_header-maktx.
ENDIF.
*get customer details.
SELECT adrnr FROM kna1 INTO gv_cust_adrnr
WHERE kunnr = wa_j_1iexchdr-kunag.
ENDSELECT.
SELECT SINGLE * FROM j_1imocust INTO wa_j_cust
WHERE kunnr = wa_j_1iexchdr-kunag.
*write invoice header details
PERFORM write_form USING '' 'APPEND' 'BODY' 'LOCCODE' .
*get data from excise details.
LOOP AT it_j_1iexcdtl INTO wa_j_1iexcdtl.
MOVE : wa_j_1iexcdtl-zeile TO wa_detail-zeile,
wa_j_1iexcdtl-matnr TO wa_detail-matnr,
wa_j_1iexcdtl-maktx TO wa_detail-maktx,
wa_j_1iexcdtl-menge TO wa_detail-menge,
wa_j_1iexcdtl-meins TO wa_detail-meins.
SELECT SINGLE * FROM vbrp INTO wa_vbrp
WHERE vbeln = wa_vbrk-vbeln
AND matnr = wa_j_1iexcdtl-matnr.
SELECT kbetr kwert FROM konv
INTO (wa_detail-rate, wa_detail-amount)
WHERE knumv = wa_vbrk-knumv
AND kposn = wa_vbrp-posnr
AND kschl = 'ZPR0'.
ENDSELECT.
SELECT kwert FROM konv
INTO lv_ins
WHERE knumv = wa_vbrk-knumv
AND kposn = wa_vbrp-posnr
AND kschl = 'ZINS'.
ENDSELECT.
SELECT kwert FROM konv
INTO lv_fre
WHERE knumv = wa_vbrk-knumv
AND kposn = wa_vbrp-posnr
AND kschl = 'ZFRE'.
ENDSELECT.
wa_detail-fob = wa_detail-amount + lv_ins + lv_fre.
gv_tot_amt = gv_tot_amt + wa_detail-amount.
gv_amount = gv_amount + wa_detail-amount.
write item details
PERFORM write_form USING 'LINE_ITEMS' 'SET' 'BODY' 'MAIN' .
ENDLOOP.
**get insurance .
SELECT kwert INTO lv_ins FROM konv
WHERE knumv = wa_vbrk-knumv
AND kschl = 'ZINS'.
ENDSELECT.
**get freight .
SELECT kwert INTO lv_fre FROM konv
WHERE knumv = wa_vbrk-knumv
AND kschl = 'ZFRE'.
ENDSELECT.
**get net value .
MOVE wa_vbrk-netwr TO wa_costs-grandtot.
**calculate netvalue(fobvalue)
wa_costs-fobval = wa_costs-grandtot + wa_costs-insurance + wa_costs-freight.
gv_tot_amt = gv_tot_amt + lv_ins + lv_fre.
*get values for different condition types.
SELECT kbetr INTO wa_duties-zpr0 FROM konv
WHERE knumv = wa_vbrk-knumv
AND kposn = wa_vbrp-posnr
AND kschl = 'ZPR0'.
ENDSELECT.
SELECT kwert INTO wa_duties-jadc FROM konv
WHERE knumv = wa_vbrk-knumv
AND kposn = wa_vbrp-posnr
AND kschl = 'JADC'.
temp = temp + wa_duties-jadc.
CLEAR : wa_duties-jadc.
ENDSELECT.
MOVE : temp TO wa_duties-jadc.
CLEAR : temp.
wa_duties-st1 = wa_duties-zpr0 + wa_duties-jadc.
SELECT kwert INTO wa_duties-jexp FROM konv
WHERE knumv = wa_vbrk-knumv
AND kposn = wa_vbrp-posnr
AND kschl = 'JEXP'.
temp = temp + wa_duties-jexp.
CLEAR : wa_duties-jexp.
ENDSELECT.
MOVE : temp TO wa_duties-jexp.
CLEAR : temp.
SELECT kwert INTO wa_duties-jecs FROM konv
WHERE knumv = wa_vbrk-knumv
AND kposn = wa_vbrp-posnr
AND kschl = 'JECS'.
temp = temp + wa_duties-jecs.
CLEAR : wa_duties-jecs.
ENDSELECT.
MOVE : temp TO wa_duties-jecs.
CLEAR : temp.
wa_duties-st3 = gv_tot_amt + wa_j_1iexchdr-exbed + wa_j_1iexchdr-ecs.
SELECT kwert INTO wa_duties-jetc FROM konv
WHERE knumv = wa_vbrk-knumv
AND kposn = wa_vbrp-posnr
AND kschl = 'JETC'.
temp = temp + wa_duties-jetc.
CLEAR : wa_duties-jetc.
ENDSELECT.
MOVE : temp TO wa_duties-jetc.
CLEAR : temp.
wa_duties-st3 = wa_duties-zpr0 + wa_duties-st2 + wa_duties-jetc.
SELECT kwert INTO wa_duties-jsad FROM konv
WHERE knumv = wa_vbrk-knumv
AND kposn = wa_vbrp-posnr
AND kschl = 'JSAD'.
temp = temp + wa_duties-jsad.
CLEAR : wa_duties-jsad.
ENDSELECT.
MOVE : temp TO wa_duties-jsad.
CLEAR : temp.
SELECT kbetr kwert INTO (wa_duties-jeap_per, wa_duties-jeap) FROM konv
WHERE knumv = wa_vbrk-knumv
AND kposn = wa_vbrp-posnr
AND kschl = 'JEAP'.
temp = temp + wa_duties-jeap.
CLEAR : wa_duties-jeap.
ENDSELECT.
MOVE : temp TO wa_duties-jeap.
CLEAR : temp.
wa_duties-jeap_per = wa_duties-jeap_per / 10.
SELECT kbetr kwert INTO (wa_duties-zeap_per, wa_duties-zeap) FROM konv
WHERE knumv = wa_vbrk-knumv
AND kposn = wa_vbrp-posnr
AND kschl = 'ZEAP'.
temp = temp + wa_duties-zeap.
CLEAR : wa_duties-zeap.
ENDSELECT.
MOVE : temp TO wa_duties-zeap.
CLEAR : temp.
wa_duties-zeap_per = wa_duties-zeap_per / 10.
(st2jetcjsad)
wa_duties-st4 = wa_duties-st2 + wa_duties-jetc + wa_duties-jsad.
(zpr0+st4)
wa_duties-st5 = wa_duties-zpr0 + wa_duties-st4 .
SELECT kbetr INTO wa_duties-vat FROM konv
WHERE knumv = wa_vbrk-knumv
AND kposn = wa_vbrp-posnr
AND kschl = 'VAT'.
ENDSELECT.
SELECT kbetr kwert INTO (wa_duties-vat_per, wa_duties-vat_val) FROM konv
WHERE knumv = wa_vbrk-knumv
AND kposn = wa_vbrp-posnr
AND kschl = 'ZVAT'.
temp = temp + wa_duties-vat_val.
CLEAR : wa_duties-vat_val.
ENDSELECT.
MOVE : temp TO wa_duties-vat_val.
CLEAR : temp.
wa_duties-vat_per = wa_duties-vat_per / 10.
SELECT kbetr kwert INTO (wa_duties-zcst_per, wa_duties-zcst_val) FROM konv
WHERE knumv = wa_vbrk-knumv
AND kposn = wa_vbrp-posnr
AND kschl = 'ZCST'.
temp = temp + wa_duties-zcst_val.
CLEAR : wa_duties-zcst_val.
ENDSELECT.
MOVE : temp TO wa_duties-zcst_val.
CLEAR : temp.
wa_duties-zcst_per = wa_duties-zcst_per / 10.
SELECT kbetr kwert INTO (wa_duties-zlst_per, wa_duties-zlst_val) FROM konv
WHERE knumv = wa_vbrk-knumv
AND kposn = wa_vbrp-posnr
AND kschl = 'ZLST'.
temp = temp + wa_duties-zlst_val.
CLEAR : wa_duties-zlst_val.
ENDSELECT.
MOVE : temp TO wa_duties-zlst_val.
CLEAR : temp.
wa_duties-zlst_per = wa_duties-zlst_per / 10.
(st5+vat)
wa_duties-st6 = wa_duties-vat_val + wa_duties-st5 .
SELECT kwert INTO wa_duties-zint FROM konv
WHERE knumv = wa_vbrk-knumv
AND kposn = wa_vbrp-posnr
AND kschl = 'ZINT'.
temp = temp + wa_duties-zint.
CLEAR : wa_duties-zint.
ENDSELECT.
MOVE : temp TO wa_duties-zint.
CLEAR : temp.
SELECT kwert INTO wa_duties-jead FROM konv
WHERE knumv = wa_vbrk-knumv
AND kposn = wa_vbrp-posnr
AND kschl = 'JEAD'.
temp = temp + wa_duties-jead.
CLEAR : wa_duties-jead.
ENDSELECT.
MOVE : temp TO wa_duties-jead.
CLEAR : temp.
SELECT kbetr kwert INTO (wa_duties-zect_per, wa_duties-zect) FROM konv
WHERE knumv = wa_vbrk-knumv
AND kposn = wa_vbrp-posnr
AND kschl = 'ZECT'.
temp = temp + wa_duties-zect.
CLEAR : wa_duties-zect.
ENDSELECT.
MOVE : temp TO wa_duties-zect.
CLEAR : temp.
wa_duties-zect_per = wa_duties-zect_per / 10.
SELECT kwert INTO wa_duties-zsad FROM konv
WHERE knumv = wa_vbrk-knumv
AND kposn = wa_vbrp-posnr
AND kschl = 'ZSAD'.
temp = temp + wa_duties-zsad.
CLEAR : wa_duties-zsad.
ENDSELECT.
MOVE : temp TO wa_duties-zsad.
CLEAR : temp.
IF wa_vbrk-kalsm = 'ZINSCR'.
wa_duties-total = gv_tot_amt
+ wa_duties-jexp
+ wa_duties-jecs
+ wa_duties-zlst_val
+ wa_duties-zint
+ wa_duties-jead
+ wa_duties-vat_val
+ wa_duties-zcst_val.
+ wa_duties-jecs
+ wa_duties-zeap
+ wa_duties-zecs
+ wa_duties-zsad
+ wa_duties-jadc.
ELSEIF wa_vbrk-kalsm = 'ZINFAC'.
wa_duties-total = gv_tot_amt
+ wa_duties-jexp
+ wa_duties-jecs
+ wa_duties-zlst_val
+ wa_duties-zint
+ wa_duties-jeap
+ wa_duties-vat_val
+ wa_duties-zcst_val
+ wa_duties-jecs
+ wa_duties-zeap
+ wa_duties-zect.
+ wa_duties-zsad
+ wa_duties-jadc.
ENDIF.
Get Condition descriptions.
SELECT SINGLE * FROM t685t INTO wa_t685t
WHERE kschl = 'ZVAT' AND spras = 'EN'.
MOVE wa_t685t-vtext TO gv_vat.
CLEAR wa_t685t.
SELECT SINGLE * FROM t685t INTO wa_t685t
WHERE kschl = 'ZVAT' AND spras = 'EN'.
MOVE wa_t685t-vtext TO gv_vat.
CLEAR wa_t685t.
SELECT SINGLE * FROM t685t INTO wa_t685t
WHERE kschl = 'ZLST' AND spras = 'EN'.
MOVE wa_t685t-vtext TO gv_zlst.
CLEAR wa_t685t.
SELECT SINGLE * FROM t685t INTO wa_t685t
WHERE kschl = 'ZCST' AND spras = 'EN'.
MOVE wa_t685t-vtext TO gv_zcst.
CLEAR wa_t685t.
SELECT SINGLE * FROM t685t INTO wa_t685t
WHERE kschl = 'ZECT' AND spras = 'EN'.
MOVE wa_t685t-vtext TO gv_zect.
CLEAR wa_t685t.
SELECT SINGLE * FROM t685t INTO wa_t685t
WHERE kschl = 'ZEAP' AND spras = 'EN'.
MOVE wa_t685t-vtext TO gv_zeap.
CLEAR wa_t685t.
SELECT SINGLE * FROM t685t INTO wa_t685t
WHERE kschl = 'JETC' AND spras = 'EN'.
MOVE wa_t685t-vtext TO gv_jetc.
CLEAR wa_t685t.
SELECT SINGLE * FROM t685t INTO wa_t685t
WHERE kschl = 'JEAP' AND spras = 'EN'.
MOVE wa_t685t-vtext TO gv_jeap.
CLEAR wa_t685t.
SELECT SINGLE * FROM t685t INTO wa_t685t
WHERE kschl = 'JECS' AND spras = 'EN'.
MOVE wa_t685t-vtext TO gv_jecs.
CLEAR wa_t685t.
SELECT SINGLE * FROM t685t INTO wa_t685t
WHERE kschl = 'JADC' AND spras = 'EN'.
MOVE wa_t685t-vtext TO gv_jadc.
CLEAR wa_t685t.
gv_ecsduty = wa_j_1iexchdr-exbed * ( c_ecs / 100 ).
cen_amt = wa_duties-jexp + wa_duties-jeap.
gv_tot_cen_amt = cen_amt + wa_duties-jecs.
MOVE wa_j_1iexchdr-remtime TO wa_duties-remtime.
MOVE wa_j_1iexchdr-exdat TO wa_duties-exdat.
Convert amount to words.
CALL FUNCTION 'SPELL_AMOUNT'
EXPORTING
amount = wa_duties-total
currency = 'INR '
filler = space
language = sy-langu
IMPORTING
in_words = in_words
EXCEPTIONS
not_found = 1
too_large = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
MOVE : in_words-word TO word,
in_words-decword TO decword.
write duty details
IF wa_vbrk-kalsm = 'ZINSCR'.
PERFORM write_form USING 'ZINSCR' 'APPEND' 'BODY' 'GRANDTOT' .
ELSEIF wa_vbrk-kalsm = 'ZINFAC'.
PERFORM write_form USING 'ZINFAC' 'APPEND' 'BODY' 'GRANDTOT' .
ENDIF.
*close form
PERFORM close_form.
ENDLOOP.
ENDFORM. "SD_INVOICE_SUPPL
FORM FORM_TITLE_PRINT *
Formulartitel entsprenchend des Feldes VBTYP drucken *
FORM form_title_print.
CASE vbdkr-vbtyp.
WHEN 'M'.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'TITLE_M'
window = 'HEADER'
EXCEPTIONS
element = 1
window = 2.
IF sy-subrc NE 0.
PERFORM protocol_update.
ENDIF.
WHEN 'N'.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'TITLE_N'
window = 'TITLE'
EXCEPTIONS
element = 1
window = 2.
IF sy-subrc NE 0.
PERFORM protocol_update.
ENDIF.
WHEN 'O'.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'TITLE_O'
window = 'TITLE'
EXCEPTIONS
element = 1
window = 2.
IF sy-subrc NE 0.
PERFORM protocol_update.
ENDIF.
WHEN 'P'.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'TITLE_P'
window = 'TITLE'
EXCEPTIONS
element = 1
window = 2.
IF sy-subrc NE 0.
PERFORM protocol_update.
ENDIF.
WHEN 'S'.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'TITLE_S'
window = 'TITLE'
EXCEPTIONS
element = 1
window = 2.
IF sy-subrc NE 0.
PERFORM protocol_update.
ENDIF.
WHEN 'U'.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'TITLE_U'
window = 'TITLE'
EXCEPTIONS
element = 1
window = 2.
IF sy-subrc NE 0.
PERFORM protocol_update.
ENDIF.
WHEN OTHERS.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'TITLE_M'
window = 'TITLE'
EXCEPTIONS
element = 1
window = 2.
IF sy-subrc NE 0.
PERFORM protocol_update.
ENDIF.
ENDCASE.
IF repeat NE space.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'REPEAT'
window = 'REPEAT'
EXCEPTIONS
element = 1
window = 2.
IF sy-subrc NE 0.
PERFORM protocol_update.
ENDIF.
ENDIF.
ENDFORM. "FORM_TITLE_PRINT
FORM REFERENCE_NUMBER *
Referenznummer ausgeben *
FORM reference_number.
CHECK vbdkr-vbtyp CA 'MUN'.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
window = 'INVOICE'
EXCEPTIONS
window = 2.
IF sy-subrc NE 0.
PERFORM protocol_update.
ENDIF.
ENDFORM. "REFERENCE_NUMBER
FORM HEADER_TEXT_PRINT *
Kopftexte ausgeben *
FORM header_text_print.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'HEADER_TEXT'
EXCEPTIONS
element = 1
window = 2.
IF sy-subrc NE 0.
PERFORM protocol_update.
ENDIF.
ENDFORM. "HEADER_TEXT_PRINT
FORM ITEM_PRINT *
Rechnungsposition ausgeben *
FORM item_print.
Kopieren LVBPLP für direkt Zugriff
LOOP AT lvbplp.
MOVE-CORRESPONDING lvbplp TO tvbplp.
APPEND tvbplp.
ENDLOOP.
LOOP AT tvbdpr.
vbdpr = tvbdpr.
IF tvbdpr-charg IS INITIAL.
PERFORM get_item_prices.
PERFORM get_item_characteristics.
CALL FUNCTION 'CONTROL_FORM'
EXPORTING
command = 'PROTECT'.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'ITEM_LINE'.
PERFORM item_price_print.
PERFORM item_characteristics_print.
CALL FUNCTION 'CONTROL_FORM'
EXPORTING
command = 'ENDPROTECT'.
PERFORM different_consignee.
PERFORM different_order_no.
PERFORM different_delivery_no.
PERFORM different_extern_no.
PERFORM different_purchase_order_no.
PERFORM item_packing_print.
ELSE.
IF NOT tvbdpr-fkimg IS INITIAL.
PERFORM get_item_prices.
PERFORM item_price_print.
ENDIF.
ENDIF.
ENDLOOP.
ENDFORM. "ITEM_PRINT
FORM ITEM_PACKING_PRINT *
Verpackung zu einer Position ausgeben *
FORM item_packing_print.
DATA: count LIKE sy-index.
DATA: BEGIN OF hvbplp OCCURS 0,
stufe TYPE i.
INCLUDE STRUCTURE vbplp.
DATA: END OF hvbplp.
DATA: vs_element LIKE vbplp-venum.
CLEAR hvbplp.
REFRESH hvbplp.
Aufbau Versandelementstruktur für Ausgabe
LOOP AT tvbplp WHERE vbeln = vbdkr-vbeln AND posnr = tvbdpr-posnr.
hvbplp-stufe = 1.
MOVE-CORRESPONDING tvbplp TO hvbplp.
APPEND hvbplp.
vs_element = tvbplp-venum.
IF vs_element EQ ' '. EXIT. ENDIF. "unverpackt
CLEAR lvbplk.
WHILE lvbplk-kzobe NE 'X'. "nicht oberstes VS-Ele
suchen übergeordnetes Versandelement
LOOP AT lvbplp WHERE unvel = vs_element.
hvbplp-stufe = hvbplp-stufe + 1.
MOVE-CORRESPONDING lvbplp TO hvbplp.
APPEND hvbplp.
EXIT.
ENDLOOP.
vs_element = lvbplp-venum.
lesen übergeordnetes Versandelement
READ TABLE lvbplk WITH KEY vs_element.
IF sy-subrc NE 0.
EXIT.
ENDIF.
ENDWHILE.
ENDLOOP.
SORT hvbplp BY stufe venum.
CLEAR vbplp.
LOOP AT hvbplp.
lesen Versandelement
CLEAR vbplk.
CLEAR vbpls.
IF hvbplp-venum EQ ' '.Hi,
SAPScript addresses are formated by postal standards...irrespective of the data populated....
In line
/: ADDRESS PARAGRAPH LZ
change to
/: ADDRESS DELIVERY PARAGRAPH LZ
that should bring the street into the address
Regards
Stu
Maybe you are looking for
-
Cell Sensitive -- How to do this
Dear All, we are in BI 7.0. Layout 1: Planner plans data for an year Jan2008-Dec2008 = 12000 USD. Layout 2: This gets dirtibuted to 12 months equally. Jan=1000,Feb=1000,..... Dec=1000. If the the planner manually changes some values in some months i
-
Error while downloading iPhone app updates
Yesterday I tried to download two iPhone app updates. The app store showed the two updates that were available, but when I tried to update them, it kept giving me an error message saying that my iTunes store request could not be completed. I am up to
-
When I sort bookmarks in "Organize Bookmarks" they are not sorted under the pulldown menu on a regular page. Recently added bookmarks are not inegrated into to sorting.
-
Strange look and feel behavior
Hi! I'm developing a little program using JDK 1.1.8. I'm using the Metal look and feel, and everything goes well. The componentes are showed perfectly. Because I need to distribute the program to other PCs, I have compressed the program into a Jar fi
-
Can I really only use a CD once?
I'm a real newbie, so bear with me. I just copied a file to a new cd then ejected it. When I put the cd back in to copy another file I got the message "The item "contacts" could not be moved because "untitled cd" cannot be modified." Can I really onl