Appraisal Objects created in 'Approved' Planning status
Good day,
When creating Appraisal Template objects, they are created in 'Approved' Planning Status. We want them created in 'Active' Planning Status. We suspect this is the reason why we can't configure/define the process configuration for our template under IMG path: Personnel Management > Personnel Development > Objective Setting and Appraisals > Define Tabs and Process Configuration for Template. The system gives the following error message: "No process defined for form <template name>"
We've tried using program RHAKTI00 to make these objects (VA VB VC) active but are facing a further issue that it makes appraisal template unreleased. Vice versa when i released the template, it makes objects planning status to reset to approved from active. A similar issue has been posted in the below thread but an answer was not provided.
Objects created in 'Approved' Planning status
Kindly assist.
Best regards
Hardus
>
Chris Thomas wrote:
> Michael - thanks as always for your insight and willingness to help out.
>
> Let me explain further. Duke currently has a third party performance management system that allows the users to manage their Expected Job Results (EJR) in a catalog (translate to Qualifications catalog in R3). In a separate step, the manager can select a single EJR and on the other side of the screen select all , or a subset of their employees to assign the EJR to.
>
> Extrapolate this to SAP PM. We have created a Criteria group in our template and have experimented with adding qualifications via the BADI and this works fine EXCEPT that the manager would have to do this in each employee's appraisal, individually. We are developing the tool to build and maintain the qualification catalog and assign to the employee via Manager Self Service, we are hoping to be able to facilitate the assignment of the EJR/Qualification into the employee's appraisal template. The EJR's (Q objects) will be associated to a quadrant in their catalog: QK's - Clinical Quality, Customer Service, Finance and Work Culture
>
> The criteria group, Expected Job Results, has for criteria groups nested under it: VB objects for four quadrants, Clinical Quality, Customer Service, Finance and Work Culture. SO, we get to the crux of the matter. Since we know the employee, we can get to the appraisal document and associated data in the tables. The decision of which VB to go to is what we are trying to facilitate. The textual names will be the same for the quadrants in the QK's and VB's BUT thats a bad way to try to make a decision, thus the thought to create a relationship between the QK and the associated, logically equivalent VB.
>
> The issue comes up with some of our managers who have large (60+) direct reports so the thought of creating qualifications from the appraisal side, individually per employee does not work. This is why we are thrashing around with trying to start outside and work our way in. Make sense ?
>
> Chris Thomas
Hi Chris,
This is what I was trying to explain between free vs fixed enhancement.
Free enhancement - user selects from a list to add something to the template
Fixed ehahcement - preloads data into the template
If your application that you build in MSS assigns the qualifications to the employees, you have a number of options to make this work as fixed enhancement.
First use the following fixed enhancement as your basis:
HRHAP00_ENHANCE_FIX1 - Fixed Enhancement - Add Position Requirements
Now in your MSS application if you assigned the qualifications to the position and wanted all qualifications to show up in 1 criteria group, you can use this enhancement with no development.
qualifications assigned to positions or jobs are called requirements
qualifications assigned to employees are called qualifications
if you have like 10 qualifications assigned to the position and 4 need to go to clinical quality VB, 3 need to go to finance vb criteria groups, you will create a BADI for each one of those, each criteria group wiill have its own unique badi. in the badi you will apply the filter after all "requirements are selected from position" so that only the 4 belonging to the qualification block for finance are loaded into that VB.
if your mss application MUST assign it the employee for business reason, you use the same logic except swap out position lookup with employee lookup.
are we closer?
Similar Messages
-
Appraisal Template Release but in Approve Planning status?
Hello friends,
I am facing problem that when i change all VA VB VC objects status to active using RE_RHAKTI00 then it makes appraisal template un released. Vice versa when i released template, it makes objects planning status to reset to approved from active. This is why i am not been able to find template in prepare or appcreate transactions. We need to keep objects active and template released to be able to make it usable in prepare or create. How to keep template released and VA VB VC elements in active state.
Please guide us.
Regards,
Vinod.
Edited by: vinod naik on Jun 14, 2009 10:21 PMClosed
-
Create APG ( approval granted) status in process order through user status
Dear Gurus,
My business requirement is to create APG ( approval granted) sytem status in process order through user status functionality, if possible.
This needs to be activated while creating process order itself. Any help is greatly appreciated.
Warm Regards,
SatishAs of this date, we have still not implemented a fix, but I did get some information from someone else who has.
I'll post his information here for all to see. Hope you find it helpful.
From: Joe
Yes we managed to do it.
After several false starts and CMOD/projects which suffered because only the default keys (for order number, aufpl etc) were in place and not the actual, we coded up the IN_UPDATE method in the WORKORDER_UPDATE badi. This gives us the final format after the DB save (but before the commit). The update of the STATUS using the SAP std function module was actioned successfully but the status profile was not actually passed through. We assumed that this was because of the update task - so we introduced an INSERT into JSTO instead (a bit naughty I know, but desperate needs etc). If you require anything more let me know.
Best Regards
Joe -
Bam 11 plan status data object update
Hi Guru,
I need to update the column StatusTime of plan_status DataObject (under dir of BAM "/System/Plan Monitor/Oracle BAM Plan Monitor/Plan Status").
When I tried to update the column Status_time
(with the instruction= bam.updateRows(tablename, rs, strKeys, strKeyConds, strUpdCols, strUpdOps, lCommitSize, lBatchSize))
by ODI's KM, BAM throws the Exception:
La colonna StatusTime è di sola lettura = The column StatusTime is only readable
Do you know a way to update this column???
BR Fabio
Next the BAM exception:
org.apache.bsf.BSFException: exception from Jython:
Traceback (innermost last):
File "<string>", line 42, in ?
java.sql.SQLException: BAM-01209 La colonna StatusTime è di sola lettura.
at oracle.bam.enterpriselink.common.SrcMetaData.setColumnInfo(SrcMetaData.java:335)
at oracle.bam.enterpriselink.common.SrcMetaData.<init>(SrcMetaData.java:89)
at oracle.bam.enterpriselink.BAMJdbcConnection.updateRows(BAMJdbcConnection.java:1018)
at oracle.bam.enterpriselink.BAMJdbcConnection.updateRows(BAMJdbcConnection.java:2183)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java)
at org.python.core.PyMethod.__call__(PyMethod.java)
at org.python.core.PyObject.__call__(PyObject.java)
at org.python.core.PyObject.invoke(PyObject.java)
at org.python.pycode._pyx7.f$0(<string>:42)
at org.python.pycode._pyx7.call_function(<string>)
at org.python.core.PyTableCode.call(PyTableCode.java)
at org.python.core.PyCode.call(PyCode.java)
at org.python.core.Py.runCode(Py.java)
at org.python.core.Py.exec(Py.java)
at org.python.util.PythonInterpreter.exec(PythonInterpreter.java)
at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:144)
at com.sunopsis.dwg.codeinterpretor.k.a(k.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSqlI.treatTaskTrt(SnpSessTaskSqlI.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java)
at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java)
at com.sunopsis.dwg.cmd.DwgCommandSession.treatCommand(DwgCommandSession.java)
at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)
at com.sunopsis.dwg.cmd.e.j(e.java)
at com.sunopsis.dwg.cmd.g.z(g.java)
at com.sunopsis.dwg.cmd.e.run(e.java)
at java.lang.Thread.run(Thread.java:619)
java.sql.SQLException: java.sql.SQLException: BAM-01209 La colonna StatusTime è di sola lettura.
at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:146)
at com.sunopsis.dwg.codeinterpretor.k.a(k.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSqlI.treatTaskTrt(SnpSessTaskSqlI.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java)
at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java)
at com.sunopsis.dwg.cmd.DwgCommandSession.treatCommand(DwgCommandSession.java)
at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)
at com.sunopsis.dwg.cmd.e.j(e.java)
at com.sunopsis.dwg.cmd.g.z(g.java)
at com.sunopsis.dwg.cmd.e.run(e.java)
at java.lang.Thread.run(Thread.java:619)Hi Fabio,
StatusTime field is of datatype "Timestamp". These field types get automatically inserted by BAM whenever a row is inserted in the dataobject. Users are not allowed to enter or update this particular field explicitly.
Further, this particular data object is a system data object which gets updated automatically by Enterpriselink when plans actually execute. This was used in BAM 10.1.3.5, and not really used for 11g, where the enterprise link functionality has been replaced by ODI. Did you get this DO from the from the 10.1.3.5 upgrade ?
Thanks,
Prabhat -
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. -
Question of creating work approval
Hi, expert
when I use t-code WCTA to create work approval,system give the error message:
WCM object doesn't exist in this maintenance planning plant 1000
Message no. I4239
I wonder if there is some configuration that i didn't set in background.
could you give me some suggestion?
thank you!hi
what is the Architecture you are using for maintenance planning plant ,i think you are using standard model hence the problem occurs since work approval is only used in enhanced model
regards
thyagarajan -
Error while creating the Inspection plan by T.C QP01
Hello Friends,
In QP01, When i am trying to create a inspection plan system throwing the error message "The inspection plan identifier exists already. Enter another."
Message no. QP054
But in QP02, When i checked for that material, Plant, Group Number, Group counter, Usage, Status, i didn't find the entry over there.
Actually my requirement is to create a inspection plan for a material and plant combination with speicfic Usage as 61(customer requirement and status 4) but when i am trying to create that system throwing the error message explained above.
Thanks and Regards,
Jitendra Chauhan.
Edited by: jitendra chauhan on Jun 1, 2010 4:28 PMHello Friends,
Thanks for your valuable answers.
I checked in table MAPL, for a particular material, Plant, Group Number and Group Counter, there is no entry.
Where as in table PLKO, for a particular Group Number and Group Counter, entry is there. Actually this Inspection Plan Group Number and Group Counter is assigned to multiple materials through Material Assignment. If i delete the entry for this in table PLKO, than for all rest of the materials also entry will be deleted.
Hence how to resolve this?
Actually for other material number, same plant, same group number and same group counter, entry exist. So can i simply go in the inspection plan of other material,same plant,same group number,same group counter and than inside the material assignment to assign the required material code, plant and the group counter number?
Looking ahead for valuable inputs from the genius.
Thanks and Regards,
Jitendra
Edited by: jitendra chauhan on Jun 2, 2010 8:09 AM -
How to create a gui pf status and guititle in module pool programming?
hi frnds,
how to create a gui pf status and gui title in module pool programming?
my problem is i created a screen and wen execute the screen by a tcode.am nt able to activate SAVE BACK EXIT CANCEL COMMANDS?.how to do this can any one explain in detail procedure?
plz gve step by step process.Hi,
For Title:In PBO...just write
SET TITLEBAR 'ZTITLE'.
double click on 'ZTITLE'....give whatever title u want...save it...activate...and check...reward points if useful...
PF means FUNCTION CODE
ex; set pf-status 'zrstatus'.
double click on the zrstatus expand the application server ,
at the time of execution the default menu(ie system,help),application toolbar buttons like enter,help etc and function keys(by default there will be no function keys)as are there on the normal
will appear on the screen.
Details:
PF-STATUS is used to set the GUI Status of a screen, ie you can control the options on your menu bar, application toolbar, the function keys assigned to various options etc.
Implementing the status for a screen can be done in 2 ways:
1) Create the GUI status using the object list of the program or by using the transaction SE41. Then, assign it to the screen using SET PF-STATUS statement.
2) Create the GUI status by means of forward navigation, ie, use the SET PF-STATUS 'XXX' statement where 'XXX' is the name of the GUI status and double click on it to create it.
Status names can have a maximum of 20 characters.
After assigning a GUI status to a screen, this is inherited to all subsequent screens. In order to have a different status for each of the subsequent screens, you have to set a separate status for each screen.
In transaction SE41,
1) Give the program name and the status name and click on the Create button.
2) Go to 'Function keys' and expand.
3) On top of the save icon type SAVE, on top of the back icon type BACK, on top the the exit icon type EXIT etc ie on top of all the icons that you want to use, type the respective names that you want to give.
Whatever you have typed now becomes the function codes of these icons and can be used in your program.
For example you have a screen 100.
In the 'Element list' tab of the screen, give "ok_code" as the name where "OK" is the type of screen element. Activate screen.
The flow logic for the screen looks like this:
PROCESS BEFORE OUTPUT.
MODULE STATUS_0100.
PROCESS AFTER INPUT.
MODULE USER_COMMAND_0100.
Create the modules STATUS_0100 and USER_COMMAND_0100 in the main program by simply double clicking on them.
The code for these modules can be something like this:
MODULE status_0100 OUTPUT.
SET PF-STATUS 'Example'. "Example is the name of the GUI status
ENDMODULE.
MODULE user_command_0100 INPUT.
CASE ok_code.
WHEN 'SAVE'.
"call a subroutine to save the data or give statements to save data.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
WHEN 'EXIT'.
LEAVE PROGRAM.
ENDCASE.
ENDMODULE.
Regards,
Shiva Kumar (Reward If helpful) -
Create an Approval Workflow for User Creation in AD
Hi
Anyone, tell me how to create an approval workflow to create users into AD. For example, before provisioning user into AD resouce the request should go to the Manager of the user for approval.
P.S: I am using OIM 9.1
Thanks
SireeshaHi Sireesha
You want to create a new Process definition, selecting "Approval" as the process type.
Then associate it with the AD User Resource Object. Add a "Manager Approval" process task and use a Task Assignment Adapter to to assign the task to the manager of the request target.
In order for the Approval Process to fire, you need to ensure that you provision the AD User Resource Object via a Request, rather than directly.
HTH
Cheers
Rob -
Objects created in a particular day
Experts,
Plz help me finding out the newly created objects in a particular day in the database.
thanks in advance.
thanks,
baskar.lThe dba_objects view has a column "CREATED" which can be used to get the list of object created on a specific day.
SQL> desc dba_objects
Name Null? Type
OWNER VARCHAR2(30)
OBJECT_NAME VARCHAR2(128)
SUBOBJECT_NAME VARCHAR2(30)
OBJECT_ID NUMBER
DATA_OBJECT_ID NUMBER
OBJECT_TYPE VARCHAR2(19)
CREATED DATE
LAST_DDL_TIME DATE
TIMESTAMP VARCHAR2(19)
STATUS VARCHAR2(7)
TEMPORARY VARCHAR2(1)
GENERATED VARCHAR2(1)
SECONDARY VARCHAR2(1) -
Error when create Infotype 0007-Planned Working Time of Personnel data
Hi Experts,
I'm creating Infotype 0007-Planned Working Time for Personnel data then having a error below.( I created Work schedule rule and Gennerated it).
Feature structure cannot be recognized, please see documentation
Message no. P0568
Diagnosis
Cause 1:
The structure of the feature is not saved in the feature directory.
Cause 2:
The feature structure is not defined in the program that reads the feature.
Cause 3:
The feature that the program expects does not match the actual feature structure.
Procedure
Cause 1:
Please advise your system administrator that all features must be regenerated. Please note that this generation must take place in client 000 first, and then in all other clients (report RPUMKF00 or the Generation function in the feature maintenance transaction (transaction PE03)).
Cause 2:
The feature structure must always be defined in the program reading the feature (see documentation for program RPUMKC00).
Cause 3:
Please contact your system administrator
I did using T.Code PE03 in Client 000 but I don't know what is Features?
Please tell me how solves it ?
Thanks so much.
Dungnvinfotype 0007 reads two features
SCHKZ - Default value for Shift indicator
TMSTA DEFAULT VALUE FOR TIME MANAGEMENT STATUS
Please have a look at both these features -
Friends,
Here is my requirement...
When a batch program runs (using RMMR1MIS), based on certain criteria, the Invoice plan status changes from A to C (table : FPLT-FKSAF).
I would like to start a workflow by tracking the status change, but I do not see any default event or update in any change document....
Thanks in advance.
MuthuHI,
Unfortunately I can only confirm that there is missing functionality
for change management in area of MM invoicing plan. No change documents
are created in CDHDR and CDPOS tables for any change for invoicing
plan.
Best Regards,
Arminda Jack -
Create and Approve leave's either using BAPI or IDoc
Hello Experts,
My requirment is to create a leave from my JSP in to SAP(Employee Login), then there will be a approval process where in my manger will approve the leave from his JSP(Manager login).
Approach 1: If I use BAPI for this approach what are the BAPI's that I can use? I have found the below BAPI's out of which 1&2's documentation say " Using these APIs can create inconsistencies in time data.Instead, use the corresponding API Methods "ManageDelete," "ManageCreation," and "ManageChange" for the Business Object BUS7007"
1. BAPI_ABSENCE_APPROVE
2. BAPI_ABSENCE_CREATE
3. BAPI_PTMGRATTABS_MNGCREATION
Approach 2: If I use IDoc what are the Idoc types and process codes for Create and Approve leave's.
Please help...
Thanks in Advance,
Suma
Edited by: Suma B on Sep 16, 2008 4:16 PMHi,
Can you please give me the details of the workflow, I will try to get info from that to levarage.
Thanks,
Suma -
Creating multi counter plan using LSMW
Hi,
I am trying to create multi counter plan (transaction IP43) using LSMW. I am using direct input object 0460 for creating it. Object has IBIPMPLA structure as header. How can i pass multi counter data in it ? Problem is line item level values like 'Maintenance cycle' (ZYKL1) are at header level structure IBIPMPLA.
Anyone has cretaed multi counter using this object, please help me with it.
Thanks,Hi,
creating multi counter plan using LSMW
Try this link,
http://www.sapfans.com/forums/viewtopic.php?f=7&t=217834&p=1059434
It will helps to you.
Regards,
Sekhar -
Transportation planning status
hi all,
for VBUK table , there is a Field TRSTA , which exemplifies Transportation planning status.
Can anyone help me in locating the same on Sales order screen. i can find the same in Delivery--> header --> STATUS , but not anywhere in sales order. however when entered the Sales order no , i can get its value using TABLES.
Please help me locating the same??
Regards,
UjjwalDear Diwakar,
The field "TRSTA" is not available in Sales Order, simple check is if you search this field in VBAK or VBAP you dont have any results for it.
The reason it shows the value after entering Sales order number in VBUK is because , VBUK table is directly connected to VBFA and VBAK , LIKP , VBRK tables. VBFA stores the document flow data.
to check this just create a sales order and check in VBUK here you have TRSTA field marked blank ( not relevant ) now create a delivery and check the VBUK TRSTA ....you will see the status changed to "A" eventhough you enter sales order numner not the Delivery number.
and you can even use billing document number to view the VBUK.
I hope that clears your doubt.
Regards,
Paresh
Maybe you are looking for
-
No number range found for 01 RP_REINR SP11--Travel Manager
Hi While creating Travel request in in Travel manager i got this error messages"No number range found fo 01 RP_REINR SP!!-Travel Manager..Plse advice me how to resolve this.. Thanks&best regds Shaila
-
Oracle RDB driver Version 3.01.00.01 Connectivity Issue
I have a SQL Server 2000 extended stored procedure connecting to an Oracle RDB data server via an ODBC connection (using Oracle RDB driver Version 3.01.00.01). The SQL Server 2000 runs on a Windows 2000 Server. This extended stored procedure opens
-
How to add jar library in java?
Hi, I am Anil, Could it possible to add library in Java library? like java.io.DataInputStream is library in Java (JDK), so I want to add my own library in Java JDK. I have created a package net.jini.j2space and one interface in it J2Space, I have cre
-
Needed Ultrasearch Query java API document
Hi, Where i can find/download the complete ultrasearch java api documentation (i have java document only for one package i.e "oracle.context.isearch.query"). The one which is shipped with Oracle9iASv2 is incomplete. It would be great if i can have so
-
Put Saved Search in the dock.. Can't drag and drop files.
I upgraded to OS X Mavericks yesterday. Great results I am happy with it. So much faster than Mountain Lion. (I think honestly this is why Apple made it free. So many complaining about ML being slow.. my iMac is now fast and zippy) Problem is, and I