Inspection plan BDC reg

Hello friends,
We have writting one BDC for creating and changing the inspection plan, In this, the plan creation is successfully done.
when we go for change, the system throws the error "task list is invalid create task list".
once we log out the session and login again that uploaded inspection plan is shown with out any error.
we can't address this issue?  Kindly help us to fix this....
regards,
sathes

Hi,
Please clarify that uploaded inspection plan is created one or changed one. To execute the changes for inspection plan the criteria in task list might be inavalid. Hence triggering the error. Please create new task list group in IA05. Thanking you.

Similar Messages

  • Long text problem while uploading Inspection plan through BDC.

    Hi,
    I am facing some problem while uploading the inspection plan. There are few MICs for which we are having long text, while uploading the inspection plan through BDC - some other long text is getting copied into the MIC's long text. After checking I came to know that in function module, read_text - some text which is stored in ABAP memory is getting copied into the inspection plan.
    I am working in SAP release 4.7. I have checked with SAP notes: 97419, but it is also not satisfying.
    Waiting for quick solution.
    Thanks in advance.
    Fahié

    Hi a®s,
    Thanks a lot for your kind reply.
    My requirement is I want to maintain long text for few MICs (which are not having long texts at MIC level) in inspection plan (QP01).
    When I am trying to manually assign the MIC's to inspection plan (QP01), long text is copied whereas I am not clicking the long text icon in (QP01). Long text is not maintained in MIC level, still some long text is copied to this MIC. This was also happening while uploading the inspection plan thro' BDC.
    I believe what you have mentioned about function module SAVE_TEXT cannot be used here since long text is already copied before we pass the long text. Also if we pass some long text, still apart from the long text what we have passed there is some other long text copied (extra long text).
    Waiting for quick solution.
    Thanks in advance.
    Fahié

  • BDC - Creating Inspections Plans using T-Code QP01

    Hi All,
    I want to Create Inspection Plans using QP01 transaction using BDC.
    It having 4 screens. Third and Fourth screens having line item details.
    I did recording. Upto First and second screens data is populating properly, coming to third screen data is not taking even though bdctable having data (in debug mode i found). I don't know hw to resolve this problem.
    Can u please explain hw to populate line-item details, possible give some example coding .
    Regards,
    Prabhakar

    Hi,
      If you are comfortable using function modules then you will not have any difficulty in using the BAPI, only thing we need to take care of the following, refer the following this is not using the bapi for Inspection plan, this is done for different purpose, still you can refer this and use accordingly,
    Data declarations,
    DATA: TOPNODEONLY LIKE BAPICO_GROUP-TOPNODEONLY,
          RETURN LIKE BAPIRET2,
          LT_HIERARCHYNODES LIKE BAPISET_HIER OCCURS 0,
          LT_HIERARCHYVALUES LIKE BAPI1117_VALUES OCCURS 0,
          LS_HIERARCHYNODES LIKE BAPISET_HIER,
          LS_HIERARCHYVALUES LIKE  BAPI1117_VALUES,
          LV_FLAG TYPE I,FLAG.
    DATA: BEGIN OF ORDERS OCCURS 0,
          ORDER_GROUP TYPE GRPDYNP-NAME_COALL,
          DESC(30),
          ORDER TYPE GRPVALUES-VFROM,
          END OF ORDERS.
    START-OF-SELECTION.
      CALL FUNCTION 'WS_UPLOAD'
           EXPORTING
                FILENAME = FILENAME
                FILETYPE = 'DAT'
           TABLES
                DATA_TAB = ORDERS.
      SORT ORDERS BY ORDER_GROUP ORDER.
      LOOP AT  ORDERS.
        IF LV_FLAG NE 1.
          TRANSLATE ORDERS-ORDER_GROUP TO UPPER CASE.
          LS_HIERARCHYNODES-GROUPNAME = ORDERS-ORDER_GROUP.
          LS_HIERARCHYNODES-DESCRIPT = ORDERS-DESC.
          LS_HIERARCHYNODES-HIERLEVEL = 0.
          LS_HIERARCHYNODES-VALCOUNT = 0.
          APPEND LS_HIERARCHYNODES TO LT_HIERARCHYNODES.
          LV_FLAG = 1.
        ENDIF.
        CLEAR LS_HIERARCHYNODES.
        LS_HIERARCHYNODES-GROUPNAME = ORDERS-ORDER.
        LS_HIERARCHYNODES-HIERLEVEL = 1.
        LS_HIERARCHYNODES-VALCOUNT = 0.
        APPEND LS_HIERARCHYNODES TO LT_HIERARCHYNODES.
        AT END OF ORDER_GROUP.
          FLAG = 'X'.
        ENDAT.
        IF FLAG = 'X'.
    BAPI is called to create Internal Order group in the system
          CALL FUNCTION 'BAPI_INTERNALORDRGRP_CREATE'
               TABLES
                    HIERARCHYNODES  = LT_HIERARCHYNODES
                    HIERARCHYVALUES = LT_HIERARCHYVALUES.
          CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
          CLEAR :  LT_HIERARCHYNODES[], LS_HIERARCHYNODES.
          CLEAR : LV_FLAG,FLAG.
        ENDIF.
      ENDLOOP.
    Hope this helps,
    Rgds,

  • Error while uploading Inspection plan

    Dear Friends,
    I am creating inspection plans using BDC. The MIChas 2 versions. When i am using version 1, the inspection plan is created. Whereas when i am using MIC version 2 i am getting error "error occured while checking type group".Kindly let me know how do i resolve this.
    Regards
    Vivek

    Hi,
    Thanks for the reply. when i am trying to create a inspection plan in other plant, we have 4-5 sampling procesures to select from. But for this perticular plant where we are having problem, its showing only one. How do i get more options?How do i extend a sampling procedure to a new plant.
    Vivek
    Edited by: vivek mankad on Feb 23, 2010 7:57 AM

  • Error in LSMW in Uploading Inspection Plan in QP01

    Hi All,
    I am facing problem when executing LSMW, I am Uploading Inspection Plan in QP01 transaction using Direct Input methos. The problem is on 13th step :Error that I get is 'No profile with entry tool for task list / / / in session INSPECTION_OBJ', here INSPECTION_OBJ is the name of the session. I have given the constant value of field profile (BIPKO-PROFIDNETZ) in mapping step and also activated check box 'entry tool' under profile to remove this error. But in  that case i can pass only the header data while processing the session and control does not get into Operation and characteristic screen.
    Can anyone pls help me..
    Thanks in advance...

    You might need to redo the recording all over again, BDC has plentty of scenario for screen selection to go wrong, so can't really tell what cause your problem based on your desc.  I have been stop using BDC to uplaod material since 5 years ago, I always use Direct input in LSMW and it works much better. I recomend you try the Direct input method instead of BDC if still getting problem.

  • QP01 Inspection Plans

    Hi,
    I am trying to upload inspection plan master data in QP01 tcode.
    I was given a program in BDC which does the same. but the problem with this program is that....its not updating inspection characteristics after 13th record. line is not getting incremented. Below is my code .plz help
    page_count is initialized to zero.
    IF WRK-NUMB_LOOP > 1.
            PERFORM F_DYNPRO USING:
                                 ' '     TRQPAS_SEL_FLG  ' '.
         ENDIF.
    (This below part is branced out when 13 records are processed....otherwise it skips this and does the normal process)
         IF WRK-NUMB_LOOP > 13.
             PAGE_COUNT = INCR + ( WRK-NUMB_LOOP * 10 ).              
             INCR = PAGE_COUNT.                                        
            MOVE 2 TO WRK-NUMB_LOOP.
            PERFORM F_DYNPRO USING:
                                 'X'    'SAPLQPAA'    '0150',
                                  ' '    'RQPAS-AB_MKNR' INCR,
                                 'X'    'SAPLQPAA'    '0150'.
         ENDIF.
         TRQPAS_SEL_FLG+14(2) = WRK-NUMB_LOOP.
         TPLMKB_VERWMERKM+16(2) = WRK-NUMB_LOOP.
         TRQPAS_QUANTITAT+16(2) = WRK-NUMB_LOOP.
         TRQPAS_QUALITAT+15(2) = WRK-NUMB_LOOP.
         PERFORM F_DYNPRO USING:
                 ' '     TRQPAS_SEL_FLG  'X',
                 ' '    TPLMKB_VERWMERKM   INTQPMK-MKMNR.
    (few more performs are here)(when branced out for 13 records...its not performing the below dynpro performs..)
    IF PAGE_COUNT > 0.
            SUBTRACT 1 FROM WRK-NUMB_LOOP.            "TLDD
            TRQPAS_SEL_FLG+14(2) = WRK-NUMB_LOOP.
         ENDIF.
         CLEAR PAGE_COUNT.  
    wrk-numb_loop increments after one record is completely processed.
    After getting to 13th line my program is not reading the perform dynpro.....code ...
    any help is appreciated.

    There is no such direct mapping table, cross-table or Function module that describes how the Qualitative/Quantative fields are populated.
    SAP follows certain mapping to populate the values for these fields this can be cheked in SCN for Qualitative and Quantitative control indicators mapping.
    Secondly to update these indicators in Inspection plan load, you can use the STEUERKZ field value from QPMK table.
    This field is concatenation of the 28 control indicators (QMKST structure for Quali/Quantitative fields).
    So while uploading the data for Inspection plan, Inspection chracteristics are updated in system first where STEUERKZ can be updated.
    Vice versa to know what each indicator value signifies in
    the field QPMK-STEUERKZ, we can use the function module QSS0_QMKST_RQMST.
    Regards,
    Nidhi

  • Inspection plan lsmw

    How to load Inspection plan
    If I have 15 operations in my Inspection plan For 1 material & more than 10 MIC for Each Operations
    is it possible by any lsmw or bdc
    please Suggest If anyone done this
    My mail ID is [email protected]
    Regards
    Sanjay

    Hi, i have similar problem.
    i try  to load Inspection plan and i have 3 operations in my Inspection plan For 1 material & 9 MIC for first Operation.
    But my BI is stopped after load first MIC without any error.
    I don't understand where is the prpoblem. may be i missed to insert some value?
    can you help me?
    thenak you.
    Regards
    Mm

  • QP01 - To Create a Inspection Plan

    Hi Associates and Consultants,
    Have any one worked on T-Code QP01 to create a Inspection Plan Using BDC's or BAPI's.
    If so please try to ping me.
    Regards,
    sg

    *& Report  ZQMB_QP01_INSP_PLAN_NEW
    REPORT  ZQMB_QP01_INSP_PLAN_NEW
           NO STANDARD PAGE HEADING LINE-SIZE 255 MESSAGE-ID ZQMB_INSP_PLAN_NEW.
    D A T A   D E C L A R A T I O N                                     *
    TYPES: BEGIN OF TY_TABDATA,
           MATNR TYPE RC27M-MATNR, "Material No
           WERKS TYPE RC27M-WERKS, "Plant
           PLNNR TYPE RC271-PLNNR, "Key for Task List Group
          AENNR TYPE RC271-AENNR, "Change Number
           KTEXT TYPE PLKOD-KTEXT, "Task list description
           VERWE TYPE PLKOD-VERWE, "Task list usage
           STATU TYPE PLKOD-STATU, "Status
           SLWBEZ TYPE PLKOD-SLWBEZ, "Identification for the Inspection Point Field Combination
           QPRZIEHVER TYPE PLKOD-QPRZIEHVER, "Sample-Drawing Procedure
           END OF TY_TABDATA.
    TYPES: BEGIN OF TY_TBCTRL1,
           MATNR TYPE RC27M-MATNR, "Material No
           WERKS TYPE RC27M-WERKS, "Plant
           PLNNR TYPE RC271-PLNNR, "Key for Task List Group
          AENNR TYPE RC271-AENNR, "Change Number
           ARBPL TYPE PLPOD-ARBPL, "Work center
           STEUS TYPE PLPOD-STEUS, "Control key
           LTXA1 TYPE PLPOD-LTXA1, "Operation short text
           END OF TY_TBCTRL1.
    TYPES: BEGIN OF TY_TBCTRL2,
           MATNR TYPE RC27M-MATNR, "Material No
           WERKS TYPE RC27M-WERKS, "Plant
           PLNNR TYPE RC271-PLNNR, "Key for Task List Group
          AENNR TYPE RC271-AENNR, "Change Number
          ARBPL TYPE PLPOD-ARBPL, "Work center
          STEUS TYPE PLPOD-STEUS, "Control key
           VERWMERKM TYPE PLMKB-VERWMERKM, "Master Inspection Characteristics
           PMETHODE TYPE PLMKB-PMETHODE, "Inspection Method
         PMTVERSION TYPE PLMKB-PMTVERSION, "Version Number of the Inspection Method
           STICHPRVER TYPE PLMKB-STICHPRVER, "Sampling Procedure in Inspection Characteristic
          PRUEFEINH(7)," TYPE PLMKB-PRUEFEINH, " Value
          PROBEMGEH(3)," TYPE PLMKB-PROBEMGEH, "Unit
           STELLEN(3), "TYPE PLMKB-STELLEN, "Number of Places to the Right of a Decimal Point (Accuracy)
           MASSEINHSW TYPE RQPAS-MASSEINHSW, "Measurement Unit in Which Quantitative Data Is Maintained
           SOLLWERT TYPE QFLTP-SOLLWERT, "Target Value for a Quantitative Characteristic
           TOLERANZUN TYPE QFLTP-TOLERANZUN, "Lower Specification Limit
           TOLERANZOB TYPE QFLTP-TOLERANZOB, "Upper Specification Limit
           DUMMY10 TYPE PLMKB-DUMMY10,  "Info Field1
           DUMMY20 TYPE PLMKB-DUMMY20,  "Info Field2
           DUMMY40 TYPE PLMKB-DUMMY40,  "Info Field3
           END OF TY_TBCTRL2.
    TYPES: BEGIN OF TY_CHECK,
            MATNR TYPE RC27M-MATNR,   "Material No
            WERKS TYPE RC27M-WERKS,   "Plant
            PLNNR TYPE RC271-PLNNR,   "Key for Task List Group
           AENNR TYPE RC271-AENNR,   "Change Number
           END OF TY_CHECK.
    Declaration of the Internal Table & Work Area.
    DATA:   ITST_TABDATA TYPE SORTED  TABLE OF TY_TABDATA WITH
                        UNIQUE KEY  MATNR WERKS PLNNR, " AENNR,
                                                " Internal table for Non-Table Control Records
            WA_TABDATA TYPE TY_TABDATA,
            ITST_TABCTRL1 TYPE TABLE OF TY_TBCTRL1 ,  " Internal table for the First Screen with Table Control
            WA_TABCTRL1 TYPE TY_TBCTRL1,
            ITST_TABCTRL2 TYPE TABLE OF TY_TBCTRL2, " Internal table for the Second Screen with Table Control
            WA_TABCTRL2 TYPE TY_TBCTRL2,
            ITST_CHECK TYPE TABLE OF TY_CHECK, " Internal table to check if record already exists
            WA_CHECK TYPE TY_CHECK.
    Constants
    CONSTANTS: C_QP01 TYPE CHAR4 VALUE 'QP01', " Transaction Name
               C_A TYPE CHAR1 VALUE 'A',       " Mode
               C_S TYPE CHAR1 VALUE 'S'.       " Status
       Global data Declaration
    DATA: GV_YEAR(4) TYPE C, " Year part for Date
          GV_MNTH(2) TYPE C, " Month part for Date
          GV_DATE(2) TYPE C, " Day part for Date
          GV_DATUM(10) TYPE C, " Concatenated Date in dd.mm.yyyy Format
          GV_ANS TYPE C, " Answer to Continue
          GV_FLAG_NEW(1) TYPE N VALUE 0. " Flag to set if Inspection Plan exists.
    Declaration of the Internal Table with Header Line comprising of the uploaded data.
    DATA:  BEGIN  OF  IT_FILE_UPLOAD  OCCURS  0.
    INCLUDE  STRUCTURE  ALSMEX_TABLINE.  "  Rows for Table with Excel Data
    DATA:  END  OF  IT_FILE_UPLOAD.
    Batch Input Data for a single Transaction.
    Message of Call Transaction.
    DATA:  ITST_BDCDATA  LIKE  BDCDATA     OCCURS  0  WITH  HEADER  LINE,  " BDC Table
           ITST_MSGTAB   LIKE  BDCMSGCOLL  OCCURS  0  WITH  HEADER  LINE.  " BDC Messages
    S E L E C T I O N - S C R E E N                                     *
    SELECTION-SCREEN:  BEGIN  OF  BLOCK  B1  WITH  FRAME TITLE TEXT-001,
                           BEGIN  OF  BLOCK  B2  WITH  FRAME TITLE TEXT-004.
    PARAMETERS: P_FNAME  LIKE  RLGRAP-FILENAME  OBLIGATORY.
    SELECTION-SCREEN:      END  OF  BLOCK  B2,
                       END  OF  BLOCK  B1.
    E V E N T : AT    S E L E C T I O N - S C R E E N                   *
    AT  SELECTION-SCREEN  ON  VALUE-REQUEST  FOR  P_FNAME.
      CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
        EXPORTING
          STATIC    = 'X'
        CHANGING
          FILE_NAME = P_FNAME.
    E V E N T : S T A R T - O F - S E L E C T I O N                     *
    START-OF-SELECTION.
    Upload Excel file into Internal Table.
      PERFORM  UPLOAD_EXCEL_FILE.                      " To Upload the Excel File
      IF  NOT  IT_FILE_UPLOAD  IS  INITIAL.
      Confirm whether you want to proceed with the Upload.
        PERFORM  CONFIRM_UPLOAD.
        IF  GV_ANS  EQ  '1'.
      Organize the uploaded data into another Internal Table.
          PERFORM  ORGANIZE_UPLOADED_DATA.
    Validate if already some Inspection Plan exists for that Material Plant
          IF ITST_TABDATA[] IS NOT INITIAL.
            SELECT MATNR
                   WERKS
                   PLNNR
            FROM MAPL
            INTO TABLE ITST_CHECK
            FOR ALL ENTRIES IN ITST_TABDATA
            WHERE MATNR = ITST_TABDATA-MATNR AND WERKS = ITST_TABDATA-WERKS AND
                                      PLNNR = ITST_TABDATA-PLNNR
                                      AND PLNTY = 'Q' AND LOEKZ <> 'X'.
          ENDIF.
          LOOP AT ITST_CHECK INTO WA_CHECK .
            LOOP AT ITST_TABDATA INTO WA_TABDATA WHERE MATNR = WA_CHECK-MATNR
                                                  AND WERKS = WA_CHECK-WERKS AND PLNNR = WA_CHECK-PLNNR.
                                                 AND AENNR = WA_CHECK-AENNR.
              IF SY-SUBRC = 0.                 " If exists SET FLAG = 1.
               GV_FLAG_NEW = 1.
                DELETE ITST_TABDATA WHERE MATNR = WA_CHECK-MATNR AND WERKS = WA_CHECK-WERKS
                                                                 AND PLNNR = WA_CHECK-PLNNR.
                                                                AND AENNR = WA_CHECK-AENNR.
                DELETE  ITST_TABCTRL1 WHERE MATNR = WA_CHECK-MATNR AND WERKS = WA_CHECK-WERKS
                                                                   AND PLNNR = WA_CHECK-PLNNR.
                                                                  AND AENNR = WA_CHECK-AENNR.
                DELETE  ITST_TABCTRL2 WHERE MATNR = WA_CHECK-MATNR AND WERKS = WA_CHECK-WERKS
                                                                   AND PLNNR = WA_CHECK-PLNNR.
                                                                  AND AENNR = WA_CHECK-AENNR.
              ENDIF.
            ENDLOOP.
          ENDLOOP.
        Kick-start BDC Operation
          PERFORM  F_START_BDC.    " If answer is YES, then start BDC Operations
        ENDIF.
      ELSE.
        LEAVE PROGRAM.           " If answer is NO or CANCEL then leave program
      ENDIF.
    *&      Form  F_START_BDC
          text
    -->  p1        text
    <--  p2        text
    FORM F_START_BDC .
      DATA :  LV_FNAM(20) TYPE C, " Concatenated field name
              LV_IDX1(3) TYPE  N VALUE 1, " Index For Table Control 1
              LV_IDX2(3) TYPE N VALUE 1, " Index For Table Control 2
              LV_GOTO(4) TYPE N ,  " Index for GoTo Line No incase of Page Down
              LV_PG(3) TYPE N VALUE 1, " Index for Page No
              LV_IDX(3) TYPE N VALUE 1.
      IF ITST_TABDATA[] IS INITIAL.
        MESSAGE E000.              " If Inspection Plan exists for all items in file, show error message
      ENDIF.
      LOOP AT ITST_TABDATA INTO WA_TABDATA.
        LV_IDX2 = '1'.
        CLEAR ITST_BDCDATA.
        REFRESH ITST_BDCDATA.
        GV_YEAR = SY-DATUM+0(4).
        GV_MNTH = SY-DATUM+4(2).
        GV_DATE = SY-DATUM+6(2).
        CONCATENATE GV_DATE '.' GV_MNTH '.' GV_YEAR  INTO GV_DATUM.
        PERFORM BDC_DYNPRO      USING 'SAPLCPDI' '8010'.
        PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                      'RC27M-MATNR'.
        PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                      '/00'.
        PERFORM BDC_FIELD       USING 'RC27M-MATNR'
                                      WA_TABDATA-MATNR.         " 'kiz0006c'
        PERFORM BDC_FIELD       USING 'RC27M-WERKS'
                                      WA_TABDATA-WERKS.         " 'B001'
        PERFORM BDC_FIELD       USING 'RC271-PLNNR'
                                      WA_TABDATA-PLNNR.         " 60000000-99999999
        PERFORM BDC_FIELD       USING 'RC271-STTAG'
                                      GV_DATUM.                 " '16.01.2008'
       PERFORM BDC_FIELD       USING 'RC271-AENNR'
                                     WA_TABDATA-AENNR.         " CHANGE NUMBER
       IF GV_FLAG_NEW = 1.        " If Exists then diff screen for clicking NEW ENTRIES tab
         PERFORM BDC_DYNPRO USING 'SAPLCPDI' '1200'.
         PERFORM BDC_FIELD USING  'BDC_CURSOR'
                                   'RC27X-ENTRY_ACT'.
         PERFORM BDC_FIELD USING 'BDC_OKCODE'
                                 '=ANLG'.
         PERFORM BDC_FIELD USING 'RC27X-ENTRY_ACT'
                                 '1'.
         PERFORM BDC_DYNPRO      USING 'SAPLCPDA' '1200'.
         PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                     '/00'.
       ELSE.
        PERFORM BDC_DYNPRO      USING 'SAPLCPDA' '1200'.
        PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                      '/00'.
       ENDIF.
        IF WA_TABDATA-KTEXT <> SPACE.
          PERFORM BDC_FIELD       USING 'PLKOD-KTEXT'
                                        WA_TABDATA-KTEXT.        " 'ZOLMITRIPTAN STAGE C1111'
        ENDIF.
        PERFORM BDC_FIELD       USING 'PLKOD-VERWE'
                                      WA_TABDATA-VERWE.         " '5'
        PERFORM BDC_FIELD       USING 'PLKOD-STATU'
                                      WA_TABDATA-STATU.         " '4'
        PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                      'PLKOD-QPRZIEHVER'.
        PERFORM BDC_FIELD       USING 'PLKOD-SLWBEZ'
                                      WA_TABDATA-SLWBEZ.        " '200'
        PERFORM BDC_FIELD       USING 'PLKOD-QPRZIEHVER'
                                      WA_TABDATA-QPRZIEHVER.    " 'ACTIVE'
       PERFORM BDC_FIELD       USING 'PLKOD-CHRULE'
                                      '1'.                     " With change number
       PERFORM BDC_FIELD       USING 'PLKOD-CCOAA'
                                      '1'.                     " Change Type for all objects
        PERFORM BDC_DYNPRO      USING 'SAPLCPDA' '1200'.
        PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                      '=VOUE'.
        LOOP AT ITST_TABCTRL1 INTO WA_TABCTRL1 WHERE MATNR = WA_TABDATA-MATNR
                                                     AND WERKS = WA_TABDATA-WERKS
                                                     AND PLNNR = WA_TABDATA-PLNNR.
                                                    AND AENNR = WA_CHECK-AENNR.
          ON CHANGE OF WA_TABCTRL1-MATNR OR WA_TABCTRL1-WERKS OR WA_TABCTRL1-PLNNR." OR WA_TABCTRL1-AENNR.
            PERFORM BDC_DYNPRO      USING 'SAPLCPDI' '1400'.
            PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                          'PLPOD-LTXA1(01)'.
            PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                          '/00'.
            CONCATENATE 'PLPOD-ARBPL(' LV_IDX1 ')' INTO LV_FNAM.
            PERFORM BDC_FIELD       USING LV_FNAM
                                          WA_TABCTRL1-ARBPL.    " 'qc01'
            CONCATENATE 'PLPOD-STEUS(' LV_IDX1 ')' INTO LV_FNAM.
            PERFORM BDC_FIELD       USING LV_FNAM
                                          WA_TABCTRL1-STEUS.    " 'qm01'
            CONCATENATE 'PLPOD-LTXA1(' LV_IDX1 ')' INTO LV_FNAM.
            PERFORM BDC_FIELD       USING LV_FNAM
                                          WA_TABCTRL1-LTXA1.       " 'opearation1'
            PERFORM BDC_DYNPRO      USING 'SAPLCPDI' '1400'.
            PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                          'PLPOD-VORNR(01)'.
            PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                          '=QMUE'.
            PERFORM BDC_FIELD       USING 'RC27X-ENTRY_ACT'
                                          '1'.
            PERFORM BDC_FIELD       USING 'RC27X-FLG_SEL(01)'
                                          'X'.
            PERFORM BDC_DYNPRO      USING 'SAPLQPAA' '0150'.
            PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                            'PLMKB-STELLEN(01)'.
            PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                            '/00'.
            LOOP AT ITST_TABCTRL2 INTO WA_TABCTRL2 WHERE MATNR = WA_TABCTRL1-MATNR AND
                                                         WERKS = WA_TABCTRL1-WERKS AND
                                                         PLNNR = WA_TABCTRL1-PLNNR.
                                                     AND   AENNR = WA_TABCTRL1-AENNR.
                                                      AND ARBPL = WA_TABCTRL1-ARBPL AND
                                                        STEUS = WA_TABCTRL1-STEUS.
              LV_GOTO = LV_PG * 140.  " For Page Down on Second Table Control
              IF LV_IDX2 >= 14.
                PERFORM BDC_DYNPRO      USING 'SAPLQPAA' '0150'.
                PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                            'RQPAS-AB_MKNR'.
                PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                              '/00'.
                PERFORM BDC_FIELD       USING 'RQPAS-AB_MKNR'
                                               LV_GOTO .
                LV_IDX2 = 2.
                LV_PG = LV_PG + 1.
                PERFORM BDC_DYNPRO      USING 'SAPLQPAA' '0150'.
                PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                               '/00'.
              ELSE.
                PERFORM BDC_DYNPRO      USING 'SAPLQPAA' '0150'.
                PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                              'PLMKB-STELLEN(01)'.
                PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                              '/00'.
              ENDIF.
              CONCATENATE 'PLMKB-VERWMERKM(' LV_IDX2 ')' INTO LV_FNAM.
              PERFORM BDC_FIELD       USING LV_FNAM
                                            WA_TABCTRL2-VERWMERKM.              " 'MIC00001'/ ' MIC00050'
              IF WA_TABCTRL2-PMETHODE <> SPACE.
                CONCATENATE 'PLMKB-PMETHODE(' LV_IDX2')' INTO LV_FNAM.
                PERFORM BDC_FIELD       USING LV_FNAM
                                              WA_TABCTRL2-PMETHODE.               " 'met00001'
             CONCATENATE 'PLMKB-PMTVERSION(' LV_IDX2 ')' INTO LV_FNAM.
             PERFORM BDC_FIELD       USING LV_FNAM
                                           WA_TABCTRL2-PMTVERSION.              " '1'
                CONCATENATE 'PLMKB-STICHPRVER(' LV_IDX2 ')' INTO LV_FNAM.
                PERFORM BDC_FIELD       USING LV_FNAM
                                              WA_TABCTRL2-STICHPRVER." 'APIFX1'
              CONCATENATE 'PLMKB-PRUEFEINH(' LV_IDX2 ')' INTO LV_FNAM.
              PERFORM BDC_FIELD       USING LV_FNAM
                                            WA_TABCTRL2-PRUEFEINH.               " '20'
              CONCATENATE 'PLMKB-PROBEMGEH(' LV_IDX2 ')' INTO LV_FNAM.
              PERFORM BDC_FIELD       USING LV_FNAM
                                            WA_TABCTRL2-PROBEMGEH.               " 'G'
              IF WA_TABCTRL2-STELLEN <> SPACE.
                CONCATENATE 'PLMKB-STELLEN(' LV_IDX2 ')' INTO LV_FNAM.
                PERFORM BDC_FIELD       USING LV_FNAM
                                              WA_TABCTRL2-STELLEN." '2'
              ENDIF.
              IF WA_TABCTRL2-MASSEINHSW <> SPACE.
                CONCATENATE 'RQPAS-MASSEINHSW(' LV_IDX2 ')' INTO LV_FNAM.
                PERFORM BDC_FIELD       USING LV_FNAM
                                              WA_TABCTRL2-MASSEINHSW.             " '%'
              ENDIF.
              IF WA_TABCTRL2-SOLLWERT <> SPACE.
                CONCATENATE 'QFLTP-SOLLWERT(' LV_IDX2 ')' INTO LV_FNAM.
                PERFORM BDC_FIELD       USING LV_FNAM
                                              WA_TABCTRL2-SOLLWERT." '10'
              ENDIF.
              IF WA_TABCTRL2-TOLERANZUN <> SPACE.
                CONCATENATE 'QFLTP-TOLERANZUN(' LV_IDX2 ')' INTO LV_FNAM.
                PERFORM BDC_FIELD       USING LV_FNAM
                                              WA_TABCTRL2-TOLERANZUN." '5'
              ENDIF.
              IF WA_TABCTRL2-TOLERANZOB <> SPACE.
                CONCATENATE 'QFLTP-TOLERANZOB(' LV_IDX2 ')' INTO LV_FNAM.
                PERFORM BDC_FIELD       USING LV_FNAM
                                              WA_TABCTRL2-TOLERANZOB." '15'
              ENDIF.
              IF WA_TABCTRL2-DUMMY10 <> SPACE.
                CONCATENATE 'PLMKB-DUMMY10(' LV_IDX2 ')' INTO LV_FNAM.
                PERFORM BDC_FIELD       USING LV_FNAM
                                              WA_TABCTRL2-DUMMY10." Info Field 1
              ENDIF.
              IF WA_TABCTRL2-DUMMY20 <> SPACE.
                CONCATENATE 'PLMKB-DUMMY20(' LV_IDX2 ')' INTO LV_FNAM.
                PERFORM BDC_FIELD       USING LV_FNAM
                                              WA_TABCTRL2-DUMMY20." Info Field 2
              ENDIF.
              IF WA_TABCTRL2-DUMMY40 <> SPACE.
                CONCATENATE 'PLMKB-DUMMY40(' LV_IDX2 ')' INTO LV_FNAM.
                PERFORM BDC_FIELD       USING LV_FNAM
                                              WA_TABCTRL2-DUMMY40." Info Field 3
              ENDIF.
                PERFORM BDC_DYNPRO      USING 'SAPLQPAA' '1501'.
                PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                              '=ENT1'.
                PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                              'PLMKB-VERWMERKM'.
                PERFORM BDC_DYNPRO      USING 'SAPLQPAA' '1502'.
                PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                              '=ENT1'.
                PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                              'PLMKB-PMETHODE'.
                PERFORM BDC_DYNPRO      USING 'SAPLQPAA' '1502'.
                PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                              '=ENT1'.
                PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                              'PLMKB-PMETHODE'.
                PERFORM BDC_DYNPRO      USING 'SAPLQPAA' '0150'.
                CONCATENATE 'PLMKB-MERKNR('LV_IDX2')' INTO LV_FNAM.
                PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                              LV_FNAM.
                PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                              '=QMAM'.
                PERFORM BDC_FIELD       USING 'RQPAS-ENTRY_ACT'
                                              '1'.
                IF LV_IDX2 = 1.          " If only one entry then select it
                  CONCATENATE 'RQPAS-SEL_FLG('LV_IDX2')' INTO LV_FNAM.
                  PERFORM BDC_FIELD       USING LV_FNAM
                                        'X'.
                ELSE.
                  LV_IDX = LV_IDX2 - 1. " Deselect previous entry and select current one
                  CONCATENATE 'RQPAS-SEL_FLG('LV_IDX')' INTO LV_FNAM.
                  PERFORM BDC_FIELD       USING LV_FNAM
                  CONCATENATE 'RQPAS-SEL_FLG('LV_IDX2')' INTO LV_FNAM.
                  PERFORM BDC_FIELD       USING LV_FNAM
                                           'X'.
                ENDIF.
                PERFORM BDC_DYNPRO      USING 'SAPLQPAA' '0160'.
                PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                           '=QMBW'.
               PERFORM BDC_FIELD       USING 'PLMKB-KURZTEXT'
                                          'Description'.
                PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                       'PLMKB-QERGDATH'.
                PERFORM BDC_FIELD       USING 'PLMKB-QERGDATH'
                                          '01'.  " Quality Certificate
              ELSE.
             CONCATENATE 'PLMKB-PMTVERSION(' LV_IDX2 ')' INTO LV_FNAM.
             PERFORM BDC_FIELD       USING LV_FNAM
                                           WA_TABCTRL2-PMTVERSION.               " '1'
                CONCATENATE 'PLMKB-STICHPRVER(' LV_IDX2 ')' INTO LV_FNAM.
                PERFORM BDC_FIELD       USING LV_FNAM
                                              WA_TABCTRL2-STICHPRVER." 'APIFX1'
              CONCATENATE 'PLMKB-PRUEFEINH(' LV_IDX2 ')' INTO LV_FNAM.
              PERFORM BDC_FIELD       USING LV_FNAM
                                            WA_TABCTRL2-PRUEFEINH.                " '20'
              CONCATENATE 'PLMKB-PROBEMGEH(' LV_IDX2 ')' INTO LV_FNAM.
              PERFORM BDC_FIELD       USING LV_FNAM
                                            WA_TABCTRL2-PROBEMGEH.                " 'G'
                IF WA_TABCTRL2-STELLEN <> SPACE.
                CONCATENATE 'PLMKB-STELLEN(' LV_IDX2 ')' INTO LV_FNAM.
                PERFORM BDC_FIELD       USING LV_FNAM
                                              WA_TABCTRL2-STELLEN." '2'
                ENDIF.
                IF WA_TABCTRL2-MASSEINHSW <> SPACE.
                CONCATENATE 'RQPAS-MASSEINHSW(' LV_IDX2 ')' INTO LV_FNAM.
                PERFORM BDC_FIELD       USING LV_FNAM
                                              WA_TABCTRL2-MASSEINHSW.                " '%'
                ENDIF.
                IF WA_TABCTRL2-SOLLWERT <> SPACE.
                CONCATENATE 'QFLTP-SOLLWERT(' LV_IDX2 ')' INTO LV_FNAM.
                PERFORM BDC_FIELD       USING LV_FNAM
                                              WA_TABCTRL2-SOLLWERT." '10'
                ENDIF.
                IF WA_TABCTRL2-TOLERANZUN <> SPACE.
                CONCATENATE 'QFLTP-TOLERANZUN(' LV_IDX2 ')' INTO LV_FNAM.
                PERFORM BDC_FIELD       USING LV_FNAM
                                              WA_TABCTRL2-TOLERANZUN." '5'
                ENDIF.
                IF WA_TABCTRL2-TOLERANZOB <> SPACE.
                CONCATENATE 'QFLTP-TOLERANZOB(' LV_IDX2 ')' INTO LV_FNAM.
                PERFORM BDC_FIELD       USING LV_FNAM
                                              WA_TABCTRL2-TOLERANZOB." '15'
                ENDIF.
                IF WA_TABCTRL2-DUMMY10 <> SPACE.
                CONCATENATE 'PLMKB-DUMMY10(' LV_IDX2 ')' INTO LV_FNAM.
                PERFORM BDC_FIELD       USING LV_FNAM
                                              WA_TABCTRL2-DUMMY10." Info Field 1
                ENDIF.
                IF WA_TABCTRL2-DUMMY20 <> SPACE.
                CONCATENATE 'PLMKB-DUMMY20(' LV_IDX2 ')' INTO LV_FNAM.
                PERFORM BDC_FIELD       USING LV_FNAM
                                              WA_TABCTRL2-DUMMY20." Info Field 2
                ENDIF.
                IF WA_TABCTRL2-DUMMY40 <> SPACE.
                CONCATENATE 'PLMKB-DUMMY40(' LV_IDX2 ')' INTO LV_FNAM.
                PERFORM BDC_FIELD       USING LV_FNAM
                                              WA_TABCTRL2-DUMMY40." Info Field 3
                ENDIF.
                PERFORM BDC_DYNPRO      USING 'SAPLQPAA' '1501'.
                PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                             '=ENT1'.
                PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                              'PLMKB-QMTB_WERKS'.
                PERFORM BDC_FIELD       USING 'PLMKB-VERWMERKM'
                                               WA_TABCTRL2-VERWMERKM.
                PERFORM BDC_FIELD       USING 'PLMKB-QPMK_WERKS'
                                               WA_TABCTRL2-WERKS.
                PERFORM BDC_FIELD       USING 'PLMKB-QMTB_WERKS'
                PERFORM BDC_DYNPRO      USING 'SAPLQPAA' '0150'.
                CONCATENATE 'PLMKB-MERKNR('LV_IDX2')' INTO LV_FNAM.
                PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                              LV_FNAM.
                PERFORM BDC_FIELD      USING 'BDC_OKCODE'
                                             '=QMAM'.
                 PERFORM BDC_FIELD      USING 'RQPAS-ENTRY_ACT'
                                             '1'.
                  IF LV_IDX2 = 1. " If first entry select it
                  CONCATENATE 'RQPAS-SEL_FLG('LV_IDX2')' INTO LV_FNAM.
                  PERFORM BDC_FIELD       USING LV_FNAM
                                        'X'.
                  ELSE.
                  LV_IDX = LV_IDX2 - 1. " Deselect Previous entry ans select current one
                  CONCATENATE 'RQPAS-SEL_FLG('LV_IDX')' INTO LV_FNAM.
                  PERFORM BDC_FIELD       USING LV_FNAM
                 CONCATENATE 'RQPAS-SEL_FLG('LV_IDX2')' INTO LV_FNAM.
                  PERFORM BDC_FIELD       USING LV_FNAM
                                           'X'.
                 ENDIF.
                PERFORM BDC_DYNPRO      USING 'SAPLQPAA' '0160'.
                PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                           '=QMBW'.
               PERFORM BDC_FIELD       USING 'PLMKB-KURZTEXT'
                                          'Description'.
                PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                       'PLMKB-QERGDATH'.
                PERFORM BDC_FIELD       USING 'PLMKB-QERGDATH'
                                          '01'. " Quality Certificate
              ENDIF.
              LV_IDX2 = LV_IDX2 + 1.
            ENDLOOP.
          ENDON.
        ENDLOOP.
        PERFORM BDC_DYNPRO      USING 'SAPLQPAA' '0150'.
        PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                      'RQPAS-ENTRY_ACT'.
        PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                      '=QMBU'.
        PERFORM BDC_FIELD       USING 'RQPAS-ENTRY_ACT'
                                      '1'.
        CALL TRANSACTION  C_QP01 USING ITST_BDCDATA
                    MODE  C_A UPDATE C_S
                    MESSAGES INTO ITST_MSGTAB.               "#EC CI_CALLTA
      ENDLOOP.
    ENDFORM.                    " F_START_BDC
    *&      Form  UPLOAD_EXCEL_FILE
          text
    -->  p1        text
    <--  p2        text
    FORM UPLOAD_EXCEL_FILE .
      CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
        EXPORTING
          FILENAME    = P_FNAME
          I_BEGIN_COL = 1
          I_BEGIN_ROW = 2
          I_END_COL   = 24
          I_END_ROW   = 9999
        TABLES
          INTERN      = IT_FILE_UPLOAD.
    ENDFORM.                    " UPLOAD_EXCEL_FILE
    *&      Form  CONFIRM_UPLOAD
          text
    -->  p1        text
    <--  p2        text
    FORM CONFIRM_UPLOAD .
      CALL FUNCTION 'POPUP_TO_CONFIRM'
        EXPORTING
          TITLEBAR       = TEXT-002
          TEXT_QUESTION  = TEXT-003
        IMPORTING
          ANSWER         = GV_ANS
        EXCEPTIONS
          TEXT_NOT_FOUND = 1
          OTHERS         = 2.
    ENDFORM.                    " CONFIRM_UPLOAD
    *&      Form  BDC_DYNPRO
          text
         -->P_0589   text
         -->P_0590   text
    FORM BDC_DYNPRO  USING    PROGRAM
                              DYNPRO.
      CLEAR:  ITST_BDCDATA.
      ITST_BDCDATA-PROGRAM   =  PROGRAM.
      ITST_BDCDATA-DYNPRO    =  DYNPRO.
      ITST_BDCDATA-DYNBEGIN  =  'X'.
      APPEND  ITST_BDCDATA.
    ENDFORM.                    " BDC_DYNPRO
    *&      Form  BDC_FIELD
          text
         -->P_0729   text
         -->P_0730   text
    FORM BDC_FIELD  USING    FNAM
                             FVAL.
      CLEAR:  ITST_BDCDATA.
      ITST_BDCDATA-FNAM  =  FNAM.
      ITST_BDCDATA-FVAL  =  FVAL.
      APPEND  ITST_BDCDATA.
    ENDFORM.                    " BDC_FIELD
    *&      Form  ORGANIZE_UPLOADED_DATA
          text
    -->  p1        text
    <--  p2        text
    FORM ORGANIZE_UPLOADED_DATA .
      DATA : LV_TOTROW TYPE I, " Total Records
             LV_ROW TYPE I.    " Row No
      LV_TOTROW = 1.
      SORT  IT_FILE_UPLOAD  BY  ROW
                                COL.
      LOOP AT IT_FILE_UPLOAD.
        LV_TOTROW = IT_FILE_UPLOAD-ROW.        " To find total rows
      ENDLOOP.
      LV_ROW = 1.
      WHILE LV_ROW <= LV_TOTROW.
        LOOP  AT  IT_FILE_UPLOAD WHERE ROW = LV_ROW.
          CASE  IT_FILE_UPLOAD-COL.
            WHEN '0001'.                                                       " Material
              TRANSLATE IT_FILE_UPLOAD-VALUE TO UPPER CASE.
              WA_TABDATA-MATNR = IT_FILE_UPLOAD-VALUE.
              WA_TABCTRL1-MATNR = IT_FILE_UPLOAD-VALUE.
              WA_TABCTRL2-MATNR = IT_FILE_UPLOAD-VALUE.
            WHEN '0002'.                                                       " Plant
              TRANSLATE IT_FILE_UPLOAD-VALUE TO UPPER CASE.
              WA_TABDATA-WERKS = IT_FILE_UPLOAD-VALUE.
              WA_TABCTRL1-WERKS = IT_FILE_UPLOAD-VALUE.
              WA_TABCTRL2-WERKS = IT_FILE_UPLOAD-VALUE.
            WHEN '0003'.                                                       " Group Key
              WA_TABDATA-PLNNR = IT_FILE_UPLOAD-VALUE.
              WA_TABCTRL1-PLNNR = IT_FILE_UPLOAD-VALUE.
              WA_TABCTRL2-PLNNR = IT_FILE_UPLOAD-VALUE.
           WHEN '0004'.                                                       " Change Number
             WA_TABDATA-AENNR = IT_FILE_UPLOAD-VALUE.
             WA_TABCTRL1-AENNR = IT_FILE_UPLOAD-VALUE.
             WA_TABCTRL2-AENNR = IT_FILE_UPLOAD-VALUE.
            WHEN '0004'.                                                      " Group Counter Desc
              WA_TABDATA-KTEXT = IT_FILE_UPLOAD-VALUE.
            WHEN '0005'.                                                      " Usage
              WA_TABDATA-VERWE = IT_FILE_UPLOAD-VALUE.
            WHEN '0006'.                                                      " Status
              WA_TABDATA-STATU = IT_FILE_UPLOAD-VALUE.
            WHEN '0007'.                                                      " Inspection Point
              WA_TABDATA-SLWBEZ = IT_FILE_UPLOAD-VALUE.
            WHEN '0008'.                                                      " Sample Drawing Procedure
              WA_TABDATA-QPRZIEHVER = IT_FILE_UPLOAD-VALUE.
            WHEN '0009'.                                                      " Work Centre
              WA_TABCTRL1-ARBPL = IT_FILE_UPLOAD-VALUE.
             WA_TABCTRL2-ARBPL = IT_FILE_UPLOAD-VALUE.
            WHEN '0010'.                                                      " Control Key
              WA_TABCTRL1-STEUS = IT_FILE_UPLOAD-VALUE.
             WA_TABCTRL2-STEUS = IT_FILE_UPLOAD-VALUE.
            WHEN '0011'.                                                      " Desc
              WA_TABCTRL1-LTXA1 = IT_FILE_UPLOAD-VALUE.
            WHEN '0012'.                                                      " MIC
              WA_TABCTRL2-VERWMERKM = IT_FILE_UPLOAD-VALUE.
            WHEN '0013'.                                                      " Method
              WA_TABCTRL2-PMETHODE = IT_FILE_UPLOAD-VALUE.
           WHEN '0014'.
             WA_TABCTRL2-PMTVERSION = IT_FILE_UPLOAD-VALUE.
            WHEN '0014'.                                                      " Sampling
              WA_TABCTRL2-STICHPRVER = IT_FILE_UPLOAD-VALUE.
            WHEN '0015'.
              WA_TABCTRL2-PRUEFEINH = IT_FILE_UPLOAD-VALUE.
            WHEN '0016'.
              WA_TABCTRL2-PROBEMGEH = IT_FILE_UPLOAD-VALUE.
            WHEN '0017'.                                                      " Accuracy
              WA_TABCTRL2-STELLEN = IT_FILE_UPLOAD-VALUE.
            WHEN '0018'.                                                      " Unit
              WA_TABCTRL2-MASSEINHSW = IT_FILE_UPLOAD-VALUE.
            WHEN '0019'.                                                      " Target Value
              WA_TABCTRL2-SOLLWERT = IT_FILE_UPLOAD-VALUE.
            WHEN '0020'.                                                      " Lower Limit
              WA_TABCTRL2-TOLERANZUN = IT_FILE_UPLOAD-VALUE.
            WHEN '0021'.                                                      " Upper Limit
              WA_TABCTRL2-TOLERANZOB = IT_FILE_UPLOAD-VALUE.
            WHEN '0022'.                                                      " Info Field1
              WA_TABCTRL2-DUMMY10 = IT_FILE_UPLOAD-VALUE.
            WHEN '0023'.                                                      " Info Field2
              WA_TABCTRL2-DUMMY20 = IT_FILE_UPLOAD-VALUE.
            WHEN '0024'.                                                      " Info Field3
              WA_TABCTRL2-DUMMY40 = IT_FILE_UPLOAD-VALUE.
          ENDCASE.
        ENDLOOP.
        LV_ROW = LV_ROW + 1.
        INSERT WA_TABDATA INTO TABLE  ITST_TABDATA .
        APPEND WA_TABCTRL1 TO ITST_TABCTRL1.
        APPEND WA_TABCTRL2 TO ITST_TABCTRL2.
        CLEAR :WA_TABDATA,WA_TABCTRL1,WA_TABCTRL2.
      ENDWHILE.
    ENDFORM.                    " ORGANIZE_UPLOADED_DATA
    E N D - O F - S E L E C T I O N                                               *
    END-OF-SELECTION.
    Free all internal tables
      FREE: ITST_TABDATA,
            ITST_TABCTRL1,
            ITST_TABCTRL2.

  • Best Way to upload Inspection plan

    Dear all,
         Which is best way to upload inspection plan.
    Thanx & Regards,
    Harish Parab.

    Hi Harish,
    The Best Method is BDC as posted by others in the thread.
    Please also go through the below thread for approach for Master Data Migration as discussed earlier.
    [Link|Extension of Quality/Inspection Plan;
    Thanks,
    RKM.

  • Common inspection plan

    Dears
    I have requirment as below
    I need to have a common inspection plan in the system
    So i dont want to create any inpection plan against material
    when ever inspection lot was created is it possible to assign a common inspection plan
    the thing is that i dont want to create more master data in the system
    If it is possible please tell me how we can achive this
    Thanks in advance
    Faisal

    Hi Faisal,
    Instead of creating inspection plan for every material.
    You can create one inspection plan and assign the same plan to all materials.
    This can be done  in the Material Assignment in QP02 transaction.
    You can keep on adding materials day by day to this for the same group and group conuter.
    If you want to create in mass, hope you can create a BDC
    Refer the below link
    http://help.sap.com/saphelp_46c/helpdata/en/8d/4103aff89511d283de0000e829fdb3/content.htm
    Thanks and Regards
    Hari
    Edited by: Harikris_83 on Aug 18, 2011 5:56 PM

  • CEWB:Inspection Plan upload

    Hi! Experts,
    We are having a requirement wherein we need to upload mass number of Inspection Plans.
    Currently, we are thinking of using LSMW.
    Can anybody also explore on the possibilities of using Engineering Workbench tool.
    (i)Steps involved in CEWB--- (T-code wise)
    (ii)Feasibility as compared to LSMW/BDC.
    Thanks in advance,
    Rishi

    Hi,
    Find information on CEWB here:
    http://help.sap.com/saphelp_erp2005/helpdata/en/73/517c3545413671e10000009b38f889/frameset.htm
    Regards
    R.Brahmankar

  • Mass assigning of inspection plans

    Hey everybody
    Im new to SAP and Im handling quality module. I have around 1 lac material to whom inspection plan has to be assigned. Can anybody help me (except BDC) out how can i assign them in mass so that it takes lesser time.

    There is no easy mass load for inspection plan assignments.
    You can use the engineering change management workbench which does allow fast manual entry, (I usually set up an excel spreadsheet and then copy and paste into CWBQM or QP02 depending on the client and how inspection plans are to be assigned. 
    In CWBQM I can do about 24 assignments every 10 seconds for about 144 a minute or about 8500/hour.  With pauses or breaks about 6000 an hour is reasonable to expect.
    In QP02 I can do about 14 per 20 seconds.  That's about 42 a minute or roughly 2500 an hour.  But you have to do them plan by plan so that can slow it down, especially if you only have a few materials per plan.  Realistically about 1800 - 2000 an hour with pauses and breaks.
    So with QP02, about 15,000 a day is realistic.  With CWBQM about 50,000 a day could be done.  Buit if you have 100,000 entries to make and you have to do 2-3 mock loads in different test systems plus the final go-live load, you are probably much better off having a program to do this.  If it is  primarily a one or two time thing, you could hire a temp, do it yourself or train a handful of team membes to do it.  Using CWBQM and asking 7 other team members to do about 2hrs of loading would get your 100,000 done in 2-3  hours.
    FF

  • Error while creating Inspection plan

    Hi,
    While creating inspection plan in QP01, system is showing error  "Material type ZROH is not defined for task list type Q''
    Please help me to solve the error.
    Thanks
    Prasant

    Hi,
    This is due to the configuration error,
    Just use T.Code OP50
    Create an entry for task list type "Q" with material type "ZROH" and save,
    Then try creating a Quality Inspection Plan, it will work
    Regards
    Merwyn

  • Sale Order / Project specific Inspection Plan

    Dear All,
    I want to create Sale order or Project specific inspection plan for a material. This is because, my  customers want some specific inspection requirements for individual materials, which are assigned to Sale order or project. I want to inspect the material after receipt for these specific account assignments. I do not want to assign the customer because, my single customer may give different sale orders with different inspection requirements.
    But in inspection plan, i can not see the assignment of sale order / project as i can see in Rate Routing.
    Can anybody tell me about this?
    Regards,
    Prashant Kolhatkar

    Create a Material ONE as Configurable Material. Assign 300 Class Type Class with Charcateristics created through CT04 Transaction which in turn linked to MICs.
    Create another Material TWO with same Class but not configurable but is a Variant of Material ONE (MRP 3 View)
    Maintain Configuration Profiles for both Materials.
    In Material TWO, for insp. type details click on Insp. by Config indicator.
    Whenever a Sales Order is created, maintain the requirements from the Customer in Characteristics and save the Sales Order. Against this Sales Order whenever a GR is made for respective Production Order inspection lot is created against the specifications given by Customer and not that maintained in inspection plan.
    Best Regards,
    K. Raghavendra Nayak

  • How to block deletion of Inspection Plan

    Dear Experts
    Accicendatally, our users are deleting the Inspection Plan,
    Is there any authorisation object to make Restriction on this,Transaction is QP02.
    Regards
    Sandeep patil

    Hi Sandeep,
    As you said User's are deleting inspection plans. They must be putting it for deletions by clicking on deletion flags.
    If you want to restrict this then you have to get help of security team. They will find role for this transaction -
    > then they will find out the objects matanined in this role -
    > this will display all the activities in that object -
    > then they can cancel deletion activity from object list.
    Then when User will access QP02 then this checkbox will appear grey. Then they will not be able to delete inspection plan.
    Hope this resolves your issue, reward points if helpful.
    Regards,
    Avinash.

Maybe you are looking for