Searching program for smartform
Hello Expert
How can I seach a program for smartform zxyz
Eg VA01 enter the order no and all the relavent data
and when enter the output will display the the smartform zxyz
Thanks
Monto
Well Atish and Experts
Thanks for your suggestion, I can see the program name also in smarform
and clicking the function /bcdwb/sf00000053 when double click i can see my smartform name as FORM TYPE TDSFNAME VALUE 'Z_DELIVERY_NOTE',
(Note: Z_delivery_note is a smartform)
Now I have 2 logs for Quality Assurance , currently I can one logo .
but management need only those log to be display with the condition of logo to be display when the order type = ZOR (Sales order)
Sales organization = 'OMAN'
Division = 11
sales ofice = TWMB
then the DNV logo should display
esle
SAI logo should display at the bottom
So how can Write a condition to display the logo or is there any way
regards
Monto
FUNCTION /1BCDWB/SF00000053.
""Global interface:
*" IMPORTING
*" VALUE(ARCHIVE_INDEX) TYPE TOA_DARA OPTIONAL
*" VALUE(ARCHIVE_INDEX_TAB) TYPE TSFDARA OPTIONAL
*" VALUE(ARCHIVE_PARAMETERS) TYPE ARC_PARAMS OPTIONAL
*" VALUE(CONTROL_PARAMETERS) TYPE SSFCTRLOP OPTIONAL
*" VALUE(MAIL_APPL_OBJ) TYPE SWOTOBJID OPTIONAL
*" VALUE(MAIL_RECIPIENT) TYPE SWOTOBJID OPTIONAL
*" VALUE(MAIL_SENDER) TYPE SWOTOBJID OPTIONAL
*" VALUE(OUTPUT_OPTIONS) TYPE SSFCOMPOP OPTIONAL
*" VALUE(USER_SETTINGS) TYPE TDBOOL DEFAULT 'X'
*" REFERENCE(IS_DLV_DELNOTE) TYPE LEDLV_DELNOTE
*" EXPORTING
*" VALUE(DOCUMENT_OUTPUT_INFO) TYPE SSFCRESPD
*" VALUE(JOB_OUTPUT_INFO) TYPE SSFCRESCL
*" VALUE(JOB_OUTPUT_OPTIONS) TYPE SSFCRESOP
*" EXCEPTIONS
*" FORMATTING_ERROR
*" INTERNAL_ERROR
*" SEND_ERROR
*" USER_CANCELED
DATA: %INPUT TYPE SSFCOMPIN,
%RESULT_OP TYPE SSFCRESOP,
%RESULT_PD TYPE SSFCRESPD,
%RESULT_CL TYPE SSFCRESCL,
%TABDEF LIKE LINE OF %TABDEFS,
%ARCTAB TYPE TSFDARA,
BEGIN OF %FULLNAME,
FORM TYPE TDSFNAME VALUE 'Z_DELIVERY_NOTE',
VARI TYPE TDVARIANT,
ACTV TYPE TDBOOL VALUE 'X',
END OF %FULLNAME.
TYPES: T_XDF_ELEM(255) TYPE C,
T_XDF_ATTR(255) TYPE C.
DATA: %IMPORT_PARAMETER TYPE TABLE OF RSIMP WITH HEADER LINE,
%CHANGING_PARAMETER TYPE TABLE OF RSCHA WITH HEADER LINE,
%TABLES_PARAMETER TYPE TABLE OF RSTBL WITH HEADER LINE,
%EXPORT_PARAMETER TYPE TABLE OF RSEXP WITH HEADER LINE,
%EXCEPTION_LIST TYPE TABLE OF RSEXC WITH HEADER LINE.
DATA: %XDF_TABLE TYPE TSFIXML,
%XDF_LENGTH TYPE I.
DATA: %XDF_DOCUMENT TYPE REF TO IF_IXML_DOCUMENT,
%XDF_PARAMETER TYPE REF TO IF_IXML_ELEMENT,
%L_NAME TYPE STRING,
%L_VALUE TYPE STRING,
%L_OBJECT TYPE STRING,
%L_DATE TYPE STRING,
%L_TIME TYPE STRING,
%L_FLAT TYPE C,
%RC TYPE SY-SUBRC.
FIELD-SYMBOLS: <%DATA_OBJECT> TYPE ANY.
CLASS CL_IXML DEFINITION LOAD.
CONSTANTS: %C_XDF_ROOT_ELEMENT TYPE T_XDF_ELEM VALUE 'XDF',
%C_XDF_ATTR_TYPE TYPE T_XDF_ATTR VALUE 'TYPE',
%C_XDF_ATTR_TIMESTAMP TYPE T_XDF_ATTR VALUE 'TIMESTAMP',
%C_XDF_ATTR_OBJ TYPE T_XDF_ATTR VALUE 'OBJECT'.
DATA: %XDF_FACTORY TYPE REF TO IF_IXML,
%XDF_ROOT_ELEMENT TYPE REF TO IF_IXML_ELEMENT.
DATA: %L_GETSTATE TYPE DDTYPEGET,
%L_TYPE TYPE DDTYPEKIND,
%L_TYPE_NAME TYPE TYPENAME,
%L_TYPE_CH LIKE RS38L-IMPORT_TYP,
%L_DDIC_OBJ TYPE DDTYPES OCCURS 0 WITH HEADER LINE,
%L_DD02L_STATE TYPE DD02L OCCURS 0 WITH HEADER LINE,
%L_DD04L_STATE TYPE DD04L OCCURS 0 WITH HEADER LINE,
%L_DD40L_STATE TYPE DD40L OCCURS 0 WITH HEADER LINE,
%L_XMLOUTPUT TYPE SSFXMLOUT,
%L_SFSY TYPE SFSY.
TYPE-POOLS: ABAP.
DATA: %XDF2_IXML TYPE REF TO IF_IXML,
%XDF2_DOCUMENT TYPE REF TO IF_IXML_DOCUMENT,
%XDF2_SRC_OBJECTS TYPE ABAP_TRANS_SRCBIND_TAB,
%XDF2_SRC_OBJECT LIKE LINE OF %XDF2_SRC_OBJECTS.
DEFINE XDF2_APPEND_SRC_OBJECT.
%XDF2_SRC_OBJECT-NAME = '&1'.
TRANSLATE %XDF2_SRC_OBJECT-NAME TO UPPER CASE.
GET REFERENCE OF &2 INTO %XDF2_SRC_OBJECT-VALUE.
APPEND %XDF2_SRC_OBJECT TO %XDF2_SRC_OBJECTS.
END-OF-DEFINITION.
DEFINE XDF_GET_DDIC_INFO.
CLEAR %L_DDIC_OBJ.
CLEAR %L_DDIC_OBJ.
IF NOT &2 IS INITIAL.
%L_TYPE_NAME = &2.
ELSEIF NOT &1-TYP IS INITIAL.
%L_TYPE_NAME = &1-TYP.
ELSEIF NOT &1-LINE_OF IS INITIAL.
%L_TYPE_NAME = &1-LINE_OF.
ELSEIF NOT &1-TABLE_OF IS INITIAL.
%L_TYPE_NAME = &1-TABLE_OF.
ELSE.
CLEAR %L_TYPE_NAME.
ENDIF.
CALL FUNCTION 'DDIF_TYPEINFO_GET'
EXPORTING TYPENAME = %L_TYPE_NAME
IMPORTING TYPEKIND = %L_TYPE.
%L_DDIC_OBJ-TYPENAME = %L_TYPE_NAME.
%L_DDIC_OBJ-TYPEKIND = %L_TYPE.
IF NOT %L_DDIC_OBJ IS INITIAL.
COLLECT %L_DDIC_OBJ.
ENDIF.
END-OF-DEFINITION.
DEFINE XDF_CREATE_DATA_STREAM.
CLEAR: %L_OBJECT, %L_DATE, %L_TIME, %L_NAME, %L_TYPE_NAME,
%L_VALUE.
IF &3 = 'T'.
IF NOT &2 IS INITIAL.
%L_TYPE_NAME = &2.
ELSEIF NOT &1-TYP IS INITIAL.
%L_TYPE_NAME = &1-TYP.
ENDIF.
IF NOT %L_TYPE_NAME IS INITIAL.
%L_TYPE_CH = %L_TYPE_NAME.
CALL FUNCTION 'RS_TYPE_EXISTENCE_CHECK'
EXPORTING
TYPE = %L_TYPE_CH
IMPORTING
STRUCTURE_IS_FLAT = %L_FLAT
EXCEPTIONS
OTHERS = 1.
ENDIF.
IF %L_FLAT NE 'X'.
CONCATENATE &1-PARAMETER '[]' INTO %L_NAME.
ELSE.
%L_NAME = &1-PARAMETER.
ENDIF.
ELSE.
%L_NAME = &1-PARAMETER.
ENDIF.
IF NOT &2 IS INITIAL.
ASSIGN (%L_NAME) TO <%DATA_OBJECT>
CASTING TYPE (&2).
%L_TYPE_NAME = &2.
ELSEIF NOT &1-TYP IS INITIAL.
ASSIGN (%L_NAME) TO <%DATA_OBJECT>
CASTING TYPE (&1-TYP).
%L_TYPE_NAME = &1-TYP.
ELSEIF NOT &1-LINE_OF IS INITIAL.
ASSIGN (%L_NAME) TO <%DATA_OBJECT>.
%L_TYPE_NAME = &1-LINE_OF.
ELSEIF NOT &1-TABLE_OF IS INITIAL.
ASSIGN (%L_NAME) TO <%DATA_OBJECT>.
%L_TYPE_NAME = &1-TABLE_OF.
ELSE.
ASSIGN (%L_NAME) TO <%DATA_OBJECT>.
CLEAR %L_TYPE_NAME.
ENDIF.
IF &3 EQ 'T'.
%L_NAME = &1-PARAMETER.
ENDIF.
CALL FUNCTION 'SDIXML_DATA_TO_DOM'
EXPORTING
NAME = %L_NAME
DATAOBJECT = <%DATA_OBJECT>
IMPORTING
DATA_AS_DOM = %XDF_PARAMETER
CHANGING
DOCUMENT = %XDF_DOCUMENT
EXCEPTIONS
OTHERS = 1.
%L_NAME = %C_XDF_ATTR_TYPE.
%L_VALUE = %L_TYPE_NAME.
CALL METHOD %XDF_PARAMETER->SET_ATTRIBUTE
EXPORTING NAME = %L_NAME
VALUE = %L_VALUE
RECEIVING RVAL = %RC.
CLEAR %L_DDIC_OBJ.
READ TABLE %L_DDIC_OBJ WITH KEY TYPENAME = %L_TYPE_NAME.
CASE %L_DDIC_OBJ-TYPEKIND.
WHEN 'S'.
READ TABLE %L_DD02L_STATE WITH KEY TABNAME = &1-TYP.
%L_DATE = %L_DD02L_STATE-AS4DATE.
%L_TIME = %L_DD02L_STATE-AS4TIME.
%L_OBJECT = 'TABL'.
WHEN 'E'. " data elements
READ TABLE %L_DD04L_STATE WITH KEY ROLLNAME = &1-TYP.
%L_DATE = %L_DD04L_STATE-AS4DATE.
%L_TIME = %L_DD04L_STATE-AS4TIME.
%L_OBJECT = 'DTEL'.
WHEN 'L'. " table types
READ TABLE %L_DD40L_STATE WITH KEY TYPENAME = &1-TYP.
%L_DATE = %L_DD40L_STATE-AS4DATE.
%L_TIME = %L_DD40L_STATE-AS4TIME.
%L_OBJECT = 'TTYP'.
WHEN OTHERS.
CLEAR: %L_DATE, %L_TIME, %L_OBJECT.
ENDCASE.
%L_NAME = %C_XDF_ATTR_OBJ.
CALL METHOD %XDF_PARAMETER->SET_ATTRIBUTE
EXPORTING NAME = %L_NAME
VALUE = %L_OBJECT
RECEIVING RVAL = %RC.
%L_NAME = %C_XDF_ATTR_TIMESTAMP.
CONCATENATE %L_DATE %L_TIME INTO %L_VALUE.
CALL METHOD %XDF_PARAMETER->SET_ATTRIBUTE
EXPORTING NAME = %L_NAME
VALUE = %L_VALUE
RECEIVING RVAL = %RC.
CALL METHOD %XDF_ROOT_ELEMENT->APPEND_CHILD
EXPORTING NEW_CHILD = %XDF_PARAMETER
RECEIVING RVAL = %RC.
CHECK %RC = 0.
END-OF-DEFINITION.
CLEAR DOCUMENT_OUTPUT_INFO.
CLEAR JOB_OUTPUT_INFO.
CLEAR JOB_OUTPUT_OPTIONS.
%L_SFSY = SFSY.
CLEAR SFSY.
SFSY-PAGE = %L_SFSY-PAGE.
SFSY-FORMPAGES = %L_SFSY-FORMPAGES.
SFSY-JOBPAGES = %L_SFSY-JOBPAGES.
SFSY-XDF = %L_SFSY-XDF.
SFSY-XDF2 = %L_SFSY-XDF2.
CLEAR INTSFSY.
IF CONTROL_PARAMETERS-NO_OPEN = SPACE.
CALL FUNCTION 'SSF_CREATE_COMPOSER_INPUT'
EXPORTING
ARCHIVE_PARAMETERS = ARCHIVE_PARAMETERS
USER_SETTINGS = USER_SETTINGS
MAIL_SENDER = MAIL_SENDER
MAIL_RECIPIENT = MAIL_RECIPIENT
MAIL_APPL_OBJ = MAIL_APPL_OBJ
OUTPUT_OPTIONS = OUTPUT_OPTIONS
CONTROL_PARAMETERS = CONTROL_PARAMETERS
IMPORTING
INPUT = %INPUT.
IF OUTPUT_OPTIONS-XSFCMODE = SPACE.
%INPUT-XSF = ' '.
%INPUT-XSFOUTMODE = ' '.
%INPUT-XSFOUTDEV = ' '.
%INPUT-XSFACTION = ' '.
%INPUT-XSFFORMAT = ' '.
ENDIF.
CALL FUNCTION 'SSFCOMP_OPEN'
EXPORTING INPUT = %INPUT
IMPORTING RESULT = %RESULT_OP
EXCEPTIONS OTHERS = 1.
IF SY-SUBRC <> 0.
%VARIANT = SPACE.
PERFORM %RAISE.
ENDIF.
JOB_OUTPUT_OPTIONS = %RESULT_OP.
ENDIF.
IF SFSY-XDF = 'X'.
CALL FUNCTION 'FUNCTION_IMPORT_INTERFACE'
EXPORTING
FUNCNAME = '/1BCDWB/SF00000053'
INACTIVE_VERSION = SPACE
TABLES
IMPORT_PARAMETER = %IMPORT_PARAMETER
CHANGING_PARAMETER = %CHANGING_PARAMETER
TABLES_PARAMETER = %TABLES_PARAMETER
EXPORT_PARAMETER = %EXPORT_PARAMETER
EXCEPTION_LIST = %EXCEPTION_LIST
EXCEPTIONS
OTHERS = 1.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
%L_GETSTATE-TBHD = %L_GETSTATE-TBFD = %L_GETSTATE-DTEL = 'X'.
%L_GETSTATE-TTHD = %L_GETSTATE-TTFD = 'X'.
LOOP AT %IMPORT_PARAMETER.
XDF_GET_DDIC_INFO %IMPORT_PARAMETER
%IMPORT_PARAMETER-DBFIELD.
ENDLOOP.
LOOP AT %CHANGING_PARAMETER.
XDF_GET_DDIC_INFO %CHANGING_PARAMETER
%CHANGING_PARAMETER-DBFIELD.
ENDLOOP.
LOOP AT %TABLES_PARAMETER.
XDF_GET_DDIC_INFO %TABLES_PARAMETER
%TABLES_PARAMETER-DBSTRUCT.
ENDLOOP.
CALL FUNCTION 'DD_TYPEINFO_GET'
EXPORTING GETSTATE = %L_GETSTATE
TABLES DDTYPES_TAB = %L_DDIC_OBJ[]
DD02L_TAB = %L_DD02L_STATE[]
DD04L_TAB = %L_DD04L_STATE[]
DD40L_TAB = %L_DD40L_STATE[].
%XDF_FACTORY = CL_IXML=>CREATE( ).
%XDF_DOCUMENT = %XDF_FACTORY->CREATE_DOCUMENT( ).
%L_NAME = %C_XDF_ROOT_ELEMENT.
%XDF_ROOT_ELEMENT
= %XDF_DOCUMENT->CREATE_ELEMENT( NAME = %L_NAME ).
CALL METHOD %XDF_DOCUMENT->APPEND_CHILD
EXPORTING NEW_CHILD = %XDF_ROOT_ELEMENT
RECEIVING RVAL = %RC.
CHECK %RC = 0.
LOOP AT %IMPORT_PARAMETER.
XDF_CREATE_DATA_STREAM %IMPORT_PARAMETER
%IMPORT_PARAMETER-DBFIELD 'I'.
ENDLOOP.
LOOP AT %CHANGING_PARAMETER.
XDF_CREATE_DATA_STREAM %CHANGING_PARAMETER
%CHANGING_PARAMETER-DBFIELD 'C'.
ENDLOOP.
LOOP AT %TABLES_PARAMETER.
XDF_CREATE_DATA_STREAM %TABLES_PARAMETER
%TABLES_PARAMETER-DBSTRUCT 'T'.
ENDLOOP.
CALL FUNCTION 'SSFCOMP_XDF_OUTPUT'
EXPORTING DOCUMENT = %XDF_DOCUMENT
EXCEPTIONS OTHERS = 1.
ELSEIF SFSY-XDF2 = 'X'.
%XDF2_IXML = CL_IXML=>CREATE( ).
%XDF2_DOCUMENT = %XDF2_IXML->CREATE_DOCUMENT( ).
XDF2_APPEND_SRC_OBJECT ARCHIVE_INDEX ARCHIVE_INDEX.
XDF2_APPEND_SRC_OBJECT ARCHIVE_INDEX_TAB ARCHIVE_INDEX_TAB.
XDF2_APPEND_SRC_OBJECT ARCHIVE_PARAMETERS ARCHIVE_PARAMETERS.
XDF2_APPEND_SRC_OBJECT CONTROL_PARAMETERS CONTROL_PARAMETERS.
XDF2_APPEND_SRC_OBJECT MAIL_APPL_OBJ MAIL_APPL_OBJ.
XDF2_APPEND_SRC_OBJECT MAIL_RECIPIENT MAIL_RECIPIENT.
XDF2_APPEND_SRC_OBJECT MAIL_SENDER MAIL_SENDER.
XDF2_APPEND_SRC_OBJECT OUTPUT_OPTIONS OUTPUT_OPTIONS.
XDF2_APPEND_SRC_OBJECT USER_SETTINGS USER_SETTINGS.
XDF2_APPEND_SRC_OBJECT IS_DLV_DELNOTE IS_DLV_DELNOTE.
XDF2_APPEND_SRC_OBJECT JOB_OUTPUT_INFO JOB_OUTPUT_INFO.
CALL TRANSFORMATION ID
SOURCE (%XDF2_SRC_OBJECTS)
RESULT XML %XDF2_DOCUMENT.
CALL FUNCTION 'SSFCOMP_XDF2_OUTPUT'
EXPORTING
DOCUMENT = %XDF2_DOCUMENT
EXCEPTIONS
OTHERS = 1.
ELSE.
%FULLNAME-VARI = %VARIANT.
%VARIANT = SPACE.
IF %HEADER IS INITIAL.
IMPORT HEADER TO %HEADER
REFTAB TO %REFTAB
DOCSTRUC TO %DOCSTRUC
TABDEF TO %TABDEFS
FROM DATABASE STXFCONTR(SF) ID %FULLNAME.
IF SY-SUBRC <> 0.
CALL FUNCTION 'SSFRT_SET_ERROR_PARAMETERS'
EXPORTING I_FORM = 'Z_DELIVERY_NOTE'.
CALL FUNCTION 'SSFRT_WRITE_ERROR'
EXPORTING I_ERRNUMBER = SSF_ERR_NO_RUNTIME_OBJECT
I_MSGID = 'SSFCOMPOSER'
I_MSGNO = '002'
I_MSGV1 = 'Z_DELIVERY_NOTE'.
PERFORM %RAISE.
ENDIF.
SELECT SINGLE SDATE STIME FROM D010SINF
INTO (%HEADER-SDATE, %HEADER-STIME)
WHERE PROG = '/1BCDWB/SAPLSF00000053'
AND R3STATE = 'A'.
IF SY-SUBRC <> 0.
CLEAR: %HEADER-SDATE,
%HEADER-STIME.
ENDIF.
ENDIF.
LOOP AT %TABDEFS INTO %TABDEF.
CALL FUNCTION 'SSFCOMP_TABLE_DEFINITION'
EXPORTING CPI = %HEADER-CPI
LPI = %HEADER-LPI
CHANGING TABDEF = %TABDEF
EXCEPTIONS OTHERS = 1.
IF SY-SUBRC <> 0. PERFORM %RAISE. ENDIF.
ENDLOOP.
CALL FUNCTION 'SSFRT_SET_REFERENCES'
EXPORTING I_REFTAB = %REFTAB .
CALL FUNCTION 'SSFRT_SET_LANGUAGES'
EXPORTING I_CONTROL_PARAMETERS = CONTROL_PARAMETERS
I_MASTERLANGUAGE = 'E'
I_THRULANG = ' '
I_INSTALL_LANG = ' '
IMPORTING O_LANGUAGES = %LANGUAGES.
%HEADER-LANGU = %LANGUAGES-LANGU1.
%WEXIT = SPACE.
PERFORM %GLOBAL_CLEAR.
PERFORM %GLOBAL_INIT.
CLEAR %ARCTAB.
IF ARCHIVE_INDEX_TAB[] IS INITIAL.
APPEND ARCHIVE_INDEX TO %ARCTAB.
ELSE.
%ARCTAB = ARCHIVE_INDEX_TAB.
ENDIF.
CALL FUNCTION 'SSFCOMP_PROCESS_DOCUMENT'
EXPORTING HEADER = %HEADER
DOCSTRUC = %DOCSTRUC
STARTPAGE = CONTROL_PARAMETERS-STARTPAGE
ARCHIV_INDEX_TAB = %ARCTAB
MAIL_APPL_OBJECT = MAIL_APPL_OBJ
IMPORTING RESULT = %RESULT_PD
EXCEPTIONS OTHERS = 1.
IF SY-SUBRC <> 0. PERFORM %RAISE. ENDIF.
DOCUMENT_OUTPUT_INFO = %RESULT_PD.
ENDIF.
IF CONTROL_PARAMETERS-NO_CLOSE = SPACE.
CALL FUNCTION 'SSFCOMP_CLOSE'
IMPORTING RESULT = %RESULT_CL
EXCEPTIONS OTHERS = 1.
IF SY-SUBRC <> 0. PERFORM %RAISE. ENDIF.
JOB_OUTPUT_INFO = %RESULT_CL.
ENDIF.
ENDFUNCTION.
Similar Messages
-
How to write print program for smartforms
Hi all
I need to develop new smartform and its print program.
But Im not experience in writing print program for smartform.
Ive gone through the simple print program sample that use only one table as input and one table for output.
But my smartforms require few tables for input and output.
How should I define the Data?
Can anyone guide me on how to write it.
Thanks & Regards
azTransaction 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.
Reward points... -
What's the standard program for smartform : HR_ECM_CRS
Hi Friends
what's the standard program for smartform : HR_ECM_CRS?
<REMOVED BY MODERATOR>
Regards,
Sree
Edited by: Alvaro Tejada Galindo on Feb 21, 2008 4:14 PMhi
good
check this link, hope this would help you to solve your problem.
http://saphelpbykevin.blogspot.com/2006/09/compensation-review-statement-confusion.html
thanks
mrutyun^ -
To find print program for smartforms.
pls tell me how to find print programs for smartforms.pls tell me with all steps.clearly.i tried with tanpr table but unable to find
hi,
Please take a look at the NACE transaction where all the output conditions will be configured. Drill down into you specific application and you should be able to find the print program as well as the smart form name.
Steps..
Use NACE and follow procedure as follows
1)Choose Application from list(eg PO)
2)Click OP type
3)Chose one OP type from Right pane.
4)Click on processing routines
and you got it
regards,
keerthi -
Need Print Program for Smartform /SAPSLL/SF_GL_EPL for Export Packing list
Hello Friends,
I need a print program for Smartform /SAPSLL/SF_GL_EPL for Export Packing list. Please reply ASAP.
Thanks,
Ziad.Hi Sowjanya,
I am using FUEP o/p type for Export Packing list for Billing . I Copied SAPscript SD_EXPORT_FUEP form and the print program for this is same RVADAUS1. Can we use the same print program for Smartform /SAPSLL/SF_GL_EPL?
Thanks,
Ziad -
How to get source programe for smartform
hi
i want to know source programe for smartform.
thanks .hi,
1. Go to the smartforms transaction.
2. Chose from menu Environment->Function Module.
3. Note the name of the fm.
4. Go to se37.
5. Place the cursor on the Fm name and do a where-used-list.
6. You will find the programs which use that fm.
or you can find it in NACE transaction
or in the table tnapr.
Rgds
Reshma -
STANDARD PROGRAM FOR SMARTFORMS
hi all,
i have problem in finding standard program for <u>std. PO Smartforms</u> i.e /SMB40/MMPO_A (purchase order).
i have checked in table TNAPR. i dint find. can anyone help finding the std. program name.
regards,
thanks in advance.Hi,
Yes, there is standard smartform for PO (pre-configured forms) but you have to import package :/SMB40
PO Form: /SMB40/MMPO_L
Print Program: /SMB40/FM06P
See the note 595812: it explain how to download the preconfigured smartforms.
Anyway this is an extract of that note:
Detailed information can be accessed at the site:
http://service.sap.com/preconfiguredforms OR
http://service.sap.com/smb/development/preconfiguredforms.
To download preconfigured smartform package, please:
1. Go to http://service.sap.com/installations, select tab "download".
2. On the right hand side screen, locate navigation tree node
SAP Software Distribution Center->Download->Installations and Upgrades->
Entry by Application Group.
3. In the main window (right hand side), follow the path
SAP Best Practices->Best Practices for mySAP All-in-One-> PRECONFIGURED
SMART FORMS, you can find available preconfigured smartform versions.
Here you can also download the PO smartform.
Hope this will help.
Regards,
Ferry Lianto -
Using standard PO Printing Program for Smartforms
Hi Experts,
I am some hiccups coding my print program for a PO Smartform that am currently working on.The requirement was to use the standard print program to trigger my Smartform PO. I have read alot of threads on this, but am still clueless.
Some says to comment out the functions like "OPEN_FORM" ,"WRITE_FORM" and having your block of codes inside the "NEU_" routine.
But I noticed, there are even some conditions and logic checking before the "write_form" is called and sometimes the table entries are also cleared. In this kind of situation, how should I be passing the table data to the Smartform function module?By copying the contents to an internal table? And there are many include programs which currently the standard program has, should I be using all that too?
Appreciate your input and advice on this.
Thanks very much.Hi Neesha,
Can you check this once
[Migrating Forms|http://help.sap.com/saphelp_nw04/helpdata/en/9d/9599386185c064e10000009b38f8cf/content.htm]
Regards,
Madhu.
Edited by: madhurao123 on Dec 21, 2011 9:18 AM -
Standard programs for smartforms
Hi experts
How can we find standard programs for smart formsHi,
Up to 4.7 version there are no standard smartforms. But you can find standard smartforms from 5.0 version onwards.
Go to tcode smartforms then take f4 help you can get all list of smartforms there you can find them.
Thanks
sarada -
Search program for E-series phone (E61)
Hi,
I had the Nokia Search program until a while ago when it somehow refused to do anything without an internet connection. I used it mainly to search through my contacts by details other than name. Actually, that is all I´m looking for now - if I want to look for anything online, I can use the browser - I rarely do that on my mobile anyway - and I don´t have that much stuff on my memory card, so I don´t need a search program to find what I need.
So, all I want to do is to be able to search for contacts by any details that are not in the contact name like
- address
- company
Can anybody point me to a good search program to use for that purpose?
Thanks a lot!
Regards,
Hendikoischnur
Message Edited by hendikoischnur on 10-Aug-2009 11:52 AM
IT will paint our future - either green or black
* ecosia, the eco-friendly search engine (powered by Yahoo/Bing/WWF);
* Searching for pics online? Try ecocho.eu or treehoo.com
* For those who don´t want to miss Google: Try znout.de - it´s Google running on green energy
* CO2-free chatting: Try Jabber-server.de (running on 100% waterpower)Hi mgoksoy,
1) Through the ranking system here, you can become a wise man just by asking a lot of questions, so don´t assume I´m a mobile expert
2) There is no built-in search function in the E61, so I had a "third-party app" - albeit from Nokia - to start with. It just keeps asking for an internet connection and if I say No to its connection request, it just quits, it won´t search the local content anymore.
3) Since the problem has nothing to do with my phone memory being messy, but with the app just refusing to search anything without being online, I don´t see how a hard reset would help matters.
Regards,
Hendikoischnur
IT will paint our future - either green or black
* ecosia, the eco-friendly search engine (powered by Yahoo/Bing/WWF);
* Searching for pics online? Try ecocho.eu or treehoo.com
* For those who don´t want to miss Google: Try znout.de - it´s Google running on green energy
* CO2-free chatting: Try Jabber-server.de (running on 100% waterpower) -
How 2 find program for smartform
how 2 find program for smartform
Hi,
go to TNAPR table and find the driver program for the layout.
give the layout name, if you know the output type also give it.
OR
go to se71 and go to the layout , check the text elements syntax then it will show the possible driver programs in the window to choose.
that way you can find..
Or else...
Go to the Tcode -> NACE
OR
Go to the T-code 'SMARTFORMs'
Give your form name
go to the general attributes.
Check the Package name.
then go to T-Code-> SE80
there check the program name for a package wise
Regards,
KK
Message was edited by:
Kishore Kumar Karnati -
i want the name of the driver program & form name in smartform for Invoice .
kindly help.tksHi,
Go to transaction NACE, select application V3 - Billing then click on output types.
click on medium type.
For ex: NEU for print output, then on left hand side select processing routines, then you can see smart form/ script & driver programs associated with that.
Reward if it is useful
Praneeth -
Error, while calling driver program for Smartforms
Hi All,
I am getting a error while running DRIVER PROGRAM of smart form.
both driver program and smart form running successfully without any error while executing separately. But
while calling Smart Form from driver program. it is giving error as :-
*Events are already defined.*
Description :- You tried to define events for a section, but a section with
events is already active. You are not allowed to nest events.
Regards,
Pavan.MThis is nothing to do with coding, this coz of error is from smartforms....
Regards,
Pavan.M -
How find out print program for smartform?
i know smart form name but i want printprogram name for that.how to find?pls help me.
Hi
There's no method.
If you're speaking about a smartforms for logistics module (SD,MM), you can you the transaction NACE (or table TNAPR) in order to findout which program is assigned to that smartforms.
U can also try to find out all programs using the fm SSF_FUNCTION_MODULE_NAME and get only the program where the string containing the name of your smartform.
Max -
Hello,
Could you say me, if exist any program to customizing in NACE the output types for shipping only execute SMARTFORMS?
Tanks,
DLCHello David,
You can see NACE Transaction for Few SD,MM Transaction smartforms program name and layout
Select V2 Application -> click on output type -> here you are able to see
Check the table TNAPR for Programs and layout ( Mainly for SD,MM Objects )
If you want to see FI Module -> use T001F Table
Thanks
Seshu
Maybe you are looking for
-
How is the best way to organize and backup Adobe layered PSD files on iMac desktop OSX maverick? I lost all my Adobe Photoshop files + everything else on my IMAC when it crashed. They reinstalled Operating System. But now i must install programs suc
-
Erased Hard Drive and operating system accidentally via disk utility? Here's what to do
I thought I had messed up majorly today when I attempted to erase and re-install an operating system on my friends macbook pro. I used another computer and targeted his computer so his hard drive would show up on my desktop. I then used disk utility
-
How do I get rid of icloud in iTunes as I don't need it
I would like to turn off, grt rid, uninstall icloud from iTunes please.
-
Hi SAP Experts, I have activated document splitting and done the relevant config.under different nodes. But when i am doing transactions profit centre is not getting updated in the second line item. Its behaving like without document splitting manner
-
What is a good bitrate for my video (mp4 website embed)?
I'm trying to encode some music videos with PE to embed on my website as mp4 (streaming with jw player). How do I figure out a bit rate for maximum quality yet no buffering delays. I should probably assume some of my viewers will have relatively slo