Difrrence between fld grps and fld symbols

Hi,
what are the differences between field groups and field symbols??

HI
<b>
Field groups:</b>
http://help.sap.com/saphelp_46c/helpdata/EN/d2/cb43e6455611d189710000e8322d00/content.htm
<b>A Note on the Use of Field Groups...</b>
Because field-groups write their data to paging space (rather than storing it in memory), they are appropriate only for processing lists with lots (like 50,000 or more) of records. If you expect your programs to be handling tens of thousands of records, you should:
analyze the expected size of your lists. For instance, if your system has 512M of main memory, you may decide that you don't want any report to use more than 15M of memory for its lists. In that program, you may have a list:
begin of mylist occurs XXX,
dat1(100) type c,
dat2(50) type c,
dat3(10) type c,
end of list.
Then each record takes up approximately 160 bytes; so every 6 records take up approximately 1K. For this list structure, it would take about 90,000 records to use up 15M RAM.
decide the maximum amount of memory you want your program to use
decide whether to use field-groups or something else (like internal tables). If you expect the size of your list to be greater than the amount of memory you want your program to use, then use field-groups (actually, if you use internal tables, and the number of records exceeds the number of records in your OCCURS statement, the system just writes those extra records to the paging space. So is there really any difference between just using an internal table with an OCCURS 0 statement-- which would write the entire table to paging space-- and using field-groups? According to Gareth M. de Bruyn and Robert Lyfareff in Introduction to ABAP/4 Programming for SAP, field-groups are stored more efficiently, and have better performance. They recommend field-groups for lists of 100,000 or more records).
Field-Groups Sample Code
*& Report  ZSPFLI                                                      *
REPORT  ZSPFLI  LINE-SIZE 132 LINE-COUNT 65(3)
                                             NO STANDARD PAGE HEADING.
TABLES:SPFLI,SCARR, SFLIGHT, SBOOK.
SELECT-OPTIONS: MYCARRID FOR SPFLI-CARRID.
FIELD-GROUPS: HEADER, SPFLI_FG, SFLIGHT_FG, SBOOK_FG.
INSERT:
        SPFLI-CARRID
        SPFLI-CONNID
        SFLIGHT-FLDATE
        SBOOK-BOOKID
       INTO HEADER,
        SPFLI-CARRID
        SPFLI-CONNID
        SPFLI-CITYFROM
        SPFLI-AIRPFROM
        SPFLI-CITYTO
        SPFLI-AIRPTO
        SPFLI-DEPTIME
        SCARR-CARRNAME
      INTO SPFLI_FG,
        SFLIGHT-FLDATE
        SFLIGHT-SEATSMAX
        SFLIGHT-SEATSOCC
        SFLIGHT-PRICE
      INTO SFLIGHT_FG,
        SBOOK-BOOKID
        SBOOK-CUSTOMID
        SBOOK-CUSTTYPE
        SBOOK-SMOKER
       INTO SBOOK_FG.
SELECT * FROM SPFLI WHERE CARRID IN MYCARRID.
  SELECT SINGLE * FROM SCARR WHERE CARRID = SPFLI-CARRID.
  EXTRACT SPFLI_FG.
  SELECT * FROM SFLIGHT
   WHERE CARRID = SPFLI-CARRID AND  CONNID = SPFLI-CONNID.
    EXTRACT SFLIGHT_FG.
    SELECT * FROM SBOOK
           WHERE CARRID = SFLIGHT-CARRID AND
           CONNID = SFLIGHT-CONNID AND FLDATE = SFLIGHT-FLDATE.
      EXTRACT SBOOK_FG.
      CLEAR SBOOK.
    ENDSELECT.
    CLEAR SFLIGHT.
  ENDSELECT.
  CLEAR SPFLI.
ENDSELECT.
SORT.
LOOP.
  AT SPFLI_FG.
    FORMAT COLOR COL_HEADING.
    WRITE: / SCARR-CARRNAME,
             SPFLI-CONNID, SPFLI-CITYFROM,
             SPFLI-AIRPFROM, SPFLI-CITYTO, SPFLI-AIRPTO, SPFLI-DEPTIME.
    FORMAT COLOR OFF.
  ENDAT.
  AT SFLIGHT_FG.
    WRITE: /15 SFLIGHT-FLDATE, SFLIGHT-PRICE, SFLIGHT-SEATSMAX,
               SFLIGHT-SEATSOCC.
  ENDAT.
  AT SBOOK_FG.
    WRITE: /30 SBOOK-BOOKID, SBOOK-CUSTOMID,
                 SBOOK-CUSTTYPE, SBOOK-SMOKER.
  ENDAT.
ENDLOOP.
*&      END OF REPORT                                                  *
<i><b>
Field Symbols </b></i> Field symbols are placeholders or symbolic names for other fields. They do not physically reserve space for a field, but point to its contents. A field symbol cam point to any data object. The data object to which a field symbol points is assigned to it after it has been declared in the program.
Whenever you address a field symbol in a program, you are addressing the field that is assigned to the field symbol. After successful assignment, there is no difference in ABAP whether you reference the field symbol or the field itself. You must assign a field to each field symbol before you can address the latter in programs.
Field symbols are similar to dereferenced pointers in C (that is, pointers to which the content operator * is applied). However, the only real equivalent of pointers in ABAP, that is, variables that contain a memory address (reference) and that can be used without the contents operator, are reference variables in ABAP Objects. (For more information, see Data References).
All operations programmed with field symbols are applied to the field assigned to it. For example, a MOVE statement between two field symbols moves the contents of the field assigned to the first field symbol to the field assigned to the second field symbol. The field symbols themselves point to the same fields after the MOVE statement as they did before.
You can create field symbols either without or with type specifications. If you do not specify a type, the field symbol inherits all of the technical attributes of the field assigned to it. If you do specify a type, the system checks the compatibility of the field symbol and the field you are assigning to it during the ASSIGN statement.
Field symbols provide greater flexibility when you address data objects:
•     If you want to process sections of fields, you can specify the offset and length of the field dynamically.
•     You can assign one field symbol to another, which allows you to address parts of fields.
•     Assignments to field symbols may extend beyond field boundaries. This allows you to address regular sequences of fields in memory efficiently.
•     You can also force a field symbol to take different technical attributes from those of the field assigned to it.
The flexibility of field symbols provides elegant solutions to certain problems. On the other hand, it does mean that errors can easily occur. Since fields are not assigned to field symbols until runtime, the effectiveness of syntax and security checks is very limited for operations involving field symbols. This can lead to runtime errors or incorrect data assignments.
While runtime errors indicate an obvious problem, incorrect data assignments are dangerous because they can be very difficult to detect. For this reason, you should only use field symbols if you cannot achieve the same result using other ABAP statements.
For example, you may want to process part of a string where the offset and length depend on the contents of the field. You could use field symbols in this case. However, since the MOVE statement also supports variable offset and length specifications, you should use it instead. The MOVE statement (with your own auxiliary variables if required) is much safer than using field symbols, since it cannot address memory beyond the boundary of a field. However, field symbols may improve performance in some cases.
Defining Field Symbols
Assigning Data Objects to Field Symbols
<b> Declaring Field Symbols </b>
To declare a field symbol, use the statement
FIELD-SYMBOLS <FS> [<type> STRUCTURE  DEFAULT <wa>].
For field symbols, the angle brackets are part of the syntax. They identify field symbols in the program code.
If you do not specify any additions, the field symbol <FS> can have data objects of any type assigned to it. When you assign a data object, the field symbol inherits its technical attributes. The data type of the assigned data object becomes the actual data type of the field symbol.
Note: it is possible to assign reference variables and structured data objects to untyped field symbols. However, the static field symbol is only a pointer to the field in memory, and does not have the complex type attributes of a reference or structured field until runtime. You can only use the field symbol to address the whole field (for example, in a MOVE statement). Specific statements such as CREATE OBJECT <FS> or LOOP AT <FS> are not possible.
Regards
Ravish Garg<b><i>
*reward if helpful</i></b>

