Inspection Plan versions
Hi,
Can we have Versions in Inspection Plan just like we have in MIC and Inspection Methods.?
Appreciate your response
Thanks
SM
Hi
Insapection plans doesnt have versions, but you can have counters
youcan have wiht differnet MICs and operations in multiple counters.
If a Material Capsule having plane group 2001 counter 01, the same group 2001 canhave counter 02.
-ashok
Similar Messages
-
Inspection lot creation based on "right" inspection plan version
I manage inspection plan ( inspection lot origin 01 ) with Change number; in this way I have differents inspection plan version based on date.
When I do a Good Entry based on purchase order , I need that system creates inspection lot version based on the purchase order creation date and not , as now, based on good entry date
Is it possible ?
When I create the purchase order I send to vendor also the inspection plan characteristich that have to be maintened ; for this reason I need to find same characterist during good entry inspection
Regards
SillyYou need to use one of the enhancements that Do-Wook has suggested. There is no standard SAP way to suppress the inspection based on the vendor batch number.
With the first enhancement you use the system to check for a previously received vendor batch and if one is found, then that batch number is proposed and not the next one from the numbering series. In this case, the lot isn't created than due to the inspection lot control of the inspection type.
With the second enhancement you check the vendor batch number and if it's been received you suppress the inspection lot creation and the stock goes right to unrestricted.
You'll probably need to do one or the other. Myself, I prefer the first enhancement.
Craig -
Error while uploading Inspection plan
Dear Friends,
I am creating inspection plans using BDC. The MIChas 2 versions. When i am using version 1, the inspection plan is created. Whereas when i am using MIC version 2 i am getting error "error occured while checking type group".Kindly let me know how do i resolve this.
Regards
VivekHi,
Thanks for the reply. when i am trying to create a inspection plan in other plant, we have 4-5 sampling procesures to select from. But for this perticular plant where we are having problem, its showing only one. How do i get more options?How do i extend a sampling procedure to a new plant.
Vivek
Edited by: vivek mankad on Feb 23, 2010 7:57 AM -
Hello everyone,
I have a problem, I change a control indicators of characteristic in the inspection plan, but it doesn't take effect.
whether I need to set other setting? Thanks in advance.
zhigang
Edited by: zhigang lu on Oct 16, 2009 5:29 AMHi,
Please also check under QM client settings in SPRO to ensure that the "replace master inspection characteristics" box is ticked as this will allow changes in the MIC to update the references in the inspection plan. Also check the QM settings at plant level if you have ticked master inspection characteristics with history then if you do a change in the MIC it will create a new version and not update the inspection plans. If this is ticked you will have to manually go into the inspection plan and assign the new MIC version.
Regards,
Roderick -
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. -
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
PrasantHi,
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 -
Tcode KEFC and message:"Plan version is not supported"
Hello all,
Please is someone aware of solution for this situation:
- I upload with tcode KEFC forecast datas from excel file in CO-PA
- receiver records are created with errors
- when I check for the errors system tells me that "Plan version is not supported, diagnosis : Plan version "0" has not been created in operating concern "1000", Procedure: Transfer version "0" to operating concern "1000" and maintain the attrributes for that version"
- my concern is that when I check in customizing Planning, Initial Step: display view settings in operating concern details the version "0" is existingin the operati,ng concern "1000"
So do you have a solution for this issue?
Thanks and best regards
JCOHi Sudhakar,
Thanks for answer but version "0" is tickled for Plan Actual, WIP and variance and I don't understand what to do about KEPM.
Best regards
JCO -
Sale Order / Project specific Inspection Plan
Dear All,
I want to create Sale order or Project specific inspection plan for a material. This is because, my customers want some specific inspection requirements for individual materials, which are assigned to Sale order or project. I want to inspect the material after receipt for these specific account assignments. I do not want to assign the customer because, my single customer may give different sale orders with different inspection requirements.
But in inspection plan, i can not see the assignment of sale order / project as i can see in Rate Routing.
Can anybody tell me about this?
Regards,
Prashant KolhatkarCreate a Material ONE as Configurable Material. Assign 300 Class Type Class with Charcateristics created through CT04 Transaction which in turn linked to MICs.
Create another Material TWO with same Class but not configurable but is a Variant of Material ONE (MRP 3 View)
Maintain Configuration Profiles for both Materials.
In Material TWO, for insp. type details click on Insp. by Config indicator.
Whenever a Sales Order is created, maintain the requirements from the Customer in Characteristics and save the Sales Order. Against this Sales Order whenever a GR is made for respective Production Order inspection lot is created against the specifications given by Customer and not that maintained in inspection plan.
Best Regards,
K. Raghavendra Nayak -
Diff: Version on workflow builder and Maintain Active Plan version on SWU3
Group,
Can any one help me to understand the Version on workflow builder and Maintain Active Plan version on SWU3
Thanks in advance !
Richard ADear Richard Antony,
The Versioning in the Workflow is very important its some what simmilar to the version on any SAP Objets like Tables, Program etc.
Here Suppose any change comes in working workflow, then in stead of directly change them you can create a version of them and them modify it. So that you can reverst back to that version if required.
Like wise there is lots of importance of versioning Workflow.
The Active Plan version is also important to establish at SWU3. As all the Workflow is using Organization management which is very depended on the Active Plan version. so based on which Plan version you want to use you can Provide in SWU3 to tell Workflow system to use this.
Hope this will give you a clear picture.
Regards,
Chandrashekhar. -
How to block deletion of Inspection Plan
Dear Experts
Accicendatally, our users are deleting the Inspection Plan,
Is there any authorisation object to make Restriction on this,Transaction is QP02.
Regards
Sandeep patilHi Sandeep,
As you said User's are deleting inspection plans. They must be putting it for deletions by clicking on deletion flags.
If you want to restrict this then you have to get help of security team. They will find role for this transaction -
> then they will find out the objects matanined in this role -
> this will display all the activities in that object -
> then they can cancel deletion activity from object list.
Then when User will access QP02 then this checkbox will appear grey. Then they will not be able to delete inspection plan.
Hope this resolves your issue, reward points if helpful.
Regards,
Avinash. -
How to use Same Inspection plan for Multiple Plants?
Hello,
When I create a Process Order for material (M1), release and save it for a Plant A then I get the Inspection lot automatically.
Now I have another Plant B that we have created. We would like to use the same Inspection plan that has been created for Plant A and M1
So in the changed mode(QP02) of the Inspection plan for Plant A in the material assignment tab I added the Material M1 and the Plant B. I am assuming this means when I create the Process order for M1 in Plant B then it should use the same Inspection plan.
But when I create the Process Order for M1 for Plant B, release and save it then it does not created the Inspection lot automatically(though I can create Inspection lot manually)
Can you tell me if there is setting that will allow me to create the Inspection lot automatically on saving the Process order which should use the Inspection plan that I just assigned.
And also let me know if there is a better way to handle same Inspection Plan for same material but multiple Plants.
Thanks
SAP Fans...Dear,
For your message my understanding is that you are not getting Inspection lot created in Plant"B". Inspection lot for a material would get created based on the Inspection Setup for the material master "QM View", so compare the QM for the material in both plants and correct it for Plant "B".
Probably I feel Inspection Setup is not complete for the material in Plant "B" - Generally when extending material by copying referance, in the QM view you need to click the Inspection Setup Button, for the data to be copied...otherwise it does not copy the Inspection setup from the referance plant.
Regards,
Prasobh -
"Open in Smart View" option. Hyperion Planning version 11.1.1.3
Failure to download planning form to Smart View using the "Open in Smart View" option. Hyperion Planning version 11.1.1.3. Error message "Web launch operation has been cancelled.
Your feedback is appreciated.I understand you are on 11.1.1.3.
However, this is documented in the Known Issues section of the Smart View 11.1.2.1 readme and could be worth a try:
When you try to open a Planning web form in Smart View through Workspace, you may get this error: “Web launch operation has been cancelled.” This happens if Essbase has not been added as a server in Shared Connections. Workaround: Open the Smart View Panel in Smart View and add an Essbase server as described in the online help or "Adding Essbase Servers" in chapter 2 of the Smart View User's Guide.
HTH-
Jasmine. -
Actual and Plan Versions annual view - Multiple versions per company code
Good Day,
Iu2019m creating an FI-CO query with an annual view of both Actuals and Plan Values, which uses period and version as input values. The dilemma is around the plan versions which are hardcoded per company codes (eg. 1 Company Code = versions 501 u2013 512)
Can anyone suggest a possible solutions as normally there is only one version used for planning but in this instance there are multiple versions per Company Code.
Currently the report is hardcoded for one Company Code and going forward it should cater for more than one(Company Company* 12 Version)
Kind RegardsRemove restriction on comp code. There could be 2 models.
1. Include comp code, value type and version in the rows. This way you get multiple records for a comp code. One record for actual data and one record each for plan versions. To have this model at the query, the data model in the cube also should be in this way (what we call as the account model), multiple records differentiated into actual/plan by valuetype and different versions by version.
2. Include comp code in rows. Create selections, one for actuals (restrict with key fig and value type 10, actuals), one for each plan versions (restrict key fig with value type 20, version 501. Create one selection for each version this way). This way we have one record per comp code with diff key fig for actual and plan versions. We call this as key fig model. To have this model at the query, the data model in the cube could be account model or key fig model. If it is key fig model then no need of selections. The key fig could be taken directly from the cube. -
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,
SabuHi 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 -
ERROR WHEN CREATING INSPECTION PLAN
HI GURUS,
WHEN CREATE AN INSPECTION PLAN GET THE FOLLOWING ERROR
Op. 0010, CH 0180: Char. ident. SMS used for QDI several times in task list.
THIS BECAUSE MY CLIENT WANTS TO REPEAT THIS M.I.C TWICE.HOW CAN I SOLVE THIS
REGARDS
AMITHi,
It is not a error message It is a warning message for Use the Same MIC in Multiple time, No problem just you can save the Inspection plan, It will not reflect any problem any where.
Regards,
S.Babusingh
Maybe you are looking for
-
Hello I wonder if anyone would be able to help. I have a JVC GY-HM100. I have footage from a ongoing project saved on SDHC cards. I want to save money by reusing the cards while i carry on working on the same project. I wondered if I could save the
-
Hitting my own servlet from JavaScript
Hi, I am including my own natively written JavaScript file in my CF template, and want to post to a Java servlet URL that I think I've mapped correctly in web.xml. But it doesn't work? Are there any issues I'm missing? Thanks e.
-
This is just a post for other newbies (like me !) out there who might have struggled with integrating JSF & Tiles. It turns out my problem was not integration related at all & nor was it related to JSF (probably) or Tiles. I just did not know how to
-
Hello, Does anybody know how I can easily map what characteristics belong to cubes ?? I have mapped from the cube to R3 field level (as far as I know succesfully) already using a combination of RSDCUBEIOBJ, RSOSFIELDMAPSH, RSTSFIELD & RSTRFIELDSH. I
-
Windows 7 won't start in Bootcamp
Hello Everyone: Situation: A few weeks ago I installed OEM Windows 7 Home Premium 32 bit through Bootcamp 4 on my iMac running OS X 10.7.5. I was able to successfull install MS Office and other software and run them in the windows environment. Issue: