cancel
Showing results for 
Search instead for 
Did you mean: 

formatting_error = 1

Former Member
0 Kudos

Hi. I have to call a smartform but I receive sy-subrc = 1. What does this exactly mean? Can that happen if my table passed to the form has some empty records?

Greetings. P.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

This could be the reason. However, to find out what it actually mean-open the FM in SE37 and look for exceptions. The value 1 should give you some idea about what could the probable reason be.

Regards,

Richa

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi all,

Your problem is that you don't have an output device defined in your own data.

To solve this you should add this parameter:

ls_output_options-TDPRINTER = 'SWIN'.

Your problem will be solved.

Greets

Kevin

former_member196280
Active Contributor
0 Kudos

Quite simple, identify the function module name and see exception = 1, you will understand what is this error raised for.

Regards,

SaiRam

Former Member
0 Kudos

That's the module:

FUNCTION /1BCDWB/SF00000037.
*"----------------------------------------------------------------------
*"*"Globalny interfejs:
*"       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(ADRNRWERKS) TYPE  ADRNR
*"             REFERENCE(ADRNR) TYPE  ADRNR
*"             REFERENCE(YBELNR) TYPE  MBLNR
*"             REFERENCE(PREPRAVA) TYPE  ZVR_SMART-TXZ
*"       EXPORTING
*"             VALUE(DOCUMENT_OUTPUT_INFO) TYPE  SSFCRESPD
*"             VALUE(JOB_OUTPUT_INFO) TYPE  SSFCRESCL
*"             VALUE(JOB_OUTPUT_OPTIONS) TYPE  SSFCRESOP
*"       TABLES
*"              ITEMS STRUCTURE  ZVR_SMART
*"              IEND STRUCTURE  ZVR_SMART
*"       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,
        %HEADER    TYPE SSFFORMHD,
        %REFTAB    TYPE TSFREF,
        %DOCSTRUC  TYPE TSFDOCSTRC,
        %TABDEFS   TYPE TSFTABDEF,
        %TABDEF    LIKE LINE OF %TABDEFS,
        %ARCTAB    TYPE TSFDARA,
        BEGIN OF %FULLNAME,
          FORM TYPE TDSFNAME VALUE 'ZLOI_ZVRATKA',
          VARI TYPE TDVARIANT,
        END OF %FULLNAME,
        L_SFSY     TYPE SFSY.

  IF USER_SETTINGS <> SPACE.
    OUTPUT_OPTIONS-TDDEST   = '*'.
    OUTPUT_OPTIONS-TDIMMED  = '*'.
    OUTPUT_OPTIONS-TDDELETE = '*'.
  ENDIF.
  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.
  IF CONTROL_PARAMETERS-NO_OPEN = SPACE.
    MOVE-CORRESPONDING OUTPUT_OPTIONS TO %INPUT.
    IF CONTROL_PARAMETERS-NO_DIALOG = SPACE.
      %INPUT-DIALOG = 'X'.
    ENDIF.
    IF OUTPUT_OPTIONS-XSFCMODE = SPACE.
      %INPUT-XSF        = ' '.
      %INPUT-XSFOUTMODE = ' '.
      %INPUT-XSFOUTDEV  = ' '.
    ENDIF.
    %INPUT-DEVICE            = CONTROL_PARAMETERS-DEVICE.
    %INPUT-TDPREVIEW         = CONTROL_PARAMETERS-PREVIEW.
    %INPUT-TDGETOTF          = CONTROL_PARAMETERS-GETOTF.
    %INPUT-ARCHIVE_OP        = ARCHIVE_PARAMETERS.
    %INPUT-MAIL_OP-SENDER    = MAIL_SENDER.
    %INPUT-MAIL_OP-RECIPIENT = MAIL_RECIPIENT.
    %INPUT-MAIL_OP-APPL_OBJ  = MAIL_APPL_OBJ.
    %INPUT-TDPROGRAM         = SY-REPID.
    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.
  %FULLNAME-VARI = %VARIANT.
  %VARIANT = SPACE.
  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 = 'ZLOI_ZVRATKA'.
    CALL FUNCTION 'SSFRT_WRITE_ERROR'
         EXPORTING
              I_ERRNUMBER = SSF_ERR_NO_RUNTIME_OBJECT
              I_MSGID     = 'SSFCOMPOSER'
              I_MSGNO     = '002'
              I_MSGV1     = 'ZLOI_ZVRATKA'.
    PERFORM %RAISE.
  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     = 'C'
       IMPORTING
            O_LANGUAGES          = %LANGUAGES.
  %HEADER-LANGU = %LANGUAGES-LANGU1.
  %WEXIT = SPACE.
  PERFORM %GLOBAL_CLEAR.
  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.
  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.

it's result is 1 so that should be a 'formatting error'. but it doesnt' tell me anything about mistake, where to correct the programm. I've cheched every function call in that module. but the sy-subrc is always 0. How to find the mistake? Where's the moment in which function m odule passes an exception to driver programm? I'd be grateful for info.

Former Member
0 Kudos

Hi Piotr,

I am also getting the same error.

Could you please tell me how you solved the problem.

Thanks and Regards,

Soumya.

Former Member
0 Kudos

go to su3 transaction and write a printer name into output divece

l think you will problem solving

Edited by: eyup_sinan on Dec 30, 2011 10:31 AM

Edited by: eyup_sinan on Dec 30, 2011 10:31 AM

Former Member
0 Kudos

Hi

The error got is due to the FORMATTING error of the Smartform.

Tp know correctly keep a break point in function module and execute again and find out the correct reason.

and ensure that the Smartform is assigned to the Driver program and Output type correctly in NACE tcode.

Reward points for useful Answers

Regards

Anji

Message was edited by:

Anji Reddy Vangala

Former Member
0 Kudos

Could You explain to me that part: <i>and Output type correctly in NACE tcode.</i> what's the NACE tcode? Greetings. P.