Layout changes when see preview in SP01 through Call transaction

Hi Gurus,
I have to show Spool preview from my program  I am doing this by call transaction SP01 with spool no.  and mode E.
But the preview which comes is very simple, It does not have graphics and other formatting.
If i check the spool directly from SP01 , its coming fine.
Please help me on this Issue.
Regrads,
Sowmen Das

I guess you mean CALL TRANSACTION 'SP01' USING lt_bdcdata MODE 'E' (so that to remain on the last screen of the BDC data).
Probably SP01 identifies that it is called using CALL TRANSACTION and reacts differently. One possibility is that it tests SY-BINPT which is 'X' when CALL TRANSACTION is used (opposed to space when SP01 is called directly). You may use CALL TRANSACTION ... OPTIONS FROM xx, where xx-nobinpt should be initialized to 'X' (don't forget to set xx-dismode to 'E' also), so that SY-BINPT won't change.
Note: why don't you use the print preview as we do usually? (TDPREVIEW output option)

Similar Messages

  • Wrong template when I launch an ITS through call transaction

    Hi to all,
    I created an Internet service for an abap program and published the template:
    everything works fine if I run it from SICF.
    If I launch the transaction linked to the internet service  (SE93) in a CALL TRANSACTION instruction
    the browser does not show me the pubblished template.
    How can I solve this issue? I want to define a module pool menu  : clicking  a button
    I should to run a ITS transaction.
    Thanks for your help

    Hello Lorenzo,
    Is the template in the node/folder with the same name as your service from SE93?  Meaning, if the service you are calling is ztransaction then the template should be published to the ztransaction/theme/templatename location.  If it is not then you will need to go to SICF and for the service name add ~sources in the GUI Configuration with the value of the location of the template.
    Edgar

  • When we have to go for session method, when we have to go for call transact

    when we have to go for session method, when we have to go for call transaction method if i have a 3000 records in flat file. which is better? why

    Data Transfer
    During the process of data transfer, data is transferred into the SAP R/3 System. This transfer is from an external system to SAP R/3 system. Whenever you transfer data from an external system into an R/3 System, you can use data transfer because it is installed and regularly transfers data from an external system into an R/3 System.
    As discussed, with the help of BDC, you can transfer the required data from a non-SAP system to an SAP system. For this kind of data transfer you are required to write an ABAP program. This ABAP program would help to export the concerned data to a sequential dataset file. The data in this file has to be stored. This should be stored in a format, which is acceptable to SAP batch input program. But, to transfer data from a SAP system to another SAP system, you can take the aid of RFC or CPI-C.
    SAP application supports the data transfer of numerous SAP business objects. The said data transfer program specifies the data format definition, which is necessary to import the data into the R/3 System. There are three methods available for transferring data:
    Direct Input:
    In this method the SAP function modules execute the consistency checks. However, there are other means of checking with the help of screens. The Direct Input Method has considerable performance advantages.
    Call Transaction:
    In this method you can check the data consistency with the help of screen logic.
    Batch Input Session:
    In this method data consistency is checked with the help of screen logic.
    Direct Input Method
    Among the methods of data transfer through BDC, direct input method is the one that is used, especially in case of transferring large amount of data. In order to enhance the batch input procedure, the system offers you with the direct input technique.
    There is a distinction between the batch input technique and this technique. Unlike batch input technique, this technique does not create sessions. Instead, it stores the data directly. Moreover, it does not process screens. The data has to be entered directly into the corresponding database tables. The system calls a number of function modules which execute necessary checks, if any required. In the case of errors, the direct input technique has a facility to restart the entire mechanism. However, if you want to restart the entire mechanism in case you faced an error, then direct input programs must be executed in the background only. One has to use program RBMVSHOW or Transaction BMV0 to maintain and start these programs.
    Call Transaction Method
    Call Transaction method is another method used for Data Transfer. In this type of method your program will use the ABAP statement CALL TRANSACTION USING in order to run a SAP transaction. In this type external data need not be deposited in a session for being processed later on. Instead, the entire batch input process takes place inline in your program.
    Here, the data transfer program must convert the data that has to be transferred into the SAP system. This is as per requirement by the SAP data structure or the transaction which is using it. It is to be remembered that a conversion of the data types may be necessary at different times during the process.
    Suppose there is a data type mismatch then you have to convert the data types to type C. In this regard the data transfer program should be capable of exporting the data in SAP format to the sequential file. At the time of uploading the data into the SAP system, the BDC program reads the data from the abovementioned sequential file.
    Batch Input Session Method
    This is the third method for data transfer. If you use the batch input method to transfer data, then you should remember that an ABAP program has to read the external data which is to be entered in the R/3 System. Subsequently, it stores the concerned data a "batch input session." The batch Input session records the actions which are required in the process of transferring data into the system. This can be done by using normal SAP transactions.
    As soon as the program generates the said session, you will be able to run the session in order to execute the SAP transactions in it. Moreover, you can start the session, and at the same time, can monitor a session with the help of batch input management function. For this you have to choose:
    System à Services à Batch input. Moreover, you can have the session run in the background processing.
    Writing a Data Transfer Program
    If you want to write a data transfer program, you have to follow the steps mentioned below.
    Firstly, you will analyze the structure of the existing data. Subsequently, your job is to specify the conversions, which are essential to fill the SAP data structures.
    Secondly, you have to generate the SAP data structure. In case the program is written in ABAP, you will require only the required tables in the concerned program with the help of TABLES statement.
    Thirdly, you will have to initialize the SAP data structure.
    Fourthly, fill the structure with data, performing any conversions and error checking that are required.
    Finally, you will write the sequential file. In the SAP system this sequential file is typically required for making the data available to the batch input program.
    Batch Input Method
    Batch input method is a type of data transfer method. It is used for bulk data transfer; it is one of the primary ways by which data can transferred into the R/3 System. This method is not for near real-time data transfers.
    There are various typical uses of batch input. One of the ways includes the one-time import of data. This import of data is from a legacy system into a newly installed R/3 System. In addition to it, another typical use is for periodic (i.e. hourly, daily..., and so on) transfers of data. These transfers are from external systems or legacy systems which are still in use into R/3 system where all enterprise data is consolidated.
    The R/3 applications deliver different programs for batch input, which are ready to be used. However, in some cases a customer has to write his or her own batch input program. This is required in order to convert the concerned data from a legacy System or from a proprietary format into an R/3 data format.
    The process flows for a batch input are discussed below.
    Data Transfer Decision-Making: It is with a decision to transfer data from an external source into R/3 that the process of batch input begins. It is probable that the external source may be a legacy system that is being replaced. A one-time bulk data transfer is foreseen in this regard. Alternatively, the external source may be an external system that is to remain in use. In this case, a regularly recurring bulk data transfer is foreseen.
    Setting up Batch-Input for Data Transfers: If R/3 standard one-time or regular data transfers are required, then by means of customizing settings in the R/3 Customizing System in SAP ASAP set up will occur. You must set up custom batch input procedures by hand, which means the system administrator must schedule the data conversion program that creates the batch input session. The system administrator and the batch input programmer must determine the following: how frequently data is made available from the external system, how frequently the conversion program should run, and whether the conversion program runs in R/3 (ABAP program) or in a host system (external program).
    Processing Batch Input Sessions: When a batch input session is processed, then the actual transfer of data into R/3 takes place. Little attention is required in processing of batch input sessions by the system administrator. Usually, the starting of batch input sessions is automated by the system administrator. If necessary, the administrators can also start batch input session explicitly from transaction SM35.
    Checking Batch Input Sessions: For a system administrator the routine activity is to check daily or more frequently in transaction SM35 whether all batch input sessions have been completed successfully. It is the schedule for running batch input sessions on which the schedule for checking sessions depends upon. For doing this check the R/3 System provides easy-to-use batch input management tools.
    Analyzing Errors: It is the duty of the system administrator to analyze the problem if one or more transactions in a session end in errors. Usually, the assistance of the affected data entry specialist or department for this analysis will be needed by the system administrator. In the situation where the problem was caused by incorrect data conversion or incorrect generation of the batch input session then the programmer who wrote the data conversion program may also need to be involved.
    Error Handling in Batch Input Method
    It is found that most problems usually fall into one of the following two categories discussed below.
    In this case either required data is missing from the batch-input session or invalid data has been included in the session. Errors in the data conversion program or the presence of unexpected types of data or incorrect data in the legacy database are the possible external causes of this type of problem. Within R/3, the causes for this type of problem include incorrect or incomplete customizing in an application. For example, a legacy data type may not have been foreseen in the check table entries made in application customizing.
    This case mainly includes technical/programming problems. The data is entered by a batch input session by running R/3 transactions non-interactively. Therefore, a typical technical or programming problem is the incorrect identification of one of the data fields in a transaction. Thus, the conversion program may not fill a required data field or may have provided invalid values.
    Conclusion
    I have gone through the details of batch data communication and various methods used to transfer data. One can make use of BDC to transfer data from a SAP to SAP system. In addition, it can transfer data from a non SAP system to SAP system too. I have discussed the various methods of BDC and the error handling in the respective methods.
    Thanks,
    Shankar

  • Calling FI Validation Rules in BPM server through call transaction

    I m trying to call FI validation rules through call transaction (for FBV0) in BPM server but in the messages table of call transaction it does not gives us the validation rules error messages while when i run manually the transaction in R/3 system i get the validation error messages. So please tell how i can get these validation error messages when called through BPM server.

    Hi madhvi,
                       You are using jtab within the form.. i dont think you can use it directly inside ur FORM sub1 without declaring it or without passing it. and it will give you the syntax error.
    and please send me the step by step code you have written in editor so that i can check it and can reply you with proper solution'
    Thanks ,
    Prasanna

  • How to pass the value to the screen through call transaction

    hi
    i have got an requirement for which i have to call MIGO tcode through call transaction command. But here one list box GODYNPRO-ACTION (screen field) contains list of values . my requirement is when i will call the tcode MIGO it should take defaultly  DISPLAY option from  list of values. I have searched for parameter id but i cannot get for that list box. please help me to solve this issue.
    points will be surely assigned to helpful answers.
    regards
    shiba dutta

    just try this its working...
    tables: godynpro.
    GODYNPRO-ACTION = 'Display'.
    call transaction 'MIGO'.
    Message was edited by:
            Chandrasekhar Jagarlamudi

  • How to rectify the errors through call transaction metod in bdc

    how to rectify the errors through call transaction metod in bdc

    Hi ,
    View the highlited part of the below code.
    REPORT ygfrivat1 NO STANDARD PAGE HEADING
                     LINE-SIZE 165
                     MESSAGE-ID yif_groc.
    Program     YGFRIVAT1
    Function    Report to Upload the VAT Adjustment File.
    Author      ARENAPU
    Date        11.05.2007
    PMTS        AM12810157
    Transport   G6DK937834
    Description:
    Modification log:
    1. Changed by  :
       Changed on  :
       PMTS        :
       Transport   :
       Tag         :
       Description :
           T A B L E S   D E C L A R A T I O N S
    TABLES: edidc,  "Control record (IDoc)
            edids,  "Status Record (IDoc)
            t001w.
    Internal Tables Declaration.
    Internal table to hold data from table EDIDS
    DATA: BEGIN OF t_edids OCCURS 0,
           docnum LIKE edids-docnum,
           logdat LIKE edids-logdat,
           logtim LIKE edids-logtim,
           countr LIKE edids-countr,
           credat LIKE edids-credat,
           uname  LIKE edids-uname,
          END OF t_edids,
    Internal table to hold data from table EDIDC
          BEGIN OF t_edidc OCCURS 0,
           docnum LIKE edidc-docnum,
           rcvprt LIKE edidc-rcvprt,
           rcvprn LIKE edidc-rcvprn,
           credat LIKE edidc-credat,
          END OF t_edidc,
    Internal table to hold data from upload file
          BEGIN OF t_tab OCCURS 0,
           cust(10),        "site/customer number
           date(10),        "transaction date
           currency(04),    "currency
           extnbr(15),      "external reference number
           pos-cont(05),    "POS controler
           pos-id(25),      "POS id
           cashier(10),     "cashier name
           qualif(04),      "qualifier of the article
           matnr(25),       "article number
           qty(10),         "quantity
           sale(16),        "sale value
           pos-tr(04),      "POS transfert type
           paymeth(04),     "payment method
           final(35),       "final price
           tarcur(04),      "target currency
           assign(35),      "assignment day
           error,
          END OF t_tab,
    Internal table for Report display.
          BEGIN OF t_tab1 OCCURS 0,
           cust(10),                    "site/customer number
           date(10),                    "transaction date
           currency(04),                "currency
           extnbr(15),                  "external reference number
           pos-cont(05),                "POS controler
           pos-id(25),                  "POS id
           cashier(10),                 "cashier name
           qualif(04),                  "qualifier of the article
           matnr(25),                   "article number
           qty(16)   TYPE p DECIMALS 2, "quantity
           sale(16)  TYPE p DECIMALS 2, "sale value
           pos-tr(04),                  "POS transfert type
           paymeth(04),                 "payment method
           final(16) TYPE p DECIMALS 2, "final price
           tarcur(04),                  "target currency
           assign(35),                  "assignment day
          END OF t_tab1,
          t_tab_temp LIKE t_tab OCCURS 0 WITH HEADER LINE,
    Internal table to Validate Customer no.
          BEGIN OF t_check OCCURS 0,
           werks LIKE t001w-werks,
           vkorg LIKE t001w-vkorg,
           value(40),
          END OF t_check,
          t_check_temp LIKE t_check OCCURS 0 WITH HEADER LINE.
    Internal table to hold data from table ZCS_PARAM.
    DATA: BEGIN OF t_zcs_param OCCURS 0.
            INCLUDE STRUCTURE zcs_param.
    DATA: vkorg LIKE t001w-vkorg,
          END OF t_zcs_param.
    *Internal table to hold Messages.
    DATA: BEGIN OF t_message OCCURS 0,
             msgnum TYPE msgnum,
             msgtyp TYPE msgtyp,
             msgtxt TYPE msgtext,
           END OF t_message.
    *Work area for table t_message
    DATA : w_message LIKE LINE OF t_message.
    Internal table to hold BDC data
    DATA: t_bdcdata LIKE bdcdata    OCCURS 0 WITH HEADER LINE,
    Internal table to collect error messages
          messtab   LIKE bdcmsgcoll OCCURS 0  WITH HEADER LINE.
    *Internal table to hold messages from call transaction
    DATA: BEGIN OF t_text OCCURS 0,
           desc(150),
           msgtxt(100),
          END OF t_text.
           D A T A   D E C L A R A T I O N S
    DATA: n TYPE i,
          gv_status(11) TYPE c, "Shows status, Production or Test
          gv_exit TYPE c,  "Exit Flag
          gv_qty(16)   TYPE p DECIMALS 2, "Variable to sum Quantity
          gv_sale(16)  TYPE p DECIMALS 2, "Variable to sum Amount
          gv_final(16) TYPE p DECIMALS 2. "Variable to sum Final Amount
    DATA: w_text(100),
          gv_mode TYPE c,
          error TYPE c.  "Flag to Indicate error.
    CONSTANSTS DECLARATION
    CONSTANTS : gc_fieldname LIKE dynpread-fieldname VALUE 'P_FNAME',
                gc_seq_no LIKE zcs_param-seq_no VALUE '00110',
                gc_object LIKE zcs_param-object VALUE 'YGFVAT',
                gc_paraname LIKE zcs_param-paraname VALUE 'VKORG',
                gc_back TYPE c VALUE 'N',
                gc_error TYPE c VALUE 'E',
                gc_all TYPE c VALUE 'A'.
               S E L E C T I O N   S C R E E N
    SELECTION-SCREEN BEGIN OF BLOCK a1 WITH FRAME TITLE text-001.
    PARAMETERS : p_fname LIKE rlgrap-filename OBLIGATORY.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(31) text-002 FOR FIELD p_test.
    PARAMETERS : p_test AS CHECKBOX.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN END OF BLOCK a1.
    SELECTION-SCREEN BEGIN OF BLOCK a2 WITH FRAME TITLE text-006.
    PARAMETERS : rb_back RADIOBUTTON GROUP rb1 DEFAULT 'X',
                 rb_error RADIOBUTTON GROUP rb1,
                 rb_all RADIOBUTTON GROUP rb1.
    SELECTION-SCREEN END OF BLOCK a2.
    AT SELECTION SCREEN
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_fname.
    *Subroutine to provide F4 help for file name
      PERFORM fr_get_filename.
           I N I T I A L I Z A T I  O N
    INITIALIZATION.
    *Subroutine to check authorization.
    PERFORM fr_authority_check.
            T O P - O F - P A G E
    TOP-OF-PAGE.
    *Subroutine to diplay header
      PERFORM fr_display_header.
             S T A R T - O F - S E L E C T I O N
    START-OF-SELECTION.
    *Subroutine to upload data from presentation server.
      PERFORM fr_upload_data.
    *Subroutine to validate records from uploaded file.
      PERFORM fr_validate_data.
    *Subroutine to build report internal table.
      PERFORM fr_build_rep.
             E N D - O F - S E L E C T I O N
    END-OF-SELECTION.
    *Subroutine to display report.
      PERFORM fr_write_report.
            F O R M   S U B R O U T I N E S
    *&      Form  fr_get_filename
          text
    FORM fr_get_filename.
      DATA : lv_repid LIKE sy-repid,         " Report id
             lv_file  LIKE ibipparms-path.   " File Path
      lv_repid = sy-repid.
    F4 help for file path.
      CALL FUNCTION 'F4_FILENAME'
           EXPORTING
                program_name  = lv_repid
                dynpro_number = syst-dynnr
                field_name    = gc_fieldname                    " p_fname1
           IMPORTING
                file_name     = lv_file.
      IF NOT lv_file EQ space.
        p_fname = lv_file.
      ELSE.
        MESSAGE e999 WITH 'Invalid Path'(005).
      ENDIF.
    ENDFORM.                    " fr_get_filename
    *&      Form  fr_upload_data
          text
    FORM fr_upload_data.
      DATA: lv_fname TYPE string.
      CLEAR lv_fname.
      lv_fname = p_fname.
    Uploading file from PC or presentation server to internal table.
      CALL FUNCTION 'GUI_UPLOAD'
           EXPORTING
                filename            = lv_fname
                filetype            = 'ASC'
                has_field_separator = 'X'
           TABLES
                data_tab            = t_tab
           EXCEPTIONS
                file_open_error     = 1.
      IF sy-subrc <> 0.
        DESCRIBE TABLE t_message LINES n.
        w_message-msgnum = n + 1.
        w_message-msgtyp = 'E'.
        MOVE text-m01  TO w_message-msgtxt.
        APPEND w_message TO t_message.
    Subroutine for writing log.
        PERFORM fr_write_log.
      ENDIF.
    ENDFORM.                    " fr_upload_data
    *&      Form  fr_validate_data
          text
    FORM fr_validate_data.
      DATA : lv_lines1 TYPE i,
             lv_lines2 TYPE i.
    *Obtain Status depending on Check box selected.
      IF p_test IS INITIAL.
        gv_status = 'PRODUCTION'.
      ELSE.
        gv_status = 'TEST RUN'.
      ENDIF.
    *Batch Mode
      CLEAR gv_mode.
      IF rb_back EQ 'X'.          "No Display
        MOVE gc_back TO gv_mode.
      ELSEIF rb_error EQ 'X'.     "Error Only
        MOVE gc_error TO gv_mode.
      ELSEIF rb_all EQ 'X'.       "All Screens
        MOVE gc_all TO gv_mode.
      ENDIF.
      IF NOT t_tab[] IS INITIAL.
        SORT t_tab BY cust.
        REFRESH t_tab_temp.
        t_tab_temp[] = t_tab[].
        SORT t_tab_temp BY cust.
        DELETE ADJACENT DUPLICATES FROM t_tab_temp COMPARING cust.
        IF NOT t_tab_temp[] IS INITIAL.
          SELECT werks vkorg FROM t001w
                             INTO TABLE t_check
                             FOR ALL ENTRIES IN t_tab_temp
                             WHERE werks = t_tab_temp-cust+0(4).
          IF sy-subrc = 0.
            SORT t_check BY werks.
          ENDIF.
          LOOP AT t_check.
            IF t_check-vkorg <> ' '.
              MOVE t_check-vkorg TO t_check-value.
              MODIFY t_check TRANSPORTING value.
            ENDIF.
          ENDLOOP.
        ENDIF.
        FREE t_tab_temp.
      ENDIF.
      IF NOT t_check[] IS INITIAL.
        REFRESH t_check_temp.
        t_check_temp[] = t_check[].
        SORT t_check_temp BY value.
        DELETE ADJACENT DUPLICATES FROM t_check_temp COMPARING value.
        IF NOT t_check_temp[] IS INITIAL.
          SELECT * FROM zcs_param INTO TABLE t_zcs_param
                   FOR ALL ENTRIES IN t_check_temp
                   WHERE seq_no   EQ gc_seq_no
                     AND object   EQ gc_object
                     AND paraname EQ gc_paraname
                     AND value    EQ t_check_temp-value.
          IF sy-subrc = 0.
            SORT t_zcs_param BY value.
          ENDIF.
        ENDIF.
        FREE t_check_temp.
      ENDIF.
      IF NOT t_tab[] IS INITIAL.
        LOOP AT t_tab.
          READ TABLE t_check WITH KEY werks = t_tab-cust BINARY SEARCH.
          IF sy-subrc <> 0.
            MOVE 'X' TO t_tab-error.
            MODIFY t_tab TRANSPORTING error.
            DESCRIBE TABLE t_message LINES n.
            w_message-msgnum = n + 1.
            w_message-msgtyp = 'E'.
            CONCATENATE t_tab-cust text-030
            INTO w_message-msgtxt SEPARATED BY space.
            APPEND w_message TO t_message.
    Subroutine for writing log.
            PERFORM fr_write_log.
            EXIT.
          ELSE.
            READ TABLE t_zcs_param WITH KEY value = t_check-vkorg
                                                         BINARY SEARCH.
            IF sy-subrc <> 0.
              MOVE 'X' TO t_tab-error.
              MODIFY t_tab TRANSPORTING error.
              DESCRIBE TABLE t_message LINES n.
              w_message-msgnum = n + 1.
              w_message-msgtyp = 'E'.
              CONCATENATE text-003 t_tab-cust text-004 t_check-vkorg
              INTO w_message-msgtxt SEPARATED BY space.
              APPEND w_message TO t_message.
    Subroutine for writing log.
              PERFORM fr_write_log.
              EXIT.
            ELSE.
              PERFORM fr_format_tab.
            ENDIF.
          ENDIF.
        ENDLOOP.
      ENDIF.
      DESCRIBE TABLE t_tab LINES lv_lines1.
      IF lv_lines1 <> 0.
        DELETE t_tab WHERE error EQ 'X'.
      ENDIF.
      DESCRIBE TABLE t_tab LINES lv_lines2.
      IF lv_lines2 <> 0.
        IF lv_lines2 <> lv_lines1.
          EXIT.
        ELSE.
          IF p_test IS INITIAL.
            LOOP AT t_tab.
    *Subroutine to build BDC table
              PERFORM fr_fill_bdctab.
    *Subroutine to Post Data into SAP.
              PERFORM fr_data_posting.
            ENDLOOP.
          ENDIF.
        ENDIF.
      ENDIF.
    ENDFORM.                    " fr_validate_data
    *&      Form  fr_write_log
          text
    FORM fr_write_log.
      CLEAR error.
      error = 'X'.
      WRITE:/1 'Msg No'(027), 10 'Type'(028), 20 'Text'(029).
      ULINE:/1(120).
      FORMAT RESET.
      LOOP AT t_message.
        IF t_message-msgtyp = 'E'.
          FORMAT COLOR 6 INTENSIFIED .
        ELSEIF t_message-msgtyp = 'W'.
          FORMAT COLOR 3 INTENSIFIED .
        ELSEIF t_message-msgtyp = 'I'.
          FORMAT COLOR 5 INTENSIFIED .
        ENDIF.
        WRITE:/1 t_message-msgnum,
              10 t_message-msgtyp,
              20 t_message-msgtxt.
        FORMAT RESET.
      ENDLOOP.
      ULINE:/1(120).
    ENDFORM.                    " fr_write_log
    *&      Form  fr_write_report
          text
    FORM fr_write_report.
      CLEAR gv_exit.
      LOOP AT t_message.
        IF t_message-msgtyp = 'E'.
          gv_exit = 'X'.
          EXIT.
        ENDIF.
      ENDLOOP.
      IF NOT gv_exit IS INITIAL.
        EXIT.
      ELSE.
        PERFORM fr_display_report.
        IF NOT t_text[] IS INITIAL.
    Subroutine for Display Call Transaction messages.
          PERFORM fr_write_msg.
        ENDIF.
      ENDIF.
    ENDFORM.                    " fr_write_report
    *&      Form  fr_display_report
          text
    FORM fr_display_report.
      IF NOT t_tab1[] IS INITIAL.
        CLEAR: gv_qty, gv_sale, gv_final.
        LOOP AT t_tab1.
          WRITE:/1(10) t_tab1-cust,
                13(10) t_tab1-date,
                25(05) t_tab1-currency,
                32(14) t_tab1-extnbr,
                48(09) t_tab1-pos-cont,
                60(18) t_tab1-matnr,
                80(16) t_tab1-qty RIGHT-JUSTIFIED ,
                98(16) t_tab1-sale RIGHT-JUSTIFIED ,
               116(07) t_tab1-paymeth,
               125(16) t_tab1-final RIGHT-JUSTIFIED,
               143(06) t_tab1-tarcur,
               152(12) t_tab1-assign.
          gv_qty   = t_tab1-qty   + gv_qty.
          gv_sale  = t_tab1-sale  + gv_sale.
          gv_final = t_tab1-final + gv_final.
        ENDLOOP.
        FORMAT COLOR 3.
        ULINE: /(164).
        WRITE:/ 'TOTALS',
          80(16) gv_qty RIGHT-JUSTIFIED,
          98(16) gv_sale RIGHT-JUSTIFIED,
         125(16) gv_final RIGHT-JUSTIFIED,
         182 ''.
        ULINE: /(164).
        FORMAT RESET.
      ENDIF.
    ENDFORM.                    " fr_display_report
    *&      Form  FR_DISPLAY_HEADER
          text
    FORM fr_display_header.
      IF error IS INITIAL.
        FORMAT COLOR 1.
        WRITE:/ 'Date upload           :'(007),   25 sy-datum,  38 ''.
        WRITE:/ 'Production or Test Run:'(008),   25 gv_status, 38 ''.
        WRITE:/ 'Upload User Logon     :'(009),   25 sy-uname,  38 ''.
        ULINE: /(164).
        WRITE:/1(04) 'Site'(010),
              13(10) 'Date'(011),
              25(05) 'Curr.'(012),
              32(14) 'Receipt'(013),
              48(09) 'Cashier'(014),
              60(18) 'Article'(015),
              92     'Qty'(016),
              102    'Item Amount'(017),
              116(7) 'M.o.P.'(018),
              128    'Tender Amount'(019),
              143(6) 'T.Curr'(020),
             152(12) 'Assignment'(021).
        ULINE:/(164).
        FORMAT RESET.
      ENDIF.
    ENDFORM.                    " FR_DISPLAY_HEADER
    *&      Form  fr_newdynpro
          text
    FORM fr_newdynpro USING program LIKE bdcdata-program
                            dynpro  LIKE bdcdata-dynpro.
      t_bdcdata-program = program .
      t_bdcdata-dynpro  = dynpro.
      t_bdcdata-dynbegin = 'X'.
      APPEND t_bdcdata.
      CLEAR t_bdcdata.
    ENDFORM.                    " fr_newdynpro
    *&      Form  fr_loadfield
          text
    FORM fr_loadfield USING field LIKE bdcdata-fnam
                            value.
      t_bdcdata-fnam = field.
      t_bdcdata-fval = value.
      APPEND t_bdcdata.
      CLEAR t_bdcdata.
    ENDFORM.                    " fr_loadfield
    *&      Form  fr_fill_bdctab
          text
    FORM fr_fill_bdctab.
      REFRESH t_bdcdata.
      PERFORM fr_newdynpro USING 'SAPMWPUK' '100'.
      PERFORM fr_loadfield USING 'G_FILIALE' t_tab-cust.
      PERFORM fr_loadfield USING 'G_DATUM'   t_tab-date.
      PERFORM fr_loadfield USING 'BDC_OKCODE' 'BON'.
      PERFORM fr_newdynpro USING 'SAPMWPUK' '500'.
      PERFORM fr_loadfield USING 'WPSCB01-POSKREIS'   t_tab-pos-cont.
      PERFORM fr_loadfield USING 'WPSCB01-KASSID'     t_tab-pos-id.
      PERFORM fr_loadfield USING 'WPSCB01-BELEGWAERS' t_tab-currency.
      PERFORM fr_loadfield USING 'WPSCB01-CSHNAME'    t_tab-cashier.
      PERFORM fr_loadfield USING 'WPSCB01-BONNUMMER'  t_tab-extnbr.
      PERFORM fr_loadfield USING 'E1WPB02-QUALARTNR(01)'  t_tab-qualif.
      PERFORM fr_loadfield USING 'E1WPB02-ARTNR(01)'      t_tab-matnr.
      PERFORM fr_loadfield USING 'E1WPB02-MENGE(01)'      t_tab-qty.
      PERFORM fr_loadfield USING 'WPSCB03-KONDVALUE(01)'  t_tab-sale.
      PERFORM fr_loadfield USING 'E1WPB02-VORGANGART(01)' t_tab-pos-tr.
      PERFORM fr_loadfield USING 'BDC_OKCODE' 'ZAHL'.
      PERFORM fr_newdynpro USING 'SAPMWPUK' '530'.
      PERFORM fr_loadfield USING 'WPSCB06-ZAHLART'  t_tab-paymeth.
      PERFORM fr_loadfield USING 'WPSCB06-SUMME'    t_tab-final.
      PERFORM fr_loadfield USING 'WPSCB06-WAEHRUNG' t_tab-tarcur.
      PERFORM fr_loadfield USING 'WPSCB06-ZUONR'    t_tab-assign.
      PERFORM fr_loadfield USING 'BDC_OKCODE' 'SAVE'.
      PERFORM fr_newdynpro USING 'SAPMWPUK' '530'.
      PERFORM fr_loadfield USING 'WPSCB06-ZAHLART'  t_tab-paymeth.
      PERFORM fr_loadfield USING 'WPSCB06-SUMME'    t_tab-final.
      PERFORM fr_loadfield USING 'WPSCB06-WAEHRUNG' t_tab-tarcur.
      PERFORM fr_loadfield USING 'WPSCB06-ZUONR'    t_tab-assign.
      PERFORM fr_loadfield USING 'BDC_OKCODE' 'BACK'.
      PERFORM fr_newdynpro USING 'SAPLSPO1' '0200'.
      PERFORM fr_loadfield USING 'BDC_OKCODE' 'YES'.
      PERFORM fr_newdynpro USING 'SAPMWPUK' '100'.
      PERFORM fr_loadfield USING 'G_FILIALE' t_tab-cust.
      PERFORM fr_loadfield USING 'G_DATUM'   t_tab-date.
      PERFORM fr_loadfield USING 'BDC_OKCODE' 'BACK'.
    ENDFORM.                    " fr_fill_bdctab
    *&      Form  fr_data_posting
          text
    FORM fr_data_posting.
      IF NOT t_bdcdata[] IS INITIAL.
        REFRESH messtab.
        CALL TRANSACTION 'WPUK' USING t_bdcdata
                                MODE gv_mode
                                UPDATE 'S'
                                MESSAGES INTO messtab.
        IF sy-subrc = 0 .
          CLEAR w_text.
          LOOP AT messtab.
            CALL FUNCTION 'FORMAT_MESSAGE'
                 EXPORTING
                      id        = messtab-msgid
                      lang      = sy-langu
                      no        = messtab-msgnr
                      v1        = messtab-msgv1
                      v2        = messtab-msgv2
                      v3        = messtab-msgv3
                      v4        = messtab-msgv4
                 IMPORTING
                      msg       = w_text
                 EXCEPTIONS
                      not_found = 1
                      OTHERS    = 2.
            MOVE w_text TO t_text-msgtxt.
            CONCATENATE 'Site:'(031)    t_tab-cust
                        'Article:'(024) t_tab-matnr
                        'Posted Sucessfully'(032)
              INTO t_text-desc SEPARATED BY space.
            APPEND t_text.
            CLEAR t_text.
          ENDLOOP.
        ELSE.
          CLEAR w_text.
          LOOP AT messtab.
            CALL FUNCTION 'FORMAT_MESSAGE'
                 EXPORTING
                      id        = messtab-msgid
                      lang      = sy-langu
                      no        = messtab-msgnr
                      v1        = messtab-msgv1
                      v2        = messtab-msgv2
                      v3        = messtab-msgv3
                      v4        = messtab-msgv4
                 IMPORTING
                      msg       = w_text
                 EXCEPTIONS
                      not_found = 1
                      OTHERS    = 2.
            MOVE w_text TO t_text-msgtxt.
            IF messtab-msgnr EQ '213'.
              CONCATENATE 'Site:'(031)    t_tab-cust
                          'Article:'(024) t_tab-matnr
                          'Posted Sucessfully'(032)
               INTO t_text-desc SEPARATED BY space.
              APPEND t_text.
              CLEAR t_text.
              EXIT.        ELSE.
              CONCATENATE 'Site:'(031)    t_tab-cust
                          'Article:'(024) t_tab-matnr
                          'Not Posted'(033)
               INTO t_text-desc SEPARATED BY space.
              APPEND t_text.
              CLEAR t_text.
            ENDIF.
          ENDLOOP.
        ENDIF.
      ENDIF.
    ENDFORM.                    " fr_data_posting
    *&      Form  fr_authority_check
          text
    FORM fr_authority_check.
      AUTHORITY-CHECK OBJECT 'Y_VATADJ'
               ID 'VKORG' FIELD t001w-vkorg
               ID 'TCD'   FIELD 'YGFVAT'.
      IF sy-subrc NE 0.
        MESSAGE e999 WITH text-m02.
      ENDIF.
    ENDFORM.                    " fr_authority_check
    *&      Form  fr_write_msg
          text
    FORM fr_write_msg.
      SKIP.
      ULINE:/(164).
      WRITE:/
      'Messages encountered while Calling Transaction WPUK'(025),
          90 'Message Text'(026).
      ULINE:/1(164).
      LOOP AT t_text.
        WRITE:/1 t_text-desc,
              90 t_text-msgtxt,
              164 ''.
      ENDLOOP.
      ULINE:/1(164).
    ENDFORM.                    " fr_write_msg
    *&      Form  FR_BUILD_REP
          text
    FORM fr_build_rep.
      IF error IS INITIAL.
        IF NOT t_tab[] IS INITIAL.
          LOOP AT t_tab.
            MOVE:
              t_tab-cust     TO t_tab1-cust,        "site/customer number
              t_tab-date     TO t_tab1-date,        "transaction date
              t_tab-currency TO t_tab1-currency,    "currency
            t_tab-extnbr   TO t_tab1-extnbr,      "external reference number
              t_tab-pos-cont TO t_tab1-pos-cont,    "POS controler
              t_tab-pos-id   TO t_tab1-pos-id,      "POS id
              t_tab-cashier  TO t_tab1-cashier,     "cashier name
             t_tab-qualif   TO t_tab1-qualif,      "qualifier of the article
              t_tab-matnr    TO t_tab1-matnr,       "article number
              t_tab-pos-tr   TO t_tab1-pos-tr,      "POS transfert type
              t_tab-paymeth  TO t_tab1-paymeth,     "payment method
              t_tab-tarcur   TO t_tab1-tarcur,      "target currency
              t_tab-assign   TO t_tab1-assign.
            REPLACE ',' WITH '.' INTO t_tab-qty.
            CONDENSE t_tab-qty NO-GAPS.
            MOVE t_tab-qty TO t_tab1-qty.
            REPLACE ',' WITH '.' INTO t_tab-sale.
            CONDENSE t_tab-sale NO-GAPS.
            MOVE t_tab-sale TO t_tab1-sale.
            REPLACE ',' WITH '.' INTO t_tab-final.
            CONDENSE t_tab-final NO-GAPS.
            MOVE t_tab-final TO t_tab1-final.
            APPEND t_tab1.
            CLEAR t_tab1.
          ENDLOOP.
        ENDIF.
      ENDIF.
    ENDFORM.                    " FR_BUILD_REP
    *&      Form  fr_format_tab
          text
    FORM fr_format_tab.
      DATA : lv_qty TYPE string.
      IF NOT t_tab-qty IS INITIAL.
        IF t_tab-qty+0(1) EQ '-'.
          CLEAR lv_qty.
          MOVE t_tab-qty TO lv_qty.
          CLEAR t_tab-qty.
          SHIFT lv_qty LEFT CIRCULAR.
          CONDENSE lv_qty NO-GAPS.
          MOVE lv_qty TO t_tab-qty.
          MODIFY t_tab TRANSPORTING qty.
        ENDIF.
      ENDIF.
    ENDFORM.                    " fr_format_tab

  • Changes to an order through Call Transaction not showing up in change log

    I m having a problem such that if I update an order programmatically with Call Transaction u2018VA02u2019, the order does get updated updated but I donu2019t see the changes in the change log. I m only updating the order quantities. However if I update the same order quantities manually by going to TCode VA02. The changes do get shown in the change log from the Environment u2013> Changes menu. Can you please help.
    Following is the simple recorded code.
    PERFORM bdc_dynpro      USING 'SAPMV45A' '0102'.
    PERFORM bdc_field       USING 'BDC_CURSOR'
                                  'VBAK-VBELN'.
    PERFORM bdc_field       USING 'BDC_OKCODE'
                                  '/00'.
    PERFORM bdc_field       USING 'VBAK-VBELN'
                                  '10655'.
    PERFORM bdc_dynpro      USING 'SAPMV45A' '4001'.
    PERFORM bdc_field       USING 'BDC_OKCODE'
                                  '=POPO'.
    PERFORM bdc_dynpro USING 'SAPMV45A' '0251'.
    PERFORM bdc_field  USING 'BDC_CURSOR'  'RV45A-POSNR'.
    PERFORM bdc_field  USING 'BDC_OKCODE'  '=POSI'.
    PERFORM bdc_field  USING 'RV45A-POSNR'  '10'.
         PERFORM bdc_field       USING 'BDC_CURSOR'
                                       v_rowid.
    PERFORM bdc_dynpro      USING 'SAPMV45A' '4001'.
    PERFORM bdc_field       USING 'BDC_OKCODE'
                                  '=SICH'.
    PERFORM bdc_field  USING 'BDC_CURSOR'  'RV45A-KWMENG(01)'.
    PERFORM bdc_field       USING 'RV45A-KWMENG(01)'
                                   '7'.
    PERFORM bdc_dynpro      USING 'SAPLSPO2' '0101'.
    PERFORM bdc_field       USING 'BDC_OKCODE'
                                  '=OPT1'.
    CALL TRANSACTION 'VA02'
                     USING t_bdcdata
                     MODE   'A'
                     MESSAGES INTO t_messtab.
    COMMIT WORK AND WAIT.
    IF sy-subrc NE 0.
    ENDIF.

    Could not find answer

  • Want to change the BSEG-SGTXT while process through the transaction:FF_5

    Hi,
    I want to change the value in BSEG-SGTXT during the process through the transaction:FF_5.
    Can any one suggest any BADI or User Exit to update the SGTXT.
    Regards,
    Hema T

    Hi
    If your text is going to remain content based certain transaction types or text in the note to payee field then you can use the below functionality.
    Advantage no ABAP help required.
    Define Search String :
    Strg Name : Text
    Strng : Test (say if you want to find the word "test" in the incoming record. You refer the help doc on Search string for combinations)
    Mapping : (keep it blank)
    In Search string use :
    1)
    Company code :
    House bank id:
    Account id:
    Int algthm :  (if you are using any)
    Strg name: Check
    Target field: BDC Field name1 BSEG-SGTXT
    2)
    Company code :
    House bank id:
    Account id:
    Int algthm : (if you are using any)
    Strg name: Text
    Target field: BDC Field value1 "text that you want to enter in the Bseg- sgtxt field"
    3)
    Company code :
    House bank id:
    Account id:
    Int algthm : (if you are using any)
    Strg name: Check
    Target field: BDC Acct type1 0
    0: First line, posting area 1
    1: First line, posting area 2
    2: Second line, posting area 1
    3: Second line, posting area 2
    Regards
    Nikhil

  • When do we go for a Call Transaction or Session Method in BDC

    Hi All,
    Please let me know the scenario when we will go in for
             1. Call Transaction
              2.Session Method.
    What is the main difference between Call Transaction and Session Method
    Regards

    hi,
    Use the CALL TRANSACTION USING statement
    Summary: With CALL TRANSACTION USING, the system processes the data more quickly than with batch input sessions. Unlike batch input sessions, CALL TRANSACTION USING does not automatically support interactive correction or logging functions.
    Your program prepares the data and then calls the corresponding transaction that is then processed immediately.
    The most important features of CALL TRANSACTION USING are:
    Synchronous processing
    Transfer of data from an individual transaction each time the statement CALL TRANSACTION USING is called
    You can update the database both synchronously and asynchronously
    The program specifies the update type
    Separate LUW (logical units of work) for the transaction
    The system executes a database commit immediately before and after the CALL TRANSACTION USING statement
    No batch input processing log
    Create a session on the batch input queue.
    Summary: Offers management of sessions, support for playing back and correcting sessions that contain errors, and detailed logging.
    Your program prepares the data and stores it in a batch input session. A session is a collection of transaction data for one or more transactions. Batch input sessions are maintained by the system in the batch input queue. You can process batch input sessions in the background processing system.
    Your program must open a session in the queue before transferring data to it, and must close it again afterwards. All of these operations are performed by making function module calls from the ABAP program.
    The most important aspects of the session interface are:
    Asynchronous processing
    Transfers data for multiple transactions
    Synchronous database update
    During processing, no transaction is started until the previous transaction has been written to the database.
    A batch input processing log is generated for each session
    Sessions cannot be generated in parallel
    The batch input program must not open a session until it has closed the preceding session.
    <b>Hope this is helpful, DO reward.</b>

  • Layout changed when I added spacing around images.

    @charset "utf-8";
    body {
    font: 100%/1.4 Verdana, Arial, Helvetica, sans-serif;
    background: #363;
    margin: 0;
    padding: 0;
    color: #000;
    /* ~~ Element/tag selectors ~~ */
    ul, ol, dl { /* Due to variations between browsers, it's best practices to zero padding and margin on lists. For consistency, you can either specify the amounts you want here, or on the list items (LI, DT, DD) they contain. Remember that what you do here will cascade to the .nav list unless you write a more specific selector. */
    padding: 0;
    margin: 0;
    h1, h2, h3, h4, h5, h6, p {
    margin-top: 0;  /* removing the top margin gets around an issue where margins can escape from their containing div. The remaining bottom margin will hold it away from any elements that follow. */
    padding-right: 15px;
    padding-left: 15px; /* adding the padding to the sides of the elements within the divs, instead of the divs themselves, gets rid of any box model math. A nested div with side padding can also be used as an alternate method. */
    a img { /* this selector removes the default blue border displayed in some browsers around an image when it is surrounded by a link */
    border: none;
    /* ~~ Styling for your site's links must remain in this order - including the group of selectors that create the hover effect. ~~ */
    a:link {
    color:#414958;
    text-decoration: underline; /* unless you style your links to look extremely unique, it's best to provide underlines for quick visual identification */
    a:visited {
    color: #F00;
    text-decoration: underline;
    a:hover, a:active, a:focus { /* this group of selectors will give a keyboard navigator the same hover experience as the person using a mouse. */
    text-decoration: none;
    /* ~~ this container surrounds all other divs giving them their percentage-based width ~~ */
    .container {
    width: 80%;
    max-width: 1260px;/* a max-width may be desirable to keep this layout from getting too wide on a large monitor. This keeps line length more readable. IE6 does not respect this declaration. */
    min-width: 780px;/* a min-width may be desirable to keep this layout from getting too narrow. This keeps line length more readable in the side columns. IE6 does not respect this declaration. */
    background: #FFF;
    margin: 0 auto; /* the auto value on the sides, coupled with the width, centers the layout. It is not needed if you set the .container's width to 100%. */
    /* ~~ the header is not given a width. It will extend the full width of your layout. It contains an image placeholder that should be replaced with your own linked logo ~~ */
    .header {
    background: #363;
    /* ~~ These are the columns for the layout. ~~
    1) Padding is only placed on the top and/or bottom of the divs. The elements within these divs have padding on their sides. This saves you from any "box model math". Keep in mind, if you add any side padding or border to the div itself, it will be added to the width you define to create the *total* width. You may also choose to remove the padding on the element in the div and place a second div within it with no width and the padding necessary for your design.
    2) No margin has been given to the columns since they are all floated. If you must add margin, avoid placing it on the side you're floating toward (for example: a right margin on a div set to float right). Many times, padding can be used instead. For divs where this rule must be broken, you should add a "display:inline" declaration to the div's rule to tame a bug where some versions of Internet Explorer double the margin.
    3) Since classes can be used multiple times in a document (and an element can also have multiple classes applied), the columns have been assigned class names instead of IDs. For example, two sidebar divs could be stacked if necessary. These can very easily be changed to IDs if that's your preference, as long as you'll only be using them once per document.
    4) If you prefer your nav on the right instead of the left, simply float these columns the opposite direction (all right instead of all left) and they'll render in reverse order. There's no need to move the divs around in the HTML source.
    .sidebar1 {
    float: left;
    width: 20%;
    background: #CF0;
    padding-bottom: 10px;
    .content {
    padding: 15px 15px 15px 15px;
    width: 80%;
    float: left;
    /* ~~ This grouped selector gives the lists in the .content area space ~~ */
    .content ul, .content ol {
    padding: 0 15px 15px 40px; /* this padding mirrors the right padding in the headings and paragraph rule above. Padding was placed on the bottom for space between other elements on the lists and on the left to create the indention. These may be adjusted as you wish. */
    /* ~~ The navigation list styles (can be removed if you choose to use a premade flyout menu like Spry) ~~ */
    ul.nav {
    list-style: none; /* this removes the list marker */
    border-top: 1px solid #666; /* this creates the top border for the links - all others are placed using a bottom border on the LI */
    margin-bottom: 15px; /* this creates the space between the navigation on the content below */
    ul.nav li {
    border-bottom: 1px solid #666; /* this creates the button separation */
    ul.nav a, ul.nav a:visited { /* grouping these selectors makes sure that your links retain their button look even after being visited */
    padding: 5px 5px 5px 15px;
    display: block; /* this gives the link block properties causing it to fill the whole LI containing it. This causes the entire area to react to a mouse click. */
    text-decoration: none;
    background: #390;
    color: #000;
    ul.nav a:hover, ul.nav a:active, ul.nav a:focus { /* this changes the background and text color for both mouse and keyboard navigators */
    background: #6F7D94;
    color: #FFF;
    /* ~~ The footer ~~ */
    .footer {
    padding: 10px 0;
    background: #CF6;
    position: relative;/* this gives IE6 hasLayout to properly clear */
    clear: both; /* this clear property forces the .container to understand where the columns end and contain them */
    /* ~~ miscellaneous float/clear classes ~~ */
    .fltrt {  /* this class can be used to float an element right in your page. The floated element must precede the element it should be next to on the page. */
    float: right;
    margin-left: 8px;
    .fltlft { /* this class can be used to float an element left in your page. The floated element must precede the element it should be next to on the page. */
    float: left;
    margin-right: 8px;
    .clearfloat { /* this class can be placed on a <br /> or empty div as the final element following the last floated div (within the #container) if the #footer is removed or taken out of the #container */
    clear:both;
    height:0;
    font-size: 1px;
    line-height: 0px;
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Yellowstone Biologist</title>
    <link href="NationalParks.css" rel="stylesheet" type="text/css" /><!--[if lte IE 7]>
    <style>
    .content { margin-right: -1px; } /* this 1px negative margin can be placed on any of the columns in this layout with the same corrective effect. */
    ul.nav a { zoom: 1; }  /* the zoom property gives IE the hasLayout trigger it needs to correct extra whiltespace between the links */
    </style>
    <![endif]-->
    <script type="text/javascript">
    </script>
    </head>
    <body onload="MM_preloadImages('habitat def.PNG')">
    <div class="container">
      <div class="header"><a href= /><img src="animals.gif" width="878" height="193" alt="bison" /></a>
        <!-- end .header --></div>
      <div class="sidebar1">
        <ul class="nav">
          <li><a href="NationalParks.html"><strong>Home</strong></a></li>
          <li><a href="Park Ranger.html"><strong>Park Ranger</strong></a></li>
          <li><a href="Biologist.html"><strong>Biologist</strong></a></li>
          <li><a href="Geologist.html"><strong>Geologist</strong></a></li>
          <li><a href="Historian.html"><strong>Historian</strong></a></li>
          <li><a href="Games.html"><strong>Games</strong></a></li>
        </ul>
        <p><strong>Definitions (italicized words):</strong> </p>
        <p><em>Habitat</em>:   the natural conditions and environment  in which a plant or animal lives</p>
        <p><br />
          <em>Extermination</em>:  completely destroy or kill</p>
        <p><em>USFWS</em>: United States Fish and Wildlife Service</p>
    <!-- end .sidebar1 --></div>
      <div class="content">
        <h1>Yellowstone Biologist    </h1>
        <h2>Mammals</h2>
       <p> Yellowstone is home to the largest concentration of mammals in the lower 48 states. Sixty-seven different mammals live here, including grizzly bears, black bears, gray wolves, wolverine, lynx, elk, bison, moose, and numerous small mammals.</p>
        <p>Visitors must view all wildlife safely. You must stay at least 100 yards away from bears and wolves and at least 25 yards  away from all other animals—including bison, elk, bighorn sheep, deer, moose, and coyotes.</p>
        <h4>Bears</h4><img src="grizzly.gif" alt="grizzly bear family" width="150" height="115" hspace="15" vspace="15" align="left" />
        <p>Bears may be seen in Yellowstone March through November of each year. Yellowstone is one of the only areas south of Canada that still has large grizzly bears. Grizzly bears are usually seen in the open areas. </p>
        <p> </p>
        <h4>Wolves</h4><img src="wolves.gif" alt="wolves" width="150" height="115" hspace="15" vspace="15" align="left" />
        <p>
    Loss of <em>habitat</em> and <em>extermination</em> programs led to the elimination of wolves throughout most of the United States by early in the 20th century. In 1973, the U.S. Fish and Wildlife Service listed the northern Rocky Mountain wolf  as an endangered species and designated Greater Yellowstone as one of three recovery areas. From 1995 to 1997, 41 wild wolves from Canada and northwest Montana were released in Yellowstone National Park. As expected, wolves from the growing population dispersed to establish territories outside the park. More than 1,600 wolves now reside in Idaho, Montana, and Wyoming. In August 2010, a U.S. district judge ruled against a <em>USFWS</em> 2009 decision to remove the wolf from the endangered species list, so wolves are protected as an endangered species in all three states again.<br />
        </p>
    <h4>Bighorn Sheep<img src="BigHornSheep.gif" alt="bighorn sheep" width="150" height="115" hspace="15" vspace="15" align="left" /></h4>
        <p> Bighorn sheep once numbered in the millions in western United States and were an important food source for humans. They are named for the large, curved horns on the males, or rams. Females, or ewes, also have horns, but they are short with only a slight curve. In the winter of 1981-82, an outbreak of pinkeye occurred among bighorns in the Mt. Everts area. Many sheep were blinded and/or killed on the adjacent park road or by falling from cliffs. Some are now found comfortable around summer road traffic.</p>
        <h4>Bison<img src="bison.gif" alt="bison" width="150" height="115" hspace="15" vspace="15" align="left" /></h4><p>
        Bison are the largest mammals in Yellowstone National Park. They are strictly vegetarian, and they graze on grasslands in the meadows, the foothills, and even the high-elevation areas of Yellowstone. Despite their slow walk, bison are surprisingly fast for animals that weigh more than half a ton.</p>
    <p>Yellowstone is the only place in the lower 48 states where a population of wild bison has survived since prehistoric times, although fewer than 50 native bison remained here in 1902. Fearing extinction, the park imported 21 bison from two privately-owned herds.</p>
        <h4>Bobcats<img src="yellowstone-bobcat.gif" alt="bobcat" width="150" height="115" hspace="15" vspace="15" align="left" /></h4><p>
        Bobcats  are small wild cats with reddish-brown or yellowish-brown coats, streaked with black or dark brown. They have prominent, pointed ears with a tuft of black hair at the tip. </p>
    <p>Unlike lynx, which they resemble, bobcats elsewhere have been highly adaptable to human-caused changes in environmental conditions; some biologists believe that there are more bobcats in the United States today than in colonial times. Yellowstone has many rock outcrops, canyons bordered by rock ledges, conifer forests, and semi-open areas that seem to offer conditions favorable for bobcats--adequate shelter, a variety of rodents, rabbits, hares, birds, and other small animals as well as seasonal carrion, for food.</p>
    <p>Bobcats are known to hole-up and wait out severe winter storms elsewhere. These elusive cats are most active at night, so even those who study them seldom have an opportunity to see one.</p>
        <h4>Coyotes</h4>
        <p>
          Yellowstone's coyotes  are among the largest coyotes in the United States. Adults are about 30 pounds, are less than two feet tall and vary in color from gray to tan with sometimes a reddish tint to its coat.</p>
        <p>Small mammals are an important component of coyotes' diets. In Yellowstone, such prey include microtines or voles, mice , pocket gophers, small birds, and in spring and summer, ground squirrels. They also feed on larger mammal's (elk, deer, bison, moose, pronghorn, and bighorn sheep) calves and fawns shortly after birth and young animals.</p>
        <h4>Elk<img src="elk.gif" alt="elk" width="150" height="115" hspace="15" vspace="15" align="left" /></h4><p>
          Elk  are the most abundant large mammal found in Yellowstone and historical evidence confirms their continuous presence for at least 1,000 years. More than 30,000 elk from 7-8 different herds summer in Yellowstone and approximately 15,000 to 22,000 winter in the park. </p>
    <p>Bulls grow antlers annually from the time they are nearly one year old. When mature, a bull's &quot;rack&quot; may have 6 to 8 points, or tines, on each side and weigh more than 30 pounds.</p>
        <h4>Lynx</h4>
    <p>Adult lynx are about the size of a large domestic cat. Males can weigh up to 30 pounds, while females are smaller. The similarity between lynx and bobcats makes it difficult to determine their status in Yellowstone. A large adult bobcat may be larger than a small adult lynx, so size is not a good characteristic for positive identification.</p>
        <h4>Moose<img src="moose.gif" alt="moose" width="150" height="115" hspace="15" vspace="15" align="left" /></h4><p>
        Moose, the largest member of the deer family, were reportedly very rare in northwest Wyoming when Yellowstone National Park was established in 1872. Moose breed from early September to November and one to three calves are born in May or June. Calves weigh 25 to 35 pounds at birth but grow rapidly; adult females (cows) weigh up to 800 pounds and males (bulls) up to 1300 pounds. </p>
    <h4>Mountain Lion</h4><p>
        The mountain lion, also called the cougar, is the largest member of the cat family living in Yellowstone. Mountain lions can weigh up to 200 pounds, although lions in Yellowstone are thought to range between 140 and 160 pounds for males and around 100 pounds for females.</p>
    <p>Mountain lions are rather secretive, so most visitors are unaware of their existence in Yellowstone. Lions probably live throughout the park in summer. </p>
        <h4>      Amphibians</h4>
        <p>
        Cool, dry conditions limit Yellowstone's amphibians to four species: boreal toad; chorus frog; spotted frog; and the tiger salamander. Population numbers for these  are not known.</p>
        <!-- end .content --></div>
      <div class="footer">
        <p>Sources: <a href="http://www.nps.gov/yell/naturescience/mammals.htm">http://www.nps.gov/yell/naturescience/m ammals.htm</a></p>
        <p><a href="http://www.nps.gov/yell/naturescience/amphibians.htm">http://www.nps.gov/yell/naturescienc e/amphibians.htm</a></p>
        <!-- end .footer --></div>
      <!-- end .container --></div>
    </body>
    </html>
    This has happened before, where everything in my content area has dropped down below the sidebar.It's happended on several pages. I don't know why or how to fix it. It's for a class, so where I've posted it is private, but here's the page and css code.
    HTML

    Murray is right. Padding (and margins) is added to the width. However, when using percentages, you should never use figures that add up to exactly 100%.
    Browsers need to convert the percentages to pixels. Because pixels must be whole numbers, some percentages are rounded up, which results in the final element dropping down below its neighbours. With percentages, it's much safer to use values that add up to 98% (99% often works, but 98% is safer).

  • Layout Change when program run in background.

    Hi All,
    I have a layout field on the selection screen. When I run the program in foreground, iam able to see the change in the layout in the output. When I select a layout name and run the report in background, Iam sending a file to the application server. Now, when I give the layout and run the report in background, the file iam sending to the app server should have the same layout which i have selected in the selection screen.
    Please help with some example code.
    Thanks,
    Guru Charan.

    Hi Amit,
    Thanks for the reply. The program can be run both the ways. When it is run in the foreground, Iam changing the layout with the help of REUSE_ALV_GRID_DISPLAY. It is working.
    But when iam running in the background, I have to send a file to application server with the same layout.
    thanks,
    Guru Charan.

  • Document layout changes when creating PDF

    We have the problem of the layout/formatting of documents changing whenever we try to print to PDF from, for instance MS-Word.
    We open a large document of lets say 100 pages in total, then when we choose PRINT and now select ADOBE PDF instead of the default Windows printer, then the document layout/formatting changes and now suddenly htere are only 95 pages.
    It is aboviusly some font setting problem, but we have not been able to find a soultion ourselves. This issue also prevents us from using "create from multiple files" as we cannot trust the final layout (page numberring end up wrong in PDF file)
    Any input will be appreaciated.

    Thx for the input. I am aware of the suggested workaround, but I was looking for at more "permanent" solution, as we need to combine 40-50 files for each job (Word, Excel...and more) and therefore we are trying to avoid having to go through all documents each time we need to convert to PDF.
    Currently we are :
    opening each document individually
    then selecting ADOBE PDF printer
    then checking document formatting/layout
    then printing to PDF.
    finally combining the 40-50 PDF's to one PDF
    This we have to do as we cannot trust the formatting/layout.
    It is off course undesirable when we know we can combine Word, Excel files to one PDF in one "go" without having to open the individual docs. at first.
    Surely, it must be some printer driver setup issue (using printer fonts, enabling/disabling bitmap fonts, use truetypes....etc)? we just can't find the recipe for this ourselves.

  • Layout changed when copy and modify standard pz09 service

    Hi,
    We  have copied the standard PZ09 ITS service (HTML Template, TCode, program) to custom program. Done some changes in custom program and published the service to ITS. But when we test the custom service the the layout looks entirely different. how to get the standard PZ09 layout in custom service. we haven't done any change in html template.
    Thanks & Regards,
    Bala

    Hello Bala,
    Does your original PZ09 service have templates?  You will need those templates (and mimes) to have the same look and feel.  Therefore if your custom service is called ZPZ09 then your system should have a zpz09 directory of templates.  If not then that is the problem, you haven't copied (or published) the PZ09 templates.
    Edgar

  • Why does the layout change when creating calendars in iPhoto?

    Hi.  How can I stop iPhoto from automatically changing the layout when adding photos to make a calendar?

    Hi.  Latest version of everything.  Picture calendar theme.  Let's say I choose the layout that uses 6 photos.  I begin to drag photos where I want.  Sometimes the layout stays the same, but sometimes the layout of the photos changes positions, even after I have placed a specific photo into a specific place holder.  If I place a photo into a specific place holder, I would like it to stay there and not change positions.  I am not an iPhoto user - I use Aperture, but I cannot create calendars from within Aperture - so it seems to me there ought to be a tick-mark someplace that I need to uncheck so iPhoto stops rearranging photos as I place them into the layout.  I hope this make sense.  Thanks for taking the time with with.  It is appreciated.
    mike

  • Frame layout changes when button is pressed again...

    Okay so basically I have a button on my frame and when it's pressed it opens up another frame. This is fine, but when the button is pressed again it opens up the frame again but the layout is all over the place.
    Here is the code:
    if (ev.getSource() == seating)
    else
                   seatdisplay = new JFrame("Seating Display");
                   seatdisplay.getContentPane().setBackground(Color.orange);
                   seatdisplay.setLayout(new BorderLayout()); //Define border layout
                   seatdisplay.setVisible(true);
                   seatdisplay.setSize(550,500);
                   seatdisplay.add(panelLeft, BorderLayout.WEST); //Position object to the west
                   seatdisplay.add(panelMiddle, BorderLayout.CENTER);
                   seatdisplay.add(panelRight, BorderLayout.EAST);
                   seatdisplay.add(panelTop, BorderLayout.NORTH);
                   seatdisplay.add(panelBottom, BorderLayout.SOUTH);
                   panelLeft.setLayout(new GridLayout(4,2)); //Define new grid layout
                   panelLeft.setBackground(Color.black);
                   panelLeft.add(a1 = new JButton("A1")); //Add buttons
                   panelLeft.add(a2 = new JButton("A2"));
                   panelLeft.add(a3 = new JButton("A3"));
                   panelLeft.add(a4 = new JButton("A4"));
                   panelLeft.add(a5 = new JButton("A5"));
                   panelLeft.add(a6 = new JButton("A6"));
                   panelLeft.add(a7 = new JButton("A7"));
                   panelLeft.add(a8 = new JButton("A8"));
                   panelMiddle.setLayout(new GridLayout(3,6));
                   panelMiddle.setBackground(Color.orange);
                   panelMiddle.add(empty = new JButton("")); empty.setVisible(false);
                   panelMiddle.add(b1 = new JButton("B1"));
                   panelMiddle.add(b2 = new JButton("B2"));
                   panelMiddle.add(b3 = new JButton("B3"));
                   panelMiddle.add(b4 = new JButton("B4"));
                   panelMiddle.add(empty3 = new JButton("")); empty3.setVisible(false);
                   panelMiddle.add(empty1 = new JButton("")); empty1.setVisible(false);
                   panelMiddle.add(b5 = new JButton("B5"));
                   panelMiddle.add(b6 = new JButton("B6"));
                   panelMiddle.add(b7 = new JButton("B7"));
                   panelMiddle.add(b8 = new JButton("B8"));
                   panelMiddle.add(empty4 = new JButton("")); empty4.setVisible(false);
                   panelMiddle.add(empty2 = new JButton("")); empty2.setVisible(false);
                   panelMiddle.add(b9 = new JButton("B9"));
                   panelMiddle.add(b10 = new JButton("B10"));
                   panelMiddle.add(b11 = new JButton("B11"));
                   panelMiddle.add(b12 = new JButton("B12"));
                   panelRight.setLayout(new GridLayout(4,2));
                   panelRight.setBackground(Color.black);
                   panelRight.add(c1 = new JButton("C1"));
                   panelRight.add(c2 = new JButton("C2"));
                   panelRight.add(c3 = new JButton("C3"));
                   panelRight.add(c4 = new JButton("C4"));
                   panelRight.add(c5 = new JButton("C5"));
                   panelRight.add(c6 = new JButton("C6"));
                   panelRight.add(c7 = new JButton("C7"));
                   panelRight.add(c8 = new JButton("C8"));
    }The seat button is pressed and seatdisplay frame is opened, however, if I press the seat button twice another seatdisplay frame is opened and the layout is all over the place. Do I need to do some sort of refresh?

    Swing related questions should be posted in the Swing forum.
    If you need further help then you need to create a "Short, Self Contained, Compilable and Executable, Example Program (SSCCE)", that demonstrates the incorrect behaviour.
    http://homepage1.nifty.com/algafield/sscce.html
    Don't forget to use the "Code Formatting Tags", so the posted code retains its original formatting.
    http://forum.java.sun.com/help.jspa?sec=formatting

Maybe you are looking for

  • [CS2 on Windows XP]: Is there a way to modify the JPG compression in an SVG?

    Hello, I have got an EPS file.It contains some text, some paths, and a rastered image. Saved as a JPG with moderate compression it is 125KB in size. For an EPUB I want to insert is as an SVG. But when I save it as an SVG (text being converted to path

  • Problem with Nokia 2220 slide

    My nokia 2220 slide is acting strange it deleted all my themes & app.when i check my memory status its saying i have used 22.9 GB but my total phone memory is 9.8 mb,the memory also keeps on decreasing. sometimes i find unknown files in my phone but

  • Caps Lock

    I have a mid 2009 15in Mackbook Pro and before I had an issue with Safe boot I noticed everything wrote was in caps without me selecting the caps lock button.

  • PPP Callback over ISDN failure - user not authorised

    Hi,I'm still a rookie with Cisco and in need of help: Have a MS XP PC dialing into 803 over ISDN, successfully connecting if 803 config'd for Callback optional (no callback secure) but failing for callback secure with log message "Callback not author

  • Diff between Ctrl+T and Shift+Ctrl+K

    hi ppl, Can any one tell me the difference between Compile File (Ctrl+T) and Compile All(Shift+Ctrl+K) in forms builder? Recently, I encountered an issue. I did a change in a form. The only change was that, I modified the "Default where" condition of