cancel
Showing results for 
Search instead for 
Did you mean: 

smart forms

Former Member
0 Kudos

Hi ABAPers,

I Want to know how to call the generated function module in the ABAP editor

and i wnt small example and coding also if possible ............

reward points compulsary.

Thankyou in regards ,

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos
Former Member
0 Kudos

HAI

U CAN GET THE GENERATED FUNCTION MODULE, BY GOING THE MENU BAR OF THE FUNCTION MODULE. FOR UR REFERENCE I HAVE GN THE PRINT PROGRAM. IN THE I HAVE GN THE EXPLANATION.

&----


*& Report ZFARP006

*&

&----


*&

*&

&----


****************************************************************************

  • *

  • *

  • *

  • Description : BBALANCE CONFIRMATION PRINT PROGRAM FOR SMARTFORM(ZFAR004) *. *

  • *****

  • Tables : BSID (Select) *

  • KNB1 (Select) *

  • KNA1 *

  • T001 *

  • TGSB *

  • ADRC *

  • *

  • Created by : K.Safiq Basha *

  • *

  • Created on : 25:09:2007 *

  • *

************************************************************************

REPORT ZFARP006.

TABLES : BSID, KNA1, KNB1, T001, ADRC.

DATA : V_SORT2 LIKE ADRC-SORT2.

DATA : T_KNA1 LIKE KNA1 OCCURS 0 WITH HEADER LINE.

DATA : T_KNB1 LIKE KNB1 OCCURS 0 WITH HEADER LINE.

DATA : T_BSID LIKE BAPI3007_2 OCCURS 0 WITH HEADER LINE.

DATA : T_AMOUNT LIKE ZST_AMOUNT OCCURS 0 WITH HEADER LINE.

DATA : BEGIN OF T_T001 OCCURS 0,

BUKRS LIKE T001-BUKRS,

END OF T_T001.

DATA : BEGIN OF T_TGSB OCCURS 0,

GSBER LIKE TGSB-GSBER,

END OF T_TGSB.

*ZST_AMOUNT structure has the following fields.

  • COMP_CODE LIKE BAPI3007_2-COMP_CODE,

  • CUSTOMER LIKE BAPI3007_2-CUSTOMER,

  • CURRENCY LIKE BAPI3007_2-CURRENCY,

    • DB_CR_IND LIKE BAPI3007_2-DB_CR_IND,

  • BUS_AREA LIKE BAPI3007_2-BUS_AREA,

  • AMT_DOCCUR LIKE BAPI3007_2-AMT_DOCCUR,

*********ISSU DATE**********

DATA : ISDATE(10) TYPE C,

DATEI(10) TYPE C.

*********RECON DATE*****************

DATA : RCDATE(10) TYPE C,

DATER(10) TYPE C.

*********REPLY DATE*****************

DATA : REDATE(10) TYPE C,

DATERE(10) TYPE C.

DATA : FM_NAME TYPE RS38L_FNAM.

********************SELECTION CRITERIA************************

SELECTION-SCREEN BEGIN OF BLOCK BLK1 WITH FRAME TITLE TEXT-001.

SELECT-OPTIONS : CUST_NUM FOR KNB1-KUNNR OBLIGATORY,

COM_CODE FOR KNB1-BUKRS OBLIGATORY,

BUS_AREA FOR BSID-GSBER OBLIGATORY,

SPL_GL FOR BSID-UMSKZ.

PARAMETERS : RECO_DAT LIKE SY-DATUM OBLIGATORY,

ISSU_DAT LIKE SY-DATUM OBLIGATORY DEFAULT SY-DATUM,

REPL_DAT LIKE SY-DATUM OBLIGATORY.

SELECTION-SCREEN END OF BLOCK BLK1.

SELECTION-SCREEN BEGIN OF BLOCK BLK2 WITH FRAME TITLE TEXT-002.

PARAMETERS : CONT_PER(25) TYPE C OBLIGATORY,

CONT_PH(8) TYPE n OBLIGATORY,

CONT_FX(8) TYPE n OBLIGATORY,

FI_MAN(25) TYPE C OBLIGATORY.

SELECTION-SCREEN END OF BLOCK BLK2.

******************************************************************

At Selection-Screen.

REFRESH : T_T001, T_TGSB.

SELECT BUKRS FROM T001 INTO TABLE T_T001 WHERE BUKRS IN COM_CODE.

if sy-subrc <> 0.

MESSAGE e041(zfi).

endif.

SELECT GSBER FROM TGSB INTO TABLE T_TGSB WHERE GSBER IN BUS_AREA.

if sy-subrc <> 0.

MESSAGE e042(zfi).

endif.

START-OF-SELECTION.

PERFORM AUTHO_CHECK.

***************RECON DATE CONCATENATION*******************

RCDATE = RECO_DAT.

CONCATENATE RCDATE6(2) '/' RCDATE4(2) '/'RCDATE+0(4) INTO DATER.

***************ISSUE DATE CONCATENATION********************

ISDATE = ISSU_DAT.

CONCATENATE ISDATE6(2) '/'ISDATE4(2)'/' ISDATE+0(4) INTO DATEI.

***************REPLY DATE CONCATENATION********************

REDATE = REPL_DAT.

CONCATENATE REDATE6(2)'/'REDATE4(2) '/' REDATE+0(4) INTO DATERE.

SELECT * FROM KNB1 INTO TABLE T_KNB1

WHERE KUNNR IN CUST_NUM AND BUKRS IN COM_CODE.

