My Adieu to LabVIEW : Your Comments

Hi all,
Today is the time when I take a very tough decision for myself. I would be leaving the code development in LabVIEW for atleast next two years(or more). I was of the thought that only LabVIEW won't suffice throughout my whole career. So, since I now have a chance, I would now be switching to C and C++ programming, and then progressing through VB and .NET . Maybe, this would be making my profile stronger and more demanding in future.
Could you all please comment which programming languages would be better to work on now, so that I can use my experience in LabVIEW in a more effective way? Which would be the best package of programming languages I can form with LabVIEW?
Thanks!
-FraggerFox!
Certified LabVIEW Architect, Certified TestStand Developer
"What you think today is what you live tomorrow"

Since you have worked with LV for some time now, I d suggest you to take up VB with .Net.
I feel so because VB closely resembles LV in FP & the properties window & things like that...
C/C++ is always good to learn to write code to talk to any hardware, which LV cannot achieve totally.
Message Edited by parthabe on 10-30-2009 01:28 AM
- Partha
LabVIEW - Wires that catch bugs!

Similar Messages

  • This might be a simple question.   On those sites that do not differentiate between models when on the internet I.e. Facebook when after your comment and you cannot hit "enter" on an iPad for examp. And speed is slow to connect.  What is = to post?

    This might be a simple question. On those sites that do not differentiate between CRT, laptop, tablet etc. such as an iPad Mini and using the Facebook site fir example when going to post a comment and you do not have a enter button on the IPad and the speed is slow how do you get your comments to post if we do not have a enter button? 
    <Email Edited By Host>

    I don't have facebook so I cannot answer but for your personal security, I have asked the hosts to remove your e-mail address.   It is very unwise to publish this.

  • HT4528 Good afternoon ...  I would like to know how I can do to communicate with Verizone company to see if I can unlock my iPhone 5 which acquired in NY last year, buy it because you sold me released but is totally false ...  I welcome your comments ...

    Good afternoon ...  I would like to know how I can do to communicate with Verizone company to see if I can unlock my iPhone 5 which acquired in NY last year, buy it because you sold me released but is totally false ...  I welcome your comments ...

    Krawly11 wrote:
    That's what they told me at the time of purchase and that's why the team acquired ...
    But when I get to Venezuela and introduce NANO-Sim in a line to use the phone here just does not respond to the network ... None of the 3 phone lines we handle here ...
    It is a 64G IPhone 5 ... 
    Regardless, it is not a matter of carrier locking.  Verizon iPhone 5 phones were never GSM sim-locked to begin with.  Every iPhone Verizon has sold since the introduction of the iPhone 5 has been sold with an unlocked GSM slot, as required in the USA by their agreement with the FCC.  They have not been allowed to sell any iPhone 5, iPhone 5c nor iPhone 5s devices with GSM carrier locking in place.
    Your connection problems are from some other cause - it is NOT a carrier locking issue.

  • Hi, I have the following problem with Time Capsule: La imagen del disco de copia de seguridad "/Volumes/Data/MacBook Pro de Carlos.sparsebundle" ya está en uso. Please your comments to solve this problem, i can't made a backup. Thanks.

    Hi, I have the following problem with Time Capsule: La imagen del disco de copia de seguridad “/Volumes/Data/MacBook Pro de Carlos.sparsebundle” ya está en uso. Please your comments to solve this problem, i can't made a backup. Thanks.

    Try Here  >  http://pondini.org/TM/Time_Capsule.html
    Perhaps P 2  >  Time Machine could not complete . . . sparsebundle could not be accessed. (Error 109).

  • I have an ipad (IOS 7.1) and downloaded latest version of itunes (11.1.5.5) and downloaded itools (1.8.2.8) but my Itools does not work and message that your itools is not compatible with itunes so please want your comment for that.

    I have an ipad (IOS 7.1) and downloaded latest version of itunes (11.1.5.5) and downloaded itools (1.8.2.8) but my Itools does not work and message that your itools is not compatible with itunes so please want your comment for that.

    Hello JD_NINJA,
    Thanks for using Apple Support Communities.
    Error 9006 when restoring your iOS device indicates that there is security software on your computer which is preventing connection to the Apple server or your device.  To troubleshoot this issue please follow the directions below.
    Check your security software
    Related errors: 2, 4, 6, 9, 1611, 9006. Sometimes security software can stop your device from communicating with either the Apple update server or with your device.
    Check your security software and settings to make sure that they aren't blocking a connection to the Apple servers.
    Get help with iOS update and restore errors - Apple Support
    When restoring your iPhone, please make sure to follow the directions in the link below to properly restore.
    Restore your device from an iCloud or iTunes backup - Apple Support
    Take care,
    Alex H.

  • I'm on Vacation with no access to my Mac.  But had tried Sync. My software update is iOS 6.0.1. I've tried another WiFi network.  I read your comment of deleting Apps for stuck update. So removed all Apps! Can't even install Free Apps. Now using my Kindle

    I'm on Vacation with no access to my Mac.  But had tried Sync. My software update is iOS 6.0.1. I've tried another WiFi network.  I read your comment of deleting Apps for stuck update. So removed all Apps! Can't even install Free Apps. Now using my Kindle

    Purplehiddledog wrote:
    I do backup with iCloud.  I can't wait until the new iMac is available so that I can once again have my files in more than 1 location without needing to rely solely on the cloud. 
    I also rely on iTunes and my MacBook and Time Machine as well as backing up to iCloud. I know many users know have gone totally PC free, but I chose to use iCloud merely as my third backup.
    I assume that the restore would result in my ability to open Pages and Numbers and fix the problem with deleting apps, but this would also mean that if my Numbers documents still exist solely within the app and are just not on iCloud for some reason that they would be gone forever.  Is that right?
    In a word, yes. In a little more detail.... When you restore from an iCloud backup, you must erase the device and start all over again. There is no other way to access the backup in iCloud without erasing the device. Consequently, you are starting all over again. Therefore, it would also be my assumption that Pages and Numbers will work again and that the deleting apps issues would be fixed as well.
    If the documents are not in the backup, and you do not have a backup elsewhere, the documents could be gone forever.

  • I would like to read your comments on following code

    Hi all.
    Here is a bdc code sample of transaction mm02.
    I have given this example to get an idea of the bdc programming.However for days I have read many articles on bdc but could not focus on this topic.
    I want to start by reading your comments on this topic.
    What is:
    perform bdc_dynpro 
    perform bdc_field
    and the values tracing them.
    While putting the itab value near this functions, I do not know put which one to put...
    Wait for Clear comments.Thanks.
    DATA : BEGIN OF MLZ OCCURS 0,
            MATNR LIKE MARA-MATNR,
            LABOR LIKE MARA-LABOR,
           END OF MLZ.
    LOOP AT MLZ.
      SELECT SINGLE * FROM MARA WHERE MATNR = MLZ-MATNR.
      LABORT = MLZ-LABOR.
      MLZ-LABOR = LABORT.
      CONDENSE MLZ-LABOR.
      perform bdc_dynpro      using 'SAPLMGMM' '0060'.
      perform bdc_field       using 'BDC_OKCODE' '=AUSW'.
      PERFORM BDC_FIELD       USING 'BDC_CURSOR' 'RMMG1-MATNR'.
      PERFORM BDC_FIELD       USING 'RMMG1-MATNR' MLZ-MATNR.
      perform bdc_dynpro      using 'SAPLMGMM' '0070'.
      perform bdc_field       using 'BDC_OKCODE' '=ENTR'.
      perform bdc_field       using 'BDC_CURSOR' 'MSICHTAUSW-KZSEL(01)'.
      perform bdc_field       using 'MSICHTAUSW-KZSEL(01)' 'X'.
      perform bdc_dynpro      using 'SAPLMGMM' '4004'.
      perform bdc_field       using 'BDC_OKCODE' '/00'.
      perform bdc_field       using 'MARA-LABOR' MLZ-LABOR.
      perform bdc_dynpro      using 'SAPLSPO1' '0300'.
      perform bdc_field       using 'BDC_OKCODE' '=YES'.
      perform bdc_transaction using 'MM02'.
      REFRESH BDCDATA.
    ENDLOOP.

    Go through this DOC ..u will find all ur ans....(Reward if helpful.
    BATCH DATA COMMUNICATION
    About Data Transfer In R/3 System
    When a company decides to implement the SAP R/3 to manage business-critical data, it usually does not start from a no-data situation. Normally, a SAP R/3 project comes into replace or complement existing application.
    In the process of replacing current applications and transferring application data, two situations might occur:
    • The first is when application data to be replaced is transferred at once, and only once.
    • The second situation is to transfer data periodically from external systems to SAP and vice versa.
    • There is a period of time when information has to be transferred from existing application, to SAP R/3, and often this process will be repetitive.
    The SAP system offers two primary methods for transferring data into SAP systems. From non-SAP systems or legacy system. These two methods are collectively called “batch input” or “batch data communication”.
    1. SESSION METHOD
    2. CALL TRANSACTION
    3. DIRECT INPUT
    Advantages offered by BATCH INPUT method:
    1. Can process large data volumes in batch.
    2. Can be planned and submitted in the background.
    3. No manual interaction is required when data is transferred.
    4. Data integrity is maintained as whatever data is transferred to the table is through transaction. Hence batch input data is submitted to all the checks and validations.
    To implement one of the supported data transfers, you must often write the program that exports the data from your non-SAP system. This program, known as a “data transfer” program must map the data from the external system into the data structure required by the SAP batch input program.
    The batch input program must build all of the input to execute the SAP transaction.
    Two main steps are required:
    • To build an internal table containing every screen and every field to be filled in during the execution of an SAP transaction.
    • To pass the table to SAP for processing.
    Prerequisite for Data Transfer Program
    Writing a Data Transfer Program involves following prerequisites:
    Analyzing data from local file
    Analyzing transaction
    Analyzing transaction involves following steps:
    • The transaction code, if you do not already know it.
    • Which fields require input i.e., mandatory.
    • Which fields can you allow to default to standard values.
    • The names, types, and lengths of the fields that are used by a transaction.
    • Screen number and Name of module pool program behind a particular transaction.
    To analyze a transaction::
    • Start the transaction by menu or by entering the transaction code in the command box.
    (You can determine the transaction name by choosing System – Status.)
    • Step through the transaction, entering the data will be required for processing your batch input data.
    • On each screen, note the program name and screen (dynpro) number.
    (dynpro = dyn + pro. Dyn = screen, pro = number)
    • Display these by choosing System – Status. The relevant fields are Program (dynpro) and Dynpro number. If pop-up windows occur during execution, you can get the program name and screen number by pressing F1 on any field or button on the screen.
    The technical info pop-up shows not only the field information but also the program and screen.
    • For each field, check box, and radio button on each screen, press F1 (help) and then choose Technical Info.
    Note the following information:
    - The field name for batch input, which you’ll find in its own box.
    - The length and data type of the field. You can display this information by double clicking on the Data Element field.
    • Find out the identification code for each function (button or menu) that you must execute to process the batch-input data (or to go to new screen).
    Place the cursor on the button or menu entry while holding down the left mouse button. Then press F1.
    In the pop-up window that follows, choose Technical info and note the code that is shown in the Function field.
    You can also run any function that is assigned to a function key by way of the function key number. To display the list of available function keys, click on the right mouse button. Note the key number that is assigned to the functions you want to run.
    Once you have program name, screen number, field name (screen field name), you can start writing.
    DATA TRANSFER program.
    Declaring internal table
    First Integral Table similar to structure like local file.
    Declaring internal table like BDCDATA
    The data from internal table is not transferred directly to database table, it has to go through transaction. You need to pass data to particular screen and to particular screen-field. Data is passed to transaction in particular format, hence there is a need for batch input structure.
    The batch input structure stores the data that is to be entered into SAP system and the actions that are necessary to process the data. The batch input structure is used by all of the batch input methods. You can use the same structure for all types of batch input, regardless of whether you are creating a session in the batch input queue or using CALL TRANSACTION.
    This structure is BDCDATA, which can contain the batch input data for only a single run of a transaction. The typical processing loop in a program is as follows:
    • Create a BDCDATA structure
    • Write the structure out to a session or process it with CALL TRANSACTION USING; and then
    • Create a BDCDATA structure for the next transaction that is to be processed.
    Within a BDCDATA structure, organize the data of screens in a transaction. Each screen that is processed in the course of a transaction must be identified with a BDCDATA record. This record uses the Program, Dynpro, and Dynbegin fields of the structure.
    The screen identifier record is followed by a separate BDCDATA record for each value, to be entered into a field. These records use the FNAM and FVAL fields of the BDCDATA structure. Values to be entered in a field can be any of the following:
    • Data that is entered into screen fields.
    • Function codes that are entered into the command field. Such function codes execute functions in a transaction, such as Save or Enter.
    The BDCDATA structure contains the following fields:
    • PROGRAM: Name of module pool program associated with the screen. Set this field only for the first record for the screen.
    • DYNPRO: Screen Number. Set this field only in the first record for the screen.
    • DYNBEGIN: Indicates the first record for the screen. Set this field to X, only for the first record for the screen. (Reset to ‘ ‘ (blank) for all other records.)
    • FNAM: Field Name. The FNAM field is not case-sensitive.
    • FVAL: Value for the field named in FNAM. The FVAL field is case-sensitive. Values assigned to this field are always padded on the right, if they are less than 132 characters. Values must be in character format.
    Transferring data from local file to internal table
    Data is uploaded to internal table by UPLOAD of WS_UPLOAD function.
    Population of BDCDATA
    For each record of internal table, you need to populate Internal table, which is similar to BDCDATA structure.
    All these five initial steps are necessary for any type of BDC interface.
    DATA TRANSFER program can call SESSION METHOD or CALL TRANSACTION. The initial steps for both the methods are same.
    First step for both the methods is to upload the data to internal table. From Internal Table, the data is transferred to database table by two ways i.e., Session method and Call transaction.
    SESSION METHOD
    About Session method
    In this method you transfer data from internal table to database table through sessions.
    In this method, an ABAP/4 program reads the external data that is to be entered in the SAP System and stores the data in session. A session stores the actions that are required to enter your data using normal SAP transaction i.e., Data is transferred to session which in turn transfers data to database table.
    Session is intermediate step between internal table and database table. Data along with its action is stored in session i.e., data for screen fields, to which screen it is passed, the program name behind it, and how the next screen is processed.
    When the program has finished generating the session, you can run the session to execute the SAP transactions in it. You can either explicitly start and monitor a session or have the session run in the background processing system.
    Unless session is processed, the data is not transferred to database table.
    BDC_OPEN_GROUP
    You create the session through program by BDC_OPEN_GROUP function.
    Parameters to this function are:
    • User Name: User name
    • Group: Name of the session
    • Lock Date: The date on which you want to process the session.
    • Keep: This parameter is passed as ‘X’ when you want to retain session after
    processing it or ‘ ‘ to delete it after processing.
    BDC_INSERT
    This function creates the session & data is transferred to Session.
    Parameters to this function are:
    • Tcode: Transaction Name
    • Dynprotab: BDC Data
    BDC_CLOSE_GROUP
    This function closes the BDC Group. No Parameters.
    Some additional information for session processing
    When the session is generated using the KEEP option within the BDC_OPEN_GROUP, the system always keeps the sessions in the queue, whether it has been processed successfully or not.
    However, if the session is processed, you have to delete it manually. When session processing is completed successfully while KEEP option was not set, it will be removed automatically from the session queue. Log is not removed for that session.
    If the batch-input session is terminated with errors, then it appears in the list of INCORRECT session and it can be processed again. To correct incorrect session, you can analyze the session. The Analysis function allows to determine which screen and value has produced the error. If you find small errors in data, you can correct them interactively, otherwise you need to modify batch input program, which has generated the session or many times even the data file.
    CALL TRANSACTION
    About CALL TRANSACTION
    A technique similar to SESSION method, while batch input is a two-step procedure, Call Transaction does both steps online, one after the other. In this method, you call a transaction from your program by
    Call transaction  0. (Call transaction returns the sy-subrc if updating is not successful).
    Call function Format_message.
    (This function is called to store the message given by system and to display it along with record)
    Append itab2.
    Display the record and message.
    DIRECT INPUT
    About Direct Input
    In contrast to batch input, this technique does not create sessions, but stores the data directly. It does not simulate the online transaction. To enter the data into the corresponding database tables directly, the system calls a number of function modules that execute any necessary checks. In case of errors, the direct input technique provides a restart mechanism. However, to be able to activate the restart mechanism, direct input programs must be executed in the background only. Direct input checks the data thoroughly and then updates the database directly.
    You can start a Direct Input program in two ways;
    Start the program directly
    This is the quickest way to see if the program works with your flat file. This option is possible with all direct input programs. If the program ends abnormally, you will not have any logs telling you what has or has not been posted. To minimize the chance of this happening, always use the check file option for the first run with your flat file. This allows you to detect format errors before transfer.
    Starting the program via the DI administration transaction
    This transaction restarts the processing, if the data transfer program aborts. Since DI document are immediately posted into the SAP D/B, the restart option prevents the duplicate document posting that occurs during a program restart (i.e., without adjusting your flat file).
    Direct input is usually done for standard data like material master, FI accounting document, SD sales order and Classification for which SAP has provided standard programs.
    First time you work with the Direct Input administration program, you will need to do some preparation before you can transfer data:
    - Create variant
    - Define job
    - Start job
    - Restart job
    Common batch input errors
    - The batch input BDCDATA structure tries to assign values to fields which do not exist in the current transaction screen.
    - The screen in the BDCDATA structure does not match the right sequence, or an intermediate screen is missing.
    - On exceptional occasions, the logic flow of batch input session does not exactly match that of manual online processing. Testing the sessions online can discover by this.
    - The BDCDATA structure contains fields, which are longer than the actual definition.
    - Authorization problems.
    RECORDING A BATCH INPUT
    A B recording allows you to record a R/3 transaction and generate a program that contains all screens and field information in the required BDC-DATA format.
    You can either use SHDB transaction for recording or
    EDIT? BATCH INPUT ? SERVICES ?SYSTEM
    And from here click recording.
    Enter name for the recording.
    (Dates are optional)
    Click recording.
    Enter transaction code.
    Enter.
    Click Save button.
    You finally come to a screen where, you have all the information for each screen including BDC_OKCODE.
    • Click Get Transaction.
    • Return to BI.
    • Click overview.
    • Position the cursor on the just recorded entry and click generate program.
    • Enter program name.
    • Click enter
    The program is generated for the particular transaction.
    BACKGROUND PROCESSING
    Need for Background processing
    When a large volume of data is involved, usually all batch inputs are done in background.
    The R/3 system includes functions that allow users to work non-interactively or offline. The background processing systems handle these functions.
    Non-interactively means that instead of executing the ABAP/4 programs and waiting for an answer, user can submit those programs for execution at a more convenient planned time.
    There are several reasons to submit programs for background execution.
    • The maximum time allowed for online execution should not exceed 300 seconds. User gets TIMEOUT error and an aborted transaction, if time for execution exceeds 300 seconds. To avoid these types of error, you can submit jobs for background processing.
    • You can use the system while your program is executing.
    This does not mean that interactive or online work is not useful. Both type of processing have their own purposes. Online work is the most common one entering business data, displaying information, printing small reports, managing the system and so on. Background jobs are mainly used for the following tasks; to process large amount of data, to execute periodic jobs without human intervention, to run program at a more convenient, planned time other than during normal working hours i.e., Nights or weekends.
    The transaction for background processing is SM36.
    Or
    Define jobs? Jobs ? Administration ?Tools
    Or
    Jobs? services ?System
    Components of the background jobs
    A job in Background processing is a series of steps that can be scheduled and step is a program for background processing.
    • Job name. Define the name of assigned to the job. It identifies the job. You can specify up to 32 characters for the name.
    • Job class. Indicates the type of background processing priority assigned to the job.
    The job class determines the priority of a job. The background system admits three types of job classes: A B & C, which correspond to job priority.
    • Job steps. Parameters to be passed for this screen are as follows:
    Program name.
    Variant if it is report program
    Start criteria for the job: Option available for this are as follows:
    Immediate - allows you to start a job immediately.
    Date/Time - allows you to start a job at a specific name.
    After job - you can start a job after a particular job.
    After event - allows you to start a job after a particular event.
    At operation mode - allows you to start a job when the system switches to a particular operation mode.
    Defining Background jobs
    It is two step process: Firstly, you define the job and then release it.
    When users define a job and save it, they are actually scheduling the report i.e., specifying the job components, the steps, the start time.
    When users schedule program for background processing, they are instructing the system to execute an ABAP/4 report or an external program in the background. Scheduled jobs are not executed until they are released. When jobs are released, they are sent for execution to the background processing system at the specified start time. Both scheduling and releasing of jobs require authorizations.
    HANDLING OF POP UP SCREEN IN BDC
    Many times in transaction pop up screen appears and for this screen you don’t pass any record but some indication to system telling it to proceed further. For example: The following screen
    To handle such screen, system has provided a variable called BDC_CURSOR. You pass this variable to BDCDATA and process the screen.
    Usually such screen appears in many transactions, in this case you are just passing information, that YES you want to save the information, that means YES should be clicked. So you are transferring this information to BDCDATA i.e., field name of YES which is usually SPOT_OPTION. Instead of BDC_OKCODE, you are passing BDC_CURSOR.
    BDC_CURSOR is also used to place cursor on particular field.
    AN EXAMPLE WITH SESSION METHOD
    Following program demonstrates how data is passed from flat file to SAP transaction and further to database table by using SESSION method.
    The transaction is TFBA (to change customer).
    A simple transaction where you are entering customer number on first screen and on next screen data is displayed for the particular customer number. Field, which we are changing here, are name and city. When you click on save, the changed record gets saved.
    Prerequisite to write this BDC interface as indicated earlier is:
    1. To find screen number
    2. To find screen field names, type of the field and length of the field.
    3. To find BDC_OKCODE for each screen
    4. Create flat file.
    Flat file can be created in your hard disk as follows:
    1 Vinod Krishna Hyderabad
    2 Kavitha Secunderabad
    3 Kishore Hyderabad
    (Where 1st character field is Customer number, 2nd field is Customer name and 3rd field is City.)
    To transfer this data to database table SCUSTOM following interface can be used.
    REPORT DEMO1.
    Following internal table is to upload flat file.
    DATA: BEGIN OF ITAB OCCURS 0,
    ID(10),
    NAME(25),
    CITY(25),
    END OF ITAB.
    *Following internal table BDCDATA is to pass date from internal table to session.
    DATA: BDCTAB LIKE BDCDATA OCCURS 0 WITH HEADER LINE.
    Variables
    DATA: DATE1 LIKE SY-DATUM. DATE1 = SY-DATUM - 1. “ This is for Hold Date
    To upload flat file to internal table.
    CALL FUNCTION UPLOAD
    EXPORTING
    FILE NAME = ‘C:FF.TXT’
    FILE TYPE = ‘ASC”
    TABLES
    DATA_TAB = ITAB
    EXCEPTIONS
    CONVERSION_ERROR = 1
    INVALID_TABLE_WIDTH = 2
    INVALID_TYPE = 3
    NO_BATCH = 4
    UNKNOWN_ERROR = 5
    OTHERS = 6.
    If sy-subrc = 0.
    Calling Function to Create a Session
    CALL FUNCTION ‘BDC_OPEN_GROUP’
    EXPORTING
    CLIENT = SY-MANDT
    GROUP = ‘POTHURI’
    HOLDDATE = DATE1
    KEEP = ‘X’
    USER = SY-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.
    If sy-subrc = 0.
    MAIN Logic----
    LOOP AT ITAB
    PERFORM GENERATE_DATA. “ Populating BDCDATA Table
    CALL FUNCTION ‘BDC_INSERT’
    EXPORTING
    TCODE = ‘TFBA’
    TABLES
    DYNPROTAB = BDCTAB
    EXCEPTIONS
    INTERNAL_ERROR = 1
    NOT_OPEN = 2
    QUEUE_ERROR = 3
    TCODE_INVALID = 4
    PRINTING_INVALID = 5
    POSTING_INVALID = 6
    OTHERS = 7.
    REFRESH BDCTAB
    ENDLOOP.
    Calling function to close the session
    CALL FUNCTION ‘BDC_CLOSE_GROUP’
    EXCEPTIONS
    NOT_OPEN = 1
    QUEUE_ERROR = 2
    OTHERS = 3.
    Endif.
    Endif.
    *& Form GENERATE_DATA
    Create BDC Data
    FORM GENERATE_DATA
    Passing information for 1st screen on BDCDATA
    BDCTAB-PROGRAM = ‘SAPMTFBA’.
    BDCTAX-DYNPRO = 100.
    BDCTAP-DYNBEGIN = ‘X’.
    APPEND BCDTAB.CLEAR BDCTAB.
    Passing field information to BDCDATA
    BDCTAB-FNAM = ‘SCUSTOM-ID’
    BDCTAB-FVAL = ITAB-ID.
    APPEND BDCTAB.CLEAR BDCTAB.
    Passing BDC_OKCODE to BDCDATA
    BDCTAB-FNAM = ‘BDC_OKCODE’.
    BDCTAB-FVAL = ‘/5’.
    APPEND BDCTAB.CLEAR BDCTAB.
    Passing screen information for next screen to BDCDATA
    BDCTAB-PROGRAM = ‘SAPMTFBA’.
    BDCTAB-DYNPRO = 200.
    BDCTAB-DYNBEGIN = ‘X’.
    APPEND BDCTAB.CLEAR BDCTAB.
    Passing screen information to BDCDATA
    BDCTAB-FNAM = ‘SCUSTOM-NAME’.
    BDCTAB-FVAL = ITAB-NAME.
    APPEND BDCTAB.CLEAR BDCTAB.
    Passing screen information to BDCDATA
    BDCTAB-FNAM = ‘SCUSTOM-CITY’.
    BDCTAB-FVAL = ITAB-CITY.
    APPEND BDCTAB.CLEAR BDCTAB.
    Passing BDC_OKCODE to BDCDATA
    BDCTAB-FNAM = ‘BDC_OKCODE’.
    BDCTAB-FVAL = ‘SAVE’.
    APPEND BDCTAB.CLEAR BDCTAB.
    ENDFORM. “GENERATE_DATA
    AN EXAMPLE WITH CALL TRANSACTION
    Same steps to be repeated for CALL TRANSACTION
    The only difference between the two types of interface is in Session method, you create session and store information about screen and data into session. When session is processed the data is transferred to database. While in CALL TRANSACTION, data is transferred directly to database table.
    REPORT DEMO1.
    Follow above Code till MAIN Logic. Even the Subroutine should be copied
    LOOP AT ITAB
    PERFORM GENERATE_DATA, “Populating BDCDATA Table
    Call transaction ‘TFBA’ using BCDDATA Mode ‘A’ Update ‘S’.
    REFRESH BDCTAB
    ENDLOOP.
    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
    http://www.sapbrain.com/FAQs/TECHNICAL/SAP_ABAP_DATADICTIONARY_FAQ.html
    http://www.****************/InterviewQ/interviewQ.htm
    http://help.sap.com/saphelp_46c/helpdata/en/35/2cd77bd7705394e10000009b387c12/frameset.htm
    regards,
    Message was edited by:
            KaushiK©Datta

  • Your comments on our Corporate ID.

    Hello everyone...
    I would really like to hear your comments about our new company profile...
    Does it fit to a company who is producing product diplays for supermarkets and bank ATMs and visual merchandising products in its 3000m2 atelier ...
    Thank you.. 

    Hello Noel..
    Thank you verymuch for your reply and comments..
    I found that the big P then having a small P at the front of PRO made me think about it a bit.  Is it PPRO-MET or PRO-MET?  Yes you are right .. I want to use this big P alone .. and want to add this promet text in a more different way but I cant get somethhing for now.. Would be perfect if you share your idea with me ... w
    Maybe that's the kind of visual tension you want - make people think about it so they remember it. 
    Looks quite slick.   tHANKS...
    -Noel

  • What do they mean on facebook when they say you haven,t finished your comment?

    When offering a comment on facebook,having finished said,I then try to send or share,but I,m told "you haven,t finished your comment yet,are you sure you want to leave this page?" What is the right protocol for finishing a comment?

    Click here and here for information.
    (24770)

  • Your Comments Please: Business Case for XI

    We are a small site commencing a major project that will involve integrating SAP R/3, BW, CRM, and various non-SAP applications (web and client/server). The applications have a number of external interfaces, receiving data from or sending data to external agencies.
    I'm trying to understand the costs and benefits of including XI in the solution and would welcome comments from people already using the tool. I've read a lot of the SAP documentation so understand that it is the best thing since sliced bread, but I'd also be interested to hear your general comments and also your thoughts on the following specific points:
    (1) Maintenance effort: since we are a small site we don't have teams of people to work on each piece of technology, what is likely to be the time and effort of the training, initial configuration and on-going support?
    (2) Data transformation capabilities: are there extensive functions to manipulate the data without writing code? If you are familiar with ETL tools such as DataStage, Informatica, etc. how does it compare?
    (3) Performance with large data sets: one of our external data sources will include about two million rows of data per day, how would XI cope?
    (4) What is it like to work with? Do you spend half your time searching for, and trying to decipher notes, and applying patches, or is it generally an enjoyable experience? (for someone who doesn't enjoy the above) -- and if so why is this forum so popular?
    Many thanks
    Rob

    Hi Robert,
    I have just starting using XI 3.0 and am finding it a good experience on the whole. In answer to your points :
    1. Maintenance effort is low. Once you have grasped the concepts and steps for development it is relatively easy with no coding (although you should really have a basic understanding of Java). I would recommend attending the SAP XI 3.0 Fundamentals course for training purposes. The initial configuration has been minimal so far as it is Basis who should perform the basic configuration steps during the installation
    2. The mapping tool is a GUI driven tool and has a lot of basic functions for transforming data. It also allows the use of any specific Java functions you may already use to transform data
    3. Performance would be driven by the volume of data and the number of integration servers you have. I would personally recommend having an Integration Server solely for use for the very high volume data set you mention.
    4. From what I have seen so far, it is an enjoyable experience. Patches should be applied regularly by your Basis team so you shouldn't need to worry too much about that side of things.You are bound to get teething difficulties with such a vast product but once you get to grips with it, it is very good indeed.
    Finally, I would definitely recommend attending the XI course I mentioned. It concretes the basic understanding you would get from the SAP documentation.
    Hope this helps.
    Kind regards
    Colin

  • I have submitted 3 Entries on mozilla Add-Ons Contest but it appears that [Your comment is awaiting moderation.] what does it mean to be?

    About Add-Ons Contest

    Is this the contest you mean? [http://blog.mozilla.org/addons/2012/04/24/tell-us-about-your-favorite-add-on-for-a-chance-to-win-one-of-three-android-tablets/ http://blog.mozilla.org/addons/2012/04/24/tell-us-about-your-favorite-add-on-for-a-chance-to-win-one-of-three-android-tablets/] . If you are trying to post the review a a comment on that blog post, it won't work, you have to follow the process on the form.

  • Backup / File Serving Plan - Your comments?

    A local business would like to have a daily off-site backup, with incremental backups, and do file sharing from a single server across several users. Web based backup is probably not realistic as some files are 250 megs a pop. We have ordered an XSserve with three 750gig drives which we will use as a file server. My plan is to use Drive 1 for system files, with Drive 2 and 3 setup in Raid 1 for data files that will be mirrored. This will allow the owner to simply pull a drive out, put it in a case, and take it home with him each evening, while providing redundancy and up-time if a drive goes down.
    It doesn't, however, ensure that if somebody deletes 200 pages from a document and mistakenly saves it, there will be any archived copy, so we will continue to use our current Retrospect backup plan, with some changes to frequency.
    My current thinking with regard to the System files is to connect an external Hard Drive after the intitial setup has been finalized with the users added and use SuperDuper to clone the System hard drive and then disconnect it (after a verfifying boot from it). Backing up of that drive would be done manually when needed after adding users or doing updates that are verified to be "good" while not automatically backing up corrupted prefs or other problems that can tend to creep into a system.
    Any thoughts or comments ?

    My plan is to use Drive 1 for system files, with Drive 2
    and 3 setup in Raid 1 for data files that will be mirrored.
    This will allow the owner to simply pull a drive out, put it
    in a case, and take it home with him each evening, while
    providing redundancy and up-time if a drive goes down.
    I'll be the contrarian on this one. Yes, it will work. Just fine (but see below). That's standard practice for many servers if you need them to be kept up 24/7, and a RAID 1 mirror split is the ONLY way to do an instantaneous clone of a drive. Other solutions (SuperDuper!, CCC, etc.) scan the disk, build a list, and copy files, such that any files that change/disappear/appear during or after the scan and before the copy will be missed. We do exactly that (well, not quite) with our Xserve G5 before doing any software update.
    However, the approach we use is to add a spare drive to the mirror, allow the mirror to rebuild, then split the spare drive from the mirror. We use SoftRAID, and it has worked flawlessly for this (again, see below), and there is even a write-up on the SoftRAID web site (http://www.softraid.com) about this approach.
    Realize, though, that such a mirror split has two issues. First, it is not a backup and it should not be confused with such. No archiving is done for old files, and it's not possible to go back weeks/months to get an inadvertently deleted file. A proper backup strategy (we use Retrospect to tape in an autoloader) is necessary for that.
    Second, even though the mirror split is instantaneous, it still might not give a proper bootable image. Some programs, such as database programs (e.g., cyrus for email) maintain sets of files on disk that need to be consistent, and there needs to be (and is not) coordination between the instant of mirror split and all running services. For this reason, we shut down essential services (this can be scripted) such as email service, prior to the instant of mirror split, do the mirror split, then restart the services. Doing that avoids, for example, cyrus database corruption.
    As mentioned above, we only do this for our OS volume, which is RAID 1 (SoftRAID) with mirror secondary being a RAID 5 LUN on an Apple Hardware RAID card and with mirror primary being a Seagate Cheetah attached to an ATTO UL4D. We add another mirror secondary (a Firewire drive) to the RAID 1 mirror, allow the mirror to rebuild, shut services by scripting, split the Firewire drive from the SoftRAID mirror, restart the services. Takes only an instant, gives a good bootable OS copy. Note that we only use this approach prior to any software change on the Xserve, allows us to roll back if the software change/update goes badly, as happened once. But that's all we use it for. We count on the RAID 5 LUN for our user data, plus our daily tape backups, to handle failures and accidental deletions, and we count on the RAID 1 mirror of the OS volume to handle failure of the Apple Hardware RAID card (which MUST have the write cache turned off - there is a bug in the card - fails to fully flush write cache on graceful power down - doubt Apple will ever fix this bug) and also to improve performance of the OS volume.
    SoftRAID 3.5 is not scriptable, so this has to be done manually. I understand that scriptability is in the works, which would allow us to automate the process. SoftRAID 3.5.1 also has some issues with intel processors, the SoftRAID 3.6 beta just released resolves those issues (general release of SoftRAID 3.6 is expected shortly before MacWorld).
    One thing for you to think about is all the handling/removal/insertion of the drive, and transporting the drive home each night. That will reduce the life of the drive and of the ADM connector into which the drive plugs.
    I note upon re-reading your post that you use Retrospect, as do we. Be sure, before doing the mirror split (if you use this technique for your OS volume) that you disable Retrospect's schedule prior to the mirror split and then re-enable the schedule after the split. Otherwise, if you later try to boot from the earlier mirror split drive, all scripts with intervening scheduled times will be runnable and, just at the instant you are in a moment of crisis, trying to boot your precious backup copy, Retrospect will be firing off backups, etc. Been there, done that.
    Good luck.
    Russ
    Xserve G5 2.0 GHz 2 GB RAM Mac OS X (10.4.8) Apple Hardware RAID, ATTO UL4D, Exabyte VXA-2 1x10 1u
    Message was edited by: rhwalker (add Retrospect comments)

  • I installed IE tab plus 1.2.0.12. when i am using explorer in mozilla and login into confirmit, the page is not loading properly. I am login and unable to click on any link.Please let me know your comments on this.

    http://author.confirmit.com//isa/KTAYBTGOKOMVCAAHHMPIDXAQKVOTBALO/srinu/Mozilla%20Firefox_trouble1.htm
    Please find this link. I am getting this message frequently.

    Hi Guru Prasandh,
    Thanks for your Reply.
    There is no error on page.
    If I got more than 10 records then it displays the Advance Worklist page fine but when I put Cursor on Table Navigation buttons it shows the Custom page path only not Sedded Worklist page path if I click on the Next & Previous buttons then it shows error on page on page bar and hangs out. It doesn't shows the next records.
    Personalize page, Diagnostics & ABout this page links are not highlighted when I put the mouse cursor.

  • I need your comments , your suggestions , please.

    Use the necessary facilities of the Java Programming langgue to build a visual calculator which
    can carry out tha following operation. The operation needed are :
    + - * / clear memorize recall
    Each of these operations is represented by a button which a user can press in order to carry
    out the task. This calculator can be used to work out the value of an expression such as :
    23*12+22-3
    Pressing a wrong commbination of keys may gererate a warning sound. Moreover an animated icon should
    be used to indicate when "
    - the calculator is idle and free to be used
    - the calculator is busy ( being used )
    ***** This is the code :
    import java.awt.event.*;//Abstract windows ToolKit
    import java.awt.*;
    public class calculator extends Frame implements ActionListener
    TextField name;
    Label aHeader;
    Button b[];
    String expression;
    public calculator()
    super("DUY 'S CALCULATOR");
    setLayout(new BorderLayout());
    Panel p1 = new Panel();
    p1.setBackground(new Color(18,70,1));
    p1.setLayout(new FlowLayout());
    aHeader = new Label("DUY'S CALCULATOR");
    aHeader.setFont(new Font("Times New Roman",Font.BOLD,24));
    aHeader.setForeground(new Color(255,0,0));
    p1.add(aHeader);
    add("North",p1);
    Panel p2 = new Panel();
    p2.setBackground(new Color(27,183,100));
    p2.setLayout(new GridLayout(0,1));
    name = new TextField(20);
    p2.add(name);
    add("Center",p2);
    Panel p3 = new Panel();
    p3.setLayout(new GridLayout(0,6));
    b = new Button[25];
    b[0] = new Button("MC");
    b[0].addActionListener(this);
    b[1] = new Button("7");
    b[1].addActionListener(this);
    b[2] = new Button("8");
    b[2].addActionListener(this);
    b[3] = new Button("9");
    b[3].addActionListener(this);
    b[4] = new Button("/");
    b[4].addActionListener(this);
    b[5] = new Button("sqrt");
    b[5].addActionListener(this);
    b[6] = new Button("CE");
    b[6].addActionListener(this);
    b[7] = new Button("4");
    b[7].addActionListener(this);
    b[8] = new Button("5");
    b[8].addActionListener(this);
    b[9] = new Button("6");
    b[9].addActionListener(this);
    b[10] = new Button("*");
    b[10].addActionListener(this);
    b[11] = new Button("%");
    b[11].addActionListener(this);
    b[12] = new Button("MS");
    b[12].addActionListener(this);
    b[13] = new Button("1");
    b[13].addActionListener(this);
    b[14] = new Button("2");
    b[14].addActionListener(this);
    b[15] = new Button("3");
    b[15].addActionListener(this);
    b[16] = new Button("-");
    b[16].addActionListener(this);
    b[17] = new Button("1/x");
    b[17].addActionListener(this);
    b[18] = new Button("M+");
    b[18].addActionListener(this);
    b[19] = new Button("0");
    b[19].addActionListener(this);
    b[20] = new Button("+/-");
    b[20].addActionListener(this);
    b[21] = new Button(".");
    b[21].addActionListener(this);
    b[22] = new Button("+");
    b[22].addActionListener(this);
    b[23] = new Button("=");
    b[23].addActionListener(this);
    b[24] =new Button("exit");
    b[24].addActionListener(this);
    for(int i=0;i<=24;i++)
    { p3.add(b);
    add("South",p3);
    super.addWindowListener(new WindowAdapter(){
    public void windowClosing(WindowEvent e)
    {System.exit(0);}});
    setLocation(200,100);
    pack();
    setVisible(true);
    }//end of constructor
    public void actionPerformed(ActionEvent evt)
    String command = evt.getActionCommand();
    StringBuffer tmp, first, second;
    int value, size, k;
    char ch, op = ' ';
    first = new StringBuffer();
    second = new StringBuffer();
    if ("CE".equals(command))
    name.setText("");
    else if("7".equals(command))
    expression = name.getText();
    name.setText(expression+"7");
    else if ("8".equals(command))
    expression = name.getText();
    name.setText(expression+"8");
    else if ("9".equals(command))
    expression = name.getText();
    name.setText(expression+"9");
    else if("4".equals(command))
    expression = name.getText();
    name.setText(expression+"4");
    else if("5".equals(command))
    expression = name.getText();
    name.setText(expression+"5");
    else if("6".equals(command))
    expression = name.getText();
    name.setText(expression+"6");
    else if("1".equals(command))
    expression = name.getText();
    name.setText(expression+"1");
    else if("2".equals(command))
    expression = name.getText();
    name.setText(expression+"2");
    else if("3".equals(command))
    expression = name.getText();
    name.setText(expression+"3");
    else if("0".equals(command))
    expression = name.getText();
    name.setText(expression+"0");
    else if("+".equals(command))
    expression = name.getText();
    name.setText(expression+"+");
    else if("-".equals(command))
    expression = name.getText();
    name.setText(expression+"-");
    else if("*".equals(command))
    expression = name.getText();
    name.setText(expression+"*");
    else if("/".equals(command))
    expression = name.getText();
    name.setText(expression+"/");
    else if("=".equals(command))
    expression = name.getText();
    size = expression.length();
    tmp = new StringBuffer( expression );
    for(int i = 0;i<size;i++)
    ch = tmp.charAt(i);
    if(ch != '+' && ch != '*' && ch != '-' && ch != '/')
    first . insert(i, ch);
    else
    op = ch;
    k = 0;
    for(int j = i+1; j< size ; j++)
    ch = tmp.charAt(j);
    second.insert(k,ch);
    k++;
    break;
    switch(op)
    case '+' : value = Integer.parseInt(new String(first)) +
    Integer.parseInt(new String(second));
    name.setText(new Integer(value).toString());
    break;
    case '-' : value = Integer.parseInt(new String(first)) -
    Integer.parseInt(new String(second));
    name.setText(new Integer(value).toString());
    break;
    case '*' : value = Integer.parseInt(new String(first)) *
    Integer.parseInt(new String(second));
    name.setText(new Integer(value).toString());
    break;
    case '/' : value = Integer.parseInt(new String(first)) /
    Integer.parseInt(new String(second));
    name.setText(new Integer(value).toString());
    break;
    } //end of actionPerformed
    /**main method to invoke from JVM.*/
    public static void main(String args[])
    new calculator();
    This is the file calculator.java .I create this program follow the lecturer's guide . But actually
    i think this is not good jobs . Anybody can help me to change something on this program ???? . And
    please show me the reason why in each case of its . Thanks so much .
    I have to submit it by this friday, so i think i can receive all reply soon . Again, thanks so much.

    As I said before, check out:
    http://forum.java.sun.com/thread.jsp?forum=31&thread=271751
    I actually think there's some examples of what NOT to do in that message that look uncannily similar to what you've posted.
    This is the third time you've asked somebody to do your homework for you. Read the javadocs, check out the tutorials, test the code yourself and experiment with it.
    You can't just throw a bunch of code out and ask some vague questions and expect answers.
    This is the file calculator.java .I create this program follow the lecturer's guide . But actually
    i think this is not good jobs . Anybody can help me to change something on this program ???? . And
    please show me the reason why in each case of its . Thanks so much .
    I have to submit it by this friday, so i think i can receive all reply soon . Again, thanks so much.
    Start by asking some specific questions.
    And your code would be much easier to read if you put it in [ code ] blocks. Check out http://forum.java.sun.com/faq.jsp#messageformat for information on formatting.

  • Looking for your comments and feedback....

    Hi  Mates,
    I have recently got  my website re-designed, and would request you to spare some time to browse http://www.lexolutionit.com
    And let me know  what you think about the usability of my new site and the ease of finding the  information a potential costumer maybe searching for. Your other observations  too will be appreciated as they will help me make my site even  better.
    Cheers,
    ~Maneet

    Arjun,
    This are my thoughts and Lets do it in 3 Steps
    Step 1.  ODI Procedure
    Drop table Temp_20 ;
    Create table Temp_20 as select * from table where rownum < ( SELECT TRUNC( COUNT(1) /5) FROM TABLE ) .
    [ ** This way iam fetching approx 20% of the table data and loading into Temp table . 1/5 th is 20%  so i am dividing count by 5
    I don't believe View will help you especially with RowNum as if you run the same query with rownum < N the rows order might differ . so Temp table is great ]
    Step 2 .  Use OdiSqlUnload  with select columns  from temp_20
    Step 3 . Use again OdiSqlUnload  with  select columns from table where  ( uk keys ) not in ( selecy uk_keys from temp_20)
    [** this way you can pick the remaining 80% ** and the data will be not repeat itself across 20% and 80% , as might happen with view ]
    what do you think ?

Maybe you are looking for

  • Display names in tooltip??

    Hi All, I have two different shuttle item in my home page.Values of the shuttle item is very long say like 50 characters(each value).Hence user can't able to see the full name.I increased the size of shuttle to extend but then also its difficult to s

  • Which airport utility do I need?

    Okay a bit confused. I have a Time Capsule connected to an older version Airport Express (single band). I need to make some changes to the Airport Express. On my MBP 13" running 10.8.1 I have Airport Utility 6.1. I can reach the Time Capsule without

  • Converting Files to Mpeg 4 instead of H.264(x264)

    Hi all. I need some help here. I'm using Handbrake to convert my DVDs to files for my Apple TV 2. My problem is that Handbrake takes 3 hours or more for a 90 minute movie. Homie don't play that. I've got like 50 movies I want to convert, and using mp

  • What happened to mini bridge. CC2014. Please bring it back!!

    All of a sudden, I realized that mini-bridge was gone. I can't stand the regular Bridge. Please bring it back. I may have to go back to CS6 because I can't work in Photoshop without mini-bridge. What is the status of bringing it back???

  • Adjust time before new sign-in is requested?

    I have a signin on my MacBook Pro.  However when I step away from my Mac for a minute or so when I return my screen is dark and I need to input the password again. How can I extend the times before I get the dark screen and the request for a sign-in