Purchase Order printing by smartforms
Hi all
I am trying to print PO by Smartforms. Problem is that this has to be done copying standard program. How to go about it. I searched the forum and it talked about the driver program /BPR3PF/FM06P and preconfigured Smartform /BPR3PF/MMPO_L both of which I did not find in our system (ECC 6.0) We have an up and running Sapscript PO system, but our company needs some modifications and we are familiar only with Smartforms.....any help....broad outlines?
Thanks and best regards
Subin
In Standard PO calling the script ,so the standard program SAPFM06P userful for script only
And if u want change script to smart forms then you need to add your driver program .
Steps to create Driver Program :-
First create the create Z Program SAPFM06P like below(Subroutine Pool)
PROGRAM Zsapfm06P.
TYPE-POOLS: meein.
INCLUDE RVADTABL.
INCLUDE FM06P_CONST.
INCLUDE Zfm06pe02.
Next step is to create Zfm06pe02.
*& Include ZFM06PE02
form entry_neu using ent_retco ent_screen.
data: l_druvo like t166k-druvo,
l_nast like nast,
l_from_memory,
l_doc type meein_purchase_doc_print.
* * Data Declaration for PO smartform Modification
DATA: fname TYPE rs38l_fnam,
xkomk TYPE TABLE OF komk,
gs_output TYPE ssfcompop,
gs_dialog TYPE ssfctrlop.
clear ent_retco.
if nast-aende eq space.
l_druvo = '1'.
else.
l_druvo = '2'.
endif.
call function 'ME_READ_PO_FOR_PRINTING'
exporting ix_nast = nast
ix_screen = ent_screen
importing ex_retco = ent_retco
ex_nast = l_nast
doc = l_doc
changing cx_druvo = l_druvo
cx_from_memory = l_from_memory.
check ent_retco eq 0.
IF tnapr-sform NE ' '.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING formname = tnapr-sform
IMPORTING fm_name = fname
EXCEPTIONS
no_form = 1
no_function_module = 2
OTHERS = 3.
IF sy-subrc EQ 0.
gs_dialog-no_dialog = 'X'.
gs_dialog-preview = 'X'.
gs_output-tddest = 'LP01'.
gs_output-tdnoprev = ' '.
gs_output-tdnoprint = ' '.
gs_output-tdimmed = 'X'.
gs_output-tdnewid = 'X'.
CALL FUNCTION fname
" modify the interface as per your needs
EXPORTING control_parameters = gs_dialog
output_options = gs_output
user_settings = ' '
zxekko = l_doc-xekko
zxpekko = l_doc-xpekko
TABLES l_xekpo = l_doc-xekpo
l_xekpa = l_doc-xekpa
l_xpekpo = l_doc-xpekpo
l_xeket = l_doc-xeket
l_xtkomv = l_doc-xtkomv
l_xekkn = l_doc-xekkn
l_xekek = l_doc-xekek
l_xkomk = xkomk
EXCEPTIONS formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
OTHERS = 5.
ELSE.
CALL FUNCTION 'ME_PRINT_PO'
EXPORTING ix_nast = l_nast
ix_druvo = l_druvo
doc = l_doc
ix_screen = ent_screen
ix_from_memory = l_from_memory
ix_toa_dara = toa_dara
ix_arc_params = arc_params
ix_fonam = tnapr-fonam "HW 214570
IMPORTING ex_retco = ent_retco.
ENDIF.
ELSE.
CALL FUNCTION 'ME_PRINT_PO'
EXPORTING ix_nast = l_nast
ix_druvo = l_druvo
doc = l_doc
ix_screen = ent_screen
ix_from_memory = l_from_memory
ix_toa_dara = toa_dara
ix_arc_params = arc_params
ix_fonam = tnapr-fonam "HW 214570
IMPORTING ex_retco = ent_retco.
ENDIF.
endform.
So After creating Driver program attach the program using NACE.
Details of the nace Config as follow
Driver Program -- ZSAPFM06P routine will be - ENTRY_NEU script form - ZMM_Purchase_Order(SF)
Similar Messages
-
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 layout using Smartform
Hi All,
Can anyone let me know how to create Purchase order layout using smartforms and assigning it to output type.
Is there standard smartform for purchase order?http://smoschid.tripod.com/How_to_do_things_in_SAP/How_To_Build_SMARTFORMS/How_To_Build_SMARTFORMS.html
http://www.sap-basis-abap.com/sapsf001.htm
http://help.sap.com/printdocu/core/Print46c/de/data/pdf/BCSRVSCRSF/BCSRVSCRSF.pdf
http://www.sap-img.com/smartforms/smartforms-faq-part-two.htm
http://www.esnips.com/doc/13b7ae7a-b32c-4b96-b588-881859d4ac99/Template,Table,Loop,Command-in-Smartforms.doc
http://www.esnips.com/doc/97acb00a-e513-4611-91f0-c626f460bfc5/Smart_Form_Overview.pdf
http://www.esnips.com/doc/77a981b9-8fe3-4fbb-8101-67745c1fe60c/SMART-FORMS_shail.ppt
http://www.sap-basis-abap.com/sapsf001.htm
http://www.sap-press.com/downloads/h955_preview.pdf
http://www.ossincorp.com/Black_Box/Black_Box_2.htm
http://www.sap-img.com/smartforms/sap-smart-forms.htm
Try this. A simple sample Smart Form.
SAP Smartforms can be used for creating and maintaining forms for mass printing in SAP Systems. The output medium for Smartforms support printer, fax, e-mail, or the Internet (by using the generated XML output).
According to SAP, you need neither have any programming knowledge nor use a Script language to adapt standard forms. However, basic ABAP programming skills are required only in special cases (for example, to call a function module you created or for complex and extensive conditions).
1. Create a new smartforms
Transaction code SMARTFORMS
Create new smartforms call ZSMART
2. Define looping process for internal table
Pages and windows
First Page -> Header Window (Cursor at First Page then click Edit -> Node -> Create)
Here, you can specify your title and page numbering
&SFSY-PAGE& (Page 1) of &SFSY-FORMPAGES(Z4.0)& (Total Page)
Main windows -> TABLE -> DATA
In the Loop section, tick Internal table and fill in
ITAB1 (table in ABAP SMARTFORM calling function) INTO ITAB2
3. Define table in smartforms
Global settings :
Form interface
Variable name Type assignment Reference type
ITAB1 TYPE Table Structure
Global definitions
Variable name Type assignment Reference type
ITAB2 TYPE Table Structure
4. To display the data in the form
Make used of the Table Painter and declare the Line Type in Tabstrips Table
e.g. HD_GEN for printing header details,
IT_GEN for printing data details.
You have to specify the Line Type in your Text elements in the Tabstrips Output options.
Tick the New Line and specify the Line Type for outputting the data.
Declare your output fields in Text elements
Tabstrips - Output Options
For different fonts use this Style : IDWTCERTSTYLE
For Quantity or Amout you can used this variable &GS_ITAB-AMOUNT(12.2)&
5. Calling SMARTFORMS from your ABAP program
REPORT ZSMARTFORM.
Calling SMARTFORMS from your ABAP program.
Collecting all the table data in your program, and pass once to SMARTFORMS
SMARTFORMS
Declare your table type in :-
Global Settings -> Form Interface
Global Definintions -> Global Data
Main Window -> Table -> DATA
Written by : SAP Hints and Tips on Configuration and ABAP/4 Programming
http://sapr3.tripod.com
TABLES: MKPF.
DATA: FM_NAME TYPE RS38L_FNAM.
DATA: BEGIN OF INT_MKPF OCCURS 0.
INCLUDE STRUCTURE MKPF.
DATA: END OF INT_MKPF.
SELECT-OPTIONS S_MBLNR FOR MKPF-MBLNR MEMORY ID 001.
SELECT * FROM MKPF WHERE MBLNR IN S_MBLNR.
MOVE-CORRESPONDING MKPF TO INT_MKPF.
APPEND INT_MKPF.
ENDSELECT.
At the end of your program.
Passing data to SMARTFORMS
call function 'SSF_FUNCTION_MODULE_NAME'
exporting
formname = 'ZSMARTFORM'
VARIANT = ' '
DIRECT_CALL = ' '
IMPORTING
FM_NAME = FM_NAME
EXCEPTIONS
NO_FORM = 1
NO_FUNCTION_MODULE = 2
OTHERS = 3.
if sy-subrc <> 0.
WRITE: / 'ERROR 1'.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
call function FM_NAME
EXPORTING
ARCHIVE_INDEX =
ARCHIVE_INDEX_TAB =
ARCHIVE_PARAMETERS =
CONTROL_PARAMETERS =
MAIL_APPL_OBJ =
MAIL_RECIPIENT =
MAIL_SENDER =
OUTPUT_OPTIONS =
USER_SETTINGS = 'X'
IMPORTING
DOCUMENT_OUTPUT_INFO =
JOB_OUTPUT_INFO =
JOB_OUTPUT_OPTIONS =
TABLES
GS_MKPF = INT_MKPF
EXCEPTIONS
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2
SEND_ERROR = 3
USER_CANCELED = 4
OTHERS = 5.
if sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
SMARTFORMS GENERATION: (calling internal table fields)
 Open a smartform using the tcode smartforms.
 Usually form attributes shows admn data.
 In the form interface declare import/export parameters if any. Else declare the tables in tables tab button.
 In the windows and pages expand and create a table. It automatically generates header, main area and footer for the table.
 In data tab button in the table we usually declare a work area to bring the data from se38. Like: ktab into wa. ( The purpose of declaring the wa is , to get the data of the ktab in to header from the body area of the internal table).
 And in the tablepainter pushbutton in table we can have any no of line types. Depending on the requirement. ( for ex: If we want to devide a row in to 4 columns, we can devide it as 4,4,4,4cm as line type 1, And usually for the footer we dont need no of columns, So, we declare it as one column with 16cm measure with the name line type 2.). We can use these line types in the tables.
 In the header right click>>create>>tableline. It asks for line type. Select one line type which is appropriate.
 Like same create a row2 in main area using right click. If we select the line type 1, it automatically generates 4 cells. We can create text in each cell as per requirement.
 We can generate general attributes using general attributes tab button in the text. Or in the other way. We can switch on the field list on/off button from the application tool bar. It displays all the attributes in the left down corner of the screen. We can drag and drop the required fields in the general attributes tab button of the text.
 We continue the same procedure for all the texts. The texts should be displayed in the gray color. Then only it can collects the data from the abap editor fields.
 If it wont turns gray, we can check the fields in the editor by changing it to the line editor. The best thing is to drag the fields from the list, rather than declaring like &wa-matnr&
 In the footer also we create a line type and in that table line we create text.
