Upload Applicant Data thru BDC
Hi,
Can I upload Applicant Data Through BDC.
Samriddhi
BDC is the program it behave what the way you write.
You have to write code as per your need.
For that you have to record in which way it will do action in genral process
Please ask your abaper to do recording once again
Regards
Similar Messages
-
Uploading data thru BDC into APPCREATE transaction
Hi,
I have used BDC to upload data in the tcode APPCREATE. When I see the uploading using the call transaction method, I am able to see that all the screens are getting populated correctly. But, When I check the result of the upload in APPSEARCH tcode, i am not able to see the completed status. Still the status is 'In Preparation'.
But manually, I am able to do that. I just want to find out if any keys needs to be activated/changed before doing the upload thru BDC.
Thanks & Regards,
SureshHi,
I have used BDC to upload data in the tcode APPCREATE. When I see the uploading using the call transaction method, I am able to see that all the screens are getting populated correctly. But, When I check the result of the upload in APPSEARCH tcode, i am not able to see the completed status. Still the status is 'In Preparation'.
But manually, I am able to do that. I just want to find out if any keys needs to be activated/changed before doing the upload thru BDC.
Thanks & Regards,
Suresh -
What is the Tcodes for Uploading of data using BDC & CATT
PP members:
I was going through the <b>cutover activities</b> , and what I understood is we transfer all the legacy system data into SAP before going live
The data upload follows certain steps (depends on the organizational design load strategies)
First we upload all the master data ( material master, BOM, W/C's & Routings)
Then the transaction data ( Ideally speaking, there should no open orders i.e. WIP as on the day of cutoff )
If the WIP (Work in Process) is unavoidable then the materials consumed shall be treated as <b>materials of the previous stage</b> and necessary adjustments shall be made after cutover day
At this point, I could not able to understand what does the author mean <b>materials of the previous stage</b>
Now comming to the uploading of data into SAP from legacy system, we use tools like LSMW, CATT & BDC
Is it a must to use <b>only LSMW tool</b> to upload master data or any other upload tools are fine
Lastly,. I am not sure about the Tcode of CATT & BDC
Summary of the questions:
1.What does the author mean <b>material of previous stage</b>, for WIP materials during cutover activities
2. Is it mandatory to use only LSMW tool for uploading for master data
3. What are the Tcodes for upload tools CATT & BDC ?
Thanks for your time
Suren RDear,
1.What does the author mean material of previous stage, for WIP materials during cutover activities - as i understood, what is the stage of material..like it must have gone through 2 work centers and other 2 is left. i.e. you need to create Production order with only 2 operation as other 2 is already over. - usually it is done in such a way that we will create Production order and confirm till 2 operations and WIp is calculated so thatb FI will tally the books in SAP and lagacy.
2. Is it mandatory to use only LSMW tool for uploading for master data - no you can use any tool as required and suits yr requirement
3. What are the Tcodes for upload tools CATT & BDC- BDC through a prog in SE38. CATT through - SCEM. -
hi hr gurus,
plz help
we have 3 shifts like 6-2,2-10,10-6.
while uploading time data to sap from third party system.
do we need to take care of the shifts times in BDC?
or do we need to manage it in configurations
if you have any code please send me
regardsHi,
As above said was the also procedure to do the BDC recording.Hope you understand the precedure in detail else have a look @ this.
1.Goto transaction shdb for recording.
2.There give the recording name starting with Z or Y letter.
3.Click "New Recording" button in the left extreme Application tool bar.
4.You will get a new pop up window Create Recording there give Recording Name"Z r Y" and give the transaction code that you going to record for e.g (PA30,XK01).
5.Leave the Mode as it is and click "Start Recording".
6.Here you will get the transaction code window for e.g if you are giving PA30 it will call the corresponding transaction.
7.Start recording by entering the values which you want to record.
8.After recording save the recording and give back.
9.There you find the list of process which is done.
10.Enter your recording name and press enter you will get the program name.
11.Select the program name and press "program" button in the application tool bar.It will ask abt the prgm name and give read from file.
12.You will get the coding in se38 for recording.
13.Edit your program for uploading the flat file from you legacy system to application server by using CALL FUNCTION "GUI_UPLOAD".
14.Get the flat file and fill it in internal table and pass the internal table values by giving "loop at internal table" after READ DATASET statement.
15.Select the call transaction for small no. of data for large no. of data we have to use session method.(Refer some links for difference between session and call transaction).
16.There by executing the program we will get the output which record are created.
Thanks,
Sakthi.C
*Rewards if usefull--* -
Error in uploading the data using BDC
Hi All,
I developed a BDC to upload the data for Infotype-0195.When I am trying to upload the flatfile using Functional Module option I am getting the error Invalid Date Format.
Can anyone please help me out giving the solution..........
Thanks in advance,
DeepikaHi Avinash,
I am passing the date field in the format MM/DD/YYYY but in the program i am converting to the format YYYYMMDD using concatenate and then passing the value to the FM but still I am getting the error.
For ur convenience I am sending the code
*-- Includes Declaration *
INCLUDE zixx_data_upload.
INCLUDE zixx_conversion_log.
INCLUDE bdcrecx1.
*-- SELECTION SCREEN *
SELECTION-SCREEN BEGIN OF BLOCK funcmod WITH FRAME TITLE text-t01.
PARAMETERS : p_fm TYPE c AS CHECKBOX.
PARAMETERS : p_ctumod TYPE ctu_mode DEFAULT '0',
p_date TYPE c AS CHECKBOX DEFAULT 'X'.
SELECTION-SCREEN END OF BLOCK funcmod.
TYPES Declaration.
Types decalration for flat file structure
*Declaration for internal table/wa for flat file structure
TYPES: BEGIN OF gt_data,
pernr TYPE rp50g-pernr,
begda(10) TYPE c,
endda(10) TYPE c,
gcase TYPE pb10_gcase,
objps TYPE p0195-objps,
ordcd TYPE p0195-ordcd,
rulid TYPE p0195-rulid,
ibaln(13) TYPE c,
deduc(13) TYPE c,
dedut TYPE p0195-dedut,
li1no TYPE q0195-li1no,
li1ex TYPE q0195-li1ex,
nval1(13) TYPE c,
nuni1 TYPE p0195-nuni1,
li2no TYPE q0195-li1no,
li2ex TYPE q0195-li2ex,
nval2(13) TYPE c,
nuni2 TYPE p0195-nuni2,
addno TYPE q0195-addno,
addex TYPE q0195-addex,
addvl(13) TYPE c,
addun TYPE p0195-addun,
fstat TYPE p0195-fstat,
exemp TYPE p0195-exemp,
addde TYPE p0195-addde,
levda(10) TYPE c,
fild1 TYPE p0195-fild1,
fild2 TYPE p0195-fild2,
fild3 TYPE p0195-fild3,
fild4 TYPE p0195-fild4,
END OF gt_data,
BEGIN OF gt_0194,
pernr TYPE p0194-pernr,
begda TYPE p0194-begda,
endda TYPE p0194-endda,
subty TYPE p0194-subty,
lifnr TYPE p0194-lifnr,
schid TYPE p0194-schid,
rulnr TYPE p0194-rulnr,
plain TYPE p0194-plain,
orign TYPE p0194-orign,
orcod TYPE p0194-orcod,
ornam TYPE p0194-ornam,
orstr TYPE p0194-orstr,
orort TYPE p0194-orort,
orreg TYPE p0194-orreg,
orcnt TYPE p0194-orcnt,
orplz TYPE p0194-orplz,
lapdy TYPE p0194-lapdy,
lapdt TYPE p0194-lapdt,
gcase TYPE p0194-gcase,
gprio TYPE p0194-gprio,
gcate TYPE p0194-gcate,
gstat TYPE p0194-gstat,
rcvdd TYPE p0194-rcvdd,
rlsdd TYPE p0194-rlsdd,
scrul TYPE p0194-scrul,
END OF gt_0194.
TYPES: BEGIN OF gt_data_d,
pernr TYPE rp50g-pernr,
begda(10) TYPE c,
endda(10) TYPE c,
gcase TYPE pb10_gcase,
objps TYPE p0195-objps,
ordcd TYPE p0195-ordcd,
rulid TYPE p0195-rulid,
ibaln(13) TYPE c,
deduc(13) TYPE c,
dedut TYPE p0195-dedut,
li1no TYPE q0195-li1no,
li1ex TYPE q0195-li1ex,
nval1(13) TYPE c,
nuni1 TYPE p0195-nuni1,
li2no TYPE q0195-li1no,
li2ex TYPE q0195-li2ex,
nval2(13) TYPE c,
nuni2 TYPE p0195-nuni2,
addno TYPE q0195-addno,
addex TYPE q0195-addex,
addvl(13) TYPE c,
addun TYPE p0195-addun,
fstat TYPE p0195-fstat,
exemp TYPE p0195-exemp,
addde TYPE p0195-addde,
fild1 TYPE p0195-fild1,
fild2 TYPE p0195-fild2,
fild3 TYPE p0195-fild3,
fild4 TYPE p0195-fild4,
END OF gt_data_d.
INTERNAL TABLE/WORK AREA Declaration.
*Declaration for internal table/wa for flat file structure
DATA: gi_data TYPE TABLE OF gt_data,
gw_data TYPE gt_data,
gi_0194 TYPE TABLE OF gt_0194,
gw_0194 TYPE gt_0194,
*Declaration for BDCDATA
gi_bdcdata TYPE STANDARD TABLE OF bdcdata,
gw_bdcdata TYPE bdcdata,
*Declaration for BDCMSGCOLL
gi_bdcmsgcoll TYPE TABLE OF bdcmsgcoll,
gw_bdcmsgcoll TYPE bdcmsgcoll,
gi_data_d TYPE TABLE OF gt_data_d,
gw_data_d TYPE gt_data_d,
gw_p0195 TYPE p0195,
gw_p0194 TYPE pa0194.
DATA: gw_return TYPE bapireturn1,
*Declaration for Global Variables
gv_count(5) TYPE c VALUE 0.
*Declaration for constants
CONSTANTS: gc_update VALUE 'L',
gc_msgid(2) VALUE 'PG',
gc_s_msgid(3) VALUE '102',
gc_pa30 TYPE tstc-tcode VALUE 'PA30',
gc_200(3) VALUE '200'.
*-- AT SELECTION SCREEN OUTPUT
AT SELECTION-SCREEN OUTPUT.
nodata = ' '.
group = sy-uname.
*To change the screen attributes dynamically.
PERFORM upload_screen_output.
*-- START-OF-SELECTION *
START-OF-SELECTION.
IF p_date = 'X'.
*-- Routine to upload the file data
PERFORM upload USING 'X' "HAS_SEPARATOR
'ASC' "File Type
space "ALT_SEPARATOR Alternate separator
'X' "DISPLAY_ERROR
'X' "ERROR_OCCURRED
gi_data. "TABLE Table to upload into
IF NOT gi_data IS INITIAL.
SELECT pernr begda endda subty
lifnr schid rulnr
plain orign orcod
ornam orstr orort
orreg orcnt orplz
lapdy lapdt gcase
gprio gcate gstat
rcvdd rlsdd scrul
FROM pa0194
INTO TABLE gi_0194
FOR ALL ENTRIES IN gi_data
WHERE pernr = gi_data-pernr
AND gcase = gi_data-gcase.
*-- Routine to perform bdc
IF sy-subrc IS INITIAL.
IF p_fm NE 'X'.
PERFORM bdc.
ELSE.
PERFORM function_module.
ENDIF.
ENDIF.
ENDIF.
ELSE.
*-- Routine to upload the file data
PERFORM upload USING 'X' "HAS_SEPARATOR
'ASC' "File Type
space "ALT_SEPARATOR Alternate separator
'X' "DISPLAY_ERROR
'X' "ERROR_OCCURRED
gi_data_d. "TABLE Table to upload into
IF NOT gi_data_d IS INITIAL.
IF p_fm EQ 'X'.
PERFORM function_module.
ENDIF.
ENDIF.
ENDIF.
*Perform to insert the filename in Z-Table and move the file from New
*to Processed in APP Server.
SORT gi_log BY msg_typ.
READ TABLE gi_log INTO gw_log WITH KEY msg_typ = 'E' BINARY SEARCH.
IF sy-subrc <> '0'.
PERFORM file_moving USING gi_data.
ENDIF.
*-- END-OF-SELECTION *
END-OF-SELECTION.
*-- Routine to display conversion log
PERFORM log_display.
Subroutine Pool
*& Form BDC
Routine to perform bdc
FORM bdc .
*Data declaration for collecting success and error records
DATA: lv_success(5) TYPE c VALUE 0,
lv_begda TYPE string,
lv_rlsdd TYPE string,
lv_lapdt TYPE string,
lv_endda TYPE string,
lv_rcvdd TYPE string.
gv_count = 0.
PERFORM open_group.
SORT gi_0194 BY pernr gcase.
LOOP AT gi_data INTO gw_data.
gv_count = gv_count + 1.
READ TABLE gi_0194 INTO gw_0194 WITH KEY pernr = gw_data-pernr
gcase = gw_data-gcase.
IF sy-subrc = 0.
LOOP AT gi_0194 INTO gw_0194 WHERE gcase = gw_data-grnum.
MOVE gw_0194-begda TO lv_begda.
MOVE gw_0194-endda TO lv_endda.
*FUNCTION MODULE TO CONVERT DATE FORMAT
CALL FUNCTION '/SAPDII/SPP05_CONVERT_DATE'
EXPORTING
if_date = lv_begda
IMPORTING
ef_date = lv_begda.
CALL FUNCTION '/SAPDII/SPP05_CONVERT_DATE'
EXPORTING
if_date = lv_endda
IMPORTING
ef_date = lv_endda.
PERFORM bdc_dynpro USING 'SAPMP50A' '1000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=MOD'.
PERFORM bdc_field USING 'RP50G-PERNR'
gw_data-pernr.
PERFORM bdc_field USING 'RP50G-TIMR6'
'X'.
PERFORM bdc_field USING 'RP50G-CHOIC'
'0194'.
PERFORM bdc_field USING 'RP50G-SUBTY'
gw_0194-subty.
PERFORM bdc_dynpro USING 'MP019400' '2000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=GROR'.
PERFORM bdc_field USING 'P0194-BEGDA'
lv_begda.
PERFORM bdc_field USING 'P0194-ENDDA'
lv_endda.
PERFORM bdc_field USING 'P0194-LIFNR'
gw_0194-lifnr.
PERFORM bdc_field USING 'P0194-SCHID'
gw_0194-schid.
PERFORM bdc_field USING 'P0194-RULNR'
gw_0194-rulnr.
PERFORM bdc_field USING 'P0194-pLAIN'
gw_0194-plain.
PERFORM bdc_field USING 'P0194-ORIGN'
gw_0194-orign.
PERFORM bdc_field USING 'P0194-ORCOD'
gw_0194-orcod.
PERFORM bdc_field USING 'P0194-ORNAM'
gw_0194-ornam.
PERFORM bdc_field USING 'P0194-ORSTR'
gw_0194-orstr.
PERFORM bdc_field USING 'P0194-ORORT'
gw_0194-orort.
PERFORM bdc_field USING 'P0194-ORREG'
gw_0194-orreg.
PERFORM bdc_field USING 'P0194-ORCNT'
gw_0194-orcnt.
PERFORM bdc_field USING 'P0194-ORPLZ'
gw_0194-orplz.
PERFORM bdc_field USING 'P0194-LAPDY'
gw_0194-lapdy.
IF gw_0194-lapdt IS NOT INITIAL.
MOVE gw_0194-lapdt TO lv_lapdt.
CALL FUNCTION '/SAPDII/SPP05_CONVERT_DATE'
EXPORTING
if_date = lv_lapdt
IMPORTING
ef_date = lv_lapdt.
PERFORM bdc_field USING 'P0194-LAPDT'
lv_lapdt.
ENDIF.
PERFORM bdc_field USING 'P0194-GCASE'
gw_0194-gcase.
PERFORM bdc_field USING 'P0194-GPRIO'
gw_0194-gprio.
PERFORM bdc_field USING 'P0194-GCATE'
gw_0194-gcate.
PERFORM bdc_field USING 'P0194-GSTAT'
gw_0194-gstat.
IF gw_0194-rcvdd IS NOT INITIAL.
MOVE gw_0194-rcvdd TO lv_rcvdd.
CALL FUNCTION '/SAPDII/SPP05_CONVERT_DATE'
EXPORTING
if_date = lv_rcvdd
IMPORTING
ef_date = lv_rcvdd.
PERFORM bdc_field USING 'P0194-RCVDD'
lv_rcvdd.
ENDIF.
IF gw_0194-rlsdd IS NOT INITIAL.
MOVE gw_0194-rlsdd TO lv_rlsdd.
CALL FUNCTION '/SAPDII/SPP05_CONVERT_DATE'
EXPORTING
if_date = lv_rlsdd
IMPORTING
ef_date = lv_rlsdd.
PERFORM bdc_field USING 'P0194-RLSDD'
lv_rlsdd.
ENDIF.
PERFORM bdc_field USING 'P0194-SCRUL'
gw_0194-scrul.
PERFORM bdc_dynpro USING 'SAPLSPO1' '0200'.
PERFORM bdc_field USING 'BDC_CURSOR'
'SPOP-TEXTLINE1'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=YES'.
PERFORM bdc_dynpro USING 'SAPLSPO1' '0200'.
PERFORM bdc_field USING 'BDC_CURSOR'
'SPOP-TEXTLINE1'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=YES'.
PERFORM bdc_dynpro USING 'MP019500' '2000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=UPD'.
PERFORM bdc_field USING 'P0195-BEGDA'
gw_data-begda.
PERFORM bdc_field USING 'P0195-ENDDA'
gw_data-endda.
PERFORM bdc_field USING 'P0195-ORDCD'
gw_data-ordcd.
PERFORM bdc_field USING 'P0195-RULID'
gw_data-rulid.
PERFORM bdc_field USING 'P0195-IBALN'
gw_data-ibaln.
PERFORM bdc_field USING 'P0195-DEDUC'
gw_data-deduc.
PERFORM bdc_field USING 'P0195-DEDUT'
gw_data-dedut.
Begin of Insertion V2.0 by S.NATARAJAN
IF ( ( gw_data-li1no = '1' AND gw_data-li1ex = '' ) OR
( gw_data-li1no = '' AND gw_data-li1ex = '' ) ).
IF ( ( gw_data-li1no = '1' AND gw_data-li1ex = '' ) OR
( gw_data-li1no = '' AND gw_data-li1ex = '' ) OR
( gw_data-li1no = '' AND gw_data-li1ex = '2' ) ).
End of Insertion V2.0 by S.NATARAJAN
PERFORM bdc_field USING 'Q0195-LI1NO'
'X'.
PERFORM bdc_field USING 'P0195-NVAL1'
gw_data-nval1.
PERFORM bdc_field USING 'P0195-NUNI1'
gw_data-nuni1.
Begin of Insertion V2.0 by S.NATARAJAN
ELSEIF gw_data-li1no = '' AND gw_data-li1ex = '2' .
ELSEIF ( gw_data-li1no = '' AND gw_data-li1ex = '1' ) .
End of Insertion V2.0 by S.NATARAJAN
PERFORM bdc_field USING 'Q0195-LI1EX'
'X'.
PERFORM bdc_field USING 'P0195-NVAL1'
gw_data-nval1.
PERFORM bdc_field USING 'P0195-NUNI1'
gw_data-nuni1.
ENDIF.
Begin of Insertion V2.0 by S.NATARAJAN
IF ( ( gw_data-li2no = '1' AND gw_data-li2ex = '' ) OR
( gw_data-li2no = '' AND gw_data-li2ex = '' ) ).
IF ( ( gw_data-li2no = '1' AND gw_data-li2ex = '' ) OR
( gw_data-li2no = '' AND gw_data-li2ex = '' ) OR
( gw_data-li2no = '' AND gw_data-li2ex = '2' ) ).
PERFORM bdc_field USING 'Q0195-LI2NO'
'X'.
PERFORM bdc_field USING 'P0195-NVAL2'
gw_data-nval2.
PERFORM bdc_field USING 'P0195-NUNI2'
gw_data-nuni2.
Begin of Insertion V2.0 by S.NATARAJAN
ELSEIF ( gw_data-li2no = '' AND gw_data-li2ex = '2' ).
ELSEIF ( gw_data-li2no = '' AND gw_data-li2ex = '1' ).
End of Insertion V2.0 by S.NATARAJAN
PERFORM bdc_field USING 'Q0195-LI2EX'
'X'.
PERFORM bdc_field USING 'P0195-NVAL2'
gw_data-nval2.
PERFORM bdc_field USING 'P0195-NUNI2'
gw_data-nuni2.
ENDIF.
Begin of Insertion V2.0 by S.NATARAJAN
IF ( ( gw_data-addno = '1' AND gw_data-addex = '' ) OR
( gw_data-addno = '' AND gw_data-addex = '' ) ).
End of Insertion V2.0 by S.NATARAJAN
IF ( ( gw_data-addno = '1' AND gw_data-addex = '' ) OR
( gw_data-addno = '' AND gw_data-addex = '' ) OR
( gw_data-addno = '' AND gw_data-addex = '2' ) ) .
PERFORM bdc_field USING 'Q0195-ADDNO'
'X'.
PERFORM bdc_field USING 'P0195-ADDVL'
gw_data-addvl.
PERFORM bdc_field USING 'P0195-ADDUN'
gw_data-addun.
Begin of Insertion V2.0 by S.NATARAJAN
*ELSEIF gw_data-addno = '' AND gw_data-addex = '2' .
ELSEIF ( gw_data-addno = '' AND gw_data-addex = '1' ).
End of Insertion V2.0 by S.NATARAJAN
PERFORM bdc_field USING 'Q0195-ADDEX'
'X'.
PERFORM bdc_field USING 'P0195-ADDVL'
gw_data-addvl.
PERFORM bdc_field USING 'P0195-ADDUN'
gw_data-addun.
ENDIF.
PERFORM bdc_dynpro USING 'MP019500' '2000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=UPD'.
PERFORM bdc_dynpro USING 'MP019400' '2000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/EBCK'.
PERFORM bdc_dynpro USING 'SAPLSPO1' '0200'.
PERFORM bdc_field USING 'BDC_CURSOR'
'SPOP-TEXTLINE1'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=YES'.
PERFORM bdc_dynpro USING 'SAPLSPO1' '0200'.
PERFORM bdc_field USING 'BDC_CURSOR'
'SPOP-TEXTLINE1'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=YES'.
PERFORM bdc_dynpro USING 'MP019500' '2000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=UPD'.
CALL TRANSACTION gc_pa30 USING gi_bdcdata
MODE p_ctumod
UPDATE gc_update
MESSAGES INTO gi_bdcmsgcoll.
PERFORM bdc_transaction USING gc_pa30.
gi_bdcmsgcoll[] = messtab[].
LOOP AT gi_bdcmsgcoll INTO gw_bdcmsgcoll.
IF gw_bdcmsgcoll-msgnr NE gc_200.
IF gw_bdcmsgcoll-msgid = gc_msgid.
IF gw_bdcmsgcoll-msgnr EQ gc_s_msgid.
ADD 1 TO lv_success.
ENDIF.
ENDIF.
gw_log-msg_id = gw_bdcmsgcoll-msgid.
gw_log-msg_num = gw_bdcmsgcoll-msgnr.
gw_log-msg_key = gw_bdcmsgcoll-msgv1.
gw_log-msg_typ = gw_bdcmsgcoll-msgtyp.
gw_log-rec_no = gv_count.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
id = gw_log-msg_id
no = gw_log-msg_num
v1 = gw_bdcmsgcoll-msgv1
v2 = gw_bdcmsgcoll-msgv2
v3 = gw_bdcmsgcoll-msgv3
v4 = gw_bdcmsgcoll-msgv4
IMPORTING
msg = gw_log-msg_txt
EXCEPTIONS
not_found = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
CONCATENATE gw_log-msg_txt 'for Personnel No -' ''''
gw_data-pernr '''' 'Case -' '''' gw_data-gcase
'''' INTO gw_log-msg_txt SEPARATED BY space.
APPEND gw_log TO gi_log.
REFRESH gi_bdcmsgcoll.
ENDIF.
ENDLOOP.
CLEAR : lv_begda,lv_endda,
lv_lapdt,lv_rlsdd.
ELSE.
gw_log-msg_id = 'CUST'.
gw_log-msg_num = 'XXX'.
gw_log-msg_key = 'USK'.
gw_log-msg_typ = 'E'.
gw_log-rec_no = gv_count.
CONCATENATE 'Case -' '''' gw_data-gcase ''''
'does not exists for Personnel No -'
'''' gw_data-pernr ''''
INTO gw_log-msg_txt SEPARATED BY space.
APPEND gw_log TO gi_log.
ENDIF.
ENDLOOP.
CLEAR : gw_0194, gw_data.
REFRESH gi_bdcdata.
ENDLOOP.
FREE gi_data.
gv_tot_rec = gv_count.
gv_suc_rec = lv_success.
gv_err_rec = gv_count - lv_success.
gv_ifnam = p_upfile.
PERFORM close_group.
ENDFORM. " BDC
*& Form FUNCTION_MODULE
text
FORM function_module .
IF p_date = 'X'.
LOOP AT gi_data INTO gw_data.
gv_count = gv_count + 1.
SELECT SINGLE pernr begda endda subty grnum
FROM pa0194
INTO CORRESPONDING FIELDS OF gw_p0194
WHERE pernr = gw_data-pernr
AND gcase = gw_data-gcase.
IF sy-subrc = 0.
MOVE-CORRESPONDING gw_data TO gw_p0195.
CONCATENATE gw_data-begda6(4) gw_data-begda3(2)
gw_data-begda+0(2)
INTO gw_p0195-begda.
CONCATENATE gw_data-endda6(4) gw_data-endda3(2)
gw_data-endda+0(2)
INTO gw_p0195-endda.
CONCATENATE gw_data-levda6(4) gw_data-levda3(2)
gw_data-levda+0(2)
INTO gw_p0195-levda.
gw_p0195-grnum = gw_p0194-grnum.
gw_p0195-nein1 = ' '.
gw_p0195-nein2 = ' '.
gw_p0195-addin = ' '.
IF ( gw_data-li1no = '' AND gw_data-li1ex = '1' ) .
gw_p0195-nein1 = '1'.
ELSEIF ( gw_data-li1ex = '2' OR gw_data-li1ex = '' ).
gw_p0195-nein1 = '2'.
ENDIF.
IF ( gw_data-li2no = '' AND gw_data-li2ex = '1' ) .
gw_p0195-nein2 = '1'.
ELSEIF ( gw_data-li2ex = '2' OR gw_data-li2ex = '' ).
gw_p0195-nein2 = '2'.
ENDIF.
IF ( gw_data-addno = '' AND gw_data-addex = '1' ) .
gw_p0195-addin = '1'.
ELSEIF ( gw_data-addex = '2' OR gw_data-addex = '' ).
gw_p0195-addin = '2'.
ENDIF.
CALL FUNCTION 'BAPI_EMPLOYEE_ENQUEUE'
EXPORTING
number = gw_p0195-pernr
IMPORTING
return = gw_return.
IF gw_return-type NE 'E'.
CALL FUNCTION 'HR_INFOTYPE_OPERATION'
EXPORTING
infty = '0195'
number = gw_p0195-pernr
validityend = gw_p0195-endda
validitybegin = gw_p0195-begda
record = gw_p0195
operation = 'INS'
dialog_mode = p_ctumod "Mod-01
tclas = 'A'
nocommit = ' '
IMPORTING
return = gw_return.
CALL FUNCTION 'BAPI_EMPLOYEE_DEQUEUE'
EXPORTING
number = gw_p0195-pernr.
ENDIF.
IF gw_return IS NOT INITIAL.
gw_log-msg_id = gw_return-id.
gw_log-msg_num = gw_return-number.
CONCATENATE gw_data-pernr gw_data-gcase INTO
gw_log-msg_key SEPARATED BY '|'.
gw_log-msg_typ = gw_return-type.
gw_log-rec_no = gv_count.
gw_log-msg_txt = gw_return-message.
ELSE.
gw_log-msg_id = 'CUST'.
gw_log-msg_num = '000'.
CONCATENATE gw_data-pernr gw_data-gcase INTO
gw_log-msg_key SEPARATED BY '|'.
gw_log-msg_typ = 'S'.
gw_log-rec_no = gv_count.
gw_log-msg_txt = 'Record Created'(t02).
ENDIF.
ELSE.
gw_log-msg_id = 'CUST'.
gw_log-msg_num = 'XXX'.
CONCATENATE gw_data-pernr gw_data-gcase INTO
gw_log-msg_key SEPARATED BY '|'.
gw_log-msg_typ = 'E'.
gw_log-rec_no = gv_count.
gw_log-msg_txt = 'Case does not exists for Personnel No'(t03).
ENDIF.
APPEND gw_log TO gi_log.
CLEAR : gw_log,gw_return,gw_data,gw_p0194,gw_p0195.
ENDLOOP.
ELSE.
LOOP AT gi_data_d INTO gw_data_d.
gv_count = gv_count + 1.
SELECT SINGLE pernr begda endda subty grnum
FROM pa0194
INTO CORRESPONDING FIELDS OF gw_p0194
WHERE pernr = gw_data_d-pernr
AND gcase = gw_data_d-gcase.
IF sy-subrc = 0.
MOVE-CORRESPONDING gw_data_d TO gw_p0195.
CONCATENATE gw_data_d-begda6(4) gw_data_d-begda3(2)
gw_data_d-begda+0(2)
INTO gw_p0195-begda.
CONCATENATE gw_data_d-endda6(4) gw_data_d-endda3(2)
gw_data_d-endda+0(2)
INTO gw_p0195-endda.
gw_p0195-grnum = gw_p0194-grnum.
gw_p0195-nein1 = ' '.
gw_p0195-nein2 = ' '.
gw_p0195-addin = ' '.
IF ( gw_data_d-li1no = '' AND gw_data_d-li1ex = '1' ) .
gw_p0195-nein1 = '1'.
ELSEIF ( gw_data_d-li1ex = '2' OR gw_data_d-li1ex = '' ).
gw_p0195-nein1 = '2'.
ENDIF.
IF ( gw_data_d-li2no = '' AND gw_data_d-li2ex = '1' ) .
gw_p0195-nein2 = '1'.
ELSEIF ( gw_data_d-li2ex = '2' OR gw_data_d-li2ex = '' ).
gw_p0195-nein2 = '2'.
ENDIF.
IF ( gw_data_d-addno = '' AND gw_data_d-addex = '1' ) .
gw_p0195-addin = '1'.
ELSEIF ( gw_data_d-addex = '2' OR gw_data_d-addex = '' ).
gw_p0195-addin = '2'.
ENDIF.
CALL FUNCTION 'BAPI_EMPLOYEE_ENQUEUE'
EXPORTING
number = gw_p0195-pernr
IMPORTING
return = gw_return.
IF gw_return-type NE 'E'.
CALL FUNCTION 'HR_INFOTYPE_OPERATION'
EXPORTING
infty = '0195'
number = gw_p0195-pernr
validityend = gw_p0195-endda
validitybegin = gw_p0195-begda
record = gw_p0195
operation = 'INS'
dialog_mode = p_ctumod "Mod-01
tclas = 'A'
nocommit = ' '
IMPORTING
return = gw_return.
CALL FUNCTION 'BAPI_EMPLOYEE_DEQUEUE'
EXPORTING
number = gw_p0195-pernr.
ENDIF.
IF gw_return IS NOT INITIAL.
gw_log-msg_id = gw_return-id.
gw_log-msg_num = gw_return-number.
CONCATENATE gw_data_d-pernr gw_data_d-gcase INTO
gw_log-msg_key SEPARATED BY '|'.
gw_log-msg_typ = gw_return-type.
gw_log-rec_no = gv_count.
gw_log-msg_txt = gw_return-message.
ELSE.
gw_log-msg_id = 'CUST'.
gw_log-msg_num = '000'.
CONCATENATE gw_data_d-pernr gw_data_d-gcase INTO
gw_log-msg_key SEPARATED BY '|'.
gw_log-msg_typ = 'S'.
gw_log-rec_no = gv_count.
gw_log-msg_txt = 'Record Created'(t02).
ENDIF.
ELSE.
gw_log-msg_id = 'CUST'.
gw_log-msg_num = 'XXX'.
CONCATENATE gw_data_d-pernr gw_data_d-gcase INTO
gw_log-msg_key SEPARATED BY '|'.
gw_log-msg_typ = 'E'.
gw_log-rec_no = gv_count.
gw_log-msg_txt = 'Case does not exists for Personnel No '(t03).
ENDIF.
APPEND gw_log TO gi_log.
CLEAR : gw_log,gw_return,gw_data_d,gw_p0194,gw_p0195.
ENDLOOP.
ENDIF.
ENDFORM.
Thanks. -
How we can upload the data through BDC for transaction J1ID
Hi guru
How w can upload the data for Transaction J1ID.In this we want to upload the data for Customer Excise details. I want to upload the data on behalf of Customer (KUNNR) becasue customer is a primary KEY. Table name: J_1IMOCUST
Fields. 11 Fields.plz provide some code logic.
KUNNR J_1IEXCD J_1IEXRN J_1IEXRG J_1IEXDI J_1IEXCO J_1ICSTNO J_1ILSTNO J_1IPANNO J_1IEXCICU J_1ISERNHi,
I dont see any difficulties in doing BDC upload for J1ID, You have to record by giving the New Entries button and then enter all the details of customers using table control technique.
SEARCH SCN for Table Control in BDC
Regards
Karthik D -
Upload excel data thru gui_upload in CRM
Hi,
Can anyone tell me how to upload excel data into internal table thru GUI_UPLOAD only in CRM without converting into text files. Please help me out.
Thanks in advance.
regards
sireeshahi,
Use the FM 'ALSM_EXCEL_TO_INTERNAL_TABLE'.
call function 'ALSM_EXCEL_TO_INTERNAL_TABLE'
exporting
filename = filename
i_begin_col = i_begin_col
i_begin_row = i_begin_row
i_end_col = i_end_col
i_end_row = i_end_row
tables
intern = intern
EXCEPTIONS
INCONSISTENT_PARAMETERS = 1
UPLOAD_OLE = 2
OTHERS = 3 .
if sy-subrc <> 0.
* error
endif.
Regards,
Richa -
Uploading the Data into BDC using Excel sheet
HI Gurus,
Iam uploading the Data Using Excel sheet.TCode:qp01.
Upto 3 screens the data is passing in a very fine manner.
From the fourth screen I'v to enter the Lineitem for a single material.
Ex: Matnr is PJBRIX.
For this material upto 3 screens the data is same ,but from the line item data,the PJBRIX has 3 characterstics.
How can I upload that data.
Structure:
Matnr Group GroupCounter MicCode Method Lower Upper
Pjbrix 5 6 zsr001 zsr001 1 15
Pjbrix 5 6 zsr002 zsr003 4 20
Pjbrix 5 6 zsr006 zsr0018 2 18
This is the Structure.
Pls gv me the advise or Gv me the code asap.
thanks in advance.HI Gurus,
Iam uploading the Data Using Excel sheet.TCode:qp01.
Upto 3 screens the data is passing in a very fine manner.
From the fourth screen I'v to enter the Lineitem for a single material.
Ex: Matnr is PJBRIX.
For this material upto 3 screens the data is same ,but from the line item data,the PJBRIX has 3 characterstics.
How can I upload that data.
Structure:
Matnr Group GroupCounter MicCode Method Lower Upper
Pjbrix 5 6 zsr001 zsr001 1 15
Pjbrix 5 6 zsr002 zsr003 4 20
Pjbrix 5 6 zsr006 zsr0018 2 18
This is the Structure.
Pls gv me the advise or Gv me the code asap.
thanks in advance. -
How can we upload longtext data in BDC?
Hi All,
i want to upload data for a transaction QA11.
In that i have to upload data for fields
QALS-PRUEFLOS',
RQEVA-VCODEGRP,
RQEVA-VCODE'
and one text field (255) is there in that transction.
How can i update that text(255) in to database from internal table.
ie.how can i upload longtext in BDC.?
Regards,
Ravi.Hi,
The uploading of the long text into the transaction can be done in the same way as you do it for other fields. If the flat file from which you upload contains the long text refer that field in your recording and the field would get uploaded into the transaction.
For updating in the database table use the insert statement in case of new records to be updated or the modify statement in case of altering the already existing records in the DB table.
Reward points if helpful.
Thanks,
Archana
Edited by: Archana Sirsi on Apr 10, 2008 9:30 AM -
Hi Gurus,
I am facing some problem during the recording of hader text.. Details given below...
I need to do this by using BDC...
 VA01 Steps as follows:
1. Open VA01
o Enter G2 or L2 order Type
o Enter 9991 for Sales Org
o Enter 01 for Dist Channel
o Enter 99 for Division
2. Enter Customer SAP # from spreadsheet to ship to and sold to
(Enter some appropriate number)
3. Enter Material Code from spreadsheet to Material
(Enter some appropriate number)
4. Enter target quantity as 1
5. Enter Billing date as system date
6. Go to Sales Tab
7. Select Blank for billing block
8. Enter order reason 013 for G2 type or 012 for L2
9. Goto Header, Texts, Choose Invoice header text
10. Enter SVB# from file as well as Quarter Text from file in notes
11. Save
this is want i need to do in order to create invoice serivce request by using BDC.
I can able to get the fields till 8 th point ( i can able to write the program ), but from the 9 th point i m facing the problem..
Bcz it just i need to enter some text here..( may be it's bcz of click )
This is could not able to do it , can you please help me how can i do this ?
Please let me know if i m not clear with my explanation...
Looking forward for your response...Hi,
Please refer this link:
http://help.sap.com/erp2005_ehp_03/helpdata/EN/4e/09d47b8389d4439fa70159920f4bbe/frameset.htm.
Regards,
Rahul -
Steps to download data thru BDC
HI TECHIS
WILL ANYBODY P-LS TELL ME STEPS AND EXAMPLE FOR BDC DOWNLOAD DATA FROM SAP TO FLAT FILE ,,
REWARDS FOR THE ANS,
REGARDS
Santosh LHi Santosh,
Could you plz let us know your requirement in detail.
Regards,
Naren -
Difference between uploading data using BDC,CATT
Dear experts,
what is the difference between uploading the data using BDC and CATT tool?
is it only the coding or something else.
and can you explain the situations where we prefer to upload the data using CATT tool.
thanks in advance.Check this thread -
Differences between BDC , LSMW, BAPI,CATT
Regards,
Amit -
How to load data thru RMDATIND report
hello gurus,
am new in mm and my client wants to extends some material.
i knw the pocess of bdc and lsmw but how can i upload the data thru RMDATIND.
and aslo tell me if i want only two fields to update into Db which is matnr and lgort.
what is d format for this purpose and which format i have to use for that.
and how can i browes this file from my front end like bdc and lsmw.
thanks,
regards amit gujargoud.Dear Amit Gujargoud,
You can LSMW tool.
You use this program to transfer material master records to the R/3 System by direct input online for test purposes.
The program reads the sequential file specified in it as a parameter and updates the data in the material master records. Test only small files (of not more than say 10,000 materials) since the memory space required in test mode is much larger than in live mode.
Production data is transferred with program RBMVSHOW (transaction BMV0).
Regards,
Naveen. -
Problem in the BDC program to upload the data from a flat file.
Hi,
I am required to write a BDC program to upload the data from a flat file. The conditions are as mentioned below:-
1) Selection Screen will be prompted to user and user needs to provide:- File Path on presentation server (with F4 help for this obligatory parameter) and File Separator e.g. @,#,$,%,... etc(fields in the file will be separated by using this special character) or fields may be separated by tab(tab delimited).
2) Finally after the data is uploaded, following messages need to be displayed:-
a) Total Number of records successfully uploaded.
b) Session Name
c) Number of Sessions created.
Problem is when each record is fetched from flat file, the record needs to be split into individual fields separated by delimiter or in case tab separated, then proceeding in usual manner.
It would be great if you provide me either the logic, pseudocode, or sample code for this BDC program.
Thanks,Here is an example program, if you require the delimitor to be a TAB, then enter TAB on the selection screen, if you require the delimitor to be a comma, slash, pipe, whatever, then simply enter that value. This example is simply the uploading of the file, not the BDC, I assume that you know what to do once you have the data into the internal table.
REPORT zrich_0001.
TYPES: BEGIN OF ttab,
rec TYPE string,
END OF ttab.
TYPES: BEGIN OF tdat,
fld1(10) TYPE c,
fld2(10) TYPE c,
fld3(10) TYPE c,
fld4(10) TYPE c,
END OF tdat.
DATA: itab TYPE TABLE OF ttab.
data: xtab like line of itab.
DATA: idat TYPE TABLE OF tdat.
data: xdat like line of idat.
DATA: file_str TYPE string.
DATA: delimitor TYPE string.
PARAMETERS: p_file TYPE localfile.
PARAMETERS: p_del(5) TYPE c.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
DATA: ifiletab TYPE filetable.
DATA: xfiletab LIKE LINE OF ifiletab.
DATA: rc TYPE i.
CALL METHOD cl_gui_frontend_services=>file_open_dialog
CHANGING
file_table = ifiletab
rc = rc.
READ TABLE ifiletab INTO xfiletab INDEX 1.
IF sy-subrc = 0.
p_file = xfiletab-filename.
ENDIF.
START-OF-SELECTION.
TRANSLATE p_del TO UPPER CASE.
CASE p_del.
WHEN 'TAB'.
delimitor = cl_abap_char_utilities=>horizontal_tab.
WHEN others.
delimitor = p_del.
ENDCASE.
file_str = p_file.
CALL METHOD cl_gui_frontend_services=>gui_upload
EXPORTING
filename = file_str
CHANGING
data_tab = itab.
LOOP AT itab into xtab.
CLEAR xdat.
SPLIT xtab-rec AT delimitor INTO xdat-fld1
xdat-fld2
xdat-fld3
xdat-fld4.
APPEND xdat to idat.
ENDLOOP.
LOOP AT idat into xdat.
WRITE:/ xdat-fld1, xdat-fld2, xdat-fld3, xdat-fld4.
ENDLOOP.
Regards,
Rich Heilman -
Error while uploading master data attributes thru flat file
while uploading master data attributes thru flat file i am facing the below errow. can nyone let me know plz.
Error 8 when compiling the upload program: row 227, message: Data type /BIC/CCDEIO_MAT5_ATTR was found in a newThis just means that you changed the transfer rules/transfer structure and have not refreshed the workbench yet. The infopackage data hasn't been updated ... this is similar to a datasource update, where you need to replicate to make sure BW knows the latest version.
The best way to correct this error is to reload RSA1. Every time I make a change to the tr/ts, I always run /nrsa1 to refresh the workbench.
Brian
Maybe you are looking for
-
DVI to VGA to Insignia TV problem
I have a macbook pro: Model Name: MacBook Pro Model Identifier: MacBookPro3,1 Processor Name: Intel Core 2 Duo Processor Speed: 2.4 GHz Number of Processors: 1 Total Number of Cores: 2
-
Leopard installed, DVD now freezes and stalls within seconds
I have a G5 1.8ghz with 1.25GB of ram. The DVD player starts, but freezes after a few seconds of disjointed video playback. Audio continues, but the pointer turns into a permanent 'swirl' and the computer hangs. I can't then stop the player or eject
-
Get you tube to play videos in 1080p HD by default
Does anyone know how to set a you tube default so all videos playback in full 1080p HD. It's so frustrating and a little ridiculous if it's based on internet connection so you tube chooses etc; as it chooses my videos to play back in 480p, but if i m
-
I am trying to download updates for some Free apps. The app update starts to download but before finishing, I get a pop-up message "There was a problem downloading 'APP NAME'. The network connection was reset." A couple of App updates downloaded succ
-
HP Pavilion dv7 Notebook and Intel Centrino Advanced-N 6230 WiFi Card
I've got a dv7tqe (Quad Edition HP Pavilion dv7), part #XW397AV, notebook computer. On page 8 of the manual, it says that the Intel Centrino Advanced-N 6230 wifi card is compatible with this laptop. However, upon further research online from many s