Wednesday, August 6, 2025

Print Multiple Smartform from Driver Program

 REPORT ZPRIMT_MUL_SMARTFORMS.


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.

Thursday, May 15, 2025

Overview of SAP C4C

 Overview of SAP C4C





SAP Cloud for Customer (C4C) is a cloud-based software that maintains customer sales, customer service, and marketing activities efficiently and is one of the main SAP solutions to manage customer relationships.

The target groups of SAP C4C are therefore all areas of the company that have contact points with customers essentially sales, marketing, and service.

SAP C4C is based upon the following individual products:

Ø             SAP Cloud for Sales

Ø             SAP Cloud for Marketing

Ø             SAP Cloud for Social Engagement

Features of SAP C4C:

Ø         Sales Force Automation

Ø         Marketing Automation

Ø         Customer Service and Support

Ø         Analytics and Reporting

Ø         Extended CRM Capabilities

Ø         Product Technology

SAP C4C solution can be simply integrated with SAP ERP and CRM on-premise solution. There are two ways of integration as follows:

· SAP Process Integration PI/PO − This integration is recommended when you are already utilizing process integration for on-premise systems.

· SAP HANA Cloud Integration HCI − This integration is suggested when you have to perform cloud-to-cloud integration.

Advantages of SAP C4C:

· Consume less time and money for its development — Utilizing the SAP C4C (Cloud for Customer) can save the users time as it is an integration content, executing all the hard work for its users. It contains converging all messages, mappings, and interfaces to different adapters for distinct scenarios.

· A minimal portion of configuration is all a user ever requires to identify adapters’ connection in detail, such as permitting their current landscape to sustain the integration, offering a way to essential firewalls, and organizing proxies or reverse proxies whenever needed.

· Classic SAP C/4 HANA integrations as a template — Marketers can reduce the development duration while combining a third-party system with the enterprise landscape by employing a template C/4 HANA reporting, HR, and marketing means.

· Content gets automatically updated in line with each C/4 HANA release — It is an important advantage for consultants and developers when new content gets released routinely, as it trims project timelines, thus lowering the workload.

· SAP C/4 HANA also avoid its users from retaining to rebuilding all their interfaces from scratch — This same standard integration content, SAP C4C, can efficiently be extended, if its user requires additional fields.

Summary:

SAP C4C (Cloud for Customer) outperformed the average CRM solution in nearly every module we analyzed. It particularly excelled in the extended CRM, analytics, and customer service modules with a toolkit that can benefit most organizations. It is important to keep in mind that this features and function analysis assesses the number of available features with each product over the detailed real-world application of each functionality. Any software solution’s benefits will depend on metrics that include an organization’s respective budget, limitations, and business goals.