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
Similar Messages
-
Hi,
If I have given smartform how could i check which program w se38 is connected with it and in which it is created?
Regards,
JoannaHi,
If ur smartform attached to some Y or Z driver Program, then it is difficult to find out. Becauce FM for Smartform is changed at runtime. Our Y or Z Program get current FM for SmartForms by FM 'SSF_FUNCTION_MODULE_NAME'.
In table TPANR, U can find those smartforms & Program names which are attached with some output type.
And also look at the transaction code NACE, there you can find the Driver program and also the samrtform name under the output type
Regards
Sudheer -
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 -
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... -
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 -
How to find Printprogram for Smartform.
Hi,
I want to see the print program(Executable program) of the Smartform. We have one Smartform, when we activate smartform it will generate one FM. that function module is called Dynamically. How can i know which program is calling that function module.
Regards,
Nagesh.Hi
You can't do it.
If your print is std, you can try the link in TNAPR table if you know the message type.
If your print is custom, you should know the program.
The print program for smartform has usually a code like this to run SM:
DATA: formname type tdsfname value 'ZMY_SMARTFORM',
fm_name type rs38l_fnam.
Here get out the mane of fm of sf
call function 'SSF_FUNCTION_MODULE_NAME'
exporting
formname = formname
importing
fm_name = fm_name
exceptions
no_form = 1
no_function_module = 2
others = 3.
if sy-subrc <> 0.
exit.
endif.
Here run the sf
call function fm_name
Max
Message was edited by: max bianchi -
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
MontoWell 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. -
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^ -
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 programming for GPIB Primary Address 0 and 31?
Hello. How to programming for GPIB Primary Address 0 and 31?
Make sure no other instruments are at addresses 0 and 31. National Instruments GPIB controllers default to primary address 0, so if you want to use an instrument at primary address 0, you should change the address or your controller. You can do this by using the ibpad function.
NI-488.2 Function Reference Manual for Windows -
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 -
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 -
Finding Program for triggering Print Program (MIGO - Goods Receipt)
Hi all,
Currently, I have developed customized print program and SMARTFORMS for Goods Receipt via MIGO, with output type ZZGR.
Typically, this is a inter-plant transfer, where Plant A will issue a Delivery Order to Plant B, and Plant B will post goods receipt via MIGO (Movement Type 101), using Delivery Order number. As soon as the Material Document is posted, the SMARTFORMS shall be triggered by customized print program, in order to print out the goods receipt document upon material doc posted.
The config for output determination (via TCODE NACE) for goods receipt is configured. I have tested post a goods receipt using Delivery Order, and Material Document is posted successfully. However, I got a message from SAP Inbox (Businees Area), saying that my Material Document having an update error, and the root cause is specifically from calling Function Module to trigger Smartforms in the print program. From tcode ST22, I realized that the error is due to empty parameter being passed to the function module (where the parameter is required field for further processing in Smartform).
In order to rectify why empty parameter is bieng passed, I will have to debug the print program, after GR posted from MIGO. Therefore, can someone shed some lights on how to perform a debugging process, or any standard sap program involved, as I understand that the print program is triggered (in background) after GR posted?
Also, can I know why the Material Document will not be committed to MKPF table after GR posted, is it due to the update error from the above mentioned?
Many thanks.
Best regards,
Patrick
P/S: I'm using SAP ECC6.Actually, this print program is being triggered in the update processing.
Put a breakpoint in your driver program.
In MIGO, before pressing the SAVE button start debugging.
Press the SAVE button.
Start the update debugging by Settings > Update Debugging.
As soon as you continue in debugging, it would open another debugging session for the Update debugging. You can press continue and it would stop at your breakpoint.
Regards,
Naimesh Patel -
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 -
Hello Gurus,
I need to identify what program or transaction does a Particular IDOC type is associated to.
How do I find Program related to IDOC type?
How many ways to find such link?
Regards,
Abhishek.Hello Gurus,
My scenario is to find the easiest way to search for the Link between and IDOC type (Outbound idoc) to a program.
I have list of all the IDOC type now I need to find from where these IDOC´s are triggering from?
Regards,
Abhishek...
Maybe you are looking for
-
How do I add more RAM to my macbook pro 15 inch late 2008 model?
I am wondering if I ma able to add more RAM to my 15 inch MacBook Pro from late 2008. It currently has 2 slots each with 2GB of RAM each. Am I able to change those out with higher amounts of RAM for each slot? Or is this thing maxed out and i'm out o
-
Delimit button not working in table maintainance generator
Hi Gurus, i created table maintenance generator for the view.in this view i hide one field i.e. sequence no. and when ever user entering the values, this sequence no. automatically increased for each record. I just included the code in
-
Hi, I am passing a future cancellation date for a service contract through a custom BAPI . The date is getting passed, but the billing plan line items are not getting deleted. I have to manually go into the service contract and select the date again
-
Trying to setup PPPoE connection
Hi guys. I've got a Netcomm NB5 modem/router and WRT610n. I decided to upgrade the NB5 firware, change admin password, and change the way the NB5 and WRT610n talk to each other. My current setup is as follows: NB5 has a local IP of 192.168.0.1 WRT ha
-
I Cannot Select instruments/scroll over them in Magic Garageband
When I scroll over the instruments on magic garageband they don't light up and i cannot click on them. Why is this?