Print with 'Proof' on each page
Would like to print a booklet to send to a client with 'Proof' on each page. How to? Thanks.
I did this several years ago but do not remember using a layer. Somehow I was in a form that let me add any wording, size and format.
Any ideas on how I did that? Thank you.
Similar Messages
-
How to print multiple footers for each page in RTF template xml report.
Hi,
How to print multiple footers for each page in RTF template xml report.
i am able to print ( two sets ) ...
up to last page ( one template ) and for last page ( another template).
i want to change the footer information based on the group value printed in the report ( it might be 5 to 6) In every report run.. can you please check and let me know do we have any feasibility to achieve this.
Thanks in advance.
Regards,
KAP.You can remove all other logic, like last page only contents (start@last-page:body), etc and section breaks if any you have inserted manually.
Just have for-each@section logic.
It would be difficult for me to guess what you have done without looking at your RTF or describing here. -
How can I make a PDF file from each folders with layers, where each page is a each folder?
I found an answer to my own question. A work around of sorts.
Download Photoshop Elements 6 for Macintosh. With PSE6 I made a slide show with 550 images 1920x1200, without thumbs. I ran into one problem making the slide show. My images contained 4 images which had not ben created by Photoshop and could not be included in the slide show. Opening the images in Photoshop CS4 and re-saving them still did not make then acceptable. Not a big deal. I probably could have fixed the four images by stripping all EXIF data before opening them in Photoshop. BTW, PSE6 made the slide show in demo mode.
I hope the bug in Photoshop CS4 will be fixed in Photoshop CS5. -
ALV Display with header on each page.
Hi experts,
I had develop the report which output comes in ALV with heading. While printing the output, suppose there are 60 lines in output and 15 lines on each page so 4 page will print. Now i want the same heading will come on each page.
Is it possible? if Yes how?
Pls reply.
Thanks,
Abhishek.Hi,
Write the heading in the top-of-page.
You will have to register the event TOP-OF-PAGE and in the corresponding form write the header.
Regards,
Ankur Parab -
Word document pdf printing with vertical and horizontal pages
I have a Word document that has both vertical and horizontal formatted pages. When I print to PDF, the I get a new pdf file whenever a page orientation change is found. pages 1 to 7 are vertical, 8 to 12 are horizontal and 13 to 20 are vertical again. If I print to a file named "out_to_PDF" I get 3 files named "out_to_PDF", "out_to_PDF2" and "out_to_PDF3", the first one with pages 1 to 7, the second one with pages 8 to 12 and the third one with the remaining pages. Is there a way to get only one file with all the pages?
I know I can merge the files later. This file with 20 pages is no problem. I have several 70+ page docs, with multiple changes between horizontal and vertical that will result in 20 or more separate pdf files.
Any pointers?Word renders print jobs that change the orientation as separate print jobs. So, each print job becomes its own PDF.
You can make an Automator workflow to combine PDFs. I’m not sure how it decides the order it combines them, so you’d have to experiment.
This is built as an Application where you’d drop all of the PDFs onto the App icon and it will open the combined PDF where you can edit, name, and save. -
Control printing with ALTERNATIVE in several pages
Hello all,
I'm currently working on generating a PDF where each page needs to be conditional (ie user can print 1st & 2nd page, or 1st, 2nd & 3rd, or 1st & 3rd). Altogether there are about 20 pages.
The use of alternative + command with next page works great for the determining the print of the 2nd page, but I can't seem to get it to work the same for the printing of the 3rd page, etc. I did notice that in order for the contents of the 2nd page to print, they HAVE to be placed in a secondary window, but I can't put the next page commands in a secondary window. What I've tried is to have the secondary window first (with all the page content), then a main window (with alternatives & commands), but this doesn't seem to work. (Also, listing main widow then secondary doesn't work.)
When I add breakpoints, it seems as though the main window is never called. (I can see the breakpoints in the F01 include, but they are never called.)
Any ideas?
Here's what I'm needing:
Page 1
- alternative 1 -> TRUE -> go to page 2
- alternative 1 -> FALSE
--alternative 2 -> TRUE -> go to page 3
--alternative 2 -> FALSE
---alternative 3 -> TRUE -> go to page 4
Page 2
- alternative 1 -> TRUE ->go to page 3
- alternative 1 -> FALSE
--alternative 2 -> TRUE -> go to page 4
--alternative 2 -> FALSE
---alternative 3 -> TRUE -> go to page 5
Lisa
Edited by: Lisa Mychalishyn on Feb 2, 2012 4:13 PMOK, here's the technique I used to make this work.
I pass a table with pages to be printed (PAGETAB). In the main window, I loop thru PAGETAB and use it's value to use the layout for that particular page (grouped into a folder, with conditions). At the end of the main window, I check to see if this the last page to be printed, else I use Command to force a page break (otherwise, 2 forms may print on the same page).
Here's a sample of the code:
Page
Main window
- program lines -> get total # lines in PAGETAB into V_TOTAL
- loop @ PAGETAB
-- program lines -> add 1 to V_LOOP
-- folder 1 -> condition -> PAGETAB = "PAGE1"
--- page 1 layout stuff
--- alternative - if V_LOOP < V_TOTAL
TRUE
command -> go to next page -> Page
-- folder 2 -> condition -> PAGETAB = "PAGE2"
--- page 2 layout stuff
--- alternative - if V_LOOP < V_TOTAL
TRUE
command -> go to next page = Page
... rest of pages
Lisa -
Dynamic table with header on each page
Hi,
I am new to livecycle forms. I am not sure if I am asking a silly question but this is what I need to achieve.
I am designing a pdf form using livecycle designer. Need to build a dynamic table using data from xml. The challenge is I need to have a signature button on each page and the button will be below the table. So if there are for eg. 100 rows of data, then the table should be split into 5 pages of 20 rows each page (each page should have the table header) or based on page content and the button should be on the bottom of each page. Is it possible to achieve this? Also any example/suggestion on implementing signature using signature pad would be greatly appreciated.Hi,
For individual objects, like the button that you want to appear on each page, you should place this on the Master Page. Position the button at the bottom of the page and then make sure that you size the Content Area, so that the button is OUTSIDE of the content area. This way objects on the design page will not overflow over the button. See here: http://assure.ly/g0Wx7r.
If you are using a Table object for your data, then you can set it to repeat the Header row, see the Object palette.
If you are using ADEP Designer 10 (latest version of Designer) AND your users will have Acrobat X/Reader X (eg version 10.1), then you could use Flash object for a signature field. See the example here: http://assure.ly/rqCuEn. See "Assure Dynamics Map with Signature" example. Again please note that you will need Acrobat X/Reader X to view this.
Hope that helps,
Niall -
* You changed the page that comes up after a crash - the one which shows the windows and pages that were up before the
crash.
This used to be a real HTML page and it isn't any more. THis choice was pure isiocy consider how peopel used that page every day (try taking to your users for a change).
The pages listed on that 'post crash page' used to be actual LINKS (you could right click them &
manually open them in another tab - and most peope DID that every day). You could also (and I did this a lot) drag a second
copy of the page, into a new tab (to keep track of all the pages I had not wanted to open)
Now the pages are no longer links. You cannot right-click them.
The thing in the probser is no longer a page that I can drag into a new tab.
Roll the version back and throw this one in the bin...and have a good long talk with your developers about the definition of
'STUPIDITIY'
Then I try to type anything in the addres bar it is suppose to repoond with the history of old things I have types in the past, or
search for what I type (and in some cases I think it tyes to convert it intoa URL). However it no longer does any of these
things. When I type in the ADDRESS BAR ONLY, I do not get all of my letters to appear. I have to type into a notepad or
into the search and to copy and paste to go to a URL. Nothing that is typed into the address bad responds normally at all
anymore, and I am fairly certain there are no new addons on this machine at all. It does not matter which things I disable. It
still does this. W of course points the finger back at a change to FIREFOX. I wich I could just sitct with one stable release
forever but the MOZILLA folk thing it is best to force peopel awy from a working broswer release to a horrible one (due to it
being out of date).
FIREFOX 26.0 has 'issues' (ie new *features*/bugs)
1) History is no longer accurate. My Proof? This machine is the primary one for the entire family (the only PC working). It is
logged in with same user every time and never has its history cleared. It now January 7 so I ought to have a list of all of last
months browing available to me.
However, according to FIREFOX history, in all of December 2013, the entire family only went to 51 primary URL's. None of
the official TV sites I use to get episodes are listed. None of the official movie sites I use are listed. The primary URL for
ebay is not listed. Only 1 out of our 4 weather sites that I use (at least once a week) are listed. Only 1 of our 3 FINANCE
sites is listed. There ought to be several; hundred root URLs listed.
Please fix history as this change seriously "blows greasy chunks"
PROBLEM (a stupid change in the new FIREFOX version)
FOr a long time, after a crash you got a useful page (a real HTML page) which gave you a list of all of your last sessions
'winwos and tabs' that were open when the browser crashed. there were certain ways of using this page that are no longer
able to be done.
The old method was wonderful as it had this behavior :
*** The old method for displaying your 'Recovered Tabs' allowed you to :
a) right click an individual item and open it in a tab without getting rid of that lovely window of your previous session of
'recovered windows and tabs '.
2) drag the URL for the entire window of 'recovered windows and tabs ' to a new tab (to make a second copy) so that you
could select just a few of them to open as a group, and stil have the old list handy.
You can no longer do either of these things. The 'recovered windows and tabs ' page no longer has links in it and can no longer be dragged, so you cant select a few of them to use, and keep the rest around for later. NOW - once you choose which pages to open the window is gone forever (can can't get a second copy).
People used to make a copy of the page for later use (with a drag)
we also used to open pages with a right click (which no longer functions
This new method seriously blows big greasy chunks. A parge loss in function has occurred.
Put things back as they were. 26 is full of terrible changes that NOBODY likes. It also has a lot of bugs (history is not reliable at all)(1) Firefox's built-in post-crash page has not been a real HTML page for a long time (for example, from the time of Firefox 22, see: [https://support.mozilla.org/en-US/questions/968212 Want to save LOTS of versions of "Restore Session.xht" from the "oops ..." page for later use]). If you had this working differently with Firefox 25, that might have been created by an extension.
You can check to see whether extensions are disabled or need an update on the Add-ons page. Either:
* Ctrl+Shift+a
* orange Firefox button (or Tools menu) > Add-ons
In the left column, click Extensions. The disabled extensions cluster toward the bottom of the list. To poll for updates, use the "gear" button above the list and choose Check for Updates.
If you used the Reset feature (or Firefox automatically did a reset due to some problem during upgrading), you will need to reinstall missing extensions. The reset feature creates a folder on the desktop named Old Firefox Data. Do you have that folder? There may be data you can recover from it.
(2) There are many ways for history to get cleared, both internal to Firefox and external. Could you double-check your Privacy settings?
orange Firefox button (or Tools menu) > Options > Privacy
* The "Firefox will" drop-down says Remember History: Firefox shouldn't be clearing history, but an add-on or external software could do it
* The "Firefox will" drop-down says Use custom settings for history: inspect the "Clear history when Firefox closes" setting to make Firefox isn't set to clear history. Also check your add-ons and consider external software.
Firefox normally accumulates months of history. However, some of Firefox's database sizes are based on disk space available. If your hard drive is very full, Firefox might reduce the amount of history stored. -
Spool print with more than one page doesn't work
Hi Experts,
I need some help.
I have following code in my report:
SORT ta_ausgabe BY vstel vkorg_auft fkdat.
NEW-PAGE PRINT ON .
LOOP AT ta_ausgabe INTO wa_ausgabe.
READ TABLE ts_vstel
INTO wa_vstel
WITH TABLE KEY spras = sy-langu
vstel = wa_ausgabe-vstel.
READ TABLE ta_vkorg
INTO wa_vkorg
WITH KEY vkorg = wa_ausgabe-vkorg_auft.
WRITE: wa_ausgabe-vstel.
WRITE: wa_ausgabe-vkorg_auft.
WRITE: wa_ausgabe-fkdat.
WRITE: wa_ausgabe-matnr NO-ZERO LEFT-JUSTIFIED,
AT 30 wa_ausgabe-maktx NO-ZERO LEFT-JUSTIFIED,
AT 70 wa_ausgabe-fkimg NO-ZERO LEFT-JUSTIFIED,
AT 79 wa_ausgabe-vrkme NO-ZERO LEFT-JUSTIFIED.
NEW-LINE.
ENDLOOP.
NEW-PAGE PRINT OFF.
COMMIT WORK.
v_spool_attach = sy-spono.
As you see the information of the table TA_AUSGABE will be just prined into spool. When I have only information for one page everything
work fine, but as soon there more information to be printed I cannt open my pdf file with the spool info anymore.
What could be a reason?
Please urgent
BR
DenisHi Denis,
The code works for me for printing more than 1 page.
Pls try giving the spool id manually in report RSTXPDFT4 and see whether it gets Multi pages in pdf and let me know if you have any issues.
Rgds,
K.S. -
Ideas / Recommendations for Workgroup Printer with LOW Cost-per-page?
(Like everyone else), we're printing more color than we anticipated.
Our leasing company charges $0.09 per color page on our Xerox Workcenter 7545 copier.
Color print is primarily used by a small group (6 individuals) who print about 3000 color pages per month. I'm considering a smaller additional network laser just for that group - if a suitable one can be found. (Does not need to be multi-function.)
We'd probably purchase (vs. lease) in this case - but cost-per-page (toner cost) is an important consideration.
Has anyone else done a similar recent study - and been happily surprised by the actual outcome? Or - are your costs lower - but you've been unsatisfied by reliability, etc.?
Thanks in advance!
This topic first appeared in the Spiceworks CommunityI would greatly appreciate any feedback please!!! I thank you in advance!!!
-
How to print all images in each page
hi
this is indela. developing print option in flex. in a folder i have 100 images. when click on print its going only one images. but i want to send all images to printer without displaying. the no. of images change dynamically.
please tell me how to do this one.
Thanks in advance....Hi,
Your best bet is to use a workbook template or else Excel to pdf option...Thanks -
Printing with HP Officejet 7310 Automatic two sided and 2 pages on one sheet
I am trying to print from power point slides with my HP Officejet 7310 with Automatic two sided printing capabilities and I would like to print 2 slides on each page. Can this be acomplished and is so how? Thanks
Not necessarily the cleanest, but you can print to a new PDF file. In the printer properties, select the page size, and multi-up option. You might also find that on the pdf printer menu (at least I have that on my AA8.1.2). You may still have to select the paper size, since it is different from the original.
-
Hello Experts,
I am issuing the output of the shipment through VT02N. Both Print program and the form are customized(Z).
The form contains two pages each with different layouts.
<b>First page to print the item
Second page is to print an Acknowledgement</b>
My requirement is If the Shipment has the two items of two <b>different delivery address</b> then I have print the item in each page like
Page 1 - Item 1
Page 2 - Ackonwledgement
Page 3 - Item 2
Page 4 - Ackonwledgement and so on.
SImilarly if the shippment has 5 items and with same Delivery address then I have print all the 5 items in the same page.
I have tried with New-Page option but it is not solving my requirement.
Hope the requirement is clear.
Could anyone please suggest a solution for this Issue.
Thanks in Advance.
VasanthHello Goutham,
This is my code:
REPORT Z48V_RV56TD00.
SET EXTENDED CHECK OFF.
*---------------------------------------------------------------Tables
TABLES: ADCP, "Zuordnung Person/Adresse
ADR6, "SMTP-Nummern
ADR7, "Remote-Mail-Adressen
ADRP, "Personen
LIKP, "Lieferung: Kopfdaten
LIPS, "Lieferung: Positionsdaten
MAKT, "
T001, "Buchungskreise
T005, "Länder
T006A, "Maßeinheit
THEAD, "SAPscript: Text-Header
TVKO,
TTXER, "Textverarbeitung: Text-Id-Gruppen
TTXIT, "Texte zu Text-Id's
SADR, "Adressverwaltung: Firmendaten
STXH, "SAPscript Text-Datei Header
USR21, "Zuord. Benutzer zu Adressschlussel
VBDDL, "Druckview für Versandtermine
VBPLA, "allgemeine Transportdaten
Z48V_INCOTEXT "spezielle Textbausteine zu Incoterms
"z00_sd_vstel_dru
INCLUDE VTTKDATA. "Shipment Header
INCLUDE VTTSDATA. "Shipment Segment
INCLUDE VTTPDATA. "Shipment Items
INCLUDE VBPADATA. "Partner
INCLUDE VTFADATA. "Flow
INCLUDE SADRDATA. "Address
INCLUDE VTLFDATA. "Delivery Selection
INCLUDE RVADTABL. "Messages
INCLUDE VSEDATA. "shipping units
INCLUDE RV56ACOM. "I/O-Structure
SET EXTENDED CHECK ON.
*------------------------------------------------------------Constants
CONSTANTS: NO(1) VALUE SPACE,
YES(1) VALUE 'X'.
*----------------------------------------------------------Hilfsfelder
DATA: XSCREEN(1) TYPE C,
RETCODE LIKE SY-SUBRC VALUE 0,
THERE_WAS_OUTPUT(1) TYPE C VALUE SPACE,
NEW_PAGE_WAS_ORDERED(1) TYPE C VALUE SPACE.
DATA: BEGIN OF ITAB OCCURS 0,
VPOBJKEY LIKE VBPLK-VPOBJKEY,
* 001 vsm1kor 09.08.07 - sn OPL 1815
KUNWE LIKE VTTS-KUNNZ,
* 001 vsm1kor 09.08.07 - sn OPL 1815
BRGEW LIKE VBPLK-BRGEW,
LAENG LIKE VBPLK-LAENG,
BREIT LIKE VBPLK-BREIT,
HOEHE LIKE VBPLK-HOEHE,
MEABM LIKE VBPLK-MEABM,
VOLEH LIKE VBPLK-VOLEH,
GEWEI LIKE VBPLK-GEWEI,
GEWEI_MAX LIKE VBPLK-GEWEI_MAX,
VEBEZ LIKE VBPLK-VEBEZ,
VSTEL LIKE VBPLK-VSTEL,
VENUM LIKE VBPLK-VENUM,
VHILM LIKE VBPLK-VHILM,
END OF ITAB.
DATA: W-ITAB LIKE ITAB.
* 001 vsm1kor 09.08.07 - sn OPL 1815
DATA: GV_KUNWE LIKE VTTS-KUNNZ.
DATA: BEGIN OF G_T_KUNWE OCCURS 0,
KUNWE LIKE VTTS-KUNNZ,
TDNAME(10),
END OF G_T_KUNWE.
* 001 vsm1kor 09.08.07 - en OPL 1815
DATA: TB_COLLI LIKE SLK-ANZPK.
*DATA: tb_brgew LIKE vbplk-brgew.
DATA: TB_ABMES(33).
DATA: TB_LAENG(10).
DATA: TB_BREIT(10).
DATA: TB_HOEHE(10).
DATA: TB_SAVE-GEWEI LIKE VBPLK-GEWEI.
DATA: TB_VSTEL1 LIKE TVST-VSTEL.
DATA: TB_VSTEL2 LIKE TVST-VSTEL.
DATA: TB_VSTEL3 LIKE TVST-VSTEL.
DATA: TB_ADRC1 LIKE ADRC.
DATA: TB_ADRC2 LIKE ADRC.
DATA: TB_ADRC3 LIKE ADRC.
DATA: TB_TDNAME(10).
DATA: TB_KZVST.
DATA: TB_NETWR LIKE SLK-NETWR.
DATA: TB_VOLUM TYPE P DECIMALS 3.
DATA: BEGIN OF IT_VSTEL OCCURS 0,
VSTEL LIKE XVTTP-VSTEL,
END OF IT_VSTEL.
DATA: TB_PSVON LIKE VBPLK-VENUM.
DATA: TB_PSBIS LIKE VBPLK-VENUM.
DATA: TB_VENUM(10).
DATA: TB_KZSPD.
DATA: TB_WETXT.
DATA: TB_TABIX LIKE SY-TABIX.
DATA: BEGIN OF W,
LSNUM LIKE LIKP-VBELN,
LSANZPK LIKE SLK-ANZPK,
VPOBJKEYALT LIKE VBPLK-VPOBJKEY,
SUM1 LIKE VBPLK-BRGEW,
SUM2 LIKE VBPLK-BRGEW,
SUM3 LIKE VBPLK-BRGEW,
ELEMENT(30),
END OF W.
DATA: W_SPED LIKE ADDR1_VAL.
DATA: G_TITLE_MEDI LIKE TSAD3T-TITLE_MEDI.
* FORM ENTRY *
* Called from the Output Controll program *
* --> RETURN_CODE Status *
* --> US_SCREEN *
FORM ENTRY USING RETURN_CODE LIKE SY-SUBRC "#EC CALLED
US_SCREEN TYPE C. "#EC CALLED
RETURN_CODE = 1.
PERFORM DATA_INIT USING US_SCREEN.
PERFORM GET_DATA.
CHECK RETCODE EQ 0.
PERFORM OPEN_FORM USING US_SCREEN.
CHECK RETCODE EQ 0.
LOOP AT G_T_KUNWE.
* IF SY-TABIX EQ 1.
PERFORM PRINT_DOCUMENT.
CHECK RETCODE EQ 0.
* ELSE.
* PERFORM START_FORM.
* CHECK RETCODE EQ 0.
* PERFORM PRINT_DOCUMENT.
* CHECK RETCODE EQ 0.
* PERFORM END_FORM.
* CHECK RETCODE EQ 0.
* ENDIF.
ENDLOOP.
PERFORM CLOSE_FORM.
CHECK RETCODE EQ 0.
RETURN_CODE = 0.
ENDFORM.
* FORM data_init *
FORM DATA_INIT USING VALUE(US_SCREEN) TYPE C.
XSCREEN = US_SCREEN.
CLEAR:
RETCODE,
THERE_WAS_OUTPUT,
NEW_PAGE_WAS_ORDERED.
ENDFORM.
* FORM GET_DATA *
FORM GET_DATA.
DATA LANGUAGE LIKE NAST-SPRAS.
DATA SHIPMENT_NUMBER LIKE VTTK-TKNUM.
LANGUAGE = NAST-SPRAS.
SHIPMENT_NUMBER = NAST-OBJKY.
CALL FUNCTION 'RV_SHIPMENT_PRINT_VIEW'
EXPORTING
SHIPMENT_NUMBER = SHIPMENT_NUMBER
OPTION_TVTK = 'X' "Shipmenttype J/N
OPTION_TTDS = 'X' "Disposition J/N
LANGUAGE = LANGUAGE
OPTION_ITEMS = 'X' "Transport Items J/N
OPTION_SEGMENTS = 'X' "Transport Segments J/N
OPTION_PARTNERS = 'X' "Partners J/N
OPTION_SALES_ORDERS = 'X' "Sales orders J/N
OPTION_EXPORT_DATA = 'X' "Export data J/N
OPTION_PACKAGES = 'X' "Packages J/N
OPTION_FLOW = ' ' "Flow J/N
OPTION_NO_REFRESH = ' ' "Refresh Tables J/N
IMPORTING
F_VTTKVB = VTTKVB "Shipment Header
F_TVTK = TVTK "Shipmenttype
F_TVTKT = TVTKT "Description Shipmenttype
F_TTDS = TTDS "Disposition
F_TTDST = TTDST "Description Disposition
F_VBPLA = VBPLA "Packages
TABLES
F_VTTP = XVTTP "Shipment Items
F_TRLK = SLK "Delivery
F_TRLP = SLP "Delivery Item
F_VTTS = XVTTS "Shipment Segments
F_VTSP = XVTSP "Segments/Items
F_VBPA = XVBPA "Partner
F_VBADR = XVBADR "Address
F_VTFA = XVTFA "Flow
F_VBPLK = XVBPLK "Shipment Unit Header
F_VBPLP = XVBPLP "Shipment Unit
F_VBPLS = XVBPLS "Shipment Unit Sum
EXCEPTIONS
NOT_FOUND = 1.
IF SY-SUBRC NE 0.
SYST-MSGID = 'VW'.
SYST-MSGNO = '010'.
SYST-MSGTY = 'E'.
SYST-MSGV1 = DBVTTK-TKNUM.
SYST-MSGV2 = SY-SUBRC.
RETCODE = 1.
PERFORM PROTOCOL_UPDATE.
ENDIF.
CHECK RETCODE EQ 0.
* SORT SEGMENTS BY CORRECT ORDER (I.E. TSRFO)
SORT XVTTS BY TSRFO.
* CONVERT UNITS IN DELIVERIES AND DELIVERY-ITEMS
* TO BE CONFORM TO VTTK-UNITS:
LOOP AT SLK.
* 001 vsm1kor 09.08.07 - sn OPL 1815
G_T_KUNWE-KUNWE = SLK-KUNWE.
G_T_KUNWE-TDNAME = SLK-TDNAME.
APPEND G_T_KUNWE.
* 001 vsm1kor 09.08.07 - en OPL 1815
CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'
EXPORTING
INPUT = SLK-BTGEW
UNIT_IN = SLK-GEWEI
UNIT_OUT = VTTKVB-DTMEG
IMPORTING
OUTPUT = SLK-BTGEW.
CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'
EXPORTING
INPUT = SLK-NTGEW
UNIT_IN = SLK-GEWEI
UNIT_OUT = VTTKVB-DTMEG
IMPORTING
OUTPUT = SLK-NTGEW.
CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'
EXPORTING
INPUT = SLK-VOLUM
UNIT_IN = SLK-VOLEH
UNIT_OUT = VTTKVB-DTMEV
IMPORTING
OUTPUT = SLK-VOLUM.
SLK-GEWEI = VTTKVB-DTMEG.
SLK-VOLEH = VTTKVB-DTMEV.
MODIFY SLK.
ADD SLK-NETWR TO TB_NETWR.
ENDLOOP.
* 001 vsm1kor 09.08.07 - sn OPL 1815
IF NOT G_T_KUNWE[] IS INITIAL.
SORT G_T_KUNWE.
DELETE ADJACENT DUPLICATES FROM G_T_KUNWE COMPARING KUNWE.
ENDIF.
* 001 vsm1kor 09.08.07 - en OPL 1815
LOOP AT SLP.
CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'
EXPORTING
INPUT = SLP-BRGEW
UNIT_IN = SLP-GEWEI
UNIT_OUT = VTTKVB-DTMEG
IMPORTING
OUTPUT = SLP-BRGEW.
CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'
EXPORTING
INPUT = SLP-NTGEW
UNIT_IN = SLP-GEWEI
UNIT_OUT = VTTKVB-DTMEG
IMPORTING
OUTPUT = SLP-NTGEW.
SLP-GEWEI = VTTKVB-DTMEG.
MODIFY SLP.
ENDLOOP.
PERFORM GET_ERFASSER.
LOOP AT XVBPLK.
"SELECT SINGLE * FROM z00_sd_vstel_dru WHERE vstel = xvbplk-vstel.
"IF sy-subrc = 0 AND NOT z00_sd_vstel_dru-vstel_d IS INITIAL.
" it_vstel-vstel = z00_sd_vstel_dru-vstel_d.
"ELSE.
IT_VSTEL-VSTEL = XVBPLK-VSTEL.
"ENDIF.
XVBPLK-VSTEL = IT_VSTEL-VSTEL.
MODIFY XVBPLK.
COLLECT IT_VSTEL.
ENDLOOP.
SORT IT_VSTEL BY VSTEL.
TB_TDNAME = VTTKVB-TKNUM.
PERFORM ERMITTELN_SPED_ADRESSE.
SELECT SINGLE * FROM TVKO INTO TVKO
WHERE VKORG = SLK-VKORG.
CLEAR: T001W.
SELECT SINGLE * FROM T001W WHERE WERKS = SLK-WERKS.
CLEAR: T001.
SELECT SINGLE * FROM T001 WHERE BUKRS = TTDS-BUKRS.
* Ermitteln Text Ausfuhrkontrollmeldung
CLEAR: T005, TB_KZVST.
SELECT SINGLE * FROM T005 WHERE LAND1 = SLK-LAND1.
IF SY-SUBRC = 0 AND T005-XEGLD = ''.
TB_KZVST = 'X'.
ENDIF.
ENDFORM.
* FORM PRINT_DOCUMENT *
FORM PRINT_DOCUMENT.
* Ermitteln und ausgeben der Beladstelle
PERFORM AUSGEBEN_BELADESTELLE.
* Ausgeben der Empfaenger und Kundenadresse
PERFORM AUSGEBEN_EMPF_KUNDE.
* Ausgeben Rechnungsempfänger
PERFORM AUSGEBEN_RE.
* Ausgeben der Verpackungsdaten
PERFORM AUSGEBEN_VERPACKUNG.
* Ausgeben der Versandbedigungen
PERFORM AUSGEBEN_VERSANDBEDINGUNG.
* Ausgeben des Versendervermerks
PERFORM AUSGEBEN_VERSENDERVERMERK.
* Ausgeben der Ausfuhrkontrollmeldung
W-ELEMENT = 'AUSFUHRKONTROLLMELDUNG'.
PERFORM WRITE_ELEMENT.
* Ausgeben der Anlagen
W-ELEMENT = 'ANLAGEN'.
PERFORM WRITE_ELEMENT.
* Ausgeben des Uebernahmetextes
IF TTDS-BUKRS EQ '1060'.
W-ELEMENT = 'UEBERNAHMETEXT'.
PERFORM WRITE_ELEMENT.
ENDIF.
* Ausgeben Luftfrachterklärung I1.2
IF VTTKVB-VSART = '05' "Luftfracht
OR VTTKVB-VSART = '17'. "Luftfrachtsammelverkehr
W-ELEMENT = 'LUFTFRACHTERKL'.
PERFORM WRITE_ELEMENT.
ENDIF.
* Ausgeben Kopftext
W-ELEMENT = 'TEXT'.
PERFORM WRITE_ELEMENT.
ENDFORM.
* FORM OPEN_FORM *
* --> VALUE(US_SCREEN) Output on screen *
* ' ' = printer *
* 'X' = screen *
FORM OPEN_FORM USING VALUE(US_SCREEN) TYPE C.
DATA US_COUNTRY LIKE T005-LAND1.
PERFORM GET_SENDER_COUNTRY USING US_COUNTRY.
CHECK RETCODE EQ 0.
INCLUDE RVADOPFO.
ENDFORM.
* FORM Get_Sender_Country
* Determines the country of the transport-disposition-unit *
FORM GET_SENDER_COUNTRY USING SENDER_COUNTRY LIKE T005-LAND1.
* data:
* l_addr1_sel like addr1_sel.
DATA: L_VBADR LIKE VBADR.
DATA: L_VBPA LIKE VBPA.
LOOP AT XVBPA WHERE VBELN = NAST-OBJKY AND
PARVW = NAST-PARVW.
SENDER_COUNTRY = XVBPA-LAND1.
EXIT.
ENDLOOP.
IF SY-SUBRC IS INITIAL AND SENDER_COUNTRY IS INITIAL.
L_VBPA = XVBPA.
CALL FUNCTION 'VIEW_VBADR'
EXPORTING
INPUT = L_VBPA
PARTNERNUMMER = NAST-PARNR
IMPORTING
ADRESSE = L_VBADR.
SENDER_COUNTRY = L_VBADR-LAND1.
ENDIF.
ENDFORM.
* FORM CLOSE_FORM *
FORM CLOSE_FORM.
CALL FUNCTION 'CLOSE_FORM'
EXCEPTIONS
OTHERS = 1.
IF SY-SUBRC NE 0.
RETCODE = SY-SUBRC.
PERFORM PROTOCOL_UPDATE.
ENDIF.
SET COUNTRY SPACE.
ENDFORM.
* FORM PROTOCOL_UPDATE *
* The messages are collected for the processing protocol. *
FORM PROTOCOL_UPDATE.
IF XSCREEN = SPACE.
CALL FUNCTION 'NAST_PROTOCOL_UPDATE'
EXPORTING
MSG_ARBGB = SYST-MSGID
MSG_NR = SYST-MSGNO
MSG_TY = SYST-MSGTY
MSG_V1 = SYST-MSGV1
MSG_V2 = SYST-MSGV2
MSG_V3 = SYST-MSGV3
MSG_V4 = SYST-MSGV4.
ELSE.
MESSAGE ID SYST-MSGID TYPE 'I' NUMBER SYST-MSGNO
WITH SYST-MSGV1 SYST-MSGV2 SYST-MSGV3 SYST-MSGV4.
ENDIF.
ENDFORM.
* FORM get_erfasser *
FORM GET_ERFASSER.
* Lesen der Adressnummer zum Benutzer
SELECT SINGLE * FROM USR21 WHERE BNAME = VTTKVB-ERNAM.
IF SY-SUBRC <> 0.
SELECT * FROM ADR7 WHERE UNAME = VTTKVB-ERNAM
AND DATE_FROM <= SY-DATUM
ORDER BY CONSNUMBER DESCENDING.
EXIT.
ENDSELECT.
CHECK SY-SUBRC = 0.
USR21-BNAME = ADR7-UNAME.
USR21-PERSNUMBER = ADR7-PERSNUMBER.
USR21-ADDRNUMBER = ADR7-ADDRNUMBER.
ENDIF.
* Lesen allgemeine Adressedaten Benutzer
SELECT * FROM ADRP WHERE PERSNUMBER = USR21-PERSNUMBER
AND DATE_FROM <= SY-DATUM
ORDER BY DATE_FROM DESCENDING.
EXIT.
ENDSELECT.
CHECK SY-SUBRC = 0.
* Lesen weiter Adressdaten Benutzer
SELECT * FROM ADCP WHERE PERSNUMBER = USR21-PERSNUMBER
AND DATE_FROM <= SY-DATUM
AND COMP_PERS = 'C'
ORDER BY DATE_FROM DESCENDING.
EXIT.
ENDSELECT.
CHECK SY-SUBRC = 0.
* Lesen Email-Adresse
SELECT * FROM ADR6 WHERE ADDRNUMBER = USR21-ADDRNUMBER
AND PERSNUMBER = USR21-PERSNUMBER
AND DATE_FROM <= SY-DATUM
ORDER BY DATE_FROM DESCENDING.
EXIT.
ENDSELECT.
ENDFORM. " GET_ERFASSER
*& Form AUSGEBEN_BELADESTELLE
FORM AUSGEBEN_BELADESTELLE.
FIELD-SYMBOLS: <F>.
DATA: TB_FIELD(20).
CLEAR: TB_VSTEL1, TB_VSTEL2, TB_VSTEL3,
TB_ADRC1, TB_ADRC2, TB_ADRC3.
LOOP AT IT_VSTEL.
IF SY-TABIX > 3.
EXIT.
ENDIF.
TB_FIELD = 'TB_VSTEL'.
TB_FIELD+8(1) = SY-TABIX.
ASSIGN (TB_FIELD) TO <F>.
<F> = IT_VSTEL-VSTEL.
SELECT SINGLE * FROM TVST WHERE VSTEL = IT_VSTEL-VSTEL.
CHECK SY-SUBRC = 0.
TB_FIELD = 'TB_ADRC'.
TB_FIELD+7(1) = SY-TABIX.
ASSIGN (TB_FIELD) TO <F>.
SELECT * FROM ADRC INTO <F>
WHERE ADDRNUMBER = TVST-ADRNR
AND DATE_FROM <= SY-DATUM
AND DATE_TO >= SY-DATUM
ORDER BY DATE_FROM DESCENDING.
EXIT.
ENDSELECT.
ENDLOOP.
*>>> INS BO88WA2 Ansteuerung Ausgabeschacht
W-ELEMENT = 'SCHACHT_STEUERN'.
PERFORM WRITE_ELEMENT.
*<<< INS BO88WA2
SELECT SINGLE * FROM STXH
WHERE TDNAME = VTTKVB-TKNUM
AND TDOBJECT = 'VTTK'
AND TDID = 'CM13'.
IF SY-SUBRC = 0.
W-ELEMENT = 'BELADESTELLE1'.
ELSE.
W-ELEMENT = 'BELADESTELLE2'.
ENDIF.
PERFORM WRITE_ELEMENT.
ENDFORM. " AUSGEBEN_BELADESTELLE
*& Form ERMITTELN_SPED_ADRESSE
FORM ERMITTELN_SPED_ADRESSE.
CLEAR: LFA1, TB_KZSPD.
*> SELECT SINGLE * FROM lfa1 WHERE lifnr = vttkvb-tdlnr.
* Pruefen Spediteur-Adresse in Text
SELECT SINGLE * FROM STXH WHERE TDOBJECT = 'VTTK'
AND TDNAME = TB_TDNAME
AND TDID = '0003'
AND TDSPRAS = NAST-SPRAS.
IF SY-SUBRC = 0.
TB_KZSPD = 'X'.
EXIT.
ENDIF.
DATA:
ADDR_SEL LIKE ADDR1_SEL,
W_SADR LIKE SADR
SELECT SINGLE ADRNR FROM VTPA INTO ADDR_SEL-ADDRNUMBER
WHERE VBELN = VTTKVB-TKNUM
AND POSNR = SPACE
AND PARVW = 'SP'.
CHECK SY-SUBRC = 0.
CALL FUNCTION 'ADDR_GET'
EXPORTING
ADDRESS_SELECTION = ADDR_SEL
* ADDRESS_GROUP =
* READ_SADR_ONLY = ' '
* READ_TEXTS = ' '
IMPORTING
ADDRESS_VALUE = W_SPED
* ADDRESS_ADDITIONAL_INFO =
* RETURNCODE =
* ADDRESS_TEXT =
SADR = W_SADR
* TABLES
* ADDRESS_GROUPS =
* ERROR_TABLE =
* VERSIONS =
EXCEPTIONS
PARAMETER_ERROR = 1
ADDRESS_NOT_EXIST = 2
VERSION_NOT_EXIST = 3
INTERNAL_ERROR = 4
OTHERS = 5.
BREAK BO88WA2.
CLEAR G_TITLE_MEDI.
IF NOT W_SPED-TITLE IS INITIAL.
SELECT SINGLE TITLE_MEDI
INTO G_TITLE_MEDI
FROM TSAD3T
WHERE LANGU EQ NAST-SPRAS
AND TITLE EQ W_SPED-TITLE.
ENDIF.
ENDFORM. " ERMITTELN_SPED_ADRESSE
*& Form UMRECHNEN
FORM UMRECHNEN USING P_IWERT
P_OWERT
P_IMEIN LIKE T006-MSEHI
P_OMEIN LIKE T006-MSEHI.
CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'
EXPORTING
INPUT = P_IWERT
UNIT_IN = P_IMEIN
UNIT_OUT = P_OMEIN
IMPORTING
OUTPUT = P_OWERT
EXCEPTIONS
CONVERSION_NOT_FOUND = 1
DIVISION_BY_ZERO = 2
INPUT_INVALID = 3
OUTPUT_INVALID = 4
OVERFLOW = 5
TYPE_INVALID = 6
UNITS_MISSING = 7
UNIT_IN_NOT_FOUND = 8
UNIT_OUT_NOT_FOUND = 9
OTHERS = 10.
ENDFORM. " UMRECHNEN
*& Form AUSGEBEN_EMPF_KUNDE
FORM AUSGEBEN_EMPF_KUNDE.
CLEAR: SLK.
* 001 vsm1kor 09.08.07 - sm " OPL 1815
* READ TABLE SLK INDEX 1.
READ TABLE SLK WITH KEY KUNWE = G_T_KUNWE-KUNWE.
* 001 vsm1kor 09.08.07 - em " OPL 1815
CLEAR: KNA1, TB_WETXT.
SELECT SINGLE * FROM KNA1 WHERE KUNNR = SLK-KUNWE.
SELECT SINGLE * FROM STXH WHERE TDOBJECT = 'VTTK'
AND TDNAME = VTTKVB-TKNUM
AND TDID = 'Z002'
AND TDSPRAS = NAST-SPRAS.
IF SY-SUBRC = 0.
TB_WETXT = 'X'.
ENDIF.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'ADRESSE_EMPF'.
"IF slk-adrnr_ag <> slk-adrnr_we.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'ADRESSE_KUNDE'.
"ENDIF.
ENDFORM. " AUSGEBEN_EMPF_KUNDE
*& Form AUSGEBEN_VERPACKUNG
FORM AUSGEBEN_VERPACKUNG.
DATA:
WA_ITAB_LAST TYPE ITAB.
PERFORM GET_BFART_TEXT. "BT82FE
W-ELEMENT = 'ITEM_HEADER'.
PERFORM WRITE_ELEMENT.
BREAK BO88WA2.
LOOP AT XVBPLK. "Übetr. relevantes wegen Sortierfolge "BT82FE
IF XVBPLK-UEVEL IS INITIAL.
MOVE-CORRESPONDING XVBPLK TO ITAB.
* 001 vsm1kor 09.08.07 - sn OPL 1815
READ TABLE XVTTP WITH KEY VBELN = XVBPLK-VPOBJKEY.
IF SY-SUBRC EQ 0.
ITAB-KUNWE = XVTTP-KUNWE.
ENDIF.
* 001 vsm1kor 09.08.07 - en OPL 1815
APPEND ITAB.
ENDIF.
ENDLOOP.
SORT ITAB BY VPOBJKEY KUNWE BRGEW LAENG BREIT HOEHE MEABM.
* 001 vsm1kor 09.08.07 - en OPL 1815
DELETE ITAB WHERE KUNWE NE G_T_KUNWE-KUNWE.
* 001 vsm1kor 09.08.07 - en OPL 1815
* SORT itab by vhilm laeng breit hoehe meabm brgew .
CLEAR W.
CLEAR: TB_COLLI.
LOOP AT ITAB.
W-ITAB = ITAB.
AT NEW VPOBJKEY. "Anzahl Packungen holen "BT82FE
PERFORM GET_ANZPACK.
ENDAT. "BT82FE
**--- AT NEW BO88WA2
* if wa_itab_last-vhilm ne itab-vhilm or
* wa_itab_last-laeng ne itab-laeng or
* wa_itab_last-breit ne itab-breit or
* wa_itab_last-hoehe ne itab-hoehe or
* wa_itab_last-brgew ne itab-brgew.
* perform get_anzpack.
* endif.
PERFORM PRUEFEN_PACKELEMENT.
CHECK SY-SUBRC = 0.
PERFORM GET_MATTEXT_UND_UMRECHNEN.
ADD ITAB-BRGEW TO W-SUM1.
ADD ITAB-BRGEW TO W-SUM2.
ADD ITAB-BRGEW TO W-SUM3.
* AT END OF brgew.
AT END OF MEABM.
TB_SAVE-GEWEI = ITAB-GEWEI.
W-ELEMENT = 'ITEM_LINE'.
PERFORM WRITE_ELEMENT.
CLEAR: W-SUM1, W-SUM2.
ENDAT.
AT END OF VPOBJKEY.
W-ELEMENT = 'LS_SUM'.
PERFORM WRITE_ELEMENT.
CLEAR:W-SUM1, W-SUM2.
ENDAT.
**--- Nächstes Record lesen
* ADD 1 TO l_index.
* READ TABLE l_t_verpdat INTO l_r_verpdat_next INDEX l_index.
* IF sy-subrc NE 0 OR
AT LAST.
W-ELEMENT = 'ITEM_SUM'.
PERFORM WRITE_ELEMENT.
ENDAT.
ENDLOOP.
REFRESH ITAB.
ENDFORM. " AUSGEBEN_VERPACKUNG
*& Form AUSGEBEN_VERSANDBEDINGUNG
FORM AUSGEBEN_VERSANDBEDINGUNG.
"TABLES: z00_sd_slvs.
* Ermitteln Versandbedingung
CLEAR: T173T.
IF VTTKVB-VSART IS INITIAL.
IF VTTKVB-VSART IS INITIAL AND NOT VTTKVB-ROUTE IS INITIAL.
SELECT SINGLE * FROM TVRO WHERE ROUTE = VTTKVB-ROUTE.
CHECK SY-SUBRC = 0.
SELECT SINGLE * FROM T173T WHERE SPRAS = NAST-SPRAS
AND VSART = TVRO-VSART.
ELSE.
SELECT SINGLE * FROM T173T WHERE SPRAS = NAST-SPRAS
AND VSART = VTTKVB-VSART.
ENDIF.
ELSE.
SELECT SINGLE * FROM T173T WHERE SPRAS = NAST-SPRAS
AND VSART = VTTKVB-VSART.
ENDIF.
* Ermitteln Versicherungstext abhaengig von Incoterm
CLEAR: Z48V_INCOTEXT.
SELECT SINGLE * FROM Z48V_INCOTEXT WHERE INCO1 = SLK-INCO1.
* Ermitteln Versicherungswert
* CLEAR: z00_sd_slvs.
* SELECT * FROM z00_sd_slvs WHERE vswrt > tb_netwr
* ORDER BY vswrt ASCENDING.
* EXIT.
* ENDSELECT.
* IF sy-subrc = 0.
* tb_netwr = z00_sd_slvs-vswrt.
* ENDIF.
W-ELEMENT = 'VERSAND'.
PERFORM WRITE_ELEMENT.
ENDFORM. " AUSGEBEN_VERSANDBEDINGUNG
*& Form AUSGEBEN_VERSENDERVERMERK
FORM AUSGEBEN_VERSENDERVERMERK.
IF SLK-LAND1_WE <> 'DE'.
W-ELEMENT = 'VERSENDERVERMERK'.
PERFORM WRITE_ELEMENT.
ENDIF.
ENDFORM. " AUSGEBEN_VERSENDERVERMERK
*& Form AUSGEBEN_RE
FORM AUSGEBEN_RE.
SELECT SINGLE * FROM VBPA WHERE VBELN = SLK-VBELN
AND POSNR = '000000'
AND PARVW = 'RE'.
IF SY-SUBRC = 0.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'ADRESSE_RE'.
ENDIF.
ENDFORM. " AUSGEBEN_RE
FORM GET_MATTEXT_UND_UMRECHNEN.
SELECT SINGLE * FROM MAKT WHERE MATNR = W-ITAB-VHILM
AND SPRAS = SY-LANGU.
PERFORM UMRECHNEN USING W-ITAB-BRGEW W-ITAB-BRGEW
W-ITAB-GEWEI_MAX 'KG'.
PERFORM UMRECHNEN USING W-ITAB-LAENG W-ITAB-LAENG
W-ITAB-MEABM 'CM'.
WRITE W-ITAB-LAENG TO TB_LAENG LEFT-JUSTIFIED DECIMALS 0.
PERFORM UMRECHNEN USING W-ITAB-BREIT W-ITAB-BREIT
W-ITAB-MEABM 'CM'.
WRITE W-ITAB-BREIT TO TB_BREIT LEFT-JUSTIFIED DECIMALS 0.
PERFORM UMRECHNEN USING W-ITAB-HOEHE W-ITAB-HOEHE
W-ITAB-MEABM 'CM'.
WRITE W-ITAB-HOEHE TO TB_HOEHE LEFT-JUSTIFIED DECIMALS 0.
SELECT SINGLE * FROM T006A WHERE SPRAS = NAST-SPRAS
AND MSEHI = W-ITAB-GEWEI_MAX.
IF SY-SUBRC <> 0.
T006A-MSEH6 = W-ITAB-GEWEI_MAX.
ENDIF.
CONCATENATE TB_LAENG TB_BREIT TB_HOEHE
INTO TB_ABMES SEPARATED BY 'x'.
IF W-ITAB-VEBEZ CA ' '.
IF SY-FDPOS <> 0.
W-ITAB-VEBEZ = W-ITAB-VEBEZ(SY-FDPOS).
ENDIF.
ENDIF.
READ TABLE IT_VSTEL WITH KEY VSTEL = W-ITAB-VSTEL.
ENDFORM.
FORM GET_ANZPACK.
READ TABLE SLK WITH KEY VBELN = W-ITAB-VPOBJKEY. "BT82FE
CHECK SY-SUBRC = 0. "BT82FE
ADD SLK-ANZPK TO TB_COLLI. "BT82FE
W-LSANZPK = SLK-ANZPK. "BT82FE
W-LSNUM = W-ITAB-VPOBJKEY+4(8). "BT82FE
ENDFORM.
*& Form PRUEFEN_PACKELEMENT
FORM PRUEFEN_PACKELEMENT.
TABLES: VBFA.
SELECT * FROM VBFA WHERE VBELV = W-ITAB-VPOBJKEY
AND VBELN = W-ITAB-VENUM
AND VBTYP_N = 'X'.
EXIT.
ENDSELECT.
ENDFORM. " PRUEFEN_PACKELEMENT
FORM WRITE_ELEMENT.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = W-ELEMENT
EXCEPTIONS
ELEMENT = 1
FUNCTION = 2
TYPE = 3
UNOPENED = 4
UNSTARTED = 5
WINDOW = 6
BAD_PAGEFORMAT_FOR_PRINT = 7
OTHERS = 8.
ENDFORM.
FORM GET_BFART_TEXT. "BT82FE
CALL FUNCTION 'SD_SHIPMENT_HEADER_DESCRIPTION'
EXPORTING
I_XVTTK = VTTKVB
* i_adrnr = vttk-adrnr
CHANGING
C_TXT_SHIPMENT_TYPE = TVTKT-BEZEI
C_TXT_PROCESSING_TYPE = RV56A-TXT_ABFER
C_TXT_PROCESS_CONTROL = RV56A-TXT_ABWST
C_TXT_SERVICE_LEVEL = RV56A-TXT_BFART.
* C_TXT_SHIPPING_TYPE = RV56A-TXT_VSART
* C_TXT_SHIP_TYP_PREL = RV56A-TXT_VSAVL
* C_TXT_SHIP_TYP_SUBS = RV56A-TXT_VSANL
* C_TXT_LEG_INDICATOR = RV56A-TXT_LAUFK
* C_TXT_SHIPPING_COND = RV56A-TXT_VSBED
* C_TXT_ROUTE = VTTKD-TXROU
* C_TXT_CARRIER = VTTKD-TXDIL
* C_TXT_OVERALL_STATUS = RV56A-TXT_STTRG
* C_ICON_OVERALL_STATUS = RV56A-TRG_AMPEL
* C_TXT_FREIGHT_COST_RELEVANCE = VTTK_TXT-FRKRL_TXT
* C_TXT_FREIGHT_CALC_STATUS = VTTK_TXT-FBSTA_TXT
* C_TXT_FREIGHT_SETT_STATUS = VTTK_TXT-ARSTA_TXT
* C_TXT_OVRL_FREIGHT_CALC_STATUS = VTTK_TXT-FBGST_TXT
* C_TXT_OVRL_FREIGHT_SETT_STATUS = VTTK_TXT-ARGST_TXT
* C_TXT_SPECIAL_PROCESSING = VTTK_TXT-SDABW_TXT
* C_TXT_PRICING_PROCEDURE = VTTK_TXT-KKALSM_TXT
* C_TXT_STATUS_PLANNED = RV56A-TXT_STDIS
* C_TXT_STATUS_REGISTRATED = RV56A-TXT_STREG
* C_TXT_STATUS_LOAD_START = RV56A-TXT_STLBG
* C_TXT_STATUS_LOAD_END = RV56A-TXT_STLAD
* C_TXT_STATUS_PROCESSING = RV56A-TXT_STABF
* C_TXT_STATUS_SHIPM_START = RV56A-TXT_STTBG
* C_TXT_STATUS_SHIPM_END = RV56A-TXT_STTEN
* C_ROUTID = VTTK_TXT-ROUTID
* C_TXT_LEG_DET_TYPE = RV56A-TXT_STERM
* C_TXT_ROUTE_STAGES = RV56A-TXT_ROTSTA
* C_TXT_ADD_INFO_1 = VTADD01T-BEZEI
* C_TXT_ADD_INFO_2 = VTADD02T-BEZEI
* C_TXT_ADD_INFO_3 = VTADD03T-BEZEI
* C_TXT_ADD_INFO_4 = VTADD04T-BEZEI.
ENDFORM.
*& Form START_FORM
* text
* --> p1 text
* <-- p2 text
FORM START_FORM.
CALL FUNCTION 'START_FORM'
* EXPORTING
* ARCHIVE_INDEX =
* FORM = ' '
* LANGUAGE = ' '
* STARTPAGE = ' '
* PROGRAM = ' '
* MAIL_APPL_OBJECT =
* IMPORTING
* LANGUAGE =
* EXCEPTIONS
* FORM = 1
* FORMAT = 2
* UNENDED = 3
* UNOPENED = 4
* UNUSED = 5
* SPOOL_ERROR = 6
* OTHERS = 7
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " START_FORM
*& Form END_FORM
* text
* --> p1 text
* <-- p2 text
FORM END_FORM.
CALL FUNCTION 'END_FORM'
* IMPORTING
* RESULT =
* 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. " END_FORM
Regards,
Vasanth
Message was edited by:
Vasanth M -
Print group name on a page of Report
I have sorted my data on my report, printing a group on each page of my report.
On each page, i would like to print the name of the current group (easy) but also the name of the previous page group. How can i do that ?
Using GroupName()...?duplicate - please do not post multiple times
-
Header to be displayed on each page(I cannot use TOP_OF_PAGE)
hi all,
I am writing a classical report. My output has two types of records. One is stored in internal table ITAB1 and other in ITAB2.
ITAB1 and ITAB2 don't have same header. I need to first display the records in ITAB1 and later ITAB2.
The problem here is both the tables have records exceeding one page. I need to print corresponding headers on each page.
For Ex: If ITAB1 has records which cover two pages, then ITAB1 header needs to be printed on each page. After that ITAB2 header needs to be printed on each page.
Can you please help.
Thanks,
AravindHi Aravind,
You can try the following, declare a flag variable an set its value as 1. Now in event top-of-page check the value of the flag , if it is 1 write the heading for ITAB1 else write the heading for ITAB2.. Assume that the page length is 25 rows, that would invoke top-of-page after 25 rows. Now the output that you are displaying would be using the loop at itab1. write. endloop.
After the loop is completed increment the flag by 1 and call new page. Now the flag contains 2 hence the heading for ITAB2 will be called.
top-of-page.
if flag = 1.
write <heading1>
else.
write <heading2>
endif.
start-of-selection.
loop at itab1.
write <data from itab1>.
endloop.
flag = flag + 1.
<invoke new page by NEW-PAGE command>
loop at itab2.
write <data from itab2>.
endloop.
Hope this helps.
Regards,
Sachin
Maybe you are looking for
-
Hi Friends, I have a Issue in Income Tax calculation, for the month of September, the form 16 for a particular employee is a follows Form 16 summary Gross Salary 783,399.00 Exemption U/S 10 5,600.00 Balance
-
Can I get 2 sets of headphones to work at the same time on my powerbook?
For example, one USB set and one regular mini jack? I have played around in audio settings but don't see a way to do it. thanks
-
We use a big infrastructure on OS X Server, and actually we have some apps developed with FMS 2 run on a little test windows server. I hope we will be able to install FMS 3 on OS X Server to connect FMS apps to SSO, LDAP, SAN, to improve disponibilit
-
How I COULD CHECK files are storing in DMS server or DNS server.
Hi, all, I am storing DMS files ie originals in DMS_C1_ST through Kpro, Because we have DNS server and DMS server. Now I m working in Production server, How I can check the DMS files is storing in DMS server or in DNS server. The DMS configuration is
-
E61 Sync via Bluetooth or WiFi?
Using the Nokia PC Suite provided, I cannot seem to connect via Bluetooth. I CAN however connect from my PC to my e61 via Bluetooth, but cannot sync without the PC Suite software. Is there a solution to this problem? Is there any way of Syncing an e6