Procedure for sending equipment in an Exibition
Dear Sir,
We are manufacturer of machines . We have a scenario where we need to send out 1 Machine to some exibition for 15 days and subsequently this machine will come back to us .
The machine can be sent out only against the Excise Invoice .
Kindly guide us as what steps need to be followed to address this scenario pl .
Rgds
Sonia
Check this WIKI
[Consignment Process |http://wiki.sdn.sap.com/wiki/display/ERPLO/Consignment+Process]
thanks
G. Lakshmipathi
Similar Messages
-
Process for sending equipment for Repair to the vendor
Hi,
My scenario is as below:
1) Equipment is created without Material / Serial no.
2) Equipment has to be sent for repair to the same vendor from whom it has been procured.
Please let me know the standard process followed in this case. Need process for both indegeneous material and Imported material.
Please check and suggest.
Regards,
Deepadeepa the process for sending equipment (material) to vendor in foreign country
follow the below step
Refurbishment order (standard order type PM04) and process it as an external service using Operations control key PM02. Here is the process
1. Create Refurbishment order for the material
2. Create operations (PM02) for external processing. PReq will be generated once the order is released
3. Send out the material to vendor for repair
4. GR/IR upon receipt of the material from vendor
5. Receive material back to storeroom (IW8W)
6. Order settlement to material -
Procedure for sending captital goods to vendor with excise challan
Dear All,
Need your help on the following issue.
We are having an oven in the shop floor (Capital Goods) which we need to send out of the factory to vendor site against excise challan for some upgradation.
Can you suggest the procedure for the same in SAP ?
Thanks in advance.
Regards
Ratna2 options
Equipment can be sent against:
u2022 4(5) excise challan: Components will be sent against 57F4 challan and material will be received in factory within 180 days from subcontractor.
u2022 Payment of duty: Outgoing excise invoice has to be prepared for components to be sent.
(RG23C-out) Value in outgoing excise invoice will be taken from latest incoming excise invoice value. System does not capture value automatically. User has to enter the value.
while return machine should be taken in against an Incoming GR
Hope this helps
Regards
Dheeraj -
Procedure for Sending Emails with Attachments
Hi All,
Q1. We wish to write a PROCEDURE that sends emails with attachments in SQL. Can someone please suggest the procedure code for the same?
Q2. Apart from DBMS_JOB utlity can any other this procedure be scheduled to send automatic emails picking up files from a remote filer randomly.
Regards,
Chinmayhttp://www.lv2000.com/articles/utlsmtp.htm
I do not understand what the article is trying to say when it says this:
<quote>
1. You cannot send a Subject line with your email.
2. You cannot add attachments to your message.
Hopefully, these two deficiencies will be rectified in future releases!
</quote>
The entire email sending code with attachments is freely available from Oracle (sitting on top of utl_smtp package). No need to buy additional software. -
Process for sending equipment during calibration
Hi Experts,
when i send an equipment( ex: vernier) for a third party vendor for calibration, in purchase order, there is no material displayed since the item category is " D"(service). Now i have one doubt.
How to send the equipment for calibration and at the same time in sap, there should be some transaction/document so as to send/receive the equipment for calibration. Any suggestions .Hi Nandi,
Being from the business side I would suggest that rather then considering this process as the Calibration Process, please consider it as a Simple Sub-Contracting Process.
in which the material that you are sending, will be coming back to you, That is the Re-Work Material.
You can issue the Serialized Material(With Equipment) to the vendor via 541 Mvt Type and do simple GR with 101 Mvt type and pay the vendor for the services.
You can generate the Sub-Contracting PR from the Maintenance order Only, and then create the PO for the PR.
Hope it helps you.
Rgeards,
yawar Khan -
I created a stored procedure for send data from a source bd to the bd destination with a link between BD
But it will not work
CREATE OR REPLACE PROCEDURE archivage ( source IN VARCHAR2, destination IN VARCHAR2)
BEGIN
/ * - Prepare a cursor to select from the bd_source: * /
source_cursor: = dbms_sql.open_cursor;
DBMS_SQL.PARSE (source_cursor,
'SELECT table_name FROM dba_tables' | | source,DBMS_SQL.NATIVE);
LOOP i in source_cursor
/* Or i use this !!!!
SELECT object_name FROM dba_objects WHERE owner = 'SCOTT' AND object_type = 'TABLE'*/
DBMS_SQL.DEFINE_COLUMN (source_cursor, i);
end loop
ignorer: DBMS_SQL.EXECUTE = (source_cursor);
/ * - Prepare a cursor to insert into the destination db: * /
destination_cursor: = DBMS_SQL.OPEN_CURSOR;
DBMS_SQL.PARSE (destination_cursor,
'INSERT INTO' | | destination | | DBMS_SQL.NATIVE);
/ * - Fetch a row from the source table and insert it into the destination table: * /
loop
if DBMS_SQL.FETCH_ROWS (source_cursor)> 0 ALORS
- Obtenir des valeurs de colonne de la ligne
DBMS_SQL.COLUMN_VALUE (source_cursor,i);
DBMS_SQL.BIND_VARIABLE (destination_cursor,i);
ignorer: DBMS_SQL.EXECUTE = (destination_cursor);
ELSE
EXIT;
End If;
END LOOP;
/*-Close cursor */
COMMIT;
DBMS_SQL.CLOSE_CURSOR (source_cursor);
DBMS_SQL.CLOSE_CURSOR (destination_cursor);
EXCEPTION
WHEN OTHERS, THEN
if
DBMS_SQL.IS_OPEN (source_cursor)then
DBMS_SQL.CLOSE_CURSOR (source_cursor);
End If;
if DBMS_SQL.IS_OPEN (destination_cursor) then
DBMS_SQL.CLOSE_CURSOR (destination_cursor);
End If;
RAISE;
END;find 10 differences ... :(
CREATE OR REPLACE PROCEDURE archivage (source IN VARCHAR2,
destination IN VARCHAR2)
IS
source_cursor INTEGER;
destination_cursor INTEGER;
ignorer INTEGER;
BEGIN
/* - Prepare a cursor to select from the bd_source: */
source_cursor := DBMS_SQL.open_cursor;
DBMS_SQL.
PARSE (source_cursor,
'SELECT table_name FROM dba_tables' || source,
DBMS_SQL.NATIVE);
FOR i IN source_cursor
LOOP
/* Or i use this !!!!
SELECT object_name FROM dba_objects WHERE owner = 'SCOTT' AND object_type = 'TABLE'*/
DBMS_SQL.DEFINE_COLUMN (source_cursor, i);
END LOOP;
ignorer := DBMS_SQL.EXECUTE (source_cursor);
/* - Prepare a cursor to insert into the destination db: */
destination_cursor := DBMS_SQL.OPEN_CURSOR;
DBMS_SQL.
PARSE (destination_cursor,
'INSERT INTO ' || destination,
DBMS_SQL.NATIVE);
/* - Fetch a row from the source table and insert it into the destination table: */
LOOP
IF DBMS_SQL.FETCH_ROWS (source_cursor) > 0
THEN
--ALORS
-- Obtenir des valeurs de colonne de la ligne
DBMS_SQL.COLUMN_VALUE (source_cursor, i);
DBMS_SQL.BIND_VARIABLE (destination_cursor, i);
ignorer := DBMS_SQL.EXECUTE (destination_cursor);
ELSE
EXIT;
END IF;
END LOOP;
/*-Close cursor */
COMMIT;
DBMS_SQL.CLOSE_CURSOR (source_cursor);
DBMS_SQL.CLOSE_CURSOR (destination_cursor);
EXCEPTION
WHEN OTHERS
THEN
IF DBMS_SQL.IS_OPEN (source_cursor)
THEN
DBMS_SQL.CLOSE_CURSOR (source_cursor);
END IF;
IF DBMS_SQL.IS_OPEN (destination_cursor)
THEN
DBMS_SQL.CLOSE_CURSOR (destination_cursor);
END IF;
RAISE;
END;
/ -
Hi
I have written a procedure for send an email notification to others.(within org). procedure successfully compiled. When I execute this procedure..I am getting email like this...!!! Every thing coming in the subject line only. Please advise..!!
test From: [email protected]: 15-DEC-2011 02:06:29To:
[email protected] Hi Rekha
test -- subject
Hi Rekha -- body
CREATE OR REPLACE
PROCEDURE xxgw_email_notf(p_mail_subject IN VARCHAR2,
p_mail_bdy IN VARCHAR2,
p_mail_body in varchar2,
p_from_email in varchar2,
p_to_email in varchar2)
is
L_MAILHOST varchar2(64) := 'something.local'; -- for security purpose I have given like this.
L_FROM varchar2(64) := P_FROM_EMAIL;
l_to VARCHAR2(64) := p_to_email;
l_mail_conn UTL_SMTP.connection;
--l_subject VARCHAR2(100);
begin
l_mail_conn := UTL_SMTP.open_connection(l_mailhost, 25);
UTL_SMTP.helo(l_mail_conn, l_mailhost);
UTL_SMTP.mail(l_mail_conn, l_from);
UTL_SMTP.RCPT(L_MAIL_CONN, L_TO);
--UTL_SMTP.data(L_MAIL_CONN,'Hi Testing');
--UTL_SMTP.DATA(L_MAIL_CONN,'Sahithya Just test now');
UTL_SMTP.OPEN_DATA(L_MAIL_CONN);
--UTL_SMTP.WRITE_DATA(L_MAIL_CONN, 'Subject: '||P_MAIL_SUBJECT||CHR(13));
--UTL_SMTP.WRITE_DATA(L_MAIL_CONN, 'From: '||P_FROM_EMAIL||CHR(13) );
--UTL_SMTP.WRITE_DATA(L_MAIL_CONN, 'Date: ' || TO_CHAR(sysdate, 'DD-MON-YYYY HH24:MI:SS')|| Chr(13));
--UTL_SMTP.WRITE_DATA(L_MAIL_CONN, 'To: '||P_TO_EMAIL||CHR(13) );
--UTL_SMTP.WRITE_DATA(L_MAIL_CONN, ''||CHR(13));
UTL_SMTP.WRITE_DATA(L_MAIL_CONN, P_MAIL_BDY||CHR(13) );
UTL_SMTP.write_data(l_mail_conn, p_mail_body||Chr(13) );
UTL_SMTP.close_data(l_mail_conn);
UTL_SMTP.quit(l_mail_conn);
EXCEPTION
WHEN utl_smtp.PERMANENT_ERROR THEN
fnd_file.put_line(fnd_file.log,'Permanent Server Error');
dbms_output.put_line('Permanent Server Error');
WHEN UTL_SMTP.TRANSIENT_ERROR THEN
fnd_file.put_line(fnd_file.log,'Transient Server Error');
dbms_output.put_line('Transient Server Error');
WHEN UTL_SMTP.INVALID_OPERATION THEN
FND_FILE.PUT_LINE(FND_FILE.log,'Operation is invalid');
DBMS_OUTPUT.PUT_LINE('Operation is invalid');
end xxgw_email_notf;Please advise me where I did mistake..!!!
Regards
SaHua Min,
No offence, but can you please stop posting everything in blue Times New Roman font, especially when it's code, as it makes things difficult to read (especially on some browsers)
Please read {message:id=9360002} and post code/data using the appropriate {noformat}{noformat} tags. -
Using a stored procedure for a sender jdbc adapter
Hi all,
The requirement is to use a stored procedure, for extracting data from a oracle database.
Is it possible to do this.
If yes, what should be the source structure in this case.
Please help with the exact soln.
Thanks!!
YounusHi,
Did you check the blog pointed by Aamir?
/people/jegathees.waran/blog/2007/03/02/oracle-table-functions-and-jdbc-sender-adapter
You will need to use Oracle Functions instead of Oracle Stored Procedures. Read thru the blog and the note pointed in the blog . Think it is quite a good example.
Regards
Bhavesh -
Can any one send procedure for integration between XI and Geographic inform
can any one send procedure for integration between XI and Geographic information System(GIS).
Please clarify ASAP..
ThanksHi,
Please see the below links
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d53af8ca-0801-0010-08b0-dce9e02130a8
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/d53af8ca-0801-0010-08b0-dce9e02130a8
GIS VS XI
Regards
Chilla..
Points rewarded if it is usefull..<i></i> -
Procedure for inwarding and sending materials if i am a sub-contractor
Dear friends,
We are doing job work for our customers. They are also having SAP, so that they are sending the child material through MB1B - 541 mov and receiving the finished goods throug GR against the PO placed on us.
Now my query is how can i inward the child material inside of our organization and how can i send the finished part to my customer.
Inward the chils part > Converting to finished part (Activity to be captured)> Send it to customer through invoice.
What is the SAP standard procedure for the above process..
Kindly send the actual procedures and what is process you are following to do sub-contracting operations for customers.
Regards,
M.Selvaganesh,Is your system is also SAP.?
When you receive components in system, you need to take to your stock, may be same material no. or different as per your wish.
Here actually the components are logically stays with the owner as Subcontractors place.
Upon receipt of finished good, it will be consumed.
So both are stand alone system. -
Pls Send me Step by Step procedure for a Smartforms
hi all ,
pls send me Step by step procedure for a Smartform creation or PPT to This Email id : [removed by moderator]
thanks in advance
rgds
rafi.vhi mahammad rafi,
u can read this,
smart forms
Introduction to SAP SmartForms
What is SAP Smart Forms?
SAP Smart Forms is introduced in SAP Basis Release 4.6C as the tool for creating and maintaining forms.
SAP Smart Forms allow you to execute simple modifications to the form and in the form logic by using simple graphical tools; in 90% of all
cases, this won't include any programming effort. Thus, a power user without any programming knowledge can
configure forms with data from an SAP System for the relevant business processes.
To print a form, you need a program for data retrieval and a Smart Form that contains the entire from logic. As data retrieval and form logic
are separated, you must only adapt the Smart Form if changes to the form logic are necessary. The application program passes the data via
a function module interface to the Smart Form. When activating the Smart Form, the system automatically generates a function module. At
runtime, the system processes this function module.
You can insert static and dynamic tables. This includes line feeds in individual table cells, triggering events for table headings and subtotals,
and sorting data before output.
You can check individual nodes as well as the entire form and find any existing errors in the tree structure. The data flow analysis checks
whether all fields (variables) have a defined value at the moment they are displayed.
SAP Smart Forms allow you to include graphics, which you can display either as part of the form or as background graphics. You use
background graphics to copy the layout of an existing (scanned) form or to lend forms a company-specific look. During printout, you can
suppress the background graphic, if desired.
SAP Smart Forms also support postage optimizing.
Also read SAP Note No. 168368 - Smart Forms: New form tool in Release 4.6C
What Transaction to start SAP Smart Forms?
Execute transaction SMARTFORMS to start SAP Smart Forms.
Key Benefits of SAP Smart Forms:
SAP Smart Forms allows you to reduce considerably the implementation costs of mySAP.com solutions since forms can be adjusted in
minimum time.
You design a form using the graphical Form Painter and the graphical Table Painter. The form logic is represented by a hierarchy structure
(tree structure) that consists of individual nodes, such as nodes for global settings, nodes for texts, nodes for output tables, or nodes for
graphics.
To make changes, use Drag & Drop, Copy & Paste, and select different attributes.
These actions do not include writing of coding lines or using a Script language.
Using your form description maintained in the Form Builder, Smart Forms generates a function module that encapsulates layout, content
and form logic. So you do not need a group of function modules to print a form, but only one.
For Web publishing, the system provides a generated XML output of the processed form.
Smart Forms provides a data stream called XML for Smart Forms (XSF) to allow the use of 3rd party printing tools. XSF passes form content
from R/3 to an external product without passing any layout information about the Smart Form.
Advantages of SAP Smart Forms
SAP Smart Forms have the following advantages:
1. The adaption of forms is supported to a large extent by graphic tools for layout and logic, so that no programming knowledge is
necessary (at least 90% of all adjustments). Therefore, power user forms can also make configurations for your business processes with
data from an SAP system. Consultants are only required in special cases.
2. Displaying table structures (dynamic framing of texts)
3. Output of background graphics, for form design in particular the use of templates which were scanned.
4. Colored output of texts
5. User-friendly and integrated Form Painter for the graphical design of forms
6. Graphical Table Painter for drawing tables
7. Reusing Font and paragraph formats in forms (Smart Styles)
8. Data interface in XML format (XML for Smart Forms, in short XSF)
9. Form translation is supported by standard translation tools
10. Flexible reuse of text modules
11. HTML output of forms (Basis release 6.10)
12. Interactive Web forms with input fields, pushbuttons, radio buttons, etc. (Basis-Release 6.10)
A Simple Smartform Tutorial
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.
Additional Fonts for your SMARTFORMS
You can create additional fonts and style with transaction SMARTSTYLES
This can then be define in the paragraph and character formats, which you can then be assign to texts and fields in the Smart Form.
The character formats includes effects such as superscript, subscript, barcode and font attributes.
Difference with SMARTFORMS vs. SapScript(SE71)
The Following are the differences :-
a) Multiple page formats are possible in smartforms which is not the case in SAPScripts
b) It is possible to have a smartform without a main window .
c) Labels cannot be created in smartforms.
d) Routines can be written in smartforms tool.
e) Smartforms generates a function module when activated.
Contributed by : SAP ABAP/4 Programming, Basis Administration, Configuration Hints and Tips
f) Unlike sapscripts (RSTXSCRP), you cannot upload/download Smartform to your local harddisk.
It was said that it was provided in CRM 3.0 version, but not available in R/3. You can download smartforms into Local PC in a XML format.
In the same way you can upload this XML format into Smartform. From the smartform editor itself you can call download option, if you are
working in CRM 3.0 environment.
In R3 also, you can download into XML format. However, it's not sure about uploading. Refer to the program 'SF_XSF_DEMO'.
In 4.7 Enterprise, other have seen this utlity which is completey missing in 4.6c. There is functionality to downlaod a complete form or only a
particular node. (Utilities -> Download form). It will create a XML file and save it in the hard disk.
For others, if you want to download/upload the Smartforms source, you will need the help from the Basis people. What you can do is to
create a Transport and then FTP down to your local harddisk. When you need the Smartform source in another system, you have FTP up
the Smartforms file back to the SAP server. Finally, the Basis team, will tp it into your system.
g) The protect and endprotect command in sapscript doesn't work with smartforms. For example on a invoice: First data of position no 80. is
printed on page one, other data of position no 80 is printed on page 2. And there's nothing you can do about it. Actually, there is
something you can do about it. By using a folder node and checking the 'protect' checkbox, everything in that folder will be page protected.
FAQ on Migrating SAPscript to SmartForms
Is it possible to migrate a SAPscript form to a Smart Form?
Smart Forms provides a migration tool for this purpose which migrates layout and texts of a SAPscript form to a Smart Form. It does not
migrate SAPscript form logic of the print program. Using Smart Forms, this logic is described by the tree structure of the Form Builder. The
effort involved in migrating it depends on the complexity of the print program.
Which Basis Release do I need to use SAP Smart Forms?
SAP Smart Forms is available as of R/3 Basis Release 4.6C.
I have heard that Smart Forms replaces SAPscript. What does "replace" mean?
It does not mean that SAPscript is removed from the Basis shipment. Even as of Basis Release 4.6C, SAPscript remains part of the SAP
standard and there are no plans to remove it. Since Smart Forms is currently, and will continue to be, the tool for form maintenance for
mySAP.com solutions, our further development efforts will focus on Smart Forms, not on SAPscript.
Do we have to migrate all SAPscript forms to Smart Forms?
There is no point in migrating all SAPscript forms already in use. Since SAPscript can still be used and will be available in the future, there is
no need to. If you plan to migrate a SAPscript form, it is recommended that you check whether benefit is worth the effort involved.
Conversion of SAPSCRIPT to SMARTFORMS
SAP provides a conversion for SAPscript documents to SMARTforms.
This is basically a function module, called FB_MIGRATE_FORM. You can start this function module by hand (via SE37), or create a small ABAP
which migrates all SAPscript forms automatically.
You can also do this one-by-one in transaction SMARTFORMS, under
Utilities -> Migrate SAPscript form.
You could also write a small batch program calling transaction SMARTFORMS and running the migration tool.
SmartForms System Fields
Within a form you can use the field string SFSY with its system fields. During form processing the system replaces these fields with the
corresponding values. The field values come from the SAP System or are results of the processing.
System fields of Smart Forms
&SFSY-DATE&
Displays the date. You determine the display format in the user master record.
&SFSY-TIME&
Displays the time of day in the form HH:MM:SS.
&SFSY-PAGE&
Inserts the number of the current print page into the text. You determine the format of the page number (for example, Arabic, numeric) in
the page node.
&SFSY-FORMPAGES&
Displays the total number of pages for the currently processed form. This allows you to include texts such as'Page x of y' into your output.
&SFSY-JOBPAGES&
Contains the total page number of all forms in the currently processed print request.
&SFSY-WINDOWNAME&
Contains the name of the current window (string in the Window field)
&SFSY-PAGENAME&
Contains the name of the current page (string in the Page field)
&SFSY-PAGEBREAK&
Is set to 'X' after a page break (either automatic [Page 7] or command-controlled [Page 46])
&SFSY-MAINEND&
Is set as soon as processing of the main window on the current page ends
&SFSY-EXCEPTION&
Contains the name of the raised exception. You must trigger your own exceptions, which you defined in the form interface, using the
user_exception macro (syntax: user_exception <exception name >).
Example Forms Available in Standard SAP R/3
SF_EXAMPLE_01
Simple example; invoice with table output of flight booking for one customer
SF_EXAMPLE_02
Similar to SF_EXAMPLE_01 but with subtotals
SF_EXAMPLE_03
Similar to SF_EXAMPLE_02, whereby several customers are selected in the application program; the form is called for each customer and all
form outputs are included in an output request
Smart forms Frequently Asked Questions
Forcing a page break within table loop
Create a loop around the table. Put a Command node before the table in the loop that forces a NEWPAGE on whatever condition you want.
Then only loop through a subset of the internal table (based on the conditions in the Command node) of the elements in the Table node.
Font style and Font size
Goto Transaction SMARTSTYLES.
There you can create Paragraph formats etc just like in sapscript.
Then in your window under OUTPUT OPTIONS you include this SMARTSTYLE and use the Paragraph and character formats.
Line in Smartform
Either you can use a window that takes up the width of your page and only has a height of 1 mm.
Then you put a frame around it (in window output options).
Thus you have drawn a box but it looks like a line.
Or you can just draw "__" accross the page and play with the fonts so that it joins each UNDER_SCORE.
Difference between 'forminterface' and 'global definitions' in global settings of smart forms
The Difference is as follows.
To put it very simply:
Form Interface is where you declare what must be passed in and out of the smartform (in from the print program to the smartform and out
from the smartform to the print program).
Global defs. is where you declare data to be used within the smartform on a global scope.
ie: anything you declare here can be used in any other node in the form.
Smartforms function module name
Once you have activated the smartform, go to the environment -> function module name. There you can get the name of funtion module
name.
The key thing is the program that calls it. for instance, the invoice SMARTFORM LB_BIL_INVOICE is ran by the program RLB_INVOICE.
This program uses another FM to determine the name of the FM to use itself. The key thing is that when it calls this FM (using a variable to
store the actual name), that the parameters match the paramters in your smartform.
Another thing to note is that the FM name will change wherever the SF is transported to.
So you need to use the FM to determine the name of the SF.
Here is the code that can be use to determine the internal name of the function module:
Code:
if sf_label(1) <> '/'. " need to resolve by name
move sf_label to externalname.
call function 'SSF_FUNCTION_MODULE_NAME'
exporting
formname = externalname
importing
fm_name = internalname
exceptions
no_form = 1
no_function_module = 2
others = 3.
if sy-subrc <> 0.
message 'e427'.
endif.
move internalname to sf_label.
endif.
It checks to see if the sf_label starts with a '/', which is how the internal names start. if it does, the name has already been converted. If
not, it calls the FM and converts the name.
You would then CALL FUNCTION sf_label.
Smartforms FAQ Part Two
Smartforms output difference
Problem with Smartforms: in a certain form for two differently configured printers, there seem to be a difference in the output of characters
per inch (the distance between characters which gives a layout problem - text in two lines instead of one.
It happens when the two printers having different Printer Controls' if you go to SPAD Menu (Spool Administrator Menu) you can see the
difference in the Printer Control and if you make the Printer control setting for both the printers as same. then it will be ok. and also u have
to check what is the device type used for both the output devices.
SmartForms Output to PDF
There is a way to download smartform in PDF format.
Please do the following:
1. Print the smartform to the spool.
2. Note the spool number.
3. Download a PDF file (Acrobat Reader) version of the spool by running Program RSTXPDFT4 and entering the
noted spool number.
SmartForm Doublesided printing question
Your customer wants your PO SmartForm to be able to print "Terms and Conditinos" on the back side of each page. They don't want to
purchase pre-printed forms with the company's logo on the front and terms & conditions on the back. Now this presents an interesting
problem.
Has anyone else ever had a request like this? If for example there was a 3 page PO to be printed, they want 3 pieces of paper, the front
side of each to containe the PO information (page 1, 2, and 3) and the back side of each piece of paper to containg the static "Terms &
Conditions" information.
Anyone have a clue how to force this out?
Easy - page FRONT lists page CONTACTS as next page and CONTACTS lists FRONT as next page. Since CONTACTS does not contain a MAIN
window, it will print the contacts info and then continue on to FRONT for the rest of the main items. Additionally, set print mode on FRONT to
D (duplex) and set CONTACTS to 'blank' (for both resource name and print mode - this is the only way to get to the back of the page).
Transport Smart Forms
How does one transport SMARTFORM? SE01?
How do you make sure that both, the SMARTFORM & it's function module gets transported? Or does the FM with same name gets generated
automatically in the transported client?
A smartform is transported no differently than any other object. if it is assigned to a development class that is atteched to a transport layer,
it will be transported.
The definition is transported, and when called, the function module is regenerated.
This leads to an interetsing situation. On the new machine, it is very likely the function module name will be different than the name on the
source system. Make sure, before you call the function module, you resolve the external name to the internal name using the
'SSF_FUNCTION_MODULE_NAME' function module.
Typically, generate the SF, then use the pattern to being in the interface. Then change the call function to use the name you get back from
the above function module.
Smartforms: protect lines in main window.
How to protect lines in the main window from splitting between pages?
It was easy with SAPscript, but how to do it with SF's. For 4.7 version if you are using tables, there are two options for protection against
line break:
- You can protect a line type against page break.
- You can protect several table lines against page break for output in the main area.
Protection against page break for line types
- Double-click on your table node and choose the Table tab page.
- Switch to the detail view by choosing the Details pushbutton.
- Set the Protection against page break checkbox in the table for the relevant line type. Table lines that use this line type are output on
one page.
Protection against page break for several table lines
- Expand the main area of your table node in the navigation tree.
- Insert a file node for the table lines to be protected in the main area.
- If you have already created table lines in the main area, you can put the lines that you want to protect again page break under the file
using Drag&Drop. Otherwise, create the table lines as subnodes of the file.
- Choose the Output Options tab page of the file node and set the Page Protection option. All table lines that are in the file with the Page
Protection option set are output on one page.
In 4.6, Alternatively in a paragraph format use the Page protection attribute to determine whether or not to display a paragraph completely
on one page. Mark it if you want to avoid that a paragraph is split up by a page break. If on the current page (only in the main window)
there is not enough space left for the paragraph, the entire paragraph appears on the next page.
Details information about SAP Barcodes
A barcode solution consists of the following:
- a barcode printer
- a barcode reader
- a mobile data collection application/program
A barcode label is a special symbology to represent human readable information such as a material number or batch number
in machine readable format.
There are different symbologies for different applications and different industries. Luckily, you need not worry to much about that as the
logistics supply chain has mostly standardized on 3 of 9 and 128 barcode symbologies - which all barcode readers support and which SAP
support natively in it's printing protocols.
You can print barcodes from SAP by modifying an existing output form.
Behind every output form is a print program that collects all the data and then pass it to the form. The form contains the layout as well as
the font, line and paragraph formats. These forms are designed using SAPScript (a very easy but frustratingly simplistic form format
language) or SmartForms that is more of a graphical form design tool.
Barcodes are nothing more than a font definition and is part of the style sheet associated with a particular SAPScript form. The most
important aspect is to place a parameter in the line of the form that points to the data element that you want to represent as barcode on
the form, i.e. material number. Next you need to set the font for that parameter value to one of the supported barcode symbologies.
The next part of the equation can be a bit tricky as you will need to get a printer to print that barcode font. Regular laser printers does not
normally print barcode fonts, only specialized industrial printers that is specifically designed to support that protocol and that uses
specialized label media and heat transfer (resin) ribbon to create the sharp image required for barcodes.
Not to fear though, there are two ways to get around this:
- You can have your IT department do some research -
most laser printers can accept a font cartridge/dimm chip (similar to computer memory), called a BarDIMM that will allow a laser printer to
support the printing of barcodes.
- Secondly, you can buy software that you can upload in your SAP pri
regards..
seshu. -
Procedure for Archive the data
Hello Experts,
I need to write a procedure for clean up the data base. Below is my rek.
User should be provided with options of entering the table name and also should be given option to select whether he wants to delete all the data or archive the table.
--> Program should provide the list of tables that are related to the table name that was given by the user. (This is not required if the table is stagging table, as they don't have constraints associated with them)
--> If user wants to archive then the data in the tables and its related table should be archived (exported) into a flat file and then delete the data from each table in a sequence. Else, we need to delete the data without archiving.
Can you Please let me know the procedure for the above rek and also I am not sure about the archiving the data. If you don't know the table name and the columns. so How can you define a cursor record to handle the record.
Can you please send me the complete code for the above rek to [email protected]
I appreciate help in this regard.
Thanks & Regards,
Sree.Can you please send me the complete code for the
above rek to [email protected]
I appreciate help in this regard.The goal of this forum is not to make your job, but to assist you with guidelines, references, and concepts, on specific issues. If you want someone to code for you, then you should hire a programmer instead.
~ Madrid -
Error while executing the stored procedure through sender JDBC adapter
Hi All,
I am getting below error while executing the stored procedure through sender JDBC adapter.
Database-level error reported by JDBC driver while executing statement 'exec SapgetNextEntity 'SalesOrder''. The JDBC driver returned the following error message: 'com.microsoft.sqlserver.jdbc.SQLServerException: The statement did not return a result set.'. For details, contact your database server vendor.
what is the problem? any idea to anyone...
regards
Rameshhi Dharamveer,
I am not getting below statement for your reply
Try to use Refrence Cursor it will return u reference of resultset.
I mention SP like this
exec SapgetNextEntity 'SalesOrder'
SapgetNextEntity -
> SP Name
SalesOrder----
> Parameter I am passing...
regards
Ramesh -
Stored procedure in Sender JDBC Adapter
Hi All,
My Scenrio goes like this ...
Stored Procedure(SQL Server) --- PI -
File
I need to write the results of stored procedure to File.Here I don't need any mapping.So how many DT , MT and MI need to be created?
The interface need to run by 6AM from Monday to Thrusday, how can i achieve this ?
Stored Procedure has only select statement and no Update statement , but it takes Date as Input parameter , so what i need to provide in sender JDBC adapter.
Thanks,
MonishHi Monish,
As per your requirement it is JDBC to File. Please be careful with the structure to be created for sender JDBC. I am unable to understand why you donot require a mapping for this. How XI will send the data to a file then.As per my knowledge if it's file to file and just pick and drop then we can neglect IR and go for ID.But here you are working with JDBC and File so you will be in need of it.
IR:
DT: 2
JDBC_Sender_DT
File_Output_DT(Optional)
You can use the JDBC sender data type structure for File output also.
MT as per your DT
MI:2
Outbound MI: JDBC structure
Inbound MI : File structure
MM: 1
IM: 1
ID as similar to other scenarios.All 1 objects for RD,ID,Sender Agreement and Receiver Agreement.
Sender JDBC channel:
Query: Select * from table where date
But I have a query how are you providing date in input paramerter.It will be dynamically entered into the query right.
You can mention the Avalibility planning for your interface to work in RWB.
Go to RWB>Component Monitoring>Adapter Engine->Communication Channel Monitoring>Avaliablity Planning
Please explain.
Regards,
Nutan -
Error in calling stored procedure in sender JDBC adapter
Hi Experts,
I am working on MySQl to SAP scenario. I have to use stored procedure in sender JDBC adapter.
I am calling SP as fallows: execute proc_dtdc_booking_interface_sd
But it returned following error,
Database-level error reported by JDBC driver while executing statement 'execute proc_dtdc_booking_interface_sd'. The JDBC driver returned the following error message: 'java.sql.SQLException: Unknown prepared statement handler (proc_dtdc_booking_interface_sd) given to EXECUTE'. For details, contact your database server vendor.
the way i called SP is correct ??
please suggest me how to resolve the issue ??
Regards,
Bhuvan.Hi
Below is the code , when we are using this code directly in the mySQl command promp, it fetches 10 record but when the same code is called through XI adapter its fetching only one record
DELIMITER $$
DROP PROCEDURE IF EXISTS `proc_dtdc_booking_interface_sd` $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `proc_dtdc_booking_interface_sd`()
BEGIN
declare done int(1);
declare v_dsr_booked_by char(1) ;
declare v_dsr_branch_code char(3) ;
declare v_dsr_cust_code varchar(7) ;
declare v_dsr_booking_date date ;
declare v_dsr_cnno char(9) ;
declare v_dsr_cn_type char(3) ;
declare v_dsr_cn_weight decimal(8,3) ;
declare v_dsr_dest char(3) ;
declare v_dsr_mode char(2) ;
declare v_dsr_amt decimal(10,2) ;
declare v_dsr_dox char(1) ;
declare v_office_code char(3) ;
declare v_dsr_status char(1) ;
declare v_dsr_remarks varchar(25) ;
declare v_dsr_refno varchar(20) ;
declare v_dsr_transmf_no varchar(10) ;
declare v_dsr_trans_status_xi char(1) ;
declare v_ndsr_cnno char(9) ;
declare v_ndsr_product char(3) ;
declare v_ndsr_sercharge decimal(8,3) ;
declare v_ndsr_ins_amt decimal(8,3) ;
declare v_ndsr_others decimal(8,3) ;
declare v_dr_amt_type decimal(2,0) ;
declare v_dr_extra_amt decimal(10,2) ;
declare v_sales_document varchar(2) ;
declare bookcur CURSOR for
SELECT *
FROM dtdcdb_rw.dtdc_booking_interface_sd
LIMIT 10;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET DONE=1;
set done=0;
OPEN bookcur;
bookloop: loop
FETCH bookcur
INTO
v_dsr_booked_by ,
v_dsr_branch_code,
v_dsr_cust_code,
v_dsr_booking_date,
v_dsr_cnno,
v_dsr_cn_type,
v_dsr_cn_weight,
v_dsr_dest,
v_dsr_mode,
v_dsr_amt,
v_dsr_dox,
v_office_code,
v_dsr_status,
v_dsr_remarks,
v_dsr_refno,
v_dsr_transmf_no,
v_dsr_trans_status_xi,
v_ndsr_cnno,
v_ndsr_product,
v_ndsr_sercharge,
v_ndsr_ins_amt,
v_ndsr_others,
v_dr_amt_type,
v_dr_extra_amt,
v_sales_document ;
IF DONE=1 THEN
LEAVE bookloop;
END IF;
select
v_dsr_booked_by As dsr_booked_by,
v_dsr_branch_code As dsr_branch_code,
v_dsr_cust_code As dsr_cust_code,
v_dsr_booking_date As dsr_booking_date,
v_dsr_cnno As dsr_cnno,
v_dsr_cn_type As dsr_cn_type,
v_dsr_cn_weight As dsr_cn_weight,
v_dsr_dest As dsr_dest,
v_dsr_mode As dsr_mode,
v_dsr_amt As dsr_amt,
v_dsr_dox As dsr_dox,
v_office_code As office_code,
v_dsr_status As dsr_status,
v_dsr_remarks As dsr_remarks,
v_dsr_refno As dsr_refno,
v_dsr_transmf_no As dsr_transmf_no,
v_dsr_trans_status_xi As dsr_trans_status_xi,
v_ndsr_cnno As ndsr_cnno,
v_ndsr_product As ndsr_product,
v_ndsr_sercharge As ndsr_sercharge,
v_ndsr_ins_amt As ndsr_ins_amt,
v_ndsr_others As ndsr_others,
v_dr_amt_type As dr_amt_type,
v_dr_extra_amt As dr_extra_amt,
v_sales_document As sales_document;
update dtdcdb_rw.dsr_table
set dsr_trans_status_xi='T'
where dsr_cnno=v_dsr_cnno;
end loop;
SELECT *
FROM dtdcdb_rw.dtdc_booking_interface_sd
LIMIT 10;
END $$
DELIMITER ;
Please help
Regards
Bhuvan
Maybe you are looking for
-
Default initialisation of member variables and local variables
I don't understand why member variables are initialized with default values by Java. Objects are initialized with "null" and primitives with "0", except boolean, which is initialized with "false". If these variables are used locally they are not init
-
How do I get a ringtone to download in the right a...
Can someone please assist..... I have attempted to download (and have now purchased) two ringtones which said they were ringtones that have ended up in the music section instead. Have now wasted two hours plus money trying to figure this out Using
-
How do I know if someone is connected to my wireless router for internet?
Easiest was is to look at the security log for signins from your router. Am assuming you already know how to log into your router. OH, and to stop it, if you have not already done so, set a security password, AND enable wps-2 security. That SOULD st
-
Read and vocalize pdf text on pdf formatted cd-rom?
Will adobe reader 11.01 read and or vocalize text from a pdf formatted cd-rom? How does on accomplish these functions?
-
Attribute dimension member limits?
Are there any limits to how many members can be assigned to a specific attribute? For example, if I have 80000 members, and I need 40000 of them to be assigned to one attribute option and 40000 to another (just pulling random numbers out of the air),