T1_KNB1[] = T_KNB1[].

LOOP AT T_KNB1.

SELECT SINGLE * FROM KNA1 INTO T_KNA1

WHERE KUNNR = T_KNB1-KUNNR.

***********FINDING COMPANY ADDRESS NUMBER AND GST NUM************

SELECT SINGLE * FROM T001 WHERE BUKRS = T_KNB1-BUKRS.

SELECT SINGLE SORT2 FROM ADRC INTO V_SORT2 WHERE ADDRNUMBER = T001-ADRNR.

REFRESH T_BSID.

CALL FUNCTION 'BAPI_AR_ACC_GETOPENITEMS'

EXPORTING

COMPANYCODE = T_KNB1-BUKRS

CUSTOMER = T_KNB1-KUNNR

KEYDATE = RECO_DAT

TABLES

LINEITEMS = T_BSID.

SORT T_BSID BY CURRENCY.

LOOP AT T_BSID WHERE SP_GL_IND IN SPL_GL AND BUS_AREA IN BUS_AREA.

IF T_BSID-DB_CR_IND = 'H'.

MULTIPLY T_BSID-AMT_DOCCUR BY -1.

MOVE-CORRESPONDING T_BSID TO T_AMOUNT.

COLLECT T_AMOUNT.

ELSEIF T_BSID-DB_CR_IND = 'S'.

MOVE-CORRESPONDING T_BSID TO T_AMOUNT.

COLLECT T_AMOUNT.

ENDIF.

CLEAR : T_BSID, T_AMOUNT.

ENDLOOP.

CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME' (THIS FUNCTION MODULE IS USED TO CALL THE SMART FORM )

EXPORTING

FORMNAME = 'ZFAR004' => THIS IS UR SMART FORM NAME

  • VARIANT = ' '

  • DIRECT_CALL = ' '

IMPORTING

FM_NAME = 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 FUNCTION '/1BCDWB/SF00000016' => THIS IS THE FUNCTION MODULE GENERATED BY UR SMARTFORM.THIS WILL STORES THE CHANGES HAPPENING IN THE SMARTFORM WHENEVER U PRESS “EXECUTE OR F8 KEY’ IN UR SMARTFORM WINDOW.U CAN ALL THIS FUNTION MODULE BY USING “PATTERN” BUTTON IN UR ABAP EDITOR.

EXPORTING

  • ARCHIVE_INDEX =

  • ARCHIVE_INDEX_TAB =

  • ARCHIVE_PARAMETERS =

  • CONTROL_PARAMETERS =

  • MAIL_APPL_OBJ =

  • MAIL_RECIPIENT =

  • MAIL_SENDER =

  • OUTPUT_OPTIONS =

  • USER_SETTINGS = 'X'

S_SORT2 = V_SORT2

S_CADRNR = T_KNA1-ADRNR

S_CNUM = T_KNA1-KUNNR

S_IDAT = DATEI

S_CNAME = T_KNA1-NAME1

S_RDAT = DATER

S_REDAT = DATERE

S_UFAX = CONT_FX

S_UCONPR = CONT_PER

S_UCONPH = CONT_PH

S_UFIMAN = FI_MAN

  • IMPORTING

  • DOCUMENT_OUTPUT_INFO =

  • JOB_OUTPUT_INFO =

  • JOB_OUTPUT_OPTIONS =

TABLES

AMOUNT = T_AMOUNT.

  • 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.

refresh : t_bsid, t_amount.

ENDLOOP.

&----


*& Form AUTHO_CHECK

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM AUTHO_CHECK .

DATA : MSGF(60).

LOOP AT T_T001.

AUTHORITY-CHECK OBJECT 'F_BKPF_BUK'

ID 'BUKRS' FIELD T_T001-BUKRS

ID 'ACTVT' FIELD '03'.

IF SY-SUBRC NE 0 .

CLEAR MSGF.

CONCATENATE 'No Authorization to Company Code'

T_T001-BUKRS INTO MSGF SEPARATED BY SPACE.

MESSAGE E208(00) WITH MSGF.

ENDIF.

ENDLOOP.

LOOP AT T_TGSB.

AUTHORITY-CHECK OBJECT 'F_BKPF_GSB'

ID 'GSBER' FIELD T_TGSB-GSBER

ID 'GSBER' FIELD '4000'

ID 'ACTVT' FIELD '03'.

IF SY-SUBRC NE 0 .

CLEAR MSGF.

CONCATENATE 'No Authorization to Business Area'

T_TGSB-GSBER INTO MSGF SEPARATED BY SPACE.

MESSAGE E208(00) WITH MSGF.

ENDIF.

CLEAR : T_T001, T_TGSB.

ENDLOOP.

ENDFORM. " AUTHO_CHECK

Former Member
0 Kudos

hii

in the Se38 write following code:

DATA: LF_FM_NAME TYPE RS38L_FNAM.

DATA: LF_FORMNAME TYPE TDSFNAME.

CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'

EXPORTING FORMNAME = LF_FORMNAME

  • variant = ' '

  • direct_call = ' '

IMPORTING FM_NAME = LF_FM_NAME

EXCEPTIONS NO_FORM = 1

NO_FUNCTION_MODULE = 2

OTHERS = 3.

IF SY-SUBRC <> 0.

  • error handling

CF_RETCODE = SY-SUBRC.

ENDIF.

  • call smartform

reward points if useful

regards

Jaipal