QP01 - To Create Inspection Plant

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

Hi friend,
check the code
REPORT ZQMB_QP01_INSP_PLAN
NO STANDARD PAGE HEADING LINE-SIZE 255 MESSAGE-ID ZQMB_INSP_PLAN.
Description: Upload Program for Create Inspection Plan *
ABAP Name : ZQMB_QP01_INSP_PLAN *
Autor : Vanessa Noronha *
Type : BDC Program for QP01 Transaction. *
Module : QM *
Date : 17 January 2008 *
Transport : D01K948244 -- TR-BDC for QP01 *
Changes (internal Version: Documentation/Info on line level) *
Date Name internal Transp.No. Description *
-Version- *
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
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
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
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,
PROBEMGEH(3)," TYPE PLMKB-PROBEMGEH,
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
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
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,
" 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 'E', " 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.
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.
DELETE ITST_TABCTRL1 WHERE MATNR = WA_CHECK-MATNR AND WERKS = WA_CHECK-WERKS
AND PLNNR = WA_CHECK-PLNNR.
DELETE ITST_TABCTRL2 WHERE MATNR = WA_CHECK-MATNR AND WERKS = WA_CHECK-WERKS
AND PLNNR = WA_CHECK-PLNNR.
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
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'
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_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.
ON CHANGE OF WA_TABCTRL1-MATNR OR WA_TABCTRL1-WERKS OR WA_TABCTRL1-PLNNR.
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 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'
CONCATENATE 'PLMKB-STELLEN(' LV_IDX2 ')' INTO LV_FNAM.
PERFORM BDC_FIELD USING LV_FNAM
WA_TABCTRL2-STELLEN. " '2'
CONCATENATE 'RQPAS-MASSEINHSW(' LV_IDX2 ')' INTO LV_FNAM.
PERFORM BDC_FIELD USING LV_FNAM
WA_TABCTRL2-MASSEINHSW. " '%'
CONCATENATE 'QFLTP-SOLLWERT(' LV_IDX2 ')' INTO LV_FNAM.
PERFORM BDC_FIELD USING LV_FNAM
WA_TABCTRL2-SOLLWERT. " '10'
CONCATENATE 'QFLTP-TOLERANZUN(' LV_IDX2 ')' INTO LV_FNAM.
PERFORM BDC_FIELD USING LV_FNAM
WA_TABCTRL2-TOLERANZUN. " '5'
CONCATENATE 'QFLTP-TOLERANZOB(' LV_IDX2 ')' INTO LV_FNAM.
PERFORM BDC_FIELD USING LV_FNAM
WA_TABCTRL2-TOLERANZOB. " '15'
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'.
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'
CONCATENATE 'PLMKB-STELLEN(' LV_IDX2 ')' INTO LV_FNAM.
PERFORM BDC_FIELD USING LV_FNAM
WA_TABCTRL2-STELLEN. " '2'
CONCATENATE 'RQPAS-MASSEINHSW(' LV_IDX2 ')' INTO LV_FNAM.
PERFORM BDC_FIELD USING LV_FNAM
WA_TABCTRL2-MASSEINHSW. " '%'
CONCATENATE 'QFLTP-SOLLWERT(' LV_IDX2 ')' INTO LV_FNAM.
PERFORM BDC_FIELD USING LV_FNAM
WA_TABCTRL2-SOLLWERT. " '10'
CONCATENATE 'QFLTP-TOLERANZUN(' LV_IDX2 ')' INTO LV_FNAM.
PERFORM BDC_FIELD USING LV_FNAM
WA_TABCTRL2-TOLERANZUN. " '5'
CONCATENATE 'QFLTP-TOLERANZOB(' LV_IDX2 ')' INTO LV_FNAM.
PERFORM BDC_FIELD USING LV_FNAM
WA_TABCTRL2-TOLERANZOB. " '15'
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'
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 = 19
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'. " 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 '0016'.
WA_TABCTRL2-PRUEFEINH = IT_FILE_UPLOAD-VALUE.
WHEN '0017'.
WA_TABCTRL2-PROBEMGEH = IT_FILE_UPLOAD-VALUE.
WHEN '0015'. " Accuracy
WA_TABCTRL2-STELLEN = IT_FILE_UPLOAD-VALUE.
WHEN '0016'. " Unit
WA_TABCTRL2-MASSEINHSW = IT_FILE_UPLOAD-VALUE.
WHEN '0017'. " Target Value
WA_TABCTRL2-SOLLWERT = IT_FILE_UPLOAD-VALUE.
WHEN '0018'. " Lower Limit
WA_TABCTRL2-TOLERANZUN = IT_FILE_UPLOAD-VALUE.
WHEN '0019'. " Upper Limit
WA_TABCTRL2-TOLERANZOB = 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.
Regards,
Raj.

