Purchase Order : printing table in the SAPScript.
Hi all,
I want to print taxes in the PO . I have created SAPScript from the standard Script MEDRUCK & also attached it to the Appln - EF, in the T-Code : NACT.
To pass the taxes i have written a code and that program i have called from the script. But, it is only the last entry in the internal table (it_out). I want to print all the taxes for the respective PO. And, the only last one tax entry in the it_out , it is showing in the print preview for 'Domestic PO', and, for 'Import PO', it is not showing any entry.
Plz, try to solve this problem.... if anybody could give me the proper solution of this problem, i will definitely reward the points to him.
I am giving the code that i have used in the report & in Script.
Code in the SAP Script...
/E ITEM_CONDITIONS
/: PROTECT
/: DEFINE &TYPE& = ' '
/: DEFINE &TEXT& = ' '
/: DEFINE &PER& = ' '
/: PERFORM GET_TAX IN PROGRAM ZMM_PO
/: USING &EKKO-EBELN&
/: CHANGING &TYPE&
/: CHANGING &TEXT&
/: CHANGING &PER&
/: ENDPERFORM
IN ,,&TEXT&,,&PER&
/: ENDPROTECT
Respective code in the Report
*& Form GET_TAX
text
-->IN_PAR text
-->OUT_PAR text
FORM GET_TAX TABLES IN_PAR STRUCTURE ITCSY
OUT_PAR STRUCTURE ITCSY.
TABLES : EKKO, "Purchasing Document Header
KONV, "Conditions (Transaction Data)
T685T. "Conditions: Types: Texts
DATA : BEGIN OF ITAB OCCURS 10.
DATA : EBELN LIKE EKKO-EBELN.
DATA : KNUMV LIKE EKKO-KNUMV.
DATA : END OF ITAB.
DATA : BEGIN OF ITAB1 OCCURS 10.
DATA : EBELN LIKE EKKO-EBELN.
DATA : KNUMV LIKE KONV-KNUMV.
DATA : KPOSN LIKE KONV-KPOSN.
DATA : KSCHL LIKE KONV-KSCHL.
DATA : VTEXT LIKE T685T-VTEXT.
DATA : KBETR LIKE KONV-kbetr.
DATA : WAERS LIKE KONV-waers.
DATA : KWERT LIKE KONV-kwert.
DATA : END OF ITAB1.
DATA : BEGIN OF IT_OUT OCCURS 10.
DATA : KSCHL LIKE KONV-KSCHL.
DATA : VTEXT LIKE T685T-VTEXT.
DATA : KBETR LIKE KONV-KBETR.
DATA : KWERT LIKE KONV-KWERT.
DATA : END OF IT_OUT.
DATA : PONO LIKE EKKO-EBELN.
DATA : NO LIKE KONV-KPOSN.
READ TABLE IN_PAR WITH KEY 'EKKO-EBELN'.
IF SY-SUBRC = 0.
PONO = IN_PAR-VALUE.
SELECT EBELN KNUMV
FROM EKKO
INTO TABLE ITAB
WHERE EBELN = PONO.
READ TABLE IN_PAR WITH KEY 'KONV-KPOSN'.
IF SY-SUBRC = 0.
NO = IN_PAR-VALUE.
LOOP AT ITAB.
MOVE ITAB-KNUMV TO ITAB1-KNUMV.
SELECT KNUMV KPOSN KSCHL KBETR WAERS KWERT
FROM KONV
INTO CORRESPONDING FIELDS OF ITAB1
WHERE KNUMV = ITAB-KNUMV
AND KAPPL = 'M'.
ITAB1-KBETR = ( ITAB1-KBETR / 10 ) .
APPEND ITAB1.
ENDSELECT.
ENDLOOP.
SORT ITAB1 BY KPOSN kschl.
LOOP AT ITAB1.
IF ITAB1-KPOSN <> ''.
SELECT *
FROM T685T
WHERE KSCHL = ITAB1-KSCHL
AND KAPPL = 'M'
AND SPRAS = 'EN'.
IT_OUT-VTEXT = T685T-VTEXT.
IT_OUT-KSCHL = ITAB1-KSCHL.
IT_OUT-KBETR = ITAB1-KBETR.
IT_OUT-KWERT = ITAB1-KWERT.
APPEND IT_OUT.
ENDSELECT.
ENDIF.
ENDLOOP.
SORT IT_OUT BY KSCHL.
DELETE ADJACENT DUPLICATES FROM it_out COMPARING KSCHL.
LOOP AT IT_OUT.
IF
( IT_OUT-KSCHL = 'JADC'
OR IT_OUT-KSCHL = 'JCDB'
OR IT_OUT-KSCHL = 'JCV1'
OR IT_OUT-KSCHL = 'JECV'
OR IT_OUT-KSCHL = 'J1CV'
OR IT_OUT-KSCHL = 'JSDB'
OR IT_OUT-KSCHL = 'JEXC'
OR IT_OUT-KSCHL = 'JEXS'
OR IT_OUT-KSCHL = 'FRC1').
AT NEW KSCHL.
CLEAR out_par.
CLEAR out_par[].
LOOP AT OUT_PAR.
READ TABLE IT_OUT INDEX SY-TABIX.
SUM.
WRITE:/ IT_OUT-KSCHL,IT_OUT-VTEXT,IT_OUT-KBETR.
OUT_PAR-NAME = 'TYPE'.
OUT_PAR-VALUE = IT_OUT-KSCHL.
APPEND OUT_PAR.
OUT_PAR-NAME = 'TEXT'.
OUT_PAR-VALUE = IT_OUT-VTEXT.
APPEND OUT_PAR.
OUT_PAR-NAME = 'PER'.
OUT_PAR-VALUE = IT_OUT-KBETR.
APPEND OUT_PAR.
ENDLOOP.
ENDAT.
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.
ENDFORM. "GET_TAX
Plz, help me by giving the solution...
Thanks,
Ajit
Hi,
System will not display the Purchase order item details in the first screen. First enter the data on the Item overview like Material or short text then only it will display the Item details.
I think you are checking with out entering the data on Item overview .
Check by entering the material/short text.
rgds
Chidanand
Similar Messages
-
Excise duty condition type and Purchase Order Print Issue
Dear Friends,
We have a issue related to Purchase order print out.
We are maintaining TAXINN.
We have implemented CIN and we are maintaining Excise Conditions i.e. Basic Excise in JMOP
In FV11 we are maintaining values for JMOP with plant and material Group combination.
In Purchase Order Tax calculation is happening correctly.
But issue is to find the value of taxes for Purchase Order Print.
We are using function module CALCULATE_TAX_FROM_NET_AMOUNT
and passing values of Company Code, Country, Currency, and Base amount to get the entries in condition types.
But we are not getting any entry even after passing the values.
How we can get these values in JMOP.
Regards
KantWhy do you want to calculate the taxes during the PO Print when you are getting correct values in PO itself?
Modify your print program with pulling values directly from EKPO/ EKKO Tables and display it to Spool.
check with ur ABAP Person -
Purchase order print program error
hi experts!
am facing a problem in my purchase order print program. the problem is that when i am trying to see the print preview the following dump error is throughing, which am not able to understand.
the P.O total amount should be change into words( like one million then thousand thirty three kuwait dinars)
but the total amount is not converting into as mentioned, instead the dump is encountered.
please give me solution,
thnaks
*DUMP*
Runtime Errors CONVT_NO_NUMBER
Exception CX_SY_CONVERSION_NO_NUMBER
Date and Time 05.05.2008 19:04:43
Short text
Unable to interpret "1760,778.71 " as a number.
What happened?
Error in the ABAP Application Program
The current ABAP program "ZMM_SUBROUTINES" had to be terminated because it has
come across a statement that unfortunately cannot be executed.
What can you do?
Note down which actions and inputs caused the error.
To process the problem further, contact you SAP system
administrator.
Using Transaction ST22 for ABAP Dump Analysis, you can look
at and manage termination messages, and you can also
keep them for a long time.
Error analysis
An exception occurred that is explained in detail below.
The exception, which is assigned to class 'CX_SY_CONVERSION_NO_NUMBER', was not
caught in
procedure "GET_AMT_IN_WORDS" "(FORM)", nor was it propagated by a RAISING
clause.
Since the caller of the procedure could not have anticipated that the
exception would occur, the current program is terminated.
The reason for the exception is:
The program attempted to interpret the value "1760,778.71 " as a number, but
since the value contravenes the rules for correct number formats,
this was not possible.
How to correct the error
Whole numbers are represented in ABAP as a sequence of numbers, possibly
with an algebraic sign.
The following are the possibilities for the representation of floating
point numbers:
[algebraic sign][mantissa]E[algebraic sign][exponent]
[algebraic sign][whole number part].[fraction part]
For example, -12E+34, +12E-34, 12E34, 12.34
If the error occurred in your own ABAP program or in an SAP
program you modified, try to remove the error.
If the error occures in a non-modified SAP program, you may be able to
find an interim solution in an SAP Note.
If you have access to SAP Notes, carry out a search with the following
keywords:
"CONVT_NO_NUMBER" "CX_SY_CONVERSION_NO_NUMBER"
"ZMM_SUBROUTINES" or "ZMM_SUBROUTINES"
"GET_AMT_IN_WORDS"
If you cannot solve the problem yourself and want to send an error
notification to SAP, include the following information:
1. The description of the current problem (short dump)
To save the description, choose "System->List->Save->Local File
(Unconverted)".
2. Corresponding system log
Display the system log by calling transaction SM21.
Restrict the time interval to 10 minutes before and five minutes
after the short dump. Then choose "System->List->Save->Local File
(Unconverted)".
3. If the problem occurs in a problem of your own or a modified SAP
program: The source code of the program
In the editor, choose "Utilities->More
Utilities->Upload/Download->Download".
4. Details about the conditions under which the error occurred or which
actions and input led to the error.
The exception must either be prevented, caught within proedure
"GET_AMT_IN_WORDS" "(FORM)", or its possible occurrence must be declared in the
RAISING clause of the procedure.
To prevent the exception, note the following:
System environment
SAP-Release 700
Application server... "EHPAP1"
Network address...... "10.100.150.103"
Operating system..... "AIX"
Release.............. "5.3"
Hardware type........ "00C3B3F04C00"
Character length.... 16 Bits
Pointer length....... 64 Bits
Work process number.. 1
Shortdump setting.... "full"
Database server... "EHPDB"
Database type..... "DB6"
Database name..... "EHP"
Database user ID.. "SAPEHP"
Char.set.... "C"
SAP kernel....... 700
created (date)... "Mar 19 2007 20:40:49"
create on........ "AIX 2 5 005DD9CD4C00"
Database version. "DB6_81 "
Patch level. 102
Patch text.. " "
Database............. "DB6 08.02., DB6 09."
SAP database version. 700
Operating system..... "AIX 1 5, AIX 2 5, AIX 3 5"
Memory consumption
Roll.... 16192
EM...... 29328936
Heap.... 0
Page.... 1359872
MM Used. 19180992
MM Free. 1764848
User and Transaction
Client.............. 400
User................ "FADISULAIMAN"
Language key........ "E"
Transaction......... "ME22N "
Program............. "ZMM_SUBROUTINES"
Screen.............. "SAPLMEGUI 0014"
Screen line......... 22
Information on where terminated
Termination occurred in the ABAP program "ZMM_SUBROUTINES" - in
"GET_AMT_IN_WORDS".
The main program was "RM_MEPO_GUI ".
In the source code you have the termination point in line 398
of the (Include) program "ZMM_SUBROUTINES".
The termination is caused because exception "CX_SY_CONVERSION_NO_NUMBER"
occurred in
procedure "GET_AMT_IN_WORDS" "(FORM)", but it was neither handled locally nor
declared
in the RAISING clause of its signature.
The procedure is in program "ZMM_SUBROUTINES "; its source code begins in line
358 of the (Include program "ZMM_SUBROUTINES ".
Source Code Extract
Line SourceCde
368 DATA: lt_spell LIKE spell.
369
370 READ TABLE in_tab WITH KEY 'CURR'.
371 IF sy-subrc = 0.
372 lf_curr = in_tab-value.
373 ENDIF.
374
375 READ TABLE in_tab WITH KEY 'NETWR'.
376 IF sy-subrc = 0.
377 lf_netpr_01 = in_tab-value.
378 REPLACE ',' IN lf_netpr_01 WITH ' '.
379 CONDENSE lf_netpr_01 NO-GAPS.
380
381 IF lf_curr = 'KWD'.
382 lf_netpr_kwd = lf_netpr_01.
383
384 CALL FUNCTION 'SPELL_AMOUNT'
385 EXPORTING
386 amount = lf_netpr_kwd
387 currency = lf_curr
388 filler = ''
389 language = sy-langu
390 IMPORTING
391 in_words = lt_spell
392 EXCEPTIONS
393 not_found = 1
394 too_large = 2
395 OTHERS = 3.
396
397 ELSE.
>>>>> lf_netpr = lf_netpr_01.
399 CALL FUNCTION 'SPELL_AMOUNT'
400 EXPORTING
401 amount = lf_netpr
402 currency = lf_curr
403 filler = ''
404 language = sy-langu
405 IMPORTING
406 in_words = lt_spell
407 EXCEPTIONS
408 not_found = 1
409 too_large = 2
410 OTHERS = 3.
411 ENDIF.
412 IF sy-subrc <> 0.
413 * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
414 * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
415
416 ELSE.
417
Contents of system fields
Name Val.
SY-SUBRC 0
SY-INDEX 17
SY-TABIX 1
SY-DBCNT 18
SY-FDPOS 1
SY-LSIND 0
SY-PAGNO 0
SY-LINNO 1
SY-COLNO 1
SY-PFKEY NORMAL
SY-UCOMM PREVOUTPUT
SY-TITLE Held Imp. Pur. O r - ESG 5000000021 Created by Fadi Sulaiman
SY-MSGTY A
SY-MSGID TD
SY-MSGNO 426
SY-MSGV1 NEXTPAGE
SY-MSGV2 ZMEDRUCK_PO
SY-MSGV3
SY-MSGV4
SY-MODNO 0
SY-DATUM 20080505
SY-UZEIT 190441
SY-XPROG SAPCNVE
SY-XFORM CONVERSION_EXITHi Prasad,
Check the FM's
SPELL_AMOUNT --> for display in millions
HR_IN_CHG_INR_WRDS --> for display in lakhs and crores -
Sending Purchase Order in mail without the spool generation
Dear All,
When i create a Purchase Order using Tcode ME21N, the PO should go by mail to an external email id as a pdf attachment.
A Z sapscript is used . The spool request is not generated.
Could anyone please let me know the method/code to use the script data for creating Purchase Order and send it via email without spool generation.
Waiting for solution.
Thanks & Regards,
BhavikaHi,
as i said:
create an printer with devices type PDF1, set host spool access method to M (E-Mail to Receiver/Owner).
Use this printer as output-device.
To create and use a printer with PDF1 try searching in SCN or use SAP OSS.
Regards Dieter -
Purchase Order Print Report Compilation Error
Hi,
While compiling the report in Reports Builder Purchase Order Print Report , we get the following error:
identifier GET_PRECISION must be declared.
Where as this is a seeded function inbuild in the Program Units.
Also while compiling on server we get the error.
Cannot convert rdf to rep.
Thanks,
Angelica.Couldn't find how to copy the PO layout over using copy express.
I did compare the RDOC fields for POR20002 in both databases and they are Identical.
In Crystal Reports, I did a formula search for N_Decimal_Places and it found nothing. Then I did a search for 'length' in all formulas and it finds length in N_Decimal_Places. When I double click on N_Decimal_Places it clears the screen and never shows the formula. This happens in both layouts for my test database and SBODemoUS.
Again, SBODemoUS works correctly and AAA_TEST give the error. -
I want to change Purchase Order Print
I want to change Purchase Order Print. I want to add the name who has done last change in Purchase Order. Please help.
You no need to add the changes, It can be shown in Environment menu. If u want to see the person who changed the PO in ur Print, ABAP work will be required..
By the way what is the business requirement for this. B'cas PO is meant for vendor, Why do u want to print, whoever did the changes..This thing you can see from SAP itself at anytime.
Cheers!
***Reward If useful (RIU) -
Regarding Purchase order Print through ME9F
Dear friends,
i want to print P.O numbers in lot. (more than 100 PO in one short). but i want to
genreate all those POs in single spool request. is it possible to do? if yes then pls help.
thx in advance
jigar patelYup, goto ME9F, give your purchase order range
Go inside the transaction using the select all options, select all the orders, and give print -
Purchase order print ID for condition lines
How to add / remove condition types ie. freight rates, handling charges in purchase order print out ?.
i want the values of these condition types to be /not to be in the purchase order print out.
even when i m maintaining these values in P.0 conditions.hi
in pricing procedure m/08 u can the condition types as print relevant.
maintain it and check in print preview
If this Hint had helped please reward points
gibi -
SmartForms: Purchase order Print prog and SLIN
Hi all,
I am on 4.7 and Purchase Order Print Prog name is /SMB10/FM06P. When i am doing SLINE Check on this Prog. I am getting the following Message.
Program: /SMB10/FM06P Row: 1
The namespace of program /SMB10/FM06P has the setting "C" and cannot be tested.
A possible cause for this is that an SAP program is being checked in a customer
system.
Note, the following rule applies after a change in the source code:
For testing the namespace setting is ignored for one week
(The message cannot be hidden using pseudo-comment "#EC .., or by using SET
EXTENDED CHECK OFF/ON)
Is any one have idea about this?
Thanks in advnace.Thanks for your Reply,
When i am doing Syntax check in SE38, I am getting the below error message.
<b>"The Program "/SMB10/FM06P" is not Unicode-compatible, according to its program attributes."</b>
I have found the OSS Note No: 751007
Solution
Copy the program into your own namespace (e.g "ZZsmbfm06p"), maintain the program attribute to make sure the flag "Unicode checks active" is selected. Then maintain the customizing for output control again.
<b><u>
GOD BLESS SAP, SAP asking to Create Custom Object.</u></b>
Thanks
Message was edited by: Vipin Nagpal
Message was edited by: Vipin Nagpal -
Purchase order print priview and spool print output are different.
Hi Friends,
there is problem with purchase order print priview and spool print output are different.
mean : in me23n .. for a perticular po .. in po priview the TAX VALUES value is 120 coming..
when i am giving print with spool.. the amount value is showing TAX VALUE
is 443..why it is showing wrong..
this is for perticular output type.
why TAX VALUES are showing different in print view and
spool print.
help me.
regards,Hi Neil,
thanks for your reply.
but the valiadtions are happening in standard functional module PRICING.
it is realted script(medruck)...but there is no code point for spool or printer side..
and the issue is realted one PO OUTPUT TYPE..
it is sap standard debugging... when i am debugging the functional module PRICING.
the values are coming dynammically.
help me.
regards, -
Purchase order Print-out in ME22N
Hellow sir,
I am getting an error while taking purchase order print-out in ME22N,system giving the error message Express document "Update was terminated"received from author "Abhishek".Please help me out
Regards,
KirtiHi Kirti,
Notes are seen on service.sap.com not R/3. Please go to service.sap.com ->in SAP Support Portal click on link SAP Note search then in front of number, give the note number and click on ">>" button.
In R/3 you can see whether these notes are implement or not. Basis people see it in transaction SNOTE and the in note browser, you give note number and press F8. If this note is avl, it means it is already implemented.
I still suggest to change config to standard to suspect your programs too. Notes would help to solve problem in standard objects only.
- Sanjeev -
Changed Purchase Order Print output
Hi Gurus,
what output type should i choose to get revised purchase order print output with only changes
Regards
VivekHi Vivek,
You can very well use the same o/p type which is used for creation.
The driver program need to be modified to print only the changes required.
Contact ur ABAPer for further assistance.
Regards
Ramesh Ch -
ME9F Purchase Order Printing.
If authrorization of T-code ME9F is given to any SAP user ID then in t-code ME23N if we click on Print Preview system shows the Purchase order print preview, Printing options are available in this print preview.
How I can restrict that user id to take printout of the purchase order. I want to give only print preview of the Purchase order.Hi Shekar ,
Use the time spot as 3 in condition records ( MN04 ) so that printing can only happen using ME9F.
Then in ME23N only preview can be seen but cannot be printed.
Regards
Ramesh Ch -
Possibilities for changing purchase order print behavior
Hello guys,
I'm kind of new in SAP MM and I had to deal with PDF formula for purchase order. Now I have some questions about what is possible to change behavior for printing data in purchase order print.
First of all we're using our own PDF formula which is a little bit like standard formula MEDRUCK_PO. We're using programm SAPFM06P with routine ADOBE_ENTRY_NEU, no changes in SAP standard behavior were made.
Everyhting works fine with that but we sometimes have some special cases where our user wants some other behavior. Can you please say if it is possible and if so where to do that? (Customizing, formula itself)
1. Changes in purchase order positions -> We have for example 4 purchase order positions. Now for one of them the price has changed. When printing formula then, you only see the changed order position. When you want to see all, user has to change some detail in every of the other positions, thats pretty annoying.
2. Header text 'Changes in purchase order' -> Sometimes the header text is displayed as 'Changes in purchase order', sometimes as "normal" 'Purchase order'. I know it has something to do with status (field DRUVO) of purchase order, but its not clear when which status is set. Any help? :-)
3. Deleted positions -> How is the standard behavior when a position is deleted? I think it will not be listed anymore in the positions printout. Anyway I can control it by catching LOEKZ field. But how is it with the total value field in sum data. I think it still is the whole value including the deleted positions. Is this changeable?
I know there is some customizing in SPRO -> Materials Management -> Purchasing -> Messages
but I'm not quite sure how it works :-(
Can anyone enlight me? :-)
Thanks a lot.
Regards
MichaelSAP can differentiate between a new created purchase order and an existing purchase order that only got changed.
Based on that it can be customized whether you print the full purchase order or only the part that was changed, and accordingly you may get different texts on your form (... 'Changes in purchase order', sometimes as "normal" 'Purchase order'.)
A deletion of a PO item is as well a change. If you decided to print only a change message, then you get a print having the item number and a text *** item deleted *** or similar based on your customizing.
But if you decided to print the full PO in both cases (creation and change), then you get the full PO but the deleted item is no longer among them and no hint either that it was deleted..
Basically this setting is made in SPRO -> Materials Management -> Purchasing -> Messages -> Output Control -> Message Types -> Define Message Types for Purchase Order
see as well the wiki: Printing of purchasing documents - ERP SCM - SCN Wiki -
How to know which Smart-Form is being used for Purchase Order print output
Hi Gurus ,
How to find which Smart-Form and and methods/program being used for Purchase Order print output in SRM ?
In ECC we have tcode NACE where we can check all the details.Is there something similar in SRM ?
Please help.
Regards,
SauravThere is no similar transaction in SRM for your purpose. Usually if the customers customize the smartforms, they would choose to use their own form by implementing BADI BBP_OUTPUT_CHANGE_SF. Take a look into your system and see if this BADI is implemented. If so, debug it (by pressing "Print Preview" for a PO for example) and find out what form it is using. Or, if the BADI is not implemented, by default, the system uses form BBP_PO.
Maybe you are looking for
-
Printing break levels in a Smartform
Hi; I have a smartform that works ok, but now i need to show the data separated, i need to make a break every time the field 'table-condition' change, something like this: detail of the smartform: type : controled (condition field) header of the cond
-
Power Query for Excel - Need Help with Oracle SQL Syntax
Hello everyone, I am new to Power Query and am not able to figure this out. I am trying to pull in data into my Excel spreadsheet using a specific Oracle SQL query. While in query editor, how do I take the Oracle.Database function and add my SQL st
-
hey, i'm using jdeveloper11g and I use a RichTable to display data of a ViewObject. The data associated with the view object changes and i need to update RichTable accordingly. However, as I update using Poll the scroll position of the table is chang
-
Error 103 when updating iTunes 10.6.3 -
My Mac Mini (late 2009) doesn't accept iTunes updates. It keeps at version 10.6.3. Problem started when OS X was Lion and it still continues with Mountain Lion. I have downloaded iTunes and tried to install it but with no success. After ML upgrade I
-
Make particular Ical calendar on three week with different work hours...
Hello, I work in shifts on three shifts per month and I'd like it to appear in a calendar for information to plan my appointments in advance, I do not know how to do this automatically for example I shall desire to have a timetable as follows: Week 1