MB_MIGO_BADI: Fields on Header - Accessing PO number

Hi Experts,
I am using MB_MIGO_BADI to add custom fields to the MIGO header tab. Inside the BADI methods/function modules, I'm not able to access the PO number. The PO number that is entered on the MIGO screen is needed to fill the new fields that I've created. How do I get the PO number?

Well, I solved it on my own...here's how:
In the FM of the method PAI_Header, I added this code:
DATA LV1(28) TYPE c VALUE '(SAPLMIGO)GODYNPRO-PO_NUMBER'.
FIELD-SYMBOLS <fs1> TYPE ANY.
ASSIGN (LV1) TO <fs1>.
Now, I can use Select statements to get data using this PO number!

Similar Messages

  • RFX Response Header : Fill Display Fields on Header Level

    Hi Gurus,
    There is a requirement at the client place to add the Display only field for RFx Response Header. Based on this required I have done the following activities.
    1. From 'Define Customer Display Fields on Header Level' in  SPRO i have appended the ZFIELD in the Response header structure.
    2. From 'Configure Control for Fields on Header Level' in SPRO i have made it visible true.
    3. From 'Fill Display Fields on Header Level' SPRO i have Enhanced the /SAPSRM/BD_PDO_FE_FILL_HEADER with implementation. And have given required filter criteria. In the implementation Class it has the return parameter as CS_HEADER_DATA. Where i could fill the my ZFIELD.
    The field is now displaying in the SRM portal. But the problem is that the ZFIELD is not being filled with any value, even though i supplied it.
    Is there any step that is missing to set the value?
    Regards,
    Hobs

    Hi,
    The main technique is to do your calculations in PAI of the screen for additional data B for the line item but as you said it is accessed only when you goto-> item -> additional dataB
    So you can do one more thing...do the calculation in PAI/PBO of the screen first and in userexit_save_document_prepare recalculate again and overwrite the old ones(or calculate for only the ones which are initial in the item) ..so if he goes to additional data B screen you give the user what he wants and if he doesn't userexit_save_document_prepare takes care of it
    user can go to additional dataB only a line item at a time so the chance that he takes all the line items one by one is less(for huge number of line items)..so you just calculate and overwrite the fields in the in the userexit if the field value is empty...or you can recalculate for all the cases and overwrite just in case there may be a problem....
    in the screen of the additional dataB
    Write logic for calculating the field values
    so in the userexit you write like
    if the fields are initial..
    calculate
    else
    *already calculated from the screen because user has viewed it
    endif.
    So you are safe that user can see what he wants and you can reassure that the value will be calculated and stored on the SAVE from user exit
    Please check,revert
    Reward if helpful
    Regards
    Byju

  • Field to add to enter number of items which are  shipped to customer

    Hi Sap Experts,
    We have scenario, we have created sales order with quantity 1(Like soft copy or hard copy of CD).
    Now we want to create delivery with sales order and quantity is 1(Copy from sales order).
    Our requirement is some time we have to send additional things like hard copy of manual or complement gift which we are not entering in sales order.
    Exp: Sales order- quantity 1.
    Want to deliver quantity 1(+ manual+ complement gift, these items are not part of standard order)
    For more clarity, we have to add one field and want to enter number (How many items we have send along with main materials and these items are not relevant for pricing also).
    So requirement is add one additional field in delivery header/item.
    Customer doesn’t want to use Free of goods or BOM which we have propose him. How to customize standard table and standard program.
    Kindly suggest.
    Regards,
    Kotli
    20

    Hi,
    Thanks.We want to add a field, might be like this.We just want to enter only no of extra items like 3.
    Exp.
    Delivery Qty-1
    extra items:3
    Regards,
    Custom field to add number of packages shipped along with Delivery 

  • Add custom fields in header of FI documents using FI_HEADER_SUB_1300IM

    Hi
    We are trying to add a couple of custom fields in header area of FB01 by making a copy of badi FI_HEADER_SUB_1300IM. With this method we are facing a couple of problems
    - The custom fields added in bkpf structure,  only appears in FB01 just in the case we have go before to FB03 or FB02.
    - We don´t reach to save data of these fields in table BKPF.
    can anybody help us with these problems?
    thanks in advance for your help
    I leave here the code we have used in the copy of badi FI_HEADER_SUB_1300IM
    MODULE d1300_pbo OUTPUT.
      IF exit IS INITIAL.
        CALL METHOD cl_exithandler=>get_instance_for_subscreens
          CHANGING
            instance                      = exit
           EXCEPTIONS
    *      NO_REFERENCE                  = 1
    *      NO_INTERFACE_REFERENCE        = 2
    *      NO_EXIT_INTERFACE             = 3
    *      DATA_INCONS_IN_EXIT_MANAGEM   = 4
    *      CLASS_NOT_IMPLEMENT_INTERFACE = 5
             OTHERS                        = 6.
        IF sy-subrc <> 0.
    *   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
      ENDIF.
      CALL METHOD exit->get_data_from_screen_pbo
        EXPORTING
          FLT_VAL       = 'ES'
        IMPORTING
          ex_bkpf       = g_bkpf
          ex_x_no_input = g_no_input.
      loop at screen.
       if g_no_input = 'X'.
         screen-input = 0.
         modify screen.
       endif.
      endloop.
    ENDMODULE.   
    **************************+
    FORM put_value .
    * import header data from main screen
      call method exit->get_data_from_screen_pai
        EXPORTING
          FLT_VAL  = 'ES'
        importing
          ex_bkpf  = g_bkpf.
    * set reference fields
    g_bkpf-ZZDPTOAPROBADOR = bkpf-ZZDPTOAPROBADOR.
    g_bkpf-ZZDELAPROBADOR = bkpf-ZZDELAPROBADOR.
    * put data to main screen
      call method exit->put_data_to_screen_pai
        exporting
          im_bkpf  = g_bkpf
          flt_val  = 'ES'.
    ENDFORM.
    Added code tags
    Edited by: Rob Burbank on May 10, 2011 12:17 PM

    SriVarma,
    Cool! I didn't know this BADI!
    Playing around with existing implementations I can see that, BADI_SD_TAB_CUST_H, can definitely enhance the Sales order header with additional tab strip screens. Similarly BADI_SD_TAB_CUST_I can be used to enhance Sales order item screens.
    Here is what I understand from the coding of an existing implementation
    ACTIVATE_TAB_PAGE - takes a module pool program name and a subscreen that you created and adds it as a additional tab page to sales order header screen. You need to pass back f_program and f_dynpro with your program and screen number that you painted
    TRANSFER_DATA_TO_SUBSCREEN - can be used to read and pass data to the fields on the subscreen you created
    TRANSFER_DATA_FROM_SUBSCREEN - can be used to pass back whatever changes done by user to the respective Z variables in VBAK
    PASS_FCODE_TO_SUBSCREEN - Pass the fcode the user selected to your subscreen.
    I would suggest that you create a function group and create screens, functions etc within that and use those in these methods. Refer existing implementations. The global data of the function group can then be used to communicate between all the above methods

  • Custom field at Header level in Additional Data B tab of VA01/VA02

    Kindly help me out , I have a requirement to add a custom field at Header level in Additional Data B tab of VA01/VA02.
    Program: SAPMV45A
    screen 8459
    This can be done only through access key or not. Can any body tell me procedure to do that.
    Appreciate your response.Thanks in advance

    Please help me out this

  • Change of custom fields in header data

    Hi Experts,
    How to change of custom fields in header data in frontend SRM for Process PO transaction ?
    Help is appreciable.
    Thank You.
    Regards,Sunu

    Thank you for your replies.
    There is one custom field in header data called 'SDN Number' of our PO for example and i would like to change this from 'SDN Number' to 'Login Name' as the logic for taking the value for this field should remain the same. Only the display text should change.
    So, whenever i login into frontned SRM and process the transaction 'Process PO' i should be able to see 'Login Name' instead of 'SDN Number' in header data of the PO.
    Hope i reaced my query in clear way.
    Highly thanful for your replies.
    Regards, Sunu

  • Payment term Field at header level

    Hello
    my requirment is while creating sale order the payment term field at header level should be in display mode. or not shown while creating sale order. doesnot want to maintain user exit. or anyone have knowledge of field (of payment term ZTERM ) object ?
    Regards

    Dear Mr. M Yasir Dogar,
    To this requirement as Lakhsmi says, to make the Payment term in display mode, without user exit you can do with Tansaction variant SHD0. It actually make a view sort of control.
    Steps:
    Run T CODE: SHD0
    Transaction         VA01
    Variant                ZVA01_VARIANT
    create a sales order.
    during the process system, records all the details of object involved in the sales order creation.
    and it records with the screen number as variant name.
    After execution go to details, Go to
    Name of screen variant:  ZVA01_VARIANT_4440
    and in Payment terms VBKD-ZTERM, select Output only (means it will only display the data from master) and others option also will be there like * Invisible, Required.*
    Select the appropriate one.
    Along with this activity,in the authorization - profile the Variant should be assign to the USERS having T CODE : VA01. This can be done by the Basis team.
    We did similar to control the manual entry of Payment terms.
    Regards,
    Mani

  • BAPI : "BAPI_REQUISITION_CREATE" pass the Long Text Field of *Header Note*,

    Hi Experts,
            i am using the BAPI : "BAPI_REQUISITION_CREATE". it' is working Fine.But i need to pass the Long Text Field of Header Note, Item Text, Item Note,Delivery text and Material P.O text through the BAPI.
    Plz,Help me to Achieve this.
    Thanks in Adv.
    V.S.Naidu.

    Below is the code for BAPI_PR_CREATE just go through it and your dbout will be solved
    it has example for multi line header text as well as line items...!
    Hope it helps
    CLEAR GV_BAPIMEREQHEADER.
    MOVE 'NB' TO GV_BAPIMEREQHEADER-PR_TYPE.
    move 'X' To GV_BAPIMEREQHEADER-AUTO_SOURCE.
    CLEAR GV_BAPIMEREQHEADERX.
    MOVE 'X' TO GV_BAPIMEREQHEADERX-PR_TYPE.
    MOVE 'X' TO GV_BAPIMEREQHEADERX-auto_source.
    CLEAR WA_BAPIMEREQITEMIMP.
    MOVE :
    '00010' TO WA_BAPIMEREQITEMIMP-PREQ_ITEM,
    **'001' TO  WA_BAPIMEREQITEMIMP-PUR_GROUP,
    *'TWISTED PAIR CABLE' TO  WA_BAPIMEREQITEMIMP-SHORT_TEXT,
    'C-1030' TO WA_BAPIMEREQITEMIMP-MATERIAL,
    '1000' TO WA_BAPIMEREQITEMIMP-PLANT,
    '100' TO WA_BAPIMEREQITEMIMP-QUANTITY,
    '20091001' TO WA_BAPIMEREQITEMIMP-DELIV_DATE.
    APPEND WA_BAPIMEREQITEMIMP TO GT_BAPIMEREQITEMIMP.
    CLEAR WA_BAPIMEREQITEMX.
    MOVE :
    '00010' TO WA_BAPIMEREQITEMX-PREQ_ITEM,
    'X' TO WA_BAPIMEREQITEMX-PREQ_ITEMX,
    *'X' TO  WA_BAPIMEREQITEMX-PUR_GROUP,
    'X' TO  WA_BAPIMEREQITEMX-SHORT_TEXT,
    'X' TO WA_BAPIMEREQITEMX-MATERIAL,
    'X' TO WA_BAPIMEREQITEMX-PLANT,
    'X' TO WA_BAPIMEREQITEMX-QUANTITY,
    'X' TO WA_BAPIMEREQITEMX-DELIV_DATE,
    'X' TO WA_BAPIMEREQITEMX-EXT_PROC_PROF.
    *EXT_PROC_REF_DOC
    *EXT_PROC_REF_ITEM
    APPEND WA_BAPIMEREQITEMX TO GT_BAPIMEREQITEMX.
    CLEAR EXTRA_FIELDS.
    MOVE '00010' TO EXTRA_FIELDS-BNFPO.
    MOVE '12345678901' TO EXTRA_FIELDS-ZZDANOSPR_NO.
    MOVE 'MUM01' TO EXTRA_FIELDS-ZZPORT.
    MOVE '20100505' TO EXTRA_FIELDS-ZZETD.
    MOVE '20100506' TO EXTRA_FIELDS-ZZETA.
    MOVE '123456789123456789' TO  EXTRA_FIELDS-ZZEXTWG.
    MOVE TEMP TO  EXTRA_FIELDS-ZZrob.
    CLEAR WA_EXTENSIONIN.
    MOVE 'BAPI_TE_MEREQITEM' TO  WA_EXTENSIONIN-STRUCTURE.
    MOVE EXTRA_FIELDS TO WA_EXTENSIONIN-VALUEPART1.
    APPEND WA_EXTENSIONIN TO GT_EXTENSIONIN.
    CLEAR WA_EXTENSIONIN.
    MOVE 'BAPI_TE_MEREQITEMX' TO  WA_EXTENSIONIN-STRUCTURE.
    MOVE EXTRA_FIELDS TO WA_EXTENSIONIN-VALUEPART1.
    APPEND WA_EXTENSIONIN TO GT_EXTENSIONIN.
    CLEAR WA_EXTENSIONOUT.
    MOVE 'BAPI_TE_MEREQITEMX' TO  WA_EXTENSIONOUT-STRUCTURE.
    *MOVE EXTRA_FIELDS TO WA_EXTENSIONOUT-VALUEPART1.
    APPEND WA_EXTENSIONOUT TO GT_EXTENSIONOUT.
    clear wa_PRITEMTEXT.
    MOVE '00010' TO wa_pritemtext-preq_item.
    move 'B01' TO WA_PRITEMTEXT-TEXT_ID.
    MOVE 'THIS IS JUST FOR TEST' TO WA_PRITEMTEXT-TEXT_LINE.
    APPEND WA_PRITEMTEXT TO GT_PRITEMTEXT.
    clear wa_PRITEMTEXT.
    MOVE '00010' TO wa_pritemtext-preq_item.
    move 'B01' TO WA_PRITEMTEXT-TEXT_ID.
    MOVE 'THIS IS THE SECOND LINE' TO WA_PRITEMTEXT-TEXT_LINE.
    APPEND WA_PRITEMTEXT TO GT_PRITEMTEXT.
    BREAK-POINT.
    CALL FUNCTION 'BAPI_PR_CREATE'
    EXPORTING
       PRHEADER                     = GV_BAPIMEREQHEADER
       PRHEADERX                    = GV_BAPIMEREQHEADERX
    *   TESTRUN                      =
    IMPORTING
       NUMBER                       = GV_NUMBER
       PRHEADEREXP                  = GV_PRHEADEREXP
      TABLES
        RETURN                       = GT_BAPIRET2
        PRITEM                       = GT_BAPIMEREQITEMIMP
        PRITEMX                      = GT_BAPIMEREQITEMX
    *   PRITEMEXP                    =
    *   PRITEMSOURCE                 =
    *   PRACCOUNT                    =
    *   PRACCOUNTPROITSEGMENT        =
    *   PRACCOUNTX                   =
    *   PRADDRDELIVERY               =
        PRITEMTEXT                   = GT_PRITEMTEXT
    *   PRHEADERTEXT                 =
        EXTENSIONIN                  = GT_EXTENSIONIN
    *    EXTENSIONOUT                 = GT_EXTENSIONOUT
    *   PRVERSION                    =
    *   PRVERSIONX                   =
    *   ALLVERSIONS                  =
    *   PRCOMPONENTS                 =
    *   PRCOMPONENTSX                =
    *   SERVICEOUTLINE               =
    *   SERVICEOUTLINEX              =
    *   SERVICELINES                 =
    *   SERVICELINESX                =
    *   SERVICELIMIT                 =
    *   SERVICELIMITX                =
    *   SERVICECONTRACTLIMITS        =
    *   SERVICECONTRACTLIMITSX       =
    *   SERVICEACCOUNT               =
    *   SERVICEACCOUNTX              =
    *   SERVICELONGTEXTS             =
    *   SERIALNUMBER                 =
    *   SERIALNUMBERX                =
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    * EXPORTING
    *   WAIT          =
    * IMPORTING
    *   RETURN        =
    WRITE : 'THE PR CREATED IS : -',GV_NUMBER.

  • Issue while creating a field at header level in CRM 4.0

    Hi,
    Using transaction EEWB, I tried to add a custom field at the header level to an existing Project. The Project already had an extension created to which I made the modifications i.e. added the field at header level. But, when I tried to generate the changes, <b>I got the following two errors : 1. No task for editing objects can be determined and 2. Creating of BAdi Implementation failed</b>.
    Now, when I try to revert back the changes I am not allowed to do so. Please help me as I am new to CRM. Thanks a lot in advance.

    Hi,
    if ur still not able to do that
    goto EEWB
    Enter the Project Name
    Right click on the Enhancement---->Select back to previous version.
    <b>Please Reward Points & Mark Helpful Answers</b>
    To mark Helpful Answers ;click radio Button next to the post.
    RadioButtons
    <b>o</b> Helpful Answer
    <b>o</b> Very helpful Answer
    <b>o</b> Problem Solved.
    Click any of the above button next to the post; as per the anwers
    <b>To close the thread; Click Probelm solved Radio Button next to the post , which u feel is best possible answers</b>

  • Designing a Field Editable Header for Merging with Exsisting PDF doc

    I'm trying to accomplish designing a Field Editable Header so I may merge (import) into an exsisting PDF file to create 1 file.
    I have already designed my header in Live Cyle with editable fields. The only issue is when I save it as a PDF file I can't merge this with an existing PDF file to make just 1 PDF document.
    I also tried importing the header as a stamp but the issue here is the fields no longer stay editable in my header.
    My Business:
    What im trying to accomplish is sending out Submittal Sheets (Information Documents) with a professional looking header. I want to make this a simple process were I can open up a PDF document and place in the header (has to be with editable fields) for several PDF documents.
    Attached is the header I designed and would like to merge with PDF documents to creat 1 file. Please Note; the header has to still stay editable.
    Thanks,
    Anyone that can help would be greatley appreciated, James Alto

    And That would require a PC, because LiveCycle Designer does not exist on a Mac and most likely never, ever will.
    Or would require The cost of Parallels about $80, Windows 7 upwards of $300 depending upon the version, and what ever Live Cycle designer Cost around $100.00
    Or buy a decent PC (not one of the 2-300 dollar jobs that all is good for is using IE) with windows 7 on it. Then get a Copy of Acrobat and Live cycle Designer.

  • Powershell update Field Value without changing version number

    I want to update a value in a field in a list for a lot of list items.
    However, this list has major and minor versioning turned on, and an approval process.
    When I update the field's value for all the required list items, I don't want the approval process to start and I don't want the version number to change.
    How can I do this?
    This is my code so far:
    $siteUrl = "http://portal"
    $listName = "list name"
    $field1_Name = "category"
    $web = Get-SPWeb -Identity $siteUrl
    $list = $web.Lists[$listName]
    $items = $list.Items
    ForEach ($item in $items)
        if ($item[$field1_Name].ToString() -eq "testing") 
     $url = [String]::Format("{0}/{1}",$web.Url, $item.File.URl)
         $file = $web.GetFile($url)
     $file.CheckOut()
     write-host $item.name
           $item[$field1_Name] = "testing again"
           $item.Update()
     $file.CheckIn("updated category name", [Microsoft.Sharepoint.SPCheckinType]::MajorCheckIn))
    $web.Dispose()

    Instead of calling $item.Update() call $item.SystemUpdate($false);  That will update the fields without incrementing he version number of the listitem.  Read about it here:
    http://msdn.microsoft.com/EN-US/library/office/ms481195(v=office.14).aspx
    Paul Stork SharePoint Server MVP
    Principal Architect: Blue Chip Consulting Group
    Blog: http://dontpapanic.com/blog
    Twitter: Follow @pstork
    Please remember to mark your question as "answered" if this solves your problem.

  • Getting the 'Description' of a field from an Access DB

    Hi,
    How can we get rhe contents of the 'Description' of a field in an Access DB?

    For instance,
    DatabaseMetaData dbmd = con.getMetaData();
    ResultSet rs=dbmd.getColumns(null,null,"%","%");
    You should read JDK API about DatabaseMetaData.getColumns to know more about what in that rs object:)

  • Is the instance fields have private accessibility in String class?

    Is the instance fields have private accessibility in an immutable class, such as the String class?
    also Could any one answer the following question,
    (This is the question I got in written exam for job recruitment)
    "Invoking a method can represent a significant amount of overhead in a program; as such, some compilers will perform an optimization called "method inlining." This optimization will remove a method call by copying the code inside the method into the calling method."
    Referring to the text above, which one of these statements is true?
    Choice 1 The performance benefits should be balanced against the increased chance of a RuntimeException.
    Choice 2 It allows the use of getter and setter methods to execute nearly as fast as direct access to member variables.
    Choice 3 This optimization will only occur if the relevant methods are declared volatile.
    Choice 4 The developer of inlined methods must copy and paste the code that is to be inlined into another method.
    Choice 5 It prevents code from executing in a way that follows object-oriented encapsulation.

    Sarwan_Gres wrote:
    Is the instance fields have private accessibility in an immutable class, such as the String class?Usually, but not always.
    "Invoking a method can represent a significant amount of overhead in a program; as such, some compilers will perform an optimization called "method inlining." This optimization will remove a method call by copying the code inside the method into the calling method."The java compiler does not inline methods so this is not relevant to Java. (The JVM does inline methods) The java compiler does inline constants known at compile time but it is a feature causes more trouble than good IMHO.

  • Missed command field on easy access screen

    hai guys, i am just the starter of SAP. while browsing the screen , i dont know what i did and finally i lost my command field in easy access screen. please let me know how to 2 get it back.i think u understood what i mean.the field where we give commands like mmo1etc.,.
    thanks guys

    Hi,
    are you talking about SAP GUI? This forum is about Knowledge Management in the SAP NetWeaver Enterprise Portal: http://help.sap.com/saphelp_nw70/helpdata/en/4c/9d953fc405330ee10000000a114084/frameset.htm
    To make your Transaction code field visible again: you should see some small white arrow as the secon icon. Click on it and the input field will re-appear
    Kind regards
    Karin

  • CFUPDATE problem with field name beginning with a number

    I have a form (actually several) that is gathering data for a survey. I tried to use cfupdate to update the data elements and got a string index out of range error. I tested again without the form fields that began with numbers and it worked just fine. I then tried to enclose the offending field names in () and []. Both times I got same error. Does anyone have a work around for this? The code and error are below.
    Changing the field names is not really an option. This survey has almost 400 data points and most of the fields begin with the question number.
    Thanks
    DW
    <cfupdate datasource="#application.fdp_datasource#" tablename="arra_survey1" dbtype="ODBC" formfields = "entry_no, 2_a_fy09, '2_a_fy10', '2_a_fy11', '2_a_fy12', '2_b_fy09', '2_b_fy10', '2_b_fy11', '2_b_fy12', '2_c_fy09', '2_c_fy10', '2_c_fy11', '2_c_fy12', '2_d_fy09', '2_d_fy10', '2_d_fy11', '2_d_fy12', '2_e_fy09', '2_e_fy10', '2_e_fy11', '2_e_fy12', '2_f_fy09', '2_f_fy10', '2_f_fy11', '2_f_fy12', '2_g_fy09', '2_g_fy10', '2_g_fy11', '2_g_fy12', '2_h_fy09', '2_h_fy10', '2_h_fy11', '2_h_fy12', '2_i_fy09', '2_i_fy10', '2_i_fy11', '2_i_fy12', '2_j_fy09', '2_j_fy10', '2_j_fy11', '2_j_fy12', '2_k_fy09', '2_k_fy10', '2_k_fy11', '2_k_fy12', '2_l_fy09', '2_l_fy10', '2_l_fy11', '2_l_fy12', central_office, dept_office, incl_other, 3_a_fy09, 3_a_fy10, 3_a_fy11, 3_a_fy12, 3_b_fy09, 3_b_fy10, 3_b_fy11, 3_b_fy12, 3_c_fy09, 3_c_fy10, 3_c_fy11, 3_c_fy12, 3_d_fy09, 3_d_fy10 3_d_fy11, 3_d_fy12, 3_e_fy09, 3_e_fy10, 3_e_fy11, 3_e_fy12, 3_f_fy09, 3_f_fy10, 3_f_fy11, 3_f_fy12, 3_g_fy09, 3_g_fy10, 3_g_fy11, 3_g_fy12, 3_h_fy09, 3_h_fy10, 3_h_fy11, 3_h_fy12, 3_i_fy09, 3_i_fy10, 3_i_fy11, 3_i_fy12, 3_j_fy09, 3_j_fy10, 3_j_fy11, 3_j_fy12, 3_k_fy09, 3_k_fy10, 3_k_fy11, 3_k_fy12, 3_l_fy09, 3_l_fy10, 3_l_fy11, 3_l_fy12">
    String index out of range: -2
    The error occurred in C:\Inetpub\wwwroot\directory\process_arra_suvey_2.cfm: line 12
    12 : <cfupdate datasource="#application.fdp_datasource#" tablename="arra_survey1" dbtype="ODBC" formfields = "entry_no, 2_a_fy09, '2_a_fy10', '2_a_fy11', ...

    I think you have run one of CFUPDATE's limitations.  I am not 100% certain, but I do not think cfupdate provides a way to escape invalid column names like yours.  In which case you may need to do a regular UPDATE within a  cfquery instead... or rename your columns.
    fields that began with numbers
    Most databases discourage creating column names that start with a number (or other restricted characters).  While many databases will allow you to escape invalid names, it is simpler all around to avoid them altogether.  Otherwise, you may have to escape the names in every single query. The recommendations vary, but usually object names that begin with a  letter, and contain only letters, numbers and underscores are considered  safe.
    This survey has almost 400 data points and most of the fields begin with the question number.
    Four-hundred (400) is a lot of columns for a single table.  The fact that they all them seem to contain the same type of information (ie response to a question) is an indication that data should probably be stored in a separate table, as rows, not columns.  For example questions could be stored in one table, possible answers in another, and the results of an individual test/survey stored in a third table.  A structure like that is much easier to query, can easily accommodate changes (add/remove questions, responses, etcetera) without having modify the table every time.

Maybe you are looking for