Which function Group a smart form belongs to?
Hello Gurus!!
May i know to which function group does the dynamically generated function module of a smart form belong to?
Thanks in Advance.
You can find out yourself...
1 Go to smartforms...
2 enter your Smartform name..
3 press the test button.. it will take you to the SE37
4 Press display button... select the First Tab... here you will have your function group.
Regards,
Naimesh Patel
Similar Messages
-
Function module of smart form delivered an error
Hi All,
I am getting an error like this
"Function module /1BCDWB/SF00000007 of smart form delivered an error"
FUNCTION /1BCDWB/SF00000007.
""Global interface:
*" IMPORTING
*" VALUE(ARCHIVE_INDEX) TYPE TOA_DARA 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'
*" VALUE(ARCHIVE_INDEX_TAB) TYPE TSFDARA OPTIONAL
*" REFERENCE(ORDERADM_H) TYPE CRMT_OUTPUT_ORDERADM_H_COM
*" REFERENCE(ACTIVITY_H) TYPE CRMT_OUTPUT_ACTIVITY_H_COM
*" REFERENCE(OPPORT_H) TYPE CRMT_OUTPUT_OPPORT_H_COM
*" REFERENCE(ORGMAN_H) TYPE CRMT_OUTPUT_ORGMAN_H_COM
*" REFERENCE(PARTNER_H) TYPE CRMT_OUTPUT_PARTNER_H_COMT
*" REFERENCE(PRICINGDATA_H) TYPE
*" CRMT_OUTPUT_PRICINGDATA_H_COM
*" REFERENCE(SALES_H) TYPE CRMT_OUTPUT_SALES_H_COM
*" REFERENCE(SHIPPING_H) TYPE CRMT_OUTPUT_SHIPPING_H_COM
*" REFERENCE(PAYPLAN_D_H) TYPE
*" CRMT_OUTPUT_PAYPLAN_D_H_COMT
*" REFERENCE(CUMULAT_H) TYPE CRMT_OUTPUT_CUMULAT_H_COM
*" REFERENCE(CUSTOMER_H) TYPE CRMT_OUTPUT_CUSTOMER_H_COM
*" REFERENCE(ACS_H) TYPE CRMT_ACS_H_COM
*" REFERENCE(BILLING_H) TYPE CRMT_OUTPUT_BILLING_H_COMT
*" REFERENCE(CANCEL_H) TYPE CRMT_OUTPUT_CANCEL_H_COMT
*" REFERENCE(APPOINTMENT_H) TYPE
*" CRMT_OUTPUT_APPOINTMENT_H_COMT
*" REFERENCE(BILLPLAN_D_H) TYPE
*" CRMT_OUTPUT_BILLPLAN_D_H_COMT
*" REFERENCE(BILLPLAN_H) TYPE CRMT_OUTPUT_BILLPLAN_H_COMT
*" REFERENCE(STATUS_D_H) TYPE CRMT_OUTPUT_STATUS_D_H_COMT
*" REFERENCE(STATUS_H) TYPE CRMT_OUTPUT_STATUS_H_COMT
*" REFERENCE(SRV_SUBJECT_H) TYPE
*" CRMT_OUTPUT_SRV_SUBJECT_H_COMT
*" REFERENCE(SRV_SUBJECT_I) TYPE
*" CRMT_OUTPUT_SRV_SUBJECT_H_COMT
*" REFERENCE(SRV_REASON_H) TYPE
*" CRMT_OUTPUT_SRV_REASON_H_COMT
*" REFERENCE(SRV_RESULT_H) TYPE
*" CRMT_OUTPUT_SRV_RESULT_H_COMT
*" REFERENCE(SRV_REFOBJ_H) TYPE
*" CRMT_OUTPUT_SRV_REFOBJ_H_COMT
*" REFERENCE(SRV_REFOBJ_I) TYPE
*" CRMT_OUTPUT_SRV_REFOBJ_H_COMT
*" REFERENCE(ORDERADM_I) TYPE CRMT_OUTPUT_ORDERADM_I_COMT
*" REFERENCE(ORDERADM_I_IN) TYPE
*" CRMT_OUTPUT_ORDERADM_I_IN_COMT
*" REFERENCE(ORDERADM_I_QT) TYPE
*" CRMT_OUTPUT_ORDERADM_I_QT_COMT
*" REFERENCE(ORGMAN_I) TYPE CRMT_OUTPUT_ORGMAN_I_COMT
*" REFERENCE(PRICINGDATA_I) TYPE
*" CRMT_OUTPUT_PRICINGDATA_I_COMT
*" REFERENCE(PRICING_I) TYPE CRMT_OUTPUT_PRICING_I_COMT
*" REFERENCE(PRODUCT_I) TYPE CRMT_OUTPUT_PRODUCT_I_COMT
*" REFERENCE(SALES_I) TYPE CRMT_OUTPUT_SALES_I_COMT
*" REFERENCE(SERVICE_I) TYPE CRMT_OUTPUT_SERVICE_I_COMT
*" REFERENCE(SCHEDLIN_I) TYPE CRMT_OUTPUT_SCHEDLIN_I_COMT
*" REFERENCE(SCHEDLIN_I_CF) TYPE
*" CRMT_OUTPUT_SCHEDLIN_I_CF_COMT
*" REFERENCE(SHIPPING_I) TYPE CRMT_OUTPUT_SHIPPING_I_COMT
*" REFERENCE(PARTNER_I) TYPE CRMT_OUTPUT_PARTNER_I_COMT
*" REFERENCE(ITEM_CSTICS_I) TYPE CRMT_ITEM_CSTICS_TAB
*" REFERENCE(CUSTOMER_I) TYPE CRMT_OUTPUT_CUSTOMER_I_COMT
*" REFERENCE(BILLING_I) TYPE CRMT_OUTPUT_BILLING_I_COMT
*" REFERENCE(CANCEL_I) TYPE CRMT_OUTPUT_CANCEL_I_COMT
*" REFERENCE(FINPROD_I) TYPE CRMT_OUTPUT_FINPROD_I_COMT
*" REFERENCE(ORDPRP_I) TYPE CRMT_OUTPUT_ORDPRP_I_COMT
*" REFERENCE(APPOINTMENT_I) TYPE
*" CRMT_OUTPUT_APPOINTMENT_I_COMT
*" REFERENCE(BILLPLAN_D_I) TYPE
*" CRMT_OUTPUT_BILLPLAN_D_I_COMT
*" REFERENCE(BILLPLAN_I) TYPE CRMT_OUTPUT_BILLPLAN_I_COMT
*" REFERENCE(STATUS_I) TYPE CRMT_OUTPUT_STATUS_I_COMT
*" REFERENCE(WORKING_SET_E_S_BBP) TYPE
*" /1CN/WORKING_SET_E_S_BBP_T
*" REFERENCE(LANGUAGE) TYPE SY-LANGU
*" REFERENCE(SERVICE_I_ASSI) TYPE
*" CRMT_OUTPUT_SERVICE_I_***_COMT
*" VALUE(FORM_TYPE) TYPE C OPTIONAL
*" REFERENCE(Y_V_PARTNER_FLAG) TYPE C OPTIONAL
*" 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 'YCRM_ORDER_SERVICE_RMA',
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,
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_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.
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'.
CONCATENATE &1-PARAMETER '[]' INTO L_NAME.
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.
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/SF00000007'
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_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 ARCHIVE_INDEX_TAB ARCHIVE_INDEX_TAB.
XDF2_APPEND_SRC_OBJECT ORDERADM_H ORDERADM_H.
XDF2_APPEND_SRC_OBJECT ACTIVITY_H ACTIVITY_H.
XDF2_APPEND_SRC_OBJECT OPPORT_H OPPORT_H.
XDF2_APPEND_SRC_OBJECT ORGMAN_H ORGMAN_H.
XDF2_APPEND_SRC_OBJECT PARTNER_H PARTNER_H.
XDF2_APPEND_SRC_OBJECT PRICINGDATA_H PRICINGDATA_H.
XDF2_APPEND_SRC_OBJECT SALES_H SALES_H.
XDF2_APPEND_SRC_OBJECT SHIPPING_H SHIPPING_H.
XDF2_APPEND_SRC_OBJECT PAYPLAN_D_H PAYPLAN_D_H.
XDF2_APPEND_SRC_OBJECT CUMULAT_H CUMULAT_H.
XDF2_APPEND_SRC_OBJECT CUSTOMER_H CUSTOMER_H.
XDF2_APPEND_SRC_OBJECT ACS_H ACS_H.
XDF2_APPEND_SRC_OBJECT BILLING_H BILLING_H.
XDF2_APPEND_SRC_OBJECT CANCEL_H CANCEL_H.
XDF2_APPEND_SRC_OBJECT APPOINTMENT_H APPOINTMENT_H.
XDF2_APPEND_SRC_OBJECT BILLPLAN_D_H BILLPLAN_D_H.
XDF2_APPEND_SRC_OBJECT BILLPLAN_H BILLPLAN_H.
XDF2_APPEND_SRC_OBJECT STATUS_D_H STATUS_D_H.
XDF2_APPEND_SRC_OBJECT STATUS_H STATUS_H.
XDF2_APPEND_SRC_OBJECT SRV_SUBJECT_H SRV_SUBJECT_H.
XDF2_APPEND_SRC_OBJECT SRV_SUBJECT_I SRV_SUBJECT_I.
XDF2_APPEND_SRC_OBJECT SRV_REASON_H SRV_REASON_H.
XDF2_APPEND_SRC_OBJECT SRV_RESULT_H SRV_RESULT_H.
XDF2_APPEND_SRC_OBJECT SRV_REFOBJ_H SRV_REFOBJ_H.
XDF2_APPEND_SRC_OBJECT SRV_REFOBJ_I SRV_REFOBJ_I.
XDF2_APPEND_SRC_OBJECT ORDERADM_I ORDERADM_I.
XDF2_APPEND_SRC_OBJECT ORDERADM_I_IN ORDERADM_I_IN.
XDF2_APPEND_SRC_OBJECT ORDERADM_I_QT ORDERADM_I_QT.
XDF2_APPEND_SRC_OBJECT ORGMAN_I ORGMAN_I.
XDF2_APPEND_SRC_OBJECT PRICINGDATA_I PRICINGDATA_I.
XDF2_APPEND_SRC_OBJECT PRICING_I PRICING_I.
XDF2_APPEND_SRC_OBJECT PRODUCT_I PRODUCT_I.
XDF2_APPEND_SRC_OBJECT SALES_I SALES_I.
XDF2_APPEND_SRC_OBJECT SERVICE_I SERVICE_I.
XDF2_APPEND_SRC_OBJECT SCHEDLIN_I SCHEDLIN_I.
XDF2_APPEND_SRC_OBJECT SCHEDLIN_I_CF SCHEDLIN_I_CF.
XDF2_APPEND_SRC_OBJECT SHIPPING_I SHIPPING_I.
XDF2_APPEND_SRC_OBJECT PARTNER_I PARTNER_I.
XDF2_APPEND_SRC_OBJECT ITEM_CSTICS_I ITEM_CSTICS_I.
XDF2_APPEND_SRC_OBJECT CUSTOMER_I CUSTOMER_I.
XDF2_APPEND_SRC_OBJECT BILLING_I BILLING_I.
XDF2_APPEND_SRC_OBJECT CANCEL_I CANCEL_I.
XDF2_APPEND_SRC_OBJECT FINPROD_I FINPROD_I.
XDF2_APPEND_SRC_OBJECT ORDPRP_I ORDPRP_I.
XDF2_APPEND_SRC_OBJECT APPOINTMENT_I APPOINTMENT_I.
XDF2_APPEND_SRC_OBJECT BILLPLAN_D_I BILLPLAN_D_I.
XDF2_APPEND_SRC_OBJECT BILLPLAN_I BILLPLAN_I.
XDF2_APPEND_SRC_OBJECT STATUS_I STATUS_I.
XDF2_APPEND_SRC_OBJECT WORKING_SET_E_S_BBP WORKING_SET_E_S_BBP.
XDF2_APPEND_SRC_OBJECT LANGUAGE LANGUAGE.
XDF2_APPEND_SRC_OBJECT SERVICE_I_ASSI SERVICE_I_ASSI.
XDF2_APPEND_SRC_OBJECT FORM_TYPE FORM_TYPE.
XDF2_APPEND_SRC_OBJECT Y_V_PARTNER_FLAG Y_V_PARTNER_FLAG.
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.
IF SY-SUBRC <> 0. RAISE ERROR. ENDIF.
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 = 'YCRM_ORDER_SERVICE_RMA'.
CALL FUNCTION 'SSFRT_WRITE_ERROR'
EXPORTING I_ERRNUMBER = SSF_ERR_NO_RUNTIME_OBJECT
I_MSGID = 'SSFCOMPOSER'
I_MSGNO = '002'
I_MSGV1 = 'YCRM_ORDER_SERVICE_RMA'.
PERFORM %RAISE.
ENDIF.
SELECT SINGLE SDATE STIME FROM D010SINF
INTO (%HEADER-SDATE, %HEADER-STIME)
WHERE PROG = '/1BCDWB/SAPLSF00000007'
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.
The function module 'SSFCOMP_PROCESS_DOCUMENT' is returning sy-subrc value 1.
Could you please tell me how to rectify this error
Thanks and Regards,
Soumya.The error I am getting is a formatting error as shown below:
L_ERROR-MSGTY E
L_ERROR-MSGID SSFCOMPOSER
L_ERROR-MSGV1 YTI_FCR004_RETREP_TYPE -
Sorting on tables in smart form
hi all,
i want to sort my table (at the time it is displayed) on smart form.
i don't have any options to sort it before.
plz help me.
thanksHi,
It is possible ABAP programing code...
In smart form is not possible.. while calling function module which is generated by smart form. u will sort interal talbe.
Hope this help.... assign points.\
raj -
Send Smart Forms within emails (html) Problems with format
Dear all,
the ABAP report SF_XSF_DEMO1 is a demo report which converts a certain smart form into HTML and then sends it as an email in html format.
Sending the email is possible without any problems but I am wondering about the email format.
<a href="http://www.imgbox.de/show/img/e4QvgzsS4L.jpg" title="Bilder hochladen">This screenshot shows how the email looks like.</a>
I am not happy with the email layout as the Smart Form "SF_XSF_DEMO1" is designed in a different way.
What do I have to adapt within the report in order to send an email that really looks like the Smart Form? Or is it a customizing issue?
(I would like to avoid having to send the Smart Form as PDF attachment...)
Thanks for you help!
Kristian KindlerHi Kristian,
When ever you send a smartform output as an HTML email, the system generates automatic style sheets which are not supported in many email clients such as Outlook 2007, hence you will face a formatting issue. We faced the same issue and had do it it like this:
Build a BSP page similar to the output which you want to send as an email. Now you can use the BSP URL to send the html email using cl_bcs class.
I have documented this in my article below-
http://divulgesap.com/blog.php?p=NDA=
Hope it helps.
Regards,
Ravikiran -
Smart form dynamic tray selection on printing
Hi Experts,
I have a requirement in smart form that need to output the a particular invoice to a particular tray a printer. For e.g. tray 2.
I have added TRY02 to the resource name of the pages in the smartform, but still the invoice is being printed to the default tray of the printer.
I have done a test to that printer by printing the SAPCRIPT-TRAYTEST from SO10, and the output is being printed correctly i.e. to the different trays. So I guess the printer has been configured correctly.
Is there any additional configurations that need to be done for smart forms for the tray selection works correctly? And, is it correct the way I implemented the functionality in the smart form?
Can someone help please?
Thanks in advance
Regards,
ZaheedHi Experts,
I have a requirement in smart form that need to output the a particular invoice to a particular tray a printer. For e.g. tray 2.
I have added TRY02 to the resource name of the pages in the smartform, but still the invoice is being printed to the default tray of the printer.
I have done a test to that printer by printing the SAPCRIPT-TRAYTEST from SO10, and the output is being printed correctly i.e. to the different trays. So I guess the printer has been configured correctly.
Is there any additional configurations that need to be done for smart forms for the tray selection works correctly? And, is it correct the way I implemented the functionality in the smart form?
Can someone help please?
Thanks in advance
Regards,
Zaheed -
How to find suitable( existing) function group for a Function Module ?
How to find suitable( existing) function group for a Function Module to be created?
This is FM for converting amounts to text.Hi,
If you are not sure into which Function group your FM should go in then its advised to create a Function group of your own. Its not advised to create a function module in any other function group unless its owned by you since your FM can get deleted by others or it can get changed.
Create your own Function group. But if you want to create in an existing FG then best way is to find out the Function Group by searching for suitable existing Function module then see their function group
Regards,
Sesh -
Hello experts:
I am currently using S_RFC with full authorization ( * ) for RFC users in satellite systems. Can anyone clarify what this implies in terms of security? Can I restrict the "Name of RFC to be protected" field only to the function groups requiered for each user?
Particulary, I am using an RFC connection for the test workbench through SolMan using trx STWB_WORK? Do the function groups requiered depend on the transaction or program I am testing through my assigned test package? If so, how can I find out which function groups a particular transaction or program requieres? If not, does it depend on the program or transaction from which I am making the RFC connection, in this case STWB_WORK?
Can someone shed some light on how to determine the strictly necessary function groups to be assigned in S_RFC?
Thank you all,
HenryHello Henry,
While we wait for somebody more knowledgable than myself to answer, some comments from me:
My understanding is that this tool uses eCATT (to retrieve the results of test cases) from remote systems.
Always usefull => Activate the security audit log (transaction SM19) using the dynamic tab to log all successfull RFC calls to find out which calls are made in those systems, and in your SolMan.
Also take a look at the function groups of transaction SECATT in transaction SU24 which might have a "Proposal" (previously "Check/Maintain" value), as they may appear in the audit log in your remote systems... (I am not sure what the default values are).
There is also a SAP note "Minimum authorizations for Workplace users" (Note 215927) which might be usefull for you.
I also think the access required (not only S_RFC) will be dependent on your test cases (begging the question: How can SAP deliver a correct default or role...). You can also mitigate this risk by not saving the logon data permanently in the connections...
Of course, the application authorizations (e.g. S_DEVELOP, S_USER_GRP, and many others...) are also important for security, and the user type for the connection (type SYSTEM is the recommended type, if the logon data is going to be saved) as well. You might also want the user to logon when the connection is opened, if they are running the test themselves..?
Another aspect is how your target system is setup? If an invoced RFC call leaves it's RFC group (and is able to!), do you want to be able determine which RFC_NAME groups it can call? Or do you want to prevent it using client settings (see tha CATT / eCATT restrictions in SCC4 for your release) and system settings for the RFC check?
Some alternate strategies are to accept the risk, use dedicated user IDs for the test cases and secure the access to this transaction (not only limited to STWB_WORK) in the source system (your SolMan). Though some security folks I know prefer securing the target, as a general security principle, you can make a "quick-win" by securing your SolMan security...
Tricky topic. Good question!
Cheers,
Julius -
Smart forms - Identifying the calling method and class
Hi Experts,
Is there a way to identify the method and class names that called a smart form..
Any inputs or pointers in this regard woul;d be of great help.
Regards,
Kris.Hi Kartik,
The procedure you suggested is good to identify the class by manual intervention.
But I need the class/mehtod name in the program as the logic of the code depends on which class called the smart form.
Any idea how this can be read?
Regards,
Kris. -
Hi Guys
where do we assign the smartforms to the output types? and where do we assign the function module for smart form?
regards
KumarHi,
You assign the smartforms and the print program in the customizing of your functionnal area ( MM, PP, SD, ... ).
So txn SPRO then look for 'ouput management'...
You do not assign the smartforms FM . In your print programm ( driver prog ) you got the code to retrieve the correct FM from the smartform name.
Hope this helps,
Erwan -
Callin two different subscreens which belong to different function groups
hi,
I have a main screen which contains two subscreens say 'sub1' and 'sub2'. This main screen is part of the function group say 'A'. 'sub1' is also part of this function group 'A' and hence i am able to get the data. But, 'sub2' is part of the function group 'B'. So when i call this subscreen i am unable to fetch the data. So, i wanted to know is there any way to fetch the data from the function group "B" and display it in the subscreen of function group "A".
i wrote the codes like this:
PBO:
CALL SUBSCREEN sub1
INCLUDING 'SAPLZNEW_ORDER' c_sub1.
CALL SUBSCREEN sub2
INCLUDING 'SAPLZ_CONTENT' c_sub2.
PAI:
call subscreen sub1.
call subscreen sub2.
The above is not working because the internal tables get refreshed when the call to subscreen 'sub2' is done.
Help will be appreciated with points.
Thanks.Hi
U have to create 2 fm in function group B:
- one to transfer the data from main screen (so fg A) to subscreen SUB2 (so fg B)
- one to return the data from subscreen SUB2 (so fg B) to main screen (so fg A).
PROCESS PBO.
CALL SUBSCREEN sub1 INCLUDING 'SAPLZNEW_ORDER' c_sub1.
MODULE TRANSFER_DATA_TO_SUB2.
CALL SUBSCREEN sub2 INCLUDING 'SAPLZ_CONTENT' c_sub2.
PROCESS PAI.
call subscreen sub1.
call subscreen sub2.
MODULE GET_DATA_FROM_SUB2.
So u need to insert a module before calling subarea SUB2 in order to transfer the data:
MODULE TRANSFER_DATA_TO_SUB2.
CALL FUNCTION 'Z_SET_DATA'
EXPORTING
ENDMODULE.
The IMPORTING paramenter of this new fm has to allow to transfer all data u need to manage the subscreen of SAPLZ_CONTENT.
Here u can insert all code in order to fill the input/output field of subscreen.
In PAI u can insert another fm in ordert to get the data setted in subscreen of SAPLZ_CONTENT':
MODULE TRANSFER_DATA_TO_SUB2.
CALL FUNCTION 'Z_GET_DATA'
IMPORTING
ENDMODULE.
The EXPORTING paramenter of this new fm has to allow to transfer all data u need to manage in main screen.
It's import both function modules belong to the function group Z_CONTENT.
Max -
V_T011 - You are changing a function group which does not belong to you
I've read some posts about my problem I report here, but have not found the solution.
In transaction SE54 -> V_T011 -> Generated Objetcs -> Create / Change I can not save the data transport details dialog for standard recording routine.
The warning "You are changing the function group Which does not belong to you" is shown. The change is not saved.
Can anyone help me?
ThanksI would like to change the DIALOG DATA TRANSPORT DETAILS:
Actually is configured with the option no,or user, recording routine. I want to save to Standard recording routine.
Thanks, -
Note 123383 You are changing a function group which does not belong to you
Applying note 123383. Got SSCR keys from SAP to modify the identified tables.
When trying to save changes, get error message "You are changing a function group which does not belong to you".
I changed Function Group ownership to myself, but still get error message.
Anyone have an idea how to resolve?Just in case... did you do the following?
"If, when you are maintaining certain views, the error message DS138 'Changes prohibited by user ... ' or error message EU522 'Changes to ... are prohibited by ... ' is generated, remove the <b>editor lock</b> from programs L0GFNTOP and L0GFPTOP as described in Note 37900."
~Suresh -
How to Print form using SAP Smart Forms which is migrated from SAP Script?
Hello every one,
i have a problem in printing form using smart form which is migrate from the SAP Script...so what method i have to use...if any one know the solution for this than plz reply me as soon as possible...hi
when ever u want to migrate the script to smartform u have to chage the driver program also..
refere this link to convert script to smartform
convert sapscript to smartform
c_formname = u r smartform name...
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = c_formname
IMPORTING
fm_name = v_fm_name
EXCEPTIONS
no_form = 1
no_function_module = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
...........................CALL SMARTFORM............................
CALL FUNCTION v_fm_name
EXPORTING
control_parameters = st_control_parameters
output_options = st_output_options
IMPORTING
document_output_info = st_document_output_info
job_output_info = st_job_output_info
job_output_options = st_job_output_options
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. -
Smart Form for cutomised Inovice, Functional spec
Dear all,
I need to give Functional specification for developing a smart form for Invoice. Tables are not as evident as we have in case of R/3. please give me general tips to give spec to abap consultant to fetch various fields.
where used list of tables for a particular field is also not helping much. I need
1) Bill to address
2) sold to address
3)condition data
4) terms of payment
5) reference date stuff
Please suggest me a general way or logic bassed on which i can ask my abap consultant to develop the smartform and driver prog as well.
Thnaks in advance,
Regards,
Kiran CHi
yes usually customers ask to adopt the same layout as they are already using. Usually I draw the layout on visio and assign a number for each field. In the spec I put the layout picture and and mention for which field where data will come from.
For example:
A. PO header:
Field number | Description | Source
1 | PO number | EKKO-EBELN
2 | Vendor code | EKKO-LIFNR
3 | Vendor name | LFA1-NAME1 * rule 1
C. Rules:
1 - select NAME1 from table LFA1 where LFA1-LIFNR = EKKO-LIFNR
Hope this helps.
Regards
Eduardo Chagas -
Functional specification and logic flow for smart form PO
Dear Friends ,
For PO develelpment in smart form as per client requirement which are the details we need to give for developers . I had given only table and fiels name for the displaying elements in PO , message type , document type . They are asking conditions also , is it this the job of functional consultant ? .
If any one having sample FS for PO plaese send . Other than EKKO , EKPO which are the table are there for PO related...?
RBHi
Based on your requiremnts you need to give the details of the fields
First List down all the Required fileds to be in the layout like Vendor details, Plant details, delivery details, Material details, Conditions, Terms & conditions.
Based on the above you can get the details from the tables used in PO creation.
EKKO Purchasing Document Header
EKPO Purchasing Document Item
EKKI Purchasing Condition Index
EKAN Vendor Address: Purchasing Document
EKKN Account Assignment in Purchasing Document
EKPA Partner Roles in Purchasing
EKPB "Material Provided" Item in Purchasing Document
EKPV Shipping Data For Stock Transfer of Purchasing Document Item
KONV Conditions (Transaction Data)
EREV Version in Purchasing
MARA -
MARC -
These tables can be used based on your requiremnts
Thanks & Regards
Kishore
Maybe you are looking for
-
My ten AT&T/Yahoo! email addresses slowly stopped working ...
All were set up as IMAP accounts and all addresses are of the @sbcglobal.net type. Even though I could log into the same accounts via the web using Safari, and all passwords are stored in my Keychain, the Mail app was rendered useless by popdowns co
-
GTX 770 2GB Twin Frozr OC does not POST
Been building new PC over last couple of days. When I do not have the graphics card installed my system works fine. With the graphics card installed I am unable to reach the POST screen. I have switched the monitor cable between the graphics card a
-
HELP - Put wrong apple ID in iphone!
My husand and I both have iphones and use one itunes account. When downloading the latest update for the iphone, i accidentally used my apple id on his phone. Now I can't seem to change it.
-
How to create a non-destructive luminosity/b&w mask for (de)saturation?
Someone asked me this question: CG renders (created in Modo, Max, Blender, Maya, Vray, Octane, etc) can be made to look more realistic by desaturating the colours in the highlights. It was also requested that this move would be done in 32bpc as well
-
Canon i960 how to make it work?
Canon i960 only prints red and blue. Any ideas?