Compressing data in Smartform

Dear All
  I am  supposed to  customize   a    Smartforms(HCM)   which   has   a   work   schedule   being displayed  as  follows currently 
Week No  1                        Days Off  SAT/SUN
           Start Time         End Time              
Sat           00                00          
Sun           00                00
Mon           800             1700
Tue           800              1700
Wed           800              1700
Thu           800              1700
Fri           800              1700
Which consumes lot of space & readability  is  not   up to  the mark  , so  the   following   format  is   recommended
Week No  Days On     Start Time   End Time      Days Off
1     MO/TU/WE/TH/FR   800          1700
                       00            00          SA/SU
2     SA/MO/TU/WE/TH   800          1700                          00             00         SU/FR
existing format is being dispalyed with the help of a loop node with a table type interface
Now the same loop node is to be modified to get the recommended format (they dont want to modify the print/driver program ,only smartform is to be modified )
Plz help me out  to solve the same .
Thanks
Moni

Dear Sasi
   Here is the steps i followed
   Under global def TYPES tab
      TYPES:
   BEGIN OF NEW_SCHL_FORMAT,
       POSITION_ID TYPE N,
       WEEKNO TYPE N,
       DAYS_ON TYPE STRING,
       STIME  TYPE T,
       ETIME  TYPE T,
       DAYS_OFF TYPE STRING ,
   END OF NEW_SCHL_FORMAT,
   NW_SCHEDULE TYPE TABLE OF NEW_SCHL_FORMAT.
Under Global Data tab
    NEW_SCHEDULE     TYPE     NW_SCHEDULE
    WA_NSCHEDULE     TYPE     NEW_SCHL_FORMAT
Having had a LOOP node ( IT_SCHEDULE INTO WA_SCHEDULE )  & under this => a Program lines(with i/p para IT_SCHEDULE ,D1,D2,D3,D4,D5,D6,D7,WA_NSCHEDULE & O/P parameter WA_SCHEDULE,D1,D2,D3,D4,D5,D6,D7,NEW_SCHEDULE )
with the code as follows
WA_NSCHEDULE-POSITION_ID = WA_SCHEDULE-POSITION_ID.
WA_NSCHEDULE-WEEKNO = WA_SCHEDULE-WEEK_NUMBER.
WA_NSCHEDULE-DAYS_ON = SPACE.
WA_NSCHEDULE-STIME = '000000'.
WA_NSCHEDULE-ETIME = '000000'.
WA_NSCHEDULE-DAYS_OFF = WA_SCHEDULE-DAYS_OFF.
APPEND WA_NSCHEDULE TO NEW_SCHEDULE.
CLEAR: D1,D2,D3,D4,D5,D6,D7,WA_NSCHEDULE.
WA_NSCHEDULE-POSITION_ID = WA_SCHEDULE-POSITION_ID.
*NEW_SCHEDULE-WEEKNO = SPACE.
IF     WA_SCHEDULE-START_TIME1 <> '000000'
   AND WA_SCHEDULE-END_TIME1 <> '000000'.
  D1 = 'SA/'.
IF NEW_SCHEDULE-STIME NE SPACE AND NEW_SCHEDULE-ETIME NE SPACE.
  WA_NSCHEDULE-STIME = WA_SCHEDULE-START_TIME1.
  WA_NSCHEDULE-ETIME = WA_SCHEDULE-END_TIME1.
ENDIF.
ENDIF.
IF     WA_SCHEDULE-START_TIME2 <> '000000'
      AND  WA_SCHEDULE-END_TIME2 <> '000000'.
  D2 = 'SU/'.
  IF WA_NSCHEDULE-STIME NE SPACE AND WA_NSCHEDULE-ETIME NE SPACE.
    WA_NSCHEDULE-STIME = WA_SCHEDULE-START_TIME2.
    WA_NSCHEDULE-ETIME = WA_SCHEDULE-END_TIME2.
  ENDIF.
ENDIF.
IF     WA_SCHEDULE-START_TIME3 <> '000000'
      AND  WA_SCHEDULE-END_TIME3 <> '000000'.
  D3 = 'MO/'.
  IF WA_NSCHEDULE-STIME NE SPACE AND WA_NSCHEDULE-ETIME NE SPACE.
    WA_NSCHEDULE-STIME = WA_SCHEDULE-START_TIME3.
    WA_NSCHEDULE-ETIME = WA_SCHEDULE-END_TIME3.
  ENDIF.
ENDIF.
IF     WA_SCHEDULE-START_TIME4 <> '000000'
      AND  WA_SCHEDULE-END_TIME4 <> '000000'.
  D4 = 'TU/'.
  IF WA_NSCHEDULE-STIME NE SPACE AND WA_NSCHEDULE-ETIME NE SPACE.
    WA_NSCHEDULE-STIME = WA_SCHEDULE-START_TIME4.
    WA_NSCHEDULE-ETIME = WA_SCHEDULE-END_TIME4.
  ENDIF.
