RFUMSV50- Error during batch input session
Hello Experts,
I am getting an error after creation of batch input session for program RFUMSV50.
If I run the session in foreground it gives velow error
program successfully worked 3 months back without any error but after that I am facing this type of issues.
Can anyone please guide what exactly missing in the configuration.
Regards,
ps
Hi Salvatore,
I'm in the same situation. I execute a BI, but it stops after a waring appears.
If I proceed the transaction manually, the warning appears, but if I press ENTER the transaction ends successful.
Did you solved your Problem or did you have an hint for me.
Kind regards
Yvonne Adler
Similar Messages
-
How to handile errors in batch input(session)method
Hi Friends..
How to <b>Re upload the error records</b> in batch input(session)method in BDC Programming?
Regards
D BabuHi
U can do it manually by SM35: the wrong trxs can be run again.
If you want to do automatically I don't think you can do it easyly, because to know if a record was loaded successfully depends on how you have loaded it and your data source .
For example:
if the records have to be loaded are from a file and every record is a trx, you could re-read the file and match it with session log:
Log--Result--
Record file
Trx 1 OK 1
Trx 2 OK 2
Trx 3 KO 3 (Re-load it)
Trx 4 OK 4
Trx 5 KO 5 (Re-load it)
Trx 6 OK 6
How to read session log see trx sm35
Max -
Hi everybody
Ive run the tcode SHDB to get the recording of transaction XD02, in it, theres an input field called RMCLF-CLASS(01), but when Im running my program, its giving me an error message 'Field RMCLF-CLASS(1) is not an input field'.
Does anybody know why?heres the code
DATA : field1(20),
field2(20),
telf1 TYPE kna1-telf1,
adrnr TYPE kna1-adrnr,
ktokd TYPE kna1-ktokd,
wa_extab TYPE ty_tab1,
cname(20) VALUE 'KNVK-NAME1(00)',
banks(20) VALUE 'KNBK-BANKS(00)',
bankn(20) VALUE 'KNBK-BANKN(00)',
bankl(20) VALUE 'KNBK-BANKL(00)'.
DATA : field3(20) VALUE 'RCTMS-MNAME(00)',
field4(20) VALUE 'RCTMS-MWERT(00)',
pos(2) TYPE n VALUE 0.
DATA : head2(10).
DATA : t_smtp TYPE adsmtp OCCURS 0 WITH HEADER LINE.
FIELD-SYMBOLS : <fs1>, <fs2>,
<fs_ablad> TYPE ty_ablad.
CLEAR : bi_open, flags.
Fill in work area fields with the appropriate data
LOOP AT t_field ASSIGNING <fs_field>
WHERE value <> 00
AND flagname <> space.
CONCATENATE 'FLAGS' <fs_field>-flagname INTO field1
SEPARATED BY '-'.
ASSIGN (field1) TO <fs1>.
<fs1> = 'X'.
ENDLOOP.
IF flags-d0340 IS INITIAL AND p_unpnt = 'X'.
flags-d0340 = 'X'.
ENDIF.
IF flags-d0310a = 'X' AND flags-d0310 IS INITIAL.
flags-d0310 = 'X'.
ENDIF.
IF flags-d0320t = 'X' AND flags-d0320 IS INITIAL.
flags-d0320 = 'X'.
ENDIF.
IF p_bppy = 'X'.
flags-d0324 = 'X'.
ENDIF.
IF p_kzazu = 'X' AND flags-d0315 IS INITIAL.
flags-d0315 = 'X'.
ENDIF.
LOOP AT intab.
CLEAR: screen_cnt, t_ablad, t_knvp,
t_kssk.
REFRESH : t_ablad, t_knvp.
Fill in work area fields with the appropriate data
LOOP AT t_field ASSIGNING <fs_field>
WHERE value <> 00.
CONCATENATE :
Destination field
'WA_EXTAB' <fs_field>-sapname INTO field1 SEPARATED BY '-',
Source field
'INTAB-FIELD' <fs_field>-value INTO field2.
ASSIGN : (field1) TO <fs1>,
(field2) TO <fs2>.
<fs1> = <fs2>.
ENDLOOP.
Pad customer number
IF wa_extab-kunnr CO '0123456789 '.
UNPACK wa_extab-kunnr TO wa_extab-kunnr.
ENDIF.
CLEAR : telf1, adrnr, ktokd.
SELECT SINGLE telf1 adrnr ktokd FROM kna1
INTO (telf1,adrnr,ktokd)
WHERE kunnr = wa_extab-kunnr.
Check customer exists
IF sy-subrc <> 0.
MOVE : wa_extab-kunnr TO wa_errtab-kunnr,
text-001 TO wa_errtab-message.
INSERT wa_errtab INTO TABLE errtab. CLEAR wa_errtab.
CONTINUE.
ENDIF.
DPZ01
Check customer exists in sales area
SELECT SINGLE kunnr FROM knvv
INTO knvv-kunnr
WHERE kunnr = wa_extab-kunnr
AND vkorg = wa_extab-vkorg
AND vtweg = wa_extab-vtweg
AND spart = wa_extab-spart.
IF sy-subrc <> 0.
MOVE : wa_extab-kunnr TO wa_errtab-kunnr,
text-010 TO wa_errtab-message.
REPLACE : '&1' WITH wa_extab-vkorg INTO wa_errtab-message,
'&2' WITH wa_extab-vtweg INTO wa_errtab-message,
'&3' WITH wa_extab-spart INTO wa_errtab-message.
CONDENSE wa_errtab-message.
INSERT wa_errtab INTO TABLE errtab. CLEAR wa_errtab.
CONTINUE.
ENDIF.
DPZ01
Screens for the customer
PERFORM select_screens USING ktokd
CHANGING i_flags screens.
IF telf1 IS INITIAL.
wa_extab-sw_tel = 'X'.
ENDIF.
Number of contacts
SELECT COUNT( * ) FROM knvk INTO wa_extab-contact
WHERE kunnr = wa_extab-kunnr.
Number of bank accounts
SELECT COUNT( * ) FROM knbk INTO wa_extab-account
WHERE kunnr = wa_extab-kunnr.
IF p_unpnt = 'X'.
List of unloading points
SELECT ablad FROM knva APPENDING TABLE t_ablad
WHERE kunnr = wa_extab-kunnr.
UP exists in UP view ?
READ TABLE t_ablad WITH TABLE KEY ablad = c_up
ASSIGNING <fs_ablad>.
IF sy-subrc <> 0.
MOVE : wa_extab-kunnr TO wa_errtab-kunnr,
text-002 TO wa_errtab-message.
INSERT wa_errtab INTO TABLE errtab. CLEAR wa_errtab.
ENDIF.
ENDIF.
Class assigned to customer
IF NOT p_elevl1 IS INITIAL OR NOT p_elevl2 IS INITIAL OR
NOT p_elevl3 IS INITIAL OR NOT p_esfid IS INITIAL OR
NOT p_ehead IS INITIAL OR NOT p_etelcm IS INITIAL OR
*PCT
NOT p_ctype IS INITIAL OR
NOT p_eool IS INITIAL.
MOVE wa_extab-kunnr TO objek.
SELECT clint zaehl INTO CORRESPONDING FIELDS OF TABLE t_kssk
FROM kssk
WHERE objek = objek
AND klart = c_klart.
ENDIF.
BATCH INPUT
IF bi_open IS INITIAL.
PERFORM open_ses USING session_name.
bi_open = 'X'.
ENDIF.
First screen
DPZ01
PERFORM first_screen USING wa_extab-kunnr i_flags.
PERFORM first_screen USING wa_extab-kunnr wa_extab-vkorg
wa_extab-vtweg wa_extab-spart i_flags.
DPZ01
Address
IF i_flags-d0110 = 'X'.
PERFORM choose_okcode USING screens
CHANGING screen_cnt okcode.
PERFORM loadibatch USING : 'X' 'SAPMF02D' '111'.
fill_field : wa_extab-name1 'ADDR1_DATA-NAME1',
wa_extab-stras 'ADDR1_DATA-STREET',
wa_extab-pstlz 'ADDR1_DATA-POST_CODE1',
wa_extab-ort01 'ADDR1_DATA-CITY1',
wa_extab-land1 'ADDR1_DATA-COUNTRY',
wa_extab-spras 'ADDR1_DATA-LANGU',
wa_extab-telfx 'SZA1_D0100-FAX_NUMBER'.
Telephone number
IF NOT wa_extab-telf1 IS INITIAL.
IF wa_extab-sw_tel = 'X'.
No tel.nbr -> can put it in current screen
PERFORM loadibatch USING
' ' 'SZA1_D0100-TEL_NUMBER' wa_extab-telf1.
ELSE.
A tel.nbr exists -> add the new one
PERFORM loadibatch USING :
' ' 'BDC_OKCODE' '=$MTE',
'X' 'SAPLSZA6' '0200',
' ' 'BDC_OKCODE' 'NEWL',
'X' 'SAPLSZA6' '0200',
' ' 'ADTEL-TEL_NUMBER(01)' wa_extab-telf1,
' ' 'BDC_OKCODE' 'CONT',
'X' 'SAPMF02D' '0111'.
ENDIF.
ENDIF.
E-mail
IF NOT wa_extab-email IS INITIAL.
IF wa_extab-sw_mail = 'X'.
No e-mail -> can put it in current screen
PERFORM loadibatch USING
' ' 'SZA1_D0100-SMTP_ADDR' wa_extab-email.
ELSE.
An e-mail exists -> add the new one
PERFORM loadibatch USING :
' ' 'BDC_OKCODE' '=$INT',
'X' 'SAPLSZA6' '0600',
' ' 'BDC_OKCODE' 'NEWL',
'X' 'SAPLSZA6' '0600',
' ' 'ADSMTP-SMTP_ADDR(01)' wa_extab-email,
' ' 'BDC_OKCODE' 'CONT',
'X' 'SAPMF02D' '0111'.
ENDIF.
ENDIF.
IF NOT p_elevl1 IS INITIAL OR NOT p_elevl2 IS INITIAL OR
NOT p_elevl3 IS INITIAL OR NOT p_esfid IS INITIAL OR
NOT p_ehead IS INITIAL OR NOT p_etelcm IS INITIAL OR
*PCT
NOT p_ctype IS INITIAL OR
*PCT
NOT p_eool IS INITIAL.
CLEAR pos.
PERFORM loadibatch USING : ' ' 'BDC_OKCODE' 'KLAS',
'X' 'SAPLCLCA' '0602',
' ' 'RMCLF-KLART' c_klart,
' ' 'BDC_OKCODE' 'ENTE',
'X' 'SAPLCLFM' '0500'.
IF t_kssk[] IS INITIAL.
PERFORM create_new_class. "Create the first assignment
ELSE.
READ TABLE t_kssk WITH KEY clint = clint
ASSIGNING <kssk>.
IF sy-subrc = 0.
PERFORM change_class USING sy-tabix. "Change existing class
ELSE.
PERFORM create_add_class. "Add an assignment
ENDIF.
ENDIF.
IF NOT wa_extab-levl1 IS INITIAL.
ADD 1 TO pos.
field312(2) = field412(2) = pos.
PERFORM loadibatch USING : ' ' field3 c_level1,
' ' field4 wa_extab-levl1.
ENDIF.
IF NOT wa_extab-levl2 IS INITIAL.
ADD 1 TO pos.
field312(2) = field412(2) = pos.
PERFORM loadibatch USING : ' ' field3 c_level2,
' ' field4 wa_extab-levl2.
ENDIF.
IF NOT wa_extab-levl3 IS INITIAL.
ADD 1 TO pos.
field312(2) = field412(2) = pos.
PERFORM loadibatch USING : ' ' field3 c_level3,
' ' field4 wa_extab-levl3.
ENDIF.
IF NOT wa_extab-sfid IS INITIAL.
ADD 1 TO pos.
field312(2) = field412(2) = pos.
PERFORM loadibatch USING : ' ' field3 c_sfid,
' ' field4 wa_extab-sfid.
ENDIF.
IF NOT wa_extab-head IS INITIAL.
ADD 1 TO pos.
field312(2) = field412(2) = pos.
WRITE wa_extab-head TO head2 NO-ZERO.
PERFORM loadibatch USING : ' ' field3 c_head,
' ' field4 head2.
ENDIF.
IF NOT wa_extab-telecm IS INITIAL.
ADD 1 TO pos.
field312(2) = field412(2) = pos.
PERFORM loadibatch USING : ' ' field3 c_telecom,
' ' field4 wa_extab-telecm.
ENDIF.
IF NOT wa_extab-ool IS INITIAL.
ADD 1 TO pos.
field312(2) = field412(2) = pos.
PERFORM loadibatch USING : ' ' field3 c_ool,
' ' field4 wa_extab-ool.
ENDIF.
*PCT
IF NOT wa_extab-ctype IS INITIAL.
ADD 1 TO pos.
field312(2) = field412(2) = pos.
PERFORM loadibatch USING : ' ' field3 c_contract,
' ' field4 wa_extab-ctype.
ENDIF.
*PCT
PERFORM loadibatch USING : ' ' 'BDC_OKCODE' 'BACK',
'X' 'SAPLCLFM' '0500',
' ' 'BDC_OKCODE' 'ENDE',
'X' 'SAPMF02D' '0111'.
ENDIF.
PERFORM loadibatch USING ' ' 'BDC_OKCODE' okcode.
ENDIF.
PERFORM insert_ses USING 'XD02'.
FORM loadibatch USING start fname fvalue.
CLEAR ibatch.
IF start = 'X'.
ibatch-program = fname.
ibatch-dynpro = fvalue.
ELSE.
ibatch-fnam = fname.
ibatch-fval = fvalue.
ENDIF.
ibatch-dynbegin = start.
APPEND ibatch.
ENDFORM.
FORM create_new_class.
CONCATENATE 'RMCLF-CLASS(' '01)' INTO rmclf_class1.
PERFORM loadibatch USING:
' ' 'BDC_CURSOR' 'RMCLF-CLASS(01)',
' ' 'BDC_OKCODE' '=AUSW',
' ' 'RMCLF-CLASS(01)' c_class,
'X' 'SAPLCTMS' '0109'.
PERFORM loadibatch USING :
' ' 'RMCLF-CLASS(01)' c_class,
' ' 'BDC_OKCODE' '/00',
'X' 'SAPLCTMS' '0109'.
ENDFORM. " create_new_class
*& Form create_add_class
Create a new assignment
FORM create_add_class.
PERFORM loadibatch USING : ' ' 'BDC_OKCODE' 'NEUZ',
'X' 'SAPLCLFM' '0500',
' ' 'RMCLF-CLASS(02)' c_class,
' ' 'BDC_OKCODE' '/00',
'X' 'SAPLCTMS' '0109'.
ENDFORM. " create_add_class
*& Form change_class
Change an existing assignment
-->PAGPOS Position of the class
FORM change_class USING pagpos TYPE sy-tabix.
DATA : pagpos2(2) TYPE n,
field(20) VALUE 'RMCLF-KREUZ(00)'.
MOVE pagpos TO pagpos2.
REPLACE '00' WITH pagpos2 INTO field.
CONDENSE field NO-GAPS.
PERFORM loadibatch USING : ' ' field 'X',
' ' 'BDC_OKCODE' 'AUSW',
'X' 'SAPLCTMS' '0109'.
ENDFORM. " change_class -
Error during batch Input TCode ME11
Hi,
I'm working on a bath input for tcode ME11 to post the Record Info.
A warning message You have not entered a planned delivery time causes an error to the Batch Input. I cant ignore. How I can ignore this message?
If I call the transaction manually I can ignore the massge via "Enter".
Thanks.Hi Salvatore,
I'm in the same situation. I execute a BI, but it stops after a waring appears.
If I proceed the transaction manually, the warning appears, but if I press ENTER the transaction ends successful.
Did you solved your Problem or did you have an hint for me.
Kind regards
Yvonne Adler -
Batch input session for FI postings
At the time of batch input session processing for FI postings (Transaction FB01), session is terminated due to following error message -
Message no. 00349
Field BSEG-PRZNR. does not exist in the screen SAPMF05A 0302
Batch session has been created using LSMW for data upload. As per field status of the GL account, some of the line items may or may not require an entry for particular field. How can we ignore this error during batch input session when a field is not required to be input for a particular GL account. However, flat file format contains this field because it is required for some of the GL accounts.
Let me know if you need more information / example. I desperately need a solution.
Regards,Dear Abhilasha,
Lets assume you have two gl accounts gl1 and gl2. gl1 requires this field to be entered, whereas gl2 does not allow you to enter value.
In this case, modify your logic as below:
I believe you can write code in LSMW as well.
However, if you are using BDC you can write logic as follows:
if gl_account_field = gl1.
PERFORM bdc_field USING 'BSEG-PRZNR'
value.
endif.
Hope this will help.
Regards,
Naveen. -
Batch Input Session for RFUMSV50 is not getting processed.
Dear All,
When i am trying to transfer the Service Tax Inetrim account to Service tax final account with the help of the program RFUMSV50 the batch input session is getting generated without any error. But when i process the same in SM35 it is not getitng processed.
Please advice on this.
Regards,
Rajeswari Shankar.Hello Rajeswari,
Yes, this is normal.
When batch input sessions is generated with any error, this does not mean that you can execute it after via SM35 without any error
Moreover, you have the option in SM35 to execute it and with option "display error only", so this means that it can happen that there is no error
For example, the profit center is mandatory, and it is missing in the document. In that case the system will display error and ask you to fulfill the profit center
Please tell me, which error you have (message number)
Thanks
Tarek -
LSMW - Error in Inventory - Create batch input session
Hello good day.
I'm trying to create a batch input session for inventory upload (Standard Batch Input program - RM07MMBL) and when I select the Name of logical file = "MM_INVENTORY_MANAGEMENT_GOODS_MOVEMENT" and press F8, the following error occurs:
<b>Sequential file mmgoods cannot be opened
Message no. M7 850</b>
Now as the legend says.... I've contacted my system administrator and he keeps telling me everything is ok, but the error keeps appearing, where can I see if I have authorization for this "file" ???
Where is it created ??
I need more info on this.
Your help is very much appreciated.
Thank you.
Juango to file transaction n check for the logical file path and logical file weather it is defined correctly r not?
if it is correctly defined check for the file, weather the flat file is defined at the correct location which is defined in the logical file path
u can refer the below link also
Re: Logical file
Regards,
Naveen -
LSMW- Batch Input session getting error
Hi All,
I created LSMW object for Tcode KO01 and its creating the Internal order as expceted.But even after creating the document the Batch Input session status is showing incorrect.No messages are also displayed in the log.
Please let me know why this is happening.
Thanks in Advance,
SavithaHi,
Detail Error Message is as follows:
No batch input data for screen SAPLIMR0 1110
Message no. 00344
Diagnosis
The transaction sent a screen that was not expected in the batch input session and which therefore could not be supplied with data.
Possible reasons:
1. The batch input session was created incorrectly. The sequence of screens was recordly incorrectly.
2. The transaction behaves differently in background processing in a batch work process than when running in dialog (SY-BATCH is queried and changes the screen sequence).
3. The transaction has undergone user-specific Customizing and therefore certain screens may be skipped or processed differently, according to the current user. If the person who created a batch input session is not the same as the person now processing it, this problem may occur frequently.
System Response
None.
Procedure
For 1: Either re-create the session or process it in expert mode. Correct the batch input program.
For 2. It is very difficult to analyze this problem, particularly in the case that the screen sequence or the display-only options of fields differ according to whether the transaction is being processed in the background or as an online dialog. It could also be that this kind of transaction cannot run with batch input.
For 3: Have the creator of the session process it. If no error occurs now, then this is a program with user-specific Customizing.
Regards,
ababfk -
Update error after all screens in Batch Input session is processed.
Hi,
I have a problem in processing the batch input session. The batch input session is calling F-02 to post less than 999 line items (around 700) to a single financial document. The batch session is expected to have an error because tax code is missing for some line items but even after the tax code is added manually onto the batch screen, the update error message still happened at the end of the process. In the log, it said "System error: Error when inserting table BSET". Same account has been used to post 10+ line items manually with F-02, no error occurred.
Does anyone have any idea what possible reason could cause the update error in updating the tax table?Hi Rob,
That is exactly what happened to us. We already had note 521481 in our system but we also have OSS 558288 in which causes our scenario not generating an error message but an update termination instead.
The other thing I found out is once tax code is entering in one of the line items, it will be copied to all the succeeding line items even for the accounts that does not require a tax code (i.e. posting without tax code allowed checked) which will significantly increase the amounts of data posted into BSET.
We fixed the issue by changing the BDC program so it will take out the auto-copied tax code from other line items. Issue is solved. Thank you. I also rewarded the points.
Minami -
Batch Input Session for Errors
Hello
I'm running a Batch Input (in a FM) and I want to create a session for records with errors. In case of error (output parameter of the FM subrc NE 0) I send it to that session for later running.
Can you explain how do I do this? Thanks!hi,
Look at the sample program
REPORT Z_BDC_CUSTOMER_R07
NO STANDARD PAGE HEADING LINE-SIZE 255.
INCLUDE Z_CUSTOMER_BDC_R02.
*-----AT SELECTION-SCREEN
AT SELECTION-SCREEN.
IF SY-UCOMM = 'ONLI'.
*-----group and user must be filled to create a session
IF SESSION = 'X' AND
GROUP = SPACE OR USER = SPACE.
MESSAGE E613(MS).
ENDIF.
*----Presentation File name should be entered
IF SESSION = 'X' AND RB_PRE = 'X'
AND P_FILE = '' .
MESSAGE E004(ZROJA).
ELSEIF CTU = 'X' AND RB_PRE = 'X'
AND P_FILE = '' .
MESSAGE E004(ZROJA).
ENDIF.
*----Application File name should be entered
IF SESSION = 'X' AND RB_APP = 'X'
AND P_FILE_A = '' .
MESSAGE E004(ZROJA).
ELSEIF CTU = 'X' AND RB_APP = 'X'
AND P_FILE_A = '' .
MESSAGE E004(ZROJA).
ENDIF.
ENDIF.
*-----AT SELECTION-SCREEN OUTPUT
AT SELECTION-SCREEN OUTPUT.
*----When file from Presentation server is selected
IF RB_PRE = 'X'.
*----To make the application server inactive
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'AAA'.
SCREEN-ACTIVE = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSE.
*----When file from Presentation server is selected
RB_APP = 'X'.
*----To make the application server inactive
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'BBB'.
SCREEN-ACTIVE = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
*-----AT SELECTION-SCREEN ON VALUE-REQUEST
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE_A.
CALL FUNCTION 'F4_DXFILENAME_TOPRECURSION'
EXPORTING
I_LOCATION_FLAG = 'A'
I_SERVER = ' '
FILEOPERATION = 'R'
IMPORTING
O_PATH = P_FILE_A
EXCEPTIONS
RFC_ERROR = 1
ERROR_WITH_GUI = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*-----AT SELECTION-SCREEN ON VALUE-REQUEST
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
*-----Function module for value-request
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SYST-CPROG
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = ' '
IMPORTING
FILE_NAME = V_FILE_NAME.
*----Assigning the flatfile to parameter
P_FILE = V_FILE_NAME.
*-----START-OF-SELECTION
START-OF-SELECTION.
DATA: FILENAME TYPE STRING.
*----When file from Presentation Server is selected
IF RB_PRE = 'X'.
FILENAME = P_FILE.
*-----Function module to upload data from the presentation server
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = FILENAME
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
TABLES
DATA_TAB = IT_KNA1
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.
ELSE.
*----Upload the File from Application Server
OPEN DATASET P_FILE_A FOR INPUT IN TEXT MODE ENCODING DEFAULT.
*-----to display an error if the file is not in application server
IF SY-SUBRC NE 0.
MESSAGE E006(ZROJA).
ELSE.
DO.
READ DATASET P_FILE_A INTO X_KNA1.
IF SY-SUBRC EQ 0.
APPEND X_KNA1 TO IT_KNA1.
ELSE.
EXIT.
ENDIF.
ENDDO.
ENDIF.
CLOSE DATASET P_FILE_A.
ENDIF.
*-----To open a batchinput session
IF SESSION = 'X'.
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
CLIENT = SY-MANDT
GROUP = GROUP
KEEP = KEEP
USER = USER
PROG = SY-CPROG
EXCEPTIONS
CLIENT_INVALID = 1
DESTINATION_INVALID = 2
GROUP_INVALID = 3
GROUP_IS_LOCKED = 4
INTERNAL_ERROR = 6
QUEUE_ERROR = 7
RUNNING = 8
SYSTEM_LOCK_ERROR = 9
USER_INVALID = 10
OTHERS = 11.
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.
*-----Filling the BDCDATA using the Internal Table
LOOP AT IT_KNA1 INTO X_KNA1.
PERFORM BDC_DYNPRO USING 'SAPMF02D' '0100'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RF02D-KTOKD'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'RF02D-KUNNR'
X_KNA1-KUNNR.
PERFORM BDC_FIELD USING 'RF02D-KTOKD'
X_KNA1-KTOKD.
PERFORM BDC_DYNPRO USING 'SAPMF02D' '0110'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'KNA1-SPRAS'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'KNA1-NAME1'
X_KNA1-NAME1.
PERFORM BDC_FIELD USING 'KNA1-SORTL'
X_KNA1-SORTL.
PERFORM BDC_FIELD USING 'KNA1-ORT01'
X_KNA1-ORT01.
PERFORM BDC_FIELD USING 'KNA1-PSTLZ'
X_KNA1-PSTLZ.
PERFORM BDC_FIELD USING 'KNA1-LAND1'
X_KNA1-LAND1.
PERFORM BDC_FIELD USING 'KNA1-SPRAS'
X_KNA1-SPRAS.
PERFORM BDC_DYNPRO USING 'SAPMF02D' '0120'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'KNA1-LZONE'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'KNA1-LZONE'
X_KNA1-LZONE.
PERFORM BDC_DYNPRO USING 'SAPMF02D' '0125'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'KNA1-NIELS'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_DYNPRO USING 'SAPMF02D' '0130'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'KNBK-BANKS(01)'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTR'.
PERFORM BDC_DYNPRO USING 'SAPMF02D' '0340'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RF02D-KUNNR'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTR'.
PERFORM BDC_DYNPRO USING 'SAPMF02D' '0370'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RF02D-KUNNR'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTR'.
PERFORM BDC_FIELD USING 'KNA1-CIVVE'
'X'.
PERFORM BDC_DYNPRO USING 'SAPMF02D' '0360'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'KNVK-NAMEV(01)'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTR'.
*----If Session is selected
IF SESSION = 'X'.
*----To insert data into batch input session
CALL FUNCTION 'BDC_INSERT'
EXPORTING
TCODE = 'XD01'
TABLES
DYNPROTAB = IT_BDCDATA.
REFRESH IT_BDCDATA.
AT LAST.
SKIP.
WRITE:/ TEXT-001.
ENDAT.
ELSE.
*----Calling the transaction
CALL TRANSACTION 'XD01' USING IT_BDCDATA
MODE CTUMODE
UPDATE CUPDATE
MESSAGES INTO IT_BDCMSGCOLL.
CLEAR IT_BDCDATA.
REFRESH IT_BDCDATA.
ENDIF.
ENDLOOP.
*----If Session is Selected
IF SESSION = 'X'.
*----To close the session
CALL FUNCTION 'BDC_CLOSE_GROUP'
EXCEPTIONS
NOT_OPEN = 1
QUEUE_ERROR = 2
OTHERS = 3.
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.
*-----END-OF-SELECTION
END-OF-SELECTION.
*----To display the success messages
LOOP AT IT_BDCMSGCOLL INTO X_BDCMSGCOLL WHERE MSGTYP = 'S' .
*-----If Message Type Differs
ON CHANGE OF X_BDCMSGCOLL-MSGTYP.
WRITE:/ TEXT-002.
SKIP.
ULINE (58).
WRITE:/01 SY-VLINE,02 TEXT-003,
14 SY-VLINE,15 TEXT-004,
21 SY-VLINE,22 TEXT-005,
35 SY-VLINE,36 TEXT-006,
58 SY-VLINE,/01 SY-ULINE(58).
ENDON.
WRITE:/01 SY-VLINE,02 X_BDCMSGCOLL-MSGTYP,
14 SY-VLINE,15 X_BDCMSGCOLL-TCODE,
21 SY-VLINE,22 X_BDCMSGCOLL-MSGV1,
35 SY-VLINE,36 TEXT-007,
58 SY-VLINE,/01 SY-ULINE(58).
ENDLOOP.
SKIP 2.
*----To display the error messages
LOOP AT IT_BDCMSGCOLL INTO X_BDCMSGCOLL WHERE MSGTYP = 'E'.
*-----If Message Type Differs
ON CHANGE OF X_BDCMSGCOLL-MSGTYP.
WRITE:/ TEXT-008.
SKIP.
ULINE (58).
WRITE:/01 SY-VLINE,02 TEXT-003,
14 SY-VLINE,15 TEXT-004,
21 SY-VLINE,22 TEXT-005,
35 SY-VLINE,36 TEXT-006,
58 SY-VLINE,/01 SY-ULINE(58).
ENDON.
WRITE:/01 SY-VLINE,02 X_BDCMSGCOLL-MSGTYP,
14 SY-VLINE,15 X_BDCMSGCOLL-TCODE,
21 SY-VLINE,22 X_BDCMSGCOLL-MSGV1,
35 SY-VLINE,36 'Customer Already Exits',
58 SY-VLINE,/01 SY-ULINE(58).
ENDLOOP.
*-----FORM fill_bdcdata
FORM FILL_BDCDATA USING L_DYNPRO TYPE ANY
L_FNAME TYPE ANY
L_FVALUE TYPE ANY.
CLEAR X_BDCDATA.
IF L_DYNPRO = 'X'.
X_BDCDATA-DYNBEGIN = 'X'.
X_BDCDATA-PROGRAM = L_FNAME.
X_BDCDATA-DYNPRO = L_FVALUE.
ELSE.
X_BDCDATA-FNAM = L_FNAME.
X_BDCDATA-FVAL = L_FVALUE.
ENDIF.
APPEND X_BDCDATA TO IT_BDCDATA.
ENDFORM. "BDC_FIELD
*-----Start new screen
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
CLEAR IT_BDCDATA.
IT_BDCDATA-PROGRAM = PROGRAM.
IT_BDCDATA-DYNPRO = DYNPRO.
IT_BDCDATA-DYNBEGIN = 'X'.
APPEND IT_BDCDATA.
ENDFORM. "BDC_DYNPRO
*-----Insert field
FORM BDC_FIELD USING FNAM FVAL.
IF FVAL <> SPACE.
CLEAR IT_BDCDATA.
IT_BDCDATA-FNAM = FNAM.
IT_BDCDATA-FVAL = FVAL.
APPEND IT_BDCDATA.
ENDIF.
ENDFORM. "BDC_FIELD -
Batch Input Session - Display Error Only - SM35
Dear all,
Need to do material master extension in MM01 and considering batch input session using mode 'display error' only.
However,do have a concern on its performance or run time. In SM35, running in display error only mode - will there be any time out error like the ones encounter in abap reporting ?
This is because, we will be dealing with a huge volume of data (round 2,000). Therefore would like to know, if there would be any possibility that the bdc session in sm35 will experience a time out or not .
Appreciate it if you could shed some lights on this. Thanks in advance.Hello there,
Executing MM01's batch job in background wasn't really an option. This is because, this error was encountered "Control Framework: Fatal error - GUI cannot be reached".
Had done a search on this -- and it indicates that in background mode there isn't GUI involved. Searched result also shows that this error appears when its comes to screens with text ie. Purchase Text or Sales text. Nope, no BDC on entering text involved.
http://www.sapfans.com/forums/viewtopic.php?f=13&t=164902&hilit=ControlFramework%3AFatalerrorGUIcannotbe+reached
Therefore the option am considering is executing the batch job in "Display Error Only". Nonetheless, am not too sure if this will cause time out. The other reason as to this option is that -- we initially introduced CALL TRANSACTION for extending material in MM01. However, functional feedback that it was slow.
Kindly advise - thanks in advance. -
Error while Running BRS Batch input session
Dear Gurus,
When i am running Batch input session after BRS statement posted, system giving Error message:
<b>No batch input data for screen SAPDF05X 3100</b>
Entered, saved and posted the statement. after that while processing session getting error like this........How to overcome.
Can we post statement directly without creating session.
Regards,
VenkatHi,
The ABAP Counterpart has to build an exception handling for this particular message.
Normally these messages occur either after an upgrade or after a change in the account(different filed status)
Provide points if usefull.
Thanks,
Praveen -
PIR - LSWM Error in create batch input session
Hi
i made a conversion program Purchasing info record through Standard object / Direct Input in that Step 13 : Create Batch input session when i execute the Batch Input session i am getting the following error message
Transaction 00000001 : no transaction code transfered.
Please help me to solve this issue
Thanks & Regards,
mani.Hi
Everything is working perfectly till STEP 10 : " Display Read Data"
once if i convert it it was not populating the correct one. i cant find the T.Code ,Material Number & Indictor for Purchasing Info record.
Please help me to solve thi s issue
Thanks & Regards,
Mani. -
Revaluation error"posting are in batch input session"
HI All,
we are using 6.0 version and user has executed revaluation for FEB month,they were practised to use the online postings, but when they excute the revaluation there was an error message for 3 accts " valauation kept in batch input session "and accounts determination is missing for these accounts" and when we check the batch input session using SM35 there is no session with error. How to work on this ?
Is there any particular transaction where we can check the batch input session and execute once the accounts are assigned ?
Plz advice us, and is necessary for closing the month end activity.
best Regards
StephenExecute the session either online or in display error mode. This will give you the exact point of error and also you will be able to get detailed error message.
Regards
Rakesh Pawaskar -
Error in generating Batch Input session from FF67 Transn
Hi Folks,
I have tried to create the batch input session from transaction FF67 (Process manual bank statement ) using the menu path settings-->specifications and chosen the option 2 for Processing type, after posting the statement manually, batch is not getting created, is there any settings to be configured apart from this, any help would be highly rewarded.
Thanks in Adv.
Rgds,Hi Dudes,
Any hint on this issue would be highly helpful ,
Thanks in Advance,
Rgds,
Maybe you are looking for
-
Batch Updation with new Batch via IDoc
Hi, Is it possible to update the existing batch at the delivery level with the new batch from the IDoc during the Picking or PGI I checked the FM WS_DELVRY_UPDATE2 which is not allowing to do this... Any pointers on this will be helpful Any Clue on t
-
I need to upgrade DDR RAM on my Satellite A30
Hi! i need to upgrade my ddr upto 1GB or 2GB, how can i identify which ram i can buy. blow is detail of my laptop. Satellite A30-514 P4 2.8GHz/WX... Key Features - Intel® Pentium® 4 2.8GHz Processor - Microsoft® Windows® XP Home Edition - 512MB DDR R
-
Hi, The retail stores of my company currently use three pdf forms that are printed, filled out, and scanned and sent to three different emails for supplies. Mr.A provides cleaning supplies, Mr.B provides packaging, and Mr.C provides miscellaneous ite
-
Hi Gurus, I need to add new fields in selection screen of VT06 and I don't know if it is possible to do that, Somebody knows if that is possible? Thanks in advance, Mariano.
-
Stopping a java thread via PL/SQL
I started a java thread from a stored procedure and I can't seem to kill it unless I drop the DB. Can anyone tell me if there is a way through PL/SQL to kill the thread I started. Also is there a way to start a thread and advance my PL/SQL block? I c