Similar Messages

  • What is the difference between Standard text and Text Symbols?

    Hi,
                1.Difference between Standard text and text symbol,?
                2. Which we use Standard symbol?

    Text symbol
    Text symbols are symbols representing text elements. In fact, a text symbol can be defined for every text elements. The reading of the form is easier in the SAPscript editor. The name of the text symbol must not exceed 32 characters and its value 60 characters. The value assignement can be done in two ways:
    - Using the following command: "/: DEFINE &SYMBOL&='TEST_SYMBOLE'"
    - Using a standard text symbol.
    The text symbol value is temporary stored. When the print program finishes the execution, the text symbol does not exist anymore. The text symbol must have a value when it is declared.
    Also check this link,
    http://www.supinfo-projects.com/en/2005/forms_sapscript_en/5/
    Standard text are good, if you are using them in more than one SAPScript, because you have to maintain them only once, and not in every SAPScript.
    It is really good to write rarely changing texts into the SO10 standard texts (for example company name, and address).
    standard text is not always used in scripts. when ever u want to display some data u need to use standard text so that the data gets displayed. Say, u have a large piece of document which needs to be printed at end of script... rather than writing the whole thing in script, we create standard text using SO10 and then use the name along with standard text in script.

  • Ipod touch flicking between lock page and waiting symbol

    have an ipod touch
    getting an iphone next week, thought i'd better update itunes software to latest version
    did this no problems
    however ipod touch now has developed odd issue since this today
    have not managed to successfully sync
    done 3 restores
    screen is flicking between my home page and the waiting symbol
    can't power off (however have done the holding down power and home button trick and did get it to power down, problem persists)
    cannot access anything on the ipod
    using a windows vista to sync via itunes
    anyone any suggestions?

    Try restoring to factory defaults/new iPod you have not yet done that. If you still have the problem that points to a hardware problem and an appointment at the Genius Bar of an Apple store is in order.

  • What is difference between bex analyser and bex browser

    what is difference between bex analyser and bex browser . please explain what are use of both and what we do in both.

    hi
    Bex Browser
    The Business Explorer Browser (BEx Browser) makes it possible for you to access all document types of the Business Information Warehouse that are assigned to your role or that you have stored in your favorites. You can select and open documents assigned to you in the BEx Browser or store and manage new documents in the BEx Browser.
    Document types that you can work with in the BEx Browser are:
    · BW workbooks
    · Documents that are stored in the Business Document Service (BDS)
    · Links (references to file system, shortcuts)
    · Links to internet sites (URLs)
    · SAP transaction calls.
    · Web applications and Web templates
    · Crystal Reports
    Bex Analyser
    The Business Explorer Analyzer (BEx Analyzer) is the analysis and reporting tool of the Business Explorer that is embedded in Microsoft Excel.
    Features
    You can call up the BEx Query Designer in the BEx Analyzer, in order to define queries. Subsequently, you can analyze the selected InfoProvider data by navigation to the query created in the Query Designer and create different query views of the data. You can add the different query views for a query or for different queries to a work book and save them there. You can save the workbook in your favorites or in your role on the BW Server. You can also save the workbook locally on your computer.
    Beyond that, you can precalculate the workbook and distribute it by e-mail to recipeients or you can export it to the Enterprise Portal and make it accessible to other employees in the company.
    You can start queries in a standard view (with a Standard Web Template set up in Customizing) in the Web browser and forward the URL or continue to navigate on the Web. Similarly, you can export the Web query to MS Excel 2000.
    Overview of the Functional Area of the BEx Analyzer:
    ·        BEx toolbar
    You access the functions of the BEx Analyzer from the BEx toolbar, which takes you to the BEx Open dialog box where you can open existing queries, or to the BEx Query Designer where you can create new queries or change existing queries.
    ·        Evaluating Query Data
    The BEx Analyzer offers convenient functions for evaluating and presenting InfoProvider data interactively. In the BEx Analyzer, you can add queries to workbooks, navigate within them and refresh the data. You can also process the queries further in Microsoft Excel or display them in the Web browser in a default view.
    Navigation of a query allows you, for example, to filter characteristics on a single value, drilldown on all values for a characteristic, regroup characteristics and key figures in the rows and columns of the results area, or hide key figures. Navigation results in different views of the InfoProvider data. In addition, a range of further functions is available which allow you to edit a query interactively (for example, sorting, cumulated output, among others). In addition, you can use the editing functions in Microsoft Excel in order to set up individual format templates, to print results areas, or to create graphics.
    ·        Queries in Workbooks
    Queries are inserted into workbooks so you can display them. When you insert a query, a link is made between the cell areas of the worksheet and the data of the InfoProvider upon which the query is based. A link therefore exists between the Business Explorer and the Business Information Warehouse Server (BW Server).
    When inserting a query into the workbook, a VBA routine is automatically generated in the workbook. You can also connect the Business Explorer with your own VBA programs (Visual Basic for Applications).
    You can create workbook templates, into which you can insert your queries. Workbook templates can contain pre-determined items for the area of the query, formatting settings, logos, VBA macros, and so on.
    ·        Precalculating workbooks
    You can precalculate and distribute workbooks with the BEx Broadcaster, which is a Web application you get to form the BEx toolbar. The system generates MS Excel workbooks with historical data. You determine the time for precalculation yourself: You can have workbooks precalculated at a predefined time or they can be precalculated whenever data in the underlying InfoProvider changes. You can have the precalculated workbooks sent by e-mail or you can export them into the Enterprise Portal, where you can make them available to employees within your company.
    Activities
    To start the BEx Analyzer, choose Start ® Programs ® SAP Front-end Business Information Warehouse ® SAP Business Explorer Analyzer.
    You can also access the BEx Analyzer via SAP Easy Access ® SAP Business Information Warehouse ® SAP Menu ® Business Explorer ® Analyzer or in the Business Explorer Browser using the Business Explorer Analyzer symbol in the menu bar.
    Hope this will solve your issu
    nagarjuna

  • How do I get home sharing to work between my Mac and a PC

    I can see my families iTunes libraries on their PC's but I can't home share.  The symbol I have by all of their libraries is a square with a music note in it.  Between their PC's however they can share and their symbol is a house.  It has to be something within the Mac not allowing me to share music.  Any thoughts on settings within the Mac to allow the homesharing to happen?

    check out these links:
    Troubleshooting security software issues
    Troubleshooting Home Sharing
    and, last but not least, see this discussion concerning bonjour being the culprit.

  • What's the difference between InDesign CC and InDesign CC 2014?

    Hi,
    I am in the middle of projects and I see there is a whole new release of the Adobe Cloud apps.
    What is the What's the difference between InDesign CC and InDesign CC 2014?
    Are there different features?
    Different tutorials?
    I don't want to suddenly open my files in INDD CC 2014 unless it is fairly seamless.
    Thanks for any help and advice.
    — CR

    http://blogs.adobe.com/jkost/2014/06/installing-the-2014-release-of-creative-cloud.html
    -you may need to log OUT of your Cloud account and then log IN again to see the updates
    This messages says (at least some) CC 2014 programs use NEW plugins https://forums.adobe.com/thread/1499663
    -so do not uninstall the older CC programs if you use plugins in your programs until you are sure you have plugins that work in CC2014
    If you are sure you don't need the old CC programs
    -http://helpx.adobe.com/creative-cloud/help/install-apps.html to install or uninstall
    -read reply #3 about the ORDER of uninstalling & installing
    For program specifics, try InDesign
    The Cloud forum is not about using individual programs
    The Cloud forum is about the Cloud as a delivery & install process
    If you will start at the Forums Index https://forums.adobe.com/welcome
    You will be able to select a forum for the specific Adobe product(s) you use
    Click the "down arrow" symbol on the right (where it says All communities) to open the drop down list and scroll

  • What is the difference between interactive report and alv interactive repor

    what is the difference between interactive report and alv interactive report
    could u plz explain clearly.

    Hi Rajesh,
    interactive report or alv interactive report , both are same but except the viewer, Abap List Viewer (ALV).
    Here in i am placing a sample simple ALV Interactive report.
    Just double click on the customer number to go to the next screen.
    *& Report  ZKAL_ALV_INTERACTIVE_1                                      *
    REPORT  ZKAL_ALV_INTERACTIVE_1                  .
    TYPE-POOLS: SLIS.
      TYPES: BEGIN OF TY_KNA1,
              KUNNR TYPE KUNNR,
              NAME1 TYPE NAME1,
              ORT01 TYPE ORT01,
            END OF TY_KNA1.
      TYPES: BEGIN OF TY_VBAK,
              VBELN TYPE VBELN,
              ERNAM TYPE ERNAM,
              ERDAT TYPE ERDAT,
              NETWR TYPE NETWR,
              WAERK TYPE WAERK,
             END OF TY_VBAK.
    &--WORK AREA & TABLE DECLARATION--
      DATA: W_KNA1 TYPE TY_KNA1.
      DATA: T_KNA1 TYPE STANDARD TABLE OF TY_KNA1 INITIAL SIZE 1.
      DATA: W_VBAK TYPE TY_VBAK.
      DATA: T_VBAK TYPE STANDARD TABLE OF TY_VBAK INITIAL SIZE 1.
    &--FIELDCAT TABLE & WORK AREA--
      DATA: W_FCAT TYPE SLIS_FIELDCAT_ALV.
      DATA: T_FCAT TYPE SLIS_T_FIELDCAT_ALV.
      DATA: W_FCAT1 TYPE SLIS_FIELDCAT_ALV.
      DATA: T_FCAT1 TYPE SLIS_T_FIELDCAT_ALV.
    &--EVENT TABLE AND WORK AREA--
      DATA: W_EVENTS TYPE SLIS_ALV_EVENT.
      DATA: T_EVENTS TYPE SLIS_T_EVENT.
      DATA: W_EVENTS1 TYPE SLIS_ALV_EVENT.
      DATA: T_EVENTS1 TYPE SLIS_T_EVENT.
    &--COMMENT TABLE & WORK AREA--
      DATA: W_COMMENT TYPE SLIS_LISTHEADER.
      DATA: T_COMMENT TYPE SLIS_T_LISTHEADER.
      DATA: W_COMMENT1 TYPE SLIS_LISTHEADER.
      DATA: T_COMMENT1 TYPE SLIS_T_LISTHEADER.
    &----APPENDING FCAT -
      W_FCAT-COL_POS = 1.
      W_FCAT-FIELDNAME = 'KUNNR'.
      W_FCAT-SELTEXT_M = 'CUST. NO'.
      W_FCAT-HOTSPOT = 'X'.            "HOT SPOT HAND SYMBOL
      W_FCAT-EMPHASIZE = 'C119'.       "FOR COLORING THE COLUMN 1
      APPEND W_FCAT TO T_FCAT.
      CLEAR W_FCAT.
      W_FCAT-COL_POS = 2.
      W_FCAT-FIELDNAME = 'NAME1'.
      W_FCAT-SELTEXT_M = 'CUST. NAME'.
      APPEND W_FCAT TO T_FCAT.
      W_FCAT-COL_POS = 3.
      W_FCAT-FIELDNAME = 'ORT01'.
      W_FCAT-SELTEXT_M = 'CITY'.
      APPEND W_FCAT TO T_FCAT.
      W_FCAT1-COL_POS = 1.
      W_FCAT1-FIELDNAME = 'VBELN'.
      W_FCAT1-SELTEXT_M = 'ORDER NO'.
      W_FCAT1-EMPHASIZE = 'C519'.
      APPEND W_FCAT1 TO T_FCAT1.
      CLEAR W_FCAT.
      W_FCAT1-COL_POS = 2.
      W_FCAT1-FIELDNAME = 'ERNAM'.
      W_FCAT1-SELTEXT_M = 'NAME OF PARTY'.
      APPEND W_FCAT1 TO T_FCAT1.
      W_FCAT1-COL_POS = 3.
      W_FCAT1-FIELDNAME = 'ERDAT'.
      W_FCAT1-SELTEXT_M = 'DATE'.
      APPEND W_FCAT1 TO T_FCAT1.
      W_FCAT1-COL_POS = 4.
      W_FCAT1-FIELDNAME = 'NETWR'.
      W_FCAT1-SELTEXT_M = 'ORDER VALUE'.
      APPEND W_FCAT1 TO T_FCAT1.
      W_FCAT1-COL_POS = 5.
      W_FCAT1-FIELDNAME = 'WAERK'.
      W_FCAT1-SELTEXT_M = 'CURRENCY'.
      APPEND W_FCAT1 TO T_FCAT1.
    &--APPEND COMMENTRY--
      W_COMMENT-TYP = 'H'.
      W_COMMENT-INFO = 'CUSTOMER DETAILS'.
      APPEND W_COMMENT TO T_COMMENT.
      CLEAR W_COMMENT.
    &--APPEND EVENTS TABLE--
      W_EVENTS-NAME = 'TOP_OF_PAGE'.
      W_EVENTS-FORM = 'TOPPAGE'.
      APPEND W_EVENTS TO T_EVENTS.
      W_EVENTS-NAME = 'USER_COMMAND'.
      W_EVENTS-FORM = 'SUB2'.
      APPEND W_EVENTS TO T_EVENTS.
      W_EVENTS1-NAME = 'TOP_OF_PAGE'.
      W_EVENTS1-FORM = 'TOPPAGE1'.
      APPEND W_EVENTS1 TO T_EVENTS1.
      CLEAR W_EVENTS1.
      W_EVENTS1-NAME = 'USER_COMMAND'.
      W_EVENTS1-FORM = 'SUB3'.
      APPEND W_EVENTS1 TO T_EVENTS1.
      SELECT-OPTIONS: CUSTNO FOR W_KNA1-KUNNR.
      SELECT KUNNR
             NAME1
             ORT01 FROM KNA1 INTO TABLE T_KNA1
             WHERE KUNNR IN CUSTNO.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
       I_CALLBACK_PROGRAM                = 'ZKAL_ALV_INTERACTIVE_12'
       I_BACKGROUND_ID                   = 'BIKE'
       I_GRID_TITLE                      = 'CUSTOMER DETAILS'
       IT_FIELDCAT                       = T_FCAT
       IT_EVENTS                         = T_EVENTS
      TABLES
        T_OUTTAB                          = T_KNA1  .
      FORM TOPPAGE.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          IT_LIST_COMMENTARY       = T_COMMENT
         I_LOGO                   = 'LOGO_ALV'.
      ENDFORM.  "END OF TOPPAGE SUB.
      FORM SUB2 USING UCOMM LIKE SY-UCOMM FIELDS1 TYPE SLIS_SELFIELD.
      READ TABLE T_KNA1 INTO W_KNA1 INDEX FIELDS1-TABINDEX.
      SELECT VBELN
             ERNAM
             ERDAT
             NETWR
             WAERK
                   FROM VBAK
                   INTO TABLE T_VBAK
                   WHERE KUNNR = W_KNA1-KUNNR.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
       I_CALLBACK_PROGRAM                = 'ZKAL_ALV_INTERACTIVE_12'
       I_BACKGROUND_ID                   = 'KALEEM'
       I_GRID_TITLE                      = 'LIST OF ORDERS'
       IT_FIELDCAT                       = T_FCAT1
       IT_EVENTS                         = T_EVENTS1
      TABLES
        T_OUTTAB                          = T_VBAK.
    ENDFORM.    "END OF SUB2.
    FORM TOPPAGE1.
    &--APPEND COMMENTRYOF SECONDRY SCREEN--
      W_COMMENT1-TYP = 'H'.
      W_COMMENT1-INFO = 'LIST OF ORDERS'.
      APPEND W_COMMENT1 TO T_COMMENT1.
      W_COMMENT1-TYP = 'S'.
      W_COMMENT1-KEY = 'CUSTOMER'.
      W_COMMENT1-INFO = W_KNA1-KUNNR.
      APPEND W_COMMENT1 TO T_COMMENT1.
      CLEAR W_COMMENT.
      W_COMMENT1-TYP = 'A'.
      W_COMMENT1-INFO = W_KNA1-NAME1.
      APPEND W_COMMENT1 TO T_COMMENT1.
      CLEAR W_COMMENT1.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          IT_LIST_COMMENTARY       = T_COMMENT1
         I_LOGO                   = 'LOGO_ALV'
    REFRESH T_COMMENT1.
    ENDFORM.    "END OF TOPPAGE1
      FORM SUB3 USING UCOMM LIKE SY-UCOMM FIELDS1 TYPE SLIS_SELFIELD.
        READ TABLE T_VBAK INTO W_VBAK INDEX FIELDS1-TABINDEX.
    SET PARAMETER ID 'AUN' FIELD W_VBAK-VBELN.
    CALL TRANSACTION 'VA02' AND SKIP FIRST SCREEN.
      ENDFORM.
    U can also find some of the useful codes on WIKI-SDN.
    Reward helpful Answers.
    Regds,
    Kaleem.

  • Relation between Sales org and Shipping Point

    Hai all,
           Can any one tell me wt is the relation between Sales Org and Shipping point?
    Ravi
    < PLEASE DONT USE SMS LANGUAGE AND PLEASE SEARCH THE FORUMS.  >

    Hi Ravi,
    There is no direct relation.
    Sales organisation in broader level, it is responsible for selling a product in a company.
    It is liable to the customer interms of service of the product or service and confirmation of the sale order, delivery and invoicing.
    Shipping Point is a logical point from where the shipment / dispatch begins.
    Both Sales organisation & Shipping point wil be linked to plant (one or more).
    In case of sale order, sales org will decide the delivering plant.
    Shipping point will be picked based on delivery plant, sh.conditions (cmr) & loading grp (mmr).
    hope this is clear to you now!

  • WLC 5508 and Motorola Symbol Handheld issue

    Hi everyone, i have a weird problem and i hope you can help me guys!!
       I have just migrate a Symbol-based autonomous wireless network to a Cisco Controller-based environment and everything apparently was working fine. However a few weeks later the installation was over, my customer reported they can't access to a server's shared folder.
       This WLAN environment is installed in a warehouse and it is meant to support two different types of users: Regular Lap Top users and Motorola-Symbol Handhels. There are two SSIDs with static security methods (one with WPA+PSK and the other with static WEP key), Handhelds are joined to the SSID with static WEP key. So, here's the deal, this handhelds can join the network without any connectivity issues, roaming, signal strenght, etc. They can also ping everywhere. The problem is that when they need to access a server's shared folder and download files, handhelds displays a bad network path error message. If you do the same with a lap top, you can access the server´s folder with no problems. The handheld model is a Motorola-Symbol 9090 with Windows CE operating system version 5.0. Cisco infraestructure is as follows: WLC5508 running OS version 7.0.116.0 and AIR-LAP1142N-N-K9 series Access Points. In adition, i made a lab back in the office, and reproduce the problem. I tested with an autonomous AP same model and I can actually access a server's folder with no issue but int the very moment i test with a controller-based network i get the same result. I have made several changes in both, handheld and controller, based on a Cisco document for Motorola-Symbol and Cisco best practices. I also have placed a sniffer on my network but I can´t see any traffic when joined throught controller's WLAN. I placed it in the link between WLC and switch and between the switch and the Cisco AP.
    Thank you all in advance
    Rogelio

    Mario:
    I am glad that it worked.
    well, enabling boradcast/multicast is not recommended if it is not bieng used. It saves bandwidth if it is disabled. However, if it is needed you can enabled it.
    BTW, what I know with old versions (before 7.0.116.0) that enabling broadcast only does not work unless you enable multicast as well.
    enabling multicast:
    # config network multicast global enable.
    I worked with one customer before where enabling the broadcast does not work until multicast is also enabled. Do you have the multicast config globally enabled already?

  • Difference between interface pool and class pool

    Hi,
    Can any body tell me the difference between Interface pool and Class pool.
    thank you in advance.
    regards

    Hi,
    Class and Interface Pools
    This section discusses the structure and special features of class and interface pools for global classes.
    Global Classes and Interfaces
    Classes and interfaces are object types. You can define them either globally in the Repository or locally in an ABAP program. If you define classes and interfaces globally, special ABAP programs called class pools or interface pools of type K or J serve as containers for the respective classes and interfaces. Each class or interface pool contains the definition of a single class or interface. The programs are automatically generated by the Class Builder when you create a class or interface.
    A class pool is comparable to a module pool or function group. It contains both declarative and executable ABAP statements, but cannot be started on its own. The runtime system can create runtime instances (objects) through a request using the CREATE OBJECT statement. These objects execute the statements of the class pool.
    Interface pools do not contain any executable statements. Instead, they are used as containers for interface definitions. When you implement an interface in a class, the interface definition is implicitly included in the class definition.
    Structure of a Class Pool
    Class pools are structured as follows:
    Class pools contain a definition part for type declarations, and the declaration and implementation parts of the class.
    Differences From Other ABAP Programs
    Class pools are different from other ABAP programs for the following reasons:
    ·        ABAP programs such as executable programs, module pools, or function modules, usually have a declaration part in which the global data for the program is defined. This data is visible in all of the processing blocks in the program. Class pools, on the other hand, have a definition part in which you can define data and object types, but no data objects or field symbols. The types that you define in a class pool are only visible in the implementation part of the global class.
    ·        The only processing blocks that you can use are the declaration part and implementation part of the global class. The implementation part may only implement the methods declared in the global class. You cannot use any of the other ABAP processing blocks (dialog modules, event blocks, subroutines, function modules).
    ·        The processing blocks of class pools are not controlled by the ABAP runtime environment. No events occur, and you cannot call any dialog modules or procedures. Class pools serve exclusively for class programming. You can only access the data and functions of a class using its interface.
    ·        Since events and dialog modules are not permitted in classes, you cannot process screens in classes. You cannot program lists and selection screens in classes, since they cannot react to the appropriate events. It is intended to make screens available in classes. Instead of dialog modules, it will be possible to call methods of the class from the screen flow logic.
    Local Classes in Class Pools
    The classes and interfaces that you define in the definition part of a class pool are not visible externally. Within the class pool, they have a similar function to local classes and interfaces in other ABAP programs. Local classes can only be instantiated in the methods of the global class. Since subroutines are not allowed in class pools, local classes are the only possible modularization unit in global classes. Local classes have roughly the same function for global classes as subroutines in function groups, but with the significant exception that they are not visible externally
    Reward points if useful....
    Regards
    AK

  • What is the diffreence between call transaction and session method

    hi gurus
    can any one suggest me
    what is the difference between call transaction and session methods
    in which cases we have to use teh call transaction and
    in which cases we have to use session method.
    thank you
    regards
    kals.

    CLASSICAL BATCH INPUT (Session Method)
    CALL TRANSACTION
    BATCH INPUT METHOD:
    This method is also called as &#8216;CLASSICAL METHOD&#8217;.
    Features:
    Asynchronous processing.
    Synchronous Processing in database update.
    Transfer data for more than one transaction.
    Batch input processing log will be generated.
    During processing, no transaction is started until the previous transaction has been written to the database.
    CALL TRANSACTION METHOD :
    This is another method to transfer data from the legacy system.
    Features:
    Synchronous processing. The system performs a database commit immediately before and after the CALL TRANSACTION USING statement.
    Updating the database can be either synchronous or asynchronous. The program specifies the update type.
    Transfer data for a single transaction.
    Transfers data for a sequence of dialog screens.
    No batch input processing log is generated.
    http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm
    Among the two methods call transaction is better compared to session bcoz data transfer is faster in it.
    Differences between call transaction and session.
    Session Method:
    1) Data is not updated in the database table until the session is processed.
    2) No sy-subrc is returned.
    3) Error log is created for error records.
    4) Updation is always synchronous.
    Call Transaction Method:
    1) Immediate updation in the database table.
    2) sy-subrc is returned.
    3)Error need to be handled explicitly.
    4) updation can be synchronous as well as asynchronous.
    2) ya u can use using the N mode no screen.
    3)u can't handle multiple transaction in call transaction.
    4) u can handle multiple transaction in session using the BDC_INSERT fm.
    5)When u go to SM35 u can able to see the error records.
    Which is best?
    That depends on your requirement. Both of them have there advantages.
    According to the situation u can choose any one of these.
    difference between batch input and call transaction in BDC Session method.
    1) synchronous processing.
    2) can tranfer large amount of data.
    3) processing is slower.
    4) error log is created
    5) data is not updated until session is processed.
    Call transaction.
    1) asynchronous processing
    2) can transfer small amount of data
    3) processing is faster.
    4) errors need to be handled explicitly
    5) data is updated automatically
    For session method,these are the function modules to b used.
    BDC_OPEN_GROUP
    BDC_INSERT
    BDC_CLOSE_GROUP
    For call transaction,this is the syntax.
    CALL TRANSACTION TCODE USING BDCDATA
    MODE A or E or N
    UPDATE A or S
    MESSAGES INTO MESSTAB.
    Take a scenario where we need to post documents in FB01 and the input file has say 2000 records (2000 documents, not line items in FB01 but 2000 records)
    In the BDC call transaction method
    We call the transaction FB01 2000 times (once for each record posting) and if the processing fails in record no 3 it can be captured and start with reocord 4.
    Eg: Loop at itab.
    call transaction FB01
    capture errors
    endloop.
    In the session method.
    We do not explicity call the transaction 2000 times, but all the records are appeneded into a session and this session is stored. The processinf of the session is done wwhenever the user wants it to be done. Hence the errors cannot be captured in the program itself
    Check these link:
    http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm
    http://www.sap-img.com/abap/question-about-bdc-program.htm
    http://www.itcserver.com/blog/2006/06/30/batch-input-vs-call-transaction/
    http://www.planetsap.com/bdc_main_page.htm
    Batch Input Session method is asynchronous as told by others here. But the advantage of this is that you have all the error messages and the data for each transaction held persistantly. You don't have to code anything for processing them or writing the logs.
    But at the same time, the same feature can be disadvantageous if you need to react to an error or if there are too many errors to manually correct in a session. Since the session are created in the program and its execution is done seperately, you loose the trackability of such transactions.
    With a call transaction, what was a disadvantage above will become an advantage. Call transaction immediately gives you messages back and you can react to it in your program. But the disadvantage is that, if you have several hundreds of transactions to run, running them from within the program can be resource crunching affair. It will hamper the system performance and you cannot really distribute the load. Of course, you have some mechanisms with which you can overcome this, but you will have to code for it. Also, storing the messages and storing the errored transaction data etc will have to be handled by you in the program. Whereas, in batch input session, your program's job is to just create the session, after that everything is standard SAP system's responsibility.
    Ideally, you should do a call transaction if the resources are not a problem and if it fails, put the errored transaction into a session.
    You can decide based on the data volume that your BDC is processing. If data volume is high go for session else call transaction will do.The call transaction updates will be instantaneous where as session needs to be processed explictly after creation.
    Session Method
    1) Session method supports both small amount of data aswell as large amount of data
    2) data processing is asynchronus and data updation is synchronus.
    3) it process multiple apllication while perfomaning validations.
    4) in session method data will be updated in data base only after processing session only.
    5) system provide by default logfile for handling error records.
    6) it supports both foreground aswell as background process
    in bdc we use FM ...
    bdc_open_group " for creating Session
    bdc_insert " adding transaction and bdcdata table for updating database
    bdc_close_group " for closing Session
    Call Transaction
    1) Call transaction exclusively for small amout of data
    2) it supports only one apllication while perfoming validations
    3) there is no default logfile, We can explicitly provide logic for creating logfile for handling error records.
    we can create logfile by using structure....BDCMSGCOLL
    4) it doesn't support background processing.
    5) data processing is synchronous and Data updation is Synchronous( default), in
    this method also supports daya updation in asynchronus process also.
    syntax:
    Call transaction <transaction-name> using BDCDATA
    mode <A/N/E>
    update <L/A/S>
    messages into BDCMSGCOLL.
    BDC:
    Batch Data Communication (BDC) is the process of transferring data from one SAP System to another SAP system or from a non-SAP system to SAP System.
    Features :
    BDC is an automatic procedure.
    This method is used to transfer large amount of data that is available in electronic medium.
    BDC can be used primarily when installing the SAP system and when transferring data from a legacy system (external system).
    BDC uses normal transaction codes to transfer data.
    Types of BDC :
    CLASSICAL BATCH INPUT (Session Method)
    CALL TRANSACTION
    BATCH INPUT METHOD:
    This method is also called as &#8216;CLASSICAL METHOD&#8217;.
    Features:
    Asynchronous processing.
    Synchronous Processing in database update.
    Transfer data for more than one transaction.
    Batch input processing log will be generated.
    During processing, no transaction is started until the previous transaction has been written to the database.
    CALL TRANSACTION METHOD :
    This is another method to transfer data from the legacy system.
    Features:
    Synchronous processing. The system performs a database commit immediately before and after the CALL TRANSACTION USING statement.
    Updating the database can be either synchronous or asynchronous. The program specifies the update type.
    Transfer data for a single transaction.
    Transfers data for a sequence of dialog screens.
    No batch input processing log is generated.
    For BDC:
    http://myweb.dal.ca/hchinni/sap/bdc_home.htm
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/home/bdc&
    http://www.sap-img.com/abap/learning-bdc-programming.htm
    http://www.sapdevelopment.co.uk/bdc/bdchome.htm
    http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm
    http://help.sap.com/saphelp_47x200/helpdata/en/69/c250684ba111d189750000e8322d00/frameset.htm
    http://www.sapbrain.com/TUTORIALS/TECHNICAL/BDC_tutorial.html
    Check these link:
    http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm
    http://www.sap-img.com/abap/question-about-bdc-program.htm
    http://www.itcserver.com/blog/2006/06/30/batch-input-vs-call-transaction/
    http://www.planetsap.com/bdc_main_page.htm
    call Transaction or session method ?
    Check the following links:
    http://www.sap-img.com/bdc.htm
    See below example code :
    Call three FM : BDC_OPEN_GROUP,BDC_INSERT and BDC_CLOSE_GROUP.
    Once you execute the program and it creates the session at SM35 Transaction.
    Report : ZMPPC011
    Type : Data upload
    Author : Chetan Shah
    Date : 05/05/2005
    Transport : DV3K919557
    Transaction: ??
    Description: This ABAP/4 Program creates new Production Versions
    (C223). It accepts tab-delimited spreadsheet input and
    creates BDC sessions.
    Modification Log
    Date Programmer Request # Description
    06/10/2005 Chetan Shah DV3K919557 Initial coding
    report zmppc011 no standard page heading line-size 120 line-count 55
    message-id zz.
    pool of form routines
    include zmppn001.
    Define BDC Table Structure
    data: begin of itab_bdc_tab occurs 0.
    include structure bdcdata.
    data: end of itab_bdc_tab.
    Input record layout of Leagcy File
    data: begin of itab_xcel occurs 0,
    matnr(18) type c,
    werks(4) type c,
    alnag(2) type c,
    verid(4) type c,
    text1(40) type c,
    bstmi like mkal-bstmi,
    bstma like mkal-bstma,
    adatu(10) type c,
    bdatu(10) type c,
    stlal(2) type c,
    stlan(1) type c,
    serkz(1) type c,
    mdv01(8) type c,
    elpro(4) type c,
    alort(4) type c,
    end of itab_xcel.
    data: begin of lt_pp04_cache occurs 0,
    matnr like itab_xcel-matnr,
    werks like itab_xcel-werks,
    alnag like itab_xcel-alnag,
    plnnr like mapl-plnnr,
    arbpl like crhd-arbpl,
    ktext like crtx-ktext,
    end of lt_pp04_cache.
    data: v_ssnnr(4) type n,
    v_lines_in_xcel like sy-tabix,
    v_ssnname like apqi-groupid,
    v_trans_in_ssn type i,
    wa_xcel LIKE itab_xcel,
    l_tabix like sy-tabix,
    v_matnr like rc27m-matnr,
    v_plnnr like mapl-plnnr,
    v_plnal like mapl-plnal,
    v_tcode like sy-tcode value 'C223',
    v_plnty like plas-plnty value 'R',
    v_objty like crhd-objty value 'A',
    v_plpo_steus like plpo-steus value 'PP04',
    v_verwe like crhd-verwe value '0007'.
    Parameters
    selection-screen: skip 3.
    selection-screen: begin of block 1 with frame.
    parameters: p_name like rlgrap-filename
    default 'C:\My Documents\InputFile.txt'
    obligatory,
    bdc session name prefix
    p_bdcpfx(6) default 'ZPVCRT'
    obligatory,
    number for transction per BDC session
    p_trnssn type i
    default 2000 obligatory,
    retain the BDC session after successfull execution
    p_keep like apqi-qerase
    default 'X',
    user who will be executing BDC session
    p_uname like apqi-userid
    default sy-uname
    obligatory.
    selection-screen: end of block 1.
    possible entry list (F4 dropdown) for input file name
    at selection-screen on value-request for p_name.
    *-SELECT FILE FROM USERS LOCAL PC
    call function 'WS_FILENAME_GET'
    exporting
    DEF_FILENAME = ' '
    def_path = 'C:\Temp\'
    mask = ',.,..'
    mode = 'O'
    title = 'Select File '(007)
    importing
    filename = p_name
    RC =
    exceptions
    inv_winsys = 1
    no_batch = 2
    selection_cancel = 3
    selection_error = 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.
    begin the show
    start-of-selection.
    read data from input file
    perform transfer_xcel_to_itab.
    loop at itab_xcel.
    hang on to xcel line num
    l_tabix = sy-tabix.
    each line in the xcel file marks begining of new prod.version defn
    if num-of-trnas-in-session = 0, create new BDC session
    if v_trans_in_ssn is initial.
    perform bdc_session_open.
    endif.
    begin new bdc script for rtg create trans
    fill in bdc-data for prod.version maintenance screens
    perform bdc_build_script.
    insert the bdc script as a BDC transaction
    perform bdc_submit_transaction.
    keep track of how many BDC transactions were inserted in the BDC
    session
    add 1 to v_trans_in_ssn.
    if the user-specified num of trans in BDC session is reached OR
    if end of input file is reached, close the BDC session
    if v_trans_in_ssn = p_trnssn or
    l_tabix = v_lines_in_xcel.
    perform bdc_session_close.
    clear v_trans_in_ssn.
    endif.
    endloop.
    top-of-page.
    call function 'Z_HEADER'
    EXPORTING
    FLEX_TEXT1 =
    FLEX_TEXT2 =
    FLEX_TEXT3 =
    FORM TRANSFER_XCEL_TO_ITAB *
    Transfer Xcel Spreadsheet to SAP Internal Table *
    form transfer_xcel_to_itab.
    Read the tab-delimited file into itab
    call function 'WS_UPLOAD'
    exporting
    filename = p_name
    filetype = 'DAT'
    IMPORTING
    filelength = flength
    tables
    data_tab = itab_xcel
    exceptions
    conversion_error = 1
    file_open_error = 2
    file_read_error = 3
    invalid_table_width = 4
    invalid_type = 5
    no_batch = 6
    unknown_error = 7
    others = 8.
    if sy-subrc = 0.
    sort the data
    sort itab_xcel by matnr werks.
    clear v_lines_in_xcel.
    if no data in the file - error out
    describe table itab_xcel lines v_lines_in_xcel.
    if v_lines_in_xcel is initial.
    write: / 'No data in input file'.
    stop.
    endif.
    else.
    if file upload failed - error out
    write: / 'Error reading input file'.
    stop.
    endif.
    endform.
    FORM BDC_SESSION_OPEN *
    Open BDC Session *
    form bdc_session_open.
    create bdc session name = prefix-from-selectn-screen + nnnn
    add 1 to v_ssnnr.
    concatenate p_bdcpfx v_ssnnr into v_ssnname.
    open new bdc session
    call function 'BDC_OPEN_GROUP'
    exporting
    client = sy-mandt
    group = v_ssnname
    keep = p_keep
    user = p_uname
    exceptions
    client_invalid = 1
    destination_invalid = 2
    group_invalid = 3
    group_is_locked = 4
    holddate_invalid = 5
    internal_error = 6
    queue_error = 7
    running = 8
    system_lock_error = 9
    user_invalid = 10
    others = 11.
    endform.
    FORM BDC_BUILD_SCRIPT *
    Build BDC *
    form bdc_build_script.
    data: l_arbpl like crhd-arbpl,
    l_text1 like mkal-text1,
    l_mdv01 like mkal-mdv01,
    l_mapl like mapl.
    clear bdc-data itab - begin of new bdc transaction
    clear itab_bdc_tab.
    refresh itab_bdc_tab.
    read material cross reference tables to determine sap part#
    clear : v_matnr, v_plnnr, v_plnal.
    perform read_matnr_cross_ref using itab_xcel-matnr
    itab_xcel-werks
    changing v_matnr.
    determine the version description to use
    if itab_xcel-text1 is initial.
    l_text1 = itab_xcel-verid.
    else.
    l_text1 = itab_xcel-text1.
    endif.
    determine the routing group# and group ctr# to use
    perform read_routing .
    determine the production line to use
    if itab_xcel-mdv01 is initial.
    if not provided in the file then:
    prod line = work ctr on the last PP04 op of the rtg determined above
    perform read_wc_on_last_pp04 using v_plnnr v_plnal
    changing l_mdv01.
    NOTE: when executing the above form\routine, if v_plnnr is initial
    or v_plnal is initial, THEN l_mdv01 will automatically be
    returned blank (ie initial)
    else.
    l_mdv01 = itab_xcel-mdv01.
    endif.
    build bdc script
    perform bdc_build_script_record
    fill in initial screen
    using: 'X' 'SAPLCMFV' '1000',
    ' ' 'BDC_OKCODE' '=ENTE',
    ' ' 'MKAL-WERKS' itab_xcel-werks,
    ' ' 'MKAL-MATNR' v_matnr,
    ' ' 'MKAL_ADMIN-DISPO' space,
    ' ' 'MKAL-PLNNR' space,
    ' ' 'MKAL_ADMIN-STTAG' space,
    ' ' 'MKAL-PLNNG' space,
    ' ' 'MKAL-MDV01' space,
    ' ' 'MKAL-PLNNM' space,
    click create button on initial screen and go to detail screen
    'X' 'SAPLCMFV' '1000',
    ' ' 'BDC_OKCODE' '=CREA',
    fill in the detail screen and go back to initial screen
    'X' 'SAPLCMFV' '2000',
    ' ' 'BDC_OKCODE' '=CLOS',
    ' ' 'MKAL_EXPAND-MATNR' v_matnr,
    ' ' 'MKAL_EXPAND-VERID' itab_xcel-verid,
    ' ' 'MKAL_EXPAND-TEXT1' l_text1,
    ' ' 'MKAL_EXPAND-BSTMI' itab_xcel-bstmi,
    ' ' 'MKAL_EXPAND-BSTMA' itab_xcel-bstma,
    ' ' 'MKAL_EXPAND-ADATU' itab_xcel-adatu,
    ' ' 'MKAL_EXPAND-BDATU' itab_xcel-bdatu,
    ' ' 'MKAL_EXPAND-PLTYG' v_plnty,
    ' ' 'MKAL_EXPAND-PLNNG' v_plnnr,
    ' ' 'MKAL_EXPAND-ALNAG' v_plnal,
    ' ' 'MKAL_EXPAND-STLAL' itab_xcel-stlal,
    ' ' 'MKAL_EXPAND-STLAN' itab_xcel-stlan,
    ' ' 'MKAL_EXPAND-SERKZ' itab_xcel-serkz,
    ' ' 'MKAL_EXPAND-MDV01' l_mdv01,
    ' ' 'MKAL_EXPAND-ELPRO' itab_xcel-elpro,
    ' ' 'MKAL_EXPAND-ALORT' itab_xcel-alort,
    save the production version from initial screen
    'X' 'SAPLCMFV' '1000',
    ' ' 'BDC_OKCODE' '=SAVE'.
    endform.
    FORM BDC_SUBMIT_TRANSACTION *
    Submit BDC Session *
    form bdc_submit_transaction.
    Load BDC script as a trqansction in BDC session
    call function 'BDC_INSERT'
    exporting
    tcode = v_tcode
    tables
    dynprotab = itab_bdc_tab
    exceptions
    internal_error = 01
    not_open = 02
    queue_error = 03
    tcode_invalid = 04.
    endform.
    FORM BDC_BUILD_SCRIPT_RECORD *
    form bdc_build_script_record using dynbegin name value.
    clear itab_bdc_tab.
    if dynbegin = 'X'.
    move: name to itab_bdc_tab-program,
    value to itab_bdc_tab-dynpro,
    'X' to itab_bdc_tab-dynbegin.
    else.
    move: name to itab_bdc_tab-fnam,
    value to itab_bdc_tab-fval.
    shift itab_bdc_tab-fval left deleting leading space.
    endif.
    append itab_bdc_tab.
    endform.
    FORM BDC_SESSION_CLOSE *
    Close BDC Session *
    form bdc_session_close.
    close the session
    call function 'BDC_CLOSE_GROUP'
    exceptions
    not_open = 1
    queue_error = 2
    others = 3.
    skip 2.
    if sy-subrc ne 0.
    write: / 'Error Closing BDC Session ' , 'RETURN CODE: ', sy-subrc.
    else.
    write : / 'Session created:', v_ssnname,
    50 '# of transactions:', v_trans_in_ssn.
    endif.
    endform.
    *& Form read_routing_cache
    *FORM read_routing_cache USING pi_matnr
    pi_werks
    pi_alnag
    pi_verid
    pi_mdv01.
    DATA: BEGIN OF lt_plpo OCCURS 0,
    vornr LIKE plpo-vornr,
    objty LIKE crhd-objty,
    objid LIKE crhd-objid,
    arbpl LIKE crhd-arbpl,
    END OF lt_plpo,
    l_mapl_plnnr LIKE mapl-plnnr.
    determine the routing group#
    CLEAR lt_pp04_cache.
    chk if its in the cache first, if not then get it from MAPL table
    and put it in the cache
    READ TABLE lt_pp04_cache WITH KEY matnr = pi_matnr
    werks = pi_werks
    alnag = pi_alnag.
    IF sy-subrc = 0.
    do nothing - lt_pp04_cache header line has rtg#
    ELSE.
    get the routing group # from MAPL
    SELECT plnnr INTO l_mapl_plnnr
    FROM mapl UP TO 1 ROWS
    WHERE matnr = pi_matnr AND
    werks = pi_werks AND
    plnty = 'R' AND
    plnal = pi_alnag AND
    loekz = space.
    ENDSELECT.
    put it in the cache internal table
    IF NOT l_mapl_plnnr IS INITIAL.
    lt_pp04_cache-matnr = pi_matnr.
    lt_pp04_cache-werks = pi_werks.
    lt_pp04_cache-alnag = pi_alnag.
    lt_pp04_cache-plnnr = l_mapl_plnnr.
    APPEND lt_pp04_cache.
    ENDIF.
    ENDIF.
    if the rtg# was determined AND
    the work center was not determined yet AND
    work center was really needed for this line in the input file
    then
    read the work center from last PP04 operation on the routing
    update the cache accordingly
    IF NOT lt_pp04_cache-plnnr IS INITIAL AND
    lt_pp04_cache-arbpl IS INITIAL AND
    ( pi_verid IS INITIAL OR
    pi_mdv01 IS INITIAL ).
    read the last PP04 operation
    CLEAR lt_plpo.
    REFRESH lt_plpo.
    SELECT vornr eobjty eobjid e~arbpl
    INTO CORRESPONDING FIELDS OF TABLE lt_plpo
    FROM plas AS b
    INNER JOIN plpo AS c
    ON bplnty = cplnty AND
    bplnnr = cplnnr AND
    bzaehl = czaehl
    INNER JOIN crhd AS e
    ON carbid = eobjid
    WHERE b~plnty = v_plnty AND
    b~plnnr = lt_pp04_cache-plnnr AND
    b~plnal = lt_pp04_cache-alnag AND
    c~loekz = space AND
    c~steus = v_plpo_steus AND
    e~objty = v_objty AND
    e~werks = lt_pp04_cache-werks AND
    e~verwe = v_verwe.
    SORT lt_plpo BY vornr DESCENDING.
    READ TABLE lt_plpo INDEX 1.
    IF NOT lt_plpo-arbpl IS INITIAL.
    lt_pp04_cache-arbpl = lt_plpo-arbpl.
    read work center description
    SELECT SINGLE ktext INTO lt_pp04_cache-ktext
    FROM crtx WHERE objty = lt_plpo-objty AND
    objid = lt_plpo-objid AND
    spras = sy-langu.
    the following read will get the index of the correct record to be
    updated in the cache
    READ TABLE lt_pp04_cache
    WITH KEY matnr = pi_matnr
    werks = pi_werks
    alnag = pi_alnag.
    MODIFY lt_pp04_cache
    INDEX sy-tabix
    TRANSPORTING arbpl ktext.
    ENDIF.
    ENDIF.
    *ENDFORM. " read_last_pp04_operation_cache
    *& Form read_routing
    form read_routing.
    data: begin of lt_mapl occurs 0,
    plnnr like mapl-plnnr,
    plnal like mapl-plnal,
    end of lt_mapl,
    l_arbpl like crhd-arbpl.
    get all the rtg# and grp ctr# from MAPL
    select plnnr plnal
    into corresponding fields of table lt_mapl
    from mapl
    where matnr = v_matnr and
    werks = itab_xcel-werks and
    plnty = v_plnty and "Rate Routing
    loekz = space. "with del flag = OFF
    sort lt_mapl by plnal.
    if not itab_xcel-verid is initial.
    if the verid=0001 then use the 1st good rtg-grp# and grp-ctr#
    if itab_xcel-verid = '0001'.
    read table lt_mapl index 1.
    v_plnnr = lt_mapl-plnnr.
    v_plnal = lt_mapl-plnal.
    else.
    if the verid0001 then use the rtg-grp# and grp-ctr# of the routing
    whose work center on the last PP04 operation matches the given verid
    loop at lt_mapl.
    clear l_arbpl.
    get the work center from the last PP04 operation
    perform read_wc_on_last_pp04 using lt_mapl-plnnr
    lt_mapl-plnal
    changing l_arbpl.
    if itab_xcel-verid = l_arbpl.
    v_plnnr = lt_mapl-plnnr.
    v_plnal = lt_mapl-plnal.
    exit.
    endif.
    endloop.
    endif.
    else.
    do nothing
    endif.
    For version IDs that are other then '0000' or 'ZWIP' :--
    if itab_xcel-verid NE '0000' and
    itab_xcel-verid NE 'ZWIP'.
    if routing group# or group counter was not determined, make the
    valid-to date 99/99/9999 so that the BDC, on execution, errors out.
    if v_plnnr is initial or
    v_plnal is initial.
    itab_xcel-bdatu = '99/99/9999'.
    endif.
    endif.
    determine the routing group#
    CLEAR lt_pp04_cache.
    chk if its in the cache first, if not then get it from MAPL table
    and put it in the cache
    READ TABLE lt_pp04_cache WITH KEY matnr = pi_matnr
    werks = pi_werks
    alnag = pi_alnag.
    IF sy-subrc = 0.
    do nothing - lt_pp04_cache header line has rtg#
    ELSE.
    get the routing group # from MAPL
    put it in the cache internal table
    IF NOT l_mapl_plnnr IS INITIAL.
    lt_pp04_cache-matnr = pi_matnr.
    lt_pp04_cache-werks = pi_werks.
    lt_pp04_cache-alnag = pi_alnag.
    lt_pp04_cache-plnnr = l_mapl_plnnr.
    APPEND lt_pp04_cache.
    ENDIF.
    ENDIF.
    if the rtg# was determined AND
    the work center was not determined yet AND
    work center was really needed for this line in the input file
    then
    read the work center from last PP04 operation on the routing
    update the cache accordingly
    IF NOT lt_pp04_cache-plnnr IS INITIAL AND
    lt_pp04_cache-arbpl IS INITIAL AND
    ( pi_verid IS INITIAL OR
    pi_mdv01 IS INITIAL ).
    read the last PP04 operation
    CLEAR lt_plpo.
    REFRESH lt_plpo.
    SELECT vornr eobjty eobjid e~arbpl
    INTO CORRESPONDING FIELDS OF TABLE lt_plpo
    FROM plas AS b
    INNER JOIN plpo AS c
    ON bplnty = cplnty AND
    bplnnr = cplnnr AND
    bzaehl = czaehl
    INNER JOIN crhd AS e
    ON carbid = eobjid
    WHERE b~plnty = v_plnty AND
    b~plnnr = lt_pp04_cache-plnnr AND
    b~plnal = lt_pp04_cache-alnag AND
    c~loekz = space AND
    c~steus = v_plpo_steus AND
    e~objty = v_objty AND
    e~werks = lt_pp04_cache-werks AND
    e~verwe = v_verwe.
    SORT lt_plpo BY vornr DESCENDING.
    READ TABLE lt_plpo INDEX 1.
    IF NOT lt_plpo-arbpl IS INITIAL.
    lt_pp04_cache-arbpl = lt_plpo-arbpl.
    read work center description
    SELECT SINGLE ktext INTO lt_pp04_cache-ktext
    FROM crtx WHERE objty = lt_plpo-objty AND
    objid = lt_plpo-objid AND
    spras = sy-langu.
    the following read will get the index of the correct record to be
    updated in the cache
    READ TABLE lt_pp04_cache
    WITH KEY matnr = pi_matnr
    werks = pi_werks
    alnag = pi_alnag.
    MODIFY lt_pp04_cache
    INDEX sy-tabix
    TRANSPORTING arbpl ktext.
    ENDIF.
    ENDIF.
    endform. " read_last_pp04_operation_cache
    *& Form read_wc_on_last_pp04
    form read_wc_on_last_pp04 using pi_plnnr
    pi_plnal
    changing pe_arbpl.
    data: begin of lt_plpo occurs 0,
    vornr like plpo-vornr,
    objty like crhd-objty,
    objid like crhd-objid,
    arbpl like crhd-arbpl,
    end of lt_plpo.
    get all the PP04 operations for the given rtg# & grp-ctr#
    select vornr eobjty eobjid e~arbpl
    into corresponding fields of table lt_plpo
    from plas as b
    inner join plpo as c
    on bplnty = cplnty and
    bplnnr = cplnnr and
    bzaehl = czaehl
    inner join crhd as e
    on carbid = eobjid
    where b~plnty = v_plnty and "Rate Routing
    b~plnnr = pi_plnnr and
    b~plnal = pi_plnal and
    c~loekz = space and "Oper Del Flag = OFF
    c~steus = v_plpo_steus and "PP04
    e~objty = v_objty. "WC Obj Type = 'A'
    read the last operation
    sort lt_plpo by vornr descending.
    read table lt_plpo index 1.
    pe_arbpl = lt_plpo-arbpl.
    endform. " read_wc_on_last_pp04
    Goto LSMW-> Select Direct Input method in 1st step. These are the standard programs for data transfer.
    Otherwise goto SPRO->SAP Reference IMG-> Under this you'll find standard data transfer programs module wise.
    Regards,
    Sunil Kumar Mutyala

  • Sharing resources between parent FDO and children PDO

    Hello,
    I 'm developping a WDM driver for a FPGA that embeds several uarts and a CAN controler in one PCI slot.
    I use the DDK Toaster sample as a basis.
    Has someone already shared resources between  parent FDO and children PDO ?
    One way will be to export a direct-call interface between tha parent and the children. Is there something better to get the interrupt trigger in the child and the memory as a direct access ?
    Thanks
    Marco

    Hi Doron,
    here is the full debug output................
    ADDITIONAL_DEBUG_TEXT:  
    You can run '.symfix; .reload' to try to fix the symbol path and load symbols.
    MODULE_NAME: Nitin
    FAULTING_MODULE: fffff8000324a000 nt
    DEBUG_FLR_IMAGE_TIMESTAMP:  549ced55
    EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%08lx referenced memory at 0x%08lx. The memory could not be %s.
    FAULTING_IP:
    +501cfc0
    00000000`00000000 ??              ???
    EXCEPTION_RECORD:  fffff88003b9a9c8 -- (.exr 0xfffff88003b9a9c8)
    ExceptionAddress: 0000000000000000
       ExceptionCode: c0000005 (Access violation)
      ExceptionFlags: 00000000
    NumberParameters: 2
       Parameter[0]: 0000000000000008
       Parameter[1]: 0000000000000000
    Attempt to execute non-executable address 0000000000000000
    CONTEXT:  fffff88003b9a220 -- (.cxr 0xfffff88003b9a220;r)
    rax=fffffa8022124c40 rbx=0000000000000000 rcx=0000000000000000
    rdx=fffff88003b9ac58 rsi=fffff88000fc60c0 rdi=fffff88003b9acf8
    rip=0000000000000000 rsp=fffff88003b9ac08 rbp=000000000000000c
     r8=0000000000000065  r9=0000000000000003 r10=4679726575516f64
    r11=000000000000000c r12=fffff88000fc92c0 r13=0000000000000312
    r14=0000000000000000 r15=0000000000000000
    iopl=0         nv up ei ng nz na pe nc
    cs=0010  ss=0018  ds=002b  es=002b  fs=0053  gs=002b             efl=00010282
    00000000`00000000 ??              ???
    Last set context:
    rax=fffffa8022124c40 rbx=0000000000000000 rcx=0000000000000000
    rdx=fffff88003b9ac58 rsi=fffff88000fc60c0 rdi=fffff88003b9acf8
    rip=0000000000000000 rsp=fffff88003b9ac08 rbp=000000000000000c
     r8=0000000000000065  r9=0000000000000003 r10=4679726575516f64
    r11=000000000000000c r12=fffff88000fc92c0 r13=0000000000000312
    r14=0000000000000000 r15=0000000000000000
    iopl=0         nv up ei ng nz na pe nc
    cs=0010  ss=0018  ds=002b  es=002b  fs=0053  gs=002b             efl=00010282
    00000000`00000000 ??              ???
    Resetting default scope
    CUSTOMER_CRASH_COUNT:  1
    DEFAULT_BUCKET_ID:  WIN7_DRIVER_FAULT
    BUGCHECK_STR:  0x7E
    CURRENT_IRQL:  0
    ANALYSIS_VERSION: 6.3.9600.17029 (debuggers(dbg).140219-1702) amd64fre
    LAST_CONTROL_TRANSFER:  from fffff8800b9eb091 to 0000000000000000
    STACK_TEXT:  
    fffff880`03b9ac08 fffff880`0b9eb091 : fffff880`0b9ec9a0 00000000`00000001 00000000`00000000 fffff880`009cf180 : 0x0
    fffff880`03b9ac10 fffff880`0b9ec9a0 : 00000000`00000001 00000000`00000000 fffff880`009cf180 00000000`00000001 : Nitin+0x4091
    fffff880`03b9ac18 00000000`00000001 : 00000000`00000000 fffff880`009cf180 00000000`00000001 00000000`00000000 : Nitin+0x59a0
    fffff880`03b9ac20 00000000`00000000 : fffff880`009cf180 00000000`00000001 00000000`00000000 00000000`03060001 : 0x1
    FOLLOWUP_IP:
    Nitin+4091
    fffff880`0b9eb091 ??              ???
    SYMBOL_STACK_INDEX:  1
    SYMBOL_NAME:  Nitin+4091
    FOLLOWUP_NAME:  MachineOwner
    IMAGE_NAME:  Nitin.sys
    STACK_COMMAND:  .cxr 0xfffff88003b9a220 ; kb
    BUCKET_ID:  WRONG_SYMBOLS
    FAILURE_BUCKET_ID:  WRONG_SYMBOLS
    ANALYSIS_SOURCE:  KM
    FAILURE_ID_HASH_STRING:  km:wrong_symbols
    FAILURE_ID_HASH:  {70b057e8-2462-896f-28e7-ac72d4d365f8}
    Followup: MachineOwner

  • P. grp and mrp controller

    hi,
    could anyone tell that is there any relation between mrp controller and p.grp.
    regards
    fozters

    Hi,
    Additionally:
    The size of the organisation may have an effect on the relation / connection between purchasing group & MRP controller.
    I mean in case of a smaller organisation roles may be merged and a purchaser can be the MRP controller as well. In case of a large organisation roles are more separated.
    Please check this link for definition:
    http://help.sap.com/saphelp_46c/helpdata/en/35/2cd77bd7705394e10000009b387c12/frameset.htm
    BR
    Csaba
    P.S.
    You will see that MRP controller doesn't mean the person whose job is only to excute MRP run.
    Edited by: Csaba Szommer on May 8, 2008 10:48 AM

  • Symbol editing and orientation - symbol moves when edited

    This issue has slowed down my Illustrator work for a while, so I thought I'd ask for advice.
    I have a symbol in my document – for example, a set of tabs for a website interface.
    When I make any changes to a symbol that result in new dimensions (changing the height of the tabs from 40px to 50px), this results in all instances of that symbol moving around on the canvas. In this example, the symbol would move up by 5px (half of the difference between the old and new heights). I then have to move each instance of that symbol back into its intended place, which is time-consuming.
    I wondered if the "Flash registration" orientation widget that shows up in the symbol creation dialog box would force the symbol to align to a certain location, but it seems to have no effect on the symbol inside of Illustrator. The symbol stays permanently aligned to its original centerpoint, regardless of any subsequent changes, and can't be made to align to anywhere other than that centerpoint. It would be really useful to force alignment to the top left, for example.
    Any suggestions?

    You do realize, don't you, that after editing the Symbol, you can...:
    Symbol palette: Select the Symbol you edited.
    Symbol palette flyout menu: Select All Instances.
    DoubleClick the black pointer tool. Enter move distances.
    ...thereby repositioning all Instances in one move?
    JET

  • Thinkpad t23 series lights and button symbols diagram.

    thinkpad t23 series lights and button symbols diagram.
    I would like to get a diagram that lists the lights and the Thinkpad button along with its symbols. Like an arrow pointing to a light and telling me the X is functioning or not, along with the rest of speaker? symbols. Fn combos and their definitions would be good too.
    I do not have the owner/user manual for the T23 2647TU but I imagine it would be printed in some form there?
    Could anyone help me with this by directing to a web site or screen shot to the users manual that shows this information? I would appreciate it.
    Thank You,
    Bob
    Solved!
    Go to Solution.

    Hi Bob,
    so here are some screen shots for you and others who may read in the future. This is a nice discovery for me also. Very useful, complete User's Guide for T23, XP version, which  I actually installed on my W500 running Windows 7 Pro 64-bit. The possibilities are endless, not just for T23, but for other older models which possibly have a User's Manual archived online. It means I could simply cut and paste so many steps of information which for myself are so obvious and elementary,  but will be invaluable to one of my young students learning basic computing skills. And the fact the User's Guide runs on my W500 means only the student needs to have a T23 (or whatever other machine in their hands), I don't need to have another T23 set up to access the manual. 
    Here are a few step-by-step guidelines which may can help you and others reading in the future. Don't mind me putting so many details. As a teacher I like to explain things in such a way that even if one my 3rd grade students were to read this post they could follow the steps. Some people have never really used a laptop at all before and will be glad for simple, detailed steps: 
    How to install T23 Access User's Guide on a Windows 7 machine (should be nearly identical procedure for XP or Vista):
    (1) As mentioned before just go to the Drivers and software - ThinkPad T23 download page:  http://support.lenovo.com/en_US/research/hints-or-tips/detail.page?&DocID=HT072383. There, under the "Software and utility" category you will find: Access online User's Guide for Windows - ThinkPad T23: http://support.lenovo.com/en_US/downloads/detail.page?DocID=DS001263. Download the file and transfer it to your T23 using a USB flash drive.  (In my case I downloaded it directly onto my W500)
    (2) Double-click to run the downloaded file. It will extract setup files to C:\DRIVERS\ATP_PKG by default.
    (3) Click the START button ---> Computer----> Drivers ---> and double click to open the "ATP_PKG" folder. Double-click to run the "SETUP" application file.
    (4) After installation, you can navigate to Start Menu ---> All programs ----> Thinkpad ---> Thinkpad information, and RIGHT-CLICK "Access Thinkpad". You can then  choose to "Pin to taskbar" and/or "Send to desktop (create shortcut)" which will create an ACCESS THINKPAD logo right on your desktop with the cool old IBM logo which you can see in one of the pictures.
    I have included a few snapshots showing my W500 with T23 User's Guide installed: Main welcome screen with cute T23 animation (hence the  blur);  Main menu- notice even a link to reach IBM for warranty information (if anyone still has a warranty on their T23, joking of course); And "everyday use" menu which includes status light indicators and FN-key assignments you asked about. So you see how useful these old "User manuals" can be, because if anyone comes on the Forum we can just cut and paste information from the User's Manual. Some people (especially young people ) need that level of clarity and simplicity. And it's just a small file, 21.8 MB downloaded onto my W500.
    Below I <CUT> and <PASTED> a section from the User's Guide. Here are the Function keys you asked about (the pictures which didn't come out in cutting and pasting got replaced below by " "  and are just little asterisk symbols and a small diagram showing where FN key and Home/End keys are). Of course this can be remedied by taking screen shots instead:
     Function keys
    The Fn key function enables you to change operational features instantly. To use this function, press and hold the Fn key (1); then press a function key (2)--F1 to F12, PgUp, Home, or End.
    The following shows the functions of the Fn key with other keys:
    Power conservation or battery power
    Fn + F3: Turn off the computer display, leaving the screen blank. To turn the computer display on again, press any key or press the TrackPoint(R) pointer. Also the computer display is turned on if the ac adapter is attached to or detached from the computer.
    Fn + F4: Put your computer in standby mode. To return to normal operation, press the Fn key independently, without pressing a function key.
    Notes:
    This mode is called suspend mode in Windows(R) 95 and Windows NT(R).
    In Windows 2000 and Windows XP, this combination of buttons functions as a sleep button. You can change the settings so that pressing it puts the computer into hibernation mode or even shut the computer down.
    Fn + F12: Put your computer into hibernation mode. To return to normal operation, press the power button for less than four seconds.
    Note: To use Fn+F12 for hibernation in Windows 2000 and Windows XP, you must have IBM PM device driver installed on your computer.
    For information on the power management function, refer to Extending battery life.
    Other functions
    Fn + F7: Display output on the computer display, an attached external monitor, or both. Pressing this combination causes the display to go from the computer display to the external monitor, then to both together, and then to the computer display again:
    External monitor (CRT display)
    Computer display and external monitor (LCD + CRT display)
    Computer display (LCD)
    Note: This function is not supported when different desktop images are displayed on the computer display and the external monitor, or in certain cases in which the same desktop images are displayed on both screens, but the refresh rates of the screens are controlled separately by the system.
    Fn + F8: Switch the computer screen size between expanded and normal mode if your computer display image is smaller than the physical display.
    Note: This function is not supported in Windows 2000 and Windows XP.
    Fn + PgUp: Turn the ThinkLight on or off.
    Note: The status of the ThinkLight, on or off, is shown on the screen for a few seconds when you press Fn + PgUp.
    Fn + Home: The computer display becomes brighter.
    Fn + End: The computer display becomes less bright.
    Note for the Fn key lock function
    The following setup gives you the same effect as when you press and hold the Fn key and then press a function key.
    Start the ThinkPad(R) Configuration Program. Click the Accessibility button, and click Enable for Fn key lock. You can also set up by typing PS2 FNS E at the command prompt.
    When the Fn key is not enabled, you need to hold it down while pressing a function key. When it is enabled, you can use the function keys more easily:
    Press the Fn key once. The next time you press it, you can release it and then press a function key, to get the same effect as if you had held the Fn key down while pressing the function key.
    Press the Fn key twice. Then, for the rest of your session, you can press any function key without pressing the Fn key again.
    Have a great day. (I do not work for Lenovo)

Maybe you are looking for