sap abap smartforms output of loop in single go

sap abap smartforms output of loop in single go







REPORT ZCHEQUE_PRINT_MUL.

DATA :  FM_NAME  TYPE RS38L_FNAM,
        CONTROL_PARAMETERS  TYPE  SSFCTRLOP,
        OUTPUT_OPTIONS  TYPE SSFCOMPOP,
        JOB_OUTPUT_INFO TYPE  SSFCRESCL.

types begin of tp_itab,
        name(50),
        date(8),
        amt(15),
        end of tp_itab.

data gt_itab type STANDARD TABLE OF tp_itab,
       gs_itab type tp_itab,
       gv_cnt type i,
       gv_cnt2 type i.


DATA GV_FILE  TYPE STRING,
       GV_FLAG  TYPE FLAG,
       GV_FLAG1 TYPE FLAG.



SELECTION-SCREEN begin of BLOCK b1 WITH FRAME TITLE text-001.
 PARAMETERS IP_NAME  TYPE CHAR100,
              IP_CDATE  TYPE  SYDATUM,
              IP_AMT  TYPE  PC207-BETRG.
SELECTION-SCREEN skip.
PARAMETERS P_FILE    TYPE IBIPPARMS-PATH OBLIGATORY.
SELECTION-SCREEN end of BLOCK b1.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.

*  PERFORM get_file_path CHANGING filename.
  CALL FUNCTION 'F4_FILENAME'
*    EXPORTING
*      PROGRAM_NAME  = SYST-CPROG
*      DYNPRO_NUMBER = SYST-DYNNR
*      FIELD_NAME    = ''
    IMPORTING
      FILE_NAME P_FILE.


START-OF-SELECTION.

 if P_FILE is NOT INITIAL.

   GV_FILE P_FILE.
  CLEAR GT_ITAB[].

  CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
      FILENAME                GV_FILE
      FILETYPE                'ASC'
      HAS_FIELD_SEPARATOR     'X'
*     HEADER_LENGTH           = 0
*     READ_BY_LINE            = 'X'
*     DAT_MODE                = ' '
*     CODEPAGE                = ' '
*     IGNORE_CERR             = ABAP_TRUE
*     REPLACEMENT             = '#'
*     CHECK_BOM               = ' '
*     VIRUS_SCAN_PROFILE      =
*     NO_AUTH_CHECK           = ' '
*  IMPORTING
*     FILELENGTH              =
*     HEADER                  =
    TABLES
      DATA_TAB                GT_ITAB[]
*  CHANGING
*     ISSCANPERFORMED         = ' '
    EXCEPTIONS
      FILE_OPEN_ERROR         1
      FILE_READ_ERROR         2
      NO_BATCH                3
      GUI_REFUSE_FILETRANSFER 4
      INVALID_TYPE            5
      NO_AUTHORITY            6
      UNKNOWN_ERROR           7
      BAD_DATA_FORMAT         8
      HEADER_NOT_ALLOWED      9
      SEPARATOR_NOT_ALLOWED   10
      HEADER_TOO_LONG         11
      UNKNOWN_DP_ERROR        12
      ACCESS_DENIED           13
      DP_OUT_OF_MEMORY        14
      DISK_FULL               15
      DP_TIMEOUT              16
      OTHERS                  17.
  IF SY-SUBRC <> 0.
* Implement suitable error handling here
  ENDIF.


 ENDIF.

    CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
      EXPORTING
        FORMNAME                 'ZCHEQUE_PRINT1'
*       VARIANT                  = ' '
*       DIRECT_CALL              = ' '
     IMPORTING
       FM_NAME                  FM_NAME
     EXCEPTIONS
       NO_FORM                  1
       NO_FUNCTION_MODULE       2
       OTHERS                   3
              .
    IF SY-SUBRC <> 0.
* Implement suitable error handling here
    ENDIF.

    describe table gt_itab lines gv_cnt.


  IF FM_NAME IS NOT INITIAL.

    loop at gt_itab into gs_itab.

    if gv_cnt ne 1.

    gv_cnt2 sy-tabix .
    case gv_cnt2.
    when '1'.
    control_parameters-no_open   space.
    control_parameters-no_close  'X'.
    when gv_cnt .
    control_parameters-no_open   'X'.
    control_parameters-no_close  space.
    when others.
    control_parameters-no_open   'X'.
    control_parameters-no_close  'X'.
    endcase.

    endif.

    CONTROL_PARAMETERS-PREVIEW    'X'.
*    CONTROL_PARAMETERS-GETOTF    = 'X'.   "to get otf data

    CONTROL_PARAMETERS-NO_DIALOG  'X'.
    OUTPUT_OPTIONS-TDDEST         'LP01'.

    ip_name   gs_itab-NAME.
    IP_CDATE  gs_itab-DATE.
    CONDENSE gs_itab-AMT.
    IP_AMT gs_itab-AMT.

  CALL FUNCTION FM_NAME             "'/1BCDWB/SF00000259'
   EXPORTING
*     ARCHIVE_INDEX              =
*     ARCHIVE_INDEX_TAB          =
*     ARCHIVE_PARAMETERS         =
     CONTROL_PARAMETERS         CONTROL_PARAMETERS
*     MAIL_APPL_OBJ              =
*     MAIL_RECIPIENT             =
*     MAIL_SENDER                =
     OUTPUT_OPTIONS             OUTPUT_OPTIONS
     USER_SETTINGS              'X'
     IP_NAME                    IP_NAME
     IP_CDATE                   IP_CDATE
     IP_AMOUNT                  IP_AMT
*   IMPORTING
*     DOCUMENT_OUTPUT_INFO       =
*     JOB_OUTPUT_INFO            = JOB_OUTPUT_INFO
*     JOB_OUTPUT_OPTIONS         =
   EXCEPTIONS
     FORMATTING_ERROR           1
     INTERNAL_ERROR             2
     SEND_ERROR                 3
     USER_CANCELED              4
     OTHERS                     5
            .
  IF SY-SUBRC <> 0.
* Implement suitable error handling here
  ENDIF.

*   CALL FUNCTION 'HR_IT_DISPLAY_WITH_PDF'
**    EXPORTING
**      IV_PDF          =
*    TABLES
*      OTF_TABLE       = JOB_OUTPUT_INFO-OTFDATA.

    endloop.

  ENDIF.
END-OF-SELECTION.

Post a Comment

3 Comments

  1. can i get original,duplicate , triplicate , extra copies of single PO in single call of smartform. for example original is first below original copy ,duplicate and below trplicate copy is required
    regards
    thanks in advance

    ReplyDelete
  2. This comment has been removed by the author.

    ReplyDelete
  3. This comment has been removed by the author.

    ReplyDelete

Total Pageviews