Smartform for Ranges..
Hi ,
How to do the ranges selection for SMARTFORM..
Ex:
I am doing the Smartform for GRN.. Input is Material Document No.. I have developed with only one parameter.. Now the Client want Ranges like Selection options( LOW and HIGH values) so, How can I do this...
Thanks in Advance
Thanks n Regards,
Muralikrishna
Edited by: muralipsharma on Aug 8, 2010 10:57 PM
Hi,
Create in data dictionary a new structure has the same fields as SELOPT as below:
SIGN CHAR1
OPTION CHAR2
LOW MBLNR (has type of material document)
HIGH MBLNR (has type of material document)
After passing value to select-options, copy your select-options to table is declared in smartforms parameter. please check and reply if any issue.
regards,
Similar Messages
-
How to avoid the repeated Print window, for range printing in a smartform
Hi
I developed one smartform for the single/multiple Outbond deleviry. When I execute the query with same range then print window opened and after click print button Document priented. But when I try to execute the query with range suppose 0001 to 0003 then Print window opened and click the print the 0001 doc and again click print button for 0002 and so on.
I would like to , how we take a print on single click print button.
pls help me it's urget.
Thanks in advance
TapovardhanThanks Ravi
But after adding code this error comes.
Field "PRINT_PARAMS-NO_DIALOG" is unknown. It is neither in one of the
specified tables nor defined by a "DATA" statement. "DATA" statement.
For define the PRINT_PARAMS what would be the type.
Our code is given below.
REPORT ZTESTPCLDI.
tables : likp.
select-options : s_vbeln for likp-vbeln.
data : itab_likp type standard table of likp with header line.
DATA : FORM_NAME TYPE RS38L_FNAM.
data : print_params type SSFCTRLOP.
start-of-selection.
select * from likp into table itab_likp
where vbeln in s_vbeln.
end-of-selection.
loop at itab_likp.
if sy-tabix <> 1.
print_params-no_dialog = space.
else.
print_params-no_dialog = 'X'.
endif.
CALL FUNCTION '/1BCDWB/SF00000045'
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
wa_likp = itab_likp
EXCEPTIONS
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2
SEND_ERROR = 3
USER_CANCELED = 4
OTHERS = 5.
NEw-PAGE.
endloop.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
regards, -
Print for range of customers at a time in smartforms
hai all..
how can we get thr prints for range of customers in a smartforms.
here iam giving range of customers kunnr-low and kunnr-high.
i want the output should be prints form kunnr-low to kunnr-high.
here iam wriing the bdc fro this smartofrms to print customers.
is there any option option to print the range of customers form smartofroms at a time ...
tanx in advance.Just write the below code to print multiple customers
Loop at itab.(internal table containing the range of custiomers)
call function (function to call the smartform)
endloop.
Regards
Lalit -
How to comment in smartform for text value in abap
how to comment in smartform for text value in abap.
i want to comment text value which is coming in output
From drag and drop option i had dropped an item text in text window and now i dont want to delete it i just want to comment it so can any one help me in commenting the text value.
Advance Thanks for your helphi
open the text element in the smartform.
on the left corner, we have text editor button.
open that and change the editor (goto-->change editor)
on the new line, give the format as comment line /*. and you can write the comments as required.
such lines doesnt reflect in the output layout.
thanks
pavan -
Standard Smartform for label printing for packages - pls advice
Hi All,
I need help in changing a print program ie Standard Smartform for label printing for packages ?
Standard Driver program: SDPACKDR
Please provide me with the detailed steps for editing the Std Smartform according to any requirement.
Points will be rewarded promptly.
Thanks.hi,
1. The smartform name is SD_PACK_ETIK.
2.Just copy the standard program into Zprogram and make chanes and assign in NACE with the form.
3.But,in smartform lable printing is not possible.
4.you can print barcodes.
Regards,
Kumar(Reward if helpful). -
Error in customized smartform for goods recipt
Hi experts
I have created a customized smartform for goods recipt .
I have used form entry_we01 inside my zprogram and basically fetching the material document no from NAST-objky
The problem is when i assign my program in TXN NACE
it prevents the update of material document no MBLNR in the
MSEG table .
I get an express document as soon as I try to display the goods recipt stating " UPDATE HAS BEEN TERMINATED".
and although material document has been generated it is not updated in the MSEG table.
By the way this error does not happen when i use the standard driver program and standard form (SAPSCRIPT).
Please suggest a solutionHi,
Your problem may not be related with what you done in NACE.......Check for any other recent changes made in the System... -
Smartform for sales tax summary report
Hi all!
Is there a smartform for the Austrian sales tax summary report available? I have not found any hints At the moment, we "just" use a SAP-SCRIPT printout. Thank's for your help!
Regards
MARTIN JAGERSBERGERHi Arvind,
Check /people/navneet.dhami/blog/2010/11/04/some-useful-sql-scripts link and modify the query as per your requirement.
Thanks,
Neetu -
Printing smartform for multiple customers
Hi Experts,
can anybody send me the code for printing the smartform for multiple customers, i need print the customer data by pagewise means in selection screes if user enter multiple customers ,i need to print by each customer, if customer 1 is different from customer 2 need to start in new page .
pls guide........
thanks in advance.Hi,
You can handle it in your form by checking the customer.
Write code in your main window there you check the present customer with previous one. if not equal then trigger the next page
Regards
SHiva -
Custom SmartForm for Purchase Order Printing
Hi,
I need a customized smartform for purchase order, which is called after the standard transaction ME9F.
I adjusted "Conditions for Output Control" by using transaction NACE ( Erased the name of the form MEDRUCK, Entered my customized smartform's name under smartform Form part and chose the type as smartform )
However, I couldn't success to see my printview whereas I continued to see the printview of Medruck.
I'd searched for the problem through here and the net, I found some names of smartforms such as: /SMB40/MMPO_L and /SMB40/MMPO_A and their driver programs like: /SMB40/FM06P . The package which consists of these elements was mentioned as " /SMB40/ "... but despite I downloaded it, my system still doesn't have the elements.
So, how can I use my own purchase order smartform or if i need the forms mentioned, in which best practice package i can find them?
SAP ECC 6.0
SAP_APPL 604
SAP_BASIS 701
Thanks in advance,Hi,
If your SAP doesnt have a standard smartform for PO, it is quite complicated to use smarform rather than sapscript.
I guess that you will need to modify the program SAPFM06P that calls the sapscript and make it call the smartform.
I will take a few time to adapt the sapscript.
Regards
Miguel -
Standard SMARTFORM for Check Printing/ Payment Advice
Hi All,
I have one important question...
Standard <b>Script</b> Check Print Program = <b>RFFOUS_C</b>
Standart Script Layout Name = F110_PRENUM_CHCK
& F110_D_AVIS
We have to modify it as per client requirment.
But I want to know the <b>Standard SMARTFORM & Standard Smartform driver Program for CHECH printing & payment advice ?????????????</b>
Is there no Smartform for check printing or if exist then please guide me?????????????????hi umesh,
1)anyone can help me,while extending idoc,i added one segment to idoc by extending debmas.that segment has two fields.while populating data to idoc,i am getting problem like VSV0001.exit is not allowing me to write the code.
plz anyone can help me on this issue.if you did't understand this problem plz tell me how to extend the idoc.more concentration on while populating the data in to idoc.like which function module i have to use.in customer master idoc.debmas.i am new to this environment.plz help me.like complet work till completion of task.
2)and my next assignment is in smartforms.plz let me know .i was created the screen.according to that screen.i have to make print program.plz tell me how to give the text elements.
like we have given in scripts, page window and then F9 to give the text elements.and make the program.like that any one can tell me clearly.how to make the complete smartforms programs.
plz this requirement is very very urgent,plz could you send it for my [email protected]
advance thanks for your help.
thansk®ards,
radhiks. -
Use ZBBP_PO smartform for PO printing in SUS
Hi Gurus,
Is it possible to use the SRM PO smartform for output in SUS?
That is, if the vendor prints the PO form in SUS, is it possible to call the smartform ZBBP_PO instead of ZBBP_SUSPO?
Would really appreciate any help.
Regards,
KeziaHi,
For SUS for any Output you can use the BADI BBP_SUS_DOWNLD_FILES for printing.
Just check following help
Use
You can use this Business Add-in (BAdI) to specify file names and folders that differ from those used in the standard system for downloading documents. You can also specify the XSLT program the system uses for converting from XML to CSV, as well as the form the system uses for printing documents.
Standard settings
SAP does not deliver a standard implementation for this BAdI. If there is no active implementation, the system uses the following:
File name for:
o Purchase order: PO_<purchase order number>
o Confirmation: CONF_<Confirmation number>
o Shipping notification: ASN_<shipping notification number>
o Invoice: INV_<invoice number>
XSLT program for:
o Purchase order: BBP_SUS_XML2CSV_ORDER
o Confirmation: BBP_SUS_XML2CSV_CONF
o Shipping notification: BBP_SUS_XML2CSV_ASN
o Invoice: BBP_SUS_XML2CSV_INV
Output form for:
o Purchase order: BBP_SUSPO
o Confirmation: BBP_SUSCONF
o Shipping notification: BBP_SUSASN
o Invoice: BBP_SUSINV
The BAdI provides the FILES_MODIFY method with the following parameters:
Importing
IV_OBJTYPE Document type (purchase order or invoice)
IV_OBJID Document number
Changing
EV_XML_FNAME XML file name
EV_CSV_FNAME CSV file name
EV_PDF_FNAME PDF file name
EV_REL_DIR relative folder
EV_XSLT_PNAME XSLT program
EV_SMARTFORM output form
Activities
If you want to use file names or forms that differ from the standard system, implement the BAdI and activate the implementation.
Example
include BBP_PD_CON_CL.
CASE iv_objtype.
Order
WHEN c_suspo.
ev_xslt_pname = 'YOUR_ENTRY'.
ev_xml_fname = 'YOUR_ENTRY'.
ASN
WHEN c_susasn.
ev_xslt_pname = 'YOUR_ENTRY'
INVOICE
WHEN c_susinv.
ev_smartform = 'YOUR_ENTRY'.
CONFIRMATION
WHEN c_suscf.
ev_xslt_pname = 'YOUR_ENTRY'.
ENDCASE.
See these related threads:
Smartform for SUS PO
Re: MODIFICATION IN OUT PUT (pdf) OF SUS PO
You need to implement the above mentioned BADI to call another Form(other then the std ).
BR,
Deepti.. -
I have creatd smartform for vendor return invoice and i m using std zprog o
i have creatd smartform for vendor return invoice and i m using std zprog of other client and corresponding prog.. when i run this program using .....after creating transc in se93. is it not workin ..
where should i check for error and i am not getting selection screen in se38 program which i am using with this smartform..
can u tel me step wise....what is the procedure so i can run and execute and see my output..
please
regards.Hi,
when you run program from SE38 are you able to see the selection screen and able to exucute with out error....
And when you run the t-code which you created for your Z-prog whats the message its giving...
Regards,
Shankar. -
How does the CBO calculate the selectivity for range predicates on ROWID ?
Hi all,
I'm wondering how the CBO estimate the selectivity for range predicates based on ROWID columns.
For example, for the following query the CBO estimates there's going to be 35004 rows returned instead of 7:
SQL> SELECT count(*)
FROM intsfi i
WHERE
ROWID>='AAADxyAAWAAHDLIAAB' AND ROWID<='AAADxyAAWAAHDLIAAH'; 2 3 4
COUNT(*)
7
Elapsed: 00:00:02.31
SQL> select * from table(dbms_xplan.display_cursor(null,null,'iostats last'));
PLAN_TABLE_OUTPUT
SQL_ID aqbdu2p2t6w0z, child number 1
SELECT count(*) FROM intsfi i WHERE ROWID>='AAADxyAAWAAHDLIAAB' AND
ROWID<='AAADxyAAWAAHDLIAAH'
Plan hash value: 1610739540
| Id | Operation | Name | Starts | E-Rows | A-Rows | A-Time | Buffers |
| 0 | SELECT STATEMENT | | 1 | | 1 |00:00:02.31 | 68351 |
| 1 | SORT AGGREGATE | | 1 | 1 | 1 |00:00:02.31 | 68351 |
|* 2 | INDEX FAST FULL SCAN| INTSFI2 | 1 | 35004 | 7 |00:00:02.31 | 68351 |
Predicate Information (identified by operation id):
2 - filter((ROWID>='AAADxyAAWAAHDLIAAB' AND ROWID<='AAADxyAAWAAHDLIAAH'))According to Jonathan Lewis' book, for a normal column the selectivity would have been:
(value_column1-value_column2)/(high_value-low_value)+1/num_distinct+1/num_distinct
But here with the ROWID column, how does the CBO make its computation ?
SINGLE TABLE ACCESS PATH
Single Table Cardinality Estimation for INTSFI[I]
Table: INTSFI Alias: I
Card: Original: 14001681.000000 Rounded: 35004 Computed: 35004.20 Non Adjusted: 35004.20Hi Jonathan,
Some Clarifications
=============
DELETE /*+ ROWID(I) */ FROM INTSFI I WHERE
(I.DAVAL<=TO_DATE('12032008','DDMMYYYY') AND (EXISTS(SELECT 1 FROM
INTSFI S WHERE S.COINT=I.COINT AND S.NUCPT=I.NUCPT AND S.CTSIT=I.CTSIT
AND NVL(S.RGCID,-1)=NVL(I.RGCID,-1) AND S.CODEV=I.CODEV AND
S.COMAR=I.COMAR AND S.DAVAL>I.DAVAL) AND I.COMAR IN (SELECT P.COMAR
FROM PURMAR P WHERE P.NUPUR=1))) AND ROWID>='AAADxyAAWAAHDLIAAB' AND
ROWID<='AAADxyAAWAAHDLIAAH'
Plan hash value: 1677274993
| Id | Operation | Name | Starts | E-Rows | A-Rows | A-Time | Buffers | OMem | 1Mem | Used-Mem |
| 0 | DELETE STATEMENT | | 1 | | 0 |00:00:05.94 | 53247 | | | |
| 1 | DELETE | INTSFI | 1 | | 0 |00:00:05.94 | 53247 | | | |
|* 2 | HASH JOIN SEMI | | 1 | 9226 | 7 |00:00:05.94 | 53180 | 783K| 783K| 471K (0)|
| 3 | NESTED LOOPS | | 1 | 9226 | 7 |00:00:00.01 | 10 | | | |
|* 4 | TABLE ACCESS BY ROWID RANGE| INTSFI | 1 | 9226 | 7 |00:00:00.01 | 6 | | | |
|* 5 | INDEX UNIQUE SCAN | PURMAR1 | 7 | 1 | 7 |00:00:00.01 | 4 | | | |
| 6 | INDEX FAST FULL SCAN | INTSFI1 | 1 | 14M| 7543K|00:00:01.73 | 53170 | | | |
Predicate Information (identified by operation id):
2 - access("S"."COINT"="I"."COINT" AND "S"."NUCPT"="I"."NUCPT" AND "S"."CTSIT"="I"."CTSIT" AND
NVL("S"."RGCID",(-1))=NVL("I"."RGCID",(-1)) AND "S"."CODEV"="I"."CODEV" AND "S"."COMAR"="I"."COMAR")
filter("S"."DAVAL">"I"."DAVAL")
4 - access(ROWID>='AAADxyAAWAAHDLIAAB' AND ROWID<='AAADxyAAWAAHDLIAAH')
filter("I"."DAVAL"<=TO_DATE(' 2008-03-12 00:00:00', 'syyyy-mm-dd hh24:mi:ss'))
5 - access("P"."NUPUR"=1 AND "I"."COMAR"="P"."COMAR")
When I force the NESTED LOOP SEMI JOIN the query runs faster:
DELETE /*+ ROWID(I) */ FROM INTSFI I WHERE
(I.DAVAL<=TO_DATE('12032008','DDMMYYYY') AND (EXISTS(SELECT /*+ NL_SJ
*/ 1 FROM INTSFI S WHERE S.COINT=I.COINT AND S.NUCPT=I.NUCPT AND
S.CTSIT=I.CTSIT AND NVL(S.RGCID,-1)=NVL(I.RGCID,-1) AND S.CODEV=I.CODEV
AND S.COMAR=I.COMAR AND S.DAVAL>I.DAVAL) AND I.COMAR IN (SELECT P.COMAR
FROM PURMAR P WHERE P.NUPUR=1))) AND ROWID>='AAADxyAAWAAHDLIAAB' AND
ROWID<='AAADxyAAWAAHDLIAAH'
Plan hash value: 2031485112
| Id | Operation | Name | Starts | E-Rows | A-Rows | A-Time | Buffers |
| 0 | DELETE STATEMENT | | 1 | | 0 |00:00:00.01 | 94 |
| 1 | DELETE | INTSFI | 1 | | 0 |00:00:00.01 | 94 |
| 2 | NESTED LOOPS SEMI | | 1 | 9226 | 7 |00:00:00.01 | 27 |
| 3 | NESTED LOOPS | | 1 | 9226 | 7 |00:00:00.01 | 9 |
|* 4 | TABLE ACCESS BY ROWID RANGE| INTSFI | 1 | 9226 | 7 |00:00:00.01 | 5 |
|* 5 | INDEX UNIQUE SCAN | PURMAR1 | 7 | 1 | 7 |00:00:00.01 | 4 |
|* 6 | INDEX RANGE SCAN | INTSFI1 | 7 | 14M| 7 |00:00:00.01 | 18 |
Predicate Information (identified by operation id):
4 - access(ROWID>='AAADxyAAWAAHDLIAAB' AND ROWID<='AAADxyAAWAAHDLIAAH')
filter("I"."DAVAL"<=TO_DATE(' 2008-03-12 00:00:00', 'syyyy-mm-dd hh24:mi:ss'))
5 - access("P"."NUPUR"=1 AND "I"."COMAR"="P"."COMAR")
6 - access("S"."COINT"="I"."COINT" AND "S"."NUCPT"="I"."NUCPT" AND
"S"."CTSIT"="I"."CTSIT" AND "S"."CODEV"="I"."CODEV" AND "S"."COMAR"="I"."COMAR" AND
"S"."DAVAL">"I"."DAVAL")
filter(NVL("S"."RGCID",(-1))=NVL("I"."RGCID",(-1)))the above post is from Ahmed AANGOUR
Case 1 - . If you check Plan hash value: 16772749938
=====
TABLE ACCESS BY ROWID RANGE| INTSFI For every row access from INTSFI - it fetches a record from INDEX UNIQUE SCAN | PURMAR1
If we check A-rows = 9226
9226 * 7 = 64582 request across the table - perhaps with hint of rowid it fetches exact rows from PURMAR1
in this case i think going for hash join with ordered hints (jonathan as you suggest go for leading hint's instead of ordered) - from INTSFI - PURMAR1 - instead of going for IN clause would get the rows that satifies the ("P"."NUPUR"=1 AND "I"."COMAR"="P"."COMAR")
|* 2 | HASH JOIN SEMI | | 1 | 9226 | 7 |00:00:05.94 | 53180 | 783K| 783K| 471K (0)|
| 3 | NESTED LOOPS | | 1 | 9226 | 7 |00:00:00.01 | 10 | | | |
|* 4 | TABLE ACCESS BY ROWID RANGE| INTSFI | 1 | 9226 | 7 |00:00:00.01 | 6 | | | |
|* 5 | INDEX UNIQUE SCAN | PURMAR1 | 7 | 1 | 7 |00:00:00.01 | 4 | | | |My understanding with above plan would change to
HASH JOIN
TABLE ACCESS BY ROWID RANGE| INTSFI
INDEX UNIQUE SCAN | PURMAR1
HASH JOIN
INDEX FAST FULL SCAN | INTSFI1
Which migt be feasible.
2 .
DELETE /*+ ROWID(I) */ FROM INTSFI I WHERE
(I.DAVAL<=TO_DATE('12032008','DDMMYYYY') AND (EXISTS(SELECT /*+ NL_SJ
*/ 1 FROM INTSFI S WHERE S.COINT=I.COINT AND S.NUCPT=I.NUCPT AND
S.CTSIT=I.CTSIT AND NVL(S.RGCID,-1)=NVL(I.RGCID,-1) AND S.CODEV=I.CODEV
AND S.COMAR=I.COMAR AND S.DAVAL>I.DAVAL) AND I.COMAR IN (SELECT P.COMAR
FROM PURMAR P WHERE P.NUPUR=1))) AND ROWID>='AAADxyAAWAAHDLIAAB' AND
ROWID<='AAADxyAAWAAHDLIAAH'Ahmed AANGOUR, modified the query by /*+ NL_SJ */ hint, Instead of that in to remove the most of the rows as we join the tables using subquery, I still doubt it
to go push_predicate hints - still doubt it.
Jonathan your comments are most valuable in the above two cases..
Looking forward to calrify my understanding with concepts of indexes for above test cases
- Pavan Kumar N -
Searching AW database for range of dates in AW 6.2.4
I can no longer use my Microsoftworks 4 on eMac since doing a clean install of OS 10.4.11. Prior to that it worked fine in Classic mode. I copied Works folder from old Mac 6500 via home network using ethernet connection to router. Setup program became corrupted when copying from Mac 6500 to eMac, so now unable to use MSWorks. Database was pure simplicity for copying individual fields to next record, searching for range of dates, and matching records with partial string using "contains" function.
Now using AW 6.2.4 which is more powerful but not as simple to use. Is it possible to do any of those tasks in AW? If so, how?1) copying data into a field in a record from the corresponding field in the preceding record
Not automatic, but no more complicated than copying the information from the first record, then command-down and command-V; command-down and command-V; command-down and command-V; etc.
2) matching records containing partial string
If the partial string is expected in a particular field, use the "Match Records..." dialog from the Organize menu. Looking for records containing the word, "hoopla" in the field named "event", enter the following command: FIND("oop",'event',1)
-- Note single quotes around the fieldname, and double quotes around text to be found. -- Search multiple fields by imbedding multiple FIND statements in an OR statement. -
Calling smartform for PO from ME22n
Hi all,
I had created a smartform for PO and print program for the same.
My requirment is that I want to call the PO smartform from ME22n and all the details ie PO number,supplying plant,doc date, PO qty etc will be displayed on the smartform but I am not getting that.
I had gone to Tcode NACE and in the processing routine of output type ie NEU I had entered the Form name and printprogram.But I am not aware of form routine whether I ve to write separate Form Routine for the driver program.
Pls tell me the necessity of form routine here.
Pls experts its an urgent requirement and help me out regarding the same.
I will reward points for the same.
With regards,
Abir.The routine name is the the soubroutine in your print program.
For eg in Script:
If your print prog starts as
FORM entry USING return_code us_screen.
CLEAR retcode.
xscreen = us_screen.
PERFORM processing.
IF retcode NE 0.
return_code = 1.
ELSE.
return_code = 0.
ENDIF.
ENDFORM.
Then "entry" will be the routine you are looking out for.
Message was edited by: vinodh balasubramaniam
Maybe you are looking for
-
Clearing Filter criteria in ADF Rich Table
How to clear criterias in filters of ADFRichTable. I am using Jdeveloper 11g with latest patchset of ADfFaces 11.1.1.3.x
-
Displaying Plant dynamically in PI sheet
Hi, I am working on displaying Plant dynamically in PI sheet. In teh SAP provided header, Plant is fixed value. I am working on creating process instruction for displaying plant dynamically depending on teh process order. I dont see a characteristic
-
After buying a new Mac Book pro today why can't I get to the mountain lion update page
I bought a new Macbok pro today. Was suppose to go to www.apple.com/osx/update to get a free mountain lion updatre. Its not hapening. anyone know whats up
-
Can I use photoshop elements 11 or 12 on windows 8?
Can I use Photoshop elements 11 or 12 with Windows 8?
-
Library doesn't work as it should
A few days ago I wanted to build and install SFML on my fresh Arch Linux, so I downloaded the source from the github page, installed a few dependencies and built it with Cmake. I installed the library at /usr/local. After I compiled a simple program