ENDIF.
IF     WA_SCHEDULE-START_TIME5 <> '000000'
      AND  WA_SCHEDULE-END_TIME5 <> '000000'.
  D5 = 'WE/'.
  IF WA_NSCHEDULE-STIME NE SPACE AND WA_NSCHEDULE-ETIME NE SPACE.
    WA_NSCHEDULE-STIME = WA_SCHEDULE-START_TIME5.
    WA_NSCHEDULE-ETIME = WA_SCHEDULE-END_TIME5.
  ENDIF.
ENDIF.
IF     WA_SCHEDULE-START_TIME6 <> '000000'
      AND  WA_SCHEDULE-END_TIME6 <> '000000'.
  D6 = 'TH/'.
  IF WA_NSCHEDULE-STIME NE SPACE AND WA_NSCHEDULE-ETIME NE SPACE.
    WA_NSCHEDULE-STIME = WA_SCHEDULE-START_TIME6.
    WA_NSCHEDULE-ETIME = WA_SCHEDULE-END_TIME6.
  ENDIF.
ENDIF.
IF     WA_SCHEDULE-START_TIME7 <> '000000'
      AND  WA_SCHEDULE-END_TIME7 <> '000000'.
  D7 = 'FR'.
  IF WA_NSCHEDULE-STIME NE SPACE AND WA_NSCHEDULE-ETIME NE SPACE.
    WA_NSCHEDULE-STIME = WA_SCHEDULE-START_TIME7.
    WA_NSCHEDULE-ETIME = WA_SCHEDULE-END_TIME7.
  ENDIF.
ENDIF.
CONCATENATE D1 D2 D3 D4 D5 D6 D7 INTO WA_NSCHEDULE-DAYS_ON.
WA_NSCHEDULE-DAYS_OFF = SPACE.
APPEND WA_NSCHEDULE TO NEW_SCHEDULE.
CLEAR: D1,D2,D3,D4,D5,D6,D7,WA_NSCHEDULE  .
But the NEW_SCHEDULE is not getting populated ,
Hellllllppppppp...... Plz
Thanks
Moni
Message was edited by: Monirujjaman MD

