‎2013 Mar 20 5:37 AM
dear Experts:-
how can u help me please??
i want to develop ABAP code that helps me as an interface between RFID/Biometric reader machine(Time and attendance) and CATS.
that is i want to upload files from application server or any other which is input from the machine to Z table and then making any update on the format equivalent to the CATS format by creating UI connecting(sending) the information to CATS!!!
please help me if u r clear with my Question!!!
give me help on RFC on this idea !!!!!
best regards,
Hahu
‎2013 Mar 20 7:59 AM
Hi,
Do you mean the data from the third party system would be stored in a Z table and then from Z table you would update CATS? Detailed information on updating CATS with program is covered in this wiki:
http://wiki.sdn.sap.com/wiki/display/ERPHCM/CATS+-+Inserting+records+into+CATSDB
Regards,
Kumud
‎2013 Mar 20 7:59 AM
Hi,
Do you mean the data from the third party system would be stored in a Z table and then from Z table you would update CATS? Detailed information on updating CATS with program is covered in this wiki:
http://wiki.sdn.sap.com/wiki/display/ERPHCM/CATS+-+Inserting+records+into+CATSDB
Regards,
Kumud
‎2013 Mar 20 11:48 AM
Dear Kumud Singh:
really thanks!!!!!!!!!
that was my requirement and appreciate ur fast response and helpful answer!!!
and one more Question is :about the RFC?
can u please brief me how business works clearly!!!??
how the transaction works between the ZTable and CATSDB!! where the concept of bapi or any other RFC comes???
with best regards,
Hahu
‎2013 Mar 20 1:39 PM
Hi,
Are you in the designing phase of this work or have starting coding? If in coding then this end to end scenario must have been decided already. I would suggest you to discuss with your team.
To answer your questions: Please have a look at many discussions around BAPI and RFC here on SCN.
Once the data records have been populated in a Z table, your program would pick them, process them and use the BAPI as highlighted in the wiki to update CATSDB. Thanks.
Regards,
Kumud
‎2013 Apr 29 1:36 PM
Dearest,
i think the following Code is posted by u and i read that it is crude coding but i wanna know the type of
ycatt_bapicats1( is this DB tabel or structure??).
see below for brief understanding what i mean by..
( METHODS: transfer_data IMPORTING tl_data TYPE ycatt_bapicats1,).
please brief me ma dear!!!
*&---------------------------------------------------------------------*
REPORT CATS_BABI.
CLASS lcl_cats DEFINITION DEFERRED.
DATA: obj TYPE REF TO lcl_cats,
num TYPE i,
n1 TYPE i,
n2 TYPE i,
t_passrec TYPE STANDARD TABLE OF bapicats1.
DATA: tl_recin TYPE STANDARD TABLE OF bapicats1,
wl_recin TYPE bapicats1,
wl_bapicats1 TYPE bapicats1.
REFRESH: t_passrec[].
*----------------------------------------------------------------------*
* CLASS lcl_cats DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_cats DEFINITION.
PUBLIC SECTION.
DATA: tl_recout TYPE STANDARD TABLE OF bapicats2,
tl_message TYPE STANDARD TABLE OF bapiret2,
tl_chkdata TYPE STANDARD TABLE OF bapicats1,
tl_rec2data TYPE STANDARD TABLE OF bapicats1.
METHODS: transfer_data IMPORTING tl_data TYPE ycatt_bapicats1,
distribute_data.
ENDCLASS. "lcl_cats DEFINITION
START-OF-SELECTION.
REFRESH: tl_recin[].
CLEAR: wl_recin.
CREATE OBJECT obj.
*C--Tested the algorithm by manually appending 25 records.
*C--This should be replaced as per the individual requirement
*C--Dummy coding to append records
wl_bapicats1-employeenumber = '00956753'.
wl_bapicats1-workdate = '20120110'.
wl_bapicats1-catshours = '2.00'.
wl_bapicats1-abs_att_type = '9P01'.
APPEND wl_bapicats1 TO tl_recin.
wl_bapicats1-employeenumber = '00956753'.
wl_bapicats1-workdate = '20120107'.
wl_bapicats1-send_cctr = '0109575002'.
wl_bapicats1-acttype = 'DTOIND'.
wl_bapicats1-rec_order = '006000015807'.
wl_bapicats1-wagetype = 'MI10'.
wl_bapicats1-catshours = '3.00'.
APPEND wl_bapicats1 TO tl_recin.
[.......]
*C--Fill in the data for 25 records now
CALL METHOD obj->transfer_data
EXPORTING
tl_data = tl_recin.
*----------------------------------------------------------------------*
* CLASS lcl_cats IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_cats IMPLEMENTATION.
METHOD transfer_data.
DATA: me_return TYPE STANDARD TABLE OF bapiret2.
REFRESH: tl_recout,
tl_message,
tl_chkdata,
me_return.
CALL FUNCTION 'BAPI_CATIMESHEETMGR_INSERT'
EXPORTING
profile = 'YCATUS'
testrun = 'X'
TABLES
catsrecords_in = tl_data
* extensionin = mi_extension_in
catsrecords_out = tl_recout
* extensionout = me_extension_out
return = tl_message.
* longtext = mi_longtext.
me_return = tl_message[].
tl_chkdata = tl_data[].
distribute_data( ).
ENDMETHOD. "transfer_data
METHOD distribute_data.
DATA: tl_recin1 TYPE STANDARD TABLE OF bapicats1,
tl_recin2 TYPE STANDARD TABLE OF bapicats1,
tl_rec3data TYPE STANDARD TABLE OF bapicats1.
REFRESH: tl_recin1[].
IF tl_message IS NOT INITIAL.
DESCRIBE TABLE tl_chkdata LINES num.
IF tl_message IS NOT INITIAL.
n1 = num DIV 2.
n2 = n1 + 1.
*C--Check the ending criteria
CHECK n1 IS NOT INITIAL.
*C--Form two tables of records
*C--First half of internal table
LOOP AT tl_chkdata INTO wl_recin FROM 1 TO n1.
APPEND wl_recin TO tl_recin1.
ENDLOOP.
*C--Second half of internal table
LOOP AT tl_chkdata INTO wl_recin FROM n2 TO num.
APPEND wl_recin TO tl_recin2.
ENDLOOP.
ENDIF.
*C--Append this in public variable of data
APPEND LINES OF tl_recin2 TO tl_rec2data.
*C--Call BAPI update
CALL METHOD obj->transfer_data
EXPORTING
tl_data = tl_recin1.
tl_rec3data[] = tl_rec2data[].
REFRESH: tl_rec2data[].
CALL METHOD obj->transfer_data
EXPORTING
tl_data = tl_rec3data.
ELSE. "MESSAGE IS INTIAL
*C--Append the contents in an internal table containing correct records
APPEND LINES OF tl_chkdata TO t_passrec.
ENDIF.
ENDMETHOD. "distribute_data
ENDCLASS. "lcl_cats IMPLEMENTATIONregards,
HaHu
‎2013 Apr 30 8:43 AM
Hi,
YCATT_BAPICATS1 is a table type of line type BAPICATS1 (standard structure). Thanks.
Regards,
Kumud
‎2013 Apr 30 8:52 AM
thanks again Kumud!!! please brief me more !!!
you know i want to update catsdb by taking your code as an input so please share me more
i have done every thing on configuration and enhancement one more thing is coding only so please ma dear show me the way!!!!!!
regards,
HaHu
‎2013 Mar 20 8:17 AM
To fill CATSDB (as you could find in the previous link posted) use BAPI like BAPI_CATIMESHEETMGR_INSERT, BAPI_CATIMESHEETMGR_CHANGE and BAPI_CATIMESHEETMGR_DELETE. You can also read data from catsdb and convert it using MAP2E_CATSDB_EXT_TO_BAPICATS2.
For simple Attendance data, you may not actually require time sheet but time infotype 2011 and interface like BAPI_CC1_UPLOAD_TIMEEVENT.
That can be easily found via transaction BAPI or searching scn. What is the issue that is causing you problems?
Regards,
Raymond