SE38 PROGRAM(method I):
REPORT Z_CALLING_SMARTFORM2 .
tables: mara.
select-options: S_MATNR for MARA-MATNR.
DATA: kTAB LIKE MARA OCCURS 1 WITH HEADER LINE.
data: FM_NAME TYPE RS38L_FNAM.
SELECT * FROM MARA INTO TABLE kTAB WHERE MATNR in
S_MATNR.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = 'Z_MYFIRST_FORM2'
VARIANT = ' '
DIRECT_CALL = ' '
IMPORTING
FM_NAME = FM_NAME
EXCEPTIONS
NO_FORM = 1
NO_FUNCTION_MODULE = 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.
CALL FUNCTION fm_name
EXPORTING
ARCHIVE_INDEX =
ARCHIVE_INDEX_TAB =
ARCHIVE_PARAMETERS =
CONTROL_PARAMETERS =
MAIL_APPL_OBJ =
MAIL_RECIPIENT =
MAIL_SENDER =
OUTPUT_OPTIONS =
USER_SETTINGS = 'X'
IMPORTING
DOCUMENT_OUTPUT_INFO =
JOB_OUTPUT_INFO =
JOB_OUTPUT_OPTIONS =
TABLES
ktab = ktab
EXCEPTIONS
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2
SEND_ERROR = 3
USER_CANCELED = 4
OTHERS = 5
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
IN THE OTHER WAY(method II):
REPORT Z_CALLING_SMARTFORM2 .
tables: mara.
select-options: S_MATNR for MARA-MATNR.
DATA: kTAB LIKE MARA OCCURS 1 WITH HEADER LINE.
SELECT * FROM MARA INTO TABLE kTAB WHERE MATNR in S_MATNR.
CALL FUNCTION '/1BCDWB/SF00000199'
EXPORTING
ARCHIVE_INDEX =
ARCHIVE_INDEX_TAB =
ARCHIVE_PARAMETERS =
CONTROL_PARAMETERS =
MAIL_APPL_OBJ =
MAIL_RECIPIENT =
MAIL_SENDER =
OUTPUT_OPTIONS =
USER_SETTINGS = 'X'
IMPORTING
DOCUMENT_OUTPUT_INFO =
JOB_OUTPUT_INFO =
JOB_OUTPUT_OPTIONS =
TABLES
ktab = ktab
EXCEPTIONS
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2
SEND_ERROR = 3
USER_CANCELED = 4
OTHERS = 5
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
In the method I we are calling the amartform dynamically using the function module 'SSF_FUNCTION_MODULE_NAME'.
Here we are exporting form name and importing fm_name.
So we need to declare the variable fm_name as
data: FM_NAME TYPE RS38L_FNAM.
We can have the type of the fm_name in the function module 'SSF_FUNCTION_MODULE_NAME' (in the export tab button).
Since we are passin the name of the Function module generated by the smart form in to the fm_name variable. We run the function module with the name fm_name, but not the FM generated by the smartform(like /1BCDWB/SF00000199)¬¬¬¬¬¬.
In the method II we directly call the smartform generated function module (i.e, /1BCDWB/SF00000199).
But the method I is recommended. In the method I, The fm_name is a variable we dont put it in the quotes while calling.
In the both methods we declare the internal table using the like option, but not begin of . end of. And in select statement we select *, But not individual fields.
EX2:
SMART FORM NAME: ZGITI_FORM1.
SE38:
REPORT Z_CALL_GIRI_FORM1 .
TABLES: VBRK.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE T1.
SELECT-OPTIONS: S_VBELN FOR VBRK-VBELN.
SELECTION-SCREEN END OF BLOCK B1.
*INITIALIZATION.
*T1 = 'SELECTION-CRIETERIA'.
DATA: BEGIN OF I_INVOICE OCCURS 1.
INCLUDE STRUCTURE ZSTR_INVOICE.
DATA: END OF I_INVOICE.
DATA: VAR1 LIKE VBRP-NETWR.
DATA: BEGIN OF I_ADDRESS OCCURS 1.
INCLUDE STRUCTURE ZSTR_ADDRESS.
DATA: END OF I_ADDRESS.
DATA: BEGIN OF I_ORDER OCCURS 1.
INCLUDE STRUCTURE ZSTR_ORDER.
DATA: END OF I_ORDER.
DATA: BEGIN OF I_ITEM OCCURS 1.
INCLUDE STRUCTURE ZSTR_ITEM.
DATA: END OF I_ITEM.
DATA: BEGIN OF I_VBFA OCCURS 1,
VBELV LIKE VBFA-VBELV,
VBELN LIKE VBFA-VBELN,
END OF I_VBFA.
SELECT KUNAG VBELN VKORG VTWEG SPART FROM VBRK INTO TABLE I_INVOICE
WHERE VBELN IN S_VBELN.
IF I_INVOICE[] IS NOT INITIAL.
SELECT KUNNR LAND1 NAME1 NAME2 ORT01 PSTLZ REGIO FROM
KNA1 INTO CORRESPONDING FIELDS OF TABLE I_ADDRESS FOR ALL ENTRIES IN
I_INVOICE WHERE KUNNR = I_INVOICE-KUNAG.
ENDIF.
IF I_INVOICE[] IS NOT INITIAL.
SELECT VBELV VBELN FROM VBFA INTO TABLE I_VBFA FOR ALL ENTRIES IN
I_INVOICE WHERE VBELN = I_INVOICE-VBELN.
ENDIF.
IF I_VBFA[] IS NOT INITIAL.
SELECT VBELN BSTNK FROM VBAK INTO CORRESPONDING FIELDS OF TABLE I_ORDER
FOR ALL ENTRIES IN I_VBFA WHERE VBELN = I_VBFA-VBELV.
ENDIF.
IF I_INVOICE[] IS NOT INITIAL.
SELECT POSNR MATNR ARKTX FKIMG NETWR FROM VBRP INTO TABLE I_ITEM FOR ALL
ENTRIES IN I_INVOICE WHERE VBELN = I_INVOICE-VBELN.
ENDIF.
LOOP AT I_ITEM.
AT LAST.
SUM.
VAR1 = I_ITEM-NETWR.
ENDAT.
ENDLOOP.
CALL FUNCTION '/1BCDWB/SF00000223'
EXPORTING
ARCHIVE_INDEX =
ARCHIVE_INDEX_TAB =
ARCHIVE_PARAMETERS =
CONTROL_PARAMETERS =
MAIL_APPL_OBJ =
MAIL_RECIPIENT =
MAIL_SENDER =
OUTPUT_OPTIONS =
USER_SETTINGS = 'X'
var = VAR1
IMPORTING
DOCUMENT_OUTPUT_INFO =
JOB_OUTPUT_INFO =
JOB_OUTPUT_OPTIONS =
tables
i_vbrk = I_INVOICE
i_vbak = I_ORDER
i_vbrp = I_ITEM
i_kna1 = I_ADDRESS
EXCEPTIONS
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2
SEND_ERROR = 3
USER_CANCELED = 4
OTHERS = 5
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF. -
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.
-
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. -
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 -
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) -
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 -
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 -
Printing last page (Purchase order Terms) in SMARTFORMS
Dear SAP Gurus,
Our Purchasing unit would like to print purchase order terms and conditions after the end of Purchase order. Initially I had two pages (First and Next). The following are the steps I followed to print last page with Purcahsing terms.
1. Create Command line at end of Main window in First and Next page and in command line output options select Go to page as Last page.
2. Under last page, I have a secondary window which prints a text. (this is a long text and cant be printed using secondary window. I need Main window to print the text as it would be continous)
The following are the problems I am facing.
1. By placing command line at end of Main window, data in secondary window after the Main window are not printing.
2. Purchase terms Text placed in the last page under Main window is not printing. Text placed in last page under secondary window is printing but instead of 8 pages of terms text only one page is printing.
How can I handle this.
Thanks in advance.
Thanks
ShanthiHi Shanti,
From what I've understood from you post, you may try putting the command in the secondary window (which comes after the MAIN Window) of the first page. In the command give Goto Page ->NEXT.
Hope this helps.
Thanks,
Ranjith
Maybe you are looking for
-
Need to download Mac driver (OSX Mavericks) for LaserJet P1005
I am visiting a home that has a HP LaserJet P1005. I need to install the driver on my MacBook Pro Retina using OSX (the latest version: Mavericks). The owner of the printer has an install disk for the driver but these new MacBook Pros no longer ha
-
Could not save as 'x' because the file could not be found
Hi, After downloading the new version of Photoshop two days ago, I have this other problem. I'm trying to save a file 'as' something else after editing it in Camera Raw, and when I do that, I have this error message as in subject. Can anyone help me
-
Hi! Not so far I bought new iPod Classic 160BG Black. Soon, I downloaded my music library to it (30GB). I have few playlist, every playlist=one radioshow. And every playlist content few releases of the radioshow. It playing from 1 hour up to 2 hours
-
How to insert the data if the data in the two tables doesn't match.
Hi, I have requirement like,I have to insert the data by comparing the two tables based on the date field.If they both are equal then the data shouldn't be inserted if not the data has to be inserted. Can some one help me on this ASAP. Regards, Sudha
-
Cisco acs 1120 upgrade to 4.2.1.15 help
Hi All, I have cisco 1120 appliance downgrade from acs 5.0 to acs 4.2.0.124 , I need to upgrade to acs 4.2.1.15 . Does cisco 1120 acs appliance supports 4.2.1.15 , How can i upgrade to 4.2.1.15 from 4.2.0.124 . It requires any