Similar Messages

  • Display data in smartforms using report

    hi,
    i want to display data from smartform using report.
    i have a preview buttons in report when i select preview buttons displays in smarts
    regards
    amit

    design the smartform as per ur need and get  the function module generated by smartform and pass it to ur report programas below..
    case sy-ucomm.
    when 'smartform'.
    pass the f.m that is generated by system in smartforms
           CALL FUNCTION '/1BCDWB/SF00000265'
        EXPORTING
        ARCHIVE_INDEX              =
        ARCHIVE_INDEX_TAB          =
        ARCHIVE_PARAMETERS         =
        CONTROL_PARAMETERS         =
        MAIL_APPL_OBJ              =
        MAIL_RECIPIENT             =
        MAIL_SENDER                =
        OUTPUT_OPTIONS             =
        USER_SETTINGS              = 'X'
          DATE_L                     = s_fkdat-low
          DATE_H                     = s_fkdat-high
          PLANT_L                    = s_werks-low
          PLANT_H                    = s_werks-high
      IMPORTING
        DOCUMENT_OUTPUT_INFO       =
        JOB_OUTPUT_INFO            =
        JOB_OUTPUT_OPTIONS         =
        TABLES
          IFINAL                     = ifinal1[]
      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.
    endcase.

  • Report and data comming wrong after compress data with full optimization

    In SAP BPC 5.1 version to increase the sysetm performance we did full optimization with compress data.
    Theis process end with error, after login into system the report and values comming wrong,
    What is the wrong,how to rectify it
    Regards
    prakash J

    This issue is resolved,

  • How can i print data in smartforms from ABAP program.

    Dear gurus:
    in my abap program i process require data, and saved in a internal table.
    how can l print the data in smartforms.?
    who can give me a code sample is better:)
    reward all helpful advise.

    Try this....
    1) Tcode --> SmartForms
    2) Form name --> Z_SF_TEST Create
    3) Under Global settings
    a) Form Interface  
        Table Tab
       ITAB LIKE EKPO
    b) GLOBAL Definitions
    WA_NETPR LIKE EKPO-NETPR
    In smart forms if we want to display quantity and currency fields. We can't directly display currency field and quantity fields
    For that we have to create an extra variable in global definitions
    Ex: netpr FIELD of EKPO
    CREATE program lines and specify WA_NETWR = itab-netpr.
    4) RT CLick on main Window
       CREATE --> TABLE
      Click Table painter
    DEFAULT %LTYPE will be Created
    a) If you want more like Header footer etc add by rt click on %LTYPE1
    Table (Tab)
    %LTYPE  Radio(SELECT) 5 CM 5 CM 6 CM
    CLICK on DATA (Tab)
    INTERNAL TABLE ITAB LIKE ITAB
    5)RT click on table control and create --> program lines
    General attribute (Tab)
    INPUT PARAMETER               OUTPUT PARAMETER
    itab                               WA_NETPR
    Code Area
    WA_NETWR = ITAB-NETPR.
    6) RT CLcick on table ctl and create 3 text to display the fields
    a) % text1 +button(insert field)
       FIELD name &itab-ebeln&
    Output options (tab)
    Check New line   LINETYPE   %Ltype1
    check new cell
    b) % text2
       & itab-ebelp&
    output options
    check new cell
    c) % text2
       & wa_netpr&
    output options
    check new cell
    <b>Report ac
    Tables ekpo.
    Data: itab1 like ekpo occurs 0 with header line.
    select * into table itab1 from ekpo.
    Call function module --> smart form function module and pass your internal table</b>
    Regards,
    SaiRam

  • Compressing data through URLConnection

    I was looking into to the URLConnection and try to get a way to configure the connection(set my own sockets so that I can compress data going back and forth) similar to the way RMI handles this issue by providing clientSocketFactory, and serversocketFactory to UnicastRemoteObject. It seems there is no way to do that. I know I can specify URLStreamHandlerFactory but that does not seem to do what I am looking for.
    I am looking for a way to control the underlying communication mechanism in which the connection I get from URL.openConnection() uses. That is possible if the API would provide a way to pass <mechanism>Factories to the URL. if any one has a solution to this please email it to me.
    I will give you some code to see what I am talking about.
    //Servlet
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    public class DataCruncherServlet extends HttpServlet {
    public void init(ServletConfig config) throws ServletException {
    super.init(config);
    public void doGet(HttpServletRequest req, HttpServletResponse res)
    throws ServletException, IOException {
    doPost(req, res);
    public void doPost(HttpServletRequest req, HttpServletResponse res)
    throws ServletException, IOException {
    ServletInputStream in = req.getInputStream();
    InputStreamReader inr = new InputStreamReader(in);
    StringBuffer sb = new StringBuffer();
    char data[] = new char[1024];
    while( inr.read(data) != -1 ) {
    sb.append(new String(data));
    OutputStream out = res.getOutputStream();
    out.write(sb.toString().getBytes());
    in.close();
    inr.close();
    out.close();
    //For The client
    import java.net.*;
    import java.io.*;
    public class DataCruncherClient {
    public static void main(String[] args) {
    URL fileURL = null;
    URLConnection con = null;
    StringBuffer buffer = null;
    OutputStream out = null;
    BufferedReader br = null;
    InputStreamReader in = null;
    try {
    fileURL = new URL("http://localhost:8000/myContext/DataCruncherServlet");
    //There is no way to control the underlying communication mechanism(sockets rmi, ...)
    //connection we get uses.
    con = fileURL.openConnection();
    con.setDoOutput(true);
    con.setDoInput(true);
    out = con.getOutputStream();
    br = new BufferedReader(new FileReader("test.txt"));
    StringBuffer sb = new StringBuffer();
    String line = null;
    while( (line = br.readLine()) != null){
    sb.append(line);
    out.write(sb.toString().getBytes());
    in = new InputStreamReader(con.getInputStream());
    char data[] = new char[1024];
    buffer = new StringBuffer();
    while( in.read(data) != -1 ) {
    buffer.append(new String(data));
    catch(MalformedURLException me) {
    System.out.println("MalFormed URLException: "+me.getMessage());
    catch(FileNotFoundException fe) {
    System.out.println("File Not Found: "+fe.getMessage());
    catch(IOException ioex){
    System.out.println("IOEXception: "+ioex.getMessage());
    finally{
    try {
    out.close();
    br.close();
    in.close();
    catch(IOException ioex) {
    System.out.println("can not close stream: "+ioex.getMessage());
    System.out.println("Returned from Servlet is: ");
    System.out.println(buffer.toString());
    email me :[email protected]

    s.append(char[]) and s.append(char[], int, int) are
    similar each one is converted into string throught
    String.valueOf(char[]) and String.valueOf(char[], int,
    int) respectively then it is appended to the
    s(stringBuffer) so I do not see why one is more
    efficient Than the other, please explain.from the implementation of StringBuffer:
        public synchronized StringBuffer append(char str[], int offset, int len) {
            int newcount = count + len;
         if (newcount > value.length)
             expandCapacity(newcount);
         System.arraycopy(str, offset, value, count, len);
         count = newcount;
         return this;
        }where do you see conversion to String? typically you do multiple appends and then one StringBuffer.toString(). this is different from creating a String on every append.
    Using Zip streams can fix the particular problem I
    outlined but I was thinking about a way to control
    the underlying communication mechanizim in which the
    connection(URLConnection) depend on.so you wanted to hide the compression inside of URL.openStream()?
    robert

  • To display execise number and date in smartform

    Hi Abappers,
    i want to display execise number and date in smartform and by using driver program also.
    i have taken fields from vbrk,vbrp and send to final internal table,but now i want to display execise number in my Smartform also.
    Thanking u,
    sri.

    Create a window inside window create text element inside that insert field your excise number and date field names.
    Go to form interface -> import parameters declare your internal table name type vbrp/vbrk.
    In your print program smart form function module pass this table.

  • One integration scenario Many target system and Outgoing compressed data

    I have some theoretical questions about XI usage.
    At first, I'm not quite sure about the following thing: for example we have a corporate system and a lot of mobile computers (let's name them "clients") with installed small databases. Number of clients is not constant, but integration scenario is one for all of them. Next, if we add new client we must add new technical system, business system, communication channel, configure scenario, add required receiver and interface determination, and so on and so on. If we remove client we also must do all these steps. In this case, is it possible in XI (anywhere) to automate these procedures of scenario configuration? For example create something like business system template with communication channels or have one business system and a lot of communication channels in one integration scenario (in this way I suppose that message will be delivered to target system on the message content-based routing) and quickly activate/deactivate this channels (in fact receiver determination).
    At second, we know that XI can receive and send compressed data if client initiates communication with XI. Anybody know about reverse functionality, when XI initiates communication with target system and compresses data (on the understanding that target system is able to receive and handle compressed data). If anybody know that is possible - can you navigate me to this information?
    Thank you for help,
    Best regards.

    Hi Maxim,
    You dont need to create techn and bus systems in SLD for your clients as you can use business services. Of course you have to create a comm channel for every client (receiver address is individual!). Receiver determination and interface determination can be configured dynmamicly with wild cards (*). You can find receivers by condition of payload content.
    If you want to change this conditions very quickly (with a customizing table) you can use following trick: Use a ABAP mapping which is reading that table. Unfortunately the message is first routed and then mapped. So you have to send the message over http adapter back to XI, where the changed message is now routed by a condition. Of course a quite complex scenario, the monitoring is even more complex bcoz doubled no of messages (no performance problem - http adapter is never a bottleneck).
    Regards,
    Udo

  • Any Function Module to translate variable data in smartform

    Hi All,
    I am working with smartform.
    My requirement is, when user logins with Japan language.
    then all the data  ( text template and variable data )  should be in Japan .
    By using  SE63 ,i can translate only text data.  How about the variable data in smartform?
    Please suggest any solution.
    Regards,
    Kishan

    Hope you are passing the variable from print program. If not then do the same. and in the print program do the below thing.
       wf_spras = sy-langu.
    CALL FUNCTION 'CONVERSION_EXIT_ISOLA_OUTP
          EXPORTING
               input  = wf_spras
          IMPORTING
               output = wf_language.
      SET LANGUAGE wf_language.
    wa_control_parameters-langu = wf_spras.
    PS : wa_control_parameter , you pass through control_parameters, in to the SMARTFORM calling FM .
    Make sure that the data, which u fill into the variable you are talking about in maintained in the log on language also.

  • How i can display i_tab data in smartform as required

    hi all
          i have tried a lot but not able to make logic for displaying data frm i_tab to SF as required ,
         my requirement is , i have data in i_tab as given below
    field 1, 2,3,4,  are TRNTYP   CHAPID   MATNR  MAKTX  OF J_1IEXCDTL respectivly.
    GRPO     8707.00   0025F     AC92 CON ROD FORGING.
    ARE1               1315F     CONNECTING ROD      
                       1315F     CONNECTING ROD      
                       1315F     CONNECTING ROD      
    DLFC               1315F     CONNECTING ROD      
                       1315F     CONNECTING ROD      
                       1315F     CONNECTING ROD      
                       1315F     CONNECTING ROD      
                       1315F     CONNECTING ROD      
                       1315F     CONNECTING ROD      
                       1315F     CONNECTING ROD      
           now i want to display this data on SF like as :
      <b>discription of 8700.00
      export against = ARE1
                  1315F              CONNECTING ROD      
                  1315F              CONNECTING ROD      
                  1315F              CONNECTING ROD      </b>
        Way to Display :-
               1.      Chapter id in one single line
               2.      then if TRNTYP is ARE1 or ARE3 it should display in second single
                        line. <b><not any other TRNTYP></b>
               3.      then field no. 3 & 4 of i_tab should come based on TRNTYP
       please guide me and help me , if possible help me with dummy code example
      or if not then help me to make logic by give hint,
                      <b>i have all related data in one single i_tab</b>
    Message was edited by: SACHIN
            sachin sharma

    Hi
    see this and do accordingly
    How to create a New smartfrom, it is having step by step procedure
    http://sap.niraj.tripod.com/id67.html
    step by step good ex link is....
    http://smoschid.tripod.com/How_to_do_things_in_SAP/How_To_Build_SMARTFORMS/How_To_Build_SMARTFORMS.html
    Here is the procedure
    1. Create a new smartforms
    Transaction code SMARTFORMS
    Create new smartforms call ZSMART
    2. Define looping process for internal table
    Pages and windows
    First Page -> Header Window (Cursor at First Page then click Edit -> Node -> Create)
    Here, you can specify your title and page numbering
    &SFSY-PAGE& (Page 1) of &SFSY-FORMPAGES(Z4.0)& (Total Page)
    Main windows -> TABLE -> DATA
    In the Loop section, tick Internal table and fill in
    ITAB1 (table in ABAP SMARTFORM calling function) INTO ITAB2
    3. Define table in smartforms
    Global settings :
    Form interface
    Variable name Type assignment Reference type
    ITAB1 TYPE Table Structure
    Global definitions
    Variable name Type assignment Reference type
    ITAB2 TYPE Table Structure
    4. To display the data in the form
    Make used of the Table Painter and declare the Line Type in Tabstrips Table
    e.g. HD_GEN for printing header details,
    IT_GEN for printing data details.
    You have to specify the Line Type in your Text elements in the Tabstrips Output options.
    Tick the New Line and specify the Line Type for outputting the data.
    Declare your output fields in Text elements
    Tabstrips - Output Options
    For different fonts use this Style : IDWTCERTSTYLE
    For Quantity or Amout you can used this variable &GS_ITAB-AMOUNT(12.2)&
    5. Calling SMARTFORMS from your ABAP program
    REPORT ZSMARTFORM.
    Calling SMARTFORMS from your ABAP program.
    Collecting all the table data in your program, and pass once to SMARTFORMS
    SMARTFORMS
    Declare your table type in :-
    Global Settings -> Form Interface
    Global Definintions -> Global Data
    Main Window -> Table -> DATA
    Written by : SAP Hints and Tips on Configuration and ABAP/4 Programming
    http://sapr3.tripod.com
    TABLES: MKPF.
    DATA: FM_NAME TYPE RS38L_FNAM.
    DATA: BEGIN OF INT_MKPF OCCURS 0.
    INCLUDE STRUCTURE MKPF.
    DATA: END OF INT_MKPF.
    SELECT-OPTIONS S_MBLNR FOR MKPF-MBLNR MEMORY ID 001.
    SELECT * FROM MKPF WHERE MBLNR IN S_MBLNR.
    MOVE-CORRESPONDING MKPF TO INT_MKPF.
    APPEND INT_MKPF.
    ENDSELECT.
    At the end of your program.
    Passing data to SMARTFORMS
    call function 'SSF_FUNCTION_MODULE_NAME'
    exporting
    formname = 'ZSMARTFORM'
    VARIANT = ' '
    DIRECT_CALL = ' '
    IMPORTING
    FM_NAME = FM_NAME
    EXCEPTIONS
    NO_FORM = 1
    NO_FUNCTION_MODULE = 2
    OTHERS = 3.
    if sy-subrc <> 0.
    WRITE: / 'ERROR 1'.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    endif.
    call function FM_NAME
    EXPORTING
    ARCHIVE_INDEX =
    ARCHIVE_INDEX_TAB =
    ARCHIVE_PARAMETERS =
    CONTROL_PARAMETERS =
    MAIL_APPL_OBJ =
    MAIL_RECIPIENT =
    MAIL_SENDER =
    OUTPUT_OPTIONS =
    USER_SETTINGS = 'X'
    IMPORTING
    DOCUMENT_OUTPUT_INFO =
    JOB_OUTPUT_INFO =
    JOB_OUTPUT_OPTIONS =
    TABLES
    GS_MKPF = INT_MKPF
    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.
    Smartform
    you can check this link here you can see the steps and you can do it the same by looking at it..
    http://smoschid.tripod.com/How_to_do_things_in_SAP/How_To_Build_SMARTFORMS/How_To_Build_SMARTFORMS.html
    SMARTFORMS STEPS.
    1. In Tcode se11 Create a structure(struct) same like the Internal table that you are going to use in your report.
    2. Create Table type(t_struct) of stracture in se11.
    3. In your program declare Internal table(Itab) type table of structure(struct).
    4. Define work area(wa) like line of internal table.
    5. Open Tcode Smartforms
    6. In form Global setting , forminterface Import parameter define Internal table(Itab) like table type of stracture(t_struct).
    7. In form Global setting , Global definitions , in Global data define Work area(wa) like type stracture(struct).
    8. In form pages and window, create Page node by default Page1 is available.
    9. In page node you can create numbers of secondary window. But in form there is only one Main window.
    10. By right click on page you can create windows or Go to Edit, Node, Create.
    11. After creating the window right click on window create table for displaying the data that you are passing through internal table.
    12. In the table Data parameter, loop internal internal table (Itab) into work area(wa).
    13. In table there are three areas Header, Main Area, Footer.
    14. Right click on the Main area create table line by default line type1 is there select it.
    15. Divide line into cells according to your need then for each cell create Text node.
    16. In text node general attribute. Write down fields of your work area(wa) or write any thing you want to display.
    17. Save form and activate it.
    18. Then go to Environment, function module name, there you get the name of function module copy it.
    19. In your program call the function module that you have copied from your form.
    20. In your program in exporting parameter of function pass the internal table(itab).
    SAP Smart Forms is introduced in SAP Basis Release 4.6C as the tool for creating and maintaining forms.
    SAP Smart Forms allow you to execute simple modifications to the form and in the form logic by using simple graphical tools; in 90% of all cases, this won't include any programming effort. Thus, a power user without any programming knowledge can
    configure forms with data from an SAP System for the relevant business processes.
    To print a form, you need a program for data retrieval and a Smart Form that contains the entire from logic. As data retrieval and form logic are separated, you must only adapt the Smart Form if changes to the form logic are necessary. The application program passes the data via a function module interface to the Smart Form. When activating the Smart Form, the system automatically generates a function module. At runtime, the system processes this function module.
    You can insert static and dynamic tables. This includes line feeds in individual table cells, triggering events for table headings and subtotals, and sorting data before output.
    You can check individual nodes as well as the entire form and find any existing errors in the tree structure. The data flow analysis checks whether all fields (variables) have a defined value at the moment they are displayed.
    SAP Smart Forms allow you to include graphics, which you can display either as part of the form or as background graphics. You use background graphics to copy the layout of an existing (scanned) form or to lend forms a company-specific look. During printout, you can suppress the background graphic, if desired.
    SAP Smart Forms also support postage optimizing.
    Also read SAP Note No. 168368 - Smart Forms: New form tool in Release 4.6C
    What Transaction to start SAP Smart Forms?
    Execute transaction SMARTFORMS to start SAP Smart Forms.
    Key Benefits of SAP Smart Forms:
    SAP Smart Forms allows you to reduce considerably the implementation costs of mySAP.com solutions since forms can be adjusted in minimum time.
    You design a form using the graphical Form Painter and the graphical Table Painter. The form logic is represented by a hierarchy structure (tree structure) that consists of individual nodes, such as nodes for global settings, nodes for texts, nodes for output tables, or nodes for graphics.
    To make changes, use Drag & Drop, Copy & Paste, and select different attributes.
    These actions do not include writing of coding lines or using a Script language.
    Using your form description maintained in the Form Builder, Smart Forms generates a function module that encapsulates layout, content and form logic. So you do not need a group of function modules to print a form, but only one.
    For Web publishing, the system provides a generated XML output of the processed form.
    Smart Forms provides a data stream called XML for Smart Forms (XSF) to allow the use of 3rd party printing tools. XSF passes form content from R/3 to an external product without passing any layout information about the Smart Form.
    Reward if useful
    Anji

  • Sending & Receiving compressed Data

    Hi, How can i send & receive compressed data over a network using DeflaterInputStream and InflaterOutputStream, thanks.

    You probably would not use those classes directly, but GZIPInput and GZIPOutput stream instead. you would wrap those streams around the socket Input and Output streams at either end of a socket connection.

  • Invalid compressed data--crc error (RHEL ES 3.0)

    Hi,
    i have downloaded from the Oracle Server these archive: ship.db.lnx32.cpio.gz
    in order to install Oracle Database 10g Release 1 (10.1.0.3) on a Red Hat Enterprise Linux (ES) 3.0 server, but when i tried to uncompress (with gunzip) the archive ship.db.lnx32.cpio.gz, i receive these error: "invalid compressed data--crc error".
    so, please can you tell me what is the problem exactly. because, i have downloaded four times !!! but the problem didn't change.
    Thanks

    This is what I got when I ran cksum:
    $ chsum ship.db.lnx32.cpio.gz
    405751305 649170233 ship.db.lnx32.cpio.gz
    as you can see it does not equal 1778052285, so does that mean I have to dl keep downloading the file till i get the correct cksum?
    This is just a dev system so it has only 32MB, is that a problem? Do I have to have 256MB?
    Thanks.

  • Reporting on compressed data

    Hi Gurus,
    Is it possible to do the reporting on compressed data.
    Thanks,
    Venu

    Yes Venu, the system will pick data from the F (fact) and E (table) depending on any filters, selections, variables you have given. The compression of data is transparent to the end user.
    Hope this helps...

  • How to pull the data into smartform after designing layout?

    how to pull the data into smartform after designing layout?

    call the smartform in your Driver program and pass your output internal tables in the smartforms paramaters
    Check the below Sample code.
    FORM label_print.
      DATA : g_fm_name TYPE rs38l_fnam,
             g_output  TYPE ssfcompop,
             g_control TYPE ssfctrlop,
             g_form TYPE tdsfname VALUE 'ZPRINT_LABELS',
             g_dest TYPE rspopname,
             g_printer TYPE rspoptype..
      REFRESH : i_out[],i_qals[].
      SELECT matnr maktx
             INTO TABLE i_out
             FROM makt
             FOR ALL ENTRIES IN i_mseg
             WHERE matnr = i_mseg-matnr
             AND   spras = sy-langu.
      SELECT prueflos objnr ersteldat erstelzeit matnr revlv charg mengeneinh
             INTO TABLE i_qals
             FROM qals
             FOR ALL ENTRIES IN i_mseg
             WHERE matnr = i_mseg-matnr
             AND   charg = i_mseg-charg.
    *FM to accept the device type and returns the short name of the output device
      CALL FUNCTION 'EFG_GET_PRINTER'
        EXPORTING
          x_no_dialog  = ' '
          x_obligatory = 'X'
        IMPORTING
          y_tddest     = g_dest
        EXCEPTIONS
          cancelled    = 1
          failed       = 2
          OTHERS       = 3.
    *device type name for the output device
      SELECT SINGLE patype                                  "#EC CI_NOFIELD
             FROM tsp03d
             INTO g_printer
             WHERE padest = g_dest.
    *printer setting
      g_control-no_dialog = 'X'.
      g_output-tdarmod = '1'.
      g_output-tdcopies = '001'.
      g_output-tddest = g_dest.
      g_output-tdprinter = g_printer.
      g_output-tdnewid = 'X'.
      g_output-tdimmed = 'X'.
      CLEAR wa_mseg.
      LOOP AT i_mseg INTO wa_mseg.
        READ TABLE i_out INTO wa_out WITH KEY matnr = wa_mseg-matnr.
    check for the status and filter the records
        CLEAR : wa_qals.
        LOOP AT i_qals INTO wa_qals WHERE matnr = wa_mseg-matnr
                                    AND charg = wa_mseg-charg.
          CALL FUNCTION 'STATUS_TEXT_EDIT'
            EXPORTING
              objnr            = wa_qals-objnr
              spras            = sy-langu
            IMPORTING
              line             = l_status
            EXCEPTIONS
              object_not_found = 1
              OTHERS           = 2.
          IF l_status CS 'LTCA' OR l_status CS 'SKIP'.
            DELETE i_qals.
          ENDIF.
        ENDLOOP.
        SORT i_qals BY ersteldat DESCENDING erstelzeit DESCENDING.
        IF i_qals IS INITIAL.
          l_msg = text-002.
        ELSE.
          READ TABLE i_qals INTO wa_qals INDEX 1.
          SELECT prueflos vbewertung
                 INTO TABLE i_qave
                 FROM qave
                 WHERE prueflos = wa_qals-prueflos
                 AND   kzart = 'L'.
          IF sy-subrc <> 0.
            l_msg1 = text-003.
          ENDIF.
          SORT i_qave.
          CLEAR : wa_qave.
          IF NOT i_qave IS INITIAL.
            READ TABLE i_qave INTO wa_qave INDEX 1.
            IF wa_qave-vbewertung = 'A'.
              l_msg = text-002.
            ELSEIF wa_qave-vbewertung = 'R'.
              l_msg1 = text-003.
            ELSE.
              l_msg1 = text-003.
            ENDIF.
          ENDIF.
        ENDIF.
        CLEAR : wa_ser03.
        READ TABLE i_ser03 INTO wa_ser03 WITH KEY mblnr = wa_mseg-mblnr.
    *Calling Smartform
        CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
          EXPORTING
            formname           = g_form
          IMPORTING
            fm_name            = g_fm_name
          EXCEPTIONS
            no_form            = 1
            no_function_module = 2
            OTHERS             = 3.
        LOOP AT i_objk INTO wa_objk WHERE obknr = wa_ser03-obknr.
    *Calling FM generated from the smartform
          DATA : l_date(10) TYPE c,
                 l_date1(10) TYPE c,
                 l_date2(10) TYPE c,
                 l_date3(10) TYPE c,
                 l_hyphen(1) TYPE c VALUE '-'.
          CLEAR : l_date,l_date1,l_date2,l_date3.
          l_date1 = wa_mseg-vfdat+0(4).
          l_date2 = wa_mseg-vfdat+4(2).
          l_date3 = wa_mseg-vfdat+6(2).
          CONCATENATE l_date1 l_hyphen l_date2 l_hyphen l_date3 INTO l_date.
          CALL FUNCTION g_fm_name
            EXPORTING
              control_parameters = g_control
              output_options     = g_output
              user_settings      = ' '
              g_matnr            = wa_mseg-matnr
              g_mat_text         = wa_out-maktx
              g_batch            = wa_mseg-charg
              g_rev              = wa_qals-revlv
              g_edate            = l_date
              g_lot              = wa_qals-prueflos
              g_qty              = wa_mseg-erfmg
              g_uom              = wa_mseg-erfme
              g_serial           = wa_objk-sernr
              g_smsg             = l_msg
              g_fmsg             = l_msg1
            EXCEPTIONS
              formatting_error   = 1
              internal_error     = 2
              send_error         = 3
              user_canceled      = 4
              OTHERS             = 5.
          CLEAR  g_output-tdnewid.
        ENDLOOP.
        IF sy-subrc <> 0.
          CLEAR : l_date,l_date1,l_date2,l_date3.
          l_date1 = wa_mseg-vfdat+0(4).
          l_date2 = wa_mseg-vfdat+4(2).
          l_date3 = wa_mseg-vfdat+6(2).
          CONCATENATE l_date1 l_hyphen l_date2 l_hyphen l_date3 INTO l_date.
          CALL FUNCTION g_fm_name
            EXPORTING
              control_parameters = g_control
              output_options     = g_output
              user_settings      = ' '
              g_matnr            = wa_mseg-matnr
              g_mat_text         = wa_out-maktx
              g_batch            = wa_mseg-charg
              g_rev              = wa_qals-revlv
              g_edate            = l_date
              g_lot              = wa_qals-prueflos
              g_qty              = wa_mseg-erfmg
              g_uom              = wa_mseg-erfme
              g_serial           = wa_objk-sernr
              g_smsg             = l_msg
              g_fmsg             = l_msg1
            EXCEPTIONS
              formatting_error   = 1
              internal_error     = 2
              send_error         = 3
              user_canceled      = 4
              OTHERS             = 5.
          CLEAR g_output-tdnewid.
        ENDIF.
      ENDLOOP.
      IF sy-subrc = 0.
        MESSAGE i000(zm).
      ENDIF.
    ENDFORM.                    " label_print

  • Problems with E-Recruiting Data Overview Smartforms

    Hello,
    We recently upgraded from E-Recruiting 3.0 sp12 to sp15.  During this upgrade we have noticed that our custom Data Overview Smartforms have not being displayed.  Instead the system is calling the original SAP delivered forms.  The problem is that in table T77RCF_UI_PARAM we have the parameters set to display the correct forms.  As strange as that sounds we were able to fix most of them by changing the case, i.e. from lower to upper or upper to lower, of the BSP application name.  We are still however having problems with one particular BSP application:
    <b>Name                         Paramtyp             Parameter</b>
    HRRCF_CAND_DOVR    DISPLAY_PDF     Z_ER_CANDIDATE_PREVIEW
    HRRCF_CAND_DOVR    SF_VIEW_CAND     Z_ER_CANDIDATE_PREVIEW
    The SAP delivered smartform is HRRCF_CANDIDATE_PREVIEW.
    This one, regardless of what case the BSP application is in, continually displayes the SAP delivered smartform.
    I have verified that the custom form is indeed active.  And we also went as far as appying oss notes:
    Note 1017662 - T77RCF_UI_PARAM: Application name is case-sensitive
    Note 1037121 - T77RCF_UI_PARAM: Length of Input Field ‘Parameters” too short
    Yet another twist to this is that when I log on as an Internal Candidate and click on the Data Overview link on the external candidate personnel page the custom form is displayed.  However, when I log on as an External Candidate and click on the same link the SAP delivered form is displayed.
    Could this have something to do with the type of roles assigned?  Just incase I verified that the roles for the External Candidate were indeed SAP_RCF_EXTERNAL_CANDIDATE and the internal role was SAP_RCF_INTERNAL_CANDIDATE.
    Any help would be appreciated!
    Respectfully,
    Ryan

    Well the error you are facing, that the external candidate does not see the custom smartform depends on a new BSP application that is delivered with SP14.
    You need to copy the customizing of hrrcf_cand_dovr to hrrcf_cdovr_ext.
    Regards

  • Need help to compress data

    Hy
    Is there anybody out there who can tell me how can I do to compress data from a 35 to 40 pages file to be able to send it on one shot by email. Otherwise the file is going to be too gig to be sende on one email.
    Thanks
    Idanuel

    It's generally considered a bad idea to send big files in a mail shot. It really annoys some people because it fills up their mail box. Good practice is to put the file on your web site, and send out a small piece inviting them to visit and read it.

Maybe you are looking for