CATS Function Module
Hello Friends,
I have a requirement related to time entry in CATS on the portal. The system should allow the employees to go beyond 4 weeks in the past and enter time. Is there some kind of a user exit or a function module which can restrict the employee from entering time in the past? I did change the CATS profile by setting up the lower limit but it works only on the SAP backend but not on the timesheet portal.
Regards
naveen
hi
below are the user exits and badi's available.
User-Exits:
CATS0001 CATS: Set up worklist
CATS0002 CATS: Supplement recorded data
CATS0003 CATS: Validate recorded data
CATS0004 CATS: Deactivate functions in the user interface
CATS0005 CATS: Customer field enhancements
CATS0006 CATS: Validate entire time sheet
CATS0007 CATS: Subscreen on initial screen
CATS0008 CATS: Determine workflow recipients for approval
CATS0009 CATS: Customer-Specific Text Fields in Data Entry Section
CATS0010 CATS: Customer-Specific Text Fields in Worklist
CATS0011 CATS: Customer functions
CATS0012 CATS: Subscreen on data entry screen
CMFU0001 Define customer-specific screen layout
CMFU0002 Set parameters for time confirmation and goods movements
CNEX0002 PS Authorization check
CONF0001 Enhancements in order confirmation
CONFPM01 PM/SM order conf.: Determine cust. specific default values
CONFPM02 PM/SM order confirmation: Customer specific input checks 1
CONFPM03 PM/SM order conf.: Cust. spec. check after op. selection
CONFPM04 PM/SM order conf.: Customer specific input check 2
CONFPM05 PM/SM order conf.: Cust. specific enhancements when saving
BADIs:
CATS_DERIVATIVES Change of Derivation Values
CATS_REPORTING CATS Reporting and Approval
CATS_WORKLIST_ADDIN CATS: Structure Worklist Using BAdi
CATSBW_CUST_ISOURCE Transfer Control of Time Sheet Data into BW
CATSXT_EVENT CATSXT: Customer Fields and Data Checks
SFC_PROFILE BAdI PP/PI: SXS Assignments for Production Sched. Profile
WORKORDER_CONFIRM Business Add-In PM/PP/PS/PI Orders Operation: Confirm
WORKORDER_EXEC_STEPS Business Add-In: Connecting Execution Steps to Order
WORKORDER_GOODSMVT Business Add-In PM/PP/PS/PI orders: auto. goods movement
WORKORDER_INFOSYSTEM BAdI PP and PI Orders: Infosystem
WORKORDER_REWORK Business Add-In PP Orders Operation: Rework
WORKORDER_TAB_SCEM Tab Page for SCEM Data - Order Header Detail
WORKORDER_UPDATE Business Add-In PM/PP/PS/PI Orders Operation: UPDATE
BTEs
PM000050 Update confirmation
BOR Objects:
BUS2128 Maintenance order confirmation
BUS2129 Service order confirmation
Similar Messages
-
Error with the FIELD CAT function module.
Hi folks,
This was the error message i had got from the FIELDCAT function module.
An exception occurred that is explained in detail below.
The exception, which is assigned to class 'CX_SY_READ_SRC_LINE_TOO_LONG', was
not caught in
procedure "K_KKB_FIELDCAT_MERGE" "(FUNCTION)", nor was it propagated by a
RAISING clause.
Since the caller of the procedure could not have anticipated that the
exception would occur, the current program is terminated.
The reason for the exception is:
There was an attempt to read program "/A1SSPC/ITP_SCH_REP" from the database.
The READ REPORT statement allows you to copy a program text into an
internal table. The occupied line length in the program text must not
exceed the width of the internal table.
The internal table "\FUNCTION=K_KKB_FIELDCAT_MERGE\DATA=???" is 72 characters
wide. The program line is
204 characters wide.
Reg,
HariharanYou can do this
TYPE-POOLS:slis.
DATA: it_vabp TYPE STANDARD TABLE OF vbap WITH HEADER LINE.
DATA: it_fieldcat TYPE slis_t_fieldcat_alv.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = sy-repid
i_internal_tabname = 'IT_VBAP'
i_inclname = sy-repid
CHANGING
ct_fieldcat = it_fieldcat
* EXCEPTIONS
* INCONSISTENT_INTERFACE = 1
* PROGRAM_ERROR = 2 -
CATS BAPI and Functional Module
The BAPI list given here is used for transferring the data from CATS to HR.
BAPI_CATIMESHEETMGR_INSERT -To Create Data records into CATS DB
BAPI_CATIMESHEETMGR_DELETE -To Delete Data records in CATS DB
BAPI_CATIMESHEETMGR_CHANGE - To change/edit existing Data records in CATS DB
BAPI_CATIMESHEETRECORD_GETLIST - To Display Data records in CATS DB
BAPI_CATIMESHEETRECORD_GETLIST Time Sheet: Data Record List
BAPIEMPLOYEECATS BAPIs for BUS 7025
BAPI_EECATIMESHEET_GETWORKLIST Time Sheet: Read Worklist
Can you explain me what is FM for and what role it plays for BAPI.
thanks
Sunnyhi
BAPI is a function module used in specific cases and they are better
in those particular ones cause they make many checks, so if you have two
options: a function module and a BAPI i�d tell you to use a BAPI.
If you have any other doubts about some BAPIS in particular, be sure to use
transaction BAPI
they have great documentation there.
regards
kunal -
CATS related function modules needed
Hi,
I have requirement like i need to upload time details into sap from non sap.CATS is the Tcode for time details.
CAT2 to enter time. I want to enter time details.
If any function modules avilable for this it will be easy for my work. Through BDC we can able to do this.
But if function modules avilable for the same it will be very much helpful to me.
Regards
SandeepFunction group Function group short text
Function Module Name Short text for function module
CAPP
CATS_APPROVAL
CATS_APPROVAL0
CATS_DATABASE_GET_OBJEC
CATS_DISPLAY_LIST
CATS_DISPLAY_TREE_LIST
CATB
CATS_DISPLAY_ALV_LIST
CATS_DISPLAY_DOCUMENT
CATS_DISPLAY_OBJECT
CATS_DISPLAY_TARGET_DOCUMENTS
CATS_DISPLAY_TARGET_DOCUMENTS0
CATS_DISPLAY_TRANSFER_LIST
CATE
CATS_INITIALIZE_MESSAGE
CATF
CATS_CHECK_APPLICATION_CO
CATS_FILL_INTERFACE_CO
CATL
CATS_CHECK_ARBPL_VALID
CATS_DET_ARBID_BY_ARBPL
CATS_DET_ARBPL_BY_ARBID
CATS_DET_AUFNR_BY_AUFPL
CATS_DET_AUFNR_BY_AUFPL_TRANS
CATS_DET_AUFPL_BY_AUFNR
CATS_GET_KAPAR_FOR_KAPID
CATS_GET_LOGISTIC_TEXT
CATS_GET_TABLE_AUFNR
CATS_GET_TABLE_RCR01
CATL2
CATS_AC03
CATS_CHECK_AND_DIST_ACTIVITIES
CATS_CHECK_APPLICATION_LOGIST
CATS_CHECK_STATUS_ACTIVITY
CATS_CJ13
CATS_CONVERT_EXT_TO_INT
CATS_CONVERT_INT_TO_EXT
CATS_CY_LOAD_DISTRIBUTION
CATS_CY_LOAD_DISTRIBUTION_KORR
CATS_ENRICH_READ_DATA
CATS_FILL_INTERFACE_LO
CATS_FIND_TARGET_DOC_AFRU
CATP
CATS_CALL_TRANSACTION_CAT4
CATS_CHECK_ATT_ABS_AUTHORITY
CATS_CHECK_AUTHORITY
CATS_CHECK_AWART
CATS_CHECK_AWART_HOURS
CATS_CHECK_EMPLOYEE_ACTIVE
CATS_CHECK_PERNR_LIST
CATS_CHECK_PROFILE_AUTHORITY
CATS_CHECK_SINGLE_PERNR
CATS_COMPUTE_HOURS
CATS_DELETE_HR_INTERFACE
CATS_FILL_ICLVA
CATS_GET_ALP_CURRENCY
CATS_GET_BASIC_INFOTYPES
CATS_GET_EMPLOYEE_NAME
CATS_GET_INFOTYPE_0001
CATS_GET_INFOTYPE_0315
CATS_GET_PAY_SCALE_TYPE_AREA
CATS_GET_PERNR_LIST_0001
CATS_GET_TARGET_HOURS
CATS_HR_ABSENCE_ATTEND_TEXT
CATS_HR_ADD_WAGE_TYPE
CATS_HR_CHECK_001
CATS_HR_CHECK_ALP
CATS_HR_CHECK_INFOTYPE_BOOKED
CATS_HR_DETERMINE_INFTY
CATS_HR_DISPLAY_DOCUMENT
CATS_HR_GLOBAL_CHECK
CATS_HR_LGART_TEXT
CATS_HR_READ_POSITION_TEXT
CATS_HR_READ_PREMIUM_TEXT
CATPEXTERN
CATS_GET_ABSENCE_ATTENDANCE
CATS Cross-Application Time Sheet
CATS_BUILD_CATSD
CATS_CHECK_FACTORY_CALENDAR
CATS_CHECK_FACTORY_DATE
CATS_CHECK_INPUT
CATS_CHECK_PERNR
CATS_CONVERT_CATSDB_TO_CATSD
CATS_CONVERT_LONGTEXT
CATS_CREATE_NEW_RECORD
CATS_ENRICH_INPUT
CATS_EXTERNAL_INTERFACE
CATS_EXTERNAL_WORKLIST
CATS_FILL_INTERFACE_CPR
CATS_GET_COUNTER
CATS_GET_CUSTOMER_TEXT_FIELDS
CATS_GET_DERIVATIVES
CATS_GET_LONGTEXT
CATS_GET_UNIT_HOUR
CATS_GET_WORKLIST_TEXT_FIELDS
CATS_INTERFACE
CATSCHECK
CATS_EXTENDED_CHECK
CATS_GLOBAL_EXTENDED_CHECKS
CATSEXTERN Functions for External Linking
CATS_GET_INFLUENCES CATS: Read Field Selection
CATS_GET_PERIODSTART
CATSTOOLS
CATS_ACTIVATE_MESSAGES
CATS_CHECK_APPLICATION
CATS_CHECK_CATSDB_AFTER_SAVE
CATS_CHECK_CONSISTENCY_AT_SAVE
CATS_CO_SET_TRANSFER_FLAG
CATS_CO_UPDATE_CATSCOSUM
CATS_GET_PROFILE
CATS_GET_PROFILE_AUTHGROUP
CATS_GET_PROFILE_FROM_USER
CATS_GET_UPDATE_BUFFER
CATSXC
CATSXC_READ_CATS_PROFILE
CATSXC_READ_FEATURE_VALUES
CATSXC_ROUND_QUANTITY
CATSXC_UPDATE_COMP_DTL
CATSXC_UPDATE_TCATX_COMPONENTS
CATSXT
CATSXT_CHANGE_TIME_SHEET
CATSXT_DISPLAY_TIME_SHEET
CATSXT_EXTERNAL_INTERFACE
CATSXT_FIELD_SELECTION_MODIFY
CATSXT_GET_PERSONNEL_NUMBER
CATSXT_GET_TIME_SHEET_DATA
CATSXT_SET_CURRENT_WORKAREAS
CATSXT_START_GUI
CATSXT_TRAVEL_MANAGER_GET_DATA
CATSXT_TRAVEL_MANAGER_SET_DATA
CATSXT_ACCOBJ
CATSXT_ACCOBJ_SET_FIELDSELECT
CATSXT_ACCOBJ_SET_TIME_SHEET
CATSXT_ACCOBJ_SET_VALUES_TAB
CATSXT_CLEAR_ACCOUNTING_OBJECT
CATSXT_DETERMINE_OBJECT_NUMBER
CATSXT_GET_OBJECT_DATA
CATSXT_GET_OBJECT_NUMBER
CATSXT_GET_OBJTYPE_FOR_ACCOBJ
CATSXT_INIT_ACCOUNTING_OBJECT
CATSXT_SET_OBJECT_DATA
CATSXT_SET_OK_CODE_ACCOUNTING
CATSXT_APPR
CATSXT_APPR_SET_TOOLBAR
CATSXT_APPR_USER_COMMAND
CATSXT_EXIT_EXAMPLE
CATSXT_CUSTOMER_EXIT_EXAMPLE
CATSXT_F4
CATSXT_F4_OBART
CATSXT_F4_TASKLEVEL
CATSXT_F4_TASKTYPE
CATSXT_SET_F4_FOR_ACCOBJECT
CATSXT_SET_F4_FOR_TASKLEVEL
CATSXT_FUP
CATSXT_ENTRY_SHEET_DISPLAY
CATSXT_FUP_CATS_FLOW_INFO_GET
CATSXT_FUP_FLOW_BACK_INFO_GET
CATSXT_FUP_GET_HISTORY_FOR_CNT
CATSXT_FUP_RESET_HISTORY_BUFF
CATSXT_SERVICE_NUMBER_READ
CATSXT_UTIL
CATSXT_CALL_USER_DFLT_DIALOG
CATSXT_CHECK_DFLT_DERIV_ACTIVE
CATSXT_CHECK_TYPE_LEVEL_AUTH
CATSXT_CHECK_WORK_DAY
CATSXT_COMPARE_STRUCTURES
CATSXT_GET_ACCESS_KEY
CATSXT_GET_ADDRESS_DATA
CATSXT_GET_CENTRAL_CONTROL
CATSXT_GET_CUSTOMIZING
CATSXT_GET_DDIC_FIELDINFO
CATSXT_GET_HOLIDAYS
CATSXT_GET_SMARTFORM_NAME
CATSXT_GET_TEMPORARY_KEY
CATSXT_GET_USER_ID_OF_PERNR
CATSXT_LONGTEXT
CATSXT_MOVE_STRUC1_TO_STRUC2
CATSXT_OPTIMIZE_OUTPUT
CATSXT_OPTIMIZE_OUTPUT_TC
CATSXT_SIMPLE_TEXT_EDITOR
CATSXT_SPLIT_LONGTEXT
CATSXT_SUBSCREEN_CONTROL
CATSXT_TABSTRIP_CONTROL
CATSXT_USER_DFLT_DIALOG
CATSXT_WRITE_HEADER
CATS_CO
CATS_ACT_ALLOC_CHECK
CATS_ACT_ALLOC_SENDER_CHECK
CATS_CHECK_AC
CATS_COBL_CHECK
CATS_COST_ASSGMT_CHECK
CATS_ITS
CATS_ITS_GET_POPUP_STATUS
CATS_ITS_GET_SCREEN
CATS_ITS_MAKE_STRING_NUMERICAL
CATS_ITS_SET_OKCODE
CATS_ITS_FUNC_CO
CATS_GET_COSTCENTER_ACTIVITY
CATS_LEVELING
CATS_GET_LEVELING_DATA
CATS_SERVICES
CATS_GUID_GET_KEY
CTHR
CATS_ATTABS_COSTINSERT
CATS_BATCH_TRANSFER_HR
CATS_BATCH_TRANSFER_HR_BKG
CATS_BUILD_SEND_MAIL
CATS_CALL_RCATSTHR
CTXT
CATS_CO_READ_OBJECT_TEXT
CATS_HR_READ_OBJECT_TEXT
HRTIM00ABSATTEXT
CATS_ATTABS_CHECK
HRTIM00F4HELP
CATS_F4_HELP_AWART
CATS_F4_HELP_CURRENCY
CATS_F4_HELP_LGART
CATS_F4_HELP_PRAKN_PRAKZ
CATS_F4_HELP_TRFGR_TRFST
PTEX
CATS_CHECK_INFOTYPE_POSTED
revert back if u require Bapis. -
How to use Logical database in function module?
I will create a function module in HR.
but how to use Logical database in function module ? Logical database PNP always show screen.in function (RFC) code , it is a matter.You cannot attach the LDB to the main program of the function group.
- So you may [SUBMIT|https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=submit&adv=false&sortby=cm_rnd_rankvalue] a report which use the LDB and get back the data (export/import), by default in the syntax of SUBMIT the selection-screen will not be displayed
- Use [LDB_PROCESS|https://www.sdn.sap.com/irj/sdn/advancedsearch?query=ldb_process&cat=sdn_all], fill a structured table for selection, and get data back in another table
- Use [HR function modules to read Infotypes|https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=hrfunctionmodulestoread+Infotypes&adv=false&sortby=cm_rnd_rankvalue].
Regards -
How to create IDOC from Function module or RFC
Hi all,
I have tested one inbound IDOC for Time Upload to CAT2 using basic type "CATS_INSERT01" in WE19 through function module BAPI_IDOC_INPUT1 .It works well.
Now i need to create this IDOC once the sale order gets created thru BAPI.
For creation of Sale order i wrote one RFC in which i will call the Standard Sale Order Bapi.My question is once the Sale order gets created in that RFC How do i trigger the IDOC for CATS upload.Hi,
Which SAP product of wich release of which SP are you using ?
The procedure is documented in help.sap.com and in blogs and SDN forum messages.
It means that the use of the SEARCH button should give plenty of answers...
>When I check "Local object" checkbox I get a message "Test objects cannot be created in foreign >namespaces"
As usual, begin your choosen name with an "Z".
Regards,
Olivier -
How to automate the creation of Function Module & Class Object (SE24)
Experts,
I have the requirement to automate the creation of any type of programs: ie function module (like how we normally create in SE37 together with the parameters), class object (like how we normally create in SE24 together with attribute & method), normal report (like how we did in SE38), module pool and so on.
For example. I backuped my program into a flat file (the entire source code in txt formal or HTML) through a download program and I need to upload back this flat file into another installation of SAP.
Does SAP provide any predefined FM to cater for the above cases or better still, does anyone know of any upload program which I can use for the above requirement.
Thanks in advance.Hi Kris, I can't use the transport system as these are 2 separate SAP installation in a different place. The requirement came in the form of creation of program to be able to generate FM/Class/Report on the go.
-
How to call Function Module in Selection Screen
Hi All,
I have developed one HR Report (Qualification Overview Report: To display all active employees and their Qualifications along with their Proficiency).
Already it has 3 selection fields on selection screen and now I want one more field on selection screen like Qualification Id.
But when the end user press F4 it should display the Popup which comes in TCode: PA30 at the time of Creating Qualification.
I have debugged the Standard Code and searched the Function Module: 'RH_OBJID_REQUEST' which shows Popup which I wanted to show at Selection screen for newly added field.
So I have to define new field like 'Qualification Id' and want to attach above Function Module so that it will cater my requirement.
If anybody has worked on this type of requirement then please let me know.
Thanks,
Jay.Hi Raymond,
I have written following code:
s_quali is used in selection screen for Qualification Id.
SELECT-OPTIONS : s_quali FOR hrp1000-objid NO INTERVALS.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_quali-low.
CALL FUNCTION 'RH_OBJID_REQUEST'
EXPORTING
plvar = '01'
otype = 'Q'
seark = '*'
seark_begda = '18000101'
seark_endda = '99991231'
set_mode = 'X'
TABLES
sel_objects = git_objects.
LOOP AT git_objects INTO wa_objects. " Logic is to fill up the Selection screen field
s_quali-low = wa_objects-objid.
APPEND s_quali TO s_quali.
CLEAR : s_quali, wa_objects.
ENDLOOP.
Now problem is that, its not populating all values in selection screen which I select from Popup screen (Choose Qualification).
I checked that the first value in the internal Table is over written by second records in the internal table
For e.g.: If I select 001,002,003,004 from Popup screen then I am able to see only 002,003,004 in the Multiple selection view of that field though it is available in the internal table s_quali (because I am filling up the table using Loop-Endloop)
Please advise me how to overcome this issue. (How to fill up selection screen)
Thanks,
Jay. -
Function module for getting the created or changed by user
hi ,
iam using the t-code ob 52
inthat iam i not getting the created or changed by user
so is there any function module which gives created r changed
by user .
it shhould take the input as t-code and it has to display
the created r changed by user ........
pls help ..........In OB52, in menu : Utilities, change log. This use Database log analysis. Try calling transaction [SCU3|https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_forums_rm&query=scu3&adv=false&sortby=cm_rnd_rankvalue].
SCU3 transaction call report [RSTBHIST|https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_forums_rm&query=rstbhist&adv=false&sortby=cm_rnd_rankvalue] which call [RSVTPROT|https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_forums_rm&query=rsvtprot&adv=false&sortby=cm_rnd_rankvalue]. You may also use FM like [DBLOG_EVAL_CALL_FOR_SEL_OBJECT|https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_forums_rm&query=dblog_eval_call_for_sel_object&adv=false&sortby=cm_rnd_rankvalue] or [DBLOG_EVAL_CALL_FOR_SEL_CHAP|https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_forums_rm&query=dblog_eval_call_for_sel_chap&adv=false&sortby=cm_rnd_rankvalue], perform some where-used on RSVTPROT.
Regards -
Function Module READ_TEXT short dump
Hi All,
I've created a bespoke long text object so I can save some long text to it. I created it by copying the SAP standard long text object for CATS (timesheets) in SE75. I save to this object using the function module SAVE_TEXT and I read it back using the function module READ_TEXT. I get a short dump during READ_TEXT which says:
"CONNE_IMPORT_WRONG_COMP_TYPE
Error when attempting to IMPORT object "TLINE".
When importing the object "TLINE", the component no. 1 in the dataset has a different type from the corresponding component of the target object in the program "SAPLSTXD ".
The data type is "I" in the dataset, but "C" in the program."
I've looked on OSS (as it's a SAP standard program) but can't find anything. I get no errors when trying to read the standard object CATS only when I try and read my new object, so I'm thinking that I haven't set it up correctly. An entry in table STXH occurs for both objects so I know I have saved some long text in my object.
Can anyone help?
GillHi,
have you passed the correct parameters to the FM.
try to check the sample...
data: it_lines like tline occurs 0 with header line.
CALL FUNCTION 'READ_TEXT'
EXPORTING
CLIENT = SY-MANDT
ID = 'Z056'
LANGUAGE = 'E'
NAME = L_NAME
OBJECT = 'VBBP'
TABLES
LINES = IT_LINES
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS = 8
i think it is because of it_lines declaration.
Regards
vijay -
ABAP Function Module to perform validation
Hi Developers,
I'm am trying to create a function module to be later used by a Web Dynpro application. The function module should be structured as followed:
Importing
USER_ID : User ID to be searched that is entered by user.
TENANT: Tenant ID that is to be searched, also entered by user.
Changing
EXIST: A flag that will return the values Y or N based on a return from the function module.
The function module must be able to access a specified Oracle database table and perform a check on the table with the provided import values. If the combination exists, it should return a Y. If the combination does not exist it should return an N. Assumption is that tenant and userid fields exist in this table in addition to two other. User ID is the primary key.
Regards,
JDHi,
For getting data from oracle the following threads may help you;
Access external Oracle database with ABAP
Accessing an external Oracle database from ABAP
You can get more threads by [Searching|https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_library&adv=true] the Forum.
Regards
Karthik D -
Function Module to Update Shipment Document with FURTHER DATES
Hi All,
i need to update (create an event entry) with the 'Begin Plan Date' and 'End Plan Date' of one Event in the 'FURTHER DATES' TAB
(2nd Tab) of the Shipment Document. I got to do this using the separate program after the shipment gets created from external system in ECC.
Any ideas on how to do it? the function modules belong to the function group
TSEG.. but am not sure which function module can cater my requirement.. or can we do it with a BDC call.
Appreciate ur early reply...
Regards,
Leonahi,
YOu can use fm 'HR_99S_date_plus_time_unit'.
hope it helps
regards,
pawan -
Workflow Agent Function Module
I am trying to develop a workflow for the approval of CATS time entries. Users will enter their time data and specify a receiving maintenance work order (CATSD-RAUFNR). The approver of the CATS time entry should be the user ID identified in the Partner tab of the maintenance work order identified in the CATS record.
I am trying to determine the agent in a workflow task based on a default rule for agent assignment. My idea was to capture the work order number (stored in table AUFK) from the CATS entry, then reference plant maintenance partners table (IHPA) to get the user id to use as the agent in the workflow.
I have developed a function module that works when testing it in the function builder, but when I try to test it in the "Maintain Rule" transaction (PFAC_CHG), it does not work. Can anyone let me know how to make this code work in the Maintain Rule simulation?
Here is my code for the function module:
FUNCTION Z_GET_WO_PARTNER.
""Local Interface:
*" IMPORTING
*" VALUE(ORDER_NUMBER) TYPE AUFNR OPTIONAL
*" TABLES
*" ACTOR_TAB STRUCTURE SWHACTOR
*" AC_CONTAINER STRUCTURE SWCONT
*" EXCEPTIONS
*" NOBODY_FOUND
*INCLUDE .
TYPES: BEGIN OF PLANT_MAINT,
OBJECT TYPE IHPA-OBJNR,
PARTFUNC TYPE IHPA-PARVW,
PARTNER TYPE IHPA-PARNR,
END OF PLANT_MAINT.
TYPES: BEGIN OF ORDER_MASTER,
ORDER TYPE AUFK-AUFNR,
OBJECTN TYPE AUFK-OBJNR,
END OF ORDER_MASTER.
DATA: WA_MAINT TYPE PLANT_MAINT.
DATA: WA_ORDER TYPE ORDER_MASTER.
DATA: ITABIHPA TYPE STANDARD TABLE OF PLANT_MAINT.
DATA: ITABAUFK TYPE STANDARD TABLE OF ORDER_MASTER.
DATA: PARTNERVAR TYPE STRING.
DATA: OBJN TYPE STRING.
Get object number from order master
SWC_GET_ELEMENT AC_CONTAINER 'OrderNumber' ORDER_NUMBER.
CLEAR: ACTOR_TAB.
REFRESH: ACTOR_TAB.
SELECT SINGLE AUFNR OBJNR FROM AUFK INTO WA_ORDER
WHERE AUFNR = ORDER_NUMBER.
IF SY-SUBRC NE 0.
RAISE nobody_found.
ENDIF.
OBJN = WA_ORDER-OBJECTN.
*get Partner field (system user id) from Plant Maintenance: Partners table
SELECT SINGLE OBJNR PARVW PARNR FROM IHPA INTO WA_MAINT
WHERE OBJNR = OBJN AND PARVW = '§G'.
IF SY-SUBRC NE 0.
RAISE nobody_found.
ELSE.
ACTOR_TAB-OTYPE = 'US'.
ACTOR_TAB-OBJID = WA_MAINT-PARTNER.
APPEND ACTOR_TAB.
ENDIF.
ENDFUNCTION.
(sorry about the poor ABAP code...)To my guess, the function module interface is incorrect. The function module should contain only the following interface:
""Local Interface:
*" TABLES
*" ACTOR_TAB STRUCTURE SWHACTOR
*" AC_CONTAINER STRUCTURE SWCONT
*" EXCEPTIONS
*" NOAGENT_FOUND
You seem to be passing an order number. you need pass container elements using the table AC_Container and cannot send it directly. For further information, look at the following tutorial:
http://www.****************/Tutorials/Workflow/Rules/Create.htm
Hope this helps
SS -
Bapi or Function Module to update Material Master Data
Hi Friends,
could anyone let me know any BAPI's or Function Modules for Material Master UPdate.
Thanks in Advance
Regards
Tinahi Tina,
check this BAPi BAPI_MATERIAL_SAVEDATA to create and change the material master .
Try ....
BAPI_MATERIAL_SAVEDATA
REPORT Z_BAPI_MAT.
STRUCTURE DECLARATIONS *
TABLES: BAPIMATHEAD, "Headerdata
BAPI_MARA, "Clientdata
BAPI_MARAX, "Clientdatax
BAPI_MARC, "Plantdata
BAPI_MARCX, "Plantdatax
BAPI_MAKT, "Material description
BAPIRET2. "Return messages
DATA:V_FILE TYPE STRING.
DATA:
BEGIN OF LSMW_MATERIAL_MASTER,
MATNR(018) TYPE C, "Material number
MTART(004) TYPE C, "Material type
MBRSH(001) TYPE C, "Industry sector
WERKS(004) TYPE C, "Plant
MAKTX(040) TYPE C, "Material description
DISMM(002) TYPE C, "Extra Field Added In the Program as itsrequired
MEINS(003) TYPE C, "Base unit of measure
MATKL(009) TYPE C, "Material group
SPART(002) TYPE C, "Division
LABOR(003) TYPE C, "Lab/office
PRDHA(018) TYPE C, "Product hierarchy
MSTAE(002) TYPE C, "X-plant matl status
MTPOS_MARA(004) TYPE C, "Gen item cat group
BRGEW(017) TYPE C, "Gross weight
GEWEI(003) TYPE C, "Weight unit
NTGEW(017) TYPE C, "Net weight
GROES(032) TYPE C, "Size/Dimensions
MAGRV(004) TYPE C, "Matl grp pack matls
BISMT(018) TYPE C, "Old material number
WRKST(048) TYPE C, "Basic material
PROFL(003) TYPE C, "DG indicator profile
KZUMW(001) TYPE C, "Environmentally rlvt
BSTME(003) TYPE C, "Order unit
VABME(001) TYPE C,
EKGRP(003) TYPE C, "Purchasing group
XCHPF(001) TYPE C, "Batch management
EKWSL(004) TYPE C, "Purchasing key value
WEBAZ(003) TYPE C, "GR processing time
MFRPN(040) TYPE C, "Manufacturer part number
MFRNR(010) TYPE C, "Manufacturer number
VPRSV(001) TYPE C, "Price control indicator
STPRS(015) TYPE C, "Standard price
BWPRH(014) TYPE C, "Commercial price1
BKLAS(004) TYPE C, "Valuation class
END OF LSMW_MATERIAL_MASTER.
INTERNAL TABLE DECLARATIONS *
*to store the input data
DATA:
BEGIN OF it_matmaster OCCURS 0.
INCLUDE STRUCTURE LSMW_MATERIAL_MASTER.
DATA:
END OF it_matmaster.
*for material description
DATA:BEGIN OF IT_MATERIALDESC OCCURS 0.
INCLUDE STRUCTURE BAPI_MAKT .
DATA:END OF IT_MATERIALDESC.
*to return messages
DATA:BEGIN OF IT_RETURN OCCURS 0.
INCLUDE STRUCTURE BAPIRET2.
DATA:END OF IT_RETURN.
SELECTION SCREEN
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-002.
PARAMETERS:P_FILE LIKE RLGRAP-FILENAME OBLIGATORY.
SELECTION-SCREEN END OF BLOCK B1 .
AT SELECTION SCREEN
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SYST-CPROG
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = 'P_FILE'
IMPORTING
FILE_NAME = P_FILE.
TO UPLOAD THE DATA *
START-OF-SELECTION.
V_FILE = P_FILE.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = V_FILE
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = ' '
IMPORTING
FILELENGTH =
HEADER =
tables
data_tab = IT_MATMASTER
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_READ_ERROR = 2
NO_BATCH = 3
GUI_REFUSE_FILETRANSFER = 4
INVALID_TYPE = 5
NO_AUTHORITY = 6
UNKNOWN_ERROR = 7
BAD_DATA_FORMAT = 8
HEADER_NOT_ALLOWED = 9
SEPARATOR_NOT_ALLOWED = 10
HEADER_TOO_LONG = 11
UNKNOWN_DP_ERROR = 12
ACCESS_DENIED = 13
DP_OUT_OF_MEMORY = 14
DISK_FULL = 15
DP_TIMEOUT = 16
OTHERS = 17
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
DATA POPULATIONS *
LOOP AT IT_MATMASTER.
BAPIMATHEAD-MATERIAL = IT_MATMASTER-MATNR.
BAPIMATHEAD-IND_SECTOR = IT_MATMASTER-Mbrsh.
BAPIMATHEAD-MATL_TYPE = IT_MATMASTER-Mtart.
BAPIMATHEAD-BASIC_VIEW = 'X'.
BAPIMATHEAD-PURCHASE_VIEW = 'X'.
BAPIMATHEAD-ACCOUNT_VIEW = 'X'.
BAPI_MARA-MATL_GROUP = IT_MATMASTER-MATKL.
BAPI_MARA-OLD_MAT_NO = IT_MATMASTER-BISMT.
BAPI_MARA-BASE_UOM = IT_MATMASTER-MEINS.
BAPI_MARA-BASIC_MATL = IT_MATMASTER-WRKST.
BAPI_MARA-MFR_NO = IT_MATMASTER-MFRNR.
BAPI_MARAX-MATL_GROUP = 'X'.
BAPI_MARAX-OLD_MAT_NO = 'X'.
BAPI_MARAX-BASE_UOM = 'X'.
BAPI_MARAX-BASIC_MATL = 'X'.
BAPI_MARAX-MFR_NO = 'X'.
BAPI_MARC-PLANT = IT_MATMASTER-WERKS.
BAPI_MARC-PUR_GROUP = IT_MATMASTER-EKGRP.
BAPI_MARCX-PLANT = IT_MATMASTER-WERKS.
BAPI_MARCX-PUR_GROUP = 'X'.
IT_MATERIALDESC-LANGU = 'EN'.
IT_MATERIALDESC-MATL_DESC = IT_MATMASTER-MAKTX.
append IT_materialdesc.
CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
EXPORTING
headdata = BAPIMATHEAD
CLIENTDATA = BAPI_MARA
CLIENTDATAX = BAPI_MARAx
PLANTDATA = BAPI_MARc
PLANTDATAX = BAPI_MARcx
FORECASTPARAMETERS =
FORECASTPARAMETERSX =
PLANNINGDATA =
PLANNINGDATAX =
STORAGELOCATIONDATA =
STORAGELOCATIONDATAX =
VALUATIONDATA =
VALUATIONDATAX =
WAREHOUSENUMBERDATA =
WAREHOUSENUMBERDATAX =
SALESDATA =
SALESDATAX =
STORAGETYPEDATA =
STORAGETYPEDATAX =
FLAG_ONLINE = ' '
FLAG_CAD_CALL = ' '
IMPORTING
RETURN = IT_RETURN
TABLES
MATERIALDESCRIPTION = IT_MATERIALDESC
UNITSOFMEASURE =
UNITSOFMEASUREX =
INTERNATIONALARTNOS =
MATERIALLONGTEXT =
TAXCLASSIFICATIONS =
RETURNMESSAGES =
PRTDATA =
PRTDATAX =
EXTENSIONIN =
EXTENSIONINX =
WRITE:/ IT_RETURN-TYPE,
2 IT_RETURN-ID,
22 IT_RETURN-NUMBER,
25 IT_RETURN-MESSAGE.
IT_RETURN-LOG_NO,
IT_RETURN-LOG_MSG_NO,
IT_RETURN-MESSAGE_V1,
IT_RETURN-MESSAGE_V2,
IT_RETURN-MESSAGE_V3,
IT_RETURN-MESSAGE_V4,
IT_RETURN-PARAMETER,
IT_RETURN-ROW,
IT_RETURN-FIELD,
IT_RETURN-SYSTEM.
ENDLOOP.
Regards,
Naveen -
Datasource as a function module
hi,
I am looking for a sample code to use function module as a datasource.
Is there any document which i can use for this ?
Thanks in advance.Hi
Please have a look into the following link.
https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=genericdatasourcefromfunction+module&adv=false&sortby=cm_rnd_rankvalue
hope it helps
Thanks,
Teja
Maybe you are looking for
-
How to update XREF1, XREF2 fields
Guyz, i've captured few custom values for specific G/L Documents during creation through BTE.... if i want to give user to change the values selected during creation, i'm looking for options to change xref1, xref2 fields in BSEG.... no bapis found...
-
Livetype media 2 -how to start application
Just purchased Final Cut Express which included Livetype media 2. Started to learn with the tutorial disc and could see how Livetype works, but does not show how to start the program. FC works fine. I assumed LiveType should have its own startup appl
-
10.6 - 10.6.4 Upgrade Problem - "partially downloaded" etc
Hello I just updated to Snow Leopard 6.4 with the disk that came with my Mac Mini. I'd been using the computer for many months before updating. It seemed to go smoothly. In order to install the new Xcode/SDK I need to upgrade so I ran Software Update
-
Error on Mac: couldn't write the application to the hard drive
A Mac user can load the Connect meeting interface but when he tries to share screen he gets a pop-up that says: "Couldn't write the application to the hard drive. Please verify the hard disk is available" with options to retry or cancel. On retry sam
-
The interface type is valid, but the specified interface number is not configured
Hi I'm all new to using LabVIEW, which I have to use for a project. I'm trying to make a setup with a Keithley 2000 multimeter and an Agilent U2722A SMU. But I can't figure out how to get these instruments to communicate with LabVIEW. I can see and s