Similar Messages

  • Create Inspection plan at once for many materials through QP01. Possible?

    Dear Friends,
    Is it possible to create Inspection Plant for more than one material at onece through QP01 when operation activity and Characteristics are same. I will change the Characteristics specifications afterwards.

    As suggested in earlier reply you can assign multiple materials to one inspection plan.
    But you may still need more than one plan because of
    1. UOM is maintained in Inspection plan header. So you have to create different inspection plan if you receive materials in different Unit of measures.
    2. Usage is also at header level, so depending on configuration, usage for 01 inspection type may be different from usage for 0101 inspection type.
    If you like the user exit approach.
    1. Create a dummy material and assign default inspection plan to this material.
    2. In the user exit change the inspection plan assignment.  Assign inspection plan from this dummy material.
    Form us this was a very useful approach during testing or for new material where inspection plan was not created in time.
    Once this default inspection plan is assigned, inspection lot is released even without inspection plan. If we need,  we can always change the default inspection plan in QA02 transaction before RR
    AK Marwadi.

  • 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.

  • 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,

  • QP01 Create inspection plan BAPI

    Dear experts,
    I am trying to create Inspection plan, by using BAPI_INSPECTIONPLAN_CREATE, but it is not working always giving some error. I can create with same data manually in QP01.
    Can anyone please help.

    closed thread as no answer recvd

  • 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

  • Errors while creating Inspection plan using BAPI_INSPECTIONPLAN_CREATE

    Hi All,
    I am writing an upload tool for inspection plans. In this program I use bapi: BAPI_INSPECTIONPLAN_CREATE.
    I made an extraction of a excisting inspection plan with SXDA_TOOLS which uses the same bapi and filled the bapi structures with the similar data. Now I am getting strange messeges in the return structure as below.
    1. Material is not maintained for plant NNNN. But the material is mainained for that plant.
    2. Consistency check not successful when creating operation
    3. Inspection characteristic cannot be uniquely assigned to one operation
    Let me know your suggestions
    Thanks,
    Sabu

    Hi All,
    Have any one used this BAPI, BAPI_INSPECTIONPLAN_CREATE to create Inspection Plan ?
    Can you help me on above errors?
    Thanks in advance,
    Sabu

  • How to Create inspection that assign to Purchase Order / Material Document

    Dear QM Master,
    I am using QA01 to create inspection lot but can any master tell me , How to Create inspection that assign to Purchase Order / Material Document ?
    Appreciate.
    Thank you.

    Hello,
    When you create an inspection lot manually, you cannot reference an original document (for example, a goods receipt document, an order, or a delivery note).
    In QA01 you can create inspection lot manually for all inspection lot origins except the following:
    10 - Delivery to customer with sales order
    11 - Delivery to customer without sales order
    12 - General delivery
    13 - Repetitive manufacturing
    14 - Plant maintenance
    You can also refer this link
    http://help.sap.com/saphelp_47x200/helpdata/en/2d/3519d8448c11d189420000e829fbbd/frameset.htm
    Please check and revert.
    Regards,
    Priyanka

  • Creat inspection setup entries in quality View using BAPI_MATERIAL_SAVEDAT

    Dear all,
    I am using BAPI_MATERIAL_SAVEDATA to extend Material from one plant to another.
    I am able to extend Quality view to another plant
    But unable to create inspection setup entries for the extended view.
    Please help.
    Regards,
    Gaurav sood

    Issue Resolved

  • How to create inspection plan in mass for material

    Dear Guru,
                    How to create inpection plan for material in MASS, usually we will create inspection plan in QP01 but in mass for more than one material how to maintaain? Please help
    Regards
    Karthik.

    Hi raja
    refer following lonks
    QM- LSMW FOR INSPECTION PLAN
    Re: CEWB:Inspection Plan upload
    bapi for qm inspection plan
    Regards
    Sujit

  • Create Inspection plan ( BAPI_INSPECTIONPLAN_CREATE )

    Hi,
    I am trying to create Inspection plan using BAPI -> BAPI_INSPECTIONPLAN_CREATE
    On executing i am getting following messages:
    E BAPI 001
    A CPCL 006 Task list Q 1 1 already exists
    A CPCC_DT 210 For further processing, the routing entry is missing
    Also same scenario i have tested in QP01 with same details that i have mentioned above. There it is working properly.
    Thanks
    Smruti Ranjan

    Hi All,
    Have any one used this BAPI, BAPI_INSPECTIONPLAN_CREATE to create Inspection Plan ?
    Can you help me on above errors?
    Thanks in advance,
    Sabu

  • Short dump while creating a plant.

    Dear experts,
    Iam getting a short dump whenever I try to create a plant and save it. Iam posting the contents of the dump ... Iam using Ecc 6.0 with Oracle as database. Kindly help me to resolve this ...
    Runtime Errors         RAISE_EXCEPTION
    Date and Time          27.10.2007 17:10:59
    Short text
    Exception condition "DATA_INCONS_IN_EXIT_MANAGEM" raised.
    What happened?
    The current ABAP/4 program encountered an unexpected
    situation.
    What can you do?
    Note down which actions and inputs caused the error.
    To process the problem further, contact you SAP system
    administrator.
    Using Transaction ST22 for ABAP Dump Analysis, you can look
    at and manage termination messages, and you can also
    keep them for a long time.
    Error analysis
    A RAISE statement in the program "CL_EXITHANDLER================CP" raised the
    exception
    condition "DATA_INCONS_IN_EXIT_MANAGEM".
    Since the exception was not intercepted by a superior
    program, processing was terminated.
    Short description of exception condition:
    For detailed documentation of the exception condition, use
    Transaction SE37 (Function Library). You can take the called
    function module from the display of active calls.
    How to correct the error
    If the error occures in a non-modified SAP program, you may be able to
    find an interim solution in an SAP Note.
    If you have access to SAP Notes, carry out a search with the following
    keywords:
    "RAISE_EXCEPTION" " "
    "CL_EXITHANDLER================CP" or "CL_EXITHANDLER================CM001"
    "GET_INSTANCE"
    or
    "CL_EXITHANDLER================CP" "DATA_INCONS_IN_EXIT_MANAGEM"
    or
    "SAPLS_IMG_TOOL_5 " "DATA_INCONS_IN_EXIT_MANAGEM"
    If you cannot solve the problem yourself and want to send an error
    notification to SAP, include the following information:
    1. The description of the current problem (short dump)
    To save the description, choose "System->List->Save->Local File
    (Unconverted)".
    2. Corresponding system log
    Display the system log by calling transaction SM21.
    Restrict the time interval to 10 minutes before and five minutes
    after the short dump. Then choose "System->List->Save->Local File
    (Unconverted)".
    3. If the problem occurs in a problem of your own or a modified SAP
    program: The source code of the program
    In the editor, choose "Utilities->More
    Utilities->Upload/Download->Download".
    4. Details about the conditions under which the error occurred or which
    actions and input led to the error.
    System environment
    SAP-Release 700
    Application server... "BSLERP"
    Network address...... "10.60.0.30"
    Operating system..... "Windows NT"
    Release.............. "5.2"
    Hardware type........ "4x Intel 801586"
    Character length.... 16 Bits
    Pointer length....... 32 Bits
    Work process number.. 0
    Shortdump setting.... "full"
    Database server... "BSLERP"
    Database type..... "ORACLE"
    Database name..... "BTS"
    Database user ID.. "SAPSR3"
    Char.set.... "C"
    SAP kernel....... 700
    created (date)... "Apr 2 2006 23:08:16"
    create on........ "NT 5.0 2195 Service Pack 4 x86 MS VC++ 13.10"
    Database version. "OCI_10103_SHARE "
    Patch level. 52
    Patch text.. " "
    Database............. "ORACLE 9.2.0.., ORACLE 10.1.0.., ORACLE 10.2.0.."
    SAP database version. 700
    Operating system..... "Windows NT 5.0, Windows NT 5.1, Windows NT 5.2"
    Memory consumption
    Roll.... 8176
    EM...... 17768808
    Heap.... 0
    Page.... 65536
    MM Used. 12293456
    MM Free. 1291704
    User and Transaction
    Client.............. 800
    User................ "MURTHYTSN"
    Language key........ "E"
    Transaction......... "SPRO "
    Program............. "CL_EXITHANDLER================CP"
    Screen.............. "SAPLSZA1 0201"
    Screen line......... 70
    Information on where terminated
    Termination occurred in the ABAP program "CL_EXITHANDLER================CP" -
    in "GET_INSTANCE".
    The main program was "SAPLS_IMG_TOOL_5 ".
    In the source code you have the termination point in line 36
    of the (Include) program "CL_EXITHANDLER================CM001".
    Source Code Extract
    Line
    SourceCde
    6
    type_ref TYPE REF TO cl_abap_typedescr,
    7
    class_name TYPE seoclsname,
    8
    abs_type_classname TYPE string,
    9
    def_impl TYPE seex_boolean VALUE seex_false,
    10
    mig_enhspotname TYPE enhspotname,
    11
    is_impl TYPE enhboolean,
    12
    mig_badi_name TYPE enhbadiid.
    13
    14
    CALL METHOD cl_exithandler=>get_class_name_by_interface
    15
    EXPORTING
    16
    instance                      = instance
    17
    IMPORTING
    18
    class_name                    = class_name
    19
    CHANGING
    20
    exit_name                     = exit_name
    21
    EXCEPTIONS
    22
    no_reference                  = 1
    23
    no_interface_reference        = 2
    24
    no_exit_interface             = 3
    25
    data_incons_in_exit_managem   = 4
    26
    class_not_implement_interface = 5
    27
    OTHERS                        = 6.
    28
    CASE sy-subrc.
    29
    WHEN 1.
    30
    RAISE no_reference.
    31
    WHEN 2.
    32
    RAISE no_interface_reference.
    33
    WHEN 3.
    34
    RAISE no_exit_interface.
    35
    WHEN 4.
    >>>>>
    RAISE data_incons_in_exit_managem.
    37
    WHEN 5.
    38
    RAISE class_not_implement_interface.
    39
    ENDCASE.
    40
    41
    CONCATENATE '\CLASS=' class_name INTO abs_type_classname.
    42
    43
    Is the given instance initial?
    44
    IF NOT instance IS INITIAL.
    45
    CALL METHOD cl_abap_typedescr=>describe_by_object_ref
    46
    EXPORTING
    47
    p_object_ref = instance
    48
    RECEIVING
    49
    p_descr_ref  = type_ref.
    50
    CHECK type_ref->absolute_name NE abs_type_classname.
    51
    ENDIF.
    52
    53
    SELECT SINGLE mig_enhspotname mig_badi_name FROM sxs_attr INTO (mig_enhspotname,mig_badi_n
    54
    WHERE exit_name = exit_name.
    55
    Contents of system fields
    Name
    Val.
    SY-SUBRC
    4
    SY-INDEX
    1
    SY-TABIX
    0
    SY-DBCNT
    0
    SY-FDPOS
    0
    SY-LSIND
    0
    SY-PAGNO
    0
    SY-LINNO
    1
    SY-COLNO
    1
    SY-PFKEY
    ADDR0200
    SY-UCOMM
    CHCK
    SY-TITLE
    Edit address:  5002
    SY-MSGTY
    SY-MSGID
    SY-MSGNO
    000
    SY-MSGV1
    SY-MSGV2
    SY-MSGV3
    SY-MSGV4
    SY-MODNO
    0
    SY-DATUM
    20071024
    SY-UZEIT
    171059
    SY-XPROG
    SAPCNVE
    SY-XFORM
    CONVERSION_EXIT
    Active Calls/Events
    No.   Ty.          Program                             Include                             Line
    Name
    43 METHOD       CL_EXITHANDLER================CP    CL_EXITHANDLER================CM001    36
    CL_EXITHANDLER=>GET_INSTANCE
    42 FUNCTION     SAPLXSZAR                           ZXSZARU01                              25
    EXIT_SAPLSZAR_001
    41 FUNCTION     SAPLSZAR                            LSZARU01                              108
    ADDR_REGIONAL_DATA_CHECK
    40 FORM         SAPLSZA2                            LSZA2F20                              382
    CHECK_ADDR1_DATA
    39 FUNCTION     SAPLSZA2                            LSZA2U02                               42
    ADDR_CHECK
    38 FUNCTION     SAPLSZA0                            LSZA0U01                               79
    ADDR_INSERT
    37 FORM         SAPLSZA1                            LSZA1F22                             1886
    INSERT_ADDRESS_INTO_MEMORY
    36 FORM         SAPLSZA1                            LSZA1F22                             2234
    PUT_ADDRESS_TO_MEMORY
    35 FORM         SAPLSZA1                            LSZA1I02                              409
    D0100_OK_CODE
    34 FORM         SAPLSZA1                            LSZA1F03                               17
    D0100_OK_CODE_WRAPPER
    33 MODULE (PAI) SAPLSZA1                            LSZA1I02                               13
    D0100_OK_CODE
    32 FUNCTION     SAPLSZA1                            LSZA1U01                              200
    ADDR_DIALOG_INTERN
    31 FUNCTION     SAPLSZA1                            LSZA1U05                              177
    ADDR_DIALOG
    30 FORM         SAPL0ORG                            LSVIMF24                              292
    ADDRESS_MAINTAIN
    29 FORM         SAPL0ORG                            LSVIMFX2                              577
    DETAIL_PAI
    28 MODULE (PAI) SAPL0ORG                            LSVIMIXX                              354
    DETAIL_PAI
    27 FORM         SAPL0ORG                            LSVIMF2L                              337
    CALL_DYNPRO
    26 FUNCTION     SAPL0ORG                            L0ORGU34                               35
    VIEWPROC_V_T001W
    25 FUNCTION     SAPL0ORG                            L0ORGU33                               49
    VIEWFRAME_V_T001W
    24 FUNCTION     SAPLSVIM                            LSVIMU01                              138
    VIEW_MAINTENANCE
    23 FUNCTION     SAPLSVIM                            LSVIMU03                              427
    VIEW_MAINTENANCE_CALL
    22 FORM         SAPLS_CUS_ACTIVITY                  LS_CUS_ACTIVITYF01                    358
    START_SELECTED_TRANSACTION
    21 MODULE (PAI) SAPLDSYH                            LDSYHI12                               56
    D1200_PAI_MODULE
    20 FUNCTION     SAPLDSYH                            LDSYHU11                               70
    OUTLINE_LIST_TCODES
    19 FUNCTION     SAPLS_CUS_ACTIVITY                  LS_CUS_ACTIVITYU07                    103
    S_CUS_ACTIVITY_EXECUTE
    18 FUNCTION     SAPLS_CUS_IMG_ACTIVITY              LS_CUS_IMG_ACTIVITYU04                 35
    S_CUS_IMG_ACTIVITY_EXECUTE
    17 FUNCTION     SAPLS_IMG_TOOL_1                    LS_IMG_TOOL_1U02                       63
    STREE_EXIT_TO_OBJECT_COBJ
    16 FUNCTION     SAPLSHI1                            LSHI1U16                              120
    STREE_EXIT_TO_OBJECT
    15 FORM         SAPLSHI01                           LSHI01F0Y                             185
    EXIT_TO_OBJECT_HC
    14 FORM         SAPLSHI01                           LSHI01F05                              70
    HANDLE_LINK_CLICK
    13 METHOD       SAPLSHI01                           LSHI01CI1                              25
    LCL_APPLICATION=>HANDLE_LINK_CLICK
    12 METHOD       CL_ITEM_TREE_CONTROL==========CP    CL_ITEM_TREE_CONTROL==========CM013    53
    CL_ITEM_TREE_CONTROL=>HANDLE_NODE_KEY_ITEM_NAME_EVT
    11 METHOD       CL_ITEM_TREE_CONTROL==========CP    CL_ITEM_TREE_CONTROL==========CM00S    60
    CL_ITEM_TREE_CONTROL=>HANDLE_EVENT
    10 METHOD       CL_GUI_COLUMN_TREE============CP    CL_GUI_COLUMN_TREE============CM01O    15
    CL_GUI_COLUMN_TREE=>HANDLE_EVENT
    9 METHOD       CL_TREE_CONTROL_BASE==========CP    CL_TREE_CONTROL_BASE==========CM017    32
    CL_TREE_CONTROL_BASE=>DISPATCH
    8 METHOD       CL_GUI_CFW====================CP    CL_GUI_CFW====================CM001   138
    CL_GUI_CFW=>DISPATCH
    7 FORM         SAPLSHI01                           LSHI01F1M                              17
    EXECUTE_USER_COMMAND_W_EXITS
    6 FUNCTION     SAPLSHI01                           LSHI01U12                              30
    STREE_BROWSER_PAI
    5 MODULE (PAI) SAPLSHI01                           LSHI01I01                              55
    PAI_200
    4 FUNCTION     SAPLSHI01                           LSHI01U07                             165
    STREE_BROWSER_DYNP_HC
    3 FUNCTION     SAPLSHI21                           LSHI21U03                             144
    STREE_EXTERNAL_DISPLAY
    2 FORM         SAPLS_IMG_TOOL_5                    LS_IMG_TOOL_5F01                       20
    DISPLAY_REFERENCE_IMG
    1 MODULE (PAI) SAPLS_IMG_TOOL_5                    LS_IMG_TOOL_5I01                       39
    USER_COMMAND_0100
    Chosen variables
    Name
    Val.
    No.      43 Ty.          METHOD
    Name  CL_EXITHANDLER=>GET_INSTANCE
    EXIT_NAME
    22222222222222222222
    00000000000000000000
    00000000000000000000
    00000000000000000000
    NULL_INSTANCE_ACCEPTED
    2
    0
    0
    0
    ACT_IMP_EXISTING
    2
    0
    0
    0
    INSTANCE
    F0000000
    F0000000
    SY-REPID
    CL_EXITHANDLER================CP
    4454545444444533333333333333334522222222
    3CF589481E4C52DDDDDDDDDDDDDDDD3000000000
    0000000000000000000000000000000000000000
    0000000000000000000000000000000000000000
    %_SPACE
    2
    0
    0
    0
    CL_DRAGDROP=>COPY
    1
    0000
    1000
    CL_WB_REQUEST=>TO_IMMEDIATE_START
    SY-SUBRC
    4
    0000
    4000
    CL_DRAGDROP=>USEDEFAULTEFFECT
    4
    0000
    4000
    SYST-REPID
    CL_EXITHANDLER================CP
    4454545444444533333333333333334522222222
    3CF589481E4C52DDDDDDDDDDDDDDDD3000000000
    0000000000000000000000000000000000000000
    0000000000000000000000000000000000000000
    CL_GUI_CONTROL=>LIFETIME_DEFAULT
    0
    0000
    0000
    %_ARCHIVE
    2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    ABS_TYPE_CLASSNAME
    No.      42 Ty.          FUNCTION
    Name  EXIT_SAPLSZAR_001
    IV_NATION
    2
    0
    0
    0
    X_ACCEPT_ERROR
    2
    0
    0
    0
    X_ADRC_STRUC
    2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    X_DIALOG_ALLOWED
    X
    5
    8
    0
    0
    Y_ADRC_STRUC
    2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    Y_RETCODE
    2
    0
    0
    0
    ERROR_TABLE[]
    Table IT_2299[0x572]
    \FUNCTION-POOL=SZA1\FORM=INSERT_ADDRESS_INTO_MEMORY\DATA=ERROR_TABLE[]
    Table reference: 208
    TABH+  0(20) = 00000000F8EB2E3D00000000D0000000FB080000
    TABH+ 20(20) = 000000003C020000FFFFFFFF04A90100303E0000
    TABH+ 40( 8) = 10000000C1248001
    store        = 0x00000000
    ext1         = 0xF8EB2E3D
    shmId        = 0     (0x00000000)
    id           = 208   (0xD0000000)
    label        = 2299  (0xFB080000)
    fill         = 0     (0x00000000)
    leng         = 572   (0x3C020000)
    loop         = -1    (0xFFFFFFFF)
    xtyp         = TYPE#000317
    occu         = 16    (0x10000000)
    access       = 1     (ItAccessStandard)
    idxKind      = 0     (ItIndexNone)
    uniKind      = 2     (ItUniqueNon)
    keyKind      = 1     (default)
    cmpMode      = 2     (cmpSingleMcmpR)
    occu0        = 1
    groupCntl    = 0
    rfc          = 0
    unShareable  = 0
    mightBeShared = 0
    sharedWithShmTab = 0
    isShmLockId  = 0
    gcKind       = 0
    isUsed       = 1
    isCtfyAble   = 1
    >>>>> Shareable Table Header Data <<<<<
    tabi         = Not allocated
    pghook       = Not allocated
    idxPtr       = Not allocated
    shmTabhSet   = Not allocated
    id           = Not allocated
    refCount     = Not allocated
    tstRefCount  = Not allocated
    lineAdmin    = Not allocated
    lineAlloc    = Not allocated
    shmVersId    = Not allocated
    shmRefCount  = Not allocated
    shmIsReadOnly = Not allocated
    >>>>> 1st level extension part <<<<<
    regHook      = 0x00000000
    collHook     = 0x00000000
    ext2         = 0xD09AD03C
    >>>>> 2nd level extension part <<<<<
    tabhBack     = 0x30F18E3D
    delta_head   = 000000000000000000000000000000000000000000000000000000000000000000000000
    pb_func      = 0x00000000
    pb_handle    = 0x00000000
    SY-XPROG
    SAPCNVE
    5454454222222222222222222222222222222222
    3103E65000000000000000000000000000000000
    0000000000000000000000000000000000000000
    0000000000000000000000000000000000000000
    SY-XFORM
    CONVERSION_EXIT
    444545544454545222222222222222
    3FE65239FEF5894000000000000000
    000000000000000000000000000000
    000000000000000000000000000000
    %_VIASELSCR
    0
    4
    %_SPACE
    2
    0
    0
    0
    SY-REPID
    SAPLXSZAR
    5454555452222222222222222222222222222222
    310C83A120000000000000000000000000000000
    0000000000000000000000000000000000000000
    0000000000000000000000000000000000000000
    LR_EXIT
    F0000000
    F0000000
    %_DUMMY$$
    2222
    0000
    0000
    0000
    Y_ERROR_TABLE
    Table[initial]
    No.      41 Ty.          FUNCTION
    Name  ADDR_REGIONAL_DATA_CHECK
    IV_NATION
    2
    0
    0
    0
    X_ACCEPT_ERROR
    2
    0
    0
    0
    X_ADRC_STRUC
    2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    X_DIALOG_ALLOWED
    X
    5
    8
    0
    0
    X_T005
    800IN IND064            ININD000   00 15500  4111  0000 00 436      664000INDIEN 000 1
    3334424443332222222222224444433322233233333223333223333233233322222233333344444423332322222222
    8009E09E40640000000000009E9E40000000001550000411100000000004360000006640009E495E00000100000000
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    Y_ADRC_REGIO
    2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    Y_ADRC_STRUC
    2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    Y_RETCODE
    2
    0
    0
    0
    ERROR_TABLE[]
    Table IT_2299[0x572]
    SY-XPROG
    SAPCNVE
    5454454222222222222222222222222222222222
    3103E65000000000000000000000000000000000
    0000000000000000000000000000000000000000
    0000000000000000000000000000000000000000
    LV_MAND
    C
    422
    300
    000
    000
    SY-REPID
    SAPLSZAR
    5454554522222222222222222222222222222222
    310C3A1200000000000000000000000000000000
    0000000000000000000000000000000000000000
    0000000000000000000000000000000000000000
    %_SPACE
    2
    0
    0
    0
    %_CX_GRID_ID
    1
    0000
    1000
    SYST-REPID
    SAPLSZAR
    5454554522222222222222222222222222222222
    310C3A1200000000000000000000000000000000
    0000000000000000000000000000000000000000
    0000000000000000000000000000000000000000
    SV_THERE_IS_CUST_EXIT
    X
    5
    8
    0
    0
    T005S
    22222222222222
    00000000000000
    00000000000000
    00000000000000
    T005
    00                  000   00 00 00   00   0000 00             000       000
    2222222223322222222222222222233322233233233222332223333233222222222222233322222223332222222222
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    CO_ERROR
    E
    4
    5
    0
    0
    No.      40 Ty.          FORM
    Name  CHECK_ADDR1_DATA
    SY-MSGV3
    22222222222222222222222222222222222222222222222222
    00000000000000000000000000000000000000000000000000
    00000000000000000000000000000000000000000000000000
    00000000000000000000000000000000000000000000000000
    SY-MSGV4
    22222222222222222222222222222222222222222222222222
    00000000000000000000000000000000000000000000000000
    00000000000000000000000000000000000000000000000000
    00000000000000000000000000000000000000000000000000
    FIELDNAME
    222222222222222222222222222222
    000000000000000000000000000000
    000000000000000000000000000000
    000000000000000000000000000000
    C_NULL
    0
    0000
    0000
    RETURNCODE_ERRORS
    2
    0
    0
    0
    C_ERROR_OCCURRED
    E
    4
    5
    0
    0
    H_ADRC_STRUC+0(1800)
    2020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    ADDR1_DATA+460(1800)
    2020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    H_ADRC_STRUC
    2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    C_COMM_TTX
    TTX
    555
    448
    000
    000
    NATION
    2
    0
    0
    0
    G_ACCEPT_ERROR
    2
    0
    0
    0
    G_DIALOG_ALLOWED
    X
    5
    8
    0
    0
    T005
    800IN IND064            ININD000   00 15500  4111  0000 00 436      664000INDIEN 000 1
    3334424443332222222222224444433322233233333223333223333233233322222233333344444423332322222222
    8009E09E40640000000000009E9E40000000001550000411100000000004360000006640009E495E00000100000000
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    TSAD6T
    222222222222222222222222222222222222222222222222
    000000000000000000000000000000000000000000000000
    000000000000000000000000000000000000000000000000
    000000000000000000000000000000000000000000000000
    ERROR_TABLE[]
    Table IT_2299[0x572]
    %_SPACE
    2
    0
    0
    0
    No.      39 Ty.          FUNCTION
    Name  ADDR_CHECK
    ADDRESS_HANDLE
    8005002
    3333333222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
    8005002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    ADDRESS_NUMBER
    2222222222
    0000000000
    0000000000
    0000000000
    ADDRESS_OBJECT_TYPE
    1
    3
    1
    0
    0
    NATION
    2
    0
    0
    0
    RETURNCODE
    2
    0
    0
    0
    ERROR_TABLE[]
    Table IT_2299[0x572]
    ADDRESS_DATA_1
    00000000000000000003XYZ SOLUTIONS LIMITED
    3333333333333333333355525445544452444454422222222222222222222222222222222222222222222222222222
    0000000000000000000389A03FC549FE30C9D945400000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    ADDRESS_DATA_2
    0000000000000000
    3333333333333333222222222222222222222222222222222222222222222222222222222222222222222222222222
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    ADDRESS_DATA_3
    0000000000000000
    3333333333333333222222222222222222222222222222222222222222222222222222222222222222222222222222
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    LV_ADRC_STRUC+0(1800)
    2020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    ADDRESS_DATA_1+460(1800)
    2020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    C_DEFAULT_HANDLE
    2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    SYST-REPID
    SAPLSZA2
    5454554322222222222222222222222222222222
    310C3A1200000000000000000000000000000000
    0000000000000000000000000000000000000000
    0000000000000000000000000000000000000000
    ERROR_TABLE
    000
    2222222222222222222223332222222222222222222222222222222222222222222222222222222222222222222222
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    LV_ADRC_STRUC
    2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    C_DEFAULT_NATION
    2
    0
    0
    0
    C_SHOW_ALL
    2
    0
    0
    0
    C_PERSONAL_ADDRESS
    2
    3
    2
    0
    0
    SY-REPID
    SAPLSZA2
    5454554322222222222222222222222222222222
    310C3A1200000000000000000000000000000000
    0000000000000000000000000000000000000000
    0000000000000000000000000000000000000000
    ADDRESS_DATA_2+32(1800)
    2020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    No.      38 Ty.          FUNCTION
    Name  ADDR_INSERT

    Dear Sunil,
    Thanks a lot for your reply. I did search in service market place for notes regarding this problem. However, i could not find possible solutions to resolve this. I will once again search the notes in case if i have missed something. in case, if you come across any solutions to resolve this problem, Kindly post that here and that would be a great help for me.
    Regards,
    Chaitanya

  • Problem to creating Inspection Lot

    Hi,
    I am creating inspection lot using fm as mention below, with inspection type '89'.
    call function 'QPL1_INSPECTION_LOT_CREATE'
    exporting
    qals_imp = l_qals
    rmqed_imp = l_rmqed
    importing
    e_prueflos = l_prueflos
    e_qals = l_qals
    subrc = l_subrc.
    if sy-subrc = 0.
    Update memory stack for actual posting...
    call function 'QPL1_UPDATE_MEMORY'
    exporting
    i_qals = l_qals
    i_updkz = 'I'.
    Post lot to DataBase...
    call function 'QPL1_INSPECTION_LOTS_POSTING'.
    call function 'BAPI_TRANSACTION_COMMIT'
    exporting
    wait = 'X'
    IMPORTING
    RETURN =
    I am getting message, Inspection lot created successfully. But unable to view the Inspectionlot in QALS table. or Is there is any other process to create Inspection lot.
    Will you help to solve this problem.
    Thanks & Regards,
    Srini

    Hi,
    Check this .
    wa_rmqed-dbs_flag = 'X'.
    wa_rmqed-dbs_edunk = 'X'.
    wa_rmqed-dbs_fdunk = 'X'.
    wa_rmqed-dbs_noerr = 'X'.
    wa_rmqed-dbs_nowrn = 'X'.
    wa_rmqed-dbs_nochg = 'X'.
    wa_rmqed-dbs_steuer = '01'.
    WA_QALS-MANDANT = SY-MANDT.
    wa_qals-WERK = 'XXXX'.
    WA_QALS-HERKUNFT = '89'.
    WA_QALS-MATNR = '000000000000111111'.
    WA_QALS-LOSMENGE = '1'.
    WA_QALS-PASTRTERM = SY-DATUM.
    WA_QALS-CHARG = 'Test123456'.
    WA_QALS-PLNNR = 'FORMULA1'.
    WA_QALS-PLNAL = '1'.
    WA_QALS-PPLVERW = '3'.
    WA_QALS-STAT01 = 'X'.
    WA_QALS-STAT20 = 'X'.
    WA_QALS-PLNTY = 'Q'.
    WA_QALS-PLNNR = 'FORMULA1'.
    WA_QALS-PLNAL = '1'.
    WA_QALS-CHARG = 'AB78654'.
    CALL FUNCTION 'QPL1_INSPECTION_LOT_CREATE'
    EXPORTING
      qals_imp              = wa_qals
      rmqed_imp             = wa_rmqed
    IMPORTING
      E_KZSKIPLOT           =
       e_prueflos            = gv_prueflos
      E_QALS                =
       subrc                 = gv_subrc.
      E_SKIP_TO_STOCK       =
    IF gv_subrc = 0.
      COMMIT WORK.
    ENDIF.
    WRITE 'ABCD'.
    Ashutosh

  • FM to create inspection lot same as in QA01

    Hi Experts,
    I need a function module to create inspection lot as in QA01.  Can you please help?
    Thanks,
    Vitz

    Hi vitish I will refer you to this wiki ..  created by Arpit shah
    http://wiki.sdn.sap.com/wiki/display/Snippets/FMforAutomaticInspectionLot+Creation
    According to the wiki
    the FM you are looking for is
    QPL1_INSPECTION_LOT_CREATE
    Also a BAPI for the same
    CO_QM_INSPECTION_LOT_CREATE.
    Also a forum entry for the same
    Inspection Lot creation Problem using FM QPL1_INSPECTION_LOT_CREATE
    Br
    Manthan.

  • How to create inspection lot manually without using QA01 Transaction code?

    Hi,
    Please anybody give procedure for creating Inspection Lot Manually without using Transaction Code QA01

    Hello, Srinivas,
    If you want another T code only then you can try QA01A.
    or you can create a Physical Sample with QPR1 and then click on the button there to create inspection lot. To create inspection lot for that Physical sample (you will able to see that button only after releasing the sample) Or you can use QPR5.
    But let me know the reason why you want T code other than QA01.
    Regards,
    Shyamal

Maybe you are looking for

  • Converting a document so I can edit it

    I scanned a document and I am trying to export it into open office but I am only getting numeric fonts and not the document that I want to edit

  • Version of AFSTATSB.pls

    Hi, EBS 115102 DB 10203 Please advice how to find the version of AFSTATSB.pls . Thanks

  • Reduce the screen format in Mobile Data Entry

    Hi, How can I reduce the screen format for my mobile data entry. I just have in standard 16X20 and 8X40 Can I create or choice another format? we need a smaller one because we can't read all the data on the scanner Thanks Dede

  • Audio gap using extreme and HD

    I have the Airport Extreme and a My Book HD hooked to it. When I access a tune from the HD and press ctrl-I to get info so I can preview the track there are split second gaps in the song. Its like there is a delay in sending the track over or somethi

  • PROFIBUS configurat​ion en COMSOFT

    Buenas, Estoy trabajando con un modulo ProfiBUS DP y no consigo configurarlo como Master en el tool Configurator III. He seguido los pasos de configuración de la VISA en MAX, Creo mi esquema en el Comsoft Configurator, definienddo mi cRIO PB como mas