Bdc recording of infotype 24 for qualification
Hi Frn's ,
i want to record bdc of infotype 24 for qualification . but i am not able to input the value of qualification in table control . for this i have to search click the create button given in bottom and after that a pop up is raising to search the value , when i am putting the value and hitting the enter , pop up of serch help is raising ,
the problem begins from here ...
now i am selecting that single value by clicking the check box .....but in recording there is no effect of this .... so finally i am not able to select that value ....
please somebody give me the solution ..
Thanks and Regards.
Priyank Dixit
Hi ,
i think u can also use HR_INFOTYPE_OPERATION to create infotype records , see its documentation to know how to use it .
or search on sdn to get sample programs.
regards
Prabhu
Similar Messages
-
Error : while creating record in infotypes for specific comany code
I am using custom infotype 9025 and 9028 for bonus scheme info for some comany code. E.G. 0004,0010 etc.
when I am takin an employee og comany code 0002 its not allowing to create data for that an giving error "No authorization to maintain &IT TEXT exists" .
So can any body help me out what is problem for that.than delete the existing infotype
by PU00 and ITXXX here xx stands for the number of the infotype
and add the custom wage tpe u had created
sikndar -
Hi SAP Guru's,
1. BDC recording was done for LQ02 in R/3 4.7, to select a line item & click POST CHANGE button, it uses ALV LIST DISPLAY, to output , in which a check box is selected in recording & POST CHANGE button is clicked.
2. The same recording fails in ECC6, here recording to select checkbox in ALV list is not working, so error while clicking POST CHANGE button. ( Here checkbox icon used in ALV List looks different than in R/3 4.7 )..
I understand BDC for ALV will not work, but how come it works in 4.7 & not in ECC6
Is there any solutions for this, any commets ????
Thanks in advance.
Regards,
Aakash.Hi Aakash,
When there is a new release, there may be some chanegs in screen elements in the new version. As a result of which the BDC recording of older version may never work as earlier. So during upgrade BDC programs are modified in case there are errors.
You will have to create new recording in Tcode SHDB and use it in the BDC program
Regards,
Vasuki -
How To upload a infotype via BDC recording
Hi ,
I am looking to do a BDC recording to upload a infotype which is 105 for communications My office head quarters are moving so they are changing the first 6 digits of the tlefone numbers but the extensions will remain the same so how is this possible .
regardsA better approach to BDC would be to use a BAPI function module, for example BAPI_EMPLCOMM_CHANGE to change the current data. Make sure you specify the correct Subtype for the telephone number communication. Pass the new telephone number in the COMMUNICATIONID importing interface parameter.
Make sure you lock (BAPI_EMPLOYEE_ENQUEUE) the employee before calling the BAPI and unlock afterwards (BAPI_EMPLOYEE_DEQUEUE).
Hope this helps.
JB -
Data Migration- Infotypes BDC Recording
Hi All,
Iam currently working on data migration project.
Before i joined here,they developed the upload programes,by using Function modules.But when we are doing that,we are able to see in Over veiw,But when we go to change mode,nothing is there on screen.Then we tried Using BDC Recording for IT0105.Then working perfectly.
So i need a help,if any one of you any idea on list of the Infotypes which need BDC Recording.
I need the List of infotypes,so that i make sure,we use BDC .
Its on priority,Pls have some inputs.
Thanks,
AnithaHey Anitha,
BDC and LSMW are both data loading techniques.
In both cases you will need input files in a specific format so that these are read by your BDC or LSMW program
The main difference is
Using BDC you can validate the data in the system. Suppose you want to check if an employee is active before loading the data then BDC is advisable because you can check the employment status of the employee and then upload data or else give a message that employee is terminated and data loading has been skipped
If there is a straight forward upload without any validation then go for LSMW
Finally it depends on your requirements
Cheers
Ajay
As stated above IT 0008 has to be filled using table control hence BDC is helpful
Edited by: Ajay Hosur on Apr 13, 2010 6:41 AM -
What is the tcode for bdc recording and how to do in hr-abap for pa and om
hi,
I need to do the bdc recording for pa and om. So, can any of you tell me how to do and what are the tcodes we have to use.
thanks & regards,
Sekhar.Hi ,
Here is the link from you will get all the transaction code
http://www.sap-basis-abap.com/saphr004.htm
As far PA specfic some tcodes are given below
PA20 Display HR Master Data
PA30 Maintain HR Master Data
PA40 Personnel Actions
PA41 Correct Actions
PA42 Fast Entry for Actions
PA46 Import from Resumix
PA47 Export to Resumix
PA48 Hiring from non-SAP system
PA51 Display Time Data
PA53 Display Time Data
PA61 Maintain Time Data
PA62 List Entry of Additional Data
PA63 Maintain Time Data
PA64 Calendar Entry
PA70 Fast Entry
PA71 Fast Entry of Time Data
PA88 Benefits
For OM specific
PP01 Maintain Plan Data (menu-guided) -
BDC recording for s_alr_87012090
Hi Friends,
My requirement :
As we do vendor changes in xk02, the critical data like bank details, name and address are to be confirmed. so my client want, the changes done in address should not got to confirmation, so I want to do BDC recording for S_ALR_87012090 ( confir vendor changes ). and will check if only address changes are done then i will run these BDC recording .
but i am unable to do recording.
please help me out.
regards
Kumar MHello Kumar M,
What is the issue with it? Why cant you do the recording?
BR,
Suhas -
Bdc recording for XK02 to change vendor address
Dear All,
I am trying to create a bdc recording for XK02 transaction to change Address fields ( Name1 ... Name4 , House num1, street , House number supplement , city , State , Postal code etc .)
When i open the transaction XK02 by clicking address, I see all the above fields.
But when i try to create a recording for the same XK02 transaction through SM35, I see House no & Street as one field and House number supplement missing.
Please let me know how can i update House num1 , Street and House num supplement seperately.
Thanks,
HimaPlease chekc you entry in Country & Region.
The region should belong to the country.
Regards
Bhavesh MIstry -
hi
i have been asked to do bdc recording for the transaction mek1 through the call transaction method.can u people plss tell me how to go abt it?Hi,
You can Record using the Tcode SHDB and format the program and use.
You can use VK11 tcode also which is similar to MEK1.
see the sample code for VK11 ; You can change as per your requirement.
report ZSDBDCP_PRICING no standard page heading
line-size 255.
Includes
include zbdcrecx1.
Internal Tables
*--Internal Table To hold condition records data from flat file.
Data: begin of it_pricing occurs 0,
key(4),
f1(4),
f2(4),
f3(2),
f4(18),
f5(16),
end of it_pricing.
*--Internal Table To hold condition records header .
data : begin of it_header occurs 0,
key(4),
f1(4),
f2(4),
f3(2),
end of it_header.
*--Internal Table To hold condition records details .
data : begin of it_details occurs 0,
key(4),
f4(18),
f5(16),
end of it_details.
data : v_sno(2),
v_rows type i,
v_fname(40).
start-of-selection.
refresh : it_pricing,it_header,it_details.
clear : it_pricing,it_header,it_details.
CALL FUNCTION 'UPLOAD'
EXPORTING
FILENAME = 'C:\WINDOWS\Desktop\pricing.txt'
FILETYPE = 'DAT'
TABLES
DATA_TAB = it_pricing
EXCEPTIONS
CONVERSION_ERROR = 1
INVALID_TABLE_WIDTH = 2
INVALID_TYPE = 3
NO_BATCH = 4
UNKNOWN_ERROR = 5
GUI_REFUSE_FILETRANSFER = 6
OTHERS = 7.
WRITE : / 'Condition Records ', P_FNAME, ' on ', SY-DATUM.
OPEN DATASET P_FNAME FOR INPUT IN TEXT MODE.
if sy-subrc ne 0.
write : / 'File could not be uploaded.. Check file name.'.
stop.
endif.
CLEAR : it_pricing[], it_pricing.
DO.
READ DATASET P_FNAME INTO V_STR.
IF SY-SUBRC NE 0.
EXIT.
ENDIF.
write v_str.
translate v_str using '#/'.
SPLIT V_STR AT ',' INTO it_pricing-key
it_pricing-F1 it_pricing-F2 it_pricing-F3
it_pricing-F4 it_pricing-F5 .
APPEND it_pricing.
CLEAR it_pricing.
ENDDO.
IF it_pricing[] IS INITIAL.
WRITE : / 'No data found to upload'.
STOP.
ENDIF.
loop at it_pricing.
At new key.
read table it_pricing index sy-tabix.
move-corresponding it_pricing to it_header.
append it_header.
clear it_header.
endat.
move-corresponding it_pricing to it_details.
append it_details.
clear it_details.
endloop.
perform open_group.
v_rows = sy-srows - 8.
loop at it_header.
perform bdc_dynpro using 'SAPMV13A' '0100'.
perform bdc_field using 'BDC_CURSOR'
'RV13A-KSCHL'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'RV13A-KSCHL'
it_header-f1.
perform bdc_dynpro using 'SAPMV13A' '1004'.
perform bdc_field using 'BDC_CURSOR'
'KONP-KBETR(01)'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'KOMG-VKORG'
it_header-f2.
perform bdc_field using 'KOMG-VTWEG'
it_header-f3.
**Table Control
v_sno = 0.
loop at it_details where key eq it_header-key.
v_sno = v_sno + 1.
clear v_fname.
CONCATENATE 'KOMG-MATNR(' V_SNO ')' INTO V_FNAME.
perform bdc_field using v_fname
it_details-f4.
clear v_fname.
CONCATENATE 'KONP-KBETR(' V_SNO ')' INTO V_FNAME.
perform bdc_field using v_fname
it_details-f5.
if v_sno eq v_rows.
v_sno = 0.
perform bdc_dynpro using 'SAPMV13A' '1004'.
perform bdc_field using 'BDC_OKCODE'
'=P+'.
perform bdc_dynpro using 'SAPMV13A' '1004'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
endif.
endloop.
*--Save
perform bdc_dynpro using 'SAPMV13A' '1004'.
perform bdc_field using 'BDC_OKCODE'
'=SICH'.
perform bdc_transaction using 'VK11'.
endloop.
perform close_group.
Regards,
Anji -
Bdc recording for trancastion ME01
Hi,
Can u help me in BDC recording for transaction 'ME01' .
I have no idea for transaction 'ME01' & here i like to know how to handle table ctr during bdc recording?
give sample code if possible.
ThanksSee the sample attached code for ME51 using table control.
similarly record the same for ME01 and copy the TC logic from this.
REPORT zmm_pr_upload_mat
NO STANDARD PAGE HEADING
LINE-SIZE 255.
Standard Include for Selection Screen
INCLUDE bdcrecx1.
Internal Table for Upload Data
DATA: BEGIN OF i_pr OCCURS 0,
Header Screen
sno(3), " SNo
bsart(004), " PR Type
epstp(001), " Item Category
knttp(001), " Account Assignment
eeind(010), " Delivery Date
lpein(001), " Category of Del Date
werks(004), " Plant
lgort(004), " Storage Location
ekgrp(003), " Purchasing Group
matkl(009), " Material Group
bednr(010), " Tracking No
afnam(012), " Requisitioner
Item Details
matnr(018), " Material No
menge(017), " Quantity
badat(010),
frgdt(010),
preis(014), " Valuation Price
waers(005), " Currency
peinh(005),
wepos(001),
repos(001),
sakto(010), " GL Account
kostl(010), " Cost Center
bnfpo(005),
END OF i_pr.
Internal Table for header Data
DATA: BEGIN OF it_header OCCURS 0,
sno(3), " SNo
bsart(004), " PR Type
epstp(001), " Item Category
knttp(001), " Account Assignment
eeind(010), " Delivery Date
werks(004), " Plant
lgort(004), " Storage Location
ekgrp(003), " Purchasing Group
matkl(009), " Material Group
bednr(010), " Tracking No
afnam(012), " Requisitioner
END OF it_header.
Internal Table for Item Data
DATA: BEGIN OF it_item OCCURS 0,
sno(3), " SNo
matnr(018), " Material No
menge(017), " Quantity
preis(014), " Valuation Price
sakto(010), " GL Account
kostl(010), " Cost Center
END OF it_item.
Data Variables & Constants
CONSTANTS : c_x VALUE 'X'. " Flag
DATA : v_l(2), " Counter
v_rowno(5), " Row No
v_2(2), " Counter
v_rows LIKE sy-srows, " Rows in TC
v_field(45). " String
Parameters
PARAMETERS: p_file LIKE ibipparms-path. " Filename
At selection-screen on Value Request for file Name
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
Get the F4 Values for the File
CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = syst-cprog
dynpro_number = syst-dynnr
IMPORTING
file_name = p_file.
Start of Selection
START-OF-SELECTION.
Open the BDC Session
PERFORM open_group.
Upload the File into internal Table
CALL FUNCTION 'UPLOAD'
EXPORTING
filename = p_file
filetype = 'DAT'
TABLES
data_tab = i_pr
EXCEPTIONS
conversion_error = 1
invalid_table_width = 2
invalid_type = 3
no_batch = 4
unknown_error = 5
gui_refuse_filetransfer = 6
OTHERS = 7.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
SORT i_pr BY sno.
LOOP AT i_pr.
MOVE-CORRESPONDING i_pr TO it_item.
APPEND it_item.
CLEAR it_item.
AT END OF sno.
READ TABLE i_pr INDEX sy-tabix.
MOVE-CORRESPONDING i_pr TO it_header.
APPEND it_header.
CLEAR it_header.
ENDAT.
ENDLOOP.
SORT it_header BY sno.
SORT it_item BY sno.
v_rows = sy-srows - 6.
Upload the Data from Internal Table
LOOP AT it_header.
Header Data
PERFORM bdc_dynpro USING 'SAPMM06B' '0100'.
PERFORM bdc_field USING 'BDC_CURSOR'
'EBAN-BEDNR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'EBAN-BSART'
it_header-bsart.
PERFORM bdc_field USING 'RM06B-EPSTP'
it_header-epstp.
PERFORM bdc_field USING 'EBAN-KNTTP'
it_header-knttp.
PERFORM bdc_field USING 'RM06B-EEIND'
it_header-eeind.
PERFORM bdc_field USING 'RM06B-LPEIN'
it_header-lpein.
PERFORM bdc_field USING 'EBAN-WERKS'
it_header-werks.
PERFORM bdc_field USING 'EBAN-LGORT'
it_header-lgort.
PERFORM bdc_field USING 'EBAN-EKGRP'
it_header-ekgrp.
PERFORM bdc_field USING 'EBAN-MATKL'
it_header-matkl.
PERFORM bdc_field USING 'EBAN-BEDNR'
it_header-bednr.
PERFORM bdc_field USING 'EBAN-AFNAM'
it_header-afnam.
Item Details
v_l = 0.
To add no. of rows
v_2 = 0 .
As the screen is showing 13 rows defaulted to 130
v_rowno = 130 .
LOOP AT it_item WHERE sno = it_header-sno.
v_l = v_l + 1.
IF v_l = 14 .
IF v_2 = 12 .
v_2 = 12 .
v_l = 2 .
From second time onwards it is displaying 12 rows only
v_rowno = v_rowno + 120 .
PERFORM bdc_dynpro USING 'SAPMM06B' '0106'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RM06B-BNFPO'.
PERFORM bdc_field USING 'RM06B-BNFPO'
v_rowno.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
ELSE.
V_2 initialized to 12 for second screen purpose
v_2 = 12 .
v_l = 2 .
PERFORM bdc_dynpro USING 'SAPMM06B' '0106'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RM06B-BNFPO'.
PERFORM bdc_field USING 'RM06B-BNFPO'
v_rowno .
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
ENDIF.
ENDIF.
PERFORM bdc_dynpro USING 'SAPMM06B' '0106'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
CLEAR v_field.
CONCATENATE 'EBAN-MATNR(' v_l ')' INTO v_field.
PERFORM bdc_field USING v_field it_item-matnr.
CLEAR v_field.
CONCATENATE 'EBAN-MENGE(' v_l ')' INTO v_field.
PERFORM bdc_field USING v_field it_item-menge.
PERFORM bdc_dynpro USING 'SAPMM06B' '0102'.
PERFORM bdc_field USING 'BDC_CURSOR'
'EBAN-PREIS'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'EBAN-PREIS'
it_item-preis.
PERFORM bdc_dynpro USING 'SAPMM06B' '0505'.
PERFORM bdc_field USING 'BDC_CURSOR'
'EBKN-SAKTO'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTE'.
PERFORM bdc_field USING 'EBKN-SAKTO'
it_item-sakto.
Cost Center
PERFORM bdc_dynpro USING 'SAPLKACB' '0002'.
PERFORM bdc_field USING 'BDC_CURSOR'
'COBL-KOSTL'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTE'.
PERFORM bdc_field USING 'COBL-KOSTL'
it_item-kostl.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTE'.
ENDLOOP.
PERFORM bdc_dynpro USING 'SAPMM06B' '0106'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RM06B-BNFPO'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=BU'.
Call The Transaction
PERFORM bdc_transaction USING 'ME51'.
ENDLOOP.
Close the BDC Session
PERFORM close_group.
reward if useful
Regards
Vasu -
BDC recording for transaction 'Me01'
Hi,
Can u help me in BDC recording for transaction 'ME01' .
I have no idea for transaction 'ME01' .
give sample code if possible.
ThanksFor creating source list you will check that purchasing view has been maintained for this material
Source list for resticting, purcasing a material from a specific vendor only for the period specified in source list
Regards,
Amit R. -
Hi,
I am asked to do bdc recording for the transaction sm30 through call transaction method. Can u please tell me how to do that...Hi Buvana,
While recording just mentioned the tcode as SM30 and then it takes you automaticcaly to that transaction code then enter the table name and press maintain tab and then select new entreis. Enter the values then save it. Press back button. Now it will take return to recording section. now u can able to see the recoding section. Generate the program automaticcaly from the recording. Now take neccessary internal tables and complete the code. Reply for any queries and reward for useful points. Take care while recording. Don't mention any wrong values.
Regards,
Kumar. -
BDC Recording for cm07 Transaction
Hi Everyone,
I'm doing BDC recording for CM07 transaction. In Recording, i need to give a print command by specifying the spool title.
For this, after opening the print window, i need to click the 'properties' button, and then select the spool title and input the value.
But I'm unable to do the recording of this print dialog box. The recording ends as soon as I give the print command.
Can anyone please tell me the solution to it.
Thanks and Regards
Rishika bawaHi,
See via transaction SHDB:
SAPLCORU_S 0100 X
BDC_OKCODE BU
AFRUD-RUECK 0000000000
AFRUD-AUFNR 100051152
AFRUD-VORNR 0010
AFRUD-LMNGA 100,000
AFRUD-MEINH PC
AFRUD-XMNGA 2,000
AFRUD-ISM01 200
AFRUD-ILE01 PC
The table for confirmations is AFRU.
Best regards,
Leandro Mengue -
hi all,
how to do bdc recording for AS01.please send me step step by approach.Hi Satya,
Welcome to SDN.
Check this Sample program.
REPORT ZASSET .
INCLUDE ZASSET_INC .
PARAMETERS: P_PCFILE LIKE RLGRAP-FILENAME.
*PARAMETERS: P_FILE_S LIKE RLGRAP-FILENAME.
PARAMETER : H_CHK AS CHECKBOX.
"Proc Mode
Include the BDC *
**BDC DATA STUCTURE
*DATA: BEGIN OF BDCDATA OCCURS 0.
INCLUDE STRUCTURE BDCDATA.
*DATA: END OF BDCDATA.
messages of call transaction
*DATA: MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
TYPE-POOLS
TYPE-POOLS TRUXS.
DATA IT_DATA1 TYPE TRUXS_T_TEXT_DATA.
DATA : BEGIN OF IT_DATA OCCURS 0,
INVZU(015),
ANLKL(008),
BUKRS(004),
TXT50(100),
SERNR(018),
MENGE(018),
INKEN(001),
AKTIV(010),
KOSTL(010),
WERKS(004),
STORT(010),
ORD41(004),
ORD42(004),
EQANZ(001),
LIFNR(010),
AFASL(004),
NDJAR(003),
AFABG(010),
ANLGR(012),
ANLGR2(004),
ANBTR01_01(016),
ANBTR01_06(016),
ANBTR01_16(016),
TDATE(010),
TCODE(004),
TAMT(018),
PERNR(012),
KFZKF(015),
SAP_ASSET(12),
ERR_ASSET,
END OF IT_DATA.
DATA : BEGIN OF IT_DATA2 OCCURS 0,
INVZU(015),
TDATE(010),
TCODE(004),
TAMT(018),
END OF IT_DATA2.
DATA : BEGIN OF IT_DATA3 OCCURS 0,
ITEM(003),
INVZU(015),
ANLKL(010),
BUKRS(010),
TXT50(050),
SERNR(018),
MENGE(018),
INKEN(001),
AKTIV(010),
KOSTL(010),
WERKS(004),
STORT(010),
ORD41(004),
ORD42(004),
EQANZ(001),
LIFNR(010),
AFASL(004),
NDJAR(003),
AFABG(010),
ANLGR(012),
ANLGR2(004),
ANBTR01_01(016),
ANBTR01_06(016),
ANBTR01_16(016),
TDATE(010),
TCODE(004),
TAMT(018),
SAP_ASSET(12),
ERR_ASSET,
END OF IT_DATA3.
SUB ASSET MASTER TABLE
DATA : BEGIN OF IT_DATA_SUB OCCURS 0,
INVZU_M(015),
INVZU(015),
BUKRS(004),
TXT50(100),
ANLHTXT(050),
SERNR(018),
MENGE(018),
MEINS_007(003),
XHIST_008(001),
AKTIV(010),
GSBER_011(004),
KOSTL(010),
STORT(010),
ORD41(004),
ORD42(004),
EQANZ_016(001),
LIFNR(010),
LIEFE(030),
NDJAR(003),
NDPER(003),
ANBTR01_01(016),
ANBTR01_06(016),
ANBTR01_16(016),
BZDAT(010),
BWASL(003),
ANBTR01(016),
ANLN1(012),
ERR_SUB,
SUB_CODE(012),
ERR_SUB1,
END OF IT_DATA_SUB.
*& At selection-screen on value request for getting f4 help
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_PCFILE.
PERFORM VALUE_REQUEST_P_FILE.
*AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE_S.
PERFORM VALUE_REQUEST_P_FILE_S.
START OF SELECTION *
START-OF-SELECTION.
To Upload the flat file datas *
PERFORM GET_DATA.
PERFORM UP_LOAD.
PERFORM SUB_UPLOAD.
WRITE :/ 'FOLLOWING ASSETS CREATED'.
WRITE:/ 'OLD ASSET'.
WRITE: 20 'COMPANY'.
WRITE: 30 'SAP CODE'.
LOOP AT IT_DATA WHERE ERR_ASSET NE 'X'.
WRITE :/ IT_DATA-INVZU,
20 IT_DATA-BUKRS, 30 IT_DATA-SAP_ASSET.
ENDLOOP.
SKIP 2.
WRITE :/ 'FOLLOWING SUB ASSETS CREATED'.
WRITE:/ 'OLD ASSET'.
WRITE: 16 'OLD SUB ASSET'.
WRITE: 35 'COMPANY'.
WRITE: 45 'SAP CODE'.
WRITE: 60 'SUB ASSET'.
LOOP AT IT_DATA_SUB WHERE ERR_SUB NE 'X' AND ERR_SUB1 NE 'X'.
WRITE :/ IT_DATA_SUB-INVZU_M,
16 IT_DATA_SUB-INVZU,
35 IT_DATA_SUB-BUKRS, 45 IT_DATA_SUB-ANLN1, 60
*IT_DATA_SUB-SUB_CODE.
ENDLOOP.
*& Form value_request_p_file
FORM VALUE_REQUEST_P_FILE .
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SYST-CPROG
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = 'x'
IMPORTING
FILE_NAME = P_PCFILE.
ENDFORM. " value_request_p_file
*& Form UP_LOAD
text
--> p1 text
<-- p2 text
FORM UP_LOAD .
SORT IT_DATA BY INVZU.
SORT IT_DATA2 BY INVZU.
DATA : V_LEN1 TYPE I, V_LEN2 TYPE I, V_SUBSTR1(50) ,V_SUBSTR2(50).
perform open_dataset using dataset.
PERFORM OPEN_GROUP.
LOOP AT IT_DATA.
CONDENSE IT_DATA-TXT50.
V_LEN1 = STRLEN( IT_DATA-TXT50 ).
IF V_LEN1 > 50.
V_SUBSTR1 = IT_DATA-TXT50+0(50).
V_LEN2 = V_LEN1 - 50.
V_SUBSTR2 = IT_DATA-TXT50+50(50).
ELSE.
V_SUBSTR1 = IT_DATA-TXT50.
V_SUBSTR2 = ''..
ENDIF.
REFRESH BDCDATA.
PERFORM BDC_DYNPRO USING 'SAPLAIST' '0105'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'ANLA-BUKRS'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'ANLA-ANLKL'
IT_DATA-ANLKL.
PERFORM BDC_FIELD USING 'ANLA-BUKRS'
IT_DATA-BUKRS.
PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=TAB02'.
PERFORM BDC_FIELD USING 'ANLA-TXT50'
V_SUBSTR1. "IT_DATA-TXT50.
PERFORM BDC_FIELD USING 'ANLA-TXA50'
V_SUBSTR2.
PERFORM BDC_FIELD USING 'ANLA-SERNR'
IT_DATA-SERNR.
PERFORM BDC_FIELD USING 'ANLA-MENGE'
IT_DATA-MENGE.
*perform bdc_field using 'ANLA-INKEN'
record-INKEN_006.
PERFORM BDC_FIELD USING 'ANLA-INVZU'
IT_DATA-INVZU.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'ANLA-AKTIV'.
PERFORM BDC_FIELD USING 'ANLA-AKTIV'
IT_DATA-AKTIV.
PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=TAB03'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'ANLZ-PERNR'.
PERFORM BDC_FIELD USING 'ANLZ-PERNR'
IT_DATA-PERNR.
PERFORM BDC_FIELD USING 'ANLZ-KOSTL'
IT_DATA-KOSTL.
PERFORM BDC_FIELD USING 'ANLZ-WERKS'
IT_DATA-WERKS.
PERFORM BDC_FIELD USING 'ANLZ-STORT'
IT_DATA-STORT.
IF IT_DATA-ANLKL = 'VHCL'.
PERFORM BDC_FIELD USING 'ANLZ-KFZKZ'
IT_DATA-KFZKF.
ENDIF.
PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=TAB04'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'ANLA-ORD42'.
PERFORM BDC_FIELD USING 'ANLA-ORD41'
IT_DATA-ORD41.
PERFORM BDC_FIELD USING 'ANLA-ORD42'
IT_DATA-ORD42.
*perform bdc_field using 'RA02S-EQANZ'
record-EQANZ_014.
PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=TAB06'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'ANLA-LIFNR'.
PERFORM BDC_FIELD USING 'ANLA-LIFNR'
IT_DATA-LIFNR.
PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=TAB08'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'ANLV-VSART'.
PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=SELZ'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RA02S-XAKPLA(02)'.
PERFORM BDC_DYNPRO USING 'SAPLAIST' '0195'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'ANLB-AFASL'.
IF IT_DATA-TCODE IS INITIAL.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ALTD'.
ELSE.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ALTB'.
ENDIF.
PERFORM BDC_FIELD USING 'ANLB-ANLGR'
IT_DATA-ANLGR.
PERFORM BDC_FIELD USING 'ANLB-ANLGR2'
IT_DATA-ANLGR2.
PERFORM BDC_DYNPRO USING 'SAPLALTD' '1100'.
IF IT_DATA-TCODE IS INITIAL.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=BUCH'.
PERFORM BDC_FIELD USING 'RALT_DYNP_STRUC-ANBTR01(01)'
IT_DATA-ANBTR01_01.
IF H_CHK NE 'X'.
PERFORM BDC_FIELD USING 'RALT_DYNP_STRUC-ANBTR01(06)'
IT_DATA-ANBTR01_06.
ENDIF.
ELSE.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ALTB'.
PERFORM BDC_DYNPRO USING 'SAPLALTD' '1200'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=BUCH'.
PERFORM BDC_FIELD USING 'RALT_DYNP_STRUC-BZDAT(01)'
IT_DATA-TDATE.
PERFORM BDC_FIELD USING 'RALT_DYNP_STRUC-BWASL(01)'
IT_DATA-TCODE.
PERFORM BDC_FIELD USING 'RALT_DYNP_STRUC-ANBTR01(01)'
IT_DATA-TAMT.
ENDIF.
REFRESH MESSTAB.
CALL TRANSACTION 'AS91' USING BDCDATA
MODE H_MODE
UPDATE 'S'
MESSAGES INTO MESSTAB.
PERFORM BDC_TRANSACTION USING 'AS91'.
ENDLOOP..
PERFORM CLOSE_GROUP.
*perform close_dataset using dataset.
ENDFORM. " UP_LOAD
*& Form GET_DATA
text
--> p1 text
<-- p2 text
FORM GET_DATA .
CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
EXPORTING
I_TAB_RAW_DATA = IT_DATA1
I_FILENAME = P_PCFILE
TABLES
I_TAB_CONVERTED_DATA = IT_DATA.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
LOOP AT IT_DATA3.
IF IT_DATA3-ITEM = '1'.
MOVE-CORRESPONDING IT_DATA3 TO IT_DATA.
APPEND IT_DATA.
ELSEIF IT_DATA3-ITEM = '2'.
IT_DATA2-INVZU = IT_DATA3-INVZU.
IT_DATA2-TDATE = IT_DATA3-ANLKL.
IT_DATA2-TCODE = IT_DATA3-BUKRS.
IT_DATA2-TAMT = IT_DATA3-TXT50.
APPEND IT_DATA2.
ENDIF.
ENDLOOP.
IF NOT P_FILE_S IS INITIAL.
CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
EXPORTING
I_TAB_RAW_DATA = IT_DATA1
I_FILENAME = P_FILE_S
TABLES
I_TAB_CONVERTED_DATA = IT_DATA_SUB.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF.
ENDFORM. " GET_DATA
FORM BDC_DYNPRO
--> PROGRAM
--> DYNPRO
**FORM BDC_DYNPRO USING PROGRAM DYNPRO.
CLEAR BDCDATA.
BDCDATA-PROGRAM = PROGRAM.
BDCDATA-DYNPRO = DYNPRO.
BDCDATA-DYNBEGIN = 'X'.
APPEND BDCDATA.
**ENDFORM. " BDC_DYNPRO
FORM BDC_FIELD
--> FNAM
--> FVAL
**FORM BDC_FIELD USING FNAM FVAL.
CLEAR BDCDATA.
BDCDATA-FNAM = FNAM.
BDCDATA-FVAL = FVAL.
APPEND BDCDATA.
**ENDFORM. "BDC_FIELD
***& Form bdc_transaction
text
-->TCODE text
**FORM BDC_TRANSACTION USING TCODE.
REFRESH MESSTAB.
CALL TRANSACTION TCODE USING BDCDATA
MODE H_MODE
UPDATE 'S'
MESSAGES INTO MESSTAB.
**ENDFORM. " bdc_transaction
*& Form VALUE_REQUEST_P_FILE_S
text
--> p1 text
<-- p2 text
FORM VALUE_REQUEST_P_FILE_S .
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SYST-CPROG
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = 'x'
IMPORTING
FILE_NAME = P_FILE_S.
ENDFORM. " VALUE_REQUEST_P_FILE_S
*& Form sUB_upload
text
--> p1 text
<-- p2 text
***FORM SUB_UPLOAD .
DATA : V_LEN1 TYPE I, V_LEN2 TYPE I, V_SUBSTR1(50) ,V_SUBSTR2(50).
LOOP AT IT_DATA_SUB WHERE ERR_SUB NE 'X'.
CONDENSE IT_DATA_SUB-TXT50.
V_LEN1 = STRLEN( IT_DATA_SUB-TXT50 ).
IF V_LEN1 > 50.
V_SUBSTR1 = IT_DATA_SUB-TXT50+0(50).
V_LEN2 = V_LEN1 - 50.
V_SUBSTR2 = IT_DATA_SUB-TXT50+50(50).
ELSE.
V_SUBSTR1 = IT_DATA_SUB-TXT50.
V_SUBSTR2 = ''..
ENDIF.
REFRESH BDCDATA.
PERFORM BDC_DYNPRO USING 'SAPLAIST' '0110'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'ANLA-ANLN1'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=MAST'.
PERFORM BDC_FIELD USING 'ANLA-ANLN1'
IT_DATA_SUB-ANLN1.
PERFORM BDC_FIELD USING 'ANLA-BUKRS'
IT_DATA_SUB-BUKRS.
PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=TAB02'.
PERFORM BDC_FIELD USING 'ANLA-TXT50'
V_SUBSTR1. "IT_DATA_SUB-TXT50.
PERFORM BDC_FIELD USING 'ANLA-TXa50'
V_SUBSTR2. "IT_DATA_SUB-TXT50.
****perform bdc_field using 'ANLH-ANLHTXT'
it_data_sub-ANLHTXT_004.
PERFORM BDC_FIELD USING 'ANLA-SERNR'
IT_DATA_SUB-SERNR.
PERFORM BDC_FIELD USING 'ANLA-MENGE'
IT_DATA_SUB-MENGE.
****perform bdc_field using 'ANLA-MEINS'
it_data_sub-MEINS_007.
****perform bdc_field using 'RA02S-XHIST'
it_data_sub-XHIST_008.
PERFORM BDC_FIELD USING 'ANLA-INVZU'
IT_DATA_SUB-INVZU.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'ANLA-AKTIV'.
PERFORM BDC_FIELD USING 'ANLA-AKTIV'
IT_DATA_SUB-AKTIV.
PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=TAB03'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'ANLZ-GSBER'.
****perform bdc_field using 'ANLZ-GSBER'
it_data_sub-GSBER_011.
****perform bdc_field using 'ANLZ-KOSTL'
it_data_sub-KOSTL_012.
PERFORM BDC_FIELD USING 'ANLZ-STORT'
IT_DATA_SUB-STORT.
PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=TAB04'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'ANLA-ORD41'.
PERFORM BDC_FIELD USING 'ANLA-ORD41'
IT_DATA_SUB-ORD41.
PERFORM BDC_FIELD USING 'ANLA-ORD42'
IT_DATA_SUB-ORD42.
****perform bdc_field using 'RA02S-EQANZ'
it_data_sub-EQANZ_016.
PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=TAB07'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'ANLA-LIFNR'.
PERFORM BDC_FIELD USING 'ANLA-LIFNR'
IT_DATA_SUB-LIFNR.
****perform bdc_field using 'ANLA-LIEFE'
IT_DATA_SUB-LIEFE.
PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=TAB08'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'ANLA-LEART'.
PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=SELZ'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'T093T-AFBKTX(01)'.
PERFORM BDC_DYNPRO USING 'SAPLAIST' '0195'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'ANLB-NDPER'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ALTD'.
PERFORM BDC_FIELD USING 'ANLB-NDJAR'
IT_DATA_SUB-NDJAR.
PERFORM BDC_FIELD USING 'ANLB-NDPER'
IT_DATA_SUB-NDPER.
****perform bdc_field using 'ANLB-AFABG'
record-AFABG_029.
PERFORM BDC_DYNPRO USING 'SAPLALTD' '1100'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'ANLA-ANLN1'.
IF IT_DATA_SUB-BWASL IS INITIAL.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=BUCH'.
PERFORM BDC_FIELD USING 'RALT_DYNP_STRUC-ANBTR01(01)'
IT_DATA_SUB-ANBTR01_01.
Accu deprn automatically calculated by system changed on 6th Aug.
PERFORM BDC_FIELD USING 'RALT_DYNP_STRUC-ANBTR01(06)'
IT_DATA_SUB-ANBTR01_06.
ELSE.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ALTB'.
PERFORM BDC_DYNPRO USING 'SAPLALTD' '1200'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'RALT_DYNP_STRUC-BZDAT(01)'
IT_DATA_SUB-BZDAT.
PERFORM BDC_FIELD USING 'RALT_DYNP_STRUC-BWASL(01)'
IT_DATA_SUB-BWASL.
PERFORM BDC_FIELD USING 'RALT_DYNP_STRUC-ANBTR01(01)'
IT_DATA_SUB-ANBTR01.
PERFORM BDC_DYNPRO USING 'SAPLALTD' '1200'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'ANLA-ANLN1'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=BUCH'.
****perform bdc_transaction using 'AS94'.
ENDIF.
REFRESH MESSTAB.
CALL TRANSACTION 'AS94' USING BDCDATA
MODE H_MODE
UPDATE 'S'
MESSAGES INTO MESSTAB.
IF SY-SUBRC = 0.
READ TABLE MESSTAB INDEX 1.
IT_DATA_sub-SUB_CODE = MESSTAB-MSGV1.
DATA AN1 TYPE ANLN1.
DATA AN2 TYPE ANLN2.
GET PARAMETER ID 'AN2' FIELD AN2.
IT_DATA_SUB-SUB_CODE = AN2. "MESSTAB-MSGV1.
MODIFY IT_DATA_SUB TRANSPORTING SUB_CODE.
ELSE.
IT_DATA_SUB-ERR_SUB1 = 'X'.
MODIFY IT_DATA_SUB TRANSPORTING ERR_SUB1.
ENDIF.
REFRESH BDCDATA.
ENDLOOP.
***ENDFORM. " sUB_upload
****& Form SUB_UPLOAD1
text
***FORM SUB_UPLOAD1 .
LOOP AT IT_DATA_SUB WHERE ERR_SUB NE 'X'.
PERFORM BDC_DYNPRO USING 'SAPLAIST' '0110'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'ANLA-ANLN1'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=MAST'.
PERFORM BDC_FIELD USING 'ANLA-ANLN1'
IT_DATA_SUB-ANLN1.
PERFORM BDC_FIELD USING 'ANLA-BUKRS'
IT_DATA_SUB-BUKRS.
PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=TAB02'.
PERFORM BDC_FIELD USING 'ANLA-TXT50'
IT_DATA_SUB-TXT50.
****perform bdc_field using 'ANLH-ANLHTXT'
it_data_sub-ANLHTXT_004.
PERFORM BDC_FIELD USING 'ANLA-SERNR'
IT_DATA_SUB-SERNR.
PERFORM BDC_FIELD USING 'ANLA-MENGE'
IT_DATA_SUB-MENGE.
****perform bdc_field using 'ANLA-MEINS'
it_data_sub-MEINS_007.
****perform bdc_field using 'RA02S-XHIST'
it_data_sub-XHIST_008.
PERFORM BDC_FIELD USING 'ANLA-INVZU'
IT_DATA_SUB-INVZU.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'ANLA-AKTIV'.
PERFORM BDC_FIELD USING 'ANLA-AKTIV'
IT_DATA_SUB-AKTIV.
PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=TAB03'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'ANLZ-GSBER'.
****perform bdc_field using 'ANLZ-GSBER'
it_data_sub-GSBER_011.
****perform bdc_field using 'ANLZ-KOSTL'
it_data_sub-KOSTL_012.
PERFORM BDC_FIELD USING 'ANLZ-STORT'
IT_DATA_SUB-STORT.
PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=TAB04'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'ANLA-ORD41'.
PERFORM BDC_FIELD USING 'ANLA-ORD41'
IT_DATA_SUB-ORD41.
PERFORM BDC_FIELD USING 'ANLA-ORD42'
IT_DATA_SUB-ORD42.
****perform bdc_field using 'RA02S-EQANZ'
it_data_sub-EQANZ_016.
PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=TAB07'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'ANLA-LIFNR'.
PERFORM BDC_FIELD USING 'ANLA-LIFNR'
IT_DATA_SUB-LIFNR.
****perform bdc_field using 'ANLA-LIEFE'
IT_DATA_SUB-LIEFE.
PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=TAB08'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'ANLA-LEART'.
PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=SELZ'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'T093T-AFBKTX(01)'.
PERFORM BDC_DYNPRO USING 'SAPLAIST' '0195'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'ANLB-NDPER'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ALTD'.
PERFORM BDC_FIELD USING 'ANLB-NDJAR'
IT_DATA_SUB-NDJAR.
PERFORM BDC_FIELD USING 'ANLB-NDPER'
IT_DATA_SUB-NDPER.
****perform bdc_field using 'ANLB-AFABG'
record-AFABG_029.
PERFORM BDC_DYNPRO USING 'SAPLALTD' '1100'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'ANLA-ANLN1'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ALTB'.
PERFORM BDC_FIELD USING 'RALT_DYNP_STRUC-ANBTR01(01)'
IT_DATA_SUB-ANBTR01_01.
PERFORM BDC_FIELD USING 'RALT_DYNP_STRUC-ANBTR01(06)'
IT_DATA_SUB-ANBTR01_06.
PERFORM BDC_DYNPRO USING 'SAPLALTD' '1200'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'RALT_DYNP_STRUC-BZDAT(01)'
IT_DATA_SUB-BZDAT.
PERFORM BDC_FIELD USING 'RALT_DYNP_STRUC-BWASL(01)'
IT_DATA_SUB-BWASL.
PERFORM BDC_FIELD USING 'RALT_DYNP_STRUC-ANBTR01(01)'
IT_DATA_SUB-ANBTR01.
PERFORM BDC_DYNPRO USING 'SAPLALTD' '1200'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'ANLA-ANLN1'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=BUCH'.
****perform bdc_transaction using 'AS94'.
REFRESH MESSTAB.
CALL TRANSACTION 'AS94' USING BDCDATA
MODE H_MODE
UPDATE 'S'
MESSAGES INTO MESSTAB.
IF SY-SUBRC = 0.
READ TABLE MESSTAB INDEX 1.
IT_DATA_sub-SUB_CODE = MESSTAB-MSGV1.
DATA AN1 TYPE ANLN1.
DATA AN2 TYPE ANLN2.
GET PARAMETER ID 'AN2' FIELD AN2.
IT_DATA_SUB-SUB_CODE = AN2. "MESSTAB-MSGV1.
MODIFY IT_DATA_SUB TRANSPORTING SUB_CODE.
ELSE.
IT_DATA_SUB-ERR_SUB1 = 'X'.
MODIFY IT_DATA_SUB TRANSPORTING ERR_SUB1.
ENDIF.
REFRESH BDCDATA.
ENDLOOP.
***ENDFORM. " sUB_upload
and one more thing i face some issues when doing bdc for AS01, so i use AS91 and AS92 for uploading by using LSMW (direct input method and recording method) and it was successful.(if u have to do coding go for BDC/BAPI or there is no coding better to choose LSMW (it is the easiest way) as of my knowledge, so before starting just analyze once which method is best for ur requirement.
Reward Points for Useful Answers
Thanks
Naveen khan
Message was edited by:
Pattan Naveen -
BDC recording not executing last OK code for order technical completion
Hello!
Regarding a QM requirement, I have created a rather simple BDC recording to change the activity type of an order to new ones (based on particular conditions not relevant here) on transaction IW32.
However, if the order is technically complete, I have to cancel the technical completion, change the activity type, and then complete the order technically again (so it remains just the way it was before modification).
The only order types relevant in the requirement are YM01 and YM02. For YM01, the BDC recording works like a charm. But when executing the proper recording for type YM02, the last OK code (i.e. pressing the OK button on the Complete subscreen) is ignored and the process remains incomplete: the orders are never completed technically again.
Here is the recording:
0 T IW32 BS AA X F
SAPLCOIH 101 X
0 BDC_OKCODE /00
0 CAUFVD-AUFNR 80000005
SAPLCOIH 3000 X
0 BDC_OKCODE =WIAR
SAPLCOIH 3000 X
0 BDC_OKCODE /00
0 CAUFVD-ILART 206
SAPLCOIH 3000 X
0 BDC_OKCODE =ARCH
SAPLIWO1 200 X
0 BDC_OKCODE =WTER
0 RIWO1-CLNOT X
Any help would greatly appreciated!
Best regards,
André SantosLeandro, thanks for the answer!
The BDC recording does not work when executed visibly or step by step. After some extensive debugging, I realized that the final screen (the technical complete confirmation screen) is not an actual subscreen, even though it has its own number. That screen is actually generated by an FM, so apparently that's why it's ignored when the BDC is executed.
I found a BAPI to replace that missing step: BAPI_ALM_ORDER_MAINTAIN. However, I'm having a hard time figuring out how to reference the orders I need it to complete. The FM asks for an IT_METHODS table and I couldn't tie the method to the orders:
it_methods-refnumber = ???
it_methods-objecttype = 'HEADER'. "That's what I found on the example, not sure whether this is right or not.
it_methods-method = 'TECHNICALCOMPLETE'.
it_methods-objectkey = ??? "Maybe the order number itself?
APPEND it_methods.
Has anyone used this BAPI before?
Edited by: André Felipe Oliveira dos Santos on Oct 20, 2010 2:18 PM
Maybe you are looking for
-
How can I run a SubVi in background when a sequence is running in the main VI
What I want to do is this When I push a button on the main VI, a SubVI (#1) must run and take data. At the same time, a sequence, in which there are other subVIs must run. My problem is that the subVI #1 does not run when I push the button. The seque
-
Poor iPhone video output from QT Pro
I am creating videos for my website using the File > Export for Web option in QuickTime Pro. My problem is with the generated file for the iPhone "myfile-iPhone-cell.3gp". The video generated for the iPhone is very poor quality - it is very pixelated
-
How can I make the »Text Box« blend with the background?
I have a problem that my document is almost finished, but still I cannot solve one basic problem. My "Text box" fields are still selectable (I get the blue select/resize buttons around the text) when I click on them when reviewing my document in the
-
Migrating Stored procedure from Oracle to Mysql
Dear All, Please suggest, is ther any tool of stored procedure migration from oracle to mysql. I tried some tool like 1. Intelligent Converter. 2. Sql way 3. Mysql Migration Toolkit. But procedure cannot migrate properly. hb venki
-
Is there any editing capability in photo for the iPad?
Is there any way to use just the iPad and Photos to edit or create a new album, or select photos from the entire library to make a smaller slide show?